Вы находитесь на странице: 1из 33

25.1.

-
Introduccin .........................................................................
............................ 2
25.2.-
Caractersticas ......................................................................
............................ 4
25.2.1.- Caracterstcas
Generaes ..................................................................................... 4
25.2.2.- Motvacn para una arqutectura de 64
bt ................................................... 4
25.2.3.- Caracterstcas de a
arqutectura ......................................................................... 5
25.3.-
Arquitectura .........................................................................
............................. 6
25.3.1.- Paraesmo a nve de nstruccones
(ILP) ........................................................ 6
25.3.2.- Evtar tempos de atenca en accesos a
memora ............................................ 7
25.3.3.- Desdobamento y rotacn de buces ("Loop unrong
and rotaton") ...... 8
25.3.4.- Undades
funconaes ............................................................................................
9
25.3.5.-
Mcroarqutectura ..................................................................................
.............. 11
25.3.6.-
Segmentacn .......................................................................................
................ 12
Captulo 25- 1
ITANIUM
25.4.- Aportaciones y nuevos recursos
arquitectnicos ............................................ 13
25.4.1.- Procesador de 64
bts ......................................................................................... 13
25.4.2.- EPIC (Expcty Parae Instructon Computng)
........... 13
25.4.3.- Un gran nmero de
regstros ............................................................................ 14
25.4.4.- Organzacn de
memora ................................................................................. 14
25.4.5.- Compatbdad con as nstruccones de 32
bts ............................................ 15
25.4.6.- Optmzacn en operacones de coma fotante y
mutmeda .................... 15
25.4.7.- Optmzacn en a e|ecucn de
satos ........................................................... 15
25.5.- Modelo de
prora!acin .......................................................................
......... 16
25.5.1.- Tpos de
datos .....................................................................................................
17
25.5.2.- Formato de
nstruccones .................................................................................. 17
25.6.- An"lisis del
rendi!iento ..........................................................................
....... 1#
Captulo 25- 1
25.1- INTRODUCCIN
IA-64 (Itanum) es a fama de procesadores con a que Inte se
ntroduce a mercado de os procesadores de 64 bts. E prmer producto de
esta fama de procesadores es, precsamente, e Itanum que se ntroduce
en e mercado en mayor de 2001.
Se ha dseado para ser utzado en servdores y workstatons de ato
rendmento. Inte afrma que su dseo va ms a de conceptos como CISC
o RISC medante a ncorporacn de una cantdad masva de recursos de
procesamento con compadores ntegentes que permten a produccn de
cdgo ob|eto que hace expcto e paraesmo.
Una de as dstncones ms mportantes entre e Itanum y os
mcroprocesadores de 32 bts es e uso de tcncas me|oradas de
procesamento, de as cuaes estos tmos estn pobremente equpados. La
prncpa tcnca se refere a procesamento de ms de una nstruccn a
tempo en una msma undad. E trmno que usa Inte para esto es EPIC
("Expcty Parae Instructon Computng" o Ccuo de Instruccones
Estrctamente en Paraeo). Cmo de ben funcone esta tcnca har que
sta sea ndependente de a cadad de os compadores desarroadas para
ea, as como a optmzacn para e procesamento paraeo mpementada
en e software.
Las dferencas entre 32 y 64 bts son muy grandes. Ovdando por e
momento e proceso en paraeo y otras me|oras ntegentes, propas de a
arqutectura de Itanum, a venta|a ms drecta es a cantdad de memora
que se puede drecconar. Hace catorce aos, drecconar una memora de 4
GB con as pataformas de 32 bts era ms que sufcente. Hoy en da, as
grandes bases de datos sobrepasan con creces este tamao. E tempo
empeado en cargar de nuevo os datos en a memora vrtua, |unto con e
acceso a os dspostvos de amacenamento, tene un efecto negatvo en e
rendmento. Las pataformas de 64 bts son capaces de drecconar 16
terabytes de memora (cuatro m mones de veces ms que en una
pataforma de 32 bts).
Otra venta|a de a CPU de 64 bts sobre a de 32 bts es que procesa e
dobe de nstruccones por cco. S se traba|a con regstros de 16 bts en
paraeo para encrptado, por e|empo, a CPU de 64 bts procesa cuatro
regstros por cada cco de reo|, mentras que a de 16 bts o har de dos en
dos. Una nstruccn de 64 bts puede procesarse en un nco cco de reo|,
mentras que en una pataforma de 32 bts necesta dos ccos de reo|, ms
uno de mpeza. Por tanto, un sstema de 64 bts puede drecconar de
forma drecta mucha ms memora. Cada una de as pataformas de 64 bts
y as arqutecturas futuras expotan estas venta|as, adems de as me|oras
especfcas en a arqutectura de cada marca.
E probema surge debdo a que Inte se encuentra con |ugadores con
mayor experenca y ms sdos en e terreno de os 64 bts, como
UtraSPARC de Sun, PowerPC de IBM y Apha de Compaq, que actuamente
se encuentran en e corazn de gran cantdad de servdores y estacones de
traba|o de ato rendmento.
Ya termn su fase fna de produccn y se comercaza en pequeas
cantdades. Cuenta con Sstemas Operatvos como Wndows Advanced
Server, Wndows XP 64-bt Edton, Lnux Tran, HP-UX y otros. Pero para
Captulo 25: Itanium
reazar e cambo con mayor comoddad, e Itanum e|ecuta cdgo IA-32 en
hardware.
Tambn se tene una bataa en e software usado en as pataformas
de 64 bts. Mcrosoft, a gua que Inte, domna en e terreno de os
sobremesa, pero en e terreno corporatvo tenemos ago totamente
dferente. Su versn de Wndows de 64 bts tene que uchar contra una
nnumerabe cantdad de versones de Unx que tambn se renovarn. Un
factor decsvo es e momento en e que as empresas tengan que eegr cu
de as pataformas de 64 bts van a adoptar.
E resto de os competdores en e campo de os 64 bts aseguran tener
una superordad tcnca frente a Itanum, adems de tener una mayor
estabdad y dsponbdad de software que Wndows 2000. E anzamento
de Itanum con a experenca de Inte en e "mercado de consumo" y a
versn de 64 bts de Wndows 2000 con e domno de software de que
dspone Mcrosoft han hecho tambaearse os cmentos de mundo de 64
bts ta como o conocemos, y tenen que haber agunas ba|as. So e
tempo puede decr qunes sobrevven y de qu forma, pero sn duda,
ahora que Inte y Mcrosoft van a nvoucrarse, e mundo de os 64 bts no es
e msmo.
Captulo 25- 2
Captulo 25: Itanium
En cuanto a mercado a que se drge, en as tareas nformtcas, un
aumento en e rendmento sempre es benvendo, pero en un prmer
momento, os chps de 64 bts domnarn ncamente en os entornos de
ato rendmento. Las apcacones de Internet de hoy da, ven cmo mones
de usuaros en todo e mundo acceden, a travs de eas, a ggabytes o
ncuso terabytes de nformacn en tempo rea. Debdo a esta gran
capacdad mane|ar de datos, os sstemas de 64 bts son benvendos por
Internet, ISPs y ASPs, adems de cuaquera que tenga servdores Web
mutmeda y OLTP ("On-Lne Transacton Proceses"). La consodacn de as
bases de datos de propedad en un nco "amacn" de datos, es tambn
una de os prncpaes atractvos de as apcacones de 64 bts.
Esta tecnooga proporcona un gran empu|e a cuaquera que desee
mane|ar grandes cantdades de datos, como vsuazacones centfcas,
smuacones y efectos especaes de renderzado.
S fnamente ega a os PC de sobremesa agn procesador
descendente de Itanum ya no se podr medr e rendmento de un chp
por os Mhz ya que su veocdad depender ms de IPC (Instruccones Por
Cco) que de otros aspectos.
En a Fgura 25.1 puede observarse a evoucn de a arqutectura de
ordenadores. En ea se percbe que a fna de a evoucn de as
arqutecturas se sta e Itanum, e cu desarroa a tecnooga EPIC a 0.13
m. Se apreca en a grfca que a medda que se ha aumentado e nmero
de transstores por mmetro cuadrado se han me|orado as caracterstcas
arqutectncas.
Fgura 25.1. Evoucn de a Arqutectura de os computadores
Ta como avanza a grfca, Inte espera r vendendo ms
procesadores de 64 bts que con e tempo coparn e mercado de os
procesadores. Por esta razn Inte ya se ha puesto manos a a obra y ha
reazado una segunda versn de este procesador, Itanum2.
Captulo 25- 3
EPIC
Caracterstc
as
CISC
RISC
Superescaar
RISC
->0.5 ->0.35 ->0.25 ->0.18 ->0.13
ITANIUM
Tecnooga
(m)
Captulo 25: Itanium
25.2 CARACTERSTICAS
25.2.1- Caractersticas Generales
Fgura 25.2 . Caracterstcas generaes.
25.2.2- !ti"aci#n $ara %na ar&%itect%ra 'e ()-*it
La necesdad de procesadores de 64 bts es cara en apcacones que
necestan drecconar grandes cantdades de memora ya sea esta vrtua o
fsca. Como e|empos de dchas apcacones podemos ctar:
Bases de Datos: actuamente exsten muchas bases de datos con ms
de 4Gb usados en regstros y otra nformacn, esta cantdad
consttuye e drecconamento drecto mxmo posbe con 32 bts.
Aunque es posbe y de hecho a menudo puesto en prctca, e
drecconamento de bases de datos muy grandes con procesadores
de 32 bts recurrendo a dstntas tcncas, es ms fc y ms
efcente hacero s e procesador soporta operacones y dreccones
de 64 bts.
Creacn de contendo Dgta: e DVD ("Dgta Versate Dsk") y e
HDTV ("Hgh Defnton TV") cada vez se vuevan ms comunes y e
contendo de estos, por os grandes vomenes de nformacn que
requeren, es e prncpa canddato para a edcn en PCs avanzadas.
TIVO (dspostvos sem ntegentes de grabacn dgta) y otros
dspostvos smares podran eventuamente vover obsoeto a as
vdeograbadoras convenconaes. En genera toda a creacn de
contendo dgta ser benefcada por e drecconamento y
procesamento de 64 bts.
CAD & Smuacones: estos a menudo tratan con modeos
enormes(edfcos, avones, exposones nuceares, etc.) y como es de
magnar dchos modeos pueden fcmente exceder os 4Gb de
tamao. Como ya se expc antes cuando e rango drecconabe
Captulo 25- 4
ITANIU CARACTERSTICAS
GENERA+ES
A,O 2001
TECNO+OGA 0,13 m
I++ONES DE TRANSISTORES 25 (CPU) 300 (CACHE)
-ROCESADOR 64 bits
.RECUENCIA 800 MHz
CAC/E +1 32 KB
CAC/E +2 96 KB
CAC/E +0 2-4 MB
A+IENTACIN 33!
RENDIIENTO 3"0 #PECi$t%b&s'2000
.RECUENCIA 1US SISTEA 266MHz
ANC/O DE 1ANDA DE E2S PCI-66MHz
TRANS.ERENCIA 2,1(B)s
Captulo 25: Itanium
natura de procesador es superado, se deben usar varos trucos para
drecconar mas datos, esto mpca a menudo una sobrecarga
sgnfcatva a procesador.
Captulo 25- 5
Captulo 25: Itanium
Crptografa: esta nvoucra grandes cantdades de cmputos con
grandes enteros, y se benefcara nmensamente gracas a a
dsponbdad de regstros de 64 bt o que e permtra reazar
ccuos mucho ms rpdamente.
Otros: as apcacones computaconamente ntensas tambn se
vern favorecdas, por e|empo:
o Automatzacn de dseo eectrnco
o Servdores de ato rendmento
o Efectos grfcos como e Transform and Lghtng
Todas estas apcacones se benefcarn tanto de as dreccones de 64
bt como de un nmero mayor de regstros.
25.2.0- Caractersticas 'e la ar&%itect%ra
EPIC - Expcty Parae Instructon-Set Computng.
Me|ora e ILP ("Instructon Leve Paraesm") maxmzando a
compementacn de soucones hardware-software. Provee
mecansmos taes como "branch-hnts", "cache-hnts" (pstas de
sato, de cach) para e compador, para que este ndque a
procesador de taes eventos y permta que mane|e e hardware ms
efcentemente. Estos mecansmos de avso mnmzan e costo
computacona de os satos y reducen faos de consuta a a memora
cach. Adems de eso, e con|unto de nstruccones en s cuenta con
"opcodes" que expctamente permten su e|ecucn en paraeo
("codebock-hnt").
Otros conceptos que se mane|an con EPIC son:
Especuacn: me|ora e rendmento permtendo que e compador
adeante as nstruccones de carga debdas a satos reducendo e
retardo debdo a a memora ("memory atency").
Predcacn: emna muchos satos y as penazaconess debdas a
as faos en a predccn de os satos ("branch predcton").
Pa de regstros: reduce e coste ntroducdo por as secuencas de
amada y retorno medante un modeo efcente de regstros enteros
admnstrados por e RSE ("Regster Stack Engne").
Rotacn de regstros: renombra regstros en hardware de manera
automtca para me|orar e rendmento de os buces, sn e coste
debdo a os mtodos tradconaes ("oop unrong").
Instruccones SIMD: me|oran a e|ecucn de apcacones mutmeda
a operar en varos datos enteros o de coma fotante en una soa
nstruccn.
Cantdad masva de regstros: 128 regstros de enteros, 128 regstros
de coma fotante, 8 regstros de sato, 64 de nstruccones.
Escaabdad para 32 y ms CPUs en paraeo.
Uso optmzado de memora:
Captulo 25- 6
Captulo 25: Itanium
o tamaos de pgna de hasta 256 MB
o tres nvees de cach
Compatbdad con IA-32 en hardware.
Captulo 25- 7
Captulo 25: Itanium
Deteccn avanzada de errores (MCA "Machne Check
Archtecture"), y ECC ("Error Correctng Code") en cach y bus de
sstema.
Los prncpaes ob|etvos que persgue Itanum son:
Superar as mtacones de as arqutecturas actuaes.
Aumentar a efcaca de as operacones en coma fotante.
Dar soporte a drecconamento de 64 bts para memora.
Mantener a compatbdad con a arqutectura IA-32.
25.0- AR3UITECTURA

Para cumpr todos estos ob|etvos, a arqutectura Itanum se basa en
e uso de me|oras sobre e cdgo, en tempo de compacn, para as
smpfcar e proceso de e|ecucn de as nstruccones. Entre estas tcncas
se encuentran:
Incrementar e ILP (paraesmo a nve de nstruccones)
Me|orar e tratamento de os satos
Evtar os tempos de atenca en as operacones de acceso a
memora
Soportar a moduardad en e cdgo
25.0.1- -aralelis4! a ni"el 'e instr%cci!nes 5I+-6

La arqutectura Itanum soporta ILP medante:
Soporte para que e programador especfque drectamente e
paraesmo .
Una estructura denomnada paquete ("bunde"), que agrupa tres
nstruccones y que facta e procesado en paraeo de as msmas .
Un gran nmero de regstros, para factar que dferentes varabes
hagan uso de dferentes regstros.
$a predicacin %&predication'( !e)ora el paralelis!o.
Los satos son un probema mportante de as arqutecturas RISC que
e|ecutan cdgo fuera de orden. Estas arqutecturas tradconaes usan una
tcnca amada "branch predcton" (predccn de satos) para predecr e
camno correcto.
Faos en a predccn son de ocurrenca comn, arededor de 5-10%
de as veces, resutando en grandes penadades en a e|ecucn, de hasta
30-40%. IA-64 usa una tcnca amada Predcacn para e|ecutar ambos
camnos en paraeo y evtar as mtacones de as arqutecturas
tradconaes.
Captulo 25- 8
Captulo 25: Itanium
Se utzan 64 regstros de 1 bt para poner en prctca esta tcnca,
descartando aqueas ramas en a e|ecucn que no son parte de camno
correcto. IA-64 tambn provee soporte efcente para satos mtpes y
comparacones paraeas, ambas caracterstcas permten reazar e sato
mtpe en 1 cco de mquna, aceerando a e|ecucn sgnfcatvamente.
En todos os casos, e regstro de predcacn ndca s una rama en
partcuar y sus datos asocados estn actvos o no. Las ramas actvas
contnan su e|ecucn y s se desactvan su e|ecucn cesa.
Captulo 25- 9
Captulo 25: Itanium
Los predcados, que son parte de toda condcona de a IA-64, proveen
un mecansmo muy efcente para termnar a e|ecucn de ramas que no
deben segurse, para estabecer buces y termnaros, para admnstrar a
predccn dnmca y reazar comparacones de n camnos.
Los predcados ayudan a mane|ar a compe|a tarea de fu|o de contro,
compe|a debdo a un agresvo paraesmo a nve de nstruccones (ILP
"Instructon Leve Paraesm") que se reaza en tempo de compacn.
De esta manera, a predcacn reduce os faos de predccn en os
satos, ncrementando e rendmento. Es partcuarmente t en
apcacones donde es dfc predecr os satos como en grandes bases de
datos, "data mnng", "warehousng", etc.
Como no cuentan con predcacn, as arqutecturas RISC tradconaes
han tendo poco xto con ILP.
25.0.2- E"itar tie4$!s 'e latencia en acces!s a 4e4!ria
$a especulacin %&speculation'( !ini!i*a el e+ecto del retardo de la
!e!oria.
En e contexto actua, as CPUs van ncrementando su veocdad a una
tasa mucho mayor que a memora. Se espera que esta tendenca contne
en e futuro, y posbemente se acente. Entonces estamos ante un gran
cueo de botea que aque|a a as arqutecturas de hoy.
Para reducr e mpacto de esta mtacn, as arqutecturas
tradconaes permten que e compador y e procesador reacen a carga
de datos tempo antes de que estos sean necesaros, pero os satos hacen
e pape de barreras, de mtes para e entorno en e que se apca esta
tcnca.
IA-64 empea una tcnca amada especuacn para ncar a carga
desde memora de forma antcpada, ncusve antcpando a uso en
porcones de cdgo ms a de un sato.
La especuacn es una caracterstca muy utzada en IA-64. Las
arqutecturas RISC tradconaes pueden utzar una tcnca amada 'carga
a prueba de faos' ("non-fautng oad") para evtar e costoso mane|o de
errores cuando a carga antcpada podra no ser vda.
IA-64 evta este probema ofrecendo una soucn en a arqutectura
para mane|ar a carga antcpada. La dea consste en que cada dato va
asocado a un bt que dce s un error se ha producdo o no cuando se carg
dcho dato. Este bt de error (amado bt "Nat") acompaa a dato a travs
de todas as operacones artmtcas, moves y condconaes hasta que se
reaza sobre e dato una nstruccn de check, que detecta s hubo un error,
y dspara a rutna mane|adora de error.
Sn embargo, un 99% de as veces una carga antcpada que produce
un error resuta pertenecer a una rama que nunca se deb e|ecutar, por o
que smpemente se abandona su e|ecucn, sn satar a a rutna
mane|adora de errores.
Esto sgnfca que con IA-64, e compador puede reazar carga
antcpada en forma agresva ("specuaton") sn prestar atencn a
penazacones en caso de errores.
Captulo 25- 10
Captulo 25: Itanium
La especuacn de datos permte a compador reazar a carga an
antes de un store que podra escrbr sobre e msmo regstro para e cua se
reaza a carga antcpada.
IA-64 mantene un regstro de todas as cargas antcpadas en una
taba amada ALAT ("Advanced Load Address Tabe"). Cuando se encuentra
una nstruccn store que causa confctos con una carga antcpada
contenda en a taba, a entrada correspondente se emna, y cuando a
carga se chequea en e ALAT, a ausenca de su entrada ndca que e vaor
debe ser recuperado nuevamente y se obtene e resutado correcto.
Captulo 25- 11
Captulo 25: Itanium
Especulacin de datos: resueve e probema de que e contendo de
a poscn de memora referencada por a nstruccn de carga sea
modfcado entre e momento de anzar a nstruccn de carga
adeantada y e momento de a verfcacn. En e momento de a
verfcacn se reaza una comprobacn sobre e contendo de a
dreccn de memora referencada por a nstruccn de carga. S e
contendo ha cambado, se reaza de nuevo a consuta a memora, s
no, se devueve e resutado. Este tpo de oad adeantado no retrasa
e anzamento de as excepcones, sno que se atenden en e
momento de producrse, por e|empo, por fao de pgna.
Especulacin de control: esta tcnca ntenta resover e probema de
orden correcto de e|ecucn de as nstruccones, en concreto, e
probema de anzamento de excepcones y e probema de os satos.
Ambos probemas se resueven de msmo modo. Medante e
mecansmo de oad especuatvo. Cuando se anza un oad
especuatvo as excepcones que se puedan producr de su e|ecucn
quedan pospuestas hasta e momento de su verfcacn.
Especulacin Combinada : en agunos casos es necesaro combnar
as dos tcncas, por e|empo cuando se quere adeantar a e|ecucn
de una nstruccn de carga que est dentro de una subrutna fuera
de sta. En estos casos, se debe comprobar que os datos no varan,
pero posponendo e tratamento de as excepcones hasta e punto
donde se reaza a verfcacn. En caso de que os datos hayan
varado, o se haya producdo una excepcn, se anzar una
excepcn en e momento de a verfcacn.
Una barrera de cdgo es una nstruccn por encma de a cua no se
debera adeantar a e|ecucn de una nstruccn de carga. Hay varas
nstruccones que actan de barrera de cdgo:
Instruccones de amacenamento (store): puede hacer referenca a a
msma dreccn de memora que a nstruccn de carga, que debera
e|ecutar despus de dcha nstruccn de amacenamento.
Instruccones de sato (br): no se sabe s reamente a nstruccn de
carga se debe e|ecutar .
La e|ecucn especuatva permte, evtar as barreras de cdgo.
25.0.0- Des'!*la4ient! 7 r!taci#n 'e *%cles 58+!!$ %nr!llin9
an' r!tati!n:6
E mane|o efcente de buces es uno de os factores cave para
determnar e rendmento de todas as arqutecturas, y IA-64 provee
caracterstcas especaes para eo.
Una tcnca comn utzada es e desdobamento. Consste en evtar
os satos a prncpo de buce dupcando e cdgo de buce dos, tres o
ms veces para reducr e nmero de satos. Esta tcnca est dsponbe en
IA-64 y en as arqutecturas RISC.
Captulo 25- 12
Captulo 25: Itanium
E probema de esta tcnca es que coneva un aumento de cdgo. IA-
64 sn embargo provee caracterstcas especaes para expotar esta tcnca.
Cuenta con a rotacn de regstros que permte a e|ecucn de buces sn e
aumento de cdgo.
Captulo 25- 13
Captulo 25: Itanium
,pti!i*acin en la -)ecucin de .ucles
Para eo hace uso de:
Instruccones especaes de sato.
Dos regstros de propsto especfco denomnados LC ("Loop Count")
y EC ("Epogue Count").
Mecansmo de rotacn de regstros: consste en que e regstro gco
X se converte en a sguente teracn en e X+1. Esto se puede
apcar a os regstros de predcado, a os de enteros y a os de coma
fotante.
En IA-64, os regstros y os predcados pueden rotar ba|o e contro de
compador. Esto sgnfca que con cada paso en a rotacn, os vaores que
estaban en, por e|empo, e regstro 40, avanzaran a regstro 41. E vaor en
e tmo regstro se mueve a prmer regstro, o sea, os vaores de os
regstros rotan. Lo msmo sucede con os regstros que contenen
predcados.
Con esta rotacn, e compador puede correr una copa de cdgo
dentro de buce y os vaores se asgnan a dstntos regstros
automtcamente a medda que e cdgo tera. Cuando e buce fnaza, con
a ayuda de os regstros "Loop count" y "Epog count" se vueve a estado
anteror a a rotacn y e buce termna.
De esta manera se admnstran os buces sn a necesdad de progos
o epogos a prncpo y a fna de cada buce para mane|ar a ncazacn
y a restauracn, y sn usar predccn de satos que podra evar a
penazacones en e rendmento en caso de faar.
Para reazar estos satos, se utza a nstruccn de sato(br) con e
compemento coop. Los "counted oops" hacen uso de regstro de
propsto especfco LC ("Loop Count"). Este regstro se chequea en cada
sato, s es dstnto de cero, se decrementa su contendo y se efecta e
sato. Cuando es gua a cero no se reaza e sato. La venta|a de esta
tcnca es que, mrando e contendo de regstro LC, se puede saber de
antemano s e sato se va a tomar o no.
25.0.)- Uni'a'es ;%nci!nales
Las nstruccones de IA-64 estn dvddas en cuatro categoras:
I: Operacones con enteros.
F: Operacones con nmeros en punto fotante.
M: Operacones de acceso a memora.
B: Satos.
E Itanum mane|a grupos de tres nstruccones, o que Inte ama
"bunde" (ternas de operacones), que pueden ser despachadas a msmo
tempo por dferentes undades funconaes.. Cada paabra de nstruccn o
"bunde" consste de tres operacones eementaes de agunas de as
categoras menconadas.
E|empo de bundes:
o Memora-entero-entero, memora-sato-sato (MII/MBB)
o Memora-punto fotante-entero, memora-punto fotante-entero
(MFI/MFI)
Captulo 25- 14
Captulo 25: Itanium
Como consecuenca de mane|o de bundes a travs de a ventana de
e|ecucn e Itanum tene un throughput mxmo de 6 nstruccones por
cco de reo|.
Captulo 25- 15
Captulo 25: Itanium
Fgura 25.3 Fu|o de nstruccones (Dspersn de bundes)
La prncpa caracterstca que ofrece e Itanum es a de reazar hasta
ses nstruccones a a vez, est partcuardad esta representada a o argo
de toda a fgura de su arqutectura (dspersn de bundes).
En e prmer paso se reaza a bsqueda de nstruccones en a cach
L1 de nstruccones y se apcan as tcncas de predccn de satos, para
eo se utzan as tabas:
BPT ("Branch Predcton Tabe") y MBPT ("Mutway Branch Predcton
Tabe").
Estas se usan para predecr dnmcamente s sern o no tomados os
satos, cada taba se encarga de dferentes tpos de "bundes". Por
e|empo a BPT se ocupa de os satos contendos en ternas de tpo
MMB mentras que a MBPT se encarga de os MBB o BBB (ternas con
ms de un sato en genera).
TAR ("Target Address Regster"): taba de cuatro entradas
manpuada drectamente por e compador para especfcar a
dreccn de satos predchos esttcamente.
TAC ("Target Address Cache") taba de 64 entradas responsabe de
proporconar a dreccn de sato para os predchos dnmcamente.
Una pa de dreccones de retorno.
La zona regstros consta de 128 regstros para nmeros enteros (de 64
bts cada uno), 128 regstros de nmeros en coma fotante (de 82 bts cada
uno), 8 regstros para satos, y varos regstros ms con dversas funcones,
adems hay otra sere de regstros para a compatbdad x86.
As msmo en esta zona se encuentra a "Stack Engne", sstema de
pa medante regstros que permte reducr e nmero de accesos a
memora en as amadas y retornos de subrutnas (optmzacn en as
Captulo 25- 16
Captulo 25: Itanium
amadas a procedmentos). Desde e punto de vsta de a pa e banco de
regstros de propsto genera queda dvddo de a sguente manera:
Regstros r0 - r31: regstros de propsto genera.
Regstros r32 - r127: regstros de pa.
Captulo 25- 17
Captulo 25: Itanium
Despus as nstruccones se drgen a una zona donde hay una sere
de recursos cuya prncpa msn es e|ecutar as nstruccones.
E Itanum tene 17 undades de e|ecucn paraeas (superescaar),
todas eas segmentadas ("fuy ppenet") con 10 etapas. Por tanto, cada
undad funcona puede aceptar una nueva nstruccn por cco de reo| o,
en su caso, un parn. Estas undades son:
4 undades para e|ecutar operacones con nmeros enteros y accesos
a memora .
1 undad de punto fotante que contene 2 undades FMAC ("Foatng-
pont Mutpy Acumuate" u operacones acumuadas en punto
fotante) que operan con operandos de 82 bts.
4 undades para as nstruccones mutmeda (MMX).
2 undades punto fotante de precsn smpe
2 undades de carga /amacenamento
La Taba de carga de dreccones adeantadas ALAT("Advanced Load
Address Tabe" ), que proporcona apoyo para especuacn y
mnmzacn de atenca (burbu|as de espera).
3 undades de satos
25.0.5- icr!ar&%itect%ra
Bsqueda /Emsn y e|ecucn desacopadas
Prebsqueda
L1 Instruccones, 16 KB
|erarqua de predctores de satos
Esttca
Dnmca en dos nvees (2,2)
Mutva
Correccn en a predccn asocada azos
Nmero de teracones conocdo en tempo de compacn
Renombre de regstros
9 puertas de emsn a undades de e|ecucn
2 Memora
2 enteros
2 punto fotante
3 satos
6 nstruccones por cco
Instruccones ndependentes (tempate)
Dsponbdad de recursos (tempate)
17 undades de e|ecucn
Captulo 25- 18
Captulo 25: Itanium
Fgura 25.4 Mcroarqutectura de Itanum.
25.0.(- Se94entaci#n
Las 10 etapas de as que dspone Itanum estn dspuestas segn a
fgura 25.3, stas se han reducdo de as 20 que contene e Pentum 4 para
evtar confctos por dependenca de datos.
Fgura 25.5. Segmentacn de a undad de enteros.
IPG: generacn de nstruccones.
FET: bsqueda de nstruccones.
Captulo 25- 19
Captulo 25: Itanium
ROT (rotacn): rotacn de regstros para generar a burbu|as
necesaras para evtar as dependencas de datos .
Captulo 25- 20
Captulo 25: Itanium
EXP (expansn): tene como msn repartr as ses nstruccones a
os dferentes puertos, en esta etapa adems exste a posbdad de
parar a nstruccn a travs de os bts de parada.
REN (renombramento) :acomoda os regstros en os ugares
adecuados de a pa, para optmzar su tamao.
WLD: decodfcacn.
REG: ectura de operandos.
EXE: e|ecucn.
DET: deteccn de excepcones.
WRB: post-escrtura.
25.)- A-ORTACIONES < NUE=OS RECURSOS AR3UITECTONICOS
Las arqutecturas tradconaes, aparte de tener muchas restrccones
para evar a cabo ILP, tambn cuentan con pocos recursos en hardware
para permtr a e|ecucn en paraeo. En contraste, os procesadores
basados en IA-64 cuentan con 128 regstros enteros de propsto genera,
128 regstros de punto fotante, 64 regstros de predcacn y muchas
undades de e|ecucn para asegurar e buen funconamento con atas
cargas de traba|o. La arqutectura se dse para ser escaabe, permtendo
a fc adcn de undades de e|ecucn.
25.).1- -r!cesa'!r 'e () *its
Hay dos mpcacones en e trmno de procesador de 64 bts. Uno es
a habdad de acceder a 64 bts (8 bytes) de nformacn a a vez, esta es
una funcn de a estructura de bus. La otra es a habdad de usar 64 bts
para defnr una dreccn de memora. Un procesador de 32 bts puede
acceder a 2
32
bts de datos, aproxmadamente 4,3 bones de bts.
Comparando esto con 2
64
bts, aproxmadamente 18.4 quntones de bts
(arededor de 2,1 bones de ggabytes), a os que puede acceder un
procesador de 64 bts
25.).2- E-IC 5E>$licitl7 -arallel Instr%cti!n C!4$%tin96
EPIC como una nueva forma de concebr e cdgo. La mpementacn
de a fosofa de dseo EPIC permte acanzar nuevos nvees de
paraesmo y rompe e paradgma de e|ecucn secuenca que exste en as
arqutecturas tradconaes. E uso de mecansmos como a predcacn y a
especuacn combnadas con e paraesmo expcto permten que IA-64
ogre ganancas de rendmento donde otras arqutecturas no han poddo
hacero (retardo de memora, faos en a predccn de ramas).
Es una nueva arqutectura que dota a Itanum de 17 undades de
e|ecucn. Utzando este paraesmo de forma efcaz, estos
mcroprocesadores son capaces de e|ecutar hasta 20 nstruccones por cco
de reo|.
EPIC tene a snguardad de poder ndcar a mcroprocesador, qu
partes ntegrantes de programa pueden ser e|ecutas con tota paraesmo,
ago que as herramentas de generacones anterores no podan.
Captulo 25- 21
Captulo 25: Itanium
Inte y HP acentan as bondades de a predcacn y a especuacn
ms a de smpes caracterstcas que me|oran a e|ecucn, y as stan a
nve de adeantos revouconaros que permten dsear todo un nuevo
paradgma para ograr verdaderamente a e|ecucn paraea ms a de su
smpe apcacn a casos especaes.
Captulo 25- 22
Captulo 25: Itanium
25.).0- Un 9ran n?4er! 'e re9istr!s
E Itanum ofrecen un enorme nmero de estos regstros. Para un buen
uso de eos, es necesaro que e compador aproveche as nuevas
caracterstcas de procesado en paraeo.
La arqutectura Itanum pone a dsposcn de programador gran
cantdad de regstros:
128 regstros de enteros (64 bts)
128 regstro de coma fotante (82 bts)
64 regstros de predcado (1 bt), para guardar predccones
(formamente habando as evauacones de predcados) .
8 regstros para drecconamento en satos (64 bts)
128 regstros de propsto especfco para apcacones (64 bts)
1 regstro de puntero a a nstruccn en curso (IP): no puede ser
acceddo n modfcado drectamente, apunta a a dreccn de
paquete de a nstruccn en curso y camba cuando entra a e|ecutar
a sguente nstruccn.
Adconamente, e Itanum contene varos regstros dedcados a a
montorzacn de as prestacones de a CPU. Informacn ta como e
nmero de nstruccones e|ecutadas, que pueden ser segudas por software,
hacendo posbe a software de admnstracn de sstemas a escrtura en
tempo rea, tenendo un mpacto mnmo en as prestacones de sstema y
regstros de dentfcacn de a versn de IA-64 mpementada que
dentfcan a procesador (CPUID).
Validacin de registros
La e|ecucn especuatva, para e reordenamento de nstruccones,
obga a comprobar que e contendo de un regstro es un dato vdo en e
momento de a consuta. Para eo, todos os regstros de enteros y de coma
fotante evan asocado un bt NaT ("Not a Thng"), para ndcar s e
contendo de regstro es vdo en ese momento o no. En e caso de os
regstro de coma fotante, se ama NaTVa.
25.).)- Or9ani@aci#n 'e e4!ria
Se defne un soo espaco de dreccones nea y unforme, con un
tamao de 264 bytes. Esto quere decr que, tanto datos como cdgo,
comparten e msmo espaco de memora. Este espaco de memora est sn
segmentar, y no hay defndas zonas de uso especfco.
E Itanum tene 3 nvees de cach, L1 y L2 van ntegradas, es decr,
resden en a cpu y traba|an a a msma veocdad que e nceo. La memora
cach L3 a pesar de estar fuera de encapsuado de procesador tambn
traba|a a su msma veocdad.
Adconamente e Itanum posee buffers de traduccn de dreccones
neaes a dreccones reaes TLBs, basndose en e prncpo de ocadad. E
bus de sstema presenta un ancho de banda de 2.1 GB/s. La |erarqua de
memora est organzada en os sguentes nvees:
Captulo 25- 23
Captulo 25: Itanium
Cache de datos de nve 1 (L1D), de 16 Kbytes.
Cache de nstruccones de nve 1 (L1I), de 16 Kbytes.
Cache de nve 2 (L2), de 96 Kbytes.
Cache de nve 3 (L3), e tamao puede varar de 2 a 4 Mbytes.
TLB de datos de nve 1 (L1-DTLB), con 32 entradas.
TLB de datos de nve 2 (L2-DTLB), con 96 entradas.
TLB de nstruccones (ITLB), con 64 entradas.
Captulo 25- 24
Captulo 25: Itanium
25.).5- C!4$ati*ili'a' c!n las instr%cci!nes 'e 02 *its
Uno de os requstos de Itanum es conservar a compatbdad con e
|uego de nstruccones de a arqutectura IA-32 (procesadores actuaes
Pentum). Itanum puede e|ecutar apcacones de a arqutectura IA-32, as
como apcacones que tengan mezcadas nstruccones de a arqutectura
IA-32 e nstruccones de a arqutectura Itanum. Esto sgnfca que os
programas escrtos para as mqunas actuaes deberan funconar sn
modfcacones. Ob|etvamente parece que dchas apcacones funconarn
a una veocdad ms enta de o norma debdo a a compatbdad.

25.).(- O$ti4i@aci#n !$eraci!nes 'e c!4a ;l!tante 7
4%lti4e'ia
Un gran porcenta|e de a cpu de Itanum, aproxmadamente e 10%,
est dedcado a a undad de coma fotante (FPU). La arqutectura
mpementa as sguentes optmzacones para as operacones en coma
fotante:
Banco de regstros de coma fotante de 128 regstros de 82 bts.
Instruccones especaes como mutpca y acumua (fma).
Instruccones especaes de oad y store para nmeros en coma
fotante.
Se permte a transferenca de datos entre e banco de regstros de
enteros y e de coma fotante.
Fc conversn entre enteros y nmeros en coma fotante.
Soporte para tcncas como a especuacn o a rotacn de regstros.
25.).A- O$ti4i@aci#n en la EBec%ci#n 'e Salt!s
Hoy en da, a optmzacn de os satos es uno de os grandes
probemas con os que se enfrentan os dseadores de hardware. La tcnca
ms usada actuamente es a predccn de sato. S a predccn es
correcta, no se producen parones en e ppene. Sn embargo, s es errnea,
e coste es muy ato.
La arqutectura defne dos tpos de satos:
Satos reatvos a regstro IP
Satos ndrectos, que hacen uso de os regstros de sato.
Se permte a e|ecucn en paraeo de varos satos a a vez. La forma
de decdr qu sato se toma prmero es medante os regstros de
predcado. E sato cuyo regstro de predcado se haga certo antes, es e
que prmero sata.
Itanum optmza e mane|o de os satos medante dos Tcncas:
Instruccones con predcados
Se puede condconar a e|ecucn de operacones a contendo de os
regstros de predcado. Esta tcnca nos permte convertr muchas de as
dependencas de contro (satos) de cdgo en dependencas de datos. Para
Captulo 25- 25
Captulo 25: Itanium
eo, se anzan a a vez as dos ramas de sato, condconando a e|ecucn
de as nstruccones de cada rama a contendo de un regstro de predcado
que se ha evauado prevamente. As, a rama cuyo regstro de predcado
est a uno, competar su e|ecucn, mentras que as nstruccones de a
otra rama sern tratadas como nstruccones NOP.
Instruccones de sato especaes
Un e|empo son os "counted oops", utzados para reazar buces de
tpo for (cuya condcn de parada es que un contador acance un
determnado vaor). Este tpo de satos no se puede emnar con a
e|ecucn con predcados.
Captulo 25- 26
Captulo 25: Itanium
25.5.- ODE+O DE -ROGRAACIN
Como ya se d|o antes, as prestacones de Itanum dependern de a
correcta reacn entre e software y e hardware. Los compadores, a travs
de nstruccones especfcas para eo, tendrn contro tota, s as o desean,
sobre a predccn de satos, e orden de as operacones, a predcacn y a
especuacn. En partcuar e compador puede decdr, s un sato debe ser
predcho esttcamente o dnmcamente con base en su hstora. Tambn
puede decdr s un sato debe ser predcho tomado o no tomado, en caso de
ser esttca a predccn. E Itanum posee e hardware necesaro para
poder ofrecer estas facdades a compador.
E Itanum, tene un nuevo con|unto de nstruccones, no es ya una
mquna CISC, para e|ecutar e cdgo que podran e|ecutar sus ancestros
tendr que traducr as nstruccones medante hardware especfco para ta
propsto. Esto har, en prncpo, a e|ecucn de programas ve|os ms
enta de o que ser su e|ecucn en computadores anterores de a
arqutectura de Inte. Tampoco es RISC, ms ben es de tpo VLIW ("Very
Large Instructon Word") o EPIC ("Expcty Parae Instructon Computng").
VLIW o EPIC, es e paradgma dneo para ncrementar e paraesmo a
nve de nstruccones (ILP). Hacer muchas nstruccones o trozos de eas a
msmo tempo.
La IA-64 representa e nuevo modeo ISA ("Instructon Set Archtecture"
o Con|unto de Instruccones de Arqutectura) basado en a tecnooga EPIC,
sendo totamente compatbe por hardware con as nstruccones de su
predecesora, a IA-32.
Las nstruccones se organzan en paquetes o grupos de 3
nstruccones mxmo("bunde") que no poseen dependencas entre eas y
que, por o tanto, se pueden e|ecutar en paraeo. En un momento
determnado, e procesador ntentar procesar en paraeo tantas
nstruccones de un grupo de nstruccones como e sea posbe,
dependendo de os recursos dsponbes.
Los paquetes de nstruccones defndos para este concepto estn
formados por 128 bts, a dferenca de o que ocurra en a arqutectura IA-
32, cuya ongtud de nstruccn no era f|a en un prncpo.
Las tres nstruccones EPIC de paquete consumen 123 bts (41 para
cada una), de|ando os cnco restantes (bts de tempate) para ser utzados
como amacn extra de nformacn, de cara a asstr a procesador en a
utzacn ms efcente de recursos.
E mecansmo tempate, de|a a compador a decsn de qu undad
funcona ser a que e|ecute a nstruccn cada nstruccn de paquete. En
os tempates se puede ndcar qu paquete termna e grupo. Un paquete
puede ndcar que un grupo se acaba en a prmera, segunda o tercera
nstruccn de dcho paquete. Para termnar un grupo, se ndca aadendo
un stop. Adems, tambn permte especfcar s todas as nstruccones
pertenecen a msmo grupo o no.
Los dstntos tpos de tempates dsponbes son os sguentes:
MII, MIIs, MIsI, MIsIs, MLX*, MLXs*, MMI, MMIs,
MsMI, MsMIs, MFI, MFIs, MMF, MMFs, MIB, MIBs,
Captulo 25- 27
Captulo 25: Itanium
MBB, MBBs, BBB, BBBs, MMB, MMBs, MFB, MFBs
Donde:
M : Instruccn de memora (d o st)
I : Instruccn de enteros
F : Instruccn de coma fotante
B : Instruccn de sato
L : Instruccn que traba|a con datos nmedatos argos
s : Indca que se reace un stop
(*) LX : Tpo especa, que se procesa en a undad funcona de enteros
Captulo 25- 28
Captulo 25: Itanium
25.5.1.- Ti$!s 'e 'at!s
Los tpos de datos que soporta Itanum son os sguentes:
Enteros : de 1, 2, 4 y 8 bytes.
Coma fotante : formatos smpe, dobe y dobe-extenddo.
Punteros a memora: 8 bytes .
E formato estndar para os enteros es 8 bytes. Los regstros tambn
poseen 8 bytes (64 bts) de ongtud. Cuando se traba|a con operandos
enteros de 1, 2 4 bytes, se reenan con ceros hasta acanzar a ongtud
de 8 bytes.
25.5.2.- .!r4at! 'e instr%cci!nes
E formato de nstruccn es e sguente:
|(preg)| cop |.comp1
|
|.comp2
|
destno
=
fuente |,fuente
|
6 bts 14 bts 7 bts 7bts 7bts
Donde:
(preg) : regstro de predcado.
cop ( codgo de operacn) : dentfca a a nstruccn.
.comp1, .comp2: agunas nstruccones pueden evar
compementos, que ndcan una varacn sobre a nstruccn
de base.
destno, fuente : cas todas as operacones tenen a menos dos
operandos fuente y un destno.

E modeo de e|ecucn es regstro-regstro.
Las ncas nstruccones de acceso a memora son d (carga) y st
(amacenamento). E|empos de formato de nstruccn son:
Instruccn smpe: add r1 = r2, r3
Instruccn con predcado: (p4)add r1 = r2, r3
Instruccn con dato nmedato: add r1 = r2, r3, 1
Instruccn con compemento: cmp.eq p3 = r2, r4
25.(- ANC+ISIS DE+ RENDIIENTO
E Itanum representa e prncpa proyecto de desarroo de Inte. Este
procesador representa un cambo sgnfcatvo en un mercado basado en
nstruccones RISC. Inte se arresga con su nueva arqutectura EPIC, a cua
no puede ser efectva fcmente dentro de a arqutectura RISC que
predomna en estos momentos.
Las mpcacones de Itanum en e mundo de PC son muchas:
Captulo 25- 29
Captulo 25: Itanium
La veocdad de un ordenador, actuamente medda en megahercos
en e mundo de PC, puede tener menos mportanca con a egada
de Itanum.
Captulo 25- 30
Captulo 25: Itanium
Para e desarroo efectvo de Itanum se necesta una cooperacn
sn precedentes con as empresas de compadores para que
desarroen software especfco de 64 bts.
E Itanum es capaz e|ecutar bones de operacones de coma
fotante por segundo, esto es debdo a su habdad para reazar ccuos de
6 nstruccones por cada cco de reo| y eso e da a Itanum un potenca
mpresonante. Consderando que e software aprovecha stas cuadades
vamos a anazar su rendmento.
Fgura 25.6. Benchmarks de Itanum
Captulo 25- 31

Вам также может понравиться