Chapter 2 Flashcards
Performance Concepts
Define
Pipelining
Processor moves data or instructions into a conceptual pipe with all stages of the pipe processing simultaneously
Define
Branch Prediction
Branch Prediction
Processor looks ahead in the instruction code fetched from memory and predicts which branches, or groups of instructions, are likely to be processed next.
Define
Superscalar execution
This is the ability to issue more than one instruction in every processor clock cycle. (In effect, multiple parallel
pipelines are used.)
Define
Data flow analysis
Processor analyzes which instructions are dependent on each other’s results, or data, to create an optimized schedule of instructions
Define
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.
4 possible examples listed
Performance balance examples
Increase the number of bits that are retrieved at one time by making DRAMs “wider” rather than “deeper” and by using wide bus data paths.
Change the DRAM interface to make it more efficient by including a cache.
Reduce the frequency of memory access by incorporating increasingly complex and efficient cache structures between the processor and main memory.
Increase the interconnect bandwidth between processors and memory by using higher speed buses and a hierarchy of buses to buffer and structure data flow.
How to increase hardware speed of processor
Solution with Results
Shrink logic gate size. More gates, packed more tightly, increase clock rate. Propagation time for signals reduced
How to increase size and speed of cache
Solution
Dedicate part of processor chip
List
Problems with clock speed and logic density
Power
RC delay
Memory latency and throughput
Define
Advantages of multicore
Increase performance without increasing clock rate. Larger cache justified.
Define
Many Integrated Core (MIC)
Involves a homogeneous collection of general purpose processors on a single chip.
Define
Graphics Processing Unit (GPU)
Core designed to perform parallel operations on graphics data. Traditionally found on plug-in graphics card, used as vector processors
Define
Amdahl’s law
Essentially, parallel performance allowed by multicores will only cause a great increase in performance if software is adapted to run parallel and exploit this power.
Define
Little’s law
Average number of items in a queueing system equals the average rate at which items arrive multiplied by the time that an item spends in the system.
List
The three common formulas used for calculating a mean
Arithmetic
Geometric
Harmonic