Documente Academic
Documente Profesional
Documente Cultură
microprocesadores, clase N3 1
Estructura del microprocesador Intel 8085
microprocesadores, clase N3 2
Programa en assembler
ADR CONT LABEL NEM OPER COMENTARIO
microprocesadores, clase N3 3
La primera columna (ADR) representa la primera direccin de
memoria de la fila correspondiente, por ejemplo para la segunda
fila del programa la primera direccin seria: 0000 y para la
tercera fila la primera direccin seria 0003
microprocesadores, clase N3 5
Programacin en Assembler
microprocesadores, clase N3 6
Ciclos de un microprocesador
Bus de datos interno, 8 bits
8 8 Cuando se inicializa
Oe
8 Registro de Ld
Oe
Ld B (reset) un micro el PC
toma el valor cero,
Registro
A Lo Ld Auxiliar Intrucciones
Oe
Ld C
Oe Oe
entonces, la primera
FLAGS Ld D
Ld
Decodificador Oe
de instrucciones E
instruccin que se
Ld
Z P CY y control del ciclo
Oe
de mquina H
8 Ld
Ld
Oe Ld
SPH
Oe Ld
SPL
almacenada en la
Oe
direccin de memoria
cero. El contenido de la
16
8
Ld Oe Ld Oe Ld
PCH PCL
memoria cero es el
Opcode de la primera
Oe
16
instruccin que se
8
Ld Oe Ld
ejecutar
Counter Up Down
Oe
16
8
16
INT MEMW MEMR IOW IOR
Bus de Control Bus de direcciones Bus de datos
microprocesadores, clase N3 7
Estructura de un microprocesdor
Ciclos de Fetch y ejecucin
La ejecucin de una instruccin se divide en un ciclo de Fetch y un
ciclo de ejecucin, por la tanto, la ejecucin de un conjunto de
instrucciones (un programa), seria una larga secuencia de: un ciclo
de fetch seguido por un ciclo de ejecucin
Instruccin i-1 Instruccin i Instruccin i+1 Instruccin i+2
FETCH i-1 EJECU i-1 FETCH i EJECU i FETCH i+1 EJECU i+1 FETCH i+2 EJECU i+2
microprocesadores, clase N3 8
Al inicio del fetch el PC (Program Counter) apunta a la
direccin de memoria donde el est el Opcode de la
instruccin que corresponde ejecutar, por lo tanto, durante el
Fetch el contenido del registro PC es usado para direccionar
la memoria y obtener el Opcode, al final del Fetch el valor del
PC es incrementado en el nmero de Bytes que tiene la
instruccin.
Durante el ciclo de ejecucin el contenido del RI (Opcode) es
alimentado a la unidad de decodificacin, la salida de esta
unidad alimenta a la unida de control, la salida de las unidad de
control son seales lgicas individuales de control, todas las
transferencias de informacin entre registros y/o buses estn
sincronizadas por una seal de control. En el diagrama interno
del micro las seales de control estn representadas con
lneas azules.
microprocesadores, clase N3 9
La unidad de control de tiempo y ejecucin se encarga , junto con
seales de temporizacin, de que las operaciones se efecten en el
orden debido. Tras recibirse una instruccin y haberse
decodificado, la lgica de control dispone que se inicie la
operacin requerida en cada caso enviando las seales
correspondientes a unidades situadas dentro y fuera del
microprocesador.
microprocesadores, clase N3 10
Programa en assembler
ADR CONT LABEL NEM OPER COMENTARIO
microprocesadores, clase N3 11
Ejecucin de un programa
0000 ORG 0 ; PROGRAM START ADDRESS
0000 31FF13 LXI SP, RAMAD ; STACK DEFINITION
0003 3E98 MVI A, 98H ; CONTROL WORD FOR 8255,
COUNTER=$0000, PC=$0000, SP=$0000, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
COUNTER=$0001, PC=$0003, SP=$0000, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
Al final del Fetch, el PC ( $0003) apunta a la direccin de memoria que tiene el Opcode ( $3E) de la
siguiente Instruccin, por su parte el Counter_UD ($0001) apunta al segundo Byte de la actual
instruccin ( $FF).
microprocesadores, clase N3 12
Ciclos de FETCH
El nmero de bytes de en
Bus de datos interno, 8 bits
es determinado por la
Oe
Oe Ld B
8 Registro de Ld
Registro
A Oe
unidad de decodificacin
Lo Ld Auxiliar Intrucciones C
Ld
Oe Oe
del RI.
FLAGS Ld D
Ld
Decodificador Oe
de instrucciones Ld E
Z P CY y control del ciclo
Oe
de mquina H
8 Ld
Ld
Oe Ld Oe Ld
e independiente de la
SPH SPL
instruccin que se
ejecute.
Oe
16
8
Ld Oe Ld Oe Ld
PCH PCL
Oe
16
8
Ld Oe Ld
Counter Up Down
Oe
16
8
16
INT MEMW MEMR IOW IOR
Bus de Control Bus de direcciones Bus de datos
microprocesadores, clase N3 13
Estructura de un microprocesdor
Configuracin de los mdulos de un microcomputador
Lnea de Interrupcin
Microprocesador
ROM RAM
Bus de datos
Bus de Control
Bus de Direcciones
microprocesadores, clase N3 14
0000 ORG 0 ; PROGRAM START ADDRESS
0000 31FF13 LXI SP, RAMAD ; STACK DEFINITION
0003 3E98 MVI A, 98H ; CONTROL WORD FOR 8255,
COUNTER=$0001, PC=$0003, SP=$0000, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
COUNTER=$0002, PC=$0003, SP= $13FF, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
microprocesadores, clase N3 15
0000 ORG 0 ; PROGRAM START ADDRESS
0000 31FF13 LXI SP, RAMAD ; STACK DEFINITION
0003 3E98 MVI A, 98H ; CONTROL WORD FOR 8255,
0005 D317 OUT CONWO
0007 0600 NBU: MVI B, 0 ; RESET COUNTER
COUNTER=$0002, PC=$0003, SP=$13FF, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
Buffer_direcc PC ( $0003)
Bus_ADR Buffer_direcc ($0003)
BUS_CONTROL MEMR
BUS_DATA MEM[BUS_ADR] ( $3E ) ; Lectura de memoria
BUS_INT BUS_DATA ( $3E)
RI BUS_INT ( $3E) ; Opcode de MVI A ( $3E) en RI
Counter PC ($0003)
Counter Counter+#Bytes_INT; incremento en #Bytes ( Decodif de RI )
PC Counter ($0005)
Counter Counter-#Bytes_INT ; $0005 - 2
Counter Counter+1 ; $0003+1
COUNTER=$0004, PC=$0005, SP=$13FF, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
microprocesadores, clase N3 16
0000 ORG 0 ; PROGRAM START ADDRESS
0000 31FF13 LXI SP, RAMAD ; STACK DEFINITION
0003 3E98 MVI A, 98H ; CONTROL WORD FOR 8255,
0005 D317 OUT CONWO
0007 0600 NBU: MVI B, 0 ; RESET COUNTER
COUNTER=$0004, PC=$0005, SP=$13FF, A=$00, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
COUNTER=$0004, PC=$0005, SP=$13FF, A= $98, B=$00, C=$00, E0=$00, D=$00, H=$00, L=$00
microprocesadores, clase N3 17