nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 26 Sep 2017 07:15



Reply to topic  [ 43 posts ]  Go to page Previous  1, 2, 3
i8080: возможно ли реализовать прерывания без доп. обвязки? 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote

И счет уже 2:1 в пользу этого мнения... :mrgreen:
Attachment:
INT_rgm.gif
INT_rgm.gif [ 110.44 KiB | Viewed 466 times ]


Shaos, уточни этот момент по имеющимся у тебя англоязычным источникам?

_________________
iLavr


28 Apr 2017 13:29
Profile
Maniac

Joined: 25 Aug 2009 10:02
Posts: 212
Location: Москва
Reply with quote
"Однако, из памяти этот байт не может быть выбран [...], так как бит ЧТП в слове состояния машинного цикла равен нулю."
Откуда такая железобетонная уверенность? :mrgreen: :lol:


28 Apr 2017 13:54
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
"Однако, из памяти этот байт не может быть выбран [...], так как бит ЧТП в слове состояния машинного цикла равен нулю."
Откуда такая железобетонная уверенность? :mrgreen: :lol:

Я думаю, они в этих описаниях полагаются на стандартное включение 8080 совместно с 8228.
Там уверенность действительно железобетонная!
Если нет в схеме включения 8228, бестолково писать, что "бит ЧТП в слове состояния машинного цикла равен нулю."
Аппаратно это не имеет никакого значения...

Ну и действительно выходит, что только бит 0 в STATUS спообен разграничить эти режимы.

_________________
iLavr


28 Apr 2017 14:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
В общем, со счетом 3:1 шина адреса активна во время обслуживания прерывания. :lol:
Посмотрел я в "мануал" от Кобылинского на микропроцессор КР580ВМ80А. Текст в нем
почти слово в слово, как скопированный выше.
И временнАя диаграмма - такая же.

В англоязычных ресурсах о состоянии шины адреса умалчивают, как, впрочем, и в
большинстве отечественных источников...

_________________
iLavr


29 Apr 2017 21:26
Profile
Maniac

Joined: 25 Aug 2009 10:02
Posts: 212
Location: Москва
Reply with quote
Lavr wrote:
В англоязычных ресурсах о состоянии шины адреса умалчивают, как, впрочем, и в
большинстве отечественных источников...

По большому счету то, что через нее передается, - бесполезно, INTA это цикл безадресного обмена. Но, с другой стороны, это прикольно, что через нее что-то передается. Ну и глюкам прикольности придает, как мы видим :)


30 Apr 2017 14:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
По большому счету то, что через нее передается, - бесполезно,
INTA это цикл безадресного обмена.
Если он поддержан аппаратно...
Ну а если всё сделано по-простецки тот еще глюканарий! :lol:

Поэтому и фигово, что состояние шины не упоминается в большинстве источников - был бы повод задуматься.
Я и сам впал в ересь с высокоимпедансным состоянием по аналогии с режимом захвата.
А оно оказалось гораздо хуже! :-?

_________________
iLavr


30 Apr 2017 16:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
В общем приделал я в своей простейшей ЭВМ на КР580ВМ80А реакцию на RST7 по следующей схеме:
Attachment:
580_RST7.gif
580_RST7.gif [ 4.27 KiB | Viewed 212 times ]

Пришлось "неспортивно" добавить ИЛИ-НЕ 555-й серии, поскольку на D0 уже висят и память и порт.
Также на схемотехнику повлияло, что SYNC и DBIN уже были буферированы инверторами, а от
корректной обработки READY осталась половинка К155ТМ2.

Идея неоригинальная: фиксируется в половинке К155ТМ2 бит STATUS D0 = 1: INTA.
И в момент прерывания он блокирует прохождение DBIN сквозь вентиль ИЛИ-НЕ.
Поэтому на ШД действуют только 8 резисторов к +5В, что, собственно, и есть RST7.
Проще у меня при всем желании не получилось.

_________________
iLavr


27 Jul 2017 13:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Вместо эпиграфа... wrote:
Намедни кучер Иона сделал из дерева человечка: дернешь этого человечка
за ниточку, а он и сделает непристойность. Однако же Иона не хвастает.
(с) Чехов А.П. 'На чужбине'

Я сегодня тоже сделал одну вещь из серии "Миссия невыполнима" - красивую,
но бестолковую и громоздкую, как памятники Зураба нашего Церетелли... :mrgreen:

Суть задачи мне не далась еще в начале лета, когда я доделывал
Простейшую ЭВМ на КР580ВМ80А: обслужить прерывание RST7, заданное
аппаратно резисторами на шине данных.
Для этого всего-то надо запретить прохождение сигнала чтения /RD,
который создается из DBIN через инвертирующий вентиль, этим вентилем
удобно и запрещать /RD в момент обслуживания прерывания.

С этой целью используют биты слова состояния процесора (STATUS) -
либо D0 = 1, что означает обслуживаем прерывание, либо D7 = 0, что
означает НЕ читаем!

В конструкции Простейшей ЭВМ у меня было спортивное условие - сделать
всё на 155-й серии, а мы помним, что на ШД цеплять 2 входа 155-й ТТЛ
очень рискованная затея, поэтому я хотел на ШД не цепляться, но никак
не вышло - поэтому поставил 555-ю серию, что вышло неспортивно...

Но сейчас ситуация сложилась ещё хуже - я начал моделировать "Кроху",
но поскольку коллега PVV перпиливает в КР580ВМ80А нашу модель Z80,
то с перыванием и выдачей [b]STATUS[/b] - не всё ещё гладко.

В общем, поскольку я "Кроху" почти нарисовал, бросать был жалко этот
проект, то пришлось порешать нерешаемое и впихнуть невпиxyемое... 8)

Вкратце в итоге решение вот какое: процесор, приняв сигнал прерывания,
сбросит сигнал INTE, вот тут то и пора запрещать /RD - это не проблема,
а вот чем его обратно разрешить раз INTА нам недоступен?...
Ну и я решил - разрешать /RD поможет признак, что программа пришла на
адрес 0038Н. Картинка иллюстрирует это.
Attachment:
INT_0038H.gif
INT_0038H.gif [ 9.07 KiB | Viewed 124 times ]

Не скажу, что элегантно, да - громоздко... но кто умеет проще - сделайте
проще? Я, честно говоря, ооочень доволен.. и в отличие от кучер Ионы -
похвастаюсь, ибо нетривиально! :wink:
Attachment:
No_INTA.gif
No_INTA.gif [ 9.53 KiB | Viewed 124 times ]


P.S. Кстати, кто делает или моделирует "Кроху" - обратите внимание, они тоже фиксируют
бит статуса в регистре типа ТМ2. Надпись слабо разборчива, но это либо D0 либо D7,
надо уточнить по логике схемы... Причем фиксируют они бит STATUS укорченным SYNC -
{SYNC & F1}:

Attachment:
Kroxa_RST7.gif
Kroxa_RST7.gif [ 7.52 KiB | Viewed 124 times ]

_________________
iLavr


09 Sep 2017 19:35
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Я, честно говоря, ооочень доволен.. и в отличие от кучер Ионы - похвастаюсь, ибо нетривиально!

Кстати говоря, если кто не понял, нетривиальность решения не в том, что я сделал какой-то
там селектор адреса с парочкой лишних деталей...
Нетривиальность в том, что схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ
!
Чего в нашем любимом процессоре К580ВМ80А - в принципе нет. :roll:

_________________
iLavr


10 Sep 2017 09:04
Profile
Doomed
User avatar

Joined: 05 Nov 2007 08:08
Posts: 333
Location: Украина
Reply with quote
Lavr wrote:
схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ

т.е., проц на него отреагирует, даже если прерывания запрещены?

меня всегда волновал другой аспект: i8228 при подаче на выход INTA 12В через резюк 1к переходит в режим, когда на сигнал INTA от проца он выдает ему FF - т.е. RST7. т.е. одноуровневый режим прерывания без доп. схем (не считая 8228, конечно). а ведут ли себя онологично наши ВК28/38?


11 Sep 2017 06:21
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
Lavr wrote:
схема обслуживания прерывания, не привязанная к битам STATUS,
делает это прерывание RST7 - НЕМАСКИРУЕМЫМ

т.е., проц на него отреагирует, даже если прерывания запрещены?

Да! :o Причем отреагирет полюбому! 8) У меня так и происходило пока не подобрал нужное
сочетание сигналов и признак окончания прерывания.

_________________
iLavr


11 Sep 2017 10:55
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
RST7. т.е. одноуровневый режим прерывания без доп. схем (не считая 8228, конечно). а ведут ли себя онологично наши ВК28/38?

По описанию встречается материал, что ведут. Но во всех виданных мной схемах позади
ВК28/38 всё-таки вешают 8 резюков на +5В. :lol:

Сам я не проверял, поэтому дезинформировать не буду.

_________________
iLavr


11 Sep 2017 10:59
Profile
Doomed
User avatar

Joined: 05 Nov 2007 08:08
Posts: 333
Location: Украина
Reply with quote
надо будет как-нибудь попробовать 8)


11 Sep 2017 15:06
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 43 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.