La evolución del software para estos equipos, específicamente la aparición de F80 -un compilador para Fortran en el 8080- y de las versiones de Basic que incorporaron aritmética de punto flotante parcialmente subsanaron esta deficiencia, aunque su aritmética de punto flotante resultó lenta.
Esta lentitud fue relativa, notoria en contraste con la velocidad de la aritmética de otros equipos. Recordemos que la mayoría de las computadoras actuales incluyen operaciones aritméticas de punto flotante en su repertorio de instrucciones, inclusive algunas de ellas -como la VAX 11/780- ofrecen elementos aritméticos -aceleradores de punto flotante- para mejorar su rendimiento en el aspecto numérico.
Las microcomputadoras carecían de instrucciones para aritmética de punto
flotante en sus repertorios de instrucciones, la aritmética de que disponían se
realizaba a partir de sus operaciones elementales, que consistían en sumas y
restas de números de 8 dígitos binarios. Por ello, a pesar de contar con
este tipo de aritmética, su aprovechamiento en el aspecto numérico fue
muy limitado.
En estas circunstancias surgieron en el mercado circuitos con el
propósito específico de realizar la aritmética de punto flotante. De entre
ellos, se destacó el circuito 9511 producido por Advanced Micro Devices,
posteriormente Intel puso en el mercado su 8231, un circuito equivalente.
Con este tipo de circuitos, fue posible construir elementos para las microcomputadoras que se encargaron de la aritmética de punto flotante, con ellos se incrementó el rendimiento de las microcomputadoras. Estos módulos operaron en forma periférica y su capacidad real se aprovechó cuando los compiladores de los lenguajes numéricos se transformaron para producir programas que utilizarán las ventajas de los elementos aritméticos.
En el Departamento de Aplicación de Microcomputadoras del Instituto de Ciencias de la Universidad se diseñaron y contruyeron varios elementos aritméticos. El pleno aprovechamiento de sus capacidades de cálculo fue posible gracias a la disponibilidad de los programas fuentes para el compilador de Fortran. Las modificaciones de estos programas -generados en el propio Instituto- y el concurso de los elementos aritméticos mejoraron sensiblemente los tiempos de algunas de las aplicaciones. Es el caso del paquete PLOT, que para la preparación de gráficas tridimensionales opacas y mapas de contornos, emplea una cantidad considerable de aritmética de punto flotante.
Los elementos aritméticos se prepararon en forma modular para que su integración en las microcomputadoras de la Universidad fuera más simple. Se elaboraron elementos para acoplarse tanto en el bus STD como en el S-100 y varios de ellos se encuentran en operación para el servicio de la Universidad desde hace varios años.
Algunos de los elementos aritméticos que se han diseñado en la
Universidad no tienen equivalente en el mercado. Es el caso de los diseños
del procesador aritmético que desarrollo el alumno Daniel Angel Tenorio
Téllez como tema para su servicio social y trabajo de tésis profesional.
Este elemento aritmético incorpora dos circuitos aritméticos 9511 y
puede realizar operaciones de punto flotante con números complejos. El
diseño del elemento aritmético de referencia incluye un procesador de
control que le permite utilizar los dos circuitos 9511 para calcular
simultáneamente las componentes real e imaginaria de las operaciones
aritméticas complejas.
Con este tipo de elementos aritméticos, la velocidad de la aritmética
de punto flotante de las microcomputadoras se ha incrementado en 4 y hasta en
12 veces (cuando se trata de aritmética compleja).
Con el trabajo realizado, la experiencia que se adquirió y a la luz de los
resultados obtenidos, se abren amplias perspectivas para el desarrollo de
nuevos proyectos, en la dirección de mejores compiladores, ahora también
apoyados por los resultados y experiencias obtenidos en el desarrollo de otros
proyectos y también en la dirección del diseño de nuevos elementos
aritméticos, con los nuevos circuitos más veloces que ya han aparecido en
el mercado.