architektura komputerów w. 9 Wejście/wyjście Model komputera John von Neumann (1903-1957) CPU ALU Jednostka sterująca wejście wyjście Pamięć 4 podstawowe funkcje: przetwarzanie, przechowywanie, przekazywanie informacji oraz automatyczne sterowanie swego działania architektura komputerów w 9 1
Urządzenia zewnętrzne Różne typy klasyfikacji urządzenia we/wy pamięci urządzenia komunikacyjne urządzenia pomiarowe, wykonawcze i konwertery urządzenia znakowe - komunikacja poprzez instrukcje (rozkazy) we/wy urządzenia blokowe - komunikacja przez komendy kanałowe urządzenia jednokierunkowe urządzenia dwukierunkowe Urządzenia zewnętrzne. Współpraca i sterowanie Tworzenie dowolnych konfiguracji użytkowych wymaga standaryzacji sposobu komunikowania się urządzeń i JC. Zespół ustalonych reguł łączenia, wymagań logicznych, elektrycznych, konstrukcyjnych i proceduralnych nazywany jest (zależnie od sposobu przyłączenia) standardem magistrali danego typu lub standardowym interfejsem. Standard logiczny - liczba sygnałów w magistrali, ich funkcji i harmonogramu czynności Standard elektryczny- poziomy napięć, czasy narastania i opadania sygnałów, tolerancje, obciążalność. Standard konstrukcyjny - typ złączy, rozmieszczenie gniazd i sygnałów, typ kabli. Standard proceduralny (protokół) - harmonogram, zależności czasowe i funkcjonalne sygnałów i operacji magistrali. architektura komputerów w 9 2
Interface magistrali 12/27/2017 Magistrale Klasyfikacja: architektura: równoległe multipleksowane szeregowe lokalizacja: lokalne systemowe we/wy funkcje ogólnego przeznaczenia specjalizowane struktura połączeń zorientowane na zasoby zorientowane na funkcje Magistrale Klasyfikacja: architektura: równoległe multipleksowane szeregowe lokalizacja: lokalne systemowe we/wy funkcje ogólnego przeznaczenia specjalizowane struktura połączeń zorientowane na zasoby zorientowane na funkcje MAGISTRALA dane adresy funkcje zgłoszenie zezwolenie architektura komputerów w 9 3
Magistrale. Zarządzanie magistralą. Magistralą zarządza w jednej chwili jeden zarządca (bus master). Dla magistral dzielonych takich busmasterów może być wielu. W takiej sytuacji wymagany jest arbitraż według ustalonych reguł Żądanie dostępu arbitraż Oczekiwanie na przydział magistrali transfer Zakończenie i zwolnienie magistrali Standard Interface Odra 1300 Magistrale. Przykłady. Liczba linii Linii danych Typ Linii adreso wych Typ 34 8+p Jednokierunkowa 8+p Przełączana z szyną danych Unibus (PDP11) 56 16 Dwukierunkowa 18 Intel 8085 33 8 Dwukierunkowa, trójstanowa 8+8 Przełączana, trójstanowa Z80 38 8 Dwukierunkowa, 16 Trójstanowa trójstanowa ISA 75 16 Dwukierunkowa, 24+4 Trójstanowa (PC) trójstanowa PCI 45 32 Dwukierunkowa, trójstanowa 32 Przełączana z szyną danych M68000 60 16 Dwukierunkowa, 23 Trójstanowa trójstanowa VME BUS 110 32 31 (Motorola) I 2 C 2 (dane i zegar) 1 Szeregowa OC 1 Ta sama co danych architektura komputerów w 9 4
Protokół magistrali Definicja Zespół reguł, wg których realizowane są transakcje na magistrali nazywany jest protokołem magistrali Protokół definiuje zarówno sposób przesyłania (poziomy, aktywne zbocza, zależności) jak i relacje czasowe pomiędzy poszczególnymi sygnałami (a właściwie ich zboczami), których zachowanie jest niezbędne dla prawidłowego przebiegu transferu. Protokół magistrali Protokół synchroniczny. DR - Data Ready DA - Data Acknowledgement architektura komputerów w 9 5
Protokół magistrali Protokół asynchroniczny - przesłanie niepowiązane. DR - Data Ready DA - Data Acknowledgement DE - Data Error Protokół magistrali Protokół asynchroniczny - przesłanie częściowo powiązane. DR - Data Ready DA - Data Acknowledgement DE - Data Error architektura komputerów w 9 6
Protokół magistrali Protokół asynchroniczny - przesłanie z potwierdzeniem (handshaking) powiązanie czterozboczowe. DR - Data Ready DA - Data Acknowledgement DE - Data Error Urządzenia zewnętrzne. Interfejsy i magistrale zewnętrzne CENTRONICS 5 trybów pracy: Compatibility Mode (200kB/s, jednokierunkowy) Nibble Mode (4 bity, 100kB/s, dwukierunkowy,) Byte Mode (200kB/s, dwukierunkowy) Enhanced Parallel Port (2,3MB/s, dwukierunkowy) Extendet Capabilities Port ( dwukierunkowy) architektura komputerów w 9 7
Urządzenia zewnętrzne. Interfejsy i magistrale zewnętrzne CENTRONICS Compatibility Mode (200kB/s, jednokierunkowy) ~STR Strobe (min. 0,5µs) ~ACK Acknowledge (ok. 5µs) BSY Busy (drukarka zajęta, off-line, w stanie inicjacji, błąd) PAP Paper Out (brak papieru) SEL Select (drukarka w stanie on-line) ~ERR Error (brak papieru,stan off-line, inny) Urządzenia zewnętrzne. Interfejsy i magistrale zewnętrzne out in in out CENTRONICS Compatibility Mode Typowa transmisja znaku architektura komputerów w 9 8
Urządzenia zewnętrzne. Interfejsy i magistrale zewnętrzne out out in out CENTRONICS EPP Mode Typowa transmisja znaku lub adresu ISA. Magistrala ISA Max. częst.pracy 8,33Mhz architektura komputerów w 9 9
ISA. BCLK: Bus Clock, 33% Duty Cycle. Frequency Varies. 4.77 to 8 MHz typical. 8.3 MHz is specified as the maximum, but many systems allow this clock to be set to 12 MHz and higher. RESDRV: This signal goes low when the machine is powered up. Driving it low will force a system reset. SBHE#: System Bus High Enable, tristate. Indicates a 16-bit data transfer. This may also indicate an 8-bit transfer using the upper half of the data bus (if an odd address is present). BALE: Bus Address Latch Enable. The address bus is latched on the rising edge of this signal. The address on the SA bus is valid from the falling edge of BALE to the end of the bus cycle. AEN: Address Enable. This is asserted when a DMAC has control of the bus. This prevents an I/O device from responding to the I/O command lines during a DMA transfer. ISA. SA0-SA19: System Address Lines, tri-state. SD0-SD15: System Data lines, or Standard Data Lines. They are bidirectional and tri-state. On most systems, the data lines float high when not driven. IORC#: I/O Read Command line. IOWC#: I/O Write Command line. MRDC#: Memory Read Command line. MWTC#: Memory Write Command line. IO16#: I/O size 16. Asserted by a slave when it can transfer data using all 16 bits. Otherwise only the lower 8 bits will be used for both odd and even addresses. M16#: Memory size 16 bit. Same function as IO16#. architektura komputerów w 9 10
ISA. CHRDY: Channel Ready. Setting this low prevents the default ready timer from timing may then set it high again when it is ready to end the bus cycle. Holding this line low for too long (15 microseconds, typically) can prevent RAM refresh cycles on some systems. NOWS#: No Wait State. Used to shorten the number of wait states generated by the default ready timer. This causes the bus cycle to end more quickly, since wait states will not be inserted. Most systems will ignore NOWS# if CHRDY is active (low). However, this may cause problems with some bus controllers, and both signals should not be active simultaneously. ISA I/O Read. architektura komputerów w 9 11
ISA I/O Write. ISA. A default number of wait states are normally inserted (eg. 4 for I/O) Number of wait states can be increased using CHRDY Number of wait states can be decreased using NOWS# Only 16-bit memory devices can complete a bus cycle at zero wait states architektura komputerów w 9 12
Magistrale. Przykłady. Magistrala PCI Max. częst.pracy 66Mhz Magistrale. Przykłady. Magistrala PCI architektura komputerów w 9 13
Magistrale. Przykłady. Protokół magistrali. Przykład - PCI architektura komputerów w 9 14
Protokół magistrali. Przykład I 2 C Protokół magistrali. Przykład I 2 C architektura komputerów w 9 15
Protokół magistrali. Przykład I 2 C Bit transfer START & STOP Transmisja z potwierdzeniem Protokół magistrali. Przykład I 2 C architektura komputerów w 9 16
Protokół magistrali. Przykład I 2 C Potwierdzenie na I 2 C Protokół magistrali. Przykład I 2 C procedura arbitrażu architektura komputerów w 9 17
Protokół magistrali. Przykład I 2 C Transfer master slave Protokół magistrali. Przykład I 2 C Master czyta z modułu slave architektura komputerów w 9 18
Urządzenia zewnętrzne. Współpraca i sterowanie adresowanie i wybranie urządzenia wejście wyjście odwzorowane w przestrzeni adresowej pamięci (np. Motorola6809) osobna przestrzeń adresowa we/wy Przesyłanie danych poprzez rejestry procesora programowe z wykorzystaniem systemu przerwań bezpośrednia komunikacja z pamięcią (DMA) Urządzenia zewnętrzne. Współpraca i sterowanie Przesyłanie danych poprzez rejestry procesora programowe Czytaj stan urządzenia Urządzenie gotowe? T Prześlij znak architektura komputerów w 9 19
Urządzenia zewnętrzne. Współpraca i sterowanie Przesyłanie danych poprzez rejestry procesora z wykorzystaniem systemu przerwań Urządzenie gotowe Zgłoszenie przerwania Procesor Przerwanie wykonywanego programu zeskładowanie rejestrów i PC wyliczenie adresu do załadowania do PC załadowanie PC Procedura obsługi przerwania Kontynuacja Odtworzenie stanu procesora i powrót System przerwań. Przerwania zgłaszane jest poprzez wysterowanie odpowiedniego wejścia procesora. Przerwania generowane sa poza procesorem (z wyjątkiem przerwania programowego) Zgłoszenie przerwania jest asynchroniczne względem wykonywanego strumienia instrukcji Służą do sygnalizacji zdarzeń istotnych dla systemu operacyjnego (zakończenie operacji wejscia-wyjścia, zakończenie odmierzanego okresu czasu itp..) architektura komputerów w 9 20
System przerwań. Obsługa. Przerwania zgłaszane jest poprzez wysterowanie odpowiedniego wejścia procesora. Przyjęcie i obsługa przerwania : stwierdzenie czy możliwe jest przerwanie aktualnie wykonywanych czynności (hardware) zablokowanie przejmowania przerwań (lub tylko przerwań o wyższym priorytecie) (hardware) dokończenie wykonywania bieżącego rozkazu (hardware) sygnalizacja przyjęcia przerwania (hardware) zachowanie (na stosie ) PSW i PC (hardware) załadowanie do PC adresu procedury obsługi przerwania (hardware) zachowanie informacji o stanie przerwanego procesu (software) wykonanie programu obsługi przerwania (software) odtworzenie stanu przerwanego procesu (software) odblokowanie przyjmowania przerwań (software) (teraz lub wewnątrz procedury obsługi przerwania) pobranie ze stosu i odtworzenie zawartości PSW i PC System przerwań. Obsługa. architektura komputerów w 9 21
System przerwań Przerwania: programowe instrukcja przerwania programowanego (niemaskowalnego) sprzętowe zgłaszane przez ustawienie poziomu na odpowiednich wyprowadzeniach procesora lub kontrolera przerwań System przerwań Przerwania: maskowalne niemaskowalne architektura komputerów w 9 22
Przerwania - organizacja systemu. Wiele linii przerwań odpytywanie programowe wektorowe System przerwań Priorytety: przypisane do linii przerwań wynikające z kolejności w łańcuchu (daisy chain) Linie danych magistarli procesor Sterownik 1 IEO Sterownik 2 IEO Sterownik n INT INTA IEI arbitraż przez sterownik przerwań IEI IEI Przerwania: niemaskowalne -wejście NMI System przerwań. Przykład - Z80 maskowalne. Procesor posiada programowo ustawianą maski IFF1 warunkującą przyjęcie przerwania Przyjęcie przerwania - przesłanie PC na stos, cd zależny od trybu. Tryby przerwań (ustawiane programowo): Mode 0: JS wystawia na szynę danych kod instrukcji, jaka ma być wykonana w wyniku przerwania Mode 1: JC wykonuje restart od adresu 38H Mode 2: adres procedury do uruchomienia: architektura komputerów w 9 23
System przerwań. Przykład - Z80 System przerwań. Przykład - I8086 I8086 posiada jedną linię żądania przerwania (INTR) i jedną potwierdzenia przyjęcia przerwania. używa tablicy wektorów przerwań (256 adresów 4 bajtowych - rejestr CS i IC umieszczanej w pamięci od adresu 0000:0000 Przerwania obsługiwane są przez sterownik 8259A Przyjęcie przerwania: umieszczenie na stosie rejestru FLAGS, IC, CS zerowanie bitów w rejestrze stanu : TF (praca krokowa) i IF (zezwolenie na przerwanie wystawienie INTA do sterownika, sterownik podaje w odpowiedzi na linię danych wektor zgłoszonego przerwania wykonanie CALL według dostarczonego przez sterownik numeru wektora architektura komputerów w 9 24
System przerwań. Przykład - sterownik 8259A Sterownik posiada 8 linii, na które mogą być zgłaszane przerwania System może obsłużyć do 64 przerwań poprzez połączenie kaskadowe sterowników przerwania przyjmowane są wg jednego z trzech schematów priorytetów priorytet przypisany do linii zgłoszeń (linia 0 ma najwyższy priorytet) rotacyjny - przerwanie, którego obsługa została właśnie zakończona uzyskuje najniższy priorytet ustawiany software owo - Sterownik posiada 8 linii, na które mogą być zgłaszane przerwania System może obsłużyć do 64 przerwań poprzez połączenie kaskadowe sterowników System przerwań. Przykład - sterownik 8259A architektura komputerów w 9 25
System przerwań. Przykład - sterownik 8259A Sterownik posiada 8 linii, na które mogą być zgłaszane przerwania System może obsłużyć do 64 przerwań poprzez połączenie kaskadowe sterowników System przerwań. 8051 architektura komputerów w 9 26
System przerwań. 8051 Źródło przerwania wskaźnik Adres wektora Zewnętrzne 0 IE0 03H TIMER T0 TF0 0BH Zewnętrzne 1 IE1 13H TIMER T1 TF1 1BH Port szeregowy RI+TI 23H IE0, IE1, TF0, TF1 - rejestr TCON RI, TI rejestr SCON System przerwań. 8051 Rejestr TCON Rejestr IE Struktura i sposób funkcjonowania wskaźników przerwań i bitów zezwolenia na przerwanie architektura komputerów w 9 27
System przerwań. 8051 Rejestr TCON TFx ustawiany gdy przepełnia się licznik odpowiedniego bloku; zerowany programowo lub automatycznie przy wejście do procedury obsługi przerwania TRx ustawiany na 1 włącza pracę timera; stan 0 zatrzymuje timer ale nie zeruje liczników IEx ustawiany hardware owo po zgłoszeniu przerwania od INTx\; zerowany sprzętowo w momencie przejścia do obsługi przerwania ITx programowe ustawienie/wyzerowanie powoduje wybór sposobu zgłaszania przerwań zewnętrznych - opadającym zboczem lub niskim poziomem sygnału INTx\ System przerwań. 8051 Rejestr IE w SFR o adresie 0A8H maskuje przerwania 0 blokuje przerwanie, 1 zezwala na przyjęcie 1 architektura komputerów w 9 28
System przerwań. 8051 Słowo IP w SFR o adresie 0B8H przypisuje priorytet do przerwań Odpowiedni bit ustawiony na 0 ustawia priorytet niski, bit równy 1 ustawia priorytet wysoki W przypadku jednoczesnego zgłoszenia przerwania o niskim i wysokim priorytecie najpierw obsługiwane jest to o priorytecie wysokim, a później o niższym Obsługa przerwania o niskim priorytecie może zostać przerwana przez przerwanie o wyższym priorytecie Jeżeli jednocześnie zgłoszone są przerwania o identycznym priorytecie to kolejność przyjęcia zgłoszeń jest następująca: X0,T0, X1, T1, S Pułapki Generowane przez procesor Jako efekt żądania usługi SO ze strony programu użytkowego wywoływanej przez przerwanie programowe (np.. Instrukcja SYSCALL w MIPS) Jako efekt stwierdzonego błędu niektórych instrukcji programu użytkowego ADD, SUB procesora MIPS w przypadku nadmiaru DIV, IDIV, AAM procesora x86 w przypadku nadmiaru W przypadku ustawionego trybu śledzenia generowana po wykonaniu każdej instrukcji architektura komputerów w 9 29
Błedy Generowane przeważnie przez procesor (CPU lub MMU) Służą do sygnalizacji niepoprawnego funkcjonowania oprogramowania lub sprzętu. Próba wykonania instrukcji o nieokreślonym kodzie Naruszenie zasad ochrony procesora lub pamięci Przekroczenie wartożci granicznej segmentu stosu Itd.. Wykorzystywane do realizacji pamięci wirtualnej Bład segmentu brak wymaganego segmentu w pamieci. Błedy architektura komputerów w 9 30
Błedy Wyjątki (Pentium) Pojawienie się większej ilości wyjątków wymaga rozstrzygnięcia, który zostanie obsłużony w pierwszej kolejności. Priorytety (na poziomie procesora) są następujące: Klasa1: Pułapka w poprzednim rozkazie (wektor nr1) Klasa2: Przerwania zewnętrzne (2, 32-255) Klasa3: Błędy pobierania następnego rozkazu (3,14) Klasa 4: Błędy dekodowania następnego rozkazu (6,7) Klasa 5: Błędy wykonania rozkazu (0,4,5,8,10-14,16,17) Na poziomie SO o priorytecie danego wyjątku określa pilność jego obsługi. architektura komputerów w 9 31
Wyjątki Na poziomie SO o priorytecie danego wyjątku decyduje pilność jego obsługi. Wyjątki Obsługa wyjątku rozpoczyna się od identyfikacji Jeżeli źródłem wyjątku jest procesor (błąd, pułapka), przyczyna jest znana i identyfikacja jest niepotrzebna Obsługa wyjątku wymaga zapamiętania kontekstu w celu powrotu do przerwanego programu lub wyświetlenia komunikatu o błędzie Zapamiętywana jest wartość nextpc w przypadku przerwania lub pułapki śledzenia currentpc w przypadku błędu wykonania instrukcji lub pułapki sygnalizującej błąd wykonania. Powrót, jeżeli nastąpi, to ponownie do tej samej instrukcji. Obsługa wyjątku realizowana jest zawsze na poziomie systemowym. Wymagane jest zapamiętanie poziomu zaufania z chwili pojawienia się wyjątku (poziom systemowy lub użytkownika) architektura komputerów w 9 32
Wyjątki Powrót z procedury obsługi wyjątku nie zawsze jest możliwy Błąd ochrony wymaga zamknięcia procesu Powrót polega na odtworzeniu stanu zapamiętanego podczas inicjowania obsługi wyjątku W praktyce SO obsługę wyjątku kończy przełączeniem procesu. Powrót następuje do innego strumienia instrukcji niż ten, który został przerwany Urządzenia zewnętrzne. Współpraca i sterowanie Funkcje magistrali (interfejsu) adresowanie i wybranie urządzenia przesyłanie danych przesyłanie informacji o stanie zespołów, z jakich składa się urządzenie sterowanie czynnościami zespołów, z jakich składa się urządzenie przenoszenie do JC reakcji urządzenia na polecenia synchronizacja przesłań architektura komputerów w 9 33
Interface magistrali 12/27/2017 Urządzenia zewnętrzne. Współpraca i sterowanie Ze względu na różnorodność sposobów funkcjonowania urządzeń zewnętrznych, sposobów i szybkości transmisji stosuje się urządzenia pośredniczące adoptujące interface urządzenia do magistrali (interfejsu) komputera Interface urządzenia zgłoszenie Dekoder adresu Rejestry danych Rejestry stanu urządzenie MAGISTRALA dane adresy funkcje zezwolenie Sterowanie przerwań JS sterowanie urządzeniem Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor pamięć magistrala DMA Układ we/wy urządzenie sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) architektura komputerów w 9 34
Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor A pamięć magistrala DMA Układ we/wy urządzenie sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor A pamięć magistrala DMA Układ we/wy urządzenie B sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) architektura komputerów w 9 35
Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor C A pamięć magistrala DMA Układ we/wy urządzenie B sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor C A pamięć magistrala DMA Układ we/wy urządzenie D B sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) architektura komputerów w 9 36
Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji procesor pamięć magistrala A C E DMA Układ we/wy urządzenie D B sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) Urządzenia zewnętrzne. Współpraca i sterowanie Bezpośrednia komunikacja z pamięcią - kanał DMA. Tryby pracy: tryb przesyłania porcjowego (burst transfer mode) magistrala zajmowana jest na czas całego transferu tryb przechwyconych cykli (cycle stealing mode) magistrala zajmowana jest na czas transmisji 1 porcji (bajtu lub słowa) informacji pamięć magistrala procesor Fa Fd A C E DMA Układ we/wy urządzenie D B sterowanie: A - przygotowanie DMA, B - żądanie dostępu, C - żądanie dostępu do magistrali, D- zwolnienie magistrali, E - potwierdzenie dostępu, F - dostęp do pamięci ( a - adres, d - dane) architektura komputerów w 9 37
Sterownik dysku z układem DMA Kanał DMA. Układ kontrolera I8237 HRQ HLDA architektura komputerów w 9 38
Kanał DMA. Układ kontrolera I8237 Kanał DMA. Układ kontrolera I8237 architektura komputerów w 9 39