TE.1010 Sistemas Digitaleshomepage.cem.itesm.mx/garcia.andres/PDF201411/TE1010 Semana 1 … · El...

78
TE.1010 Sistemas Digitales Dr. Andrés David García García Departamento de Mecatrónica División de Ingeniería y Ciencias TE 1010 1

Transcript of TE.1010 Sistemas Digitaleshomepage.cem.itesm.mx/garcia.andres/PDF201411/TE1010 Semana 1 … · El...

TE.1010 Sistemas Digitales

Dr. Andrés David García García

Departamento de Mecatrónica

División de Ingeniería y Ciencias

TE 1010 1

TE 1001

➢Objetivo de la materia:

➢Diseñar e implementar un sistema electrónico digital conbase en el Álgebra Booleana y haciendo uso deherramientas de diseño asistido por computadora yplataformas de prototipaje rápido.

➢Aspectos fundamentales de la materia:

➢ Sistemas Lógicos

➢Diseño de Circuitos Combinacionales y Secuenciales

➢Arquitectura computacional

TE 1010 2

TE1001: Temas

✓ Códigos y Bases numéricas✓ Funciones lógicas y Algebra Booleana y métodos de reducción✓ Circuitos lógicos combinatorios✓ Familias lógicas y circuitos MSI✓ Introducción a lógica programable✓ Circuitos aritméticos✓ Latches y Flip Flops✓ Circuitos lógicos secuenciales, contadores, registros de corrimiento,

detectores de secuencias✓ Memorias✓ Unidad de control alambrada✓ Unidad de control micro-programada✓ Convertidores DAC y ADC, sistemas de adquisición de datos

TE 1010 3

Políticas generales

El uso de teléfonos celulares y tabletas electrónicas estáprohibido dentro del salón de clases.

Las LapTops sólo podrán ser usadas cuando las actividadespropuestas por el profesor así lo requieran.

Al inicio de cada sesión se pasará lista.

No se permite el uso de palabras y comportamientosinadecuados, tampoco la burla o la discriminación.

No se permite fumar dentro de las instalaciones académicasdel CEM.

No se permite ingerir ningún tipo de alimento, líquido o dulcedentro del salón de clases.

Contestar la ECOA es OBLIGATORIO.TE 1010 4

Referencias✓ Tocci y Widmer. Sistemas Digitales, Principios y Aplicaciones.

Pearson Educación. 10ª. Ed.

✓ Roth, Ch. Jr. Fundamentals of Logic Design, PWS Publishing Company, 2ª Ed.

✓ Brown, Vranesic. Fundamentals of Digital Logic with VHDL, McGrawHill. 3a edition.

✓ Tokheim. Digital Electronics. McGraw-Hill, 5ª Ed.

✓ Tanenbaum, A. S. Structured Computer Organization. Prentice Hall. 4ª Ed.

✓ Mano, Kime. Logic and Computer Design Fundamentals. Prentice Hall. 3ª Ed.

TE 1010 5

Reseña del Profesor

• IEC, ITESM-CEM,1994.

• Maestría en Electrónica para las Telecomunicaciones. ENST-ParisTech, 1996.

• PhD en Comunicaciones y Electrónica. ENST-ParisTech, 2000.

• Profesor Investigador DIEE, ITESM-CEM, 2001-2005.

• Director de Posgrado, EGIC, ITESM-CEM, 2006-2009.

• Director del DIEE, ITESM-CEM, 2010-2011.

• Director del DMk, ITESM-CEM, 2011-2015.

• Director de la DDIA-CEM, 2015…

• Participación en proyectos europeos.

• Consultor en proyectos nacionales.

• Miembro del comité nacional de la ANFEI.

• Miembro del comité de ingenierías de los CIEES.

TE 1010 6

Varios

• Material del curso: http://homepage.cem.itesm.mx/garcia.andres/index.htm

• Herramientas CAD y plataforma tecnológica: www.altera.com

• Email:

[email protected]

• Redes Sociales:

– Facebook: [email protected]

• El curso será migrado a CANVAS.

TE 1010 7

Antecedentes

➢ Los sistemas de procesamiento y manipulación deinformación que utilizamos en la actualidad basan sufuncionamiento en:

➢Capacidad de realizar cálculos a una gran velocidad.

➢Capacidad de almacenar grandes cantidades de información.

➢Capacidad de intercambiar información de forma rápida y eficaz.

➢ Procesar, Almacenar, Comunicar.

TE 1010 8

Antecedentes

➢ Teoría de la Información.

¿Qué es “información”?

TE 1010 9

Antecedentes

➢ Información:

✓Conjunto de datos organizados, clasificados, agrupados detal suerte que permiten establecer un conocimiento.

✓ La información permite tomar decisiones.

¿Qué es un “Dato”?

TE 1010 10

Antecedentes

➢Dato:

✓ Los datos son símbolos.

✓ Los símbolos tienen un significado particular según elcontexto de la información.

➢Datos, Información, Toma de decisiones.

TE 1010 11

Antecedentes

➢ Ejemplo:➢ Símbolo {A}

✓Primer letra del Alfabeto

✓ Inicio de una matrícula ¿?

✓Número en base 16

✓ Etiqueta ¿?

➢Dato + Contexto = Toma de decisiones

TE 1010 12

Antecedentes

➢ Fuente de información:

➢Entorno: Temperatura, humedad, iluminación, etc.

➢ Físicas: fuerza, presión, velocidad, volumen, masa, peso,etc.

➢ La cantidad de luz natural me permite determinar sirequiero de luz artificial.

➢ Rendimiento de gasolina de un vehículo.

➢ Fuerza requerida para mover un objeto.

TE 1010 13

Antecedentes

TE 1010 14

Arquitectura de computadoras

➢Arquitectura Computacional:

TE 101015

Arquitectura de computadoras

TE 101016

Memoria RAM

Memoria ROM CPU

I/O

I/O

I/O

Instrucciones

Datos

Arquitectura de computadoras➢ Un microprocesador ejecuta una serie de instrucciones de

forma secuencial.

➢ Estas instrucciones se escriben en un lenguaje llamado“lenguaje ensamblador”, el cual puede ser interpretado por elhumano.

TE 1010 17

Visual C++

C++

JAVA

C

Assembler

HEX

ALTO NIVEL

BAJO NIVEL

Los sistemas Lógicos Digitales

• Se utilizan para poder procesar información:

– Clasificar, almacenar, organizar e intercambiar.

– Tomar decisiones.

• Ejemplo: Encender o apagar un calefactor:

– Control ON/OFF.

– Encendido toma 2 valores: F/V; ‘0’ ó ‘1’

– Dos valores posibles: SISTEMA BINARIO.

TE 1010 18

Los sistemas Lógicos Digitales

• Auto a control remoto simple:

– 2 Motores: Derecho (D) e Izquierdo (I)

TE 1010 19

• Adelante: D = ‘1’ y I = ‘1’

• Derecha: D = ‘0’ y I = ‘1’

• Izquierda D = ‘1’ y I = ‘0’

• ALTO: D = ‘0’ y I = ‘0’

ADELANTE = D and IDERECHA = /D and IIZQUIERDA = D and /IALTO = /D and /I

FUNCIONES LÓGICAS

✓ D e I concatenadas conforman una palabra de 2 bits !!!

Los sistemas Lógicos Digitales

• Control de Temperatura:

– Rango de Temperatura: 0° a 55° (valor analógico)

TE 1010 20

55°

27.5°

20°

“11111111”

“01111111”

“00000000”

¿?X

CUANTIFICAR:

codificar un conjunto

de valores analógicos

en un código binario

T > X = ON

T < X = OFF

✓ En realidad, la decisión no depende de un solo bit, sino del valor de un octeto.

Números

• Base 10 (decimal)

– ¿por qué utilizamos la base 10?

• Otras bases

– Base 2 (binario)

– Base 8 (Octal)

– Base 16 (Hexadecimal)

TE 1010 21

Números

TE 1010 22

• Base 10:

– 10 caracteres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

• Base 2:

– 2 caracteres (0, 1)

• Base 8:

– 8 caracteres (0, 1, 2, 3, 4, 5, 6, 7)

• Base 16:

– Obvio 16 caracteres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)

Sistemas Lógicos

➢ Los circuitos lógicos basa su funcionamiento en la “lógica de conjuntos”

➢ Principio fundamental de los circuitos lógicos:➢ Falso: ‘0’ (cero lógico)

➢Verdadero: ‘1’ (uno lógico)

➢Al tratarse de un dispositivo electrónico, estos “estados” se representan por un nivel de tensión eléctrica o “Voltaje”.

TE 1010 23

Sistemas lógicos

➢ Equivalente eléctrico de los niveles lógicos:

➢ Los niveles lógicos pueden ser vistos como un switch:

❖‘0’ es un circuito abierto

❖‘1’ es un circuito cerrado

‘0’

‘1’

S

TE 101024

Sistemas lógicos

➢Ejemplos:➢ Switches en serie:

➢ La función lógica que hace que A=B es una AND.

➢ Switches en paralelo:

➢ La función lógica que hace que A=B es una OR.

S SA B

S

SA B

TE 101025

Sistemas lógicos

➢Ejemplos:

X Y

X

Y

TE 101026

X AND Y

X OR Y

U

Sistemas lógicos➢ Fundamentos de teoría de conjuntos:

TE 1010 27

UNIVERSO A

U

B

U

A B

Sistemas lógicos➢ Fundamentos de teoría de conjuntos:

TE 1010 28

A BC A B

A B

C = A “y” B C = A “ó” B

C = A “ó excluyente” B

A

C = complemento (A)

Sistemas Lógicos

➢Niveles lógicos de voltaje:

TE 1010 29

Umbral de ruido

(nivel indefinido)

5V

0V

‘1’ (estado lógico

“alto”)

‘0’ (estado lógico

“bajo”)

Algoritmos de procesamiento digital de señales

• Los algoritmos de DSP basan su funcionamiento en operadores aritméticos y unidades de almacenamiento temporal.

– Filtros Digitales

– Transformadas Discretas Coseno/Fourier

– Convolución

• Operadores MAC(Multiply And ACcumulate)

30

)()()(1

0

knxkhnyM

k

Algoritmos de DSP

• Diseño de Operadores Aritméticos: crítico en el diseño VLSI de arquitecturas de DSP

• Arquitecturas eficientes de operadores aritméticos funamentales (sumas, restas, multiplidadores y divisores) para aplicaciones VLSI

• Objetivo: Diseñar y Construir arqutiecturas con un mínimo tiempo de propagación (mejorar velocidad de respuesta), y con el menor requerimiento de superficie de silicio (optimizar la densidad y el nivel de integración).

ADGG / LFGP 31

Representación de Números en Binario

• Números positivos en binario: Magnitud:

32

1

0

2N

i

iBiX

i 3 2 1 0

15 1 1 1 1

14 1 1 1 0

: : : : :

2 0 0 1 0

1 0 0 0 1

0 0 0 0 0

Relación entre bases numéricas

• Pregunta: ¿por qué contamos del 1 al 10?

• 2 manos con 5 dedos c.u.

• 10 elementos (números) distintos

• Sin embargo, es importante considerar la cantidad de símbolos que componen a los elementos (números) que componen el subconjunto de valores posibles.

TE 1010 33

Relación entre bases numéricas

• Estableciendo una representación formal de los números en decimal:

TE 1010 34

0 7654321 98

Un solo símbolo por elemento

DecenasUnidades

Unidad: 100Decena: 101Centena: 102Millar: 103

Relación entre bases numéricas

• Leyendo cualquier cifra:

TE 1010 35

103 102 101 100 . 10-1 10-2 10-3

1000 100 10 1 0.1 0.01 0.001

Ejemplo: 12475.326

1*104

2*103

4*102

7*101

5*100

3*10-1

2*10-2

6*10-3

1*10000

2*1000

4*100

7*10

5*1

3*0.1

2*0.01

6*0.001

Relación entre bases numéricas

• Pregunta: ¿Y si solo tuviéramos 4 dedos en cada mano?

• 2 manos con 4 dedos c.u.

• 8 elementos (números) distintos

TE 1010 36

Relación entre bases numéricas

TE 1010 37

• Estableciendo una representación formal de los números en OCTAL:

0 7654321

Un solo símbolo por elemento

DecenasUnidades

Unidad: 80Decena: 81Centena: 82Millar: 83

Relación entre bases numéricas

• Leyendo cualquier cifra:

TE 1010 38

83 82 81 80 . 8-1 8-2 8-3

512 64 8 1 0.125 0.015625 0.001953125

Ejemplo: 475.32

4*82

7*81

5*80

3*8-1

2*8-2

4*64

7*8

5*1

3*0.125

2*0.015625

1

0

8N

i

iBiX

Representación de vectores en binario

• Como mencionamos, una variable física en el tiempo continuo se puede “escalar” en binario. Esto se llama Digitalizar.

• En TI, las variables del entorno se digitalizan con el fin de procesarlas de forma digital.

• La digitalización es producto del proceso de conversión de Analógico (señal continua) a Digital (señal discreta), mediante 2 procesos importantes:

– Muestreo

– Cuantificación

TE 1010 39

Señal en el tiempo continuo

• Se define como una función F(x) en donde la distancia entre cada valor de “x” es muy pequeño, lo que forma una silueta (señal) continua.

TE 1010 40

Amplitud

t

F(x)

Señal continua

Señal en el tiempo continuo

• Si la señal F(x) la multiplico por una señal de impulso unitario U(y), se transforma la línea continua en una línea punteada, esto es MUESTREO.

• Los puntos de la señal estarán separados dependiendo de la escala de resolución de U(y)

TE 1010 41

Amplitud

t

F(x)

F(x)*U(y) = Muestreo

Cada punto de la

señal es una muestra

de F(x) con un valor

específico.

Señal en el tiempo continuo

• Finalmente, si a cada punto de la señal (a cada muestra) se le asigna un valor en una escala de bits, a eso se le llama CUANTIFICAR.

TE 1010 42

Amplitud

t

11111111

11111110

11111101

11111100

11111011

11111010

11111001

11111000

………

………..

………..

……….

…………

00000110

00000101

00000100

00000011

00000010

00000001

00000000

Cada punto de la señal

muestreada es cuantificado en un

valor binario.

Mientras mas grande sea el

vector, más exactitud se tendrá

en la cuantificación (es decir, más

puntos de la señal F(x) podrán

ser representados en binario

Revisar: Teorema de NYQUIST

Señal Digital

• Una señal digital puede ser almacenada, manipulada y modificada en el mundo digital:

– Procesamiento Digital de señales

TE 1010 43

Señal original Señal Digital

2.5 00001110

2.6 00001111

2.7 00001000

2.8 00001001

2.7 00001000

2.8 00001001

2.9 00001010

…… ……..

Mientras más grande es el vector, es

más difícil diferenciar entre sus

símbolos (valores).

Con base a la capacidad de

procesamiento que han tenido los

microprocesadores (4, 8, 16, 32, 64

bits), se utiliza una base numérica

común al binario para representar de

mejor forma los símbolos

Bases numéricas con origen en Binario

• Las bases numéricas que tienen como origen el binario, son múltiplos de 2:

TE 1010 44

Base 2 (21)Binario

Base 4 (22) Base 8 (23)OCTAL

Base 16 (24)Hexadecimal

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 10 4 4

0101 11 5 5

0110 12 6 6

0111 13 7 7

1000 20 10 8

1001 21 11 9

1010 22 12 A

1011 23 13 B

1100 30 14 C

1101 31 15 D

1110 32 16 E

1111 33 17 F

Bases numéricas con origen en Binario

• La relación entre la base 4 y la base 2 son dos bits.

• Cada símbolo en base 4 se representa con un vector de dos bits.

TE 1010 45

Base 2 (21)Binario

Base 4 (22)

00 00 0

00 01 1

00 10 2

00 11 3

01 00 10

01 01 11

01 10 12

01 11 13

10 00 20

10 01 21

10 10 22

10 11 23

11 00 30

11 01 31

11 10 32

11 11 33

Base 2 (21)Binario

Base 4 (22)

00 0

01 1

10 2

11 3

Bases numéricas con origen en Binario

• La relación entre la base 8 y la base 2 son tres bits.

• Cada símbolo en base 8 se representa con un vector de tres bits.

TE 1010 46

Base 2 (21)Binario

Base 8 (23)OCTAL

0 000 0

0 001 1

0 010 2

0 011 3

0 100 4

0 101 5

0 110 6

0 111 7

1 000 10

1 001 11

1 010 12

1 011 13

1 100 14

1 101 15

1 110 16

1 111 17

Base 2 (21)Binario

Base 8 (23)OCTAL

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

Bases numéricas con origen en Binario

• La relación entre la base 16 y la base 2 son cuatro bits.

• Cada símbolo en base 16 se representa con un vector de cuatro bits.

• Esto, por ejempo permite representar el vector:

– 1100 0111 0010 0010 b

• En Hexadecimal:– C 7 2 2 hex

TE 1010 47

Base 2 (21)Binario

Base 16 (24)Hexadecimal

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

Convertir números de una base con origen en binario a base 10

• Para convertir un número de una base a otra, hacemos uso de la forma polinomial del número y realizamos las operaciones en la base a la que queremos convertir.

• En este caso, la base de origen ß1 es múltiplo de binario (2, 4, 8, 16), y la base destino ß2 es decimal.

• Se partirá de la expresión general:

TE 1010 Curso FIT 48

Númeroß1 Númeroß2

Forma polinomial

1

0

N

i

i

dec BiX

100012 = ?10

1 0 0 0 1

1x24 + 0x23 + 0x22 + 0x21 + 1x20

10001 = 1710

Convertir números de base 2 a base 10

1

0

2N

i

iBiX

TE 1010 Curso FIT

Convertir números de base 16 a base 10

1

0

16N

i

iBiX

1A16 = ?10

1 A

1x161 + Ax160

1x161 + 10x160

1A16 = 2610

TE 1010 Curso FIT

Convertir de decimal a binario

• Método: Divisiones Sucesivas:

– Ejemplo tomado del curso FIT del ITESM:

TE 1010 Curso FIT 51

Ejemplo: 1710 = ?2

17 2

1 8 2

0 4 2

0 2 2

0 1

1710 = 100012

✓ Se divide entre la base a la cual

se desea convertir (2).

✓ Se continúa dividiendo los

residuos

✓ Se almacenas los cocientes

✓ El residuo final y los cocientes

forman el número en binario

Convertir de decimal a Hexadecimal

• Método: Divisiones Sucesivas:

– Ejemplo tomado del curso FIT del ITESM:

TE 1010 Curso FIT 52

✓ Se divide entre la base a la cual se

desea convertir (16).

✓ Se continúa dividiendo los

residuos

✓ Se almacenas los cocientes

✓ El residuo final y los cocientes

forman el número en hexadecimal

Ejemplo: 3010 = ?16

30 16

14 1

3010 = 1E16

Otros códigos binarios

TE 1010 53

• BCD : Binary Coded Decimal

• Cada dígito en decimal se codifica usando 4 bits.

• El número mínimo de bits que se requieren para representar los valores del 0 al 9 son cuatro.

• Las combinaciones: 1010 (10), 1011 (11), 1100 (12), 1101 (13), 1110 (14) y 1111 (15) no son utilizadas

• Ejemplos:

• 9710 1001 0111BCD 1100001b

• 4510 0100 0101BCD 101101b

Otros códigos binarios

TE 1010 54

• BCD: Cada carácter (dígito) en decimal se representa con un vector de 4 bits:

Decimal Binario BCD

0 0000 0000 0000 0000

1 0001 0000 0000 0001

2 0010 0000 0000 0010

… … ….

9 1001 0000 0000 1001

10 1010 0000 0001 0000

11 1011 0000 0001 0001

.. … ….

31 11111 0000 0011 0001

32 100000 0000 0011 0010

… … …

127 1111111 0001 0010 0111

128 10000000 0001 0010 1000

129 10000001 0001 0010 1001

Otros códigos binarios

• Código Gray: Codificación utilizada para reducir errores en transiciones ascendentes.

– Ejemplo: transición de 3 a 4:• 0011 → 0100 : cambian de valor 3 de los 4 bits de la palabra.

• Al enviar este cambio por medio de un canal de comunicación, podemos tener errores debido al ruido.

– El código Gray elimina la relación entre “símbolos adyascentes” (en una cuenta, números consecutivos).

– En Gray, entre un símbolo y el siguiente, solamente existe la variación de 1 bit.

TE 1010 55

Otros Códigos binarios

• La forma de generar el código Gray:

TE 1010 56

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 0

0 0 1

0 1 1

0 1 0

1 1 0

1 1 1

1 0 1

1 0 0

Otros Códigos binarios

• La forma de generar el código Gray:

TE 1010 57

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 0

0 0 1

0 1 1

0 1 0

1 1 0

1 1 1

1 0 1

1 0 0

2 Bits

cambian

3 Bits

cambian

Solo

cambia 1

bit

Otros códigos binarios

• ASCII: American Standard Code for InformationInterchange.

– Creado con el fin de intercambiar símbolos entre distintosdispositivos informáticos.

• Ejemplo: Teclado – CPU

– Originalmente se definió sobre 7 bits• Permitía representar todos los caracteres alfanuméricos en idioma

inglés.

– Actualmente se compone de 8 bits• Incluye caracteres en otros idiomas, caracteres y funciones

especiales.

TE 1010 58

Otros códigos binarios

• ASCII: American Standard Code for InformationInterchange.

TE 1010 59

Decimal Hex Símbolo

32 20h Espacio

33 21h !

34 22h “

35 23h #

…. ….. …..

48 30h 0

49 31h 1

50 32h 2

51 33h 3

52 34h 4

53 35h 5

54 36h 6

55 37h 7

Decimal Hex Símbolo

65 41h A

66 42h B

67 43h C

68 44h D

69 45h E

70 46h F

….. ….. …..

97 61h a

98 62h b

99 63h c

100 64h d

101 65h e

102 66h f

Decimal Hex Símbolo

0 00h Carácter nulo

1 01h Inic. Encabezado

2 02h Inicia Texto

3 03h Fin Texto

4 04h Fin Transmisión

5 05h Enquiry

6 06h Acknowledge

7 07h Ring

8 08h Retroceso

9 09h Tab Horizontal

10 0Ah Salto de línea

11 0Bh Tab Vertical

Representación de Números Negativos

• Varios métodos

• Característica común: MSB representa el bit de signo• 0 número positivo• 1 número negative

• Métodos principales• Signo y magnitud• Complemento a 2• Complemento a 1

60

Representación de Números Negativos

• Signo y magnitud poco adaptado al diseño de circuitos digitales:

– Se requiere de N bits para la magnitud y de un bit extra para el signo.

– Las arquitecturas aritméticas son más complejas.

• Complemento a 2 y complemento a 1 permiten un fácil diseño de circuitos aritméticos digitales:

– Objetivo: representar números positivos y negativos usando el mísmo número de bits.

61

Numeración en Complemento a 1

• Número positivo, N,

0 XX…XXX

Donde XX…XXX representa la magnitud del número

• Número negativo, -N,

/N = (2n – 1) – N

Ejemplo: Si n = 4, -N = 15 – N,

-3 = 15 – 3 = 11 = 11002

• Regla: Complementar todos los bits de la palabra.

62

Numeración en Complemento a 2

• Número positivo, N,

0 XX…XXX

Donde XX…XXX representa la magnitud del número

• Número negativo, -N,

N* = 2n – N

Donde n es el tamaño de la palabra o número

Ejemplo: Si n = 4, -N = 16 – N,

-3 = 16 – 3 = 13 = 11012

• Regla: Avanzar de derecha a izquierda. Cuando se localice el primer 1, complementar los siguientes bits.

63

Complemento a 1 y Complemento a 2

64

0-1-2-3-4-5-6-7 7654321

0

1

2

3

4

5

6

7

2 + 4 = 6

2 - 4 = 6 (-2)

Complemento a 2 VS Complemento a 1

• N* = 2n – N = 2n – 1 – N + 1 = /N + 1

• Obtención de N a partir de sus complementos• N = 2n – N*

• N = (2n – 1) – /N

• Complemento a 2: posibilidad de representar unnúmero negativo más que un número positivo.Ejemplo: Para n = 4 podemos representar losvalores [7 .. –8]

65

Representación de Números Negativos

66

N

Enteros

Positivos

(Todos los

sistemas)

-N

Enteros Negativos

Signo y

magnitud

Complemen

to a 2

Complemen

to a 1

+0 0000 -0 1000 ---- 1111

+1 0001 -1 1001 1111 1110

+2 0010 -2 1010 1110 1101

+3 0011 -3 1011 1101 1100

+4 0100 -4 1100 1100 1011

+5 0101 -5 1101 1011 1010

+6 0110 -6 1110 1010 1001

+7 0111 -7 1111 1001 1000

-8 ---- 1000 ----

La Suma en Complemento a 2

• La suma de números con signo de n bits es directa cuando se emplea el sistema en complemento a 2.

• Cualquier carry de la posición de signo se ignora

• La suma siempre será correcta excepto cuando ocurre overflow

• Se dice que ha ocurrido overflow cuando la representación de la suma (incluyendo el bit de signo) requiere más de n bits

67

La Suma en Complemento a 1

• Similar a la suma en complemento a 2

• Diferencia: El carry no se ignora y se suma al resultado de la suma

• También puede ocurrir overflow, lo que indica que la suma necesita más bits para representarse correctamente

68

Ejemplos

• Complemento a 2

– (+3)+(+4) => +7 (0111)

– (+5)+(+6) => +11 (1011)

– (+5)+(-6) => -1 (1111)

– (-5)+(+6) => +1 (0001)

– (-3)+(-4) => -7 (1001)

– (-5)+(-6) => -11 (0101)

69

Ejemplos

• Complemento a 1

– (+3)+(+4) => +7 (0111)

– (+5)+(+6) => +11 (1011)

– (+5)+(-6) => -1 (1110)

– (-5)+(+6) => +1 (0000) ????

– (-3)+(-4) => -7 (0111) ????

– (-5)+(-6) => -11 (0011) ????

70

Igual que el complemento a 2

Overflow

• Con el propósito de obtener una respuesta correcta de un sumador/restador, se debe asegurar que el resultado tiene el número suficiente de bits para representar el resultado

• Si dos números de b-bits se suman y la suma requiere de n+1 bits para ser representada, ocurre un overflow

• El “overflow” es un problema cuando el número de bits para representar el resultado es fijo

• Una Solución: extender el resultado a n+1 bits desperdicio de recursos

71

Overflow

• Otra solución es detectar cuando ocurre el “overflow”

• Dos casos

– Números sin signo

– Números con signo

72

Overflow en números sin signo

• En la suma de 2 números sin signo, el “overflow” se detecta a partir del Carry-Out del MSB.

• En la resta de números sin signo, la magnitud del resultado es siempre igual o menor que el operando de mayor longitud, por lo que no hay posibilidad de “overflow”.

73

Overflow en números con signo

• En 2’complemento, el MSB indica el signo

• Cuando 2 números con signo se suman, el bit de signo se manipula separadamente del número y un Carry-Out de los MSB en ‘1’ no es necesariamente un “overflow”

• En números con signo, un “overflow” no puede ocurrir durante la suma si uno de los operandos es positivo y el otro negativo

74

Overflow en números con signo

011010010150

0000101080

0110001070

75

• Un “overflow” puede ocurrir si los 2 números a sumar son positivos o negativos

– Ejemplo: suma de 2 números de 8-bits

010101101150

0000110180

0101110170

Overflow en números con signo

011010010150

0000101080

0110001070

76

• Rango de valores sobre 8-bits: [-128, 127]

• El resultado (150) excede la capacidad de representación

• El resultado que debería ser positivo tiene un signo negativo y el resultado que debiera ser negativo tiene un signo positivo

010101101150

0000110180

0101110170

Overflow en números con signo

011010010150

0000101080

0110001070

00000010:Carry

77

• El “overflow” se detecta al observar el Carry dentro del bit de signo y el carry-out del bit de signo

• Si ambos no son iguales, un “overflow” ha ocurrido (XOR)

010101101150

0000110180

0101110170

00001101:Carry

Fin del tema: Sistema Binario

• Conociendo las bases numéricas, la representación de símbolos utilizando distintos códigos binarios, podemos comenzar a diseñar un Sistema de Información.

• El siguiente paso será manipular símbolos en binario de forma lógica y aritmética.

TE 1010 78