Performance of the Architecture Flashcards

1
Q

What does the fundamental concept in computer architecture state

A

programs tend to access a small, localised portion of memory repeatedly over short periods of time

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

What’re the two mains types of locality

A

Temporal Locality (locality in time)
Spatial Locality (locality in space)

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

Define temporal locality

A

If a memory location is accessed, it is likely to be accessed again soon

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

Define spatial locality

A

if a memory location is accessed, nearby location are also likely to be accessed soon

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

Describe temporal locality using a real-world analogy

A

if you use a book frequently, you keep it on your desk rather than returning it to the shelf every time

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

Describe spatial locality using a real-world analogy

A

if you pick up a book from a shelf, you’re likely to pick other books from the same section

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

Give an example of temporal locality

A

A loop iterating over an array repeatedly accesses the same variable multiple times

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

Give an example of spatial locality

A

When accessing an element of an array, adjacent elements are often accessed next (as in sequential loops)

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

What is the 90-10 rule of thumb

A

States that programs spend 90% of their execution time in just 10% of the code

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

What are the key takeaways from the 90-10 rule

A
  • Focus on optimising the critical 10% of code rather than the premature optimisation of the entire program
  • recognise demising returns
  • favour the common case
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define Amdahl’s Law

A

States that the performance improvements to be gained from using some faster mode of execution (or parallelism) is limited by the fraction of timetnat faster mode can be used

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

What is the speed up equation

A

performance for entire task using enhancement when possible
Speedup = ——————————————————————————————–
Performance for entire task without using enhancement

                execution time for entire task without using enhancement Speedup = --------------------------------------------------------------------------------------------
                 Execution time for entire task using the enhancement when possible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Overall what two parts is speed up comprised off

A

1 - The fraction of computation time in the original computer that can be converted to take advantage of the enhancement

2 - The improvement gained by the enhancement execution mode, i.e., how much faster the task would run if the enchanced mode were used for the entire program (the time of the original mode over the time of the enchanted mode)

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

What is the overall speed up equation

A

execution time (new)

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

Example for over all speed up:

A

(1 - fraction(enhanced) + Fraction(enhanced)
—————————-
Speedup(enhanced)

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

Define block

A

the minimum unit of information that can either present or not present in the memory hierarchy

16
Q

Define Hit rate

A

the fraction of memory accesses found in cache

17
Q

Define miss rate

A

the fraction of memory accesses not found in a certain level of memory (1 - hit rate)

18
Q

Define hit time

A

time required to access a level of memory hierarchy when it is a hit

19
Q

Define miss penalty

A

time required to replace a clock of memory in upper level with a lock from lower level plus the time to deliver the block to processor