LA UNIDAD ARITMETICO LOGICA ALU. Introducción Los dos aspectos fundamentales de la aritmética del computador son: La forma de representar las números,

Slides:



Advertisements
Presentaciones similares
Organización del Computador 1 Sistemas de Representación.
Advertisements

Aritmética PARA COMPUTADORAS
Unidad aritmético lógica
Aritmética del Procesador
LA UNIDAD ARITMÉTICA Y LÓGICA
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES ING. GERARDO A. LEAL, MSC Unidad 3: Sistemas Combinacionales.
Algebra Booleana y Compuertas Lógicas AND, OR, NOT, XOR, NAND e Identidades del Algebra Booleana.
Ronald J. Tocci and Neal S. Widmer Digital Systems, Eighth Edition Copyright ©2001 by Prentice-Hall, Inc. Upper Saddle River, New Jersey All rights.
Presentado por: Yuli Dominguez. Portal Educa Panamá. Sistema de numeración.
LA UNIDAD ARITMETICO LOGICA ALU. Introducción Los dos aspectos fundamentales de la aritmética del computador son: La forma de representar las números,
Objetivos Cómo ejecuta el hardware las operaciones básicas (suma, resta, división y multiplicación). Qué pasa si una operación genera un número más grande.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
PARTES DE LAS OPERACIONES Muchas veces nos encontramos con textos en los cuales deseamos complementar lo aprendido. Pero nos damos cuenta con que éstos.
Unidad 2: Operaciones en distintos Sistema de Numeración Prof. Silvana Castro Cátedra: Matemática Discreta Carrera: Lic. / Ing. Sistemas TUDAW Año 2013.
ALGORITMOS Y TIPOS DE DATOS Un algoritmo es un método para resolver un problema. Para la creación de un programa (resolver un problema) en un lenguaje.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
Matemática Operaciones básicas. Aritmética Es la rama de la matemática cuyo objeto de estudio son los números y las operaciones elementales hechas con.
Unidad 1 Principios de electrónica digital
SISTEMAS NUMERICOS ING. SUSANA BELTRAN.
Representación de números en binario
FUNCIONAMIENTO BÁSICO
Tipos de Datos: Punto Flotante
Números reales.
ARQUITECTURA BÁSICA DE UN ORDENADOR
Microprocesador Estructura interna.
Tratamiento de Datos Capitulo Dos.
Diagramas de Flujo Algoritmos.
Por; María Del C. Vélez Math. 4-6
Tema 4 Elementos para el Desarrollo de Algoritmos
EL CPU.
5. Fundamentos de algoritmos
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
EL Procesador. República bolivariana de Venezuela.
CREAR DIAGRAMA DE FLUJO
Tema 4 Elementos para el Desarrollo de Algoritmos
LÓGICA DE PROGRAMACIÓN
EXPRESIONES Una expresión es una forma especial de asignación.
Aritmética binaria.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
TECNOLOGÍA DE EQUIPOS INFORMÁTICOS
Organización del Computador 1 Sistemas de Representación.
UNIDAD 04 Los números enteros
UD1 (PARTE 2: NUMERACIÓN)
TEMA Nº 1 Conjuntos numéricos. Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto.
PROGRAMACION: Que es un computador: Es un aparato electrónico que tiene el fin de recibir y procesar datos para realización de diversas operaciones..
El microprocesador o simplemente procesador, es el circuito integrado central más complejo de un sistema informático; a modo de ilustración, se le suele.
HERRAMIENTAS DE PROGRAMACIÓN
Conjuntos numéricos. objetivos: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión. recordar la operatoria básica.
Unidad 3: Sistemas de Numeración. Í ndice Definición y Principios. Sistema de numeración decimal. Sistema de numeración binario. Conversión de un número.
Sistemas Numéricos 1. Introducción 2. Sistema de Numeración Decimal
Características de “C”
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
Punto Flotante Además de los enteros, existen problemas que se desea modelar en la computadora que requieren de números fraccionarios, que en matemática.
Aritmética en computadora
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Tema 1 Fundamentos de Computación
PUNTO FIJO - PUNTO FLOTANE
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
LOS NUMEROS.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A LA INFORMÁTICA
1 ALU (Unidad aritmético lógica) Registros Unidad de control I/O y buses internos (usualmente 3 estados) I/O y buses internos Los buses I/O son de tres.
DIAGRAMAS DE FLUJO. D I A G R A M A DE F L UJ O EL DI AGRAMA DE FLUJO ES LA REPRESENTACIÓN GRÁFICA DE DICHA SE CUENCIA DE INSTRUCCIONES QUE CONFORMAN.
NÚMEROS REALES. NÚMEROS NATURALES Los números naturales son aquellos que sirven para designar la cantidad de elementos que posee un cierto conjunto. Se.
UNIDAD II Generalidades sobre Algoritmos
Profesor del curso: UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU 2019-I Facultad de Ingeniería de Sistemas 1.
SISTEMAS NUMERICOS “Introducción a la Programación” Rolando Montero.
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

LA UNIDAD ARITMETICO LOGICA ALU

Introducción Los dos aspectos fundamentales de la aritmética del computador son: La forma de representar las números, (el formato binario), Algoritmos utilizados para realizar las operaciones aritméticas básicas, (suma, resta, multiplicación y división).

La mayoría de los procesadores implementan la normalización o estándar IEEE 754 para la representación de números y aritmética en coma flotante. Esta norma define el formato de 32 bits, así como el de 64 bits.

La aritmética de un computador es realizada normalmente con dos tipos de números muy diferentes: Enteros. Coma flotante.

LA UNIDAD ARITMETICO LOGICA (ALU) La ALU, es la parte del computador que realiza realmente las operaciones aritméticas y lógicas con los datos. El resto de los elementos del computador, (unidad de control, registros, memoria, E/S), están principalmente para suministrar datos. La ALU puede considerarse como el “núcleo central del computador”.

Una ALU, y en realidad todos los componentes electrónicos del computador, se basan en el uso de dispositivos lógicos digitales, que pueden almacenar dígitos binarios y realizar operaciones lógicas Booleanas.

Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual

Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos como el Intel Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.

La mayoría de las acciones de la computadora son realizadas por la ALU.

Operaciones Llevadas a cabo por la ALU La mayoría de las ALU pueden realizar las siguientes operaciones: 1.) Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más costoso) 2.) Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR) 3.) Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha).

Una ALU simple de 2 bits que hace operaciones de AND, OR, XOR y adición

ALU vs. FPU Una unidad de punto flotante, Floating Point Unit (FPU), también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de punto flotante, que es mucho más complicada que la representación de complemento a dos usada en una típica ALU. Para hacer estos cálculos, una FPU tiene incorporados varios circuitos complejos.

Generalmente los ingenieros llaman ALU al circuito que realiza operaciones aritméticas en formatos de número entero (como complemento a dos), mientras que los circuitos que calculan en formatos más complejos como punto flotante, números complejos, etc., reciben generalmente un nombre más ilustre.

 Interconexión de la ALU Los datos se presentan a la ALU como “registros”, y en registros se almacenan los resultados de las operaciones producidas por la misma. La ALU puede activar indicadores (flags) como resultado de una operación, por ejemplo: Indicador de desbordamiento se pondrá a 1 si el resultado de una operación, excede la longitud del registro en donde se debe almacenar.

ALU Registros Indicadores Registros

La unidad de control proporciona las señales que gobiernan el funcionamiento de la ALU y la transferencia de datos dentro y fuera de esta.

ALU Unidad de control Registros Indicadores Registros

REPRESENTACION DE ENTEROS En el sistema de numeración binaria, cualquier numero puede representarse tan solo con dígitos 1 y 0. Sin embargo, para ser almacenados y procesados por un computador, no se tiene la posibilidad de disponer del signo y de la coma.

 Representación en signo- magnitud Existen varias convenciones para representar números positivos y negativos, esto implica tratar el bit mas significativo de la palabra, como un bit de signo: Ejemplo: 18  Positivo Signo magnitud = negativo

La representación “signo-magnitud” posee varias limitaciones. Una de ellas es que la suma y la resta requiere tener en cuenta tanto los signos de los números, como sus magnitudes, para llevar a cabo la operación en cuestión. Debido a las limitaciones, raramente se usa la representación en “signo-magnitud” para implementar en la ALU, las operaciones con enteros. Por lo cual, el esquema mas común es la representación en complemento a dos.

 Representación en complemento a dos Este método también utiliza, para su representación, el bit mas significativo como bit de signo. Para obtener el complemento a dos de un numero binario, simplemente se complementa, es decir, se pone el opuesto del numero original: Numero decimalNumero binarioComplemento a dos

Ejemplo: Convertir el numero +18, en complemento a dos. Si el 18 es negativo:

SUMA Y RESTA CASO 1  Si el resultado de la operación es un numero positivo, se obtiene un numero positivo en “notación binaria”. CASO 2  Si el resultado de la operación es un numero negativo, conseguimos un numero negativo en “complemento a dos”.

 Caso 1

 Caso 2

En cualquier suma, el resultado puede que sea mayor que el permitido por la longitud de palabra que se esta utilizando. Esta condición se denomina “desbordamiento” (overflow). Cuando ocurre un desbordamiento, la ALU debe indicarlo para que no se intente utilizar el resultado obtenido.

Para sumar, los números se presentan al sumador desde dos registros (Registro A y Registro B). El resultado es almacenado normalmente en un tercer registro o en uno de los ya existentes. La indicación de desbordamiento se almacena en una OF (Overflow Flag) de 1 bit, (bit =0 si no hubo desbordamiento- bit = 1 si ocurrió desbordamiento). Para la resta, el sustraendo se pasa a través de un “complementador”, antes de llegar al sumador.

A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF

A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF Conmutador: Selecciona si es suma o resta

A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF Conmutador: Selecciona si es suma o resta Bit de desbordamiento

 Multiplicación Esta operación es un poco mas compleja que la suma o la resta. Se han utilizado, tanto soluciones en Hardware, como diverso algoritmos para llevarla a cabo. A continuación se apreciara una implementación en Hardware para la multiplicación.

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Tomemos como ejemplo la multiplicación de 11 por 13: 11   1101 Entonces: A=0000 Q=1101 M=1011 C= 0, Hasta que no halla un acarreo.

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

La lógica de control lee uno por uno los bits del “multiplicador”. Si Q o es 1: A=A+M  Se desplazan todos los valores, tanto de A como de Q, hacia la derecha

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Si Q o =0: No se realiza suma, solo se presenta el desplazamiento a la derecha, de A y Q

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 1|

Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C Bit de acarreo 1

El resultado de la multiplicación es unir, ubicar uno a continuación del otro, los valores de A y de Q. A=1000 Q=1111 Respuesta=

A continuación se mostrara el diagrama de flujo que representa la operación de multiplicació n. INICIO C, A  0 M  Multiplicando Q  Multiplicador Cuenta  n ¿Q o =1? Desplazar C, A, Q Cuenta  cuenta-1 C, A  A+M ¿Cuenta =0? FIN si no

 Multiplicación en complemento a dos Se hace necesaria la multiplicación en complemento a dos, cuando se vallan a multiplicar números con signo negativo. Una de las técnicas mas comunes utilizadas para este fin es el “Algoritmo de Booth”.

 Algoritmo de Booth Este algoritmo tiene la ventaja adicional de acelerar el proceso de multiplicación, respecto de una aproximación mas directa. Q1Q1 QoQo Q -1

INICIO A  0 Q1  0 M  Multiplicando Q  Multiplicador Cuenta  n Q o, Q- 1 Desplazamiento Aritmético a derecha: A, Q, Q-1 Cuenta  Cuenta 1 A  A+M ¿Cuenta =0? FIN =01=10 A  A-M si no =11 =00

 División La división es algo mas compleja que la multiplicación pero esta basada en los mismos principios generales. La operación conlleva repetidos desplazamientos y sumas o restas.

INICIO A  o M  Divisor Q  Dividendo Cuenta  n ¿A<0? Cuenta = Cuenta-1 Q0  0 A  A+M ¿Cuenta =0? FIN sino Q0  1 si no Desplaza a izquierda A, Q A  A-M Cociente  Q Resto  A

REPRESENTACION EN COMA FLOTANTE Un valor real se puede extender a la izquierda o a la derecha de forma arbitraria. En la informática se dispone de una cantidad limitada de dígitos para representar un valor, un número real puede rebasar este rango con facilidad. La coma flotante proporciona un cambio de ponderación que en este entorno técnico permite almacenar valores con partes significativas de peso alejado del “0”, esto es alejadas de la coma a su derecha o a su izquierda.

Tipos de datos en coma flotante Los números en coma flotante, también conocidos como números reales en otros lenguajes, se utilizan cuando se calculan funciones que requieren precisión fraccionaria. Los cálculos complejos, como la raíz cuadrada, o trigonométricas, como el seno y el coseno, tienen como resultado un valor cuya precisión requiere un tipo en coma flotante.

Hay dos clases de tipos en coma flotante, float y double: Float, (flotante): 32 bits Double (doble): 64 bits