José Alejandro Piñeiro Riobó Cómputo de la función potencia (X p) mediante tablas, usando una aproximación de Taylor de 2º orden
ALGORITMOS BASADOS EN TABLAS APROXIMACIÓN DE SEGUNDO ORDEN INTRODUCCIÓN ALGORITMOS BASADOS EN TABLAS APROXIMACIÓN DE SEGUNDO ORDEN Algoritmo Arquitectura Serie Básica Arquitectura Serie Cómputo de Dos Funciones Arquitecturas Segmentadas Comparación con algunas unidades especializadas CONCLUSIONES INTRODUCCIÓN ALGORITMOS BASADOS EN TABLAS APROXIMACIÓN DE SEGUNDO ORDEN Algoritmo Arquitectura Serie Básica Arquitectura Serie Cómputo de Dos Funciones Arquitecturas Segmentadas Comparación con algunas unidades especializadas CONCLUSIONES
INTRODUCCIÓN Línea de investigación: desarrollo de algoritmos eficientes para el cómputo de la función potencia (Xp) Utilidad en computación gráfica y en DSP Marco común para el cómputo de otras funciones: recíproco (X-1) (ñ división), raíz cuadrada (X1/2), raíz cuadrada inversa (X-1/2), inverso del cuadrado (X-2), ... Formato de punto flotante en simple precisión, cómputo únicamente del significando Utilización de algoritmos basados en tablas con aproximación polinómica Línea de investigación: desarrollo de algoritmos eficientes para el cómputo de la función potencia (Xp) Utilidad en computación gráfica y en DSP Marco común para el cómputo de otras funciones: recíproco (X-1) (ñ división), raíz cuadrada (X1/2), raíz cuadrada inversa (X-1/2), inverso del cuadrado (X-2), ... Formato de punto flotante en simple precisión, cómputo únicamente del significando Utilización de algoritmos basados en tablas con aproximación polinómica
ALGORITMOS BASADOS EN TABLAS X p ~ C’X’ C’=f’(X1); X’=g(X) p restringido a ±2k, o ±2k1 ±2-k2 X p ~ C1X2 + C0 C1=f1(X1); C0=f0(X1)
ALGORITMOS BASADOS EN TABLAS X -1 ~ C1 - C2 x f C1=f1(Xh); C2=f2(Xh) Multiplicador-acumulador C2 en borrow-save
ALGORITMOS BASADOS EN TABLAS SBTM reduce el área de a1 Sustitución de recoder por adder X -1 ~ a0 + a1 a0=a0(Xh,Xm); a1=a1(Xh,Xl)
Algoritmo X p ~ C2X22 + C1X2 + C0 e aprox~ 2-3m X1 = [1.x1x2 ... x2m/3] X2 = [.x2m/3+1 ... xn] x 2-2m/3
Algoritmo X p ~ C2X22 + C1X2 + C0 X1 = [1.x1x2 ... x2m/3] Propiedades de simetría Truncamiento Ceros iniciales squaring: 2 niveles CSA X p ~ C2X22 + C1X2 + C0 X1 = [1.x1x2 ... x2m/3] X2 = [.x2m/3+1 ... xn] x 2-2m/3
Multiplicador Unificado Algoritmo Multiplicador Unificado En adelante, 2m/3 = 8 (p.ej. X 1/2, X -1/2) 15 pp’s (ceros iniciales) Retardo y área aprox. multiplicador standard 2m x 2m
Arquitectura Serie Básica Table size: 13K bits (vs. 50K) 2m/3 = 8 (raíz cuadrada inversa, X-1/2)
Arquitectura Serie Básica Síntesis pre-layout, con flujo de diseño basado en VHDL, realizada con Synopsys Design Analyzer Tecnologías de 0.7 mm y 0.35 mm Síntesis pre-layout, con flujo de diseño basado en VHDL, realizada con Synopsys Design Analyzer Tecnologías de 0.7 mm y 0.35 mm
Arquitectura Serie (Dos Funciones)
Arquitectura Serie (Dos Funciones)
Arquitecturas Segmentadas Relativamente sencilla extensión a 2 func.
Arquitecturas Segmentadas
Comparativa Empleo de una semilla, más una iteración NR modificada Cycle 1: r ~ 1/x (SBTM) Cycle 2: v = 1 - xr Cycle 3: y = r + rv Cycle 1: C’ obtention Cycle 2: r ~ C’ x’ ~ 1/X1/2 Cycle 3: w = r2 Cycle 4: d = 1 - wx Cycle 5: y = r + rd/2 Empleo de una semilla, más una iteración NR modificada
CONCLUSIONES Nuevo método para el cómputo de Xp en formato de punto flotante para simple precisión Aproximación de Taylor de segundo orden, usando tablas reducidas, unidad especializada para X22 y multiplicador unificado (~ mult. standard 2m x 2m) Arquitecturas de tipo serie y segmentado Síntesis pre-layout obtenida empleando herramientas CAD, para tecnologías de 0.35 mm y 0.7 mm Resultados: reducción del área al 50%, sin pérdida de velocidad de procesamiento Nuevo método para el cómputo de Xp en formato de punto flotante para simple precisión Aproximación de Taylor de segundo orden, usando tablas reducidas, unidad especializada para X22 y multiplicador unificado (~ mult. standard 2m x 2m) Arquitecturas de tipo serie y segmentado Síntesis pre-layout obtenida empleando herramientas CAD, para tecnologías de 0.35 mm y 0.7 mm Resultados: reducción del área al 50%, sin pérdida de velocidad de procesamiento
CONCLUSIONES Comparación estructural con unidades específicas para el cálculo de 1/X y X-1/2, con resultados satisfactorios relativos a área y retardo Líneas de investigación abiertas: Estudio de técnicas de redondeo Extensión a doble precisión: empleo de nuestro método como generador de una semilla, y realización de una iteración posterior (Newton-Raphson, Goldschmidt, ...) Comparación estructural con unidades específicas para el cálculo de 1/X y X-1/2, con resultados satisfactorios relativos a área y retardo Líneas de investigación abiertas: Estudio de técnicas de redondeo Extensión a doble precisión: empleo de nuestro método como generador de una semilla, y realización de una iteración posterior (Newton-Raphson, Goldschmidt, ...)