es un power point dedjdjffcdjcjvcsdchcbsdahcbdsavhcbadsvhbsdhvcbshdvbshcvbhvbsdfbhfcbvhbfhvbfhvfhvbfhvbhfbvhfvbhfvjsdvcadvasdjvndavjnadjcnsjdbjhfvbhfvbdshvbfdshvbdshbcdshvbshdvbsdahvbdshvbadsvbdshvbsdvhdsbvsadvhbsdvbdasvbshdvbshvbdsahvsda
2. ARQUITECTURA DE COMPUTADORES
En esta Unidad veremos la metodología de diseño lógico de circuitos electrónicos,
digitales, combinacionales y secuenciales, así como de dispositivos lógicos
programables.
Circuitos lógicos de sistemas digitales
Las expresiones booleanas permiten la representación algebraica del valor de una
función que representa la salida de un circuito.
En los circuitos lógicos de sistemas digitales los estados 0 o 1 determinan dos niveles
de tensión que tendremos en las entradas y las salidas de los mismos.
Introducción
3. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Los circuitos combinacionales lógicos son hechos a partir de las compuertas básicas
: compuertas AND, compuertas OR, compuertas NOT y también pueden ser
construidos con compuertas NAND, compuertas NOR y compuertas XOR ó
XNOR que son una combinación de más de una compuerta básica.
Entre los circuitos combinacionales clásicos tenemos:
Circuitos lógicos
Generador / Detector de paridad
Codificador y Decodificador
Multiplexor y Demultiplexor
Conversor de códigos
Comparador
Circuitos aritméticos
Semi sumador y sumador completo
Sumador restador binario
Sumador BCD
Circuitos aritméticos y lógicos
Unidad aritmético Lógica (UAL ó ALU)
4. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito generador de paridad
Un circuito generador de paridad permite la detección de error en la transmisión de información
entre un emisor y un receptor de información binaria cuyo coeficiente de probabilidad de error
sea menor o igual a un bit.
5. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito codificador
Un circuito codificador es un dispositivo que tiene 2N entradas y N salidas donde
las entradas pueden no estar todas utilizadas mientras que las salidas no
puede faltar ninguna ya que es un código cada una de las N salidas es una
función lógica que tenemos que representar.
CODIFICADOR
2N
entradas
N salidas
6. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito codificador
Veremos cómo las señales binarias provenientes de un teclado numérico pueden
transformarse en salidas codificadas, por ejemplo, en BCD. Consideremos teclas
numéricas sin tener en cuenta las teclas de operación ( +, -, *, etc.) comunes en
todo teclado.
Uno de los códigos más usados en la representación de números es el BCD 8421 o
BCD puro. La tabla de verdad muestra sólo 10 de las 210 = 1024 combinaciones
posibles para 10 entradas, porque se considera que no se presionan dos teclas en
forma simultánea.
8. Circuitos combinacionales
ARQUITECTURA DE COMPUTADORES
F3
F2
F1
F0
Circuito codificador de un teclado decimal a
código BCD natural.
T T T T T T T T T T
9 8 7 6 5 4 3 2 1 0
F0 = T1 + T3 + T5 + T7 + T9
F1 = T2 + T3 + T6 + T7
F2 = T4 + T5 + T6 + T7
F3 = T8 + T9
9. Circuito decodificador
El decodificador es un dispositivo que tiene N variables de
entrada y 2N salidas; no puede faltar ninguna entrada ya
que es un código mientras que las salidas solo estarán
presentes las necesarias como se ve en la diapositiva
anterior para el caso de querer visualizar los números que
representan cada código BCD mediante el encendido de
segmentos que vemos en un digito de siete segmentos. En
otra aplicaciones podemos utilizar todas las salidas como es
el caso de la decodificación de direcciones de memoria
donde cada una de las salidas corresponde a una dirección
de memoria.
Circuito decodificador n X 2n
Circuitos combinacionales
ARQUITECTURA DE COMPUTADORES
10. Opera en forma inversa al codificador en el siguiente sentido: la información que ingresa en el circuito implica
combinaciones binarias pertenecientes a alguna convención de representación de caracteres (numéricos o
alfanuméricos) y las convierte a señales binarias para representar en algún dispositivo de salida de
información de manera que podamos interpretarla.
Circuito decodificador de
código
Circuitos combinacionales
Circuito decodificador
ARQUITECTURA DE COMPUTADORES
DECODIFICADOR
Ejemplo de decodificador de BCD a 7 segmentos
11. Luego, las funciones se representan algebraicamente
con el minitérmino que corresponde al valor de
entrada.
De la tabla de verdad obtenemos las siguientes
ecuaciones lógicas:
F0 = A . B
F1 = A . B
F2 = A . B
F3 = A . B
Circuitos combinacionales
Circuito decodificador de 2 variables de entrada
ARQUITECTURA DE COMPUTADORES
12. En las cuatro primeras
combinaciones no decodifica
cuando el enable está en 0
Circuitos combinacionales
Circuito decodificador con habilitación adicional
ARQUITECTURA DE COMPUTADORES
a b
13. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuitos multiplexores y demultiplexores
Un demultiplexor es un dispositivo que tiene una entrada de datos y 2 a la n salidas donde n es la cantidad
de entradas de selección que posee, dirigiendo el dato hacia la salida seleccionada.
Por el contrario un multiplexor es un dispositivo que tiene 2n entardas de datos y una salida, de tal manera
que la entrada que está seleccionada mediante las n entradas de selección, es la que esta presente en la
única salida. Esquematicamente se observan los esquemas gráficos correspondientes.
n entradas de selección
14. Circuito decodificador n X 2n
Circuitos combinacionales
Un demultiplexor es un circuito cuya función digital es “encaminar” la información que viene en
una sola línea de entrada, en 1 de las 2n salidas. Se puede pensar en un decodificador en el que la
entrada de habilitación es la portadora del bit que se ha de “encaminar” y la selección de la línea
de salida (habilitada por líneas de selección) determina qué salida es la encargada de transmitirlo.
Por este motivo se lo conoce como decodificador/demultiplexor. Algunas de las aplicaciones de un
demultiplexor son, por ejemplo, distribuir una entrada de datos en serie a una salida en paralelo o
transferir bits de una línea de bus a un registro determinado; por eso también se lo denomina
distribuidor (ejemplo un modem telefónico que de una línea telefónica ingresamos información a
una computadora donde la manejamos en forma codificada como ser caracteres ASCII de 8 bits. .
ARQUITECTURA DE COMPUTADORES
15. Circuito decodificador n X 2n
Circuitos combinacionales
Demultiplexor de dos entradas de selección:
ARQUITECTURA DE COMPUTADORES
Dato
Entradas de Selección
a b
16. Circuito decodificador n X 2n
Circuitos combinacionales
Un multiplexor es un circuito combinacional cuya función digital es “encaminar” las señales binarias
de 1 de las 2n líneas posibles de entrada a la única línea de salida. La línea de entrada de dato se
“elige” a partir de los valores que puedan tomar de las n líneas de selección.
ARQUITECTURA DE COMPUTADORES
D0
D3
D2
D1 F
a b
17. Circuito decodificador n X 2n
Circuitos combinacionales
ARQUITECTURA DE COMPUTADORES
Aplicaciones de los multiplexores
1. Un MUX nos permite implementar funciones lógicas, en la cual, las entradas de selección serán las variables de la
función y los datos de entrada serán cada uno de los valores que toma la función para cada combinación posible de
las variables de la misma.
2. Un MUX se puede implementar con cierto número de compuertas lógicas, porque básicamente es un decodificador
con sus salidas asociadas a una única compuerta.
3. Los MUX de pocas entradas se utilizan en los dispositivos de lógica programables.
4. Asimismo, el MUX se utiliza para la conversión de bits transferidos de modo paralelo a serie, esto es, de a uno por
vez, utilizando una sola línea.
5. La multiplexación de bits de dirección en memorias se emplea, por ejemplo, cuando un bloque de caché supera la
capacidad del bus, si el bloque es de 128 bits y el bus de 64; entonces, primero se transfiere un grupo de 64 bits y luego
el otro.
6. Se puede armar un módulo desplazador que permite mover bits a derecha e izquierda en registros de
desplazamiento bidireccionales, bajo microoperaciones de control, por ejemplo, las que genera la unidad de control
cuando se ejecuta una instrucción de desplazamiento (ver sección "Registros con facilidad de desplazamiento").
18. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito convertidor de código
Son circuitos cuya función digital es obtener en las salidas combinaciones binarias
pertenecientes a alguna convención de representación de caracteres (numéricos o
alfanuméricos).
Las entradas pueden ser señales que provienen de algún dispositivo de entrada de
información (p. ej., señales de teclado) o pueden ser combinaciones binarias de otro
código para convertir.
19. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito convertidor de código
Ejemplo: Un circuito que convierte un dígito BCD
puro en su correspondiente valor BCD 2421.
1
2
20. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito comparador de magnitud
Es común que se necesite comparar dos números binarios de n bits para saber si éstos son
iguales, o si uno es mayor o menor que otro. Podemos simplificar el problema analizando la
comparación de dos bits.
1
0
0
1
Z X Y
Circuito lógico
21. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Circuito Semi-Sumador:
Es un dispositivo que me permite sumar dos bits por lo que tiene
dos entradas y dos salidas que corresponden a la suma y el
carry o transporte al siguiente bit. En la figura siguiente se
muestra la representación esquemática del mismo.
Tabla de verdad de un semi sumador
22. Sumador Elemental: Semisumador
El sumador elemental será capaz de sumar un par
de bits “a” y “b”.
La Tabla de Verdad se deriva a partir de la Tabla
de Suma Aritmética binaria.
0 1
b
0
1
a
0
1
0
1
1
0
0
0
a b S
suma
C
acarreo
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S = a b
C = a b
+
ARQUITECTURA DE COMPUTADORES
Ecuaciones lógicas
Diagramas de Veitch-Karnaugh Tablas de verdad
23. Para sumar dos cantidades de n bits es
necesario disponer de n bloques
funcionales como el obtenido.
Si bien permiten sumar bit a bit, al no
tener en cuenta el acarreo previo no
implementan correctamente la suma. Por
este motivo este bloque se denomina
semisumador o half adder.
ss
a
b
S
C
ss
a
b
S
C
Sumador Elemental: Semisumador
ARQUITECTURA DE COMPUTADORES
Circuito lógico del semi sumador
Diagrama en bloques del semi sumador
24. Este bloque se denomina sumador completo
o full adder.
Permite sumar bit a bit, y dado que tiene en
cuenta el acarreo previo, posibilita la
implementación correcta de una suma de n
bits.
◦ Justificar la implementación propuesta para el
sumador completo.
Sumador Elemental: Sumador Completo
sc
a
b
S
C
c-1
a
b S
C
ss
sc
ss
c-1
a + b
ARQUITECTURA DE COMPUTADORES
25. a
b
S
C
Sumador Completo
ARQUITECTURA DE COMPUTADORES
Circuito lógico del sumador completo
Diagrama en bloques
sc
a
b
S
C
c-1
a b c-1 S
suma
C
acarreo
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tabla de verdad
c-1
26. Sumador – Restador en Complemento Auténtico
S/R b b'
0 0 0
0 1 1
1 0 1
1 1 0
Si S/R es cero (0) el bit “b” se transfiere
sin cambios; si es uno (1), el bit
transferido es el complemento directo del
recibido
sc
a b
b'
c-1
S
C
S/R
ARQUITECTURA DE COMPUTADORES
27. Sumador-Restador de n bits
a0 b0 S/R
a1 b1
ai bi
an-1 bn-1
sc
b'
c-1
S/R0
sc
b'
c0
S/R1
sc
b'
ci-1
S/Ri
sc
b'
cn-1
S/Rn-1
C
c1
ci
S/R = 0 Suma
S/R = 1 Resta
bits A bits B
bits S/R
bit C
S/R
ARQUITECTURA DE COMPUTADORES
28. Sumador-Restador de n bits con sus flags
a0 b0
S/R
a1 b1
ai bi
an-1 bn-1
sc
b'
c-1
R0
sc
b'
c0
R1
sc
b'
ci-1
Ri
sc
b'
cn-1
Rn-1
C
c1
ci
S/R = 0 Suma
S/R = 1 Resta
ARQUITECTURA DE COMPUTADORES
(C) Carry (S) Signo (V) Overflow (Z) Zero
Perteneciente al Registro de Estado o de Flags
Status Register
C Z
S V
31. Circuitos multiplexores y
demultiplexores
ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Unidad Lógica para un bit de las operaciones lógicas utilizando
un multiplexor. Supongamos las operaciones NOT (negación o
complemento), AND (conjunción o producto lógico), OR
(disyunción inclusiva o suma lógica), XOR (disyunción
excluyente o suma exclusiva), que identificamos con los
números 00, 01, 10, 11, respectivamente. Las señales de
control indican cuál de las "instrucciones" pasan por la línea de
resultado, al operar los bits Op1 y Op2. Para este ejemplo, A =
0 y B = 1, entonces, el resultado R es el producto lógico entre
ambos operadores: Op1 AND Op2.
32. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Unidad Aritmética
La unida aritmética puede
resolver cuatro funciones que
son la suma la resta el
incremento de una variable y el
decremento de una variable.
En el circuito vemos como se
resuelve para un bit y nuestro
dispositivo tendrá tantos
módulos como el mostrado
como bits maneje nuestra
arquitectura.
MUX
SC
Ai
Bi UAi
Ci-1
Ci
Conectada al bit
menos significativo
0 1 X Y
X Y UAi
UAi
0 0 A+B
0 1 A-B
1 0 A+1
1 1 A-1
101 5
111
100 4
33. ARQUITECTURA DE COMPUTADORES
Circuitos combinacionales
Unidad Aritmética - Lógica
La unida aritmética puede
resolver diez funciones que son
cuatro aritméticas, cuatro
lógicas y dos de rotación.
En el circuito y la tabla de
verdad vemos como se
resuelven en forma
esquemática mostrado para
tres bits siendo el bit i genérico
pero para el esquema
representa el bit mas
significativo. M0, M1 y Mi son
multiplexores de dos entradas
de selección
Unidad
Aritmética
M0
UAi
X Y
P Q X Y Acumulador
0 0 0 0 A+B
0 0 0 1 A-B
0 0 1 0 A+1
0 0 1 1 A-1
0 1 0 0 NOT
0 1 0 1 AND
0 1 1 0 OR
0 1 1 1 XOR
1 0 X X ROT I
1 1 X X ROT D
Unidad
Lógica
M1
Mi
Ac0
Ac1
Aci
A0
A1
Ai
An
B0
B1
Bi
Bn
A0
A1
Ai
An
B0
B1
Bi
Bn
P Q