cspp topic 5

0.0(0)
Studied by 1 person
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/45

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 2:07 AM on 5/31/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

46 Terms

1
New cards

how long has clock speed been flat for?

20 years

2
New cards

what is the best RAM model right now?

DDR5-8800 CL36 RAM, has a first word latency of about 8ns

3
New cards

why is it hard to build microprocessors with high(er) clock speeds?

power consumption, speed of light /propagation issues, capacitance, it can make design of the overall package harder

4
New cards

with a 3GHz clock, how fast does electricity travel in one clock cycle?

less than 9cm

5
New cards

why is power consumption an issue when attempting to increase clock speed?

power consumption scales bad with frequency, bringing cooling problems

6
New cards

why would adding more cache to the processor have little benefit?

cache hit rate is asymptotic, so past a certain point it does not buy much // cache hit rates are probably as good as they are going to get

7
New cards

what is a stipulation with SRAM?

SRAM is quite power hungry, and we have to locate it close in to the CPU core in order to get full performance

8
New cards

what ae the drawbacks of making the processor ‘more complicated’?

track record is not good, increases chances of flaws in processors

9
New cards

what is pipelining?

improves CPU performance by overlapping the execution of multiple instructions, running a single thread (of instructions) faster by overlapping execution on available units

10
New cards

what is simultaneous multithreading?

run n threads on n cores, using the elements that are available in a more flexible way

11
New cards

what is a requirement for SMT (simultaneous multithreading)?

requires you actually have a threaded workload, which may not be the case

12
New cards

how is the CPU arranged today for maximum efficiency?

  • each processor core is deeply pipelined

  • each processor core may run more than one thread

  • there will be more than one core in each package

  • the OS will see multiple processors equal to threads times cores time packages

  • all processors beyond the simplest are pipelined

13
New cards

what is macro architecture?

the high-level structure of architecture

14
New cards

what is mirco architecture?

the hardware-level design that implements a specific instruction set

15
New cards

what is the issue with pipelining?

typical programs contains loops, conditionals, function calls that may or may not happen etc, there is a lot of housekeeping in a real computer system

16
New cards

why do conditional branches kill pipelining?

whenever we branch in a way which depends on prior execution or events, we impact our ability to predict the next and subsequent instructions. // if branching conditionally, we will need to pause fractionally because until the condition is executed, we don’t know what to fetch next

17
New cards

how does a delayed branch work for BEQ?

  • test whether two registers are equal by subtracting them

  • branch on zero

  • always do this instruction

18
New cards

what are RISC processors?

reduced instruction set computers (relegates interesting stuff to the compiler)

19
New cards

what are the downfalls of deferred branching?

  • throws a lot of load onto the compiler

  • simply adding one extra instruction still leaves any pipelining of more than one slot nearly empty (stalled) when the branch happens

20
New cards

what is branch prediction?

a way of predicting which way a branch will go, not perfectly but a ‘most of the time’ case

21
New cards

how does branch prediction become programmer’s responsibility?

programmer need to implement constructs such as

  • if (likely(condition)) { … something that normally happens … }

  • if (unlikely(condition)) { … something that rarely happens … }

22
New cards

how is branch prediction done in practice?

done by both compiler and processor, so having the programmer do it (often badly) is not recommended

23
New cards

what is the benefit of branch prediction?

allows the compiler to start fetching and processing instructions along the likely route rather than the default route

24
New cards

what are constraints of speculative execution?

  • need to make sure that executing instructions speculatively which it later turns out shouldn't’ve been executed doesn’t affect later execution

  • assumes that the speculative execution does not consume resources that might otherwise be used more productively

25
New cards

what are types of speculative execution?

eager execution, branch prediction, machine learning, feeding ack past runs, caching branches

26
New cards

what is speculative execution?

optimisation technique, involves executing tasks or instructions before knowing if they are actually needed to reduce latency and increase throughout

27
New cards

what is eager execution?

always executing both sides of a branch (and perhaps even all four sides of two successive branches)

28
New cards

how does branch prediction work?

use some metric to predict which way the branch will go, but execute both sides when unsure

29
New cards

what is cache?

a copy of memory but much faster

30
New cards

how do you store and access data from cache (generally)?

  • take the address mod the size of the cache, and store the memory contents and tag (rest of the address)

  • when accessing, take address mod size of cache, check whether tag matches

31
New cards

what is set-associative cache?

a cache mapping technique that blends the advantages of direct mapping and fully associative mapping to balance speed, flexibility and hardware cost

32
New cards

how is set associative cache organised?

cache is divided into sets where each set contains a fixed number of cache lines, a memory block maps to exactly one set but can be placed in any line within that set

33
New cards

how does set-associative cache work?

  • take the address mod the number of units, store the tag and value in any available row

  • look up by taking the address mod whatever and searching for any matching tag

34
New cards

what is the advantage and disadvantage of set associative cache?

marginally improves cache hit rate at the expense of a more complex look up

35
New cards

how can we tell if our data was cached?

reading the system clock before and after fetching contents of a memory location, if > 1 came from RAM, else from cache

36
New cards

how do some OS map OS data?

mapping it in the address space of processes, but making it only available when is supervised mode

37
New cards

what is a benefit of only making OS data available when in supervisor mode?

gives a useful place to put preprocess information

  • eg. encryption keys (OS performs encryption but manages the keys)

38
New cards

how can cache be used to fetch forbidden data?

  • load effective address

  • load the address of the array

  • add index

  • fetch the result

39
New cards

what is SMP?

symmetric multiprocessing

40
New cards

what does uniprocessing mean?

where the processor is doing everything with an OS

41
New cards

what is asymmetric multiprocessing?

when another processor is added to do something else, with a more specific software stack

42
New cards

what are examples for functions a processor can take for asymmetric processing?

network acceleration, graphics acceleration, vector processing, database processing

43
New cards

what is symmetric processing?

the system contains multiple instances of the same processor

44
New cards

what is ivan sutherland’s cycle of reincarnation?

uniprocessing, asymmetric multiprocessing, symmetric multiprocessing, uniprocessing

45
New cards

what are the advantages and disadvantages of having more than one processor?

advantages:

  • we can schedule processes onto the processors, so if there is enough application work, we can keep them busy

disadvantages:

  • cache synchronisation between processors can be very difficult

  • splitting I/O and other system activity between processors is difficult

46
New cards

for multiprocessing efficiency what is preferred in processors?

2x of power in one processor over 2 processors of power x