| Artículos | 01 ABR 1998

Instrucciones AMD-3D

Tags: Histórico
Eugenio Barahona.

Desde hace algo más de año y medio existen en el mercado microprocesadores dotados de extensiones MMX, las cuales son básicamente una serie de instrucciones que se han añadido al juego de estándar de la familia de microprocesadores x86 de Intel . Además de incorporarse estas instrucciones, se han definido una nueva serie de registros visibles por el programador . Sin embargo las instrucciones MMX no están especialmente dotadas para ciertas operaciones necesarias para generar gráficos 3D, como por ejemplo transformaciones geométricas usando coordenadas en coma flotante . Para solventar estas pegas, AMD ha creado una extensión del juego de instrucciones estándar de la arquitectura x86, la cual hará su primera aparición pública, casi con toda seguridad, durante la feria Cebit con la presentación del microprocesador AMD K6 3D .

Esta extensión del juego de instrucciones x86 introduce 21 nuevas que operan sobre argumentos en coma flotante de simple precisión, es decir, con una longitud de 32 bits . El incremento de rendimiento teórico que se obtiene con éstas se debe, por una parte, a que cada instrucción es capaz de operar sobre dos operandos de forma simultánea, cada uno de ellos de 32 bits . Además la arquitectura del K6 3D es capaz de ejecutar al mismo tiempo dos instrucciones operando sobre dos juegos de registros internos, obteniéndose un rendimiento efectivo de hasta cuatro instrucciones de coma flotante ejecutadas por cada ciclo .

Sin embargo, además de añadir instrucciones específicas para acelerar gráficos 3D, también se ha añadido otra que opera sobre enteros y que está pensada para optimizar la compensación de movimiento que se efectúa durante la descompresión de archivos de vídeo en formato MPEG . Otro aspecto interesante de este juego de instrucciones es la solución que AMD ha elegido para ocultar al software la latencia inherente a la lectura de datos, que no se encuentran presentes en la memoria caché del microprocesador . Efectivamente, el fabricante norteamericano ha creado una instrucción denominada PREFETCH cuya función es asegurar al programador que un determinado dato se encuentra presente en la memoria caché de primer nivel incluida en el propio procesador . El programador incluiría esta instrucción unas cuantas antes del momento en el que se va a acceder al dato que se necesita que esté presente en la memoria caché . Al igual que sucede con las extensiones MMX, los registros utilizados por las instrucciones AMD-3D residen físicamente en los registros del coprocesador matemático . El programador hace referencia a dichos registros mediante los nombres MM0 a MM7 introducidos para hacer referencia a los registros MMX . Cuando se usan valores en formato de coma flotante de simple precisión, cada registro MMX de 64 bits se divide en dos partes, cada una de ellas de 32 bits, la cual es capaz de contener un número en coma flotante de simple precisión . En este formato los bits 0 a 22 se dedican a contener la mantisa del número, los bits 23 a 30 contienen el exponente y, por último, el bit 31 es un bit de signo . Desde el punto de vista del código máquina, las instrucciones AMD-3D se distinguen debido a que comienzan con un prefijo formado por dos bytes 0Fh . Por otra parte, para distinguir entre las distintas instrucciones que forman parte de la extensión se añade un sufijo al final de la misma . El resto de la codificación sigue las normas estándar de codificación de instrucciones x86 .

Un aspecto interesante de esta extensión del juego de instrucciones es cómo será soportado por las aplicaciones . Bajo Windows 95, y bajo el próximo Windows NT 5, los programas que usen la API Direct3D podrán aprovechar estas extensiones ya que AMD está trabajando junto con Microsoft en la creación de los controladores de dispositivo necesarios . Hay que decir que la utilización de esta aceleración depende de que la aplicación transforme e ilumine los vértices de los polígonos que genere o que bien delegue esta operación a Direct3D, ya que sólo en este último caso se aprovecharán las instrucciones AMD-3D . Por otro lado las empresas de software también podrán crear aplicaciones que usen estas instrucciones codificando rutinas directamente en ensamblador, ya que no es muy probable que las soporten los fabricantes de compiladores de C .

El posible problema de compatibilidad con procesadores de otros fabricantes parece estar en vías de solución, ya que existen conversaciones entre AMD, Cyrix y Centaur para que los microprocesadores de los tres fabricantes soporten una extensión común del juego de instrucciones optimizada para gráficos 3D . Por último, a finales de año, Intel presentará sus primeros procesadores con extensiones MMX2, o Katmai New Instructions, como a Intel le gusta denominar a estas instrucciones .

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información