Está en la página 1de 6

Facultad de Ciencias Exactas y Naturales y Agrimensura

Departamento de Ingeniera
Ctedra : Proyecto Final
Apuntes : Microprocesadores
Tema 6-1 : Esquema de un P. La CPU

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, est
estructurado por tres unidades operativamente diferentes:

1. La ALU o unidad aritmtico lgica.


2. La UC o unidad de control.
3. Los registros internos

Veamos el esquema simplificado de una CPU.

Unidad
aritmtico-
lgica
Unidad
de
Control
registros

Figura N 6.1.1 Esquema de una unidad central de proceso

La Unidad Aritmtico - Lgica

Con respecto a cualquier microprocesador, las instrucciones involucran operaciones


sobre un operando, o entre dos de ellos, estando uno de los mismos almacenado en el registro
acumulador que es el registro de trabajo de cualquier ALU, por lo que en algunos casos suele
denominarse registro W. El tipo de operaciones que puede realizar una ALU, pueden resumirse
as:

1. Suma aritmtica
2. Resta aritmtica (complemento a 2)
3. operaciones lgicas
o producto y suma lgica
o Comparacin
o Complementacin
o enmascaramiento
4. Desplazamiento o rotacin
5. No operar (transferencia)

Algunas instrucciones estn referidas al contenido del registro acumulador en su totalidad, y


otras respecto a algunos bits del mismo, correspondiente a una palabra de datos que se desea
modificar.
Una forma de esquematizar la ALU en bloques funcionales, es de la siguiente manera:

operando

Registro
de salida
desplazamiento

acumulador

Cod de operacin
Figura N 6.1.2 esquema de la ALU

El bloque de la izquierda es un operador aritmtico lgico, o sea un circuito


combinacional, capaz de realizar las operaciones que vienen determinadas en los cdigos de
operacin.
El bloque de la derecha es un registro de desplazamiento que acta con el resultado que
entrega el operador aritmtico. Mediante este registro se pueden realizar los desplazamientos o
rotaciones de los bits dentro de una palabra de datos. Por ejemplo en el caso que se desee
utilizar este registro para serializar una secuencia de datos para ser enviados a un codificador
de tonos, el que a su vez lo enva a un sistema de almacenamiento como ser un cassette de
audio.

Tenemos a continuacin un sistema digital conformado de tal manera que pueda realizar
distintas operaciones como ser: sumar, complementar, comparar y dejar pasar las
informaciones sin alterarlas (no operar). El mismo podra ser implementado en un simulador y
verificar los resultados.

Figura N 6.1.3 esquema de un sistema de operacin


Operacin Cdigo Operador Operador R CARRM
C1 C2 A B
NO OP 0 0 0 X 0 0
NO OP 0 0 1 X 1 0
SUMAR 0 1 0 0 0 0
SUMAR 0 1 0 1 1 0
SUMAR 0 1 1 0 1 0
SUMAR 0 1 1 1 0 1
COMPARAR 1 0 0 0 1 0
COMPARAR 1 0 0 1 0 0
COMPARAR 1 0 1 0 0 0
COMPARAR 1 0 1 1 1 0
COMPLEMENTAR 1 1 0 X 1 0
COMPLEMENTAR 1 1 1 X 0 0

Tabla N 1 Listado de las operaciones

UNIDAD DE CONTROL

Podemos considerarla como la parte inteligente del sistema microprocesador. Debido a


que el P desarrolla sus tareas en funcin de las instrucciones secuenciadas que ha
organizado e implementado el programador, es necesario que el sistema interprete cada tipo
instruccin para actuar en consecuencia. Es lo que se conoce tambin como decodificacin de
la instruccin.
Hemos visto en el esquema general de la CPU, la existencia de registros y de la ALU.
Precisamente, cada instruccin puede significar comunicaciones a travs de los buses internos
(y externos) entre estos bloques funcionales, para la transferencia de los datos binarios (datos
propiamente dichos o direcciones).
Hay instrucciones simples y complejas, en el sentido que una simple o breve puede significar la
transferencia entre dos registros internos del sistema, a la modificacin de los bits contenidos
en un registro dado, pero puede haber instrucciones que impliquen varios movimientos o
transferencias de bits o datos utilizando reiteradamente los buses internos (o externos) del
sistema para la cual es necesario establecer una secuencia organizada para compartir los
buses que son comunes a todos los bloques funcionales.
Estas transferencias secuenciales de los datos la realiza la unidad de control, precisamente
seales de control a los distintos bloques.
A cada una de estas transferencias de datos que forma parte de una instruccin se la conoce
como microinstruccin.
El conjunto de microinstrucciones (microcdigos) que conforman cada instruccin, vienen
grabadas de fabrica en el chip del P, en una memoria de tipo ROM y por lo general no es
accesible al programador. Este tipo de sistema se denomina microprogramado.
Existen pocos modelos (2.901 A de Advanced Micro Devices), que permiten el acceso a la
ROM, para definir un propio juego de instrucciones, pero ello implica tener un conocimiento
muy profundo de los detalles circuitales para obtener un funcionamiento ptimo (son los
sistemas microprogramables).
Puede darse el caso que cuando se est realizando una microinstruccin, antes de terminarla
se salte a otra microinstruccin. Esto puede darse segn las seales de condicin que est
recibiendo en ese momento la unidad de control.

Funciones de la unidad de control

Las funciones de comando que parten de la unidad de control, nacen a consecuencia de


lo que denominamos la funcin principal de la misma, que es:

1) Decodificacin de las instrucciones.


De la unidad van a seguir las distintas microinstrucciones, las que globalmente decimos
van a realizar la segunda funcin en importancia que es:

2) Sincronizacin de las tareas.

Esta ltima podemos desglosarla en tres funciones secundarias, no menos importantes:

administracin de los buses internos de comunicacin del microprocesador.


manejo de las lneas de intercambio con el exterior (buses externos) que permiten la
interaccin de la CPU en la memoria principal y los perifricos.
Indicacin a la ALU sobre las operaciones a realizar.

Todas las funciones de comando que salen de la unidad de control se corresponden con
las seales de entrada a la unidad que pueden ser:

Un cdigo de instruccin que almacenado en el registro RI contiene la operacin a ser


ejecutada as como el modo de direccionamiento con que se obtiene el operando.
Un secuenciador que a partir del reloj que posee el sistema realiza un conteo que permite
localizar las microinstrucciones sucesivas que componen la instruccin.
Un conjunto de condicionamientos que identifican a aquellos eventos que provocan
alteraciones en la secuencia normal de un programa (interrupciones, saltos por condiciones
del registro de estado).

Veamos un esquema de la unidad de control:

reloj secuenciador
Lneas internas

ROM Lneas externas


control
(microcdigo)

Cod op para ALU


Bus RI
datos

Lneas de condicin

Figura N 6.1.4 Diagrama de la unidad de control

La entrada de reloj recibe las seales de un cristal o en forma indirecta a travs de un CI


que genera las fases de reloj que necesita el P para trabajar correctamente. En el caso del
8080, se necesitan dos fases de reloj, con pulsos de distinta duracin y no solapadas.
Cada instruccin de todo el conjunto que tiene un P, viene a su vez implementada como un
subconjunto de microinstrucciones almacenadas en una memoria ROM interna y no accesible
por el usuario. El nmero de lneas de condicin son las provenientes del registro de estado y
que son consultadas segn lo requiera el cdigo de operacin que esta siendo decodificado.
LOS REGISTROS INTERNOS DEL P

Son parte del sistema, utilizados como almacenamiento temporario de datos, cuyo
tamao va a depender del tipo de informacin que va a contener. Los registros son en
definitiva, celdas elementales de memoria que reciben y entregan informacin en paralelo.

Podemos distinguir dos tipos de registros, segn el tipo de uso:


general
dedicado

Los de uso general pueden ser empleados por el programador segn su conveniencia. Su
contenido depende de la instruccin y le da flexibilidad a la operacin.
Los segundos son empleados por el sistema interno del microprocesador, aunque pueden ser
accedidos para consulta desde el programa que se ejecuta. Tienen significacin nica.

Cuando se ejecuta una instruccin, as como para recorrer la secuencia que supone un
programa, la CPU debe tener la posibilidad de memorizar informacin necesaria para no perder
esa secuencia, y debe estar disponible permanentemente. Por ejemplo: el cdigo de la
instruccin a ejecutar, la posicin de la memoria en que contina el programa, los operandos a
utilizar, etc.).
Veamos cuales pueden ser los registros de uso dedicado:

funcin nombre siglas nmero de bits


1) Para direcciones de memoria RDM 16
2) Para contenido de las direcciones RCM 8
3) Para instrucciones RI 8
4) Para control de secuencia Contador de CP 16
programa
5) Para manejo de subrutinas Stack pointer SP 16
6) Para funcionamiento de ALU Acumulador ACC 8

7) Para control del estado de Registro de estado RS 8


funcionamiento

Los Registros de uso general de un P

Se denominan: B-C, D-E y H-L pudiendo considerarlos en forma independiente (8 bits


c/u), o de a pares (16 bits).
Los registros son sensibles a dos comandos principales:
- leer del bus
- escribir en el bus

Esta dado el carcter de multiplexado en el tiempo que se presenta en el sistema P.


Los registros de uso general dan mayor flexibilidad de operacin, a la vez que ahorran
transferencias de y hacia memoria, pues permiten mantener simultneamente en modo
operativo varias informaciones del mismo tipo (punteros, ndices).
Cuanto mayor sea el nmero de registros de uso general, mayor ser la economa de
transferencias, pero a costa de un aumento en la cantidad de bits que en cada instruccin
identifican los registros afectados a la misma.
El uso dedicado a que se hace referencia implica que la informacin contenida para
cada registro tiene una significacin nica para cualquier instruccin que se quiera ejecutar.
Estos registros hacen que las instrucciones sean ms cortas, o bien para igual longitud
dejan ms bits disponibles para cdigo de operacin y modo de direccionamiento.
En otros microprocesadores, existe una zona de la memoria que puede emplearse como
registros de uso general, los cuales pueden ser identificados con un nombre nemotcnico para
emplearlo a posteriori. Cabe aclarar que esto es posible no para el caso del 8080 sino de
aquellos sistemas de desarrollo que tienen incorporado un lenguaje Assembler del mismo P
que transforma el programa fuente en lenguaje mnemnico en lenguaje de mquina
interpretable por el P.
Registro de control de estado (STATUS REGISTER)

Tambin llamado registro de cdigos de condicin, contiene un conjunto de flip-flop cuyo


nmero puede variar de 5 a 7 bits. Cada uno de estos bits representa o indica determinadas
caractersticas de la ltima operacin ejecutada por el procesador, o sea especficamente, por
la ALU.
Por ejemplo, las condiciones que se pueden presentar son:

el resultado es cero (en el acumulador)


el resultado en negativo (complemento a dos)
el resultado desbord el contenido (overflow)
el resultado incluye un arrastre (carry)
la paridad del acumulador
se gener un arrastre en una operacin de suma, del bit 3 al bit 4 (bit carry)
indica la paridad del resultado de la ltima operacin

Esta informacin puede manejarse en forma de banderas o flag que pueden utilizarse por un
programa.