400 likes | 483 Views
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
E N D
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
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
Ü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 • 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…