ILPの話に加筆しました。

ボトルネックの項目を追加しました。

ボトルネック 並列処理対象データがメモリ上の近い距離に配置されていなければならない

ボトルネックの項目についてですが、ILPはレジスタ上のデータを対象とする処理なのでメモリからレジスタへ滞りなくデータが読み込まれなければ並列性が活かされません。汎用プロセッサにおいては一次キャッシュを有効に使うために処理の仕方によってデータの格納形式を適切な形にしておく必要があります。Array-of-Structures (AoS)にするのか、Structure-of-Arrays (SoA)にするのか、はたまたHybrid SoAなのかの選択もその一つです。
逆にTLPはマルチコアの場合は特にキャッシュのハードウェア機構、一般的にもメモリ空間を共有しており、それらが並行性制御の対象になる共有オブジェクトであることに留意して処理対象データ間の距離を確保しないとメモリアクセスにペナルティが発生します。
ILPのメモリアクセスに特別なハードウェア機構を持つDSPについては酔漢師匠の2191空挺団に「バスアーキテクチャの図」があります。新しいDSPの話がよければBlackfin空挺団の「メモリ周り」。DSPが大好きな方は「Blackfin(ADSP‐BF533)活用ハンドブック」を買って読むといいらしいです。

あと性能向上率についてしっくりくる説明が思いつきません。おおざっぱにいうと倍率がそれぞれILPは「〜一桁台前半」、TLPは「〜二桁台前半」、PLPは「TLPと同じ〜スパコン作れます(/ヮ\)」ぐらいのものというイメージなのですが。

「並行性制御」という言葉を使ってしまいました。「並行と並列の違い」についても書く予定なのですが早目にしないと・・・。

「並列処理レベルの実用的な分類」シリーズはILPのあとはTLPとPLPを書いておしまいなのですが、ILPをしばらく拡充したあとに、同じ構成でTLPとPLPを書く予定です。しばらくはILPに加筆しつつ別の話題も並行して書こうかと。

今書いている並列処理の記事はほとんど2000年頃のマルチスレッドが注目されていなかった頃に見聞きしたことを元に書いています。5年以上経っているわけですが、並列処理の情報は一向に増えていなかったり、その頃のままで止まっている(というか文章にまとめないまま考えたことを忘れている)自分がいまいちなような(ノ_・。)