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, 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
Miért Neumann-elv? Cserélhető program, multifunkciós eszköz
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
Folyamatkezelés
Ütemezés Az idővel való gazdálkodás A folyamatok állapota változik meg Több szintű ütemezés
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 –Az Intel és AMD fejlődésének lépéseit írja le –Hardverek, köztük processzorok összehasonlítása több szempont alapján –Hogy RISC processzor is legyen…