И счет уже 2:1 в пользу этого мнения...
i8080: возможно ли реализовать прерывания без доп. обвязки?
Moderator: Shaos
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				Mixa64
														 - Doomed
 - Posts: 498
 - Joined: 25 Aug 2009 07:02
 - Location: Москва
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
"Однако, из памяти этот байт не может быть выбран [...], так как бит ЧТП в слове состояния машинного цикла равен нулю."
Откуда такая железобетонная уверенность?
  
			
			
									
						
										
						Откуда такая железобетонная уверенность?
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
Я думаю, они в этих описаниях полагаются на стандартное включение 8080 совместно с 8228.Mixa64 wrote:"Однако, из памяти этот байт не может быть выбран [...], так как бит ЧТП в слове состояния машинного цикла равен нулю."
Откуда такая железобетонная уверенность?![]()
Там уверенность действительно железобетонная!
Если нет в схеме включения 8228, бестолково писать, что "бит ЧТП в слове состояния машинного цикла равен нулю."
Аппаратно это не имеет никакого значения...
Ну и действительно выходит, что только бит 0 в STATUS спообен разграничить эти режимы.
iLavr
			
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
В общем, со счетом 3:1 шина адреса активна во время обслуживания прерывания.  
 
Посмотрел я в "мануал" от Кобылинского на микропроцессор КР580ВМ80А. Текст в нем
почти слово в слово, как скопированный выше.
И временнАя диаграмма - такая же.
В англоязычных ресурсах о состоянии шины адреса умалчивают, как, впрочем, и в
большинстве отечественных источников...
			
			
									
						
							Посмотрел я в "мануал" от Кобылинского на микропроцессор КР580ВМ80А. Текст в нем
почти слово в слово, как скопированный выше.
И временнАя диаграмма - такая же.
В англоязычных ресурсах о состоянии шины адреса умалчивают, как, впрочем, и в
большинстве отечественных источников...
iLavr
			
						- 
				Mixa64
														 - Doomed
 - Posts: 498
 - Joined: 25 Aug 2009 07:02
 - Location: Москва
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
По большому счету то, что через нее передается, - бесполезно, INTA это цикл безадресного обмена. Но, с другой стороны, это прикольно, что через нее что-то передается. Ну и глюкам прикольности придает, как мы видимLavr wrote:В англоязычных ресурсах о состоянии шины адреса умалчивают, как, впрочем, и в
большинстве отечественных источников...
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
Если он поддержан аппаратно...Mixa64 wrote:По большому счету то, что через нее передается, - бесполезно,
INTA это цикл безадресного обмена.
Ну а если всё сделано по-простецки тот еще глюканарий!
Поэтому и фигово, что состояние шины не упоминается в большинстве источников - был бы повод задуматься.
Я и сам впал в ересь с высокоимпедансным состоянием по аналогии с режимом захвата.
А оно оказалось гораздо хуже!
iLavr
			
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
В общем приделал я в своей простейшей ЭВМ на КР580ВМ80А реакцию на  RST7 по следующей схеме:
Пришлось "неспортивно" добавить ИЛИ-НЕ 555-й серии, поскольку на D0 уже висят и память и порт.
Также на схемотехнику повлияло, что SYNC и DBIN уже были буферированы инверторами, а от
корректной обработки READY осталась половинка К155ТМ2.
Идея неоригинальная: фиксируется в половинке К155ТМ2 бит STATUS D0 = 1: INTA.
И в момент прерывания он блокирует прохождение DBIN сквозь вентиль ИЛИ-НЕ.
Поэтому на ШД действуют только 8 резисторов к +5В, что, собственно, и есть RST7.
Проще у меня при всем желании не получилось.
			
			
						Также на схемотехнику повлияло, что SYNC и DBIN уже были буферированы инверторами, а от
корректной обработки READY осталась половинка К155ТМ2.
Идея неоригинальная: фиксируется в половинке К155ТМ2 бит STATUS D0 = 1: INTA.
И в момент прерывания он блокирует прохождение DBIN сквозь вентиль ИЛИ-НЕ.
Поэтому на ШД действуют только 8 резисторов к +5В, что, собственно, и есть RST7.
Проще у меня при всем желании не получилось.
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
RST7 без фиксации STATUS
Я сегодня тоже сделал одну вещь из серии "Миссия невыполнима" - красивую,Вместо эпиграфа... wrote:Намедни кучер Иона сделал из дерева человечка: дернешь этого человечка
за ниточку, а он и сделает непристойность. Однако же Иона не хвастает.
(с) Чехов А.П. 'На чужбине'
но бестолковую и громоздкую, как памятники Зураба нашего Церетелли...
Суть задачи мне не далась еще в начале лета, когда я доделывал
Простейшую ЭВМ на КР580ВМ80А: обслужить прерывание RST7, заданное
аппаратно резисторами на шине данных.
Для этого всего-то надо запретить прохождение сигнала чтения /RD,
который создается из DBIN через инвертирующий вентиль, этим вентилем
удобно и запрещать /RD в момент обслуживания прерывания.
С этой целью используют биты слова состояния процесора (STATUS) -
либо D0 = 1, что означает обслуживаем прерывание, либо D7 = 0, что
означает НЕ читаем!
В конструкции Простейшей ЭВМ у меня было спортивное условие - сделать
всё на 155-й серии, а мы помним, что на ШД цеплять 2 входа 155-й ТТЛ
очень рискованная затея, поэтому я хотел на ШД не цепляться, но никак
не вышло - поэтому поставил 555-ю серию, что вышло неспортивно...
Но сейчас ситуация сложилась ещё хуже - я начал моделировать "Кроху",
но поскольку коллега PVV перпиливает в КР580ВМ80А нашу модель Z80,
то с перыванием и выдачей STATUS - не всё ещё гладко.
В общем, поскольку я "Кроху" почти нарисовал, бросать был жалко этот
проект, то пришлось порешать нерешаемое и впихнуть невпиxyемое...
Вкратце в итоге решение вот какое: процесор, приняв сигнал прерывания,
сбросит сигнал INTE, вот тут то и пора запрещать /RD - это не проблема,
а вот чем его обратно разрешить раз INTА нам недоступен?...
Ну и я решил - разрешать /RD поможет признак, что программа пришла на
адрес 0038Н. Картинка иллюстрирует это. Не скажу, что элегантно, да - громоздко... но кто умеет проще - сделайте
проще? Я, честно говоря, ооочень доволен.. и в отличие от кучер Ионы -
похвастаюсь, ибо нетривиально!
бит статуса в регистре типа ТМ2. Надпись слабо разборчива, но это либо D0 либо D7,
надо уточнить по логике схемы... Причем фиксируют они бит STATUS укорченным SYNC -
{SYNC & F1}:
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
Кстати говоря, если кто не понял, нетривиальность решения не в том, что я сделал какой-тоLavr wrote:Я, честно говоря, ооочень доволен.. и в отличие от кучер Ионы - похвастаюсь, ибо нетривиально!
там селектор адреса с парочкой лишних деталей...
Нетривиальность в том, что схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ!
Чего в нашем любимом процессоре К580ВМ80А - в принципе нет.
iLavr
			
						- 
				shoorick
														 - Doomed
 - Posts: 487
 - Joined: 05 Nov 2007 05:08
 - Location: Украина
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
т.е., проц на него отреагирует, даже если прерывания запрещены?Lavr wrote:схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ
меня всегда волновал другой аспект: i8228 при подаче на выход INTA 12В через резюк 1к переходит в режим, когда на сигнал INTA от проца он выдает ему FF - т.е. RST7. т.е. одноуровневый режим прерывания без доп. схем (не считая 8228, конечно). а ведут ли себя онологично наши ВК28/38?
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
Да!shoorick wrote:т.е., проц на него отреагирует, даже если прерывания запрещены?Lavr wrote:схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ
сочетание сигналов и признак окончания прерывания.
iLavr
			
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
По описанию встречается материал, что ведут. Но во всех виданных мной схемах позадиshoorick wrote: RST7. т.е. одноуровневый режим прерывания без доп. схем (не считая 8228, конечно). а ведут ли себя онологично наши ВК28/38?
ВК28/38 всё-таки вешают 8 резюков на +5В.
Сам я не проверял, поэтому дезинформировать не буду.
iLavr
			
						- 
				shoorick
														 - Doomed
 - Posts: 487
 - Joined: 05 Nov 2007 05:08
 - Location: Украина
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
надо будет как-нибудь попробовать 
			
			
									
						
										
						- 
				Xrust
 - Junior
 - Posts: 6
 - Joined: 06 Aug 2017 08:30
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
Я думал их обычно вешают из-за присутствия ОК на шине данных. Но тоже до конца не уверен. Надо проверить будет.Lavr wrote: По описанию встречается материал, что ведут. Но во всех виданных мной схемах позади
ВК28/38 всё-таки вешают 8 резюков на +5В.![]()
Сам я не проверял, поэтому дезинформировать не буду.
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: i8080: возможно ли реализовать прерывания без доп. обвяз
К примеру, вот так: Довольно чистенький экземпляр такой схемы...Lavr wrote:... во всех виданных мной схемах позади ВК28/38 всё-таки вешают 8 резюков на +5В.![]()
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						
				