stringtranslate.com

DIC Alfa

Microprocesadores alfa

Alpha (nombre original Alpha AXP ) es una arquitectura de conjunto de instrucciones (ISA) de computadora con conjunto de instrucciones reducido (RISC) de 64 bits desarrollada por Digital Equipment Corporation (DEC). Alpha fue diseñado para reemplazar las computadoras con conjunto de instrucciones complejas (CISC) VAX de 32 bits y para ser un procesador RISC altamente competitivo para estaciones de trabajo Unix y mercados similares.

Alpha se implementa en una serie de microprocesadores desarrollados y fabricados originalmente por DEC. Estos microprocesadores se utilizan de manera más destacada en una variedad de estaciones de trabajo y servidores DEC, que eventualmente formaron la base de casi toda su línea de escala media a alta. Varios proveedores externos también produjeron sistemas Alpha, incluidas placas base con formato de PC .

Los sistemas operativos que admiten Alpha incluyen OpenVMS (anteriormente llamado OpenVMS AXP), Tru64 UNIX (anteriormente llamado DEC OSF/1 AXP y Digital UNIX), Windows NT (descontinuado después de NT 4.0 ; y versión preliminar de Windows 2000 RC2 ), [2] Linux ( Debian , SUSE , [3] Gentoo y Red Hat ), BSD UNIX ( NetBSD , OpenBSD y FreeBSD hasta 6.x), Plan 9 de Bell Labs y el kernel L4Ka::Pistachio . Se llevó a cabo una migración de Ultrix a Alpha durante el desarrollo inicial de la arquitectura Alpha, pero nunca se lanzó como producto. [4]

La arquitectura Alpha se vendió, junto con la mayor parte de DEC, a Compaq en 1998. [5] Compaq, que ya era cliente de Intel x86, anunció que eliminaría gradualmente Alpha en favor de la próxima arquitectura Hewlett-Packard /Intel Itanium , y vendió toda la propiedad intelectual de Alpha a Intel, en 2001, [6] eliminando efectivamente el producto. Hewlett-Packard compró Compaq en 2002, continuó el desarrollo de la línea de productos existente hasta 2004 y vendió sistemas basados ​​en Alpha, en gran parte a la base de clientes existente, hasta abril de 2007. [7]

Historia

PRISMA

Alpha surgió de un proyecto RISC anterior llamado Máquina de conjunto de instrucciones reducidas paralelas ( PRISM ), que a su vez es producto de varios proyectos anteriores. PRISM estaba destinado a ser un diseño flexible, compatible con aplicaciones similares a Unix y el software VAX/VMS existente de Digital, después de una conversión menor. Un nuevo sistema operativo llamado MICA soportaría las interfaces ULTRIX y VAX/VMS en un núcleo común , permitiendo que el software para ambas plataformas se porte fácilmente a la arquitectura PRISM. [8]

Iniciado en 1985, el diseño de PRISM fue cambiando continuamente durante su desarrollo en respuesta a los cambios en el mercado de las computadoras, lo que provocó largos retrasos en su introducción. No fue hasta el verano de 1987 que se decidió que sería un diseño de 64 bits , uno de los primeros diseños de este tipo en formato de microprocesador . En octubre de 1987, Sun Microsystems presentó el Sun-4 , su primera estación de trabajo que utilizaba su nuevo procesador SPARC . El Sun-4 funciona entre tres y cuatro veces más rápido que sus últimos diseños Sun-3 que utilizan el Motorola 68020 y cualquier oferta Unix de DEC. Los planes volvieron a cambiar; PRISM se realineó una vez más como una pieza de 32 bits y apuntó directamente al mercado Unix. Esto retrasó aún más el diseño. [9]

Después de ver cómo la fecha de entrega de PRISM seguía avanzando y ante la posibilidad de más retrasos, un equipo de la oficina de Palo Alto decidió diseñar su propia estación de trabajo utilizando otro procesador RISC. Después de la debida diligencia , seleccionaron el MIPS R2000 y construyeron una estación de trabajo funcional con Ultrix en un período de 90 días. [10] Esto desató un agrio debate dentro de la empresa, que llegó a un punto crítico en una reunión de dirección en julio de 1988. PRISM parecía ser más rápida que la R2000, pero las máquinas R2000 podrían estar en el mercado en enero de 1989, un año antes que PRISM. Cuando se aceptó esta propuesta, una de las dos funciones originales de PRISM desapareció. La decisión de crear un VMS PRISM ya había finalizado en este punto, por lo que no quedaba ninguna función restante. PRISM fue cancelado en la reunión. [11]

RISCY VAX

Cuando terminó la reunión, Ken Olsen se acercó a Bob Supnik y le dijo que los chips RISC parecían ser una amenaza futura para su línea VAX. Pidió a Supnik que considerara qué se podría hacer con VAX para mantenerlo competitivo con los futuros sistemas RISC. [9]

Esto llevó a la formación del equipo "RISCy VAX". Inicialmente consideraron tres conceptos. Una era una versión reducida de la arquitectura del conjunto de instrucciones VAX (ISA) que se ejecutaría en un sistema similar a RISC y dejaría instrucciones VAX más complejas a las subrutinas del sistema. Otro concepto era un sistema RISC puro que traduciría el código VAX existente a su propio ISA sobre la marcha y lo almacenaría en la memoria caché de la CPU . Finalmente, todavía existía la posibilidad de un procesador CISC mucho más rápido que ejecutara el VAX ISA completo. Desafortunadamente, todos estos enfoques introdujeron gastos generales y no serían competitivos con una máquina puramente RISC que ejecuta código RISC nativo. [12]

Luego, el grupo consideró sistemas híbridos que combinaban una de sus soluciones de un solo chip VAX existentes y un chip RISC como coprocesador utilizado para necesidades de alto rendimiento. Estos estudios sugirieron que el sistema inevitablemente se vería paralizado por la parte de menor rendimiento y no ofrecería ninguna ventaja convincente. Fue en este punto que Nancy Kronenberg señaló que la gente ejecutaba VMS, no VAX, y que VMS sólo tenía unas pocas dependencias de hardware basadas en su modelado de interrupciones y paginación de memoria. No parecía haber ninguna razón convincente por la que el VMS no pudiera trasladarse a un chip RISC mientras se conservaran estos pequeños fragmentos del modelo. Trabajos posteriores sobre este concepto sugirieron que este era un enfoque viable. [12]

Supnik llevó el informe resultante al Grupo de Trabajo de Estrategia en febrero de 1989. Surgieron dos preguntas: ¿podría el diseño RISC resultante ser también líder en rendimiento en el mercado Unix, y debería la máquina ser un estándar abierto? Y con eso, se tomó la decisión de adoptar la arquitectura PRISM con las modificaciones apropiadas. Esto se convirtió en el concepto "EVAX", una continuación de la exitosa implementación CMOS CVAX . Cuando la dirección aceptó los hallazgos, decidió darle al proyecto un nombre más neutral, eliminando "VAX" y finalmente decidiéndose por Alpha. [13] Poco después, se comenzó a trabajar en una adaptación de VMS a la nueva arquitectura . [14]

Alfa

El nuevo diseño utiliza la mayoría de los conceptos básicos de PRISM, pero fue reajustado para permitir que VMS y los programas VMS se ejecuten a una velocidad razonable sin conversión alguna. Los principales arquitectos del conjunto de instrucciones Alpha fueron Richard L. Sites y Richard T. Witek. [15] El Epicóde de PRISM se desarrolló en el PALcode de Alpha , proporcionando una interfaz abstracta para funciones específicas de implementación de plataforma y procesador.

La principal contribución de Alpha a la industria de los microprocesadores, y la principal razón de su rendimiento, no es tanto la arquitectura sino su implementación. [16] En ese momento (como lo es ahora), la industria de los microchips estaba dominada por herramientas automatizadas de diseño y disposición. Los diseñadores de chips de Digital continuaron buscando un diseño de circuito manual sofisticado para hacer frente a la compleja arquitectura VAX. Los chips Alpha muestran que el diseño de circuito manual aplicado a una arquitectura más simple y limpia permite frecuencias operativas mucho más altas que las posibles con los sistemas de diseño más automatizados. Estos chips provocaron un renacimiento del diseño de circuitos personalizados dentro de la comunidad de diseño de microprocesadores.

Originalmente, los procesadores Alpha fueron designados como serie DECchip 21x64 , [17] y "DECchip" fue reemplazado a mediados de la década de 1990 por "Alpha". Los dos primeros dígitos, "21", significan el siglo XXI y los dos últimos dígitos, "64", significan 64 bits. [17] Alpha fue diseñado como 64 bits desde el principio y no existe una versión de 32 bits. El dígito del medio corresponde a la generación de la arquitectura Alpha. Internamente, los procesadores Alpha también fueron identificados por números EV , EV significa oficialmente "Extended VAX" pero tiene un significado humorístico alternativo de "Electric Vlasic ", rindiendo homenaje al experimento Electric Pickle en Western Research Lab. [18]

En mayo de 1997, DEC demandó a Intel por supuestamente infringir sus patentes Alpha al diseñar los chips Pentium , Pentium Pro y Pentium II originales . [19] Como parte de un acuerdo, gran parte del negocio de diseño y fabricación de chips de DEC se vendió a Intel. Esto incluyó la implementación StrongARM de DEC de la arquitectura de computadora ARM , que Intel comercializó como los procesadores XScale comúnmente utilizados en Pocket PC . El núcleo de Digital Semiconductor, el grupo de microprocesadores Alpha, permaneció en DEC, mientras que los edificios de oficinas asociados pasaron a Intel como parte de la fábrica de Hudson. [20]

Modelos mejorados

Las primeras generaciones de chips Alpha fueron algunas de las más innovadoras de su tiempo.

Un informe persistente atribuido a expertos de DEC sugiere que la elección de la etiqueta AXP para el procesador fue realizada por el departamento legal de DEC, que todavía estaba dolido por el fiasco de la marca VAX . [24] Después de una larga búsqueda, se encontró que la etiqueta "AXP" estaba completamente libre de cargas. Dentro de la industria informática, comenzó la broma de que el acrónimo AXP significaba "Casi exactamente PRISMA". [ cita necesaria ]

Criterios de diseño

La arquitectura Alpha estaba destinada a ser un diseño de alto rendimiento. Digital pretendía que la arquitectura soportara un aumento de mil veces en el rendimiento durante veinticinco años. Para garantizar esto, se eliminó cualquier característica arquitectónica que impidiera el problema de múltiples instrucciones, frecuencia de reloj o multiprocesamiento. Como resultado, Alpha no tiene:

Códigos de condición

Alpha no tiene códigos de condición para instrucciones de números enteros [27] para eliminar un posible cuello de botella en el registro de estado de condición. Las instrucciones que resultan en un desbordamiento, como sumar dos números cuyo resultado no cabe en 64 bits, escriben los 32 o 64 bits menos significativos en el registro de destino. El acarreo se genera realizando una comparación sin signo del resultado con cualquiera de los operandos para ver si el resultado es menor que cualquiera de los operandos. Si la prueba fue verdadera, el valor uno se escribe en el bit menos significativo del registro de destino para indicar la condición.

Registros

La arquitectura define un conjunto de 32 registros enteros y un conjunto de 32 registros de punto flotante además de un contador de programa , dos registros de bloqueo y un registro de control de punto flotante (FPCR). También define registros que eran opcionales y se implementaban solo si la implementación los requería. Por último, se definen los registros para PALcode .

Los registros de números enteros se indican con R0 a R31 y los registros de punto flotante se indican con F0 a F31. Los registros R31 y F31 están cableados a cero y se ignoran las escrituras en esos registros mediante instrucciones. Digital consideró usar un archivo de registro combinado, pero se determinó que un archivo de registro dividido era mejor, ya que permite que las implementaciones de dos chips tengan un archivo de registro ubicado en cada chip y que las implementaciones de solo números enteros omitan el archivo de registro de punto flotante que contiene el registros de coma flotante. También se determinó que un archivo de registro dividido era más adecuado para problemas de instrucciones múltiples debido al número reducido de puertos de lectura y escritura. También se consideró el número de registros por expediente registral, siendo contendientes 32 y 64. Digital concluyó que 32 registros eran más adecuados ya que requerían menos espacio en el troquel , lo que mejora las frecuencias de reloj. Se consideró que este número de registros no era un problema importante con respecto al rendimiento y el crecimiento futuro, ya que treinta y dos registros podrían admitir al menos una emisión de instrucción de ocho vías.

El contador del programa es un registro de 64 bits que contiene una dirección de byte virtual alineada con palabras largas, es decir, los dos bits inferiores del contador del programa siempre son cero. La PC se incrementa en cuatro hasta la dirección de la siguiente instrucción cuando se decodifica una instrucción. Las instrucciones de carga bloqueada y condicional de almacenamiento utilizan un indicador de bloqueo y un registro de dirección física bloqueado para soporte multiprocesador. El registro de control de punto flotante (FPCR) es un registro de 64 bits definido por la arquitectura destinada a ser utilizado por implementaciones Alpha con hardware de punto flotante compatible con IEEE 754 .

Tipos de datos

En la arquitectura Alpha, un byte se define como un dato de 8 bits (octeto), una palabra como un dato de 16 bits , una palabra larga como un dato de 32 bits , una palabra cuádruple como un dato de 64 bits y una octapalabra como un dato de 8 bits (octeto) . un dato de 128 bits .

La arquitectura Alpha definió originalmente seis tipos de datos:

Para mantener un nivel de compatibilidad con VAX , la arquitectura de 32 bits que precedió a Alpha, se incluyen otros dos tipos de datos de punto flotante:

El punto flotante VAX H (precisión cuádruple, 128 bits) no era compatible, [28] pero otra opción de punto flotante de 128 bits, el punto flotante X, está disponible en Alpha, pero no en VAX. [29]
H y X han sido descritos como similares, pero no idénticos. La emulación de software para H-floating está disponible en DEC, al igual que un convertidor de nivel de código fuente llamado DECmigrate.

Memoria

Alpha tiene un espacio de direcciones virtuales lineales de 64 bits sin segmentación de memoria. Las implementaciones pueden implementar un espacio de direcciones virtuales más pequeño con un tamaño mínimo de 43 bits. Aunque los bits no utilizados no se implementaron en hardware como los TLB , la arquitectura requería que las implementaciones verificaran si eran cero para garantizar la compatibilidad del software con implementaciones con un espacio de direcciones virtuales más grande (o completo).

Formatos de instrucción

Alpha ISA tiene una longitud de instrucción fija de 32 bits. Tiene seis formatos de instrucción.

El formato de operación de números enteros lo utilizan las instrucciones de números enteros. Contiene un campo de código de operación de 6 bits, seguido del campo Ra, que especifica el registro que contiene el primer operando y el campo Rb, que especifica el registro que contiene el segundo operando. El siguiente es un campo de 3 bits que no se utiliza y está reservado. Un campo de 1 bit contiene un "0", que distingue este formato del formato literal entero. A continuación sigue un campo de función de 7 bits, que se utiliza junto con el código de operación para especificar una operación. El último campo es el campo Rc, que especifica el registro en el que se debe escribir el resultado de un cálculo. Los campos de registro tienen una longitud de 5 bits y son necesarios para abordar 32 ubicaciones únicas, los 32 registros enteros.

El formato literal entero lo utilizan las instrucciones de números enteros que utilizan un literal como uno de los operandos. El formato es el mismo que el formato de operación de enteros excepto por el reemplazo del campo Rb de 5 bits y los 3 bits de espacio no utilizado con un campo literal de 8 bits que se extiende a cero a un operando de 64 bits.

El formato de operación de punto flotante lo utilizan las instrucciones de punto flotante. Es similar al formato de operación de números enteros, pero tiene un campo de función de 11 bits que es posible mediante el uso de bits literales y no utilizados que están reservados en el formato de operación de números enteros.

El formato de memoria se utiliza principalmente para cargar y almacenar instrucciones. Tiene un campo de código de operación de 6 bits, un campo Ra de 5 bits, un campo Rb de 5 bits y un campo de desplazamiento de 16 bits.

Las instrucciones de bifurcación tienen un campo de código de operación de 6 bits, un campo Ra de 5 bits y un campo de desplazamiento de 21 bits. El campo Ra especifica un registro que se probará mediante una instrucción de bifurcación condicional y, si se cumple la condición, el contador del programa se actualiza agregando el contenido del campo de desplazamiento al contador del programa. El campo de desplazamiento contiene un número entero con signo y si el valor del número entero es positivo, si se toma la rama entonces se incrementa el contador del programa. Si el valor del número entero es negativo, entonces el contador del programa disminuye si se toma la rama. Por tanto, el alcance de una rama es ±1 Mi instrucciones, o ±4 MiB. La Arquitectura Alpha fue diseñada con una amplia gama como parte del objetivo de futuro de la arquitectura.

La instrucción utiliza el formato CALL_PAL CALL_PAL, que se utiliza para llamar a subrutinas PALcode . El formato conserva el campo de código de operación pero reemplaza los demás con un campo de función de 26 bits, que contiene un número entero que especifica una subrutina PAL.

Conjunto de instrucciones

Instrucciones de control

Las instrucciones de control constan de saltos y ramas condicionales e incondicionales. Las instrucciones de bifurcación condicionales e incondicionales utilizan el formato de instrucción de bifurcación, mientras que las instrucciones de salto utilizan el formato de instrucción de memoria.

Las bifurcaciones condicionales prueban si el bit menos significativo de un registro está establecido o borrado, o comparan un registro como una palabra cuádruple con signo a cero, y bifurcan si la condición especificada es verdadera. Las condiciones disponibles para comparar un registro con cero son igualdad, desigualdad, menor que, menor o igual que, mayor o igual que y mayor que. La nueva dirección se calcula alineando palabras largas y extendiendo el signo con el desplazamiento de 21 bits y agregándolo a la dirección de la instrucción que sigue a la rama condicional.

Las ramas incondicionales actualizan el contador del programa con una nueva dirección calculada de la misma manera que las ramas condicionales. También guardan la dirección de la instrucción que sigue a la rama incondicional en un registro. Hay dos instrucciones de este tipo y se diferencian únicamente en las sugerencias proporcionadas para el hardware de predicción de ramas.

Hay cuatro instrucciones de salto. Todos realizan la misma operación, guardando la dirección de la instrucción después del salto y proporcionando al contador del programa una nueva dirección de un registro. Se diferencian en las sugerencias proporcionadas al hardware de predicción de sucursales. Para ello se utiliza el campo de desplazamiento no utilizado.

aritmética de enteros

Las instrucciones de aritmética de números enteros realizan sumas, multiplicaciones y restas en palabras largas y cuádruples; y comparación de palabras cuádruples. No hay instrucciones para la división, ya que los arquitectos consideraron que la implementación de la división en el hardware iba en contra de la simplicidad. Además de las instrucciones estándar de suma y resta, existen versiones escaladas . Estas versiones desplazan el segundo operando hacia la izquierda dos o tres bits antes de sumar o restar. Las instrucciones Multiplicar palabra larga y Multiplicar palabra cuádruple escriben los 32 o 64 bits menos significativos de un resultado de 64 o 128 bits en el registro de destino, respectivamente. Dado que es útil obtener la mitad más significativa, se proporciona la instrucción Unsigned Multiply Quadword High (UMULH). UMULH se utiliza para implementar algoritmos de división y aritmética de precisión múltiple. El concepto de una instrucción separada para la multiplicación que devuelve la mitad más significativa de un resultado se tomó de PRISM .

Las instrucciones que operan con palabras largas ignoran la mitad más significativa del registro y el resultado de 32 bits se extiende con signo antes de escribirlo en el registro de destino. De forma predeterminada, las instrucciones de sumar, multiplicar y restar, con la excepción de UMULH y las versiones escaladas de sumar y restar, no se atrapan en el desbordamiento. Cuando se requiere dicha funcionalidad, se proporcionan versiones de estas instrucciones que realizan la detección de desbordamiento y la captura en caso de desbordamiento.

Las instrucciones de comparación comparan dos registros o un registro y un literal y escriben '1' en el registro de destino si la condición especificada es verdadera o '0' en caso contrario. Las condiciones son igualdad, desigualdad, menor o igual y menor que. Con la excepción de las instrucciones que especifican las dos condiciones anteriores, existen versiones que realizan comparaciones firmadas y no firmadas.

Las instrucciones de aritmética de números enteros utilizan formatos de instrucciones de operación de números enteros.

Lógico y cambio

Las instrucciones lógicas consisten en aquellas para realizar operaciones lógicas bit a bit y movimientos condicionales en los registros de números enteros. Las instrucciones lógicas bit a bit realizan AND , NAND , NOR , OR , XNOR y XOR entre dos registros o un registro y un literal. Las instrucciones de movimiento condicional prueban un registro como una palabra cuádruple con signo a cero y se mueven si la condición especificada es verdadera. Las condiciones especificadas son igualdad, desigualdad, menor o igual que, menor que, mayor o igual que y mayor que. Las instrucciones de desplazamiento realizan desplazamientos aritméticos a la derecha y desplazamientos lógicos a la izquierda y a la derecha . El importe del turno viene dado por un registro o literal. Las instrucciones lógicas y de desplazamiento utilizan formatos de instrucción de operación de números enteros.

Extensiones

Extensiones de byte-palabra (BWX)

Los Alpha posteriores incluyen extensiones de palabra de byte, un conjunto de instrucciones para manipular tipos de datos de 8 y 16 bits. Estas instrucciones se introdujeron por primera vez en el microprocesador 21164A (EV56) y están presentes en todas las implementaciones posteriores. Estas instrucciones realizan operaciones que anteriormente requerían múltiples instrucciones para implementarse, lo que mejora la densidad del código y el rendimiento de ciertas aplicaciones. BWX también facilita la emulación de código de máquina x86 y la escritura de controladores de dispositivos . [30]

Instrucciones de vídeo en movimiento (MVI)

Motion Video Instrucciones (MVI) era una extensión del conjunto de instrucciones de Alpha ISA que agregaba instrucciones para operaciones de instrucción única y datos múltiples (SIMD). [31] Las implementaciones Alpha que implementan MVI, en orden cronológico, son Alpha 21164PC (PCA56 y PCA57), Alpha 21264 (EV6) y Alpha 21364 (EV7). A diferencia de la mayoría de los otros conjuntos de instrucciones SIMD del mismo período, como el MDMX de MIPS o el Conjunto de instrucciones visuales de SPARC , pero al igual que las Extensiones de aceleración multimedia de PA-RISC (MAX-1, MAX-2), MVI era un conjunto de instrucciones simple. compuesto por unas pocas instrucciones que operan sobre tipos de datos enteros almacenados en registros enteros existentes.

La simplicidad de MVI se debe a dos razones. En primer lugar, Digital había determinado que el Alpha 21164 ya era capaz de realizar decodificación de DVD a través de software, por lo que no requería provisiones de hardware para ese propósito, pero era ineficiente en la codificación MPEG-2 . La segunda razón es el requisito de mantener los tiempos de ciclo rápidos de las implementaciones. Agregar muchas instrucciones habría complicado y ampliado la lógica de decodificación de instrucciones, reduciendo la frecuencia de reloj de una implementación.

MVI consta de 13 instrucciones:

Extensiones de punto flotante (FIX)

Las extensiones de punto flotante (FIX) son una extensión de Alpha Architecture. Introduce nueve instrucciones para la raíz cuadrada de punto flotante y para transferir datos hacia y desde los registros de números enteros y registros de punto flotante. El Alpha 21264 (EV6) es el primer microprocesador que implementa estas instrucciones.

Extensiones de conteo (CIX)

Count Extensions (CIX) es una extensión de la arquitectura que introduce tres instrucciones para contar bits. Estas instrucciones se clasifican como instrucciones aritméticas de números enteros. Se implementaron por primera vez en el Alpha 21264A (EV67).

Implementaciones

En el momento de su anuncio, Alpha fue anunciada como una arquitectura para los próximos 25 años. Si bien esto no fue así, Alpha ha tenido una vida razonablemente larga. La primera versión, el Alpha 21064 (también llamado EV4 ) se introdujo en noviembre de 1992 y funcionaba hasta 192 MHz; una ligera reducción del troquel (el EV4S , reducido de 0,75 µm a 0,675 µm) funcionó a 200 MHz unos meses después. El procesador de 64 bits era un diseño superescalar y supercanalizado , como otros diseños RISC, pero aun así los superó a todos y DEC lo promocionó como el procesador más rápido del mundo. La cuidadosa atención al diseño de circuitos, un sello distintivo del equipo de diseño de Hudson, como un enorme circuito de reloj centralizado, les permitió ejecutar la CPU a velocidades más altas, a pesar de que la microarquitectura era bastante similar a la de otros chips RISC. En comparación, el Intel Pentium, menos costoso, funcionaba a 66 MHz cuando se lanzó la primavera siguiente.

El Alpha 21164 o EV5 estuvo disponible en 1995 con frecuencias de procesador de hasta 333 MHz. En julio de 1996, la velocidad de la línea aumentó a 500 MHz, en marzo de 1998 a 666 MHz. También en 1998 se lanzó el Alpha 21264 ( EV6 ) a 450 MHz, alcanzando finalmente (en 2001 con el 21264C / EV68CB ) 1,25 GHz. En 2003, se lanzó el Alpha 21364 o EV7 Marvel , esencialmente un núcleo EV68 con cuatro enlaces de comunicación entre procesadores de 1,6 GB/s [a] para mejorar el rendimiento del sistema multiprocesador , funcionando a 1 o 1,15 GHz.

En 1996, Samsung Electronics Company obtuvo la licencia para la producción de chips Alpha . Tras la compra de Digital por parte de Compaq , la mayoría de los productos Alpha se colocaron en API NetWorks, Inc. (anteriormente Alpha Processor Inc.), una empresa privada financiada por Samsung y Compaq. En octubre de 2001, Microway se convirtió en el proveedor exclusivo de ventas y servicios de la línea de productos basados ​​en Alpha de API NetWorks.

El 25 de junio de 2001, Compaq anunció que Alpha sería eliminado progresivamente en 2004 en favor del Itanium de Intel , canceló el chip EV8 planeado y vendió toda la propiedad intelectual de Alpha a Intel . [6] Hewlett-Packard se fusionó con Compaq en 2002; HP anunció que el desarrollo de la serie Alpha continuaría durante algunos años más, incluido el lanzamiento de una variante EV7 de 1,3 GHz denominada EV7z . Esta sería la versión final de Alpha, ya que el EV79 de 0,13 µm también se cancelará.

Alpha también se implementa en Piranha , un prototipo de investigación desarrollado por los grupos de Investigación Corporativa y Desarrollo de Hardware Ininterrumpido de Compaq en el Laboratorio de Investigación Occidental y el Centro de Investigación de Sistemas. Piranha es un diseño multinúcleo para cargas de trabajo de procesamiento de transacciones que contiene ocho núcleos simples. Fue descrito en el 27º Simposio Internacional Anual sobre Arquitectura de Computadores en junio de 2000. [32]

Se afirma que las primeras revisiones de la arquitectura Sunway se basan en Alpha; sin embargo, desde SW26010 , Sunway utiliza una nueva arquitectura de conjunto de instrucciones no relacionada con Alpha. [33] [34]

Historia del modelo

extensiones ISA

Actuación

Para ilustrar el rendimiento comparativo de los sistemas basados ​​en Alpha, a continuación se enumeran algunos números de rendimiento de Standard Performance Evaluación Corporation (SPEC) (SPECint95, SPECfp95). Tenga en cuenta que los resultados de SPEC pretenden informar el rendimiento medido de un sistema informático completo (CPU, bus, memoria, optimizador del compilador), no solo de la CPU. También tenga en cuenta que el punto de referencia y la escala cambiaron de 1992 a 1995. Sin embargo, las cifras dan una impresión aproximada del rendimiento de la arquitectura Alpha (64 bits), en comparación con las ofertas contemporáneas basadas en HP (64 bits) e Intel ( 32 bits). Quizás la tendencia más obvia es que, si bien Intel siempre podía acercarse razonablemente a Alpha en rendimiento de números enteros, en rendimiento de punto flotante la diferencia era considerable. Por otro lado, HP ( PA-RISC ) también está razonablemente cerca de Alpha, pero estas CPU funcionan a velocidades de reloj (MHz) significativamente más bajas. A las tablas les faltan dos valores importantes: el consumo de energía y el precio de una CPU.

Sistemas basados ​​en alfa

La primera generación de sistemas basados ​​en DEC Alpha comprende las estaciones de trabajo y servidores de gama baja de la serie DEC 3000 AXP , los servidores de gama media de la serie DEC 4000 AXP y los servidores de gama alta de las series DEC 7000 AXP y 10000 AXP . Los sistemas DEC 3000 AXP utilizan el mismo bus TURBOchannel que los modelos DECstation anteriores basados ​​en MIPS , mientras que el 4000 se basa en Futurebus + y el 7000/10000 comparte una arquitectura con los modelos VAX correspondientes .

DEC también produjo una estación de trabajo Alpha con configuración de computadora personal (PC) con un bus de Arquitectura estándar industrial extendida (EISA), el DECpc AXP 150 (nombre en clave Jensen , también llamado DEC 2000 AXP). Este es el primer sistema Alpha compatible con Windows NT . Posteriormente, DEC produjo versiones Alpha de sus líneas de PC Celebris XL y Digital Personal Workstation , con procesadores 21164.

Digital también produjo computadoras de placa única basadas en VMEbus para uso industrial y integrado. La primera generación incluye el AXPvme 64 y el AXPvme 64LC basados ​​en 21068, y el AXPvme 160 basado en 21066. Estos se introdujeron el 1 de marzo de 1994. Los modelos posteriores, como el AXPvme 100, el AXPvme 166 y el AXPvme 230, se basan en el procesador 21066A. , mientras que Alpha VME 4/224 y Alpha VME 4/288 se basan en el procesador 21064A. Los últimos modelos, Alpha VME 5/352 y Alpha VME 5/480, se basan en el procesador 21164.

El chip 21066 se utiliza en la estación de trabajo compacta DEC Multia VX40/41/42 y en la computadora portátil ALPHAbook 1 de Tadpole Technology.

En 1994, DEC lanzó una nueva gama de sistemas AlphaStation y AlphaServer . Estos utilizan procesadores 21064 o 21164 e introdujeron el bus PCI , frame buffers compatibles con VGA y teclados y ratones estilo PS/2 . La serie AlphaServer 8000 reemplaza al DEC 7000/10000 AXP y también emplea buses XMI y FutureBus+.

La AlphaStation XP1000 es la primera estación de trabajo basada en el procesador 21264. Los modelos posteriores de AlphaServer/Station basados ​​en el 21264 se clasifican en familias DS (servidor departamental), ES (servidor empresarial) o GS (servidor global).

El chip 21364 final se utiliza en los modelos AlphaServer ES47, ES80 y GS1280 y en AlphaStation ES47.

DEC produjo varias placas base OEM , como la AXPpci 33 "NoName" basada en 21066 y 21068, que fue parte de un importante impulso en el mercado OEM por parte de la compañía, [36] AlphaPC 164 y AlphaPC basadas en 21164. 164LX, AlphaPC 164SX y AlphaPC 164RX basados ​​en 21164PC y AlphaPC 264DP basado en 21264. Varios terceros, como Samsung y API, también produjeron placas base OEM como API UP1000 y UP2000.

Para ayudar a terceros a desarrollar hardware y software para la plataforma, DEC produjo placas de evaluación, como la EB64+ y la EB164 para los microprocesadores Alpha 21064A y 21164 respectivamente.

NetApp utilizó los procesadores 21164 y 21264 en varios sistemas de almacenamiento conectados a la red , mientras que Cray utilizó los procesadores 21064 y 21164 en sus supercomputadoras masivamente paralelas T3D y T3E .

Supercomputadoras

La supercomputadora más rápida basada en procesadores Alpha fue la ASCI Q en el Laboratorio Nacional de Los Álamos. La máquina fue construida como un HP AlphaServer SC45/GS Cluster. Tenía 4096 CPU Alpha (21264 EV-68, 1,25 GHz) y alcanzó una R máx de 7,727 TFLOPS . [37]

Notas

  1. ^ En el contexto de la transferencia de datos, 1 GB se utiliza para significar mil millones de bytes.
  2. ^ En el contexto de la memoria caché, 1 KB = 1024 bytes ; 1MB = 1024KB

Referencias

  1. ^ abcdef Paul V. Bolotoff (21 de abril de 2007). "Alfa: la historia en hechos y comentarios". Archivado desde el original el 3 de diciembre de 2013 . Consultado el 22 de noviembre de 2008 .
  2. ^ Aaron Sakovich (2001). "¿Windows 2000?". La fuente AlphaNT. Archivado desde el original el 8 de julio de 2008 . Consultado el 1 de enero de 2007 .
  3. ^ "SUSE Linux 7.0 Edición Alfa". SUSE. 2000. Archivado desde el original el 8 de enero de 2014 . Consultado el 8 de enero de 2014 .
  4. ^ George A. Darcy III; Ronald F. Brender; Stephen J. Morris; Michael V. Islas (1992). "Uso de la simulación para desarrollar y portar software" (PDF) . Revista Técnica Digital . 4 (4): 181–192.
  5. ^ "Ghost of DEC Alpha es la razón por la que Windows es una basura en la compresión de archivos". TheRegister.co.uk . 2 de noviembre de 2016. Archivado desde el original el 20 de septiembre de 2018 . Consultado el 20 de septiembre de 2018 .
  6. ^ ab Popovich, Ken (28 de junio de 2001). "Alpha resultó costosa para Compaq". www.zdnet.com . ZDNet . Archivado desde el original el 3 de marzo de 2016 . Consultado el 2 de marzo de 2016 .
  7. ^ "Transformando su entorno AlphaServer". CV. Archivado desde el original el 8 de febrero de 2007 . Consultado el 11 de enero de 2007 .
  8. ^ Catalina Richardson; Terry Morris; Rockie Morgan; Reid Marrón; Donna Meikle (marzo de 1987). "Plan de negocios de software MICA" (PDF) . bitsavers.org . Archivado (PDF) desde el original el 7 de enero de 2021 . Consultado el 4 de enero de 2021 .
  9. ^ ab Supnik, Bob (24 de febrero de 2008). "Microprisma". El proyecto de simulación de historia informática . Archivado desde el original el 3 de abril de 2021 . Consultado el 26 de abril de 2021 .
  10. ^ Bolotoff, Pablo V (22 de abril de 2007). "Alfa: la historia en hechos y comentarios". Archivado desde el original el 29 de septiembre de 2019 . Consultado el 9 de septiembre de 2019 .
  11. ^ Mark Smotherman. "Bosquejo de DEC PRISM". Archivado desde el original el 4 de abril de 2020 . Consultado el 20 de septiembre de 2018 . PRISM (Máquina de conjunto de instrucciones reducidas en paralelo) ... primer borrador de la arquitectura PRISM en agosto de 1985; DEC cancela el proyecto en 1988 a favor de un MIPS basado...
  12. ^ ab Comerford, Richard (julio de 1992). "Cómo DEC desarrolló Alpha". Espectro IEEE . 29 (7): 28. doi :10.1109/6.144508. Archivado desde el original el 2018-06-20 . Consultado el 23 de octubre de 2021 .
  13. ^ Supnik, Bob (1992). "Prefacio". Revista Técnica Digital . 4 (4). Archivado desde el original el 3 de mayo de 2021 . Consultado el 3 de mayo de 2021 .
  14. ^ "Gestión de avances tecnológicos: un estudio del equipo de diseño Alpha de DEC" (PDF) . Abril de 1993. Archivado (PDF) desde el original el 7 de febrero de 2021 . Consultado el 26 de abril de 2021 .
  15. ^ Sitios de Richard L.; Richard T. Witek (16 de mayo de 2014). Manual de referencia de arquitectura Alpha AXP - 2.ª edición. Prensa Digital. ISBN 978-1-4831-8403-6. Archivado desde el original el 2018-09-20 . Consultado el 20 de septiembre de 2018 .
  16. ^ Warner, W. (22 de diciembre de 2004). "Grandes momentos en la historia de los microprocesadores". IBM . Archivado desde el original el 19 de enero de 2018 . Consultado el 18 de enero de 2018 .
  17. ^ ab "cpu-collection.de - DEC Alpha AXP". Archivado desde el original el 2018-09-20 . Consultado el 20 de septiembre de 2018 . Los primeros procesadores de la familia Alpha fueron denominados serie DECchip 21064 (el "21" significa siglo XXI).
  18. ^ Bill Hamburgo; Jeff Mogul; Brian Reid ; Alan Eustaquio ; Richard cisne; María Jo Doherty; Joel Bartlett (1989). «Nota Técnica WRL TN-13: Caracterización de Sistemas de Iluminación Orgánica» ( PDF ) . Corporación de equipos digitales . Consultado el 4 de octubre de 2007 . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  19. ^ Bradley, Gale; DeTar, Jim (19 de mayo de 1997). "DEC y Cyrix demandan a Intel". Noticias Electrónicas . vol. 43, núm. 2168. págs. 1, 60. ISSN  1061-6624.
  20. ^ Baum, Allan (18 de julio de 2018). "Historia oral de Allen Baum" (PDF) (Entrevista). Entrevistado por David Brock. pag. 60. Archivado (PDF) desde el original el 7 de febrero de 2021.
  21. ^ John H. Edmondson; Pablo I. Rubinfeld; Peter J. Bannon; Bradley J. Benschneider; Debra Bernstein; Rubén W. Castelino; Elizabeth M. Cooper; Daniel E. Dever; Dale R. Donchin; Timothy C. Fischer; Anil K. Jain; Shekhar Mehta; Jeanne E. Meyer; Ronald P. Preston; Vidya Rajagopalan; Chandrasekhara Somanathan; Scott A. Taylor; Gilbert M. Wolrich (1995). "Organización interna del Alpha 21164, un microprocesador CMOS RISC cuádruple de 300 MHz y 64 bits". Revista Técnica Digital . 7 (1): 119-135. CiteSeerX 10.1.1.38.9551 . Caché de reescritura grande, en chip, de segundo nivel 
  22. ^ Reseñas, CTI (2016). Organización informática estructurada. ISBN 978-1478426738. 21364... primer procesador de alto rendimiento que tiene un controlador de memoria en chip.
  23. ^ Roger Espasa; Federico Ardañaz; Julio Gago; Róger Gramunt; Isaac Hernández; Toni Juan; Joel Emer ; Esteban Félix; Geoff Lowney; Mateo Mattina; André Seznec (2002). "Tarántula: una extensión vectorial de la arquitectura Alpha". En Danielle C. Martin (ed.). Actas: 29º Simposio Internacional Anual sobre Arquitectura de Computadores (ISCA '02) . 29º Simposio Internacional Anual sobre Arquitectura de Computadores (ISCA '02). Joe Daigle/Studio Producciones. Los Alamitos, California: IEEE Computer Society. págs. 281–292. doi :10.1109/ISCA.2002.1003586. ISBN 0-7695-1605-X. Archivado desde el original el 4 de octubre de 2007 . Consultado el 4 de octubre de 2007 .
  24. ^ "La aspiradora VAX". ... legalmente, si DEC hubiera usado VAX en los EE. UU. antes de eso ..... "persona razonable" no tiene dificultad para distinguir entre los dos usos
  25. ^ "The Alpha AXP, parte 8: acceso a la memoria, almacenamiento de bytes y palabras y datos no alineados". 16 de agosto de 2017 . Consultado el 18 de julio de 2022 . Lidiar con la memoria no alineada en el Alpha AXP es muy molesto
  26. ^ "Hoja de datos del microprocesador Alpha 21264" (PDF) . Archivado (PDF) desde el original el 30 de agosto de 2017 . Consultado el 20 de septiembre de 2018 . Las instrucciones que componen la extensión BWX son...
  27. ^ "Instrucciones MIPS". DEC Alpha..., sin código de condición entero.[ enlace muerto permanente ]
  28. ^ "Alpha Bits: migrando al futuro". Profesional DEC . Agosto de 1992. p. 62. Los tipos de datos flotantes H no están disponibles en Alpha
  29. ^ "Migración de una aplicación de OpenVMS VAX a OpenVMS Alpha". 2.5.2 Tipos de datos.
  30. ^ Gronowski, PE; Bowhill, WJ; Donchin, DR; Blake-Campos, RP; Carlson, fiscal del distrito; Equi, ER; Loughlin, BJ; Mehta, S.; Mueller, RO; Olesin, A.; Noorlag, DJW; Preston, RP (1996). "Un microprocesador RISC cuádruple de 433 MHz y 64 b". Revista IEEE de circuitos de estado sólido . 31 (11): 1687–1696. Código bibliográfico : 1996IJSSC..31.1687G. doi :10.1109/JSSC.1996.542313. S2CID  39280205.
  31. ^ Gwennap, Linley (18 de noviembre de 1996). "Digital, MIPS agrega extensiones multimedia". Informe del microprocesador .
  32. ^ Luis André Barroso; Kourosh Gharachorloo; Robert McNamara; Andrés Nowatzyk; Shaz Qadeer; Bartón Sano; Scott Smith; Robert Stets; Ben Verghese (2000). Piranha: una arquitectura escalable basada en multiprocesamiento de un solo chip . 27º Simposio Internacional Anual sobre Arquitectura de Computadores. doi : 10.1145/339647.339696 .
  33. ^ Hung-Sheng Tsao (29 de octubre de 2011). "SW1600 y Alfa 21164". Blog de LaoTsao . Consultado el 29 de octubre de 2011 .
  34. ^ Dongarra, Jack (20 de junio de 2016). "Informe sobre el sistema Sunway TaihuLight" (PDF) . www.netlib.org . Consultado el 20 de junio de 2016 .
  35. ^ David Mosberger. "Descripción general de la familia Alpha". Archivado desde el original el 20 de enero de 2009 . Consultado el 9 de diciembre de 2009 .
  36. ^ Reinhardt Krause. "DEC lanza el impulso de la placa Alpha". Noticias Electrónicas, 4 de abril de 1994.
  37. ^ Laboratorios Nacionales de Los Álamos (2002). "El sistema ASCI Q: capacidad de 30 TeraOPS en el Laboratorio Nacional de Los Álamos" (PDF) . Archivado desde el original (PDF) el 12 de enero de 2011 . Consultado el 6 de junio de 2010 .

enlaces externos