1 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 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 7 0 REGISTRO ACUMULADOR REGISTRO DE BANDERAS S, C, Z, etc. ALU
DE 8 BITS 7 0 REGISTROS TEMPORALES 7 0
4 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 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 7 0 REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES REGISTRO DE
BANDERAS S, C, Z, etc. ALU DE 8 BITS DECODIFICADOR DE
INSTRUCCIONES BUS DE CONTROL 7 0 REGISTROS TEMPORALES 7 0
CIRCUITOS LÓGICOS GENERADORES DE TIEMPO Y DE CONTROL 7
0
7 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 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 BUS DE DATOS D7…D0 7 0 REGISTRO ACUMULADOR REGISTRO DE
INSTRUCCIONES REGISTRO DE BANDERAS S, C, Z, etc. ALU DE 8 BITS 7
0 BUFFER DEL BUS DE DATOS DECODIFICADOR DE INSTRUCCIONES BUS DE
CONTROL BUS DE DATOS INTERNO (8 BITS) 7 0 REGISTROS TEMPORALES 7
0 CIRCUITOS LÓGICOS GENERADORES DE TIEMPO Y DE CONTROL 7
0
10 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 BUFFER DE UN BIT DE DATOS Lectura o ingreso al microprocesador
Escritura o salida del microprocesador
12 BUS DE DATOS D7…D0 7 0 REGISTRO ACUMULADOR REGISTRO DE
INSTRUCCIONES REGISTRO DE BANDERAS S, C, Z, etc. REGISTROS DE
PROPÓSITO GENERAL REGISTROS ÍNDICES REGISTRO
CONTADOR DEL PROGRAMA (PC) REGISTRO PUNTERO DE LA PILA (SP) ALU
DE 8 BITS 7 0 BUFFER DEL BUS DE DATOS DECODIFICADOR DE
INSTRUCCIONES BUS DE CONTROL BUS DE DATOS INTERNO (8 BITS) 7 0
REGISTROS TEMPORALES 7 0 CIRCUITOS LÓGICOS GENERADORES DE
TIEMPO Y DE CONTROL 7 0 15 0 7 0 7 0 REGISTROS
ESPECIALIZADOS
13 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 BUS DE DATOS D7…D0 7 0 REGISTRO ACUMULADOR REGISTRO DE
INSTRUCCIONES REGISTRO DE BANDERAS S, C, Z, etc. REGISTROS DE
PROPÓSITO GENERAL REGISTROS ÍNDICES REGISTRO
CONTADOR DEL PROGRAMA (PC) REGISTRO PUNTERO DE LA PILA (SP)
BUFFER DEL BUS DE DIRECCIONES ALU DE 8 BITS 7 0 BUFFER DEL BUS DE
DATOS BUS DE DIRECCIONES A15…A0 DECODIFICADOR DE INSTRUCCIONES
BUS DE CONTROL BUS DE DATOS INTERNO (8 BITS) 7 0 REGISTROS
TEMPORALES 7 0 CIRCUITOS LÓGICOS GENERADORES DE TIEMPO Y
DE CONTROL 7 0 15 0 7 0 7 0 REGISTROS ESPECIALIZADOS
15 BUFFER DE UN BIT DE DIRECCIONES Cuando existe una
dirección válida
16 EL Z80 ES EJEMPLO DE UN MICROPROCESADOR DE 8 BITS