Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Input Entrada
Operaciones de Output Salida
8 bits Add Suma
Sub Resta
Entrada Salida
A B
Para que la computadora identifique qu dispositivo de entrada / salida es, lo podemos hacer de
dos formas:
IN 1 IN 2
A B
Carry Suma/Resta
ALU
Operacin Move
Se necesita mover el contenido del acumulador al registro B, con lo cual se inventa la
instruccin MOV (otros la llaman LD Load).
La operacin MOV copia el dato del registro fuente al destino, la informacin del registro
fuente no es destruida.
ADD;SUB
Carry ALU Suma/Resta
D7 A15
D6 A14
8 lneas
D5
D4
Memoria A13
16 lneas de direccin
de datos
D3 64k x 8 bits .... (64 kbytes)
D2 A2
D1 A1
D0 A0
Seales de control
D7
Decodificador Registro de A15
D6
de Instrucciones A14
D5
ADD
Instrucciones
D4 Memoria A13
...
SUB Codigo De
D3 64k x 8 bits ...
IN operacin D2 A2
OUT D1 A1
MOV D0 A0
Por ejemplo, el Hardware para las operaciones IN, OUT puede ser como sigue:
Switch
ADD Dispositivo de entrada #1
Decodificador SUB
clock
de IN
Instrucciones
OUT Registro A
MOV
clock
DISPLAY
Dispositivo de salida #2
ADD
Decodificador
SUB
de
Registro de
Instrucciones Instruccin Memoria
IN
OUT Instrucciones 64k x 8 bits
MOV
Reset Direccin de
Pulsos (inicia en cero) 16 bits
Program counter
Direccin de 16
bits
Registro de direccin
de memoria (MAR)
Tiempo de cmputo
Cuando sumamos el PC(program counter) al diseo, empezamos a pensar en el tiempo
que toma la ejecucin de cada instruccin.
5.Incrementa
1. Traer program
instruccin counter
(FETCH)
Diagrama de una
mquina secuencial
2. Decodificar de estados
Instruccin.
IN,OUT
MOV
ADD 3. Transferencia
SUB Registro
4. Operacin
ALU
Traer Inst. Decodificar Transfiere Incrementa Instruccin IN
registro P.C.
Instruccin ADD
Traer Inst. Decodificar Suma ALU Transfiere Incrementa
registro P.C.
La mquina de estados debe disearse tal que el tiempo requerido para realizar una tarea
en cada estado sea el mismo. La combinacin de la mquina secuencial de estados y el
decodificador de instrucciones es llamado un CONTROLADOR DE SECUENCIAS, el cual genera
las seales de control en el tiempo correcto para una funcin en particular.
ADD;SUB
Carry ALU
Pulsos
Program counter Reset
(inicia en cero)
Seales de control de
Direccin de 16
tiempo bits
Registro de direccin
de memoria
Bus de Direcciones
de 16 bits
Sincronizacin E/S
Tenemos un problema en el diseo. Debemos sincronizar la velocidad del
microprocesador con la lenta velocidad del operador de los dispositivos de entrada.
Estado de espera:
5.Incrementa
1. Traer program counter
instruccin
No listo
MOV
OUT
ADD OUT 3. Transferencia
SUB Registro
wait
No listo
4. Operacin ALU
Registro cdigo
A 00
B 01
C 10
D 11
Operacin
MVI dd, dato dd dato
MVI A, 65 110-----00 operacin + operando
01000001 Dato
6. Incrementa
Program counter
7. Recupera dato
de memoria
Instrucciones de control.
Instruccin Halt:
Tenemos un problema, no hay forma de parar la computadora despus de que termina el
programa. Una simple instruccin de control resuelve nuestro problema: HALT.
HALT simplemente detiene los pulsos del reloj que van al controlador de secuencia. Un
flip-flop ser necesario y posteriormente usamos la seal de reset para iniciar el reloj nuevamente
y as iniciar el programa.
Instrucciones de Salto:
Este tipo de instruccin indica a la computadora saltar a otro lugar de la memoria e
iniciar la ejecucin del programa en ese punto.
El operando de la instruccin de salto es la localidad de memoria a partir de la cual la
computadora debe recuperar (fetch) su siguiente instruccin, esto es la localidad a la cual la
computadora salta.
Operacin Operando
BRA direccin de memoria salta simple
JMP
Es una instruccin de 3 bytes; el primero es el cdigo de la operacin y los dos siguientes
especifican la direccin de 16 bits.
El controlador de secuencia debe modificarse para transferir los bytes de direccin a la
memoria al registro de direccin de memoria.
Disp. E Disp. S
Registro A Registro B Registro C Registro D
Decodificador
E/S
Seales de ALU
control de
ESTADOS
tiempo
Decodificador
Controlador Registro de
de de
Instrucciones
Instrucciones
secuencia
Registro Memoria
temporal de
Reset
Reloj Ready direccin
Reset
Seales de control
Program counter
Pulsos
Direccin de Direccin de Memoria
16 bits
Registro de direccin
de memoria
Bus de Direcciones de 16 bits