ARCHITETURA SYSTEMÓW OMPUTEROWYCH wyjątki, przerwania, I/O, struktury c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2015/2016 1 Instytut Fizyki, Zakład Informatyki, e-mail: ignacy.pardyka@ujk.edu.pl 1 2 Wejście i wyjście 3 omputery osobiste 4 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 1 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 2 / 42 definicja i przypadki definicja i przypadki wyjątki zdarzenia w systemie komputerowym wymagające od CPU: 1 przerwania pobierania bieżącego strumienia instrukcji 2 przekazania sterowania do systemu operacyjnego przerwania pułapki błędy przerwanie zdarzenie zewnętrzne (poza CPU) wymagające od CPU: 1 przerwania pobierania bieżącego strumienia instrukcji 2 przekazania sterowania do systemu operacyjnego przykład: zmiana stanu urządzeń wciśnięcie klawisza klik myszy nadejście pakietu z sieci zakończenie transmisji danych upływ określonego czasu (generuje timer) alternatywne nazwy: przerwania sprzętowe, zewnętrzne c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 3 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 4 / 42
definicja i przypadki definicja i przypadki pułapka zdarzenie wewnętrzne (w CPU) wymagające od CPU: 1 przerwania pobierania bieżącego strumienia instrukcji 2 przekazania sterowania do systemu operacyjnego powodowane przez wykonywaną instrukcję rodzaje pułapek wywołanie usługi SO ( przerwanie programowe ) sygnalizacja błędnego wykonania instrukcji (np. nadmiar) pułapka śledzenia (ang. trace trap), gdy PC osiąga zadaną wartość) standardowo obsługiwane przez SO, z możliwością przechwycenia obsługi przez użytkownika, definiującego obsługę w języku wysokiego poziomu błąd wewnętrzne lub zewnętrzne zdarzenie sygnalizujące błędne działanie systemu, wymagające od CPU: 1 przerwania pobierania bieżącego strumienia instrukcji 2 przekazania sterowania do systemu operacyjnego generowane przez CPU, MMU, peryferia przykładowe przyczyny generowania: wykryto błąd transmisji zdekodowano niedozwoloną instrukcję naruszenie zasad ochrony procesora, pamięci, urządzeń brak strony w pamięci głównej (błąd strony) c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 5 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 6 / 42 obsługa na poziomie procesora identyfikacja wyjątku zaniechanie wykonywania bieżącego strumienia instrukcji przekazanie sterowania do procedury SO fazy obsługi wyjątków: 1 rozpoznanie i identyfikacja źródła wyjątku 2 zapamiętanie bieżącego kontekstu procesora 3 załadowanie nowego kontekstu procesora celem realizacji programowej obsługi wyjątku identyfikacja zbędna, gdy źródło wewnątrz procesora (pułapka, błąd) identyfikacja konieczna, gdy przerwanie dodatkowy cykl identyfikacji przerwania wbudowany w cykl rozkazowy procesora 1 po otrzymaniu sygnału przerwania CPU wysyła do kontrolera przerwań sygnał IntAC 2 w odpowiedzi urządzenie wystawia na magistralę danych identyfikator przerwania (4..9 bitowa liczba) 3 identyfikator przerwania wykorzystywany jako offset tablicy adresów procedur obsługi przerwań 4 adres procedury obsługi przerwań wpisywany do PC (ze śladem powrotu na stosie) c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 7 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 8 / 42
zapamiętanie kontekstu procesora systemowa obsługa wyjątku i powrót zapamiętanie stanu rejestrów, które mogą być zmodyfikowane w czasie programowej obsługi wyjątku PC rejestr stanu rejestry uniwersalne CISC: PC, SR odkładane na stos RISC: stan rejestrów kopiowany do dodatkowego zestawu rejestrów: cieni kontekst rekonstruowany przy powrocie z procedury obsługi wyjątku alternatywnie: wspólny punkt wejścia dla wszystkich wyjątków identyfikacja wyjątku na drodze programowej tablica adresów procedur obsługi przerwań wskazywana przez stosowny rejestr systemowy powrót z obsługi wyjątku: 1 odtworzenie stanu rejestrów uniwersalnych 2 odtworzenie rejestru stanu 3 odtworzenie stanu PC instrukcja powrotu z obsługi wyjątku dozwolona tylko w trybie systemowym w praktyce wykorzystywana do przełączenia kontekstu (w celu przekazania sterowania do innego procesu) c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 9 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 10 / 42 Wejście i wyjście Wejście i wyjście 1 2 Wejście i wyjście 3 omputery osobiste 4 5 Literatura komórka pamięci, a port we/wy port widziany w przestrzeni adresowej podobnie do komórki pamięci sposoby dostępu do portu zależne od architektury: za pomocą instrukcji dostępu do pamięci za pomocą odrębnych instrukcji we/wy (np. x86) port odwzorowany w pamięci (ang. memory mapped) na liście instrukcji nie ma instrukcji we/wy port izolowany (ang. isolated I/O) wymagane odrębne instrukcje we/wy c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 11 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 12 / 42
Wejście i wyjście Wejście i wyjście Model portu Porty I/O odwzorowane w pamięci output Address Decoder D Q CL WE2 WE1 WEM CL RDsel 1:0 MemWrite WE CL input Processor Address WriteData Memory dane zapis CL EN I/O Device 1 00 01 10 ReadData odczyt EN I/O Device 2 adres c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 13 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 14 / 42 Wejście i wyjście Wejście i wyjście (DMA) transmisja możliwa, gdy urządzenie w stanie gotowości do przyjęcia danych do udostępniania danych metody synchronizacji dostępu: aktywne czekanie programowe, z testowaniem stanu gotowości za pomocą sygnału przerwania generowanego przez urządzenie, gdy osiągnie stan gotowości DMA (ang. Direct Memory Access) transmisja danych pomiędzy urządzeniem, a pamięcią bez angażowania procesora (bez programu) sterownik DMA (ang. DMA controller) inicjalizowany programowo pracuje niezależnie od CPU generuje przerwanie po zakończeniu transmisji bloku zastosowanie w sterownikach: pamięci dyskowych, sieciowych, dźwiękowych, graficznych, USB,... odciąża procesor po zainicjalizowaniu DMA, sterowanie procesorem jest przekazywane do procesu wybranego z kolejki gotowości w celu obsługi przerwania DMA procesor przekazuje sterowanie do SO c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 15 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 16 / 42
Wejście i wyjście (DMA) zasada pracy sterownika DMA rejestr adresu bufora danych w pamięci operacyjnej ładowany adresem początkowym bufora (otrzymanym od CPU) inkrementowany po każdym przesłaniu jednostki danych generuje przerwanie po zakończeniu transmisji bloku licznik ładowany długością bloku przeznaczonego do transmisji dekrementowany po każdym przesłaniu jednostki danych blokowanie dostępu CPU do magistrali na czas transmisji DMA po otrzymaniu zgody arbitra magistrali równoległy dostęp CPU do magistrali wymaga zezwolenia arbitra magistrali rozwiązanie: pamięci dwuportowe (ang. dual-port memory) omputery osobiste 1 2 Wejście i wyjście 3 omputery osobiste 4 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 17 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 18 / 42 omputery osobiste omputery osobiste omputery osobiste Przykładowa płyta główna PC systemy komputerowe użytku osobistego, popularne PC (ang. personal computer) zestaw: procesor, pamięć główna, pamięć dyskowa, urządzenia zewnętrzne: klawiatura, monitor, drukarka, sprzęt sieciowy komunikacja z procesorem poprzez interfejsy działające wg protokołów standardowych pod kontrolą systemu operacyjnego: urządzenia wejścia/wyjścia sterowane programowo, protokoły realizowane częściowo za pomocą sterowników (ang. drivers) część elementów strukturalnych systemu we wspólnej obudowie elementy elektroniczne na płytkach drukowanych (wielowarstwowych) procesor, pamięć, niektóre interfejsy montowane są na tzw. płycie głównej (ang. motherboard) inne elektroniczne elementy strukturalne są montowane na płytach dołączanych do płyty głównej (poprzez łącza, gniazda, kable) także niektóre urządzenia, np. dysk, klawiatura, ekran oczywiście, niezbędne jest źródło napięcia: zasilacz, bateria, akumulator. c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 19 / 42 PS/2 keyboard and mouse connectors Graphics connectors USB connectors Ethernet jack Audio jack PCI express x16 slot PCI slots PCI express x1 slot CPU socket 1156 DDR3 memory sockets Power supply connector SATA connectors c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 20 / 42
omputery osobiste omputery osobiste Schemat płyty głównej CPU kieszenie L1, L2, MMU MEM sterownik graficzny PCIe most północny PCI sterownik w/wy u PCI most południowy sterownik we/wy u u u u c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 21 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 22 / 42 omputery osobiste omputery osobiste Procesor Intel Nehalem (2008) USB uniwersalny interfejs szeregowy: USB (Universal Serial Bus) do połowy lat 90. XX w. dominował RS 232; wymagał prawidłowej konfiguracji: baud rate, liczba bitów parzystości, stopu USB (Intel, IBM, Microsoft) USB 1.0 (1996): 12 Mb/s, kabel 4-żyłowy (5V, masa, dane), 500 ma dołączane urządzenia (np. klawiatura, mysz) zasilane z USB USB 2.0 (2000): 480 Mb/s umożliwia dołączenie kamery, dysku, pamięci flash USB 3.0 (2008): 5 Gb/s dysk, urządzenia mobilne, doładowanie akumulatorów prostota w użyciu, ukryta złożoność sprzętu i oprogramowania. c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 23 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 24 / 42
omputery osobiste omputery osobiste PCI, PCIe 32-bitowy interfejs równoległy: PCI (Peripheral Component Interconnect) opracowany przez Intel (1994) przyłączanie kart rozszerzeń płyty głównej (ang. expansion cards): dodatkowe porty USB, interfejsy sieciowe, karty dźwiękowe, modemy, kontrolery dysków, karty wideo (dawniej) transfer 133 MB/s, zegar 33 MHz wypierany przez Ethernet, SATA, montowane na płycie głównej, USB nowsza wersja: PCIe (PCI Express) Interfejs pamięci głównej DDR3 DDR3 (2012): interfejs równoległy pamięci głównej (DRAM) moduły DIMM (dual inline memory module): 1 16 GB DRAM zegar 100-266 MHz transfer: 8 słów (64-bitowych) na okres zegara DDR3-1600: 1600 mln słów/s (PC3-12800: 12800 MB/s) czas dostępu do pamięci DRAM (latency): 50 ns (od żądania odczytu do nadejścia pierwszego słowa danych) przykład: 4 GB DDR3 DIMM na płycie głównej gniazda PCIe, do 16 GB/s np. do włożenia karty wideo. c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 25 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 26 / 42 omputery osobiste omputery osobiste sieciowe komunikacja z Internetem oparta na protokołach TCP/IP (Transmission Control Protocol and Internet Protocol) fizyczne połączenie z siecią: przewodowe: Ethernet bezprzewodowe: Wi-Fi Ethernet (od 1974 r.) standard IEEE 802.3 opracowany przez Xerox Palo Alto Research Center (PARC) rozwój: 10 Mb/s, 100 Mb/s, 1 Gb/s, 10 Gb/s, 100 Gb/s Wi-Fi (od 1999 r.): sieci WLAN (wireless local area networks) standard IEEE 802.11 pasma częstotliwości: 2.4 GHz, 5 GHz IEEE 802.11ac (od 2014 r.): ponad 1 Gb/s. Protocol Release Frequency Band (GHz) Data Rate (Mb/s) Range (m) 802.11b 1999 2.4 5.5 11 35 802.11g 2003 2.4 6 54 38 802.11n 2009 2.4/5 7.2 150 70 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 27 / 42 dyskowe pamięci dyskowe wymagają szybkich interfejsów interfejs IDE (Integrated Drive Electronics) Western Digital (1986) standard ATA (AT Attachment): transfer: 16-133 MB/s kabel 40-, 80-żyłowy, dł. do 18 SATA (Serial ATA): transfer: 1.5, 3, 6 Gb/s kabel kabel 7-żyłowy rok 2012: 500 MB/s SAS (Serial Attached SCSI): następca SCSI (Small Computer System Interface) efektywność SATA kabel może być dłuższy stosowany w serwerach. c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 28 / 42
omputery osobiste omputery osobiste Drukarka laserowa Sektory dyskowe c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 29 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 30 / 42 omputery osobiste omputery osobiste Zapis na płycie CD Ekran ciekłokrystaliczny c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 31 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 32 / 42
omputery osobiste Cyfrowy aparat fotograficzny 1 2 Wejście i wyjście 3 omputery osobiste 4 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 33 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 34 / 42 Systemy wielokomputerowe c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 35 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 36 / 42
Systemy wielokomputerowe Topologie połączeń c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 37 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 38 / 42 Taksonomia architektur Systemy UMA c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 39 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 40 / 42
Systemy NUMA Literatura Literatura A. S. Tanenbaum, Strukturalna organizacja systemów komputerowych, Helion, 2006. J. Biernat, Architektura komputerów, OWPW, 2005. D.M. Harris, S.L. Harris, Digital Design and Computer Architecture, Elsevier, 2013. R. Hyde, Profesjonalne programowanie, Helion, 2005. R. Hyde, Asembler. Sztuka programowania, Helion, 2004. G. Mazur, Architektura systemów komputerowych, http://wazniak.mimuw.edu.pl. P.A. Carter, PC Assembly Language, http://www.drpaulcarter.com/pcasm/. c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 41 / 42 c Dr inż. Ignacy Pardyka (Inf U J ) AS: wyjątki, przerwania, I/O, struktury Rok akad. 2015/2016 42 / 42