Processzrokezelés
-
Upload
raya-waters -
Category
Documents
-
view
27 -
download
7
description
Transcript of Processzrokezelés
Miért alakult ki a processzor?
• Kezdetben céláramkörök, önálló chipek
• Ötlet: miért nem készítünk egy chipet, ami végrehajtja az összes funkciót?!
Több chip egy chip
• 1971: Intel 4004-es chip
• Teljesítménye: mint az ENIAC
• 4004: 2300 MOS (metal-oxide semiconductor) tranzisztor
• ENIAC 3000 négyzetméter, 18000 vákuumcső)
Processzor más megközelítésben
• Babbage: processzor az olyan adatfeldolgozó egység, ami tárolt program alapján működik
Memória?
• Howard-elv: külön memóriában helyezkedik el a program és az adat
• Neumann-elv: a program és az adat egy memóriában helyezkednek el
Miért Howard-elv?
• A programok a processzor készítésekor beleíródnak az eszközbe
• Viszont gyors a feldolgozás
• Biztonságos vírusokkal szemben
Neumann-elv
• Központi egység– Vezérlő egység– Aritmetikai-logikai egység– Operatív tár– I/O eszközök– Mindezek teljesen elektronikusak legyenek,
bináris számrendszerrel, az ALU legyen képes néhány alapvető logikai és matematikai művelet elvégzésére
Neumann-elv
• Tárolt program elve
• A vezérlő egység határozza meg a működést a tárból kiolvasott utasítások alapján, emberi beavatkozás nélkül
A processzor felépítése
• Vezérlő egység (CU)
• Aritmetikai-logikai műveletvégző egység (ALU)
• Regiszterek
CU
• Program utasításai, külső kérések (periféria megszakítási kérelme, sín igénybevételi kérése) alapján, vezérlő jelek segítségével a gép részeinek irányítása
ALU
• Aritmetikai vagy logikai műveletek
• Esetleg néhány regiszter
• Bináris rendszerű, de decimális szerint is képes működni az aritmetikai rész
• Matematikai koprocesszor
Regiszterek
• Általános vagy meghatározott funkciójú
• ALU-hoz vagy regisztertömbhöz tartozik
• Gyors működésű tár, hossza általában az adatsín szélességével egyezik meg
Regiszterek
• Utasítás-számláló regiszter (PC, Program Counter; IP, Instruction Pointer)
• Utasítás-regiszter (IR, Instruction Register)• Bázisregiszter (Base Register)• Indexregiszter(ek)• Állapotregiszter(ek)• Veremmutató regiszter (SP, Stack Pointer)• Pufferregiszter(ek) (Buffer Registers)
PC, IP
• Következő utasítás memóriacíme
• Inkrementálódik, ha a memóriában egymás után elhelyezkedő utasítások jönnek, különben új értéket kap
• Kezdőértéket kívülről (pl. oprendszertől) kap
IR
• Tárolja az utasítást
• Az utasítás címrésze alapján kiderül az operandusok pontos helye is
• Pipeline miatt ebben a formában már nem létezik a korszerű processzorokban
Bázisreigszter
• Operandusok címzéséhez
• Nem általános használatú, nem minden processzornál található meg
• Báziscím: ehhez képest határozzuk meg az operandust
• Szegmensregiszterek: többprocesszoros rendszerben hasonló feladatot látnak el, a felhasznált tárterület kezdőcímét tárolják
Index-regiszterek
• Operandusok címzésére
• Különösen adatsorozatok feldolgozásánál
• Nem minden processzorban van rá szükség
Állapotregiszterek
• Vezérlő regiszterek (Status Register, Flag Register, Control Register)
• Egy vagy több regiszteren belül vezérlő és ellenőrző jelek
• A regiszter egy-egy bitje változik
• Ha sok a funkció, önálló regiszterek lehetnek (Control Register, Status vagy Flag Register)
SP
• Az általában a főmemóriában kialakított veremterület címzését látja el
• LIFO (Last-In-First-Out) módszer
Pufferregiszterek
• A processzor belső adat- és címsínét választják el a külső sínrendszertől
• Esetleg más ideiglenes célú tárolásra szolgálnak
• Nem minden processzornál
Processzor-filozófia
• CISC (Complicated Instruction Set Computer) vagy RISC (Reduced Instruction Set Computer)
• CISC: 100 fölötti utasításszám
• RISC: 32 utasítás
CISC
• 14 címzési mód
• Könnyű programozni
• Mikroprogramozott
• Egy utasítást több órajel alatt hajt végre
• Intel x86 architektúra
RISC
• Egyféle címzés
• Egyszerű, gyors, egy utasítás egy órajel alatt
• Pipeline feldolgozás
• Pl. Alpha workstation
Főütemező
• Kiválasztja a háttértárolón lévő programok közül a végrehajthatót
• Ideális: a folyamatok processzor és I/O eszköz igénye közel azonos
• Interaktív rendszerben nincs nagy szerepe a főütemezőnek, tisztán interaktív rendszeren nincs főütemező
PCB (Process Control Block)
• Folyamatleíró blokk
• Minden információt tartalmaz a folyamatról
• Ha a folyamat fut, akkor valamelyik regiszterbe, ha nem fut, akkor várakozási sorba kerül
• Környezetváltás: másik PCB-t vesz elő az operációs rendszer
Folyamat állapotok, állapotátmenetek
• Futásra kész
• Fut
• Várakozik
• Elindul
• Megszakad
• Vár
• Feléled
Közbenső szintű ütemező
• Folyamatosan figyeli a rendszert• Zavarok (túl sok folyamat kerül futásra
kész állapotba, egyiknek se jut elég erőforrás, a processzor ideje rendszeradminisztrációval telik) esetén folyamatokat felfüggeszt, változtatja a prioritási szinteket
• A felfüggesztett folyamat folytathatja működését később
Alacsony szintű ütemezés
• Legaktívabb
• Ha normális a rendszer működése, nincs perifériára várás, optimalizálja a folyamatok feldolgozását
Processzor elosztása
• Várakozási idő– Mennyi ideig várakozhat a folyamat
• Átfutási idő– Folyamat elejétől végéig mennyi idő telik el
• Válaszidő– A folyamat rendszerbe állításától az első
futásig eltelt idő (interaktív rendszernél fontos!)
Ütemezési algoritmusok
• Előbb jött, előbb fut (FCFS, First Come First Served)
• Legrövidebb előnyben (SJF, Shortest Job First)
• Körben járó (RR, Round Robin)
• Prioritásos módszerek
• Többszörös ütemezés
FCFS
• A folyamatok érkezési sorrendben futhatnak
• Előny: egyszerű, biztos
• Hátrány: az érkezési sorrendtől függ a várakozási idő
SJF
• A folyamatok közül először a legrövidebb fut
• Előny: a legrövidebb várakozási időt adja
• Hátrány: a hosszú folyamatok nehezen kerülnek sorra
RR
• Minden folyamat egy adott időszeletig futhat, majd újra sorba kell állnia
• Előny: demokratikus, a legrövidebb a válaszideje
• Hátrány: jelentős adminisztrációt igényel
Prioritásos módszerek
• Minden folyamat prioritással rendelkezik
• A nagyobb prioritású kerül először sorra
• A kis prioritású nem jut processzorhoz
• Ha idővel nő a prioritás, akkor minden folyamat előbb-utóbb sorra kerül
Többszörös ütemezés
• Nagygépes rendszereknél, ha a folyamatok több csoportba oszthatók
• Prioritási sorok
• CPU igény szerinti ütemezés, prioritás-változtatásokkal
• Sorok közötti ütemezés időosztással
• Legfejlettebb megoldás
Kérdések
• Mi a probléma a Howard-elvű gépekkel?
• Mondj példákat CISC és RISC processzorokra, PC-s és nagyszámítógépes rendszereknél!
• Miért van három szintre felbontva az ütemezés?
• Melyik stratégia lehet szerinted a legjobb, és miért?
Intel vagy AMD? Linkek
• http://www.stud.u-szeged.hu/Sipos.Georgina/fejlodes.htm
– Az Intel és AMD fejlődésének lépéseit írja le
• www.tomshardware.com
– Hardverek, köztük processzorok összehasonlítása több szempont alapján
• http://www-306.ibm.com/chips/products/powerpc/
– Hogy RISC processzor is legyen…