Szmtgpek s processzorok Elvek felpts mkds utols mdosts

  • Slides: 143
Download presentation
Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2019. IX. 12.

Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2019. IX. 12.

I. 1. Mi az a számítógép? Nem triviális kérdés! n Sok különböző felépítésű, működésű

I. 1. Mi az a számítógép? Nem triviális kérdés! n Sok különböző felépítésű, működésű és célú számítógép létezik. n Személyi számítógép, szuperszámítógép, beágyazott rendszer stb. n Analóg vs digitális, bináris vs decimális vs trináris, boole – fuzzy - neurális – kvantum – dns. . . n

Ez?

Ez?

Vagy ez?

Vagy ez?

Netán ez?

Netán ez?

Esetleg ez?

Esetleg ez?

E?

E?

Ez meg mi?

Ez meg mi?

Hát?

Hát?

I. 2. Alapelvek Algoritmus: egy probléma megoldásához használt eljárás, módszer, utasítássorozat -» program Al

I. 2. Alapelvek Algoritmus: egy probléma megoldásához használt eljárás, módszer, utasítássorozat -» program Al Hvarizmi (kb. 780 -850), perzsa tudós nevének torzított alakjából, aki „Hiszáb al-dzsabr va l-mukábala” c. munkájában lefektette az algebra alapjait.

Alapelvek n Univerzális, programozható számítógép

Alapelvek n Univerzális, programozható számítógép

Computer (1949)

Computer (1949)

Alapelvek Számítógép n n Computer: eredetileg a számításokat végző embereket hívták így Számológép (hagyományos):

Alapelvek Számítógép n n Computer: eredetileg a számításokat végző embereket hívták így Számológép (hagyományos): matematikai számolások elvégzésére képes Számítógép: a számológép + az őt kezelő személy Ebből a személyből is idővel gép lett, így született a modern számítógép

Analóg számítógép Lehet elektromos, mechanikus, optikai, stb. Elektronikus analóg szg. alapelve: Különböző fizikai jelenségeket

Analóg számítógép Lehet elektromos, mechanikus, optikai, stb. Elektronikus analóg szg. alapelve: Különböző fizikai jelenségeket leíró differenciál/integrál egyenletek megvalósíthatók elektronikus módon (analógia), jellemzően R, C, L tagokkal és műveleti erősítőkkel. Bemenete és kimenete pl. feszültség időfüggvény. Ennek tárolása, visszaolvasása problémás lehet. Kijelzése pl. grafikus (pl. szkópképernyő, plotter). Sokszor kombinált elektro-mechanikai-optikai megoldást használtak (pl. bombázó vagy légelhárítás tűzvezérlése).

Analóg számítógép Az analóg számítógépek jellemzően céleszközök voltak, így gyakran nem voltak átprogramozhatóak. A

Analóg számítógép Az analóg számítógépek jellemzően céleszközök voltak, így gyakran nem voltak átprogramozhatóak. A kutatási és oktatási célúakat vezetékezéssel lehetett „programozni”. (Lényegében műverősítővel megvalósított összegző, kivonó, integráló, deriváló, stb. fokozatok összekötése stb. )

Analóg számítógép előnyei: Elvileg folytonos értékkészlettel és értelmezési tartománnyal dolgozik, nincs kvantálási hiba, cserébe

Analóg számítógép előnyei: Elvileg folytonos értékkészlettel és értelmezési tartománnyal dolgozik, nincs kvantálási hiba, cserébe az analóg rendszerekre jellemző zajok, zavarok vannak. A 20. sz. közepén sok feladatra (diff. egyenletrendszerek megoldása) jóval gyorsabbak (és kisebbek) voltak a digitális gépeknél. Modern kísérletek: hibrid (analóg-digitális ötvözet) integrált változatban (VLSI).

Analóg számítógép

Analóg számítógép

Digitális számítógép A bemenő adatsor időben is diszkrét (mintavételezett) és értékkészletben is diszkrét (kvantált).

Digitális számítógép A bemenő adatsor időben is diszkrét (mintavételezett) és értékkészletben is diszkrét (kvantált). Ezeket könnyű tárolni és visszaolvasni. A programot könnyebb módosítani. A kvantálás miatt elvben pontatlanabb, de cserébe az analóg zajra kevésbé érzékeny. Kb. a 1960 -70 -es évekre egyeduralkodó lett.

Digitális számítógép A mintavételezett kvantált adatsorok feldolgozására a matematika egy új ágát hozták létre

Digitális számítógép A mintavételezett kvantált adatsorok feldolgozására a matematika egy új ágát hozták létre (numerikus analízis), nem volt triviális téma. Cserébe a programokat könnyebb tárolni, módosítani, cserélni, nem kell a hardverhez hozzányúlni. Így a már létrehozott módszerek, algoritmusok birtokában könnyebb programozni. Továbbá az analóg számítógépek többnyire a problémák egy bizonyos fajtájának megoldására készültek, kevésbé univerzálisak, mint a digitális. (Pl amelyik jó egy erőmű modellezésére, azt nem fogjuk átprogramozni mp 3 kódolásra. . . )

(Digitális) Számítógép Program: számítások, műveletek sorozata, amelyek adott bemenő adatokból (input) a kívánt kimeneti

(Digitális) Számítógép Program: számítások, műveletek sorozata, amelyek adott bemenő adatokból (input) a kívánt kimeneti adatokat (output) előállítja (matematikailag: algoritmus, azaz annak megvalósítása adott gépen) n Tárolt program: előre bevihetjük a programot és az adatokat egy (több) tárolóba (memória), ahonnan a gép a saját ütemezésében be tudja hívni n

Számítógép n n n A tárolt program teszi lehetővé az összetettebb műveleteket, vezérlési lehetőségeket,

Számítógép n n n A tárolt program teszi lehetővé az összetettebb műveleteket, vezérlési lehetőségeket, időzített működést stb. Fontos részei a feltételes utasítások (elágazások), ugrások (függvényhívások) és ciklusok – ezek megkülönböztetik az egyszerű, szekvenciális programú számológépektől (valójában a klasszikus számítógépeket is szekvenciálisnak mondjuk Sok változata megengedi a program futása közbeni emberi beavatkozást, így interaktív programok születhettek (vs. megszakítás nélkül futó tudományos számítások, amik a korai gépek egyedüli alkalmazásai voltak)

Személyi számítógép (Personal Computer) Otthoni és munkahelyi használatra. n Emberre szabott beviteli, kiviteli és

Személyi számítógép (Personal Computer) Otthoni és munkahelyi használatra. n Emberre szabott beviteli, kiviteli és feldolgozó eszközökkel (perifériákkal, interfészekkel): ¨ billentyűzet, egér, képernyő, nyomtató, mikrofon, hangszóró és ezek meghajtó egységei, háttértárak stb. n n közepesen nagy teljesítményigényű feladatokra van kitalálva jellemzően interaktív programok céljára

Személyi számítógép Apple II (1977)

Személyi számítógép Apple II (1977)

Személyi számítógép Az eredeti IBM-PC (IBM 5150) (1981) Az IBM vezette be a personal

Személyi számítógép Az eredeti IBM-PC (IBM 5150) (1981) Az IBM vezette be a personal computer elnevezést a köztudatba.

Személyi számítógép ZX-80 (1980) ZX Spectrum (1982)

Személyi számítógép ZX-80 (1980) ZX Spectrum (1982)

Személyi számítógép Commodore-64 (1982)

Személyi számítógép Commodore-64 (1982)

Mobil számítógépek Valahol a PC/laptop és a beágyazott rendszer között. „Okostelefon”, tablet, stb. Nem

Mobil számítógépek Valahol a PC/laptop és a beágyazott rendszer között. „Okostelefon”, tablet, stb. Nem szükséges részletesebben ismertetni

Mobil személyi számítógép

Mobil személyi számítógép

Szuperszámítógép Tudományos és mérnöki számításokhoz. n Működtetése gyakran más számítógépeken keresztül történik, saját humán

Szuperszámítógép Tudományos és mérnöki számításokhoz. n Működtetése gyakran más számítógépeken keresztül történik, saját humán interfészek nem szükségesek n Nagyon nagy számítási teljesítmény (sok processzoros párhuzamos rendszerek) n Akár hónapokig is számolhat egy feladatot n Emberi beavatkozási nélküli, nem interaktív programok

Szuperszámítógép

Szuperszámítógép

Beágyazott rendszer (Embedded system) Különböző eszközök (gépek) vezérlésével foglalkozó, azokba beépített számítógép. n Gyakran

Beágyazott rendszer (Embedded system) Különböző eszközök (gépek) vezérlésével foglalkozó, azokba beépített számítógép. n Gyakran nem rendelkezik humán input-output interfésszel (vagy azt más eszközön keresztül végzi) n Más eszközökkel való kommunikációra alkalmas IO eszközei vannak (interfészek, portok) n Kis, közepes számítási teljesítmény

Beágyazott rendszer

Beágyazott rendszer

Beágyazott rendszer

Beágyazott rendszer

Beágyazott rendszer

Beágyazott rendszer

Beágyazott rendszer humán interfésszel

Beágyazott rendszer humán interfésszel

II. Számítógépek és processzorok működése

II. Számítógépek és processzorok működése

II. 1. Számítógépek alapelvei n n Turing, 1936 „On computable numbers. . . ”

II. 1. Számítógépek alapelvei n n Turing, 1936 „On computable numbers. . . ” Neumann, 1945 „First Draft of a Report on the EDVAC” Turing 1946 Automatic Computing Engine ¨ fenti publikációk egymásra is hatottak, ezek írják le a ma Neumann-elvekként ismert alapokat ¨ tárolt (flexibilis) program, kettes számrendszer, egész, fixpontos, lebegőpontos ábrázolás, kettes komplemens ¨ alapvető felépítés Turing 1950 „Computing machinery and intelligence”

Neumann elvek (számítógép) Kettes számrendszer, számábrázolási formátumok n Tárolt program; tárolt adatok n alap

Neumann elvek (számítógép) Kettes számrendszer, számábrázolási formátumok n Tárolt program; tárolt adatok n alap blokkvázlat (ALU, CU, IO, memória, perifériák) n

Számítógép felépítése (alapvetően a személyi számítógépekről és hasonlókról lesz szó. . ) n Tápegység

Számítógép felépítése (alapvetően a személyi számítógépekről és hasonlókról lesz szó. . ) n Tápegység (power supply unit, PSU) n Alaplap (mainboard) Központi feldolgozó egység (CPU, Central Processing Unit) ¨ Memóriák (RAM, ROM) ¨ Kiegészítő áramkörök (buszvezérlők, memóriavezérlők, órajelgenerátor stb. ) ¨ n Ki- és bemeneti (IO, input-output) illesztő áramkörök (interfészek) háttértár illesztők ¨ külső adatkapcsolati illesztők (soros, párhuzamos portok, hálózati illesztők) ¨ videó és hang illesztők ¨ n Perifériák (az interfészekhez csatlakozva) humán interfészek (kijelző, billentyűzet, egér, nyomtató, hangszóró stb. ) ¨ háttértárak, biztonsági rendszerek ¨

II. 2. Processzorok n n n A számítógépben több mikroprocesszor vagy mikrovezérlő is lehet.

II. 2. Processzorok n n n A számítógépben több mikroprocesszor vagy mikrovezérlő is lehet. Ezek közül egy van, amelyik a számítógép többi részét vezérli, amelyik a fő szoftvereket futtatja az oprendszertől a felhasználói programokig. Ez a CPU (Központi vezérlő egység). Előfordul, hogy egy gépben több (jellemzően egyforma típusú) mikroprocesszor együtt látja el a CPU feladatát; vagy maga a processzor belül tartalmaz több "magot" (core).

Miért mikroprocesszor? Mikroprocesszor (Motorola 6800, 1974) Nagyon nem mikro processzor (? 1940 -es, 50

Miért mikroprocesszor? Mikroprocesszor (Motorola 6800, 1974) Nagyon nem mikro processzor (? 1940 -es, 50 -es évek) Nem eléggé mikro processzor (PDP-11, 1970)

II. 2. 1 Processzor felépítése n n n Processzor fő részei: ALU: aritmetikai és

II. 2. 1 Processzor felépítése n n n Processzor fő részei: ALU: aritmetikai és logikai egység (arithmetic and logic unit) CU: vezérlő egység (control unit) regiszterek: kisméretű belső memória az ideiglenes adatoknak (számolási részeredményeknek) adatbusz csatlakozás: a bináris adatoknak (jell. párhuzamos) címbusz csatlakozás: a külső memória és perifériák címzéséhez (jell. párhuzamos)

Általános, egyszerű blokkvázlat

Általános, egyszerű blokkvázlat

Neumann vs. Harvard architektúra n Neumann: ¨ közös adat és program tárolás ugyanabban a

Neumann vs. Harvard architektúra n Neumann: ¨ közös adat és program tárolás ugyanabban a RAMban, pl. PC-n ¨ (vagy közös buszon érhetőek el, nem használhatóak egyszerre) n Harvard: ¨ külön program és adat tárolás (külön memória és külön buszon) (pl. mikrovezérlők) ¨ PC-n belül a cache sokszor felosztható instruction cache és data cache-re Harvard módon n variációk. . .

Példa Neumannarchitektúra

Példa Neumannarchitektúra

Példa Flash programmemória RAM Harvard-architektúra (PIC mikrovezérlő) Figyeljük meg, hogy a programmemória és a

Példa Flash programmemória RAM Harvard-architektúra (PIC mikrovezérlő) Figyeljük meg, hogy a programmemória és a RAM cellamérete is különböző!

II. 2. 2. Processzor működése n n Szüksége van egy (általában kívülről megkapott) órajelre

II. 2. 2. Processzor működése n n Szüksége van egy (általában kívülről megkapott) órajelre (clock). Ennek ütemére végzi a processzor a feladatok lépéseit, olvassa be és küldi ki az adatokat. Egy művelet elvégzése több órajel-ütemet is igénybe vehet. Az egyes utasítások végrehajtási ideje különböző lehet. Fentiek, a pipeline és a párhuzamos feldolgozás stb. miatt az órajel frekvenciája nem egyértelmű mutatója a műveletvégrehajtási sebességnek

Processzor működése n n (Klasszikus egymagos Neumann-arch. mikroproc. ) Utasítás beolvasása: ¨ ¨ ¨

Processzor működése n n (Klasszikus egymagos Neumann-arch. mikroproc. ) Utasítás beolvasása: ¨ ¨ ¨ CPU kiteszi a Program Counter (PC) regiszterben lévő memória címet a címbuszra (address bus) CPU a vezérlőbuszon (control bus) jelzi, hogy a memóriát (RAM/ROM) akarja elérni (pl. IO/M jelvezetékkel) CPU a vezérlőbuszon jelzi, hogy olvasást akar végrehajtani (pl. R/W jelvezetékkel) A memória egység címdekódere előállítja a címből és az IO/M jelből a megfelelő memóriamodul engedélyező jelét (pl. EN vagy CS) A memória megkapja a címet a címbuszán, és a read jelet, válaszul kiadja az adatbuszán a címzett helyen lévő adatcsomagot (ált. 8 bit vagy n*8 bit). Szükség esetén data ready vagy hasonló értelmű jelzést küldhet a vezérlőbuszon, ha az adat biztosan az adatbuszon van és beolvasható

Processzor működése n Utasítás beolvasása folyt. : CPU beolvassa az adatbuszon lévő adatot (fetch)

Processzor működése n Utasítás beolvasása folyt. : CPU beolvassa az adatbuszon lévő adatot (fetch) az Instruction Register-be ¨ CPU valamikor eközben növeli eggyel az utasításszámlálót (PC) ¨ n n CPU vezérlő egysége (Control Unit) értelmezi az utasítást (decode) Szükség esetén utasítás következő részének (pl. paraméter, memóriacím) beolvasása az előzőek szerint Utasítás végrehajtása (execute). Ha van számolási eredmény, annak beírása belső regiszterbe vagy kiadása adatbuszra (memóriacím kiadása címbuszra, write memory parancs). Ha ugrás volt, akkor Program Counter növelése (ilyenkor a pipeline is törlésre kerül).

Óraciklusok Órajel periódusideje (System clock period) (T) n Gépi ciklus (Machine cycle) (n*T) n

Óraciklusok Órajel periódusideje (System clock period) (T) n Gépi ciklus (Machine cycle) (n*T) n ¨ egy utasítás végrehajtásának egyes lépései, pl. beolvasás, értelmezés, végrehajtás, kiírás n Utasításciklus (Instruction cycle) (több gépi ciklus)

órajel periódus LD B, C T 1 T 2 T 3 T 4 T

órajel periódus LD B, C T 1 T 2 T 3 T 4 T 5 Opcode Fetch M 1 T 1 M 1 T 3 T 4 T 2 T 1 T 2 T 3 T 4 T 5 Opcode Fetch M 1 T 1 M 2 T 3 T 1 T 4 T 2 T 5 T 1 T 2 T 3 T 4 T 5 Opcode Fetch M 1 T 1 M 2 T 2 T 3 T 1 T 4 T 2 T 3 T 4 T 5 M 3 T 1 T 5 T 2 M 1 T 3 T 4 T 5 gépi ciklus ADD A, (HL) T 3 T 4 T 5 M 1 JP nn PUSH HL Közös része minden utasításnak átfedés

Pipeline („csővezeték”) Program futtatás meggyorsítását célzó üzemmód. A gépi kódú utasításokat az előzőekben ismertetett

Pipeline („csővezeték”) Program futtatás meggyorsítását célzó üzemmód. A gépi kódú utasításokat az előzőekben ismertetett módon kisebb feladatok sorozatára lehet bontani. Ezeket az elemeket (gépi ciklusok) futószalagszerűen hajtjuk végre, azaz pl. amíg egy utasítás a végrehajtási fázisban van, a következő utasítás a dekódolási fázisban, az azutáni pedig a beolvasási fázisban stb. Így, ha pl. négy állomású a csővezeték, akkor négy gépi ciklusonként jönne ki hagyományosan egy utasítás, de most minden ciklusban ki fog egy jönni, azaz négyszeres a gyorsítás (miután kezdetben feltöltöttük a csővezetéket!).

Pipeline („csővezeték”) Többféle pipeline létezik, a kételeműtől az akár húszeleműig. (Pl. PIC és AVR

Pipeline („csővezeték”) Többféle pipeline létezik, a kételeműtől az akár húszeleműig. (Pl. PIC és AVR mikrovezérlők 2 elemű, Pentium 4 20 elemű. )

Pipeline n Problémák a pipeline megoldással: ¨ vezérlésátadás (ugrás) esetén újra kell tölteni a

Pipeline n Problémák a pipeline megoldással: ¨ vezérlésátadás (ugrás) esetén újra kell tölteni a sort ¨ feltételes ugrás esetén lehet, hogy újra kell tölteni a sort ¨ előző esetekben a sorban lévő, félig végrehajtott utasítások módosíthatnak regiszter tartalmakat >hazárd ¨ egy utasításnak szüksége lehet olyan paraméterre, amit az időben épp előtte lévő utasítás ad ki, de még nem került visszaírásra ¨ Tehát akkor optimális, ha kevés az ugrás (elágazás), vagy azok jól vannak "megtervezve".

Pipeline hazárd Képzeljünk el egy 5 lépéses pipeline-t (csak hogy az előző oldalitól különbözőt

Pipeline hazárd Képzeljünk el egy 5 lépéses pipeline-t (csak hogy az előző oldalitól különbözőt mutassunk): 1. Instruction fetch 2. Instruction decode and register fetch 3. Execute 4. Memory access 5. Register write back Vegyük a következő példa programrészletet (pszeudokód): B=3; C=B; Hajtsuk végre t 1 óraciklussal kezdve, ciklusonként egy pipeline lépéssel. Az 1. utasítás eredménye az 5: write-back lépésben íródik bele a B regiszterbe, ez t 5 időpontban lesz meg. A 2. utasítás a saját 2: register fetch lépésében olvassa be B regiszter értékét, ez t 3 időpontban történik, azaz hamarabb, mint ahogy az 1. utasítás beleírt volna.

Pipeline n megoldási lehetőségek: ¨ ugró utasítások: n n behívásakor a mögötte lévő sort

Pipeline n megoldási lehetőségek: ¨ ugró utasítások: n n behívásakor a mögötte lévő sort üres utasításokkal (nop=no operation) feltölteni feltételes ugrásnál megjósolni a következő címet (branch prediction) ¨ ¨ ¨ ilyen utasításoknál vagy a soron következő utasítás jön, vagy elugrik egy másik címre; statikus jóslás esetén a soron következő tippel főleg ciklusok esetén jó eséllyel jósolhatunk; a compiler pedig sokat segíthet a megfelelő gépi utasítások kiválasztásával adatütközés lehetősége esetén: n n n a két utasítás közé betenni nop-ot; jelzőbit a regiszter módosítását mutatja, késlelteti a következő utasítás végrehajtását pipeline szintjei közötti belső adatátvitel

Megszakítások (Interrupt) n Hardveres megszakítás: ¨ Külső (CPU-n kívüli) eszköz jelezheti a CPUnak, hogy

Megszakítások (Interrupt) n Hardveres megszakítás: ¨ Külső (CPU-n kívüli) eszköz jelezheti a CPUnak, hogy törődést igényel (interrupt request, IRQ) ¨ CPU-nak van külön bemenete erre a célra (vezérlőbuszon, ált. INT néven) ¨ CPU visszajelezheti az elfogadást (INTA: interrupt acknowledge) ¨ Elfogadás esetén végrehajt egy szubrutint (programot), ami foglalkozik a külső eszközzel

Megszakítások (Interrupt) n Hardveres megszakítás fajtái: ¨ szintvezérelt n egy bizonyos időszakban ellenőrzi a

Megszakítások (Interrupt) n Hardveres megszakítás fajtái: ¨ szintvezérelt n egy bizonyos időszakban ellenőrzi a szintet; elkerülhető a zajimpulzusok hatása ¨ élvezérelt n (level triggered): (edge triggered) feszültségváltozást érzékel; célszerű hozzá egy tároló (latch), hogy cpu ne felejtse el, hogy mit kell csinálnia, ha nem megfelelő időben jött az interrupt; pergésmentesítés is szükséges lehet

Megszakítások (Interrupt) n Szoftveres megszakítás: ¨ különleges helyzet áll elő utasításvégrehajtás közben (trap vagy

Megszakítások (Interrupt) n Szoftveres megszakítás: ¨ különleges helyzet áll elő utasításvégrehajtás közben (trap vagy exception); pl. nullával osztás ¨ szoftver szubrutin meghívás (INT utasítás), pl. BIOS vagy oprendszer függvények meghívása (pl. tégy ki egy karaktert a képernyőre)

Megszakítások kezelése CPU elmenti a PC (utasításszámláló) (eggyel növelt) értékét a verembe (stack) n

Megszakítások kezelése CPU elmenti a PC (utasításszámláló) (eggyel növelt) értékét a verembe (stack) n betölti a megszakítás kezeléséhez szükséges alprogram kezdőcímét n végrehajtja a programot (ISR: interrupt service routine) n return (ret, iret vagy hasonló) utasítás hatására visszaolvassa PC korábbi értékét a veremből; így visszatér a korábbi program futtatásához n

Verem (stack) n n LIFO (last in, first out) jellegű memória ált. RAM egy

Verem (stack) n n LIFO (last in, first out) jellegű memória ált. RAM egy része van erre a célra felhasználva; lehet fix méretű vagy dinamikus lehet fizikailag külön is megvalósítva, pl. mikrovezérlőkben ha megtelt, a következő verembe mentésnél stack overflow hibaüzenetet kapunk (jellemzően a program futása megszakad vagy végtelen ciklusba kerül ("lefagy"))

Megszakítások kezelése n n CPU többnyire csak a PC-t menti el verembe, így nekünk

Megszakítások kezelése n n CPU többnyire csak a PC-t menti el verembe, így nekünk (szubrutin írójának) kell gondoskodnia arról, hogy az interrupt rutin elején a többi regiszter értékét is elmentsük, ha azokat a szubrutin felülírná, és a rutin végén visszatölteni (szintén veremből) szubrutin elején célszerű kiadni a disable interrupt (di) utasítást, legalább, amíg a fenti mentés megtörténik, hogy ne szakítsa félbe egy újabb interrupt; a rutin végén enable interrupt (ei) (nem minden interrupt bemenet tiltható (maszkolható))

Megszakítások kezelése n vektorosan kezelt int. : ¨ pl. n 8085 processzor hardveres irq:

Megszakítások kezelése n vektorosan kezelt int. : ¨ pl. n 8085 processzor hardveres irq: a TRAP, RST 5. 5, RST 6. 5, RST 7. 5 bemenetekre érkező kérés előre eltárolt memória címekre ugrik ¨ szoftveres n irq: az utasításban megadott vektorra ugrik (pl. int 21 h (DOS függvényhívás))

Megszakítások kezelése n nem vektoros int: ¨ pl. n 8085: az irq-t adó külső

Megszakítások kezelése n nem vektoros int: ¨ pl. n 8085: az irq-t adó külső eszköz az adatbuszra tesz egy utasítást, amit a cpu beolvas; ez jellemzően egy call vagy rst (szubrutin hívás utasítás) egy memóriacímmel (a call/rst hívás után is működik a return, ugyanúgy a verembe automatikusan mentett PC-vel) ¨ 8086: n hasonló, de itt egy számot kap az adatbuszon, amiből szorzással előállítja az interrupt vector címet (a memória egy adott részén van a vector table, ami a szubrutinok kezdőcímeit tartalmazza, tehát pointer táblázatról van szó)

Megszakítások kezelése n peripherial interrupt controller: ¨ eredetileg külön külső IC ¨ a bemeneteire

Megszakítások kezelése n peripherial interrupt controller: ¨ eredetileg külön külső IC ¨ a bemeneteire az egyes eszközökből jövő int vonalak jönnek, a kimenete a CPU int bemenete; ill. adatbuszra is csatlakozik ¨ felprogramozható az interrupt vektorok címeivel (vagy offsetjeivel) ¨ a bemenetei között prioritási sorrendet lehet felállítani (tip. a kisebb sorszámú a legfontosabb)

II. 2. 3. Utasításkészlet (instruction set): a processzor által „hardveresen” ismert utasítások halmaza Gépi

II. 2. 3. Utasításkészlet (instruction set): a processzor által „hardveresen” ismert utasítások halmaza Gépi kód (machine code): az utasításkészletben található utasítások sorozatából álló program, binárisan tárolva, gyakran hexadecimálisan megjelenítve. Ez a processzor által közvetlenül futtatható program.

Assembly: a legalacsonyabb szintű, processzorfüggő programozási nyelv. Lényegében a gépi utasításokhoz egy-egy könnyebben megjegyezhető

Assembly: a legalacsonyabb szintű, processzorfüggő programozási nyelv. Lényegében a gépi utasításokhoz egy-egy könnyebben megjegyezhető szót rendelünk (mnemonic), ill. megkönnyítjük az adatábrázolást, behelyettesítéseket (tehát pl. a számadatokat írhatjuk decimálisban, a szöveges adatot ascii-ban, az ugrásoknál név szerint hivatkozhatunk a sorokra stb. ).

Assembly példa (8086) clrscr proc near mov ax, 0 b 800 h mov es,

Assembly példa (8086) clrscr proc near mov ax, 0 b 800 h mov es, ax mov di, 0 mov al, ' ' mov ah, 07 d loop_clear_12: mov word ptr es: [di], ax inc di cmp di, 4000 jle loop_clear_12 ret endp

Fordítás Az eredetileg nem gépi kódban megírt programokat fordítóprogram (compiler) segítségével (régen kézzel!) alakítják

Fordítás Az eredetileg nem gépi kódban megírt programokat fordítóprogram (compiler) segítségével (régen kézzel!) alakítják gépi kódra. Magasabb szintű (pl. grafikus) nyelveknél ez akár több lépésben (közbenső nyelv használatával) is történhet. Kérdés: milyen nyelven írják a fordítót?

Utasítások típusai (példák) ¨ aritmetikai művelet: add, subtract, increment ¨ logikai művelet: and, or,

Utasítások típusai (példák) ¨ aritmetikai művelet: add, subtract, increment ¨ logikai művelet: and, or, xor, complement ¨ bitművelet: rotate ¨ adatmozgató utasítás: move, exchange ¨ vezérlésátadás: jump, call, return ¨ feltételes utasítás: jump on condition ¨ I/O: in, out ¨ stack: push, pop

Utasítások címzési módjai n Közvetlen adatmegadás (immediate addressing mode): konstans érték szerepel az utasításban

Utasítások címzési módjai n Közvetlen adatmegadás (immediate addressing mode): konstans érték szerepel az utasításban ¨ pl. mvi register, data (pl. mvi A, 9) ¨ n Regiszterekkel (register a. m. ): egyik regiszterből a másikba ¨ pl. mov register 1, register 2 (mov ax, bx) (2 ->1) ¨ n Közvetlen címzés (direct a. m. ): konstans memóriacím szerepel utasításban ¨ pl. lda address (pl. lda 0 x. F 000) ¨ n Közvetett memóriacímzés (indirect a. m. ): címet regiszter(ek)ben tároljuk (pointer) ¨ pl. mov register, M (pl. mov A, HL) (HL a pointer regiszterpár) ¨ n Relatív címzés (relative a. m. ) ¨ Egy báziscímhez (vagy program counterhez) képesti eltolást tartalmazza az utasítás (báziscímet is regiszterek tárolják)

Utasításkészlet fajtái RISC: reduced instruction set computer n CISC: complex instruction set computer n

Utasításkészlet fajtái RISC: reduced instruction set computer n CISC: complex instruction set computer n egyéb (pl. OISC: one instruction) n szokás szerint nem egységes a definíció, nem egyértelmű a meghatározás n

CISC sok utasítás (nem feltétlen!) n összetett utasítások (bonyolultabb feladatok megoldhatóak egy utasításból) n

CISC sok utasítás (nem feltétlen!) n összetett utasítások (bonyolultabb feladatok megoldhatóak egy utasításból) n összetett adatszerkezetek támogatása n utasítások többféleképpen, közvetlenül is hozzáférnek memóriához (sokak szerint ez a fő ismérve CISC-nek) n

CISC n Előnyei: ¨ magasabb szintű nyelvekről könnyebb fordítani (? ) ¨ ha sok

CISC n Előnyei: ¨ magasabb szintű nyelvekről könnyebb fordítani (? ) ¨ ha sok összetett utasításra van szükségünk, gyorsabb és rövidebb lehet a programunk ¨ a kevés utasítást tartalmazó, de közvetlen memória hozzáférést biztosító változatnál (pl. egyesek szerint a PIC) könnyebb lehet az asm programozás

CISC n hátrányai: ¨ ha sok bonyolult utasítás van, nehezebb lehet az asm programozás

CISC n hátrányai: ¨ ha sok bonyolult utasítás van, nehezebb lehet az asm programozás ill. hibakeresés (debug) ¨ (ha viszont kevés, de sokat tudó utasítás, az épp megkönnyítheti, ld. pl. 8 bites PIC-ek) ¨ u. P erőforrást/helyet foglal sok olyan funkció, amit ritkán használunk n CISC-et gyakran microcode architektúrával valósítják meg

Utasításkészlet: microcode n n n microcode: a processzoron belül kétszintű a program végrehajtása: a

Utasításkészlet: microcode n n n microcode: a processzoron belül kétszintű a program végrehajtása: a gépi kódú utasításokat még alacsonyabb szintű utasítások (microinstructions) sorozatára bontja (CISC->RISC) kívülről nem látszik – még assembly szinten sem! a gépi kód így könnyebben változtatható a hardver módosítása nélkül; ill. hasonló processzortípusok gépi kódja is hasonló lehet, míg a microcode különbözik (kód hordozhatóság) akár más processzor emulációja is lehetséges könnyebb hardver (processzor) fejlesztés

RISC kevesebb utasítás n egyszerűbb utasítások n memóriából (RAM) jellemzően csak egyszerű írás-olvasás művelet

RISC kevesebb utasítás n egyszerűbb utasítások n memóriából (RAM) jellemzően csak egyszerű írás-olvasás művelet van, azaz RAM-ból beolvassuk értéket u. P regiszterébe, onnan férnek hozzá az utasítások (load/store architecture) n

RISC n előnyei: ¨ az összetett utasításokra ritkábban van szükség, így kevesbé hátrányos, hogy

RISC n előnyei: ¨ az összetett utasításokra ritkábban van szükség, így kevesbé hátrányos, hogy azokat szoftverből valósítjuk meg ¨ a u. P adott méretében az egyszerűbb, kevesebb utasítás megvalósítása gyorsabb műveletvégzést eredményez, ill. maradék helyet pl. regisztereknek, egyéb funkcióknak

RISC ¨ igyekeznek arra, hogy utasítások hossza és végrehajtási ideje egyforma (és rövid) legyen

RISC ¨ igyekeznek arra, hogy utasítások hossza és végrehajtási ideje egyforma (és rövid) legyen ¨ elősegíti a pipeline szervezést n hátrányai: ¨ jobban optimalizált fordítóra van szükség ¨ a gépi kód hosszabb lehet, ¨ ha sok bonyolult utasítás kell, akkor lassabb lehet

CISC-RISC a különbség, a definíció nem egyértelmű: n lehet egy u. P-ban kevés, egyszerű

CISC-RISC a különbség, a definíció nem egyértelmű: n lehet egy u. P-ban kevés, egyszerű utasítás, de összetett memóriakezeléssel n lehet egyszerű load/store memóriakezelés, de bonyolult , nagy utasításkészlettel (pl. magasabbszintű matematikai műveletek, mátrixok, hardverkezelés) n

Párhuzamosítás SISD n MISD n SIMD n MIMD n

Párhuzamosítás SISD n MISD n SIMD n MIMD n

SIMD Single instruction, multiple data „vektor” utasítások egy utasítást kell kiadni, de a paraméter

SIMD Single instruction, multiple data „vektor” utasítások egy utasítást kell kiadni, de a paraméter nem egy szám, hanem egy vektor (mátrix) eredetileg a vektor tagjait egymás után dolgozta fel, később több egyforma egységgel párhuzamosan

Memória címzés Közvetlen n Bankválasztós n Szegmentált n Virtuális n

Memória címzés Közvetlen n Bankválasztós n Szegmentált n Virtuális n

Közvetlen (flat/linear memory model): n n bites címbuszon 2 n bájt memóriát érhetek el

Közvetlen (flat/linear memory model): n n bites címbuszon 2 n bájt memóriát érhetek el (a memóriacellák általában 1 B méretűek) ¨ példák: ¨ 8085, 6502: 16 bit címbusz: 216 B=65536 B (64 ki. B) ¨ 8086/8088 (IBM-PC): 20 bit: 220 B= 1 Mi. B ¨ 80386, 486, Pentium: 32 bit: 232 B=4 Gi. B ¨ Pentium-4: 36 b: 236=64 Gi. B ¨ x 86 -64 u. P-k (fizikailag): 252=4 Pi. B

Bank switching n n n egy bank pl. egy RAM modul, ezek közös adatbuszon

Bank switching n n n egy bank pl. egy RAM modul, ezek közös adatbuszon és közös címbuszon vannak bank mérete ált. a max fizikailag címezhető az egyes bank modulokat az enable (vagy másnéven chip select) bemenetekkel (és kiegészítő áramkörökkel) lehet választani, egyszerre mindig egyet használunk van egy közös (shared) címterület, amelyre ugyanazt a tartományt képezzük le => rendszer régebbi processzoroknál (pl. 16 b címbuszúak) használták

Szegmentált memóriacímzés n A közvetlenül megcímezhető tartományt kisebb blokkokra (szegmensekre) osztjuk. ¨ Logikai cím:

Szegmentált memóriacímzés n A közvetlenül megcímezhető tartományt kisebb blokkokra (szegmensekre) osztjuk. ¨ Logikai cím: segment: offset ¨ Segment address (base address): szegmens kezdő címe ¨ Offset: memóriacella szegmensen belüli címe ¨ A fizikai címet a két részből adjuk össze: n fizikai cím=szegmens cím x 2 x + eltolás (offset)

Szegmentált memóriacímzés n Példa: ¨ i 8086 u. P: 16 b adatbusz, 20 b

Szegmentált memóriacímzés n Példa: ¨ i 8086 u. P: 16 b adatbusz, 20 b címbusz ¨ 1 MB fizikai címtartomány ¨ 20 bites cím nem fért volna bele a 16 bites regiszterekbe ¨ 16 darab 64 Ki. B szegmens ¨ 16 b szegmens cím, 16 b offset ¨ fizikai cím=szegmenscím*16+offset cím ¨ ebből következően a szegmensek átfedhetnek (overlap)

Szegmentált memóriacímzés ¨A szegmens kezdőcímét a processzor szegmens regiszterében (regisztereiben) tároljuk. ¨ Az aktuális

Szegmentált memóriacímzés ¨A szegmens kezdőcímét a processzor szegmens regiszterében (regisztereiben) tároljuk. ¨ Az aktuális programnak többnyire csak az ofszet címet kell kezelnie => kisebb méretű cím, beleférhet kevesebb regiszterbe, rövidebb idő alatt betölti, gyorsabban lefuttatható. Ilyenkor a program csak azt a szegments használja. ¨ Külön programok vagy szubrutinok külön memóriaterületet kaphatnak. Elválasztható az oprendszer memóriája az alkalmazásokétól (memory protection).

Szegmentált memóriacímzés n 8086 (ill. a későbbi x 86 verziókban a real mode) szegmensei

Szegmentált memóriacímzés n 8086 (ill. a későbbi x 86 verziókban a real mode) szegmensei és szegmens regiszterei: ¨ Code Segment (CS): utasításoknak ¨ Stack Segment (SS): veremtár számára ¨ Data Segment (DS): egyéb adatok számára ¨ Extra Segment (ES): egyéb, pl. string műveleteknek ¨ nincs memória (szegmens) védelem!

Szegmentált memóriacímzés n Variáció: ¨ az egyes programoknak külön főszegmensük van, azon belül saját

Szegmentált memóriacímzés n Variáció: ¨ az egyes programoknak külön főszegmensük van, azon belül saját alszegmensként a CS, DS, SS ¨ megjelenhet a szegmens védelem

Virtuális memória n n n A v. m. egy folytonos memória címtartományt mutat a

Virtuális memória n n n A v. m. egy folytonos memória címtartományt mutat a programok felé. A processzorban az MMU (memory management unit) lefordítja a virtuális címet a fizikai címre. A virtuális memóriában egybefüggő terület a valóságban egymástól távol lévő részekből állhat. A lapozás (paging) használatával a virtuális tartomány nagyobb lehet, mint a fizikai RAM. A virtuális címek lefordításánál is lehet védelmi funkciókat megvalósítani.

Lapozás (Paging) n n n A virtuális memóriakezelés része. A programok által igényelt memóriát

Lapozás (Paging) n n n A virtuális memóriakezelés része. A programok által igényelt memóriát fix méretű blokkokra, lapokra (page) osztjuk. A lapok tartalma lehet a RAM-ban, vagy a háttértáron (swap file). A page table tartja számon a lapok helyét. Ha egy programnak szüksége van egy lapra, ami nincs bent a RAMban, laphiba (page fault) keletkezik, amire válaszul a rendszer megpróbálja a kért lapot a háttértárból a RAM-ba tölteni (és az ott lévő lapot meg kiírni), és újraindítani a hivatkozó utasítást. (Így normál esetben a laphiba nem jelent valódi hibát, kivéve, ha a hivatkozott lap nem létezik. ) Megoldás lehet pl. akkor, ha a fizikailag címezhető memóriatartomány nagyobb a ténylegesen rendelkezésre állónál. Vagy ha ugyanakkora, akkor a párhuzamosan futó programok nagyobb területet kaphatnak (nem vonják el egymástól).

Memory protection n n A futó programok (folyamat, process) saját memóriaterülettel rendelkeznek (segment, page,

Memory protection n n A futó programok (folyamat, process) saját memóriaterülettel rendelkeznek (segment, page, stb. ), erre van írási-olvasási jogosultságuk, a többire nincs (pl. oprendszer által elfoglalt memóriaterületre). Modern processzorok hardver szinten valósítják meg a jogosultságkezelést, védelmet. Megvalósítható szoftver szinten is (lassabb és könnyebben megkerülhető). "Meltdown" és "Spectre" támadások ezt a hardveres funkciót próbálják megkerülni.

Több bájtos számok tárolása n n n szó (word): több bájton tárolt szám (adat)

Több bájtos számok tárolása n n n szó (word): több bájton tárolt szám (adat) kétféle tárolási (ill. átviteli) mód: little endian ¨ LSB first, azaz legkisebb helyiértéket tároljuk legkisebb címen (ill. küldjük először) ¨ összeadásnál LSB-vel kezdünk, könnyebb a hardvert megvalósítani n big endian ¨ MSB first, azaz legnagyobb helyiértéket tároljuk legkisebb címen

Több bájtos számok tárolása n Little endian: n n Intel-AMD x 86, x 86

Több bájtos számok tárolása n Little endian: n n Intel-AMD x 86, x 86 -64 sorozat Big endian: Motorola 68000 leszármazottak ¨ AVR 32 ¨ IBM System/360, z/Architecture ¨ Internet Protocol (IP, TCP, UDP) ¨ n Bi-endian (beállítható): ¨ n ARM 3 -tól, Power. PC, Alpha, MIPS, Itanium stb. Előkerülhet a probléma akár egy mérőműszer-PC összekötésnél is. .

II. 3. 1. Alaplapok felépítése Jellemzően tartalmazza: n CPU n RAM (ideiglenes (munka)memória) n

II. 3. 1. Alaplapok felépítése Jellemzően tartalmazza: n CPU n RAM (ideiglenes (munka)memória) n ROM (tartós memória, pl. BIOS) n vezérlő áramkörök (chipset) n csatlakozási lehetőség IO eszközöknek, kiegészítő kártyáknak, tápnak n

Buszrendszer n Busz (sín): az összetartozó bináris információt szállító vezetékek/vezetősávok összessége ¨ soros n

Buszrendszer n Busz (sín): az összetartozó bináris információt szállító vezetékek/vezetősávok összessége ¨ soros n vagy párhuzamos: pl. 8 bit adatméret esetén: 8 vezeték, a 8 bit egyszerre érkezik be ¨ pl. alaplapi adat- és címbusz, régi nyomtató csatlakozás (LPT/Centronix), régi HDD csatlakozás (PATA/IDE) n soros: egy vezeték (vagy kétirányú esetén lehet kettő), így pl. 8 bites adatot 8 óraciklus alatt továbbít ¨ pl. külső periféria csatlakozások (RS-232, USB), mai HDD (SATA), I 2 C, SPI (pl. mikrovezérlőkben)

Egyszerű buszrendszer

Egyszerű buszrendszer

Példa közvetlen memória illesztésre Pl. 4 bites adatbusz, 8 bites címbusz, össz. 256 B

Példa közvetlen memória illesztésre Pl. 4 bites adatbusz, 8 bites címbusz, össz. 256 B memória, ebből 1 x 64 B ROM, 3 x 64 B RAM cím felső 2 bitje választja ki a memóriamodult (címdekódolás nand kapuval

Példa: ZX Spectrum logikai kapuk RF modulátor (TV kimenet) 7805 fesz. stab. Z 80

Példa: ZX Spectrum logikai kapuk RF modulátor (TV kimenet) 7805 fesz. stab. Z 80 CPU 16 ki. B ROM kvarc (cpu) video modulátor kvarc (video) bill. csatl. 8 x 2 ki. B RAM ULA (vezérlő IC) 8 x 4 ki. B RAM

IBM-PC (8088) (1981)

IBM-PC (8088) (1981)

IBM PC-AT (80286) (1984)

IBM PC-AT (80286) (1984)

80386 Processzor órajele magasabb lett, mint az ISA buszé, szükségessé vált az illesztő hardver

80386 Processzor órajele magasabb lett, mint az ISA buszé, szükségessé vált az illesztő hardver

Pentium Északi híd – Déli híd architektúra

Pentium Északi híd – Déli híd architektúra

Intel Hub Architecture (IHA) Pentium Pro -. . .

Intel Hub Architecture (IHA) Pentium Pro -. . .

Intel PCH architektúra Core sorozat

Intel PCH architektúra Core sorozat

shared memory config.

shared memory config.

II. 3. 2 Memória RAM: random access memory, tetszőleges hozzáférésű, írható-olvasható memória, jellemzően illékony

II. 3. 2 Memória RAM: random access memory, tetszőleges hozzáférésű, írható-olvasható memória, jellemzően illékony n ROM: read only memory, csak olvasható (gyárilag írt), nem illékony n EEPROM, Flash: olyan ROM, amit megfelelő módszerekkel felhasználó is felülírhat n

Memória n n n ROM: rendszer (vagy kiegészítő kártyák) induláshoz szükséges programok, pl. BIOS

Memória n n n ROM: rendszer (vagy kiegészítő kártyák) induláshoz szükséges programok, pl. BIOS Alaplapi RAM : processzor munkaterülete, innen futtatja programokat, illetve ideiglenes eredményeket tárol Videó RAM: az alaplapi RAM egy része vagy a videókártyán különállóan; a képernyőn megjelenő tartalmat tárolja

BIOS n n n Basic Input-Output System ROM-ban tárolt kisméretű program A gép indulásakor

BIOS n n n Basic Input-Output System ROM-ban tárolt kisméretű program A gép indulásakor ezt olvassa be a CPU elsőnek Ez indítja el a háttértáron (pl. merevlemez) tárolt operációs rendszert Bizonyos alapszintű függvényhívásokat is biztosít a programok számára (hardverkezelés) PC-AT óta tartozik hozzá egy program, amivel a PC alapbeállításait lehet módosítani, ezeket RAM-ban tárolja (előtte kapcsolósor volt)

IO/M választás Külön címtartomány (port mapped IO) ¨ ugyanaz a cím lehet IO vagy

IO/M választás Külön címtartomány (port mapped IO) ¨ ugyanaz a cím lehet IO vagy M cím ¨ a vezérlő busz (control bus) egyik vezetéke választ IO/M között ¨ majdnem ugyanaz, mintha plusz egy vezeték/bit lenne a címbuszban, de ¨ az IO címtartomány gyakran kisebb; pl 16 b a M-nek, de csak 8 b az IO-nak ¨ korlátozza a bővíthetőséget

IO/M választás n Memóriába leképzett IO (Memory mapped IO) ¨a memória címtartomány egy része

IO/M választás n Memóriába leképzett IO (Memory mapped IO) ¨a memória címtartomány egy része IO eszközök számára van fenntartva ¨ rugalmasabb ¨ lehet fix vagy ideiglenes (átváltható) ¨ ha kitöltöttük a teljes címtartományt RAM IC-kkel, akkor egy részüket nem fogjuk tudni elérni ld. pl. „PCI hole” ¨ PIC microcontroller: IO funkciók RAM regisztereken keresztül érhetőek el (Special Function Registers) ¨ x 86: mindkét módot támogat, többnyire memory mapped; 64 biten csak utóbbi

DMA – Direct Memory Access n n CPU helyett DMA controller-en megy keresztül az

DMA – Direct Memory Access n n CPU helyett DMA controller-en megy keresztül az adat A DMA controller gyorsabban, hatékonyabban viszi át az adatokat, ill. képes nagy blokkok átvitelére (nem kell külön bájtonként utasítani CPU-t – bár a tömbátvitelt már ismerik a modern processzorok (vektorutasítások))

DMA n n n Probléma: buszt egyszerre csak vagy CPU vagy DMA kezelheti. Bájtonkénti

DMA n n n Probléma: buszt egyszerre csak vagy CPU vagy DMA kezelheti. Bájtonkénti átvitel: egyes átvitelek között CPU megkaphatja a buszt (be kell olvasnia az utasításokat stb) (cycle stealing) – pl. real time rendszerekben Tömbösített átvitel (burst mode): CPU vár (hold) Ha memória órajel gyorsabb, mint CPU akkor felváltva férhetnek hozzá (interleaved) Átlátszó (transparent): DMA figyeli, mikor szabad a busz Ha van cache, CPU dolgozhat tovább, de ilyenkor különbség lehet a cache és a RAM tartalma között (cache incoherence) -> cache-t ki kell írni DMA művelet előtt

DMA ISA busz: van egy/két DMA vezérlő, 4/8 DMA csatorna n PCI busz: nincs

DMA ISA busz: van egy/két DMA vezérlő, 4/8 DMA csatorna n PCI busz: nincs központi vezérlő, bármelyik PCI eszköz kérheti a busz vezérlését a PCI vezérlőtől (déli híd) n

SRAM (Static RAM) Minden bit lényegében egy flipflop. Egy bit általában 6 tranzisztor. Van

SRAM (Static RAM) Minden bit lényegében egy flipflop. Egy bit általában 6 tranzisztor. Van 4 tranzisztor + 2 ellenállás változat is (többet fogyaszt, kisebb hely). Amíg van tápfesz, megtartja az értékét (nem kell frissíteni). Gyorsabb, mint a DRAM. Kisebb az adatsűrűség (bit/terület), mint DRAM, egy bit több helyet foglal, de egyszerűbb a vezérlése. Drágább. Ilyen van a cache-ben ill. mikrokontrollerekben.

DRAM (Dynamic RAM) Minden bit egy tranzisztor + egy kondenzátor. Nagy adatsűrűség. Rendszeres frissítés

DRAM (Dynamic RAM) Minden bit egy tranzisztor + egy kondenzátor. Nagy adatsűrűség. Rendszeres frissítés kell - külső vezérlő vagy a DRAM-ba beépített (kondi elveszti töltését). 64 ms frissítési idő (refresh time). 8192 sor: 7, 8 us frissítési ciklus Felhasználás: nagy méretű RAM (számítógép)

Cache Sebességnövelő megoldás n u. P-n kívüli memória hozzáférés lassabb, mint a tokba beépítetté

Cache Sebességnövelő megoldás n u. P-n kívüli memória hozzáférés lassabb, mint a tokba beépítetté n DRAM lassabb, mint SRAM (de nagyobb) n cache: kisméretű, gyors SRAM (többnyire) processzoron belül n

Cache n külső RAM-ból a cache-be töltjük azokat az adatokat, amelyeket a közeljövőben gyakran

Cache n külső RAM-ból a cache-be töltjük azokat az adatokat, amelyeket a közeljövőben gyakran kívánunk használni ¨ futtatott program részei ¨ szükségesebb adatok, változók n külső RAM-mal szinkronizálni kell! ¨ összetett n vezérlést igénye többszintű lehet

Cache AMD Athlon 64

Cache AMD Athlon 64

II. 4. Példák processzor felépítésre

II. 4. Példák processzor felépítésre

i 4004

i 4004

i 8008 (részletesebb)

i 8008 (részletesebb)

i 8080

i 8080

i 8085

i 8085

Z 80

Z 80

Z 80

Z 80

Z 80 teszt áramkör

Z 80 teszt áramkör

MOS 6502

MOS 6502

6502 ugyanaz, mint előző, csak részletesebben

6502 ugyanaz, mint előző, csak részletesebben

i 8086

i 8086

i 8087 FPU (Floating point unit)

i 8087 FPU (Floating point unit)

i 80286

i 80286

i 80386

i 80386

i 80486 DX 2

i 80486 DX 2

Intel Itanium n n n 2001 -től; vállalati információs rendszerekhez Intel, HP specifikációk 64

Intel Itanium n n n 2001 -től; vállalati információs rendszerekhez Intel, HP specifikációk 64 b adat és cím floating point 82 b compiler dönti el, hogy mely utasításokat végezze el párhuzamosan. akár 6 utasítás / órajel ciklus / mag

MPU+GPU integrated

MPU+GPU integrated