stringtranslate.com

Diseño de procesador

El diseño de procesadores es un subcampo de la informática y la ingeniería informática (fabricación) que se ocupa de la creación de un procesador , un componente clave del hardware informático .

El proceso de diseño implica elegir un conjunto de instrucciones y un determinado paradigma de ejecución (por ejemplo, VLIW o RISC ) y da como resultado una microarquitectura , que podría describirse, por ejemplo, en VHDL o Verilog . Para el diseño de microprocesadores , esta descripción se fabrica empleando algunos de los diversos procesos de fabricación de dispositivos semiconductores , lo que da como resultado una matriz que se une a un soporte de chip . Luego, este soporte de chip se suelda o se inserta en un zócalo de una placa de circuito impreso (PCB).

El modo de funcionamiento de cualquier procesador es la ejecución de listas de instrucciones. Las instrucciones generalmente incluyen aquellas para calcular o manipular valores de datos usando registros , cambiar o recuperar valores en la memoria de lectura/escritura, realizar pruebas relacionales entre valores de datos y controlar el flujo del programa.

Los diseños de procesadores a menudo se prueban y validan en uno o varios FPGA antes de enviar el diseño del procesador a una fundición para la fabricación de semiconductores . [1]

Detalles

Lo esencial

El diseño de la CPU se divide en varios componentes. La información se transfiere a través de rutas de datos (como ALU y tuberías ). Estas rutas de datos están controladas a través de la lógica por unidades de control . Los componentes de la memoria incluyen archivos de registro y cachés para retener información o determinadas acciones. Los circuitos de reloj mantienen ritmos internos y temporización a través de controladores de reloj, PLL y redes de distribución de reloj . Un circuito transceptor de almohadilla que permite recibir y enviar señales y una biblioteca de celdas de puerta lógica que se utiliza para implementar la lógica.

Las CPU diseñadas para mercados de alto rendimiento pueden requerir diseños personalizados (optimizados o específicos de la aplicación (ver más abajo)) para cada uno de estos elementos para lograr objetivos de frecuencia, disipación de energía y área de chip, mientras que las CPU diseñadas para mercados de menor rendimiento pueden disminuir la implementación. carga al adquirir algunos de estos artículos comprándolos como propiedad intelectual . Se pueden utilizar técnicas de implementación de lógica de control ( síntesis lógica mediante herramientas CAD) para implementar rutas de datos, archivos de registro y relojes. Los estilos lógicos comunes utilizados en el diseño de CPU incluyen lógica aleatoria no estructurada, máquinas de estados finitos , microprogramación (común de 1965 a 1985) y matrices lógicas programables (comunes en la década de 1980, ya no comunes).

Lógica de implementación

Los tipos de dispositivos utilizados para implementar la lógica incluyen:

Un proyecto de diseño de CPU generalmente tiene estas tareas principales:

Rediseñar un núcleo de CPU en un área de matriz más pequeña ayuda a reducir todo (una " contracción de fotomáscara "), lo que da como resultado la misma cantidad de transistores en una matriz más pequeña. Mejora el rendimiento (los transistores más pequeños cambian más rápido), reduce la potencia (los cables más pequeños tienen menos capacitancia parásita ) y reduce el costo (caben más CPU en la misma oblea de silicio). Lanzar una CPU con una matriz del mismo tamaño, pero con un núcleo de CPU más pequeño, mantiene el costo aproximadamente igual pero permite mayores niveles de integración dentro de un chip de integración a muy gran escala (caché adicional, múltiples CPU u otros componentes), lo que mejora el rendimiento. y reducir el costo general del sistema.

Como ocurre con la mayoría de los diseños electrónicos complejos, el esfuerzo de verificación lógica (demostrar que el diseño no tiene errores) ahora domina el cronograma del proyecto de una CPU.

Las innovaciones arquitectónicas clave de la CPU incluyen registro de índice , caché , memoria virtual , canalización de instrucciones , superescalar , CISC , RISC , máquina virtual , emuladores , microprogramas y pila .

Conceptos de microarquitectura

Tópicos de investigación

Se han propuesto una variedad de nuevas ideas de diseño de CPU , incluida la lógica reconfigurable , las CPU sin reloj , la RAM computacional y la computación óptica .

Análisis de rendimiento y evaluación comparativa

La evaluación comparativa es una forma de probar la velocidad de la CPU. Los ejemplos incluyen SPECint y SPECfp , desarrollados por Standard Performance Evaluation Corporation , y ConsumerMark desarrollado por Embedded Microprocessor Benchmark Consortium EEMBC .

Algunas de las métricas comúnmente utilizadas incluyen:

Puede haber compensaciones al optimizar algunas de estas métricas. En particular, muchas técnicas de diseño que hacen que una CPU funcione más rápido empeoran mucho el "rendimiento por vatio", el "rendimiento por dólar" y la "respuesta determinista", y viceversa.

Mercados

Hay varios mercados diferentes en los que se utilizan CPU. Dado que cada uno de estos mercados difiere en sus requisitos de CPU, los dispositivos diseñados para un mercado son en la mayoría de los casos inadecuados para los otros mercados.

Computación de propósito general

A partir de 2010 , en el mercado de la computación de propósito general, es decir, computadoras de escritorio, portátiles y servidores comúnmente utilizados en empresas y hogares, el Intel IA-32 y la arquitectura x86-64 de 64 bits dominan el mercado, con su sus rivales PowerPC y SPARC mantienen bases de clientes mucho más pequeñas. Anualmente, este mercado utiliza cientos de millones de CPU con arquitectura IA-32. Un porcentaje cada vez mayor de estos procesadores son para implementaciones móviles como netbooks y portátiles. [4]

Dado que estos dispositivos se utilizan para ejecutar innumerables tipos diferentes de programas, estos diseños de CPU no están dirigidos específicamente a un tipo de aplicación o función. Las exigencias de poder ejecutar una amplia gama de programas de manera eficiente han hecho que estos diseños de CPU se encuentren entre los más avanzados técnicamente, junto con algunas desventajas de ser relativamente costosos y tener un alto consumo de energía.

Economía del procesador de alta gama

En 1984, la mayoría de las CPU de alto rendimiento requerían entre cuatro y cinco años para desarrollarse. [5]

Computación científica

La informática científica es un nicho de mercado mucho más pequeño (en ingresos y unidades enviadas). Se utiliza en laboratorios de investigación gubernamentales y universidades. Antes de 1990, el diseño de CPU se hacía a menudo para este mercado, pero las CPU del mercado masivo organizadas en grandes grupos han demostrado ser más asequibles. La principal área restante de diseño e investigación de hardware activo para la informática científica es la de sistemas de transmisión de datos de alta velocidad para conectar CPU del mercado masivo.

Diseño integrado

Según las unidades enviadas, la mayoría de las CPU están integradas en otra maquinaria, como teléfonos, relojes, electrodomésticos, vehículos e infraestructura. Los procesadores integrados se venden en un volumen de muchos miles de millones de unidades al año, sin embargo, en su mayoría a precios mucho más bajos que los de los procesadores de uso general.

Estos dispositivos de función única se diferencian de las CPU de uso general más familiares en varios aspectos:

Economía del procesador integrado

La familia de CPU integradas con el mayor número total de unidades enviadas es la 8051 , con un promedio de casi mil millones de unidades por año. [6] El 8051 se utiliza ampliamente porque es muy económico. El tiempo de diseño ahora es aproximadamente cero, porque está ampliamente disponible como propiedad intelectual comercial. Ahora suele estar integrado como una pequeña parte de un sistema más grande en un chip. El coste del silicio de un 8051 es ahora tan bajo como 0,001 dólares estadounidenses, porque algunas implementaciones utilizan tan sólo 2.200 puertas lógicas y utilizan 0,4730 milímetros cuadrados de silicio. [7] [8]

A partir de 2009, se producen más CPU utilizando conjuntos de instrucciones de la familia de arquitectura ARM que cualquier otro conjunto de instrucciones de 32 bits. [9] [10] La arquitectura ARM y el primer chip ARM se diseñaron en aproximadamente un año y medio y 5 años humanos de tiempo de trabajo. [11]

La arquitectura del microcontrolador Parallax Propeller de 32 bits y el primer chip fueron diseñados por dos personas en aproximadamente 10 años humanos de trabajo. [12]

La arquitectura AVR de 8 bits y el primer microcontrolador AVR fueron concebidos y diseñados por dos estudiantes del Instituto Noruego de Tecnología.

La arquitectura 6502 de 8 bits y el primer chip MOS Technology 6502 fueron diseñados en 13 meses por un grupo de aproximadamente 9 personas. [13]

Diseño de CPU para investigación y educación.

Los procesadores Berkeley RISC I y RISC II de 32 bits fueron diseñados en su mayoría por una serie de estudiantes como parte de una secuencia de cuatro trimestres de cursos de posgrado. [14] Este diseño se convirtió en la base del diseño del procesador SPARC comercial.

Durante aproximadamente una década, cada estudiante que tomó la clase 6.004 en el MIT fue parte de un equipo: cada equipo tenía un semestre para diseñar y construir una CPU simple de 8 bits a partir de circuitos integrados de la serie 7400 . Un equipo de 4 estudiantes diseñó y construyó una CPU simple de 32 bits durante ese semestre. [15]

Algunos cursos de pregrado requieren un equipo de 2 a 5 estudiantes para diseñar, implementar y probar una CPU simple en una FPGA en un solo semestre de 15 semanas. [dieciséis]

La CPU MultiTitan se diseñó con 2,5 años-hombre de esfuerzo, lo que se consideró "relativamente poco esfuerzo de diseño" en ese momento. [17] 24 personas contribuyeron al proyecto de investigación MultiTitan de 3,5 años de duración, que incluyó el diseño y la construcción de un prototipo de CPU. [18]

Núcleos de microprocesador blandos

Para los sistemas integrados, los niveles de rendimiento más altos a menudo no son necesarios o deseados debido a los requisitos de consumo de energía. Esto permite el uso de procesadores que pueden implementarse totalmente mediante técnicas de síntesis lógica . Estos procesadores sintetizados se pueden implementar en un período de tiempo mucho más corto, lo que agiliza el tiempo de comercialización .

Ver también

Referencias

  1. ^ Cutress, Ian (27 de agosto de 2019). "Xilinx anuncia la FPGA más grande del mundo: Virtex Ultrascale + VU19P con 9 millones de celdas". AnandTech .
  2. ^ "Marca del consumidor EEMBC". Archivado desde el original el 27 de marzo de 2005.
  3. ^ Stephen Shankland (9 de diciembre de 2005). "La energía podría costar más que los servidores, advierte Google". ZDNet .
  4. ^ Kerr, Justin. "AMD pierde participación de mercado a medida que las ventas de CPU móviles superan a las de escritorio por primera vez". Computadora máxima. Publicado el 26 de octubre de 2010.
  5. ^ Artículo "El nuevo sistema gestiona cientos de transacciones por segundo" de Robert Horst y Sandra Metz, de Tandem Computers Inc., revista "Electronics", 19 de abril de 1984: "Si bien la mayoría de las CPU de alto rendimiento requieren de cuatro a cinco años para desarrollarse, The El procesador NonStop TXP tardó sólo dos años y medio: seis meses para desarrollar una especificación escrita completa, un año para construir un prototipo funcional y otro año para alcanzar la producción en volumen".
  6. ^ Curtis A. Nelson. "Descripción general de 8051" (PDF) . Archivado desde el original (PDF) el 9 de octubre de 2011 . Consultado el 10 de julio de 2011 .
  7. ^ "Microcontrolador compatible con T8051 Tiny 8051" (PDF) . Archivado desde el original (PDF) el 29 de septiembre de 2011.
  8. ^ Para calcular dólares por milímetro cuadrado, consulte [1] y tenga en cuenta que un componente SOC no tiene costos de pines ni de embalaje.
  9. ^ "Los núcleos ARM ascienden al territorio 3G" por Mark Hachman, 2002.
  10. ^ "La solución del dos por ciento" de Jim Turley 2002.
  11. ^ "A la manera de ARM" 1998
  12. ^ "Por qué funciona la hélice" por Chip Gracey
  13. ^ "Entrevista con William Mensch". Archivado desde el original el 4 de marzo de 2016 . Consultado el 1 de febrero de 2009 .
  14. ^ CH Séquin ; DA Patterson . «Diseño e Implementación de RISC I» (PDF) . Archivado (PDF) desde el original el 5 de marzo de 2006.
  15. ^ "el VHS". Archivado desde el original el 27 de febrero de 2010.
  16. ^ Enero Gray. "Enseñanza de diseño informático con FPGA".
  17. ^ Jouppi, NP; Tang, JY-F. (octubre de 1989). "Un microprocesador CMOS sostenido de 32 bits de 20 MIPS con una alta relación entre rendimiento sostenido y máximo". Revista IEEE de circuitos de estado sólido . 24 (5): 1348-1359. Código bibliográfico : 1989IJSSC..24.1348J. doi :10.1109/JSSC.1989.572612.
  18. ^ "MultiTitan: cuatro artículos de arquitectura" (PDF) . 1988, págs. 4-5. Archivado (PDF) desde el original el 25 de agosto de 2004.

Referencias generales