Introducción Códigos - Facultad de Ingeniería

Anuncio
Departamento de Electrónica
Electrónica Digital
(Electrónica II)
Facultad de Ingeniería - Bioingeniería
Universidad Nacional de Entre Ríos
Contenido del programa
1
Objetivos
2
Bibliografía (disponible en Biblioteca FI-UNER)
TOCCI Ronald , Sistemas digitales, principios y aplicaciones
 WAKERLY, Diseño digital, principios y prácticas
 MANDADO, Sistemas Electrónicos digitales
 BAENA OLIVA y otros, Problemas de Circuitos y Sistemas Digitales
 OJEDA CHERTA, Problemas de Electrónica Digital
 HERMOSA, Electrónica Digital Práctica
 TAUB, Circuitos Digitales y Microprocesadores
3
Equipo Docente
 Prof. Asociado: Eduardo Filomena
 JTP: Marcos Formica
 JTP: Iván Rodolfo Peralta
 Auxiliar Docente Alumno: Ricardo Romeo Rodriguez
Auxiliar Docente Alumno: Agustín Solano
4
Actividades de la cátedra
 Adscripciones.
 Proyectos Finales.
 Proyectos de investigación.
5
Información del cursado
Regularización
Asistencia
• Clases de problemas: 80%
• Trabajos Prácticos: 100% (un recuperatorio)
Trabajos prácticos (5)
Asistencia y presentación.
Trabajo final (Simulación)
Presentación y aprobación
Parciales (2) (ejercicios de práctica)
Aprobar con 60% (con un recuperatorio)
Promoción de la práctica
Regularización + Parciales con 80% cada uno
(con 1 recuperatorio; vale la última nota)
6
Fuentes de información y comunicación
• Cartelera (Lab. 7)
• web:
• Calendario del cursado
• Reglamento de cursado
• Programa de la materia
y bibliografía
• Guías de problemas y de
laboratorio
• Transparencias de clases
de teoría
• Mails docentes
• Otras novedades
• Clave de archivos:
“E2105bio”
• mail:
efilomena@bioingenieria.edu.ar
7
Organización del cursado 1C
Semana
Práctica (Lunes)
Teoría (Martes)
1
11-mar
Sistemas; conversiones; aritmética -
T1 Introducción, sistema binario, aritmética, códigos
2
18-mar
Álgebra de boole, timing
T2 Compuertas, boole, maxi y minitérminos
3
25-mar
Diseño combinacional (mapas K);
funciones de varias salidas
T3 Diseño combinacional, mapas K
4
01-abr
5
08-abr
TP1
T4 Flipflops y registros
6
15-abr
Flip flops
T5 Contadores. Máquinas de estado
7
22-abr
Registros, contadores, secuenciales
T6 Estructuras de diseño lógico combinacional
8
29-abr
Registros, contadores, secuenciales
PARCIAL #1
9
06-may
TP2
T8 Familias #1
10
13-may
Decodificadores, muxs, demuxs, etc. /
Diseño integrador
T9 Familias #2
11
20-may
TP3
T10 Memorias
12
27-may
Memorias
T11 (PLDs y VHDL)
13
03-jun
Memorias
PARCIAL #2
14
10-jun
TP4 y TP5
RECUPERATORIOS
9
Temario del día
•
•
•
•
•
Circuitos digitales
• Tipos y características
Sistemas de numeración
• Sistema binario
• Sistemas octal y hexadecimal
• Conversiones entre los diferentes sistemas
• Cambios de base binario-decimal
Aritmética binaria - Representación de números con signo
• Módulo y signo
• Complemento a uno
• Complemento a dos
• Operaciones en complemento a dos
Otros códigos binarios
• Códigos binarios: BCD, Gray, Johnson
• Códigos de detección de errores: paridad
Suma BCD
10
Características de los circuitos digitales
luminosidad
luminosidad
12
12
9
6
6
variación
continua
3
variación
incremental
tiempo
tiempo
Circuitos digitales
Circuitos analógicos
V
Circuito digital variables
discretas en tiempo y amplitud
Circuito digital
t
11
Diagrama general de un sistema digital
Bloque
sensor
Información
del exterior
Bloque
para toma
de
decisiones
Bloque
con
memoria
Bloque
actuador
Acción deseada
12
Tipos de circuitos digitales
1. Circuitos digitales combinacionales (lógica combinacional)
Salida = F(entrada actual)
entrada
t(n)
Circuitos basados en
compuertas lógicas
circuito
combinacional
salida
t(n)
información  circuito de decisión  decisión
Ejemplo: Circuito de alarma de un monitor cardíaco de UTI
taquicardia
bradicardia
comparación
entre valor fijado
y valor actual del
paciente
control de la
alarma
(actuador)
13
2. Circuitos digitales secuenciales (lógica secuencial)
Salida = F(entrada actual, estado anterior)
Circuitos basados en
flip-flops
Incorporan capacidad
de memoria
t(n-1)
Entrada
t(n)
circuito
secuencial
circuito
combinacional
Salida
t(n)
Ejemplo: Cálculo de frecuencia cardiaca (promedio)
valores previos
de frecuencia
cardíaca
valor actual de
frecuencia
cardíaca
circuito
secuencial
(memoria)
circuito
combinacional
Valor de ppm
14
Estados de una señal digital
• 1 lógico
• ALTO
• HIGH (H)
V
• 0 lógico
• BAJO
• LOW (L)
t
Tecnología
Convención de
Convención
lógica negativa
de lógica
1 lógico  voltaje BAJO
positiva
0 lógico  voltaje ALTO
¿Qué es un 0, qué es un 1?
15
Tecnología
Niveles de voltaje de las señales digitales
Señales de entrada
VIHm: mínimo voltaje de entrada de nivel alto
VILM: máximo voltaje de entrada de nivel bajo
Señales de salida
VOHm: mínimo voltaje de salida de nivel alto
VOLM: máximo voltaje de salida de nivel bajo
CMOS
16
Temario del día
•
•
•
•
•
Circuitos digitales
• Tipos y características
Sistemas de numeración
• Sistema binario
• Sistemas octal y hexadecimal
• Conversiones entre los diferentes sistemas
• Cambios de base binario-decimal
Aritmética binaria - Representación de números con signo
• Módulo y signo
• Complemento a uno
• Complemento a dos
• Operaciones en complemento a dos
Otros códigos binarios
• Códigos binarios: BCD, Gray, Johnson
• Códigos de detección de errores: paridad
Suma BCD
18
Sistema numérico decimal
 Posicional de base 10: diez símbolos 0, 1,...9
 En decimal: an-1 .10n-1+ an-2 .10n-2 + … + a1.10 + a0
Ejemplos
24110
(b = 10; n = 3)
= 2.102 + 4.101 + 1.100
= 200 + 40 + 1
12,7010 (b = 10; n = 2)
= 1.101 + 2.100 + 7.10-1 + 0.10-2
= 10 + 2 + 0,7 + 0
 Capacidad de representación: 0 a (10n - 1)  10n conteos; n = número de dígitos
Ejemplo: con n = 3 dígitos, 0 a 999
 Limitaciones tecnológicas de implementación
19
Sistema numérico binario (código binario)
 Posicional de base 2
 Sólo dos símbolos: 0, 1
 Contamos 0,1,10,11,100,101,110,111,…
Ejemplo
10112 = 1.23 + 0.22 + 1.21 + 1.20
=8
+0
+2
+1
= 1110
• Cada dígito se denomina BIT (BInary digiT)
MSB (Most Significant Bit) y LSB (Low Significant Bit)
• Capacidad: 0 a 2n - 1 (2n conteos), con n = número de bits
Ejemplo: con n = 4 bits, 0 a 15
• Limitaciones para un operador humano (54810 = 10001001002)
20
Sistema numérico binario (natural) de 4 bits
21
Sistema numérico hexadecimal
 Posicional de base 16
 Dieciséis símbolos: 0, 1,2,3,4,5,6,7,8,9 ,A,B,C,D,E y F
• Contamos:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,
10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F
20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2E…..
Ejemplo
3E816 = 3.162 + E.161 + 8.160
= 3.256 + 14.16 +8.1
= 100010
• Capacidad: 0 a 16n - 1 (16n conteos), con n = número de digitos hexadecimales
Ejemplo: con n = 3 dígitos, 0 a 4095
22
Sistema numérico octal
 Posicional de base 8
 Ocho símbolos: 0, 1,2,3,4,5,6 y 7
 Contamos: 0,1,2,3,4,5,6,7,
10,11,12,13,14,15,16,17,
20,21,22,23
Ejemplo
1238 = 1.82 + 2.81 + 3.80
= 1.64 + 2.8 +3.1
= 8310
• Capacidad: 0 a 8n - 1 (8n conteos), con n = número de digitos octales
Ejemplo: con n = 3 dígitos, 0 a 511
23
Números decimales
Ejemplo
1011,1012
= 1.23 + 0.22 + 1.21 + 1.20 + 1.2-1 + 0.2-2 + 1.2-3
=8 +0 +2
+ 1 + 0.5 + 0
+ 0.125
= 11,62510
Ejemplo
3E8,316
= 3.162 + E.161 + 8.160 +3.16-1
= 3.256 + 14.16 +8.1
= 1000,187510
+3.0,0625
Conversión entre sistemas: cambio de base
Binario / octal / hexadecimal  decimal
Desarrollar el polinomio de potencias de la base
10112
2618
4CF16
= 1. 23 + 0. 22 + 1. 21 + 1. 20 = 1110
= 2. 82 + 6. 81 + 1. 80 = 18410
= 4. 162 + 12. 161 + 15. 160 = 123110
25
Conversión hexadecimal  binario
Conversión binario a hexa
Comenzando desde la derecha del número binario a convertir, se
agrupan los bits en cantidad de a 4 y se convierte a su hexadecimal
equivalente. Si faltan bits en el último grupo se completa con ceros.
Conversión hexa a binario
Se convierte cada dígito hexadecimal a su equivalente binario de 4 bits
Binario
Grupos de 4 bits
Hexa
001000
0000’1000
08
110001
0011’0001
31
1110
1110
E
Ejemplos:
116 = 0001
4316 = 0100 0011
A16 = 1010
7516 = 0111 0101
27
Conversión octal  binario
Conversión binario a octal
Comenzando desde la derecha del número binario a convertir, se agrupan
los bits en cantidad de a 3 y se convierte a su octal equivalente. Si faltan
bits en el último grupo se completa con ceros.
Conversión octal a binario
Se convierte cada dígito octal a su equivalente binario de 3 bits
Binario
Grupos de 3 bits
Octal
1000
001’000
10
1110
001’110
16
110001
110’001
61
28
•
•
Circuitos digitales
• Tipos y características
Sistemas de numeración
• Sistema binario
•
•
•
•
•
•
Sistemas octal y hexadecimal
Conversiones entre los diferentes sistemas
Cambios de base binario-decimal
Aritmética binaria - Representación de números con signo
• Módulo y signo
• Complemento a uno
• Complemento a dos
• Operaciones en complemento a dos
Otros códigos binarios
• Códigos binarios: BCD, Gray, Johnson
• Códigos de detección de errores: paridad
Suma BCD
29
Aritmética binaria
Suma
decimal
2
3
5
7
6
1
1
8
Suma binaria (definiciones)
1
0
+
0
0
0
+
1
1
1
+
1
+
1
1
1
0
1
1
(0, con 1 de acarreo
al siguiente bit)
(1, con 1 de acarreo
al siguiente bit)
Resta binaria: como suma de números negativos
30
Representación de números binarios con signo
1. Signo-magnitud
2. Código de Complemento a uno
3. Código de Complemento a dos
31
Representación en signo-magnitud
• Incorpora un bit de signo
0
1
0
1
1
0
1
1
= + 9110
1
= - 9110
magnitud = 9110
signo (+)
1
1
0
1
1
0
1
signo (-)
magnitud = 9110
• Rango: ± (2N -1)
N: número de bits de la magnitud
Para N = 7: desde –127 a +127
• Capacidad: 2N+1 -1
Para N = 7: 255
 Tiene dos ceros (!): 10000000 y 00000000
 Circuitos complejos
32
Representación en complemento a 1
• Incorpora un bit de signo
• Números positivos: como en binario natural (signo-magnitud)
• Números negativos: se invierte la representación binaria del número positivo,
incluyendo al bit de signo.
0
1
0
1
1
0
1
1 = + 91
1
0
1
0
0
1
0
0 = - 91 (complemento a 1)
Los números positivos son como en binario natural (pero el MSB indica el signo)
• Rango: ± (2N -1)
N: número de bits de la magnitud
Para N = 7: -127 a +127 (10000000 y
01111111)
• Capacidad: 2N+1 -1
Para N = 7: 255 valores
• El bit de signo participa en las operaciones
• Mayor complejidad de HW en operaciones que el C2 (el acarreo participa)33
Representación en complemento a 2
• Incorpora un bit de signo
• Números positivos: como en binario natural (signo-magnitud)
• Números negativos: (complemento a 1) + 1
0
1
0
1
1
0
1
0
= + 90
1
0
1
0
0
1
0
1
complemento a 1
1
suma 1
0
= - 90 (complemento a 2)
+
1
0
1
0
0
1
1
Los números positivos son como en binario natural (pero el MSB indica el signo)
• Rango: -2N a +(2N - 1)
N: número de bits de la magnitud
• Capacidad: 2N+1
Para N=7: -128 a +127 y 256 valores distintos
• Método rápido para hallar el complemento a 2
+ El más simple en requerimientos de HW (acarreos no se consideran)
34
Números con signo en el sistema de complemento a 2
a) Si el número es positivo:
0
signo (+)
1
1
0
0
1
0
0
= +10010
magnitud = número binario directo
b) Si el número es negativo:
1
0
0
1
1
1
0
0
= -10010
magnitud = complemento a 2
signo (-)
35
 El C2 de un número binario positivo / negativo obtiene su negativo /
positivo
Ejemplos:
+12 = 01100  10100 = -12
-30 = 100010  011110 = +30
Caso especial en C2
 Cuando la magnitud son todos 0 y el signo es 1, el valor es siempre –2N,
donde N = bits de la magnitud
1000
= -23 = -8
10000
= -24 = -16
100000 = -25 = -32
36
Suma en el sistema de C2
• El bit de signo opera como un bit de magnitud (participa en la adición)
• Ambos sumandos deben tener el mismo número de bits
• La suma no debe superar la capacidad establecida por la cantidad de bits
• Si el resultado es negativo, debe hallarse el C2 para obtener la magnitud
• Los acarreos (carry) finales son ignorados
 Caso #1: Dos números positivos
+8
+6
01000
00110
-------01110 = +1410
 Caso #2: Número positivo y número negativo menor (resultado positivo)
+8
-6
01000
00110  11010
--------100010 = +210 (se ignora el acarreo final!) 37
 Caso #3: Número positivo y número negativo mayor (resultado negativo)
-8
01000  11000
+6
00110
-------11110 (número negativo)
Se complementa a 2 para hallar la magnitud:
00010 = 2  - 2
 Caso #4: Dos números negativos
-8
-6
01000  11000
00110  11010
--------110010 (acarreo ignorado!; número negativo)
Se complementa a 2 para hallar la magnitud:
01110 = 14  -14
38
 Dos números iguales y opuestos (resultado cero)
-6
+6
00110  11010
00110
--------100000 (el acarreo se ignora) = 0
39
Desborde (overflow)
• Cuando se supera la capacidad de suma  debe considerarse el rango
permitido por la cantidad de bits usados en la representación de los números
(sumandos y suma)
• N bits  -2N a +(2N - 1)
donde N son los bits de la magnitud
Ejemplos
N = 4  rango: -16 a +15
-8
-8
+8
+8
01000
01000
--------10000 = -1610
signo y magnitud incorrectos
01000  11000
01000  11000
---------110000 = -1610 (24) (no hay overflow)
+12
+13
01100
01101
--------11001  00110 = -610
signo y magnitud incorrectos
40
Solución: aumentar la cantidad de bits de la representación
N = 5 bits de magnitud  rango: -32 a +31
+8
+8
001000
001000
---------010000 = +16 (correcto)
+12
+13
001100
001101
---------011001 = +25 (correcto)
-17
-13
+17: 010001  -17: 101111
+13: 001101  -13: 110011
---------100010  negativo
 011110 = 3010 (correcto)
41
Circuitos integrados sumadores binarios
Formas
comerciales
 CD4008 / 74HC283: sumadores completo binario de 4 bits
(full adder)
A3 A2 A1 A0 CIN
+ B3 B2 B1 B0
--------------------COUT S3 S2 S1 S0
42
•
•
Circuitos digitales
• Tipos y características
Sistemas de numeración
• Sistema binario
•
•
•
•
•
•
* Sistemas octal y hexadecimal
* Conversiones entre los diferentes sistemas
* Cambios de base binario-decimal
Suma binaria - Representación de números con signo
• Módulo y signo
• Complemento a uno
• Complemento a dos
• Operaciones en complemento a dos
Otros códigos binarios
• Códigos binarios: BCD, Gray, Johnson
• Códigos de detección de errores: paridad
*Suma BCD
43
Código BCD - Binary Coded Decimal
 Cada dígito decimal se codifica por separado  4 bits
 Aplicaciones: interfaces (teclados, displays, monitores)
Ejemplos
 Codificar 34810 en BCD
310 = 0011BCD
410 = 0100BCD
810 = 1000BCD  34810 = 001101001000BCD

¿Qué decimal es 00101001BCD?
0010BCD = 210
1001BCD = 910  00101001BCD = 2910
combinaciones
no válidas!!
Código BCD Aiken
• Se modifican los ‘pesos’: 8 4 2 1  2 4 2 1
• Es autocomplementario
• Hay combinaciones no válidas
Ejemplo:
Complemento a 9 de 4:
9–4=5
Complemento a 9 de 8:
9–8=1
Aplicación: Resta de decimales
Ejemplo:
342 - 128 = 342 + 128C9 = 342 + 871
342
+ 871
--------1 213
1
-------214
45
Código BCD Exceso 3
• BCD natural desplazado en 3
• No es ponderado.
• Es autocomplementario.
• Combinaciones no válidas: 0,1,2, 13,14,15.
• Importante: una vez sumado 3, se codifica en binario natural y no en BCD
natural.
• Ejemplo: 7510  7+3 = 10 = 10102
 5+3 = 8 = 10002
 1010 1000E3
46
Otros códigos BCD
Pesos 4,2,2,1
Pesos 3,3,2,1
Pesos 6,3,1,-1
47
Códigos continuos
Cada combinación difiere de la anterior y posterior en un sólo bit
• Cíclicos: se cumple entre la última y primera combinaciones
• Son no ponderados
• Tipos y aplicación
• Gray: transducción de desplazamientos
• Johnson: contadores con salidas decodificadas
48
Código Gray (Frank Gray, Bell Lab’s, 1953)
• Capacidad: 2n , con n = número de bits
• Aplicación actual:
• Diseño de circuitos electrónicos combinacionales (Mapas K)
• Codificadores ópticos (optical encoders)
• Ventaja adicional: facilidad de conversión a y desde el binario natural
49
Obtención del Gray de 4 bits
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
50
Aplicaciones: encoders ópticos
Aplicaciones
51
Aplicaciones
Binario
(7) 0111
(8) 1000
Gray
0100
1100
52
Dispositivos comerciales
Formas
comerciales
Encoder Gray de 8 bits
53
Código Johnson (Johnson-Shannon)
• Continuo y cíclico
• Capacidad: 2n (para n bits)
• Principal ventaja: sencillez de diseño de contadores y su decodificación
Código Johnson de 5 bits
54
Códigos detectores de error
Error: combinación que no pertenece al código
Requisitos para detectar un error
• No usar todas las combinaciones posibles (necesaria pero no suficiente)
• Distancia entre dos combinaciones binarias: número de bits que
deben cambiarse en una de ellas para obtener la otra.
• Distancia mínima (Dm): menor distancia que pueda existir entre dos
combinaciones cualesquiera de un código.
Ejemplo: en binario natural y los BCD la Dm = 1
• La Dm establece la máxima cantidad de bits de error que no
serán detectados.
Para que un código pueda detectar errores, su Dm debe ser mayor a 1
55
 Ninguno de los códigos vistos hasta ahora cumple con el requisito.
 En general, el número de bits erróneos que se pueden detectar es
igual al número en que la distancia mínima supera a la unidad.
 Ejemplo: si Dm = 2 se detectan errores de (Dm – 1) = 1 bit
Códigos de paridad
• Incorporan un bit extra (“de paridad”)
• La Dm se aumenta a 2  detectan errores de 1 bit
Método de paridad par:
El dato siempre tiene un número par de 1 lógicos.
Método de paridad de impar:
El dato siempre tiene un número impar de 1 lógicos.
56
Ejemplo (paridad impar):
Dato transmitido:
10011
• Dato recibido:
10001
• La cantidad de “1” es par
 error detectado
• Dato recibido: 10000
• La cantidad de “1” es impar
 error no detectado
57
Dispositivos comerciales
Formas
comerciales
74LS280: Generador / chequeador de paridad par / impar de 9 bits
58
Diseño
¿Cómo se lo puede usar como generador de paridad impar?
74x280
B0…B7
‘0’
A
B
.
.
.
H
Even
B8
B0…B8
I
B0…B7
Generador de paridad impar
59
FIN
60
Sistemas de numeración posicional
 La posición de los símbolos a es significante
 En decimal: 32  23
 Base b: es la cantidad de símbolos del código
 En decimal: base = 10
 Una cantidad se expresa como un polinomio de potencias de la base.
an-1 an-2 … a1 a0 con
0  ai < b
n = posición del símbolo
y su valor es:
bn-1.an-1 + bn-2.an-2 + … + b.a1 + a0
donde bn-i es el peso de símbolo de posición n-i
61
Suma BCD
• Para operaciones en decimal
• La suma se efectúa como la suma binaria natural (incluido el bit de signo)
• La máxima combinación válida es 1001 = 910
 Caso #1: no hay acarreo decimal (ningún dígito de la suma es mayor a 9)
5
+3
0101
0011
------1000 = 810
25
+13
0010 0101
0001 0011
--------------0011 1000 = 3810
62
 Caso #2: algún dígito de la suma es mayor que 9 (hay acarreo decimal)
5
+6
0101
0110
------1011 = 1110
combinación BCD no válida
Corrección: sumar 0110 (610)
5
+6
0101
0110
------1011
suma no BCD
+ 0110
corrección (610)
-------1 0001 = 0001 0001 = 1110
63
9 + 11
0000 1001
0001 0001
-------------0001 1010
0110
-------------0010 0000
= 0910
= 1110
nibble no BCD
corrección
= 2010
 Caso #3: se produce un medio acarreo (half carry)
59 + 38
1
0101 1001
0011 1000
-------------1001 0001
0110
-------------1001 0111
= 5910
= 3810
= 9110 half carry en el LSD
corrección
= 9710
64
Resta BCD
• Se usa el complemento a 9 para hallar el negativo del número y luego
se opera como en la suma
• El complemento a 9 de un número N es: 9 - N
• Se agrega un bit de signo en el MSB
9 – 11 = 9 + (-11)
1
0 0000 1001
1 1000 1000
número 1110)
----------------1 1001 0001
0110
----------------1 1001 0111
0910
8810 (complemento a 9 de cada dígito del
-0810 incorrecto (se produjo half carry)
corrección
-9710 (complemento a 9: 0210)
65
Código 2 entre 5 (biquinario) Bell Lab’s 1940
Códigos
• Se basa en que cada bloque de cinco bits (penta-bit) tenga
exactamente dos 1 lógicos (2 entre 5).
• De este modo, se pueden detectar posibles errores cuando no hay
exactamente dos 1s en cada penta-bit.
• Detecta únicamente errores por cambio en un solo bit; si en un mismo
penta-bit un 0 cambia a 1 y un 1 cambiaba a 0, la regla de dos-entrecinco se sigue cumpliendo y el error queda sin descubrir.
• Existen varios métodos para la codificación mediante el sistema 2
entre 5.
66
Código de Hamming (Richard Hamming, 1950 [1915-1998])
Códigos
• El algoritmo de Hamming corrIge errores de un bit, y detecta errores
de dos bits.
• Si el ruido puede cambiar como máximo 2 bits de 7, el código
Hamming es el de más eficiencia.
• El medio tendría que ser muy ruidoso para que se perdieran más de
2 bits de cada 7 (45% de los bits transmitidos).
67
Códigos
Decima
1l
2 entre 5
11000
10100
10010
10001
2
3
6
El resto de números (4, 5, 7, 8 y 9) los
formaremos por combinación de dos
bits (suma de pesos):
Decimal suma 2 entre 5
4
3+1
01010
5
7
8
9
3+2
6+1
6+2
3+6
00110
01001
00101
00011
Como ya hemos utilizado los dos bits posibles, no
hace falta el bit de paridad, por lo que permanece a 0
El 3 también podíamos haberlo obtenido mediante
2+1. Esta duplicidad es la que se selecciona para
representar el 0, ya que el 3 tiene su propio bit de
peso igual a 3.
Código 2 entre 5
68
Códigos
Decima
l
2 entre 5
0
01100
También puede ser un código no ponderado, en el que los valores
son:
0 = 00011
1 = 00101
2 = 00110
3 = 01001
4 = 01010
5 = 01100
6 = 10001
7 = 10010
8 = 10100
9 = 11000
Código 2 entre 5
69
Sumadores
Sumador completo
• Realiza la suma de dos bits con acarreo
• S, Co = A + B + Ci
A
B
S
Sumador
completo
Co
Ci
70
Multiplicación de números binarios
• Similar a la multiplicación decimal
0101 = 510
1100 = 1210
------0000
0000
0101
0101
-----------0111100 = 6010
71
Unidad aritmético-lógica
ALU de 1 bit
SELECCION
DE LA
OPERACION
ENTRADA
DATO A
OPERADOR 1
OPERADOR 2
ENTRADA
DATO B
M
U
L
T
I
P
L
E
X
O
R
SALIDA
RESULTADO
OPERADOR n
72
ALU de n bits
EN
TR
A
AD
S
T
DA
O
A
EN
TR
A
AD
S
T
DA
O
B
S E L E C C IÓ N
O P E R A C IO N
SA
D
LI
AS
RE
SU
A
LT
DO
73
Indicadores de resultado
0

Indicadores
de Resultado

Salidas
Resultado

__________
C Acarreo
Z Cero
N Negativo

C
Z
N
74
Símbolo de una ALU de n bits
Entrada
Dato A
Indicadores
de resultado
Entrada
Dato B
Selección
Operación
ALU
(FLAGS)
Salida Resultado
75
ALU de 1 bit: suma, NAND e identidad
SELECCION
DE LA
OPERACION
ENTRADA
DATO A

M
U
L
T
I
P
L
E
X
O
R
SALIDA
RESULTADO
ENTRADA
DATO B
76
Diagrama de una ALU de 1 bit
Selección
Operación
Entrada
Dato A
Operador 1
Operador 1
Entrada
Dato B
M
U
X
Salida
Resultado
Operador 1
77
Diagrama externo de una ALU de 1 bit
Entrada
Dato B
Entrada
Dato A
Selección
de la Operación
Salida Resultado
78
Descargar