Www.microse.cic.ipn.mx Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.

Slides:



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

Instrucciones de operación sobre datos
Diseño de la ruta de datos monociclo para la arquitectura MIPS
Computadora Máquina electromecánica. Rapidez y eficiencia (MIPS)
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
ORGANIZACIÓN COMPUTACIONAL
Integrantes: Moyolehuani Tatéi Temai
Datapath para las instrucciones aritméticas y lógicas
El Microprocesador.
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
El procesador: la ruta de datos y el control (II Parte)
CLASE 6.
Unidad aritmético-lógica
Arquitectura de Conjunto de Instrucciones (ISA)
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
Unidad aritmético-lógica
Representación de números enteros Tema 3. ¿Qué sabrás al final del capítulo? n Representar un número entero (con signo) de distintas formas – Signo magnitud.
Unidades aritmético lógicas
CLASE 11.
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
Lenguaje Ensamblador integrantes: Esthela Vianey Vázquez Medina No.30
ISA (Instruction Set Architecture)
Diseño digital para microprocesadores
MIPS Intermedio.
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.
Sistemas de Numeración
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Instrucciones: FORMATO DE INSTRUCCIONES
Unidad III Elementos del lenguaje C++
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Capitulo 2 INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Grupo de Arquitectura.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Organización del Computador 1 Sistemas de Representación.
Unidad 4: Unidad de Ejecución
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Aritmética PARA COMPUTADORAS
Unidad aritmético-lógica
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Unidad aritmético lógica
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Aritmética del Procesador
“Organización y Arquitectura de Computadores” William Stallings
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
CLASE 13.
El procesador Diseño del control.
LA UNIDAD ARITMÉTICA Y LÓGICA
ARQUITECTURA DE COMPUTADORES
Capítulo 4 CPU y la memoria.
Introducción. ¿Que es una computadora? Maquina electrónica capaz de resolver problemas ejecutando las instrucciones de un programa: 1.recibe datos, 2.los.
Organización del Computador 1
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Modos de direccionamiento
Presente un cuestionario con los aspectos mas importantes sobre los
Unidad Central de Proceso
Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Compuertas lógicas INTRODUCCION
ARQUITECTURA DE COMPUTADORES
José Alvarado – Cristian Anzola
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Subsistemas aritméticos y lógicos
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
El microprocesador y su arquitectura
Arquitecturas de Computadoras Aritmética Computacional
1 Arquitecturas de Computadoras Breve repaso al algebra booleana.
Circuitos Combinacionales I
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Unidad aritmético-lógica
El procesador Datapath y control.
Transcripción de la presentación:

Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros

2 Operaciones aritméticas de enteros Adición 7 10 = b = b = b Los cuatro bits menos significativos tienen toda la acción Adición

3 … b + … b Adición (0) 1(1) 0(1) 1(0) 1(0)0 (0)(1) (0) Operaciones aritméticas de enteros

4 (adición de un núm. complemento a 2) 6 10 = b = b 1 10 = b Se puede decir que “ocurre” un sobre flujo en la salida. Pero cuando se suman operandos de distinto signo, el resultado es menor que uno de los operandos. Operaciones aritméticas de enteros Substracción

Sobre-flujo La suma o resta de dos números de 32-bits, podría arrojar un resultado que requiera de 33-bits para ser expresado totalmente. Esto significa que el acarreo ocurre en el bit de signo. Ocurre sobre flujo en los siguientes casos : Resta : núm. positivo - núm. negativo = núm. negativo Resta : núm. negativo - núm. positivo = núm. positivo Suma : núm. positivo + núm. positivo = núm. negativo Suma : núm. negativo + núm. negativo = núm. positivo

Sobre-flujo (Sin Signo) La suma o resta de dos números sin signo, son comúnmente utilizados en direccionamiento de memoria. El sobre flujo se ignora!. Los arquitectos de computadoras deben proporcionar una forma de ignorar el sobre flujo en algunos casos y reconocerlo en otras. MIPS proporciona dos tipos de instrucciones:  Suma (add), Suma un inmediato (addi) y Resta (sub): Causan excepciones de sobre-flujo.  Suma sin signo (addu), suma un inmediato sin signo (addiu) y resta sin signo (subu) : ignoran sobre-flujo.

7 Implicaciones de programación C ignora el sobre-flujo: el compilador de C para MIPS siempre genera las versiones sin signo de las instrucciones aritméticas (addu, addiu, subu) no importa el tipo de variable. El procesador MIPS : detecta el sobre flujo con una excepción (BIOS) para corregir el código. Se utiliza el registro EPC (Exception Program Counter) para almacenar la dirección de la instrucción que causó la excepción, utiliza la instrucción mfsc0 (move from system control ) para copiar EPC a un registro de propósito general y regresar el control del programa.

8 Operaciones Lógicas Shift : mueven todos los bits de una palabra a la derecha o a la izquierda, llenando los bits vacíos con ceros. $0: b = 6 10 sll $t2, $0, 8 $t2: b = MIPS Shift: sll (shift left logical) srl (shift right logical) Shift

9 Operaciones Lógicas AND : es una operación bit-a-bit, que se realiza entre dos vectores de igual numero de bits. (1&1=1)(1&0=0) $t1: b and $t0, $t1, $t2 $t2: b Muy útil para crear “mascaras” de bits $t0: b AND

10 OR : es una operación bit-a-bit, que se realiza entre dos vectores de igual número de bits. (1|X=1)(0|0=0) $t1: b or $t0, $t1, $t2 $t2: b $t0: b MIPS : and, andi (and, and inmediate) or, ori (or, or inmediate) Operaciones LógicasOR

11 Resumen: OperaciónOperador de CInstrucción MIPS Desplazamiento a la izq.<<sll Desplazamiento a la der.>>srl and (bit-a-bit)&and, andi or (bit-a-bit)|or, ori Operaciones LógicasC-MIPS

12 Diseñando Si el procesador es el “cerebro” de la computadoras, las unidades funcionales podrían ser las “neuronas”. ALU’s, Sumadores, Multiplicadores, Divisores, SQR, etc. Unidades Funcionales

13 ALU 1-bit Las operaciones lógicas son las mas fáciles de implementar por que se mapean directamente a los componentes de hardware. ABDand(C)or (C)inv (C)Mux (C) A B

14 ALU Unidad Lógica de 1-Bit /AND/OR

15 Sumador de 1-bit

16 EntradasSalidas abCinCoutSumaComentarios = = = = = = = =11 Sumador de 1-bit

17 Acarreo de salida (Cout) Cout= (!a*b*Cin)+(a*!b*Cin)+(a*b*!Cin)+(a*b*Cin) EntradasSalidas abCinCoutSumaComentarios = = = = = = = =11 Cout= (Cin*b)+(Cin*a)+(a*b)

18 Bit de Acarreo Demostrar la simplificación de la ecuación para Cout

19 Sumador de 1-bit Suma= (!a*!b*Cin) + (!a*b*!Cin) + (a*!b*!Cin) + (a*b*Cin) EntradasSalidas abCinCoutSumaComentarios = = = = = = = =11 Suma= (a x b) x Cin; x= or exclusiva

20 Sumador Demostrar la simplificación de la ecuación para Suma

21 Sumador Completo 1-bit

22 ALU (AND, OR, SUMA) El sumador puede calcular: a + b a +!b + 1 = a – b (seleccionando invert y Cin)

23 Completando una ALU slt (set on less than), slt $1, $2, $3 Detecta cuando a < b, $1 = 01 si $2 < $3, $1 = 00 de otra manera. Si hacemos: (a – b) < 0 (a – b) + b < 0 + b a < b Es exactamente la condición de sobre flujo que se da en substracción de enteros con signo. MIPS

24 set on less than

bit ALU

26 Soportando Saltos Condicionales Estas instrucciones saltan si dos registros son iguales. La forma rápida de ver si (a==b) es haciendo (a-b) y checar si el resultado es cero. OR dinámica

27 ALU 32-bits

28 Cálculo rápido del bit de acarreo Desde luego existen técnicas para mejorar el desempeño de los circuitos… ¿Investigue como mejorar esta ALU mediante el cálculo rápido del acarreo? ¿Cuales son los sumadores que tienen mejor desempeño?

29 Multiplicación X Desplazamiento

30 Multiplicador Inicio

er Ciclo: desplaza a la derecha (Reg. Prod.) Multiplicador

er Ciclo: estado final Multiplicador

do Ciclo: estado inicial Suma y … Multiplicador

do Ciclo: estado inicial Suma y Desplaza Multiplicador

do Ciclo: estado final Multiplicador

er Ciclo: estado inicial Multiplicador

er Ciclo: estado final desplaza Multiplicador

er Ciclo: estado inicial Multiplicador

to Ciclo: estado final Desplaza (fin) Multiplicador

40 Algoritmo de multiplicación Desde luego existen técnicas para mejorar el desempeño de los circuitos… ¿Investigue como mejorar este multiplicador? ¿Cuales son los Multiplicadores que tienen mejor desempeño? Booth