Układy wejścia/wyjścia

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

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.

Recommended