Este sitio se ve mejor con un navegador que soporte web estándares, aunque es accesible desde cualquier navegador de internet.


Microelectrónica







¿Logaritmos, el nuevo punto flotante?



Una Unidad de Punto Flotante (Floating Point Unit en inglés) es un componente de la CPU especializado en el cálculo de operaciones en coma flotante. Las operaciones básicas que toda FPU puede realizar son las aritméticas (suma y multiplicación), si bien algunos sistemas más complejos son capaces también de realizar cálculos trigonométricos y/o exponenciales.

No todas las CPUs tienen una FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas en microcódigo para emular una función en coma flotante a través de la unidad aritmético-lógica (ALU), la cual reduce el coste del hardware a cambio de una sensible pérdida de velocidad.

En algunas arquitecturas, las operaciones en coma flotante se tratan de forma completamente distinta a las operaciones enteras, con registros dedicados y tiempo de ciclo diferentes. Incluso para operaciones complejas, como la división, podrían tener un circuito dedicado a dicha operación.

Hasta mediados de la década de los 90 del siglo pasado, era común que las CPU no incorporasen una FPU en los ordenadores domésticos, sino que eran un elemento opcional conocido como coprocesador. Ejemplos podrían ser las FPUs 387 y 487 que se utilizaban en las CPUs 386 y 486SX (el modelo 486DX ya incluía el coprocesador de serie) en máquinas Pentium, o la FPU 68881 utilizada en las CPUs 680x0 en ordenadores Macintosh. Sin embargo, a partir de dichas CPUs, la FPU se convirtió en un elemento común presente en la mayoría de procesadores domésticos (series Pentium y PowerPC en adelante.

Northerm Digital

De una empresa originada a partir de una universidad del norte de Inglaterra (Newcastle Upon Tyne), ha surgido el que se ha propuesto como primer microprocesador que opera directamente sobre números bajo representación logarítmica. El dispositivo se dirige hacia aplicaciones que impliquen cálculos intensivos y podría reemplazar a los procesadores actuales de punto flotante y coprocesadores. Sus diseñadores afirman que ofrece elevadas prestaciones en algoritmos que usen intensamente las matemáticas.

Cuando los números se representan como logaritmos, la multiplicación o división de dos números se realiza mediante adición o sustracción, respectivamente.

Ofrece la simplificación de la multiplicaciones que tienen lugar en el núcleo de muchos DSP (procesador digital de señales) y también en algoritmos de procesadores gráficos. Sin embargo, mientras que los procesos de multiplicación y división son simples la adición y sustracción son más complejos. Según la empresa al Northerm Digital, aunque el concepto de un procesador logarítmico ya se había considerado, nunca se había estado tan cerca de su implementación. Diseñando una arquitectura de computación que solventa los problemas y realiza sumas y restas con algoritmos, de forma eficiente, la nueva empresa ha podido demostrar mejoras en las prestaciones aritméticas.

Menos ciclos de máquina

Los números de punto flotante se representan habitualmente como un exponente de 8 bit y mantisa de 23 bit. Usando el mismo espacio de registro, la representación equivalente logarítmica consiste en una parte entera de 8 bit más una parte fraccionaria 23 bit. la precisión básica en la misma, sin embargo al efectuar muchos ciclos repetitivos, como es habitual en la computación intensiva, se tiene mayor precisión debido a los errores de redondeo que se acumulan en cada etapa del proceso de cálculo, que con estos nuevos procesadores son menores.

El procesador de Northerm Digital usa menos ciclos de máquina para efectuar la adición y sustracción, que una unidad de punto flotante (FPU) convencional (IEEE-754). Mientras que una FPU puede realizar una multiplicación o división sencilla en 30 o 40 ciclos, el procesador logarítmico sólo necesita uno. Esta faceta avala la afirmación de que la máquina puede ejecutar algoritmos gráficos y DSP avanzados usando un pipeline de cuatro etapas, la latencia es baja, la compañía afirma que el diseño podría ejecutar de forma eficiente algoritmos nuevos y de DSP experimentales, sin el esfuerzo que se necesita habitualmente para ajustar el código a una máquina habitual de punto flotante.

Se ha fabricado un prototipo CMOS de 0.18 micras, funcionando a 125 megahercios, está disponible sobre una tarjeta de evaluación con interface a un ordenador vía conexión serie, disponiendo de lenguaje ensamblador y librería de funciones matemáticas. También se encuentra bajo desarrollo un compilador C.



DSP. Rafael Barzanallana