Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Mikroprocesor Z80 przerwania.

Podobne prezentacje


Prezentacja na temat: "Mikroprocesor Z80 przerwania."— Zapis prezentacji:

1 Mikroprocesor Z80 przerwania

2 2 linie / rodzaje przerwań: /NMI - niemaskowalne, wyższy priorytet;
Z80 - przerwania /21 2 linie / rodzaje przerwań: /NMI - niemaskowalne, wyższy priorytet; /INT - maskowalne, niższy priorytet.

3 proc.obs. przerwania INTFF:=0
Z80 - przerwania /21 pobieranie rozkazu T koniec rozkazu ? N pobranie argumentu wykonanie rozkazu zapamiętanie wyniku zdekodowanie rozkazu N koniec cyklu masz.? T N koniec rozkazu ? T T N NMI=0? IFF2:=IFF1 IFF1:=0 PCstos PC:=66h NMIFF:=0 NMIFF:=1 N T INT=0? NMIFF=1? T N tryb DMA BUSACK:=0 N IFF1=1? IFF1:=0 PCstos PC:=adres proc.obs. przerwania INTFF:=0 T INTFF:=1 T INTFF=1? N BUSRQ=1? N T BUSACK:=1 BRFF:=0 T BUSRQ=0? N

4 Z80 - przerwania niemaskowalne 3/21
Cechy przerwań niemaskowalnych Z80: wejście /NMI aktywne opadającym zboczem; czas trwania niskiego poziomu po opadającym zboczu sygnału przerywającego musi być dostatecznie długi (warunek: TIMPLOW>najdłuższy czas wykonania rozkazu przez P). ponowne zgłoszenie przerwania wymaga wcześniejszego powrotu sygnału na wejściu /NMI do poziomu wysokiego; są aktywne cały czas; obsługa polega na uruchomieniu procedury zaczynającej się od adresu 66h; wejście w obsługę przerwania NMI blokuje przerwania maskowalne; procedura obsługi musi kończyć się rozkazem RETN;

5 Z80 - przerwania niemaskowalne 4/21

6 Z80 - przerwania niemaskowalne 5/21
Cykl przyjęcia przerwania /NMI: TL-2 cykl rozkazowy-2 CLK NMI A0..A15 M1 MREQ RD RFSH cykl rozkazowy-1 T TL-1 M1 PC ADRREF T T T T4 zapis PC na stos ...

7 Z80 - przerwania niemaskowalne 6/21
Kolejne cykle magistrali podczas przyjęcia przerwania /NMI: M[66h] M[PC]* M M M3 koniec cyklu rozk. 1-szy rozkaz obsługi CLK NMI A0..A15 M1 MREQ RD WR RFSH D0..D7 PC ADRREF SP-1 SP-2 PC=66h PCH PCL *zignorowany bajt kodu

8 Z80 - przerwania maskowalne 7/21
Cechy przerwań maskowalnych Z80: wejście /INT aktywne niskim poziomem; czas trwania sygnału przerywającego musi być dostatecznie długi (warunek: TIMP>najdłuższy czas wykonania rozkazu przez P); rozpoczęcie obsługi przerwania jest sygnalizowane specjalnym cyklem M1 (/M1=0 i /IORQ=0); sygnał przerwania musi być wycofany przed zakończeniem jego obsługi; po resecie sprzętowym są zablokowane; mogą być programowo włączane i wyłączane; dostępne są 3 tryby obsługi;

9 Z80 - przerwania maskowalne - tryb 0 8/21
Ustawiany automatycznie po RESET lub programowo rozkazem IM 0. Mikroprocesor przyjmując przerwanie oczekuje na szynie danych 1-bajtowego kodu rozkazu RST k albo pierwszego bajtu (0CDh) rozkazu CALL adr16b. W tym drugim przypadku, w kolejnych cyklach maszynowych należy podać jeszcze dwa bajty (młodszy/starszy) adresu startowego procedury obsługi przerwania.

10 Z80 - przerwania maskowalne - tryb 0 9/21
Działania P w trybie 0

11 Z80 - przerwania maskowalne - tryb 0 10/21
Kolejne cykle magistrali podczas przyjęcia przerwania /INT z rozkazem RST k (zał. /WAIT=1): CLK INT A0..A15 M1 IORQ MREQ RD WR RFSH D0..D7 koniec cyklu rozk. 1-szy rozkaz obsługi PC=k ADRREF M[PC] W W M1* PC SP-1 SP-2 RST k PCH PCL M2 M3

12 Z80 - przerwania maskowalne - tryb 0 11/21
Realizacja układu z 8214 podającego kod rozkazu RST k:

13 Z80 - przerwania maskowalne - tryb 1 12/21
Ustawiany tylko programowo rozkazem IM 1. Mikroprocesor przyjmując przerwania zawsze uruchamia procedurę zaczynającą się od adresu 38h. Sekwencja działań jest taka sama jak dla trybu 0 i kodu rozkazu RST 38h. Tryb wygodny przy jednym źródle przerwania. Przy większej liczbie źródeł przerwań, początek procedury obsługi przerwania (od adresu 38h) musi zawierać programowy arbitraż systemu przerwań.

14 Z80 - przerwania maskowalne - tryb 2 13/21
Tryb 2 - tzw. wektorowy Ustawiany tylko programowo rozkazem IM 2. Mikroprocesor przyjmując przerwanie jest skierowany od razu do właściwej procedury obsługi. Z natury jest priorytetowy. Umożliwia realizację wielopoziomowości. Wymaga stosowania specjalizowanych układów peryferyjnych z rodziny Z80.

15 Z80 - przerwania maskowalne - tryb 2 14/21
Zasada tworzenia adresu startowego procedury obsługi przerwania APO2 APO1 urządzenie przerywające rejestr I IVL IV (IV0=0) L H APO3 PC 0000h 0FFFFh tablica wektorów przerwań

16 Z80 - przerwania maskowalne - tryb 2 15/21
Działania P w trybie 2

17 Z80 - przerwania maskowalne - tryb 2 16/21
Cykl M1 przyjęcia przerwania /INT w trybie2 - wektorowym (zał. /WAIT=1): TL T T Tw Tw T3 M1* koniec cyklu rozk. odczyt APOP... CLK INT A0..A15 M1 IORQ RD,WR,RFSH,MREQ D0..D7 PC IVL

18 Z80 - przerwania maskowalne - tryb 2 17/21
Kolejne cykle magistrali podczas przyjęcia przerwania /INT w trybie 2: CLK INT A0..A15 M1 IORQ MREQ RD WR RFSH D0..D7 L W W M1* koniec cyklu rozk. 1-szy rozkaz obsługi PC IV IV+1 APOP IVL PCH PCL M[PC] M2 M3 M4 M5 SP-1 SP-2 APOPL APOPH

19 Z80 - przerwania maskowalne - tryb 2 18/21
Przykład łańcucha urządzeń przerywających: Priorytety w łańcuchu: DMA>CTC>PIO>SIO.

20 Z80 - przerwania maskowalne - tryb 2 19/21
Priorytety w łańcuchu: DMA>CTC>PIO>SIO. Jeżeli któryś z modułów ma w swoim wnętrzu kaskadowo połączone urządzenia (np. 2 porty w PIO, 4 liczniki w CTC) to również one tworzą łańcuch priorytetów. Przy dłuższych łańcuchach ze względu na czas propagacji sygnału zabraniającego IEI=0 z modułu pierwszego do ostatniego zaleca się dodatkowe bramki AND bocznikujące moduły pośrednie:

21 Z80 - przerwania maskowalne 20/21
System przerwań maskowalnych może być jedno- lub wielopoziomowy. Zależy to od miejsca użycia rozkazu EI (odblokowującego te przerwania) we wnętrzu procedury obsługi przerwania, ponieważ w momencie przyjmowania przerwania maskowalnego do obsługi, wewnętrzny przerzutnik zezwolenia na te przerwania (IFF1) jest zerowany i dopiero rozkaz EI ustawia go ponownie na "1". Rozkaz EI można użyć w procedurze obsługi danego przerwania dopiero po wykonaniu działań, które skasują obsługiwane przerwanie (spowodują wycofanie sygnału zgłoszenia tego przerwania). W przeciwnym razie dojdzie do cyklicznego ciągłego uruchamiania danej procedury obsługi przerwania.

22 Z80 - przerwania maskowalne 21/21
System jednopoziomowy: System wielopoziomowy: rozkaz EI przed rozkazem rozkaz EI po operacji skasowania powrotu z procedury przyczyny (sygnału) przerwania T P1 P2 P3 1 2 3 chwile wykonania rozkazu EI


Pobierz ppt "Mikroprocesor Z80 przerwania."

Podobne prezentacje


Reklamy Google