Instruction Level Parallelism

Instruction-level parallelism (ILP) is a measure of how many of the operations in a computer program can be dealt with at once. Consider the following program:
  1. e = a + b  2. f = c + d  3. g = e * f 
Operation 3 depends on the results of operations 1 and 2, so it cannot be calculated until both of them are completed. However, operations 1 and 2 do not depend on any other operation, so they can be calculated simultaneously. If we assume that each operation can be completed in one unit of time then these three instructions can be completed in a total of two units of time, giving an ILP of 3/2. A goal of compiler and processor designers is to identify and take advantage of as much ILP as possible. Micro-architectural techniques that are used to exploit ILP include: Due to the complexity of scaling the last two techniques, the industry has re-examined instruction sets which explicitly encode multiple operations per instruction. These instruction set types include: As of 2004, the computer industry has hit a roadblock in getting further performance gains from ILP. Instead the industry is heading towards exploiting higher levels of parallelism that is available through techniques such as multiprocessing and multithreading.

 

<< PreviousWord BrowserNext >>
ephedra
lew brown
the difference engine
macanese
uss intrepid
sygyt
khoomei
ezengileer
kargyraa
uss intrepid (cv 11)
salter street films
saraswati
mall
parliamentary copyright
namtar
driverless car
cruzeiro
shadow paging
women's edge
plaza
john tate
durability (computer science)
cattaraugus reservation
tonawanda reservation
oil springs reservation
algorithms for recovery and isolation exploiting semantics
distributed generation
compact muon solenoid
ulcer
led zeppelin (box set)
mouth ulcer
database log
hampstead heath
elimination theory
hampstead (disambiguation)
buoyancy
float
meronymy
eostre
commutative algebra
charity
otso
klaus wowereit
biblia vulgata