Układy wejścia/wyjścia

Podobne dokumenty
Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Architektura systemów komputerowych. dr Artur Bartoszewski

Mikroprocesor Operacje wejścia / wyjścia

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputerów

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura komputera

Architektura komputerów

URZĄDZENIA WEJŚCIA-WYJŚCIA

Architektura komputerów

Działanie systemu operacyjnego

Urządzenia zewnętrzne

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Architektura systemów komputerowych. dr Artur Bartoszewski

Działanie systemu operacyjnego

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Urządzenia wejścia-wyjścia

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Działanie systemu operacyjnego

Organizacja typowego mikroprocesora

Budowa systemów komputerowych

Technologie informacyjne - wykład 2 -

Błąd pamięci karty graficznej lub Uszkodzona lub źle podpięta karta graficzna

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Działanie systemu operacyjnego

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Na płycie głównej znajduje się szereg różnych typów złączy opracowanych według określonego standardu gwarantującego że wszystkie urządzenia

Interfejs urządzeń peryferyjnych

Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo

Architektura systemu komputerowego

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Metody obsługi zdarzeń

System mikroprocesorowy i peryferia. Dariusz Chaberski

Struktura systemów komputerowych

Podsumowanie. semestr 1 klasa 2

Temat 2. Logiczna budowa komputera.

ARCHITEKTURA PROCESORA,

Magistrala i Gniazda rozszerzeń budowa i zasada dzialania

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

WPROWADZENIE Mikrosterownik mikrokontrolery

Standard transmisji równoległej LPT Centronics

Przerwania, polling, timery - wykład 9

dr inż. Jarosław Forenc

Magistrala systemowa (System Bus)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Technika Mikroprocesorowa

Systemy Operacyjne i Sieci Komputerowe

Wykład Mikroprocesory i kontrolery

Technologia informacyjna. Urządzenia techniki komputerowej

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Architektura systemów komputerowych. dr Artur Bartoszewski

Hardware mikrokontrolera X51

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Budowa Mikrokomputera

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

Interfejsy systemów pomiarowych

MIKROKONTROLERY I MIKROPROCESORY

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

Budowa i sposób działania płyt głównych

KOMPUTER. Zestawy komputerowe podstawowe wiadomości

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Logiczny model komputera i działanie procesora. Część 1.

Architektura systemów komputerowych. dr Artur Bartoszewski

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

2. Architektura mikrokontrolerów PIC16F8x... 13

dokument DOK wersja 1.0

Wykład 4. Interfejsy USB, FireWire

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Architektura systemów komputerowych. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura komputerów

Sprawdzian test egzaminacyjny 2 GRUPA I

SZCZEGÓŁOWA SPECYFIKACJA TECHNICZNA DO FORMULARZA OFERTOWEGO

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura Systemów Komputerowych

Komunikacja z urzadzeniami zewnętrznymi

PL B1 (19) PL (11) (12) OPIS PATENTOWY (13) B1. (51) Int.Cl.7: G 06F 3 /1 2 G06K 15/02 G06F 17/60 G07G 1/12

Transkrypt:

Układy wejścia/wyjścia Schemat blokowy systemu mikroprocesorowego Mikroprocesor połączony jest z pamięcią oraz układami wejścia/wyjścia za pomocą magistrali systemowej zespołu linii przenoszącymi sygnały między połączonymi blokami w systemach mikroprocesorowych. W każdej magistrali można wyróżnić trzy podstawowe szyny: 1. sterująca (kontrolna) określa rodzaj operacji jaki ma być wykonany, np. zapis czy odczyt danych z/do pamięci lub portu wejścia/wyjścia; 2. adresowa określa np. z jakiej komórki pamięci sygnał ma zostać odczytany lub do jakiej komórki pamięci sygnał ma zostać zapisany; 3. danych tą szyną przesyłane są właściwe dane. Układy we/wy (I/O) są układami pośredniczącymi w wymianie informacji pomiędzy procesorem a zewnętrznymi układami, zwanymi urządzeniami peryferyjnymi. Interfejs (ang. interface - sprzęg) jest to zespół ustalonych reguł oraz środków technicznych łączenia komputera z urządzeniami zewnętrznymi. Na interfejs składają się: wymagania logiczne (liczba sygnałów i ich funkcje, sposób kodowania, sposób synchronizacji) wymagania elektryczne (kształt, poziom, czas przełączania sygnałów) wymagania konstrukcyjne (typ złącz, gniazd, styków, rodzaje i długości przewodów).

Ze względu na typ prowadzonej transmisji magistrale/interfejsy można podzielić na: 1. Równoległe sygnały przesyłane są równolegle, jednocześnie wieloma kanałami (np. przewodami, ścieżkami); do magistral tego typu należą m.in. PCI, AGP, FSB. 2. Szeregowe sygnały są przesyłane szeregowo, jednym lub wieloma pojedynczymi kanałami; do nich należą: USB, RS-232, PCI Express. Ze względu na sposób transmisji można wyróżnić magistrale/interfejsy: jednokierunkowe (ang. simplex) dane przepływają tylko w jednym kierunku; dwukierunkowe (ang. duplex) dane mogą przepływać w obu kierunkach; możliwe są tu dwa przypadki: dane mogą przepływać w obu kierunkach jednocześnie (ang. full duplex); dane w określonym momencie mogą przepływać tylko w jednym kierunku (ang. half duplex). Magistrala jest elementem, dzięki któremu system komputerowy staje się jedną całością. Szerokość magistrali, a dokładniej liczba równoległych ścieżek szyny danych, określa ile bitów danych może ona przesłać za jednym razem w jednym takcie zegara.

Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej spotykanych urządzeń wejścia należą klawiatura, mysz czy skaner, zaś urządzenia wyjścia to np. monitor albo drukarka. Moduł sterujący urządzenia, moduł obsługi urządzenia, program obsługi urządzenia, sterownik programowy (angielskie device driver), oprogramowanie systemowe niskiego poziomu, łączące urządzenie wejścia-wyjścia z resztą systemu operacyjnego, przyjmujące na wejściu zależne od sprzętu, niskopoziomowe rozkazy używane przez sterownik sprzętowy. Moduł obsługi urządzenia wpisuje określony układ bitów do specjalnych komórek pamięci (sprzętowego) sterownika wejścia-wyjścia, instruując go, w którym miejscu urządzenia należy podjąć działania i jakie. Moduły sterujące urządzenia współpracujące z popularnymi systemami operacyjnymi są dostarczane wraz z poszczególnymi rodzajami i modelami urządzeń zewnętrznych (np. monitorów lub drukarek), jak również są dostarczane (dla typowych urządzeń) z oprogramowaniem systemów operacyjnych. Brak odpowiedniego modułu sterującego urządzeniami uniemożliwia korzystanie z urządzenia w systemie. Funkcje modułu we/wy Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy: Sterowanie i taktowanie (zegar) Komunikacja z procesorem Komunikacja z urządzeniem Buforowanie danych Wykrywanie błędów Rodzaje układów wejścia wyjścia Możemy wyróżnić proste wejścia/wyjścia (bramka, przerzutnik, rejestr), programowane uniwersalne układy wejścia/wyjścia (np. RS232, port równoległy 8255) specjalizowane układy wejścia/wyjścia (np. sterownik monitora, dysku)

Sposoby realizacji obsługi układów we/wy Metoda przeglądania - dane są wymieniane miedzy procesorem a modułem we/wy, procesor czeka na zakończenie operacji we/wy, sprawdzana jest gotowość/zajętość urządzenia. Sterowane przerwaniami - procesor wydaje operacje we/wy i wykonuje dalsze rozkazy do momentu zakończenia operacji we/wy (przerwanie we/wy sygnalizuje wykonanie zadania/żądanie obsługi) Bezpośredni dostęp do pamięci (ang. direct memory access - DMA) - moduł we/wy, za zgodą procesora, przejmuje sterowanie magistralą i wymienia dane bezpośrednio z pamięcią. Interfejs z magistralą Interfejs z urządzeniem zewnętrznym Linie danych Linie adresowe Linie sterowania Rejestry danych Rejestry stanu/sterowania Układy logiczne we/wy Układy logiczne interfejsu z urządzeniem zewnętrznym Układy logiczne interfejsu z urządzeniem zewnętrznym Dane Stan Sterowanie Dane Stan Sterowanie Schemat blokowy układu wejścia/wyjścia Komunikacja pomiędzy procesorem a układem wejścia/wyjścia odbywa się za pośrednictwem portów. Port jest to rejestr posiadający swój adres w przestrzeni adresowej procesora i do którego procesor może wysyłać dane/rozkazy oraz z którego może odczytywać dane/statusy. Porty mogą posiadać wspólną przestrzeń adresową z pamięcią operacyjną i wtedy wszystkie rozkazy dotyczące pamięci oraz tryby adresowania mogą być stosowane dla portów. Innym rozwiązaniem, zastosowanym w mikroprocesorze 8086, jest oddzielne adresowanie pamięci i portów wejścia/wyjścia co upraszcza dekodowanie adresów lecz wymaga stosowania innych rozkazów.

Rozdzielona przestrzeń adresowa pamięci i portów we/wy W mikroprocesorze 8086 do obsługi portów korzysta się z rozkazów out oraz in. Stosuje się przy tym adresowanie bezpośrednie (0-255) lub pośrednie z wykorzystaniem rejestru DX (adresy 16-bitowe). out adres, AX lub out DX, AX dla danych 16-bitowych out adres, AL lub out DX, AL dla danych 8-bitowych oraz in AX, adres lub in AX, DX dla danych 16-bitowych in AL, adres lub in AL, DX dla danych 8-bitowych Schemat blokowy układu 8255

Obsługa urządzeń zewnętrznych z wykorzystaniem przerwań. Przerwanie (ang. interrupt) oznacza przekazanie sterowania do instrukcji innej niż kolejna określona programowo, z zachowaniem możliwości powrotu do przerwanego programu. Przerwanie jest konsekwencją zdarzenia, o którym procesor dowiaduje się otrzymując tzw. sygnał przerwania. Wprowadzone są trzy kategorie przerwań w zależności od przyczyny ich wywołania: przerwanie zewnętrzne, gdy odebrany zostanie aktywny sygnał na wejściu NMI lub INTR; przerwanie INTR zostanie odebrane, jeżeli bit IF w rejestrze wskaźników F ma wartość 1; przerwanie wewnętrzne (ang. instruction exception) występuje wówczas, gdy procesor wykryje błąd w wykonaniu rozkazu (np. próba dzielenia przez zero) lub inną sytuację wyjątkową (np. błąd ochrony pamięci); przerwanie programowe wywoływane w efekcie wykonania rozkazu INT. Schemat blokowy systemu mikroprocesorowego ze sterownikiem przerwań Urządzeń, które mogą zgłosić przerwanie jest wiele. Ponieważ procesor ma tylko jedno wejście zgłoszenia przerwania musi istnieć układ pośredniczący sterownik przerwań. Zadania sterownika przerwań to: 1. Pośredniczenie w przyjmowaniu zgłoszeń przerwań. 2. Przyjmowanie zgłoszeń od wielu układów we/wy jednocześnie. 3. Wybór przerwania które zostanie obsłużone. 4. Podanie do procesora adresu urządzenia, z którym zostanie nawiązana komunikacja. 5. Wygenerowanie sygnału zgłoszenia przerwania dla procesora.

Sekwencja działań podczas obsługi przerwania Schemat blokowy sterownika przerwań 8259

Układ przerwań mikrokomputera IBM PC AT Przerwanie IRQ Opis 08h IRQ0 Czasomierz systemowy 09h IRQ1 Kontroler klawiatury 0Ah IRQ2 Przyłączona do linii IRQ od 8 do 15 (kaskada) 0Bh IRQ3 Port COM2: 2F8h:2FFh 0Ch IRQ4 Port COM1: 3F8h-3FFh 0Dh IRQ5 Port LPT2: 378h lub 278h (wolna) 0Eh IRQ6 Kontroler dyskietek 0Fh IRQ7 Port LPT1: 3BCh lub 378h 010h IRQ8 Zegar czasu rzeczywistego 011h IRQ9 Zastępuje linię IRQ 2 (wolna) 012h IRQ10 Nieprzypisana 013h IRQ11 Nieprzypisana 014h IRQ12 Port myszy komputera PS/2 015h IRQ13 NPU (jednostka przetwarzania numerycznego) 016h IRQ14 Pierwszy kontroler IDE - Dysk twardy 017h IRQ15 Drugi kontroler IDE - Karta drugiego dysku twardego Wykaz przerwań sprzętowych komputera PC AT

Przerwania wewnętrzne (wyjątki) procesora Intel 80386 W procesorze 8086 oraz trybie rzeczywistym innych procesorów w pamięci operacyjnej w zakresie adresów od 0 do 400H znajduje się tablica wektorów przerwań. Procesor pozwala na rozróżnienie 256 przerwań. Każdemu przerwaniu przypisane jest słowo w tablicy wektorów przerwań. Słowo to wskazuje na początek programu obsługi danego przerwania. Zawiera on nową wartość licznika rozkazów IP i rejestru segmentu programu CS. W trybie adresów wirtualnych wektor przerwań wskazuje na deskryptor bramy, zawierający dodatkowe informacje sterujące. Indeksem tablicy wektorów przerwań jest numer przerwania. Przerwanie NMI oraz przerwania wewnętrzne mają ustalone numery, narzucane przez procesor. Rozkaz INT bezpośrednio określa ten numer, umożliwiając wykonanie dowolnego z 256 programów obsługi przerwań. Sygnał INTR powoduje wykonanie cyklu odczytu numeru przerwania. Przerwania pochodzące z różnych źródeł są asynchroniczne względem siebie i mogą być zgłoszone w tej samej chwili. O kolejności ich obsługi decyduje przydzielony im priorytet (im niższy numer przerwania tym większy priorytet). Przerwania wewnętrzne nie mogą być maskowane i podczas ich obsługi nie jest generowany cykl potwierdzenia INTA.

Sekwencja przetwarzania przerwania w procesorze 8086

Instrukcje procesora 8086 związane z przerwaniami Procedury obsługi przerwań (POP) pochodzą z 4 hierarchicznych źródeł 1. BIOS płyty głównej tam znajdują się najprostsze wersje POP układów niezbędnych do startu komputera (magistrale systemowe, pamięci masowe, klawiatura, oraz ostatnio dodane USB) 2. BIOS-y urządzeń w biosach niektórych urządzeń (np. karty graficznej) znajdują się procedury lepiej dostosowane do jej specyfiki. Procedury te wczytywane są podczas inicjalizacji urządzeń na magistralach (procedura BIOSU POST) 3. System operacyjny dostarcza w pełni funkcjonalne (teoretycznie) procedury obsługi wszystkich standardowych urządzeń. 4. Sterowniki dostarczane przez producentów mogą zawierać POP najlepiej dopasowane do konkretnych urządzeń.

Transmisja w trybie DMA Transmisja we-wy sterowana bezpośrednio przez procesor Operacje wejścia-wyjścia z bezpośrednim sterowaniem przez procesor (PIO) Definicja: Operacje wejścia-wyjścia bezpośrednio sterowane przez procesor to takie, w trakcie których wszystkie dane przechodzą przez rejestry procesora. Wymagają one dużego zaangażowania procesora w procesie transferu danych, dlatego jest używana coraz rzadziej, zwłaszcza, gdy wymagane są duże prędkości transmisji.

Operacje wejścia-wyjścia z pośrednim sterowaniem przez procesor (DMA) Przy bezpośrednim dostępie do pamięci, zwanym operacją DMA, transmisja informacji przebiega pomiędzy układem wejścia-wyjścia a wydzielonym obszarem buforowym w pamięci. Przebieg operacji nadzoruje sterownik DMA, poprzez generację wszystkich sygnałów sterujących i adresów potrzebnych do realizacji wymiany. W tym celu sterownik DMA przejmuje na czas wymiany informacji kontrolę nad magistralami, stając się zarządcą magistral (busmaster) Definicja: Bezpośrednim dostępem do pamięci nazywamy operację wejścia-wyjścia jedynie inicjowaną przez mikroprocesor, który przekazuje sterowanie jej realizacją specjalizowanemu układowi zwanemu sterownikiem DMA. W realizacji operacji DMA możemy wyróżnić trzy podstawowe etapy: 1. inicjacja operacji DMA 2. realizacja operacji DMA 3. zakończenie operacji. 1. Żądanie przejęcia kontroli nad magistralami jest zgłaszane do procesora za pomocą sygnału sterującego HOLD. 2. W odpowiedzi na ten sygnał procesor przechodzi w tak zwany stan zawieszenia, polegający na elektrycznym odseparowaniu się od magistral (stan wysokiej impedancji). 3. Przejście w stan zawieszenia jest sygnalizowane przez mikroprocesor stanem aktywnym na wyjściu HLDA (hold acknowledge). Przejście to nie wymaga żadnych zmian stanu rejestrów procesora. 4. Po zakończeniu transmisji (pojedynczego słowa lub bloku, w zależności od trybu realizacji operacji) sterownik DMA zwraca mikroprocesorowi kontrolę nad magistralami.

Schemat blokowy sterownika 8257 Struktura wewnętrzna układu sterownika DMA