P2 Flashcards

(80 cards)

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
Los riesgos de procesamiento de datos NO aritméticos (`LDR`) se pueden solucionar:
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
26
Los riesgos de control (saltos) se pueden solucionar haciendo:
`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
27
¿La instrucción `STR` genera algún riesgo por dependencia de datos?
No
28
¿Cuál es el único tipo de riesgo que podemos resolver sin parar (`stall`)?
Los de procesamiento de datos aritméticos
29
¿Cuántos `stall` produce la instrucción `LDR`?
1
30
¿Cuántos `stall` produce la instrucción de salto?
2
31
La especulación es:
Intentar predecir el camino que se va a tomar en un salto
32
Las dos instrucciones después de un salto las vamos a marcar como:
especulativas, si estamos bien, ganamos dos ciclos, sino, hay que hacer *flush*
33
Un bucle que especula que no se va a tomar el salto va a estar mal:
Todas las iteraciones menos la última
34
En el procesador supersegmetado, cada etapa:
Se divide en etapas más cortas
35
El procesador supersegmentado tiene más ____ y más ____ que el procesador segmentado
dependencias. CPI.
36
Los procesadores superescalares leen:
Una ventana de instrucciones cada ciclo
37
El ILP (Instruction Level Parallelism) es:
La cantidad de instrucciones que pueden ser ejecutadas a la vez en un procesador superescalar
38
En un procesador superescalar, las dependencias verdaderas (RAW) y las de control:
Reducen el ILP
39
Técnicas que utiliza el hardware en un procesador superescalar para evitar hacer tantas paradas
1. Renombramiento de registros 2. Ejecución fuera de órden 3. Especulación
40
Los predictores de saltos dinámicos utilizan la ____ para determinar si un salto se va a tomar o no
Historia de la ejecución
41
Los predictores de saltos dinámicos mantienen una tabla de los últimos saltos tomados por el procesador, llamada:
Branch target buffer
42
Los predictores de salto dinámicos pueden alcanzar hasta ____ de aciertos
0.9
43
Al hacer una parada en un procesador superescalar, solo se detienen
Las instrucciones implicadas en el riesgo
44
Al reordenar las instrucciones, debemos mantener:
Las dependencias de datos
45
El desenrolle de bucles (loop unrolling):
Replica el cuerpo de un bucle para extraer más paralelismo (evita las penalizaciones por manejo de saltos
46
Pasos del loop unrolling
1. Reordenar 2. Desenrollar
47
IPC=
IPC=1/CPI
48
Un procesador con multithreading es capaz de:
Gestionar el estado de su arquitectura para que múltiples hilos se ejecuten a la vez
49
Para ejecutar 4 threads a la vez es necesario:
4 PCs y 4*16 registros
50
¿Cómo son los registros en las unidades vectoriales?
Son vectores de datos
51
Las unidades vectoriales tienen ____ de riesgos
ausencia; cada instrucción es una operación distinta
52
En las unidades vectoriales, un bucle completo se puede:
Transformar en una sola instrucción
53
Las principales caracterísiticas de un computador cuántico son:
Superposición y Entrelazamiento
54
Tipos de memoria por nivel en la pirámide de memoria:
0. Registros CPU 1. MC 2. MP 3. Almacenamiento
55
Principio de localidad:
Las referencias a memoria suelen agruparse en una pequeña porción del espacio de memoria
56
Localidad temporal
Es posible que las direcciones se vuelvan a referenciar en un futuro próximo
57
Localidad espacial
Es posible que se haga referencia a direcciones cercanas a las recién referenciadas
58
Concepto de inclusión
Los datos de un nivel se encuentran en un nivel superior
59
Concepto de coherencia
Los datos en todos los niveles corresponden
60
Tasa de aciertos
H=(Accesos ciertos)/(Accesos)
61
Tiempo de penalización
El tiempo de sustitución producto de un fallo
62
La función de la caché es:
Ser un intermediario entre el CPU y la memoria principal
63
Definición de política de ubicación y función de correspondencia:
Como corresponden los bloques de caché a los de la memoria principal
64
Definición de política de reemplazo:
Que bloque hay que reemplazar cuando se presenta un fallo
65
Definición de política de actualización:
Cuándo se actualiza la MP cuando hay una escritura
66
Definición de política de inserción:
Qué activa que se carge un bloque de MP a MC
67
Política de ubicación totalmente asociativa:
Un bloque en memoria principal puede residir en cualquier bloque de MC
68
¿Cómo se componen los bits de dirección en MC cuando se usa la política totalmente asociativa?
Etiqueta + Palabra
69
Política de ubicación de correspondencia directa
Los bloques en MP solo pueden ir a determinados bloques en MC
70
Fórmula para obtener el N° Bloque en MC
N° Bloque en MC= (N° Bloque en MP) MOD(Total bloques MC)
71
¿Cómo se componen los bits de dirección en MC cuando se usa la política de correspondencia directa?
Etiqueta + Bloque MC + Palabra
72
"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
no queremos que los datos próximo en MP estén compitiendo por espacio en MC"
73
¿Cómo funciona la política de ubicación asociativa por conjuntos?
Un bloque de MP solo puede ir a un conjunto de MC, pero puede estar ubicado en cualquier bloque de ese conjunto
74
¿Cómo se componen los bits de dirección en MC cuando se usa la política asociativa por conjuntos?
Etiqueta + Conjunto MC + Palabra
75
¿Cuáles son las 3 políticas de reemplazo?
1. Aleatorio 2. FIFO 3. LRU
76
¿Las políticas de reemplazo solo son aplicables a qué políticas de ubicación?
Totalmente asociativa y Asociativa por conjuntos
77
¿Cómo funciona LRU?
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
¿Cuáles son las políticas de actualización?
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
Cómo se obtiene el **T_CPU** cuando hablamos de rendimiento de la caché
T_CPU= [Ciclos de ejecución CPU + Ciclos de bloqueo de memoria]*T_Ciclo
80
Cómo se obtienen los **ciclos de bloqueo de memoria**
N° de accesos * Tasa de fallos * Penalización por fallo