Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESTRUCTURA Y TECNOLOGÍA DE
COMPUTADORES
Programa
Bibliografía.
1. Introducción.
2. Suma y resta en coma flotante.
3. Producto y división en coma flotante.
4. Instrucciones para coma flotante en ensamblador.
2
Circuitos para coma flotante
Bibliografía
 D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores.
Reverté, 2000.
ÂJ.L. HENNESSY, D.A. PATTERSON. Computer Architecture. Morgan
Kauffman, 2003.
 DORMIDO, S. CANTO M.A., MIRA J., DELGADO A.E. Estructura y Tecnología
de Computadores. 2ª edición. Sanz y Torres, 2000.
 PARHAMI, B. Computer Arithmetic. Oxford University Press, 2000.
 P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. Paraninfo,
1999.
 W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición,
Prentice Hall, 2000.
1. Introducción
 Los computadores utilizan dos representaciones claramente diferenciadas para
cantidades numéricas:
•Coma fija: para números enteros sin signo o complemento a 2.
•Coma flotante (floating point, FP): para números muy grandes o muy pequeños
o con parte fraccionaria.
 En 1977 se formó un comité de expertos del IEEE cuyo objetivo era definir un
documento estándar para los futuros desarrollos que utilizaran coma flotante.
•Finalmente en 1985 el comité hizo oficial el estándar IEEE 754.
 En 1987 otro comité de expertos del IEEE propuso un estándar para coma
flotante independiente de la base de numeración utilizada: el IEEE 854.
•Este estándar no implica ninguna modificación del IEEE 754.
4
Circuitos para coma flotante
Introducción
 La coma flotante permite representar los números reales en forma aproximada.
•Es preciso aplicar cuidadosamente técnicas de redondeo.
•En los programas no se debe testear la igualdad de dos números en coma flotante.
mantisa. No
Infinito positivo
¿Exponente menor Sí o negativo
que el mínimo?
No
Representar número en
Redondear la forma desnormalizada
mantisa resultante
No ¿Todavía está
normalizada?
Sí
Fin
7
 La UAL pequeña
Big ALU
Add simplemente resta los
exponentes para
0 1 0 1 calcular la longitud del
Increment or
Normalize
desplazamiento que
decrement Shift left or right
hay que aplicar a la
mantisa del número con
Round
Rounding hardware
menor módulo.
 La UAL pequeña admitiría operandos de n+1 bits (n: ancho del exponente).
exp ⎬
⇒ R = A ⋅ B = (m a ⋅ mb ) ⋅ 2 exp a + expB
B = mb ⋅ 2 b
⎭
 Lo primero es desempaquetar los operandos (dividirlos en campos).
B = mb ⋅ 2 b
⎭ B ⎝ mb ⎠
 Lo primero es desempaquetar los operandos (dividirlos en campos).
11
Multiplicar/dividir las
 Habitualmente se trabaja con mantisas
mantisas normalizadas, para lo
cual es necesario: Normalizar la mantisa
resultante
•Normalizar los operandos que
estén desnormalizados. ¿Exponente mayor Sí
•Contar con un bit más para que el máximo?
mantisa. Fin
12
Circuitos para coma flotante
 Por tanto, puede ser conveniente normalizar previamente las mantisas fuente
que estén desnormalizadas:
•A la hora de operar, se añadiría un bit a la representación interna del
exponente.
13
MC68000
 El MC68000 no tiene circuitería para coma flotante.
 M68881: coprocesador externo de coma flotante para IEEE 754 de precisión
simple y doble.
•Tiene un formato interno extendido de 80 bits.
 Las instrucciones de coma flotante comienzan por el código 1111.
•Producen una excepción de emulación.
14