Usuario:Jilgueroveloz/Diseño de procesadores

De Wikipedia, la enciclopedia libre

El Diseño de procesadores es un campo de la  ingeniería de ordenadores y de la ingeniería electrónica (fabricación) en todo aquello relativo a la realización de un procesador, un componente muy importante dentro del hardware de ordenador.

Durante la etapa de diseño hay que escoger un conjunto de instrucciones y un paradigma de ejecución concreto (p. ej. VLIW O RISC) y el comportamiento lógico de la  microarquitectura, pudiendo hacerse le descripción mediante lenguaje Verilog/VHDL.

Para el diseño de microprocesadores, esta descripción incluye también su manufactura empleando algunos de la variedad de procesos de fabricación de dispositivos semiconductores, dando como resultado una pastilla el cual es insertado en un encapsulado. Este encapsulado se puede soldar a una placa de circuito impreso (PCB) o insertado en un zócalo ya soldado previamente.

El modo de funcionamiento de cualquier procesador es la ejecución de una serie de instrucciones. Las instrucciones típicamente incluyen todo aquello necesario para procesar o manipular el valor de los datos usando registros para su intercambio o recuperación de valores leyendo o escribiendo en la memoria, realizando las pruebas necesarias entre valores de datos y para el control de flujo de programa.

Una vez finalizan los diseños de procesadores generalmente se prueban y validan a través de FPGA antes de enviar el diseño definitivo del procesador a fabricación para su fabricación . [1]

Detalles[editar]

Aspectos básicos[editar]

Para el diseño de una CPU, ésta se divide en los siguientes componentes

    1. Bloques (Tales como ULAs y buses de datos)
    2. Unidad de control: lógica qué controles los bloques
    3. Memoria, archivos de registro, caches
    4. Circuitería de reloj, PLLs, temporizadores, producción de señal de reloj
    5. Transceptor de datos.
    6. Librerías de celdas de puerta de lógica implementadas en la lógica

Las CPUs diseñadas para aplicaciones de alto rendimiento requieren diseños a medida en cada una de las áreas para conseguir una buena disipación de energía, evitar retardos, resonancias, etc. Mientras que para los mercados con exigencias más modestas se pueden prescindir de algunas de las funcionalidades o cualidades anteriores.

Las técnicas actuales de implementación de la lógica (simulaciones de lógica usando CAE) puede usarse para implementar distintos bloque de control o proceso tales como relojes, arrays de lógica, registros, buses.

Los modelos usados en el diseño de CPUs han incluido lógica no estructurada, maquinas de estados finitos, microprogramción (entre los años 1965 y 1985) y Arrays lógicos programables ( muy populares en los 80 pero actualmente en desuso.

Lógica de implementación[editar]

Los tipos de lógica utilizados para implementar los dispositivos pueden ser:

  • (TTL) Transistor-Transistor Lógico a pequeña escala de integración - no usado actualmente para CPUs
  • (PLD y PAL) Dispositivos lógicos programables y Arrays Lógicos Programables - no usados actualmente para CPUs.
  • (ECL) puertas de Lógica de Emisor Acoplado - en desuso.
  • (CMOS) Arrays de Puertas de Semiconductor Complementario de Óxido Metálico - en desuso.
  • Circuitos Integrados CMOS producidos en masa. - La gran mayoría de CPUs producidas.
  • CMOS ASICs - Son Circuitos Integrados para aplicaciones específicas, sólo para aplicaciones muy concretas con un alto coste por unidad.
  • CMOS Produjo en masa ICs - la mayoría vasta de CPUs por volumen
  • CMOS ASICs - Único para una minoría de aplicaciones especiales debido a gasto
  • (FPGA) Matriz de Puertas Programables en Campo. Usadas en los llamados microprocesadores flexibles, ya que permiten reconfigurar determinados parámetros.

Un proyecto de diseño de CPU generalmente tiene estas tareas principales: [[Categoría:Ingeniería de la computación]] [[Categoría:Unidad central de procesamiento]]