Sezione |
Indirizzi Base
Registri Interni
|
Capitolo 1 |
Il Processore e il Debugger |
I BUS DEI PROCESSORI 4/6 [9 di 60] |
|
|
Aggiornato 4 aprile 2006 |
|
Adesso è il momento di entrare nel merito; non ci è ancora chiaro come possa un numero esadecimale individuare senza ambiguità una locazione di memoria o una periferica... |
|
Nel primo caso l'immagine è forse più evidente: ogni dispositivo di memoria è formato da una pila di cassetti (locazioni) uno sotto l'altro, disponibili a contenere 8 bit (un byte) ciascuno. | |||||
Per accedere ad una di queste locazioni si
usano le linee
del
Bus Address
e, poichè ciascuna di esse può assumere un livello logico binario è facile
pensare che:
| |||||
Il meccanismo si può facilmente generalizzare: con 3 linee le celle saranno 23=8 e con n linee potremo controllare 2n locazioni |
|
Dunque la massima dimensione della memoria indirizzabile dipende dalla quantità di fili disponibile nel bus address... Più alto è questo numero, maggiore è il numero di locazioni di memoria controllabili, in lettura o in scrittura, da parte della CPU. |
|
Per fissare le idee possiamo considerare il bus address dell'8086. | |
Quando questo processore venne presentato, con le sue 20 linee d'indirizzo assicurava la disponibilità di 1 Mega di memoria, per l'esattezza 220=1.048.576 locazioni. | |
La cosa faceva faville! Qualunque altro computer precedente poteva disporre al massimo di 64k (216=65536 locazioni) di memoria. Sembrava che il problema fosse risolto per sempre.... Sembrava! |
|
Ben presto questa disponibilità si sarebbe rivelata assolutamente insufficiente, così come l'aumento a 16 Mega (=224), assicurato dall'aggiunta di altre 4 linee di indirizzo, con l'avvento di '286 e '386. | |
I moderni processori dispongono di 36 linee d'indirizzo e i potenziali 65536 Mega (=236) garantiti sono per ora sufficienti. |
|
Nelle configurazioni che vanno di moda oggi la quantità normale di ram installata è di 128M con tendenza ai 256M (raramente ne viene installata in misura maggiore, se non in presenza di centri di calcolo particolarmente bisognosi, come server o work station industriali). | |
Il futuro ci riserverà certamente bus address ancora più capaci: le architetture già prevedono una probabile espandibilità a 48 linee... |
|
I processori della
famiglia 80x86 hanno visto aumentare velocemente nel tempo anche la
dimensione di questo bus; vediamo il dettaglio (anno 2002):
|
|
Il bus address è nato per indirizzare (come fa capire il suo nome..) cioè per consentire al processore di chiamare in causa una ben precisa locazione di memoria, ma anche una determinata periferica; il numero dell'indirizzo, posto sul bus, arriva di norma sia alla prima che alla seconda, ma solo una delle 2 risponderà al processore! Come è possibile? |
|
La cosa non ha nulla di magico: insieme al bus address, si fa pervenire ad entrambe un filo di controllo. Se il livello presente su di esso è 1 sarà la memoria ad intervenire, mentre se 0 sarà il dispositivo di I/O. | |
Questa tecnica è praticata fin dai primi processori che, con un secondo filo di controllo (o con 2 fili distinti) possono far sapere a chi riceve l'indirizzo se deve dare (read) o ricevere (write) dati. |
|
Sul processore 8086 la prima linea di controllo si chiama MEM/IO (MEMoria o Input/Output) e le altre 2 RD e WR (entrambe attive basse); combinando tra loro questi segnali (con opportuni piccoli circuiti, detti di decodifica) viene evitato ogni conflitto e il processore potrà disporre a suo piacere o dell'una o dell'altro, in lettura o in scrittura. |
|
Ma chi si incaricherà di suggerire al processore i valori logici con cui impostare le linee di controllo e dove prenderà il numero binario da mettere sul bus address? |
|
Una delle magie dei processori è quella di interpretare ed eseguire i programmi... Basterà quindi costringerlo ad eseguire l'istruzione giusta. | |
Di solito la lettura o la scrittura di una locazione di memoria si realizza facendo eseguire l'istruzione MOV; spetta alla posizione degli operandi stabilire il flusso dei dati. | |
L'istruzione MOV è una tra le più varie e multiformi; fissiamo le idee con un paio tra i numerosi possibili esempi, lasciando al lettore la possibilità di cimentarsi con altri. |
|
Nelle descrizioni seguenti sono citati concetti (come indirizzo fisico o registri) che non ti sono ancora noti, ma il senso delle operazioni sembra accettabile. | |||||||||||||||||||||||||
Anche se il tono della trattazione è
decisamente tecnico (e ti sarà chiaro solo al termine di questo
paragrafo dedicato al processore...) desidero proportelo lo stesso, per darti
la possibilità di confrontarti con la reale sequenza di eventi che si
susseguono nelle operazioni di lettura scrittura e della sua memoria.
|
|
Capitolo 1 | I BUS DEI PROCESSORI 4/6 | |||||||
9 di 60 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|