Direi che, probabilmente, supportano milioni di istruzioni. Ma dipende davvero da come si definisce una "istruzione".
In generale, le istruzioni sono suddivise in diversi campi: una parte indica qual è l'operazione (addizione, sottrazione, divisione, ramificazione, salto, lettura, scrittura, ecc.) e poi altre parti possono fornire argomenti - valori immediati o registri indicies. Quindi, se raggruppate tutti i possibili valori immediati e tutti i possibili indici di registro insieme, avrete solo un numero relativamente piccolo di operazioni. Poiché ogni operazione deve essere valutata su hardware dedicato (beh, più o meno ... cose come add e sottract possono essere fatte sullo stesso hardware con qualche configurazione / pre-elaborazione) il numero di operazioni distinte deve essere limitato dall'area e dalla complessità del il chip.
Tuttavia, argomenti diversi producono un codice macchina diverso. Ad esempio, prendi l'istruzione RISC-V add, ADD rd, rs1, rs2
che accetta due valori di registro, rs1
e rs2
, li aggiunge insieme e inserisce il risultato in un terzo registro, rd
. RISC-V ha 32 registri, quindi significa che ci sono 32 * 32 * 32 = 32.768 diverse "istruzioni" che mappano tutte su ADD, ma con argomenti diversi. Allo stesso modo, ADDI rd, rs1, imm
accetta un valore immediato di 12 bit, lo aggiunge a rs1
e scrive il risultato in rd
. Quindi, questo si traduce in 32 * 32 * 4096 = 4.194.304 codifiche distinte solo per ADDI
.
La suddivisione dello "spazio delle istruzioni" è una parte molto importante del progetto di un ISA.Quali bit usi per gli argomenti del registro, quali bit usi per valori immediati, quali bit usi per determinare l'operazione, quali bit usi per determinare il formato dell'istruzione, quali bit usi per determinare la dimensione dell'istruzione, ecc.tenendo conto della flessibilità e dell'espressività del set di istruzioni e della complessità dell'hardware di decodifica richiesto nella CPU.L'aumento del numero di operazioni disponibili generalmente va a scapito della flessibilità : dimensione immediata, numero di argomenti, numero di registri indirizzabili, ecc.