2. Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado Diapositiva 2
1945 – John Von Neumann
John von Neumann escribe
su borrador sobre la
arquitectura de los
computadores el cual sirve
de base al concepto actual
de computador.
4. Diapositiva 4
La CPU de von Neumann
Arithmetic
Logic
Circuits
AC
Control Circuits
PC IR
AR
DR
Main
Memory
C0
C1
C2
C12
Flags
...
Devices
ALU:
Arithmetic
Logic
Unit
Control
Unit
Registros
del
Procesador
Bus de
control
Bus de
direcciones
Bus de
datos
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
5. Diapositiva 5
Ciclo de instrucción
PROCESA
BEGIN
CPU
ACTIVA?
{DR M(AR)}
AR DR(ADR)
READ M
AC DR
AC=0
AR DR(ADR) AR DR(ADR) AR DR(ADR)
DR AC
WRITE M
READ M READ M
AC AC + DR AC AC ^ DR PC DR(ADR) AC SHIFT AC
RSHIFT
COMP
JmZ
JMP
AND
ADD
STR
LD
SI
FIN
NO
SI
AC
DECODIFICACION
FETCH DE
OPERANDO
AR PC
READ M
PC PC + 1
IR DR(OPCODE)
DECODE OPCODE
NO
FETCH
INSTRUCCION
0
1, 2
3
4
5,6
7
4
5
6, 7
5,6
7
4 4
7
5, 6
7 7 7
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
6. Diapositiva 6
Estructura de un computador
Arquitectura de Von Neumann
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética y
lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
7. Diapositiva 7
Simulación de la memoria
DIRECCIÓN CONTENIDO
01h Valor 1
02h VACÍO
03h Valor 2
…
0Fh Valor K
MD[02h]
MD[0Fh]
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
8. Diapositiva 8
Nuestras Instrucciones
Instrucciones de
Transferencia de
Datos
lda #Num
lda Dir
lda [Dir]
str Dir
rda Dir
wrt
AC Num
AC MD[Dir]
AC MD[[Dir]]
MD[Dir] AC
MD[Dir] Teclado
Monitor AC
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
9. Diapositiva 9
Nuestras Instrucciones
Instrucciones
Aritméticas y
Lógicas
Todas las
operaciones asumen
que el primer
operando está
almacenado en el
Acumulador
add #Num
add Dir
add [Dir]
sub #Num
sub Dir
sub [Dir]
mul #Num
mul Dir
mul [Dir]
div #Num
div Dir
div [Dir]
sqr
and Dir
or Dir
not
AC AC + Num
AC AC + MD[Dir]
AC AC + MD[[Dir]]
AC AC - Num
AC AC - MD[Dir]
AC AC - MD[[Dir]]
AC AC * Num
AC AC * MD[Dir]
AC AC * MD[[Dir]]
AC AC / Num
AC AC / MD[Dir]
AC AC / MD[[Dir]]
AC raíz(AC)
AC AC and Dir
AC AC or Dir
AC negación AC
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
10. Diapositiva 10
Nuestras Instrucciones
Instrucciones de
transferencia de
control
jmp Dir_p
jmz Dir_p
jml Dir_p
PC Dir_p
Si (AC = 0) entonces
PC Dir_p
Si (AC < 0) entonces
PC Dir_p
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
11. Diapositiva 11
¿Cómo funciona este programa?
La máquina comienza ejecutando la primera
instrucción que aparece.
01h lda #15
02h wrt
03h end
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
12. Diapositiva 12
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
02h
IR
lda # 15
01h lda #15
02h wrt
03h end
AC
15
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
13. Diapositiva 13
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
03h
IR
wrt
01h lda #15
02h wrt
03h end
AC
15
15
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
14. Diapositiva 14
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
04h
IR
end
01h lda #15
02h wrt
03h end
AC
15
15
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
15. Diapositiva 15
La máquina comienza ejecutando la primera
instrucción que aparece.
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
16. Diapositiva 16
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
DIRECCIÓN DATO
01h
…
10h VALOR LEIDO
11h
…
99h
PC
02h
IR
rda 10h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
17. Diapositiva 17
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
DIRECCIÓN DATO
01h
…
10h 29
11h VALOR LEIDO
…
99h
PC
03h
IR
rda 11h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
18. Diapositiva 18
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
DIRECCIÓN DATO
01h
…
10h 29
11h 6
…
99h
AC
29
PC
04h
IR
lda 10h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
19. Diapositiva 19
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
DIRECCIÓN DATO
01h
…
10h 29
11h 6
…
99h
AC
29
AC
35
PC
05h
IR
add 11h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
20. Diapositiva 20
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
AC
35
PC
06h
IR
wrt
35
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
21. Diapositiva 21
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
AC
35
PC
07h
IR
end
35
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
22. Diapositiva 22
01h rda 10h
02h rda 11h
03h lda 10h
04h add 11h
05h wrt
06h end
¿Existe otra
alternativa de
realizar este
programa?
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
23. Diapositiva 23
La máquina comienza ejecutando la primera
instrucción que aparece.
01h lda #0
02h wrt
03h add #2
04h jmp 02h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
24. Diapositiva 24
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
0
PC
02h
IR
lda #0
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
25. Diapositiva 25
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
0
0
PC
03h
IR
wrt
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
26. Diapositiva 26
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
MR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
0
0
AC
2
PC
04h
IR
add #2
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
27. Diapositiva 27
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
2
0
PC
02h
IR
jmp 02h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
28. Diapositiva 28
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
2
0
PC
03h
IR
wrt
2
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
29. Diapositiva 29
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
01h lda #0
02h wrt
03h add #2
04h jmp 02h
AC
2
0
AC
4
PC
04h
IR
add #2
2
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
30. Diapositiva 30
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Qué hace el
siguiente
programa?
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
31. Diapositiva 31
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
02h
IR
rda 80h
DIRECCIÓN DATO
01h
…
80h 15
81h
…
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
32. Diapositiva 32
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
03h
IR
rda 81h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
33. Diapositiva 33
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
04h
IR
lda 81h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
AC
5
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
34. Diapositiva 34
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
05h
IR
jmz 08h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
AC
5
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
35. Diapositiva 35
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
06h
IR
lda 80h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
AC
5
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
AC
15
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
36. Diapositiva 36
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
07h
IR
div 81h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
AC
15
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
AC
3
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
37. Diapositiva 37
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
08h
IR
jmp 08h
DIRECCIÓN DATO
01h
…
80h 15
81h 5
…
PC
09h
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
AC
3
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
38. Diapositiva 38
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
10h
IR
wrt
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end AC
3
3
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
39. Diapositiva 39
Unidad central
de proceso
CPU
Unidad
de control
UC
Unidad
Aritmética
y lógica
ALU
PC IR
AR AC
DR
Unidad
de
Memoria
Unidad
de
E/S
Dispositivos
periféricos
PC
10h
IR
wrt
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end AC
3
3
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
40. Diapositiva 40
¿Qué pasó …?
01h rda 80h
02h rda 81h
03h lda 81h
04h jmz 08h
05h lda 80h
06h div 81h
07h jmp 09h
08h lda #0
09h wrt
10h end
¿Qué pasó con
la
instrucción
lda #0?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
41. Diapositiva 41
Ahora usted solito …
Evaluar la función:
(3*x + 5) / x si x > 0
f(x)
5*x2 si x <= 0
00h rda 80h
01h lda 80h
02h jmz 08h
03h jml 08h
04h mul #3
05h add #5
06h div 80h
07h jmp 0Ah
08h mul #5
09h mul 80h
0Ah wrt
0Bh end
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado
42. Diapositiva 42
01h rda 90h
02h lda [80h]
03h add #15
04h wrt
05h end
DIRECCIÓN DATO
01h rda 90h
02h lda [80h]
03h add #15
04h wrt
05h end
…
80h 90h
…
90h
¿Cómo funciona este programa?
Septiembre 2021 Profesor. Javier Eduardo Hernández Alvarado