Repository navigation
Examen: Parcial 2:2025_11_13:Teleco

- Tiempo: 50 minutos
- Tipo de examen: Presencial. Realizado a través de Aula Virtual. Acceso a la wiki (Internet)
- Temario: S4,S5,S6,S7 y S8
El examen se ha realizado a través de Aula virtual. Tiene dos partes: Test y un problema
- 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
Tenemos un computador de 32-bits con las siguientes características:
-
Registros: 16 registros de propósito general (
x0-x15). - Endianness: Big-endian.
- Direccionamiento: Directo.
- Anchura de memoria: 16 bits.
- Restricciones: Sólo permite el acceso a datos alineados.
Instrucciones Disponibles
-
lb rs1, dir: Leer un byte de memoria (con extensión de signo) y guardarlo enrs1. -
lh rs1, dir: Leer una media palabra (16 bits) de memoria y guardarla enrs1. -
lw rs1, dir: Leer una palabra (32 bits) de memoria y guardarla enrs1. -
sb rs1, dir: Almacenar en memoria el byte (8 bits menos significativos) que hay enrs1. -
sh rs1, dir: Almacenar en memoria la media palabra (16 bits menos significativos) que hay enrs1. -
sw rs1, dir: Almacenar en memoria la palabra completa que hay enrs1.
Estado de la Memoria (Volcado Hexadecimal)
Los valores están en HEXADECIMAL.
| Dirección | 0xFF10 | 0xFF11 | 0xFF12 | 0xFF13 | 0xFF14 | 0xFF15 | 0xFF16 | 0xFF17 | 0xFF18 | 0xFF19 | 0xFF1A | 0xFF1B | 0xFF1C | 0xFF1D | 0xFF1E | 0xFF1F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valor | 0xAA |
0xBB |
0xCC |
0xDD |
0x10 |
0xA0 |
0xB0 |
0xFF |
0xBE |
0xCA |
0xCE |
0x0A |
0x0C |
0xAB |
0xFA |
0xCA |
#-- BLOQUE I (Cargas)
lb x10, 0xFF13
lh x11, 0xFF1A
lh x12, 0xFF11
lw x13, 0xFF1A
lw x14, 0xFF18
ld x15, 0xFF18
lb x16, 0xFF10
#-- BLOQUE II (Almacenamiento)
sb x10, 0xFF22
sw x11, 0xFF20
sh x12, 0xFF25
sw x13, 0xFF2A
sw x14, 0xFF2CSabiendo que todos los registros y el resto de la memoria están inicializados a 0, se pide:
a) Indica qué instrucciones darían error al ejecutarse en el procesador y por qué
b) Considera sólo las instrucciones que sí se ejecutarían (no darían error) y determina el valor de los registros que cambian tras ejecutar el Bloque I
c) Escribe los valores para cada dirección de memoria que estarían almacenados almacenados desde la dirección 0xFF20 a la 0xFF2F después de ejecutar las instrucciones que no darían error del Bloque II.
d) Para cada instrucción válida, indica el número de accesos a memoria que produciría (no consideres el acceso a memoria para leer la propia instrucción)
a)
| Instrucción | Tipo de Error | Justificación |
|---|---|---|
lh x12, 0xFF11 |
Fallo de Alineamiento | Una media palabra (2 bytes) requiere una dirección par (múltiplo de 2). 0xFF11 es impar. |
lw x13, 0xFF1A |
Fallo de Alineamiento | Una palabra (4 bytes) requiere una dirección múltiplo de 4. 0xFF1A (termina en 26 decimal) no es divisible por 4. |
ld x15, 0xFF18 |
Instrucción Ilegal | La instrucción ld (Load Double) no pertenece al set de instrucciones definido para un procesador de 64 bits. |
lb x16, 0xFF10 |
Registro Inválido | El procesador tiene registros del x0 al x15. El registro x16 no existe. |
sh x12, 0xFF25 |
Fallo de Alineamiento | Intenta guardar 16 bits en una dirección impar (0xFF25). |
sw x13, 0xFF2A |
Fallo de Alineamiento | Intenta guardar 32 bits en una dirección no divisible por 4 (0xFF2A). |
b)
Analizamos solo las instrucciones válidas del Bloque I. Se asume extensión de signo al cargar bytes (lb) y medias palabras (lh) en registros de 32 bits.
-
lb x10, 0xFF13:- Lee el valor
0xDDen la dirección0xFF13. -
Resultado:
x10 = 0xDD
- Lee el valor
-
lh x11, 0xFF1A:- Lee 2 bytes en
0xFF1Ay0xFF1B. Valores:0xCEy0x0A. - Big-endian forma:
0xCE0A. -
Resultado:
x11 = 0xCE0A
- Lee 2 bytes en
-
lw x14, 0xFF18:- Lee 4 bytes desde
0xFF18alineado. - Valores consecutivos:
0xBE,0xCA,0xCE,0x0A. -
Resultado:
x14 = 0xBECACE0A
- Lee 4 bytes desde
(Nota: también serían válidos los resultados considerando la extensión de signo).
c)
Ejecutamos las instrucciones válidas del Bloque II en orden secuencial:
-
sb x10, 0xFF22: Escribe el byte menos significativo de x10 (0xDD) en0xFF22. -
sw x11, 0xFF20: Escribe la palabra de x11 (0x0000CE0A) ocupando 4 bytes desde0xFF20.-
0xFF20<-0x00 -
0xFF21<-0x00 -
0xFF22<-0xCE(Nota: Esta escritura sobrescribe el valor0xDDpuesto por la instrucción anterior). -
0xFF23<-0x0A
-
-
sw x14, 0xFF2C: Escribe la palabra de x14 (0xBECACE0A) ocupando 4 bytes desde0xFF2C.
| Dirección | 0xFF20 | 0xFF21 | 0xFF22 | 0xFF23 | 0xFF24 | 0xFF25 | 0xFF26 | 0xFF27 | 0xFF28 | 0xFF29 | 0xFF2A | 0xFF2B | 0xFF2C | 0xFF2D | 0xFF2E | 0xFF2F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valor | 0x00 |
0x00 |
0xCE |
0x0A |
0x00 |
0x00 |
0x00 |
0x00 |
0x00 |
0x00 |
0x00 |
0x00 |
0xBE |
0xCA |
0xCE |
0x0A |
d)
Considerando una anchura de memoria de 16 bits, cada acceso al bus transfiere 2 bytes. (No se contabiliza el acceso para leer la propia instrucción, "Instruction Fetch").
| Instrucción Válida | Tamaño dato | Accesos Datos | Explicación |
|---|---|---|---|
lb x10, 0xFF13 |
8 bits | 1 | 8 bits caben en una transferencia de 16 bits. |
lh x11, 0xFF1A |
16 bits | 1 | 16 bits ocupan exactamente una transferencia completa del bus. |
lw x14, 0xFF18 |
32 bits | 2 | 32 bits requieren dos transferencias consecutivas de 16 bits. |
sb x10, 0xFF22 |
8 bits | 1 | Se realiza un ciclo de escritura (o lectura-modificación-escritura). |
sw x11, 0xFF20 |
32 bits | 2 | Se necesitan dos ciclos de escritura para enviar los 32 bits. |
sw x14, 0xFF2C |
32 bits | 2 | Se necesitan dos ciclos de escritura para enviar los 32 bits. |


S1: Introducción a los computadores
S2: Computadores y Rendimiento (I)
S3: Computadores y Rendimiento (II)
S4: Memorias Caché
Ejercicios
S5: ISA. Repertorios CISC y RISC
S6: Almacenamiento de operandos. ISA-RISCV
S7: Modos de direccionamiento. Tipos de instrucciones
S8: Ejercicios
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
S14: Segmentación y rendimiento
S15: NanoRISC-V segmentado
- TODO
P1: Introducción a la Pico2
P2: Rendimiento en la Pico2
P3: Memoria caché
P4: Display de 7 segmentos
P5: Zumbador
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
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