260 likes | 430 Views
Układy wejścia/wyjścia. Magistrala. Procesor. Pamięć. Układy I/O. Układy wejścia/wyjścia - układy elektroniczne pośredniczące w wymianie informacji między systemem komputerowym a urządzeniami peryferyjnymi.
E N D
Magistrala Procesor Pamięć Układy I/O
Układy wejścia/wyjścia - układy elektroniczne pośredniczące w wymianie informacji między systemem komputerowym a urządzeniami peryferyjnymi Driver - Program umożliwiający wykorzystanie urządzenia we/wy • Interfejs - Połączenie układu we/wy z urządzeniem zewnętrznym • Zadaniem interfejsu jest przekazywanie danych • obejmuje: • fizyczne przewody i złącza • specyfikacja styków i sygnałów • poziomy sygnałów • zależności czasowe sygnałów
ISO - International Organization for Standarization (od gr. isos - równy) Międzynarodowa Organizacja Normalizacyjna http://www.iso.org/ Organizacje normalizujące sprzęt komputerowy Organizacje międzynarodowe Organizacje krajowe Zrzeszenia producentów Producenci ISO jest pozarządową organizacją non-profit. Jej członkami mogą być wyłącznie agencje rządowe zajmujące się standaryzacją lub podobne do samego ISO pozarządowe organizacje standaryzacyjne, po jednej z każdego kraju. ISO nie posiada żadnej "mocy prawnej" do egzekwowania swoich norm.
ITU - International Telecommunications Union Międzynarodowa Unia Telekomunikacyjna http://www.itu.int/ PN - Polskie Normy http://www.pkn.pl/ IEC - International Electrotechnical Commision Międzynarodowa Komisja Elektrotechniczna przygotowuje i publikuje standardy związane z elektrotechniką i elektroniką http://www.iec.ch/ IEEE - Institute of Electrical and Electronics Engineers Instytut Inżynierów Elektryków i Elektroników http://www.ieee.org/ ANSI - American National Standards Intitute - instytucja ustalająca normy http://www.ansi.org/ VESA - Video Electronics Standards Association http://www.vesa.org/
konkretnym urządzeniem wieloma urządzeniami 10111100 Urządzenie A 11110101 10111100 11110101 CPU Urządzenie B 10111100 10111100 Urządzenie C 11110101 Dlaczego stosowane są układy we/wy ? • różnice w szybkości działania • różnice w parametrach elektrycznych • różnice w formacie danych Układy we/wy mogą być przeznaczone do współpracy z :
Urządzenie Urządzenie sterowanie CPU CPU pamięć Urządzenie pamięć I/O sterowanie magistrala adresowa W zależności od sposobu komunikowania się z systemem układy we/wy dzielimy na : • układy współadresowalne z pamięcią operacyjną magistrala adresowa • układy izolowane
Bezwarunkową operacją we/wyj nazywamy taką operację, przy realizacji której procesor nie sprawdza gotowości układu we/wyj do tej wymiany. Zakłada się ciągłą gotowość urządzenia Operacje wejścia/wyjścia Operacjami we-wyj nazywamy całokształt działań potrzebnych do realizacji wymiany informacji pomiędzy procesorem i pamięcią z jednej strony a układem wej/wyj z drugiej. • Mogą być realizowane: • całkowicie przez procesor (operacje bezpośrednie) • PIO - Programmed Input/Output • inicjowane przez procesor a wykonywane przez inny układ (operacje pośrednie) • DMA - Direct Memory Access Operacje wejścia/wyjścia z bezpośrednim sterowaniem przez procesor • Bezwarunkowe operacje we/wy
I/O Urządzenie dane CPU • Operacje z testowaniem układu we/wy Procesor sprawdza sygnał gotowości układu wej/wyj do wymiany Bit gotowości układu Wadą tego typu operacji jest konieczność wykonywania przez procesor pętli przepytywania w celu stwierdzenia gotowości tego układu do wymiany informacji.
I/O Linia zgłoszenia przerwania Urządzenie CPU Aktualnie działający program Program obsługi urządzenia • Operacje we/wy z przerwaniem programu
sterownik przerwań CPU I/O I/O I/O Urządzenie Urządzenie Urządzenie pamięć Tablica wektorów przerwań 0 karta sieciowa 1 2 3 4 myszka Programy obsługi urządzenia 5 6 drukarka 7 . . klawiatura Obsługa wielu układów wejścia/wyjścia
Przewód sygnałowy nadajnik odbiornik Przewód powrotny (masa) nadajnik odbiornik Przewód powrotny (masa) Rodzaje linii transmisyjnych Linia niesymetryczna • Zakłócenia • skręcanie przewodów • ekranowanie
D+ + - D - Bajt Linia symetryczna Rodzaje transmisji
nadajnik odbiornik Transmisja szeregowa rejestr przesuwny multiplekser
nadajnik odbiornik 0 1 0 1 0 0 1 0 0 1 1 Bity właściwej informacji Bit startu Bit stopu Bit parzystości Układ we / wyj TD TD Urządzenie TD - Dane nadawane RD - Dane odbierane RD RD Czas trwania bitu Transmisja asynchroniczna
synchronizacja nadajnik odbiornik Ramka 2 Ramka 3 Ramka 4 Przed rozpoczęciem transmisji należy ustalić parametry komunikacji odbiornika i nadajnika: • Szybkość transmisji (liczba bitów na sekundę) • Długość słowa (liczba bitów w słowie 4-8) • Bit parzystości (parzyste, nieparzyste,brak) • Bity stopu (1-2) Transmisja synchroniczna Ramka 1 Bajty synchronizacji Bajty nagłówka Bajty informacji Bajty kontrolne i korekcyjne
Sygnał zegarowy Układ we / wyj Urządzenie Dane nadajnik 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 Transmisja pseudosynchroniczna Transmisja równoległa odbiornik
Dane Dane STB ACK Układ we / wyj Urządzenie STB ACK Transmisja z potwierdzeniem ( handshaking ) Układ we / wyj Urządzenie STB - Strobe (sygnał nadajnika) ACK - Acknowledge (zezwolenie na transmisję) sygnał odbiornika
Dane we/wyj urządzenie Adres Układ we / wyj Dane INT Urządzenie INTA RD STB WR ACK CPU Transmisja z potwierdzeniem ( handshaking )
Dane we/wyj urządzenie Adres Dane INT INTA RD WR CPU Transmisja z potwierdzeniem ( handshaking ) Układ we / wyj Urządzenie STB ACK
Dane we/wyj urządzenie Adres Dane INT INTA RD WR CPU Transmisja z potwierdzeniem ( handshaking ) Układ we / wyj Adres komórki Numer urządzenia Urządzenie STB ACK
Dane we/wyj urządzenie Adres Dane INT INTA RD WR CPU Transmisja z potwierdzeniem ( handshaking ) Układ we / wyj Adres komórki Urządzenie STB ACK
Przerwanie (ang. interrupt) lub żądanie przerwania (IRQ - Interrupt ReQuest) Przerwanie (ang. interrupt) lub żądanie przerwania (IRQ - Interrupt ReQuest) – sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (ang. interrupt handler).
Sprzętowe: 1. Zewnętrzne – sygnał przerwania pochodzi z zewnętrznego układu obsługującego przerwania sprzętowe; przerwania te służą do komunikacji z urządzeniami zewnętrznymi, np. z klawiaturą, napędami dysków itp. 2. Wewnętrzne, nazywane wyjątkami (ang. exceptions) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy:
dzielą się na trzy grupy: 1. faults (niepowodzenie) – sytuacje, w których aktualnie wykonywana instrukcja powoduje błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje następną, po tej która wywołała wyjątek, instrukcję; 2. traps (pułapki) – sytuacja, która nie jest błędem, jej wystąpienie ma na celu wykonanie określonego kodu; wykorzystywane przede wszystkim w debugerach; gdy procesor powraca do wykonywania przerwanego kodu tę samą instrukcję która wywołała wyjątek; 3. aborts – błędy, których nie można naprawić.
Programowe – z kodu programu wywoływana jest procedura obsługi przerwania; najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania (np. w DOS 21h, 2fh, Windows 2fh, Linux x86 przerwanie 80h) umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący, lub oprogramowaniem wbudowanym jak procedury BIOS lub firmware.