semana 02

30
Semana 2: Representación de valores enteros e instrucciones A/L Juan Carlos Espejo Delzo Ir al aula virtual 31 de Agosto de 2015 CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 1 / 30

Upload: balcoryorch

Post on 10-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

CCOMPUTACION2

TRANSCRIPT

Semana 2:

Representación de valores enteros einstrucciones A/L

Juan Carlos Espejo Delzo

Ir al aula virtual

31 de Agosto de 2015

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 1 / 30

Índice

• Adición y sustracción en el sistema binario• Representación de valores enteros (notación

complemento a dos)• Instrucciones A/L (Aritméticas/Lógicas) sobre patrones de

bits

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 2 / 30

Adición y sustracción en el sistema binario

¿Cómo sumamos dos representaciones en el sistema binario?

0 1 1 1+ 0 0 1 0

1 0 0 1

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 3 / 30

Adición y sustracción en el sistema binario

¿Cómo restamos dos representaciones en el sistema binario?

1 0 1 1 1− 0 1 0 1 0

0 1 1 0 1

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 4 / 30

Adición y sustracción en el sistema binario

Nos enfocaremos en el siguiente tipo de resta:

1 0 0 0 0− 0 1 0 1 0

0 0 1 1 0

Y diremos que 110 es el complemento de 1010 respecto a10000.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 5 / 30

Representación de valores enterosPreliminar

Antes de hablar sobre la notación complemento a dos, veamosun método práctico de representar valores naturales en elsistema binario.

EjemploSi queremos representar 61 en binario, procedemos así:

1. Identi�camos la potencia de 2 más próxima: 26.

2. Como nos sobra 3 (61 − 64 = −3,) representamos 3 en

binario: 11.

3. Finalmente, tomamos el complemento de 11 respecto a 26:

111101.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 6 / 30

Representación de valores enterosPreliminar

EjemploSi queremos representar 73 en binario, procedemos así:

1. Identi�camos la potencia de 2 más próxima: 26.

2. Como necesitamos 9 (73 − 64 = 9,) representamos 9 en

binario: 1001.

3. Finalmente, sumamos 26 con 1001: 1001001.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 7 / 30

Representación de valores enterosPreliminar

EjemploSi queremos representar 113 en binario, procedemos así:

1. Identi�camos la potencia de 2 más próxima: 27.

2. Como nos sobra 15 (113 − 128 = −15,) representamos 15en binario: 1111.

3. Finalmente, tomamos el complemento de 1111 respecto a

27: 1110001.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 8 / 30

Representación de valores enterosNotación complemento a dos

El sistema más popular para representar valores enterosdentro de las computadoras hoy en día es la notacióncomplemento a dos.Este sistema se basa en el sistema binario y tiene propiedadesadicionales que lo hacen más compatible con el diseño de lacomputadora. No obstante, junto con estas ventajas vienentambién desventajas (desbordamiento aritmético.)

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 9 / 30

Representación de valores enterosNotación complemento a dos

Patrón de tres bits Valor representado011 3010 2001 1000 0111 −1110 −2101 −3100 −4

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 10 / 30

Representación de valores enterosNotación complemento a dos

Patrón de cuatro bits Valor representado0111 70110 6

......

0010 20001 10000 01111 −11110 −2

......

1010 −61001 −71000 −8

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 11 / 30

Representación de valores enterosNotación complemento a dos

Por un argumento inductivo, tenemos que con un patrón de nbits podemos representar desde −2n−1 hasta 2n−1 − 1.Vamos a continuación a desarrollar un método práctico deconversión entre un patrón de bits y el valor que esterepresenta para un patrón dado.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 12 / 30

Representación de valores enterosNotación complemento a dos

EjemploPara hallar el valor que representa el patrón de bits 0101 en la

notación complemento a dos, procedemos así:

1. Como el bit más signi�cativo es 0, se trata de un valor no

negativo.

2. Por tratarse de un valor no negativo, dicho valor es igual al

valor que representa 101 en el sistema binario.

3. Finalmente, la respuesta es 5.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 13 / 30

Representación de valores enterosNotación complemento a dos

EjemploPara hallar el valor que representa el patrón de bits 1010 en la

notación complemento a dos, procedemos así:

1. Como el bit más signi�cativo es 1, se trata de un valor

negativo.

2. Por tratarse de un valor negativo, el valor absoluto de dicho

valor es igual al complemento de 010 respecto a 24−1.

Luego, dicho valor absoluto es 8 − 2 = 6.3. Finalmente, la respuesta es −6.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 14 / 30

Representación de valores enterosNotación complemento a dos

EjemploPara hallar el patrón de 8 bits (un byte) que representa al valor

de 115 en la notación complemento a dos, procedemos así:

1. Como se trata de un valor no negativo, el bit más

signi�cativo es 0.

2. Por tratarse de un valor no negativo, los bits restantes

serán la representación de 115 en el sistema binario; es

decir, el complemento de 13 respecto a 28−1: 1110011.

3. Finalmente, la respuesta es 01110011.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 15 / 30

Representación de valores enterosNotación complemento a dos

EjemploPara hallar el patrón de un byte que representa al valor de

−119 en la notación complemento a dos, procedemos así:

1. Como se trata de un valor negativo, el bit más signi�cativo

es 1.

2. Por tratarse de un valor negativo, los bits restantes serán la

representación de 28−1 − 119 = 9 en el sistema binario; es

decir, 0001001.

3. Finalmente, la respuesta es 10001001.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 16 / 30

Instrucciones A/L sobre patrones de bits

El grupo de instrucciones A/L (Aritméticas/Lógicas) consiste deinstrucciones requiriendo:

• operaciones lógicas,• operaciones de desplazamiento y• operaciones aritméticas.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 17 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

Para entender cómo cada bit es individualmente almacenado ymanipulado dentro de una computadora, es convenienteimaginar que el bit 0 representa al valor falso y el bit 1representa al valor verdadero, ya que, eso nos permite pensaren la manipulación de los bits como la manipulación de losvalores de verdadero/falso.Las operaciones que manipulan valores de verdadero/falso sonllamadas operaciones booleanas o lógicas.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 18 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

El operador booleano AND (conjunción):

0 0 1 1AND 0 AND 1 AND 0 AND 1

0 0 0 1

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 19 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

El operador booleano OR (disyunción inclusiva):

0 0 1 1OR 0 OR 1 OR 0 OR 1

0 1 1 1

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 20 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

El operador booleano XOR (disyunción exclusiva):

0 0 1 1XOR 0 XOR 1 XOR 0 XOR 1

0 1 1 0

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 21 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

Las operaciones lógicas vistas arriba pueden extenderse aoperaciones que combinan dos cadenas de bits y producenuna sola cadena de bits aplicando las operaciones básicas acada columna:

10110011 10011000 10010101AND 11101101 OR 01000101 XOR 01111001

10100001 11011101 11101100

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 22 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

Una máscara de bits es una cadena de bits que extrae ciertosbits particulares de una cade de bits.

00001111 11110000 11111111AND 11101101 OR 01000101 XOR 01111001

00001101 11110101 10000110

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 23 / 30

Instrucciones A/L sobre patrones de bitsOperaciones lógicas

EjemploSi queremos complementar los 4 bits del medio de un byte

mientras los otros 4 no modi�carlos, primero debemos recordar

que solo el operador XOR complementa un bit. Segundo, al

operar 0 con cualquier bit empleando este operador obtenemos

el mismo bit. Entonces, la máscara de bits y el operador a

emplear serán 00111100 y XOR, respectivamente.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 24 / 30

Instrucciones A/L sobre patrones de bitsOperaciones de desplazamiento

Estas operaciones proporcionan un medio para eldesplazamiento de los bits y se emplean a menudo en lasolución de problemas de alineación.Estas operaciones se clasifican por la dirección del movimiento(derecha o izquierda) y si el proceso es circular (rotación.)

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 25 / 30

Instrucciones A/L sobre patrones de bitsOperaciones de desplazamiento

EjemploEl resultado de llevar a cabo una rotación a la derecha en la

cadena de bits 00100111 es 11100100.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 26 / 30

Instrucciones A/L sobre patrones de bitsOperaciones aritméticas

Primera veamos como sumar dos valores representados ennotación complemento a dos:

Problema en base diez Problema en complemento a dos3 0011

+ 2 + 00100101

−3 1101+ (−2) + 1110

10117 0111

+ (−5) + 10110010

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 27 / 30

Instrucciones A/L sobre patrones de bitsOperaciones aritméticas

Ahora veamos como restar dos valores representados ennotación complemento a dos:

Problema en base diez Problema en complemento a dos7 0111

− 5 + 10110010

−3 1101− (−2) + 0010

1111

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 28 / 30

Instrucciones A/L sobre patrones de bitsOperaciones aritméticas

Un problema que han evitado en los ejemplos anteriores esque en cualquier sistema de complemento a dos hay un límitepara el tamaño de los valores que se puede representar.Por ejemplo, el valor 9 no puede ser representado con unpatrón de 4 bits, con lo que no podemos esperar obtener larespuesta correcta al problema 5 + 4. De hecho, el resultadoaparecería como −7. Este fenómeno se llamadesbordamiento artimético (overflow.)

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 29 / 30

Instrucciones A/L sobre patrones de bitsOperaciones aritméticas

Cuando se emplea la notación complemento a dos, estedesbordamiento aritmético puede ocurrir cuando:

• se suman dos valores positivos o• se suman dos valores negativos.

CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 30 / 30