Funciones de comparacion MASM32
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
MICROPROGRAMACION
MIP-115
Instrucciones de comparación en FPU
GT:01 GD:03 Tarea:06
INTRODUCCION
Se pretende con esta investigacion conocer un pocosobre las instrucciones de comparacion en el lenguaje ensamblador, utilizando la plataforma MASM32, pero enfocandonos en instrucciones de FPU que como sus siglas lo describen es la unidad de punto flotante, se detalla a continuacion
TEMA A INVESTIGAR
INVESTIGACION REALIZADA
Una Unidad de Punto Flotante (Floating Point Unit en inglés) es un componente de la CPU especializado en elcá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 micro-código para emular una función en comaflotante 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 circuitodedicado 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 68881utilizada en las CPUs 680×0 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).
La FPU es un coprocesador que opera paralelamente con la Integer Unit del procesador. La FPU toma las instrucciones del mismo decodificador de instrucciones y secuenciador que laInteger Unit, y comparte el bus del sistema con ella. A pesar de todo, operan independientemente y en paralelo. El entorno de ejecución de instrucciones de la FPU consiste en 8 registros de datos y 6 registros de propósito general (el registro de estado (registro de 16 bits que controla el tope de la pila, las condiciones de las banderas del código, las banderas de excepciones o la bandera defallo de pila), el de control (registro de 16 bits que controla el método de redondeo (al más cercano, al mayor, al menor, o truncar) y la precisión que puede ser de 24, 53 o 64 bits. También contiene los bits de la máscara de la bandera de excepciones), el registro tag word (indica el contenido de los 8 registros en la pila de registros de datos del FPU), el de puntero de instrucción (El contenidoestá indefinido si la instrucción previa que no sea de control no tuvo un operador de memoria), el de último operando, y el de opcode (proporciona información de estado para el administrar excepciones)).
La FPU detecta seis clases de condiciones de excepción mientras se ejecutan instrucciones en punto flotante: Operaciones no válidas (overflow de pila, underflow, operación aritmética no válida),división por cero, operando no normalizado, overflow numérico, underflow numérico, y resultado no exacto. Cada una tiene su bandera correspondiente asignada al registro de estado y en la máscara del registro de control de la FPU. Las excepciones más significativas son (en orden de prioridad, de más a menos significativas): excepción de operación no válida (overflow o underflow de pila, operando...
Regístrate para leer el documento completo.