H6 Flashcards

1
Q

Requirements for ILP

A
  • sequentiële code geschreven in high level
  • code wordt compiled en gelinkt aan sequentiële machine code instructies (=processor language)
  • om parallel te runnen:
    -> instructies mogen niet afhankelijk zijn van elkaar
    -> processor moet in staat zijn om instructies parallel uit te voeren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Instruction-level parallelism

A

= parallel uitvoeren van een reeks instructies
= het gemiddelde aantal instructies die uitgevoerd worden per parallele stap
/= concurrency
-> ILP heeft 1 thread
-> concurrency heeft meerdere threads

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

Hardware or Dynamic ILP

A

processor beslist tijdens runtime welke instructies parallel worden uitgevoerd
Intel / AMD x86_64

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

Software or Static ILP

A

compiler beslist welke instructies parallel worden uitgevoerd
Itanium

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

Techniques to further exploit ILP

A
  • Instruction pipelining
  • Superscalar execution
  • VLIW
  • Out-of-order execution
  • Register renaming
  • Speculative execution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Instruction pipelining

A

-> ILP binnen 1 processor implementeren
-> processor bezighouden door inkomende instructies op te delen in een reeks opeenvolgende stappen (tekening)
- instruction fetch
- instruction decode
- execute
- memory acces
- write back

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

Superscalar Execution

A

-> meerdere instructies per klokcyclus uitvoeren door ze gelijktijdig naar verschillende uitvoereenheden te sturen

Superscalar /= pipelining
-> SS voert meerdere instructies parallel uit door meerdere uitvoereenheden
-> PL voert instructies parallel uit door instructies in dezelfde uitvoer unit te verdelen in verschillende fasen
(tekening)

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

Very Long Word

A

de compiler beslist de parallel flow van de instructions
-> ipv 1 korte instructie krijgt de computer een lange die meerdere kleine instructies bevat. elke functional unit neemt een deel van de instructie
- Digital signal processing
- Multimedia processing
- Scientific computing
- Embedded systems

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

Out Of Execution (OOO)

A

instructies die niet afhankelijk zijn van elkaar in een andere volgorde uitvoeren

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

Register renaming

A

zorgt ervoor dat opdrachten niet op elkaar moeten wachten door ze verschillende fysieke registers te geven, zelfs als ze dezelfde registernaam hebben

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

Speculative Execution

A

computer gaat taken, waarvan niet zeker is dat ze nodig zijn, op voorhand uitvoeren om de wachttijd te verminderen
als ze toch niet nodig waren worden de resultaten genegeerd

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