AMD 29000

AMD 29000
Microprocesador AMD 29000

El nombre AMD 29000, a menudo simplemente 29k, hace referencia a una popular familia de microprocesadores y microcontroladores RISC de 32 bits de Advanced Micro Devices. Durante un tiempo fueron los chips RISC más populares del mercado, ampliamente usados en impresoras 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 el AMD K5

Los 29000 son fruto de la evolución del mismo diseño Berkeley RISC del que parten el Sun SPARC y el Intel i960. Un "truco" empleado en todos los diseños derivados del Berkeley es el concepto de ventana de registro, una técnica usada para acelerar de forma significativa las llamadas a procedimientos. La idea básica consiste en el uso de un gran conjunto de registros 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 la Universidad 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 única variable 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 la direcció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 una MMU integrada, aunque el soporte de operaciones de punto flotante era suministrado por la FPU independiente 29027. La familia fue mejorada con las versiones 29030 y 29035, 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ón 29040. La versión final de propósito general fue la 29050, un diseño superescalar 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 serie K5 de procesadores x86-compatibles. La FPU no sufrió modificaciones, mientras que el resto del diseño del núcleo fue utilizado con un complejo microcódigo para traducir al instante las instrucciones x86 a formato 29k.

Véase también

  • AMD

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Amd 29000 — Le microprocesseur AMD 29000 L AMD 29000 est un processeur de technologie RISC lancé par AMD au moment où il semblait nécessaire de renverser la suprématie des familles Intel x86 et Motorola 680x0 (des processeurs typiquement CISC). Lancé en 1988 …   Wikipédia en Français

  • AMD 29000 — Le microprocesseur AMD 29000 L AMD 29000 est un processeur de technologie RISC lancé par AMD au moment où il semblait nécessaire de renverser la suprématie des familles Intel x86 et Motorola 680x0 (des processeurs typiquement CISC). Lancé en 1988 …   Wikipédia en Français

  • AMD Am29000 — AMD 29000 Microprocessor AMD 29030. Der AMD 29000, of …   Deutsch Wikipedia

  • Amd 5x86 — Un AMD 5x86 à 75 MHz Le processeur AMD 5x86 est un processeur compatible x86 présentée en 1995 par AMD. Destiné à être utilisé dans les ordinateurs basé sur un 486, c était un des plus rapides et la façon la plus universelle de mettre à niveau… …   Wikipédia en Français

  • AMD K6-II — AMD K6 2 Un AMD K6 2 à 300 Mhz Le K6 2 est un microprocesseur x86 fabriqué par AMD, disponible dans des vitesses s étendant de 266 à 550 Mhz. Il a un cache de 64 Kio de niveau 1 (32 Kio de cache d instruction et 32 Kio de cache de données), il… …   Wikipédia en Français

  • AMD K6 III — Le K6 III est un microprocesseur x86 vendu par AMD, le dernier et le plus rapide de tous les processeurs à base de socket 7. Sommaire 1 Caractéristiques 2 Historique 3 Les versions …   Wikipédia en Français

  • AMD Am29000 — Saltar a navegación, búsqueda AMD 29000 Obtenido de AMD Am29000 …   Wikipedia Español

  • AMD 64 — AMD64 AMD64 est le nom de l architecture des premiers microprocesseurs 64 bits de la société Advanced Micro Devices. Son nom de code est Hammer (de l anglais marteau) remplaçant l appellation x86 64. Cette architecture est compatible avec le …   Wikipédia en Français

  • AMD K7 Athlon — Athlon Pour les articles homonymes, voir K7. Athlon Processeur …   Wikipédia en Français

  • AMD Fusion — Codename(s) Fusion Desna Ontario Zacate Llano Hondo (cancelled) Wichita (cancelled) Krishna (cancelled) Trinity Weatherford Richland IGP Wrestler WinterPark BeaverCreek ATI/Radeon Driver related BTC[1] [2] …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”