分岐予測についてはNeural Net Predictionのところに触れられていますね。「学習結果に基づく」ところはその2項目目のところがそうなのでしょう。分岐命令をフェッチしたらストールしないようにすぐに判断して予測先の命令コードを読み込まなければなりませんが、予測の当たりはずれから学習する方はそれほど(特に学習回路がパイプライン化されていれば)慌てる必要はないので、時間的に幾らか余裕はあるかと思います。但し、大規模にすると電力効率が落ちたりは面積を食ったり学習に時間がかかったりするので程々のものだと思いますが(単層パーセプトロンとか。)PS4で既に原形があったようです。
キャッシュレイテンシについて補足 (スコア:4, 参考になる)
4gmaer のレビューでは、
> L2キャッシュを超える「4MB Range」以降で,Ryzen 7 1800Xの遅延状況が際立って悪化していることだ。
> FX-9590より遅いというのは異常であり,正直,「キャッシュアクセスやメモリアクセス周りの最適化が十分でない」可能性が
> 極めて高いのではないかと危惧しているが
で終わってしまっていますが、PC Watch のレビューでは補足があり
> AMDによるとSandraやAIDA64などのベンチマークソフトでは、ZENマイクロアーキテクチャのキャッシュ帯域を適切に
> 測定できないとしており、独自に測定した結果が案内された。
ということで(どうい
Re:キャッシュレイテンシについて補足 (スコア:1)
今回のRyzenでは、キャッシュの先読みにニューラルネットワークを応用した学習機能を持たせてるようで、ある程度コードを走らせ続けると、学習結果に基づく予測でプリフェッチ元を決めてるようなんですよね。
http://www.amd.com/en-gb/innovations/software-technologies/zen-cpu#neuralnet [amd.com]
当然、ハードウェアだけでは実現できないでしょうから、マイクロコードのアルゴリズムや重み付け変数のチューニングで、伸びしろが相当あったということじゃないですかね。
流石に、ここから更に、今の50%分パフォーマンスを上げるとかいうのは難しいでしょうけど。
Re: (スコア:0)
そのページに
「学習機能を持たせてる」とか
「 ある程度コードを走らせ続けると、学習結果に基づく予測でプリフェッチ元を決めてる」ということは
書いてありますか?
Re: (スコア:0)
・ Builds a model of the decisions driven by software code execution [amd.com]
・ Learning algorithms that predict and pre-load needed data for fast and responsive computing. [amd.com]
Re: (スコア:0)
分岐予測についてはNeural Net Predictionのところに触れられていますね。「学習結果に基づく」ところはその2項目目のところがそうなのでしょう。分岐命令をフェッチしたらストールしないようにすぐに判断して予測先の命令コードを読み込まなければなりませんが、予測の当たりはずれから学習する方はそれほど(特に学習回路がパイプライン化されていれば)慌てる必要はないので、時間的に幾らか余裕はあるかと思います。但し、大規模にすると電力効率が落ちたりは面積を食ったり学習に時間がかかったりするので程々のものだと思いますが(単層パーセプトロンとか。)PS4で既に原形があったようです。
Re: (スコア:0)
>当然、ハードウェアだけでは実現できないでしょうから、
パーセプトロンって黎明期はむしろ回路でガチ組み実装してませんでしたっけ?
ソフトウェア実装の方が後から出てきた発想だったように思います。
役割上、速さを求められる部分なのでマイクロコードなんかを咀嚼している暇は無いかもしれません。
むしろ最初期の発想に立ち返ってアルゴリズム部分に関しては、ほぼほぼハードウェア実装したんじゃないかな?と想像しました。
Re: (スコア:0)
妄想を何回も書く必要ってあるんですか?
Re: (スコア:0)
「ハードウェアだけでは実現できないでしょうから、マイクロコードの…」は何とも言えませんね。そこまで大規模にやると分岐ごと(数命令に1つは分岐がでてきてもおかしくはない)に計算リソースを食って命令の実行の妨げになりそうだし、ハードウェア(電力的に有利だけど面積的に不利なので小規模)でやってる気がしますが…重み付けの最適化速度(学習速度)等は恐らく調整できると思います。
入力は該当の分岐命令の過去の分岐履歴や直近の分岐命令の履歴とかなんでしょうけど、他にも何か入力しているのかな…上位アドレスのハッシュとかスレッドのIDとか(