Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Temporal multithreading

From Wikipedia, the free encyclopedia
Concept in computer hardware
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Temporal multithreading" – news ·newspapers ·books ·scholar ·JSTOR
(March 2016) (Learn how and when to remove this message)

Temporal multithreading is one of the two main forms ofmultithreading that can be implemented on computer processor hardware, the other beingsimultaneous multithreading. The distinguishing difference between the two forms is the maximum number of concurrentthreads that can execute in any givenpipeline stage in a givencycle. In temporal multithreading the number is one, while in simultaneous multithreading the number is greater than one. Some authors use the termsuper-threading synonymously.[1]

Variations

[edit]

There are many possible variations of temporal multithreading, but most can be classified into two sub-forms:

Coarse-grained
The main processor pipeline contains only one thread at a time. The processor must effectively perform a rapidcontext switch before executing a different thread. This fast context switch is sometimes referred to as athread switch. There may or may not be additional penalty cycles when switching.
There are many possible variations of coarse-grained temporal multithreading, mainly concerning the algorithm that determines when thread switching occurs. This algorithm may be based on one or more of many different factors, including cycle counts,cache misses, andfairness.
Fine-grained (or interleaved)
The main processor pipeline may contain multiple threads, with context switches effectively occurring between pipe stages (e.g., in thebarrel processor). This form of multithreading can be more expensive than the coarse-grained forms because execution resources that span multiple pipe stages may have to deal with multiple threads. Also contributing to cost is the fact that this design cannot be optimized around the concept of a "background" thread — any of the concurrent threads implemented by the hardware might require itsstate to be read or written on any cycle.[2]

Comparison to simultaneous multithreading

[edit]

In any of its forms, temporal multithreading is similar in many ways to simultaneous multithreading. As in the simultaneous process, thehardware must store a complete set of states per concurrent thread implemented. The hardware must also preserve the illusion that a given thread has the processor resources to itself. Fairness algorithms must be included in both types of multithreading situations to prevent one thread from dominating processor time and/or resources.

Temporal multithreading has an advantage over simultaneous multithreading in that it causes lower processor heat output; however, it allows only one thread to be executed at a time.

See also

[edit]

References

[edit]
  1. ^Superthreading with a multithreaded processor
  2. ^Silberschatz, Abraham (2012).Operating System Concepts. Wiley, 9th Edition. p. 283.ISBN 978-1118063330.
Models
Architecture
Instruction set
architectures
Types
Instruction
sets
Execution
Instruction pipelining
Hazards
Out-of-order
Speculative
Parallelism
Level
Multithreading
Flynn's taxonomy
Processor
performance
Types
By application
Systems
on chip
Hardware
accelerators
Word size
Core count
Components
Functional
units
Logic
Registers
Control unit
Datapath
Circuitry
Power
management
Related
General
Levels
Multithreading
Theory
Elements
Coordination
Programming
Hardware
APIs
Problems
Retrieved from "https://en.wikipedia.org/w/index.php?title=Temporal_multithreading&oldid=1291629474"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp