2-Multi-core-CPUs Flashcards

(20 cards)

1
Q

What is a core in computing?

A

A single processing unit that executes instructions, containing components that fetch, decode, and execute instructions, plus functional units for arithmetic operations

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

What does MIMD stand for in Flynn’s taxonomy?

A

Multiple Instruction Multiple Data - single cores are SISD (Single Instruction Single Data)

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

What are some examples of MIMD systems?

A

Multi-core CPUs, clusters/supercomputers

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

How many cores does the SW26010 chip have?

A

260 cores - used in China’s Sunway TaihuLight supercomputer

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

What is simultaneous multithreading (SMT)?

A

A technique where multiple threads run on the same core; if one thread waits for memory access, another takes over

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

What are the benefits of simultaneous multithreading?

A

Requires only 5% increase in chip area but provides 15-30% performance improvement

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

When does simultaneous multithreading show its benefits?

A

When threads frequently wait for memory access or other operations

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

What is the processor-memory gap?

A

Memory access rates have been increasing far slower than processor performance

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

What are the three levels of cache in modern CPUs?

A

L1 (closest to core), L2 (shared between cores), L3 (shared across all cores)

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

What is cache coherency?

A

Maintaining consistent memory views for all cores when multiple cores access the same memory location

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

What happens when Core 1 modifies data in its L1 cache?

A

Core 2’s view of that data becomes stale until cache coherency protocols update it

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

What is cache snooping?

A

A common method for maintaining cache coherency where cache controllers detect and propagate writes to higher-level caches

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

What is false sharing?

A

When cores access different variables that happen to be in the same cache line, causing unnecessary coherence traffic and performance loss

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

What is the benefit of cache sharing between cores?

A

A core can access data already loaded into a shared cache by another core, reducing memory access time

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

What is superlinear speedup?

A

When parallel performance exceeds the number of cores due to cache sharing benefits

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

What are the differences between processes and threads?

A

Processes: separate address space, expensive to create, explicit communication; Threads: shared address space, cheap to create, implicit communication

17
Q

What are kernel threads vs user-level threads?

A

Kernel threads: managed by OS, direct hardware access; User-level threads: managed by thread library, mapped to kernel threads by OS scheduler

18
Q

What frameworks support multi-core programming?

A

Java (Thread class), C++ (std::thread), C (pthread), Python (threading), OpenMP

19
Q

What is the limitation of Python’s threading module?

A

Prior to Python 3.14, had Global Interpreter Lock (GIL) limiting execution to single thread

20
Q

What is the advantage of OpenMP over explicit threading?

A

Higher-level directives that reduce development time and explicit thread management