SzA4. Az utasítás- és operandus típusok, állapottér, állapot műveletek Flashcards
A gépi kódú utasítás formája
Gépi kódú utasítás: Műveleti kód + címrész (mit végzünk el, meghatározott bit hosszúság, ez határozza meg, hogy hány operanduson, hány adaton)
Műveleti kód: megállapítja, hogy mely utasítások vannak engedélyezve, és milyen operanduson használható (FX, FP, BCD).
Az utasítások fajtái
4 címes
opd=ops@ops2, op4: következő utasítás címére mutat kép11
3 címes
PC tárolja a következő utasítás címét.
Előnye: párhuzamos végrehajtás lehetséges
Hátránya: hosszú utasítások, nagy mennyiségű adat, sok memóriát igényel, lassú, kevés/nincs elágazás. (Mai RISC processzorok többségében ezt használják) rrrd minimum 32 regiszter
2 címes
ops1=ops1@ops2, első operandus általában csak regiszter lehet. 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.
Mai CISC processzorok általában ezt használják
1 címes
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.
0 címes fajtái:
STACK (push, pop) – verem műveletek
NOP – no operation o műveleti kód tartalmazza az eredményt is. (CLEAR D’)
Előny: rövid
hátrány: utasításkezelő műveletek
Legyen op – operandus, s – source, d – destination, @ - tetszőleges művelet
Operandus típusok
Akkumulátor
előnye: gyors
hátránya: egy van belőle
memória
előnye: nagy
hátránya: lassú, hosszú címek->hosszú utasítás
regiszter
előnye: gyors
hátránya: korlátozott darabszám
verem
előnye: gyors, nincs címzés
hátránya: csak a tetejét látjuk
immediate
magában a programban adunk értéket a változónak
Architektúrák osztályozása, szabályos architektúrák
Bizonyos architektúrák ugyan azt az operandus típust biztosítják valamennyi adatmanipuláció során. LOAD és STORE kivételek.
Állapottér
Programból látható, és programtranszparens (csak a rendszer által látható) információkat hordoz. Pld:
- Virtuális memória kezelés
- Megszakítási folyamatok
Látható:
- PC
- Állapotjelzők: Condition-code, állapot indikátorok, adattípusonként különböző állapot indikátorok
- Egyéb: Debug, indexelés, címzési módok …
Transzparens:
- Virtuális memória kezelés, megszakítások, verem kezelés …
Állapot indikátorok
- ZERO
- NEG
- OVERFLOW
- CARRY
FP esetén:
- Alulcsordulás
- Túlcsordulás
- Denormalizált szám
- Nullával való osztás
- Érvénytelen művelet
Állapotműveletek
Program counter
- Inkrementálás
- Felülírás egy utasításból átvett címre
Flag
- Set
- Reset
- Save
- Load
- Clear