0% encontró este documento útil (0 votos)
4 vistas28 páginas

Introducción a Microprocesadores y Sumas Binarias

Cargado por

micaperu8a
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas28 páginas

Introducción a Microprocesadores y Sumas Binarias

Cargado por

micaperu8a
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

02/01/2025

Introducción a los
MICROPROCESADORES
Parte I

Germán Jesús Pereira Muñoz PhD.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 1

Familias Lógicas, niveles y umbrales

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 2

ADICIÓN BINARIA:
dec

Regla 1: 0 + 0 = 0

Regla 2: 0 + 1 = 1

Regla 3: 1 + 0 = 1

Regla 4: 1 + 1 = 2

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 3

1
02/01/2025

ADICIÓN BINARIA:
dec bin

Regla 1: 0 + 0 = 0 0 0

Regla 2: 0 + 1 = 1 0 1

Regla 3: 1 + 0 = 1 0 1

Regla 4: 1 + 1 = 2 1 0

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 4

ADICIÓN BINARIA:
A + B dec bin

Regla 1: 0 + 0 = 0 0 0

Regla 2: 0 + 1 = 1 0 1

Regla 3: 1 + 0 = 1 0 1

Regla 4: 1 + 1 = 2 1 0

suma

acarreo

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 5

Tabla de verdad
Suma de dos bits:

a b suma acarreo

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 6

2
02/01/2025

Suma de dos bits:

a b suma acarreo
a
suma 0 0 0 0
b
0 1 1 0

1 0 1 0

acarreo 1 1 0 1

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 7

Suma de dos bits:

a
suma ()
b

acarreo (As)

half adder

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 8

Suma de dos bits:

a 
Half
Adder

b As

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 9

3
02/01/2025

¿Cómo se suman números de dos bits?

Ej:

1 1
+ 1 1
___________________
acarreo (As)

1 b
1 1
+ 1 1 suma ()
___________________

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 10

10

¿Cómo se suman números de dos bits?

Ej:
1 1
1 1
+ 1 1
___________________

1 0

1 1
1 1
+ 1 1
___________________

1 1 0

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 11

11

Sumador Completo de 2 bits


Con salida en desface
Ae
A  
Half
B Adder As

a 
Half
As
Adder As
b

Sumador Completo de 1 bit


2/01/2025 Germán Jesús Pereira Muñoz, PhD. 12

12

4
02/01/2025

Sumador Completo de 2 bits


Con salida en fase
Ae
A  
Half
B Adder As

a 
Half
As
Adder As
b

Sumador Completo de 1 bit


2/01/2025 Germán Jesús Pereira Muñoz, PhD. 13

13

Sumador completo de dos bits con acarreo:

Ae 
Full
a Adder

b As

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 14

14

¿Cómo se suman números de dos bits?

Ej: Ae 
1 1
1 1
+ 1 1 a Full Adder
___________________ As

1 1 0 b

Se necesita un Full Adder que considere el acarreo.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 15

15

5
02/01/2025

Sumador Completo de 4 bits


Inc  c0
sumador de cuatro bits a0 FA
b0 As
a2 = 22= 4 Ae  c1
A = a3 a2 a1 a0 a1
FA
b1 As
B = b3 b2 b1 b0
C = c3 c2 c1 c0 Ae  c2
a2
FA
c4 b2 As
a3 a2 a1 a0
+ b3 b2 b1 b0 Ae  c3
a3
c3 c2 c1 c0 FA
b3 As c4

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 16

16

Sumador Completo de 4 bits


Inc  c0
sumador de cuatro bits a0 FA
b0
As
A = a3 a2 a1 a0
Ae  c1
B = b3 b2 b1 b0 a1
FA
C = c3 c2 c1 c0 b1 As

Ae  c2
a2
c4 FA
a3 a2 a1 a0 b2 As
+ b3 b2 b1 b0
Ae  c3
c3 c2 c1 c0 a3
FA
b3 As c4

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 17

17

Sumador completo de n bits con acarreo:

n=4 bits

n
Inc Ae  C = c3 c2 c1 c0
Full
n
A = a3 a2 a1 a0 A Adder
N Bits
n
B = b 3 b 2 b 1 b0 B As c4

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 18

18

6
02/01/2025

Practica 1
• Desarrollar el circuito anterior, Sumador completo de 4 bits en
proteus, usando bloques

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 19

19

Sumador Restador
Las operaciones básicas de una unidad aritmética son la suma como ya
se vio y la resta.
Conceptos que se toman en cuenta son:
• Números con signo.
• Representación binaria de un numero negativo.
• Complemento a 2.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 20

20

A = a 3 a2 a1 a0 24  16 Números sin signo y con signo


23 22 21 20 Sin Signo Con Signo
8 4 2 1
a3 a2 a1 a0 Para un numero de 4 bits(24  16): Para un numero de 4 bits(24  16):
0*23 + 1*22 + 1*21 + 0*20 = 6 0  15 = 16 Elementos -8  7 = 16 Elementos
0*8 + 1*4 + 1*2 + 0*1 = 6
8 4 2 1 Pesos Posicionales -8 4 2 1 Pesos Posicionales
a3 a2 a1 a0 valor decimal bs a2 a1 a0 valor decimal
0 0 0 0 0 0 0 0 0 0
A=17 0 0 0 1 1 0 0 0 1 1
A?  0001 0 0 1 0 2 0 0 1 0 2
0 0 1 1 3 0 0 1 1 3
A=8 0 1 0 0 4 0 1 0 0 4
Variable tipo int es de 16 bits 0 1 0 1 5 0 1 0 1 5
216  65536 : 065535 0 1 1 0 6 0 1 1 0 6
0 1 1 1 7 0 1 1 1 7
1 0 0 0 8 1 0 0 0 -8
int var; -32768  32767 1 0 0 1 9 1 0 0 1 -7
1 0 1 0 10 1 0 1 0 -6
1 0 1 1 11 1 0 1 1 -5
unsigned int var; 065535 1 1 0 0 12 1 1 0 0 -4
1 1 0 1 13 1 1 0 1 -3
6 |2 1 1 1 0 14 1 1 1 0 -2
0 3|2 1 1 1 1 15 1 1 1 1 -1
1 1|2 1*-(23) + 1*22 + 1*21 + 0*20 = -2
1 0 1*-8 + 1*4 + 1*2 + 0*1 = -2

a3 a2 a1 a0 unsigned int var; 216 


65536 int var; 216  65536
2/01/2025
0  65535 Germán Jesús Pereira Muñoz, PhD. -32768  32767 21

21

7
02/01/2025

Pregunta 1 • area = 70*1000


• Desarrollar un programa en C para • Area = 70000
calcular el área de un rectangulo Unsigned int en C 16 bits  65536
area = b*a, tome en cuenta que los 0  65535
valores de b=1000 y a=70
unsigned int a,b,area;
a = 70;
b = 1000;
area = a*b;

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 22

22

Números sin signo y con signo


Sin Signo Con Signo
Para un numero de 4 bits: Para un numero de 4 bits:
0  15 = 16 Elementos -8  7 = 16 Elementos

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 23

23

Tabla del AND


Control de paso A B Salida
0 0 0
0 1 0
1 0 0
1 1 1

AX
B  Ctrl

X Ctrl Salida
X 0 0
X 1 X

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 24

24

8
02/01/2025

Complemento a 2
Con Signo
A = a 3 a2 a1 a0 24  16  015 Para un numero de 4 bits:
23 22 21 20 -8  7 = 16 Elementos
8 4 2 1 -8 4 2 1 Pesos Posicionales
bs a2 a1 a0 valor decimal
0 0 0 0 0
Complemento a 2 0 0 0 1 1
El método para hallar un numero negativo a partir del numero 0 0 1 0 2
positivo en binario 0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0011  3 0 1 1 0 6
0 1 1 1 7
1) Cambiar los 1  0 y 0 1 (complemento a 1) 1 0 0 0 -8
1 0 0 1 -7
1 0 1 0 -6
0011  3
1 0 1 1 -5
1100 1 1 0 0 -4
1 1 0 1 -3
1 1 1 0 -2
2) Al valor resultante del paso 1), sumar 1 (complemento a 2) 1 1 1 1 -1
1100 a3 a2 a1 a0
+ 0001 0*23 + 1*22 + 1*21 + 0*20 = 6
1101  -3 0*8 + 1*4 + 1*2 + 0*1 = 6
int var; 216  65536
2/01/2025 Germán Jesús Pereira Muñoz, PhD. -32768  32767 25

25

Complemento a 2
1) Inversor Controlado  hallar el complemento a 1
Tabla del XOR
A B Salida
0 0 0
0 1 1
1 0 1
1 1 0

AX
B  Ctrl

X Ctrl R
X 0 X
X 1 /X

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 26

26

Complemento a 2
1) Inversor Controlado  hallar el complemento a 1
X Ctrl R
X 0 X
X 1 /X

2) Usando el sumador para incrementar en 1 al resultado anterior  hallar el complemento a 2

X Ctrl R
X 0 X
X 1 /X

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 27

27

9
02/01/2025

Complemento a 2
1) Inversor Controlado  hallar el complemento a 1
X Ctrl R
X 0 X
X 1 /X

2) Usando el sumador para incrementar en 1 al resultado anterior  hallar el complemento a 2

X Ctrl R
X 0 X
X 1 /X

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 28

28

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 29

29

Complemento a 2
1) Inversor Controlado  hallar el complemento a 1 Control de paso
X Ctrl R X Ctrl Salida
X 0 X X 0 0
X 1 /X X 1 X

2) Usando el sumador para incrementar en 1 al resultado anterior  hallar el complemento a 2

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 30

30

10
02/01/2025

Sumador Restador
de 4 bits

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 31

31

Sumador Restador de n bits

X Ctrl Salida
X 0 0
X 1 X

25 = 32 combinaciones
= 32 Operaciones

A = a3 a2 a1 a0
X Ctrl R
B = b 3 b 2 b1 b 0 X 0 X
X 1 /X

R = r3 r2 r1 r0
-X = X\ + 1
-1 = 1111

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 32

32

X Ctrl Salida
Sumador Restador de n bits
X 0 0
X 1 X

X Ctrl R
X 0 X
X 1 /X

A = a3 a2 a1 a0
S4 S3 S2 S1 S0 R C FUNCION
B = b3 b2 b1 b0
R = r3 r2 r1 r0

-X = /X + 1  numero negativo
-1 = 1111

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 33

33

11
02/01/2025

Sumador Restador  Unidad Aritmética


S4 S3 S2 S1 S0 R C Función
S4 S3 S2 S1 S0 R C Función
16 1 0 0 0 0 A+0+0 = A 0 LIA
0 0 0 0 0 0 0 0 NOP o CLR
17 1 0 0 0 1 A+0+1 = A+1 ? INCA
1 0 0 0 0 1 1 0 uno
18 1 0 0 1 0 A+1111+0 = A-1 0 DECA
2 0 0 0 1 0 0+1111+0 = -1 0 menos uno
19 1 0 0 1 1 A+1111+1 = A 1
3 0 0 0 1 1 0+1111+1 = 0 1
20 1 0 1 0 0 /A+0+0 = /A 0 NOTA
4 0 0 1 0 0 1111+0+0 = -1 0
21 1 0 1 0 1 /A+0+1 = /A+1= -A ? NEGA
5 0 0 1 0 1 1111+0+1 = 0 1
22 1 0 1 1 0 /A+1111+0 = /A-1 0
6 0 0 1 1 0 1111+1111+0=-2 1
23 1 0 1 1 1 /A+1111+1 = /A 1
7 0 0 1 1 1 1111+1111+1=-1 1
24 1 1 0 0 0 A+B+0 = A + B ? ADD
8 0 1 0 0 0 0+B+0 = B 0 LIB
25 1 1 0 0 1 A+B+1 = A + B +1 ?
9 0 1 0 0 1 0+B+1 = B + 1 ? INCB
26 1 1 0 1 0 A+/B+0 = A + /B ?
10 0 1 0 1 0 0+/B+0 = /B 0 NOTB

11 0 1 0 1 1 0+/B+1 = /B+1 = -B ? NEGB


27 1 1 0 1 1 A+/B+1 = A - B ? SUB

28 1 1 1 0 0 /A+B+0 = /A+B ?
12 0 1 1 0 0 1111+B+0 = B-1 0 DECB

13 0 1 1 0 1 1111+B+1 = B 1 29 1 1 1 0 1 /A+B+1 = /A+B+1 = B - A ?

14 0 1 1 1 0 1111+/B+0 = /B-1 ? 30 1 1 1 1 0 /A+/B+0 = /A+/B ?

15 0 1 1 1 1 1111+/B+1 = /B 1 31 1 1 1 1 1 /A+/B+1 = /A+/B+1 ?

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 34

34

Ejercicio 1
• Desarrollar el circuito UA (SUMADOR – RESTADOR) en Proteus,
para comprobar la tabla de la diapositiva anterior

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 35

35

Funciones Lógicas
• Es imposible no tener en cuenta el uso de funciones lógicas entre variables de n bits.
• La operación AND entre dos valores de n bits se efectúa bit a bit entre bits del mismo
peso y puede ser descrita esquemáticamente así:
A = a3 a2 a1 a0

B = b 3 b2 b 1 b 0

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 36

36

12
02/01/2025

Funciones Lógicas
A = a3 a2 a1 a0
B = b 3 b 2 b 1 b0

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 37

37

Funciones Lógicas
Combinar las funciones lógicas con las funciones aritméticas:
• basta con diseñar una estructura que emplee los bloques de las tres funciones lógicas y el Sumador-
Restador

Para combinar las salidas en una sola es


necesario emplear n multicanalizadores (en
nombre corto, mux) de dimensión 4 a 1.

S/R

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 38

38

Unidad Aritmética y Lógica (ALU)


A = a3 a2 a1 a0
B = b3 b2 b1 b0
R = r3 r2 r1 r0

Función
S6 S5 habilitada

0 0 A AND B

0 1 A OR B

1 0 A XOR B

1 1 SUM / REST

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 39

39

13
02/01/2025

A = a3 a2 a1 a0

B = b 3 b2 b 1 b 0
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 40

40

Unidad Aritmética y Lógica (ALU)

S6 S5 Función

0 0 AND

0 1 OR

1 0 XOR

1 1 S/R
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 41

41

ALU
S6 S5 S4 S3 S2 S1 S0 R C Funcion
0 0 X X X X X A AND B X AND
0 1 X X X X X A OR B X OR
1 0 X X X X X A XOR B X XOR
1 1 0 0 0 0 0 0 0 NOP
1 1 0 0 0 0 1 1 0 uno
1 1 0 0 0 1 0 0+1111+0 = -1 0 menos uno
1 1 0 1 0 0 0 0+B+0 = B 0 LIB
1 1 0 1 0 0 1 0+B+1 = B + 1 ? INCB
1 1 0 1 0 1 0 0+/B+0 = /B 0 COMPB
1 1 0 1 0 1 1 0+/B+1 = /B+1 = -B 0 NEGB
1 1 0 1 1 0 0 1111+B+0 = B-1 0 DECB
1 1 1 0 0 0 0 A+0+0 = A 0 LIA
1 1 1 0 0 0 1 A+0+1 = A+1 ? INCA
1 1 1 0 0 1 0 A+1111+0 = A-1 0 DECA
1 1 1 0 1 0 0 /A+0+0 = /A 0 COMPA
1 1 1 0 1 0 1 /A+0+1 = /A+1= -A 0 NEGA
1 1 1 1 0 0 0 A+B+0 = A + B ? ADD
1 1 1 1 0 1 1 A+/B+1 = A - B ? SUB

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 42

42

14
02/01/2025

Ejercicio 2
• Desarrollar el circuito ALU en Proteus, para comprobar la tabla
de la diapositiva anterior

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 43

43

Organización Básica de Memorias


• Un semiconductor que consiste en un
conjunto de registros cuyas características
son:
• Cada registro puede contener datos
binarios.
• Cada registro tiene una dirección
especifica.
• Dos categorías
• RAM: Escritura/Lectura.
• ROM: Solo Lectura

2/01/2025 Germán Jesús Pereira Muñoz, PhD.


44

44

Operación de lectura en Memorias

2/01/2025 Germán Jesús Pereira Muñoz, PhD.


45

45

15
02/01/2025

Operación de escritura en Memorias

2/01/2025 Germán Jesús Pereira Muñoz, PhD.


46

46

Diseño del decodificador Memoria

• Un semiconductor que consiste en un conjunto

de registros cuyas características son:

• Cada registro puede contener datos binarios.

• Cada registro tiene una dirección especifica.

• Dos categorías

• RAM: Escritura/Lectura.
E0,0 E0,1 E0,2 0,3
• ROM: Solo Lectura
1,0 K1,1 K1,2 A1,3

2,0 D2,1 D2,2 A2,3

3,0 T3,1 T3,2 3,3

2/01/2025 Germán Jesús Pereira Muñoz, PhD.


47

47

Diseño del decodificador


• El diseño del descodificador representa el desarrollo de un sistema combi
nacional de 4 entradas (los bits de código) y 8 salidas (las señales de
control).
• Se puede utilizar una ROM como descodificador de operaciones, así
tener la opción de incorporar una nueva función de salida solo asociando
el código a las direcciones de memoria.
• En ese caso el descodificador se vuelve convenientemente flexible y
permite la adición de bits a la palabra de control.
• Con una ROM de 8 bits es posible incorporar a S7 como octavo bit a la
palabra de control, es este caso se usara para control de paso del Carry
• Si fuese necesario incorporar aún más bits de control, basta con añadir
otro banco de ROM para aumentar el ancho de la palabra.
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 48

48

16
02/01/2025

ALU Codificada
Dir.
A3 A2 A1 A0 S7 S6 S5 S4 S3 S2 S1 S0
Mem C Funcion
0 0 0 0 0 0 1 1 1 0 0 0 0 0 LIA
1 0 0 0 1 0 1 1 1 0 1 0 0 0 COMPA
2 0 0 1 0 0 1 1 0 1 0 0 0 0 LIB
3 0 0 1 1 0 1 1 0 0 0 0 0 0 NOP
4 0 1 0 0 1 1 1 1 0 0 0 1 ? INCA
5 0 1 0 1 0 1 1 1 0 0 1 0 0 DECA
6 0 1 1 0 0 1 1 1 0 1 0 1 0 NEGA
7 0 1 1 1 1 1 1 1 1 0 0 0 ? ADD
8 1 0 0 0 0 1 1 1 1 0 1 1 ? SUB
9 1 0 0 1 0 0 0 X X X X X 0 AND
10 1 0 1 0 0 0 1 X X X X X 0 OR
11 1 0 1 1 0 1 0 X X X X X 0 XOR
12 1 1 0 0 0 0 0 0 0 0 0 0 Futura Expansión
13 1 1 0 1 0 0 0 0 0 0 0 0 Futura Expansión
14 1 1 1 0 0 0 0 0 0 0 0 0 Futura Expansión
15 1 1 1 1 0 0 0 0 0 0 0 0 Futura Expansión
PALABRA DE CONTROL
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 49

49

Generación del microcódigo archivo .BIN

A3 A2 A1 A0 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 1 0 1 1 1 0 1 0 0
2 0 0 1 0 0 1 1 0 1 0 0 0
3 0 0 1 1 0 1 1 0 0 0 0 0
4 0 1 0 0 1 1 1 1 0 0 0 1
5 0 1 0 1 0 1 1 1 0 0 1 0
6 0 1 1 0 0 1 1 1 0 1 0 1
7 0 1 1 1 1 1 1 1 1 0 0 0
8 1 0 0 0 1 1 1 1 1 0 1 1
9 1 0 0 1 0 0 0 X X X X X
10 1 0 1 0 0 0 1 X X X X X
11 1 0 1 1 0 1 0 X X X X X

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 50

50

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 51

51

17
02/01/2025

ALU Codificada Tabla 1


A3 A2 A1 A0 Descripcion C Funcion
0 0 0 0 0 A 0 LIA
1 0 0 0 1 Comp(A) 0 COMPA
2 0 0 1 0 B 0 LIB
3 0 0 1 1 0 0 NOP
4 0 1 0 0 A+1 ? INCA
5 0 1 0 1 A-1 0 DECA
6 0 1 1 0 NOTA+A= -A ? NEGA
7 0 1 1 1 A+B ? ADD
8 1 0 0 0 A-B ? SUB
9 1 0 0 1 A and B 0 AND
10 1 0 1 0 A or B 0 OR
11 1 0 1 1 A xor B 0 XOR
12 1 1 0 0 Futura Expansión
13 1 1 0 1 Futura Expansión
14 1 1 1 0 Futura Expansión
15 1 1 1 1 Futura Expansión

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 52

52

ALU Codificada

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 53

53

ALU Codificada
El funcionamiento de la ALU codificada es como sigue:
1. Se introduce la información de proceso en las entradas A y B de datos.
2. Se introduce el código de operación a la entrada del descodificador (ROM)
de operaciones (A0A3). El código de operación “invoca” a la función
mediante el descodificador que genera una palabra de control (S0S7)
luego de un tiempo de retardo (tiempo de acceso de lectura de la ROM que
actúa como descodificador de operaciones).
3. Cada uno de los bits de control (S0S7) actúa sobre los componentes de
una manera predeterminada y la operación se lleva a cabo luego de un
tiempo de retardo de la ALU.
4. Finalmente, el resultado está disponible a la salida (R y C) para su
observación.
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 54

54

18
02/01/2025

ALU
Codificada

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 55

55

Funcionamiento ALU Codificada


1. Se introduce la información de proceso en las entradas A y B de datos.
2. Se introduce el código de operación a la entrada del descodificador de operaciones.
3. El código de operación “invoca” a la función mediante el descodificador que genera una palabra
de control luego de un tiempo de retardo (tiempo de acceso de lectura de la ROM que actúa
como descodificador de operaciones).
4. Cada uno de los bits de control actúa sobre los componentes de una manera predeterminada y la
operación se lleva a cabo luego de un tiempo de retardo de la ALU.
5. Finalmente, el resultado está disponible a la salida para su observación.

Para calcular una expresión algebraica con operadores aritméticos y lógicos es posible establecer
mentalmente la secuencia de operaciones a ejecutarse, como se hace normalmente con una
calculadora de mano simple.
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 56

56

Ejemplo
• Desarrollar el pseudo código para realizar la siguiente operación:

~(3+2)
1. Colocar el dato 3  Registro A
2. Colocar el dato 2  Registro B
2/01/2025
3. Buscar en la Tabla 2 la dirección que permita la Operación de “+”
4. Copiar el valor del Resultado a la entrada A
• Resultado  Registro A ( MANUAL )

5. Buscar en la Tabla 2 la dirección que permita la Operación de “~” que corresponde la función
complemento de Registro A (~A)

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 57

57

19
02/01/2025

Registro Acumulador
• La necesidad de establecer una conexión entre la salida de la ALU
y una de sus entradas de modo que el resultado de una operación
esté presente en la entrada para ser usada como operando de la
siguiente operación a ser ejecutada.
• Debido a la naturaleza combinacional del sistema, la realimentación
directa no permitirá un sistema estable.

Para evitar ello entonces debe colocarse una


etapa de registro a la salida de la ALU, de modo
que su contenido permanezca estable durante el
tiempo que dure cada operación.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 58

58

Registro Acumulador

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 59

59

ALU
Codificada

Registro
Acumulador

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 60

60

20
02/01/2025

Funcionamiento Registro Acumulador

1. Se introduce el primer dato de la operación en la entrada B.


2. Se introduce el código de operación (Leer B) para ingresar el dato B.
3. Un pulso de reloj a los Flip Flops (Registro Acumulador) para actualizar las salidas y
colocar el dato en la entrada A.
4. Se introduce el segundo dato de la operación en la entrada B.
5. Se introduce el código de operación (operación requerida) para realizar la operación con
los dos datos en la Entrada A y la entrada B.
6. Un pulso de reloj a los Flip Flops (Registro Acumulador) para colocar el dato en la
entrada A.
7. Retornar al paso 1 si se requieren mas operaciones.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 61

61

Desarrollar el pseudo código para realizar la siguiente


operación:
~(3+2)  1010
1. Asegurarse Reg. Acumulador en 0 y carry en 0 tabla 1  0011 NOP
2. Colocar el dato 3  Registro B
3. Código de Operación según la tabla 1  0010 LIB
4. Dar un pulso de reloj al Registro D (realimentando el resultado a la
entrada A) El programa en ensamblador
5. Clocar el dato 2  Registro B resultante es:
6. Código de Operación “+” según la tabla 1  0111 ADD Código
7. Dar un pulso de reloj al Registro D (realimentando el resultado a la Maquina
entrada A) Línea 1. NOP ; 0011
8. Código de Operación “~” según la tabla 1  0001 COMPA de 2. LIB ; 0010
código 3. ADD ; 0111
9. Dar un pulso de reloj al Registro (realimentando el resultado a la
entrada A) 4. COMPA ; 0001

Ensamblador
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 62

62

Desarrollar el pseudo código para realizar la


siguiente operación:
(~(5 AND 4)) + 3  ACC=1110 C=1
1. Asegurarse Reg. Acumulador en 0 y carry en 0 tabla 1  0011 NOP
2. Colocar el dato 5  Registro B
3. Código de Operación según la tabla 1  0010 LIB
4. Dar un pulso de reloj al Registro D (realimentando el resultado a la
entrada A)  5
5. Clocar el dato 4  Registro B
6. Código de Operación “AND” según la tabla 1  1001 AND
7. Dar un pulso de reloj al Registro D (realimentando el resultado a la El programa en ensamblador
entrada A) (5 AND 4)
resultante es:
8. Código de Operación “~” según la tabla 1  0001 COMPA Código
9. Dar un pulso de reloj al Registro (realimentando el resultado a la Maquina
entrada A)  ~(5 AND 4) Línea 1. NOP ; 0011
10. Clocar el dato 3  Registro B de 2. LIB ; 0010
11. Código de Operación “+” según la tabla 1  0111 ADD código 3. AND ; 1001
12. Dar un pulso de reloj al Registro (realimentando el resultado a la
4. COMPA ; 0001
entrada A)  (~(5 AND 4)) + 3
5. ADD ; 0111

2/01/2025 Germán Jesús Pereira Muñoz, PhD. Ensamblador 63

63

21
02/01/2025

Ejercicios
Desarrollar un algoritmo para maquina (ALU), con las siguientes características:
• Numero de línea Instrucción Codificación Comentario
6. NOP 0011 // comentario
Una vez ejecutado el programa

Ejercicios:
1. ~ ( ( ~(5 + 4) AND 7 ) - 5 ) máximo 15 min
2. ( ( (~ 8 ) OR 5 ) + 2) XOR 6 máximo 15 min
3. (3 + 5) / 2 máximo 15 min
4. ~ ( ( ~ ( ( - 8 ) + 5 ) ) – 5 ) máximo 15 min
5. (~ (~ (~ (~ 7)))) AND 3 máximo 15 min

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 64

64

Variables de Estado Adicionales


Hasta ahora se cuenta con una variable de estado, también llamadas “banderas”: el
acarreo C.
Es posible contar con más variables de estado que arrojan aún más información sobre la
más reciente operación, ejecutada en la ALU, que los afectó.

Detector de cero.
Es posible detectar que un resultado de la ALU es cero mediante una compuerta OR negada:

Detector de numero negativo.


El bit más significativo del resultado determina el signo del valor, esto es:
N=r7  8 bits
N=r3  4 bits

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 65

65

Variables de Estado Adicionales


Detector de paridad.
El uso del bit de paridad es la técnica más simple de detección de errores, principalmente
aplicada a la transmisión binaria.

Detector de Paridad Par Detector de Paridad Impar

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 66

66

22
02/01/2025

ALU + Registro Acumulador + Banderas

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 67

67

Registro Palabra de Estado


• También es necesario conservar las banderas
en un registro llamado la palabra de estado
deseable tener un registro monolítico y
dispararlo simultáneamente para todos los
casos.
• Conviene montar un registro mediante un
conjunto de flip flops tipo D que sean
disparados individualmente según la
conveniencia de reflejar o forzar información
de estado de proceso para cada operación.

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 68

68

ALU + Banderas

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 69

69

23
02/01/2025

ALU + Registro Acumulador +


Registro de Estado

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 70

70

ALU + Registro Acumulador +


Registro de Estado
Ajustado CLK

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 71

71

ALU + Registro Acumulador +


Registro de Estado
Ajustado CLK

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 72

72

24
02/01/2025

ALU + Registro Acumulador + Registro de Estado


Ajustado CLK

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 73

73

ALU + Banderas
Palabra de Estado
A3 A2 A1 A0 Descripción N Z P C Función
0 0 0 0 A X X X X LIA
0 0 0 1 Comp(A) X X X X COMPA
0 0 1 0 B X LIB
0 0 1 1 0 0 1 0 0 NOP o CLR
0 1 0 0 A+1 INCA
0 1 0 1 A-1 X DECA
0 1 1 0 NOTA+A= -A NEGA
0 1 1 1 A+B ADD
1 0 0 0 A-B SUB
1 0 0 1 A and B 0 AND
1 0 1 0 A or B 0 OR
1 0 1 1 A xor B 0 XOR
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 74

74

Ejercicios
Desarrollar un algoritmo para maquina (ALU con Banderas), con las siguientes características:
• Numero de línea Instrucción Codificación Comentario
6. NOP 0011 // comentario
Una vez ejecutado el programa describir del resultado el estado de las banderas

Ejercicios:
1. ~ ( ( ~(5 + 4) AND 7 ) - 5 ) máximo 15 min
2. ( ( (~ 8 ) OR 5 ) + 2) XOR 6 máximo 15 min
3. (3 + 5) / 2 máximo 15 min
4. ~ ( ( ~ ( ( - 8 ) + 5 ) ) – 5 ) máximo 15 min
5. (~ (~ (~ (~ 7)))) AND 3 máximo 15 min

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 75

75

25
02/01/2025

• ~ ( ( ~(5 + 4) AND 7 ) - 5 )
1. NOP 0011
2. LIB 0010 B5
3. ADD 0111 A5+4
4. COMPA 0001 A ~A
5. AND 1001 AA AND 7
6. SUB 1000 AA-5

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 76

76

ALMACENAMIENTO DE DATOS
• El registro acumulador solo permite almacenar el
resultado de la ultima operación esto resulta
insuficiente operaciones mas complejas.

• Se ve la necesidad de la capacidad de almacenar mas


datos, tanto de salida como de entrada

Memoria de Datos

• Incorporar una memoria de lectura y escritura (RAM)


tanto para registrar, la información contenida en el DIR – Líneas de entrada para direccionamiento
acumulador como para obtener datos de ella y DAT – Líneas bidireccionales de datos

cargarlos en el acumulador. RD – Entrada de control de transferencia de lectura


WR – Entrada de control de transferencia de escritura
• Para facilitar la esquematización se empleará uno de CS – Entrada de selección de dispositivo (tres estados)
los modelos de unidad de memoria RAM como se
muestra en la figura que sigue.
2/01/2025 Germán Jesús Pereira Muñoz, PhD. 77

77

ACOPLAMIENTO CON MEMORIA RAM R/W


• Mecanismo de distribución de las líneas de datos de la memoria para enrutar la salida, de
modo que sea posible leer en el acumulador un dato almacenado en la memoria. La ruta entre
la memoria y la entrada del acumulador debe ir a través de la ALU.
• El mecanismo de distribución, debido a la bidireccionalidad de las líneas de datos de la RAM,
debe de emplear separadores de alta impedancia (buffers de tres estados).

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 78

78

26
02/01/2025

RAM de datos

74HC241
F2114 Buffer tri state
Memoria RAM 1024 x 4

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 79

79

RAM de datos
Circuito de Prueba Escritura/Lectura

Solo se usará 32
direcciones de la
memoria RAM 2114

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 80

80

ALU + Registro Acumulador + Registro de Estado + RAM de datos

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 81

81

27
02/01/2025

ALU + Registro Acumulador + Registro de Estado + RAM de datos

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 82

82

ALU + Registro Acumulador + Registro de Estado + RAM de datos

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 83

83

ALU + Registro Acumulador + Registro de Estado + RAM de datos

F2114 74HC241 74HC157


Memoria RAM 1024 x 4 Buffer tri state MUX 2 a 1

2/01/2025 Germán Jesús Pereira Muñoz, PhD. 84

84

28

También podría gustarte