Skip to content

Examen: Parcial 3:2025_12_19:Teleco

Miguel edited this page Jan 9, 2026 · 2 revisions

Examen Parcial 3: 2025-12-17. Datos

  • Tiempo: 50 minutos
  • Tipo de examen: Presencial. Realizado a través de Aula Virtual. Acceso a la wiki (Internet)
  • Temario: S9,S10,S11 y S12

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 respuestas incorrectas restan un 33% del valor de la pregunta
  • Solución disponible en Aula virtual

Problema (5 ptos): Ordenacion/alineamiento/direccionamiento

Version 1

Tenemos un computador nRV como el estudiado.

Tablero Parcial 3 25

Debido a un fallo de fabricación, los cables de los buses de la salida de las memoria de código y de la entrada a data del banco de registros añaden un retardo de 10ps. En el esquemático se ha indicado con el componente rojo R. Los retardos introducidos por el resto de componentes se describen a continuación:

  • Memoria de instrucciones (lectura): 325ps
  • Sumador: 180ps
  • ALU (Suma): 200ps
  • ALU (Resta): 220ps
  • ALU (AND OR): 200ps
  • Memoria de datos (lectura): 350ps
  • Banco de registros: 120ps
  • Registro PC: 45ps

El resto de retardos se consideran despreciables (0 ps).

Contesta a las siguientes preguntas:

a) Calcula el retardo individual de las fases de Fetch y Decodificación.

b) Calcula el retardo total de la instrucción add x0, x0, x0.

c) Calcula el retardo total de la instrucción ld x5, 0x100(x0).

d) Calcula el retardo total de la instrucción beq x0, x5, 0x100.

e) ¿Cuál es la frecuencia máxima de funcionamiento de este procesador?

f) Si ejecutamos el siguiente fragmento de código:

sd x3, 0(x5)
ld x4, 0(x5)

Indica el retardo máximo que tendría que tener la escritura en la memoria de datos para que funcione correctamente.

Solución al problema

a) Retardo individual de las fases de Fetch y Decodificación

Para calcular estos tiempos, analizamos el camino crítico de cada etapa por separado.

Fase de IF (Instruction Fetch):

El ciclo comienza con el reloj disparando el PC. La instrucción debe atravesar el PC, la memoria y el retardo de fallo $R$ a la salida de esta.

$$T_{Fetch} = T_{PC} + T_{IMem} + R$$

$$T_{Fetch} = 45 + 325 + 10 = \mathbf{380 \text{ ps}}$$

Fase de ID (Instruction Decode):

La decodificación comienza una vez que la instrucción es válida (fin de Fetch). En esta arquitectura, el tiempo relevante es el acceso a lectura del Banco de Registros.

$$T_{Decode} = T_{Reg}$$

$$T_{Decode} = \mathbf{120 \text{ ps}}$$


b) Retardo total de la instrucción add x0, x0, x0

Es importante notar que el fallo $R$ afecta también a la escritura en el banco de registros, y las instrucciones de tipo R guardan el resultado en el banco de registros.

  1. IF + ID: $500 \text{ ps}$
  2. Ejecución (ALU Suma): Se suma el retardo de la ALU: 200ps.
  3. Escritura (WriteBack): El resultado va de la ALU al Banco de Registros pasando por el fallo $R$: 10ps.

$$T_{add} = \mathbf{380 + 120 + 200 + 10 = 710 \text{ ps}}$$

Nota: Considerar el retardo del fallo en la fase de ejecución también estaría bien.


c) Retardo total de la instrucción ld x5, 0x100(x0)

La instrucción de carga (ld) es típicamente la más lenta (camino crítico) al involucrar la memoria de datos.

  1. IF + ID: $500 \text{ ps}$
  2. Cálculo de Dirección (ALU Suma): 200ps.
  3. Acceso a Memoria (Lectura): 350ps
  4. WriteBack: El dato sale de memoria y pasa por $R$ antes de entrar al banco de registros: 10ps

$$T_{ld} = \mathbf{380 + 120 + 200 + 350 + 10 = 1060 \text{ ps}}$$


d) Retardo total de la instrucción beq x0, x5, 0x100

Para los saltos condicionales, no se almacena nada en el banco de registros, pero hay que considerar el retardo del incremento del PC desde que se hace la comparación (fase de ejecución).

  1. IF + ID: $500 \text{ ps}$
  2. Ejecución: Comparación con la ALU (Resta): 220ps.
  3. WriteBack: Sumador: 180ps.

$$T_{add} = \mathbf{380 + 120 + 220 + 180 = 900 \text{ ps}}$$


e) Frecuencia máxima de funcionamiento

La frecuencia máxima está determinada por la instrucción más lenta (camino crítico) que debe completarse en un solo ciclo de reloj. Comparando los retardos calculados:

  • ADD: $710 \text{ ps}$
  • LD: $1060 \text{ ps}$
  • BEQ: $900 \text{ ps}$

El retardo crítico es $T_{crit} = 1060 \text{ ps}$.

$$f_{max} = \frac{1}{T_{crit}} = \frac{1}{1060 \times 10^{-12} \text{ s}}$$

$$f_{max} \approx 943,4 \times 10^6 \text{ Hz} = \mathbf{943,4 \text{ MHz}}$$


f) Retardo máximo de escritura en memoria de datos

Analizamos el fragmento de código:

sd x3, 0(x5)  ; Instrucción Store
ld x4, 0(x5)  ; Instrucción Load que lee el dato que se acaba de guardar

El dato que se guarda en memoria con la instrucción sd, se almacena en el siguiente ciclo de reloj con el nuevo flanco ascendente (la memoria es secuencial para la escritura), es decir, se almacena mientras se ejecuta la siguiente instrucción ld.

Para que ld lea el dato, tiene que haber dado tiempo a guardarse en memoria, antes de acceder a ella, es decir, tiene que guardarse mientras se ejecutan las fases de IF, ID y Ex.

Por lo tanto, el retado máximo tiene que ser de :

$$R_{max} 380 + 120 + 200 = \mathbf{700 \text{ ps}}$$

Version 2

Tenemos un computador nRV como el estudiado.

Tablero Parcial 3 25

Debido a un fallo de fabricación, los cables de los buses de la salida de las memoria de código y de la entrada a data del banco de registros añaden un retardo de 10ps. En el esquemático se ha indicado con el componente rojo R. Los retardos introducidos por el resto de componentes se describen a continuación:

  • Memoria de instrucciones (lectura): 325ps
  • Sumador: 180ps
  • ALU (Suma): 200ps
  • ALU (Resta): 210ps
  • ALU (AND OR): 200ps
  • Memoria de datos (lectura): 350ps
  • Banco de registros: 110ps
  • Registro PC: 35ps

El resto de retardos se consideran despreciables (0 ps).

Contesta a las siguientes preguntas:

a) Calcula el retardo individual de las fases de Fetch y Decodificación.

b) Calcula el retardo total de la instrucción add x0, x0, x0.

c) Calcula el retardo total de la instrucción ld x5, 0x100(x0).

d) Calcula el retardo total de la instrucción beq x0, x5, 0x100.

e) ¿Cuál es la frecuencia máxima de funcionamiento de este procesador?

f) Si ejecutamos el siguiente fragmento de código:

sd x3, 0(x5)
ld x4, 0(x5)

Indica el retardo máximo que tendría que tener la escritura en la memoria de datos para que funcione correctamente.

Solución al problema

a) Retardo individual de las fases de Fetch y Decodificación

Para calcular estos tiempos, analizamos el camino crítico de cada etapa por separado.

Fase de IF (Instruction Fetch):

El ciclo comienza con el reloj disparando el PC. La instrucción debe atravesar el PC, la memoria y el retardo de fallo $R$ a la salida de esta.

$$T_{Fetch} = T_{PC} + T_{IMem} + R$$

$$T_{Fetch} = 35 + 325 + 10 = \mathbf{370 \text{ ps}}$$

Fase de ID (Instruction Decode):

La decodificación comienza una vez que la instrucción es válida (fin de Fetch). En esta arquitectura, el tiempo relevante es el acceso a lectura del Banco de Registros.

$$T_{Decode} = T_{Reg}$$

$$T_{Decode} = \mathbf{110 \text{ ps}}$$


b) Retardo total de la instrucción add x0, x0, x0

Es importante notar que el fallo $R$ afecta también a la escritura en el banco de registros, y las instrucciones de tipo R guardan el resultado en el banco de registros.

  1. IF + ID: $480 \text{ ps}$
  2. Ejecución (ALU Suma): Se suma el retardo de la ALU: 200ps.
  3. Escritura (WriteBack): El resultado va de la ALU al Banco de Registros pasando por el fallo $R$: 10ps.

$$T_{add} = \mathbf{370 + 110 + 200 + 10 = 690 \text{ ps}}$$

Nota: Considerar el retardo del fallo en la fase de ejecución también estaría bien.


c) Retardo total de la instrucción ld x5, 0x100(x0)

La instrucción de carga (ld) es típicamente la más lenta (camino crítico) al involucrar la memoria de datos.

  1. IF + ID: $480 \text{ ps}$
  2. Cálculo de Dirección (ALU Suma): 200ps.
  3. Acceso a Memoria (Lectura): 350ps
  4. WriteBack: El dato sale de memoria y pasa por $R$ antes de entrar al banco de registros: 10ps

$$T_{ld} = \mathbf{370 + 110 + 200 + 350 + 10 = 1040 \text{ ps}}$$


d) Retardo total de la instrucción beq x0, x5, 0x100

Para los saltos condicionales, no se almacena nada en el banco de registros, pero hay que considerar el retardo del incremento del PC desde que se hace la comparación (fase de ejecución).

  1. IF + ID: $480 \text{ ps}$
  2. Ejecución: Comparación con la ALU (Resta): 210ps.
  3. WriteBack: Sumador: 180ps.

$$T_{add} = \mathbf{370 + 110 + 210 + 180 = 870 \text{ ps}}$$


e) Frecuencia máxima de funcionamiento

La frecuencia máxima está determinada por la instrucción más lenta (camino crítico) que debe completarse en un solo ciclo de reloj. Comparando los retardos calculados:

  • ADD: $690 \text{ ps}$
  • LD: $1040 \text{ ps}$
  • BEQ: $870 \text{ ps}$

El retardo crítico es $T_{crit} = 1040 \text{ ps}$.

$$f_{max} = \frac{1}{T_{crit}} = \frac{1}{1040 \times 10^{-12} \text{ s}}$$

$$f_{max} \approx 961, \times 10^6 \text{ Hz} = \mathbf{961,5 \text{ MHz}}$$


f) Retardo máximo de escritura en memoria de datos

Analizamos el fragmento de código:

sd x3, 0(x5)  ; Instrucción Store
ld x4, 0(x5)  ; Instrucción Load que lee el dato que se acaba de guardar

El dato que se guarda en memoria con la instrucción sd, se almacena en el siguiente ciclo de reloj con el nuevo flanco ascendente (la memoria es secuencial para la escritura), es decir, se almacena mientras se ejecuta la siguiente instrucción ld.

Para que ld lea el dato, tiene que haber dado tiempo a guardarse en memoria, antes de acceder a ella, es decir, tiene que guardarse mientras se ejecutan las fases de IF, ID y Ex.

Por lo tanto, el retado máximo tiene que ser de :

$$R_{max} 370 + 110 + 200 = \mathbf{680 \text{ ps}}$$

Version 3

Tenemos un computador nRV como el estudiado.

Tablero Parcial 3 25

Debido a un fallo de fabricación, los cables de los buses de la salida de las memoria de código y de la entrada a data del banco de registros añaden un retardo de 5ps. En el esquemático se ha indicado con el componente rojo R. Los retardos introducidos por el resto de componentes se describen a continuación:

  • Memoria de instrucciones (lectura): 325ps
  • Sumador: 180ps
  • ALU (Suma): 200ps
  • ALU (Resta): 210ps
  • ALU (AND OR): 200ps
  • Memoria de datos (lectura): 350ps
  • Banco de registros: 120ps
  • Registro PC: 45ps

El resto de retardos se consideran despreciables (0 ps).

Contesta a las siguientes preguntas:

a) Calcula el retardo individual de las fases de Fetch y Decodificación.

b) Calcula el retardo total de la instrucción add x0, x0, x0.

c) Calcula el retardo total de la instrucción ld x5, 0x100(x0).

d) Calcula el retardo total de la instrucción beq x0, x5, 0x100.

e) ¿Cuál es la frecuencia máxima de funcionamiento de este procesador?

f) Si ejecutamos el siguiente fragmento de código:

sd x3, 0(x5)
ld x4, 0(x5)

Indica el retardo máximo que tendría que tener la escritura en la memoria de datos para que funcione correctamente.

Solución al problema

a) Retardo individual de las fases de Fetch y Decodificación

Para calcular estos tiempos, analizamos el camino crítico de cada etapa por separado.

Fase de IF (Instruction Fetch):

El ciclo comienza con el reloj disparando el PC. La instrucción debe atravesar el PC, la memoria y el retardo de fallo $R$ a la salida de esta.

$$T_{Fetch} = T_{PC} + T_{IMem} + R$$

$$T_{Fetch} = 45 + 325 + 5 = \mathbf{375 \text{ ps}}$$

Fase de ID (Instruction Decode):

La decodificación comienza una vez que la instrucción es válida (fin de Fetch). En esta arquitectura, el tiempo relevante es el acceso a lectura del Banco de Registros.

$$T_{Decode} = T_{Reg}$$

$$T_{Decode} = \mathbf{120 \text{ ps}}$$


b) Retardo total de la instrucción add x0, x0, x0

Es importante notar que el fallo $R$ afecta también a la escritura en el banco de registros, y las instrucciones de tipo R guardan el resultado en el banco de registros.

  1. IF + ID: $495 \text{ ps}$
  2. Ejecución (ALU Suma): Se suma el retardo de la ALU: 200ps.
  3. Escritura (WriteBack): El resultado va de la ALU al Banco de Registros pasando por el fallo $R$: 5ps.

$$T_{add} = \mathbf{375 + 120 + 200 + 5 = 700 \text{ ps}}$$

Nota: Considerar el retardo del fallo en la fase de ejecución también estaría bien.


c) Retardo total de la instrucción ld x5, 0x100(x0)

La instrucción de carga (ld) es típicamente la más lenta (camino crítico) al involucrar la memoria de datos.

  1. IF + ID: $495 \text{ ps}$
  2. Cálculo de Dirección (ALU Suma): 200ps.
  3. Acceso a Memoria (Lectura): 350ps
  4. WriteBack: El dato sale de memoria y pasa por $R$ antes de entrar al banco de registros: 5ps

$$T_{ld} = \mathbf{375 + 120 + 200 + 350 + 5 = 1050 \text{ ps}}$$


d) Retardo total de la instrucción beq x0, x5, 0x100

Para los saltos condicionales, no se almacena nada en el banco de registros, pero hay que considerar el retardo del incremento del PC desde que se hace la comparación (fase de ejecución).

  1. IF + ID: $495 \text{ ps}$
  2. Ejecución: Comparación con la ALU (Resta): 210ps.
  3. WriteBack: Sumador: 180ps.

$$T_{add} = \mathbf{375 + 120 + 210 + 180 = 885 \text{ ps}}$$


e) Frecuencia máxima de funcionamiento

La frecuencia máxima está determinada por la instrucción más lenta (camino crítico) que debe completarse en un solo ciclo de reloj. Comparando los retardos calculados:

  • ADD: $700 \text{ ps}$
  • LD: $1050 \text{ ps}$
  • BEQ: $885 \text{ ps}$

El retardo crítico es $T_{crit} = 1050 \text{ ps}$.

$$f_{max} = \frac{1}{T_{crit}} = \frac{1}{1050 \times 10^{-12} \text{ s}}$$

$$f_{max} \approx 952.4 \times 10^6 \text{ Hz} = \mathbf{952,4 \text{ MHz}}$$


f) Retardo máximo de escritura en memoria de datos

Analizamos el fragmento de código:

sd x3, 0(x5)  ; Instrucción Store
ld x4, 0(x5)  ; Instrucción Load que lee el dato que se acaba de guardar

El dato que se guarda en memoria con la instrucción sd, se almacena en el siguiente ciclo de reloj con el nuevo flanco ascendente (la memoria es secuencial para la escritura), es decir, se almacena mientras se ejecuta la siguiente instrucción ld.

Para que ld lea el dato, tiene que haber dado tiempo a guardarse en memoria, antes de acceder a ella, es decir, tiene que guardarse mientras se ejecutan las fases de IF, ID y Ex.

Por lo tanto, el retado máximo tiene que ser de :

$$R_{max} 375 + 120 + 200 = \mathbf{695 \text{ ps}}$$

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