Chapter 2 Flashcards
Microprocessor Speed
1) Pipelining: Processor moves data into a pipe with all stages of pipe processing simultaneously (One process could be fetching while the other is executed)
2) Branch Prediction: Processor looks ahead instruction code fetched from memory predicting which branch of instruction will be processed next
3) Superscalar Execution: Multiple Parallel pipelines are used
4) Data flow analysis: Processor analyzes the instructions dependent on each other to create optimized schedule of instruction
5) Speculative Execution: Using branch prediction and data flow analysis, some processors speculatively execute instructions ahead of their actual appearance in the program execution, holding the results in temporary locations, keeping execution engines as busy as possible
Improvement in Chip Organization
- CPU clock synchronize CPU operations. If pulses can be read faster, CPU can perform faster.
- For good laptop, clock rate, cache, parallelism are important
1) Increase hardware speed of processor: Increasing clock rate means individual operations executed more rapidly
2) Increase size and speed of cache:
cache access time drop significantly
3) Change processor organization and architecture: Increase effective speed of instruction execution (parallelism: Several processes running simultaneously. Smaller pieces broken into large, complex ones)
Problems with Clock Speed and Logic Density
1) Power: Power density increases causing dissipating heat
2) RC delay: When resistance and capacity increases (Bus Medium thiner), delay increases.
3) Memory Latency and throughput: Waiting for memory is not good as memory os slow so isn’t dependable
Increasing Performance (without increasing clock speed)
- Increasing transistor = greater CPU performance but also means CPU size is getting smaller (not good)
- Frequency -> clock rates: Increase is greater: limitations (heat and faster than memory). Solution: increase cores.
1) Increase in cache capacity
2) Multicore computer (for example: 2 simple CPU’s: one core and one pipeline)chips to increase performance in recent years
MIC (Many Integrated Core) vs GPU (Graphics Processing Unit)
MIC: General purpose processors on a single chip. Help increase performance
GPU: Core to perform parallel operations on graphics data.
Amdahl’s Law
- Potential speedup of a program using multiple processors compared to single processor
- Speedup = Time to execute on 1 processor / time to execute on N parallel processors T = (1/(1-f) + f/N) f = parallel execution 1-f = sequential execution N = # of cores
- The more we increase f, increasing the # of cores will increase the speed up
- Ex: 40% floating 60% non floating
T = 1 / 0.6 + 0.4/k = 1/0.6 = 1.67
Assuming 0.4/k goes to infinity, maximum speed up is 1.67
Clock Cycle
- All operations of the CPU being with pulse of the clock (Hz)
- Rate of pulses is clock rate, or clock speed
- Clock speed isn’t only factor in determining processor’s performance. Processors have different instruction set so they differ in CPI (cycles per instruction)
- When AC is added with some data, CPU set start and stop time for each execution
CPI / Execution Time/MIPS/MFLOPS
- Cycle Time: T = 1/f
- Instruction Count: Ic
- CPIi : number of cycles required of type I
- Ii: number of executed instructions of type I
CPI = (CPIi * Ii) / Ic
T = Ic * CPI * 𝜏
MIPS (Millions instructions per second): f / CPI * 10^6
MFLOPS (Million of floating point operations per second rate = (𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑒𝑥𝑒𝑐𝑢𝑡𝑒𝑑 𝑓𝑙𝑜𝑎𝑡𝑖𝑛𝑔−𝑝𝑜𝑖𝑛𝑡 𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛𝑠 𝑖𝑛 𝑎 𝑝𝑟𝑜𝑔𝑟𝑎𝑚 )/(𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 × (10) ^6 )
Arithmetic vs Harmonic Means
- AM: appropriate measure if sum of all measurements is meaningful and interesting. Could be used to compare execution time performance of several systems
Depending in the harmonic means of rate is better than depending Arithmetic means of rate as the mean will be liked to be proportional to total execution time
- Harmonic means has to match Arithmetic means of time. (Greater HM of rates, less AM of times)
- Arithmetic mean of rate found by finding the average
- Arithmetic rate increase, Arithmetic time decreases and vice versa
- Harmonic means of rate: n / (1/p1 + 1/p2 + 1/pi)
n = number of programs
p1, p2, … pi = the values of the calculated Mflops or Mips.