View Full Version : [Architettura PC] Che relazione c'è fra...
Memoria centrale di un elaboratore, dimensione Program Counter e dimensione Registro Indirizzi?
Esempio:
Un elaboratore ha una memoria centrale di 4 GB. Se il registro contatore di programma (program counter) ha una dimensione di 32 bit, quale deve essere la dimensione minima in byte del registro indirizzi?
beppegrillo
30-08-2007, 15:36
Non è detto che lo debba essere, visto che esiste la memoria virtuale, ma non considerandola dovrebbe essere log in base 2 di 4GB
La risposta è: dim(RI) = dim (PC) =32 bit = 4B Ma il problema è: Come arrivo a questa conclusione?
Memoria centrale di un elaboratore, dimensione Program Counter e dimensione Registro Indirizzi? tra la memoria centrale e il program counter nessuna: la dimensione del program counter è legata solamente alla dimensione dello spazio di memoria virtuale, che è raro che coincida con quella della memoria fisica. guarda caso la domanda prende come esempio proprio un elaboratore con 4 GB di RAM tondi tondi, ma che strano.
sul "registro indirizzi" invece potremmo dire che in certi casi capita avere la stessa dimensione del program counter; affinché ciò si verifichi l'architettura deve essere stata progettata in modo tale che la dimensione della memoria virtuale coincida con quella massima della memoria fisica che può essere indirizzata. non è necessario che questa condizione si verifichi, ma potrebbe; ancora una volta, guarda che strano che l'esercizio ci dia un elaboratore con 4 GB precisi precisi di RAM.
Comunque per il registro indirizzi è facile...il primo passo della fase di fetch è caricare il program counter nel MAR (memory address register) che che credo corrisponda al tuo RI. Quindi la dimensione di RI deve essere >= di PC.
Per la memoria il discorso è più complesso. Se il sistema ha solamente la possibilità di utililizzare un tipo di indirizzamento flat e quella è la memoria massima indirizzabile allora è chiaro che il PC deve riuscire ad indirizzare tutte le locazioni di memoria (anche se questo può non essere così automatico se si utilizzano varie ottimizzazioni per set di istruzioni a lunghezza fissa).
beppegrillo
30-08-2007, 19:14
In teoria MAR dovrebbe essere diverso da AR
In teoria MAR dovrebbe essere diverso da AR
MAR = Memory Address Register...RI = Registro Indirizzi
Altrimenti non so cosa intendano...
Il MAR, come l'ho visto io, è quel registro dove si mette l'indirizzo a cui si vuole accedere prima di inviare l'abilitazione ai chip di memoria... In pratica è un latch che esce diretto sul bus indirizzi.
beppegrillo
30-08-2007, 21:20
MAR = Memory Address Register...RI = Registro Indirizzi
Altrimenti non so cosa intendano...
Il MAR, come l'ho visto io, è quel registro dove si mette l'indirizzo a cui si vuole accedere prima di inviare l'abilitazione ai chip di memoria... In pratica è un latch che esce diretto sul bus indirizzi.
Si esattamente il MAR è quello.
Però da reminiscenze ricordo che esisteva un altro registro interno AR intermedio, e MAR fosse accessibile solo da AR.
Sul punto di vista pratico è la stessa cosa ;)
Si esattamente il MAR è quello.
Però da reminiscenze ricordo che esisteva un altro registro interno AR intermedio, e MAR fosse accessibile solo da AR.
Sul punto di vista pratico è la stessa cosa ;) forse l'AR contiene l'indirizzo virtuale e il MAR quello fisico?
edit - anzi: il MAR contiene sicuramente l'indirizzo fisico perché me lo ricordo anche io :D
quindi evidentemente questo AR contiene un indirizzo virtuale.
Dipende dall'architettura...non tutte, soprattutto quelle didattiche, hanno memoria virtuale, contando che gli dicono che ha 4 GB di RAM, imho ha un indirizzamento flat...
L'altro registro che mi ricordo è il MDR, ma è quello che riceve i dati letti e contiene i dati da scrivere.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.