ARQUITECTURA DE LOS
MICROPROCESADORES
DE 8 BITS
Elaborado por: Ing. Jaime E. Velarde
1
[email protected]
• 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
[email protected]
• 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
[email protected]
7
0
7
REGISTRO
ACUMULADOR
0
REGISTROS
TEMPORALES
7
ALU DE
8 BITS
0
REGISTRO DE
BANDERAS
S, C, Z, etc.
4
[email protected]
• 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
[email protected]
• 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
[email protected]
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
[email protected]
• 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
[email protected]
• 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
[email protected]
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
[email protected]
• 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
[email protected]
BUFFER DE UN BIT DE DATOS
Lectura o ingreso al microprocesador
Escritura o salida del microprocesador
12
[email protected]
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
[email protected]
• 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
[email protected]
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
[email protected]
A15...A0
15
BUFFER DE UN BIT DE
DIRECCIONES
Cuando existe una dirección válida
16
[email protected]
EL Z80 ES EJEMPLO DE UN
MICROPROCESADOR DE 8 BITS
17
[email protected]
Descargar

ARQUITECTURA DE LOS MICROPROCESADORES