From Processor Design: System-On-Chip Computing for ASICs and FPGAs

Problem 8: Omitting Pipeline Interlocks (Recompilus Requirus)

Pipelined processors use hardware load-use interlocks to prevent instructions from executing until the required operands become available. Operands can be fetched from a register or register file, they can be fetched from memory, or they can be generated as results by earlier instructions. (For RISC processors, which have load/store architectures, memory operands are only associated with load and store instructions.) For operands located in the processor s register file, data forwarding and bypassing within the pipeline can avoid the hazards that might invoke a pipeline interlock. However, memory loads typically take too long to provide data to the instruction immediately following a load instruction because of the relatively long latency of memory-read cycles compared to register-read latency.

Data-hazard problems can be solved either by stalling the pipeline using a hardware load-use interlock or in software, using the compiler s instruction scheduler to schedule only instructions that do not need the result of the load operation to immediately follow that load instruction. If no such instruction is available in the existing compiled code, the scheduler inserts a NOP, which is guaranteed not to need any data at all.

Data dependencies inherent in all programs limit the amount of instruction reordering a code scheduler can perform. For single-instruction-issue processors, a scheduler inserts independent instructions after multi-cycle instructions (such as loads) to reduce pipeline interlocks. For multiple-instruction-issue processors, a scheduler must identify independent instructions that can be concurrently executed in addition to using instruction scheduling to reduce or...

Copyright Springer 2007 under license agreement with Books24x7

Products & Services
Digital Signal Processors (DSP)
Digital signal processors (DSPs) are specialized microprocessors designed specifically for digital signal processing, usually in real-time. DSPs can also be used to perform general-purpose computations, but are not optimized for this function.
Video Processor Boards
Video processor boards are used to process video, medical imaging, automated optical inspection, and other related activities. They can be fitted with between one and a thousand digital signal processing (DSP) units in order to increase the computing power of the board.
Arithmetic Logic Units (ALU)
Arithmetic logic units (ALU) perform arithmetic and logic operations on binary data inputs. In some processors, the ALU is divided into two units: an arithmetic unit (AU) and a logic unit (LU).
Network Processors
Network processors handle a wide array of tasks needed to support network systems, including routing, compression, encryption, authentication, and protocol conversion.
Computers
Computers are programmable electronic devices that accept data, execute prerecorded instructions, perform mathematical and logical operations, and output results.

Topics of Interest

Problem 9: Non-Power-of-2 Data-Word Widths for General-Purpose Computing (Datus Unusualus) The world of general-purpose microprocessors and embedded processor cores has generally settled on...

Problem 6: Overly Aggressive Pipelining (Canalisus Extremus) The designers of the IBM 7030 (Stretch) computer were the first to use processor pipelining, back in 1961. They used this technique to...

MIPS supports several ways to specify the location of the operands required by an instruction. These are called addressing modes. Most instructions expect their operands in the registers. However,...

Overview No single issue effects software performance more globally than the speed of memory. From a modern processor's point of view, memory is ridiculously slow. So slow, in fact, that nearly...

The first part of this chapter describes instructions used to access memory in the Itanium architecture. The memory addressing model is much simpler than the one in the Intel x86 architecture. Only...

Product Announcements
Avnet Electronics Marketing / Design
Texas Instruments Digital Signal Processors & ARM Microprocessors
Texas Instruments Digital Signal Processors & ARM Microprocessors