アカウント名:
パスワード:
Hyper-Threading みたいなもんか
MSもそう判断してBulldozer用の最適化パッチ(KB2592546)をリリースしたけど、かえって速度低下を招いてしまい、あわててKB2645594とKB2646060で更新した。
ちなみに以上の話はWin7の時代のことで、Win8以降はOSのスケジューラーが最初からBulldozerのナンチャッテ8コアに対応している。
実際どんぐらいナンチャッテだったんだろね…。AMD冬の時代だったので興味薄かったな。HTよりだいぶマシだったかとは思うけど。
#Athlon64x2からずいぶん間開いてRyzen使ってる今。
命令を取ってくるフェッチユニット、命令デコーダ、浮動小数点演算ユニットとSIMDユニット、L2キャッシュが共有。整数演算ユニットとL1キャッシュが独立したコアらしいでも、ナンチャッテというのは可哀そうだと思う。
ほとんどの用途で重要なのは整数演算であって、浮動小数点演算とSIMDはあまり使わない。特にサーバー用途では。だからトランジスタは整数演算ユニットに使って、あまり使われないユニットは共有し、節約したトランジスタをコアの数を増やすことに使うことで性能向上を図るというコンセプト。ただし、インテルに製造技術で一世代以上負けていて、一世代負けると半分のトランジスタしか使えないから、勝負にならなかった。
あとBulldozerはx86命令が複雑なため消費電力が多いデコーダを共有、さらに同時命令発行数を4に抑えることで発熱を減らし、代わりにクロックを上げることでカバーする目論見だったみたい。この場合、2整数コアあっても、一度に最大4命令しか送れないので、2つのコアが両方、理想的に動いた場合、実行すべき命令で不足し、実行ユニットが暇になってしまう。そのためインテルに比べて、ピーク性能は低くなる。
Bulldozerはシングルスレッド性能が大事なPCには向いておらず、肝心なコア数も製造技術で負けていて、マイクロアーキテクチャの有利さを生かせなかったので、悪い点だけが目立ったんだと思う。
Ryzenはユニット共有をしてないけど、インテルより比較的トランジスタ数を抑えることと(AVXのユニットをインテルほどぜいたくにもっていない)、インテルとファウンドリーの製造技術差が縮まったことで、シングルスレッド性能では劣っているけど、マルチスレッド性能では価格性能比で有利となっている。
そしてインテルの10nmとTSMCの7nmは互角?で、インテルの10nmはまだ予定通りにでるかは不明なため、今年はAMDのターンな年だと思う。
と思うでしょでもブル公はAlpha 21264に非常に近い設計なんだ共通のフロントエンド、2つの整数コア、共通のFPUとL2は21264の特徴だったブル公との違いは整数コア間にデータパスがあることくらいこのデータパス、けっこう重いので取っちゃってマルチスレッドにしたんじゃないかと想像している
> あとBulldozerはx86命令が複雑なため消費電力が多いデコーダを共有、さらに同時命令発行数を4に抑えることで発熱を減らし、代わりにクロックを上げることでカバーする目論見だったみたい。
これはたぶん違うx86のデコーダは命令の切れ目を見つけるために、way数に対して規模が組み合わせ的に増加する4wayの共有デコーダと3wayのデコーダ2つでは後者のほうがスループットが高いが、K10並みが2つですむどうしても4wayデコーダを用意したかったと考えるべきで、それは共有FPUの性能が裏付ける
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
実質4コア (スコア:0)
Hyper-Threading みたいなもんか
Re: (スコア:1)
MSもそう判断してBulldozer用の最適化パッチ(KB2592546)をリリースしたけど、かえって速度低下を招いてしまい、あわててKB2645594とKB2646060で更新した。
ちなみに以上の話はWin7の時代のことで、Win8以降はOSのスケジューラーが最初からBulldozerのナンチャッテ8コアに対応している。
Re: (スコア:0)
実際どんぐらいナンチャッテだったんだろね…。
AMD冬の時代だったので興味薄かったな。HTよりだいぶマシだったかとは思うけど。
#Athlon64x2からずいぶん間開いてRyzen使ってる今。
Re:実質4コア (スコア:1)
命令を取ってくるフェッチユニット、命令デコーダ、浮動小数点演算ユニットとSIMDユニット、L2キャッシュが共有。
整数演算ユニットとL1キャッシュが独立したコアらしい
でも、ナンチャッテというのは可哀そうだと思う。
ほとんどの用途で重要なのは整数演算であって、浮動小数点演算とSIMDはあまり使わない。
特にサーバー用途では。
だからトランジスタは整数演算ユニットに使って、あまり使われないユニットは共有し、節約したトランジスタをコアの数を増やすことに使うことで性能向上を図るというコンセプト。
ただし、インテルに製造技術で一世代以上負けていて、一世代負けると半分のトランジスタしか使えないから、勝負にならなかった。
あとBulldozerはx86命令が複雑なため消費電力が多いデコーダを共有、さらに同時命令発行数を4に抑えることで発熱を減らし、代わりにクロックを上げることでカバーする目論見だったみたい。
この場合、2整数コアあっても、一度に最大4命令しか送れないので、2つのコアが両方、理想的に動いた場合、実行すべき命令で不足し、実行ユニットが暇になってしまう。
そのためインテルに比べて、ピーク性能は低くなる。
Bulldozerはシングルスレッド性能が大事なPCには向いておらず、肝心なコア数も製造技術で負けていて、マイクロアーキテクチャの有利さを生かせなかったので、悪い点だけが目立ったんだと思う。
Ryzenはユニット共有をしてないけど、インテルより比較的トランジスタ数を抑えることと(AVXのユニットをインテルほどぜいたくにもっていない)、インテルとファウンドリーの製造技術差が縮まったことで、シングルスレッド性能では劣っているけど、マルチスレッド性能では価格性能比で有利となっている。
そしてインテルの10nmとTSMCの7nmは互角?で、インテルの10nmはまだ予定通りにでるかは不明なため、今年はAMDのターンな年だと思う。
Re: (スコア:0)
と思うでしょ
でもブル公はAlpha 21264に非常に近い設計なんだ
共通のフロントエンド、2つの整数コア、共通のFPUとL2は21264の特徴だった
ブル公との違いは整数コア間にデータパスがあることくらい
このデータパス、けっこう重いので取っちゃってマルチスレッドにしたんじゃないかと想像している
Re: (スコア:0)
> あとBulldozerはx86命令が複雑なため消費電力が多いデコーダを共有、さらに同時命令発行数を4に抑えることで発熱を減らし、代わりにクロックを上げることでカバーする目論見だったみたい。
これはたぶん違う
x86のデコーダは命令の切れ目を見つけるために、way数に対して規模が組み合わせ的に増加する
4wayの共有デコーダと3wayのデコーダ2つでは後者のほうがスループットが高いが、K10並みが2つですむ
どうしても4wayデコーダを用意したかったと考えるべきで、それは共有FPUの性能が裏付ける