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

Podobne dokumenty
Układy wejścia/wyjścia

Architektura komputerów

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Mikroprocesor Operacje wejścia / wyjścia

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

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

Metody obsługi zdarzeń

Architektura komputera

LEKCJA TEMAT: Zasada działania komputera.

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

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

Organizacja typowego mikroprocesora

Urządzenia wejścia-wyjścia

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

Przerwania, polling, timery - wykład 9

Urządzenia zewnętrzne

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Budowa systemów komputerowych

URZĄDZENIA WEJŚCIA-WYJŚCIA

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

Struktura systemów komputerowych

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

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

Architektura systemu komputerowego

Architektura systemów komputerowych. dr Artur Bartoszewski

System mikroprocesorowy i peryferia. Dariusz Chaberski

ARCHITEKTURA PROCESORA,

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

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

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

Architektura komputerów

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy uruchomieniowe

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

Hardware mikrokontrolera X51

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

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

MIKROKONTROLERY I MIKROPROCESORY

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

MIKROPROCESORY architektura i programowanie

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

Standard transmisji równoległej LPT Centronics

Technologie informacyjne - wykład 2 -

Systemy wejścia-wyjścia. wyjścia

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Informatyka. informatyka i nauki komputerowe (computer science)

2. Architektura mikrokontrolerów PIC16F8x... 13

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

Dodatek D. Układ współpracy z klawiaturą i wyświetlaczem 8279

Przerwania w systemie mikroprocesorowym

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Sprzęt i architektura komputerów

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

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 komputerów Wykład 2

drklaus 1 Model funkcjonalny komputera struktura, funkcje, komputer dr inż. Rafał KLAUS STRUKTURA I DZIAŁANIE KOMPUTERA

Budowa i zasada działania komputera. dr Artur Bartoszewski

Temat 2. Logiczna budowa komputera.

Architektura komputerów

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

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

dr inż. Jarosław Forenc

Mikroprocesor Intel 8088 (8086)

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

Technologia informacyjna. Urządzenia techniki komputerowej

Podstawy Informatyki Układ przerwań

Architektura komputerów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Programowanie w językach asemblera i C

Systemy Operacyjne i Sieci Komputerowe

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

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

Szkolenia specjalistyczne

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura mikroprocesorów z rdzeniem ColdFire

1.2. Architektura rdzenia ARM Cortex-M3...16

dokument DOK wersja 1.0

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

WPROWADZENIE Mikrosterownik mikrokontrolery

Kurs Zaawansowany S7. Spis treści. Dzień 1

Transkrypt:

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 (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 Schemat blokowy systemu mikroprocesorowego 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

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 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 Schemat blokowy układu wejścia/wyjścia 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ą.

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 jest oddzielne adresowanie pamięci i portów wejścia/wyjścia co upraszcza dekodowanie adresów lecz wymaga stosowania innych rozkazów. 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). oraz out adres, AX lub out DX, AX dla danych 16-bitowych out adres, AL lub out DX, AL dla danych 8-bitowych in AX, adres lub in AX, DX dla danych 16-bitowych in AL, adres lub in AL, DX dla danych 8-bitowych Zadania Symulator udostępnia siedem urządzeń wirtualnych obsługiwanych z wykorzystaniem portów. 1. Zapoznać się z działaniem prostego urządzenia wejścia wyjścia. 2. Wykorzystać wyświetlacz LED w programie, który wczytuje z klawiatury dwie liczby dziesiętne oraz znak operacji, a wynik wyświetla na wyświetlaczu. 3. Zapoznać się z układem regulacji temperatury. Zaprogramować: a) możliwość ręcznego włączania/wyłączania palnika poleceniami z klawiatury b) możliwość automatycznego utrzymywania temperatury w zadanym przedziale 4. Zapoznać się z działaniem układu regulacji świateł na skrzyżowaniu. Zaprogramować możliwość przejścia z trybu dziennego na nocny (świecą migające światła żółte). 5. Zapoznać się z programem sterowania robotem. Opracować program sterujący ruchami robota według zadanego algorytmu (zadana trasa) oraz taki, który umożliwia ręczne sterowanie robotem za pomocą poleceń wydawanych z klawiatury.

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. Schemat blokowy systemu mikroprocesorowego ze sterownikiem przerwań Sekwencja działań podczas obsługi przerwania

Schemat blokowy sterownika przerwań 8259 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

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ą; przerwanie programowe wywoływane w efekcie wykonania rozkazu INT. 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. Przydział numerów przerwań określonym zdarzeniom zawarty jest w poniższej tabeli. Numer przerwania 0 1 2 3 4 Zdarzenie dzielenie przez 0 praca krokowa, przy ustawionej fladze T sygnał NMI, narastające zbocze wejście w pułapkę uaktywniane rozkazem INT 3 wykrycie nadmiaru, rozkaz INTO Wykaz przerwań wewnętrznych komputera PC AT 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 Zgłoszenie i skasowanie sygnału przerwania