Cela concerne principalement les longueurs des interconnexions et les délais de propagation à travers les portes. Si nous réduisons un CPU à son essence, c'est une machine à rétroaction. Un groupe de circuits logiques combinatoires calcule certaines fonctions booléennes sur l'état actuel de la machine, et ces fonctions déterminent le nouvel état, qui est verrouillé par des circuits séquentiels lorsqu'un nouveau front d'horloge arrive. Les circuits combinatoires ont tous des retards. La période d'horloge ne peut pas être plus courte que le temps qu'il faut au chemin le plus lent à travers ces portes pour produire un résultat stable car un seul bit incorrect arrête le show.
En outre, la logique séquentielle a des exigences de synchronisation. Avant l'arrivée du front d'horloge, il y a un temps de configuration minimum pour que les entrées soient stables et ensuite elles doivent être stables pendant un certain temps de maintien. Si ceux-ci sont violés, l'État devient une poubelle.
Les retards de propagation sont causés par des facteurs tels que la vitesse à laquelle les capacités parasites peuvent se charger, la vitesse à laquelle le courant peut s'accumuler face à une inductance et la vitesse à laquelle les dispositifs en silicium peuvent commuter. Par exemple, un transistor bipolaire avec une base plus petite peut commuter plus rapidement qu'un transistor avec une base plus grande, donc un minuscule transistor sur une puce sera plus rapide qu'un transistor discret.
Dans une réponse précédente que j'ai supprimée, j'ai écrit sur les effets de ligne de transmission. Mais je n'ai pas considéré que ces effets n'apparaissent même pas à la vitesse dont nous parlons parce que, disons, à 10 Mhz, la longueur d'onde est toujours d'environ 30 mètres. Ainsi, à l'échelle d'une carte de circuit imprimé de taille ordinaire, des impulsions à l'échelle de temps de quelques mégahertz atteignent toujours toutes les parties d'un réseau en cuivre simultanément.
Donc, si vous fabriquez un processeur à partir de composants discrets, vous n'atteignez tout simplement pas les petits composants avec des temps de commutation rapides et la même proximité qui minimise les capacités et les inductances parasites.
Néanmoins, les anciennes machines à composants discrets dans les années 1960 fonctionnaient un peu plus vite que ces machines homebrew. Il a fallu du temps et de la ruse pour y arriver. Par exemple, l'IBM 360 Model 44 (1964) fonctionnait à 4 MHz. C'est peut-être encore la "vitesse homebrew", mais le CDC 7600 sorti quelques années plus tard en 1969 a dépassé les 36 MHz. L'article de Wikipedia http://en.wikipedia.org/wiki/CDC_7600 donne un aperçu de certaines des astuces qui ont été tirées, par exemple:
"Comme toujours, la conception de Cray s'est également concentrée sur l'emballage pour réduire la taille, raccourcir les trajets des signaux et ainsi augmenter la fréquence de fonctionnement. ... et les transistors. Les six cartes ont été empilées puis interconnectées le long de leurs bords, ce qui en fait un module très compact, mais fondamentalement irréparable. "
Ainsi, les processeurs homebrew ne sont pas nécessairement construits à leur véritable potentiel en raison de certains effets de confusion liés à la qualité de construction et à la disposition. Néanmoins, toute personne qui construit un CPU à partir de circuits intégrés individuels et de composants discrets qui fonctionne à plusieurs mégahertz doit être applaudie.