Architettura RISCd
Il tipo fondamentale di RISCd è l'intero a 32 bit, corrispondente alla
lunghezza dei registri di macchina. Si ricorda che le operazioni aritmetiche e
di comparazione sono applicabili solo ad operandi di tipo registro e che in
ogni caso l'architettura tende a limitare il numero di distinti codici
operativi.
A differenza dell'8086d e del 68000d, in cui il tipo dell'operando è
specificato mediante un apposito campo "tipo", nel RISCd è il codice operativo
a determinare il tipo dell'operando; pertanto il Load Word e lo Store Word (SW)
si estendono al byte (LB, SB) ed alla mezza parola (LH, SH). I codici
aritmetici e di confronto operano solo sul tipo fondamentale, distinguendo il
caso della rappresentazione in complementi (signed) da quella dei numeri
naturali; i codici ADDU, SUBU, MULTU,
DIVU diventano per i numeri in complemento ADD, SUBU, MULT, DIV.
Per quanto riguarda l'aritmetica in virgola mobile,
il processore RISCd supporta i due tipi di singola (32 bit) e doppia (64 bit)
precisione, conformi allo standard IEEE-754.
A supporto dell'aritmetica in virgola mobile, il processore possiede il
set di registri FPR a 32 bit di cui alla tab. 2.1, che si usano in coppie per
la doppia precisione. Questi registri, così come altri, sono in effetti
l'interfaccia fra il processore fondamentale e il coprocessore della virgola
mobile; l'architettura del RISCd prevede che possano esservi fino a 4
coprocessori collegati ed estende le istruzioni di load e store da e verso i
registri interfaccia dei coprocessori con istruzioni quali LWCz, SWCz
(Load/Store Word Coprocessor z), con z=1 per il coprocessore della virgola
mobile.
Il repertorio dei codici operativi è quindi esteso alla virgola mobile:
gli operandi sono memorizzati nei
registri FPR e le istruzioni contengono un apposito campo che specifica se si tratta d'operazioni in singola
(codici ADD.s, SUB.s, etc.) oppure in doppia precisione (ADD.d, SUB.d, etc.).