Very Long Instruction Word VLIW Architecture VLIW Machine













- Slides: 13

Very Long Instruction Word (VLIW) Architecture

VLIW Machine • It consists of many functional units connected to a large central register file • Each functional unit have two read ports and one write port • Register file would have enough memory bandwidth to balance the operand usage rate of functional units

Ideal VLIW Machine

VLIW characteristics • VLIW contains multiple primitive instructions that can be executed in parallel • The compiler packs a number of primitive, independent instructions into a very long instruction word • The compiler must guarantee that multiple primitive instructions which group together are independent so they can be executed in parallel.

Example of a single VLIW instruction: F=a+b; c=e/g; d=x&y; w=z*h; 5

VLIW Principles 1. The compiler analyzes dependence of all instructions among sequential code and extracts as much parallelism as possible. 2. Based on analysis, the compiler re-codes the sequential code in VLIW instruction words. (One VLIW instruction word contains maximum 8 primitive instructions) 3. Finally VLIW hardware – Fetch the VLIWs from cache, – Decode them, – Dispatch the independent primitive instructions to corresponding functional units and – Execute

Advantages of VLIW architecture • Reduces Complexity: – Due to parallelism among their primitive instructions • Higher possible clock rate because of reduced complexity

Drawbacks of VLIW Architecture • Compiler has to be aware of technology dependent parameters-like latencies and repetition rate. This restricts the use of same compiler for a family of VLIW processors. • Wasted memory space and bandwidth when some EUs are not used • Performance is dependent on how the compiler produces VLIW words.

Comparison

Data Flow Computers

Data Flow Computers • They are based on the concept of data driven computation • Conventional computers is under program flow control.

Features of Control Flow Model • Data is passed between instructions via shared memory • Flow of control is implicitly sequential • Program counters are used to sequence the execution of instruction

Features of Data Flow Model • Intermediate or final results are passed directly as data token between instructions • There is no concept of shared data storage • Program sequencing is constrained only by data dependency among instructions