Skip to content

Examen: Parcial 1:2024_10_09:Datos

Miguel edited this page Oct 21, 2024 · 1 revision

Examen Parcial 1: 2024-10-09. Ciencia e Ingeniería de Datos

  • Tiempo: 50 minutos
  • Descripción: Examen Parcial 1. Laboratorio. Grado de Ciencia e Ingeniería de Datos
  • Fecha: 2024/Octubre/9
  • Temario: Sesiones L1, L2, L3 y 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 33% del valor de la pregunta
  • Solución disponible en Aula virtual

Programa (5 ptos)

Necesitamos realizar un cálculo de trayectoria de nuestro sistema empotrado, de tal forma que el valor que necesitamos se obtiene con la siguiente expresión: Resultado = 6 * a + b - 15 - 2 * c Escribe un programa en ensamblador del RISC-V, calculo.s, que obtenga el resultado de dicha ecuación, y almacene el resultado en la primera dirección de memoria del segmento de datos. El resultado de la ecuación se debe evaluar para los siguientes valores: a = 15, b = 7, c = 36 (valor al que se inicializan dichas variables, no debe almacenarse en memoria). Además, como la multiplicación no está implemenda en este RISC-V, el cálculo se tendrá que hacer únicamente con sumas y restas Una vez realizado el cálculo, se realizará un "lamp test" en el display de 7 segmentos izquierdo del simulador del RARS, es decir, se encenderán los 8 leds del display izquierdo. Para ello utiliza la instrucción 'sb t1, offset(t2)' para cambiar únicamente el byte de ese display (funciona exactamente igual que sw, pero almacena un byte en lugar de una palabra).

Como el sistema empotrado sí cuenta con un sistema operativo, es necesario hacer que el programa termine al finalizar.

Recuerda utilizar comentarios, .eqv y pseudoinstrucciones siempre que sea necesario.

BONUS: Puntuación máxima si el programa completo tiene 19 o menos instrucciones.

NOTA: Envía el fichero calculo.s con la solución como una entrega del laboratorio.

NOTA2: Si el código da errores al ensamblar, no se corregirá.

Solución al programa

Como siempre ocurre al programar, existen infinitas soluciones. Pero en todas ellas se debe respetar la especificación

Este es el contenido del fichero calculo.s:

#  Programa: calculo.s
# Propósito: Parcial 1: cálculo trayectoria (6 * a + b - 15 - 2 *c, para a = 15, b = 7, c = 36,
#            resultado en primera dirección .data) y lamp text display izqdo.
#     Autor: Javier Macías del Campo
#     Fecha: 07/10/2024

	#definiciones para las operaciones (valores para a, b y c)
	.eqv VA 15
	.eqv VB 7
	.eqv VC 36
	
	#definiciones para el test del display izquierdo
	.eqv DISP_L 0xFFFF0011
	.eqv VALOR_TEST 0xFF
	
	
	.data
resul:	.word 0


	.text

	## Cálculo trayectoria
	#6*a
	li x2, VA
	add x2, x2, x2   #x2 = 2*a
	add x3, x2, x2   #x3 = 4*a
	add x3, x3, x2   #x3 = 6*a
		
	#2*c
	li x1, VC
	add x1, x1, x1  #x1 = 2*c
	
	#6*a + b
	addi x3, x3, VB  #x3 = 6*a + b
	
	#6*a + b - 15
	addi x3, x3, -15  #x3 = 6*a + b -15
	
	#6*a + b - 15 - 2*c
	sub x3, x3, x1
	
	#almacenamos resultado
	la x4, resul
	sw x3, 0(x4)
	

	##test luces display izqdo.
	li x5, DISP_L
	li x6, VALOR_TEST
	sb x6, 0(x5)
	
	
	#termina el programa
	li a7, 10
	ecall

Autores

  • Miguel Ángel de Miguel
  • Javier Macías

Licencia

Enlaces

Página principal


Sesiones de Prácticas

P1: Simulador RARs

L1: Práctica 1-1. RARs
L2: Práctica 1-2. Ensamblador
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

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
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
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
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

SOLUCIONES

Práctica 1: Sesiones 1,2 y 3
Práctica 2: Sesiones 4, 5 y 6
Práctica 3: Sesiones 7 y 8
Práctica 4: Sesiones 9, 10 y 11
Práctica 5: Sesión 12

Clone this wiki locally