The Effect of Cache on the Performance of a Multi-Threaded Pipelined RISC Processor
نویسندگان
چکیده
This paper examines the effects of multithreaded pipelining on the CPI (cycles per instruction) of a RISC processor. The desired CPI in a conventional (single-threaded) RISC processor is one instruction per cycle. However, the CPI is typically more than one because of data hazards, control hazards, and resource hazards in the pipeline. A multi-threaded processor performs a context switch between every instruction. Multi-threaded pipelining holds out the promise of achieving a lower CPI because it can eliminate data and control hazards, and mask the effects of memory latency. However, multi-threaded pipelining reduces cache hit ratios and requires more chip area to implement. In this paper, we present a model for predicting the CPI of a multithreaded pipelined processor. We also present the results of trace-driven simulations of singleand multi-threaded processors. These data show that, for reasonable implementation technologies, and taking into account the chip area penalty, a multi-threaded processor can achieve a lower CPI than a single-threaded processor.
منابع مشابه
Four Stage Pipelined 16 bit RISC on Xilinx Spartan 3AN FPGA
This paper describes the design and implementation of a 16 bit 4 stage pipelined Reduced Instruction Set Computer (RISC) processor on a Xilinx Spartan 3AN Field programmable gate array (FPGA). The processor implements the Harvard memory architecture, so the instruction and data memory spaces are both physically and logically separate. The RISC processor architecture presented in this paper is d...
متن کاملMulti-Threading Performance on Commodity Multi-Core Processors
Multi-core processors based commodity servers recently become building blocks for high performance computing Linux clusters. The multi-core processors deliver better performance-to-cost ratios relative to their single-core predecessors through on-chip multi-threading. However, they present challenges in developing high performance multi-threaded code. In this paper we study the performance of d...
متن کاملPerformance of a Micro-threaded Pipeline
The micro-threaded microprocessor is a chip multi-processor, which uses a multi-threaded approach, where the threads are obtained from within a single context and exploit both vector and instruction level parallelism (ILP). This approach employs vertical and horizontal transfer in a simple pipeline. The horizontal transfer is referred to as the normal scalar pipeline processing used in most mic...
متن کاملParallel Data Sharing in Cache: Theory, Measurement and Analysis
Cache sharing on a multicore processor is usually competitive. In multi-threaded code, however, different threads may access the same data and have a cooperative effect in cache. This retport describes a new metric called shared footprint and a new locality theory to measure and analyze parallel data sharing in cache. Shared footprint is machine independent, i.e. data sharing in all cache sizes...
متن کاملParallelization Techniques with Improved Dependence Handling
Continuing exponential growth in transistor density and diminishing returns from the increasing transistor count have forced processor manufacturers to pack multiple processor cores onto a single chip. These processors, known as multi-core processors, generally do not improve the performance of single-threaded applications. Automatic parallelization has a key role to play in improving the perfo...
متن کامل