Post on 01-Jan-2016
description
Układy wejścia/wyjścia
PamięćProcesor
Magistrala
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
Organizacje międzynarodoweOrganizacje krajowe
Zrzeszenia producentówProducenci
Organizacje normalizujące sprzęt komputerowy
ISO - International Organization for Standarization (od gr. isos - równy) Międzynarodowa Organizacja Normalizacyjnahttp://www.iso.org/
ISO jest pozarządową organizacją non-profit. Jej członkami mogą być wyłącznieagencje rządowe zajmujące się standaryzacją lub podobne do samego ISO pozarządoweorganizacje standaryzacyjne, po jednej z każdego kraju.
ISO nie posiada żadnej "mocy prawnej" do egzekwowania swoich norm.
ANSI - American National Standards Intitute - instytucja ustalająca normy http://www.ansi.org/
IEC - International Electrotechnical CommisionMiędzynarodowa Komisja Elektrotechniczna przygotowujei publikuje standardy związane z elektrotechniką i elektronikąhttp://www.iec.ch/
VESA - Video Electronics Standards Associationhttp://www.vesa.org/
ITU - International Telecommunications UnionMiędzynarodowa Unia Telekomunikacyjnahttp://www.itu.int/
IEEE - Institute of Electrical and Electronics EngineersInstytut Inżynierów Elektryków i Elektronikówhttp://www.ieee.org/
PN - Polskie Normyhttp://www.pkn.pl/
• różnice w szybkości działania• różnice w parametrach elektrycznych• różnice w formacie danych
Dlaczego stosowane są układy we/wy ?
Układy we/wy mogą być przeznaczone do współpracy z :
konkretnym urządzeniem wieloma urządzeniami
CPU
1011110011110101
1011110011110101
1011110011110101
10111100 Urządzenie BUrządzenie B
Urządzenie AUrządzenie A
Urządzenie CUrządzenie C
sterowanie
pamięć
W zależności od sposobu komunikowania się z systemem układy we/wy dzielimy na :
• układy współadresowalne z pamięcią operacyjną UrządzenieUrządzenie UrządzenieUrządzenie
magistrala adresowamagistrala adresowaCPU
sterowanie
• układy izolowaneUrządzenieUrządzenie
CPUmagistrala adresowamagistrala adresowa
pamięć I/O
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
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
I/O
Bit gotowości układuCPU
danedane
UrządzenieUrządzenie
Wadą tego typu operacji jest konieczność wykonywania przez procesor pętli przepytywaniaw celu stwierdzenia gotowości tego układu do wymiany informacji.
• Operacje z testowaniem układu we/wy
Procesor sprawdza sygnał gotowości układu wej/wyj do wymiany
• Operacje we/wy z przerwaniem programu
CPU I/OI/O UrządzenieUrządzenie
Aktualnie działający program
Program obsługi urządzenia
Linia zgłoszenia przerwania
pamięć
CPU
I/OI/O UrządzenieUrządzenie
I/OI/O UrządzenieUrządzenie
I/OI/O UrządzenieUrządzenie
sterownikprzerwań
sterownikprzerwań
Obsługa wielu układów wejścia/wyjścia
klawiatura
myszka
kartasieciowa
drukarka
Programy obsługiurządzenia
Tablica wektorów przerwań
.
.
1
2
3
4
5
6
7
0
Rodzaje linii transmisyjnych
Linia niesymetrycznanadajniknadajnik odbiornikodbiornik
Przewód sygnałowy
Przewód powrotny(masa)
nadajniknadajnik odbiornikodbiornik
Przewód powrotny(masa)
Zakłócenia• skręcanie przewodów• ekranowanie
Linia symetryczna
D+D -
+-
Rodzaje transmisji Bajt
Transmisja szeregowa
odbiornik
rejestr przesuwnymultiplekser
nadajnik
Układwe / wyj
Urządzenie
TD
RD
TD
RDTD - Dane nadawaneRD - Dane odbierane
Czas trwania bituTransmisja asynchroniczna
nadajniknadajnik odbiornikodbiornik
00
Bit startu
11 00 11 00 00 11 00 00
Bity właściwej informacji
11
Bit stopu
11
Bit parzystości
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
nadajniknadajnik odbiornikodbiornik
synchronizacjasynchronizacja
Ramka 1Ramka 1 Ramka 2Ramka 2 Ramka 3Ramka 3 Ramka 4Ramka 4
Bajty informacjiBajty
nagłówka
Bajtykontrolne ikorekcyjne
Bajtysynchronizacji
Transmisja pseudosynchroniczna
Sygnał zegarowy
Dane
Transmisja równoległa
Układwe / wyj
Urządzenie
odbiorniknadajnik
01110101
0
1
1
1
0
1
0
1
Układwe / wyjUkład
we / wyj UrządzenieUrządzenie
ACK
STB
Dane
STB - Strobe (sygnał nadajnika)ACK - Acknowledge (zezwolenie na transmisję) sygnał odbiornika
Układwe / wyjUkład
we / wyj UrządzenieUrządzenie
ACK
STB
Dane
Transmisja z potwierdzeniem ( handshaking )
Układwe / wyjUkład
we / wyj
UrządzenieUrządzenie
ACK
STB
Dane
Dane
Adres
INT
INTA
RD
WR
CPU we/wyjwe/wyj urządzenieurządzenie
Transmisja z potwierdzeniem ( handshaking )
Układwe / wyjUkład
we / wyj
UrządzenieUrządzenie
ACK
STB
Dane
Dane
Adres
INT
INTA
RD
WR
CPU we/wyjwe/wyj urządzenieurządzenie
Transmisja z potwierdzeniem ( handshaking )
Układwe / wyjUkład
we / wyj
UrządzenieUrządzenie
ACK
STB
Dane
Dane
Adres
INT
INTA
RD
WR
Numer urządzenia
Adres komórki
CPU we/wyjwe/wyj urządzenieurządzenie
Transmisja z potwierdzeniem ( handshaking )
Układwe / wyjUkład
we / wyj
UrządzenieUrządzenie
ACK
STB
Dane
Dane
Adres
INT
INTA
RD
WR
Adres komórki
CPU we/wyjwe/wyj urządzenieurządzenie
Transmisja z potwierdzeniem ( handshaking )
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).
Przerwanie (ang. interrupt) lub żądanie przerwania (IRQ - Interrupt ReQuest)
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.