Itaniumの端々

Itaniumを調べた結果の端々
2
ぽんこつ @ponkotuy

初代Itaniumのトランジスタ数は3億2000万なのに、キャッシュのトランジスタが2億9500万だと! 何というキャッシュモンスター! #ponkotu_memo

2010-12-25 05:41:17
ぽんこつ @ponkotuy

これは…メモリ帯域がネックになっている用途では凄い性能出るかもしれんが、そうでない用途では非効率極まりない代物だな…

2010-12-25 05:42:33
ぽんこつ @ponkotuy

そういや、昔「たるさん」のページで、Itaniumはメモリ帯域が非常にしっかりしているという話をしていたな。Itaniumの設計思想と流行らなかった理由はここら辺にありそうだ

2010-12-25 05:43:52
ぽんこつ @ponkotuy

当時のIntelのx86 CPUというとPentium4辺りかと思われるが、トランジスタは4200万、L2キャッシュは1850万と推定されている。L1キャッシュを含んでいないとはいえ、1000万よりは少ないだろうし、Itaniumが如何にキャッシュモンスターか良く分かる

2010-12-25 05:55:16
ぽんこつ @ponkotuy

お、更に興味深い内容が。Itaniumキャッシュのレイテンシはデータ1次が2、命令1次が1、2次は整数が6、Floatが9、3次は整数が21、Floatが24 早いのかどうかは比較対象が無いので分からん #ponkotu_memo

2010-12-25 06:00:25
カワラバト @heart_full_days

@ponkotuy Itaniumはリングバスにしたりレイテンシーをすくなくする改善をしているみたいですね。そういうハイエンドアーキテクチャの情報は少ないので、些細な情報でも大変参考になります

2010-12-25 06:07:01
ぽんこつ @ponkotuy

@heart_full_days 偶然OHM社のIA-64基本講座に書いてあったのでメモってみました。寧ろx86のレイテンシの情報が分からない…

2010-12-25 06:11:35
ぽんこつ @ponkotuy

NetBurstの1次キャッシュは2Clockという情報があったので、1次キャッシュはほぼ1~2といったところでしょう。

2010-12-25 06:13:07
カワラバト @heart_full_days

@ponkotuy x86のレイテンシはわからないですねぇ・・・でも、Pentium4の時にRDRAMでしたっけ、それのレイテンシがどうこうって話がありましたよね。そこらへんの資料漁ってみるのもいいかもしれません。あとCellなんかもレイテンシの話はよく出てくるような気が。

2010-12-25 06:18:37
ぽんこつ @ponkotuy

お、NetBurstの2次キャッシュのレイテンシは5か…。容量は同じな訳だが、何故Itaniumのレイテンシは低かったんだろうな?L3が原因か?

2010-12-25 06:21:16
ぽんこつ @ponkotuy

@heart_full_days 若干怪しいですが、NetBurstのレイテンシがL1で2、L2で5という情報が。L2の容量は同じなので、Itaniumが遅くて???という感じですね…

2010-12-25 06:22:42
カワラバト @heart_full_days

@ponkotuy 常識的に考えてトランジスタ数が増えればレイテンシが遅くなるのはあたりまえと思ってしまう自分はなにか重大な勘違いをしているのでしょうか・・・

2010-12-25 06:24:20
ぽんこつ @ponkotuy

@heart_full_days うーん?自分も良く分かりませんが、同じ容量のL2キャッシュがItaniumの方が遅い、などというのはおかしいんじゃないかと思った訳です。そもそもの周波数の差を考えると、この差は意外に大きく感じます

2010-12-25 06:27:58
カワラバト @heart_full_days

@ponkotuy なるほど。確かに同じ容量だとおかしいですね。当時のItaniumは開発が遅れてたみたいなのでアーキテクチャ世代をいくつか比較してみないとテクノロジー的な事は分からないかもしれません。

2010-12-25 06:31:12
ぽんこつ @ponkotuy

Itaniumの2次キャッシュは、 1若干のレイテンシを犠牲にする代わりに、キャッシュメモリのアルゴリズムが優れたものにした 2命令の複雑さ故に遅くせざるを得ない理由があった 3開発の遅延でNetBurstに遅れを取った という仮説を立ててみた

2010-12-25 06:33:51
ぽんこつ @ponkotuy

@heart_full_days 確かにそうですね…むー、手元の資料だけじゃ限界があるなあ…

2010-12-25 06:34:36
カワラバト @heart_full_days

@ponkotuy 英語のWikipediaとかになにか手がかりがあるかもしれませんね。後はItaniumプロセッサを開発したチームの情報を調べてその後どのようなアーキテクチャに改善されたかを比較して当時のItaniumを推測するとか・・・。RISCを調べたりするのもいいかも

2010-12-25 06:37:39
カワラバト @heart_full_days

大学でもItaniumの導入はすくないからなぁ・・・・どうしてもコスト優先されちゃうし

2010-12-25 06:48:35
ぽんこつ @ponkotuy

おや。NetBurstのL2キャッシュのレイテンシは7+2=9と書いてあるデータを見つけた。2は1次キャッシュで、キャッシュミスが確定するまでのレイテンシだろうから、L2キャッシュそのもののレイテンシは7ということになるぞ…

2010-12-25 06:50:19
ぽんこつ @ponkotuy

Itaniumのキャッシュで、整数ロードと浮動小数点ロードレイテンシが異なるのは、レジスタへロードする経路が異なるから、らしい。なお、Itanium2のL2キャッシュレイテンシは整数5、Float6

2010-12-25 07:04:24