Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Mikroprocesor Z80 przerwania. Z80 - przerwania 1/21 2 linie / rodzaje przerwań: /NMI - niemaskowalne, wyższy priorytet; /INT - maskowalne, niższy priorytet."— Zapis prezentacji:

1 Mikroprocesor Z80 przerwania

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

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

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: T IMPLOW >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 A 0..A 15 M1 MREQ RD RFSH zapis PC na stos... cykl rozkazowy -1 T1 TL -1 M1 PCADR REF T1 T2 T3 T4

7 Z80 - przerwania niemaskowalne 6/21 Kolejne cykle magistrali podczas przyjęcia przerwania /NMI: * 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: T IMP >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 Tryb 0 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 A 0..A 15 M1 IORQ MREQ RD WR RFSH D 0..D 7 koniec cyklu rozk. 1 2 W W M1 * PC SP-1SP-2 RST k PC H PC L M2M3 1-szy rozkaz obsługi PC=kADR REF M[PC]

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 Tryb 1 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 APO2 APO1 urządzenie przerywające rejestr I IV L IV (IV 0 =0) LHLHLHLHLHLH APO3 PC 0000h 0FFFFh tablica wektorów przerwań Zasada tworzenia adresu startowego procedury obsługi przerwania

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 T1 T2 Tw1 Tw2 T3 M1 * koniec cyklu rozk.odczyt APOP... CLK INT A 0..A 15 M1 IORQ RD,WR,RFSH,MREQ D 0..D 7 PC IV L

18 Z80 - przerwania maskowalne - tryb 2 17/21 Kolejne cykle magistrali podczas przyjęcia przerwania /INT w trybie 2:

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 proceduryprzyczyny (sygnału) przerwania T P1P2P3 TT P1 P2 P3 T chwile wykonania rozkazu EI


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

Podobne prezentacje


Reklamy Google