Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 2 zprávy

dotaz - Z80 PIO

Michal Hučík SHARP MZ-800


Mam dotaz (zrejme na Radka :) ...

V Sharpu mame
u Z80 PIO signal IEI zapojeny trvale ve stavu '1' ... Zajimalo by mne, jestli je nekde detailne popsane to, jake je chovani obvodu v zavislosti na tomto signalu. Mam tady DS ve kterem je uvedeno, ze IEI ve stavu '0' blokuje obvod ... OK, chapu to tak, ze v takovem pripade ma PIO zakazano rusit. Ale co kdyz uz je ve stavu INT, nebo co kdyz uz ma potvrzeno prijeti interruptu od CPU a v tu chvili se zmeni IEI z 1 na 0? Ignoruje se v takovem pripade signal od nadrizeneho zarizeni a nebo to naopak funguje jako absolutni reset, ktery to PIO vyhodi zpet do klidoveho stavu?

Michal

Re: dotaz - Z80 PIO

Radek Suk SHARP MZ-800

Ahoj Michale

Ja to chapu takto jako je to popsano http://www.z80.info/zip/um0081.pdf


Jakykoliv periferni obvod ma pravo dat IEO a INT/ na log0 pri poslednim 
T taktu predchazejici instrukce a tim signalizuje ze chce vyvolat preruseni.


V pripade ze procesor ma povoleno preruseni tak vyvola INTA/. Soucasne 
plati ze se nesmi zmenit EIO po dobu kdy je M1/ na log0 - to je ochrana 
aby se vybral spravny (high priority) obvod na preruseni. Obvod s 
nejvyssi prioritou posle vektror pri INTA/.


V pripade ze procesor nema povoleno preruseni tak se na celem retezcu 
zmeni nastaveni IEO-IEI tak ze zarizeni ktere chce vyvolat preruseni 
zmeni pro vsechny mene prioritni zarizeni stav na log0 a bude se cekat 
na dobu kdy bude povoleno preruseni. V tuto dobu ale muze dojit k 
situaci ze nejaky obvod s mensi prioritou bude chtit ukoncit obsluznou 
rutinku (jiz drive vyvolal preruseni). Toto je reseno tak, ze jak prijde 
na sbernici kod ED tak se rozpoji pripadne IEO-log0 u zarizeni, ktere 
nema potvrzeno preruseni - a tim padem obvod s mensi prioritou uvidi az 
prijde kod 4D na IEI-log1 a sam ma IEO-log0 a tim padem vi ze on sam 
ukoncuje preruseni.


Napiste zda si myslite zda je to jak pisi. Dik

Radek




Dne 28.5.2013 20:03, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (20 řádků)
>
>
> Mam dotaz (zrejme na Radka :)...
>
> V Sharpu mame u Z80 PIO signal IEIzapojeny trvale ve stavu '1' ... 
> Zajimalo by mne, jestli je nekde detailne popsane to, jake je chovani 
> obvodu v zavislosti na tomto signalu. Mam tady DS ve kterem je 
> uvedeno, ze IEI ve stavu '0' blokuje obvod ... OK, chapu to tak, ze v 
> takovem pripade ma PIO zakazano rusit. Ale co kdyz uz je ve stavu INT, 
> nebo co kdyz uz ma potvrzeno prijeti interruptu od CPU a v tu chvili 
> se zmeni IEI z 1 na 0? Ignoruje se v takovem pripade signal od 
> nadrizeneho zarizeni a nebo to naopak funguje jako absolutni reset, 
> ktery to PIO vyhodi zpet do klidoveho stavu?
>
> Michal
>
>
> ---
> Pobyty na horách se slevou <http://raketa.cz/slevy/pobyty/hory/>
>