Está en la página 1de 20

Universidad de Cuenca

Ingenieria en Sistemas

ORGANIZACION Y ARQUITECTURA DE
COMPUTADORES

Ejercicios monociclo y multiciclo

Estudiantes:

Toledo Illescas Maria Belen


Torres Torres Christian Marcelo

Docente:
Mejia Pesantez Piedad Magali
1. Exámenes 11-12

a) Página 7 - Problema 1 (1,5 puntos)

Se diseña un procesador nanoMIPS monociclo con las siguientes la-


tencias para los módulos de la ruta de datos:
Lectura de la memoria de instrucciones: 0,3 ns
Lectura de la memoria de datos: 0,4 ns
Escritura en la memoria de datos: 0,5 ns
Lectura y escritura en el banco de registros: 0,15 ns
Operación aritmético-lógica con la ALU: 0,25 ns
Suma para preparar el siguiente PC: 0,1 ns
Suma del PC y del desplazamiento del salto: 0,1 ns
Determinar la frecuencia máxima de funcionamiento del procesador
teniendo en cuenta que todos los módulos se usan secuencialmente.
NOTA: no se pueden proporcionar resultados numéricos sin más, se
debe explicar el origen de los mismos y cómo se llega el resultado final.

Respuesta:

Primero sacamos las latencias de las operaciones Load, Store, ALU


y BEQ
LMI = Lectura de memoria de instrucciones
SSPC = Suma para preparar Siguiente PC
LBR = Lectura del Banco de Registros
ALU = Operación aritmético –lógico con la ALU
LMD = Lectura de memoria de datos
EBR = Escritura en el banco de registros
EMD = Escritura en la memoria de datos
SPCDP = Suma del PC y del desplazamiento del salto

Load Latencia

LMI + SSPC + LBR + ALU + LMD + EBR =


0.3ns + 0.1ns + 0.15ns + 0.25ns + 0.4ns + 0.15ns =
Tiempo Load Latencia = 1.35ns

Store Latencia:

LMI + SSPC + ALU + LBR + EMD =


0.3ns + 0.1ns + 0.25ns + 0.15ns + 0.5ns =
Tiempo Store Latencia = 1.3ns

Aritmética Lógica Latencia:

1
LMI + SSPC + LBR + ALU + EBR =
0.3ns + 0.1ns + 0.15ns + 0.25ns + 0.15ns =
Tiempo ALU = 0.95ns

BEQ Latencia:

LMI + SSPC + LBR + ALU + SPCDP =


0.3ns + 0.1ns + 0.15ns+0.25ns+0.1ns=
Tiempo BEQ = 0.9ns

Con las latencias de cada operación, obtenemos la latencia mayor


(tiempo máximo) = 1.35ns.
Obtenemos la frecuencia:

1
f max =
tiempomayor
1
=
1,35ns
= 0,74GHZ

b) Página 8 - Problema 2 (1,5 puntos)

Se realiza un diseño multiciclo del procesador del ejercicio anterior


según las etapas vistas para el nanoMIPS. Si las frecuencias de apari-
ción de las instrucciones del repertorio son las que se detallan a conti-
nuación, ¿cuál de las dos versiones, el monociclo o la multiciclo, obtiene
un rendimiento mejor? ¿cuánto mejor?

Lectura de memoria: 35 %
Escritura en memoria: 10 %
Aritmético-lógicas: 35 %
Saltos condicionales: 20 %

Respuesta:

Multiciclo

1
f max =
T min
1
=
0,5ns
= 2GHZ

LOAD: F – D – X – M – W = 5
STORE: F – D – X – W = 4

2
ARITMETICO-LOGICA: F – D – X – W = 4
F–D–X=3
X
CP I = = (35 % ∗ 5) + (10 % ∗ 4) + (35 % ∗ 4) + (20 % ∗ 3) = 4,15

(CP I ∗ T iempo)monociclo
REN DIM IEN T O =
(CP I ∗ T iempo)multiciclo
1 ∗ 1,35
=
4,15 ∗ 0,5
= 0,65GHZ

El procesador multiciclo es mejor al procesador monociclo


con un rendimiento de 0.65

2. Exámenes 12-13

a) Página 2 - Problema 5 (2 puntos)


Teniendo en cuenta que la latencia de los elementos de una ruta de
datos es la siguiente:

F D X M W
200ps 350ps 150ps 300ps 200ps

Y que la ejecución de instrucciones en el procesador se divide de la


siguiente manera:

ALU BEQ Load Store


45 % 20 % 20 % 20 %

¿Cuál es el periodo de reloj en un procesador monociclo? ¿y en uno


multiciclo? Si pudieras dividir una etapa de la ruta de datos en dos
nuevas etapas, ¿qué etapa dividirı́as? ¿cuál serı́a ahora el nuevo pe-
riodo de reloj tanto para el procesador monociclo como multiciclo? (1
punto).
Compara el tiempo de ejecución de un programa en la versión del pro-
cesador monociclo y en la multiciclo, ¿hay ganancia por convertir el
procesador monociclo en uno multiciclo? (1 punto).

Respuesta:

Monociclo

Load Latencia: F+D+X+M+W = 200ps + 350ps + 150ps +


300ps +200ps = 1200ps

3
Store Latencia: F+D+X+W = 200ps + 350ps + 150ps + 200ps
= 900ps
ALU Latencia: F+D+X+W = 200ps + 350ps + 150ps + 200ps
= 900ps
BEQ Latencia: F+D+X = 200ps + 350ps + 150ps = 700ps
Periodo de reloj monociclo = 1.2ns

1
f max =
T min
1
=
1,2ns
= 0,83GHZ

CPI = 1
Multiciclo
Periodo de reloj multiciclo = 0.35ns
1
f max =
T min
1
=
0,35ns
= 2,85GHZ

LOAD: F – D – X – M – W = 5
STORE: F – D – X – W = 4
ARITMETICO-LOGICA: F – D – X – W = 4
F–D–X=3
X
CP I = = (20 % ∗ 5) + (20 % ∗ 4) + (45 % ∗ 4) + (20 % ∗ 3) = 4,2

(CP I ∗ T iempo)monociclo
Ganancia(tiempo) =
(CP I ∗ T iempo)multiciclo
1 ∗ 1,2ns
=
4,2 ∗ 0,35ns
= 0,81

El procesador monociclo es 0.81 más rápido que el procesador multi-


ciclo.

b) Página 4 - Problema 5 (2 puntos)


Un procesador secuencial monociclo tiene un periodo de reloj de 2,4ns
y su ruta de datos está constituida por módulos cuyas latencias son:
0,1sn, 0,4ns, 0,3ns, 0,5ns, 0,8ns, 0,2ns y 0,1ns. El acceso a los módulos
durante la ejecución de una instrucción se realiza en este mismo orden.
Queremos implementar un procesador multiciclo a partir de este proce-
sador monociclo. Suponiendo que los registros intermedios introducen
un retardo de 0,02ns, indicar el periodo de reloj para el procesador
multiciclo (1 punto). Además de los registros intermedios, ¿qué otras

4
modificaciones significativas habrı́a que introducir en el diseño de la
ruta de datos del procesador monociclo para convertirlo en multiciclo?
(1 punto).

Respuesta:

Lectura de la memoria de instrucciones: 0,1 ns


Lectura de la memoria de datos: 0,4 ns
Escritura en la memoria de datos: 0,3 ns
Lectura y escritura en el banco de registros: 0,5 ns
Operación aritmético-lógica con la ALU: 0,8 ns
Suma para preparar el siguiente PC: 0,2 ns
Suma del PC y del desplazamiento del salto: 0,1 ns
Primero sacamos las latencias de las operaciones Load, Store, ALU y
BEQ
LMI = Lectura de memoria de instrucciones
SSPC = Suma para preparar Siguiente PC
LBR = Lectura del Banco de Registros
ALU = Operación aritmético –lógico con la ALU
LMD = Lectura de memoria de datos
EBR = Escritura en el banco de registros
EMD = Escritura en la memoria de datos
Load Latencia = 0.1ns+0.2ns+0.5ns+0.8ns+0.4ns+0.5ns=2.5ns
Store Latencia = 0.1ns+0.2ns+0.5ns+0.8ns+0.3ns=1.9ns
Aritmetica Logica Latencia=0.1ns+0.2ns+0.5ns+0.8ns+0.5ns=2.1ns
BEQ Latencia = 0.1ns+0.2ns+0.5ns+0.8ns+0.1ns=1.7ns
El periodo de reloj del procesador multiciclo es de 0.82ns.

c) Página 6 - Problema 4 (3 puntos)


Se diseña un procesador con las siguientes latencias para los módulos
de la ruta de datos:
Además, los diseñadores están considerando la posibilidad de intro-

MI Sumador ALU MD BR
400ps 100ps 120ps 350ps 200ps

ducir una mejora en la ruta de datos del procesador que consiste en


añadir un multiplicador a la ALU, de tal manera que ya no sea ne-
cesario emular la instrucción de multiplicación, reduciendo ası́ en un
5 % el número de instrucciones ejecutadas. Sin embargo, esta mejora
supone incrementar la latencia de la ALU en 300ps. ¿Cuál es el pe-
riodo de reloj para un procesador monociclo sin y con la mejora? (1
punto). Explica cuál serı́a la ganancia que se alcanzarı́a por introducir
la mejora (1 punto). Si se tratase de un procesador multiciclo, explica
cómo se verı́a afectado el periodo de reloj al introducir la mejora (1

5
punto).

Respuesta:

Monociclo-Latencia sin mejora

MI Sumador ALU MD BR
o,4ns 0,1ns 0,12ns 0,35ns 0,2ns

Load Latencia:
LMI + SSPC + LBR + ALU + LMD + EBR =
0.4ns + 0.1ns + 0.2ns + 0.12ns + 0.35ns + 0.2ns =
Tiempo Load Latencia = 1.37ns
Periodo de un procesador monociclo sin la latencia = 1.37ns
Monociclo-Latencia con mejora
ALU = 0.12ns + 0.3ns = 0.42ns

MI Sumador ALU MD BR
o,4ns 0,1ns 0,42ns 0,35ns 0,2ns

Load Latencia:
LMI + SSPC + LBR + ALU + LMD + EBR =
0.4ns + 0.1ns + 0.2ns + 0.42ns + 0.35ns + 0.2ns =
Tiempo Load Latencia = 1.67ns
Periodo de un procesador monociclo sin la latencia = 1.67ns

(CP I ∗ P eriodo)conmejora
Ganancia(tiempo) =
(CP I ∗ P eriodo)sinmejora
1 ∗ 1,67ns
=
1 ∗ 1,37ns
= 1,21

La ganancia sin mejora seria de 1.21, debido a que con mejora es más
lento.

Multiciclo
El periodo del reloj al introducir la mejora se verı́a afectada en poco,
pues el periodo sin la mejora es: 0.4ns y después de la mejora 0.42ns;
por lo que afecta a la ganancia de la mejora, pues es aún más lenta.

3. Exámenes 13-14

a) Página 2 - Problema 4 (2,5 puntos)


Se diseña un procesador monociclo con las siguientes latencias para los
módulos de la ruta de datos:

6
MI Add Mux ALU BR MD Sign-Extend Shift-left-2
200ps 70ps 20ps 90ps 250ps 15ps 10ps

¿Cuál es el ciclo de reloj si debemos soportar las instrucciones ADD,


BEQ, LW y SW? (1 punto). Teniendo en cuenta el siguiente reparto
de instrucciones:

ADD ADDI BEQ LW SW


20 % 20 % 25 % 25 % 10 %

¿En qué porcentaje de los ciclos totales se accede a la memoria de


datos? ¿en qué porcentaje de los ciclos totales se necesita el circuito
de extensión de signo? Si podemos mejorar un 10 % la latencia de uno
de los componentes de la ruta de datos, ¿qué componente serı́a? ¿cuál
serı́a la ganancia? (1,5 puntos)

Respuesta:

LOAD LATENCIA
LOAD LATENCIA = MI + ADD + MUX + SE + BR + MUX
+ ALU + MD + MUX + BR =
0.2ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.09ns +
0.25ns + 0.02ns + 0.09ns =
Tiempo Load = 0.845

STORE LATENCIA
STORE LATENCIA = MI + ADD + MUX + SE + BR + MUX
+ ALU + MUX + MD + MUX =
= 0.2ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.25ns
+ 0.02ns + 0.09ns =
Tiempo Store = 0.775ns

ALU LATENCIA
ALU LATENCIA = MI + ADD + MUX + BR + MUX + ALU
+ MUX + BR =
= 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns + 0.09ns + 0.02ns
+ 0.09ns =
Tiempo ALU = 0.60ns

BEQ LATENCIA
BEQ LATENCIA = MI + ADD + MUX + SE + BR + MUX +
ALU + SL2 + ADD + MUX =
= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.09ns
+ 0.01ns + 0.07ns + 0.02ns =
Tiempo BEQ = 0.605ns

7
Se accede a la memoria de datos en las operaciones load y store en un
25 % y 10 % respectivamente = 35 %
El extensor de signo tiene en las operaciones load, store y BEQ en un
25 %, 10 %, 25 % respectivamente = 60 %
Se reducirá en un 10 % a MD ya que reduciendo este módulo tendre-
mos el menor periodo de la implementación
Entonces MD= 0.25ns x 0.9= 0.225ns

LOAD LATENCIA
LOAD LATENCIA = MI + ADD + MUX + SE + BR + MUX
+ ALU + MD + MUX + BR =
= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.225ns
+ 0.09ns + 0.02ns + 0.09ns =
Tiempo Load = 0.84ns

STORE LATENCIA
STORE LATENCIA = MI + ADD + MUX + SE + BR + MUX
+ ALU + MUX + MD + MUX =
= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.225ns
+ 0.02ns + 0.09ns =
Tiempo Store = 0.75ns

ALU LATENCIA
ALU LATENCIA = MI + ADD + MUX + BR + MUX + ALU
+ MUX + BR =
= 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns + 0.09ns + 0.02ns
+ 0.09ns =
Tiempo ALU = 0.60ns

BEQ LATENCIA
BEQ LATENCIA = MI + ADD + MUX + SE + BR + MUX +
ALU + SL2 + ADD + MUX =
= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.09ns
+ 0.01ns + 0.07ns + 0.02ns =
Tiempo BEQ = 0.605ns

(CP I ∗ P eriodo)conmejora
Ganancia(tiempo) =
(CP I ∗ P eriodo)sinmejora
1 ∗ 0,845ns
=
1 ∗ 0,84ns
= 1,005

Con la mejora, es 1.005 veces mejor la implementación que sin la me-


jora.

b) Página 4 - Problema 4 (2,5 puntos)

8
Se diseña un procesador monociclo con las siguientes latencias para
los módulos de la ruta de datos:
MI Add Mux ALU BR MD Sign-Extend Shift-Left-2
200ps 70ps 20ps 90ps 90ps 250ps 15ps 10ps

¿Cuál es el ciclo de reloj si debemos soportar las instrucciones ADD,


BEQ, LW y SW? (1punto). Teniendo en cuenta el siguiente reparto de
instrucciones:
ADD ADDI BEQ LW SW
20 % 20 % 25 % 25 % 10 %

¿En qué porcentaje de los ciclos totales se accede a la memoria de


datos? ¿En qué porcentaje de los ciclos totales se necesita el circuito
de extensión de signo? Si podemos mejorar un 10 % la latencia de uno
de los componentes de la ruta de datos, ¿qué componente serı́a? ¿cuál
serı́a la ganancia? (1,5 puntos)

Respuesta:

SExt= Sing-Extended

SL2=Shift-Left-2

Latencias:

LOAD= MI + ADD + MUX + SExt + BR + MUX + ALU


+ MD + MUX + BR

LOAD= 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 90ps +


250ps + 20ps + 90ps

LOAD= 865ps

T. STORE = MI + ADD + MUX + SExt + BR + MUX +


ALU + MUX + MD + MUX

T. STORE= 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 250ps


+ 20ps + 90ps

T. STORE= 775ps

9
T. ALU = MI + ADD + MUX + BR + MUX + ALU +
MUX + BR

T. ALU= 200ps + 70ps + 20ps + 90ps + 20ps + 90ps + 20ps + 90ps

T. ALU= 600ps

T. BEQ = MI + ADD + MUX + SExt + BR + MUX +


ALU + SL2 + ADD + MUX

T. BEQ= 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 90ps +


10ps + 70ps + 20ps

T. BEQ= 605ps

Se accede a la memoria de datos en un 35 % en las operaciones load y


store en un 25 % y 10 % respectivamente. El extensor de signo tiene un
porcentaje del 60 % en las operaciones load, store y BEQ en un 25 %,
10 %, 25 % respectivamente. Se reducirá en un 10 % a MD ya que redu-
ciendo este módulo tendremos el menor periodo de la implementación.
Entonces

MD= 250 x 0.9= 225ps

LOAD = MI + ADD + MUX + SExt + BR + MUX + ALU


+ MD + MUX + BR

LOAD= 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 225ps +


90ps + 20ps + 90ps

LOAD= 840ps

T. STORE = MI + ADD + MUX + SExt + BR + MUX +


ALU + MUX + MD + MUX

T. STORE= 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 225ps

10
+ 20ps + 90ps

T. STORE= 750ps

T. ALU = MI + ADD + MUX + BR + MUX + ALU +


MUX + BR

T. ALU= 200ps + 70ps + 20ps + 90ps + 20ps + 90ps + 20ps + 90ps

T. ALU= 600ps

T. BEQ = MI + ADD + MUX + SExt + BR + MUX +


ALU + SL2 + ADD + MUX

T. BEQ = 200ps + 70ps + 20ps + 15ps + 90ps + 20ps + 90ps


+ 10ps + 70ps + 20ps

T. BEQ = 605ps

(CP ImxP eriodom)


Ganancia =
(CP ImxP eriodom)
1x865ps
=
1x840ps
= 1,02

Entonces sin la mejora es 1.02 veces más lento que la implementación


con la mejora.

c) Página 8 - Problema 5 (2,5 puntos)

Se diseña un procesador con las siguientes latencias para los módu-


los de la ruta de datos:
MI Sumador ALU MD BR
350ps 100ps 120ps 300ps 180ps

Además, los diseñadores están considerando la posibilidad de intro-


ducir una mejora en la ruta de datos del procesador que consiste en
añadir un divisor a la ALU, de tal manera que ya no sea necesario
emular la instrucción de división, reduciendo ası́ en un 6 % el número
de instrucciones ejecutadas. Sin embargo, esta mejora supone incre-
mentar la latencia de la ALU en 250ps. ¿Cuál es el periodo de reloj

11
para un procesador monociclo sin y con la mejora? Indica si hay o no
ganancia por introducir la mejora (1,5 punto). Si se tratase de un pro-
cesador multiciclo, ¿cuál serı́a el periodo de reloj sin y con la mejora?
¿habrı́a ganancia? (1 punto).

Respuesta:

Monociclo

LATENCIA SIN MEJORA

MI Sumador ALU MD BR
0,35ns 0,1ns 0,12ns 0,3ns 0,18ns

Load Latencia= LMI+SSPC+LBR+ALU+LMD+EBR=

Load Latencia= 0.35ns + 0.1ns + 0.18ns + 0.12ns + 0.3ns + 0.18ns


Tiempo Load Latencia= 1.23ns

Periodo de un procesador monociclo sin la latencia = 1.23ns

LATENCIA CON MEJORA


ALU = 0.12ns + 0.25ns = 0.37ns

MI Sumador ALU MD BR
0,35ns 0,1ns 0,37ns 0,3ns 0,18ns

Load Latencia= LMI+SSPC+LBR+ALU+LMD+EBR=

Load Latencia= 0.35ns + 0.1ns + 0.18ns + 0.37ns + 0.3ns + 0.18ns


Tiempo Load Latencia= 1.48ns

Periodo de un procesador multiciclo sin la latencia = 1.48ns

(CP I ∗ P eriodo)conmejora
Ganancia(tiempo) =
(CP I ∗ P eriodo)sinmejora
1 ∗ 1,48ns
=
1 ∗ 1,23ns
= 1,20

La ganancia sin mejora seria de 1.20, debido a que con mejora es más
lento.

MULTICICLO

12
El periodo del reloj al introducir la mejora se verı́a afectada en po-
co, pues el periodo sin la mejora es: 0.35ns y después de la mejora
0.37ns; por lo que afecta a la ganancia de la mejora, pues es aún más
lenta.

4. Exámenes 14-15

a) Página 1 - Problema 1 (2,5 puntos)

En la siguiente tabla se muestra el número de instrucciones de un


programa en nanoMIPS:

ALU Store Load BEQ


700 90 550 40

¿Cuál es el tiempo de ejecución del programa en un procesador de


3GHz? Si pudieras reducir el número de un tipo de instrucciones a
la mitad, ¿cuál serı́a? ¿por qué? ¿cuál serı́a la ganancia (speedup)?
(1,5 punto). A la vista del CPI y del speedup obtenidos ¿te parece un
resultado lógico? ¿por qué? (1 punto)

Respuesta:
CPI=1

TEPST= Tiempo de ejecución del procesador total.

Instrucciones ∗ CP I
T EP ST =
F recuencia
1380
=
3GHz
= 4,6x10−7
= 4,6ns

Reducimos al tipo ALU a la mitad ya que es la operación con mayor


número de instrucciones, por ende al reducirlo a la mitad se reducirı́a
la mayor cantidad de instrucciones del programa

TEPR= Tiempo de ejecución del procesador total.

Instruccionesreducidas ∗ CP I
T EP R =
F recuencia
1030
=
3GHz
= 3,43x10−7
= 3,43ns

13
T EP ST
seedup =
T EP R
4,6ns
=
3,43ns
= 1,34

La ganancia es de 1.34 veces más rápido reduciendo el número de las


instrucciones de la ALU a la mitad

b) Página 2 - Problema 4 (2 puntos)

Se diseña un procesador multiciclo con las siguientes latencias para


los módulos de la ruta de datos:

MI Add Mux ALU BR MD Sign-Extend Shift-Left-2


200ps 70ps 20ps 90ps 90ps 250ps 15ps 10ps

¿Cuál es el ciclo de reloj si debemos soportar las instrucciones ADD,


BEQ, LW y SW? (1 punto). Si el 35 % son instrucciones ALU, el
25 % de carga, el 10 % de almacenamiento y 30 % de salto condicional,
¿cuál es el CPI? (1 punto). Teniendo en cuenta el siguiente reparto de
instrucciones:

ADD ADDI BEQ LW SW


20 % 20 % 25 % 10 %

¿En qué porcentaje de los ciclos totales se accede a la memoria de


datos? ¿en qué porcentaje de los ciclos totales se necesita el circuito
“Shift-Left-2”? Si podemos mejorar un 15 % la latencia de uno de los
componentes de la ruta de datos, ¿qué componente serı́a? ¿cuál serı́a
la ganancia? (1 puntos).
Respuesta:

LOAD LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MD + MUX + BR

LOAD LATENCIA == 0.20ns + 0.07ns + 0.02ns + 0.015ns +


0.09ns + 0.02ns + 0.09ns + 0.25ns + 0.02ns + 0.09ns
Tiempo Load = 0.865ns

STORE LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MUX + MD + MUX

14
= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.25ns +
0.02ns + 0.09ns
Tiempo Store = 0.775ns

ALU LATENCIA = MI + ADD + MUX + BR + MUX +


ALU + MUX + BR

ALU LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns


+ 0.09ns + 0.02ns + 0.09ns
ALU LATENCIA = 0.60ns

BEQ LATENCIA = MI + ADD + MUX + SE + BR + MUX


+ ALU + SL2 + ADD + MUX

BEQ LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.01ns + 0.07ns + 0.02ns
Tiempo BEQ = 0.605ns

Ciclo del reloj = latencia de la instrucción más larga = Load


=0.865ns

X
CP I = ( %apariciónxciclos)
CPI = (0.35 x 4) + (0.25 x 5) + (0.1 x 4) + (0.3 x 3)
CPI = 3.95

La memoria de datos está presente en las operaciones de load y store


= 35 % Shift-left-2 está presente en las operaciones de BEQ = 25 %
Mejorarı́amos la latencia de la MD ya que es la que mayor valor tiene,
por lo tanto, es la que más reducirı́a las latencias de las operaciones
que la utilicen.

MD mejorado= 0.25ns x 0.75 =


MD mejorado= 0.1875ns

LOAD LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MD + MUX + BR

LOAD LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.1875ns + 0.02ns + 0.09ns
Tiempo Load = 0.8025ns

15
STORE LATENCIA = MI + ADD + MUX + SE + BR +
MUX + ALU + MUX + MD + MUX

STORE LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns +


0.09ns + 0.02ns + 0. 1875ns + 0.02ns + 0.09ns
Tiempo Store= 0.7125ns

ALU LATENCIA = MI + ADD + MUX + BR + MUX +


ALU + MUX + BR

= 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns + 0.09ns + 0.02ns


+ 0.09ns
Tiempo ALU = 0.60ns

BEQ LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + SL2 + ADD + MUX

BEQ LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.01ns + 0.07ns + 0.02ns
Tiempo BEQ = 0.605ns

(CP I ∗ P eriodo)conmejora
Ganancia(tiempo) =
(CP I ∗ P eriodo)sinmejora
3,95 ∗ 0,8025ns
=
3,95 ∗ 0,865nss
= 0,92

La implementación con la mejora es 0.92 más rápida que la implemen-


tación sin la mejora.

c)
Página 4 - Problema 4 (2 puntos)

Se diseña un procesador monociclo con las siguientes latencias para los


módulos de la ruta de datos:

MI Add Mux ALU BR MD Sign-Extend Shift-Left-2


200ps 70ps 20ps 90ps 90ps 250ps 15ps 10ps

¿Cuál es el ciclo de reloj si debemos soportar las instrucciones ADD,


BEQ, LW y SW? (1 punto). Teniendo en cuenta el siguiente reparto
de instrucciones:

16
ADD ADDI BEQ LW SW
20 % 20 % 25 % 25 % 10 %

¿En qué porcentaje de los ciclos totales se accede a la memoria de


datos? ¿en qué porcentaje de los ciclos totales se necesita el circuito
“Shift-Left-2”? Si podemos mejorar un 15 % la latencia de uno de los
componentes de la ruta de datos, ¿qué componente serı́a? ¿Cuál serı́a
la ganancia? (1 punto).
Respuesta:

LOAD LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MD + MUX + BR

LOAD LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.25ns + 0.02ns + 0.09ns

Tiempo Load = 0.865ns

STORE LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MUX + MD + MUX

= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns + 0.02ns + 0.25ns +


0.02ns + 0.09ns
Tiempo Store = 0.775ns

ALU LATENCIA = MI + ADD + MUX + BR + MUX +


ALU + MUX + BR

ALU LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns


+ 0.09ns + 0.02ns + 0.09ns

Tiempo ALU = 0.60ns

BEQ LATENCIA = MI + ADD + MUX + SE + BR + MUX


+ ALU + SL2 + ADD + MUX

BEQ LATENCIA= 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.01ns + 0.07ns + 0.02ns

Tiempo BEQ = 0.605ns

17
Se accede a la memoria de datos en las operaciones load y store en un
25 % y 10 % respectivamente = 35 %
El extensor de signo tiene en las operaciones load, store y BEQ en un
25 %, 10 %, 25 % respectivamente = 60 %
Se reducirá en un 15 % a MD ya que reduciendo este módulo tendre-
mos el menor periodo de la implementación

Entonces MD mejorado = 0.25ns x 0.85 = 0.2125ns

LOAD LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MD + MUX + BR

LOAD LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.2125ns + 0.09ns + 0.02ns + 0.09ns

Tiempo Load = 0.8275ns

STORE LATENCIA = MI + ADD + MUX + SE + BR +


MUX + ALU + MD + MUX + MUX

STORE LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns +


0.09ns + 0.02ns + 0.2125ns + 0.02ns + 0.09ns

Tiempo Store = 0.7375ns

ALU LATENCIA = MI + ADD + MUX + BR + MUX +


ALU + MUX + BR

ALU LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.09ns + 0.02ns


+ 0.09ns + 0.02ns + 0.09ns

Tiempo ALU = 0.6ns

BEQ LATENCIA = MI + ADD + MUX + SE + BR + MUX


+ ALU + SL2 + ADD + MUX

BEQ LATENCIA = 0.20ns + 0.07ns + 0.02ns + 0.015ns + 0.09ns


+ 0.02ns + 0.09ns + 0.01ns + 0.07ns + 0.02ns

18
Tiempo BEQ = 0.605ns

(CP I ∗ P eriodo)conmejora
Ganancia(tiempo) =
(CP I ∗ P eriodo)sinmejora
1 ∗ 0,8275ns
=
1 ∗ 0,865ns
= 0,95

La implementación con la mejora es 0.95 más rápida que la implemen-


tación sin la mejora.

19

También podría gustarte