P2 Flashcards

1
Q

La unidad de control de un CPU monociclo

A

Combinacional (para cada entrada hay una salida). Para cada combinación de entradas hay una salida

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuales son las 5 etapas del pipeline

A
  1. Fetch
  2. Decode
  3. Execute
  4. Memory
  5. Write Back
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

En el procesador multiciclo cada tipo de instrucción toma una cantidad

A

Distinta de ciclos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A diferencia de los monociclo y los segmentados, en los procesadores multiciclo se puede usar un solo dispositivo de memoria, ya que:

A

la lectura de instrucción y ejecución se realzian en ciclos distintos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

El procesador segmentado utiliza ____ para preservar los datos en cada etapa

A

registros de segmentación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Un procesador multiciclo con CPI>1 puede tener mejor rendimiento que un monociclo CPI=1, ya que:

A

Sus ciclos son más cortos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En el procesador multiciclo, la velocidad de reloj se establece por:

A

la duración de la etapa más lenta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

En el procesador monociclo, la velocidad de reloj se establece por:

A

lo que tarde en ejecutarse la instrucción más lenta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

En el procesador segmentado, la velocidad de reloj se establece por:

A

Lo que tarde en ejecutarse la etapa más lenta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

En un procesador segmentado cada instrucción:

A

Pasa por etapas diferentes según su actuación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

La cantidad de ciclos necesarios para ejecutar n instrucciones es:

A

n+4

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

La diferencia en hardware entre el procesador monociclo y segmentado son:

A

Los registros de segmentación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuáles son las 3 dependencias de datos:

A
  1. RAW
  2. WAR
  3. WAW
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es un riesgo por dependencia de datos?

A

Acceso a datos cuyo valor depende de instrucciones anteriores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Siempre que hablamos de riesgos es específico a la arquitectura ¿Porqué?

A

Los riesgos son propios de cada arquitectura, por ejemplo, la monociclo no tiene riesgos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cuál es el único tipo de dependencia de datos que representa un riesgo en la arquitetura segmentada?

A

RAW

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Cuántos ciclos se necesita detener la ejecución de instrucciones para resolver una dependencia RAW sin usar redireccionamiento?

A

2, que sería MEM y WB de la instrucción que escribe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué instrucción escribe el desarrollador para agregar pausas y resolver dependencias RAW

A

NOP es una instrucción que no modifica ningún registro ni memoria, sirve para que el desarrollador agregue pausas para resolver dependencias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué es el forwarding (redireccionamiento)?

A

Permite pasar la salida de un ciclo anterior (almacenada en un registro de segmentación) directamente a la entrada de otro, para no tener que agregar pausas para resolver dependencias de datos (RAW)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Unidad de gestión de riesgos

A

Tiene como propósito resolver los conflictos de dependencia de datos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

En un procesador segmentado sin redireccionamiento ni unidades de detención, se deben gestionar los riesgos

A

Agregando instrucciones NOP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

En un procesador segmentado, la unidad de riesgos ayuda a que:

A

El CPI de todos los programas se acerque a 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

La instrucción LDR también introduce un riesgo de procesamiento de datos, pero el forwarding no es suficiente, se tiene que:

A

Detener la ejecución un ciclo, ya que el valor va a estar disponible hasta la etapa MEM de la instrucción. Esto se logra con stall si el procesador tiene unidad de detención, sino, se necesita manejar por software usando NOP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Los riesgos de procesamiento de datos aritméticos se pueden solucionar:

A

Usando forwarding de los valores guardados en los registros de segmentación a la entrada de la ALU de la instrucción posterior

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Los riesgos de procesamiento de datos NO aritméticos (LDR) se pueden solucionar:

A

Haciendo stall un ciclo y luego redireccionando del registro de segmentación MEM-WB a la entrada de la ALU de la siguiente instrucción

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Los riesgos de control (saltos) se pueden solucionar haciendo:

A

stall durante dos ciclos, ya que el resultado del salto está disponible en la etapa EXE. También se pueden ejecutar las instrucciones posteriores de forma especulativa y hacer flush en caso de que esté mal la especulación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

¿La instrucción STR genera algún riesgo por dependencia de datos?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

¿Cuál es el único tipo de riesgo que podemos resolver sin parar (stall)?

A

Los de procesamiento de datos aritméticos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

¿Cuántos stall produce la instrucción LDR?

A

1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

¿Cuántos stall produce la instrucción de salto?

A

2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

La especulación es:

A

Intentar predecir el camino que se va a tomar en un salto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Las dos instrucciones después de un salto las vamos a marcar como:

A

especulativas, si estamos bien, ganamos dos ciclos, sino, hay que hacer flush

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Un bucle que especula que no se va a tomar el salto va a estar mal:

A

Todas las iteraciones menos la última

34
Q

En el procesador supersegmetado, cada etapa:

A

Se divide en etapas más cortas

35
Q

El procesador supersegmentado tiene más ____ y más ____ que el procesador segmentado

A

dependencias. CPI.

36
Q

Los procesadores superescalares leen:

A

Una ventana de instrucciones cada ciclo

37
Q

El ILP (Instruction Level Parallelism) es:

A

La cantidad de instrucciones que pueden ser ejecutadas a la vez en un procesador superescalar

38
Q

En un procesador superescalar, las dependencias verdaderas (RAW) y las de control:

A

Reducen el ILP

39
Q

Técnicas que utiliza el hardware en un procesador superescalar para evitar hacer tantas paradas

A
  1. Renombramiento de registros
  2. Ejecución fuera de órden
  3. Especulación
40
Q

Los predictores de saltos dinámicos utilizan la ____ para determinar si un salto se va a tomar o no

A

Historia de la ejecución

41
Q

Los predictores de saltos dinámicos mantienen una tabla de los últimos saltos tomados por el procesador, llamada:

A

Branch target buffer

42
Q

Los predictores de salto dinámicos pueden alcanzar hasta ____ de aciertos

A

0.9

43
Q

Al hacer una parada en un procesador superescalar, solo se detienen

A

Las instrucciones implicadas en el riesgo

44
Q

Al reordenar las instrucciones, debemos mantener:

A

Las dependencias de datos

45
Q

El desenrolle de bucles (loop unrolling):

A

Replica el cuerpo de un bucle para extraer más paralelismo (evita las penalizaciones por manejo de saltos

46
Q

Pasos del loop unrolling

A
  1. Reordenar
  2. Desenrollar
47
Q

IPC=

A

IPC=1/CPI

48
Q

Un procesador con multithreading es capaz de:

A

Gestionar el estado de su arquitectura para que múltiples hilos se ejecuten a la vez

49
Q

Para ejecutar 4 threads a la vez es necesario:

A

4 PCs y 4*16 registros

50
Q

¿Cómo son los registros en las unidades vectoriales?

A

Son vectores de datos

51
Q

Las unidades vectoriales tienen ____ de riesgos

A

ausencia; cada instrucción es una operación distinta

52
Q

En las unidades vectoriales, un bucle completo se puede:

A

Transformar en una sola instrucción

53
Q

Las principales caracterísiticas de un computador cuántico son:

A

Superposición y Entrelazamiento

54
Q

Tipos de memoria por nivel en la pirámide de memoria:

A
  1. Registros CPU
  2. MC
  3. MP
  4. Almacenamiento
55
Q

Principio de localidad:

A

Las referencias a memoria suelen agruparse en una pequeña porción del espacio de memoria

56
Q

Localidad temporal

A

Es posible que las direcciones se vuelvan a referenciar en un futuro próximo

57
Q

Localidad espacial

A

Es posible que se haga referencia a direcciones cercanas a las recién referenciadas

58
Q

Concepto de inclusión

A

Los datos de un nivel se encuentran en un nivel superior

59
Q

Concepto de coherencia

A

Los datos en todos los niveles corresponden

60
Q

Tasa de aciertos

A

H=(Accesos ciertos)/(Accesos)

61
Q

Tiempo de penalización

A

El tiempo de sustitución producto de un fallo

62
Q

La función de la caché es:

A

Ser un intermediario entre el CPU y la memoria principal

63
Q

Definición de política de ubicación y función de correspondencia:

A

Como corresponden los bloques de caché a los de la memoria principal

64
Q

Definición de política de reemplazo:

A

Que bloque hay que reemplazar cuando se presenta un fallo

65
Q

Definición de política de actualización:

A

Cuándo se actualiza la MP cuando hay una escritura

66
Q

Definición de política de inserción:

A

Qué activa que se carge un bloque de MP a MC

67
Q

Política de ubicación totalmente asociativa:

A

Un bloque en memoria principal puede residir en cualquier bloque de MC

68
Q

¿Cómo se componen los bits de dirección en MC cuando se usa la política totalmente asociativa?

A

Etiqueta + Palabra

69
Q

Política de ubicación de correspondencia directa

A

Los bloques en MP solo pueden ir a determinados bloques en MC

70
Q

Fórmula para obtener el N° Bloque en MC

A

N° Bloque en MC= (N° Bloque en MP) MOD(Total bloques MC)

71
Q

¿Cómo se componen los bits de dirección en MC cuando se usa la política de correspondencia directa?

A

Etiqueta + Bloque MC + Palabra

72
Q

“La política de correspondencia directa es ____ compleja que la totalmente asociativa, pero, produce ____ fallos, “menos. más.”
“¿Porqué se dice que indexamos por columnas y no por filas?”,”Por el principio de localidad espacial

A

no queremos que los datos próximo en MP estén compitiendo por espacio en MC”

73
Q

¿Cómo funciona la política de ubicación asociativa por conjuntos?

A

Un bloque de MP solo puede ir a un conjunto de MC, pero puede estar ubicado en cualquier bloque de ese conjunto

74
Q

¿Cómo se componen los bits de dirección en MC cuando se usa la política asociativa por conjuntos?

A

Etiqueta + Conjunto MC + Palabra

75
Q

¿Cuáles son las 3 políticas de reemplazo?

A
  1. Aleatorio
  2. FIFO
  3. LRU
76
Q

¿Las políticas de reemplazo solo son aplicables a qué políticas de ubicación?

A

Totalmente asociativa y Asociativa por conjuntos

77
Q

¿Cómo funciona LRU?

A

Cada bloque tiene un contador. Cada iteración se le suma 1 si no fue usado y se resetea a 0 si se usó. Los candidatos a ser reemplazados son los de contador más alto

78
Q

¿Cuáles son las políticas de actualización?

A
  1. Escritura directa: se escribe directamente a MP aunque el bloque esté en caché
  2. Post-escritura: escribimos directamente en caché hasta que se tenga que reemplazar el bloque o termine la ejecución, entonces hacemos un volcado
79
Q

Cómo se obtiene el T_CPU cuando hablamos de rendimiento de la caché

A

T_CPU= [Ciclos de ejecución CPU + Ciclos de bloqueo de memoria]*T_Ciclo

80
Q

Cómo se obtienen los ciclos de bloqueo de memoria

A

N° de accesos * Tasa de fallos * Penalización por fallo