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

Původní podoba příspěvku

Radek Suk Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>
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 (sharpemu@pandora.cz) napsal(a):
<span class="replyquote1">&gt;
&gt;
&gt; Mam dotaz (zrejme na Radka :)...
&gt;
&gt; V Sharpu mame u Z80 PIO signal IEIzapojeny trvale ve stavu '1' ... 
&gt; Zajimalo by mne, jestli je nekde detailne popsane to, jake je chovani 
&gt; obvodu v zavislosti na tomto signalu. Mam tady DS ve kterem je 
&gt; uvedeno, ze IEI ve stavu '0' blokuje obvod ... OK, chapu to tak, ze v 
&gt; takovem pripade ma PIO zakazano rusit. Ale co kdyz uz je ve stavu INT, 
&gt; nebo co kdyz uz ma potvrzeno prijeti interruptu od CPU a v tu chvili 
&gt; se zmeni IEI z 1 na 0? Ignoruje se v takovem pripade signal od 
&gt; nadrizeneho zarizeni a nebo to naopak funguje jako absolutni reset, 
&gt; ktery to PIO vyhodi zpet do klidoveho stavu?
&gt;
&gt; Michal
&gt;
&gt;
&gt; ---
&gt; Pobyty na horách se slevou &lt;http://raketa.cz/slevy/pobyty/hory/&gt;
&gt;
</span>
</pre>