Principalmente ha a che fare con le lunghezze di interconnessioni e ritardi di propagazione attraverso le porte. Se riduciamo la CPU alla sua essenza, è una macchina di feedback. Un gruppo di circuiti logici combinatori calcolano alcune funzioni booleane sullo stato corrente della macchina e tali funzioni determinano il nuovo stato, che viene bloccato dai circuiti sequenziali quando arriva un nuovo fronte di clock. I circuiti combinatori hanno tutti dei ritardi. Il periodo di clock non può essere più breve del tempo impiegato dal percorso più lento attraverso queste porte per produrre un risultato stabile perché un singolo bit errato interrompe lo spettacolo.
Inoltre, la logica sequenziale ha requisiti di temporizzazione. Prima dell'arrivo del fronte di clock, è necessario un tempo di impostazione minimo per cui gli ingressi devono essere stabili e successivamente devono essere stabili per un certo tempo di attesa. Se questi vengono violati, lo stato diventa immondizia.
I ritardi di propagazione sono causati da cose come la velocità con cui possono essere caricate le capacità parassite, la velocità con cui può accumularsi la corrente di fronte a un'induttanza e la velocità con cui i dispositivi al silicio possono cambiare. Ad esempio, un transistor bipolare con una base più piccola può passare più velocemente di uno con una base più grande, quindi un piccolo transistor su un chip sarà più veloce di uno discreto.
In una precedente risposta che ho eliminato, ho scritto sugli effetti della linea di trasmissione. Ma non ho considerato che questi effetti non entrino nemmeno in scena alle velocità di cui stiamo parlando perché, diciamo, a 10 Mhz, la lunghezza d'onda è ancora di circa 30 metri. Quindi, sulla scala di un circuito di dimensioni ordinarie, gli impulsi sulla scala temporale di alcuni megahertz raggiungono contemporaneamente tutte le parti di una rete di rame.
Quindi, se si fa una CPU con componenti discreti, non si ottengono semplicemente componenti di piccole dimensioni con tempi di commutazione rapidi e la stessa vicinanza che minimizza le capacità e le induttanze vaganti.
Tuttavia, le antiche macchine a componenti discreti negli anni '60 funzionavano un po 'più velocemente di queste macchine homebrew. Ci sono voluti un po 'di tempo e astuzia per arrivarci. Ad esempio, IBM 360 Model 44 (1964) funzionava a 4 Mhz. Potrebbe essere ancora "la velocità dell'homebrew", ma il CDC 7600 pubblicato pochi anni dopo nel 1969 ha superato i 36 Mhz. L'articolo di Wikipedia http://it.wikipedia.org/wiki/CDC_7600 fornisce un suggerimento su alcuni dei trucchi che sono stati tirati, ad esempio:
"Come sempre, il design di Cray si concentrava anche sull'imballaggio per ridurre le dimensioni, ridurre i percorsi dei segnali e quindi aumentare la frequenza operativa. e transistor. Le sei schede sono state impilate e quindi interconnesse lungo i loro bordi, creando un modulo molto compatto, ma sostanzialmente non riparabile. "
Quindi le CPU homebrew non sono necessariamente costruite per il loro vero potenziale a causa di alcuni effetti confondenti legati alla qualità e al layout della build. Tuttavia, chiunque costruisca una CPU a partire da singoli circuiti integrati e componenti discreti che funziona a diversi megahertz dovrebbe essere applaudito.