パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Snapdragon 888、公開データではシングルスコアでAppleのA14だけでなくA13にも劣る結果に」記事へのコメント

  • by Anonymous Coward on 2020年12月22日 10時29分 (#3946295)

    AppleのA14はメモリがインパッケージ、要はワンチップ。
    よってバス接続にこだわる必要がなく高速化が可能だが、搭載メモリはチップで決まる。

    https://japanese.engadget.com/apple-silicon-m1-100029407.html [engadget.com]

    QualcommのSnapdragonは、メモリが外部チップ。
    よってバス接続になるため速度が足かせになる(キャッシュで改善はするがワンチップには確実に劣る)が、搭載メモリは外部でよいためメモリ容量は各メーカーが決める。

    速度から行けばA14は当然勝つことになる。
    CPUの目指す汎用性が両者の違いになっているのは興味深い。

    Appleの箱庭で遊ぶか、それ以外の汎用性/拡張性で選ぶかは、もはや趣味や好き嫌いの範囲で間違いないだろう。

    ちなみに、Windows ARMがx86/x64で性能が伸びないのは、OSのそれぞれのこだわりのようにも見える。

    各所の記事等からかいつまんでいくと、
    Appleはx86/x64命令を、JITコンパイルをし、その結果を保持することで「初回起動は遅いが2度目以降ははやい」を実現しているようにみえる。
    MSはx86/x64命令を、インタプリタ動作を基本とすることで「全体的にもっさりだが、コンパイル済みコードのキャッシュが不要」を実現しているようにみえる(x86命令はCPU側で対応させたわけだが...x64はエミュレーション)。

    これも前者(A14でWindowsを動かしたほう)が高速、後者(SnapdragonでWindowsを動かしたほう)が低速という各所の話に合致している。

    • by Anonymous Coward
      メモリ容量についても、iOSはトレーシング・ガベージ・コレクションの代わりに参照カウントを採用し、メモリ消費量を大幅に(少なく見積もっても4倍の差)削減できるのでそもそもあまり多くを必要としない。 https://okuranagaimo.blogspot.com/2020/11/m1.html [blogspot.com]
    • by Anonymous Coward

      > MSはx86/x64命令を、インタプリタ動作

      > x86命令はCPU側で対応させたわけだが

      素人質問ですが、
      「龍芯」みたいに何か命令を追加しているということ?

      • by Anonymous Coward

        > 「龍芯」みたいに何か命令を追加しているということ?
        そういうこと
        なので、ARM 版 Windows は特定のチップ(対応している ARM)でしか動かない
        # このあたりの実装が Intel の特許に引っかかるとかで揉めていたと記憶しているけど、音沙汰ないな

        x64 はエミュレーションなのでチップ問わない可能性があるが、現実的には上記特殊な命令を使うことで実用的な速度を狙っているだろうから無理だろうなぁ

      • by Anonymous Coward

        https://pc.watch.impress.co.jp/docs/column/ubiq/1157868.html [impress.co.jp]

        この記事を読むと、
        ・CPUに専用の機能が入っていない(Windowsのバイナリトランスレーションである)
        ・一応Windowsのバイナリトランスレーションにもキャッシュがある。実装は不明なので、一時キャッシュの可能性がある
        ・通常のSnapdragonと違いメモリ帯域の強化がされている
        ・通常のSnapdragonと違いPCI Express対応

        命令対応はありませんでした。失礼しました。

    • by Anonymous Coward

      メモリに違いはないでしょ?
      実製品ではどちらもDRAMはオンパッケージだし、どちらも汎用のメモリ規格。

      • by Anonymous Coward

        現在、メモリアクセスの足を引っ張っているのは、メモリ本体のI/Oではなくバス転送速度だったはず。
        メモリが同等でも「CPUが直接」と「バス転送経由」では、結果はかなり異なってくると思う。

        • by Anonymous Coward

          バスって何か分かってますか?
          今どきのCPUでCPU側にメモリインターフェイスが無いCPUなんて存在しないよ。
          x86だろうが全部CPU内にメモリIFがあるし、M1だろうが何だろうがメインメモリ用のバスは(CPU内に)存在する。

          • by Anonymous Coward

            LANインターフェース(ハブ)が同じでも、
            同じ元ハブを介する同じ部屋の隣のハブとの通信の場合と、
            VPNワイドとかを介した隣のビルのハブとの通信の場合では、
            違うので、
            ウェハー腹付けか、ボンディングか、別ICかでも違うのでは?

          • by Anonymous Coward

            今どきのx64CPUでもCPU側にメモリインターフェイスが無いCPUは存在する。
            https://www.viatech.com/ja/silicon-ja/chipsets/vx11/ [viatech.com]
            https://www.viatech.com/ja/silicon-ja/chipsets/vx900/ [viatech.com]

          • by Anonymous Coward

            線を外に出せばバッファとか余分に必要になってレイテンシが伸びるのでは。
            距離が伸びる影響とかはどうだろう。

      • by Anonymous Coward

        でもレイテンシ詰めるだけで結構性能上がるからなぁ

    • by Anonymous Coward

      ロゼッタがJITコンパイルしてるのはARM ISAじゃないからだよ。ARM ISAをJITで変換してるわけじゃない。
      マイクロコード実行をエミュレーションと言ってるようだけど、それはM1も一緒だよ。ただ変換のコストがx86は後方互換のしがらみが多すぎて高いだけ。

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

処理中...