プログラミング

M1 Macについて調べてたら出てきた用語をまとめてみた【Apple シリコン】

こんにちは、シロウです。

この記事を読んでいる皆さんは既にM1 Macに興味を持っている方かと思います。

僕は11月18日にM1 Macの存在を知り、翌日にIntel Macよりポチって購入しました。笑

しかし、M1 Macが届くのを楽しみに待っていたのも束の間、話によると『動作しないアプリが存在する』とのこと。

僕は10ヶ月ほどプログラミングをしていますが、まだまだ知識量が雑魚なので「Macが販売するんだから不具合なんてないだろ~」とか甘いことを考えていました。(ヤバすぎ。)

ということで、色々と調べていたのですが「Rosseta」やら「ARM」やら色々と初耳ワードが出てきたので、今後のためにもこの記事で単語をまとめていきます。

対象とするワードはシンプルに『M1 Macについて調べているときに出てきた知らない単語』です。

それではガンガンいきます。

Apple M1(Appleシリコン) とは

まずそもそも「Apple M1(Appleシリコン)」って何って感じなので調べました。

解説は下記の通り。

「Apple M1(Appleシリコン)」とはARMアーキテクチャを使用して作成した自社開発チップ(SoC)のこと。

「Apple M1= CPU」って書いてる記事も多いですが、厳密には「SoC(System on a Chip)」っぽいです。(ぶっちゃけ、CPUって理解でもいいと思いますが、、、)

ちなみにですが「ARM」・「アーキテクチャ」・「CPU」・「SoC」についても意味不明だったのでもちろん調べました。笑

Apple M1は「Apple社が自社開発した高性能なチップ(SoC)」のこと

プロセッサ とは

プロセッサという単語も度々出てきたので調べました。解説は下記の通りです。

実際にデータや命令を処理するハードウェアがプロセッサです。

つまり、実際には「プロセッサ」カテゴリの中に「CPU」があります。
プロセッサが「ひみつ道具」だとしたら、CPUは「どこでもドア」のイメージです。

プロセッサ (processor)

要は、場合によっては「プロセッサ = CPU」という解釈をするけど、厳密には「処理装置の総称」という感じらしいです。

プロセッサは処理装置の総称。場合によってはCPUのこと。

アーキテクチャとは

アーキテクチャについては下記をご覧ください。

ソフトウェア、またはハードウェアの基本的な設計概念

参考:アーキテクチャとは?本来の意味とIT用語をわかりやすく説明

「アーキテクチャ」とは元々、建築分野において建築思想などを表す言葉だったそうですが、それがIT分野に転じて設計概念的な意味になったそう。

ちなみに現在はハードウェアやソフトウェア以外(アプリケーションなど)の基本設計・設計思想という意味でも使われるそう。

凄く噛み砕いていえば『どうやったらいい感じのものが作れるかという設計書』みたいなものかと。

ただ、たぶん「コンピューターに処理を伝える言語」ぐらいに考えている方がいいかも。

アーキテクチャが違うとアプリが動作しないのは設計思想(言語)が違うから。

アーキテクチャはIT分野の色々なものを作成・規定するための設計書(レシピ)みたいなもの

 

命令アーキテクチャ

「プロセッサの働き」を詳細に規定したものを「命令アーキテクチャ」。

 

マイクロアーキテクチャ

「具体的な中身のハードウェア構造」を「マイクロアーキテクチャ」と呼びます。

上記二つは「命令アーキテクチャ,マイクロアーキテクチャって何?……プログラマと,計算機の中核プロセッサを結ぶ架け橋」を参考にしました。

ARM(アーム)アーキテクチャ とは

M1 Macについて調べてたらむちゃくちゃ『ARM(アーム)』って言葉が出てきました。笑

読み方は「アーム」です。解説は下記の通り。

ARMアーキテクチャとはイギリスのケンブリッジにある『ARM Holdings(アーム ホールディングス)』という会社が作ったプロセッサーのアーキテクチャ(設計書,レシピ)

要は、ARMという会社が「プロセッサを作るときはこんな感じで作ればいいんだよー」という設計書を販売していて、他の会社はその設計書を元にプロセッサを作っているイメージかと。

ARMアーキテクチャについての解説は『3分でわかる! ARM (アーム) アーキテクチャとは?』がわかりやすかったです!

ARMアーキテクチャはARMっていう会社が販売しているプロセッサの設計書

SoC(System on a Chip) とは

SoCはSystem on a Chipの略称で読み方は「エスオーシー」。

解説は下記の通り。

SoCは「System on a Chip」の略語で、チップの上にあらゆるパーツを搭載(内蔵)したプロセッサのことを指す。

参考:「SoC」とは何なのか?CPUとの違いを簡単にまとめ

要するに、CPU・GPU・マイクロコントローラー・メモリなどなどの便利パーツを一つにまとめたものってイメージで概ね正しいかと。

SoCがCPUと混同してしまっている場合があるそうですが、正確にはSoCはCPUも含んでいるけど、もっと色々まとめた物って感じらしいです。笑

SoCはシステムを動かすために必要な色々なパーツ(CPUとか)を一つにまとめたもの

CPUとは

じゃあそもそもCPU(Cnetral Processing Unit)って何なんだって感じです。読み方は「シーピーユー」。

いくつか記事を見たのですが、要するに下記の通り。

CPUとはハードウェアやソフトウェアなどから受けた指示を制御・演算するもの。

要するにパソコンの脳的なもので、大体の処理はCPUが関係しているよって感じっぽいです。

CPUはパソコンの脳

Intel CPUとは

単純にIntelという会社が作ったCPU。

Apple M1はSoCなので厳密にはCPUとは違いますが、ARMアーキテクチャを使ってSoC(の中にあるCPUも同様に)作られている。

しかし、Intel CPUはx86系アーキテクチャが使用されている。

だから上手く動作しないアプリがあるらしい。

x86とは

x86については以下の通りです。ちなみに読み方は「エックス ハチ ロク」らしいです。

1978年に発表されたIntel社の8086と、その後継のプロセッサで採用されている命令セットアーキテクチャの総称。

参考:x86アーキテクチャ (x86 architecture)

色々調べましたが、こいつが一番よくわかりませんでした。

まぁ、要するにIntelがCPUを作るときに使ってるアーキテクチャ(設計書,レシピ)ってことですね。

IntelがCPUを作る時に使っているアーキテクチャ。

Big Sur(ビッグサー)

Big SurとはMacの最新版OSのこと。

じゃあ以前は何のOSを使っていたっけ?と思ったので調べてみると直近では「Catalina 」・「Mojave 」・「High Sierra」などがあったそう。

僕は「Catalina」から「Big Sur」にアップグレードしたということみたいです。

 

Mac Os とは

Mac OSはApple社が作ったMac用のOsのこと。

 

Osとは

Os(Operating System)はアプリとかを動作させるための一番基礎的なソフトウェア。

Osの種類としてはMacOs以外には「Windows」や「Linux」、あとスマホでいうなら「iOS」や「Android」がある。

Rosetta(ロゼッタ)とは

Rosettaとは「MacのCPUでも色々なアプリやソフトウェアを動作させるためのもの」です。

つまり、従来のMac CPU向けに作られていたアプリやソフトウェアが、Macが新しいCPU(Apple M1)を採用したので使用できなくなる。

なぜなら、CPUの種類が違うとアーキテクチャ(言語)の種類が違うから。

しかしそれだとユーザーがむっちゃ困るので、それを改善するためにRosettaを利用して最新のMac CPU(Apple M1)でもアプリやソフトウェアが動くようにしようという感じ。

ちなみにRosettaは昔にも一度使われたことのあるものなので、今回は「Rosetta 2」と呼ばれている。

Macintosh(マッキントッシュ)とは

Apple社が販売しているパソコンのこと。

つまり、Macintosh(マッキントッシュ)の略称がMac。

マッキントッシュって読み方初めて知りました。笑

最後に

一先ず色々調べてみてわからなかったことは全てまとめ切りました。

たぶん、この記事の用語を知っていれば M1 Macについて調べる上で困ることはあまりないのではないかなーと思います。

ただ、調べてみて思った感想としては『IT用語って広義や狭義によって意味が変わるものが多いからめんどくさい』です。笑

お疲れ様でした〜(*´ω`*)ノ