2023-07-25 (Tue)

今日も 20 時すぎまでは風が吹いていたけれど、21 時にもなると止んで、また暑くなってしまった。これ、土地の気温差で風が吹くのかな。

読んだ

  • PC watch "Zen 2 コアに脆弱性。修正は 2023 年 10 月以降"
    とても興味深いのだが、説明がいろいろおかしくて、下の本家の報告を読むまで理解できなかった。まず、「YMM の下位(lower)しか使われず、上位の XMM 相当部が使われなかった場合、XMM はフル幅に自動的に昇格する。これは、スーパースカラプロセッサではどの操作を並列化できるかを認識するために、依存関係を追跡するためだ」とあるが、昇格するというのは YMM レジスタの一部が XMM レジスタであるという仕様のせいであって、依存関係の追跡とは関係ないのでは。それから「同じウィンドウの中で Zen 2 に実装された XMM Register Merge Optimization 最適化(EPYC 7003 ソフトウェア最適化ガイドより)が行なわれると、空きの下位レジスタも上位レジスタとマージして z-bit フラグを立てられる」もおかしい気がする。マージというのは、複数の空の XMM レジスタが RAT によって実体のないものとしてひとまとめに取り扱われるという意味、あるいは YMM を使う時に上位と下位に相当するそれぞれのレジスタファイルがペアで扱われるという意味では? AMD の最適化ガイドは後者の意味で使っているように感じられる。いずれにせよ「空きの下位レジスタも上位レジスタとマージして z-bit フラグを立てられる」は意味不明で、下位レジスタはゼロクリアしていないのだから z-bit が立つわけがない。
    また、fuzzing とか chicken bit といった用語を説明なしに使うのも対象読者層を考えると不親切だと思う。

  • "Zenbleed"
    本家の解説。こちらは分かりやすかった。