14+-+VLIW - CS 4290/6290 VLIW Also called in-order...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS 4290/6290 VLIW Also called in-order superscalar Looks at only the next N instructions Where N is the issue width Select instructions for execution in program order Note: they may still complete execution out-of-order Much simpler issue logic, dependence checks Out-of-order must check all RS to find what to select, in-order must only check the next few instructions Compiler must be good (previous lecture) Often without even HW register renaming, so should have many registers in ISA CS 4290/6290 Spring 2009 Prof. Milos Prvulovic 2 CS 4290/6290 Spring 2009 Prof. Milos Prvulovic VLIW = Very Long Instruction Word Everything is statically scheduled All hardware resources exposed to compiler Compiler must figure out what to do and when to do it Get rid of complex scheduling hardware More room for useful resources Examples: Texas Instruments DSP processors Transmetas processors Intel IA-64 (EPIC) 3 Compiler finds independent instructions Instead of having Tomasulo-like HW Directly communicate this to the HW Several instructions grouped into one long instruction Hardware executes them without checking CS 4290/6290 Spring 2009 Prof. Milos Prvulovic R1 = R2 + R3 R4 = R5 * R7 Register Renaming, Register Renaming, Tomasulos Algorithm, etc Tomasulos Algorithm, etc Yup, theyre independent R1 = R2 + R3 R4 = R5 * R7 Compiler Compiler One VLIW Instruction HW Assumes both parts independent 4 SUB R7 = R9 R6 ADD R6 = R6 + #1 MUL R1 = R2 * R3 XOR R8 = R6 ^ R5 SHL R10 = R1 << #4 LD R4 = 0[R5] ADD R1 = R4 + R7 BGT R1, R8, foo foo:ADD R3 = R3 + R6 ADD R5 = R5 + #16 MUL R9 = R9 * R2 ST R8 0[R5] CS 4290/6290 Spring 2009 Prof. Milos Prvulovic A B C D E F G H I J K L MUL: 3 cycles LD/ST: 2 cycles Else: 1 cycle Timing for 3-way In-Order Timing for 3-way OoO Cycle 0 A B C Cycle 1 D Cycle 2 Cycle 3 E F Cycle 4 Cycle 5 G Cycle 6 H I J Cycle 7 K L Cycle 0 A B C Cycle 1 D F I Cycle 2 J K Cycle 3 L G E Cycle 4 H Better timing Cycle 0 C F B Cycle 1 J A D Cycle 2 I G L Cycle 3 E H K 5 CS 4290/6290 Spring 2009 Prof. Milos PrvulovicCS 4290/6290 Spring 2009 Prof....
View Full Document

Page1 / 26

14+-+VLIW - CS 4290/6290 VLIW Also called in-order...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online