命令レベルの並列性(めいれいレベルのへいれつせい、Instruction-level parallelismILP)とは、プログラムの中で並列して実行できる処理がいくつあるかの尺度である。

概要

編集


1. e = a + b
2. f = c + d
3. g = e * f

312312 12 132ILP3/2

CPUILPILP 



ILP



使











使









VLIW  EPICVLIW 使



ILP使System/360ILP21ILP使CPUILP[1]

依存関係

編集

21


真の依存

編集

true dependency
1. A = 3
2. B = A
3. C = B

32CB21BA322131[2]

反依存

編集

anti-dependency32A
1. B = 3
2. A = B + 1
3. B = 7

; name dependency
1. B = 3
N. B2 = B
2. A = B2 + 1
3. B = 7

 B2 BN232NN1[2]

出力依存

編集

output dependency31A
1 A = 2 * X
2 B = A / 3
3 A = 9 * Y


1 A2 = 2 * X
2 B = A2 /3
3 A = 9 * Y



BAAB2 1
1.         if a == b goto AFTER
2.         A = 2 * X
3. AFTER:

[2]

脚注

編集
  1. ^ Reflections of the Memory Wall
  2. ^ a b c Hennesy; Patterson (2003年). Computer Architecture: a quantitative approach (3rd ed). Morgan Kaufman. ISBN 1-55860-724-2 

関連項目

編集

外部リンク

編集