Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Instrukcím, které přistupují do paměti se však nelze úplně vyhnout. Před výpočtem je
nutné přesunout z paměti do registrů operandy a po skončení výpočtu zase výsledky uložit do
paměti. Všechny mezivýsledky lze však uchovávat pouze v registrech.
MOV
A,[1]
MOV
B,[2]
SUB
A,B
MOV
[0],A
JNZ
4
Procesory, u nichž produktivní instrukce nepracují s pamětí, jsou často nazývány
Load/Store. Některé procesory dovolují, aby instrukce ALU pracovaly se 3 registry.
3.1.5 Architektura souboru instrukcí (ISA)
Akumulátorově (střadačově) orientovaná ISA. Výhradní postavení mezi registry má
akumulátor (střadač), neboť všechny operace ALU probíhají s jeho využitím. V akumulátoru
se nachází implicitní operand pro operace ALU a do akumulátoru je také následně uložen
výsledek operace. Druhý operand může být uložen v paměti nebo v registrech. V instrukci je
tedy explicitně vyjádřen pouze jeden operand (např. jeho adresa v paměti). Příkladem instrukcí
akumulátorově orientované ISA jsou instrukce typu:
ADD Adr
acc
acc + mem[A],
kde acc označuje akumulátor a A adresu v paměti.
Instrukce sečte dva operandy, první operand je uložen v akumulátoru (acc), druhý
operand je uložen v paměti na adrese Adr. Původní procesory s akumulátorově orientovanou
ISA měly obvykle indexový registr. To umožňovalo, aby adresa druhého operandu byla dána
součtem adresy Adr a hodnoty uložené v indexovém registru IX:
ADD (Adr + IX)
acc
acc + mem[Adr + IX].
Postupem doby se z indexovacích registrů vyvinuly speciální registry pro nepřímou