M1 macについて
m1とは
2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUになった。
こちらは従来のMacに搭載されていた CPUがx86/64
の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがある。
発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。
M1 mac ベストプラクティス
- ARMアーキテクチャで何かを実行したい場合は
ターミナル.app
で実行。 - Rosettaで実行したい場合は
iTerm2.app
で実行 - VS Code上では適宜
$ arch -x86_64 zsh
や$ arch -arm64 zsh
で切り替えする
M1 mac意識
ターミナルで確認する
uname -m
# arm64と出力 ARMアーキテクチャ で実行中
# x86_64と出力 Rosetta利用 または ネイティブIntelアーキテクチャ で実行中
Rosettaとは
従来のインテル用のMacアプリをApple Silicon Mac上で自動的に変換して実行できるようにする仕組み
M1 Macの環境はIntel Macの開発環境と大きく違う
-
Intel Macとは Intelのチップ(CPU)が搭載されたMac
-
M1 Macとは Apple社が設計したM1チップを搭載された最新のmac
ARM社がApple社へチップの回路図を提供している。 ※そのためM1チップのアーキテクチャ(設計方法)をARMアーキテクチャと呼ぶ。 M1チップを「Apple Silicon」とも呼ぶ
Rosseta上なのか、ARMアーキテクチャ上なのか意識する。
M1 Macでプログラミングする上で注意すべきsubeki いま動かしているプログラムがRosseta上なのか、ARMアーキテクチャ上なのか意識する。
Rossetaとは
従来のインテル用のMacアプリをApple Sillicon Mac上で自動的に変換して実行できるようにする仕組み。