stringtranslate.com

AMD Am29000

Microprocesador AMD 29000
AMD 29030

El AMD Am29000 , comúnmente abreviado a 29k , es una familia de microprocesadores y microcontroladores RISC de 32 bits desarrollados y fabricados por Advanced Micro Devices (AMD). Basado en el fundamental Berkeley RISC , el 29k agregó una serie de mejoras significativas. Fueron, durante un tiempo, los chips RISC más populares del mercado, [ cita necesaria ] ampliamente utilizados en impresoras láser de diversos fabricantes.

Desarrollado desde 1984-1985, anunciado en marzo de 1987 y lanzado en mayo de 1988, [1] [2] [3] al Am29000 inicial le siguieron varias versiones, terminando con el Am29040 en 1995. [4] El 29050 se destacó por ser temprano en presentar una unidad de punto flotante capaz de ejecutar una operación de multiplicación y suma por ciclo.

AMD estuvo diseñando una versión superescalar hasta finales de 1995, cuando AMD abandonó el desarrollo del 29k porque el equipo de diseño fue transferido para soportar el lado de PC ( x86 ) del negocio. Lo que quedó del negocio integrado de AMD se realineó hacia la familia 186 integrada de derivados 80186 . Para entonces, la mayoría de los recursos de AMD se concentraban en sus procesadores x86 de alto rendimiento para PC de escritorio, utilizando muchas de las ideas y partes individuales de los diseños de 29k para producir el AMD K5 .

Diseño

El 29k evolucionó a partir del mismo diseño RISC de Berkeley que también condujo al Sun SPARC , Intel i960 , ARM y RISC-V .

Un elemento de diseño utilizado en algunos de los diseños derivados de Berkeley RISC es el concepto de ventanas de registro , una técnica utilizada para acelerar significativamente las llamadas a procedimientos . La idea es utilizar un gran conjunto de registros como pila, cargar datos locales en un conjunto de registros durante una llamada y marcarlos como "inactivos" cuando regrese el procedimiento. Los valores devueltos por las rutinas se colocarían en la "página global", los ocho registros principales en SPARC (por ejemplo). El primer diseño RISC competidor de la Universidad de Stanford , el Stanford MIPS , también analizó este concepto, pero decidió que los compiladores mejorados podrían hacer un uso más eficiente de los registros de propósito general que una ventana cableada.

En el diseño original de Berkeley, SPARC e i960, las ventanas tenían un tamaño fijo. Una rutina que utilice sólo una variable local seguiría utilizando ocho registros en SPARC, desperdiciando este costoso recurso. Fue aquí donde el 29000 se diferenciaba de estos diseños anteriores, utilizando un tamaño de ventana variable. En este ejemplo solo se usarían dos registros, uno para la variable local y otro para la dirección de retorno . También agregó más registros, incluidos los mismos 128 registros para la pila de procedimientos, pero agregó otros 64 para acceso global. En comparación, el SPARC tenía 128 registros en total y el conjunto global era una ventana estándar de ocho. Este cambio resultó en un uso de registro mucho mejor en el 29000 bajo una amplia variedad de cargas de trabajo.

El 29000 también amplió la pila de ventanas de registro con una pila en memoria (y en teoría, en caché). Cuando la ventana se llenara, las llamadas se enviarían desde el final de la pila de registros a la memoria y se restaurarían según fuera necesario cuando regresara la rutina. En general, el uso del registro del 29000 era considerablemente más avanzado que los diseños de la competencia basados ​​en los conceptos de Berkeley.

AMD 29040

Otra diferencia con el diseño de Berkeley es que el 29000 no incluía ningún registro de código de condición especial. Cualquier registro podría usarse para este propósito, permitiendo guardar fácilmente las condiciones a expensas de complicar algún código. Una caché de destino de sucursal (512 bytes en el 29000 y 1024 bytes en el 29050) almacenó conjuntos de 4 o 2 instrucciones secuenciales encontradas en la dirección de destino de la sucursal, lo que redujo la latencia de recuperación de instrucciones durante las sucursales tomadas; el 29000 no incluía ningún sistema de predicción de sucursales. por lo que había un retraso si se tomaba una sucursal. Significa que el 29000 tiene una única ranura de retardo de rama . [5] El búfer mitigó esto almacenando cuatro o dos instrucciones de la dirección de destino de la rama, que podían ejecutarse instantáneamente mientras el búfer de recuperación se rellenaba con nuevas instrucciones de la memoria. [6]

El soporte para la traducción de direcciones virtuales siguió un enfoque similar al de la arquitectura MIPS. Un búfer de búsqueda de traducción (TLB) de 64 entradas retenía asignaciones de direcciones virtuales a físicas, y al encontrar una dirección no traducida, la "falla" del TLB resultante haría que el procesador se conectara a una rutina de software responsable de proporcionar cualquier asignación adecuada. a la memoria física. En contraste con el enfoque MIPS que empleaba un registro aleatorio para seleccionar la entrada TLB que se reemplazaría ante un evento de pérdida de TLB, el 29000 proporcionaba un registro lru (usado menos recientemente) dedicado. [7] Algunos productos de la familia 29000 proporcionaban sólo 16 entradas TLB para poder dedicar parte del silicio a los periféricos. Para compensar, el tamaño máximo de página empleado por un mapeo se aumentó de 8 KB a 16 MB. [8] : 305–306 

Versiones

El primer Am29000 se lanzó en 1988, e incluía una MMU incorporada , pero el soporte de punto flotante se descargó a la FPU Am29027 . Las unidades con MMU fallida o Branch Target Cache se vendieron como Am29005 . [6]

En 1991 la línea se amplió con Am29030 y Am29035 , que incluían 8  KB o 4 KB de caché de instrucciones, respectivamente. [9] Para entonces [10] el Am29050 también estaba disponible, sin caché en el chip pero con una unidad de punto flotante con operaciones de multiplicación y acumulación completamente canalizadas , un caché de destino de sucursal más grande de 1 KB con una tasa de aciertos del 80%, y operaciones de carga mejor canalizadas y aceleradas por una caché de direcciones físicas tipo TLB de 4 entradas . Aunque no es un procesador superescalar , permite que una operación de punto flotante y una operación de número entero se completen en el mismo ciclo. Los lados de números enteros y de punto flotante tienen cada uno su propio puerto de escritura para los registros. [11] Contenía 428.000 transistores [12] en un proceso de 1 micrón [13] con una longitud de canal efectiva de 0,8 micras [11] y estaba disponible en 20, 25, 33 y 40 MHz. Posteriormente, el Am29040 se lanzó a 33, 40 y 50 MHz, siendo como el Am29030 excepto por presentar un caché de datos de 4 KB, una unidad de multiplicación y algunas otras mejoras. [14] El Am29040 de 119 mm² contenía 1,2 millones de transistores en un proceso de 0,7 micrones. [15] [16]

Se estaba diseñando una versión superescalar de 29K, pero se canceló en favor de x86. Tenía el nombre en código Jaguar , [3] y se describió en noviembre de 1994 y agosto de 1995. [17] [18] Era un diseño avanzado, capaz de realizar despacho en cuatro direcciones a seis estaciones de reserva y ejecución especulativa fuera de orden de instrucciones. , con retiro de cuatro vías. El archivo de registro permitía cuatro lecturas y dos escrituras a la vez. Los cachés para instrucciones y datos eran de 8 KB cada uno. Las cargas desde la caché podrían pasar por alto las tiendas . No tenía FPU en chip debido a razones de costo y al mercado objetivo. Se esperaba que alcanzara una frecuencia de 100 MHz en un proceso de 0,4 micrones. [17] [19]

AMD utilizó la microarquitectura inédita de 29K como base de la serie K5 de procesadores compatibles con x86 . Las ALU se trasladaron, al igual que el buffer de reorden con una ligera modificación. La FPU se tomó del 29050, pero se amplió a una precisión de 80 bits . El K5 tradujo las instrucciones x86 a "RISC-OP" tras la decodificación, con la ayuda de la información previa a la decodificación contenida en las instrucciones almacenadas en caché. AMD afirmó que el superescalar 29K tendría sólo un rendimiento ligeramente inferior que el K5, pero un coste mucho menor debido a la diferencia de tamaño. [20] [17]

El Honeywell 29KII es una CPU basada en AMD 29050 y se utilizó ampliamente en aviónica en tiempo real.

Productos y aplicaciones

Posicionado como un producto para "aplicaciones integradas de rendimiento medio a alto" con potencial para su uso en estaciones de trabajo Unix, [7] el 29000 se utilizó en una variedad de productos como terminales X, tarjetas controladoras de impresoras láser, tarjetas aceleradoras de gráficos, tarjetas ópticas. soluciones de reconocimiento de caracteres y puentes de red. [21] La arquitectura de memoria del 29000 fue una atracción particular para los diseñadores de productos, permitiéndoles renunciar a la memoria caché externa y emplear RAM dinámica directamente manteniendo un rendimiento aceptable, [21]: 1, lo  que permite un grado de flexibilidad en la elección de la memoria. tecnologías utilizadas para retener instrucciones y datos del programa. [22]

El 29k tuvo cierto uso como acelerador computacional o coprocesador, particularmente en plataformas compatibles con Macintosh e IBM PC. Por ejemplo, Yarc Systems Corporation produjo tarjetas de "coprocesador RISC" basadas en 29k para sistemas Macintosh II y PC AT , junto con otras tarjetas de "coprocesador CISC" con procesadores Motorola 68020 y 68030, y tarjetas de "coprocesador paralelo" con procesadores de transputador T800 . [23] Sus tarjetas NuSuper (originalmente llamadas McCray [24] ) y AT-Super , que emplean la CPU Am29000 y el acelerador de punto flotante Am29027, [23] fueron seguidas por MacRageous , actualizando la CPU a Am29050. [25] Estas tarjetas aceleradoras ofrecían un rendimiento varias veces superior al del propio Macintosh II y se comparaban competitivamente con estaciones de trabajo RISC como la DECstation 3100. También se podían instalar varias tarjetas en un sistema. Sin embargo, el coste de un sistema Macintosh II combinado con una tarjeta de este tipo se acercaba al de las estaciones de trabajo RISC establecidas que ejecutaban Unix. [26]

Un producto notable que utilizó el 29k fue la Macintosh Display Card 8·24 GC de Apple para su Macintosh IIfx , con un procesador Am29000 de 30 MHz, caché de RAM estática de 64 KB y 2 MB de RAM de video, con la opción de 2 MB adicionales de memoria dinámica. RAM para uso del kit de herramientas gráficas QuickDraw. La inclusión de 29k diferenciaba esta versión particular de la tarjeta de otras versiones vendidas por Apple, mejorando significativamente el rendimiento al manejar imágenes de 24 bits por píxel. [27]

Ver también

Referencias

  1. ^ Martín, James A. (23 de marzo de 1987). "La empresa dice que el chip de 32 bits maneja 17 MIPS". Mundo de la informática . vol. 21, núm. 12. pág. 14.
  2. ^ Cole, Bernard C. (28 de abril de 1988). "RISC Slugfest: ¿Es el marketing más importante que el rendimiento?" (PDF) . Electrónica . pag. 66 (pág. 68 de .pdf).
  3. ^ ab "Historia oral de William Michael 'Mike' Johnson" (PDF) . Museo de Historia de la Computación (Entrevista). Entrevistado por Kevin Krewell. 9 de mayo de 2014. Bueno, empezó en el 85. Y me tomó unos tres años y tal vez cuatro revoluciones hasta que estuvo funcional.
  4. ^ Apuesto, Michael R.; Fernando, Juan S.; Whalen, Shaun P. (otoño de 1997). "La Historia del Microprocesador" (PDF) . Revista técnica de Bell Labs : 48.
  5. ^ "Evaluación y programación de la tercera edición de la familia RISC 29K - BORRADOR" (PDF) . pag. 54 . Consultado el 20 de diciembre de 2023 .
  6. ^ ab Stewart, Brett (1990). “Nuevas generaciones de soluciones de la familia 29 K”. Resumen de artículos Compcon Spring '90 . Trigésima quinta conferencia internacional de la IEEE Computer Society sobre apalancamiento intelectual. págs. 295–298. doi :10.1109/CMPCON.1990.63690.
  7. ^ ab Mann, Daniel (octubre de 1991). "Unix y el microprocesador Am29000". Micro IEEE . págs. 23-31. ISSN  0272-1732 . Consultado el 19 de mayo de 2023 .
  8. ^ Mann, Daniel (1995). Evaluación y programación de la familia RISC 29K. Micro dispositivos avanzados . Consultado el 19 de mayo de 2023 .
  9. ^ Fickel, Louise (13 de mayo de 1991). "Advanced Micro Devices refuerza la familia 29000 con dos CPU RISC". InfoMundo . vol. 13, núm. 19. pág. 28.
  10. ^ "ANUNCIOS DE MEMORIA FLASH". Archivo de Computer Business Review en Tech Monitor . 9 de octubre de 1990.
  11. ^ ab "Manual del usuario del microprocesador Am29050". archivo.org . 1991.
  12. ^ Ganapatía, Gopi; Abraham, Jacob A. La aceleración del hardware por sí sola no hará realidad la calificación de fallas de ULSI. Conferencia Internacional de Pruebas 1991.
  13. ^ Lynch, Thomas Walker; Swartzlander (Jr), Earl E. (julio de 1991). "El sumador de células redundantes". Actas, décimo simposio del IEEE sobre aritmética informática . doi :10.1109/ARITH.1991.145553.
  14. ^ "Microprocesador RISC de alto rendimiento Am29040 con cachés de datos e instrucciones" (PDF) . chipdb.org . Consultado el 18 de septiembre de 2022 .
  15. ^ Gwennap, Linlei. "Digital, MIPS agrega extensiones multimedia" (PDF) . Informe del microprocesador . 10 (15): 24-28.
  16. ^ Carpeta del Foro de microprocesadores. 1994.
  17. ^ abc McMinn, Brian (14 de agosto de 1995). "El primer miembro de la familia superescalar 29K" (PDF) . Patatas fritas calientes .
  18. ^ "REVELADO EL PRIMER SUPERESCALAR Am29000". Archivo de Computer Business Review en Tech Monitor . 28 de noviembre de 1994.
  19. ^ Detar, Jim (31 de octubre de 1994). "AMD elabora Superscalar 29K". Noticias Electrónicas .
  20. ^ Slater, Michael (24 de octubre de 1994). "K5 de AMD diseñado para superar a Pentium" (PDF) . Informe del microprocesador . 8 (14): 1–7.
  21. ^ ab FUSIONNews 29K. Micro dispositivos avanzados. Verano de 1990 . Consultado el 20 de mayo de 2023 .
  22. ^ Marshall, Trevor (mayo de 1988). "RISC del mundo real". Byte . págs. 263–268 . Consultado el 20 de mayo de 2023 .
  23. ^ ab YARC, la empresa de soluciones. Corporación de sistemas Yarc.
  24. ^ "YARC afirma que funciona a 50 MHz para la placa de refuerzo Mac II". Byte . Agosto de 1988. p. dieciséis . Consultado el 20 de mayo de 2023 .
  25. ^ Sistema de coprocesador RISC MacRageous Macintosh-II. Corporación de sistemas Yarc. 1990.
  26. ^ Varhol, Peter D. (octubre de 1989). "Las sopas NuSuper de YARC mejoran la Mac". MIPS . págs. 81–83 . Consultado el 20 de mayo de 2023 .
  27. ^ Smith, Bud E. (mayo de 1990). "Un Macintosh grande y rápido con gráficos RISC". Estación de trabajo personal . págs. 46–50 . Consultado el 20 de mayo de 2023 .

enlaces externos