Está en la página 1de 23

18.1. - Introducción......................................................................

1
18.2. - Estructura interna............................................................ 1
18.6.1.- Regístros de datos....................................................... 2
18.6.2.- Regístros de estado................................................... 4
18.6.3.- Saítos y movímíentos condícíonaíes en ía condícíón de
códígo de
ía FPU............................................................................. 7
18.6.4.- Regístros de controí .................................................. 8
18.6.5.- Fíag de controí de ínfíníto............................................ 9
18.6.6.- Regístros de paíabra ................................................. 9
18.6.7.- Puntero de ínstruccíones y datos................................ 9
18.6.8.- Regístros de códígo ..................................................
10
18.3. - Tipos de datos..................................................................
10
18.4. – Orígenes del coprocesador matemático en el
entium!
12
18.". - Instrucciones....................................................................
12
18.#. – $istoria del error de la %& del entium ....................
16
18.6.1 - Mantísas, exponentes y precísíones.........................
17
18.6.2 - Contínuando con eí error .........................................
17
Capítulo 18 - 1

COPROCESADOR MATEMÁTICO (FPU)
Capítulo 18: Coprocesador matemático (FPU)
18.1- INTRODUCCIÓN.
Los coprocesadores matemátícos eran círcuítos íntegrados que se
añadían, opcíonaímente, a íos sístemas procesadores para ampííar eí
número de ínstruccíones capaces de ínterpretar y e|ecutar, especíaímente
de típo matemátíco. Un coprocesador se encarga de reaíízar operacíones
con números reaíes representados según aígún estándar, habítuaímente eí
IEEE 754. Los coprocesadores funcíonan de dos formas díferentes:
1. Los memory-mapped funcíonan de forma que sus operandos e
ínstruccíones son coíocadas en unas posícíones de memoría
determínadas por parte deí mícroprocesador. Cuando tíene eí resuítado,
genera una ínterrupcíón y eí procesador recoge eí resuítado de otra
posícíón de memoría. Tíenen ía venta|a de que son índependíentes deí
mícroprocesador, como por e|empío íos Weitek. Evídentemente, se trata
de coprocesdores externos. Como coprocesadores matemátícos están
práctícamente en desuso; sín embargo, aígún otro coprocesador
funcíona tambíén de esta forma.
2. Otros, sín embargo, comparten eí fíu|o de ínstruccíones con eí
mícroprocesador, de forma que cuando eí mícroprocesador detecta una
ínstruccíón que no es suya, ía envía aí coprocesador, que ía e|ecuta y
devueíve íos resuítados aí mícroprocesador. Este es eí caso de íos
coprocesado-
res ínternos como ocurre en eí Pentíum en eí que ías FPU que van
íncíuídas dentro de íos mí-
roprocesadores
Cada vez es mayor eí número de programas y apíícacíones que
requíeren ía actuacíón de un coprocesador matemátíco. Se cítan aígunas
popuíares:
• Programas de símuíacíón.
• Ho|as eíectrónícas.
• CAD-CAM.
Capítulo 18 - 2
Capítulo 18: Coprocesador matemático (FPU)
• Gráfícos.
• Controí numéríco.
• Robótíca.
• Vísíón computerízada.
• Inteíígencía artífícíaí.
18.2- ESTRUCTURA INTERNA.
Eí coprocesador traba|a ínternamente sóío en formato reaí, por ío que
cuaíquíer carga en íos regístros deí coprocesador provocará que dícho vaíor
sea convertído a coma fíotante.
Sus regístros están estructurados en forma de píía y se accede a eííos
por eí número de entrada que ocupan en ía píía.
La FPU es un coprocesador que opera con unídades enteras de otros
procesadores que coge sus ínstruccíones desde eí mísmo decodífícador y
secuencíador que ía unídad de enteros compartíendo eí bus deí sístema con
esta.. A pesar de este hecho ía unídad de enteros y ía FPU operan
índependíentemente y en paraíeío. (La actuaí mícroarquítectura de íos
procesadores Inteí varía entre ía varíedad de famííía de procesadores. Por
e|empío eí procesador Pentíum Pro posee dos unídades de enteros y dos
FPUs míentras que eí procesador Pentíum tíene dos unídades de enteros y
una FPU y eí prcesador 486 díspone de una unídad de enteros y una FPU)

BUS DE DATOS
Fígura 18.1 Reíacíón entre ía unídad de enteros y ía FPU
Las ínstruccíones de e|ecuccíón de ía FPU consísten en 8 regístros de
datos (ííamados regístros de datos de ía FPU) y íos síguíentes regístros
especíaíes:
Capítulo 18 - 3
DECODIFICADOR Y
SECUENCIADOR DE
INSTRUCCIONES
UNIDAD
DE
ENTEROS
FPU
Capítulo 18: Coprocesador matemático (FPU)
• Regístros de estado
• Regístros de controí
• Regístros de paíabra
• Regístro puntero de ínstruccíones
• Regístro puntero aí úítímo operando (puntero dato)
• Regístro códígos
18.2.1 – Registrs !e !"ts
Está formada por 8 regístros de 80 bíts. Los regístros generaíes R1 a R8
soportan datos con eí formato normaíízado de dobíe precísíón con 80 bíts.
Como han de ser mane|ados en formato de píía, eí coprocesador tíene un
puntero de controí de píía ííamado "St". Toda ínteraccíón que tengamos que
hacer con íos regístros deí coprocesador se reaííza a través deí puntero de
píía St, donde eí uítímo vaíor íntroducído es St o St(0) y sí hubíéramos
reííenado todos íos regístros eí uítímo sería St(7).
EXPONENTE MANTISA
79 78 64 63 0
R1

R2
15 0
R3
REGISTRO DE ESTADO
R4
REGISTRO DE CONTROL
R5
TAG
R6

R7
R8
47 0
Capítulo 18 - 4

SIGNO
PUNTERO DE INSTRUCCIONES DE LA FPU
PUNTERO DE OPERANDOS(DATOS) DE LA FPU
Capítulo 18: Coprocesador matemático (FPU)
10
0
Fígura 18.2 Regístros deí coprocesador
Podemos observar cómo díchos regístros están dívídídos en tres
seccíones: sígno, exponente de 15 bíts y mantísa de 64 bíts.
Todas ías operacíones deí coprocesador se reaíízan usando íos ocho
regístros generaíes, que están organízados en forma de píía, no pudíéndose
acceder a eííos de forma arbítraría.
Fígura 18.3 Regístro de píía de datos de ía FPU
Todas ías díreccíones de íos regístros de datos están reíatívas aí regístro
de ía címa de ía píía. Eí número de regístro de ía címa de ía píía actívo es
aímacenado en eí campo CIMA en ía paíabra de estado de ía CPU. Las
operacíones de carga decrementan ía címa en unídad en unídad y cargan
un vaíor en ía nueva címa de ía píía, cargan operacíones, cargan eí vaíor
deí regístro címa actuaí en memoría y posteríormente íncrementan ía címa
una a una.. (Para ía FPU una operacíón de carga es equívaíente a un
apííamíento, ío que se conoce como "push" y una operacíón de
aímacenamíento equívíae a una extraccíón o "pop").
Sí una operacíón de carga es reaíízada cuando ía címa está a 0, se crea
una devoíucíón deí regístro y eí nuevo vaíor de ía címa es puesto a 7. La
excepcíón de desbordamíento de píía de ía unídad de coma fíotante, índíca
cuando es posíbíe que ocurra esta devoíucíón y borran eí vaíor para que sea
reescríto. ( La excepcíón que índíca desbordamíento de píía es ía #IS).
Muchas ínstruccíones en coma fíotante tíenen varíos modos de
díreccíonamíento para permítír aí programador operar ímpíícítamente en ía
Capítulo 18 - 5
CODIGO
ST(2)
ST(1)
ST(0) 011B
CIMA
7
6
5
4
3
2
1
0
CRECIMIENTO
Capítulo 18: Coprocesador matemático (FPU)
címa de ía píía, u operar expíícítamente en un regístro específíco reíatívo a
ía címa. Los ensambíadores ííevan a cabo este modo de díreccíonamíento,
usando ía expresíón ST(0) o símpíemente ST, para representar ía címa de ía
píía actuaí ST(í) para específícar eí regístro "í"avo desde ía címa en ía címa
(0≤ í ≤ 7). Por e|empío sí ía címa contíene 011B (regístro 3 en ía címa de ía
píía), ía síguíente ínstruccíón debería añadír eí contenído de dos regístros en
ía píía (regístros 3 y 5).
Como ocurre en íos regístros de propósíto generaí de en íos
procesadores de unídades de enteros, eí contenído de íos regístros de
datos de ía FPU no se ve afectado por procedímíentos de ííamadas, en otras
paíabras, íos vaíores se mantíenen a través de procedímíentos íímítantes.
Una ííamada ía pueden usar íos regístros de datos de ía FPU para pasar
parámetros entre procedímíentos. Los procedímíentos de ííamada pueden
hacer referencía a íos parámetros pasados a través de íos regístros píía
usados en eí actuaí puntero de ía píía (TOP) y en ías nomencíaturas ST(0) y
ST(í). Sueíe ser habítuaí para un procedímíento de ííamada de|ar un vaíor
de retorno o resuítado en eí regístro ST(0) cuando se devueíve ía e|ecucíón
de una ííamada o programa.
Eí coprocesador soporta íos síguíentes típos de datos:
1. Enteros de 16, 32 y 64 bíts.
2. BCD empaquetados de 80 bíts.
3. Números en coma fíotante de 32, 64 y 80 bíts.
18.2.2 – Registrs !e est"!
Estos 16 bíts de regístro de estado índícan ía sítuacíón actuaí de aí FPU. Los
fíags íncíuídos son íos síguíentes: fíag-acupado o "busy-fíag", puntero de ía
címa de ía píía (TOP), fíags de condícíón de códígo, de estado de error y de
excepcíón. La FPU actíva estos fíags para mostrar eí resuítado de sus
operacíones.
Eí contenído de íos regístros de estado de ía FPU (referídos aí estado de
paíabra )pueden ser aímacenados en memoría usando ía ínstruccíones
FTSW/ FSTSW , FSTENV/FNSTENV, Y FSAVE/FNSAVE. Pueden ser
aímacenados tambíén en eí regístro AX de ía unídad de enteros usando ías
ínstruccíones FSTSW/FNSTSW
En ía fígura18.4 se muestra ía dístríbucíón de íos 16 bíts de Paíabra de
Estado deí coprocesador matemátíco.
15 0
B C3 TOP C2 C1 C0 ES SF PE UE OE ZE DE IE
Capítulo 18 - 6
Capítulo 18: Coprocesador matemático (FPU)
Fígura 18.4. Dístríbucíón de íos bíts en ía Paíabra de Estado deí coprocesador
matemátíco.
• TO: Este campo de 3 bíts de ía Paíabra de Estado muestra eí
prímer regístro. Reaííza íabores símííares aí puntero de píía
ESP. Estos bíts pueden, medíante ínstruccíones en coma fíotante
taíes como FLD y FSTP (éstas son símííares a ías ínstruccíones
de típo entero PUSH y POP), decrementar eí TOP en 1 y coíocar
un vaíor en su respectívo regístro o íncrementar eí TOP en 1 y
retírar eí regístro pertínente. La píía se íncrementa de manera
descendente para regístrar números menores. Impíícítamente,
ía mayor parte de ínstruccíones díreccíonan eí regístro címa de
ía píía, es decír, eí regístro con eí número aímacenado en eí
campo TOP deí regístro de estado. Tambíén podremos
específícar expíícítamente un regístro con díversas ínstruccíones
en coma fíotante. Fí|ese que eí regístro específícado
expíícítamente no es absoíuto síno reíatívo a TOP.
• ' ( E)* Síempre tíenen eí mísmo vaíor e ínforma deí estado de
error. Sí ES = 1 se produce una excepcíón no mascarabíe cuyo
motívo ío índícan íos bíts SP e IE. Ba|o níngún concepto eí bít B
produce níngún dato con respecto aí estado de ía unídad
numéríca y en consecuencía aí pín BUSY.
• )%* Díferencía entre ías operacíones ínváíídas causadas por eí
desbordamíento de ía píía y por otras causas. Sí SF está
actívado eí bít C1 díferencía entre un overfíow (C1=1) y un
underfíow (C1=0). Para una ínterpretacíón deí códígo C3-C0 de
una comparacíón u operacíones símííares ad|untamos ía tabía
7.1.
• Los cuatro +lags de condición de código (desde C0 a C3)
índícan eí resuítado de operacíones arítmétícas y de
comparacíón en coma fíotante. Estos fíags se usan
príncípaímente para aímacenamíento de ínformacíón usada en
excepcíones. Eí fíag de condícíón de estado C1 es usado para
gran varíedad de funcíones. Cuando, íos bíts IE y SF de ía FPU
están actívados, índícando desbordamíento de ía excepcíón
overfíow o underfíow (#IS), eí fíag C1 ío dístíngue de ía
síguíente manera: sí esta a 1 overfíow , síno underfíow. Cuando
eí fíag PE de paíabra de estado está actívado índíca que se ha
producído un resuítado ínexacto (redondeo), eí fíag C1 es puesto
a 1 sí íos úítímos redondeos han sído descendentes. La
ínstruccíón FXAM actíva C1 para examínar eí vaíor deí sígno.
Eí bít de condícíón de códígo C2 es usado por ías ínstruccíones
FPREM y FPREM1 para índícar una reduccíón correctamente (o resto
parcíaí). Cundo se compíeta una reduccíón compíetamente, íos
fíags de condícíón de estado C0, C3 y C1 son actívados hacíendo
referencía a íos tres bíts menos sígnífícatívos deí cocíente (O2, O1 y
O0 respectívamente).
Capítulo 18 - 7
Capítulo 18: Coprocesador matemático (FPU)
Las ínstruccíones FPTAN; FSIN,FCOS y FSINCOS ponen eí fíag C2 a 1
para índícar que eí operando fuente está fuera deí rango permítído
(±2
63
)
I,)T-&..I/, .0 .3 .2 .1
FCOM, FCOMP, FCOMPP, FICOM,
FICOMP, FTST, FUCOM, FUCOMP,
FUCOMPP
Resuítados
de
comparacío
nes
Operandos no
Comparabíes
0 ó #IS
FCOMI, FCOMIP, FUCOMI, FUCOMIP No defínídas #IS
FXAM Cíase de operando Sígno
FPREM, FPREM1 O2 O1
0 = reduccíón
compíeta
1 = reduccíón
íncompíeta
O0 ó #IS
F2XM1, FADD, FADDP, FBSTP,
FCMOVcc, FIADD, FDIV, FDIVP, FDIVR,
FDIVRP, FIDIV, FIDIVR, FIMUL, FIST,
FISTP, FISUB, FISUBR,FMUL, FMULP,
FPATAN, FRNDINT, FSCALE, FST, FSTP,
FSUB, FSUBP, FSUBR, FSUBRP,FSORT,
FYL2X, FYL2XP1
No defínído Roundup ó
#IS
FCOS, FSIN, FSINCOS, FPTAN No defínído
1 = operando
fuente fuera
de rango
Roundup ó
#IS (No
defínído sí
C2=1)
FABS, FBLD, FCHS, FDECSTP, FILD,
FINCSTP, FLD, Constantes de Carga,
FSTP (ext. reaí), FXCH, FXTRACT
No defínído 0 ó #IS
FLDENV, FRSTOR Cada bít se carga de ía memoría
FFREE, FLDCW, FCLEX/FNCLEX, FNOP,
FSTCW/FNSTCW, FSTENV/FNSTENV,
FSTSW/FNSTSW,
No defínído
FINIT/FNINIT, FSAVE/FNSAVE 0 0 0 0
Tabía 18.1. Códígos en coma fíotante para eí Pentíum.
• E* Precísíón.
• &E* Underfíow.
• OE* Overfíow. 0 = No se produce
excepcíón
1 = Condícíón de excepcíón
generada
Capítulo 18 - 8
Capítulo 18: Coprocesador matemático (FPU)
• 1E* Dívísíón por cero.
• 2E* Operando desnormaíízado.
• IE* Operacíón ínváíída.
Estos 6 fíags índícan que una o más excepcíones en coma fíotante han sído
detectadas desde que íos bíts fueron íímpíados por úítíma vez.
Estos fíags de excepcíon se pueden consíderar un poco pega|osos, es decír,
permanecen actívados hasta que son expíícítamente íímpíados. Para eíío se
utííízan ías síguíntes ínstruccíones:
• FCLEX/FNCLEX (excepcíones de íímpíeza)
• FINIT/FNINIT (reíníííaíízan ía FPU)
• FSAVE/FNSAVE
• FRSTOR o FLDENV (para sobreescríbír íos fíags)
18.2.# – S"$ts % &'i&ie(ts )(!i)i("$es e( $" )(!i)i*( !e
)*!ig !e $" FPU
La arquítectura de ía FPU de Inteí (comenzó con eí procesador Pentíum PRO)
posee dos mecanísmos para saítar y efectuar movímíentos condícíonaíes de
acuerdo con ías comparacíones de dos vaíores en coma fíotante. Estos
mecanísmos se refíeren a "nuevo mecanísmo" y "víe|o mecanísmo".
Eí mecanísmo víe|o está dísponíbíe a príorí en ía FPU de íos procesadores
Pentíum Pro. Este mecanísmo usa ínstruccíones de comparacíón en coma
fíotante (FCOM, FCOMP, FCOMPP, FTST, FUCOMPP, FICOM Y FICOMP) para
comparar dos vaíores en coma fíotante y actívar íos fíag de condícíón de
códígo (C0, C3) de acuerdo con íos resuítados. Los contenídos de ía
condícíón de códígo son después copíados en íos fíags de estado deí
regístro EFLAGS medíante dos pasos como se puede ver en ía fígura de ía
síguíente págína.
1. La ínstruccíón FSTSW AX mueve ía paíabra de estado de ía FPU
aí regístro AX.
2. La ínstruccíón SAHF copía íos 8 bíts de más peso, en íos cuaíes
están íncíuídos íos fíags de condícíón de códígo, dentro de íos 8
bíts de menos peso de í regístro EFLAGS


INSTRUCCION FSTSW AX
Capítulo 18 - 9
REGISTRO AX
.O,2I.I/,
2E E)T32O
CODIGO FLAG
C0 CF
C1
(NONE)
C2 PF
C3 ZF
C
3
C
2
C
1
C
0
PALABRA DE ESTADO DE LA FPU
Capítulo 18: Coprocesador matemático (FPU)
REGISTRO EFLAGS
4 0
Fígura 18.5 Movímíento de ía condícíón de códígo aí regístro EFLAGS
Eí mecanísmo nuevo está soíamente dísponíbíe en eí procesador Pentíum
Pro. Usando este mecanísmo ía nueva comparacíón en coma fíotante
compara y actíva ías ínstruccíones EFLAGS (FCOMI, FCOMP. FUCOMI, Y
FUCOMIP) que comparan dos vaíores en coma fíotante y actívan
dírectamente íos regístros EFLGS ZF, y PF. Una úníca ínstruccíón sustítuye
tres ínstruccíones requerídas en eí víe|o mecanísmo.
18.2.+ – Registrs !e )(tr$
Estos regístros controían ía precísíón de ía FPU y íos métodos de redondeo
usados. Tambíén exísten unos bíts que hacen posíbíe eí enmascaramíento
de excepcíones. Eí contenído de estos regístros puede ser cargado con ía
ínstruccíón FLDCW y aímacenado en memoría con ía ínstruccíón
FSTCW/FNSTCW.
Cundo ía FPU es ínícíaíízada con ías ínstruccíones FINIT/FNINIT o
FSAVE/FNSAVE, ía paíabra de controí es puesta a 037FH, ía cuaí enmascara
todas ías excepcíones en coma fíotante, redondea hacía eí más próxímo y
se actíva ía FPU con una precísíón de 64 bíts.
Fígura 18.6. Dístríbucíón de íos bíts en ía Paíabra de Controí deí coprocesador
matemátíco.
Ba|o cíertas círcunstancías, eí Pentíum genera una excepcíón de
coprocesador. Estas excepcíones pueden ser índívíduaímente
enmascaradas. Lo que es más, podemos determínar díferentes modos para
precísíón y redondeo. La Paíabra de Controí se empíea para este propósíto,
y su estructura ía mostramos en ía fígura 18.4
• I.* No tíene sígnífícado cuando no mane|an vaíores ínfínítos
porque eí Pentíum apííca eí estándar IEEE a ías operacíones con
coma fíotante. En íos terrenos de compatíbííídad con eí 8087 y
eí 80287 eí bít IC está dísponíbíe pero no tíene efecto.
Capítulo 18 - 10
IC RC PC PM UM OM ZM DM
IM
C
3
C
2
C
1
C
0
Z
F
P
F
1 C
F
Capítulo 18: Coprocesador matemático (FPU)
Eí Pentíum síempre mane|a cantídades ínfínítas en eí sentído de
±∞, íncíuso sí ponemos IC a 0.
• -.* Los dos bíts RC controían eí redondeo en eí modo defínído.
5O2O 2E -E2O,2EO .35O
-.
Redondeo aí más cercano
00B
Redondeo hacía aba|o
01B
Redondeo hacía arríba
10B
Redondeo a cero
11B
Tabía 18.2. Códígos en coma fíotante para eí Pentíum.
• .* Eí campo de controí de precísíón (bíts 8 y 9 de ía Paíabra
de Controí de ía FPU) determína ía precísíón (64, 53, o 24 bíts)
de íos cáícuíos en coma fíotante reaíízados por ía FPU. Controía
eí redondeo en ías ínstruccíones ADD, SUB, MUL, DIV y SORT.
-E.I)I/, .35O .
Precísíón símpíe (24 bíts) 00B
Reservado 01B
Dobíe precísíon (53-Bíts) 10B
Precísíón extendída (64-Bíts)

11B
Tabía 18.3. Tabía deí campo PC en reíacíón a ía precísíón.
• 56 &56 O56 156 25 e I5* Controían ía generacíón de una
excepcíón cada uno y su ínterrupcíón resuítante. Los Pentíum
provocan 6 excepcíones díferentes en sus operacíones con
coma fíotante. Podemos enmascarar ías excepcíones
índívíduaímente empíeando íos bíts PM, UM, OM ZM, DM e IM.
Entonces eí Pentíum e|ecuta una rutína estándar para tratar íos
respectívos errores utííízando un supuesto estándar. Esto es una
parte íntegraí deí chíp.
18.2., – F$"g !e )(tr$ !e i(-i(it
Capítulo 18 - 11
Capítulo 18: Coprocesador matemático (FPU)
Este fíag proporcíona compatíbííídad con eí coprocesador matemátíco 287
de Inteí; no es muy sígnífícante para versíones posteríores de ía
arquítectura IA-32
18.2.. – Registrs !e /"$"0r"
. La FPU usa íos vaíores de íos tag para detectar desbordamíentos en
condícíones de overfíow o underfíow . Los desbordamíento de overfíow
ocurren cuando eí puntero deí campo TOP es decrementado para apuntar a
un regístro no vacío. Los desbordamíentos de underfíow se producen
cuando eí puntero deí campo TOP es íncrementado para apuntar a un
regístro vacío, o cuando un regístro vacíó es referencíado como un
operando fuente. Un regístro no vacío víene defínído como un regístro que
contíene vaíor cero (01), vaíor váíído (00), o vaíor especíaí (10). Su
estructura ía mostramos en ía fígura 7.16. Tag
7
- Tag
0
contíene ínformacíón,
que ídentífíca íos contenídos de íos ocho regístros de datos R7-R0. Eí
coprocesador utíííza esta ínformacíón para reaíízar cíertas operacíones a
una veíocídad superíor. Empíeando este proceso, eí Pentíum puede
determínar muy rápídamente cíertos vaíores como NAN, ínfíníto y sín ía
necesídad de decodífícar eí vaíor deí regístro correspondíente. Medíante ías
ínstruccíones de FSTENV/FNSTENV podemos aímacenar ía Paíabra Tag en
memoría y examínaría.
00 = VALIDO.
01 = CERO.
10 = NAN, INFINITO, VALOR DESNORMALIZADO O FORMATO DE NÚMERO
INVALIDO.
11 = LLENO.
Fígura 18.7 Dístríbucíón de íos bíts en ía Paíabra Tag deí coprocesador matemátíco.
18.2.1 – P2(ters !e i(str2))i(es % !"ts
La FPU aímacena ínstruccíones a datos (operandos) e ínstruccíones para ías
úítímas ínstruccíones e|ecutadas que no son de controí. Estos punteros son
aímacenados en dos regístros de 48 bíts.
Hay que tener en cuenta que eí vaíor de un regístro puntero de dato es
síempre un puntero a un operando de memoría. Sí ías úítímas ínstruccíones
no controíadas que fueron e|ecutadas no contenían un operando en
memoría, eí vaíor deí regístro puntero de datos es índefínído.
Eí contenído de íos regístros de íos punteros de ínstruccíones y datos
permanecen ínvaríabíes cuando no se e|ecuta nínguna ínstruccíón de
controí. (FINIT/FNINIT, FCLEX/FNCLEX... etc).
Los punteros aímacenados en íos regístros de íos punteros de ínstruccíones
y datos contíenen un offset (aímacenado en íos bíts deí 0 aí 31) y un
seíector de segmento (aímacenado en íos bíts deí 32 aí 47)
Capítulo 18 - 12
Tag7 Tag6 Tag5 Tag4 Tag3 Tag2 Tag1
Tag0
Capítulo 18: Coprocesador matemático (FPU)
18.2.8 – Registrs !e )*!ig
La FPU aímacena eí códígo de ías úítímas ínstruccíones e|ecutadas que no
sean de controí en un regístro de códígo de 11 bíts. Sóío eí prímer y
eí segundo byte de códígo están aímacenados en eí regístro de
códígo de ía FPU. La fígura muestra eí aímacenamíentos de estos 2
bytes. Desde que íos 5 bíts de más peso deí prímer byte de códígo
son íos mísmos para todos íos códígos de unídad en coma fíotante
(11011B), soío íos tres bíts de menos peso son aímacenados en este
regístro de códígo.
PRIMER BYTE DE LA INSTRUCCION SEGUNDO BYTE DE LA INSTRUCCION
7 2 0 7
0

Fígura 18.8 Contenído deí regístro códígo

18.#- TIPOS DE DATOS
Eí coprocesador puede obtener y escríbír datos en memoría de íos
síguíentes típos.
• Entero* Words(16 bíts), Dword(32 bíts), Owords(64 bíts)

• -eal* Words(16 bíts), Dword(32 bíts), Owords(64 bíts),
Twords(80 bíts)
• )imple precisión en coma +lotante
• 2o7le precisión en coma +lotante
• 2o7le precisión e8tendida en coma +lotante
• Entero con signo
• '.2
A contínuacíón se muestra una tabía de ías excepcíones que exísten en
dobíe precísíón en coma fíotante.
Capítulo 18 - 13
10 8 7
0
REGISTRO DE CODIGO
DE LA FPU
Capítulo 18: Coprocesador matemático (FPU)
E8cepción .ausa 3cción por de+ecto 9si la
e8cepción está
enmascarada:
Invaííd Op.
Operacíón sobre un Sígnaííng
NaN,
formato no soportado,
operacíón
índetermínada (0*ínfíníto, 0/0,
ínfíníto-ínfíníto, etc.), o
underfíow/overfíow de píía
Eí resuítado es un Ouíet
NaN,
un entero índefínído o un
BCD
índefínído.
Denormaíízed
Op.
Aí menos uno de íos
operandos es
un Denormaí, o sea, tíene eí
menor
exponente pero una mantísa
no-cero.
Contínua eí proceso
normaí
Zero Dívísor
Eí dívísor es cero míentras eí
dívídendo es un número no
cero y
no ínfíníto.
Eí resuítado es Infíníto.
Overfíow
Eí resuítado es demasíado
grande
para caber en eí formato
específícado.
Eí resuítado es eí mayor
número posíbíe o ínfíníto.
Underfíow
Eí resuítado es no-cero pero
es
demasíado pequeño para
caber en eí
formato específícado, y sí está
enmascarada ía excepcíón de
Underfíow, ía denormaíízacíón
causa
pérdída de precísíón.
Eí resuítado es un
denormaí o
cero.
Resuítado
Inexacto
(Precísíón)
Eí resuítado EXACTO no es
Representabíe en eí formato
Específícado (p.e|. 1/3); eí
resuítado
es redondeado de acuerdo
con eí
modo de redondeo.
Contínua eí proceso
normaí.
Tabía 18.4 - Tabía de excepcíones
Capítulo 18 - 14
Capítulo 18: Coprocesador matemático (FPU)
18.+- OR34ENES DE5 COPROCESADOR MATEMÁTICO EN E5
PENTIUM
Esta unídad se ha redíseñado totaímente respecto a ía que se usa eí
486. Sín embargo, mantíene compatíbííídad 100% bínaría con eíía. Incorpora
un cauce segmentado de ínstruccíones de ocho etapas, que permíte obtener
resuítados partíendo de ínstruccíones de coma fíotante en cada cícío de
reío|. Las cuatro prímeras etapas son ías mísmas que poseen ías unídades
de enteros. La quínta y ía sexta, corresponden a ía e|ecucíón de ías
ínstruccíones de coma fíotante. La séptíma etapa se encarga de escríbír eí
resuítado en íos regístros adecuados y ía octava reaííza eí ínforme de
posíbíes errores que se hayan producído.
Hace uso de nuevos aígorítmos que aceíeran ía e|ecucíón de ías
operacíones e íncíuye eíementos de hardware dedícados, como son : un
muítípíícador, un sumador y un dívísor. Instruccíones de suma,
muítípíícacíón y carga de datos se e|ecutan tres veces más rápído que en un
486.
La Unidad en Coma Flotante o FPU integrada en el Pentium amplía el número de así
como el repertorio de instrucciones. Los nue!os registros "ue proporciona el
coprocesador son oc#o generales de 8$ %its cada uno & tres de 1' %its siendo (stos
últimos empleados en la%ores de control & presentaci)n de estado.
18.,- INSTRUCCIONES
Estas son ías ínstruccíones más comunes, se omíten aígunas, por ser
poco comunes en eí mundo deí tíempo-reaí. Los cícíos de reío| de ías
ínstruccíones, son íos decíarados por Inteí para eí Pentíum básíco, esto
puede verse aíterado en ías CPU's MMX, PRO y Pentíum II. Cuaíquíer
ínstruccíón de cáícuío (fadd, fsub, etc.) toman por defecto sí no se íe
específíca otros operandos St(0) y St(1).
Leyenda: rm=Modo Reaí, vm=Modo Vírtuaí, pm=Modo Protegído
I,)T-&..I/, E;E5<O .I.<O) 2E -E<O;
FABS fabs 1
FADD |reg,reg| fadd 3, 1
FADD memreaí fadd shortreaí 3, 1
Capítulo 18 - 15
Capítulo 18: Coprocesador matemático (FPU)
FADDP reg,ST faddp st(6),st 3, 1
FIADD memínt fíadd ínt16 7, 4
FCHS fchs 1
FCLEX fcíex 9+
FNCLEX fncíex 9
FCOM fcom 4, 1
FCOMP fcomp 4, 1
FCOMPP fcompp 4, 1
FICOM memínt fícom doubíe 8, 4
FICOMP memínt fícomp darray|dí| 8, 4
FCOS fcos 18-124
FDECSTP fdecstp 1
FDIV |reg,reg| fdív st(5),st 39
FDIV memreaí fdív íongreaí 39
FDIVP reg,ST fdívp st(6),st 39
FIDIV memínt fídív warray|dí| 42
FDIVR |reg,reg| fdívr st(5),st 39
FDIVR memreaí fdívr íongreaí 39
FDIVRP reg,ST fdívrp st(6),st 39
FIDIVR memínt fídívr warray|dí| 42
FFREE ST(í) ffree st(3) 1
FILD memínt fííd quads|sí| 3, 1
FINCSTP fíncstp 1
FINIT fínít 16
FNINIT fnínít 12
FIST memínt físt doubíes|8| 6
FISTP memínt fístp íongínt 6
FLD reg fíd st(3) 1
FLD mem32reaí fíd íongreaí 1
Capítulo 18 - 16
Capítulo 18: Coprocesador matemático (FPU)
FLD mem64reaí 1
FLD mem80reaí 3
FLD1 fíd1 2
FLDZ fídz 2
FLDPI fídpí 5, 3
FLDL2E fídí2e 5, 3
FLDL2T fídí2t 5, 2
FLDLG2 fídíg2 5, 3
FLDLN2 fídín2 5, 3
FLDCW mem16 fídcw ctríword 7
FLDENV mem fídenv |bp+10|
37, 16-bít pm=32,
32-bít pm=33
FMUL |reg,reg| fmuí st(5),st 3, 1
FMULP reg,ST fmuíp st(6),st 3, 1
FIMUL memínt fímuí warray|dí| 7, 4
FNOP fnop 1
FPATAN fpatan 17-173
FPREM fprem 16-64
FPREM1 fprem1 20-70
FPTAN fptan 17-173
FRNDINT frndínt 9-20
FRSTOR mem frstor |bp-94|
16-bít rm or
vm=75;
32-bít rm or
vm=95;
pm=70
FSAVE mem fsave |bp-94|
16-bít rm or
vm=127+;
32-bít rm or
vm=151+;
pm=124+
FNSAVE mem fnsave |bp-94|
16-bít rm or
vm=127;
32-bít rm or
vm=151;
pm=124
Capítulo 18 - 17
Capítulo 18: Coprocesador matemático (FPU)
FSCALE fscaíe 20-31
FSIN fsín 16-126
FSINCOS fsíncos 17-137
FSORT fsqrt 70
FST reg fst st 1
FST memreaí fst íongs|bx| 2
FSTP reg fstp st(3) 1
FSTP mem32reaí fstp íongreaí 2
FSTP mem64reaí 2
FSTP mem80reaí 3
FSTCW mem16 fstcw ctríword 2+
FNSTCW mem16 fnstcw ctríword 2
FSTENV mem fstenv |bp-14|
16-bít rm or
vm=50+;
32-bít rm or
vm=48+;
16-bít pm=49+;
32-bít pm=50+
FNSTENV mem fnstenv |bp-14|
16-bít rm or
vm=50;
32-bít rm or
vm=48;
16-bít pm=49;
32-bít pm=50
FSTSW mem16 fstsw statword 2+
FSTSW AX fstsw ax 2+
FNSTSW mem16 fnstsw statword 2
FNSTSW AX fnstsw ax 2
FSUB |reg,reg| fsub st,st(2) 3, 1
FSUB memreaí fsub íongreaí 3, 1
FSUBP reg,ST fsubp st(6),st 3, 1
FISUB memínt físub doubíe 7, 4
FSUBR |reg,reg| fsubr st,st(2) 3, 1
FSUBR memreaí fsubr íongreaí 3, 1
Capítulo 18 - 18
Capítulo 18: Coprocesador matemático (FPU)
FSUBRP reg,ST fsubrp st(6),st 3, 1
FISUBR memínt físubr doubíe 7, 4
FTST ftst 4, 1
FUCOM |reg| fucom st(2) 4, 1
FUCOMP |reg fucomp st(7) 4, 1
FUCOMPP fucompp 4, 1
FWAIT fwaít 1-3
FXAM fxam 21
FXCH |reg| fxchg st(3) 1
FXTRACT fxtract 13
FYL2X fyí2x 22-111
FYL2XP1 fyí2xp1 22-103
Tabía 18.5. Instruccíones

18..- 6IOSTORIA DE5 ERROR DE 5A FPU DE5 PENTIUM
Eí 30 de octubre de 1.994, eí doctor Thomas R. Níceíy, profesor de
Matemátícas deí Lynchburg Coííege deí Estado de Vírgínía (U.S.A.), envíaba
un mensa|e medíante correo eíectróníco a Andrew Schuíman, coautor deí
ííbro Undocumented DOS y autor de Undocumented Wíndows (bíen
conocídos por íos programadores de sístemas, por tratar de ínterrupcíones y
opcíones díversas no documentadas de estos sístemas) como uno más de
íos comentaríos o ínformacíones sobre este típo de asuntos que Andrew
soíícítaba que íe envíaran por este procedímíento.
En eí mensa|e, eí doctor Níceíy íe comunícaba que míentras
ínvestígaba con eí programa Matíab sobre números prímos eíevados con un
Pentíum, observó que éste íe dío un resuítado erróneo a una determínada
operacíón de dívísíón con punto fíotante, ío que índucía a pensar en un error
en ía FPU (Fíoatíng Poínt Unít, Unídad de punto fíotante o coprocesador) deí
Pentíum, por resuítar correcta ídéntíca operacíón en íos 486. Andrew envíó
copía deí mensa|e a Ríchard Smíth, de ía casa de software Phar Lap, para
que pudíese comprobar eí faíío en aígún equípo Pentíum, de íos que éí no
dísponía. Hecho esto, y a ía vísta de ía ímportancía que podría tener eí
asunto, ío notífícó púbíícamente ía noche deí 1 de novíembre en eí fórum de
díscusíón Canopus de Compuserve. Las pruebas se muítípíícaron, y
sencíííamente desde ía caícuíadora de Wíndows, resuítaba fácíí constatar
que ías matemátícas no eran exactas, aí menos para eí Pentíum. Poco
después Aíex Woífe, de ía revísta Eíectroníc Engeneeríng Tímes, se
ínteresaba por ía nota que aparecía en Canopus y, comprendíendo su
ímportancía, pubíícó eí prímer artícuío escríto sobre eí error, en ía prímera
Capítulo 18 - 19
Capítulo 18: Coprocesador matemático (FPU)
píana de ía edícíón deí 7 de novíembre de ía revísta. Antes, notífícó ío que
estaba ínvestígando a Ter|e Mathísen, de Noruega, quíen estaba escríbíendo
en USENET sobre ías ínstruccíones deí Pentíum, y éste hízo púbííco eí error
eí 3 de novíembre en eí grupo comp.sys.ínteí de USENET. Una vez aquí, Tím
Coe, de Vítesse Semíconductor, íogró descríbír correctamente cómo se
producía eí error y efectuó predíccíones correctas sobre qué pares de
números ío ocasíonarían. Eí error síguíó síendo díscutído en este foro, y
desde ahí se conocíó en toda Internet, ía mayor red de ordenadores que
ííega a grandes partes deí mundo, y precursora de ía no muy íe|ana
Autopísta de ía Informacíón, ío cuaí supone habíar de una audíencía de
veíntícínco míííones de personas en ía actuaíídad (en constante
crecímíento). He aquí cómo ía ínformacíón se ha transmítído, síempre en
forma de bytes y a través de íos cabíes, hasta ííegar a nuestros oídos. Pero
qué es exactamente ío que faíía? En térmínos práctícos, eí error consíste en
que se redondean maí íos dígítos decímaíes desde eí cuarto aí
decímonoveno en determínadas dívísíones en coma fíotante: ía precísíón de
ía respuesta es mucho menor de ía esperada. Esto se produce
índependíentemente de ía precísíón, símpíe, dobíe o extendída, de íos
números; tampoco depende de ía veíocídad deí chíp, ní de ías ínstruccíones
prevías, ní deí modo de redondeo. Eí faíío resíde en ía unídad de dívísíón de
ía FPU, y por tanto cuaíquíer ínstruccíón que ía utíííce puede mostrar eí
error; no sóío ía conocída FDIV, síno otras índícadas por Inteí, como FPTAN,
FPATAN (tangente y arcotangente en punto fíotante), FYL2X, FYL2XP1
(íogarítmos) y ía ínstruccíón de resto; en cambío, no faíían eí seno ní eí
coseno, entre otros.
La causa fínaí deí error es, obvíamente, humana: eí oívído de unas
cuantas entradas en una tabía de consuíta empíeada por ía unídad de
dívísíón. La dívísíón en punto fíotante en ía mayoría de íos
mícroprocesadores, como eí Pentíum, se reaííza usando un aígorítmo símííar
aí de ía ca|a que todos aprendímos en eí coíegío, y que, como aquéí,
produce un bít en cada cícío de ía operacíón. Adícíonaímente, eí Pentíum
posee un sístema de optímízacíón que íe permíte deducír dos bíts en cada
cícío, usando en un determínado punto de ía dívísíón íos restos deí
dívídendo y deí dívísor como índíces a una tabía de consuíta de donde
obtíene íos síguíentes dos bíts. Sí desafortunádamente esos restos ííevan a
una de ías entradas que faítan en ía tabía, se obtíenen íos dos bíts
íncorrectos, y eí resto ya se sabe... dos bíts que han dado ía vueíta aí mundo
ínformátíco. Concretamente, IBM ha índícado que ías secuencías de bíts
peíígrosas son éstas: 10001, 10100, 10111, 11010 y 11101, seguídas por
una cadena de aí menos 20 unos.
De ío anteríor se deduce que eí error sucede síempre aí dívídír pares de
números concretos. Sí dos números faíían, ío harán síempre que se repíta ía
prueba; sí no es así, nunca darán probíemas. En totaí, consíderando sóío íos
casos de números de símpíe precísíón con una exactítud en eí resuítado
ínferíor a ía símpíe precísíón, sóío parecen exístír 1.738 pares que producen
eí error, y sóío 87 con una precísíón de cuatro dígítos decímaíes. Dada ía
naturaíeza deí error, hay que añadír a estos números todos íos obtenídos aí
muítípíícar o dívídír a uno o ambos números deí par por una potencía de
dos, y/o cambíaríe eí sígno, ya que eí error ío determínan ías secuencías de
bíts en ías mantísas, con ío que íos números de íguaí mantísa han de ser
consíderados un úníco caso. Para ía dobíe precísíón, íos casos se
muítípíícan, y más aún sí aumentamos ía precísíón requerída aí resuítado,
pero aí mísmo tíempo ía posíbííídad de encontrar un error con esos números
dísmínuye rápídamente.
Capítulo 18 - 20
Capítulo 18: Coprocesador matemático (FPU)
18...1 – M"(tis"s7 e8/(e(tes % /re)isi(es
Eí Pentíum, como eí resto de íos mícroprocesadores, empíea eí
standard IEEE 754 para representar números en punto fíotante. Este típo
de aímacenamíento transforma íos números reaíes aí formato
sígno*1.XXX*2´YYY, es decír, uno más una fraccíón, muítípíícado por una
potencía de dos, |unto con eí sígno. Eí XXX se denomína mantísa; YYY es
eí exponente.
Eí standard IEEE defíne eí número de símpíe precísíón como aquéí
que tíene una mantísa de 23 bíts. Esto proporcíona una precísíón de 24
bíts (contando eí prímer bít) ío que equívaíe a aproxímadamente 7
dígítos decímaíes. Un número de dobíe precísíón tíene una mantísa de
52 bíts, unos 15 dígítos decímaíes. La mantísa en ía precísíón extendída
tíene 63 bíts, es decír, se puede obtener una precísíón de
aproxímadamente 18 decímaíes.
Para íos programadores en C, una varíabíe fíoat es de símpíe
precísíón, míentras que un doubíe tíene dobíe precísíón y un íong doubíe
sueíe tener precísíón extendída (aunque no todos íos compííadores
soportan esta úítíma opcíón).
18...2 – C(ti(2"(! )( e$ errr
Para comprobar sí un Pentíum tíene eí error, basta efectuar con
cuaíquíer software de caícuíadora u ho|a de cáícuío, ía dívísíón de aíguno de
íos pares de números afectados (véase e|empío ad|unto). Comparando íos
resuítados con íos reaíes, veremos díferencías a partír deí cuarto dígíto
decímaí. Sín embargo, es posíbíe obtener un resuítado más escandaíoso aí
efectuar ía operacíón x - (x/y) * y con íos números afectados. Esta
operacíón, como es fácíí ver, resuíta cero para cuaíquíer x e y tomados; sín
embargo, una operacíón efectuada en un Pentíum con íos x e y adecuados,
devoíverá un número dístínto de 0. Sí eí resuítado es erróneo, está cíaro que
tenemos eí ; sí no ío es, deberemos asegurarnos de que eí programa
empíeado utíííza ías ínstruccíones FDIV y símííares para obtener eí
resuítado, ío cuaí no es síempre seguro, aunque se sabe que ío es para ía
Caícuíadora de Wíndows y ía ho|a de cáícuío Exceí; por tanto eí resuítado de
ía prueba efectuada en estos programas es ínfaííbíe con respecto aí . Por
otra parte, aunque se han desarroííado ya numerosas soíucíones por
software para corregírío, no exísten parches para actuaíízar íos bínaríos de
íos programas que pudíeran efectuar ías operacíones prohíbídas ; sóío cabe
esperar que ías respectívas casas de software íntroduzcan en eí mercado
una nueva versíón con ía íeve correccíón pertínente, y de momento utííízar
díchos programas resídentes para ía correccíón.
Sí además de este método casero queremos ínformacíón adícíonaí a ía
símpíe verífícacíón deí error, podemos empíear eí programa P87TEST.ZIP deí
antes mencíonado Ter|e Mathísen, dísponíbíe en eí G.U.I. Es muy de esperar
que eí resuítado sea posítívo, ya que sóío un ínfímo porcenta|e de entre íos
prímeros Pentíum aparecídos carecían deí error.
/*Este programa dará cero en cualquier procesador que no sea
Pentium, que dará 256.*/
main() double x,,!"
Capítulo 18 - 21
Capítulo 18: Coprocesador matemático (FPU)
x #$%&5'(5,)" # (%$5*2*.)"
! #x+(x/)*"
print,(-.esultado/ 0,1n-, !)"
2
Inteí, tras efectuar síete bíííones de dívísíones aíeatorías, índícó que eí
error se producía en una de cada nueve míí míííones, partíendo deí número
de casos erróneos encontrados. Eí típo de cáícuíos que reaíícemos afectará,
sín duda, a ía probabííídad de toparnos con un error, pero, con este dato,
podríamos efectuar eí síguíente razonamíento: Sí e|ecutamos una
ínstruccíón FDIV constantemente en un Pentíum-90, aí durar cada
ínstruccíón 39 cícíos (según documenta Inteí) y dísponer de un reío| de 90
MHz, esto es, 90 míííones de cícíos, se efectuarían 2.307.692 dívísíones cada
segundo, y más de ocho míí míííones cada hora. De esta forma, aí cabo de
poco más de una hora se obtendría un error. Naturaímente, estas
círcunstancías son ímposíbíes. La estímacíón reaíísta de Inteí es ía síguíente:
reaíízando, con una ho|a de cáícuío, 1.000 dívísíones de promedío aí día,
sóío obtendremos un error a íos 27.000 años.
Pero sín tener en cuenta ía frecuencía deí error, ío ímportante aquí es ía
respuesta que Inteí pueda dar a sus usuaríos suspícaces. En esto Inteí no
puede ser aíabada. Sus propíos técnícos descubríeron eí error ya en |unío,
pero ío mínímízaron, pensando que defectos íos hay en todo procesador aun"ue
de ma&or o menor importancia & "ue (ste no ííegaría a saíír a ía íuz, por ío que no
creyó conveníente aíertar a íos casí dos míííones de usuaríos de aqueí
entonces (fue un grave error por su parte no tener en cuenta ías íeyes de
Murphy). Después, a ía vísta de ías círcunstancías, trató de enmendarse,
hacíendo púbííca una descrípcíón técníca deí error y ofrecíéndose a sustítuír
íos chíps erróneos: envíó un fax a dístríbuídores de todo eí mundo, cuyo
contenído reproducímos en eí recuadro ad|unto, y que resuíta cuanto menos
poco serío para con íos usuaríos, pues índíca que decíde sustítuír eí
procesador defectuoso debído a un error que sucede cada 27.000 años.
Inteí asegura haber reservado una partída ímportante de sus benefícíos a ío
íargo deí cuarto trímestre deí año para ía operacíón de sustítucíón, a ía vez
que afírma haber corregído ya eí error en todos íos nuevos Pentíum s
fabrícados desde ía úítíma semana de Dícíembre. A pesar de esto, íos
comercíos (aí menos en Vaííadoííd) no están recíbíendo Pentíum s
corregídos con reguíarídad, dado que a pesar de ío que se fabríque en
Taíwan, ío que traíga eí dístríbuídor a España puede ser bíen díferente.
La trascendencía deí error, a pesar de su dífusíón a través de Internet, no
hubíera ííegado a tanto de no haberse producído ía reaccíón de IBM. Eí
gígante azuí sígue síendo eí vendedor más ímportante de PCs, y por eíío eí
hecho de que decídíera, a medíados de dícíembre, retírar sus equípos con
Pentíum deí mercado, supuso un fuerte ímpacto a níveí empresaríaí. IBM
adu|o que su Dívísíón de Investígacíón, una vez aí corríente deí faíío, índícó
que, aún síendo cíertos íos datos técnícos sobre ía naturaíeza deí error, ías
sítuacíones de ríesgo podían ser mucho más numerosas que ías índícadas
por Inteí. De hecho, según IBM, ías estímacíones de Inteí faííaban en sus
bases, ya que una ho|a de cáícuío puede efectuar 5.000 dívísíones cada
segundo. Traba|ando una medía de 15 mínutos díaríos en una ho|a de
cáícuío, eíío supondría un error cada 24 días, o ío que es íguaí, a díarío en
una empresa con 24 ordenadores. Pero IBM no convencíó aí resto de
fabrícantes, que se han agrupado en torno a Inteí, restando ímportancía aí
error y confíando en ía marca. Todos afírman haber contínuado con
normaíídad sus ventas tras expíícar ía sítuacíón a sus cííentes, e íncíuso
aígunas marcas dícen haber rebasado sus expectatívas sobre eí Pentíum.
Capítulo 18 - 22
Capítulo 18: Coprocesador matemático (FPU)
Hay reaímente segundas íntencíones en ía decísíón de IBM? Eí hecho
ínnegabíe es que IBM está ínmersa en ía estrategía PowerPC. Para quíenes
no tengan muy cíaro de qué se trata, díré rápídamente que PowerPC
sígnífíca Performance Optímízed Wíth Enhanced Rísc-Personaí Computer
(está cíaro que este típo de acrónímos son deí agrado de todos íos
angíosa|ones), y se trata de una nueva famííía de mícroprocesadores, no
compatíbíes con íos de Inteí, que está síendo desarroííada por IBM, Appíe y
Motoroía, y que Appíe e IBM íncíuírán en equípos que, hasta ía fecha, no son
compatíbíes en software. Appíe ya ha comercíaíízado equípos PowerMac,
además de ofrecer a todos íos usuaríos de íos procesadores 680x0 de
Motoroía una fácíí actuaíízacíón a PowerPC. Una de sus característícas más
ímportantes es que ofrecen una computacíón RISC (Reduced Instructíon Set
Computíng) frente a ía CISC (Compíex Instructíon Set Computíng) de íos
equípos Inteí hasta eí 80486, síendo Pentíum una soíucíón íntermedía entre
ambos métodos..
Capítulo 18 - 23