Come hai menzionato il processore 8086, ti sto spiegando con riferimento a 8086:
8086 è un processore a 16 bit (Bus dati a 16 bit significa: no.of Le linee fisiche da trasportare o trasportare sono 16 righe alcune volte anche le dimensioni ALU)
e 20-bit Address Bus (20-bit Address Bus significa: no.of Le linee fisiche per portare fuori l'indirizzo sono 20) queste linee non sono altro che 8086-pin.
Per il salvataggio di 8086 pin Le linee bus 16-dati e 16- Le linee indirizzo sono multiplexate (durante la prima parte del ciclo macchina 16 linee funge da bus indirizzo in seguito fungono da linea bus dati)
quindi il numero di pin verrà ridotto.
Ora la tua principale risposta alle domande:
Caso: 1 (8086 vuole accedere a un byte in una memoria)
8086 può indirizzare le posizioni 2 ^ 20 (Address Bus size), ogni posizione contiene un byte (8 bit di dati) che implica (2 ^ 10 x 2 ^ 10 = 1024 (1K) x1024 (1K) = > 1M) infine dovrebbe essere 1MByte
Memoria: come unità USB (2 GB, 4 GB, ecc.) Ogni posizione di memoria ha un indirizzo e posizione contiene un byte (8 bit) supponiamo che 1 MB di memoria abbia 1024.000 posizioni di memoria e ogni posizione abbia un'unità dati a 8 bit capacità
Se il processore 8086 vuole accedere a un byte a un indirizzo per primo invierà l'indirizzo a 1MB chip di memoria diciamo (0x20002) Posizione, questo chip di memoria da 1 MB è collegato al bus indirizzo 8086 e al bus dati. è come sotto
- 8086 indirizzo sul bus indirizzo su 1 MB di chip di memoria
- Memoria da 1 MB Il chip riceverà l'indirizzo sul suo indirizzo Bus (0x20002)
- 8086 attende un po 'di sincronizzazione con il tempo di attesa della memoria (la memoria può essere più lenta del processore)
- 1MB Memory Chip invierà il byte richiesto sulle linee del bus dati
a 8086
- 8086 legge nel byte di ricezione
C'è un altro caso se la memoria è una pila di chip di memoria come due chip da 512 KB di 1 MB totale (512 KB + 512 KB)
In questo caso ogni chip di memoria ha 19 linee di indirizzo (512K = 512 x 1024 = > 2 ^ 9 x 2 ^ 10) e una linea importante chiamata CHIP SELECT che abilita il chip di memoria
Entrambe le linee di indirizzo del chip di memoria sono collegate al bus indirizzo 8086
Ma 8086 ha 20 linee di indirizzo, quindi una linea è usata per connettere la linea Chip Select di 512K Memory Chip che abilita il chip da 512KB
Qui 1 riga di indirizzo ha due stati: 0 o 1
- 0: è usato per selezionare una memoria Chip-A-521KB + 19 Address line
- 1: è usato per selezionare la seconda memoria Chip-B-521KB + 19 Address line
Un altro caso se la memoria ha una capacità di 256 Byte (2 ^ 8), ha 8-INDIRIZZO LINEE e una linea di selezione del chip
Nel caso precedente, solo 8 linee di indirizzo 8086 sono collegate al chip di memoria da 256 byte, ma l'alesaggio è collegato alla linea di selezione chip del chip di memoria, forse porta NOR il cui output è uno se tutti gli input sono zero
qui diciamo 20 linee di indirizzo (A19-A0) di 8086
- Le linee di indirizzo A7-A0 sono collegate al chip di memoria da 256 byte
- Le linee di indirizzo di alesaggio, da A19 a A8, sono collegate alla linea di selezione del chip Chip di memoria attraverso il gate NOR a 14 ingressi Il valore out è uno se tutti gli ingressi sono zero cioè (A19-A8 = 0x0 00)
- La procedura di cui sopra è denominata Decodifica dell'indirizzo
4. L'intervallo di indirizzi per 256 byte di chip di memoria è (A7-A0 = > 0x00 a 0xFF) Ma 8086 ha 20-Address Lines Quindi le linee di alesaggio sono collegate a Chip select di 256 byte di memoria Chip attraverso NOR gate Quindi l'intervallo di indirizzi finale è 0x000 00 a 0x000 FF in questo modo il chip di memoria a 256 byte è indirizzato
In questo modo i dati di accesso del processore da Memory Chip con l'aiuto di indirizzo e bus dati
Caso: 2 (alcuni dispositivi potrebbero voler inviare dati a 8086)
È molto complicato da spiegare qui, ma presto aggiungerò a questa domanda
infine circa 8255 si prega di fare riferimento a questa intel 8255 pagina Wiki