Superscalar Processing Concepts CS 740 September 25 2000 Your Mission Complications Your Mission Design a single processor that will achieve a millionfold speedup over our simple 5 stage pipeline Example program that executes 1 Billion instructions 5 stage pipeline new processor 2 1 000 000 000 cycles 1 000 cycles CS 740 F 00 What About Superpipelining I e what if we design a 5 000 000 stage pipeline 3 CS 740 F 00 How Many Functional Units How many instructions are executing at once 4 CS 740 F 00 What About Branches Roughly 1 out of every 6 instructions is a conditional branch How do we look far enough into the future 5 CS 740 F 00 Branch Prediction Two Parts 1 what is the target address 2 will the branch be taken or not 6 CS 740 F 00 Executing Beyond Unresolved Branches What if we execute instructions that never should have been executed in the first place What about their side effects This is called control speculation 7 CS 740 F 00 What about Data Dependences Register renaming advantages Dependences in the memory system letting non dependent loads go ahead of writes what if the load does depend on the write Data dependence speculation Value prediction 8 CS 740 F 00 Memory Hierarchy How many ports on the caches Main memory Instructions and data How can we fetch so many things in parallel Non blocking loads prefetching 9 CS 740 F 00 Registe rs How many registers do we need How will this work Renaming etc 10 CS 740 F 00 Exceptio ns How can we maintain precise exceptions Can we isolate the right instruction in one cycle How quickly do we need to react to exceptions Can we leverage mechanisms from speculation How does this compare with branch speculation 11 CS 740 F 00
View Full Document
Unlocking...