You are on page 1of 5

Sistemas Digitales II

E. Romero A. ITSON
Diseo de un procesador discreto de 4 bits

El procesador simplificado mostrado en la figura 1, puede ser implementado
mediante el esquema de procesador discreto mostrado en la figura 2. A grandes rasgos,
en ste esquema puede distinguirse 2 grandes bloques: el primero de ellos, formado por
la interconexin en bus de un conjunto de registros y la ALU, denominado trayectoria de
datos y otro que es la unidad de control.

Procesador
y
control
Memoria
Bus de direcciones
Bus de datos (escritura)
Bus de datos (lectura)


Figura 1: Procesador bsico simplificado


Analizando ms detalle el esquema, se puede notar que el procesador discreto
cuenta con las siguientes partes:

PC Apuntador de programa: Es un contador el cual se incrementa al recibir un 1
lgico en la lnea (X
6
)de incremento.

ACC Registro acumulador: Es un registro de tipo D mltiple (uno para cada bit del bus
de datos) el cual almacenar la salida del MBR cuando reciba un 1 lgico en la
lnea X
10
.

IR Registro de instruccin: Es un registro de tipo D mltiple (uno para cada bit del
bus de datos) el cual almacenar la salida del MBR cuando reciba un 1 lgico en
la lnea X
1
.

MAR Registro de direccionamiento de memoria: Es un registro de tipo D mltiple (uno
para cada bit del bus de direcciones) que se cargar con la salida de PC o de la
concatenacin de MBR y MBR
AUX
(dependiendo del MUX 1). Su salida selecciona
la localidad de memoria a leer o escribir.

MBR Registro buffer de memoria: Es un registro de tipo D mltiple (uno para cada bit
del bus de datos) que se cargar con la salida de ACC o del contenido de la
direccin de memoria activa (dependiendo del MUX 2). Su salida puede ser
enviada a casi todos los dems registros y a la ALU. Cabe sealar que todo que
vaya a ser ledo o escrito a memoria tiene que pasar a travs del MBR.

MBR
AUX
:

MBR auxiliar: Al igual que el MBR, este es un registro de tipo D mltiple. Su uso
es necesario cuando el procesador va a ejecutar alguna instruccin de salto o
alguna otra en la que el operando es una direccin de memoria. En tales casos, en
conjuncin con MBR formar dichas direcciones y stas se enviarn al PC o al
MAR, segn sea el caso.

Sistemas Digitales II
E. Romero A. ITSON
CCR Registro de cdigo de condiciones: Es un registro de tipo D mltiple (uno para
cada bandera) que almacena informacin que indican el estado de la ltima
operacin que realiz el ALU.

T Registro de tiempos: Es un registro contador. Su funcin es la de dar los tiempos
de cada parte de la instruccin (microinstruccin). Cada vez que recibe un pulso
de reloj se incrementa hasta que recibe un 1 lgico en la lnea de clear (fin de
instruccin), entonces se pone en cero de nuevo para que el procesador inicie la
ejecucin de la instruccin siguiente.

ALU Unidad de aritmtica y lgica; Realiza el procesamiento de la informacin. Es un
circuito con 3 entradas de varios bits; dos de las cuales son los datos que se
procesarn de acuerdo a lo indicado por la tercera entrada. La salida es el
resultado de la operacin seleccionada y las condiciones de salida de esta
operacin (acarreo, sobreflujo, cero, signo, etc).

Unidad de control: Es la encargada de generar las seales que forman las
microinstrucciones (salidas X), estas se producen de acuerdo a la instruccin que
se ejecutando (IR) y al tiempo en que se encuentre esta instruccin (T).

Bus de
direcciones
Bus de
datos
R/W
M B R
u
M U X 2
A C C C C R
I R
M B R
AUX
M A R
P C
M U X 1
UNIDAD DE CONTROL
X
6
X
5
X
4
X
3
X
2
X
1
X
10
banderas
Contador CLK
T
2 1 0 ... n
2 1 0 3
q
X
14
X
15
X
16
X
13
X
12
X
7
incrementa
X
11
clear
S
S
MBR ACC
A L U
S
0
S
1
S
2
0
1
0 1
X
8
X
9
X
17
S
3



Figura 2: Esquema de la arquitectura interna de un procesador bsico.
Sistemas Digitales II
E. Romero A. ITSON

Microinstrucciones

Las proposiciones en un lenguaje de alto nivel, nos ocultan en gran medida el
proceso que sigue el procesador para realizar sus operaciones. Esto permite que el
programador se concentre ms en el problema a resolver que en las operaciones que
realiza el procesador. Ya se vio que cada proposicin puede convertirse en una o ms
instrucciones del juego de instrucciones del procesador.

De la mismo forma, cada una de las instrucciones del juego de instrucciones de un
procesador se descompone en grupos de instrucciones mas sencillas llamadas
microinstrucciones. Al conjunto de microinstrucciones que conforman cada instruccin
(del procesador) se llama microprograma.

El uso de instrucciones permite que los componentes internos del procesador sean
invisibles para el programador, y slo maneje los registros que tienen relacin con el
programa.

Las microinstrucciones que el procesador bsico propuesto puede realizar son
sumamente sencillas, como por ejemplo, la transferencia de informacin de un registro a
otro. Las microinstrucciones se producen activando alguna lnea X determinada; por
ejemplo para incrementar el PC, la lnea X6 debe ponerse en 1. para enviar el contenido
del PC al registro MAR, debe ponerse en 1 la lnea X7, etc.

En la siguiente tabla se listan las microinstrucciones que puede realizar el
procesador discreto propuesto:

Microinstrucciones Seales de activacin
PC PC +1 X6 =1
PC MBR: MBRAUX X5 =1
MAR PC X7 y X13 =1
MAR MBR: MBRAUX X8 =1
M MBR X9 =0
IR MBR X1 =1
A MBR X10 =1 X17: X16: X15: X14: =0:0:0:0
MBRAUX MBR X4 =1
MBR A X2 =1
MBR M X3 =1, X9 =1 y X12 =1
T 0 X11 =1
A A +1 X10 =1 X17: X16: X15: X14: =0:0:0:1
A A +MBR X10 =1 X17: X16: X15: X14:=0:0:1:0
A A +MBR +1 X10 =1 X17: X16: X15: X14: =0:0:1:1
A A +MBR X10 =1 X17: X16: X15: X14: =0:1:0:0
A A MBR X10 =1 X17: X16: X15: X14: =0:1:0:1
A A MBR X10 =1 X17: X16: X15: X14: =0:1:1:0
A A MBR X10 =1 X17: X16: X15: X14: =0:1:1:1
A A X10 =1 X17: X16: X15: X14: =1:0:0:0

Tabla 1: Microinstrucciones del procesador discreto propuesto


Se asume que todas las lneas de control X que no se especifican en las
microinstrucciones estn en 0, y que la tabla de verdad de la ALU es la siguiente:
Sistemas Digitales II
E. Romero A. ITSON

S3 S2 S1 S0 Salida (F)
0 0 0 0 A
0 0 0 1 A +1
0 0 1 0 A +B
0 0 1 1 A +B +1
0 1 0 0 A +B
0 1 0 1 A - B
0 1 1 0 A B
0 1 1 1 A B
1 0 0 0 A

Tabla 1: Tabla de verdad de la ALU


Microprogramas para cada instruccin

Un microprograma es la secuencia de microinstrucciones que se deben producir
para que una instruccin del procesador se realice. Para definir la secuencia de las
microinstrucciones, se debe considerar qu instruccin se est ejecutando y en qu
tiempo o etapa se encuentra la instruccin. El registro IR indica que instruccin se est
ejecutando y el contador T indica el tiempo.

El microprograma define el comportamiento de la unidad de control que produce
las seales X. Cada lnea o rengln del microprograma define bajo que condiciones de
entrada de seales q y t se deben producir alguna seal X, esto se representa en la
forma:

Condicin de entrada: Salida X
Por ejemplo: t
3
q
4
: MAR PC

Indica que la microinstruccin MAR PC debe efectuarse cuando el contador
de tiempo sea 3 y el registro IR tenga un 4 (cdigo de la operacin). Otra forma de verlo
es: Cuando IR =4 y T =3, la salida X7 debe ser 1 (al activarse X1 se carga MAR con el
valor de PC).

El contador T se incrementar por cada pulso de reloj desde cero (al inicio de la
instruccin) hasta que se limpie debido a una seal de X11 =1 (clear) producida por la
microinstruccin T 0, la cual es la ltima microinstruccin de la instruccin, esto se
repite peridicamente para cada instruccin del procesador.

El registro de instruccin IR se carga con el cdigo de la instruccin a ser
ejecutada mediante las primeras tres microinstrucciones, esta es la forma en que el
procesador identifica la instruccin, a estas microinstrucciones se les conoce como ciclo
fetch o de bsqueda de cdigo. Posteriormente IR define que instruccin se est
realizando, de tal forma que para tiempos mayores de 2, IR determina que
microinstruccin corresponde a cada tiempo.

Ciclo fetch:
t
0
: MAR PC
t
1
: MBR M, PC PC +1
t
2
: IR MBR
Sistemas Digitales II
E. Romero A. ITSON
T igual a cero es condicin suficiente para que se realice la microinstruccin
MAR PC. Despus del pulso de reloj, T es igual a uno y esto es condicin suficiente
para que se realicen las microinstrucciones MBR M y PC PC +1. En el siguiente
pulso de reloj T, es igual a dos, y se realiza la microinstruccin IR MBR. En este
momento IR contiene el cdigo de la instruccin a ser realizada y PC apunta la direccin
inmediata a este. Cuando T sea igual a tres, se realizar la microinstruccin cuyas
condicin sea t
3
and OPR, donde opr es el contenido de IR. Despus se incrementar T
y se ejecutar t
4
OPR, y as hasta que T sea puesta en cero, y el ciclo se inicia de nuevo
con la siguiente instruccin cuando T es igual a cero.

You might also like