Principalmente tiene que ver con la longitud de las interconexiones y los retrasos de propagación a través de las puertas. Si reducimos una CPU a su esencia, es una máquina de retroalimentación. Un grupo de circuitos lógicos combinatorios calculan algunas funciones booleanas sobre el estado actual de la máquina, y esas funciones determinan el nuevo estado, que se enclava en un circuito secuencial cuando llega un nuevo borde de reloj. Todos los circuitos combinatorios tienen retrasos. El período de reloj no puede ser más corto que el tiempo que tarda el camino más lento a través de estas puertas para producir un resultado estable porque un solo bit incorrecto detiene el espectáculo.
Además, la lógica secuencial tiene requisitos de tiempo. Antes de que llegue el borde del reloj, hay un tiempo mínimo de configuración para que las entradas tengan que ser estables y luego deben ser estables durante un tiempo de espera. Si se violan, el estado se convierte en basura.
Los retrasos en la propagación son causados por cosas como la rapidez con que se pueden cargar las capacitancias parásitas, la rapidez con que se puede construir la corriente frente a una inductancia y la rapidez con que los dispositivos de silicio pueden cambiar. Por ejemplo, un transistor bipolar con una base más pequeña puede cambiar más rápido que uno con una base más grande, por lo que un pequeño transistor en un chip será más rápido que uno discreto.
En una respuesta anterior que eliminé, escribí sobre los efectos de la línea de transmisión. Pero no consideré que estos efectos ni siquiera entran en escena a las velocidades de las que estamos hablando porque, por ejemplo, a 10 Mhz, la longitud de onda sigue siendo de unos 30 metros. Entonces, en la escala de una placa de circuito de tamaño normal, los pulsos en la escala de tiempo de unos pocos megahercios aún alcanzan todas las partes de una red de cobre simultáneamente.
Por lo tanto, si crea una CPU con componentes discretos, simplemente no está logrando los componentes pequeños con tiempos de conmutación rápidos y la misma proximidad que minimiza las capacitancias e inductancias perdidas.
Sin embargo, las antiguas máquinas de componentes discretos en la década de 1960 funcionaban bastante más rápido que estas máquinas caseras. Tomó algo de tiempo y astucia llegar allí. Por ejemplo, el IBM 360 Model 44 (1964) funcionó a 4 Mhz. Puede que todavía sea "velocidad casera", pero el CDC 7600 lanzado unos años más tarde en 1969 superó los 36 Mhz. El artículo de Wikipedia http://en.wikipedia.org/wiki/CDC_7600 da una pista de algunos de los trucos que se extrajeron, por ejemplo:
"Como siempre, el diseño de Cray también se centró en el empaque para reducir el tamaño, acortar las rutas de señal y, por lo tanto, aumentar la frecuencia de funcionamiento ... [E] cada módulo de circuito en realidad constaba de hasta seis tarjetas de PC, cada una de ellas con resistencias subminiatura, diodos y transistores. Las seis placas se apilaron y luego se interconectaron a lo largo de sus bordes, lo que resultó en un módulo muy compacto, pero básicamente irreparable ".
Por lo tanto, las CPU caseras no están necesariamente construidas a su verdadero potencial debido a algunos efectos confusos que tienen que ver con la calidad de construcción y el diseño. Aún así, cualquier persona que construya una CPU a partir de circuitos integrados individuales y componentes discretos que se ejecutan a varios megahercios debe ser aplaudido.