Diseño del procesador

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

El diseño de procesadores es un subcampo de la ingeniería informática y la ingeniería electrónica (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 en, por ejemplo, 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 un troquel que se une a un soporte de chip. Este soporte de chip se suelda o se inserta en un zócalo de una placa de circuito impreso (PCB).

El modo de operación 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.

Detalles

Conceptos básicos

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 canalizaciones). Estos caminos de datos son controlados a través de la lógica por las unidades de control. Los componentes de la memoria incluyen archivos de registro y cachés para retener información o ciertas acciones. Los circuitos de reloj mantienen los ritmos internos y la sincronización a través de controladores de reloj, PLL y redes de distribución de reloj. El circuito del transceptor de almohadilla 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 (consulte a continuación)) para cada uno de estos elementos a fin de lograr los 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 carga de implementación al adquirir algunos de estos artículos comprándolos como propiedad intelectual. Las técnicas de implementación de lógica de control (síntesis lógica utilizando herramientas CAD) se pueden utilizar para implementar rutas de datos, registrar archivos y relojes. Los estilos lógicos comunes utilizados en el diseño de CPU incluyen lógica aleatoria no estructurada, máquinas de estado finito, microprogramación (común de 1965 a 1985) y matrices lógicas programables (común en la década de 1980, ya no común).

Lógica de implementación

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

  • Transistor-transistor lógica de integración chips lógicos a pequeña escala – ya no utilizados para CPU
  • Lógica de matriz programable y dispositivos lógicos programables – ya no utilizados para CPU
  • Emitter-coupled logic (ECL) arrays de puertas – ya no común
  • Conjuntos de puertas CMOS – ya no utilizados para CPU
  • CMOS ICs producidos en masa – la gran mayoría de las CPU por volumen
  • CMOS ASIC – sólo para una minoría de aplicaciones especiales debido a gastos
  • Conjuntos de puertas programables de campo (FPGA) – comunes para microprocesadores blandos, y más o menos requeridos para computación reconfigurable

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

  • Estructura de la instrucción programador-visible, que puede ser implementada por una variedad de microarquitecturas
  • Estudio arquitectónico y modelado de rendimiento en ANSI C/C++ o SystemC
  • Alto nivel de síntesis (HLS) o nivel de transferencia de registro (RTL, por ejemplo lógica)
  • Verificación de RTL
  • Diseño de circuitos de componentes críticos de velocidad (caches, registros, ALUs)
  • Síntesis lógica o diseño de nivel lógico
  • Análisis de tiempo para confirmar que toda lógica y circuitos funcionarán en la frecuencia operativa especificada
  • Diseño físico incluyendo plano, lugar y ruta de las puertas lógicas
  • Comprobando que las representaciones de RTL, nivel de puerta, nivel de transistor y nivel físico son equivalentes
  • Comprobación de integridad de señal, fabricación de chips

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

Al igual que 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 principales innovaciones arquitectónicas de la CPU incluyen registro de índice, caché, memoria virtual, canalización de instrucciones, superescalar, CISC, RISC, máquina virtual, emuladores, microprograma y pila.

Conceptos microarquitectónicos

Temas de investigación

Se ha propuesto una variedad de nuevas ideas de diseño de CPU, incluyendo lógica reconfigurable, CPU sin reloj, RAM computacional y 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:

  • Instrucciones por segundo - La mayoría de los consumidores eligen una arquitectura informática (normalmente Intel IA32 arquitectura) para poder ejecutar una gran base de software pre-existente pre-compilado. Siendo relativamente poco informados en los parámetros de ordenador, algunos de ellos eligen una CPU en particular basado en la frecuencia de operación (ver Megahertz Myth).
  • FLOPS - El número de operaciones de puntos flotantes por segundo es a menudo importante en la selección de computadoras para computaciones científicas.
  • Performance per watt - Los diseñadores de sistemas que construyen computadoras paralelas, como Google, eligen CPU basado en su velocidad por vatio de poder, porque el costo de potenciar la CPU supera el costo de la CPU misma.
  • Algunos diseñadores de sistemas que construyen computadoras paralelas eligen CPU basado en la velocidad por dólar.
  • Los diseñadores de sistemas que construyen sistemas informáticos en tiempo real quieren garantizar la peor respuesta de casos. Eso es más fácil de hacer cuando la CPU tiene baja interrupción de la latencia y cuando tiene respuesta determinista. (DSP)
  • Los programadores informáticos que programan directamente en el lenguaje de montaje quieren que una CPU apoye un conjunto completo de instrucciones ofrecidas.
  • Baja potencia - Para sistemas con fuentes de energía limitadas (por ejemplo, solar, baterías, energía humana).
  • Tamaño pequeño o bajo peso - para sistemas embebidos portátiles, sistemas para naves espaciales.
  • Impacto ambiental - Minimización del impacto ambiental de las computadoras durante la fabricación y el reciclaje también durante el uso. Reducción de desechos, reducción de materiales peligrosos. (ver Computación Verde).

Puede haber compensaciones en la optimización de algunas de estas métricas. En particular, muchas técnicas de diseño que hacen que una CPU funcione más rápido hacen que el "rendimiento por vatio", el "rendimiento por dólar" y la "respuesta determinista" mucho peor, 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 en la mayoría de los casos son inapropiados para los otros mercados.

Informática de propósito general

La gran mayoría de los ingresos generados por las ventas de CPU son para computación de uso general, es decir, computadoras de escritorio, portátiles y servidores que se usan comúnmente en empresas y hogares. En este mercado, la arquitectura Intel IA-32 y la versión de 64 bits x86-64 dominan el mercado, y sus rivales PowerPC y SPARC mantienen bases de clientes mucho más pequeñas. Anualmente, este mercado utiliza cientos de millones de CPU de arquitectura IA-32. Un porcentaje creciente de estos procesadores son para implementaciones móviles como netbooks y portátiles.

Dado que estos dispositivos se utilizan para ejecutar innumerables tipos de programas diferentes, estos diseños de CPU no están dirigidos específicamente a un tipo de aplicación o una función. Las demandas 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 gama alta

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

Informática científica

La computación 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 la CPU a menudo se realizaba para este mercado, pero las CPU del mercado masivo organizadas en grandes clústeres han demostrado ser más asequibles. La principal área restante de diseño e investigación de hardware activo para computación científica es para sistemas de transmisión de datos de alta velocidad para conectar CPU de 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. Sin embargo, los procesadores integrados se venden en el volumen de muchos miles de millones de unidades por año, en su mayoría a precios mucho más bajos que los de los procesadores de uso general.

Estos dispositivos de una sola función se diferencian de las CPU de uso general más conocidas en varios aspectos:

  • El bajo costo es de gran importancia.
  • Es importante mantener una disipación de baja potencia ya que los dispositivos incrustados a menudo tienen una duración limitada de la batería y a menudo es poco práctico incluir ventiladores de refrigeración.
  • Para reducir el costo del sistema, los periféricos se integran con el procesador en el mismo chip de silicio.
  • Mantener los periféricos en el chip también reduce el consumo de energía como puertos GPIO externos normalmente requieren amortiguación para que puedan generar o hundir las cargas de corriente relativamente altas que se requieren para mantener una señal fuerte fuera del chip.
    • Muchas aplicaciones incrustadas tienen una cantidad limitada de espacio físico para los circuitos; mantener los periféricos en el chip reducirá el espacio necesario para el tablero de circuitos.
    • El programa y los recuerdos de datos a menudo están integrados en el mismo chip. Cuando la única memoria del programa permitido es ROM, el dispositivo se conoce como un microcontrolador.
  • Para muchas aplicaciones integradas, la interrupción de la latencia será más crítica que en algunos procesadores de uso general.

Economía del procesador integrado

La familia de CPU integrada con la mayor cantidad de unidades totales enviadas es la 8051, con un promedio de casi mil millones de unidades por año. El 8051 se usa ampliamente porque es muy económico. El tiempo de diseño ahora es aproximadamente cero, porque está ampliamente disponible como propiedad intelectual comercial. Ahora a menudo está integrado como una pequeña parte de un sistema más grande en un chip. El costo de silicio de un 8051 ahora es tan bajo como US $ 0.001, porque algunas implementaciones usan tan solo 2200 puertas lógicas y toman 0.4730 milímetros cuadrados de silicio.

A partir de 2009, se producen más CPU utilizando los conjuntos de instrucciones de la familia de arquitectura ARM que cualquier otro conjunto de instrucciones de 32 bits. 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.

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 tiempo de trabajo.

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.

Diseño de CPU educativo y de investigación

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

Durante aproximadamente una década, todos los estudiantes de la clase 6.004 en el MIT formaban parte de un equipo; cada equipo disponía de 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.

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

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

Núcleos de microprocesadores 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 brinda un tiempo de comercialización más rápido.

Contenido relacionado

IEEE802.3

Bola de seguimiento

Autoedición

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save