You are on page 1of 5

REPASO PARCIAL 2 DE ARQUITECTURA DE COMPUTADORES

1.- Desarrolle, utilizando las instrucciones definidas, en lenguaje de mquina


correspondiente el siguiente algoritmo:
Si A < 0 y B > 0
Entonces A = B + A
Sino B = A 2B
finsi
000
001
010
011
100
101
110
111

dir A = 00010
dir B = 00100
dir 1ra instruccin = 01000

Copiar (Acumulador = Mem


(XXXXX))
Guardar (Mem(XXXXX) =
Acumulador
Sumar
Restar
Salto si acumulador > 0
Salto si acumulador = 0
Salto incondicional
Parar

01000
01001
01010
01011

000
100
101
000

00010
01101
01101
00100

01100

100 10010

Sino 01101
01110

000 00010
011 00100

01111

011 00100

10000

001 00100

10001

110 10100

Entonces 10010

010 00010

10011

001 00010

10100

111 XXXXX

// Acumulador = A
// Si A > 0 salto a sino
// Si A = 0 salto a sino
// Acumulador = B
// Si B > 0 salto al
entonces
// Acumulador = A
// Acumulador B = A B
// Acumulador B = A
2B
// B = Acumulador = A
2B
// salto a fin
// Acumulador + A = B +
A
// A = Acumulador = B +
A
// fin del programa

2.- Memoria cach con correspondencia directa. En caso de memoria principal de


64 MB (direcciono a byte) los bloques de 4 bytes que comienzan en las
direcciones 2FE0420 y 34FE8EC a qu nmero de lnea iran a parar si la cach
contiene 32 K lneas. Estructure adems la direccin de memoria principal
(cantidad de bits para etiqueta, lnea y palabra).
Si la memoria principal es de 64 MB = 26 x 220 = 226 => entonces necesito 26
bits para direccionar.

9
9 bits de etiqueta que se
obtienen haciendo 26
bits 15 bits 2 bits = 9
bits

26 bits en total
15
5
32 K = 2 x 210 = 215 =>
necesito 15 bits para
direccionar a las 32 K
lneas

2
2 bits necesito para
direccionar los 4 bytes
dentro del bloque

Entonces en el caso de la direccin 2FE0420:


10 1111 111

000 0001 0000 1000


Ira a parar a la lnea
0108

00

Entonces en el caso de la direccin 34FE8EC:


11 0100 111

111 1010 0011 1011


Ira a parar a la lnea
7A3B

00

3.- Rehaga el ejercicio 2 para las siguientes condiciones: la memoria principal de


128 MB y la cach de 64 K lneas.
Si la memoria principal es de 128 MB = 27 x 220 = 227 => el total de bits para
direccionar en la memoria principal es de 27 bits.
9
9 bits de etiqueta que se
obtienen haciendo 27
bits 16 bits 2 bits = 9
bits

27 bits en total
16
64 K = 26 x 210 = 216 =>
necesito 16 bits para
direccionar a las 32 K
lneas

2
2 bits necesito para
direccionar los 4 bytes
dentro del bloque

Entonces en el caso de la direccin 2FE0420:


010 1111 11

1000 0001 0000 1000


Ira a parar a la lnea
8108

00

Entonces en el caso de la direccin 34FE8EC:


011 0100 11

1111 1010 0011 1011


Ira a parar a la lnea
FA3B

00

4.- Rehaga el ejercicio 2 para las siguientes condiciones: memoria cach con
correspondencia asociativa de 2 vas. Considerando que el tamao de la cach
es el mismo que en el ejercicio 2, indique a qu conjuntos van a parar los
bloques de 4 bytes que comienzan en las direcciones 2FE0420 y 34FE8EC.
Estructure adems la direccin de memoria principal (cantidad de bits para
etiqueta, conjunto y palabra).
Si la memoria principal es de 64 MB = 26 x 220 = 226 => entonces necesito 26
bits para direccionar.
La cach es de 32 K lneas pero esta vez dividida en dos vas de 16 K lneas por
va (o sea la cach tienen un total de 16 K conjuntos).

10
10 bits de etiqueta que
se obtienen haciendo 26
bits 14 bits 2 bits =
10 bits

26 bits en total
14
16 K = 24 x 210 = 214 =>
necesito 14 bits para
direccionar a los 16 K
conjuntos

2
2 bits necesito para
direccionar los 4 bytes
dentro del bloque

Entonces en el caso de la direccin 2FE0420:


10 1111 1110

00 0001 0000 1000


Ira a parar al conjunto
0108

00

Entonces en el caso de la direccin 34FE8EC:


11 0100 1111

11 1010 0011 1011


Ira a parar a la lnea
3A3B

5.- Mapa de memoria de 20 bits


Memoria a implementar 32 K de ROM y 64 K de RAM
Palabra de 16 bits
Pastillas de memoria disponibles:

ROM 8 K x 4

RAM 32 K x 8
a.- Indique el tamao del MAR y del MDR
Si 20 bits direccionan entonces el tamao del MAR es de 20 bits.

00

Si la palabra es de 16 bits entonces eso significa que el ancho del MDR y del bus
de datos es de 16 bits.
b.- Configure la memoria (pastillas por fila y rango de direcciones
correspondientes)
Para implementar los 32 K de ROM con pastillas de ROM 8 K x 4 necesitaremos:
(32 K / 8 K =) 4 filas de pastillas de (16 / 4 =) 4 pastillas por fila.
Para implementar los 64 K de RAM con pastillas de RAM 32 K x 8 necesitaremos:
(64 K / 32 K =) 2 filas de pastillas de (16 / 8 =) 2 pastillas por fila.
Si las pastillas de ROM son de 8 K = 23 x 210 = 213 => 13 bits direccionan dentro
de cada pastilla.
Si las pastillas de RAM son de 32 K = 25 x 210 = 215 => 15 bits direccionan dentro
de cada pastilla.

20 bits
M
A
R

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

ROM

RAM

RAM

RAM

RAM

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0001
0001
0001

000 0
000 1
001 0
001 1
010 0
010 1
011 0
011 1
1 000
1 111
0 000
0 111
1000

0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000

0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000

0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000

[00000]
[01FFF]
[02000]
[03FFF]
[04000]
[05FFF]
[06000]
[07FFF]
[08000]
[0FFFF]
[10000]
[17FFF]
[18000]

6.- Para implementar una memoria de 256 K x 16 usando chips de 32 K x 4


indicar:
a.- Cuntos chips se requieren?
Se requieren (256 K / 32 K =) 8 filas de (16 / 4 =) 4 chips por fila. En total seran
8 x 4 = 32 chips.
b.- Cuntos bits se utilizan para direccionar una palabra dentro del chip?

Los chips son de 32 K = 25 x 210 = 215 por lo cual 15 bits, los 15 bits menos
significativos, son los que se utilizan para direccionar una palabra dentro del
chip.
c.- Cuntos bits se requieren para identificar el chip?
Si la memoria es de 256 K = 28 x 210 = 218 => direccionan 18 bits en total. Luego
si los 15 menos significativos son los que direccionan una palabra dentro del
chip, los 3 ms significativos son los encargados de seleccionar la fila de chip
(entre las 8 posibles).
d.- Cmo est formada la matriz de chips en filas por columnas?
La matriz est formada por 8 filas de 4 chips cada una.
e.- Cul es el valor hexadecimal de la primera y la ltima direccin expresadas
en hexadecimal?
La primera direccin sera [00000].
La ltima direccin sera [3FFFF].

You might also like