TEMA III: OPERACIONES CON LOS DATOS • CUESTIONES A TRATAR: – ¿Cual es la función de la unidad operativa?¿Es necesaria? – ¿Qué tipos de circuitos implementan la unidad operativa? – Unidad operativa frente a ALU – ¿Qué es una operación de múltiple precisión? – ¿Qué diferencia hay entre REDONDEO y TRUNCAMIENTO? – ¿Qué es un coprocesador? – ¿Qué tipo de memoria se utiliza para cada nivel de la jerarquía? – ¿Cómo es la aritmética en coma flotante? TEMA III: OPERACIONES CON LOS DATOS INTRODUCCIÓN. UNIDAD OPERATIVA OPERACIONES DE DESPLAZAMIENTO Y OPERACIONES LÓGICAS OPERACIONES ARITMÉTICAS CIRCUITOS INTEGRADOS PARA EL DISEÑO DE UNIDADES ARITMÉTICO-LÓGICAS TEMA III: OPERACIONES CON LOS DATOS INTRODUCCIÓN. UNIDAD OPERATIVA UNIDAD ARITMÉTICO LÓGICA – Encargada de realizar las operaciones con los datos. – Formas de realizar una operación: • Circuito combinacional. Una fase. • Circuito secuencial que genera sus fases. • Circuito secuencial con fases generadas por U.C. • Mediante programa. TEMA III: OPERACIONES CON LOS DATOS INTRODUCCIÓN. UNIDAD OPERATIVA ESTRUCTURA UNIDAD ARITMÉTICO LÓGICA TEMA III: OPERACIONES CON LOS DATOS INTRODUCCIÓN. UNIDAD OPERATIVA OPERADOR – Circuito electrónico capaz de realizar una operación aritmética o lógica. – Tipos de operadores: • Ámbito aplicación: general o especializado. • Realización: Combinacional o secuencial. • Número de operandos: Monádico o Diádico. • Paralelismo: Serie o dígito, paralelo o vector. • Operación: – De desplazamiento: (logicos, circulares, aritmeticos) – Lógico (AND, OR, NOT, XOR) – Aritmético: (Negación, Suma, Resta, Multiplicación, División) TEMA III: OPERACIONES CON LOS DATOS INTRODUCCIÓN. UNIDAD OPERATIVA OPERADORES DE MICROPROCESADORES ACTUALES TEMA III: OPERACIONES CON LOS DATOS OPERACIONES DE DESPLAZAMIENTO Y OPERACIONES LÓGICAS – Desplazamiento: Trasladar los bits de una palabra hacia la izquierda o derecha. – Según la forma de tratar los extremos del desplazamiento: • Desplazamientos lógicos: Ceros. • Desplazamientos circulares. • Desplazamientos aritméticos: Consiste en multiplicar o dividir por una potencia de dos. Dependo del la forma de representación (signo magnitud, complemento a 2 ). • Desplazamientos concatenados: Afectan a varios elementos. – Dos registros concatenados. – Un registro concatenado con bit de acarreo. – Un registro concatenado con el biestable de signo. TEMA III: OPERACIONES CON LOS DATOS OPERACIONES DE DESPLAZAMIENTO Y OPERACIONES LÓGICAS OPERACIONES LÓGICAS • Se aplican sobre bits independientes: – – – – NOT AND OR XOR TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS • • • OPERACIÓN DE CAMBIO DE SIGNO. OPERACIÓN EXTENSIÓN DE SIGNO. OPERACIONES SUMA Y RESTA – SUMA Y RESTA EN BINARIO SIN SIGNO – SUMA Y RESTA EN COMPLEMENTO A 2 – SUMA Y RESTA EN COMPLEMENTO A 1 – SUMA Y RESTA EN SIGNO MAGNITUD – SUMA Y RESTA EN REPRESENTACIÓN EN EXCESO – SUMADOR-RESTADOR BCD (Ajuste decimal) TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS • OPERACIONES SUMA Y RESTA – SUMA Y RESTA EN COMA FLOTANTE TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS • OPERACION MULTIPLICACIÓN – MULTIPLICACIÓN EN BINARIO SIN SIGNO • Ejemplo – MULTIPLICACIÓN EN BINARIO CON SIGNO • • • • Análisis de los signos, para determinar signo resultado. Conversión a positivo del resultado. Multiplicación sin signo Cambio si procedo del signo del resultado. – MULTIPLICACIÓN EN COMA FLOTANTE • Suma de exponentes y multiplicación binaria de las mantisas TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS • OPERACION DIVISIÓN – Mas complicada que la multiplicación. – DIVISION EN BINARIO • Ejemplo – DIVISIÓN EN COMA FLOTANTE • Resta de exponentes y división binaria de las mantisas TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS OPERACIONES EN PRECISIÓN MÚLTIPLE • • Precisión múltiple: Datos utilizan un número mayor de bits que el ancho de palabra del computador. Problemas: – Para almacenar dato se necesita: más de una posición de memoria o más de un registro. – Tratar los datos por partes. La unidad aritmético lógica opera en paralelo una palabra de bits. → → + ( + + + − )( + + ) = ++ + TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS OPERACIONES EN PRECISIÓN MÚLTIPLE → → ( ⋅ = ⋅ = )( + + = +( ↔↔ ↔↔ ↔↔ ↔↔ −−−−−−− ↔↔↔↔ ⋅ + )= = ) + = TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS BIESTABLES DE ESTADO ARITMÉTICO • • • Función: Guardar algunas propiedades del resultado de la última operación realizada. Información utilizada por la Unidad de control. Ejemplo: instrucciones de salto. Los más comunes: – CERO (Z): – SIGNO (N): – DESBORDAMIENTO (V): – ACARREO (C): – PARIDAD (P): TEMA III: OPERACIONES CON LOS DATOS OPERACIONES ARITMÉTICAS TÉCNICAS DE REDONDEO • Se aplican cuando tras alguna operación, el resultado produce más bits de los que se puede albergar en el destino. + ≤α ≤ • • + Formas de aproximación más usuales: – TRUNCAMIENTO: Eliminación de bits menos significativos. Acumula errores por defecto. -RES<=ERR<=0 – REDONDEO: Tomar valor más próximo. Errores por defecto y exceso que tiende a evitar su acumulación. Alto coste pues equivale a truncamiento e incremento. -RES/2<=ERR<=RES/2. – TRUNCAR Y BIT MENOS SIGNIFICATIVO A 1: Errores por defecto y exceso que tiende a evitar su acumulación. -RES<=ERR<=RES Dígitos de guarda TEMA III: OPERACIONES CON LOS DATOS CIRCUITOS INTEGRADOS PARA EL DISEÑO DE UNIDADES ARITMÉTICO-LÓGICAS • • • ALU 74181: Circuito integrado que implementa un operador combinacional de cuatro bits que realiza 16 operaciones aritméticas sencillas y 16 operaciones lógicas. Unidades operativas universales: Am2901, Am29203. COPROCESADORES. – Microprocesadores antiguos no incluían HW para efectuar cálculos científicos. Soluciones SW lentas. – Chip independiente para cálculos científicos de alta velocidad. – Normalmente el coprocesador es el encargado de interpretar el conjunto de instrucciones especiales nuevo. El procesador original o HOST únicamente puede diferenciar estas operaciones especiales de las normales, pero no puede interpretarlas. – Proporciona una extensión lógica del modelo del programador en cuanto a instrucciones, registros y tipos de operandos. TEMA III: OPERACIONES CON LOS DATOS CIRCUITOS INTEGRADOS PARA EL DISEÑO DE UNIDADES ARITMÉTICO-LÓGICAS • TÉCNICAS PARA PASAR ÓRDENES AL COPROCESADOR: – Interfaz inteligente de control. – Coprocesador con señales e instrucciones especiales. – Coprocesador con instrucciones especiales.