Perché non abbiamo CPU a 33 bit? [chiuso]


9

Ho visto che CPU e sistemi operativi si sono spostati verso l'alto in termini di bit da 8 bit a 16 bit, a 32 bit e attualmente a 64 bit. Comprendo che questa modifica serve ad aumentare la quantità massima di memoria indirizzabile dalla CPU.

Quello che non capisco è perché c'è sempre un raddoppio della dimensione del bus. È solo una decisione arbitraria / commerciale raddoppiare la dimensione del bus o c'è un altro motivo?

Perché non possiamo avere una CPU a 33 bit? O se ciò non bastasse, una CPU a 34 bit? 64 bit sembra un salto così massiccio e inutile (costoso?) Nello spazio degli indirizzi e presumibilmente complessità del silicio sottostante.


3
@sawdust - Eppure non c'è niente di così sacro nell'avere un percorso di dati che è un multiplo di 8 bit, e ancora meno, avere uno che è una potenza di due multipli di 8 bit.
Daniel R Hicks,

7
Questa domanda non è poi così male, e non è così semplice come "oh beh impara binario derp!", Come sottolinea Daniel (e la mia risposta). Lo riporterò a zero per questo motivo.
Marshall Eubanks,

1
La tua domanda contiene una premessa errata. L'aumento dell'ampiezza della punta era principalmente quello di aumentare l'ampiezza dei registri di uso generale. L'aumento della larghezza dei puntatori era storicamente secondario.
David Schwartz,

1
@sawdust Ho una buona idea di come funziona il binario, il che è abbastanza ovvio in realtà dalla mia domanda. No grazie per la tua risposta inutile e piuttosto scortese.
localhost,

1
@marshaul: questa domanda è stata effettivamente sottovalutata sotto lo zero? Perché?? È una buona domanda Penso che i downvoter probabilmente abbiano ancora meno comprensione dei numeri binari rispetto all'autore della domanda.
Ciao Arrivederci,

Risposte:


7

Ho visto CPU a 12, 14, 15, 17, 18, 20, 24 e 48 bit. Ma con la moderna tecnologia VLSI (o è ULSI ormai?), Aggiungere più bit al percorso dei dati non è poi così costoso. Gli sviluppatori di chip ottengono la massima larghezza possibile sul chip, in quanto aumenta la produttività con un costo aggiuntivo relativamente basso e con solo una leggera penalità del tempo di ciclo.

Raggiungere più velocità / throughput con un percorso dati ristretto e tempi di ciclo più rapidi è molto più difficile.


(Ho dimenticato di menzionare le CPU a 60 bit - La vecchia serie CDC 6600.)
Daniel R Hicks,

Anche se questa è una risposta interessante, non spiega ancora perché i poteri di due sembrano essere preferiti nei PC moderni, che penso sia ciò a cui la domanda mira realmente, anche se non pienamente realizzata al momento della sua creazione.
Ciao Arrivederci,

@HelloGoodbye Non sono così tanti poteri di due in quanto sono multipli di 8. Un bus dati a 32 bit può scrivere esattamente 4 byte in un'istruzione.
jiggunjer,

4

A differenza di molte circostanze in un computer, ad esempio l'indirizzamento, in cui l'aumento della lunghezza dell'indirizzo di un bit aumenta la quantità di memoria indirizzabile di una potenza di 2 (e perché le potenze di 2 sono così comuni in memoria), la lunghezza effettiva della parola della CPU può essere qualsiasi valore conveniente.

Le lunghezze di parole comuni per i processori (16, 32 e 64 bit) sono nate in realtà come multipli di 8 (piuttosto che potenze di 2, sebbene ovviamente questi particolari multipli di 8 siano anche potenze di 2), 8 bit essendo il dimensione minima per un singolo carattere , di per sé il tipo di dati primitivo più piccolo comunemente usato.

Poiché 8 bit è troppo impreciso per essere molto utile per valori numerici (o anche per set di caratteri estesi come UTF-16), le parole più grandi di 8 bit consentono un'efficienza molto maggiore quando si lavora con valori che utilizzano più di tanti bit di precisione e i multipli di 8 bit (il più piccolo tipo di dati comunemente usato) sono ancora la scelta naturale, consentendo di archiviare un numero intero di caratteri (ad es. 2, 4 o 8) in una parola senza lasciare bit sprecati e non utilizzati.

L'articolo di Wikipedia sulle parole ha una sezione Scelta delle dimensioni delle parole con dettagli sempre leggermente più piccoli.


1
Non tutti i multipli di 8 sono poteri di 2.
fino al

Ottimo punto, intendevo davvero dire "questi poteri di 2". Farò la correzione.
Marshall Eubanks,

Sono stati creati computer con "caratteri" a 6 e 10 bit.
Daniel R Hicks,

Certo, e ancora, la lunghezza della parola può essere qualsiasi numero conveniente, che non deve essere basato sulla lunghezza del carattere o su qualcosa in particolare. Ad esempio, un ALU che raramente operava su "caratteri" avrebbe probabilmente una lunghezza della parola basata sull'intero di minore precisione comunemente usato. Non intendevo suggerire nulla di prescrittivo, ma semplicemente spiegare il motivo di base delle scelte più comuni (e quelle su cui ha chiesto).
Marshall Eubanks,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.