Architektura Komp2 id 67910 Nieznany (2)

background image

J.

Ułasiewicz Komputerowe systemy sterowania 1


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


1 Architektura PC

1.1. Ogólna struktura systemu jednoprocesorowego


Ju

ż systemy jednoprocesorowe mogą być środowiskiem, w którym

wykonywane jest wiele programów wspó

łbieżnych.


Najwa

żniejsze mechanizmy

segmentacja

stronicowanie pami

ęci

poziomy ochrony procesora.

system przerwa

ń i wyjątków

system wej

ścia wyjścia


Omówione na przyk

ładzie komputera PC i architektury IA-32 - (80386,

80486 i Pentium).

Aby program móg

ł się wykonywać i komunikować z otoczeniem

niezb

ędny jest

procesor

pami

ęć

system wej

ścia wyjścia.

Procesor

Pami

ęć

RAM

system

we / wy

magistrala

Rys. 1-1 Struktura systemu jednoprocesorowego

Procesor wykonuj

ąc zawarty w pamięci operacyjnej program i

przekszta

łca zawarte tam dane.


Procesory rodziny IA-32 posiadaj

ą trzy tryby pracy:

tryb rzeczywisty,

tryb chroniony

tryb zarz

ądzania systemem.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 2


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


W

łaściwym trybem normalnej pracy systemu jest tryb chroniony.

EAX

AH

AL

BH

BL

CH

CL

DH

DL

EBX

ECX

EDX

ESI

EDI

EPB

ESP

AX - akumulator
BX - rejestr danych
CX - rejestr pętli

DX - rejestr arytmetyczny

SI - wskaźnik żródla
DI - wskaźnik przeznaczenia
BP - wskaźnik bazy

SP - wskaźnik stosu

0

7

15

31

CS - segment kodu
DS - segment danych
SS - segment stosu

ES - segment dodatkowy
FS - segment dodatkowy

GS - segment dodatkowy

EIP

EFlags

IP - licznik rozkazów

PSW - flagi

selektory
segmentów

Rys. 1-2 Rejestry procesora w architekturze IA-32 dla trybu chronionego

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 3


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


1.2. Ochrona pamięci

Pami

ęć operacyjna - jednowymiarowa tablica bajtów.

Maksymalny wymiar pami

ęci dla procesorów 32 bitowych - 4 GB.


Procesory mog

ą wykonywać wiele procesów w trybie podziału czasu

procesora.

B

łąd w programie - proces dokonuje modyfikacji danych należących do

innego procesu lub systemu operacyjnego.

Mechanizmem stosowanym do wzajemnego odizolowania procesów jest
mechanizm segmentacji. Umo

żliwia on również relokację.


W architekturze IA-32 dost

ępna jest tak segmentacja jak i stronicowanie

- mechanizm stronicowania mo

że być wyłączony.


selektor

przesunięcie

pamięc

RAM

mechanizm

segmentacji

mechanizm

stronicowania

Tablica

stron

adres

liniowy

numer

katalogu

przesunięcie

adres

fizyczny

adres

logiczny

numer
strony

Katalog

stron

deskryptor

tabl. desktyptorów

segment

strona

Rys. 1-3 Mechanizm zarz

ądzania pamięcią w procesorach IA-32


Segmentacja - mechanizmem sprz

ętowym polegającym na podziale

pami

ęci operacyjnej na ciągłe bloki nazywane segmentami.



W procesorach IA-32 pami

ęć logiczna jest dwuwymiarowa. Adres składa

si

ę z

selektora (ang.

selektor) - określa segment pamięci

przesuni

ęcia (ang. offset) - wyznacza adres wewnątrz segmentu.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 4


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Ka

żdy segment charakteryzuje się takimi parametrami

pocz

ątek bloku,

wielko

ść

atrybuty


Parametry segmentu przechowywane s

ą w 8 bajtowym rekordzie

nazywanym deskryptorem segmentu.

adres bazowy

31..24

G X 0

A
V

limit

19.16

B adres bazowy segmentu 15..0

P

DP

L

1

typ

A

B adres

bazowy 23..16

L limit segmentu 15..0


B

- adres bazowy segmentu

L

- d

ługość segmentu

G

- sposób interpretacji limitu segmentu (0 – bajty, 1 – strony 4KB),

DPL - poziom uprzywilejowania segmentu,
P

- bit obecno

ści segmentu (używany w pamięci wirtualnej),

AV - nie u

żywany,

A

- mówi czy deskryptor jest u

żywany.


Deskryptory s

ą przechowywane w dwóch rodzajach tablic:

globalnej tablicy deskryptorów GDT (ang.

Global Descriptor Table)

lokalnej tablicy deskryptorów LDT (ang.

Local Descriptor Table).


W systemie istnieje:

jedna tablica GDT - opisuje segmenty widoczne dla wszystkich

procesów

wiele lokalnych tablic deskryptorów LDT (ang.

Local Descriptor

Table), opisujących prywatne segmenty procesów


PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 5


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


B - baza

L -dlugość

A

-atrybuty

deskryptor segmentu

SE -selektor

D - przesunięcie

+

pamięc RAM

segment S

czy D > L

EXC

wyjątek

komparator

...

tablica

desktyptorów

segmentów

adres liniowy

AL = B + D

L - dlugość

segmentu

P - początek

segmentu

adres logiczny

Rys. 1-4 Uproszczony schemat mechanizmu segmentacji


Adres logiczny sk

łada się z

selektora segmentu SE

przesuni

ęcia D.


Funkcje selektora pe

łni jeden z rejestrów segmentowych

dla kodu selektorem jest rejestr DS.,
dla danych rejestr DS.,
dla stosu SS.

indeks
deskryptora

TI

RPL

0

RPL - requested privilege level

TI - table indicator

2

3

4

15

Rys. 1-5 Zawarto

ść rejestru selektora segmentu


Selektor zawiera:

indeks deskryptora - po

łożenie segmentu znajdującego się w tablicy

deskryptorów,

TI

- okre

śla o którą tablicę chodzi (0 – GDT, 1 - LDT)

RPL

-

żądany poziom uprzywilejowania.



Adres liniowy - suma pobieranego z pola adresowego rozkazu
przesuni

ęcia D i adresu początku segmentu B pobieranego z

deskryptora.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 6


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Komparator sprawdza czy przesuni

ęcie D nie wykracza poza długość

segmentu L zapisanego w deskryptorze. Gdy tak si

ę zdarzy generowany

jest wyj

ątek EXC który powoduje wywołanie systemu operacyjnego.

System operacyjny podejmuje decyzj

ę, co zrobić z naruszającym

przydzielony segment procesem.

Adres liniowy mo

że być poddany przetwarzaniu przez mechanizm

stronicowania.

Ochrona obszarów pami

ęci używanych przez procesy

przed dost

ępem przez inny proces


Segmentacja

Zapewnienie przemieszczalno

ści programów

Realizacja pami

ęci wirtualnej większej niż fizyczna

Rozwi

ązanie problemu fragmentacji


Stronicowanie

Ochrona obszarów pami

ęci

Tab. 1-1 Mechanizmy sprz

ętowe zarządzania pamięcią

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 7


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


1.3. Ochrona procesora

Aby system operacyjny móg

ł wykonywać swe funkcje powinien mieć on

dost

ęp do wszystkich istotnych zasobów procesora, mechanizmu

zarz

ądzania pamięcią, kontrolera przerwań i kontrolerów wejścia wyjścia.


Procesy aplikacyjne nie mog

ą mieć dostępu do tego typu zasobów, gdyż

czy to na skutek b

łędów czy intencjonalnie mogłyby zdestabilizować

prac

ę systemu.


We wspó

łczesnych mikroprocesorach wprowadza się dwa (lub więcej)

tryby pracy procesora:

tryb u

żytkownika (ang. User Mode)

tryb systemowy (ang.

System Mode).

Tryb systemowy - proces mo

że wykonywać wszystkie instrukcje

procesora, si

ęgać do wszystkich obszarów pamięci i przestrzeni

wej

ścia wyjścia.

Tryb u

żytkownika - nie jest dozwolony dostęp do rejestrów:

zwi

ązanych z zarządzaniem pamięcią, obsługą przerwań

zarz

ądzaniem pracą procesora.


Poziomy uprzywilejowania
W mikroprocesorach o architekturze IA-32 ochrona procesora oparta jest
o koncepcj

ę poziomów ochrony (ang. Privilege Level).

Poziom 3 - procesy aplikacyjne

Poziom 2 - procesy zaufane

Poziom 1 - system operacyjny

Poziom 0 - jądro systemu

operacyjnego

Rys. 1-6 Poziomy ochrony w mikroprocesorach Intel


Wykonywany w danej chwili proces charakteryzuje si

ę aktualnym

poziomem ochrony CPL (ang.

Current Privilege Level) uzyskiwanym z

pola RPL selektora segmentu w którym zawarty jest kod bie

żącego

procesu.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 8


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Ka

żdy segment pamięci ma przyporządkowany poziom ochrony

zapami

ętany w polu DPL (ang. Descriptor Privilege Level) deskryptora

segmentu do którego odnosi si

ę żądanie.


Procesor ocenia prawa dost

ępu do segmentu poprzez porównanie

obecnego poziomu uprzywilejowania CPL do poziomu uprzywilejowania
jaki ma deskryptor segmentu do którego przyznany ma by

ć dostęp.

Przyznawany jest dost

ęp do danych o tym samym lub niższym

poziomie ochrony (mniej wa

żnych).

Dopuszczane jest wywo

ływanie procedur o tym samym lub wyższym

poziomie ochrony (bardziej godnych zaufania)

CPL

pamięc RAM

porównanie

CPL i DPL

EXC

wyjątek

tablica

desktyptorów

segmentów

selektor segmentu

DPL

segment

bieżący poziom uprzywilejowania

poziom

uprzyw.

żądanego

segmentu

Rys. 1-7 Kontrola dost

ępu do żądanego segmentu kodu lub danych


Instrukcje systemowe
W

śród wszystkich instrukcji procesora wyróżnia się instrukcje

zarezerwowane dla systemu. S

ą to:

instrukcje dost

ępu do rejestrów systemowych,

ładowania tablic deskryptorów,

zatrzymywanie procesora,

zmiany niedozwolonych flag.


Instrukcje systemowe mog

ą być wykonywanie tylko w trybie

uprzywilejowania CPL = 0. Gdy CPL procesu wykonuj

ącego instrukcję

systemow

ą jest różny od zera zostanie wygenerowany wyjątek.



Ochrona wej

ścia – wyjścia

pole IOPL

bitmapy

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 9


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Pozwolenie na wykonywanie operacji wej

ścia wyjścia zależy od

zawarto

ści pola IOPL (ang. Input Output Privilege Level) zapisanego w

rejestrze flag procesora. Gdy poziom uprzywilejowania CPL procesu
bie

żącego jest niższy od zawartości pola IOPL i następuje próba

wykonania instrukcji wej

ścia wyjścia generowany jest wyjątek.


Bitmapy
Dla ka

żdego zadania określona jest bitmapa zezwoleń dostępu (ang. I/O

Permission Bitmap). Określa ona który adres z 64 KB przestrzeni wejścia
wyj

ścia może być przez bieżący proces użyty.


Kontrola dost

ępu do danych zawartych w innych

segmentach

Poziomy
ochrony

Kontrola wywo

ływania procedur zawartych w innych

segmentach

Instrukcje
systemowe

Zabezpieczenie istotnych funkcji procesora jak
zarz

ądzanie pamięcią, pamięcią, zatrzymywanie. Funkcje

dost

ępne tylko dla procesów wykonywanych z poziomu

j

ądra systemu operacyjnego (CLP= 0).

Pole IOPL
w rejestrze
znaczników

Okre

ślenie poziomu uprzywilejowania w którym mogą być

wykonywane instrukcje wej

ścia wyjścia.

Bitmapy
zezwole

ń

dost

ępu we

/ wy

Okre

ślenie adresów portów z przestrzeni wejścia wyjścia

które mog

ą być użyte przez proces.

Tab. 1-2 Zestawienie mechanizmów ochrony architektury IA-32

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 10


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


1.4. Obsługa przerwań i wyjątków

Sekwencja wykonywanych rozkazów okre

ślona jest poprzez program.

Mo

że być ona jednak zmieniana na skutek zewnętrznego zdarzenia

zwanego przerwaniem, lub wewn

ętrznego zwanego wyjątkiem.


Przerwanie - reakcja na asynchroniczne zdarzenie powsta

łe na zewnątrz

procesora.

Wyj

ątek - powstaje przez detekcję przez procesor nienormalnego stanu

wewn

ętrznego.


W procesorze Intel 386 wyró

żnia się dwa źródła przerwań i dwa źródła

wyj

ątków.

Przerwania:

Przerwania maskowane które sygnalizowane s

ą procesorowi poprzez

sygna

ł na nóżce INTR. Odpowiadają one przerwaniom zgłaszanym

przez urz

ądzenia zewnętrzne.

Przerwania niemaskowalne (ang.

Non-maskable Interrupt) które

sygnalizowane s

ą procesorowi poprzez sygnał na nóżce NMI.


Wyj

ątki :

Wyj

ątki wykryte przez procesor które dzielimy na błędy (ang. fault),

pu

łapki (ang. trap) i zaniechania (ang. abort).

Wyj

ątki wygenerowane programowo określane jako pułapki i

nazywane te

ż przerwaniami programowymi.


Tablica deskryptorów przerwa

ń

Procesor

łączy z każdym przerwaniem i wyjątkiem pewien numer

identyfikacyjny z zakresu 0 do 255 nazywany numerem przerwania.

Dla cz

ęści wyjątków i przerwań numer identyfikacyjny jest z góry

zdefiniowany

Dla przerwa

ń maskowalnych nadawany jest przez zewnętrzny układ

programowalnego kontrolera przerwa

ń.


Przerwania 0-31 s

ą zarezerwowane dla wyjątków.


Powi

ązanie numeru identyfikacyjnego wyjątku czy przerwania z

procedur

ą jego obsługi następuje przez tablicę deskryptorów przerwań

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 11


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


IDT (ang.

Interrupt Descriptor Table) nazywaną też tablicą wektorów

przerwa

ń.


Tablica IDT zawiera

ć może trzy rodzaje deskryptorów:

bramk

ę przerwania (ang. Interrupt Gate),

bramk

ę pułapki (ang. Trap Gate)

bramk

ę zadania (ang. Task Gate).

przesunięcie 31..16

selektor

P DPL

0001

nie

używane

przesunięcie 15..0

000

T/I

Rys. 1-8 Format deskryptora bramki przerwania i pu

łapki

Gdy bit T/I jest ustawiony to deskryptor odnosi si

ę do bramki pułapki a

gdy nie do bramki przerwania.

Wektor Opis

Typ

0

Dzielenie przez 0

B

łąd

1

Zarezerwowane

B

łąd, pułapka

2

Przerwanie NMI

Przerwanie

3

Punkt wstrzymania INT3

Pu

łapka

4

Nadmiar

Pu

łapka

...

...

8

Podwójny b

łąd

Zaniechanie

10

B

łędny segment stanu zadania TSS Błąd

11

Segment nieobecny

B

łąd

12

B

łąd segmentu stosu

B

łąd

13

Ogólny b

łąd ochrony

B

łąd

14

B

łąd strony

B

łąd

...

...

20-31

Zarezerwowane

32-255 Przerwanie zewn

ętrzne

Przerwanie

Tab. 1-3 Niektóre przerwania i wyj

ątki trybu chronionego dla

architektury IA-32

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 12


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Przebieg obs

ługi przerwania lub wyjątku

Wyst

ąpienie przerwania lub wyjątku któremu odpowiada umieszczona w

tablicy IDT bramka przerwania lub wyj

ątku powoduje działanie podobne

do wywo

łania procedury wykonywanej w kontekście zadania bieżącego.


Umieszczony w deskryptorze selektor wskazuje na segment w którym
zawarta jest procedura obs

ługi wyjątku lub przerwania.

Przesuni

ęcie wskazuje na adres procedury która ma się wykonać.

Po zako

ńczeniu handlera następuje powrót do przerwanego zadania.

tablica GDT lub LDT

deskryptor segm.

segment kodu

procedury

obsługi

przerwania lub

wyjatku

bramka przerw.

IDT tablica

deskryptorów przerwań

numer

przerwania

selektor

segmentu

przesunięcie

handler obsługi

przerwania

adres

bazowy

IDTR

Rys. 1-9 Wywo

łanie procedury obsługi przerwania lub wyjątku


Gdy numer przerwania wskazuje na deskryptor IDT który jest bramk

ą

zadania to obs

ługa przerwania podobna jest do wywołania zadania na

które wskazuje umieszczony w deskryptorze selektor.

Obs

ługa wyjątków

Wyj

ątki powodowane są przez wykonywany właśnie program.

Architektura IA-32 wyró

żnia następujące źródła wyjątków:

b

łąd w programie,

przerwania programowe

wyj

ątek powodowany przez błąd sprzętowy.


Wyj

ątki dzielimy na:

b

łędy ,

pu

łapki,

zaniechania.


B

łąd wykrywany jest zanim instrukcja go powodująca zostanie

wykonana. Procedura obs

ługi błędu może poprawić błąd i program może

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 13


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


by

ć kontynuowany. Po zakończeniu procedury obsługi wyjątku

sterowanie wraca do instrukcji która go spowodowa

ła.


Przerwanie programowe INT n (pu

łapka) powoduje zgłoszenie wyjątku

zaraz po wykonaniu instrukcji INT. Po zako

ńczeniu procedury jego

obs

ługi sterowanie przekazywane jest do instrukcji następnej.


Zaniechania zg

łaszane są gdy nie da się precyzyjnie zlokalizować

po

łożenia błędu i program nie może być kontynuowany (błędy sprzętowe

i b

łędy w tablicach systemowych).

sekwencja instrukcji określona programem

instrukcja

Obsługa

wyjątku

INT n

Obsługa

pułapki

A) obsługa

wyjątku

B) obsługa

pulapki

Rys. 1-10 Obs

ługa wyjątku i przerwania programowego (pułapki)


Przerwania sprz

ętowe

Przerwania sprz

ętowe dzielimy na

maskowalne

niemaskowalne.


W komputerze wyst

ępuje konieczność obsługi wielu przerwań, podczas

gdy procesor zazwyczaj zawiera tyko jedno wej

ście przerywające.

Wyst

ępuje konieczność użycia urządzenia nazywanego kontrolerem

przerwa

ń (ang. Interrupt Controller).

Funkcje kontrolera przerwa

ń:

Rozstrzyganie konfliktu w przypadku wyst

ąpienia wielu przerwań.

Tworzenia powi

ązania pomiędzy nóżkami układu na których pojawiają

si

ę przerwania a numerami identyfikacyjnymi przerwań.


PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 14


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Procesor

Kontroler

przerwań

Master

M7

IRQ0

IRQ1

IRQ7

IRQ0 - IRQ15 linie zgłaszania przerwań

M0

M1

M2

Kontroler

przerwań

Slave

M7

IRQ8

IRQ9

IRQ15

M0

M1

M2

IRQ2

blokowanie przerwań

M0 - M7 bity rejestru maski przerwań

INTA

IF

INT

NMI

numer przerwania

Rys. 1-11 Kontroler g

łówny i podrzędny w komputerze PC


Kontroler przerwa

ń posiada dwa rejestry umieszczone w przestrzeni

wej

ścia wyjścia:

rejestr steruj

ący CR (ang. Control Register)

rejestr maski przerwa

ń M (ang. Interrupt Mask Register).


Rejestr steruj

ący CR służy do programowania kontrolera a rejestr maski

M umo

żliwia indywidualne blokowanie poszczególnych linii zgłaszania

przerwa

ń.


Obs

ługa przerwania:

Urz

ądzenie sygnalizuje przerwanie poprzez wystawienie sygnału na

linii zg

łaszania IRQ

i

.

Kontroler przerwa

ń decyduje czy przerwanie i może być przyjęte. Gdy

jest ono zamaskowane nie b

ędzie przyjęte. Gdy właśnie obsługiwane

jest przerwanie o tym samym lub wy

ższym priorytecie to zgłoszenie

musi poczeka

ć do zakończenia obsługi bieżącego przerwania. Gdy

przerwanie mo

że być przyjęte kontroler wystawia do procesora sygnał

INTR.

Po zako

ńczeniu bieżącego cyklu rozkazowego procesor sprawdza

stan nó

żki INTR. Gdy flaga IF jest ustawiona przerwanie będzie

przyj

ęte. Procesor potwierdza przerwanie sygnałem INTA w

odpowiedzi na co kontroler przesy

ła numer przerwania n = baza + i.

Procesor sprawdza zawarto

ść wektora n tablicy IDT. W zależności od

jej zawarto

ści uruchamia zadanie obsługi przerwania lub procedurę

obs

ługi przerwania.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 15


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


W ramach obs

ługi przerwania testowane są rejestry urządzeń

skojarzonych z danym przerwaniem. Znajdowana jest przyczyna
przerwania i wykonywana jest jego obs

ługa.

Po zako

ńczeniu obsługi przerwania procesor wysyła informację o tym

do kontrolera w postaci polecenie EOI (ang.

End Of Interrupt).

Przywracany jest kontekst przerwanego procesu.


Typ przerwania

Funkcja

W

łasności

Przerwania
maskowalne

Obs

ługa zdarzeń zewnętrznych

Asynchroniczne

Przerwania
niemaskowalne

Obs

ługa zdarzeń awaryjnych

Asynchroniczne

Wyj

ątki

Obs

ługa błędów programów

Synchroniczne

Pu

łapki

Wywo

łania systemu, programy

uruchomieniowe operacyjnego

Synchroniczne

Tab. 1-4 Rodzaje przerwa

ń w systemach mikroprocesorowych

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 16


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Kontrolery wej

ścia wyjścia

System wej

ścia wyjścia zapewnia dostęp do urządzeń zewnętrznych.

Zapewnia on tak

że komunikację z użytkownikiem.

System wej

ścia wyjścia składa się z urządzeń i obsługujących je

kontrolerów pod

łączonych do magistrali komputera.

Procesor

Pamięć

Kontroler
przerwań

Zegar

Kontroler

we / wy

K

Kontroler

we / wy

1

IRQ 0

IRQ 1

IRQ K

INT

Magistrala

urządzenie 1

urządzenie K

. . .

Kontroler

DMA

magistrala urządzenia

Rys. 1-12 Uproszczony schemat komputera jednoprocesorowego.


Kontroler wej

ścia wyjścia pełni rolę pośrednika pomiędzy urządzeniem,

procesorem i pami

ęcią operacyjną:

z jednej strony do

łączony jest on zwykle do magistrali komputera (np.

magistrali PCI)

z drugiej strony do magistrali urz

ądzenia (np. magistrali USB czy

SCSI)


Kontroler sk

łada się z kilku rejestrów umieszczonych w przestrzeni

wej

ścia wyjścia. Zwykle jest to:

rejestr wej

ściowy,

wyj

ściowy,

statusowy,

danych.


Przyk

ład - kontroler transmisji szeregowej zgodnego z układem 8250

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 17


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Wi

ększość stosowanych obecnie kontrolerów wejścia wyjścia może

sygnalizowa

ć przerwaniem takie zdarzenia jak:

pojawienie si

ę nowych danych do odczytu,

zako

ńczenie wysyłania danych zapisywanych,

zmiana statusu,

wyst

ąpienie błędu.

Bufor odbiorczy

Bufor nadawczy

RX

TX

R0

...

R7

znaki wysyłane

znaki odbierane

kontroler
przerwań

układ 8250

IRQ3

R1

Rys. 1-13 Kontroler transmisji szeregowej

Odczyt znaku z kontrolera mo

żliwy jest w dwóch trybach:

trybie odpytywania,

trybie przerwa

ń.

czy znak dostępny ?

odczyt statusu

nie

odczyt znaku

tak

programowanie

kontrolera

czekaj na

przerwanie

INT

odczyt znaku

a) Tryb odpytywania

b) Tryb przerwań

Rys. 1-14 Odczyt znaku z kontrolera wej

ścia wyjścia

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J.

Ułasiewicz Komputerowe systemy sterowania 18


Instytut Cybernetyki Technicznej Politechniki Wrocławskiej


Tryb pracy

Procesor Szybko

ść Wykorzystanie

sprz

ętu

Wsparcie
sprz

ętowe

Wsparcie
programowe

Odpytywanie Zaj

ęty

Ma

ła

Ma

łe

-

-

Tryb
przerwa

ń

Wolny

Średnia Średnie

Przerwania Procesy

Transmisja
blokowa

Wolny

Du

ża

Du

że

Przerwania,
uk

ład DMA

Procesy

Tab. 1-5 Porównanie metod transmisji danych pomi

ędzy pamięcią a

kontrolerem urz

ądzenia wejścia wyjścia

PDF created with pdfFactory trial version

www.pdffactory.com


Wyszukiwarka

Podobne podstrony:
architektura aplikacji id 67748 Nieznany (2)
Architektura Neutrino 1 id 6791 Nieznany (2)
Architektura ekoczasu id 67766 Nieznany (2)
ARCHITEKTURA KOMPUTEROW id 6779 Nieznany (2)
Architektura Renesansu id 67864 Nieznany (2)
Architektura Komp5 id 67913 Nieznany (2)
Architektura drewniana 2 id 677 Nieznany (2)
architektura aplikacji id 67748 Nieznany (2)
Architektura5 id 67923 Nieznany (2)
Architektura3 id 67919 Nieznany (2)
Architektura4 id 67920 Nieznany (2)
Architektura2 id 67918 Nieznany
5 Architektura MCU 2010 id 4004 Nieznany (2)
ArchitekturaKomputera2 id 67926 Nieznany (2)
Architektura6 id 67924 Nieznany (2)
ArchitekturaKomputera id 67925 Nieznany
PEK PB OPIS ARCHITEKTURA id 354 Nieznany
Architektura1 id 67917 Nieznany (2)
Architektura5 id 67923 Nieznany (2)

więcej podobnych podstron