1 / 39

Architektura komputerów

Architektura komputerów. Wykład nr 10: Urządzenia wejścia/wyjścia Piotr Bilski. Komunikacja z urządzeniami we/wy. Urządzenie połączone jest z magistrala systemową poprzez moduł we/wy Prędkości urządzeń i magistrali znacząco się różnią – pośrednik jest potrzebny!

ivory
Download Presentation

Architektura komputerów

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architektura komputerów Wykład nr 10: Urządzenia wejścia/wyjścia Piotr Bilski

  2. Komunikacja z urządzeniami we/wy • Urządzenie połączone jest z magistrala systemową poprzez moduł we/wy • Prędkości urządzeń i magistrali znacząco się różnią – pośrednik jest potrzebny! • Formaty danych obsługiwane przez komputer są różne od formatów wspieranych przez urządzenie

  3. Schemat modułu we/wy Linie adresowe Linie danych Linie sterowania Moduł wejścia-wyjścia urządzenie peryferyjne

  4. Urządzenia zewnętrzne • do komunikacji z człowiekiem (np. monitor, drukarka) • do komunikacji z maszyną (np. napęd CD) • do komunikacji zdalnej (np. modem, karta sieciowa)

  5. Schemat urządzenia peryferyjnego Moduł wejścia-wyjścia Dane do/z modułu we/wy Sygnały sterujące Sygnały stanu Bufor Układy logiczne sterowania Przetwornik Dane do/z otoczenia

  6. Prędkości urządzeń peryferyjnych

  7. Moduł wejścia-wyjścia • sterowanie i taktowanie • komunikacja z procesorem • komunikacja z urządzeniem • buforowanie danych • wykrywanie błędów Klasyfikacja funkcji:

  8. Komunikacja modułu z procesorem • dekodowanie rozkazu • przesyłanie danych • przesyłanie informacji o stanie • rozpoznawanie adresu

  9. Przykład współpracy procesora i urządzenia peryferyjnego • żądanie ze strony procesora stanu urządzenia • przesłanie informacji o stanie urządzenia przez moduł we/wy • jeśli urządzenie działa, procesor zgłasza żądanie przesłania danych • moduł otrzymuje jednostkę danych z urządzenia zewnętrznego i przesyła do procesora

  10. Schemat modułu wejścia-wyjścia

  11. Rodzaje modułów we/wy • kanał wejścia-wyjścia – bardziej złożony, wykonuje większość pracy związanej z komunikacją i obsługą urządzenia (komputery mainframe) • sterownik urządzenia – prosty, większość funkcji musi wykonywać procesor (komputery osobiste)

  12. Techniki wejścia-wyjścia • programowane wejście-wyjście – duże zaangażowanie procesora • wejście-wyjście sterowane przerwaniami – procesor odciążony • bezpośredni dostęp do pamięci – procesor niepotrzebny

  13. Programowane wejście-wyjście • Procesor przesyła rozkazy wejścia-wyjścia do modułu. Sam musi pilnować, kiedy dane są dostępne • Instrukcje pobierane z pamięci mają swoje odpowiedniki w rozkazach wysyłanych modułowi • Wada: procesor bezczynny przez większość czasu

  14. Rozkazy wejścia-wyjścia • sterowania (charakterystyczne dla poszczególnych urządzeń) • testowania (stan urządzenia i wynik ostatniej operacji) • odczytu • zapisu

  15. Schemat programowanego wejścia-wyjścia Wysłanie rozkazu odczytu do modułu CPU  we/wy Odczyt stanu modułu we/wy we/wy CPU Obsługa błędu Stan? Niegotowy Gotowy Odczyt słowa z modułu we/wy we/wy CPU NIE TAK Zapis słowa w pamięci CPU  we/wy Wykonanie? Następny rozkaz

  16. Instrukcje wejścia-wyjścia • Problem adresowania urządzeń we/wy: • odwzorowanie w pamięci • izolowane wejście-wyjście • Start I/O 5 • 201 Test I/O 5 • 203 Branch if St=0 201 • 204 In 5 • Load AC 1 • 201 Store AC 517 • 202 Load AC 517 • 203 Branch if St=0 202 • 204 Load AC 516 (a) (b)

  17. Wejście-wyjście sterowane przerwaniami • procesor wysyła żądania do modułu I/O, ale nie czeka na odpowiedź • gdy moduł jest gotowy do komunikacji z procesorem, zgłasza sygnał przerwania • procesor w każdym cyklu rozkazowym sprawdza, czy zgłoszono przerwanie • wada: procesor pośredniczy w komunikacji między peryferiami i pamięcią

  18. Schemat obsługi przerwań CPU  we/wy Wysłanie rozkazu odczytu do modułu tu procesor robi swoje przerwanie!!!! Odczyt stanu modułu we/wy we/wy CPU Obsługa błędu Stan? Gotowy Odczyt słowa z modułu we/wy we/wy CPU NIE TAK Zapis słowa w pamięci CPU  we/wy Wykonanie? Następny rozkaz

  19. Szczegóły przetwarzania przerwania sprzęt oprogramowanie Sterownik urządzenia zgłasza przerwanie Zachowanie pozostałych informacji o stanie procesu Procesor kończy wykonywanie rozkazu Przetwarzanie przerwania Procesor sygnalizuje potwierdzenie przerwania Odtworzenie informacji o stanie procesu Procesor umieszcza na stosie PSW i PC Odtworzenie PSW i PC Procesor Ładuje nową wartość PC (przerwanie)

  20. Problem obsługi wielu urządzeń • wiele linii przerwań • odpytywanie za pomocą oprogramowania • odpytywanie za pomocą sprzętu • arbitraż za pomocą magistrali (PCI, SCSI) linie przerwań Moduł wejścia-wyjścia połączenia do urządzeń

  21. Odpytywanie łańcuchowe • moduł sygnalizuje zgłoszenie przerwania wystawiając na szynie danych wektor terminator magistrali terminator magistrali Moduł 1 Moduł 2

  22. Sterownik przerwań Intel 82C59A Sterownik podrzędny 82C59 Urządzenie nr 1 procesor 386 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 Sterownik 82C59 INT Urządzenie nr 2 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 INTR INTA INT Sterownik podrzędny 82C59 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 INT

  23. Tryby przerwań w 82C59A • w pełni zagnieżdżony (z priorytetami) • rotacyjny • maskowalny

  24. System przerwań magistrali ISA • dwa układy 8259 w łańcuchu • połączenie z układami odbywa się poprzez kanał IRQ 2 • Kanał IRQ 9 służy do przekierowywania żądań na IRQ 2 • 15 linii przerwań do łańcucha

  25. Programowalny interfejs urządzeń peryferyjnych Intel 82C55A • moduł we/wy używany przez procesor 80386 • układ jest programowalny za pomocą rejestru sterowania (uniwersalność) • 40 linii sygnałowych: • 24 linie wejścia-wyjścia • 8 linii (bitów) danych • 2 linie adresowe

  26. Schemat układu 82C55A

  27. Bezpośredni dostęp do pamięci • Direct Memory Access (DMA) • pozwala przesyłać szybko duże ilości danych z/do pamięci bez ingerencji procesora • metoda szybsza od sterowania przerwaniami

  28. Schemat modułu DMA Licznik danych • moduł pamięci „udaje” procesor (kradzież cyklu) Rejestr danych Linie danych Rejestr adresowy Linie adresowe DMA REQ DMA ACK INTR READ WRITE Układy logiczne sterowania

  29. Działanie DMA • informacje żądane przez procesor od kontrolera DMA: • zapis, czy odczyt • adres urządzenia peryferyjnego • adres początkowej komórki pamięci do odczytu/zapisu • liczba słów do odczytu/zapisu • procesor wykonuje kolejne rozkazy programu • kontroler DMA steruje przepływem informacji pomiędzy peryferiami a pamięcią • gdy zadanie jest zakończone, kontroler zgłasza przerwanie

  30. Punkty kontrolne DMA Cykl rozkazu Pobranie rozkazu Dekodowanie rozkazu Pobranie argumentów Wykonanie rozkazu Zapisanie wyniku Przerwanie procesu punkt kontrolny przerwania punkty kontrolne DMA

  31. Konfiguracje DMA • pojedyncza magistrala dla wszystkich modułów, sterowanie programowe wejściem-wyjściem • pojedyncza magistrala, zintegrowane DMA • magistrala wejścia-wyjścia – osobna, tylko dla peryferiów, moduł DMA pełni rolę mostka

  32. Pojedyncza magistrala, odłączane DMA • zawieszenie procesora następuje dwukrotnie w czasie komunikacji z urządzeniem peryferyjnym • magistrala również użyta dwukrotnie

  33. Pojedyncza magistrala, zintegrowane DMA • kontroler DMA może wspierać więcej, niż jedno urządzenie • transfer wymaga jednokrotnego dostępu do magistrali, podobnie jest z zawieszeniem procesora

  34. Magistrala wejścia-wyjścia • jednokrotny dostęp do magistrali (DMA do pamięci) • procesor zawieszany tylko raz

  35. Kanały wejścia-wyjścia • są to wyspecjalizowane moduły I/O, zdolne do wykonywania programów z pamięci bez udziału CPU • dwa rodzaje kanałów: • wybiórczy • multiplekserowy

  36. Rodzaje interfejsów zewnętrznych • interfejs równoległy – wiele linii, szybkie urządzenia (np. dyski twarde) • interfejs szeregowy – jedna linia, wolne urządzenia (np. drukarki) • łącze dwupunktowe • łącze wielopunktowe • moduł I/O musi mieć bufor do przechowywania danych z/do urządzenia peryferyjnego

  37. Magistrala szeregowa FireWire • standard IEEE-1394 • pojedyncza linia danych nie wymaga ekranowania • urządzenia ułożone w konfiguracji łańcuchowej, lub drzewiastej, do jednego portu można dołączyć 63 urządzenia • podłączanie urządzeń aktywne (hot plugging)

  38. Konfiguracja FireWire • brak terminatorów!!

  39. Warstwy protokołów FireWire • warstwa fizyczna • definiuje arbitraż, ponowną synchronizację danych, kodowanie-dekodowanie, stan połączenia, złącza, poziom sygnału • warstwa łącza • transmisja danych (nadawanie i odbieranie pakietów, sterowanie cyklem) • warstwa transakcyjna • odczyt i zapis, blokowanie

More Related