Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Podobne dokumenty
Mikroprocesor Operacje wejścia / wyjścia

Organizacja typowego mikroprocesora

1.1 Definicja procesu

LEKCJA TEMAT: Zasada działania komputera.

Urządzenia wejścia-wyjścia

Metody obsługi zdarzeń

Budowa systemów komputerowych

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

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

Przerwania, polling, timery - wykład 9

4. Procesy pojęcia podstawowe

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

Działanie systemu operacyjnego

Struktura systemów komputerowych

Działanie systemu operacyjnego

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

Działanie systemu operacyjnego

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

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

ARCHITEKTURA PROCESORA,

Architektura systemu komputerowego

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

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.

WPROWADZENIE Mikrosterownik mikrokontrolery

2. Architektura mikrokontrolerów PIC16F8x... 13

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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

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

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

Podstawy Informatyki Układ przerwań

dr inż. Jarosław Forenc

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Stronicowanie w systemie pamięci wirtualnej

Architektura systemów komputerowych. dr Artur Bartoszewski

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

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

Urządzenia zewnętrzne

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Architektura komputerów

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

MIKROKONTROLERY I MIKROPROCESORY

MIKROPROCESORY architektura i programowanie

Zarządzanie pamięcią w systemie operacyjnym

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

Architektura komputerów

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

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

Układy wejścia/wyjścia

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

4. Procesy pojęcia podstawowe

Architektura komputera

UKŁADY MIKROPROGRAMOWALNE

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

Prezentacja systemu RTLinux

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Architektura komputerów

Przerwania w architekturze mikrokontrolera X51

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Wstęp Architektura... 13

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Architektura systemów informatycznych

Architektura i administracja systemów operacyjnych

Wybrane zagadnienia elektroniki współczesnej

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

Zarządzanie pamięcią operacyjną

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

KOMPUTEROWE SYSTEMY POMIAROWE

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

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

Systemy Operacyjne sprzęt

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

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

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Przykładowe pytania DSP 1

Komunikacja z wykorzystaniem Protokołu TCP oraz funkcji AG_SEND/AG_RECV

Architektura komputerów

Oprogramowanie S4H, a zmiany VAT.

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

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

Architektura mikroprocesorów TEO 2009/2010

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

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

Programowanie współbieżne Wykład 2. Iwona Kochańska

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

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

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

Rejestratory Sił, Naprężeń.

Architektura komputerów

Transkrypt:

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów o określonych adresach na magistrali. Istnieją przy tym dwie techniki dostępu do rejestrów urządzeń zewnętrznych. Pierwsza technika polega na korzystaniu ze specjalnych rozkazów odczytywania i zapisywania tych rejestrów. Przykładem są tu procesory Z80 i wszystkie procesory firmy Intel. Lista rozkazów tych procesorów zawiera specjalne rozkazy czytania i zapisywania danych pod wskazane w tych rozkazach adresy. OUT (83),A dla procesora Z80 pozwala zapisać w rejestrze o adresie 83h zawartość akumulatora, a rozkaz LD (83),A zapisuje zawartość akumulatora w komórce pamięci o adresie 83h. Pomimo, że adresy w obu rozkazach są identyczne to adresuje się zupełnie inne miejsca w systemie mikrokomputerowym. Pamięć operacyjna Obszar współpracy z urządzeniami 0100h FFFFh Druga technika (zwana I/O mapping) polega na zmniejszeniu przestrzeni adresowej pamięci procesora i wykorzystaniu odzyskanych w ten sposób adresów do identyfkacji rejestrów urządzeń zewnętrznych. Pamięć operacyjna 0100h Obszar współpracy z urządzeniami FFFFh Do odczytania i zapisania tych rejestrów wykorzystuje się rozkazy zmiany zawartości pamięci. dla procesora Z80 będą to rozkazy: LD (nn),a i LD A,(nn), a rozkazy OUT i IN nie będą działały. Dostęp do rejestrów można uzyskać korzystając z bezpośredniego i pośredniego trybu adresowania np. LD (83),A zapisuje zawartość akumulatora w rejestrze o adresie 83h. Przy korzystaniu z tej techniki identyfikacji rejestrów należy pamiętać o sposobie wydzielenia obszaru adresów rejestrów. Iok_B B-1

Pierwsza technika adresowania rejestrów urządzeń zewnętrznych powoduje konieczność dołączania do zbioru instrukcji języków programowania poleceń umożliwiających dostęp do tych rejestrów. w języku C są to funkcje: out (adres,dana), char in(adres); Druga technika nie wymaga tego typu uzupełnienia i zawartości rejestrów traktuje się jako zmienne znakowe lub całkowite absolutne tzn. przypisane określonym adresom w pamięci. Wśród zbioru rejestrów każdego urządzenia jeden z rejestrów jest wyróżniony i jest nazywany rejestrem stanu. Jego zawartość opisuje stan urządzenia i zmiany jego stanu. Rejestr ten określa również tryby pracy urządzenia. Procesor może otrzymywać informacje o zmianie stanu urządzeń zewnętrznych na dwa sposoby: przeglądając rejestry stanu interesujących go urządzeń, bądź oczekując na informacje o zmianie stanu wybranych urządzeń przekazywaną procesorowi za pomocą tzw. przerwania. B.2. Przeglądanie rejestrów (pooling) Przeglądanie rejestrów polega na cyklicznym pzeglądaniu rejestru stanu wybranych urządzeń wykrywaniu na podstawie zawartości tego rejestru zmian stanu urządzenia. Technika jest przydatna tylko w przypadku niewielkiej liczby urządzeń o w miarę równomiernym czasie obsługi bądź w systemach synchronicznych o ustalonej kolejności i czasie obsługi. B.3. Przerwania (interrupt) Technika najczęściej wykorzystywana polegająca na generowaniu przez urządzenie zewnętrzne sygnału informującego o zmienie stanu tego urządzenia. Z sygnałem tym musi być związany identyfikator urządzenia zgłaszającego zmianę stanu tak by procesor wiedział gdzie ta miana nastąpiła. Bywa to informacja na szynie danych procesora (8080 lub Z80 tryb 0) lub szynie adresowej (Z80 tryb2 i 8088). W tym drugim przypadku mówimy o przerwaniach wektorowych, gdyż umieszczona na szynie adresowej informacja pozwala przejść w sposób automatyczny do właściwej dla danego urządzenia procedury obsługi. Adresy tych procedur zawiera tzw. tablica wektorów przerwań. Zawartość tej tablicy jest ustalana przy inicjowaniu systemu. Czasami zapisana jest ona w ROMie. Strukturę tablicy przerwań i sposób jej wykorzystania ilustruje rysunek. Tablica wektorów przerwań Programy obsługi przerwań Iok_B B-2

Obsługa przerwania wektorowego składa się z następujących elementów: 1. S zapisanie na stosie dotychczasowego licznika rozkazów, 2. S zapisanie na stosie zawartości rejestru stanu procesora, 3. P zapisanie na stosie zawartości wykorzystywanych w procedurze obługi rejestrów procesora, 4. P identyfikacja przyczyny przerwania, 5. P reakcja na przyczynę przerwania, 6. P odczytanie ze stosu zawartości wykorzystywanych rejestrów, 7. S odczytanie ze stosu rejestru stanu procesora, 8. S powrót do dotychczas realizowanego programu. Jak widać procedura taka w ogólności składa się z trzech części: zabezpieczenie kontynuacji dotychczas realizowanego zadania, reakcji na przyczynę przerwania, umożliwienie kontynuacji zadania przerwanego. Sekwencja przerwań pochodzących z dysku, drukarki i modemu. E P M P P D D D D D E E E E E E E D P M P D E E - program numeryczny, D - potwierdzenie odczytania sektora P - potwierdzenie zakończenia drukowania strony, M - wywołanie modemu Z przerwaniami można powiązać priorytet przerwania. I tu istnieje kilka możliwości. Dwie najczęściej stosowane to: łączenie generatorów przerwań w łańcuchy i przypisanie procesorowi dodatkowego atrybutu (cechy) określającego jego priorytet w stosunku do urządzeń zewnętrznych (informacja o priorytecie jest zapisana w słowie stanu procesora). Rysunek ilustruje pierwsze rozwiązanie: CPU.. U1 U2 U3 Un Najwyższy priorytet ma urządzenie U1 i w czasie, gdy procesor zajęty jest obsługą tego urządzenia to następne w łańcuchu urządzenia nie mogą generować przerwań. Kolejny rysunek ilustruje drugie rozwiązanie: CPU U1p1 U2p2 U3p3.. Unpn Iok_B B-3

Jeśli procesor posiada priorytet p2 to jego pracę może przerwać urządzenie p2 i p1. Przerwania urządzeń o niższych priorytetach będą zablokowane i będą oczekiwały na obniżenie priorytetu procesora. Każdy procesor ma ponadto możliwość chwilowego zablokowania wszelkich przerwań. Mówimy wówczas o maskowaniu przerwań. Przy pomocy typowego przerwania można przekazać do urządzenia zewnętrznego lub odczytać z tego urządzenia pojedyńcze bajty angażując w każdą taką operację procesor. W przypadku przekazywania dużej ilości danych z szybkich urządzeń zewnętrznych stosuje się technikę bezpośredniego dostępu urządzenia do pamięci B.4. Odmierzanie czasu W zastosowaniach telekomunikacyjnych jednym podstawowych, obok komunikacji, mechanizmów związanych z procesami jest kontrola czasu trwania stanu zawieszenia procesu. Najprostszym, choć nie zawsze dostatecznie efektywnym rozwiązaniem jest utworzenie procesu zegara i zlecanie temu procesowi zadania pomiaru czasu oddzielnie dla każdego procesu, który taką operację zlecił. Proces zegara za pomocą typowego komunikatu poinformuje proces zlecający pomiar czasu o upłynięciu zadanego przedziału czasu. Ilustruje to rozwiązanie rysunek. Sprzęt Oprogramowanie Proces zegara Rys. Pomiar czasu przez proces zegara Sprzęt Oprogramowanie Rys. Pomiar czasu przez zegary sprzętowe Iok_B B-4

Iok_B B-5