Está en la página 1de 6

FUNDAMENTOS DE COMPUTADORAS

1er PARCIAL CURSO 22/23


TEORÍA

Pregunta 1 (1 ptos). Dado un procesador con un conjunto de instrucciones RISC, un tamaño de


palabra de 16 bits, direccionamiento por palabra, un bus de direcciones de 16 hilos, registros de
16 bits y una frecuencia de reloj igual a 1000 MHz, responda a las siguientes cuestiones.

a) ¿Cuál es la capacidad máxima de memoria del sistema en MBytes? (0,15p)


Sabiendo que 1Mb = 220 bytes.
Con 16 líneas se pueden direccionar 216 posiciones.
Cada posición es de 16 bits = 2 bytes = 21 bytes.
Por tanto: 216 x 21 = 217 = 2-3 x 220 = 0,125 Mb

b) Indique cuál es el ancho del bus de datos en bytes (0,1p)


2 bytes

c) Dado el siguiente formato de instrucción de 16 bits para la instrucción “add $8, $18” la
cuál suma los contenidos de los registros $8 y $18 y almacena el resultado en $8 y cuyo
código de operación es 9, indique el valor en hexadecimal de la instrucción máquina
correspondiente a esta instrucción. (0,3p)

Número de bits: 4 bits 6 bits 6 bits

Campo: Código de operación Registro fuente 1 y destino Registro fuente 2


1001 001000 010010
1001001000010010 0x9212
d) Indique el número máximo de registros que el conjunto de instrucciones puede
direccionar. (0,1p)
6
Con 6 bits por cada registro podemos direccionar: 2 = 64 registros

e) Dado que la instrucción “add $8, $18” toma 5 ciclos de reloj para ejecutarse, indique el
tiempo en nanosegundos que tarda el procesador en ejecutar dicha instrucción.
(0,15p)
T = 5 x 10-9 = 5 ns

f) Enumere las fases de ejecución de una instrucción. (0,2p)


FUNDAMENTOS DE COMPUTADORAS
1er PARCIAL CURSO 22/23
TEORÍA

Pregunta 2 (1 pto). Resuelva los siguientes apartados.

g) Defina los conceptos de Precisión y de Resolución para un sistema de representación


numérica. (0,2p)

h) Especifique el rango de un número binario entero de n bit expresado en los siguientes


sistemas de representación. (0,2p)
Binario sin signo: [ 0, 2n-1 ]

Signo-Magnitud: [ -(2n-1-1) , (2n-1-1) ]

Complemento a 2: [ -(2n-1) , (2n-1-1) ]

Exceso a M (con sesgo igual a M): [ -M, 2n-1-M ]

i) Calcular el número que representa la ristra de 12 bits siguiente, 0xAF8, si se interpreta


como un número expresado en Magnitud/Signo, considerar cinco bits para la parte
fraccionaria. (0,15p)

101011111000 -> 1010111.11000 -> -23,75

j) Calcular el número que representa la ristra de 12 bits siguiente, 0xB0F, si se interpreta


como un entero en complemento a 2. (0,1p)
0xB0F = 101100001111
Al ser negativo, determinamos su valor positivo, obteniendo el complemento a dos
C2: 010011110001 -> 1265
Por tanto 0xB0F es el -1265
k) Convertir el número decimal -27 a binario de 8 bits en Exceso a M con sesgo igual a 2n-1.
(0,1p)
Sesgo = 2n-1 = 27 = 128 -27+128 = 101 = 0110101(2

l) Convertir el número decimal -26.875 a binario en C2 usando 10 bits (7bits para la parte
entera y 3 bits para la parte fraccionaria) (0,15p)
Obtenemos el valor binario de +26,875: 0011010.111
Para obtener el valor negativo, obtenemos el complemento a 2
C2 : 1100101.001 (-26,875)
m) Calcule la resolución del sistema de representación utilizado para codificar el número
binario de 12 bits: 0101010.110010 (0,1p)
2-q = 2-6 = 0.015625
FUNDAMENTOS DE COMPUTADORAS
1er PARCIAL CURSO 22/23
TEORÍA

Pregunta 3 (1 pto). Resuelva los siguientes apartados.

Dada una representación de números en punto flotante de 8 bits con el siguiente formato:

- comparación rápida
- exponente de 3 bits en exceso (sesgo igual a 3)
- mantisa en signo-magnitud, con normalización fraccionaria, coma a la derecha del
digito más significativo y bit implícito.

Se pide:

a) Indicar los valores máximos y mínimos que pueden representarse utilizando este
formato (sin tener en cuenta casos especiales). (0,15p)
Max Exp: 111 Min Exp: 000 Max Mantisa: 1111 Min Mantisa: 0000
Mayor 0/1 111 1111 -> 1,9375 24 =  31
Menor 0/1 000 0000 -> 1,0 2-3 =  0,125

b) ¿Qué valor representa la siguiente ristra de bits: 0x8D? (0,25p)


0x8D = 10001101 signo 1 exponente= 000 -> -3 Mantisa=1101
Número= - 1,1101(2 2-3 = - 1,8125(10 2-3 = - 0,2265625

c) En el caso indicado en el apartado anterior, ¿a qué distancia se encuentran los números


representables inmediatamente anterior y posterior al número indicado? (0,15p)
Anterior: Mantisa 1100 -> 1,75 x 2-3 = 0,21875
Número: Mantisa 1101 -> 1,8125 x 2-3 = 0,2265625
Posterior: Mantisa 1110 -> 1, 875 x 2-3 = 0,234375
Distancia +/- 0,0078125
d) Indique el valor en hexadecimal de la representación del número 26,6875, siguiendo el
formato en coma flotante de 8 bits indicado en el enunciado de esta cuestión. (0,3p)
26: 11010 0,6875= 1011000
Quedaría: 11010.1011000 Normalizando: 1.10101011 x 24
Mantisa: 10101, para redondear a 4 bits.
Si suponemos redondeo por truncamiento 1010
Si suponemos redondeo al más cercano 1011
Exponente: 4+3=7 -> 111 Signo: 0
Quedaría:
0 111 1010 0x7A
0 111 1011 0x7B
e) La representación en este formato del número 26,6875. ¿Cuál ha sido el error absoluto
que se ha cometido al transformar el número a este formato (diferencia entre el valor a
representar y el finalmente representado)? (0,15p)
El número representado tiene un valor de:
0x7A : 26 0x7B: 27
Para 0x7A -> Error absoluto = 26 – 26,6875 = 0,6875
Para 0x7B -> Error absoluto = 27 – 26,6875 = 0,3125
Errores muy altos por la baja precisión del formato
FUNDAMENTOS DE COMPUTADORAS
1er PARCIAL CURSO 22/23
PRÁCTICAS

Pregunta 1A (0,34ptos). Indique las directivas para almacenar los siguientes datos
a partir de la dirección de memoria 0x10030000. Complete el valor Memoria (hex)
correspondiente a cada una de las posiciones de memoria y
el contenido de éstas (en hexadecimal). No usar la directiva .asciiz, ni
0x35
.align y considere el alineamiento automático por defecto del simulador.
0x35
254, 0x12, 0xfed53, "LUNES", 0xfffa, “255” 0x32 0x10030010
0xff 0x1003000f
* LOS DATOS ENTRE COMILLAS SON VALORES ASCII.
0xfa
MSD
.data 0x10030000 0x00
0x53
.byte 254 0x45
.byte 0x12 0x4e

.word 0xfed53 0x55

.ascii "LUNES" 0x4c


.half 0xfffa 0x00
.ascii "255" 0x0f

No usar la directiva asciiz 0xed


0X53
a) ¿Qué posición de memoria ocupa el byte 0xed 0x00
del dato 0xfed53? 0x00
La posición 0x10030005
0x12
0xfe 0x10030000
b) ¿Qué posición de memoria ocupa la letra “N”
del dato “LUNES”?
La posición 0x1003000a

c) ¿Qué posición de memoria ocupa el byte 0xfa


del dato 0xffa?
La posición 0x1003000d

(0.11 las directivas, 0.11 la memoria, 0.55 las 3 cuestiones, 0.55 el apartado 1B )

Apartado 1B. Indica las directivas necesarias para almacenar en memoria los siguientes datos:

0x789ad 234,24 -156 "dato" 254


Word float half ascii byte
FUNDAMENTOS DE COMPUTADORAS
1er PARCIAL CURSO 22/23
PRÁCTICAS

Pregunta 2 (0,33ptos). Utilizando solo directivas, escriba el código necesario para almacenar
los datos de la tabla en sus correspondientes direcciones.

Dirección dato
0x10010001 138
0x10010002 62010
0x10010050 70000
0x10010054 “Baco”
0x10010058 1.151634*1038
0x10010060 0x8abcf94d

.data 0x10010001
.byte 138
.half 62010
.space 0x4c
.word 70000
.ascii "Baco"
.float 1.151634e38
.space 4
.word 0x8abcf94d
FUNDAMENTOS DE COMPUTADORAS
1er PARCIAL CURSO 22/23
PRÁCTICAS

Pregunta 4 (0,33ptos). Considerando el siguiente código y la ventana de datos asociada.

.data 0x10020000

.half 0x3422, 0x4567


Var_a: .word 0xffcd11af
Var_b: .asciiz "Hola"
.word 0x023
.float 3.1415169
.text
.globl __start
__start:
la $t1, Var_a
li $t2, 0x10020000
lh $t3, ($t2)
lw $t4, 4($t2)
lb $t5, Var_a+1
lw $t6, Var_b+3

a) Indique el valor de los registros después de ejecutar el código: (0,055 por pregunta
correcta)
$t1 = 10020004
$t2 = 10020000
$t3 = 00003422
$t4 = ffcd11af
$t5 = 00000011
$t6 = 00000000

También podría gustarte