Barrel processor

From Wikipedia, the free encyclopedia

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" multithreading.

For example, certain CDC Cyber computers executed one instruction from each of 20 different threads before returning to the first thread. Also, the IP3023 processor from Ubicom executes one instruction from each of 8 different threads before returning to the first thread.

Like preemptive multitasking, each thread of execution is assigned its own program counter and other registers (each thread's architectural state). However, a barrel processor can guarantee that each thread will get to execute 1 instruction every N cycles. In contrast, a preemptive multitasking machine typically runs one thread of execution for hundreds or thousands of cycles while all other threads wait their turn.

A technique called C-slowing can take a normal single-tasking processor design and automatically generate a corresponding barrel processor design. An n-way barrel processor generated this way acts much like n separate multiprocessing copies of the original single-tasking processor, each one running at roughly 1/n the original speed.

Contents

A single-tasking processor spends a lot of time waiting around, not doing anything useful, whenever a cache miss or pipeline stall occurs. Advantages to employing barrel processors over single-tasking processors include:

  • The ability to do useful work on the other threads while the stalled thread is waiting.
  • Designing an n-way barrel processor with n-deep pipelines is much simpler than designing a single-tasking processor because a barrel processor never has a pipeline stall and doesn't need feed-forward circuits.
  • For real-time applications, a Barrel processor can guarantee that a "real-time" thread can execute with precise timing, no matter what happens to the other threads -- even if some other thread locks up in an infinite loop or is continuously interrupted by hardware interrupts.

There are, however, some disadvantages to barrel processors. All the threads must share the same cache, which can slow overall performance. This can especially slow down tasks which require low latency and depend heavily on cache memory. In addition, if there are insufficient threads available to run, a barrel processor may not have anything useful to do during a stall.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.