Temporal multithreading

Temporal multithreading

Temporal multithreading is one of the two main forms of multithreading that can be implemented on computer processor hardware, the other form being simultaneous multithreading. The distinguishing difference between the two forms is the maximum number of concurrent threads that can execute in any given pipeline stage in a given cycle. In Temporal multithreading the number is one, while in simultaneous multithreading the number is larger than one.

Within Temporal multithreading, there are many possible variations, but most can be classified into two sub-forms: coarse-grain and fine-grain. In coarse-grain Temporal multithreading, the main processor pipeline contains only one thread at a time. The processor must effectively perform a (albeit fast) context-switch before executing a different thread. This fast context switch is sometimes referred to as a "thread switch". There may or may not be additional penalty cycles when switching. There are many possible variations with coarse-grain Temporal multithreading, mainly having to do with the algorithm that determines when to switch threads. This algorithm may be based on cycle counts, events such as cache misses, fairness, and many other factors.

In fine-grain Temporal multithreading, the main processor pipeline many contain multiple threads, with context switches effectively occurring between pipe stages. This form of multithreading can be more expensive than the coarse-grain forms because execution resources that span multiple pipe stages may have to deal with multiple threads. It can also be more expensive because the design cannot be optimized around the concept of a "background" thread - any of the concurrent threads implemented by the hardware might require its state to be read or written on any cycle.

In any of its forms, Temporal multithreading has several things in common with simultaneous multithreading. First, the hardware must store a complete set of states per concurrent thread implemented. Second, the hardware must preserve the illusion that a given thread has the processor resources to itself. Third, fairness algorithms must be included to prevent one thread from dominating processor time and/or resources.

Disadvantages relative to Simultaneous multithreading: TBD.

Advantages relative to Simultaneous multithreading: TBD.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Multithreading (computer hardware) — Multithreading computers have hardware support to efficiently execute multiple threads. These are distinguished from multiprocessing systems (such as multi core systems) in that the threads must all operate in the same address space, as there is… …   Wikipedia

  • Multithreading (computer architecture) — This article describes hardware supports for multithreads. For thread in software, see Thread (computer science). Multithreading computers have hardware support to efficiently execute multiple threads. These are distinguished from multiprocessing …   Wikipedia

  • Multithreading — Cet article concerne le support matériel des multithreads. Pour les thread logiciels, voir thread (informatique). Les ordinateurs dits multithreading ont du matériel qui leur permet d exécuter efficacement des thread (informatique) multiples. Il… …   Wikipédia en Français

  • Simultaneous multithreading — Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading. SMT permits multiple independent threads of execution to better utilize the resources… …   Wikipedia

  • Super-threading — is a multithreading approach that weaves together the execution of different threads on a single processor without truly executing them at the same time. [ [http://arstechnica.com/articles/paedia/cpu/hyperthreading.ars/3 Superthreading with a… …   Wikipedia

  • Barrel processor — A barrel processor is a CPU that switches between threads of execution on every cycle. This CPU design technique is also known as interleaved or fine grained temporal multithreading. As opposed to simultaneous multithreading in modern superscalar …   Wikipedia

  • CPU cache — Cache memory redirects here. For the general use, see cache. A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the… …   Wikipedia

  • List of computing and IT abbreviations — This is a list of computing and IT acronyms and abbreviations. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V W X Y …   Wikipedia

  • Montecito (processor) — For other uses of Montecito , see Montecito (disambiguation). Montecito is the code name of a major release of Intel s Itanium 2 Processor Family (IPF), which implements the Intel Itanium architecture on a dual core processor. It was officially… …   Wikipedia

  • MIPS (procesador) — Un microprocesador MIPS R4400 fabricado por Toshiba Con el nombre de MIPS (siglas de Microprocessor without Interlocked Pipeline Stages) se conoce a toda una familia de microprocesadores de arquitectura RISC desarrollados por MIPS Technologies.… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”