2024-01-03T15:30:13+03:00[Europe/Moscow] hu true <p>A számítási modell definíciója</p>, <p>A számítási modell jellemzői</p>, <p>Fejlesztői kronológia</p>, <p><em>Neumann elvű modell esetén a számítási feladat mit enged meg</em></p>, <p>A Neumann modell igényeinek kielégítése az architechtúra részéről</p>, <p>Modellek csoportosítása a műveletek elvégzésének rendje szerint</p>, <p>Modellek csoportosítása a végrehajtás meghajtása szerint</p>, <p>Modellek csoportosítása a probléma szerint</p>, <p>Adat alapú számítási modellek</p>, <p>Modellek csoportosítása aszerint, hogy min hajtjuk végre a számítást</p>, <p>Az adat alapú modellek tulajdonságai</p>, <p>Az elemi adattípusok tulajdonságai</p>, <p>Neumann modell tulajdonságai aszerint, hogy min végezzük el a számítást</p>, <p>Hogyan képezzük le a számítási feladatokat a Neumann modellben?</p>, <p>Mi vezérli a végrehajtást a Neumann modellben?</p>, <p>A Neumann modell következményei</p>, <p>Az adatfolyam modell rövid leírása</p>, <p>Min végzünk számítást az adatolyam modellel?</p>, <p>Az adatolyam modellben az értékadások száma</p>, <p>Neumann modell adat és utasítások tárolásának helye</p>, <p>Adatfolyam modell adat és utasítások tárolásának helye</p>, <p>A Neumann modell mi alapján hajtja végre a számítást</p>, <p>Az adatfolyam modell mi alapján hajtja végre a számítást</p>, <p>Neumann utasítások végrehajtásának sorrendje</p>, <p>Adatfolyam utasítások végrehajtásának sorrendje</p>, <p>A probléma megfogalmazása a Neumann modellben</p>, <p>A probléma megfogalmazása az adatfolyam modellben</p>, <p>Előzmény érzékenység a Neumann modellben</p>, <p>Előzmény érzékenység az adatfolyam modellben</p>, <p>Az adatfolyam modell igénye (hátránya)</p>, <p>Az applikatív modell min végez számítást</p>, <p>Probléma megfogalmazás az applikatív modellben </p>, <p>Hogy adjuk meg a számítási feladatot az applikatív modellnek</p>, <p>Végrehajtás vezérlése az applikatív modellben</p>, <p>Architektúra fogalma</p>, <p>Architechtúra szintjei</p>, <p>Architechtúra rétegei</p>, <p>Logikai architektúra tulajdonságai</p>, <p><strong>Processzor szintű logikai architektúra </strong>(<em>Instruction Set Architecture</em>) <strong>részei:</strong></p>, <p>Fizikai architektúra</p>, <p><strong>A processzor-szintű fizikai architektúra </strong>(<em>Micro Architecture</em>) <strong>részei:</strong></p>, <p>A rendszerszintű fizikai architektúra:</p>, <p>Adattér fogalma</p>, <p>Az adattér két részre bontható:</p>, <p>Kétféle címtér:</p>, <p>Két külön memória memóriatér létezik</p>, <p>Regisztertér fogalma</p>, <p>Regisztertér osztályozása</p>, <p><strong>Egyszerű regiszter négy típusa:</strong></p>, <p>Különféle adatokhoz különböző regiszterek</p>, <p>A kontextus fogalma</p>, <p>A többszörös regiszterkészletek célja</p>, <p>Mi történik egy megszakításkor</p>, <p>Több egymástól független regiszterkészlet előnyei</p>, <p>Több egymástól független regiszterkészlet hátránya</p>, <p>Több egymástól független regiszterkészlet elve</p>, <p>Az átfedő regiszterkészlet elve</p>, <p>Az átfedő regiszterkészlet hátrányai</p>, <p>A regiszterkészletek száma és a túlcsordulás előfordulása közötti összefüggés</p>, <p>A Stack-Cache elve</p>, <p>Az adatmanipulációs fa lényege</p>, <p>Az adatmanipulációs fa szintjei</p>, <p>Az adattípusok fajtái</p>, <p>Az elemi adattípusok fajtái</p>, <p>A numerikus adattípus fajtái</p>, <p>Az összetett adattípusok jellemzői</p>, <p>Azonos adattípusokból felépülő összetett adattípusok fajtái</p>, <p>A fixpontos adattípus fajtái</p>, <p>A lebegőpontos adattípus fajtái</p>, <p>A BCD adattípus fajtái</p>, <p>A karakteres adattípus fajtái</p>, <p>A logikai adattípus fajtái</p>, <p>Az adatmanipulációs fa műveleteinek fogalma</p>, <p>A gépi kódú utasítás részei</p>, <p>Az utasítás-feldolgozás általános folyamata</p>, <p>A CPU belső egységei</p>, <p>Utasítás lehívás (fetch) folyamata</p>, <p>A Load utasítás folyamata</p>, <p>Aritmetikai / logikai utasítás folyamata</p><p>(A példában egy ADD művelet szerepel→MK határozza meg a műveletet)</p>, <p>Store utasítás folyamata</p>, <p>Megszakítás (feltétlen vezérlésátadás) folyamata</p>, <p>A 4 címes utasítás típus jellemzői</p>, <p>A 3 címes utasítás típus jellemzői</p>, <p>A 2 címes utasítás típus jellemzői</p>, <p>Az 1 címes utasítás típus jellemzői</p>, <p>A 0 címes utasítás típus jellemzői</p>, <p>Az operandusok típusai</p>, <p>Architektúrák osztályozása (operandus típusok szerint</p>, <p>Címzési módok</p>, <p>A címszámítás jellemzői</p>, <p>Cím módosítás jellemzői</p>, <p>Tényleges (deklarált) cím interpretálásának jellemzői</p>, <p>Utasítás kód jellemzője</p>, <p>Az állapottér fogalma</p>, <p>Az állapottér felépítése</p>, <p>Állapot indikátorok</p>, <p>Állapotműveletek</p>, <p>A processzor szintű fizikai architektúra részei</p>, <p>CPU: műveletvégző + vezérlő funckiói</p>, <p>CPU típusok</p> flashcards
Archi 1 Elmélet

Archi 1 Elmélet

  • A számítási modell definíciója

    A számításra vonatkozó alapelvek absztrakciója

  • A számítási modell jellemzői

    Min hajtjuk végre a számítást?

    Hogyan képezzük le a számítási feladatot?

    Mi vezérli a végrehajtás sorrendjét?

  • Fejlesztői kronológia

    Számítási modell

    Ennek megfelelő programnyelv

    Ennek megfelelő architektúra

  • Neumann elvű modell esetén a számítási feladat mit enged meg

    Változók deklarálása

    Adatmanipulációs utasítások deklarálása

    Vezérlésátadó utasítások deklarálása

  • A Neumann modell igényeinek kielégítése az architechtúra részéről

    A változókat a memória meghatározott helyén tárolja úgy, hogy biztosítja a változók értékének korlátlan számú változtathatóságát

    Az architektúra rendelkezik egy speciális regiszterrel (programszámláló), ami tárolja a következő utasítás címét.

  • Modellek csoportosítása a műveletek elvégzésének rendje szerint

    szekvenciális vagy párhuzamos

  • Modellek csoportosítása a végrehajtás meghajtása szerint

    vezérlés szerint meghajtott, adat szerint meghajtott, igény szerint meghajtott

  • Modellek csoportosítása a probléma szerint

    procedurális vagy deklaratív

  • Adat alapú számítási modellek

    Neumann modell

    Adatfolyam modell

    Applikatív modell

  • Modellek csoportosítása aszerint, hogy min hajtjuk végre a számítást

    Adat alapú, objektum alapú, predikátum logika, tudás alapú, hibrid

  • Az adat alapú modellek tulajdonságai

    Az adatokat tipikusan változó képviseli. Az adatok típussal rendelkeznek/típust rendelünk hozzá

  • Az elemi adattípusok tulajdonságai

    -értelmezési tartomány

    -érték készlet

    -műveletek halmaza-Például egy 16 bites előjeles int esetén:

    Értelmezési tartomány: -32768 → 32768 Érték készlet: egész számok halmazaMűveletek halmaza: +, −, ∗, /

  • Neumann modell tulajdonságai aszerint, hogy min végezzük el a számítást

    A számítást adatokon hajtjuk végre

    Az adatokat tipikusan változók jelentik

    Az adat végtelen értékmódosítási lehetőséggel rendelkezik (többszörös értékadás)

    Az adatok és utasítások közös memóriaterületen helyezkednek el

    A számítási műveleteket az adatokon végrehajtott adatmanipulációs műveletek

    sorozatának segítségével végezzük el

  • Hogyan képezzük le a számítási feladatokat a Neumann modellben?

    Szekvenciálisan

    Szekvenciálisan

  • Mi vezérli a végrehajtást a Neumann modellben?

    Az adatmanipuláló utasítások szekvenciája vezérli. (Vezérlés meghajtott modell)Vezérlés meghajtott modell:az adatmanipulálások szekvenciája (implicit: természetes sorrend; add, mul, sub...)az explicit vezérlésátadó utasítások (pl. goto, if, for...)

    Az adatmanipuláló utasítások szekvenciája vezérli. (Vezérlés meghajtott modell)

    Vezérlés meghajtott modell:

    az adatmanipulálások szekvenciája (implicit: természetes sorrend; add, mul, sub...)

    az explicit vezérlésátadó utasítások (pl. goto, if, for...)

  • A Neumann modell következményei

    Előzmény érzékeny (változó értéke menet közben változik)

    Alapvetően szekvenciális végrehajtás

    Mellékhatások (rossz címzés, 0-val való osztás)

    Egyszerű implementáció

  • Az adatfolyam modell rövid leírása

    A számítást itt is adatokon hajtjuk végre, de csak egyszeres értékadás van, és a bemeneti adatokat egy adathalmaz formájában adjuk meg (nincsenek változók). A számítási feladatot egy adatfolyam gráffal képezzük le, amelyhez felhasználjuk az input adatok halmazát.→ input adatok halmaza + adatfolyam gráf = megoldott feladat. A gráf tartalmaz csomópontokat (szakosodott műveletvégző egységek) és éleket (I/O adatok).

  • Min végzünk számítást az adatolyam modellel?

    Adatokon

  • Az adatolyam modellben az értékadások száma

    Egyszeri értékadás

  • Neumann modell adat és utasítások tárolásának helye

    Közös operatív tár

  • Adatfolyam modell adat és utasítások tárolásának helye

    Regiszter

  • A Neumann modell mi alapján hajtja végre a számítást

    Adatmanipulációs utasítás vezérelt

  • Az adatfolyam modell mi alapján hajtja végre a számítást

    Adatfolyam gráf

  • Neumann utasítások végrehajtásának sorrendje

    Szekvenciális

  • Adatfolyam utasítások végrehajtásának sorrendje

    Párhuzamos (sok műveletvégző egység, azonnali műveletvégzés)

  • A probléma megfogalmazása a Neumann modellben

    Procedurális jellegű

  • A probléma megfogalmazása az adatfolyam modellben

    Procedurális jellegű

  • Előzmény érzékenység a Neumann modellben

    Előzmény érzékeny

  • Előzmény érzékenység az adatfolyam modellben

    Nincs előzmény érzékenység

  • Az adatfolyam modell igénye (hátránya)

    Igen magas kommunikációs és szinkronizációs igény

  • Az applikatív modell min végez számítást

    Adatokon

  • Probléma megfogalmazás az applikatív modellben

    Deklaratív (előre meghatározott kapcsolatok a bemenetek között)

  • Hogy adjuk meg a számítási feladatot az applikatív modellnek

    Egy komplex matematikai függvény formájában adjuk meg

  • Végrehajtás vezérlése az applikatív modellben

    igény meghajtottAkkor hajtódik végre, ha kell egy folyamathoz egy másik folyamat eredménye. (Lusta modell)

  • Architektúra fogalma

    Az az ismerethalmaz, amivel a gépi kódú programozóknak rendelkezniük kell, hogy hatékony programot tudjanak írni

  • Architechtúra szintjei

    1. Globális P.M.S. (Processzor, Memória, Switch)

    2. Programozási szint (magas, alacsony)3. Logikai/tervezési szint4. Áramköri szint

  • Architechtúra rétegei

    Absztrakciós szint (layer) (L): Külső jellemzők, belső felépítés, és a működés együttes leírása

    Számítási modell (M)

    Specifikáció (S)

    Implementáció (I)

  • Logikai architektúra tulajdonságai

    adott absztrakciós szinten a fizikai architektúra elvonatkoztatása

    logikai architektúra az adott absztrakciós szinten = {M, S}L

    adott absztrakciós szinten a fekete doboz külseje

  • Processzor szintű logikai architektúra (Instruction Set Architecture) részei:

    adattér

    adatmanipulációs fa

    állapottér

    állapot műveletek

  • Fizikai architektúra

    adott absztrakciós szinten a logikai architektúra megvalósítása

    fizikai architektúra az adott absztrakciós szinten = {M, I}L

    (nem vagyunk kíváncsiak a specifikációra)

    adott absztrakciós szinten a fekete doboz belseje

  • A processzor-szintű fizikai architektúra (Micro Architecture) részei:

    műveletvégző egység (ALU)

    vezérlő

    I/O rendszer

    Megszakítási rendszer

  • A rendszerszintű fizikai architektúra:

    Memória

    Busz- / Sínrendszer

  • Adattér fogalma

    Olyan tér, ami biztosítja az adattárolást olyan formában, hogy az adattérben található adatok a CPU által közvetlenül manipulálhatók legyenek (címezhető)

  • Az adattér két részre bontható:

    memóriatér, regisztertér

  • Kétféle címtér:

    modell címtere: címbusz szélessége határozza meg a kapacitást pld. 32 bitesnél 4 GB

    az adott implementáció címtere: amennyi ténylegesen, fizikailag van

  • Két külön memória memóriatér létezik

    fizikai (CPU által látható, kisebb így gyorsabb + alaplapi lapkán helyezkedik el)

    virtuális (programozó által látható, nagyobb + a háttértáron helyezkedik el)

  • Regisztertér fogalma

    Az adattér egy nagyteljesítményű része

  • Regisztertér osztályozása

    Egyszerű regisztertér

    Különféle adattípusokhoz különálló regiszterek

    Többszörös regiszterkészlet

  • Egyszerű regiszter négy típusa:

    -AC (akkumulátor) regiszter

    -AC + Data regiszterek

    -Univerzális regiszter készlet

    -Stack Architektúra (regiszter)

  • Különféle adatokhoz különböző regiszterek

    Fixpontos és logikai műveletekhez -> univerzális regiszterkészlet

    Lebegőpontos (FP) műveletekhez

    -SIMD (Single Instruction, Multiple Data stream)

    -SSE (Single Stream Extension)

    Intel Pentium III (1998)

    - 8db FX (32 bit)-

    - 8 db FP (80 bit)

    - 8 db SSE (128 bit)

  • A kontextus fogalma

    a program végrehajtás során a regiszterek állapotát az állapot információkkal (PC (ez a program counter), flag) együtt kontextusnak nevezzük

  • A többszörös regiszterkészletek célja

    Ciklusok, megszakítások, egymásba ágyazott folyamatok gyorsítása

  • Mi történik egy megszakításkor

    Le kell mentenünk az éppen futó program kontextusát, hogy később onnan lehessen folytatni

  • Több egymástól független regiszterkészlet előnyei

    egyszerű

    gyors, olcsó

    független folyamatok esetén kiváló (pl.: Megszakítások)

  • Több egymástól független regiszterkészlet hátránya

    paraméter átadásos eljárásnál nem gyorsít, mivel a paraméterátadás a memórián keresztül történik

  • Több egymástól független regiszterkészlet elve

    Az eljárások már nem ugyanazon regiszterkészletet használják, viszont a regiszterkészletek közti kommunikáció még nem volt megoldott, ahhoz a háttértárat kellett használni -> ilyenek pl az egymásba ágyazott eljárások, amik használják a másik készletében lévő adatokat

  • Az átfedő regiszterkészlet elve

    Három részre bontották a regisztereket, ezek az INS, LOCALS, OUTSAz INS és OUTS részek a különböző regiszterekkészletek között átfedésben vannak, így az adatátvitel megoldott

    Három részre bontották a regisztereket, ezek az INS, LOCALS, OUTS

    Az INS és OUTS részek a különböző regiszterekkészletek között átfedésben vannak, így az adatátvitel megoldott

  • Az átfedő regiszterkészlet hátrányai

    - Merev, hiszen fix a regiszterek száma

    - A regiszterkészletek száma is fix

  • A regiszterkészletek száma és a túlcsordulás előfordulása közötti összefüggés

    6-8 regiszterkészlet esetén már csak 4-5%-ban fordul elő túlcsordulásNem is javasolt 8 egymásba ágyazott folyamatnál többet írni, hiszen a lassú működés mellett átláthatatlan is lesz a program

    6-8 regiszterkészlet esetén már csak 4-5%-ban fordul elő túlcsordulás

    Nem is javasolt 8 egymásba ágyazott folyamatnál többet írni, hiszen a lassú működés mellett átláthatatlan is lesz a program

  • A Stack-Cache elve

    A Compiler kezeli a regisztereket és nem a programozóMinden eljáráshoz saját regiszterkészletet hoz létre, ami akkora, amekkorát a program igényel, tehát nem fix számú regiszterrel dolgozikEzeket a tartományokat hívjuk aktiválási rekordoknakA rekordra stack pointer mutat, de az egyes memóriacímek közvetlenül is elérhetőek, így bármelyik adatot lehet használniVannak átfedő területek a tartományok között, pont annyi van, amennyi paramétert át kell adnia az egyik folyamat részéről a másiknak

    A Compiler kezeli a regisztereket és nem a programozó

    Minden eljáráshoz saját regiszterkészletet hoz létre, ami akkora, amekkorát a program igényel, tehát nem fix számú regiszterrel dolgozik

    Ezeket a tartományokat hívjuk aktiválási rekordoknak

    A rekordra stack pointer mutat, de az egyes memóriacímek közvetlenül is elérhetőek, így bármelyik adatot lehet használni

    Vannak átfedő területek a tartományok között, pont annyi van, amennyi paramétert át kell adnia az egyik folyamat részéről a másiknak

  • Az adatmanipulációs fa lényege

    Megmutatja a potenciális adatmanipulációs lehetőségeket, formákat, valamint egy konkrét implementáció adatmanipulációs lehetőségeit

  • Az adatmanipulációs fa szintjei

    Adattípusok: FX1(byte), FX2, FX4, BCD, FP4, FP8,

    boolean (FX = fix pontos, FP = lebegő pontos, BCD = binárisan ábrázolt decimális)

    Műveletek: például fix számoknál: +, -, *, /

    Operandusok típusai: rrr, rmr, ..., mmm (r = regiszter, m = memória) pl: rrr -> mindhárom regiszter

    Címzési módok: memória típusú operandusoknál R+D, PC+D, RI+D (D = displacement, R = register, PC = program counter, RI index register)

    Gépi kódok (utasítások): Pl.: 10011110

  • Az adattípusok fajtái

    Elemi, összetett

  • Az elemi adattípusok fajtái

    numerikus, karakteres, logikai, pixel stb

  • A numerikus adattípus fajtái

    fixpontos, lebegőpontos, BCD

  • Az összetett adattípusok jellemzői

    Elemi adattípusokból épülnek fel -> adatszerkezetnek is hívjuk

    Különböző adattípusokból épül fel -> rekordnak hívjuk

  • Azonos adattípusokból felépülő összetett adattípusok fajtái

    Tömb -> ha 1D, akkor vektor

    szöveg

    verem

    sor

    lista

    fa

    halmaz

  • A fixpontos adattípus fajtái

  • A lebegőpontos adattípus fajtái

  • A BCD adattípus fajtái

  • A karakteres adattípus fajtái

  • A logikai adattípus fajtái

  • Az adatmanipulációs fa műveleteinek fogalma

    Az adatmanipulációs fa minden művelet esetén megállapítja, hogy milyen utasítás típusok, és operandus típusok választhatók.

    Az értelmezett műveletek halmaza mindig architektúra függő. Pontosan deklarálni kell nem csak a műveleteket, hanem a kivételek kezelésére szolgáló műveleteket is.

  • A gépi kódú utasítás részei

    MK (műveleti kód), Címrész

    Az MK határozza meg, hogy milyen műveletet végzünk el, a címrész pedig azt, hogy min végezzük el (hány darab adaton, hol vannak ezek)

  • Az utasítás-feldolgozás általános folyamata

  • A CPU belső egységei

    MAR - Memory Address RegisterMDR - Memory Data RegisterPC - Program CounterIR - Instruction RegisterDEC - DecoderALU - Aricmetical-Logical UnitAC - Accumulator Register

    MAR - Memory Address Register

    MDR - Memory Data Register

    PC - Program Counter

    IR - Instruction Register

    DEC - Decoder

    ALU - Aricmetical-Logical Unit

    AC - Accumulator Register

  • Utasítás lehívás (fetch) folyamata

    Minden utasítás esetén ugyan úgy néz ki. A PC a következő végrehajtandó utasítás címét tartalmazza. A program counter-ből átkerül a következő utasítás címe a memória cím regiszterbe. A memória cím regiszterben található memóriacím adat tartalma bekerül a memória adat regiszterbe. Innen az utasítás átkerül az utasítás regiszterbe. Program counter tartalmát megnövelni egy egységgel.

    MAR <- PC

    MDR <- [MAR]

    IR <- MDR

    PC <- PC + 1

    (A cél, hogy a IR-be belekerüljön az utasítás)

  • A Load utasítás folyamata

    Lehívjuk az utasítást. Az utasítás regiszterből átkerül az utasítás a dekóderbe. A dekóder címrésze átkerül a memória címregiszterbe. Betöltődik az adat a memória adat regiszterbe. A memória adat regiszter tartalma átkerül az akkumulátorba.

    DEC <- IR

    MAR <- DECcímrész

    MDR <- [MAR]

    AC <- MDR

    (A cél, hogy az AC-ba bekerüljön az adat, hogy utána fel lehessen dolgozni)

  • Aritmetikai / logikai utasítás folyamata

    (A példában egy ADD művelet szerepel→MK határozza meg a műveletet)

    DEC <- IRMAR <- DECcímrész

    MDR <- [MAR]

    AC <- AC + MDR

  • Store utasítás folyamata

    DEC <- IR

    MAR <- DECcímrész

    MDR <- AC

    [MAR] <- MDR

  • Megszakítás (feltétlen vezérlésátadás) folyamata

    DEC <-IR

    PC <- DECcímrész

  • A 4 címes utasítás típus jellemzői

    Legyen op – operandus, s – source, d - destination, @ - tetszőleges művelet

    opd = opS1 @ opS2, op4 = következő utasítás címe

    Hátrányok:

    -memóriapazarlás

    -további adatrögzítési hibák

    -merev program-struktúra→helyette PC használata (+ auto increment)

  • A 3 címes utasítás típus jellemzői

    Legyen op – operandus, s – source, d - destination, @ - tetszőleges művelet

    opd = ops1 @ ops2

    PC tárolja a következő utasítás címét

    Előnye: lehetséges a párhuzamos végrehajtás

    Hátránya: hosszú utasítások, nagy mennyiségű adat, sok memóriát igényel, lassú, kevés/nincs elágazás

    Ilyenek a RISC processzorok

    rrrd minimum 32 regiszter

    Az előző utasítás eredményének mentésével párhuzamosan tölthetjük az aktuális utasítás két bemenő operandusát.Olyan helyeken használják, ahol nagy mennyiségű adat van és nincs elágazás.

  • A 2 címes utasítás típus jellemzői

    Legyen op – operandus, s – source, d - destination, @ - tetszőleges művelet

    ops1 = ops1 @ ops2

    Az első operandus általában csak regiszter lehet, a kettes operandus lehet memóriacím is.

    Pl.: ADD [100][102], 100-as és 102-es címet adja össze, az eredmény a 100-as címre megy.→kevesebb tárhelyet igényel, de az egyiket felülírjuk.Mai CISC processzorok általában ezt használják (x86)

  • Az 1 címes utasítás típus jellemzői

    Legyen op – operandus, s – source, d - destination, @ - tetszőleges művelet, AC - akkumulátor regiszter

    AC = AC @ op

    AC LOAD [100]

    ADD [102]STORE [100]

    Akkumulátorba betölti a 100-as címet, majd hozzáadja a 102-es címet. végül kiírjuk az akkumulátor tartalmát. Az utasítások halmozhatók. Az utasítások rövidebbek, de több utasításra van szükség.

  • A 0 címes utasítás típus jellemzői

    STACK (push, pop) - verem műveletekNOP – no operationA műveleti kód tartalmazza az eredményt is. (CLEAR D’) Előny: rövid, Hátrány: utasításkezelő műveletek

  • Az operandusok típusai

    Akkumulátor (AC), Memória típus (m), Regiszter (r), Verem (s), Immediate (i)

    Akkumulátor (AC)- Gyors, csak 1 db van

    Memória típus (m)- Nagy, hosszú a cím, lassú

    Regiszter (r)- Gyors, kevés van belőle

    Verem (s)- Gyors, egyszerre csak egy elem érhető el

    Immediate (i)- magában a programban adunk értéket a változónak

    (pl. ADD R1, 3)

  • Architektúrák osztályozása (operandus típusok szerint

    Szabályos---Akkumulátor -akkumulátor-regiszter (aar vagy ara) -akkumulátor-memória (aam vagy ama)Memória -2 címes (mm) -3 címes (mmm)Regiszter -2 címes (rr) -3 címes (rrr) (legjobb teljesítmény)Stack - sss (kontextus adatok tárolására)Kombinált / kompozit: vegyesen helyezkednek el az operandusok--

    Szabályos

    ---

    Akkumulátor

    -akkumulátor-regiszter (aar vagy ara)

    -akkumulátor-memória (aam vagy ama)

    Memória

    -2 címes (mm)

    -3 címes (mmm)

    Regiszter

    -2 címes (rr)

    -3 címes (rrr) (legjobb teljesítmény)

    Stack

    - sss (kontextus adatok tárolására)

    Kombinált / kompozit: vegyesen helyezkednek el az operandusok

    --

  • Címzési módok

    Címszámítás, cím módosítás, tényleges (deklarált) cím interpretálása

  • A címszámítás jellemzői

    Abszolút címzés

    -hosszú címek (akár több terrabájtnyi cím is lehet), ezért nem használjuk

    Relatív címzés

    Y (cím) = S (bázis) + D (eltolás)

    Deklarálni kell egy Bázis címet és a Címszámítási algoritmust

    Bázis cím lehet: PC, Top of Stack, Index Regiszter stb.

  • Cím módosítás jellemzői

    Auto inkrementálás • IndexelésLegyen YR (relatív cím), S (bázis), Ri (indexregiszter értéke / eltolás)- &nbsp;1 dimenziós adatblokk: YR = S + Ri- &nbsp;2 dimenziós adatblokk: YR = S + Ri1 + Ri2

    Auto inkrementálás • Indexelés

    Legyen YR (relatív cím), S (bázis), Ri (indexregiszter értéke / eltolás)

    -  1 dimenziós adatblokk: YR = S + Ri

    -  2 dimenziós adatblokk: YR = S + Ri1 + Ri2

  • Tényleges (deklarált) cím interpretálásának jellemzői

    Lehet direkt vagy indirekt

    Felfoghatjuk valós vagy virtuális címként is

  • Utasítás kód jellemzője

    Architechtúránként változik

  • Az állapottér fogalma

    Olyan, programból látható, és programtranszparens tárolókból áll, amelyek az adott programra vonatkozó állapot információkat hordozzák

    Olyan rendszerfunkciókhoz szükséges információk, mint pl.

    Virtuális memória kezelés

    Megszakítás kezelés

  • Az állapottér felépítése

  • Állapot indikátorok

    Olyan kivételes események kezelésére vannak, amelyek a végrehajtás során általánosan bekövetkeznek (pl.: FP-nél denormalizált szám jelzése).Minden regiszterkészlethez definiálva vannak flag-ek, pl.:

    • ZERO• NEG• OVERFLOW • CARRYÁllapotműveletek

  • Állapotműveletek

    Pl.

    • Program Counter (PC) esetén: - Inkrementálás

    - Dekrementálás- Felülírás (egy utasításból átvett címmel)

    • Flag-ek esetén:

    -  Beállítás (set)→1

    -  Törlés (clear)→0

    -  Kezdeti értékre állítás (reset)

    -  Mentés (save)

    -  Visszatöltés (load)

  • A processzor szintű fizikai architektúra részei

    Műveletvégző egység (ALU)

    Vezérlő egység

    I/O rendszer

    Megszakítási rendszer

  • CPU: műveletvégző + vezérlő funckiói

    Utasítás lehívás (fetch)

    Utasítás végrehajtás (execute)

  • CPU típusok

    Szinkron CPU:

    -  Órajel generátorral működik

    -  Hátránya: késleltetés, a következő órajelet mindig meg kell várni, így holtidő

    keletkezhet

    -  Előnye: egyszerű, gyors

    Aszinkron CPU:- Nincs órajel → Egyik utasítás vége jelzi a következő utasítás kezdetét

    - Hátránya:

    extra áramkör kell az utasítás befejezésének érzékeléséhez

    drága

    az utasítás befejezésének érzékelése is időbe telik

    - Előnye: nincs holt idő