Está en la página 1de 10

Introducción A Los Computadores

SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

PRIMER PARCIAL (TEMA 2)

EJERCICIO 1: (4 puntos) Un computador tiene el siguiente formato para sus instrucciones:


5 1 2 3 5

COP MD RA RD SHI

COP es el Código de Operación, MD especifica el Modo de Direccionamiento, RA y RD son campos de registros


y SHI es un desplazamiento para la obtención de direcciones. El campo RA identifica a uno de los 4 registros de
direcciones (RA0… RA3) de 16 bits y RD identifica a uno de los 8 registros generales (RD0… RD7) de 16 bits.
La máquina posee, entre otras, las siguientes instrucciones:

COP NEMOTÉCNICO MD=0 MD=1


00000 CARGA RAi, RDk , SHI RDK ← M( RAi) RDK ←M(RAi+SHI)
00001 SHL RAi, RDk , SHI RDK ←SHL(M(RAi)) RDK ←SHL(M(RAi+SHI))
00010 SUMA RAi, RDk , SHI RDK ← RDK + M(RAi) RDK ← RDK +M(RAi+SHI)
00011 ALMA RAi, RDk , SHI M( RAi) RDK M(RAi +SHI) RDK
00100 CMP RAi, RDk , SHI RDK - M(RAi) RDK - M(RAi+SHI)
00101 SALTI RAi, RDk , SHI PCRAi PCM(RAi+SHI)
00110 SALTC RAi, RDk , SHI SI C=1 PCRAi SI C=1 PCM(RAi+SHI)
i=0..3, k= 0..7 (*) SHL es desplazamiento a la izquierda de un bit. El bit desplazado pasa al flag C(Acarreo)
(*) CMP es una instrucción que resta los operandos y afecta al flag C
Se pide:
a) Identificar el tamaño del RIM RDM, MP, los Modos de Direccionamiento del repertorio.

SOLUCIÓN:
RDM=16 ; Porque las direcciones, que vienen dadas por los registros RAi, son de 16 bits
RIM=16 ; Porque los registros de datos RDk son de 16 bits y la instrucción también es de 16 bits
MP = 64Kx16

b) Completar la tabla, incluyendo para cada instrucción la columna que falte con el LM, sus campos, el
nemotécnico o su explicación:

L.M. COP MD RAi RDk SHI Nemotécnico Explicación


1 0F2C 00001 1 11 001 01100 SHL RA3, RD1 , 12 RD1←SHL(M(RA3+12))
2 1A00 00011 0 10 000 00000 ALMA RA2, RD0, SHI M( RA2) RD0
3 2449 00100 1 00 010 01001 CMP RA0, RD2 ,9 RD2 - M(RA0+9)
4 318F 00110 0 01 100 01111 SALTC RA1, RD4 ,0Fh Si C=1 PCRA1

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)
c) Si inicialmente se tienen los valores indicados en la tabla:
RAi RDK M(P) C ¿Cuánto valdrán los registros, posiciones de memoria y flags
implicados después de ejecutarse las instrucciones del apartado
0010 h 00FFh 2*P 0 anterior? (No se considera una ejecución en secuencia)

SOLUCIÓN:
Instrucción 1: RD1←SH L(M (RA3+12))  0010+C=001C 2*001C=0038h SHL(0038)=0070h
RD1=0070h
Instrucción 2: M( RA2) RD0  El contenido de la dirección de memoria 0010 es 00FF
Instrucción 3: RD2 - M(RA0+9); M(0019)=2*0019=0032h; 00FF-0032=00CB ; al hacer la
operación sumando al número 00FF el C-2 del número 0032 resulta un acarreo final, luego
C=1
Instrucción 4: Si C=1 PCRA1, como no se considera una ejecución en secuencia el flag C=0,
luego no hay salto y el PC queda con el valor que tenga.

EJERCICIO 2: (6 puntos) (Todo el ejercicio se resuelve SÓLO para las instrucciones del apartado b)
a) Expresar en LTR las operaciones elementales de las instrucciones del apartado b)
SOLUCIÓN:

Nemotécnico Explicación Operaciones Elementales


1 SHL RA3, RD1 , 12 Captación:
RDMPC,LEC
RIRIM, PC++
RD1←SH L(M (RA3+12)) Búsqueda de operandos:
RDM RA3+RI(12), LEC
Ejecución:
RD1←SH L(RIM)
2 ALMA RA2, RD0, SHI Captación:
RDMPC,LEC
RIRIM, PC++
M( RA2) RD0 Ejecución:
RDM RA2, RIM RD0
ESC
3 CMP RA0, RD2 ,9 Captación:
RDMPC,LEC
RIRIM, PC++
RD2 - M(RA0+9) Búsqueda de operandos:
RDM RA0+RI(9), LEC
Ejecución:
RD2 - RIM
4 SALTC RA1, RD4 ,0Fh Captación:
RDMPC,LEC
Si C=1 PCRA1 RIRIM, PC++
Ejecución:
Si C=1 PC RA1

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

b) Dibujar el esquema hardware que pueda realizar estas instrucciones, etiquetando todos los elementos y
conexiones, indicando su tamaño y colocando en el esquema TODAS las señales de control necesarias
(explica cada una de ellas agrúpalas por funcionalidad).

SOLUCIÓN:

RA
RA
DEC

RA0

RA1 M
U PC
RA2 X
INC
ESC
RA3 PC
M0 RDM
RD
RD0
M R MP
RD1
U D 216 x 16
RD2 SUM X M
M
BANCO U
REGISTROS X
LEC
RIM
RD7 RI
RIM

RI

DEC C
AND 001Fh
ALU
RD C ALU

PC, RDM, RI, C : carga de los registros


LEC, RIM, carga del RIM
INC: incremento del PC
ALU: selección de operación de la ALU (Se realizan 3 operaciones: desplazar a la izquierda B, dejar pasar A
y resta)
M0: selección del MUX
ESC: señal de Lectura/Escritura de MP

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

c) Realizar el organigrama de funcionamiento para las instrucciones.

SOLUCIÓN:

RDM<-- PC, LEC


RI<--RIM, PC<--PC+1

0 MD
1

ALMA SALTC
COP
RDM<--RAi+RI(SHI), LEC

RDM<--RAi
RIM<--RDj 0
C
ESC SHL CMP
COP
1

PC<--RAi RDj <--SHL(RIM) RDi - RIM

d) Indicar el valor de las señales de control implicadas en la fase de búsqueda de operandos de las instrucciones
para el MD=1

SOLUCIÓN:

Operaciones Elementales RDM M0 RA LEC

RDM RA3+RI(12), LEC 1 10 11 1

RDM RA0+RI(9), LEC 1 10 00 1

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

SEGUNDO PARCIAL (TEMAS 3 Y 4)

EJERCICIO 1: (2 puntos) A un computador de 1B de ancho de palabra, se le quiere instalar los bloques de


memoria con la siguiente capacidad total: M0 de 2048Kb, M1 de 3584Kb y M2: de 1Mb. Sabiendo que los
bloques se sitúan en memoria, desde inicio de MM, uno a continuación de otro (M0, M1 y M2), Se pide:
a) Tamaño (mínimo) del Mapa de Memoria (MM), del RDM, y del RIM.

SOLUCIÓN:

Como m=8, los tamaños de los bloques son:


M0 = 2048K / 8 = 256K x 8
M1 = 3584K / 8 = 448K x 8
M2 = 1Mb / 8 = 1024K / 8 = 128K x 8
Suman 832K x 8 luego MM = 1024K x 8 = 1M x 8 (=220 x 8)
Luego RDM = 20 y RIM = 8

b) Direcciones de comienzo y final de los bloques.

SOLUCIÓN:

M0= Dir.Ini 0 Dir. Fin = 256K-1  00000)16 - 3FFFF)16


M1= Dir.Ini 256K Dir. Fin = (256+448)K-1 = 704K-1 40000)16 - AFFFF)16
M2= Dir.Ini 704K Dir. Fin = (704+128)K-1 = 832k-1 B0000)16 - CFFFF)16

c) Circuito de selección memoria para el bloque M1.

SOLUCIÓN:

Se divide el MM en particiones de 64Kx8 (1M/164K  16 particiones)


M1 ocupa 7 de las particiones (M0 ocupa las primeras 4 particiones),

A19 A18 A17 A16


M0 0 0 0 0
\A17A16
… …. A19A18\ 00 01 11 10
M0 0 0 1 1 00
M1 0 1 0 0 01 1 1 1 1
… ….. 11
M1 1 0 1 0 10 1 1 1
M2 1 0 1 1
… ….

__ __ __ __
Luego CircuitoM1 = A19 A18 + A19 A18 (A17 + A16)

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

d) Construir el bloque M2 con módulos de 64Kx8.

SOLUCIÓN:

Es decir, construir un bloque 128Kx8 en base a módulos de 64Kx8 Hay que duplicar las
palabras
_
(A16..A0) A (A15..A0) W/R
17 16 8 DO (DO7..DO0)
A (*)
A16 E RAM 8
64K x 8

DI (DI7..DI0)
A (A15..A0) 16

E RAM
64K x 8

(*) También puede usarse un MUX 2 a 1 con entrada de selección A15.

EJERCICIO 2: (1,5 puntos) Un computador dispone de 512GB de memoria virtual y 1Gx8 de memoria física.
El tamaño de la página es 4096B. Se pide:
a) Formato de las direcciones (virtual y física), número máximo de páginas virtuales y tamaño de la tabla
de páginas (de un nivel).

SOLUCIÓN:

Memoria Virtual = 512GB (512Gx8=239x8) Memoria Física = 1Gx8(=230x8)


Tamaño de la página es 4096 (4K= 212), con 12 bits se forma el Desplazamiento

Dirección Virtual Dirección física


39 30
Página Despl. Marco Despl.
27 12 18 12
Tamaño tabla de páginas = 227 = 128G entradas
b) A qué dirección virtual se refiere si el número de página es 20 y la palabra dentro de la página es la
1088. (Poner la dirección en hexadecimal con todos los dígitos).

SOLUCIÓN:

Número de página: 20  10100)2 Palabra 1088  100 0100 0000)2

000 0000 0000 0000 0000 0001 0100 0100 0100 0000
(27) (12)
Solución: 0000014440)16

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

c) Si la memoria física tiene organización 3D, indicar el tamaño de los decodificadores (DECX y DECY)
y sus salidas activas cuando se referencia a la palabra (física) 32768

SOLUCIÓN:

La dirección física de 30bits se divide en dos de 15, siendo las entradas de los DECX y DECY son
Decodificadores de 15 entradas y 32K (215) salidas;

Salidas activas 32768 = 32 K luego la dirección es: 00 0000 0000 0000 1000 0000 0000 0000

00 0000 0000 0000 1 000 0000 0000 0000


DECY DECX

Salidas activas  DECY =1 , DECX=0

EJERCICIO 3:(2,5 puntos) Se tiene una un computador MP de 4Gx8, se tiene una MC de 64KB, con
correspondencia asociativa por conjuntos de 4 vías y tamaño de bloque de 128B. Se pide:

a) Numero de Bloques de MP, Particiones (P) y conjuntos (C)

SOLUCIÓN:
Número de Bloques (M)  Tam MP / Tam Bloque = 4Gx8 /128B = 4G/128 = 232/27= 225 = 32M
Particiones (P)  Tam MC / Tam bloque = 64KB / 128B = 216/27= 29=512
Conjuntos (C)  P/N = 512/4 = 29/22= 27=128

b) Estructura de la dirección de MP

SOLUCIÓN:

32
A D
25 7
Etiqueta/Índice
18 / 7

c) Tamaño total de la MC incluida etiqueta y bit de validez

SOLUCIÓN:

TamañoTotal =(Bit Validez + bits Etiqueta) * Particiones + TamañoMC


= (1+18)*512 + 64*1.024*8 = 9.728+524.288 =534.016b

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

d) Completar la tabla siguiente de referencias a palabras

SOLUCIÓN:

Ref. (palabra) Etiq.Índ.-Despl. B C Etta. D Pal0


(hex) (binario)

1 8000000A 100000000000000000-0000000-0001010 16M 0 128K 10 2G (231)


2 00008782 000000000000000010-0001111-0000010 271 15 2 2 34.688
M=Mega 220 Pal0, primera palabra de la partición
Explicación: Siguiendo la estructura de dirección de memoria

1. B(=A)= 16M=224, D=10 (23+2)


A D
1000 0000 0000 0000 0000 0000 0 000 1010
25 (18 Etiqueta / 7 Indice) 7
(Si se pone D a 0 se obtiene la primera palabra de la partición
1000000000000000000000000-0000000 = 231)
2. C=15, Etta.=2, D=2
A D
Etta=2 / Índice (C)=15 D=2
0000 0000 0000 0000 1000 0111 1 000 0010

EJERCICIO 4: (3,5 puntos) En un computador con 8G palabras de MP (m=16), de 512M Bloques y una MC
de 32K palabras, con correspondencia totalmente asociativa, política de reemplazo LRU, inicialmente está vacía,
se ejecuta dos veces un programa de 2000 instrucciones (una instrucción, una palabra) ubicado desde la dirección
0 y que referencia a un 20% de datos ubicados consecutivamente desde la dirección 0000B0000)h.

Calcular:
a) NC, NA, NF, FF y FA.

SOLUCIÓN:

(k) Tamaño bloque = Tamaño MC / Bloques (M) = 8G/512M = 233/229= 24=16 palabras por bloque
(P) Tamaño MC / Tamaño Bloque = 32K/ 16 = 215/24= 211=2K particiones

Primera Iteración:
Las 2.000 instrucciones ocupan un total de 2000/16 = 125 Particiones (completas)
Cuando se referencia a la instrucción 0 (que está en el bloque 0) hay fallo forzoso y se lleva a MC todo
el bloque (instrucciones de la 0 a la 15); las referencias a las instrucciones 1 a 15 serán aciertos.
Cada 16 instrucciones habrá 1 Fallo forzoso y 15 aciertos

Luego para las 2000 instrucciones habrá (1Fallo + 15 Aciertos) * 125 = 125 Fallos + 1.875 Aciertos

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

Además, un 20% de esas 2000 instrucciones (2000*0,2= 400) acceden a datos desde la posición B0000)16
= 720.896)10 (palabra 0 del bloque B000)16) hasta la B0190 )16 ( B0000)16 -inicial- + 190)16 -400 en
hexadecimal-); son 400/16 = 25 particiones enteras; en ellas pasa lo mismo que con las instrucciones: el
primer acceso es un Fallo Forzoso y los 15 siguientes accesos son aciertos.
Luego de las 400 referencias a datos habrá (1Fallo + 15 Aciertos) * 25 = 25 Fallos + 375 Aciertos

NC, NA y NF para la primera Iteración


NC1 = NC1 (instrucciones) + NC1 (datos) = 2.000+400 = 2.400
NF1 = NF1 (instrucciones) + NF1 (datos) = 125+25 = 150
NA1 = 2.400-150 = 2.250.

Segunda Iteración:

Las 2.000 instrucciones y los 400 datos YA están en MC, luego todos los accesos son ACIERTOS.

NC, NA y NF para la segunda Iteración


NC2 = NC2 (instrucciones) + NC2 (datos) = 2.000+400 = 2.400
NF2= 0
NA2= 2.400

Para las dos iteraciones:

NC = NC1+NC2 = 2.400+2.400 = 4.800


NA = NA1+NA2 = 2.250+2.400 = 4.650
NF = NF1+NF2 = 150 + 0 = 150

FF = NF/NA = 150/ 4.800 = 0,03125  3,125%


FA = 1- FF  96, 875%

b) Sabiendo que el computador tiene un CPI de 1.25, trabaja a 8GHz, que el tiempo de acceso a la MP
es de 10 ciclos, la cual es capaz de transferir 8B en 10 ns, calcular el TMA y el TCPU

SOLUCIÓN:

Fr= 8GHz  Treloj = 1/8G = 0,125nsg.


PF = t3 + t4 ; t3= 10 ciclos  10 * 0,125 nsg = 1,25nsg
t4, Transfiere 8B en 10 ns , luego para transferir el bloque (16 palabras de 2B, es
decir, 32B)
8B ----- 10ns
32B ----- x x= (32 B *10) / 8B = 40 ns

Luego PF = t3+t4 = 1,25ns + 40 ns =41,25 ns

TMA = TA + FF * PF = 0,125ns + 0,03125 * 41,25ns ≈ 1,42ns

TCPU = NI * (CPI + NC/NI*FF*PF) * Treloj  como PF ya está en ns


= NI*CPI * Treloj +NC*FF*PF = 4.000 * 1,25 * 0,125 + 4.800 * 0,03125 * 41,25
= 625ns + 6.167,5ns = 6.792,5 ns

Isabel García Muñoz / Pedro Luis Aguilar, 2.018


Introducción A Los Computadores
SOLUCIÓN AL EXAMEN CONV. MAYO/JUNIO (7/06/2.018)

c) ¿Cambiaría el TMA si todas las referencias a datos fuesen escrituras y la política de la MC fuese post-
escritura?

SOLUCIÓN:

NO, todos los accesos son escrituras en caché y se comportan como si fueran lecturas (no se
reemplaza, que es cuando hay que reescribir todo el bloque en memoria).

d) ¿Mejorará el rendimiento del computador si se le añade un segundo nivel de caché, con Tiempo de
acceso igual al del nivel anterior y Frecuencia de Fallos del 2%?

SOLUCIÓN:
TCPU-2 = NI * (CPI + NC/NI*FFL1*PFL1) * Treloj

PFL1 = TAL2 + (FFL2 * PFL2) = 0,125ns + (0,02*41,25ng)= 0,95 ng

TCPU-2 = NI*CPI * Treloj +NC*FFL1*PFL1


= 2.000 * 1,25 * 0,125ns +4.800 * 0,03125 * 0,95nsg
= 312,5ns +142,5ns = 455ns

Dividiendo TCPU-2 / TCPU = 455/ 6.792,5 = 0,067  Mejora un 93,3% con MC de dos niveles

Isabel García Muñoz / Pedro Luis Aguilar, 2.018

También podría gustarte