Professional Documents
Culture Documents
LA MÁQUINA ELEMENTAL
A
LA MÁQUINA CONVENCIONAL
MÁQUINA ELEMENTAL
BUS E/S (8)
ACC IR
MBR P0
PC B
U
S P1
RAM
C
O
M
U
N
Z Y
1 MAR
ALU
OV
UC
CONSOLA
CK ÓRDENES P63
TRA
R
¿PORQUÉ MEJORAR LA MÁQUINA ELEMENTAL?
- Facilitar la tarea del programador y el rendimiento del Sistema.
- Posibilitar:
o La modificación de direcciones: agregar modos de
direccionamiento: nuevos Registros ÍNDICE, nuevas
instrucciones.
o La programación de bucles iterativos: nuevos Registros ÍNDICE,
nuevas instrucciones que implementan Contadores
o Facilidad en la reubicación de programas residentes: nuevos
Registros BASE
o Manejo de E/S mediante INTERRUPCIONES: más hardware,
más software.
MODOS DE DIRECCIONAMIENTO
INMEDIATO COD. OP. OPERANDO
OPERANDO
EN LA CPU
MODOS DE
DIRECCIONAMIENTO
DIRECTO COD. OP. DIRECCIÓN OPERANDO
OPERANDO
EN MEMORIA INDEXADO COD. OP. DESPLAZAMIENTO
PERMITE IMPLEMENTAR UN
CONTADOR PARA BUCLE
ITERATIVO
REGISTRO BASE
RB (16)
ACC IR
MBR P0
RIF RID PC B
U
S
RAM P1
C
W X RB O
M
U
SUMADOR DIRECCIONES N
Z Y
1 MAR
ALU
OV
UC
CONSOLA
Ck ÓRDENES P63
TRA
R
REUBICACIÓN DE PROGRAMAS RESIDENTES I
PGM D
PGM D
PGM C 0700
1000
PGM C
PGM B 0300
0200
PGMB
0150
PGM A PGM A
0000 0000
REUBICACIÓN DE PROGRAMAS RESIDENTES II
La existencia de más de un programa residente en memoria listo
para ser ejecutado se llama MULTIPROGRAMACIÓN. Esto genera la
necesidad de llenar la memoria evitando espacios vacíos, es decir: La
Reubicación de programas.
A) CORRECCIÓN DE DIRECCIONES
B) REUBICACIÓN DEL PROGRAMA
A) CORRECCIÓN DE DIRECCIONES
Ejemplo:
PGM X
00 LDA 06
01 NOT
02 AND 07
03 JMA 04
04 STA 10
05 HLT
06 Dato1
07 Dato2
10 Resultado
SUBRUTINAS REENTRANTES
Supongamos que deseamos escribir una subrutina que multiplique dos números.
Esta subrutina debe estar disponible para cualquier programa, el área de memoria que
utiliza para los datos debe corresponderse con el programa que la llamó y, cuando sea
cargada en memoria, residirá en un área que no se puede prever con anticipación.
ENTRADA/SALIDA EN LA MÁQUINA ELEMENTAL
6 líneas de selección de
BUS E/S (8) dispositivo
BLUE Dispositivo 0
ACC IR YY
Dispositivo 1
Unidad de Control
CP7 Dispositivo 2
BÚSQUEDA
TRA
INP
S Q
OUT
TRA
CP7
EJECUCIÓN
Reset
Dispositivo 63
R
INTERRUPCIONES
Instrucción IRQ I
S Q S Q
ION
CP8
SI I
Instrucción
IOF R Q*
R Q*
CP1
SISTEMA ELEMENTAL DE INTERRUPCIONES II
RESTAURAR CONTEXTO
HABILITAR INTERRUPCIONES
RETORNAR
SISTEMA ELEMENTAL DE INTERRUPCIONES III
DETERMINACIÓN DE QUIÉN CAUSÓ LA INTERRUPCIÓN POR SOFTWARE (POLLING)
IRQ
RIP 0
RIP 1
CPU D1 D2 D Área de Memoria
_
63 _ destinada a las Rutinas
_ de Servicio de
_
I I I Interrupción
M M M
Saltos RIP 63
ACK
ACK1 ACK2 ACK 63
Vectores
SISTEMA ELEMENTAL DE INTERRUPCIONES V
Si los contextos (incluido el PC) se fueran
guardando apilados en memoria (PILA),
MEMORIA
sería posible soportar
INTERRUPCIONES ANIDADAS
(Interrupción dentro de interrupción).
Esto hace necesario agregar un nuevo registro:
PUNTERO DE PILA (SP)
cuyo contenido es la dirección
de la primera porción de la pila libre.