In che modo la CPU calcola l'indirizzo a 20 bit in modalità reale
-
28-10-2019 - |
Domanda
So che utilizza l'indirizzo fisico = registro del segmento << 4 + Registro offset. Sebbene questi due registri siano a 16 bit, come può 8086 gestire un'operazione a 20 bit più?
Soluzione
L'unità di interfaccia del bus è costituita da registri dei segmenti, adder per generare indirizzo di indirizzo a 20 bit e coda di prefetch di istruzioni. Una volta che questo indirizzo viene inviato dalla BIU, le istruzioni e i byte di dati vengono recuperati dalla memoria e riempiono un primo nella prima coda a 6 byte.
Vedere un documento chiamato "8086_internal_block_diagram_enotes.pdf", facilmente da trovare tramite Google. Vedi anche questo documento, la sezione sull'unità dell'interfaccia del bus.
Quindi il processore genera questi indirizzi a 20 bit "su richiesta" con un registro a 20 bit interno dedicato, se lo si fa.
Altri suggerimenti
Quando si sposta un numero 4 di 16 bit a sinistra, stai essenzialmente creando un numero di 20 bit. L'offset indica quindi fino a che punto andrai. Vedere il Articolo di Wikipedia sull'indirizzamento in modalità reale.
Esempio:
0x0001 << 4 -> 0x00010 (5 sets of 4 bits in each hex digit -> 20 bits)