Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Aritmética de enteros




Enviado por Pablo Turmero



    Monografias.com

    Operaciones aritméticas de enteros
    SubAdición

    710= 0000 0000 0000 0111b
    +
    610= 0000 0000 0000 0110b
    1
    1310= 0000 0000 0000 1101b

    Los cuatro bits menos significativos tienen toda la acción

    Monografias.com

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

    Monografias.com

    Operaciones aritméticas de enteros
    SubSubstracción (adición de núm. complemento a 2)

    610 = 0000 0000 0000 0110b
    +
    -510 = 1111 1111 1111 1011b
    3
    110 = 0000 0000 0000 0001b
    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.

    Monografias.com

    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

    Monografias.com

    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.

    Monografias.com

    Implicaciones de programación
    SubC 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 (BIOS) : detecta el sobre flujo con una excepción, 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.
    6

    Monografias.com

    Operaciones Lógicas
    SubShift: mueven todos los bits de una palabra a la derecha o a la izquierda, llenando los bits vacios con ceros.
    7
    $0: 0000 0000 0000 0000 0000 0000 0000 0110b = 610
    sll $t2, $0, 8
    $t2: 0000 0000 0000 0000 0000 0110 0000 0000b = 153610
    MIPS Shift:
    sll (shift left logical)
    srl (shift right logical)

    Monografias.com

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

    Monografias.com

    Operaciones Lógicas
    SubOR: es una operación bit-a-bit, que se realiza entre dos vectores de igual numero de bits. (1|X=1)(0|0=0)
    9
    $t1: 0000 0000 0000 0000 0000 0000 0000 0110b
    and $t0, $t1, $t2
    $t2: 0000 0000 0000 0000 0000 0110 0000 1111b
    $t2: 0000 0000 0000 0000 0000 0110 0000 1111b
    MIPS :
    and, andi (and, and inmediate)
    or, ori (or, or inmediate)

    Monografias.com

    Operaciones Lógicas C-MIPS
    10
    SubResumen:

    Monografias.com

    Diseñando Unidades Funcionales
    SubSi el procesador es el “cerebro” de la computadoras, las unidades funcionales son las “neuronas”. ALU’s, Sumadores, Multiplicadores, Divisores, SQR, etc.
    11

    Monografias.com

    ALU 1-bit
    SubLas operaciones lógicas son las mas fáciles de implementar por que se mapean directamente a los componentes de hardware.
    12

    Monografias.com

    ALU
    SubUnidad Lógica de 1-Bit /AND/OR
    13

    Monografias.com

    Sumador de 1-bit
    14

    Monografias.com

    Sumador de 1-bit
    15

    Monografias.com

    Acarreo de salida (Cout)
    16
    SubCout= (!a*b*Cin)+(a*!b*Cin)+(a*b*!Cin)+(a*b*Cin)
    Cout= (Cin*b)+(Cin*a)+(a*b)

    Monografias.com

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

    Monografias.com

    Sumador de 1-bit
    18
    SubSuma= (!a*!b*!Cin) + (!a*b*!Cin) + (a*!b*!Cin) + (Cin*a*b)
    Suma= (a x b) x Cin; x= or excluiva

    Monografias.com

    Suma
    19
    Demostrar la simplificación de la ecuación para Suma

    Monografias.com

    Sumador Completo 1-bit
    20

    Monografias.com

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

    Monografias.com

    Completando una ALU para MIPS
    Subslt (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

    22
    Es exactamente la condición de sobre flujo que se da en substracción de enteros con signo (Diapositiva 24)

    Monografias.com

    (set on less than)
    23

    Monografias.com

    32-bit ALU
    24

    Monografias.com

    Soportando Saltos Incondicionales
    SubEstas instrucciones saltan si dos registros son iguales. La forma rapida de ver si (a==b) es haciendo (a-b) y checar si el resultado es cero.

    25

    Monografias.com

    ALU 32-bits
    26

    Monografias.com

    Calculo rápido del bit de acarreo
    Sub?
    27

    Monografias.com

    Multiplicación
    Sub 0 1 1 0
    X 0 0 1 0
    28
    0 1 1 0
    0 0 0 0
    0 0 0 0
    0 0 0 0
    0 0 0 1 1 0 0
    +
    Desplazamiento

    Monografias.com

    Multiplicador
    29
    0 0 0 0
    0 0 1 0
    Inicio
    0 1 1 0
    0

    Monografias.com

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

    Monografias.com

    Multiplicador
    31
    0 0 0 0
    0 0 0 1
    1er Ciclo: estado final
    0 1 1 0
    1
    1

    Monografias.com

    Multiplicador
    32
    0 1 1 0
    0 0 0 1
    2do Ciclo: estado inicial
    Suma y ….
    0 1 1 0
    1
    1

    Monografias.com

    Multiplicador
    33
    0 0 1 1
    0 0 0 0
    2do Ciclo: estado inicial
    Suma y Desplaza
    0 1 1 0
    1
    1

    Monografias.com

    Multiplicador
    34
    0 0 1 1
    0 0 0 0
    2do Ciclo: estado final
    0 1 1 0
    0
    0

    Monografias.com

    Multiplicador
    35
    0 0 1 1
    0 0 0 0
    3er Ciclo: estado inicial
    0 1 1 0
    0
    0

    Monografias.com

    Multiplicador
    36
    0 0 0 1
    1 0 0 0
    3er Ciclo: estado final
    desplaza
    0 1 1 0
    0
    0

    Monografias.com

    Multiplicador
    37
    0 0 0 1
    1 0 0 0
    4er Ciclo: estado inicial
    0 1 1 0
    0
    0

    Monografias.com

    Multiplicador
    38
    0 0 0 0
    1 1 0 0
    4er Ciclo: estado final
    Desplaza (fin)
    0 1 1 0
    0
    0

    Monografias.com

    Algoritmo de multiplicación de Booth
    39
    Sub?

    Monografias.com

    División
    40
    Sub 0010 0 1 1 1
    0 0 0 0 1
    0 0 0 0
    0 0 0 0
    0 0 1 0

    0 0 0 1 1


    0 0 0 1 1
    0
    0
    1
    1
    0 0 1 0

    0 0 0 1

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter