Mikroprocesor Z80 przerwania.

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego).
Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
Mechanizmy pracy równoległej
Wykonał : Marcin Sparniuk
Odpytywanie - Polling Program czeka na nadejście danych z urządzenia i nie może wykonywać innych zadań. Urządzenie zewnętrzne dostarcza dane w trudnym.
ROZDZIAŁ 12: Systemy wejścia-wyjścia
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Grafika komputerowa Wykład 7 Krzywe na płaszczyźnie
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Wykład 4 Przetwornik Analogowo-Cyfrowy
Podstawowe składniki funkcjonalne procesora i ich rola.
Tablice.
Wprowadzenie do SystemC
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład 11 Prowadzący: dr Paweł Drozda
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
ARCHITEKTURA WEWNĘTRZNA KOMPUTERA
Płyty główne Budowa.
ZARZĄDZANIE PROCESAMI
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Mikroprocesory i mikrokontrolery
Układy wejścia-wyjścia
ogólne pojęcia struktury
Programowalny układ we-wy szeregowego 8251
Architektura komputerów
Podstawy programowania II
Urządzenia zewnętrzne
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Układy kombinacyjne cz.2
MCS51 - wykład 2.
Wykorzystanie procedur. Współużywalność procedur Współbieżność procesów Wymiana informacji z procedurami Procedury 2/21.
Dekodery adresów.
MCS51 - wykład 5.
Mikroprocesor Z80 lista rozkazów
ogólne pojęcia struktury
Podstawy układów logicznych
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
Architektura komputerów
MCS51 - wykład 6.
Architektura systemów komputerowych jesień 2013
Architektura komputerów
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Struktura systemu mikroprocesorowego
Cyfrowe układy logiczne
Sekwencyjne bloki funkcjonalne
Zasada działania komputera
Etapy pracy biosu.
Przerwanie ang. interrupt.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Podstawy informatyki 2013/2014
Wykład 3 Praca systemu komputerowego
Zintegrowany sterownik przycisków. Informacje podstawowe Każdy przycisk jest podłączony do sterownika za pośrednictwem dwóch przewodów, oraz dwóch linii.
Przerzutniki bistabilne
Procesor, pamięć, przerwania, WE/WY, …
Pamięć DRAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Układy i systemy mikroprocesorowe
Tryby adresowania i formaty rozkazów mikroprocesora
PWM, obsługa wyświetlacza graficznego
POLITECHNIKA POZNAŃSKA
POLITECHNIKA POZNAŃSKA
Mikrokontrolery System przerwań
Mikrokontrolery MSP430 DMA
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Mikroprocesor Z80 przerwania

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

proc.obs. przerwania INTFF:=0 Z80 - przerwania 2/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

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;

Z80 - przerwania niemaskowalne 4/21

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 T1 TL-1 M1 PC ADRREF T1 T2 T3 T4 zapis PC na stos ...

Z80 - przerwania niemaskowalne 6/21 Kolejne cykle magistrali podczas przyjęcia przerwania /NMI: M[66h] M[PC]* M1 M2 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 1 2 3 4 1 2 3 1 2 3 1 2 3 4 1 *zignorowany bajt kodu

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;

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.

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

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] 1 2 3 4 1 2 W W 3 1 2 3 1 2 3 M1* PC SP-1 SP-2 RST k PCH PCL M2 M3

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

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ń.

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.

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ń

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

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 A0..A15 M1 IORQ RD,WR,RFSH,MREQ D0..D7 PC IVL

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 1 2 W W 3 1 2 3 1 2 3 1 2 3 1 2 3 1 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

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

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:

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.

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