Chapter 02

Apple Silicon と M1 チップってなに?

ほげさん
ほげさん
2021.08.14に更新

Apple Silicon とは

Apple Silicon というのは、Apple 社が開発した ARM の System on a Chip ( SoC ) と System in a Package ( SiP ) の総称です。[1]

今までずっと iPhone や Apple Watch などで使われてきました。

Apple Silicon にはいくつかシリーズがあります。

シリーズ 主な製品を抜粋
A シリーズ iPhone 5s ( A7 )
S シリーズ Apple Watch ( S6 )
T シリーズ MacBook Pro with Touch Bar ( T1 )
W シリーズ AirPods ( W1 )
H シリーズ AirPods Pro ( H1 )
U シリーズ iPhone 11 ( U1 )

シリーズごとに SoC だったり SiP だったりしつつ、シリーズごとにバージョンアップしながら改良型が作られています。

M1 チップとは

M1 チップというのは Apple Silicon の M シリーズの SoC の1つです。

ARM は前の章で紹介した通り低消費電力なので組み込みで活躍してきたアーキテクチャですが、それを初めて Mac で使おうということです。

なので M1 と言ったら ARM の Mac のことを指すと理解して良いでしょう。当然 64bit です。

命令セットを理解すると「M1 Mac は今まで動いた xx が動かない」とか「M1 Mac は iOS アプリがそのまま動く」というフレーズも理解できる気がします。

ちなみに ( 少なくとも今は ) 従来の Intel CPU を搭載した Mac も発表されていますので、「2020 年以降に発表された Mac のことを M1 て言う」という理解はちょっと違いますね。

なお、シリーズについては ↓ を見ればイメージがわくと思います。

https://ja.wikipedia.org/wiki/Appleシリコン

従来となぜそんなにスペックが違うか

M1 チップは異なる目的の処理回路がメモリを共有して協調動作する共有メモリアーキテクチャ ( Unified Memory Architecture ) というのを採用しているらしいです。

販売ページでも購入時のスペックにもユニファイドメモリと書いてありますね。

例えば GPU をよく使う場合、ビデオメモリにデータをロードし処理したらまた書き戻して伝えるというやり方では効率が悪ので、同じデータをある時は CPU がある時は GPU がアクセスできるように考えたものです。

逆に 1 チップにおさまる大きさしかメモリを搭載できないので、あまり安価に大容量化しづらいのでは無いかと考えられます。実際 M1 Mac ではメモリを 16GB までしかカスタマイズできません。

また I/O インターフェースも統合されているとなると、Thunderbolt 3/USB 4 のポートを 2 つより多くしづらいのかもしれません。

なんと呼ぶか

Apple Silicon Mac とか M1 Mac とか ARM Mac とかいろいろ見かけますが、Apple としては Apple Silicon Mac を広めたいのでしょうか?

とりあえず現状では全て同じものを指していると考えて良いと思いますが、M シリーズが今後進化して M2 とか M1X が出た場合は ARM Mac = M1 Mac || M1X Mac という関係になると思います。

この本では以降 ARM Mac ( と、対比で Intel Mac ) と記すことにします。

CPU と命令セットを確認する

sysctl machdep.cpu.brand_stringuname -m を使います。

ちなみに今手元には Intel Mac と ARM Mac があるので、それぞれ確認してみます。

Intel Mac の方は CPU が Intel Core i7 で命令セットが x86_64 です。

Intel Mac
$ sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz

$ uname -m
x86_64

ARM Mac の方は CPU が Apple M1 で命令セットが arm64 です。

ARM Mac
$ sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Apple M1

$ uname -m
arm64

どちらも期待通りの結果です。

まとめ

  • Apple Silicon は Apple 社がずっと作ってた ARM の半導体チップの総称
  • A シリーズとか S シリーズとかがいっぱいあって、M1 チップは M シリーズの1つ
  • 現状は Apple Silicon Mac と ARM Mac と M1 Mac はほぼ同じ意味で使って大丈夫だと思う

参考にした記事

https://japanese.engadget.com/apple-silicon-m1-100029407.html
https://ja.wikipedia.org/wiki/System-on-a-chip
https://ja.wikipedia.org/wiki/SiP

公開後追記 ( 2021/08 )

いくつか指摘をいただいたので、ここで訂正および補足をします。

1. SoC の誤記

Software on a Chip と記述していましたが System on a Chip に修正しました。

あわせて参考記事も載せ忘れていたので追記しました。

脚注
  1. SoC, SiP どちらも半導体チップのことです。SoC は1つの半導体チップの上に必要な機能をすべて集積するのに対し、SiP は複数のチップを1パッケージにするという形をとります。SoC と SiP にはコストやサイズや消費電力などの差がありますが、この本ではこれ以上詳細には踏み込みません。 ↩︎