Está en la página 1de 4

INSTITUTO POLITÉCNICO

NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Culhuacán

EPIC

Docente: M. en C. Jesús García Ruíz

Asignatura: Arquitectura de computadoras

Alumna: Reyes Moreno Mirka Daniela

No. de boleta: 2019350705

Grupo: 6CM24

14 / Junio / 2021
EPIC (procesamiento de instrucciones explícitamente en paralelo)

Esta arquitectura fue creada por Intel en conjunto con HP.

Características:

 Gran cantidad de registros.


 Tener paralelismo explicito en el código de máquina. Dependencias entre
instrucciones son encontradas y manejadas por el compilador, no por el
procesador.
 Predication. Las instrucciones de las distintas ramas de un salto son
marcadas por registros de atributo (predicate registers) para ser ejecutadas
simultáneamente.
 Carga especulativa. Se cargan datos de memoria anticipadamente.

Registros de IA-64:
 128 registros de uso general de 64 bits
 128 registros de punto flotante de 80 bits
 64 registros de atributo (predicate registers) de 1 bit

Formato de instrucciones:
opcode
predicate register (6 bits)
registro fuente 1 (7 bits)
registro fuente 2 (7 bits)
registro destino (7 bits)
campos especiales para aritmética entera y de punto flotante

El compilador agrupa 3 instrucciones en un "paquete" de 128 bits. Cada paquete


contiene además de las tres instrucciones un campo template que indica las
dependencias entre instrucciones, o sea si una instrucción debe ejecutarse
secuencialmente respecto a las otras 2, o todas se pueden ejecutar en forma
paralela. Además, contiene información con respecto a si estas instrucciones se
pueden ejecutar en forma paralela con las del siguiente paquete, de manera que
se pueda encadenar cualquier número de instrucciones para ser ejecutadas
paralelamente.
Template tiene un mínimo de 3 bits y por lo tanto cada instrucción tiene alrededor
de 40 bits.
Predication es un método por el cual se ejecutan las dos ramas de un salto
condicional simultáneamente (en lugar de usar métodos de predicción de salto).
Cuando un compilador encuentra una instrucción de salto marca las instrucciones
de cada rama del salto con un identificador llamado atributo. Cuando el
procesador encuentre un salto va a ejecutar ambas ramas simultáneamente, pero
no guardara los resultados mientras los valores de los registros de atributos no
estén definidos. Luego que la condición de salto es evaluada, el procesador
guarda un 1 en el registro de atributo que corresponde a la rama que si se debía
ejecutar y un 0 en el correspondiente a la otra. Antes de guardar el resultado de
una instrucción el procesador revisa su registro de atributo, y si este contiene un 1
guarda el resultado, si contiene un 0 descarta el resultado.
Carga especulativa. Como una forma de reducir los tiempos de espera en que el
procesador no realiza ningún trabajo mientras espera un dato de memoria, la
arquitectura IA-64 implementa un mecanismo de carga especulativa.
Por medio de este el compilador puede situar una instrucción de carga
especulativa antes de que se vaya a necesitar. Justo antes de ejecutar la
instrucción que usará los datos cargados especulativamente se revisará que estos
sean válidos.

Procesadores representativos:

1. Intel Itanium: Merced

Cuando se lanzó Itanium en junio de 2001, su rendimiento no era superior al de


los procesadores RISC y CISC de la competencia. Al reconocer que la falta de
software podría ser un problema grave para el futuro, Intel puso miles de estos
primeros sistemas a disposición de los proveedores de software independientes
(ISV) para estimular el desarrollo. 

2. Intel Itanium II: McKinley

Fue la primera versión del Itanium 2, fabricada en un proceso de fabricación de


0.18 micras. Fue lanzado con unas velocidades que oscilaban entre los 900 MHz y
1 GHz, con un tamaño de caché de 1,9 y 3 MB. Añadió la instrucción de salto
largo al conjunto de instrucciones al IA-64.

3. Itanium 9300 (Tukwila)

Fue lanzado el 8 de febrero de 2010. El dispositivo utiliza un proceso de 65 nm,


incluye de dos a cuatro núcleos, hasta 24MB de caché en la matriz, tecnología
Hyper-Threading y controladores de memoria integrados. Implementa la
corrección de datos de dispositivo doble (DDDC), que ayuda a corregir errores de
memoria. 

4. Itanium 9500 (Poulson)

Cuenta con ocho núcleos, tiene una arquitectura de 12 problemas, mejoras de


subprocesos múltiples y nuevas instrucciones para aprovechar el paralelismo,
especialmente en la virtualización. El tamaño de la caché de L3 es de 32MB. El
tamaño de la caché L2 es de 6MB, 512KB , 256KB por núcleo. 

5. Itanium 9700 (Kittson)

El Kittson es el mismo que el 9500 Poulson, pero con una frecuencia ligeramente
superior.

REFERENCIAS BIBLIOGRÁFICAS

Resumen. (s. f.). Universidad de Chile. [En línea]. Disponible en:


https://users.dcc.uchile.cl/%7Erbaeza/cursos/proyarq/xnoguer/resumen2.html
Wikipedia contributors. (2021, 15 marzo). IA-64. Wikipedia. [En línea]. Disponible
en: https://en.wikipedia.org/wiki/IA-64

También podría gustarte