CPUキャッシュでコア数以上の性能をだせるか?

始まりはココ
http://codezine.jp/article/detail/4786?p=4
「CPUのキャッシュの効果が影響し、時々マルチコアCPUの処理効率が論理コア数倍以上になることがあります。」

どういう原理でそれが実現するのかを知りたかったのですが、記事を書いた方からの返答はなく、謎のままでした。
それがJittaさんの記事をきっかけに、詳しそうな方々のお話を聞けたのですがー
http://blogs.wankuma.com/jitta/archive/2010/05/08/188819.aspx

私なりの最終結論に辿りついたつもりだったのですが・・・どうも、私が、正しく理解できていないとのこと。
恥ずかしながら、どこが間違っているのかわからないので、よかったら誰か教えて下さるとありがたいなと(^^;
キャッシュの機構が複雑なのはわかるのですが・・・
ここまでくると、どのような場面で、同じ処理をシングルスレッドで動作させるよりもマルチスレッドで処理した場合、コア数倍よりも良い結果が生まれるのか知りたくなるのです。

私と同じように、理屈がわからない人も歓迎、コメントお待ちしてますー。
あっ、ネタでもOKですが、ネタだとわかるようにしてーw
本物っぽいネタは素で間違えそうだからさw

私の考えをまとめておきますね。

1、キャッシュメモリサイズ
大きければ大きいほど有利ですよね?
同じ処理ならシングルスレッドに対し、マルチスレッドのほうがプログラムが大きくなるってのも大丈夫だと思うのですが・・・
同じCPUで処理するのですから、マルチスレッドが優位に立てる点が見つからないってのが現在の感想。

2、共有と同期
マルチコアのキャッシュは同期が必要ですよね?
同期が不要のようにプログラムができたとしても、それは、シングルでもマルチでも同じだと思うのですが・・・

3、スーパーリニアスピードアップ
N台のコンピュータで演算させたときにN倍以上の演算効率が生まれることをスーパーリニアスピードアップと呼ぶようです。
ようですってのは、ネットで検索した程度の情報なので(^^;
一例として、扱うデータがN台に分散することで、1台あたりのデータ量が少なくなり、全てのデータがキャッシュにのることで高速化されることが説明されているのを見ました。
あーコレなのかー!と思ったわけですが・・・

4、キャッシュの有効性
キャッシュで高速化するのは、メインメモリよりも高速に処理できるからですよね?
これは同じデータを複数回使うことでもっとも効果があると考えられます。
これはシングルでもマルチでも同じだと思うし、1のキャッシュサイズの関係でマルチのほうが不利なのではというのが現在の感想。

うーむ、書き出して見ましたが、高速化される可能性は3だけなわけで、1と2はマルチのほうが不利だと思うのですよ。
実際のキャッシュは、先読みやら予想分岐やらの関係でもっと複雑なことしているのかもしれないのですが・・・
明確に高速化される根拠があるからこそ、始めの文章があるわけですよね。
ブラックボックスだから高速化される可能性があるってのは、意味がないと思うのですよ。
高速化されないことを証明するのは、困難だと思うので、高速化される例が提示されることで、解決するのではないかと思うのですが・・・
どうかな?

PS.
Jittaさんのとこにトラックバックなるものをしてみたつもりだがーエラーになったー
これもやり方を誰か教えて(^^;
手動でURL入力して送信したんだけど、どんなこと確認すればいいん?

PS.2
文字の間隔やら大きさやらがノビノービで改行も反映されないみたいだけど・・・
なにかすれば変化するのか、こちらも教えてクレクレタコラー