Examen de laboratorio - Universitat de València

Anuncio
LABORATORIO DE FUNDAMENTOS Y
ARQUITECTURA DE COMPUTADORES
UNIVERSITAT
DE VALÈNCIA
6 de febrero de 2008
Apellidos:
Nombre:
1. (4 puntos) Sea el siguiente programa en ensamblador MIPS.
lista:
filtro1:
filtro2:
__start:
buc:
fil2:
fbuc:
Dirección
lista
lista +4
lista +8
lista +12
filtro1
filtro1+4
filtro2
filtro2+4
.data
.word
.space
.space
5,-8,-3,4
8
8
.text
.globl
__start
la
$s0,lista
li
$t0,0
la
$s3,filtro1
la
$s4,filtro2
lw
$s2,0($s0)
add $s0,$s0,4
add $t0,$t0,1
and $t1,$s2,0x80000000
bnez $t1,fil2
sw
$s2,0($s3)
add $s3,$s3,4
j
fbuc
sw
$s2,0($s4)
add $s4,$s4,4
bne $t0,4,buc
li
$v0,10
syscall
Cont.
Reg Contenido
$v0
$t0
$t1
$s0
$s1
$s2
$s3
$s4
a) Indicar la evolución de los valores que se van obteniendo en la memoria y en los
registros.
b) Indica brevemente lo que hace el programa.
2. (4 puntos) Sea un procesador que utiliza palabras de 32 bits y 32 registros de 32 bits cada
uno y que ejecuta las siguientes instrucciones en un solo ciclo:
1) bne rs,inm,rt: si rs ≠ inm salta a la dirección de memoria calculada como
suma de PC+4 más el valor del registro rt.
LABORATORIO DE FUNDAMENTOS Y
ARQUITECTURA DE COMPUTADORES
UNIVERSITAT
DE VALÈNCIA
6 de febrero de 2008
Apellidos:
Nombre:
2) addd rs,rt,dir : almacena en el registro rs el resultado de la suma del valor del
registro rt más el contenido de la dirección de memoria dir.
El formato para las dos instrucciones es el siguiente:
código op.
2 bits
rs
5 bits
rt
5 bits
inm / dir
20 bits
a) Diseñar el camino de datos para un procesador que ejecute las dos instrucciones
anteriores en un solo ciclo (Hacer un esquema por separado para cada instrucción
anteriormente). Especificar en cada línea los bits de la instrucción que se consideran.
b) Añadir al camino de datos anterior las señales de control necesarias y diseñar la unidad
de control.
3. (2 puntos) Sea el siguiente script mostrar:
#!/bin/bash
if [ $# -eq 0 ]
then
echo "Error en el script"
exit 1
fi
case $1 in
"-o")
ls -a
;;
"-t")
ls -l
;;
*)
for i in $*
do
ls -al $i
done
;;
esac
Indicar y argumentar lo que se obtiene por la salida estándar en cada una de las ejecuciones que
vienen a continuación:
a) mostrar
b) mostrar -o
c) mostrar -l
d) mostrar k*
Descargar