ARQUITECTURA DE LOS
MICROPROCESADORES
DE 8 BITS
Elaborado por: Ing. Jaime E. Velarde
1
jaime.velarde@epn.edu.ec
• Además de la Unidad de Aritmética y
Lógica (ALU) y de la Unidad de Control
(UC), los microprocesadores contienen
REGISTROS.
• REGISTRO (register): Es el elemento
más pequeño que puede retener un
dato. Usado para almacenar
temporalmente información dentro de
la CPU. Los registros pueden ser de
propósito general o especializado.
2
jaime.velarde@epn.edu.ec
• REGISTRO DE PROPÓSITO GENERAL
(general-purpose register): Son
aquellos sobre los que no existe
restricción en cuanto a su utilización.
Pueden ser empleados como fuente o
destino de datos, como contador, como
puntero de localidades de memoria o
de elementos de E/S.
• REGISTROS ESPECIALIZADOS
(special-purpose register): Son los
registros que están dedicados a
realizar alguna función específica.
3
jaime.velarde@epn.edu.ec
7
0
7
REGISTRO
ACUMULADOR
0
REGISTROS
TEMPORALES
7
ALU DE
8 BITS
0
REGISTRO DE
BANDERAS
S, C, Z, etc.
4
jaime.velarde@epn.edu.ec
• REGISTRO ACUMULADOR
(accumulator): Es el registro base para
las operaciones aritméticas y lógicas.
Antes de la ejecución de la instrucción
contiene uno de los OPERANDOS y
después de la ejecución es el que
generalmente recibe el resultado.
También es registro fuente o destino de
las transferencias de datos con la
unidad de memoria o con el sistema de
entrada / salida. En algunos
microprocesadores existe más de un
Acumulador.
5
jaime.velarde@epn.edu.ec
• REGISTROS TEMPORALES O AUXILIARES
(temporal registers) Son registros para uso
interno de la CPU, en los que se almacena
momentáneamente cierta información y no
son accesibles al programador mediante
ninguna instrucción.
• REGISTRO DE BANDERAS (flag register):
Esta formado por un conjunto de biestables,
los mismos que indican ciertas condiciones
del resultado de las operaciones; como por
ejemplo el valor del signo, si hubo o no
carry, si es igual a cero o no, etc.
6
jaime.velarde@epn.edu.ec
7
0
7
REGISTRO
ACUMULADOR
0
7
REGISTRO DE
INSTRUCCIONES
REGISTROS
TEMPORALES
7
ALU DE
8 BITS
0
0
REGISTRO DE DECODIFICADOR DE
BANDERAS
INSTRUCCIONES
S, C, Z, etc.
CIRCUITOS LÓGICOS
GENERADORES
DE TIEMPO Y DE CONTROL
BUS DE CONTROL
7
jaime.velarde@epn.edu.ec
• REGISTRO DE INSTRUCCIONES (instruction
register): Es el registro donde se almacena el
CÓDIGO DE LA OPERACIÓN de la
instrucción que se esta ejecutando, una vez
que es traído desde la memoria del programa
mediante el Bus de Datos.
• DECODIFICADOR DE INSTRUCCIONES
(instruction decoder): Es la parte de la
Unidad de Control que se encarga de
interpretar la instrucción que se encuentra
en el Registro de Instrucciones, en base a
una memoria ROM que contiene
microinstrucciones que controlan la
ejecución de las instrucciones.
8
jaime.velarde@epn.edu.ec
• CIRCUITOS LÓGICOS GENERADORES
DE TIEMPO Y CONTROL (timming and
control circuits): Son los circuitos
encargados de generar las señales
tanto internas como externas que
permiten ejecutar las instrucciones. A
estos circuitos también llegan las
señales externas como las de
inicialización, las de espera, las de
interrupciones, etc. Es decir, es el
bloque que esta directamente
relacionado con el Bus de Control.
9
jaime.velarde@epn.edu.ec
BUS DE DATOS
D7…D0
7
BUS DE DATOS
INTERNO (8 BITS)
7
0
0
BUFFER DEL BUS DE DATOS
7
REGISTRO
ACUMULADOR
0
7
REGISTRO DE
INSTRUCCIONES
REGISTROS
TEMPORALES
7
ALU DE
8 BITS
0
0
REGISTRO DE DECODIFICADOR DE
BANDERAS
INSTRUCCIONES
S, C, Z, etc.
CIRCUITOS LÓGICOS
GENERADORES
DE TIEMPO Y DE CONTROL
BUS DE CONTROL
10
jaime.velarde@epn.edu.ec
• BUS INTERNO (internal bus): Es el bus de
comunicaciones entre los distintos
componentes del microprocesador, se lo
conoce también como el BUS INTERNO DE
DATOS. El número de líneas que posee este
bus esta determinado por el número de bits
que procesa en paralelo la ALU y es uno de
los parámetros que clasifican a los
microprocesadores. Este bus se encuentra
relacionado con el bus externo de datos a
través del BUFFER DEL BUS DE DATOS.
11
jaime.velarde@epn.edu.ec
BUFFER DE UN BIT DE DATOS
Lectura o ingreso al microprocesador
Escritura o salida del microprocesador
12
jaime.velarde@epn.edu.ec
BUS DE DATOS
D7…D0
7
BUS DE DATOS
INTERNO (8 BITS)
7
0
0
BUFFER DEL BUS DE DATOS
7
REGISTRO
ACUMULADOR
0
7
ALU DE
8 BITS
0
REGISTRO DE
INSTRUCCIONES
REGISTROS
TEMPORALES
7
REGISTROS
ESPECIALIZADOS
0
REGISTRO DE DECODIFICADOR DE
BANDERAS
INSTRUCCIONES
S, C, Z, etc.
7
0
7
0
REGISTROS DE
PROPÓSITO GENERAL
REGISTROS ÍNDICES
REGISTRO CONTADOR
DEL PROGRAMA (PC)
REGISTRO PUNTERO
DE LA PILA (SP)
15
0
CIRCUITOS LÓGICOS
GENERADORES
DE TIEMPO Y DE CONTROL
BUS DE CONTROL
13
jaime.velarde@epn.edu.ec
• CONTADOR DEL PROGRAMA (program
counter PC): Es el que contiene la dirección
de la localidad donde se encuentra la
siguiente instrucción a ser ejecutada.
• PUNTERO DE LA PILA (stack pointer SP):
Contiene la dirección de la memoria donde
se almacenó el último dato de la PILA o
STACK.
• REGISTRO ÍNDICE (index register): También
contiene una dirección y es utilizado como
puntero. El uso de este registro permite que
los programas sean más flexibles, ya que
para acceder a distintas localidades de
memoria, basta especificar un valor que
sumado al contenido del registro índice da la
dirección real.
14
jaime.velarde@epn.edu.ec
BUS DE DATOS
D7…D0
7
BUS DE DATOS
INTERNO (8 BITS)
7
0
0
BUFFER DEL BUS DE DATOS
7
REGISTRO
ACUMULADOR
0
7
ALU DE
8 BITS
0
REGISTRO DE
INSTRUCCIONES
REGISTROS
TEMPORALES
7
REGISTROS
ESPECIALIZADOS
7
0
7
0
REGISTROS DE
PROPÓSITO GENERAL
REGISTROS ÍNDICES
0
REGISTRO DE DECODIFICADOR DE
BANDERAS
INSTRUCCIONES
S, C, Z, etc.
REGISTRO CONTADOR
DEL PROGRAMA (PC)
REGISTRO PUNTERO
DE LA PILA (SP)
15
CIRCUITOS LÓGICOS
GENERADORES
DE TIEMPO Y DE CONTROL
BUS DE CONTROL
0
BUFFER DEL BUS
DE DIRECCIONES
BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec
A15...A0
15
BUFFER DE UN BIT DE
DIRECCIONES
Cuando existe una dirección válida
16
jaime.velarde@epn.edu.ec
EL Z80 ES EJEMPLO DE UN
MICROPROCESADOR DE 8 BITS
17
jaime.velarde@epn.edu.ec
Descargar

ARQUITECTURA DE LOS MICROPROCESADORES