Procesador superescalar: arquitectura, segmentación, tipos y sus aplicaciones

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





En este mundo todos quieren hacer sus cosas/trabajos rápido. ¿no es así? Desde automóviles hasta máquinas industriales y domésticas, todos quieren que funcionen más rápido. ¿Sabes qué hay dentro de estas máquinas para que funcionen? Están procesadores . Pueden ser micro o macro procesadores dependiendo de la funcionalidad. El procesador básico en general ejecuta una instrucción por ciclo de reloj. En forma de mejorar su velocidad de procesamiento para que las máquinas puedan mejorar su velocidad surgió es, el procesador superescalar que tiene un algoritmo de canalización que le permite ejecutar dos instrucciones por ciclo de reloj. Fue inventado por primera vez por el CDC 6600 de Seymour Cray, inventado en 1964 y luego mejorado por Tjaden & Flynn en 1970.


El primer microprocesador superescalar comercial de un solo chip MC88100 fue desarrollado por Motorola en 1988, luego Intel introdujo su versión I960CA en 1989 y AMD 29000-series 29050 en 1990. En la actualidad, el procesador superescalar típico utilizado es el procesador Intel Core i7 dependiendo de la microarquitectura Nehalem.



Sin embargo, las implementaciones de superescalar se dirigen hacia una mayor complejidad. El diseño de estos procesadores normalmente se refiere a un conjunto de métodos que permiten que la CPU de una computadora alcance un rendimiento superior a una instrucción por cada ciclo mientras ejecuta un solo programa secuencial. Veamos más en este artículo la arquitectura del procesador SuperScalar que reduce su tiempo de ejecución y sus aplicaciones.

¿Qué es el procesador superescalar?

Un tipo de microprocesador que se utiliza para implementar un tipo de paralelismo conocido como paralelismo de nivel de instrucción en un solo procesador para ejecutar más de una instrucción durante un ciclo CLK mediante el envío simultáneo de varias instrucciones a unidades de ejecución especiales en el procesador. A procesador escalar ejecuta una sola instrucción para cada ciclo de reloj; un procesador superescalar puede ejecutar más de una instrucción durante un ciclo de reloj.



Las técnicas de diseño de superescalar normalmente comprenden el cambio de nombre de registros paralelos, la decodificación de instrucciones paralelas, las ejecuciones fuera de orden y la ejecución especulativa. Por lo tanto, estos métodos se utilizan normalmente con métodos de diseño complementarios como canalización, predicción de ramificación, almacenamiento en caché y multinúcleo dentro de los diseños actuales de microprocesadores.

  Procesador superescalar
Procesador superescalar

Características

Las características de los procesadores superescalares incluyen lo siguiente.

  circuito impreso
  • La arquitectura superescalar es una técnica de computación paralela utilizada en varios procesadores.
  • En una computadora superescalar, la CPU administra varias canalizaciones de instrucciones para ejecutar numerosas instrucciones simultáneamente durante un ciclo de reloj.
  • Las arquitecturas superescalares incluyen todas canalización características aunque hay varias instrucciones que se ejecutan simultáneamente dentro de la misma tubería.
  • Los métodos de diseño superescalar normalmente comprenden el cambio de nombre de registros paralelos, la decodificación de instrucciones paralelas, la ejecución especulativa y la ejecución fuera de orden. Por lo tanto, estos métodos se utilizan normalmente con métodos de diseño complementarios como el almacenamiento en caché, la canalización, la predicción de bifurcaciones y el multinúcleo en los diseños de microprocesadores recientes.

Arquitectura de procesador superescalar

Sabemos que un procesador superescalar es una CPU que ejecuta más de una instrucción por cada ciclo CLK porque las velocidades de procesamiento simplemente se miden en ciclos CLK por cada segundo. En comparación con un procesador escalar, este procesador es mucho más rápido.

La arquitectura del procesador superescalar incluye principalmente unidades de ejecución paralelas donde estas unidades pueden implementar instrucciones simultáneamente. Primero, esta arquitectura paralela se implementó dentro de un procesador RISC que utiliza instrucciones simples y cortas para ejecutar cálculos. Entonces, debido a sus habilidades superescalares, normalmente RIESGO Los procesadores se han desempeñado mejor en comparación con los procesadores CISC que funcionan con los mismos megahercios. Pero más CISC Los procesadores ahora como el Intel Pentium también comprenden algo de arquitectura RISC, lo que les permite realizar instrucciones en paralelo.

  Arquitectura de procesador superescalar
Arquitectura de procesador superescalar

El procesador superescalar está equipado con varias unidades de procesamiento para manejar varias instrucciones en paralelo en cada etapa de procesamiento. Al utilizar la arquitectura anterior, varias instrucciones comienzan a ejecutarse dentro de un ciclo de reloj similar. Estos procesadores son capaces de obtener una salida de ejecución de instrucción de la instrucción anterior para cada ciclo.

En el diagrama de arquitectura anterior, se usa un procesador con dos unidades de ejecución donde una se usa para números enteros y la otra se usa para las operaciones de punto flotante. La unidad de búsqueda de instrucciones (IFU) es capaz de leer instrucciones a la vez y almacenarlas dentro de la cola de instrucciones. En cada ciclo, la unidad de despacho obtiene y decodifica hasta 2 instrucciones desde el frente de la cola. Si hay un solo entero, una sola instrucción de coma flotante y ningún peligro, ambas instrucciones se envían dentro de un ciclo de reloj similar.

Canalización

La canalización es el procedimiento de dividir las tareas en subpasos y ejecutarlos dentro de diferentes partes del procesador. En la siguiente canalización superescalar, se pueden obtener y enviar dos instrucciones a la vez para completar un máximo de 2 instrucciones por ciclo. La arquitectura de canalización en el procesador escalar y el procesador superescalar se muestra a continuación.

Las instrucciones en un procesador superescalar se emiten a partir de un flujo de instrucciones secuenciales. Debe permitir múltiples instrucciones para cada ciclo de reloj y la CPU debe verificar dinámicamente las dependencias de datos entre las instrucciones.

En la siguiente arquitectura de canalización, se obtiene F, se decodifica D, se ejecuta E y W es la reescritura de registros. En esta arquitectura de tubería, I1, I2, I3 e I4 son instrucciones.

La arquitectura de canalización del procesador escalar incluye una única canalización y cuatro etapas de recuperación, decodificación, ejecución y reescritura de resultados. En el procesador escalar de tubería única, la tubería en la instrucción 1 (I1) funciona como; en el primer período de reloj I1 buscará, en el segundo período de reloj decodificará y en la segunda instrucción I2 buscará. Se buscará la tercera instrucción I3 en el tercer período de reloj, se decodificará I2 y se ejecutará I1. En el cuarto período de reloj, I4 buscará, I3 decodificará, I2 ejecutará e I1 escribirá en la memoria. Entonces, en siete períodos de reloj, ejecutará 4 instrucciones en una sola tubería.

  Canalización escalar
Canalización escalar

La arquitectura de canalización del procesador superescalar incluye dos canalizaciones y cuatro etapas de obtención, decodificación, ejecución y reescritura de resultados. Es un procesador superescalar de 2 problemas, lo que significa que dos instrucciones a la vez buscarán, decodificarán, ejecutarán y escribirán el resultado. Las dos instrucciones I1 e I2 buscarán, decodificarán, ejecutarán y reescribirán a la vez en cada período de reloj. Simultáneamente en el siguiente período de reloj, las dos instrucciones restantes I3 e I4 obtendrán, decodificarán, ejecutarán y escribirán de nuevo al mismo tiempo. Entonces, en cinco períodos de reloj, ejecutará 4 instrucciones en una sola tubería.

  Canalización superescalar
Canalización superescalar

Por lo tanto, un procesador escalar emite una sola instrucción por ciclo de reloj y realiza una sola etapa de canalización por ciclo de reloj, mientras que un procesador superescalar emite dos instrucciones por ciclo de reloj y ejecuta dos instancias de cada etapa en paralelo. Entonces, la ejecución de instrucciones en un procesador escalar toma más tiempo, mientras que en un superescalar toma menos tiempo ejecutar instrucciones. .

Tipos de procesadores superescalares

Estos son diferentes tipos de procesadores superescalares disponibles en el mercado que se analizan a continuación.

Procesador Intel Core i7

Intel Core i7 es un procesador superescalar que se basa en la microarquitectura Nehalem. En un diseño Core i7, hay varios núcleos de procesador en los que cada núcleo de procesador es un procesador superescalar. Esta es la versión más rápida del procesador Intel que se utiliza en computadoras y dispositivos de consumo. Similar al Intel Corei5, este procesador está integrado en la tecnología Intel Turbo Boost. Este procesador está disponible en 2 a 6 variedades que admiten hasta 12 subprocesos diferentes a la vez.

  Procesador Intel Core i7
Procesador Intel Core i7

Procesador Intel Pentium

La arquitectura canalizada superescalar del procesador Intel Pentium significa que la CPU ejecuta un mínimo de dos o más instrucciones para cada ciclo. Este procesador es ampliamente utilizado en computadoras personales. Los dispositivos con procesador Intel Pentium normalmente están diseñados para uso en línea, computación en la nube y colaboración. Por lo tanto, este procesador funciona perfectamente para tabletas y Chromebooks para brindar un rendimiento local sólido e interacciones en línea eficientes.

  Procesador Intel Pentium
Procesador Intel Pentium

IBM Power PC601

El procesador superescalar como IBM power PC601 es de la familia de microprocesadores PowerPC de RISC. Este procesador es capaz de emitir y retirar tres instrucciones para cada reloj y una para cada una de las 3 unidades de ejecución. Las instrucciones están totalmente desordenadas para mejorar el rendimiento; pero, el PC601 hará que la ejecución surja en orden.

  IBM Power PC601
IBM Power PC601

El procesador Power PC601 proporciona direcciones lógicas de 32 bits, tipos de datos enteros de 8, 16 y 32 bits y tipos de datos de punto flotante de 32 y 64 bits. Para la implementación de PowerPC de 64 bits, la arquitectura de este procesador proporciona tipos de datos enteros basados ​​en 64 bits, direccionamiento y otras funciones necesarias para completar la arquitectura basada en 64 bits.

MC 88110

El MC 88110 es un microprocesador RISC de segunda generación de un solo chip que utiliza métodos avanzados para explotar el paralelismo a nivel de instrucciones. Este procesador utiliza múltiples cachés en chip, problemas de instrucciones superescalares, grabación de instrucciones dinámicas limitadas y ejecución especulativa para lograr el máximo rendimiento, por lo que se usa idealmente como un procesador central dentro de PC y estaciones de trabajo de bajo costo.

  MC 88000
MC 88000

Intel i960

Intel i960 es un procesador superescalar que es capaz de ejecutar y enviar varias instrucciones independientes durante cada ciclo de reloj del procesador. Este es un microprocesador basado en RISC que se hizo muy famoso como microcontrolador integrado a principios de la década de 1990. Este procesador se usa continuamente en algunas aplicaciones militares.

  Intel i960
Intel i960

MIPS-R

El MIPS R es un microprocesador dinámico y superescalar que se utiliza para ejecutar la arquitectura de conjunto de 4 instrucciones MIPS de 64 bits. Este procesador obtiene y decodifica 4 instrucciones para cada ciclo y las envía a cinco unidades de ejecución de baja latencia y completamente canalizadas. Este procesador está especialmente diseñado para aplicaciones de alto rendimiento, grandes y del mundo real con localidad de memoria deficiente. Con una ejecución aproximada, simplemente calcula las direcciones de memoria. Los procesadores MIPS se utilizan principalmente en varios dispositivos como Nintendo Gamecube, la línea de productos de SGI, Sony Playstation 2, PSP y enrutadores Cisco.

  MIPS-R
MIPS-R

Diferencia B/N Superescalar Vs Pipelining

La diferencia entre superescalar y canalización se analiza a continuación.

superescalar

Canalización

Un superescalar es una CPU, que se utiliza para implementar una forma de paralelismo que se denomina paralelismo a nivel de instrucción en un solo procesador. Se utiliza una técnica de implementación como la canalización donde se superponen varias instrucciones dentro de la ejecución.
Una arquitectura superescalar inicia varias instrucciones simultáneamente y las ejecuta por separado. La arquitectura de canalización ejecuta una sola etapa de canalización solo para cada ciclo de reloj.

 

Estos procesadores dependen del paralelismo espacial. Depende del paralelismo temporal.
Varias operaciones se ejecutan simultáneamente en hardware separado. Superposición de varias operaciones en hardware común.
Se logra mediante la duplicación de recursos de hardware como puertos de archivos de registro y unidades de ejecución. Se logra mediante unidades de ejecución canalizadas más profundamente con ciclos CLK muy rápidos.

Características

Él características del procesador superescalar Incluya lo siguiente.

  • Un procesador superescalar es un modelo supercanalizado donde simplemente las instrucciones independientes se ejecutan en serie sin ninguna situación de espera.
  • Un procesador superescalar obtiene y decodifica a la vez varias instrucciones del flujo de instrucciones entrante.
  • La arquitectura de los procesadores superescalares explota el potencial del paralelismo a nivel de instrucción.
  • Los procesadores superescalares emiten principalmente la instrucción única anterior para cada ciclo.
  • El no. de instrucciones emitidas depende principalmente de las instrucciones dentro del flujo de instrucciones.
  • Las instrucciones se reordenan con frecuencia para adaptarse mejor a la arquitectura del procesador.
  • El método superescalar generalmente se asocia con algunas características de identificación. Las instrucciones normalmente se emiten a partir de un flujo de instrucciones secuenciales.
  • La CPU verifica dinámicamente las dependencias de datos entre instrucciones en tiempo de ejecución.
  • La CPU ejecuta múltiples instrucciones para cada ciclo de reloj.

Ventajas y desventajas

Él ventajas del procesador superescalar Incluya lo siguiente.

  • Un procesador superescalar implementa el paralelismo a nivel de instrucción en un solo procesador.
  • Estos procesadores simplemente están hechos para realizar cualquier conjunto de instrucciones.
  • El procesador superescalar, que incluye la predicción de ramas de ejecución fuera de orden y la ejecución especulativa, puede simplemente encontrar el paralelismo por encima de varios bloques básicos e iteraciones de bucle.

Él desventajas del procesador superescalar Incluya lo siguiente.

  • Los procesadores superescalares no se usan mucho en sistemas integrados pequeños debido al uso de energía.
  • El problema con la programación puede ocurrir en esta arquitectura.
  • El procesador superescalar mejora el nivel de complejidad en el diseño de hardware.
  • Las instrucciones en este procesador simplemente se obtienen en función de su orden de programa secuencial, pero este no es el mejor orden de ejecución.

Aplicaciones de procesadores superescalares

Las aplicaciones de un procesador superescalar incluyen lo siguiente.

  • La ejecución superescalar es utilizada con frecuencia por una computadora portátil o de escritorio. Este procesador simplemente escanea el programa en ejecución para descubrir conjuntos de instrucciones que se pueden ejecutar como una sola.
  • Un procesador superescalar incluye varias copias de hardware de ruta de datos que ejecutan varias instrucciones a la vez.
  • Este procesador está diseñado principalmente para generar una velocidad de implementación superior a una instrucción por cada ciclo de reloj para un solo programa secuencial.

Por lo tanto, todo esto se trata una descripción general del procesador superescalar – arquitectura, tipos y aplicaciones. Aquí hay una pregunta para usted, ¿qué es el procesador escalar?