Aritmética de alto rendimiento

Anuncio
Tema 1.5 - Aritmética de punto flotante
**Material basado en las notas del Prof. Oscar Alvarado Nava
Eduardo Rodrı́guez Martı́nez
Departamento de Electrónica
División de Ciencias Básicas e Ingenierı́a
Universidad Autónoma Metropolitana
Unidad Azcapotzalco
Email: [email protected]
Oficina: H-285
Sitio Web: http://kali.azc.uam.mx/erm/
1121060 Arquitectura de Computadoras
page 1
Tema 1.5 - Aritmética de alto rendimiento
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
1. Sumador con predicción de acarreos (Look-Ahead Adder)
2. Algoritmo de Booth
1121060 Arquitectura de Computadoras
page 2
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
El diagrama del sumador en rizo o sumador con acarreo en
cascada es el siguiente
de donde podemos inferir la funcion para el acarreo de salida de
la i-ésima etapa como
ci+1 = xi yi + xi ci + yi ci
Tema 1 Introducción
page 3
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
Si factorizamos el acarreo ci de la expresión anterior tenemos
⊲
ci+1 = xi yi + (xi + yi )ci
= gi + pi ci
El término gi = xi yi se le conoce como de generación, ya que
independientemente del valor del acarreo de entrada ci ,
generara un acarreo de salida ci+1 cuando ambas xi y yi sean
igual a uno.
El término pi = xi + yi se le conoce como de propagación, ya
que propaga el acarreo de entrada ci cuando cualquiera de
las entradas xi o yi sea igual a uno.
Tema 1 Introducción
page 4
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
Expandiendo la expresión anterior en terminos de la etapa i − 1
tenemos
ci+1 = gi + pi (gi−1 + pi−1 ci−1 )
= gi + pi gi−1 + pi pi−1 ci−1
y expandiendo hasta la etapa 0
ci+1 = gi + pi gi−1 + pi pi−1 gi−2 + . . . + pi pi−1 . . . p2 p2 g0
+pi pi−1 . . . p1 p0 c0
La ultima expresión representa un circuito de dos niveles
implementado con compuertas AND y OR. Un sumador
implementado de esta manera se conoce como sumador con
predicción de acarreos o sumador con acarreo anticipado.
Tema 1 Introducción
page 5
Sumador con predicción de acarreos.
Sumador en rizo
ci+ 1 = gi + pi ci
Retardo crı́tico de
2n + 1 retardos de
compuerta
Tema 1 Introducción
page 6
Sumador con predicción de acarreos.
Sumador con
predicción de acarreos
Retardo crı́tico de 4
retardos de compuerta
Su complejidad
aumenta al incrementar
el numero de bits
Tema 1 Introducción
page 7
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
Existen dos alternativas para reducir la complejidad del sumador
con predicción de acarreos.
Dividir el diseño en partes mas pequeñas y usar sumadores
con predicción de acarreos conectados en rizo
Tema 1 Introducción
page 8
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
Usar un segundo nivel de predicción de acarreos
⊲
Tema 1 Introducción
page 9
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
Señales de generación Gj y propagación Pj .
Analizando c8 tenemos
c8 = g7 + p7 g6 + p7 p6 g5 + p7 p6 p5 g4 + p7 p6 p5 p4 g3
+p7 p6 p5 p4 p3 g2 + p7 p6 p5 p4 p3 p2 g1 + p7 p6 p5 p4 p3 p2 p1 g0
+p7 p6 p5 p4 p3 p2 p1 p0 c0
El último término en la expresión anterior define la
propagación del acarreo de entrada c0
P0 = p7 p6 p5 p4 p3 p2 p1 p0
El resto de los términos definen la señal de generación
G0 = g7 + p7 g6 + p7 p6 g5 + . . . + p7 p6 p5 p4 p3 p2 p1 g0
Por lo que la expresión para el acarreo es
c 8 = G0 + P 0 c 0
Tema 1 Introducción
page 10
Sumador con predicción de acarreos.
Tema 1.6
Contenido
LAA
Algoritmo de Booth
⊲
Expandiendo para las demas señales
Gj
= g8j+7 + p8j+7 g8j+6 + p8j+7 p8j+6 g8j+5 + . . .
+p8j+7 p8j+6 . . . p8j+2 p8j+1 g8j
Pj
= p8j+7 p8j+6 p8j+5 . . . p8j
c8(j+1) = Gj + Pj c8j
Tema 1 Introducción
page 11
Algoritmo de Booth
Tema 1.6
Contenido
LAA
Algoritmo de
Booth
⊲
Realiza un análisis inicial del multiplicador para detectar las
transiciones entre secuencias de unos o ceros
Los lı́mites de las secuencias indican si se realiza una suma o
una resta del multiplicando, multiplicado por el peso del bit
Analizando el multiplicador de derecha a izquierda, si se
detecta una transición
•
•
0 → 1, implica una resta
1 → 0, implica una suma
Considere un cero en la extrema derecha para poder tener
una transición en caso de que el dı́gito menos significativo
sea un uno
Tema 1 Introducción
page 12
Algoritmo de Booth: Ejemplo
Tema 1.6
Contenido
LAA
Algoritmo de
Booth
⊲
0
0
0
1
0
+1
+24
0
1
0
1
1
0
0
1
–1
–21
111111010110
000101010000
000100100110
Tema 1 Introducción
1
0
0
(21)10
(14)10
(21 × −21 )10
(21 × +24 )10
(294)10
Multiplicando
Multiplicador
Codificación
Valores
Producto
page 13
Algoritmo de Booth: Peor caso
Tema 1.6
Contenido
LAA
Algoritmo de
Booth
⊲
0
0
+1
+25
0
1
–1
–24
1
0
+1
+23
1
1
–1
–22
111111110010
000000011100
111111001000
000000111000
111100100000
000011100000
000100100110
Tema 1 Introducción
1
0
+1
+21
0
1
–1
–20
(14)10
(21)10
(14 × −20 )10
(14 × +21 )10
(14 × −22 )10
(14 × +23 )10
(14 × −24 )10
(14 × +25 )10
(294)10
Multiplicando
Multiplicador
Codificación
Valores
Producto
page 14
Algoritmo de Booth mejorado
Tema 1.6
Contenido
LAA
Algoritmo de
Booth
⊲
Los bits del multiplicador codificado se recodifican por pares
Asegura que el producto se encuentre con a lo mas n/2
sumas
i+1
0
0
0
+1
+1
–1
–1
Tema 1 Introducción
i
0
+1
–1
0
-1
0
+1
codificación
0
+1
–1
+2
+1
–2
–1
page 15
Algoritmo de Booth: Recodificación
Tema 1.6
Contenido
LAA
Algoritmo de
Booth
⊲
0
0
+1
0
1
–1
+1
z }| {
+25 − 24
1
0
+1
1
1
–1
+1
z }| {
+23 − 22
000000001110
000000111000
000011100000
000100100110
Tema 1 Introducción
1
0
+1
0
1
–1
+1
z }| {
+21 − 20
(14)10
(21)10
(14 × +21 )10
(14 × +22 )10
(14 × +24 )10
(294)10
Multiplicando
Multiplicador
Codificación
Producto
page 16
Descargar