ABSTRACT
Multi-threaded processors and multi-core processors use the three types of parallelism (instructions, data and threads). After introducing the notions of process and thread, we present multi-threaded processors, which provide a physical processor with several execution contexts that share the functional units, caches and memory. A physical processor corresponds to several logical processors, each one executing one thread. The three types of multithreading are presented: coarse multithreading, fine grain multithreading and simultaneous multithreading.
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the article
INTRODUCTION
From instruction parallelism to thread parallelism
Until the early 2000s, performance increases in single-processor CPUs resulted from higher clock frequencies on the one hand, and the use of instruction parallelism on the other. The article
[H 1 058]
describes these developments in detail. The "wall of heat" did not allow clock frequencies to be increased beyond 4 GHz. The use of instruction parallelism in superscalar processors with instruction execution in order
[H 1 010]
and not in order
[H 1 011]
has also reached its limits, although the use of data parallelism with SIMD instructions
[H 1 200]
has increased performance. To further improve performance, the use of thread parallelism in multithreaded and multicore processors has made it possible to combine all three types of parallelism: instruction parallelism, data parallelism via SIMD instructions and thread parallelism. The latter involves the use of parallel programming. This article introduces hardware support for multithreading and multicore processors. Most general-purpose processors in use in 2017 (PCs and servers) are multi-core processors with multi-threaded cores.
You do not have access to this resource.
Exclusive to subscribers. 97% yet to be discovered!
Already subscribed?
Log in!
KEYWORDS
task parallelism
| multithreading
| multi-core processor
| cache hierarchy
| interconnection network
Ongoing reading
Multithreaded and multi-core CPUs