Isso tem a ver principalmente com os comprimentos de interconexões e atrasos de propagação pelos portões. Se reduzirmos a CPU à sua essência, é uma máquina de feedback. Vários circuitos lógicos combinatórios calculam algumas funções booleanas sobre o estado atual da máquina, e essas funções determinam o novo estado, que é travado por circuitos sequenciais quando chega uma nova borda do relógio. Todos os circuitos combinatórios apresentam atrasos. O período do relógio não pode ser mais curto que o tempo que leva para o caminho mais lento através desses portões para produzir um resultado estável, porque um único bit incorreto interrompe o show.
Além disso, a lógica seqüencial possui requisitos de tempo. Antes que o limite do relógio chegue, há um tempo mínimo de configuração para que as entradas tenham que ser estáveis e, posteriormente, elas devem ser estáveis por algum tempo de espera. Se estes forem violados, o estado se tornará lixo.
Os atrasos na propagação são causados por fatores como a rapidez com que as capacitâncias parasitas podem carregar, a rapidez com que a corrente pode se acumular diante de uma indutância e a rapidez com que os dispositivos de silício podem mudar. Por exemplo, um transistor bipolar com uma base menor pode alternar mais rápido que um com uma base maior, portanto, um transistor minúsculo em um chip será mais rápido que um discreto.
Em uma resposta anterior que excluí, escrevi sobre os efeitos da linha de transmissão. Mas não considero que esses efeitos nem entrem em cena nas velocidades de que estamos falando, porque, digamos, a 10 Mhz, o comprimento de onda ainda é de cerca de 30 metros. Portanto, na escala de uma placa de circuito de tamanho comum, pulsos na escala de tempo de alguns megahertz ainda atingem todas as partes de uma rede de cobre simultaneamente.
Portanto, se você cria uma CPU com componentes discretos, simplesmente não está conseguindo os componentes pequenos com tempos de comutação rápidos e a mesma proximidade que minimiza as capacitâncias e indutâncias perdidas.
Não obstante, as máquinas antigas de componentes discretos na década de 1960 funcionavam um pouco mais rápido do que essas máquinas caseiras. Demorou algum tempo e astúcia para chegar lá. Por exemplo, o IBM 360 Model 44 (1964) rodava em 4 Mhz. Isso ainda pode ser a "velocidade homebrew", mas o CDC 7600 lançado alguns anos depois em 1969 ultrapassou os 36 Mhz. O artigo da Wikipedia http://en.wikipedia.org/wiki/CDC_7600 fornece uma dica sobre alguns dos truques que foram usados, por exemplo:
"Como sempre, o design da Cray também se concentrou na embalagem para reduzir o tamanho, encurtar os caminhos do sinal e, assim, aumentar a frequência operacional. ... [E] esse módulo de circuito consistia na verdade em até seis placas de PC, cada uma com resistências subminiaturas, diodos e transistores. As seis placas foram empilhadas e depois interconectadas ao longo de suas bordas, criando um módulo muito compacto, mas basicamente irreparável. "
Portanto, as CPUs da homebrew não são necessariamente construídas para o seu verdadeiro potencial devido a alguns efeitos confusos relacionados à qualidade e ao layout da construção. Ainda assim, qualquer pessoa que construa uma CPU a partir de circuitos integrados individuais e componentes discretos rodando em vários megahertz deve ser aplaudida.