Se il set di istruzioni MIPS è stato modificato per soddisfare la domanda di teoria di 128 record

-2

Se il set di istruzioni MIPS è stato modificato per ospitare 128 record e 4 volte più istruzioni type-I, quale sarebbe il più grande valore immediato esadecimale che potrebbe essere supportato, mantenendo le istruzioni a 32 bit?

    
posta Blind Roach 29.10.2016 - 18:23
fonte

1 risposta

1

Supponendo che si intenda registri non record:

La maggior parte di ciò che stai chiedendo è una questione di codifiche che vengono eseguite con bit.

4x più significa che sono necessari altri 2 bit, perché log 2 (4) = 2, o in altre parole, 4 = 2 2 .

Le attuali istruzioni di tipo I:

I instructions are converted into machine code words in the following format:

opcode  rs         rt   IMM
6 bits  5 bits  5 bits  16 bits

I campi del registro corrente sono 5 bit che possono contenere la designazione di 2 5 = 32 registri diversi. Per portare questo a 128 registri, è necessario log 2 (128) = 7 (anche quello 2 7 = 128) bit, ovvero 2 bit in più di adesso.

Quindi in totale:

4x more opcodes:   2 more bits are needed.
4x more registers: 2 more bits are needed per register field for a total of 4 more bits

Tutto ciò richiede fino a 6 bit in più, il che lascia 10 bit a sinistra per il campo immediato invece del 16 corrente.

10 bit possono essere usati per rappresentare un intervallo senza segno da 0 a 2 10 -1 o da 0 a 1023. O 10 bit possono essere usati per rappresentare un intervallo firmato da -2 9 a +2 9 -1, o da -512 a 511. Ci sono altre codifiche possibili (il proprio complemento, o, per esempio, va da 1 a 1024), ma ci sono solo 2 10 = 1024 possibili valori che possono essere differenziati in 10 bit.

risposta data 29.10.2016 - 19:16
fonte

Leggi altre domande sui tag