MacBookが使用しているCPUを特定するにはどうすればよいですか?


28

「Ivy Bridge」や「Haswell」などのコード名の観点から、このノートブックが使用しているCPUを特定したいと思います。左上にある小さなAppleロゴには情報が表示されていますが、これは表示されていません。


2
まあ、これまでのところ、コード番号以外に、私のプロセッサが何であるかを特定する答えはありません。Intelでプロセッサを調べても、「家族」は得られません。Mactracker&Everymacだけでも推測を持っている、と私のためにそれらの間には、5のいずれか...かない可能性があり、実際の CPUは、新しいMacで販売されていませんでした-インテル(R)Xeon®プロセッサーX5690 CPU @ 3.47GHz
鉄人

2
@Tetsujin:google x5690 wikipediaで、Westmereマイクロアーキテクチャ CPUであることがわかります。(Nehalemのパフォーマンスは同じですが、AESの新しい命令が追加され、暗号のキャリーレス乗算が行われました)。
ピーターコルド

2
@PeterCordes-確かに。私は実際にそれがウェストミアのマシンであることを知っていましたが、私の主なポイントは、これまでの回答のどれも、私自身の小さなGoogle-Fuなしではそれを教えてくれないということでしたので、実際にはOPの質問自体答えないでください。
鉄人

1
@鉄人:良い点; これは、答えを知っている人が、知らない人には自明ではないことを忘れるケースの1つです。私はカバーが2ステップという答えを追加
ピーター・コルド

&それも素晴らしい答えです。
鉄人

回答:


39

まず最初に、Intelプロセッサの有名なブランドスキームではないため、プロセッサのマイクロアーキテクチャ名(Broadwell、Sandy Lake、Ivy Bridgeなど)を取得しません。それとは対照的に、マーケティング部門は、オペレーティングシステム(マーベリック、ヨセミテ、エルキャピタン)のコード名を積極的に販売することを選択します。それは技術的なものではなく、マーケティングの慣例です。

すべてのインテルプロセッサーとそのコードネーム、アーキテクチャ、および仕様のリストについてはウィキペディアのインテルマイクロプロセッサーのリストに良いページがあります。

したがって、この質問に答えるために、使用しているCPUを確認するための3つの方法、最初の2つはほとんどのユーザーに適している、3つ目の方法はマイクロアーキテクチャ番号を決定して確認できるようにする方法を提供しますIntelのサポートサイトに掲載されています。該当するセクションに「ジャンプ」できます。

  1. このMacについて(一般的なCPU情報)
  2. システムプロファイラ(一般的なCPU情報)
  3. ターミナル(詳細なCPU情報)


このMacについて

画面上部のAppleシンボルをクリックして、[ このMacについて]を選択します

ここに画像の説明を入力してください

システムの概要を示す画面が表示されます。プロセッサがここにリストされます。

ここに画像の説明を入力してください


システムプロファイラー

[ システムレポート...](緑色の矢印)のボタンをクリックすると、システムの完全なプロファイルを取得できます。最初のページでは、プロセッサ情報など、マシンに関する詳細情報が表示されます

ここに画像の説明を入力してください

ターミナル

私は一般的にターミナルのファンです。OS XのGUIに表示されるほとんどすべてのものに、コマンドラインIMHOを介してより迅速かつ正確にアクセスできます。

マイクロアーキテクチャー番号を含む正確な CPUモデルを取得するには、ターミナルで次のコマンドを実行します。

sysctl -n machdep.cpu.brand_string

使用している正確なプロセッサを取得します。たとえば、私のiMacでは、上記のコマンドは次のように応答します。

Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz

その後、i7-3770を検索して、コード名と仕様を取得できます。

参考のために、ターミナルコマンドを使用できます。

system_profiler SPHardwareDataType

2番目のセクションであるシステムプロファイラーで投稿した画面と同じような結果が得られます。

Hardware Overview:

  Model Name: iMac
  Model Identifier: iMac13,2
  Processor Name: Intel Core i7
  Processor Speed: 3.4 GHz
  Number of Processors: 1
  Total Number of Cores: 4
  L2 Cache (per Core): 256 KB
  L3 Cache: 8 MB
  Memory: 32 GB
  Boot ROM Version: IM131.010A.B09
  SMC Version (system): 2.11f14
  Serial Number (system): XXXXXXXXXXXXXXXXXXX
  Hardware UUID: XXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX

(以下のdante12へのクレジット)

したがって、CPUまたはより一般的にはModel Identifierが必要な場合、同じコマンドをgrepと組み合わせて使用​​できます。

system_profiler SPHardwareDataType | grep Identifier

応答します

  Model Identifier: iMac13,2

11
提供するすべてのオプションのうち、何かが足りない場合を除き、質問で要求されたアーキテクチャを実際に伝えるのはTerminalメソッドのみです。
ボブ

3
@Bob何かを逃さない限り、どちらのオプションでもアーキテクチャを見つけることはできません。(それは除いてark.intel.com見上げた後ということを教えすることができますi7-3770
のNum Lock

4
@NumLockああ、アーキテクチャ名がないことが予想されます(CPUが実際にコード名として報告するとは思わないため、OSは最新のデータベースを保持する必要があります...)。モデル番号は、アーキテクチャを簡単かつ一意に識別するのに十分なため、重要なIMOです。しかし、ここでの非ターミナルオプションはモデル番号さえ提供しません。コアカウントとクロック速度(ベースクロックか最大ターボブーストか)だけでどのCPU(およびそのパフォーマンス、効率など)を推測しようとするのは不正確であり、一般に悪い考えです。
ボブ

1
この回答では、ターミナルオプションのみが有用です。テストしているCPUを誰かに尋ねて、「Core i7」と言った場合、それがNehalem(2008)以降であることしかわからないでしょう。NehalemとSandybridgeには大きな違いがあり、SnBとHaswell、Skylakeには重要な違いがあります。他のオプションを削除して、CPUにどのようなマイクロアーキテクチャがあるかを尋ねられたときに、役に立たない答えを人々に勧めないようにしてください。モデル番号は素晴らしいです。なぜなら、最初の桁からマイクロアーチが一目でわかるか、グーグルで詳細を確認できるからです。
ピーター

4
モデル番号がわからない2つの役に立たない方法、つまり「i7」のみを提案し、最初に提案します。あなたは、OPの質問に答えることができるのは端末の方法だけであることを明確にしないでください。「About」および「System Profiler」は時間の無駄に過ぎないようです。さらに悪いことに、「プロセッサ情報」を指す赤い矢印は、「Core i7」が「どのマイクロアーキテクチャを持っているか」という質問に対する有効な答えであることを意味します。満足のいく答えを与えるGUIの方法がないのは残念ですが、そうではありません。
ピーターコーデス

10

ターミナルを開き、次のコマンドを入力またはコピーして貼り付けます

system_profiler SPHardwareDataType | grep Processor

または

system_profiler SPHardwareDataType

または

sysctl -n machdep.cpu.brand_string
sysctl -a | grep cpu

また、Githubで素晴らしいスクリプトを見つけました(@ rbanffyに感謝します)。

open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string 
                              | awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com

ありがとう、$ sysctl -a | grep \.features\: | fmt -w 48コマンドはCPUフラグの出力を助けてくれました。
なだめる

5

CPUには独自のモデル番号文字列が組み込まれています。ソフトウェアは、適切なパラメーターを使用しCPUID命令を実行、文字列をレジスタにコピーできます。文字列は「Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz」のようなものになります。コマンドラインから取得できます

sysctl -n machdep.cpu.brand_string

私は実際にOS Xを知らない。私はこれを、ハードウェアに言及していないSO回答のベンチマーク番号にしばしばイライラする人として答えている。Linuxでは、一部のディストリビューションは出荷lscpuおよび/または出荷されますx86infoが、どちらもモデル番号をIntelコードネームにデコードしません。数字はパターンに従っているため、デコードはかなり簡単です(以下を参照)。

既存の回答では、モデル番号を提供するGUIメソッドについて言及していません。すべてのGUIメソッドは単に「Core i7」を表示しますが、これはまだ十分ではありません。 あなたが「コアi7」を持っていることを他の人に教えないでください

「i7」は、ネハレムからスカイレイクまで何でもかまいません。NehalemとSandybridgeには大きな違いがあり、SnBとHaswell、Skylakeには重要な違いがあります。


ベンチマークを実行したマイクロアーキテクチャを尋ねられた場合、そこからのモデル文字列は、マイクロアーキテクチャ名だけでなくより多くの情報を含む優れた返信なので、コピーして貼り付けてください(例:「i7-3770 CPU @ 3.40GHz」)。

あなたに尋ねるほとんどの人は、モデル番号をデコードする方法を知っているので、あなたがそれを要約したり、彼らのために調べたりする必要があるとは思わないでください。キャッシュサイズなどの詳細をグーグルで調べることができるので、正確なモデル番号を誰かにコピー/貼り付けてもらいたいです。(http://ark.intel.com/には各モデルのページがあり、通常はGoogleの検索結果で上位に表示されますが、コードネームは使用しません)。

各マイクロアーキテクチャには「Pentium」モデルと「Celeron」モデルがありますが、AVXが無効になっているため、人々はそれらを超予算マシンにのみ使用しています。

「i7 Extreme」CPUはこれの例外です。たとえば、i7-5960XはまだHaswellですが、クアッドチャネルメモリを備えた8コア(16ハイパースレッド)です。AppleがそのようなCPUを搭載したマシンを販売している場合はIDK。

ウィキペディアには、各マイクロアーキテクチャのモデル番号の優れた表があります。たとえば、x5690ウィキペディアをグーグルで検索して、Xeon X5690がWestmereアーキテクチャプロセッサであることをすばやく見つけることができます。


さまざまなマイクロアーキテクチャのパイプラインの違いについて詳しくは、このArs TechnicaのようなHaswellに関する記事を参照してください。ウィキペディアの記事でさえ悪くありません。

より技術的なCPUアーキテクチャの観点については、David Kanterの優れたSandybridgeHaswellの記事を参照してください。

Agner FogのマイクロアーキテクチャPDFは、アセンブリ言語(またはコンパイラー出力)を分析/調整している場合、たとえばパフォーマンスカウンターを理解しようとしている場合に優れています。

IntelおよびAMDの最適化マニュアルにもいくつかのマイクロアーキテクチャの詳細がありますが、マイクロアーキテクチャがどのように動作するかを分析してasm最適化の提案を常に説明しているわけではありません。これが、Agner Fogのガイドを好む理由です。

Stackoverflow x86タグwikiも参照してください。過去1年間で大幅に拡張/改善されました。


1
また、こちらの(少し古い)情報もご覧ください。あなたはおそらく家族/モデル/ステッピング番号を取得できますがsysctl、私はそれを試着するMacを持っていません。
ボブ

2

gccまたはclang-march=nativeは、チューニングオプションの名前がIntelのuarchコード名(例:)に一致するため、コード名を出力できます-march=sandybridge。AMDの場合:-march=bdver2= Piledriver = Bulldozerバージョン2。

clang-3.5 -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'target-cpu \w*'

私のLinux Core2システムでは、次のものが印刷されます target-cpu core2。OS Xでも同様のことができると思います。

gcc -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'arch=\w*'

私のLinux Core2システムでは次のものが印刷されます。

arch=native
arch=core2        <----- This one
arch=native

このコマンドは/dev/null、C(-xc)としてコンパイルされます。 gcc/ clang-v prints its internal commands as it runs them, with full command line args. Even with-E (preprocessor-only), the-xc option leads gcc to pass the full set of-march = whatever -mmmx -msse2 ... `オプション。

grep -o一致する行の一致部分のみを出力します。 \w*0個以上の単語文字に一致します。


CPUのマイクロアーキテクチャを認識し、コード名にマップするには、clangまたはgccの新しいバージョンが必要です。古いgccバージョンは-march=core2、Haswellの場合でも何かを出力するだけ-mtune=intelです。

別の同様のアプローチは-fverbose-asm、コメントとして最適化オプションを含むgccのasm出力をフィルタリングすることです。これに相当するclangがわかりません。

gcc -xc /dev/null -O3 -fverbose-asm -march=native -o- -S | grep -o 'arch=\w*'

arch=core2

これはHaswellシステムで動作します:Godbolt Compiler Explorerでこの例を参照してください。-march=haswell出力に注意してください。


興味深い斬新なアプローチ!質問:あるgccか、clangいずれかが(非プログラマの)Mac上で見つけることを期待する何か?
ボブ

@ボブ:IDK、私はMacさえ所有していない!「ホットネットワークの質問」サイドバーからここにアクセスしました。多くのUnixプログラムはソース形式で配布されているので、Cでまったくプログラミングしていない場合でも、Cでプログラミングしていない場合でも、MacにCコンパイラをインストールする人もいます(たとえば、一部のperlモジュールにはコンパイル用のCが付属しています)。 )とにかく、この答えは主にMacでgccまたはclangをかなり定期的に使用しているが、Intelハードウェアの専門家ではない人を対象としています。ハードウェアのオタクでなくてもプログラマーになることは可能です。
ピーターコーデス

clangXcodeをインストールした後にのみ利用できると思います。clang代わりに使用するだけで十分ですclang-3.5
アンソニーコング

1

アップルメニュー(画面の左上)で[このMacについて]を選択します。次に、[詳細情報]というボタンを探します。モデル番号(MacBook Pro 12.3など)を含むMacに関するすべての情報を含むウィンドウが開き、上記のMacTrackerアプリを使用するか、その名前のantで検索すると、その情報が表示されます。


1

Macアップグレードサイトのいずれかにアクセスし、[このMacについて]からシリアル番号/モデル番号を入力します。

http://www.everymac.com/ultimate-mac-lookup/

シリアル番号を入力してください

Catpcha情報を入力します。

要約仕様を取得します

Complete Mac specsをクリックします。

また、チップの詳細(22nm Haswell i5 4250U)に加えて、以前のモデルおよび後のモデルとの比較も表示されます。


1

AppleコンピューターのCPUに関する情報を見つけるために見つけた最良の方法は、IntelのMacCPUIDユーティリティを実行することです。ここで見つけることができます。


0

Mactrackerと呼ばれるiOSおよびMacアプリがあります。Macに関するさまざまな情報が表示されます。


これがなぜ投票されたのかはわかりません。これは無料のアプリで非常に便利です。モデルを見つけて、[全般]タブに移動するだけで、必要なものが正確に表示されます。
Hefewe1zen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.