Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFelisa Blanco Carrasco Modificado hace 8 años
1
www.microse.cic.ipn.mx Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros
2
www.microse.cic.ipn.mx 2 Operaciones aritméticas de enteros Adición 7 10 = 0000 0000 0000 0111 b + 6 10 = 0000 0000 0000 0110 b 13 10 = 0000 0000 0000 1101 b Los cuatro bits menos significativos tienen toda la acción Adición
3
www.microse.cic.ipn.mx 3 … 0 0 1 1 1 b + … 0 0 1 1 0 b Adición (0) 1(1) 0(1) 1(0) 1(0)0 (0)(1) (0) Operaciones aritméticas de enteros
4
www.microse.cic.ipn.mx 4 (adición de un núm. complemento a 2) 6 10 = 0000 0000 0000 0110 b + -5 10 = 1111 1111 1111 1011 b 1 10 = 0000 0000 0000 0001 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
5
www.microse.cic.ipn.mx 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
6
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 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: 0000 0000 0000 0000 0000 0000 0000 0110 b = 6 10 sll $t2, $0, 8 $t2: 0000 0000 0000 0000 0000 0110 0000 0000 b = 1536 10 MIPS Shift: sll (shift left logical) srl (shift right logical) Shift
9
www.microse.cic.ipn.mx 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: 0000 0000 0000 0000 0000 0000 0000 0110 b and $t0, $t1, $t2 $t2: 0000 0000 0000 0000 0000 0110 0000 1111 b Muy útil para crear “mascaras” de bits $t0: 0000 0000 0000 0000 0000 0000 0000 0110 b AND
10
www.microse.cic.ipn.mx 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: 0000 0000 0000 0000 0000 0000 0000 0110 b or $t0, $t1, $t2 $t2: 0000 0000 0000 0000 0000 0110 0000 1111 b $t0: 0000 0000 0000 0000 0000 0110 0000 1111 b MIPS : and, andi (and, and inmediate) or, ori (or, or inmediate) Operaciones LógicasOR
11
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 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) 000001A 011011B 10010 11110
14
www.microse.cic.ipn.mx 14 ALU Unidad Lógica de 1-Bit /AND/OR
15
www.microse.cic.ipn.mx 15 Sumador de 1-bit
16
www.microse.cic.ipn.mx 16 EntradasSalidas abCinCoutSumaComentarios 000000+0+0=00 001010+0+1=01 010010+1+0=01 011100+1+1=10 100011+0+0=01 101101+0+1=10 110101+1+0=10 111111+1+1=11 Sumador de 1-bit
17
www.microse.cic.ipn.mx 17 Acarreo de salida (Cout) Cout= (!a*b*Cin)+(a*!b*Cin)+(a*b*!Cin)+(a*b*Cin) EntradasSalidas abCinCoutSumaComentarios 000000+0+0=00 001010+0+1=01 010010+1+0=01 011100+1+1=10 100011+0+0=01 101101+0+1=10 110101+1+0=10 111111+1+1=11 Cout= (Cin*b)+(Cin*a)+(a*b)
18
www.microse.cic.ipn.mx 18 Bit de Acarreo Demostrar la simplificación de la ecuación para Cout
19
www.microse.cic.ipn.mx 19 Sumador de 1-bit Suma= (!a*!b*Cin) + (!a*b*!Cin) + (a*!b*!Cin) + (a*b*Cin) EntradasSalidas abCinCoutSumaComentarios 000000+0+0=00 001010+0+1=01 010010+1+0=01 011100+1+1=10 100011+0+0=01 101101+0+1=10 110101+1+0=10 111111+1+1=11 Suma= (a x b) x Cin; x= or exclusiva
20
www.microse.cic.ipn.mx 20 Sumador Demostrar la simplificación de la ecuación para Suma
21
www.microse.cic.ipn.mx 21 Sumador Completo 1-bit
22
www.microse.cic.ipn.mx 22 ALU (AND, OR, SUMA) El sumador puede calcular: a + b a +!b + 1 = a – b (seleccionando invert y Cin)
23
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 24 set on less than
25
www.microse.cic.ipn.mx 25 32-bit ALU
26
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 27 ALU 32-bits
28
www.microse.cic.ipn.mx 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
www.microse.cic.ipn.mx 29 Multiplicación 0 1 1 0 X 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 + Desplazamiento
30
www.microse.cic.ipn.mx 30 Multiplicador 0 0 0 0 0 0 1 0 Inicio 0 1 1 0 0
31
www.microse.cic.ipn.mx 31 0 0 0 0 0 0 1 0 1er Ciclo: desplaza a la derecha (Reg. Prod.) 0 1 1 0 0 0 Multiplicador
32
www.microse.cic.ipn.mx 32 0 0 0 0 0 0 0 1 1er Ciclo: estado final 0 1 1 0 1 1 Multiplicador
33
www.microse.cic.ipn.mx 33 0 1 1 0 0 0 0 1 2do Ciclo: estado inicial Suma y …. 0 1 1 0 1 1 Multiplicador
34
www.microse.cic.ipn.mx 34 0 0 1 1 0 0 0 0 2do Ciclo: estado inicial Suma y Desplaza 0 1 1 0 1 1 Multiplicador
35
www.microse.cic.ipn.mx 35 0 0 1 1 0 0 0 0 2do Ciclo: estado final 0 1 1 0 0 0 Multiplicador
36
www.microse.cic.ipn.mx 36 0 0 1 1 0 0 0 0 3er Ciclo: estado inicial 0 1 1 0 0 0 Multiplicador
37
www.microse.cic.ipn.mx 37 0 0 0 1 1 0 0 0 3er Ciclo: estado final desplaza 0 1 1 0 0 0 Multiplicador
38
www.microse.cic.ipn.mx 38 0 0 0 1 1 0 0 0 4er Ciclo: estado inicial 0 1 1 0 0 0 Multiplicador
39
www.microse.cic.ipn.mx 39 0 0 0 0 1 1 0 0 4to Ciclo: estado final Desplaza (fin) 0 1 1 0 0 0 Multiplicador
40
www.microse.cic.ipn.mx 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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.