Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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 PCstos PC:=66h NMIFF:=0 NMIFF:=1 N T INT=0? NMIFF=1? T N tryb DMA BUSACK:=0 N IFF1=1? IFF1:=0 PCstos 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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.