nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 21:04



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

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

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


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

_________________
iLavr


28 Apr 2017 10:29
Profile
Doomed

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


28 Apr 2017 10:54
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


28 Apr 2017 11:07
Profile
Supreme God
User avatar

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

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

_________________
iLavr


29 Apr 2017 18:26
Profile
Doomed

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

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


30 Apr 2017 11:25
Profile
Supreme God
User avatar

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

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

_________________
iLavr


30 Apr 2017 13:02
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


27 Jul 2017 10:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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,
то с перыванием и выдачей STATUS - не всё ещё гладко.

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

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

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


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

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

_________________
iLavr


09 Sep 2017 16:35
Profile
Supreme God
User avatar

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

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

_________________
iLavr


10 Sep 2017 06:04
Profile
Doomed
User avatar

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

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

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


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

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

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

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

_________________
iLavr


11 Sep 2017 07:55
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


11 Sep 2017 07:59
Profile
Doomed
User avatar

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


11 Sep 2017 12:06
Profile WWW
Junior

Joined: 06 Aug 2017 08:30
Posts: 5
Reply with quote
Lavr wrote:
По описанию встречается материал, что ведут. Но во всех виданных мной схемах позади
ВК28/38 всё-таки вешают 8 резюков на +5В. :lol:

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

Я думал их обычно вешают из-за присутствия ОК на шине данных. Но тоже до конца не уверен. Надо проверить будет.


14 Sep 2017 10:49
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
... во всех виданных мной схемах позади ВК28/38 всё-таки вешают 8 резюков на +5В. :lol:
К примеру, вот так:
Attachment:
580вм80_вк38.jpg
580вм80_вк38.jpg [ 79.52 KiB | Viewed 6610 times ]

Довольно чистенький экземпляр такой схемы...

_________________
iLavr


04 Apr 2021 15:09
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 45 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 5 guests


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.