Plugin Boutiqueで日本限定フラッシュセール!5/11まで!Studio One, Notion, Wavesfactoryなど

M1搭載Macのメモリはなぜ「たったの16GB」で事足りるのか。その理由とDTM用途でのポテンシャルを考察。

目次

対象読者

  • Apple Silicon M1搭載のMac製品の購入を検討している
  • メモリが16GBしか積んでないことに不安を感じている、疑問を抱いている
  • ユニファイドメモリについて情報を集めている

先日新型Macが発表されましたが、どの製品もメモリが最大で16GBしか積めないとのことで私は見送りを検討していました。
しかし購入したyoutuberの皆さんの感想を聴くと、「Macbook Air メモリ8GBでも動画編集できる」という声が多い。というか物足りないという人は見かけない。検索しても出てこない。

メモリを大量に必要とするはずの動画編集でメモリが8GBで足りるとはどういうことなのか?
名称が「ユニファイド」メモリになったことにやはり従来のメモリとの違いがあるのか?
気になったので調べてみた結果、それなりにわかってきました。
基本情報技術者の勉強がここに来て役に立ちました。

解説していきます。

そもそも「メモリ」とはどんな役割のパーツなのか?

Photo by Possessed Photography on Unsplash

まずは「メモリ」がPCにおいてどんな役割のパーツなのかをおさらいします。

メモリは「CPUの処理に必要なデータを記憶しておく」パーツです。
一方でHDDやSSDもデータを記憶しておくためのパーツです。
それらと大きく異なる点は「メモリに記録するデータは高速ですぐに使う必要のあるもの」という点です。

わかりやすくするために例えを用います。
私はこうしてブログを書いていますが、書いている時は机の上に記事を書くための参考資料がたくさんあります。
集めた情報をすぐに確認できるように、机の上にKindleや紙の本、セカンドディスプレイにSafariで開いたIT系の記事が立ち上がっています。
この状況では「ブログ記事を書く」という処理をするために「すぐ使う情報を集めておくところ」として机の上がメモリに相当します。
机の上は決して広くありませんが、必要なものだけ出しておくならいちいち本棚に本を取りに行ったりしなくて済むので時間の節約になります。

実際のメモリも容量はHDDやSSDに比べるとかなり小さいですが、HDDやSSDよりもデータを高速でやり取りできます。
「それじゃあメモリを2TBとか積んじゃえば高速になるし、SSDもHDDも要らないんじゃない?」
と疑問に思うかもしれません。
しかしそうしないのにはいくつか理由があり、最も大きいのは「記憶領域あたりのコストが高い」という点です。
実際AppleのMac Proでメモリを1.5TB積めるオプションが存在しますが、そのオプション部分だけで225万円(税別)です。めっちゃ高い。
HDDならもっと領域の広い2TBでも8000円あれば買えますし、SSDでも2TBならせいぜい5万円です。

本当に高速で処理をするために必要なデータを記録しておく場所が「メモリ」というパーツです。

ユニファイドメモリはメモリが小さくて済む「共有メモリ」の側面を持つ

M1で搭載された「ユニファイドメモリ」は画期的な要素をいくつも持っているのですが、「なぜメモリが小さくて済むのか?」という点に関しては「共有メモリ」の側面が大きく貢献していそうです。

「共有メモリを持たない」コンピューターの処理解説

ここから話がややこしくなってきますが、例えなどを用いてなるべく噛み砕いて書いていきます。

早速めっちゃ重要な点ですが、
まず「共有メモリを持たない」通常のコンピューターでは、複数のCPUで同じメモリ領域に同時にアクセスすることができません。
このままだとせっかくCPUが2個以上あってもあまり意味がなく、作業が速まりません。
専門的にはこの状態を「フォン・ノイマン・ボトルネック」と言います。
そのため、並行して作業ができるようにメモリ領域をメモリ上にコピーします。
こうするとメモリ容量の許す限りCPUの数だけ並列処理ができて作業を高速化できます。

カレー作りでわかるここまでの話

Photo by Jason Briscoe on Unsplash

ここまでを「カレーを複数人で作る」ことに例えてわかりやすくします。
ここでは「カレーを作る」ことが処理内容で、「料理人」がCPUに相当します。
メモリ容量は「厨房の広さ」だと思ってください。作業を行うメモリ領域は「まな板」です。

カレーを作る上では複数人で同時にできる作業が存在します。
例えば「にんじんを切る」、「じゃがいもの皮を剥いて切る」、「たまねぎを切る」などです。
料理人が何人いてもまな板が1枚しかないと、1人以外は暇になります。
1つのまな板を複数人で使うのは危ないですからできません。(フォン・ノイマン・ボトルネック)
時間がもったいないので、まな板の数を増やします。
2枚、3枚と増やしていけばにんじんも、じゃがいもも、たまねぎも同時に下ごしらえでき、カレー完成までの時間が短縮できます。

ここまで理解できると、通常のコンピューターの弱点として「作業を行うメモリ領域が増やせる限りは作業を高速化できるが、メモリ領域が増やせなくなったらCPUがいくつあっても作業は速くならない」ということがわかります。
これはカレー側の例えでいうなら「厨房スペースの限界」で制限を受けるということです。
極端な話では、料理人が10人いても厨房が狭かったらまな板を置くスペースがなく、全員が調理にとりかかれないという具合です。

共有メモリは「複数のCPUで同時にメモリ領域を処理できる」技術

共有メモリでないコンピューターの処理がわかると、共有メモリの利点がわかります。
それは「複数のCPUで同時に作業するメモリ領域にアクセスできる」ということです。

カレーの話でいうなら「1枚のまな板を複数の料理人で使う」みたいなことです。
これなら厨房が狭くても高速に食材の下ごしらえがすみます。
現実でそんなことやったら超危ないし、むしろ作業効率落ちそうですがカレーはあくまで例えなので
「情報処理ではそんなこともできるのかー。」
くらいに思ってください。

並列処理のために作業するメモリ領域をコピーする必要がなくなるため、メモリ容量を節約できます。
これが共有メモリの概念であり、「小さいメモリ容量で済む」理由です。

実際は簡単に実現できるわけではなく、共有メモリの発想や技術自体は10年以上前からあったようです。
しかし「メモリの一貫性の問題」や「搭載できるCPUやメモリ容量の制限のデメリット」を抱えていたり、「Intel製チップが共有メモリに向いた設計ではない」などの課題がありました。
それらをAppleは自社設計のチップ、つまりIntel製でなく「実用的なユニファイドメモリを実現するために設計した」チップによって実装可能にしたというところに革新性があります。

M1チップ上では「Fabric」がデータの多方面アクセスを可能にしている

M1チップの構成を見ると「Fabric」というユニットでCPU,GPU,DRAM(メモリ)などが繋がっています。

Fabricによって全ての処理装置が間接的につながっている
画像引用元 : apple.com

詳しい原理はわかりませんが、Fabric(繊維の意)の表現からして、繊維のように複数のデータの通り道を持った存在と考えられます。
これがフォン・ノイマン・ボトルネックを解決し、メモリの共有化を実現しているようです。

このように複数のCPUで共通のメモリ領域にアクセスできる構造を
「ユニファイドメモリアーキテクチャ(UMA)」
と呼びます。

今回のM1チップはCPUだけでなくGPUも共通メモリ領域にアクセスできるので特に
「ヘテロジニアスUMA(hUMA)」
と分類されます。

ユニファイド16GBメモリのDTMにおけるポテンシャル

Photo by Michael Dziedzic on Unsplash

ここまでが長くなりましたがやっと本題2つ目です。

私自身はまだM1シリーズのMac製品を使用・購入していないので独自に検証してはいません。
DTMer系Youtuberの方々の検証動画をいくつか観てみたところある程度わかったことをまとめます。

わかっていること

M1チップに完全対応したDAWは現時点ではLogic Pro X, GarageBandのみ。
M1チップ用にプログラムを読み直してくれる(エミュレートしてくれる)Rosetta 2を使えば他のDAWも他社製プラグインも一部製品を除きほとんどちゃんと動く。

DAWではGPUはほとんど使わないのでhUMAの恩恵は小さい。(動画編集などでは恩恵が大きい)

やや極端な例ですが、Sounduno(サウンドウーノ)の宇野さんという方が敢えてM1 Mac mini 16GBユニファイドメモリのメモリに負荷をかける検証をサイトで動画付きで公開しています。

M1チップMacでのLogicの動作を検証する(その4) — サウンドウーノ 機材コーディネーター 宇野克郎

検証に用いた「Sampler」というプラグインはLogic付属の純正なので、比較的動きやすい部類のプラグインです。
とはいえ210トラックもSamplerを立ち上げて検証することで、かなり参考になる情報が見えてきています。

メモリ32GBのIntel Mac miniでは立ち上げ後にすんなり再生できたプロジェクトファイルが、メモリ16GB M1 Mac miniでは400GBを超える大量の仮想メモリを消費した後に再生可能になるという現象がポイントです。

用語解説 「仮想メモリ」とは?

実際にあるメモリの記憶領域に関係なく、大量のメモリがあるとCPUに想定させて処理を行うためのもの。
これによって例えば8GBのメモリでも16GBのメモリを消費するような処理がある程度できる。
実際はメモリの隙間の空いた領域を活用していたり、SSDやHDDの記憶領域をメモリの代わりに使う。
(後者の場合、メモリよりSSDやHDDの方がアクセス速度が遅いので完全に同等の処理ができるわけではない)

メモリがユニファイドになったからと言っても、実際のメモリ領域の差は完全に埋まるわけではないようです。
とはいえ、仮想メモリとして利用している内蔵SSDが「M.2」なのでDTM用途であれば音源再生に必要な速度は維持できるという点はすごいと思います。

用語解説「M.2 SSD」とは?

SSDのうち、現状最も速いデータ転送速度を持つPCIe系の規格。少し前まではSATA3という規格が専ら主流で、対応機種も豊富であり、今でも売っている物のほとんどはSATA3だが、M.2も最近少しづつシェアを拡大している。

SSDの速度がメモリに近づいてきているおかげで、これまでできなかったことができるようになってる。
立ち上げ後のレインボーカーソルの待ち時間がややストレスにはなりますが、そこを我慢すれば「ちゃんと再生して音が聴ける」のは大きいです。
今までのSATA3 SSDで仮想メモリしたら「確認に支障がでるレイテンシが生じる「とか、最悪「そもそもプロジェクトファイルが開けない」事態でしたから。
(筆者はBFD3とTrilian含むプロジェクトを作ったら、その後開けないファイルになったことがある)

まとめ DTM用途ならヘビーユーザー以外不足無し

今回の記事ではM1チップ搭載のMacが「なぜメモリ16GBで事足りる(ように見える)のか」という点について解説、考察しました。

主な理由としては

  • ユニファイドメモリになったことで「共有メモリ的側面」を持ち、メモリ領域が節約できている
  • SSDがM.2になったことで高速化し、SSD上に仮想メモリ領域を作ってもある程度処理速度を保てるようになった

これら2点です。

DTM用途であればメモリ不足時に生じるM.2 SSDの仮想メモリでも大抵の場合支障なさそうです。
一方で「メインのDTM用PCがメモリ128GB積んでる」とか、「プロジェクトトラック数が3桁行くのは日常」とかいう人が購入するなら今後も他の検証などで情報集めていく必要がありそうです。

まだわかっていないこととして、特に注意して観察したいことは

Apple純正でないDAWプラグイン(Spitfire, FXpansion, iZotope, Wavesなど)を使った場合の負荷の程度

です。

Logic付属音源とサンプルファイルだけで音源作るってことはそうそうないので、このレベルで誰か検証してみて欲しいところです。(他人任せ)

まだ油断はできないとはいえ、Rosseta 2のおかげで主なソフトは普通に動くようですし、余程ハイスペックなCPUやメモリに負荷をかけた使い方をするDTMerでないなら買っても後悔することにはならないと感じます。

今回の記事は以上です!
お役に立てれば幸いです。

今回の参考文献・参考リンク集

今回記事を書くにあたって様々なページ、書籍を参考にしました。
情報の確認などに活用ください。

メモリ、仮想メモリなどの概念関連
ノイマン型コンピュータ、共有メモリ、ユニファイドメモリなど関連
よかったらシェアしてね!

コメント

コメントする

目次
閉じる