170 likes | 453 Views
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
E N D
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
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;
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.
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