Personal computer/Mapping: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pizeta (discussione | contributi)
decodifica degli indirizzi
Pizeta (discussione | contributi)
Riga 54:
 
=== Decodifica completa ===
 
Le decodifica completa è effettuata utilizzando tutti i bit di ''offset'' dell'indirizzo, i bit più significativi che non vengono utilizzati dal dispositivo per decodificare internamente una cella di memoria.
Nell'esempio precedente di bus indirizzi a 10 bit e elemento di memoria a 8 bit, la decodifica completa è effettuata decodificando i 2 bit più significativi dell'indirizzo.
 
La decodifica più semplice è calcolare per ogni dispositivo il mintermine corrispondente allo spazio occupato, posto, ad esempio, che l'elemento di memoria sia nella parte più bassa dello spazio di indirizzamento ( 0-255 byte) allora i due bit più significativi dell'indirizzo valgono 0. Il ''chip select'' del dispositivo sarà, in '''logica positiva''', CS = A9 * A8 realizzabile con un ''AND''.
 
É possibile anche una decodifica con ''decoder'' 2:4 che presenta in uscita tutte le possibili finestre allineate. L'uscita del decoder corrispondente alla porzione di spazio di indirizzamento in cui è mappato il dispositivo è collegata con il suo ingresso ''chip select''.
 
L'elemento più usato per la decodifica degli indirizzi è la ''PAL'', una rete logica ad ''i'' ingressi e ''o'' uscite, identificata da ''iLo'' ( ad esempio 10L8 ), che permette di generare ''o'' ''chip select'' a partire da ''i'' bit di ingresso. La PAL è una rete programmabile tramite espressioni in ''logica positiva'' ma le uscite sono già negate, per cui direttamente collegabili al ''CS*'' dei dispositivi. La scelta di una ''PAL'' si dimostra conveniente soprttutto quando i bit di selezione sono molti, per realizzare la stessa funzione di una ''PAL'' 10L8 sarebbe necessatio un decoder a 10 ingressi e quindi a 1024 uscite.
 
=== Decodifica semplificata ===