Procesador de tambor

El procesador de barril, el procesador de tambor, es un procesador que después de cada ciclo cambia entre flujos de instrucciones . Esta arquitectura de procesador también se conoce como subprocesos múltiples temporales "intercalados" (interleaved) o "fine-grained" (de grano fino) . A diferencia de los subprocesos múltiples simultáneos en las arquitecturas superescalares modernas , esta tecnología no permite que se ejecuten múltiples instrucciones en un ciclo.

Al igual que con la multitarea preventiva , a cada subproceso de ejecución se le asigna su propio contador de software y otros registros de hardware para preservar el contexto de cada subproceso. Un procesador de barril puede garantizar que cada subproceso se ejecutará cada n ciclos, a diferencia de un procesador multitarea preventivo, que normalmente ejecuta un solo subproceso de ejecución durante cientos o miles de ciclos mientras todos los demás subprocesos esperan su turno.

Una técnica de diseño llamada C-slowdown puede, dado un esquema de procesador de una sola tarea, generar un esquema de procesador Barrel correspondiente. Un procesador Barrel de n subprocesos así generado actúa como un sistema multiprocesador ensamblado a partir de n copias separadas del procesador original de una sola tarea, cada una funcionando a aproximadamente 1/ n de su velocidad original.

Historia

Uno de los ejemplos más antiguos de un procesador de batería fue el procesador de E/S de la supercomputadora de la serie CDC 6000 . Pudo ejecutar una sola instrucción o parte de una instrucción compleja de cada uno de los 10 procesadores virtuales diferentes, también llamados procesadores periféricos, antes de regresar al primer procesador. [una]

Los procesadores de batería también se pueden utilizar como unidades centrales de procesamiento en sistemas grandes. Por ejemplo, el Tera MTA (1988) tenía un procesador Barrel con 128 hilos por núcleo. [2] [3] La arquitectura MTA se ha desarrollado aún más en productos posteriores como YarcData uRiKA , presentado en 2012, que se centran en aplicaciones de minería de datos . [cuatro]

Los procesadores de barril se pueden utilizar para reducir los costos de hardware. El microcódigo Xerox Alto se ejecutaba en un procesador de barril que implementaba dos CPU, un controlador de video, un controlador Ethernet, un controlador de disco y otros dispositivos de E/S. [5]

Los procesadores de barril también se pueden encontrar en sistemas integrados, donde son particularmente útiles debido a su rendimiento determinista de subprocesos en tiempo real Un ejemplo es el XMOS XCore XS1 (2007), un procesador de barril con ocho hilos por núcleo. El XS1 se usa en Ethernet, USB, audio y otros controladores donde el rendimiento de E/S es crítico. Los procesadores de barril también se utilizan en aplicaciones especializadas, como el procesador de red de ocho hilos Ubicom IP3023 (2004).

Ventajas sobre los procesadores de un solo subproceso

Un procesador de una sola tarea gasta muchos ciclos en operaciones NOOP , sin hacer nada útil, cada vez que se produce una falta de memoria caché o la canalización está inactiva . Las ventajas de usar procesadores de barril sobre los procesadores de una sola tarea son las siguientes:

Desventajas en comparación con los procesadores de subproceso único

Hay varios inconvenientes en los procesadores de barril .

Notas

  1. Sistemas informáticos Cyber ​​​​170 de los CDC; Modelos 720, 730, 750 y 760; Modelo 176 (Nivel B); conjunto de instrucciones de la CPU; Conjunto de instrucciones PPU Archivado el 3 de marzo de 2016 en Wayback Machine  . Consulte las páginas 2-44 para ver ilustraciones de la alternancia de "tambor".
  2. アーカイブされたコピー. Consultado el 11 de agosto de 2012. Archivado desde el original el 22 de febrero de 2012.
  3. Historia: Seymour Cray & Cray Research para Cray Inc. | Cray Archivado el 12 de julio de 2014.
  4. Soluciones informáticas para análisis de Big Data | Archivado desde el original el 9 de agosto de 2012.
  5. PARC, Manual de hardware de Xerox Alto . Servidores de bits. Consultado el 11 de octubre de 2016. Archivado desde el original el 4 de septiembre de 2017.

Enlaces