Haz de "Hardware12v" tu página de inicio  Agrega "Hardware12v" a tus favoritos  Envíanos un e-mail
SECCIONES
· Portada
· Noticias
· Archivo
· Análisis
· Artículos
· Guías
· Overclocking
· Diccionario
· Conocimientos PC
· Modding
· Mod Gallery
· Programas
· Enlaces
· Contacto

 

BUSCAR
 
Web
Hardware12v
IDIOMA
    English      
    English
 
    Français       

by Altavista
(Babelfish)

Licencia de Creative Commons

AMD Athlon 64
8 de Noviembre del 2004

Arquitectura (IV)

El AMD64 comparte gran parte del diseño de su antecesor, el K7, siendo las diferencias más significativas la integración del controlador de memoria en el propio core del microprocesador, el HyperTransport y la caché L2 (de 16 vías y 1Mb ó 512Kb de tamaño en función del core). El resto de características permanecen, a grandes rasgos, igual:

3 unidades aritmético lógicas (ALU)
3 unidades de generación de direcciones (AGU)
3 unidades de coma flotante (FPU)
3 decodificadores x86

Lo primero que puede pensar uno en cuanto a cómo aumentar el rendimiento de un microprocesador es aumentar el número de estas unidades funcionales pero en la práctica sucede que esto no repercute en una ganancia proporcional, al margen de la complejidad y coste que ello supondría. Esta es una de las razones por las que los fabricantes de microprocesadores directamente se decantan por aumentar la frecuencia de los mismos, o por la que Intel introdujo su tecnología Hyper-Threading.

El hecho de que los microprocesadores sean capaces de leer y ejecutar más de una instrucción por ciclo hace que se produzca una disminución del rendimiento cuando se ejecutan instrucciones de salto. Esto es debido a que el procesador, al encontrar un salto, detiene el fetch de instrucciones hasta que el salto no es resuelto.

La predicción de saltos es una técnica que predice el comportamiento de cada instrucción de salto antes de que éste sea resuelto por completo. Así se consigue que el microprocesador no se ’detenga’ y pueda hacer búsqueda de instrucciones en cada ciclo. La predicción de saltos puede ser dinámica o estática, en función de si se realiza durante el tiempo de ejecución o compilación, respectivamente.

Dos de las técnicas más importantes en la predicción dinámica de saltos son Branch Target Buffer y los predictores de dos niveles.


Workload Branch Prediction

El Branch Target Buffer (BTB) es una pequeña memoria asociativa que guarda las direcciones y destinos de los últimos saltos ejecutados. Además guarda información que permite predecir si el salto será tomado o no.

La nueva generación de microprocesadores de AMD basados en arquitectura x86-64 tiene un BTB de 2048 direcciones y un Return Strack de 12 entradas. Además, también utiliza predictores de dos niveles: uno histórico y otro interrelacional.

La predicción basada en interrelaciones se lleva a cabo mediante los Branch Selectors, mientras que en las globales o históricas se emplea el Global History Counter. Comentar también que el A64 tiene 16384 Branch History Counters, 4 veces más que su antecesor el K7.

Cuando un salto es ejecutado, el procesador debe comprobar si la dirección previamente predicha es la correcta o no, esto es, si el salto es tomado y si la dirección de destino que tenía en el BTB es correcta. En la mayoría de los casos la dirección será correcta dado que la mayoría de saltos tienen siempre la misma dirección de destino, pero la instrucción retorno de función cada vez puede saltar a una dirección distinta. Para esta instrucción se utiliza una estructura especial denominada return strack.

2 BIT BRANCH HISTORY COUNTERS:
Counter Value Branch Prediction
3 Fuertemente tomado
2 Débilmente tomado
1 Débilmente no tomado
0 Fuertemente no tomado

Para terminar, otra de las mejoras es la que concierne a Branch Target Address Calculator: puede generar direcciones de 48bits dos ciclos después de que una línea de 16 bytes se haya cargado en la caché. Otra función de la BTAC es hacer un backup de la BTB.


  Arquitectura (III) Controlador de Memoria 
ARTICULO
AMD Athlon 64
- Introducción
- Arquitectura
- Arquitectura (II)
- Arquitectura (III)
- Arquitectura (IV)
- Controlador de Memoria
- HyperTransport
- Caché y PR
- Escalabilidad
- K7&P4 vs K8
- Conclusiones

 

Información
Links de interés:
 AMD
 AMD: Hammer  Chip Architect

 

COLABORADORES

2003-2017 | Hardware12v.com    ® Mapa del sitio   -   Manga y Anime      ^ Top