Sei sulla pagina 1di 9

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

PROBLEMAS. LA UNIDAD DE CONTROL.



Figura 1.
BUS DE DIRECCIONES
BUS DE DATOS
MULTIPLEXOR X MULTIPLEXOR Y
OPERADOR
X Y
ACUMULADOR
CONTADOR DE PROGRAMA
CP
MEMORIA
PRINCIPAL MEM
MR
MW
ALE
MR
SALIDA A SALIDA B
BANCO DE REGISTROS
16 registros
4 bits 4 bits
DIRECCIN A DIRECCIN B
LR
PUERTA
DE ENTRADA
REGISTRO DE ESTADO (flags)
BUFFER DE INSTRUCCIONES
seales de control
UNIDAD DE CONTROL
SALIDA DE DESPLAZAMIENTOS
O DATOS INMEDIATOS
ENTRADA DE
INSTRUCCIONES
CONTADOR
DE FASES
DIRECCIONES DE REGISTROS
OSCILADOR
reloj
[X0, X1] [Y0, Y1]
[S0,...S3]
ACUMULADOR LAC
DT
AT DBT
LPC
PCT
DIRECCIN A
DIRECCIN B
LI IT
RESET
LFlags
Figura 2.
1. Sea el computador elemental de la figura 1. La
instruccin ADD A, B tiene el cronograma de la figura 2
en dicho computador elemental.

a) optimizar la temporizacin de seales para incrementar
la velocidad de procesamiento.
b) discutir qu cambios habra que introducir en el
hardware para aumentar la velocidad de
procesamiento.
DIRECCIN B
DIRECCIN A
seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8
LFlags
RESET
LR
DT
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma

2. Dibuja el cronograma correspondiente a la ejecucin
de la instruccin JZ ETIQUETA (saltar si cero a la
posicin ETIQUETA) en el computador de la figura 1.

3. Dibuja el cronograma correspondiente a SUB [DIRECCION], B.

4. Disear una unidad de direccionamiento para el computador de la figura 1 que mejore su
rendimiento.

5. Disear un computador elemental que cumpla las siguientes condiciones:
- es capaz de ejecutar 4 instrucciones.
- tiene una memoria de 64 palabras de 8 bits.
- la ALU trabaja con operandos de 8 bits.
- la ALU almacena la salida en un registro ACUMULADOR.
- un operando de la ALU siempre es el ACUMULADOR.
- el otro operando de la ALU proviene de la memoria.
- el contador de programa (CP) solo se puede incrementar en la unidad.

SOLUCIN A LOS PROBLEMAS.
Ing telecomunicaciones. Primer Curso HOJA 3-1

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5


1. a) sin cambiar el hardware:
1. ya que no hay conflicto entre las seales de control, el periodo 7 se puede
superponer al 6:

seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma


2. en el periodo 7 se puede comenzar una nueva fase de fetch ya que no se usa
el bus de direcciones (en el periodo 6 se est usando todava).

seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma


3. suponiendo que: - bus de datos y direcciones es de 16 bits.
Ing telecomunicaciones. Primer Curso HOJA 3-2

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

- memoria organizada en palabras de 16 bits.
- tamao estandar de instrucciones = 16 bits.
El incremento del contador de programa (CP) se puede realizar
simultaneamente con la fase de fetch.
La fase de fetch de la siguiente instruccin no se puede superponer ms ya que
en el periodo 6 se est usando el bus de datos (habra conflicto entre las seales
DT y MR).
seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma


b) cambiando el hardware:
Eliminando el ACUMULADOR a la salida de la ALU consigo:
- realizar la actualizacin del CP en un solo periodo.
- realizar la suma y carga del registro en un solo periodo.
seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC
puerto A
registro B
puerto B
registro A
suma

Ing telecomunicaciones. Primer Curso HOJA 3-3

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

2. Hacemos la suposicin propuesta en el problema anterior en el punto 3:

- bus de datos y direcciones es de 16 bits.
- memoria organizada en palabras de 16 bits.
- tamao estandar de instrucciones = 16 bits.

De forma que el incremento del contador de programa (CP) se pueda realizar
simultaneamente con la fase de fetch.



La instruccin de salto condicional tiene dos cronogramas dependiendo de que se cumpla o
no la condicin. La comprobacin de cumplimiento de la condicin se hace durante la fase de
decodificacin de la instruccin. En esta fase la UNIDAD DE CONTROL compara la
condicin con el registro de estado y determina el estado de un bit. Este bit formar parte
normalmente del cdigo de operacin de la instruccin de salto. El estado de este bit puede
dar lugar a dos cdigos de operacin diferentes y por tanto a dos cronogramas distintos. Estos
cronogramas son los dados a continuacin:



seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC


NO SALTA

Ing telecomunicaciones. Primer Curso HOJA 3-4

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

Ing telecomunicaciones. Primer Curso HOJA 3-5

seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
LFlags
RESET
LR
DT
DIRECCIN A
AT
LPC


SALTA


Observese como en ambos casos se realiza una primera actualizacin del CP que apunta a la
siguiente instruccin. Si se ha de realizar el salto se produce una reactualizacin del CP.
Parece lgico que se haga una sola actualizacin del CP despus de evaluar el cumplimiento
de la condicin pero se puede demostrar que es mejor apuntar en primera instancia a la
instruccin consecutiva...

Las instrucciones de salto condicional siempre se dan por parejas, es decir, tenemos una
condicin y su contraria siempre. Por ejemplo, tenemos saltar si cero y saltar si no cero, etc.
El buen programador utilizar la instruccin de salto de forma que se cumpla con mayor
probabilidad la condicin que no produce salto. De esta forma se incrementa la velocidad
total de procesamiento.

Dada la forma de trabajar de estas instrucciones, los desplazamientos que llevan incluidos en
su formato han descontado la longitud de la propia instruccin ya que se asume en la primera
actualizacin del CP.

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

3. La instruccin SUB [DIRECCION], B representa una resta donde uno de los operandos
est en memoria. El modo de direccionamiento es directo absoluto:

[DIRECCION] - B [DIRECCION]

El formato de la instruccin podra ser:

cdigo de operacin registro DIRECCION
0 7 8 11 12 28


Las operaciones elementales a realizar son:
cargar instruccin
actualizar CP
decodificacin de la instruccin
leer operandos (direccionar el de memoria y pasar a la ALU ambos)
restar
guardar resultado

direccionar el operando
de memoria:


- la UC pone DIRECCION en el bus
de datos
- se transfiere el contenido del bus de
datos al de direcciones
- se carga el registro de direcciones


IT

DBT
ALE
(desactivar)
realizar resta:
volcar contenido de
memoria en bus datos

pasar operandos a ALU





restar


- ciclo de memoria de lectura

- seleccin en X del operando del bus
de datos
- la UC genera DIRECCIN A para
apuntar al registro B
- seleccin de operando Y y operacin

- carga del acumulador



MEM
MR

X0, X1

4 bits
Y0, Y1 y S0, ...S3

LAC
(desactivar)
guardar resultado:
direccionar memoria


escribir en memoria

- no requiere operacin elemental
(registro de direccin de memoria
permanece cargado).
- transferancia al bus de datos
- ciclo de memoria de escritura




DT
MEM
MW
actualizar estado: LFlags
poner a 0 el contador de
fases:

RESET

Ing telecomunicaciones. Primer Curso HOJA 3-6

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

Ing telecomunicaciones. Primer Curso HOJA 3-7


seales
MEM
ALE
MR
MW
reloj
PCT
LI
IT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIN B
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
LFlags
RESET
DBT
DT
DIRECCIN A
AT
LPC
periodo 8 periodo 9 periodo 10
bus datos
salida A
resta
registro B
periodo 4: decodificacin.
periodo 5: carga de direccin.
periodo 6 y 7: volcado de memoria, seleccin de operandos y operacin y carga del
acumulador con el resultado.
periodo 8: escritura del resultado en memoria.
FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

4. La mejora del rendimiento pasa por disear una unidad de direccionamiento que cuente
con un operador de suma propio. Uno de los posibles diseos sera el de la figura:


+
CP
LPC
BUS DE DATOS
AT
DT
BUS DE DIRECCIONES
bus/+


La seal bus/+ controla el operador de forma que realice sumas o deje pasar a la salida el
contenido del bus de datos (operando de la derecha). De esta forma podemos actualizar el CP
con un valor del bus de datos o con el contenido anterior del CP ms un desplazamiento.

Ing telecomunicaciones. Primer Curso HOJA 3-8

FUNDAMENTOS DE COMPUTADORES PROBLEMAS CAPTULO 4 Y 5

5. El diseo debe ajustarse a las siguientes especificaciones:
- 4 instrucciones cdigo de operacin de 2 bits.
- 64 palabras de memoria direccin de 6 bits (bus de direcciones).
- operandos de 8 bits bus de datos de 8 bits.
- no se pueden sumar desplazamientos al CP solo se puede incrementar en la
unidad.
- cada instruccin tiene un campo de cdigo de operacin (2 bits) y un
operando de 6 bits.
- no hay banco de registros.

DE DIRECCIONES
DE MEMORIA
REGISTRO
6 bits
(MAR)
ACUMULADOR
8 bits
64 palabras x 8 bits
direcciones de 6 bits
RAM
6 bits
6 bits
8 bits
6 bits
8 bits
8 bits
ALU
TRANSFERENCIA
DE ALU
CS
R/W
(IPC)
(TPC)
(TIR)
(CS)
(TA)
(TM)
TRANSFERENCIA
DE BUS
(TB)
TRANSFERENCIA
DE ACUMULADOR
(TAC)
6 bits
(PC)
REGISTRO
CONTADOR
DE PROGRAMA
INCREMENTO
DE PC
(IPC)
TRANSFERENCIA
DE PC
(TPC)
TRANSFERENCIA
DE IR
(TIR)
(TA)
TRANSFERENCIA
DE MEMORIA
(TM)
(TB)
(TAC)
(R/W)
.
0 1 2 3 4 5 0 1
.
SELECCIN DE OPERACIN
UNIDAD ARITMTICO-LGICA
REGISTRO DE INSTRUCCIONES
8 bits (IR)
OPERACIN DIRECCIN
CONTROLADOR
2 bits
TRANSFERENCIA DE PC
TRANSFERENCIA DE IR
TRANSFERENCIA DE BUS
TRANSFERENCIA DE ACUMULADOR
TRANSFERENCIA DE ALU
TRANSFERENCIA DE MEMORIA
INCREMENTO DE PC
CHIP SELECT
LECTURA/ESCRITURA
SELECCIN DE OPERACIN
UNIDAD DE CONTROL





Ing telecomunicaciones. Primer Curso HOJA 3-9

Potrebbero piacerti anche