Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Lenguajes de Descripción de Hardware
El modelo de Von Neumann
Microprocesadores Componentes básicos..
Métodos de diseño en VHDL.
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Ing. María Rosa Dámaso Ríos CPU(cuarta semana)
Fernando Escribano Pro 1º de Bachillerato
ORGANIZACIÓN COMPUTACIONAL
Arquitectura Vonn Neuman. 2 Máquina Vonn Neuman John Vonn Neuman fue un destacado científico y matemático que realizó contribuciones muy importantes en.
El Microprocesador.
CICLO DE EJECUCION DE UNA INSTRUCCION
Computación PROGRAMACIÓN.
PERCY CHUMBE BUENDIA. KIZZY GUTIERREZ VALVERDE. RUTH NOEMY APAZA JARA.
RESUMEN: Softmicro de 8 bits Xilinx
Unidad aritmético-lógica
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
Lenguaje Ensamblador integrantes: Esthela Vianey Vázquez Medina No.30
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
Interfaces de entrada / salida
2.2 Registro de Banderas Conjunto de bits que nos dan información sobre el estado del procesador y sobre el resultado de la última operación efectuada.
Introducción a la Ingeniería en Sistemas
Interfases de Entrada / Salida
Operación de Micros e Interfaces
EL MICROPROCESADOR.
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
Instalar y Preservar los equipos de computo de acuerdo a las recomendaciones de higiene y seguridad del fabricante. Así como el consumo relacional de.
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
Conceptos Arquitectónicos del computador
Hanna y Dima. Definición Funciones Básicas -La unidad CENTRAL (CPU. Central Proceising Unit) -La memoria principal -Dispositivos de Entrada y Salida Tratamiento.
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
LOS MICROPROCESADORES
Unidad aritmético-lógica
Unidad aritmético lógica
Nombre: Cristian Achina Curso: 4to «A» Fecha:
La Unidad Central de Proceso o CPU
La unidad central de procesos o CPU
Capítulo 4 CPU y la memoria.
Tendencias Generales Dotación física Software lógica Más pequeño
1.1 Introducción A Los Sistemas Informáticos
Principio unidad 1.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
PICOBLAZE RESUMEN.
RESUMEN: Softmicro de 8 bits Xilinx
INTRODUCCIÒN MICROCONTROLADORES
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
Funcionamiento de la computadora Terrazas Pando Ivan.
Claudio Rodríguez Eduardo Berrade. índice 1-Introducción / definición 1-Introducción / definición 2-Funciones básicas. 2-Funciones básicas. 2.1-La unidad.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
Angie Baquero Garcia Oscar Quiroga Rojas Yajaira Urango Bedoya.
El procesador es el cerebro del computador que se encarga de organizar, procesar la información ejecutar cálculos y en general realizar muchos procesos.
LA CPU Ing. Manuel Andrés Belalcázar S. Corporación Universitaria Autónoma del Cauca.
COMUNIDAD YAQUI! Sikiri#4 Heeka#7 Ba’am#19.
José Alvarado – Cristian Anzola
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Santiago Restrepo Rodríguez
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
El microprocesador y su arquitectura
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
 Software  Humanware  Hardware Conformado por.
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
FUNCIONAMIENTO DEL EQUIPO DE COMPUTO. COMPUTADORA: una computadora es una máquina electrónica capaz de procesar datos para convertirlos en información.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
NCO (Numerically Controlled Oscillator). NCO: Oscilador controlado numéricamente Aplicaciones Conversores digitales up/down PLLs digitales Sistemas de.
Estructura y funcionamiento de un sistema de cómputo
Transcripción de la presentación:

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón

ALU Circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números. Un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.

Símbolo esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida. Lo que es la unidad de control, ajusta los circuitos que indican a la ALU qué operaciones realizar.

Estructura La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones. Circuito Operacional.- contiene los circuitos electrónicos necesarios para la realización de las operaciones con los datos procedentes de los Registros de Entradas, en las cuales se almacenan los operandos y a través de un selector de operaciones comandadas por las micro ordenes procedentes del secuenciador de la Unidad de Control, la misma que concretará la operación correspondiente en ejecución.

Registros de Entrada.- Las variables de entrada suministradas al ordenador. Registro Acumulador.- Esta almacena los resultados de las operaciones ejecutadas por el Circuito Operacional, también se encuentra conectado con los Registros de Entradas como una realimentación para realizar las operaciones encadenadas, por supuesto que se encuentra conectado con el bus de datos del sistema con el propósito de enviar los resultados a la Memoria principal o (RAM) o a algún periférico.

Registro de Estados.- Se conoce por registro de estados a un grupo de bits que utiliza un procesador para orientarse durante las operaciones en la ALU. Cada modelo de procesador tiene sus propios registros de estados pero los más comunes son: Z = Zero flag. el resultado es cero N = Negative flag. el resultado es negativo V = Overflow flag. el resultado supera el número de bits que puede manejar la alu P = Parity flag. I = Interrupt flag. C = Carry flag.

Estructura de una ALU simple de 2 bits

Funcionamiento Operaciones simples: -Operaciones aritméticas de números enteros -Operaciones lógicas de bits -Operaciones de desplazamiento de bits Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

Operaciones complejas: Diseñar una ALU muy compleja que calcule una operación en específico en un solo paso. Esto es llamado cálculo en un solo ciclo de reloj. Diseñar una ALU compleja que calcule dicha operación con varios pasos, es llamado cálculo interactivo, y generalmente confía en el control de una unidad de control compleja con microcódigo incorporado.

Diseñar una ALU simple en el procesador y vender un procesador separado que es llamado coprocesador o unidad de coma flotante. Emular la existencia del coprocesador, que es llamado emulación por software. Decir a los programadores que no existe coprocesador y no hay emulación.

Para que el operador realice la operación, los operandos se llevan a la ALU y se guardan en unos registros denominados registros de trabajo. El resultado de la operación se guarda también en un registro antes de ser llevado a la memoria o a la Unidad de Entradas y Salidas. Frecuentemente se utiliza un mismo registro para guardar uno de los operandos y, también, el resultado, denominado registro Acumulador.

Operaciones con datos de memoria y registros Para que la unidad aritmética y lógica sea capaz de realizar una operación, se le deben proporcionar los siguientes datos: 1. El código que indique la operación a efectuar. 2. La dirección de la celda donde está almacenado el primer sumando. 3. La dirección del segundo sumando implicado en la operación. 4. La dirección de la celda de memoria donde se almacenará el resultado.

Tipos de registros -Los registros de datos son usados para guardar números enteros. -Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. -Los registros de propósito general pueden guardar tanto datos como direcciones. -Los registros de coma flotante son usados para guardar datos en formato de coma flotante. -Los registros constantes tienen valores creados por hardware de sólo lectura. -Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado.

Unidad de control Es la que realiza el secuenciamiento del programa que se está ejecutando; eso es, la ejecución de la instrucción actual y la obtención de la siguiente. Su función es obtener las señales de temporización y control para ejecutar según los datos que entran, determinando el funcionamiento de la CPU y su comunicación interna. La unidad de control (UC) interpreta y ejecuta las instrucciones almacenadas en la memoria principal y genera las señales de control necesarias para ejecutarlas.

El operador, además de calcular el valor de la operación, modifica el registro de estado según el resultado de la operación. Así, si el resultado es un valor negativo, se modifica un bit de dicho registro, llamado bit negativo o bit N, poniéndose a 1; por el contrario, el bit N permanecerá en estado 0 mientras el contenido del acumulador no sea negativo. De igual forma indicara la ALU a la UC si el resultado ha sido cero, o si ha producido algún acarreo, etc.

Diseño de una ALU en HDL Usando VHDL como el lenguaje de programación se tiene para una ALU de operaciones simples: nibble1=A nibble2=B

library IEEE; use IEEE. STD_LOGIC_1164. ALL; use IEEE. NUMERIC_STD library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity ALU_VHDL is port (Nibble1, Nibble2 : in std_logic_vector(3 downto 0); Operation : in std_logic_vector(2 downto 0); Carry_Out : out std_logic; Flag : out std_logic; Result : out std_logic_vector(3 downto 0) ); end entity ALU_VHDL; architecture Behavioral of ALU_VHDL is signal Temp: std_logic_vector(4 downto 0); begin process(Nibble1, Nibble2, Operation, temp) is begin Flag <= '0‘; case Operation is when "000" => -- res = nib1 + nib2, flag = carry = overflow Temp <= std_logic_vector((unsigned("0" & Nibble1) + unsigned(Nibble2))); Result <= temp(3 downto 0); Flag <= temp(4); when "001" => -- res = |nib1 - nib2|, flag = 1 iff nib2 > nib1

if (Nibble1 >= Nibble2) then Result <= std_logic_vector(unsigned(Nibble1) - unsigned(Nibble2)); Flag <= '0‘; else Result <= std_logic_vector(unsigned(Nibble2) - unsigned(Nibble1)); Flag <= '1‘; end if; when "010" => Result <= Nibble1 and Nibble2; when "011" => Result <= Nibble1 or Nibble2; when "100" => Result <= Nibble1 xor Nibble2; when "101" => Result <= not Nibble1; when "110" => Result <= not Nibble2; when others => -- res = nib1 + nib2 + 1, flag = 0 Temp <= std_logic_vector((unsigned("0" & Nibble1) + unsigned(not Nibble2)) + 1); Result <= temp(3 downto 0); Flag <= temp(4); end case; end process; end architecture Behavioral;

Símbolo generado