Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts.
A Számítógépek hardver elemei Korszerő perifériák és rendszercsatolásuk
A µ processzoros rendszer regiszter modellje •A µP gépi szó hossza (Arithmetika); •A µP belsı regiszterei, funkciójuk; •A µP alapján felépíthetı µSzámítógép operatív tárjának címszervezése; Külön címmel rendelkezı (külön elérhetı) memória regiszter. Pld. Byte, Maximális címezhetı tárterület, (Memóriaregiszterek száma byte-ban) Input/ Output eszközök címszervezése; Memóriába ágyazott perifériacímek ( memory mapped) Izolált perifériacímek
Pld.: belsı regiszterek • A: Akkumulátor, • B,C,D,E,H: általános célú regiszterek, • PC: utasítás számláló regiszter (IR), • SP: Stack pointer, •IX, IY: indexregiszterek (címzés) •I: Interrupt regiszter (IT ugrási tábla báziscíme) ………..
A µ processzoros rendszer regiszter modellje Regisztertömb : A:
00
F:
B:
C:
D:
E:
H:
L:
Vezérlı/ Utasítás dekóder
SP : IX : IY :
Addr :
0000 : 0001 : 0002 :
I/O Rendszer: • Operatív tárba ágyazott (Memory mapped) •Szeparált
FF00 :
FFFF :
I: PC :
RAM :
0200 Külön I/O utasítások: •INPUT periféria illesztı regiszter olvasása, tartalmának a Processzor A=Akkumulátor regiszterbe írása •OUTPUT periféria illesztı regiszter írása, tartalmának „A” regiszterbıl történı feltöltése
I/O : 00 :
Printer1 Data
01 :
Printer1 Status
02 :
…..
…..
FF :
…..
I/O portok illesztése_1 (polling) µ processzor
Op.tár
A soron következı kinyomtatandó karakter az „A” regiszterben van.
INP 01
BUS I/O Interface
B=1 ?
N
Y OUT 00
Nyomtató
Data : D7 Status/Command:
B: PO: ER: ………..
B
D6
D5
D4
D3
D2
D1
D0
PO
X
X
ER
X
X
X
Busy foglalt=0, kész=1 Paper out papír kifogyott=1 papír rendben=0 Hiba hiba van=1, üzemkész=0
(Status regiszter beolvasása az „A”-ba)
(Kész állapotra várakozás Akár 1000-2000 gépi utasításnyi idı !!!) „A” regiszter tartalmának kivitele a 00 címő port regiszterbe.
A soron következı kinyomtatandó karakter betöltése az „A” regiszterbe.
Polling: Egy adott jellemzı változásának figyelése az arra vonatkozó adatok folyamatos újrakérése, és az elızı állapottal történı összehasonlítása révén.
Polling:
I/O portok illesztése_2
IT:
Értékes program végrehajtás Értékes processzoridı
OUT 00 (Kész állapotra várakozás Akár 1000-2000 gépi utasításnyi idı !!!)
Értékes program végrehajtás
Interrupt a Nyomtatótól:
1.
(ez elızı kivitt karakter kinyomtatása befejezıdött,
Értékes processzoridı
(Kész állapotra várakozás Akár 1000-2000 gépi utasításnyi idı !!!)
Nyomtatás indítása, elsı karakter kivitele a státusz regiszter foglalttá válik. (Busy foglalt=0) Ha a foglaltság megszőnik, kérjen IT-t. (Busy foglalt=0 - -> Busy kész=1 )
Jöhet a következı !! második karakter Értékes program végrehajtás
Interrupt a Nyomtatótól:
2.
(ez elızı kivitt karakter kinyomtatása befejezıdött, Jöhet a következı !! harmadik karakter
Értékes processzoridı
…… OUT 00
…… IT rutin feladata: Ha van még kiírandó, akkor a soron következı karakter kivitele a Nyomtató adatregiszterébe.
Visszatekintés Az Interrupt (A Program megszakítása)_3 (címkidolgozás, vezérlés) 0000 :
IT UGRÁSI
IT regiszter
IT rutin1 kezdıcíme PC=5000
A0
TÁBLA
Program
IT vektor
42
PC Az IT ekkor jelentkezik,
VEKTOR
PC->STACK I/O Interface 1.
IT Rutin1 kezdete
IT Rutin1 PC<-STACK
RETURN IT
I/O portok illesztése_3 (Interrupt felhasználásával) µ processzor
Op.tár
BUS
IRQ
I/O Interface
Eredmény: Az Interrupt felhasználásával értékes processzoridıt takarítunk meg. A rendszer eredı teljesítménye nı.
IT ok Nyomtató
Data : D7 Status/Command:
B: ………..
Busy foglalt=0, kész=1
B
D6
D5
D4
D3
D2
D1
D0
PO
X
X
ER
X
X
X
A DMA (közvetlen memória hozzáférés)_1 Periféria kezelés DMA nélkül µ processzor
Probléma felvetés: Példa:
A:
Nagy sebességő háttértárról olvasás: A háttértár egyszerre nagy tömegő adatot szolgáltat, az adatoknak az operatív tárba kell kerülniük.
OPERATÍ OPERATÍV TÁR 8FD3 :
Az adatok útja (byte-onként): Az I/O interface adatregiszterében a Winchester által lemezrıl felolvasott byte van. •A processzor által végrehajtott program (a státusz figyelésével) észleli, hogy az adatregiszterbıl ki lehet olvasni az adatot.
Data :
•INPWDATA utasítással az adat az „A” ba kerül. •A program az „A” regiszter tartalmát kiírja az operatív tár regiszterébe (pld. 8FD3 címre) . ………. A processzor adatmozgatással terhelt, a perifériaegység (Háttértár) kezelése a számítási kapacitás nagy részét felemészti..
Háttértár Pld. Winchester
I/O Interface
A DMA (közvetlen memória hozzáférés)_2 Periféria kezelés DMA alkalmazásával µ processzor
A:
OPERATÍ OPERATÍV TÁR
Adatfolyam: Példa:Nagy sebességő háttértárról olvasás, 255 db byte felolvasása és az operatív tár 8000 címétıl kezdve :
8000 : ………
1.
80FF :
DMA képes I/O Interface BUS vezérlı Data : Vez. regiszterek
12
Byteszám:
255
Op.tár kezdıcím:
T1 T2
Winchester
03
Sávcím : Szektorcím:
8000
Inicializálás: A DMA képes Interface • Sávcím, • Szektorcím, • Byteszám, • Op.tár kezdıcím regisztereinek feltöltése. A processzor Értékes program végrehajtással foglalkozik. 2. T1 idı elteltével az elsı byte az adatregiszterben. 3. Buszvezérlı az adatot az operatív tárba írja (8000), Byteszám=Byteszám-1 *Cikluslopás** A processzor Értékes program végrehajtással foglalkozik. ………………. 5. T2 idı elteltével a második byte az adatregiszterben. 6. Buszvezérlı az adatot az operatív tárba írja (8001), Byteszám=Byteszám-1 *Cikluslopás** ………………. A processzor Értékes program végrehajtással foglalkozik. 7. Byteszámláló 0-ra csökken
A processzort tehermentesítettük, A DMA alkalmazásával értékes processzoridıt takarítunk meg. A rendszer eredı teljesítménye nı.
A DMA (közvetlen memória hozzáférés)_3 Periféria kezelés DMA alkalmazásával
BUS Arbitráció
DRQ (Slave) DACK (MASTER)
Vezérlés CPU
DMA-zó Interface
CPU
ZH !!! •Mi az Interrupt folyamat lényege? •Mik az Interrupt felhasználási lehetıségei? •Egy Interrupt rutint megszakíthat egy másik Interrupt ?
•Milyen hátrányt küszöböl ki a DMA a háttértárak kezelésében? •Mire használhatjuk a processzor tehermentesítése révén felszabadult idıt ?
A Számítógépes grafika részfeladatai felhasználó
modellezés
modell
képszintézis
Digitális kép
Képszintézis feladatok •Incremental shading •Ray tracing •Radiosity method
megjelenítés
Rasztermegjelenítı HW-ek Képinformáció építıelem:
pixel
Rasztermegjelenítı HW-ek alapfelépítése_1 A feladat komplexitás vizsgálata:
Grafikus processzorok, gyorsító HW-ek
Modell tér
Mőveletek komplexitása
Mőveletek száma
Példa: Árnyalási eljárások:
Inkrementális árnyalás Konstans árnyalás Gouraud-árnyalás Phong-árnyalás
Pixel tér
Gouraud-árnyalás
R,G,B
(X2,Y2,R2)
Y
(X1,Y1,R1)
(X3,Y3,R3)
R(X,Y)
X Inkrementális
R(X,Y) = aX + bY + c R(X+1,Y) = R(X,Y) + a
Rasztermegjelenítı HW-ek alapfelépítése_2
Rasztermegjelenítı HW-ek alapfelépítése_3 LUT egység felépítése:
Köszönöm Figyelmüket
Következı elıadás: Operációs rendszerek Molnár József