¿Qué es un canal de instrucciones?

Cualquier instrucción del procesador tiene múltiples etapas para su operación. Cada una de estas etapas requiere un solo ciclo de CPU para completarse. Estas etapas son la obtención de instrucciones, la decodificación de instrucciones, la ejecución, el acceso a la memoria y la reescritura. Respectivamente, estos obtienen la instrucción que debe completarse, separan la operación de los valores en los que se opera, ejecutan el proceso, abren el registro en el que se escribirá el resultado y escriben el resultado en el registro abierto.

Procesadores históricos en orden

En las primeras computadoras, la CPU no usaba una canalización de instrucciones. En estas CPU, cada operación de ciclo único debía ocurrir para cada instrucción. Esto significaba que se necesitaban cinco ciclos de reloj para que la instrucción promedio se procesara por completo antes de que se pudiera iniciar la siguiente. Es posible que algunas operaciones no necesiten escribir ningún resultado en un registro, lo que significa que se pueden omitir las etapas de acceso a la memoria y escritura diferida.

¿Qué es un canal de instrucciones?

En un procesador subescalar sin tubería, cada parte de cada instrucción se ejecuta en orden.

Sin embargo, existe un problema al acecho cuando se ejecuta una instrucción completa en orden antes de poder pasar a la siguiente instrucción. El problema es la falta de caché. La CPU almacena datos que está procesando activamente en el registro. Esto se puede acceder con una latencia de un ciclo. El problema es que el registro es pequeño porque está integrado en el núcleo del procesador. La CPU debe ir a la memoria caché L1 más grande pero más lenta si los datos aún no se han cargado. Si no está allí, debe volver a la caché L2 más grande y más lenta. El siguiente paso es el caché L3; la última opción es la RAM del sistema. Cada una de estas opciones requiere más y más ciclos de CPU para verificar.

Ahora bien, esta latencia adicional añadida puede ser un gran problema en un sistema que debe completar cada instrucción en orden en su totalidad antes de iniciar la siguiente instrucción. Lo que había sido un procesador de 5 ciclos por instrucción, de repente puede detenerse en una instrucción durante docenas o cientos de ciclos de reloj. Mientras tanto, nada más puede suceder en la computadora. Técnicamente, esto se puede aliviar un poco al tener dos núcleos independientes. Sin embargo, nada les impide a ambos hacer lo mismo, potencialmente simultáneamente. Entonces, seguir la ruta multinúcleo no soluciona esto.

El oleoducto RISC clásico

RISC significa Computadora con conjunto de instrucciones reducido . Es un estilo de diseño de procesador que optimiza el rendimiento al facilitar la decodificación de cada instrucción. Esto es en comparación con CISC o Complex Instruction Set Computer, que diseña conjuntos de instrucciones más complejos que permiten que se necesiten menos instrucciones para realizar las mismas tareas.

El diseño clásico de RISC incluye una canalización de instrucciones. En lugar de ejecutar cualquiera de las cinco etapas de instrucción en un ciclo dado, la canalización permite que se realicen las cinco etapas. Por supuesto, no puede ejecutar las cinco etapas de una instrucción en un ciclo. Pero puede poner en cola cinco instrucciones consecutivas con un desplazamiento de una etapa cada una. De esta forma, se puede completar una nueva instrucción en cada ciclo de reloj. Ofreciendo un aumento potencial de rendimiento de 5x para un aumento relativamente bajo en la complejidad del núcleo.

¿Qué es un canal de instrucciones?

En un procesador canalizado escalar, cada etapa de la ejecución de instrucciones se puede realizar una vez por ciclo de reloj. Esto permite un rendimiento máximo de una instrucción completa por ciclo.

Los procesadores que no tienen una canalización solo pueden ser subescalares, ya que no pueden ejecutar una instrucción completa por ciclo. Con esta canalización principal de cinco etapas, puede crear una CPU escalar que pueda completar una instrucción para cada proceso. Al crear canalizaciones de mayor alcance, puede crear CPU superescalares que pueden ejecutar más de una instrucción por ciclo de reloj. Por supuesto, todavía hay problemas potenciales.

todavía secuencial

Nada de esto resuelve el problema de esperar muchos ciclos para obtener una respuesta cuando se necesita consultar los diferentes niveles de caché y RAM. También introduce un nuevo problema. ¿Qué sucede si una instrucción se basa en la salida de la instrucción anterior? Estos problemas se resuelven de forma independiente con un despachador avanzado. Planifica cuidadosamente el orden de ejecución para que ninguna instrucción que dependa de la salida de otra esté demasiado cerca. También maneja errores de caché al estacionar una instrucción y reemplazarla en la canalización con otras instrucciones que están listas para ejecutarse y no requieren su resultado, reanudando la instrucción cuando está lista.

Estas soluciones pueden funcionar en procesadores no canalizados, pero son necesarias para un procesador superescalar que ejecuta más de una instrucción por reloj. Un predictor de bifurcación también es muy útil, ya que puede intentar predecir el resultado de una instrucción con más de un resultado potencial y continuar asumiendo que es correcto a menos que se demuestre lo contrario.

Conclusión

Una tubería permite que todas las capacidades distintas del procesador se utilicen en cada ciclo. Lo hace ejecutando diferentes etapas de diferentes instrucciones simultáneamente. Esto ni siquiera agrega mucha complejidad al diseño de la CPU. También allana el camino para permitir que más de una instrucción realice una sola etapa por ciclo.



Cómo clonar un disco duro

Cómo clonar un disco duro

En la era digital moderna, donde los datos son un activo valioso, clonar un disco duro en Windows puede ser un proceso crucial para muchos. Esta guía completa

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Se enfrenta al mensaje de error al iniciar su computadora que dice que el controlador WUDFRd no se pudo cargar en su computadora?

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

¿Tiene el código de error 0x0003 de la experiencia NVIDIA GeForce en su escritorio? En caso afirmativo, lea el blog para descubrir cómo solucionar este error de forma rápida y sencilla.

Cómo quitar una GPU de una PC con Windows en 2023

Cómo quitar una GPU de una PC con Windows en 2023

¿Necesitas quitar la GPU de tu PC? Únase a mí mientras explico cómo quitar una GPU de su PC en esta guía paso a paso.

Cómo instalar un SSD NVMe en una computadora de escritorio y una computadora portátil

Cómo instalar un SSD NVMe en una computadora de escritorio y una computadora portátil

¿Compró un nuevo SSD NVMe M.2 pero no sabe cómo instalarlo? Siga leyendo para aprender cómo instalar un SSD NVMe en una computadora portátil o de escritorio.

¿Qué es una bomba lógica?

¿Qué es una bomba lógica?

Una bomba lógica es un incidente de seguridad en el que un atacante establece una acción retrasada. Sigue leyendo para saber más.

¿Qué es Stuxnet?

¿Qué es Stuxnet?

Stuxnet era un gusano que se propagaba a sí mismo. Fue el primer uso de un arma cibernética y la primera instancia de malware.

¿Qué es un hacker ético?

¿Qué es un hacker ético?

Un hacker ético es un hacker que actúa dentro de los límites de la ley. Sigue leyendo para saber más sobre el tema.

¿Qué es el cifrado simétrico?

¿Qué es el cifrado simétrico?

Hay muchas partes diferentes de la criptografía. Sin embargo, si desea cifrar algunos datos, hay dos tipos de algoritmos que puede usar: simétrico

Cómo hacer una prueba de estrés de GPU en 2023: + 6 mejores herramientas

Cómo hacer una prueba de estrés de GPU en 2023: + 6 mejores herramientas

¿Quiere hacer una prueba de estrés de la GPU en su PC con Windows para garantizar un rendimiento confiable para los juegos de alta definición? ¡Lea esta guía de GPU de prueba de estrés ahora!