Skip to content

Examen: Parcial 2:2023_11_17:Teleco

Miguel edited this page Nov 30, 2023 · 1 revision

Examen Parcial 2: 2023-11-17. Teleco

  • Tiempo: 50 minutos
  • Tipo de examen: Presencial. Realizado a través de Aula Virtual. Acceso a la wiki (Internet)
  • Temario: S5,S6,S7 y S8

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): Ordenacion/alineamiento/direccionamiento

Tenemos un computador de 64-bits que dispone de 32 registros de propósito general (x0-x31). La anchura de memoria es de 64 bits. La ordenación que usa es big-endian. Para acceder a los datos de la memoria utiliza un direccionamiento indirecto. Puede acceder tanto a datos alineados como no alineados. Estas son algunas de las instrucciones disponibles:

  • li rd, valor: Carga del valor inmediato en el registro rd
  • addi rd, rs valor: Suma el valor del registro rs más valor y lo almacena en el registro rd
  • lb rd, (rs1): Leer un byte de memoria y guardarlo en rd
  • lh rd, (rs1): Leer una media palabra de memoria y guardarla en rd
  • lw rd, (rs1): Leer una palabra de memoria y guardarla en rd
  • ld rd, (rs1): Leer una doble palabra de memoria y guardarla en rd
  • sb rs1, (rs2): Almacenar en memoria el byte que hay en rs1
  • sh rs1, (rs2): Almacenar en memoria la media palabra que hay en rs1
  • sw rs1, (rs2): Almacenar en memoria la palabra que hay en rs1
  • sd rs1, (rs2): Almacenar en memoria la doble palabra que hay en rs1

Este es un volcado de la memoria, correspondiente a las direcciones que comienzan en 0x010A0 y 0x010B0. Los valores están en HEXADECIMAL.

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010A0 AA BB CC DD 01 02 03 04 A4 A3 A2 A1 A0 1F 1E 1A
0x010B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Se pide:

a) (2.5 ptos) Indicar el valor de los registros del x1 al x5 cuando se ejecutan estas instrucciones (secuencialente), así como el número de accesos a memoria que emplea cada instrucción de load para leer los datos:

li x1, 0x010A6
lb x2, (x1)
lh x3, (x1)
lw x4, (x1)
addi x1, x1, 6
ld x5, (x1)

b) (2.5 ptos) Suponiendo que inicialmente los registros del x1 al x5 contienen los siguientes valores: x1=0,x2=0x22, x3=0x2023, x4=0x1A2B3C4D, x5=0x44332211DDCCBBAA

Escribe el contenido de los 16 bytes de memoria situados desde la dirección 0x010B0 en adelante al terminar de ejecutarse las siguientes instrucciones e indica también el número de accesos a memoria que emplea cada instrucción de store para guardar los datos.:

li x1, 0x010B2
sd x5, (x1)
sh x3, (x1)
addi x1, x1, 10
sw x4, (x1)
sb x2, (x1)

Solución al problema

a)

El procesador usa ordenación big endian por lo que el byte leido en la primera posición es el de mayor peso

  • Inst 1: Cargar el valor inmediato 0x010A6 en x1. Las instrucciones li no acceden a memoria

    x1 = 0x010A6

  • Inst 2: Leer el byte de la dirección 0x010A6. Para leer 1 byte siempre se realiza 1 único acceso a memoria.

    x2 = 0x03, 1 acceso a memoria

  • Inst 3: Leer la media palabra de la dirección 0x010A6. La media palabra se encuentra en el primer bloque de memoria de 8 bytes, por lo que se raliza 1 único acceso.

    x3 = 0x0304, 1 acceso a memoria

  • Inst 4: Leer la palabra de la dirección 0x010A6. La palabra se encuentra la mitad en el primer bloque de 32 bits, y la otra mitad en el siguiente, por lo que se necesitan 2 accesos a memoria

    x4 = 0x0304A4A3, 2 accesos a memoria

  • Inst 5: Sumar el valor 6 al registro x1. Las instrucciones li no acceden a memoria

    x1 = 0x010AC

  • Inst 6: Leer la doble palabra de la dirección 0x010AC. Como son 8 bytes de la doble palabra, se leen los 0 que hay en las siguientes direcciones de memoria. Se realizan 2 accesos por no estar en una dirrección alineada

    x5 = 0xA01F1E1A00000000, 2 accesos a memoria

b)

  • Inst 1:

Guarda en el registro x1 el valor de la dirección 0x010B2

  • Inst 2:

Guarda la doble palabra de x5 a partir de la dirección 0x010B2

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010B0 00 00 44 33 22 11 DD CC BB AA 00 00 00 00 00 00

Realiza 2 accesos a memoria porque se almacena ocupando dos espacios de palabra doble (0x10B0-0x10B7 y 0x10B8-0x10BF)

  • Inst 3:

Guarda la media palabra de x3 a partir de la dirección 0x010B2

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010B0 00 00 20 23 22 11 DD CC BB AA 00 00 00 00 00 00

Realiza 1 acceso a memoria porque se almacena en el primer bloque (0x10B0-0x10B7)

  • Inst 4:

Suma 10 al valor de x1: x1 = 0x010B2 + 10 = 0x010BC

  • Inst 5:

Guarda la palabra de x4 a partir de la dirección 0x010BC

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010B0 00 00 20 23 22 11 DD CC BB AA 00 00 1A 2B 3C 4D

Realiza 1 acceso a memoria porque se almacena en el segundo bloque (0x10B8-0x10BF)

  • Inst 6:

Guarda el byte de x2 en la dirección 0x010BC

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010B0 00 00 20 23 22 11 DD CC BB AA 00 00 22 2B 3C 4D

Realiza 1 acceso a memoria porque tiene tamaño de 1 byte

El resultado final de la memoria por lo tanto es:

Dirección 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x010B0 00 00 20 23 22 11 DD CC BB AA 00 00 22 2B 3C 4D

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