Lesson 1--Review of Computer Architecture Flashcards
Instruction Level Parallelism (ILP)
- -Executes multiple operations simultaneously in a given cycle.
- -Program’s property. # of instructions exectuted per cycle depends on the program.
- -Independent of hardware
Low Instructions Per Cycle (IPC) is a result of…
- -strict sequential semantics
- -instructions stalled for data or resource release by other instructions
Pipelining
Used to overlap instructions
Pipelines in modern CPUs have the following characteristics
- -execution stages are divided into several steps
- -a later operation can share the resources used by the first operation in previous cycles
- -shared hardware can be pipelined
Given a programs function unit cycles and the percentage of program’s percentage of instructions using each function unit how would the Cycles Per Instruction (CPI) be calculated?
((FU1cycles x FU1percentage) + (FU2cycles x FU2percentage) + (FU3cycles x FU3percentage) + …)/100
For a pipeline that is k stages deep, how many cycles does it take to fill the pipeline?
k - 1
VLIW stands for.
Very Long Instruction Word
How many operations can a VEX processor have in each cycle using VLIW?
4
In a VEX processor, what are the requirements for the instructions in a single word?
–cannot have dependencies
–cannot share resources
–only one memory access per word
Read After Write (RAW)
True dependency
Write After Write (WAW)
False dependency
Write After Read (WAR)
False dependency
3 Minimizing Dependencies Techniques
- -Branch prediction/ Speculation
- -Predication
- -Register Renaming
Branch prediction
Predict which branch might be taken
Predication
Use conditional moves
execute all the branch condition’s statements, but don’t commit them to memory until the branch conditions are known
Register Renaming
Used to avoid WAW and WAR dependencies
What are the key performance metrics for Embedded Processors
- High Performance
- Low Cost
- Low Energy Consumption
Which processors would be good for embedded processors?
- Superscalar, out of order
- Superscalar, in order
- VLIW, in order
- VLIW, out of order
VLIW, in order
because multiple instructions in a slot lead to better performance with the most energy efficient solution.
How is clock frequency related to energy
1/e -> f^2
How deep are the pipelines in modern high performance processors?
- 5 to 7 stages
- 8 to 10 stages
- 15 to 20 stages
- 100+ stages
15 to 20 stages
WhatistheCPI?
MIPSmachine: Aloadtakes5cycles Astoretakes4cycles AnRtypeinstructiontakes4cycles Branchtakes3cycles Jumptakes3cycles
For a program, 50%Rtype, 10%load, 20%store, 8%branch, 29%jumpinstructions
Rtypeinstructions:4cycles,50%=450
loadinstructions:5cycles,10%=510
storeinstructions:4cycles,20%=420
branchinstructions:3cycles,8%=38
jumpinstructions:3cycles,2%=3*2
CPI=(450+510+420+38+3*2)/100=3.6
What are the 5 stages of a basic pipeline execution model?
Fetch - get the next instruction
Decode - figure out what that instruction is
Execute - perform ALU, or address calc in mem op
Memory - mem access if necessary
WriteBack- write the result back
What is control dependence
whether or not to execute an instruction or a group of instructions based on control flow conditions (if, else)
List three types of Data dependence
Read after write
Write after write
Write after Read
Other parallelisms in available for computing systems
Vector processing
Multithreading, multiprocessing
Micro-SIMD