Sunteți pe pagina 1din 31

Modelos

Computacionales:
Parte 1
Arturo Daz Prez
Unidad Tamaulipas
Centro de Investigacin y de Estudios Avanzados del IPN
E-mail: adiaz@tamps.cinvestav.mx

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 1


Contenido
El circuito lgico
Circuitos con memoria
La mquina de estados finitos

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 2


Cmo sumar 2 bits?
Dos entradas y dos salidas etiquetadas como sigue:
X Y C S
X S 0 0 0 0
Sumador 0 1 0 1
Y C 1 0 0 1
(X + Y) 1 1 1 0

X
S
C = X.Y Y
S = X'.Y + X.Y' = XY
C

Half Adder
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 3
Sumador Completo
Para sumar dos nmeros binarios, se necesitan
sumar 3 bits, incluido el acarreo
Ejemplo: 1 1 1 carry
0 0 1 1 X
+ 0 1 1 1 Y
1 0 1 0 S

X
Full S
Y
Z
Adder C
(X + Y + Z)

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 4


Diseo del Sumador Completo
Tabla de Verdad:
Nota:
X Y Z C S
0 0 0 0 0 Z - carry in (a la posicin actual)
0 0 1 0 1 C - carry out (a la posicin siguiente)
0 1 0 0 1
0 1 1 1 0 C
1 0 0 0 1 YZ
00 01 11 10
1 0 1 1 0 X
1 1 0 1 0 0 1
1 1 1 1 1 1 1 1 1

YZ
S
00 01 11 10
Usando mapas de Karnaugh se obtiene: X
0 1 1
C = X.Y + X.Z + Y.Z
1 1 1
S = X'.Y'.Z + X'.Y.Z'+X.Y'.Z'+X.Y.Z

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 5


Simplificando el Sumador Completo
Frmulas alternativas simplificando las expresiones
C = X.Y + X.Z + Y.Z
= X.Y + (X + Y).Z
= X.Y + ((XY) + X.Y).Z
= X.Y + (XY).Z + X.Y.Z
= X.Y + (XY).Z

S = X'.Y'.Z + X'.Y.Z' + X.Y'.Z' + X.Y.Z


= X.(Y'.Z + Y.Z') + X.(Y'.Z' + Y.Z)
= X'.(YZ) + X.(YZ)'
= X(YZ) or (XY)Z

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 6


Diseo del sumador completo
Salidas del sumador completo
C = X.Y + (XY).Z
S = (XY)Z

(XY)
X
Y S

(XY)

Full Adder se puede construir a partir de dos Half-Adders (+ compuerta


OR).

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 7


Compuertas Lgicas
Compuerta Lgica
Un dispositivo fsico que realiza una funcin booleana
f: N { 0, 1 }
Frecuentemente n se codifica como una nmero en base 2
n = xk-12k-1 + xk-22k-2 + ... + x121 + x020 +, xi= 0, 1

Las compuertas lgicas pueden ser construidas por tecnologas diferentes


Se acostumbra utilizar un smbolo lgico para cada compuerta
Los smbolos se utilizan para dibujar circuitos lgicos

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 8


Circuitos Lgicos
x1
X
S
Y
Z
x2

x3 C

x4

x1 := X xor Y
x2 := X nand Z
x3 := Y nand Z Ejercicio: Verificar que el
x4 := X nand Y circuito realiza a funcin de
S := x1 xor Z un sumador completo
C := (x2 nand x3) nand x4
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 9
Cul de los dos circuitos es mejor?
(XY)
X
Y S

(XY)

Z
x1
X
S
Y
Z
Nmero de compuertas x2

Retrasos x3 C

x4

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 10


Cmo construir un sumador de 4-bits?
X4 X3 X2 X1 Y4 Y3 Y2 Y1

C5 4-bit Adder C1

Diagrama a bloques de
S4 S3 S2 S1 un sumador de 4 bits

El resultado de 5-bits es suficiente porque

(1111)2+(1111)2+(1)2 = (11111)2

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 11


Sumador de 4-Bits
La tabla de verdad para 9 entradas tiene
29=512 renglones
X4X3X2X1 Y4Y3Y2Y1 C1 C5 S4S3S2S1
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 0 0 1
... ... ... ... ...
0 1 0 1 1 1 0 1 1 1 0 0 1 1
... ... ... ... ...
1 1 1 1 1 1 1 1 1 1 1 1 1 1

La simplificacin sera muy complicada

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 12


Sumador de 4-bits en cascada
Y 4 X4 Y 3 X3 Y 2 X2 Y 1 X1
C4 C3 C2

C5 FA FA FA FA C1

S4 S3 S2 S1

Input
Output Cuntas compuertas?
Cuntos retrasos?

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 13


Ejercicio
1. Para un sumador de 4 bits en cascada,
determinar
1. Nmero de compuertas a utilizar (Espacio)
2. Retraso mximo para obtener el resultado final
(Tiempo)
2. Disear con sumador de 4 bits con la tcnica de
carry look-ahead (investigar) y determinar:
1. Nmero de compuertas a utilizar (Espacio)
2. Retraso mximo para obtener el resultado final
(Tiempo)

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 14


Circuitos Lgicos
Circuito Lgico
Un Grafo Dirigido Acclico en el cual todos sus vrtices,
excepto los vrtices de entrada y salida, estn etiquetados
con compuertas lgicas
Los circuitos lgicos ejecutan programas estrictamente
secuenciales, esto es, programas que consisten
nicamente de asignamientos
Los circuitos lgicos constituyen los bloques bsicos para la
construccin de computadoras digitales.
No contienen ciclos ni saltos
Cuando se combinan con celdas de memoria binarias, se
pueden construir mquinas con memoria (mquinas de
estados finitos)

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 15


Multiplicacin
La multiplicacin no es tan difcil!
Sumas repetidas
Si tenemos sumadores podemos tener multiplicadores
La operacin AND es equivalente a multiplicar dos
bits:
a b ab a b ab
0 0 0 0 0 0
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 1 1 1

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 16


Multiplicacin de nmeros binarios
1 1 0 1 Multiplicando
x 0 1 1 0 Multiplicador

0 0 0 0 Productos Parciales
1 1 0 1
1 1 0 1
+ 0 0 0 0

1 0 0 1 1 1 0 Producto

Ya que se multiplica por 0 o 1, el producto parcial es o 0000 o el


multiplicando (1101 en este ejemplo).
Hay cuatro productos parciales que son sumados para formar el
resultado
Podemos sumarlos en pares, usando tres sumadores
Aun cuando el resultado es hasta de 8 bits, podemos usar sumadores de 4
bits.
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 17
Un multiplicador binario de 2x2
B1 B0
x A1 A0
A0 B 1 A0B0
+ A1B1 A1B0
C3 C2 C1 C0

Las compuertas AND generan los


productos parciales
Para un multiplicador de 2-bits
podemos usar half adders para
sumar los productos parciales.
Aqu C3-C0 son los productos no
los acarreos

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 18


Un multiplicador de 4x4 bits

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 19


Ms acerca de los multiplicadores
Note que este multiplicador de 4-bits produce
resultados de 8-bits.
Cuntas compuertas se requieren para un
multiplicador de 32 bits?
Los multiplicadores son circuitos muy complejos
En general, cuando se multiplican un nmero de m-bits
por uno de n-bits
Hay n productos parciales, uno por cada bit del multiplicador
Se requieren n-1 sumadores, cada uno de m bits.
El circuito para un multiplicador de 32 o 64 bits
sera enorme
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 20
Mquinas de Estados Finitos
Mquinas de estados finitos
Es una mquina con memoria
Ejecuta una serie de pasos en los cuales
toma su estado actual de un conjunto de estados Q
define su salida a partir de un conjunto de smbolos de
entrada S
FSM = < S, Y, Q, d, l>
S, alfabeto de smbolos de entrada
Y, alfabeto de smbolos de salida
Q, conjunto finito de estados
d, funcin de transicin
d : S Q Q
l, funcin de salida
l : S Q Y

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 21


Mquinas de Estados Finitos
Salida

Entrada

L Memoria

Estado

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 22


FSM: Ejemplo
0/0 1/0
0/0

a 1/0 b 1/0 c

0/1

ESTADO V0 V1 0 x_in 1

a 0 0 00,0 01,0
b 0 1 00,0 10,0
c 1 0 00,1 10,0
- 1 1 --,- --,-

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 23


Moore_110_Detector

Moore_110_Detector

Logical Part Memory Part

d logic 1 d logic 2 z logic dff0 dff1

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 24


Moore_110_Detector: Overall
Structure
x
d logic 0

D 0 Q
CLK

d logic 1

D 1 Q
CLK
memory
part

clk
z logic
Ejercicio: Verificar que el
z circuito realiza la funcin
logical part del detector 110
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 25
VHDL Behavioral Description
ENTITY moore_110_detector IS
PORT( x, clk: IN std_logic;
z: OUT std_logic );
END moore_1110_detector;
--
ARCHITECTURE behavioral OF moore_110_detector IS
TYPE state IS (reset, goto1, goto11, goto110);
SIGNAL current: state := reset;
BEGIN
PROCESS(clk)
. . .

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 26


VHDL Behavioral Description
BEGIN
PROCESS( clk )
BEGIN
IF clkevent and clk = 1 THEN
CASE current IS 0 1
WHEN reset => 0
IF x = 1 THEN current <= goto1;
ELSE current <= reset; END IF;
r/0 1 g1/0 1 g11/0
WHEN goto1 =>
IF x = 1 THEN current <= goto11;
ELSE current <= reset; END IF; 1
WHEN goto11 => 0
IF x = 1 THEN current <= goto11; g110/1 0
ELSE current <= goto110; END IF;
WHEN goto110 =>
IF x = 1 THEN current <= goto1;
ELSE current <= reset; END IF;
END CASE;
END IF;
END PROCESS;
z <= 1 WHEN current = goto110 ELSE 0;
END behavioral;
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 27
Autmata Finito
Autmata Finito
AF = < S, Q, d, q0, F>
S, alfabeto de smbolos de entrada
Q, conjunto finito de estados
d, funcin de transicin
d : S Q Q
q0, estado inicial
F Q, conjunto de estados finales

0 0
1

q0/0 q1/1
Disee un autmata finito que reconozca
palabras de {0,1}* con un nmero impar1
de 1s y de 0s.

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 28


Autmata de Pila
Autmata de Pila
Consiste de
una cinta de entrada,
un control finito y
Cinta de Entrada
una pila
AF = < S, G, Q, d, q0, Z0, F> Mecanismo
S, alfabeto de smbolos de entrada de
Control
G, alfabeto de smbolos de la pila
Q, conjunto finito de estados Pila

d, funcin de transicin
d : Q S G Q G
q0, estado inicial
Z0, smbolo inicial de la pila
F Q, conjunto de estados finales
Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 29
Autmata de Pila
Autmata de Pila
Consiste de
una cinta de entrada,
un control finito y
una pila

Cinta de Entrada

Mecanismo
de
Control

Pila

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 30


Ejercicios
1. Verifique que el diseo de la lmina 9 realiza la
funcin de un sumador completo.
2. Disee un sumador de 4 bits con carry look-ahead
3. Verifique que el diseo de la lmina 25 realiza
efectivamente la funcin del detector 110.
4. Disee un autmata finito que reconozca palabras de
{0,1}* con un nmero impar de 1s y de 0s.
5. Hacer el diseo del circuito lgico del autmata finito
del ejercicio 4.
6. Disee un autmata de pila que reconozca palabras de
0n1n para cualquier n >= 0.

Introduccin a la Ingeniera y Tecnologas Computacionales: Unidad 3 31

S-ar putea să vă placă și