nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 13:59



Reply to topic  [ 25 posts ]  Go to page Previous  1, 2
Порты vs память, слово состояния и т.д. 
Author Message
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Понятно, что три /INTA будут лишь, если первый полученный КОП будет CALL. В случае полученного КОП RST - тоже всё ясно. Гипотетический случай получения какого-то другого КОП - я думаю, просто выполнится данная команда.

Картинки я, конечно, посмотрел, и даже посмотрел в скачанную книгу Шахнова и в свои бумажные книги. При всём обилии описаний всё же они не всеохватны :). Тем не менее, с коллективной помощью вопрос для меня прояснился, спасибо!


23 Oct 2011 08:27
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
VituZz wrote:
Понятно, что три /INTA будут лишь, если первый полученный КОП будет CALL. В случае полученного КОП RST - тоже всё ясно. Гипотетический случай получения какого-то другого КОП - я думаю, просто выполнится данная команда.
Между прочим, КОП может быть абсолютно любым. К примеру, можно подать LDA XXXXH и с каждым прерыванием в аккумулятор будет грузиться какое-то значение с адреса. А если подавать MVI B,XXH - то загружать своим значением. ;)

А вот в связи с прецизионными эмуляторами я призадумался... :-?

Скажем идёт у нас программа:

100 LXI H,0000H
103 DAD SP
>--------------------- в этот момент по прерыванию: LDA 8730H
104 SHLD SP_B0X
107 LXI B,1574H
...


Что будет с программным счётчиком РС по такому прерыванию?
Или просто выходит что между адресами 103 и 104 мы как бы
всунули лишнюю команду посредством прерывания?

_________________
iLavr


19 Sep 2012 13:49
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
HardWareMan wrote:
А JMP/RST скармливаются потому, что размер обработчиков как правило больше одной команды. Только, ЕМНИП, надо помнить, что подтверждение прерывания происходит только на одну команду, поэтому, либо прерывание из одной команды, либо джамп. Хотя, если внимательно почитать ДЩ, перед вызовом прерывания делается пуш PC, т.е. CALL.

Никто там "пуш РС" не делает, скармливают CALL/RST, которые и делают всю работу по вызову п/п. Единственная разница - при чтении команды в цикле обработки прерывания РС не увеличивается (и даже вроде на шину адреса не выводится).

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


19 Sep 2012 23:01
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Кстати говоря, наиболее верно и без лишней заумной бредятины процесс обработки прерывания
описывают
в часто критикуемом мной "ЮТ-88":
Quote:
При работе с микропроцессором К580ВМ80А системный контроллер в цикле подтверждения
запроса прерывания формирует три сигнала INTA для приема трех байтов команды CALL
от контроллера прерывания (если он есть)
.
В небольших микропроцессорных системах выход INTA микросхем KP580BK38 можно подсоединять
к напряжению + 12 В через резистор 1 кОм. Во время действия сигнала RC буферная шина данных
микросхемы формирует код команды RST7 и передает его на канал данных микропроцессора.
Таким образом, микросхема - единственный вектор прерывания с номером 7 без дополнительных
компонентов.

Но опять же есть неточности.
"Единственный вектор прерывания с номером 7 без дополнительных компонентов"
задаёт не микросхема системного контроллера а 8 резисторов по ШД, подключенных к +5В.
Схема

Если мы подключим эти 8 резисторов по 1К к общему проводу ("0"), то получим
"единственный вектор прерывания с номером 0 без дополнительных компонентов".
Микросхема системного контроллера в этом случае лишь шинный двунаправленный
буфер, который 1111.1111b c ШД передаёт процу. Но в итоге-то обходятся
и без неё
! :lol:

И я не знаю, есть ли смысл "выход INTA микросхем KP580BK38 ... подсоединять
к напряжению + 12 В через резистор 1 кОм
" - всё-равно выход не используется.
Хуже, правда, не будет... :wink:

_________________
iLavr


Last edited by Lavr on 20 Sep 2012 06:48, edited 1 time in total.



20 Sep 2012 06:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А полемика, вобще говоря, вещь полезная...
Вот в ходе этого обсуждения у меня закралось подозрение, что на следующей схеме:

Image

сигнал INTA формируется не совсем верно...
На мой взгляд, сигналы шины управления следует формировать вот так:

Image

Какие будут мнения?

_________________
iLavr


20 Sep 2012 07:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А моё лично мнение, что сигнал INTA правильно формируется в "Микро-80":

Image

Потому, что сигнал INTA - это не что иное, как сигнал DBIN микропроцессора,
через состояние бита 0 регистра статуса ("Обслуживание прерывания")
перенаправленный к устройству, обязанному по типу памяти выдать микропроцессору
команду, выполняемую во время обслуживания прерывания.

То есть, как процессор читает из памяти CALL ADLOW ADHIGH, также он читает
эту последовательность байт CALL ADLOW ADHIGH из ПКП КР580ВН59.
Но строб DBIN перенаправляется к ПКП КР580ВН59 в виде INTA,
а на шине адреса ничего не выставляется.


Если вы со мной согласны, то картинку из предыдущего поста мне надо будет исправить,
и везде по форуму заменить на правильную.
Это я её притащил откуда-то из сети, не посмотрев внимательно.

Правильная картинка вот такая:

Image

_________________
iLavr


20 Sep 2012 08:13
Profile
Fanat
User avatar

Joined: 30 Apr 2012 09:38
Posts: 52
Location: Krasnodar
Reply with quote
Post 
Lavr wrote:
сигнал INTA - это не что иное, как сигнал DBIN микропроцессора

В чем смысл задержки сигнала DBIN двумя инверторами (DD3.2 и DD3.4) ?
Как бы увидеть осциллограммы формирования сигнала INTA в этой схеме, что бы слегка понятнее было по поводу относительных задержек.


Last edited by Digi_boy on 21 Sep 2012 04:46, edited 1 time in total.



21 Sep 2012 04:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Digi_boy wrote:
Lavr wrote:
сигнал INTA - это не что иное, как сигнал DBIN микропроцессора
Как бы увидеть осциллограммы формирования сигнала INTA в этой схеме,
что бы слегка понятнее было по поводу относительных задержек.

Можно живьём - осциллографом, если собрать схему...
А можно по типовым графикам машинных циклов нарисовать.
Хардыч часто их выкладывает, и на форуме есть ссылка на книжку, где они
представлены.
Ну и придётся приплюсовать к DBIN типичные времена задержек
распространения для трёх вентилей серии К155.

_________________
iLavr


21 Sep 2012 06:20
Profile
Fanat
User avatar

Joined: 30 Apr 2012 09:38
Posts: 52
Location: Krasnodar
Reply with quote
Post 
Lavr wrote:
Можно живьём - осциллографом, если собрать схему...
А можно по типовым графикам машинных циклов нарисовать.
Хардыч часто их выкладывает, и на форуме есть ссылка на книжку, где они
представлены.
Ну и придётся приплюсовать к DBIN типичные времена задержек
распространения для трёх вентилей серии К155.

Одним словом, в журнале "Радио" за 1983 год можно не копаться,
осциллограмм там никто не приводил. Голое словесное описание.


21 Sep 2012 07:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Digi_boy wrote:
Одним словом, в журнале "Радио" за 1983 год можно не копаться, осциллограмм там никто не приводил.
Голое словесное описание.

Ну почему же... смотря, что хочешь накопать... Задержек по корпусам там никто не рисовал,
но вот типовые графики машинных циклов там приведены, расписаны очень подробно и
популярно разъяснены.

Вот эти графики из как раз из журнала "Радио" за 1983 год.

Image

_________________
iLavr


07 Oct 2012 21:24
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 25 posts ]  Go to page Previous  1, 2

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.