1)Instruction Control Unit Instruction cache A special, high speed memory containing the most recently accessed instructions
26 1) Instruction Control Unit • Instruction Cache – A special, high speed memory containing the most recently accessed instructions
1)Instruction Control Unit Instruction Decoding Logic P397 Take actual program instructions Converts them into a set of primitive operations Each primitive operation performs some simple task Simple arithmetic, Load, Store add%eax,4(%ed× three operations oad4(%ed×)→>t1 add%eax,t1→>t2 store t2 4(%edx Register renaming P398
27 1) Instruction Control Unit • Instruction Decoding Logic – Take actual program instructions – Converts them into a set of primitive operations – Each primitive operation performs some simple task • Simple arithmetic, Load, Store • addl %eax, 4(%edx) --- three operations load 4(%edx) → t1 addl %eax, t1 → t2 store t2, 4(%edx) – Register renaming P397 P398
2) Fetch Control Fetch ahead P396 Fetches well ahead of currently accessed instructions ICU has enough time to decode these ICu has enough time to send decoded operations down to the eU
28 2) Fetch Control • Fetch Ahead P396 – Fetches well ahead of currently accessed instructions – ICU has enough time to decode these – ICU has enough time to send decoded operations down to the EU
Fetch Control Branch Predication P397 Branch taken or fall through Guess whether branch is taken or not Speculative execution P397 Fetch, decode and execute only according to the branch prediction Before the branch predication has been determined
29 Fetch Control • Branch Predication P397 – Branch taken or fall through – Guess whether branch is taken or not • Speculative Execution P397 – Fetch, decode and execute only according to the branch prediction – Before the branch predication has been determined
5.7 Understanding Modern Processors 5.7.2 Functional Unit Performance
30 5.7 Understanding Modern Processors 5.7.2 Functional Unit Performance