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ù?

È stato utile?

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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top