Alpha 21164
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Processor_board_cray-2_hg.jpg/220px-Processor_board_cray-2_hg.jpg)
El Alpha 21164, también conocido por su nombre en código EV5, es un microprocesador desarrollado y fabricado por Digital Equipment Corporation que implementaba el conjunto de instrucciones Alpha (ISA, "instruction set architecture"). Fue lanzado en enero de 1995, sucediendo al Alpha 21064A como microprocesador insignia de Digital. Fue sucedido por el Alpha 21264 en 1998.
Historia
El primer Alpha 21164 fue producido en febrero de 1994, y los sistemas operativos OpenVMS, Digital UNIX y Windows NT arrancaron exitosamente en él. Las muestras se entregaron a fines de 1994 y en enero de 1995 se introdujo la versión de 266 MHz. La versión de 300 MHz fue introducida en marzo de 1995. El Alpha 21164 final, una versión de 333 MHz, fue anunciado el 2 de octubre de 1995, disponible en cantidades de muestra. El 21164 fue reemplazado como microprocesador insignia de Digital por el Alpha 21164A en 1996 cuando la versión de 400 MHz estuvo disponible en grandes cantidades.
Usuarios
Digital usó el Alpha 21164 operando a varias frecuencias de reloj en sus servidores AlphaServer y estaciones de trabajo AlphaStation. Digital también usó el Alpha 21164 en sus computadoras de una sola placa Alpha VME 5/352 y Alpha VME 5/480 y en las placas madre AlphaPC 164 y AlphaPC 164LX. Cray Research, copartícipe del Alpha, usaba el Alpha 21164 de 300 MHz en su supercomputadora T3E-600. Otros fabricantes como DeskStation también fabricaron workstations usando el 21164.
Rendimiento
El 21164 continuó liderando las prestaciones del Alpha 21064A a 275 MHz hasta la aparición del Intel Pentium Pro en noviembre de 1995, cuando la versión de 200 MHz superó al 21164 de 300 MHz en el conjunto de pruebas benchmark SPECint95. El 21164 se mantuvo como líder en el rendimiento de coma flotante. La introducción del 21164 de 333 MHz el año siguiente superó al Pentium Pro, pero más tarde fue superado por el MIPS Technologies R10000 y por el Hewlett-Packard PA-8000 en el mismo año.[1]
Descripción
El Alpha 21164 es un microprocesador superescalar de cuatro unidades de ejecución capaz de realizar un máximo de cuatro instrucciones por ciclo de reloj para las cuatro unidades de ejecución: dos enteross y dos de coma flotante. La unidad de enteros es de siete etapas, y la de coma flotante de diez etapas. El 21164 implementaba una dirección virtual de 43 bit y una dirección física de 40 bit. Por lo tanto podía direccionar 8 TiB de memoria virtual y 1 TiB de memoria física.
Unidad de enteros
La unidad de enteros consistía de dos líneas o unidades de ejecución y el banco de registros de enteros. Las dos unidades, la de suma y la de multiplicación no eran idénticas, cada una era responsable de ejecutar diferentes instrucciones, aunque ambas podían ejecutar las instrucciones comunes suma, carga, comparar y mover condicional. La unidad de multiplicación ejecutaba exclusivamente desplazamiento, almacenamiento y multiplicación (en un multiplicador no segmentado o sin etapas). La unidad de suma exclusivamente ejecutaba instrucciones de salto.
Excepto para saltos, las instrucciones de mover condicional y multiplicación, todas las otras instrucciones que comenzaban y finalizaban la ejecución durante la etapa (o segmento) cinco tenían un ciclo de latencia. Las instrucciones de mover condicional y multiplicación, eran ejecutadas en la etapa seis para poder ser enviadas a una instrucción de comparación cuyo resultado dependía de aquellas.
El banco de registro de enteros contenía cuarenta registros de 64 bit, de los cuales treinta y dos eran específicos de la Arquitectura Alpha y ocho eran usados por el PALcode como una memoria de corto plazo. El banco de registros tenía cuatro puertos de lectura y dos de escritura divididos en partes iguales entre las dos unidades de enteros.[2]
Unidad de coma flotante
La unidad de coma flotante consistía de dos unidades de ejecución de coma flotante y el banco de registros de coma flotante. Las unidades no eran idénticas, una ejecutaba todas las instrucciones de coma flotante excepto las de multiplicar, y la otra ejecutaba sólo las instrucciones de multiplicación. Un divisor no segmentado de coma flotante estaba conectado a la unidad de suma. Todas las instrucciones de coma flotante excepto las de dividir tenían una latencia de cuatro ciclos. Dividir tenía una latencia variable que dependía si la operación se realizaba con números de coma flotante de simple o doble precisión y a los números en sí mismos. Incluyendo la superposición, la división de simple precisión tiene una latencia de 15 a 31 ciclos, mientras que la doble precisión tiene una latencia de 22 a 60 ciclos.
Caché
El 21164 tiene tres niveles de caché, una integrada en el microprocesador, y otra externa opcional. Las cachés y las lógicas asociadas están formadas por 7,2 millones de transistores.[3]
La caché primaria está dividida en dos, la caché para instrucciones y la caché para datos, llamadas caché-I y caché-D respectivamente. Tienen un tamaño de 8 KiB, mapeo directo, y una línea de caché de 32 bytes. La caché-D es de doble puerto, para mejorar el rendimiento, y es implementada duplicando la caché. Utiliza políticas write-through y asignación en lectura.
La caché secundaria, conocida como caché-S, está integrada en el microprocesador y tiene una capacidad de 96 KiB. Una caché integrada como la utilizada por el 21164 requiere más ancho de banda que la que puede proveer una caché secundaria externa, para poder se alimentada con suficientes datos e instrucciones.[4] La cachá requiere dos ciclos para acceder debido a su gran superficie. Para mejorar el rendimiento, la caché está implementada en forma de conducto. Otro beneficio de una caché secundaria integrada es que puede ser fácilmente implementada como una caché de múltiples conductos, resultando en una caché asociativa de tres formas distintas, ofreciendo un flujo mejorado con respecto a las cachés de mapeo directo.[5] La caché-S, debido la gran superficie física que requiere, fue implementada en dos mitades, las cuales rodean la I-box, E-box, F-box y la M-box. Se hizo para que la caché pueda devolver datos en dos ciclos.
La caché terciaria, conocida como caché-B, está implementada con SRAMs externas. La caché-B es opcional y algunos sistemas que usan el Alpha 21164 no tienen ninguna. La caché-B puede tener una capacidad de 1 a 64 MiB, no se soportan capacidades menores debido a que son inútiles para la caché-S.[6] Utiliza políticas write-through y asignación en lectura. La caché-B está controlada por una lógica de interface externa integrada en el microprocesador, al contrario que el 21064, el cual requiere un controlador de caché externo. La caché-B puede ser construida con SRAM sincrónica o asincrónica, y se accede por medio del bus del sistema.
Interfaz externa
La interfaz externa es un bus de sistema de 128 bit. El bus de sistema opera a una frecuencia de reloj de 3 a 15 veces más lenta que la frecuencia interna, o 20 a 100 MHz con una frecuencia interna de 300 MHz. La señal de reloj del bus de sistema es generada por el microprocesador.
Reloj
La frecuencia de reloj interna es generada dividiendo una señal de reloj externa por dos. Por lo tanto, el Alpha 21164 requiere un reloj externo con una frecuencia igual al doble de la frecuencia interna deseada, p.e., 600 MHz para el Alpha 21164 de 300 MHz.
Fabricación
EL Alpha 21164 contiene 9,3 millones de transistores en una matriz de 16,5 por 18,1 mm (299 mm²), la cual está cerca del límite máximo del proceso de fabricación. La matriz está fabricada con tecnología CMOS de quinta generación de Digital, el CMOS-5, un proceso de 0,5 µm con cinco capas de interconexión de aluminio.[7] El 21164 trabaja con 3,3 volt y disipa 46 W a 266 MHz, 51 W a 300 MHz y 56 W a 333 MHz.
Encapsulado
El Alpha 21164 utiliza encapsulado cerámico IPGA de 499 pines, midiendo 57,4 por 57,4 mm. El encapsulado posee un conductor de calor con dos postes que permiten acoplar el disipador de calor.
Derivados
Alpha 21164 (EV56)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/DEC_Alpha_21164.jpg/220px-DEC_Alpha_21164.jpg)
El Alpha 21164 fue la base para un desarrollo posterior con el nombre en código EV56. Fue introducido como el Alpha 21164, pero originalmente fue conocido como el Alpha 21164A. Opera a una frecuencia de reloj de 366, 433, 500, 533, 600 y 666 MHz.[8][9]
Historia
Fue descrito por primera vez en octubre de 1995 en el Microprocessor Forum. El 13 de noviembre de 1995, Digital anunció que las muestras podrían entregarse a fin de mes. La primera versión trabajaba a 366 MHz, introducida en 1996. El 8 de julio de 1996 Digital anunció que estaba disponible una versión de 433 MHz y una de 500 MHz en septiembre de 1996. La versión de 433 MHz tenía un precio de $1.492 por unidad en cantidades de 1000. La versión de 600 MHz fue introducida el 31 de marzo de 1997, disponible en grandes cantidades. Samsung Electronics firmó un contrato con Digital en junio de 1996 como segundo fabricante del Alpha 21164A y la compañía fue la única en fabricar el modelo de 666 MHz. Las muestras de 366 a 500 MHz fueron introducidas el 11 de noviembre de 1996, y disponible en grandes cantidades en 1997. El Alpha 21164A fue fabricado en las plantas de Hudson, Massachusetts de Digital y en la de Kihueng, Corea del Sur de Samsung.
Los usuarios del Alpha 21164A incluían a Cray Research, Digital, Network Appliance (ahora NetApp) y DeskStation. Cray Research usaba los Alpha 21164As de 450, 600 y 675 MHz en los últimos modelos de su supercomputadora T3E. Digital usaba el Alpha 21164A de varias frecuencias de reloj es sus AlphaServers, AlphaStations, workstations Celebris XL y Digital Personal Workstations. NetApp usaba los Alpha 21164A de 400, 500 y 600 MHz en sus sistemas de almacenamiento. DeskStation usaba el Alpha 21164A en sus workstations Raptor Reflex.
Descripción
El cambio más notable era la inclusión del Byte Word Extensions (BWX), una extensión a la Arquitectura Alpha diseñada para mejorar el acceso de bytes y palabras. Estas instrucciones eran ejecutadas en un conducto múltiple. El Alpha 21164A contenía 9,66 millones de transistores en una matriz de 14,4 mm por 14,5 mm, para un área de 209 mm².[10] Digital fabricó la matriz usando su proceso CMOS de sexta generación, el CMOS-6 de 0,35 µm con cuatro capas de interconexión. Samsung utilizaba su proceso de 0,35 µm con cuatro capas de 1996. El Alpha 21164A era alimentado con 3,3 V, disipando 31 W a 366 MHz, 36 W a 433 MHz, 41 W a 500 MHz, 43,5 W a 533 MHz y 48,5 W a 600 MHz.
Alpha 21164PC (PCA56)
El Alpha 21164PC, también conocido como PCA56, es una versión de bajo costo del Alpha 21164A introducida el 17 de marzo de 1997. El microprocesador fue desarrollado en forma conjunta por Digital y Mitsubishi Electric Corporation, y ambas compañías lo fabricaron. Mitsubishi luego suspendió el acuerdo de desarrollo conjunto con Alpha para futuros procesadores Alpha a principios de 1998 y dejó de fabricar el Alpha 21164PC a mediados de 1998, saliendo del mercado de Alpha debido a las condiciones económicas del mercado de la compañía.[11][12]
El Alpha 21164PC operaba a frecuencias de reloj de 400, 466 y 533 MHz. El mayor cambio era la omisión de la caché-S, una caché-I grande, y la inclusión de Motion Video Instructions (MVI, Instrucciones de Video con Movimiento), una extensión de la Arquitectura Alpha que introducía instrucciones Single Instruction Multiple Data (SIMD) para mejorar el rendimiento de la decodificación MPEG. La caché-S fue eliminada para reducir la cantidad de transistores, lo cual disminuía el tamaño, y por lo tanto el costo. La caché-I fue llevada al doble de capacidad, de 8 a 16 KiB para compensar la falta de la caché-S, ya que el Alpha 21164 se basó en la caché-S para complementar la caché-I para obtener el suficiente ancho de banda para poder alcanzar un rendimiento adecuado. El tamaño de la caché-B fue limitado de 512 KiB a 4 MiB, además de soportar capacidades de 1 y MB. El microprocesador usa direccionamiento virtual de 43 bits y direccionamiento físico de 33 bits.
El Alpha 21164PC contiene 3,5 millones de transistores en una matriz de 8,65 por 16,28 mm, para un área de 141 mm². Digital utilizó el mismo proceso de fabricación del Alpha 21164, el CMOS-5. El Alpha 21164PC estaba encapsulado en un IPGA de 413 pines, midiendo 49,78 por 49,78 mm. Se alimentaba con 3,3 V, y disipaba 26,5 W a 400 MHz, 30,5 W a 466 MHz y 35 W a 533 MHz.
El Alpha 21164PC fue usado por Digital en su motherboard AlphaPC 164SX.
Alpha 21164PC (PCA57)
Un derivado del PCA56, el PCA57, fue diseñado y fabricado por Samsung Electronics en un proceso CMOS de 0,28 µm. El PCA57 fue introducido a fines de 1998 y operaba con frecuencias de reloj de 533, 600 y 666 MHz. Las mejoras de la microarquitectura del PCA56 incluían capacidades dobles para las caché-I y caché-D: 32 KB y 16 KB respectivamente. El PCA57 contenía 5,7 millones de transistores en una matriz de 6,7 mm por 15 mm, para un área de 101 mm². Trabajaba con 2,5 V y disipaba 18 W a 533 MHz, 20 W a 600 MHz y 23 W a 666 MHz.
El PCA57 fue usado por Digital en su motherboard AlphaPC 164RX.
Chipsets
Digital y VLSI Technology desarrollaron chipsets para el 21164 y sus derivados. Digital también desarrolló circuitos integrados para aplicaciones específicas (ASIC) para usar en los modelos de alta gama de su familia AlphaServer, como los AlphaServer 8200 y 8400.
21171
El 21171, también conocido como Alcor, fue el primer chipset para el 21164, introducido en enero de 1995 al mismo tiempo que el microprocesador que soportaba. Fue desarrollado y fabricado por Digital. El 21171 es una actualización del DECchip 21071 modificado para soportar el nuevo protocolo del bus del sistema que usa el 21164. Consistía de un circuito integrado de control que contenía los controladores de memoria y del PCI, y cuatro CI de corte de datos que actuaban como interface de los buses de memoria y PCI de 256 bits con el bus del sistema. El 21171 proveía un bus PCI de 64 bit de ancho que corría a 33 MHz.
21172
El 21172, también conocido como Alcor2, era una actualización del 21171 que soportaba el 21164A.
Pyxis
El chipset Pyxis, también conocido como 21174, soportaba los microprocesadores 21164A y 21164PC. Al contrario que los anteriores, fue diseñado para sistemas de bajo costo. Como resultado, era un diseño de un solo encapsulado CBGA de 474 contactos en lugar de un encapsulado múltiple.[13] Posteriormente fue usado en los sistemas sensibles al costo como en las workstations de inicio (serie Digital Personal Workstation) y motherboards como las AlphaPC 164LX y 164SX. Cuando fue introducido, el 21174 tenía un precio de US$142 en cantidades de 1000.[14]
El 21174 contenía un controlador de memoria y un controlador PCI. El controlador de memoria soportaba hasta 512 MiB synchronous dynamic random access memory (SDRAM) y accedía a ella mediante un bus de memoria de 128 bit. La memoria podía ser ECC o con protección de paridad. El controlador PCI proveía buses PCI convencionales o buses PCI-X.
Polaris
El Polaris es un controlador del sistema desarrollado por VLSI Technology para computadoras personales que soportan los microprocesadores 21164A y 21164PC. El Polaris fue anunciado el 16 de junio de 1997.[15] soporta hasta 768 MiB de EDO DRAM o hasta 512 MiB de SDRAM. La memoria es accedida mediante un bus de 128 bit. Provee un bus PCI de 32 bits y 33 MHz para E/S.
Los usuarios de Polaris incluían a Digital, para sus motherboards AlphaPC 164RX.
Notas
- ↑ Gwennap 1996
- ↑ Bowhill et al., "Circuit implementation of a 300-MHz 64-bit second-generation CMOS Alpha CPU", p. 124.
- ↑ Bowhill et al., "Circuit implementation of a 300-MHz 64-bit second-generation CMOS Alpha CPU", p. 111.
- ↑ Gwennap, "Digital Leads the Pack with 21164", p. 1.
- ↑ Gwennap, "Digital Leads the Pack with 21164", pp. 1–2.
- ↑ Gwennap, "Digital Leads the Pack with 21164".
- ↑ Bowhill, et al., "Circuit implementation of a 300-MHz 64-bit second-generation CMOS Alpha CPU", pp. 100–101.
- ↑ Alpha 21164 Microprocessor Data Sheet, August 1998, p. 113.
- ↑ Digital Semiconductor 21164 Alpha Microprocessor Product Brief, 31 March 1997, p. 2.
- ↑ Bouchard, "Design objectives of the 0.35 µm Alpha 21164 Microprocessor", p. 3, 5.
- ↑ Foremski, "Mitsubishi steps back from Alpha".
- ↑ Foremski, "Mitsubishi Electric stops Alpha microprocessor manufacture".
- ↑ Schumann 1997
- ↑ Gwennap 1997
- ↑ VLSI Technology 1997
Referencias
- Bouchard, Gregg. "Design objectives of the 0.35 µm Alpha 21164 Microprocessor". IEEE Hot Chips Symposium, August 1996, IEEE Computer Society.
- Bowhill, William J. et al. (1995). "Circuit Implementation of a 300-MHz 64-bit Second-generation CMOS Alpha CPU". Digital Technical Journal, Volume 7, Number 1, pp. 100–118.
- Edmondson, John H. et al. (1995). "Internal Organization of the Alpha 21164, a 300-MHz 64-bit Quad-issue CMOS RISC Microprocessor". Digital Technical Journal, Volume 7, Number 1, 1995. pp. 119–135.
- Edmondson, John H. et al. (1995). "Superscalar Instruction Execution in the 21164 Alpha Microprocessor". IEEE Micro. pp. 33–43.
- Foremski, Tom (10 February 1998). "Mitsubishi steps back from Alpha". Electronics Weekly.
- Foremski, Tom (10 July 1998). "Mitsubishi Electric stops Alpha microprocessor manufacture". Electronics Weekly.
- Gwennap, Linley (12 September 1994). "Digital Leads the Pack with 21164". Microprocessor Report, Volume 8, Number 12.
- Gwennap, Linley (8 July 1996). "Digital’s 21164 Reaches 500 MHz". Microprocessor Report, Volume 10, Number 9.
- Gwennap, Linley (31 March 1997). "Digital's 21164PC Aimed at PC Market". Microprocessor Report, Volume 11, Number 4.
- Ryan, Bob (October 1994). "Alpha Rides High". Byte.
- Samsung Semiconductor, Inc. (11 November 1996). "Samsung Introduces 500MHz Alpha 21164 Microprocessor; First product resulting from the Digital/Samsung licensing agreement to begin mass production by Q2 1997 Archivado el 11 de octubre de 2012 en Wayback Machine.". Press release.
- Schumann, Reinhard C. (1997). "Design of the 21174 memory controller for Digital Personal Workstations" Archivado el 6 de septiembre de 2008 en Wayback Machine.. Digital Technical Journal 9 (2): 57–70.
- VLSI Technology (16 June 1997). "Polaris, VLSI's New Alpha System Controller, Breaks the Gigabyte/Second Memory Transfer Barrier. End-Users Gain Full Performance on Alpha Systems". Press release.
Enlaces externos
- Esta obra contiene una traducción derivada de «Alpha 21164» de Wikipedia en inglés, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
Datos: Q3277607
Multimedia: Alpha 21164 / Q3277607