Movatterモバイル変換


[0]ホーム

URL:


Ir al contenido
WikipediaLa enciclopedia libre
Buscar

AMD 29000

De Wikipedia, la enciclopedia libre
(Redirigido desde «AMD 29050»)
Microprocesador AMD 29000

El nombreAMD 29000, a menudo simplemente29k, hace referencia a una popular familia demicroprocesadores ymicrocontroladoresRISC de 32 bits deAdvanced Micro Devices. Durante un tiempo fueron los chips RISC más populares del mercado, ampliamente usados enimpresoras láser de varios fabricantes. A finales de 1995 AMD cesó las tareas de desarrollo de los 29k al ser transferido el equipo de diseño a la división de PC de la compañía. Los pocos ingenieros que siguieron en la división de sistemas integrados de AMD fueron adscritos al desarrollo de procesadores integrados derivados del 80186. La mayoría de los recursos de AMD fueron concentrados en sus clones de alto rendimiento de la arquitectura x86, sirviéndose de ciertas ideas y partes individuales de las últimas tres versiones de los 29k para fabricar elAMD K5

Los 29000 son fruto de la evolución del mismo diseñoBerkeley RISC del que parten elSun SPARC y elIntel i960. Un "truco" empleado en todos los diseños derivados del Berkeley es el concepto deventana de registro, una técnica usada para acelerar de forma significativa lasllamadas a procedimientos. La idea básica consiste en el uso de un gran conjunto deregistros como si de una pila se tratase, cargando datos locales en ese conjunto durante una llamada, y marcándolos como "muertos" cuando el procedimiento finaliza. Los valores de retorno de las subrutinas serían enviados a la "página local", que en el caso del SPARC está compuesta por los 8 primeros registros. Es interesante destacar que los primeros diseños competidores RISC de laUniversidad de Stanford tantearon aplicar este concepto, pero decidieron que la mejora de los compiladores haría más eficiente el uso de los registros de propósito general, algo que se ha ido demostrando con el paso del tiempo.

En el diseño original de Berkeley, en el SPARC y en el i960, esas "ventanas" eran de tamaño fijo. En el SPARC, una subrutina con una únicavariable local utilizaría igualmente los 8 registros, derrochando recursos. Es en este punto donde el 29000 difiere de estos primeros diseños, pues la "ventana" es de tamaño variable para mejorar su uso. En este ejemplo solamente se ocuparían dos registros, uno para la variable local y otro para ladirección de retorno. También se añadieron más registros, incluyendo los mismos 128 registros para la pila de procedimientos, así como otros 64 de acceso global. En comparación el SPARC cuenta en total con 128 registros, y el conjunto global tiene una ventana estándar de 8. Estos cambios, combinados con un compilador "inteligente a medias", contribuyeron a aprovechar lo mejor de cada concepto en cuanto a rendimiento: alto rendimiento para las llamadas a procedimientos, pero manteniendo disponibles gran parte de los registros globales para trabajos de propósito general. Los 29000 también "extendían" la pila de la ventana de registro con una pila interna de memoria (y en teoría, interna en caché). Cuando la ventana estuviera llena las llamadas serían eliminadas de la pila e insertadas en memoria, siendo restauradas a medida que las subrutinas finalizasen. En general, el uso de los registros en el 29000 era considerablemente más avanzado que en los diseños competidores basados en el concepto Berkeley.

Otra diferencia, esta no tan extraña, residía en que los 29000 no incluían registros para código de condiciones de propósito especial. Cualquier registro podía ser utilizado, permitiendo a las condiciones ser salvadas más fácilmente, aunque complicando un poco más el código para ello. Un búfer de precaptura de instrucciones era usado de forma que podía almacenar hasta 16 instrucciones, mejorando el rendimiento en las bifurcaciones; los 29000 no incluían ningún tipo de sistema de predicción de salto así que se producía cierto retardo. El búfer resolvía el problema almacenado cuatro instrucciones del "otro lado" del salto, las cuales podían ser ejecutadas instantáneamente a la vez que el búfer se rellenaba con nuevas instrucciones recogidas de memoria.

El primer 29000 fue presentado en 1988 e incluía unaMMU integrada, aunque el soporte de operaciones depunto flotante era suministrado por laFPU independiente29027. La familia fue mejorada con las versiones29030 y29035, que incluían respectivamente una memoria caché de instrucciones de 8 y 4k. En otra actualización se integró la FPU y se añadieron 4k de caché de datos para dar lugar a la versión29040. La versión final de propósito general fue la29050, un diseñosuperescalar capaz de gestionar 4 instrucciones por ciclo, además de soportar ejecución especulativa y fuera de orden y contar con una FPU mucho más rápida.

Varias partes del diseño del 29050 fueron la base de la serieK5 de procesadores x86-compatibles. La FPU no sufrió modificaciones, mientras que el resto del diseño del núcleo fue utilizado con un complejomicrocódigo para traducir al instante las instrucciones x86 a formato 29k.

Al abandonar AMD esta arquitectura,Honeywell adquirió una licencia con el objetivo de continuar su soporte en aviónica y desarrolló elHI-29KII (comúnmente conocido simplemente como29KII), un derivado del 29050.

Véase también

[editar]

Enlaces externos

[editar]
Control de autoridades

Obtenido de «https://es.wikipedia.org/w/index.php?title=AMD_29000&oldid=146378781»
Categorías:

[8]ページ先頭

©2009-2025 Movatter.jp