Számítógépek felépítése 8. előadás sínrendszer, megszakítás

Post on 20-Mar-2016

48 views 2 download

description

Számítógépek felépítése 8. előadás sínrendszer, megszakítás. Dr. Istenes Zoltán ELTE-TTK. 8-9. előadás tartalma. Kapcsolatok, Input / Output Sínrendszer Megszakítási rendszer I/O Rendszerek Programozott I/O DMA I/O processzorok, csatornák. CPU, Memória, és még valami. - PowerPoint PPT Presentation

Transcript of Számítógépek felépítése 8. előadás sínrendszer, megszakítás

1

Számítógépek felépítése8. előadás

sínrendszer, megszakítás

Dr. Istenes ZoltánELTE-TTK

2

8-9. előadás tartalma

• Kapcsolatok, Input / Output• Sínrendszer• Megszakítási rendszer• I/O Rendszerek

– Programozott I/O– DMA– I/O processzorok, csatornák

3

CPU, Memória, és még valami...

• Számítógép fő számítási funkciója csak a CPU-t és a Memóriát érinti.

• CPU beolvassa az utasításokat és az adatokat a memóriából, feldolgozza majd az eredményt a memóriában tárolja...

Hogyan kerülnek az adatok a memóriába ?

DE...

4

Kapcsolat a „külvilággal”A kimeneti és bemeneti egység feladata : információ csere a CPU vagy a központi memória és a külvilág között...

sín

CPU MEM

„külvilág”

5

A ki/bemeneti egység feladata

ki/bemeneti eszköz input/output device

I/O eszközperiféria

• Kapcsolatok kezelése• Adatátvitel

processzor

memória I/O eszköz

6

Célok és problémák...

Célok :• eszközök minél gyorsabb, „jobb” kiszolgálása...• a CPU minél kisebb leterhelése...

Problémák :• eszközök (CPU - perifériák) eltérő sebessége...• eszközök különbözősége (kezelési mód)...

7

Eszközök...

Bemeneti Be/kimeneti Kimeneti

nyomtató

képernyő

billentyűzet

scanner

egér

háttértárolók(lemezmeghajtók)

hálózat(modem)

CDROM

és még sokan mások...

8

Eszközökkel való kapcsolat (kezelése) port-okon keresztül

címsín

adatsín

s d

port-ok

eszközvezérlő

cparancs regiszter (c)

állapotjelző regiszter (s)

adat ki/bemenetiregiszter (d)

9

I/O eszközök (portok) elérése

Memória I/O eszközCPU

címsínadatsín

Memória I/O eszközCPU

címsínadatsínMem/IO

IO eszközbizonyos címeket„felismer”

közvetlen I/O utasítások : közvetlenül az eszközvezérlő regiszterébe

tárolóhoz rendelt módon (memory mapped addressing) : a központi memórián keresztül

10

Sínrendszer

11

Sínrendszer feladata

A sínrendszer feladata :adatok, vezérlőjelek továbbítása

Átvitel létrehozásakor • eszközök kijelölése („cím” megadás...)• adatátvitel iránya• eszközök szinkronizálása

(működésének összehangolása)

12

Sínrendszer struktúrája• Külső / belső sínrendszer (CPU-hoz képest)

– Belső : (pld. 3 sín, külön adatsín írásra, olvasásra...)– Külső:

• helyi sín (local bus) (pld. co-processzor)• rendszer sín (system bus) (pld. I/O)• memória sín (memory bus)

• Sínrendszer részei :– Címsín– Adatsín– Vezérlősín

13

Sínrendszer(közös / külön IO sínrendszer)

rendszer sín (system bus)

CPU MEM

I/O-1 I/O-n...

egyszeres osztott sín

rendszer sín (system bus)

CPU MEM

I/O-processzor

ki/bemeneti sín (i/o bus)

I/O-1 I/O-n...

külön memória és ki/bemeneti sín

14

Sínek...

CPU

ALU

co-processzor cache

MEM

IO processzor

MEM

vez

IO eszköz IO eszköz IO eszköz

belső sín

helyi sín

rendszer sín

IO sín

15

Vezérlő jelek (a vezérlősínen)

• Adatátvitelt vezérlő jelek :– memória /periféria M/IO - cím a sínen – írás / olvasás R/W - adat a sínen– szó / byte átvitel WD/B - átvitel vége

• Megszakítást vezérlő jelek • Sínvezérlő jelek (kérés, foglalás, visszaigazolás)• Egyéb... (órajel, ütemezés, táp,...)

16

Sínfoglalás (bus arbitration)

Soros kiszolgálás (daisy chain) Lekérdezéses kiszolgálás (polling)

Párhuzamos kiszolgálás (independent requesting)

17

Soros kiszolgálás (daisy chain)

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

sín engedélyezés(BG - bus grant)

sín

18

Lekérdezéses kiszolgálás (polling)

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

lekérdező szám(polling count)

sín

19

Párhuzamos kiszolgálás

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

sín engedélyezés(BG - bus grant)

sín

prioritás ?

20

...még a sínekhez kapcsolódik...

• sínprotokoll (mechanikus, elektromos, logikai)• átlapolódó sínciklusok• blokk sínciklus (burst cycle)• sínfoglalás (bus arbitration)• Sínvezérlő (sínmeghajtó) egység (bus interface)• master / slave

21

A „sínhasználók”

processzormemória

I/O eszközco-processzor

DMAI/Olebegőpontos

utasítás

adat, utasítás

adat

aktív eszköz(master)

sínhasználat kezdeményezés sínhasználat végrehajtás

passzív eszköz(slave)

22

Megszakítási rendszer

Interrupt system

23

Megszakítások

• „Váratlan események”...• megszakítás (interrupt)• megszakítási rendszer• megszakítási kérelem (IRQ - Interrupt Request)• megszakítási kérelem kiszolgálásaCél :• események gyors kezelése...• minél kevésbé zavarja a feldolgozást...

24

Megszakítási események kiváltójaprogram hardver

végrehajtás közbeni hiba0-val osztástúlcsorduláslapváltás

szinkron események

végrehajtás felfüggesztése aperiféria működése közben

aszinkron események

várható váratlan„hiba”„kért működés”

25

Megszakítás vs. kivétel

megszakítás (interrupt) kivétel (exception)

n. utasítás n+1. utasítás

megszakítás kiszolgálása

megszakítás

n. utasítás

kivétel kiszolgálása

kivétel

26

Megszakítás kezelés folyamata

• megszakítás engedélyezés– maszkolás– prioritás– megszakítható pont

• megszakítás analízis (kiszolgáló rutin ?)– kód - tárcím - utasítás

• állapotmentés• kiszolgálás• állapot visszaállítás

27

Maszkolás

Maszkolható / nem maszkolható kérelmek

Maszkolás : bizonyos megszakítások „figyelmen kívül hagyása”megszakítási kérelmek engedélyezése / tiltása

28

Megszakítás-engedélyezés

• megszakítás kérés „maszkolása”...• prioritások kezelése :

ha több megszakítás egyidőben ?• többszörös megszakításkezelés :

ha újabb megszakítás a megszakításkezelés közben ? • a megszakítást okozó eszköz megállapítása :

ki kérte a megszakítást ?

29

Többszörös megszakításEgyszintű megszakítási rendszer : kiszolgáló rutin

nem megszakíthatóTöbbszintű megszakítási rendszer :

rutin-2

rutin-5

rutin-4

rutin-2

megszakítás kérelmek2 5 4

idő

prioritásszint

„normál” „normál”

prioritások

30

Megszakítás analízisA megszakítást kezdeményező eszköz megállapítása

Szoftver módszer

Hardver módszer

• operációs rendszer időnként megvizsgálja az eszközöket „lekérdezéses megszakításkezelés” (polling interrupt)

• 1 megszakítási vonal...• több megszakítási vonal...• vektoros módszer : kiszolgáló rutin kezdőcíme...

31

Vektoros módszer(a megszakítást kezdeményező eszköz

megállapítása)

• kiszolgáló rutint elindító utasítás átadása (pld.: CALL INT_RUT)

• kiszolgáló rutint elindító utasítás címének az átadása (pld.: ADR, ahol [ADR]=CALL INT_RUT)

• kiszolgáló rutint címének az átadása (pld.: INT_RUT)

• sorszám átadása :megszakítási vektortáblában rutinok kezdőcímei,sorszám mint index a táblázatban

32

Megszakítás vektor tábla

CALL 4 01234

100

200

CALL 100CALL 200CALL ...A eszköz

beviteli rutin

A eszközkiviteli rutin

B eszközkiviteli rutin

CPU

IO port 0 IO port 1 IO port 2

A eszköz B eszköz

INT REQ 2

memória

adatsín

33

Megszakítás kiszolgálásának lépései (hardver által 1.)

eszköz

vezérlőmegszakítás

kezelő

processzor

adatsín

INT (1)

IACK (2)

megszakításivektor

sorszám (3)sorszám tárolás (4)

PC

PWSverem

IT vektortábla

PC és PWSelmentése (5)

rutin kezdőcíma táblázatból (6)

kezdőcím a PC-be (7)

34

Megszakítás kiszolgálásának lépései (2.)

Szoftver által :• regiszterek -> verem / memória• kiszolgáláshoz szükséges adatok összegyűjtése• megszakítás kiszolgálása, kezelése (kiszolgáló

rutin lefutása...)• verem / memória -> regiszterekHardver által :• PC és PSW visszaállítása

állapotmentés

állapot visszaállítás

kiszolgálás

35

I/O