M1 PROは最大200GB/s、M1 MAXは最大400GB/sというモンスター級のメモリ転送速度を誇っている。M1チップはユニファイドメモリ構造であり、CPUやGPUといったチップ内すべてのコンポーネントがメモリアドレスを共有している。
M1のLPDDR4x-4266に対し、M1 ProおよびM1 MaxではLPDDR5-6400を採用している。
数日前の記事で 台湾G.SKILL International Enterpriseは、世界最速を謳うDDR5-6600 CL36-36-36-76の32GBメモリキット(16GB×2)を発表したとの記事を読んだので、6400MHzは世界最速の部類のメモリを搭載していることとなる。
ただ、どんなに早い6400Mhzのメモリでも400GB/sには到底届かない。
IO DATAさんのHPを見てみると下記のような数字があり計算式のベースとさせていただいた。
2666Mhz:21.3GB/s=400Mhz:Xを計算してみるとX=3.195798949737434となることからMHzに比例して最大転送データは決まることになるようだ。
つまりはMHzの数字にかける0.008でほぼ転送速度になるようだ。
例えば2133MHzかける0.008は17.064なので上記の表の数値とほぼ一致する。
では新しく発売されたMacBook Proはというと6400Mhzのメモリを採用しているので、最大転送データは51.2GB/sとなる。それでは400GB/sどころか200GB/sは到底届かない。
だだ、デュアルチャネルという技術を用いれば、メモリ2枚で速度は倍増する。4枚だと4倍だ。通常は4枚のクアッドチャンネルが最大。
写真だけ見てみるとM1 PROはメモリ2つ、M1 MAXは4つのメモリがあることがうかがえる。
200GB/sを51.2GB/sで単純に割ってやると3.9枚となるので4つのメモリがあればこの数字が達成される。
400GB/sのM1 Maxは8つのメモリが必要と言うことになる。
M1 PROは16GBメモリからのスタートとなっている。8GBx2で16GBメモリと搭載しているとしてメモリ帯域幅は約100GB/s。32Gメモリは8GBx4と考えれば、約200GB/sという計算がしっくりくる。
また、M1 MAXからはメモリの最小構成が32GBからとなるので上記の図のように4枚のメモリからスタートというこことだうか?その計算でいくと32GBモデルはM1 PROと同じく200GB/sが最大のメモリ帯域幅となるのではないだろうか?
M1 PROの64GBモデルは8GBx8で約400MB/sとなるためには、裏表に4枚ずつ計8枚のメモリを搭載している(オクタチャンネル)事になる。
M1が最大毎秒68.2GB(4266MHz・34.1GB/s)のメモリ帯域だったので8Gモデルは1つのメモリで16Gモデルは2つのメモリを搭載していたのではないかと言うことが推測される。実際の作業におけるベンチマークの差が16Gと8Gの間に顕著に出たのはメモリの容量だけではなくこのあたりも少しは影響していたのかもしれない。
勝手な推測だが上記の結果をまとめると下記のようなことがいえるのかもしれない。
- M1 8G 34.2GB/s
- M1 16G 68.2GB/s
- M1 PRO 16G 102.4GB/s
- M1 PRO 32G 204.8GB/s
- M1 MAX 32G 204.8GB/s
- M1 MAX 64G 409.6Gb/s
仮にそうだとすると、価格の差はあれどメモリのサイズを気にしながら購入する必要がある。
メモリチャンネルの技術はMacでも取り入れられてきました。しかしM1 Macはユニファイドメモリ構造なので今まで以上にメモリの能力が処理に重要な役割をもたらすのかもしれません。
もちろんWindowsマシンでも同様の仕組みは取り入れられています。
藤井聡太三冠も使っているという噂のRyzen Threadripper PRO 3995WX(70万円超/2021年3月発売)のみがオクタチャンネル(8ch)に対応しているようですので、仮説が正しければM1 MAXはかなりすごいCPUということになりそうです。ちなみに50万円超のRyzen Threadripper PRO 3990Xはクアッドチャンネル(4ch)までの対応。
価格が高いとばかり思っていましたが、このあたりから推測すると本当にすごい技術なのかもしれません。
※数字からの勝手な推測なので間違えている可能性もあります。