Skip to content

Examen: Parcial 1:2024_10_14:GISAM

Juan Gonzalez-Gomez edited this page Oct 16, 2024 · 1 revision

Examen Parcial 1: 2024-10-14. GISAM

  • Tiempo: 50 minutos
  • Descripción: Examen Parcial 1. Laboratorio. Grado en Ingeniería de Sistemas Audiovisuales y Multimedia
  • Fecha: 2024/Oct/14
  • Temario: Sesiones L1-L4

Contenido

Enunciado

El examen se ha realizado a través de Aula virtual. Tiene dos partes: Test y un programa

Test (5 ptos)

  • Realizado a través de Aula virtual
  • 10 preguntas tipo test
  • Las respuesats incorrectas restan un 25% del valor de la pregunta
  • Solución disponible en Aula virtual

Programa (5 ptos)

Escribe un programa en ensamblador del RISC-V, en el fichero store.s, que calcule la siguiente expresión:

g = A + 2C + 4K

Evaluarla para los valores iniciales A=1, C=1 y K=1. El resultado se debe almacenar en la variable g situada en la primera posición de memoria disponible en el segmento de datos. Adicionalmente, el valor de g se debe copiar también a las variables h y i que se sitúan justo a continuación de g en el segmento de datos. Las 3 variables, por tanto, tendrán el mismo valor una vez finalizado el programa

Como último paso, el programa deberá escribir el valor de g en la dirección 0xFFFF0010, donde está situado el display de 7 segmentos derecho

BONUS

Conseguirás este bonus si has obtenido la máxima puntuación (programa perfecto) y si tu programa tiene menos de 19 instrucciones

Solución al programa

#-- Evaluar la expresión g = A + 2C + 4K
#-- para A=1, C=1, K=1
#-- Resultado: 7 (0x07)

	#-- Constantes. Valores iniciales para
	#-- A, C y K (ESPECIFICACIONES)
	.eqv A 1
	.eqv C 1
	.eqv K 1
	
	#-- Periferico: Display de 7 segmentos derecho
	.eqv DISP_R 0xFFFF0010
	
	.data
g:	.word 0x0   #-- ESPECIFICACIONES
h: 	.word 0x0   #-- ESPECIFICACIONES
i:	.word 0x0   #-- ESPECIFICACIONES
	
	.text
	
	#-- Inicializar registros
	li x1, A  #-- x1 = A
	li x2, C  #-- x2 = C
	li x3, K  #-- x3 = K
	
	#-- Evaluar la expresión
	#-- g   =  A  + 2B  + 4C
	#-- x10 =  x1 + 2X2 + 4x3
	add x10,x2,x2  #-- x10 = 2B
	add x10,x10,x1 #-- x10 = A + [2B]
	add x11,x3,x3  #-- x11 = C + C = 2C
	add x11,x11,x11 #-- x11 = [2C] + [2C] = 4C
	add x10,x10,x11 #-- x10 = [A + 2B] + 4C
	
	#-- Almacenar resultado en variable g
	la x30, g  #-- Direccion de la variable g
	sw x10, 0(x30)  #-- g = Resultado de la expresion 
	
	#-- Almacenar resultado en variable h
	sw x10, 4(x30)  #-- h = g
	
	#-- Almacenar resultado en variable i 
	sw x10, 8(x30)  #-- i = g
	
	#-- Mostrar resultado en display de 7 segmentos
	li x30, DISP_R
	sw x10, 0(x30)
	
	#-- Terminar
	li a7, 10
	ecall

Este programa tiene 18 instrucciones por lo que se cumple el BONUS! 🏅

Evaluación

La evaluación del programa se hace en dos fases:

  • Funcionalidad (2.5 ptos): Se comprueba si el programa funciona, y si cumple con las especificaciones (Nombre del fichero correcto, ensablado sin errores, sin errores en tiempo de ejecución, resultado correcto, variables definidas en sus posiciones de memoria especificadas, etc). Esto se hace mediante un script de test, que automatiza el proceso

  • Código (2.5 ptos): Se inspecciona visualmente cómo está hecho el código: código limpio, claro, con comentarios, instrucciones correctas, fallos de programación, etc...

TEST automático

🚧 TODO 🚧

Autores

Licencia

Enlaces

Página principal


Sesiones de Prácticas

P1: Simulador RARs

L1: El simulador RARs
L2: Calculando expresiones
L3: Práctica 1-3. Variables

P2: E/S mapeada. Llamadas al sistema

L4: Pract 2-1. E/S mapeada
L5: Práctica 2-2: Inst. ecall
L6: Prác 2-3: Cadenas

P3: Bucles y Saltos condicionales

L7: Práct 3-1: Bucles y saltos
L8: Práct 3-2: Cadenas II

P4: Subrutinas

L9: Pract 4-1: Subrut. Nivel-1
L10: Pract 4-2: La pila
L11: Pract 4-3: Recursividad

P5: Memoria Dinámica

L12: Pract 5-1. Heap. Listas

VÍDEO DE DESPEDIDA

SESIONES ADICIONALES

L13: RV32I: Resto de instrucciones
L14: Macros
L15: Entrada/Salida a bajo nivel
L16: Multiplicaciones/divisiones. Unit Tests 🚧
L17: Biblioteca stdio: salida a alto nivel 🚧
Los registros de estado y control (CSR)
Interrupciones y excepciones
Borrador

SOLUCIONES

Soluciones a los ejercicios planteados en cada sesión para practicar:
Sesión L1
Sesión L2
Sesión L3
Sesión L4
Sesión L5
Sesión L6
Sesión L7
Sesión L8
Sesión L9
Sesión L10
Sesión L11
Sesión L12

Ejercicios de examen

Simulacro examen 1
GISAM. Ordinario. 2019-Dic-11
GISAM. Extra. 2020-Jul-03
GISAM. Ordinario. 2021-Ene-21
GISAM. Ordinario. 2022-Ene-10
GISAM. Extra. 2022-Jun-29
GISAM. Parcial 1. 2022-Oct-26
GISAM. Parcial 2. 2022-Nov-30
GISAM. Parcial 3. 2022-Dic-21
GISAM. Parcial 1. 2023-Oct-09
GISAM. Parcial 2. 2023-Nov-11
GISAM. Parcial 3. 2023-Dic-20
GISAM. Extra. 2024-Jun-17
GISAM. Parcial 1. 2024-Oct-14
GISAM. Parcial 2. 2024-Nov-13
GISAM. Parcial 3. 2024-Dic-16
GISAM. Extra. 2025-Jun-17
GISAM. Parcial 1. 2025-Oct-20
GISAM. Parcial 2. 2025-Nov-19
GISAM. Parcial 3. 2026-Enero-9
GISAM. Parcial 1. 2026-Oct-21
TELECO. Ordinario. 2019-Dic-13
TELECO. Extra. 2020-Jul-07
TELECO. Ordinario. 2021-Ene-21
TELECO. Extra. 2021-Jul-02
TELECO. Ordinario. 2022-Ene-10
TELECO. Extra. 2022-Jun-29
TELECO. Ordinario. 2023-Ene-10
TELECO. Extra. 2023-Jun-29
TELECO. Parcial 1. 2023-Oct-20
TELECO. Parcial 2. 2023-Nov-17
TELECO. Parcial 3. 2023-Dic-22
TELECO. Extra. 2024-Jun-17
TELECO. Parcial 1. 2024-Oct-10
TELECO. Parcial 2. 2024-Nov-21
TELECO. Parcial 3. 2024-Dic-19
TELECO. Extra. 2025-Jun-17
TELECO. Parcial 1. 2025-Oct-10
TELECO. Parcial 2. 2025-Nov-13
TELECO. Parcial 3. 2026-Ene-21
TELECO. Extra. 2026-Jun-25
TELECO. Parcial 1. 2026-Oct-09
Robótica. Ordinario. 2020-Jun-1
Robótica. Extra. 2020-Jul-13
Robótica. Ordinario. 2021-Mayo-20
Robótica. Extra. 2021-Junio-16
Robótica. Parcial 1. 2022-Feb-25
Robótica. Parcial 2. 2022-Abril-1
Robótica. Parcial 3. 2022-Mayo-6
Robótica. Parcial 1. 2023-Feb-27
Robótica. Parcial 2. 2023-Mar-27
Robótica. Parcial 3. 2023-May-08
Robótica. Parcial 1. 2024-Feb-26
Robótica. Parcial 2. 2024-Mar-20
Robótica. Parcial 3. 2024-May-06
Robótica. Extra. 2024-Junio-24
Robótica. Parcial 1. 2025-Feb-25
Robótica. Parcial 2. 2025-Mar-31
Robótica. Parcial 3. 2025-May-19
Robótica. Parcial 1. 2026-Feb-23
Robótica. Parcial 2. 2026-Abr-13
Robótica. Parcial 3. 2026-May-11
Datos. Parcial 1. 2023-Oct-09
Datos. Parcial 2. 2023-Nov-15
Datos. Parcial 3. 2023-Dic-20
Datos. Parcial 1. 2024-Oct-09
Datos. Parcial 2. 2024-Nov-13
Datos. Parcial 3. 2025-Ene-17
Datos. Parcial 1. 2025-Oct-15
Datos. Parcial 2. 2025-Nov-19

Clone this wiki locally