Skip to content

Examen: Parcial 1:2024_02_26:Robotica

Juan Gonzalez-Gomez edited this page Feb 27, 2024 · 3 revisions

Examen Parcial 1: 2024-02-26. Robótica

  • Tiempo: 45 minutos
  • Tipo de examen: Presencial. Realizado a través de Aula Virtual. Acceso a la wiki (Internet)
  • Temario: S1-S3

Contenido

Enunciado

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

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

Problema (5 ptos): Rendimiento

Una empresa de robótica nos ha contratado para mejorar el rendimiento de una aplicación para su robot, que se ejecuta en un computador con procesador RISCV que funciona a la frecuencia de 1Ghz.

Por especificaciones de la empresa, el computador no se puede cambiar. Por tanto, habrá que mejorar el rendimiento cambiando el compilador. Para ello vamos a evaluar los compiladores A y B

El fabricante del procesador nos proporciona información sobre los CPIs de las instrucciones, que se dividen en 3 grupos: Instrucciones de tipo 1, 2 y 3

Instrucción CPI
Tipo 1 1.2
Tipo 2 2
Tipo 3 1

La aplicación del robot se compila con ambos compiladoras A y B. En esta tabla se resume el resultado de los programas ejecutables generados con cada compilador, desglosados en sus tipos de instrucciones

Compilador Instrucciones totales Tipo 1 Tipo 2 Tipo 3
A 5000 1500 1500 2000
B 6000 1200 1800 3000

Se pide:

a) (1 pto). ¿Cuantos ciclos tarda en ejecutarse la aplicación cuando se usa el compilador A?
b) (1 pto). ¿Cuanto tiempo tarda la aplicación cuando se usa el compilador A?
c) (1 pto). ¿Cuantos ciclos tarda en ejecutarse la aplicación cuando se usa el compilador B?
d) (1 pto). ¿Cuanto tiempo tarda la aplicación cuando se usa el compilador B?
e) (1 pto). Calcula el rendimiento relativo. ¿Qué compilador elegirías?

NOTA: Justifica todas las respuestas, indicando las ecuaciones y razonamiento usados

Solución al problema

a) (1 pto). ¿Cuantos ciclos tarda en ejecutarse la aplicación cuando se usa el compilador A?

Cada grupo de instrucción de un tipo dado tardará en total: I * CPI ciclos. Sumando todos los ciclos obtenemos el total:

Ciclos totales = ciclos instrucciones tipo 1 + ciclos instrucciones tipo 2 + ciclos instrucciones tipo 3 =  
I1 * CPI1 + I2 * CPI2 + I3 * CPI3 = 1500 * 1.2 + 1500 * 2 + 2000 * 1 = 6800 Ciclos

La aplicación tarda 6800 ciclos cuando se usa el compilador A

b) (1 pto). ¿Cuanto tiempo tarda la aplicación cuando se usa el compilador A?

La frecuencia del procesador es F = 1Ghz

El tiempo será:

Tcpu = Ciclos / F = 6800 / 1Ghz = 6800 ns = 6.8µs

La aplicación tarda 6.8µs en ejecutarse cuando se usa el compilador A

c) (1 pto). ¿Cuantos ciclos tarda en ejecutarse la aplicación cuando se usa el compilador B?

El cálculo es el mismo que para el apartado 1:

Ciclos totales = 1200 * 1.2 + 1800 * 2 + 3000 * 1 = 8040 Ciclos

La aplicación tarda 8040 ciclos cuando se usa el compilador B

d) (1 pto). ¿Cuanto tiempo tarda la aplicación cuando se usa el compilador B?

Tcpu = Ciclos / F = 8040 / 1 Ghz = 8040 ns = 8.04µs

La aplicación tarda 8.04µs en ejecutarse cuando se usa el compilador A

e) (1 pto). Calcula el rendimiento relativo. ¿Qué compilador elegirías?

Rendimiento relativo n = Rendimiento A / Rendimiento B = 8.04µs / 6.8µs =  1.18 (aprox)

El compilador A genera un código que es 1.18 veces más rápido que el generado por el compilador B. Por tanto, elegiría el Compilador A

Autores

Licencia

Enlaces


Sesiones de Teoría

Tema 1: Abstracciones y Tecnología

S1: Introducción a los computadores
S2: Computadores y Rendimiento (I)
S3: Computadores y Rendimiento (II)
S4: Memorias Caché
Ejercicios

Tema 2: Diseño de un repertorio de instrucciones

S5: ISA. Repertorios CISC y RISC
S6: Almacenamiento de operandos. ISA-RISCV
S7: Modos de direccionamiento. Tipos de instrucciones
S8: Ejercicios

Tema 3: El Procesador

S9: Nivel de Electrónica Digital
S10: El computador NanoRisc-V
S11: NanoRISC-V Monociclo (I)
S12: NanoRISC-V Moniciclo (II). Ejercicios
S13: Procesador NanoRISC-V Multiciclo

Tema 4: Segmentación

S14: Segmentación y rendimiento
S15: NanoRISC-V segmentado

Tema 5: Jerarquía de memorias

  • TODO

Sesiones Pico2

P1: Introducción a la Pico2
P2: Rendimiento en la Pico2
P3: Memoria caché
P4: Display de 7 segmentos
P5: Zumbador

Ejercicios de examen

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-11
GISAM. Parcial 3: 2024-Dic-12
GISAM. Parcial 1: 2025-Oct-20
GISAM. Parcial 2: 2025-Nov-19
GISAM. Parcial 3: 2026-Ene-09
GISAM. Extra. 2026-Jun-11
GISAM. Parcial 1: 2026-Oct-21
ROBOTICA. Parcial 1. 2022-Feb-25
ROBOTICA. Parcial 2. 2022-Abr-1
ROBOTICA. Parcial 3. 2022-May-6
ROBOTICA. Parcial 1. 2023-Feb-27
ROBOTICA. Parcial 2. 2023-Mar-27
ROBOTICA. Parcial 3. 2023-May-08
ROBOTICA. Parcial 1. 2024-Feb-25
ROBOTICA. Parcial 2. 2024-Mar-20
ROBOTICA. Parcial 3. 2024-May-06
ROBOTICA.Extra. 2024-Jun-24
ROBOTICA. Parcial 1. 2025-Feb-24
ROBOTICA. Parcial 2. 2025-Mar-31
ROBOTICA. Parcial 3. 2025-May-19
ROBOTICA. Extra. 2025-Jun-24
ROBOTICA. Parcial 1. 2026-Feb-23
ROBOTICA. Parcial 2. 2026-Abr-13
ROBOTICA. Parcial 3. 2026-May-11
TELECO. Parcial 1. 2023-Oct-20
TELECO. Parcial 2. 2023-Nov-17
TELECO. Parcial 3. 2023-Dic-22
TELECO. Parcial 1. 2024-Oct-10
TELECO. Parcial 2. 2024-Nov-21
TELECO. Parcial 3. 2024-Dic-19
TELECO. Parcial 1. 2025-Oct-10
TELECO. Parcial 2. 2025-Nov-13
TELECO. Parcial 3. 2025-Dic-19
TELECO. Parcial 1. 2026-Oct-08
DATOS. Parcial 1. 2025-Oct-15
DATOS. Parcial 2. 2025-Nov-19
DATOS. Parcial 3. 2025-Dic-17
Extra 2026

SOLUCIONES

Tema 1: Sesiones S3 y S4
Tema 2: Sesiones S5, S6 y S7
Tema 3: Sesiones S9, S10, S11 y s13
Tema 4: Sesiones S14 y S15

ESTUDIANTES

Curso 2021-2022

Clone this wiki locally