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.  

 
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

Pami

ęć

Magistrala

Mostek pónocny

Mostek

poludniowy

AGP lub PCI

Express

FSB

PCI

SATA

ATA

USB

BIOS

Super IO

Mysz
Klawiatura

Porty COM
Port LPT

PCI

 

 Rys. 1-2  Architektura  komputera PC 

 

 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     2 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

Szyny 

Szyny mostka pó

łnocnego  Szyny mostka południowego 

Rodzaje 

FSB, RAM, AGP,  
PCI Express X16, CSA 

ISA, PCI, PCI Express, USB, 
ATA, SCSI, FireWire 

Łączą 

CPU, RAM, Wideo, 
Ethernet  

Wszystkie inne urz

ądzenia. 

Cz

ęstotliwość 

zegara 

66 - 1066 MHz 

Typowo 10-33 MHz. 

Przepustowo

ść  > 3 GB/sek 

Typowo 20-500 MB/sec. 
na magistral

ę  

Tabela 1-1 Charakterystyka szyn komputera PC 
 

1.2. 

Procesor 

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.  

 
W

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

 
Najwa

żniejsze mechanizmy wspierające wieloprogramowość: 

Wsparcie ochrony programów i systemu operacyjnego: 

• 

segmentacja  

• 

stronicowanie pami

ęci  

• 

poziomy ochrony procesora.  

 
Wsparcie prze

łączania procesów i współbieżnego we/wy: 

• 

system przerwa

ń i wyjątków  

• 

autonomiczny system wej

ścia wyjścia 

 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     3 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

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-3 Rejestry procesora w architekturze IA-32 dla trybu chronionego 

 

 

Rys. 1-4 Zawarto

ść rejestru EFlags 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     4 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

 

 

Rysunek z Intel® 64 and IA-32 Architectures Software Developer’s Manual  Volume 
3 System Programming Guide 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     5 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

1.3. 

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.  
 
Mo

żliwa jest sytuacja gdy wystąpi błąd w programie – na skutek tego 

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-5 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.  

 
 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     6 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

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.  

 
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                                                                     7 

 
 

 

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-6 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-7 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 – określa poziom 

uprzywilejowania 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 

 
 

Adres liniowy  - suma pobieranego z pola adresowego rozkazu 
przesuni

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

deskryptora.  
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                                                                     9 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

1.4. 

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-8 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                                                                     10 

 
 

 

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-9 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 niektórych 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                                                                     11 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

Pole IOPL 
Pozwolenie na wykonywanie operacji wej

ścia wyjścia zależy od 

zawarto

ści pola IOPL (ang. Input Output Privilege Level)  wartość 0-3 

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 niż 

bie

żący segmentach 

Poziomy 
ochrony 

Kontrola wywo

ływania procedur zawartych w innych niż 

bie

żący 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                                                                     12 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

1.5. 

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 są  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. 

 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     13 

 
 

 

Instytut Cybernetyki Technicznej Politechniki Wroc

ławskiej 

 
 

Powi

ązanie numeru identyfikacyjnego wyjątku czy przerwania z 

procedur

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

IDT (ang. Interrupt Descriptor Table) nazywan

ą też tablicą wektorów 

przerwa

ń. Położenie tej tablicy zawarte jest w rejestrze systemowym 

IDTR (ang.

 

Interrupt Descriptor Table Register)

 

 
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-10 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 

Dzielenie przez 0 

B

łąd 

Zarezerwowane 

B

łąd, pułapka 

Przerwanie NMI 

Przerwanie 

Punkt wstrzymania INT3 

Pu

łapka 

Nadmiar 

Pu

łapka 

... 

... 

 

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                                                                     14 

 
 

 

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-11 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                                                                     15 

 
 

 

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-12 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                                                                     16 

 
 

 

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-13 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                                                                     17 

 
 

 

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 mikroprocesorach architektury IA-32 

PDF created with pdfFactory trial version 

www.pdffactory.com

background image

J. U

łasiewicz    Komputerowe systemy sterowania                                                                     18 

 
 

 

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-14 Uproszczony schemat komputera jednoprocesorowego. 

 
Kontrolery wej

ścia wyjścia 

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                                                                     19 

 
 

 

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-15 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-16 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                                                                     20 

 
 

 

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 

 

2. Literatura 

[1] Intel® 64 and IA-32 Architectures Software Developer’s Manual  
Volume 3 System Programming Guide, Intel 

http://download.intel.com/products/processor/manual/325384.pdf

 

 
 

 

PDF created with pdfFactory trial version 

www.pdffactory.com