Che cosa significa quando il bus dati ha una larghezza di 32 bit

-1

Capisco che si riferisca alla dimensione del registro della CPU. Se la dimensione del registro è di 32 bit, è logico disporre di un bus dati a 32 bit per trasferire i dati.

La mia domanda è, il bus è effettivamente degnato per gestire solo 32 bit alla volta? non è solo un filo? non può tecnicamente gestire più bit contemporaneamente?

    
posta xnight 16.09.2018 - 16:56
fonte

3 risposte

1

Anche se fanno alcuni buoni punti di vista sospetto che le risposte di Erik e di Amon non facciano altro che aumentare la tua confusione.

Quando si legge su un bus dati a 32 bit, significa che ci sono 32 cavi paralleli in esecuzione dalla CPU all'interfaccia di memoria. Sto parlando del tipo di memoria che un tipico PC moderno avrà un paio di gigabyte di. Dove vengono caricati i programmi prima che vengano eseguiti e che vengano utilizzati come memoria di lavoro per le variabili.

Quando la CPU legge le istruzioni del programma oi dati dalla memoria, imposta i bit sul bus indirizzo su un numero che identifica una posizione di memoria. Anche i cavi del bus indirizzo vengono inviati all'interfaccia di memoria. Un altro filo funge da regolatore del traffico. Pensa che salendo alla memoria dovrebbe ora recuperare i byte indicati dall'indirizzo impostato sul bus degli indirizzi. Quando la linea del regolatore del traffico scende, la CPU sa che i dati impostati sul bus dati sono validi e potrebbero essere sincronizzati.

In realtà potrebbero essere necessari diversi alti e bassi del regolatore del traffico per far passare i bit, non è questo il punto. Il punto è che con un bus dati a 32 bit ci saranno 32 fili dalla memoria alla CPU dedicati per il trasferimento dei dati e si ottengono 32 bit dalla memoria alla CPU in un ciclo di comunicazione.

    
risposta data 16.09.2018 - 22:45
fonte
0

Non importa se un bus dati a 32 bit è implementato come 32 fili che trasportano 1 bit per ciclo, o un filo che trasporta in serie 32 bit per ciclo, o qualsiasi cosa nel mezzo.

La parte importante è che esiste necessariamente un limite alla quantità di dati che possono essere trasferiti per ciclo , indipendentemente dal fatto che siano 16, 32 o 64 bit. È conveniente scegliere la larghezza del bus di memoria, la dimensione del registro e le dimensioni dell'indirizzo tutte come la stessa dimensione " parola " . È ovviamente possibile creare un bus di memoria che può trasportare più di quello, ad es. per caricare una doppia parola alla volta.

Se questo è il caso dipende molto dal caso d'uso previsto dell'insieme di istruzioni.

  • MIPS cerca di essere un set di istruzioni minimo, ortogonale e non include istruzioni effettive per caricare direttamente le doppie parole (sebbene un assemblatore possa offrire una pseudo-istruzione per la convenienza del programmatore).
  • Al contrario, AMD64 (x86-64) con le sue varie estensioni è più preoccupato di essere un efficiente set di istruzioni multiuso. Sebbene nominalmente un set di istruzioni a 64 bit, definisce anche registri a 128 bit e istruzioni come MOVDQA. Tuttavia, il set di istruzioni x86 è un valore anomalo assoluto in molti modi, incluso il supporto per diverse modalità di indirizzamento e dimensioni delle parole.
risposta data 16.09.2018 - 17:27
fonte
0

La considerazione per i processori moderni è che alcune cache sono su chip. Quindi l'interfaccia del bus di memoria del chip passerà quindi da una memoria cache a una memoria off-chip. Qui vorrai il bus più grande che ti puoi permettere, magari fino alla dimensione della linea della cache, che potrebbe essere di 16 byte!

L'interfaccia del bus della CPU sarà interna al chip e andrà a una cache interna.

    
risposta data 16.09.2018 - 17:58
fonte

Leggi altre domande sui tag