Sie sind auf Seite 1von 16

Universidad Nacional de Ingeniera. Sulca Carlos.

UNI-FIEE

1

I. OBJETIVOS
A. Objetivos Generales

El objetivo de este proyecto es comprender el funcionamiento de un microprocesador bsico, para tal
objetivo se construye un microprocesador bsico de 4 bits con una arquitectura simple.

B. Objetivos Especficos

Los objetivos especficos para poder comprender el funcionamiento completo del microprocesador es
construir cada bloque que est en la arquitectura del microprocesador que consiste en ocho bloques
bsicos y cada uno cumple una funcin especfica para ello se utilizar el software DSCH2, una vez
construido los bloques en forma independiente se proceder a unirlos mediante un bus de datos y deben
estar sincronizados con un reloj.

II. ESTADO DEL ARTE

Han pasado ms de 25 aos desde que Intel diseara el primer microprocesador, siendo la compaa
pionera en el campo de la fabricacin de estos productos, y que actualmente cuenta con ms del 90 por
ciento del mercado. Un tiempo en el que todo ha cambiado enormemente, y en el que desde aquel 4004
hasta el actual Pentium II hemos visto pasar varias generaciones de mquinas que nos han entretenido y nos
han ayudado en el trabajo diario.


III. FUNDAMENTOS TERICOS

Un simple microprocesador es una versin actualizada de una arquitectura de computador muy popular
SAP (Simple-As-Possible) propuesta por Albert P. Malvino in 1993 en su libro famoso Digital Computer
Electronics. El simple microprocesador introduce los conceptos bsicos de la arquitectura de un
microprocesador de una manera simple, como se muestra en la Fig.1



MICROPROCESADOR BSICO

Sulca Neira Carlos
Krloss2009@gmail.com
Universidad Nacional De Ingeniera


Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

2

Fig.1. VSM arquitectura bsica

El VSM est conectado mediante un bus llamado bus interno (IB) cada bloque puede tomar el control del
bus usando una seal especfica de habilitacin llamada enable. Por ejemplo el acumulador A se
habilita mediante la seal EnableA. Cuando EnableA est en alto, los 4 bits del acumulador A van por el
bus interno, el control de estas seales de habilitacin Enable estn proporcionados por el bloque
llamado MicroInstruccin, que tiene un rol fundamental en el control del microprocesador. A
continuacin se describe el rol de cada bloque.

A. Contador De Programa (Program Counter)

El contador de programa cuenta de 0000 a 1111 para monitorear las direcciones de la instruccin activa.
Inicialmente en contador est en 0000 para que el microprocesador empiece con la primera instruccin de
la memoria.

B. Memoria Del Programa (Program Memory)

La memoria del programa almacena el programa. Cada lnea del programa tiene 8 bits donde los primeros
cuatro bits ms significativos corresponden a la instruccin y los otro cuatro bits menos significativos
corresponde a los datos adjuntados a la instruccin.

C. Acumulador A (accumulator A)

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

3
El acumulador A almacena los resultados intermedios calculados por el microprocesador. El acumulador
es un registro de 4 bits y requiere una seal de habilitacin (EnableA) luego el resultado en el acumulador
es enviado al bus interno.
D. Acumulador B (accumulator B)

El acumulador B es similar al acumulador A. Este es principalmente es usado para suministrar el nmero
para sumar o restar con el del acumulador A para ejecutarse la operacin de suma o resta.

E. Unidad Aritmtica (Arithmetic Unit)

La unidad aritmtica realiza bsicamente dos operaciones:

o


F. Registro De Entrada (Input Register)

El registro de entrada nos da la oportunidad de transferir datos de fuera hacia el interior del
microprocesador.

G. Registro De Salida (Output Register)

El registro de salida transfiere el contenido del bus interno hacia el exterior del microprocesador.
Usualmente esta instruccin est al final del programa para mostrar el resultado final en el display. El
registro de salida almacena los datos de salida en un flanco de bajada del reloj.

H. Micro Instruction (MicroInstruction)

Tiene un rol fundamental en el control del microprocesador mediante las seales de habilitacin Enable.
Las cuatro seales de habilitacin para los bloques que toman el control del bus interno son:

SEAL DESCRIPCIN
EnableA Autoriza que el acumulador A tomo el control del bus interno
EnableAlu Coloca el resultado de la operacin aritmtica en el bus interno
EnableInstr Coloca parte del dato de la instruccin en el bus interno
EnableIn Transfiere el contenido de los datos externos al bus interno

I. Registro de Instrucciones (InstructionRegister)

Almacena el contenido de la memoria de programa que es una lnea de 8 bits que lo divide en dos partes
los 4 bits ms significativos que corresponden a la instruccin del programa y los otro 4 bits menos
significativos corresponde a los datos del programa.

Estas instrucciones del programa son:

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

4
No Operation (NOP = 0000):

Esta instruccin no tiene efecto en el registro interno, pero es muy interesante para entender cmo
trabaja el control bsico del reloj.

Addition (ADD = 0001):

El contenido del acumulador A es sumado con el dato dado por un parmetro, y el resultado es
actualizado en el mismo acumulador A. La suma se realiza con 4 bits y se ignora el acarreo.

Subtraction (Sub = 0010):

El contenido del acumulador A es restado con el dato dado por un parmetro, y el resultado es
actualizado en el mismo acumulador A. La resta se realiza con 4 bits y se ignora el acarreo

Get Input (In = 0011):

Los puertos de entrada son transferidos al acumulador A

Get Output (OUT = 0100):

El acumulador Aes almacenado en el puerto de salida. El puerto de salida es un registro de 4 bits
que memoriza los datos de salida y los mantiene permanentemente disponible hasta refrescarlo
con un nuevo dato de salida.

Load Instruction (LDA = 0101):

Carga el acumulador A con un valor.


EJECUCIN DE LAS INSTRUCCIONES

El mecanismo de la ejecucin de las instrucciones se basa en las micro-instrucciones internas. La
ejecucin de cada instruccin se realiza en cuatro fases diferentes como se muestra en la siguiente figura.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

5

Estas instrucciones son independientes de las instrucciones de usuario, Las dos primeras fases son
llamadas secuencias de estrategia:

FASE NOMBRE DESCRIPCIN
Fase 1 Estado de la direccin El contenido de le memoria se carga al registro de
instrucciones
Fase 2 Estado de incremento El contador de programa se incrementa y se carga el
controlador
Fase 3 Ejecute paso 1 Dependiendo de la instruccin se ejecuta el primer paso
Fase 4 Ejecute paso 2 Realiza el paso 2


No Operation (NOP = 0000): La Fase 1 corresponde al acceso de memoria y a cargar las
instrucciones, en la Fase 2 las instrucciones almacenadas se envan al controlador, y l contador se
incrementa.


Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

6

Addition (ADD = 0001): En la Fase 3 se carga el acumulador B y en la Fase 4 se carga el
acumulador A y se realiza la operacin y se actualiza en A.



Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

7


Get Input (In = 0011): En la Fase 3 se carga el acumulador A



Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

8


Get Output (OUT = 0100): En la Fase 3 el contenido del acumulador A actualizado se enva al
puerto de salida y en la Fase 4 se desactiva en microprocesador.



Load Instruction (LDA = 0101): LA instruccin de carga transfiere e dato de 4 bits como un
parmetro del acumulador A esto se reaza en la Fase 3.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

9






IV. MARCO METODOLGICO

A continuacin se detalla la estructura de cada sub-bloque del microprocesador:

A. Acumulador A

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

10
El acumulador A est basado en cuatro registros tipo D. Los registros de salida estn permanentemente
disponibles a travs Alu0Alu3 para las operaciones de suma y resta, el contenido del acumulador A
tambin puede ser transferido hacia el bus interno cuando la seal EnableA es activada para ello se una
3-state, La seal LatchA autoriza la transferencia del dato de entrada.





B. Acumulador B

Como el caso del acumulador A, el acumulador B est basado en cuatro registros tipo D. Los registros de
salida estn permanentemente disponibles a travs AluB0AluB3 para las operaciones de suma y resta,
la seal LatchB autoriza la transferencia del dato de entrada.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

11


C. Unidad Aritmtica

La suma de 4 bits se construye con los sub-bloques de los sumadores completos que vienen en la
biblioteca del software DSCH. Para la operacin de la resta se construye dos circuitos adicionales un
circuito que realice el complemento a 2 y otro circuito que sume uno a este resultado para realizar estos
circuitos utilizamos multiplexores.


Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

12

En la siguiente figura se muestra la unidad aritmtica junto con los dos acumuladores A y B :



D. Registro De Entrada

El registro de estrada es un simple buffer compuesto por 3-states, no necesita registros tipo D por que los
datos de entrada sern directamente transferidos hacia el acumulador A.



E. Registro De Salida

El registro de salida s est basado en registros tipo D, el dato debe ser guardado con el flaco positivo del
reloj, durante la fase 3.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

13


La siguiente figura muestra al microprocesador pero controlado en forma manual:



F. Registro De Instrucciones

El cdigo de instruccin es almacenado mediante 4 registros tipo D y los datos tambin son almacenados
mediante otros 4 registros tipo D como se muestra en la siguiente figura.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

14



G. Micro Instruction

La bloque de microinstruccin es el corazn del microcontrolador este controla las seales ms
importantes Enable y latch llas seales de entrada son los codigos de microinstruccin y las seales
de fase para realizar este circuito utilizamos compuertas AND como decodificadores, las dos primeras
seales de fase no dependen del cdigo de instruccin por eso no se utilizan ninguna compuerta AND.
Tambien se utilizan MOSFETS que que activaran las seales deseadas (=1) o se mantendrn desactivadas
(=0) dependiendo del tipo de instruccin.

Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

15


H. El Generador De Fase

Para transformar el microprocesador de manual en un microprocesador programable, necesitamos
construir varios circuitos que generen seales de control apropiadas, este generador de fase debe producir
cuatro seales Fase0Fase3 en los flancos negativos del reloj y debe tener un Reset.






Universidad Nacional de Ingeniera. Sulca Carlos.


UNI-FIEE

16
I. Contador de 0 a 15


El contador tambin juega un papel muy importante en el microprocesador como suministro principal
para la memoria de programa con las direcciones de las instrucciones de activacin el contador empieza
en 0 luego al finalizar cada instruccin el contador se incrementa para seleccionar la siguiente instruccin.
Una manera simple de construir un contador es con registros tipo D.



J. Microprocesador completo


V. MATERIALES Y EQUIPO

Para simular el proyecto se utiliz el software DSCH2 dado en clase.

Das könnte Ihnen auch gefallen