Arm アーキテクチャ、および Apple M1 チップモデルの扱いについて調べた
2020 年に Apple が M1 チップを発表したが、Arm というナニカについて知識がゼロだった。
しかしそろそろ M1 チップの Mac を使いそうなので、この機会にある程度は周辺知識を理解しておこうと思った。
詳細は自分用の Miro にまとめてあるが、概要を以下にザッと列挙する。
- Arm とは
- CPU の設計図である。それをもとに作られた SoC は数多くある。
- 複数の SoC で同じソフトウェアを動かすのは難易度が高いらしい。
- Arm64, AArch64 といった命令セットを使う。
- Intel Core シリーズは x86, x86_64 を使う。
- 参考: 「ARM」という単語の意味を啓蒙する記事 - Zopfcode Essay
- CPU の設計図である。それをもとに作られた SoC は数多くある。
- 仮想化
- いわゆる仮想マシンとは、ソフトウェアで CPU をエミュレートするもの。
- 仮想化の必要な命令のみをエミュレートし、大半の命令は実際の CPU で実行している。
- AArch 64 の仮想化
- x86 とはホスト OS とハイパーバイザのしくみが違うため、KVM の動作も異なる。
- Armv8.1 以降では同様に動く。
- x86 とはホスト OS とハイパーバイザのしくみが違うため、KVM の動作も異なる。
- 参考: VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み - ログミーTech
- 参考: Armはどうやって効率的な仮想化を実現しているのか 進化するAArch 64の仮想化支援機構 - ログミーTech
- いわゆる仮想マシンとは、ソフトウェアで CPU をエミュレートするもの。
- Mac での運用について
- Rosseta 2: x86_64 のアプリケーションのバイナリを自動で AArch 64 バイナリに変換するツール。
- 変換後に正常に動作しないものもある。
- アプリケーションで AArch 64 バイナリが用意されている場合は不要。
- Docker イメージは linux/arm64/v8 が用意されていればそれが pull される。
- linux/amd64 しか用意されていないイメージも多い。
- 参考: M1 Mac ってなに? ぼくにも使える?
- Rosseta 2: x86_64 のアプリケーションのバイナリを自動で AArch 64 バイナリに変換するツール。
読んだ記事
- 【AWS】SES構築について - Qiita
- DMARC やログ出力に言及してあるの良い。
- AWS WAFが不正管理としてAccount Takeover Protectionを導入
- 便利そう。
- PHP: rfc:undefined_variable_error_promotion
- 宣言していない変数へのアクセスで、今は E_WARNING だが Error 例外を投げるようにする。
- 可決されそう。
- 入るのは 9.0 の予定。
- 技術書を読む元気がないけど技術的読み物なら読めているので続けているという話 - えいのうにっき
- 自分も一人めの子の 2 〜 4 歳くらいは同じように過ごしたので、共感しかない…。
- AWS Well-Architected ドキュメントが読みやすくなりました!!(AWS Well-Architected ドキュメントの歩き方2022) | DevelopersIO
- AWS Well-Architected, かなり前に流し読みした程度なのであらためて頭に入れておこう。
聴いたポッドキャスト
- 9. The 20th Anniversary of TDD by texta.fm
- Software Design 2022 年 3 月号の特集(の第 1 章)を和田さんが執筆された話。
- 自動テストやテスト駆動開発周辺の用語を整理して解説されているそうな。よさそう。
- 98: 詳解 M1 Studio Pro Max Ultra Pro Display by Pod de Engineer
- M1 Max を 2 つつなげて M1 Ultra だ!! にウケるのわかる。
- #1 エンジニアとして大局を見落とすことあるよねって話を言語化する by 言語化.fm
- 採用時に、「技術イシューだけ考えていれば OK というわけではない」と伝えるのは勇気がいるよねと思った。
- 採用力の強くない組織では特に。
- 結局はミスマッチになるので悪手なのは間違いないんだけれども。
- 49. Amazonを10ヶ月でやめた人の話 by Today I Learned
- “design systems for internal tools ~~~ there were 56!” はたしかに面食らいそう。
- けど本当に必要かもしれないし、10 ヵ月では判断できないことが多い。
- あと、Amazon の規模になると他社 SaaS を使うのが事業リスクになるというのもあるのかも。
- 106 寝室のケーブルは断線しがち by キマグレエフエム
- 断線といえば、ファミコンやるときテレビ側につなぐあの白いやつ。
- Re1. エンジニアの生産性 by EM . FM #EMFM
- 再始動めでたい。
- 「生産性」の種類に対する認識を合わせて、どの生産性を上げるのか・その方法などについて話をしよう。という感じだった。
- #7 id:onk に聞くエンジニア組織とアウトプット by Backyard Hatena
- 個人と組織が強くなる流れを、ちゃんとしくみで実現することに腐心していてすごすぎる。
- あと Slack キーワードの話おもしろいので真似してみようかな。
次週
- M1 に合わせて端末セットアップスクリプトを変更する。
- CakePHP の Tutorial をやる。
- Engineers in VOYAGE を読了する。