Además de aumentar las capacidades de almacenamiento sin formato de RAM, caché, registros y agregar más núcleos informáticos y anchos de bus más amplios (32 frente a 64 bits, etc.), es porque la CPU es cada vez más complicada.
Las CPU son unidades informáticas compuestas de otras unidades informáticas. Una instrucción de CPU pasa por varias etapas. En los viejos tiempos, había una etapa, y la señal del reloj sería tan larga como en el peor de los casos para que todas las puertas lógicas (hechas de transistores) se asienten. Luego inventamos el revestimiento de tuberías, donde la CPU se dividió en etapas: instrucción de obtención, decodificación, proceso y escritura de resultados. Esa simple CPU de 4 etapas podría entonces funcionar a una velocidad de reloj de 4 veces el reloj original. Cada etapa, está separada de las otras etapas. Esto significa que no solo puede aumentar la velocidad de su reloj a 4x (a 4x de ganancia) sino que ahora puede tener 4 instrucciones en capas (o "segmentadas") en la CPU, lo que da como resultado 4x el rendimiento. Sin embargo, ahora se crean "peligros" porque una instrucción que llega puede depender del resultado de la instrucción anterior, pero debido a que es canalizada, no la recibirá cuando ingrese en la etapa de proceso, ya que la otra parte sale de la etapa de proceso. Por lo tanto, debe agregar circuitos para enviar este resultado a la instrucción que ingresa a la etapa de proceso. La alternativa es detener la tubería, lo que disminuye el rendimiento.
Cada etapa de canalización, y en particular la parte del proceso, se puede subdividir en más y más pasos. Como resultado, terminas creando una gran cantidad de circuitos para manejar todas las interdependencias (peligros) en la tubería.
También se pueden mejorar otros circuitos. Un sumador digital trivial llamado un sumador "ripple carry" es el más fácil, el más pequeño, pero el más lento. El sumador más rápido es un sumador de "avance anticipado" y tiene una tremenda cantidad exponencial de circuitos. En mi curso de ingeniería informática, me quedé sin memoria en mi simulador de un visor de avance anticipado de 32 bits, por lo que lo corté por la mitad, 2 sumadores de CLA de 16 bits en una configuración de arrastre continuo. (Sumar y restar es muy difícil para las computadoras, multiplicarse fácilmente, la división es muy difícil)
Un efecto secundario de todo esto es que al reducir el tamaño de los transistores, y subdividir las etapas, las frecuencias de reloj pueden aumentar. Esto permite que el procesador haga más trabajo para que se ejecute más caliente. Además, a medida que las frecuencias aumentan, los retrasos de propagación se vuelven más evidentes (el tiempo que tarda una etapa de tubería en completarse y la señal está disponible en el otro lado) Debido a la impedancia, la velocidad efectiva de propagación es de aproximadamente 1 pie por nanosegundo. (1 Ghz). A medida que aumenta la velocidad de su reloj, el diseño del chip se vuelve cada vez más importante, ya que un chip de 4 Ghz tiene un tamaño máximo de 3 pulgadas. Por lo tanto, ahora debe comenzar a incluir buses y circuitos adicionales para administrar todos los datos que se mueven alrededor del chip.
También agregamos instrucciones a los chips todo el tiempo. SIMD (datos múltiples de una sola instrucción), ahorro de energía, etc. todos ellos requieren circuitos.
Finalmente, agregamos más características a los chips. En los viejos tiempos, su CPU y su ALU (unidad de lógica aritmética) estaban separados. Los combinamos. El FPU (unidad de punto flotante) estaba separado, que también se combinó. Hoy en día, agregamos USB 3.0, aceleración de video, decodificación de MPEG, etc ... Movemos más y más computación del software al hardware.