¿Cómo se han acelerado los procesadores Intel al tiempo que disminuyen las velocidades de reloj?

Han aumentado la cantidad de instrucciones que se procesan en cada ciclo de reloj.

Actualmente, una CPU moderna ejecuta alrededor de 1 a 4 instrucciones cada ciclo, con un promedio de alrededor de 2.5 en código activo (el núcleo de un programa, para el programa zip, este es el compresor) y alrededor de 0.5 a 1 instrucciones en el resto del programa.

Para lograr esto, la tubería del procesador es como un delta del río. Tiene unidades de procesamiento redundantes en todas partes de la CPU.

La tubería normal de la CPU es esta:

Recuperar -> decodificar -> ejecutar -> confirmar.

Obtener en un procesador Intel moderno puede obtener hasta 6 instrucciones por reloj.

Puede decodificar 4 instrucciones.

Puede ejecutar hasta 7 instrucciones.

Y no sé cuántos puede cometer.

También los cpus modernos tienen estas etapas primarias también reestructuradas para que también se canalicen.

Para facilitar esta canalización, mientras las instrucciones están dentro, se procesan fuera de servicio. Lo que significa que el procesador tiene una ventana de aproximadamente 200 instrucciones desde donde elige qué ejecutar a continuación. Se reordenan nuevamente en la etapa de confirmación.

Además de eso, estas instrucciones se han actualizado para que puedan ejecutarse en múltiples elementos. Entonces, no solo el núcleo puede ejecutar múltiples instrucciones por ciclo, sino que esas instrucciones funcionan en múltiples elementos. Actualmente, el procesador puede funcionar en 8 elementos de 32 bits o 4 elementos de 64 bits.

Un tercer elemento clave es alimentar la memoria del procesador. Un procesador Intel moderno puede gastar alrededor de 200GBytes por segundo de datos por núcleo al ejecutar código activo (~ 3 instrucciones por ciclo en 8 elementos). El ram puede proporcionar alrededor de 30 GBytes por segundo, y eso se divide entre 4 núcleos. Entonces, para cerrar la brecha, los procesadores modernos usan cachés. Tanto para proporcionar el ancho de banda necesario como para reducir la latencia de los accesos a los datos en aproximadamente 100 veces.

En pocas palabras, los procesadores son muy complejos internamente, al tiempo que mantienen una fachada de simplicidad para el software que se ejecuta sobre él.

Hay algunas cosas que han ayudado principalmente a aumentar la velocidad de procesamiento real mientras se mantiene o disminuye la velocidad del reloj.

Primero: procesamiento paralelo . Más núcleos significan que un procesador puede hacer varias cosas al mismo tiempo. Por supuesto, esto solo ayuda al software que admite múltiples hilos o mientras realiza múltiples tareas.

Segundo : buen IGP . Intel ha hecho grandes avances en sus núcleos gráficos en las últimas generaciones y combinado con adiciones recientes que permiten otros usos de los núcleos gráficos integrados pueden tener un gran aumento de velocidad en ciertas tareas.

Tercero: Eficiencia de procesamiento . Este es el que la mayoría de la gente no entiende o no se da cuenta. ¿Recuerdas el Pentium 4? Velocidades de reloj súper altas, consumo de energía y calor, pero ¿rendimiento mediocre? La razón por la que eran tan malos era la eficiencia. Pues falta de ella. Mantener un procesador que circula miles de millones de veces por segundo ocupado es un desafío y no siempre es exitoso. El Pentium 4 fue un ejemplo perfecto donde el procesador a menudo esperaba trabajo, negando su alta velocidad de reloj. La marca de procesadores “Core” fue un retorno a un diseño de “eficiencia primero” para procesadores.

Fuentes:

Revisión de Intel Core i7-5775C: el escritorio no deseado Broadwell tiene un buen truco

La arquitectura Haswell de Intel analizada: construcción de una nueva PC y una nueva Intel

Lista de microarquitecturas de CPU Intel – Wikipedia

Mejor predicción de rama

Mejor almacenamiento en caché

Mejores habilidades de acceso a la memoria

Toneladas de pequeñas mejoras incrementales

Para usar una analogía, un auto de carreras de NASCAR tiene toneladas más de velocidad que el camión volquete promedio, pero si el trabajo es mover este montón gigante de tierra de un lugar a otro, el camión volquete gana fácilmente en todos los escenarios imaginables. Las mejoras de la CPU se han sumado a la mayor capacidad de carga, capacidad de acarreo, etc., al tiempo que reducen la velocidad de reloj sin procesar para mantener cargas de calor manejables y estabilidad. En general, terminas con una CPU más rápida.

Todo el rendimiento no depende completamente de las velocidades del reloj.

También depende de la arquitectura, el diseño de caché, las técnicas térmicas, de canalización y las características avanzadas de los conjuntos de instrucciones.

La arquitectura térmica y la arquitectura se han vuelto eficientes debido a la reducción de los procesos de fabricación y el tamaño de las matrices.

El diseño y la administración de la memoria caché ha experimentado un aumento constante con el tiempo con el cambio de diseño de Intel en i9 al aumentar la memoria caché L2 y hacer que la caché L3 sea una especie de caché víctima.

Se han agregado muchas características en ISA con la llegada de i9.

Los multiprocesadores se han convertido en una rutina. Más núcleos que se ejecutan en paralelo han reducido los tiempos de cálculo y las térmicas.

Más

  • tubería,
  • mirar hacia el futuro,
  • memorias caché en múltiples niveles
  • Los buses más anchos aumentan la cantidad de datos transferidos por reloj
  • Número de núcleos independientes para procesamiento en paralelo.

Hola, Neil, me alegra que hayas preguntado, pero no soy un chico de tecnología, me gusta mucho la teoría, pero no los detalles.

Obviamente, puedo hablar sobre la cantidad de núcleos de procesamiento, tiene dos núcleos, el doble del trabajo, si su procesador va un 25 por ciento más lento, pero tiene dos núcleos haciendo el trabajo, está aumentando efectivamente su carga de trabajo potencial en un 50 por ciento. Ese número no es exacto, creo que podría haber pérdidas de escala, posiblemente ganancias de escala, no he buscado puntos de referencia

Luego está ese empuje de inteligencia Hyper-threading, AMD llama a su versión cluster multi threading, no estoy seguro de cuál es más eficiente

Sé por experiencia personal, mi amd quad core de 7 años de edad, ninguna tecnología de subprocesamiento múltiple tiene un mejor rendimiento que mi i5 mucho más nuevo que tiene hiperprocesamiento

Creo que Intel fue el primero en narket, también necesita que el sistema operativo lo sepa para que la programación adecuada pueda aprovechar

Antes de que se aplicara el principio, cada ciclo solo podía manejar una instrucción, el hyper threading le permite al procesador manejar más de ese por ciclo, no creo que sean dos, hay dos instrucciones, una se puede ejecutar si la otra está esperando , probablemente un aumento del rendimiento del 15 por ciento en comparación con la tecnología anterior, CPU sin hiperprocesos

Luego está la cantidad de l caché en el dado, que es la memoria RAM más rápida disponible, tan cerca de la CPU, cuanto mayor sea la caché, más rápido su procesador puede realizar esas tareas específicas.

Esta no es la mejor respuesta posible, no estoy bien versado, un problema de hardware real le dará explicaciones más detalladas

Depende de lo que llames más rápido.

La tendencia general durante aproximadamente un año en el mercado de CPU es aumentar el número de núcleos, lo que resulta en una disminución de la velocidad del reloj.

Hacer esto produciría un mejor rendimiento multinúcleo al tiempo que reduce el rendimiento de un solo núcleo. Digamos el i9s vs i7 7700K. El primero será mejor en cargas de trabajo multiproceso, si es así, encontrará el i9s más rápido. El primero es bueno en tareas que requieren velocidades de reloj superiores y cargas de trabajo de un solo núcleo, si eso es lo que haces, encontrarás el 7700K más rápido.