Wie erkenne ich, welche CPU ein MacBook verwendet?

28

Ich möchte anhand von Codenamen wie "Ivy Bridge" und "Haswell" herausfinden, welche CPU dieses Notebook verwendet. Das kleine Apple-Logo oben links zeigt einige Informationen, aber nicht diese.

DarenW
quelle
2
Nun, bis jetzt sagt mir keine der Antworten mit Sicherheit, was mein Prozessor ist, außer einer Codenummer. Selbst wenn Intel den Prozessor ansieht, gibt das der "Familie" nichts. Nur Mactracker und Everymac haben sogar eine Vermutung, und zwischen ihnen könnte es eine von 5 sein ... oder nicht, weil meine tatsächliche CPU nie in einem neuen Mac verkauft wurde - Intel (R) Xeon®-CPU X5690 bei 3,47 GHz
Tetsujin
2
@ Tetsujin: google x5690 wikipedia und du wirst sehen, dass es sich um eine Westmere-Mikroarchitektur- CPU handelt. (Schrumpfen von Nehalem mit identischer Leistung, hat aber die neuen AES-Anweisungen hinzugefügt und für Krypto carryless-multiplizieren).
Peter Cordes
2
@PeterCordes - auf jeden Fall. Ich wusste es tatsächlich eine Westmere Maschine ist, aber mein Hauptpunkt war , dass keine der Antworten so weit würde mir sagen , dass ohne ein wenig Google-Fu meine eigenen, also nicht eigentlich die OPs Frage beantworten, per se.
Tetsujin
1
@ Tetsujin: guter Punkt; Dies ist einer jener Fälle, in denen Menschen, die die Antwort kennen, vergessen, dass dies für Menschen, die dies nicht tun, nicht offensichtlich ist. Ich habe eine Antwort hinzugefügt, die Schritt 2 abdeckt.
Peter Cordes
& eine ausgezeichnete Antwort ist es auch.
Tetsujin

Antworten:

39

Zunächst einmal werden Sie den Namen der Prozessor-Mikroarchitektur (Broadwell, Sandy Lake, Ivy Bridge usw.) nicht erhalten, da es sich bei den Intel-Prozessoren nicht um ein prominentes Branding-Schema handelt. Im Gegensatz dazu wählt die Marketingabteilung bei Apple die aktive Vermarktung der Codenamen ihrer Betriebssysteme (Mavericks, Yosemite, El Capitan). Es ist eine Marketingkonvention, keine technische.

Eine Liste aller Intel-Prozessoren und ihrer Codenamen, Architekturen und technischen Daten finden Sie auf der Wikipedia-Liste der Intel-Mikroprozessoren .

Also, diese Frage zu beantworten, werde ich drei Methoden zur Verfügung zu stellen, um herauszufinden , was CPU Sie haben, die ersten zwei, die gut für die meisten Benutzer sein sollte, und ein drittes Verfahren , in dem die bestimmen können Mikroarchitektur - Nummer , so dass Sie sehen können es auf Intel Support-Website. Sie können zu dem für Sie zutreffenden Abschnitt "springen".

  1. Über diesen Mac (allgemeine CPU-Informationen)
  2. System Profiler (allgemeine CPU-Informationen)
  3. Terminal (detaillierte CPU-Informationen)


Über diesen Mac

Klicken Sie oben auf dem Bildschirm auf das Apple-Symbol und wählen Sie Über diesen Mac

Bildbeschreibung hier eingeben

Sie erhalten einen Bildschirm, der Ihnen einen Überblick über Ihr System gibt. Ihr Prozessor wird hier aufgelistet.

Bildbeschreibung hier eingeben


System Profiler

Durch Klicken auf die Schaltfläche Systembericht ... (grüner Pfeil) erhalten Sie ein vollständiges Profil Ihres Systems. Auf der ersten Seite erhalten Sie detailliertere Informationen zu Ihrem Gerät, einschließlich Prozessorinformationen

Bildbeschreibung hier eingeben

Terminal

Ich bin ein Fan von Terminal im Allgemeinen. Auf so ziemlich alles, was Sie in der Benutzeroberfläche von OS X sehen, können Sie über die Befehlszeile (IMHO) schneller und genauer zugreifen.

Führen Sie den folgenden Befehl im Terminal aus, um das genaue CPU-Modell einschließlich der Nummer der Mikroarchitektur abzurufen:

sysctl -n machdep.cpu.brand_string

Sie erhalten den genauen Prozessor, den Sie verwenden. Auf meinem iMac antwortet der obige Befehl beispielsweise mit:

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

Sie können dann nach i7-3770 suchen und den Codenamen und die .

Als Referenz können Sie den Befehl Terminal verwenden:

system_profiler SPHardwareDataType

und erhalten Sie ein Ergebnis, das genau wie der Bildschirm aussieht, den ich im zweiten Abschnitt, System Profiler , gepostet habe :

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

(Gutschrift an dante12 unten)

Wenn Sie also Ihre CPU oder allgemeiner Ihre Modellkennung benötigen , können Sie denselben Befehl in Verbindung mit grep verwenden .

system_profiler SPHardwareDataType | grep Identifier

Es antwortet mit

  Model Identifier: iMac13,2
Allan
quelle
11
Von allen von Ihnen bereitgestellten Optionen gibt nur die Terminal-Methode die in der Frage angeforderte Architektur an, es sei denn, mir fehlt etwas.
Bob
3
@ Bob Wenn mir nichts fehlt, kann ich die Architektur in keiner der beiden Optionen erkennen. (außer das ark.intel.comkann mir das sagen, nachdem ich nach oben geschaut habe i7-3770)
Num Lock
4
@NumLock Oh, es ist nicht zu erwarten, dass der Architekturname fehlt (ich glaube nicht, dass die CPU tatsächlich den Codenamen ausgibt, sodass das Betriebssystem eine aktuelle Datenbank führen müsste ...). Die Modellnummer reicht aus, um die Architektur einfach und eindeutig zu identifizieren, daher zählt IMO. Die Nicht-Terminal-Optionen hier geben jedoch nicht einmal die Modellnummer an. Es ist ungenau und im Allgemeinen eine schlechte Idee, zu erraten, um welche CPU es sich handelt (und um welche Leistung, Effizienz usw.).
Bob
1
Die Terminal-Option ist das einzig Nützliche in dieser Antwort. Wenn ich jemanden frage, auf welcher CPU er testet und er "Core i7" sagt, weiß ich nur, dass es sich um einen Nehalem (2008) oder neuer handelt. Es gibt große Unterschiede zwischen Nehalem und Sandybridge und wichtige Unterschiede zwischen SnB, Haswell und Skylake. Sie sollten die anderen Optionen entfernen, um die Benutzer nicht zu unnötigen Antworten zu bewegen, wenn sie gefragt werden, über welche Mikroarchitektur ihre CPU verfügt. Die Modellnummer ist großartig, da Sie auf einen Blick anhand der ersten Ziffer erkennen können, um welche Mikroarchitektur es sich handelt, oder bei Google nach vollständigen Details suchen.
Peter Cordes
4
Sie schlagen immer noch zwei unbrauchbare Methoden vor, bei denen die Modellnummer nicht angegeben wird, nur "i7", und Sie schlagen sie zuerst vor. Sie machen nicht klar, dass der Terminal-Weg der einzige ist, mit dem Sie die Frage des OP beantworten können. Das "About" - und "System Profiler" -Paket scheint nur Zeitverschwendung zu sein. Schlimmer noch, der rote Pfeil, der auf "Prozessorinfo" zeigt, impliziert, dass "Core i7" eine gültige Antwort auf die Frage "Welche Mikroarchitektur habe ich?" Ist. Es ist schade, dass es keine GUI-Methode gibt, die eine zufriedenstellende Antwort gibt, aber es gibt keine.
Peter Cordes
10

Öffne Terminal und tippe oder kopiere und füge die folgenden Befehle ein

system_profiler SPHardwareDataType | grep Processor

oder

system_profiler SPHardwareDataType

oder

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

Außerdem habe ich auf Github ein nettes Skript gefunden (Danke an @ rbanffy ):

open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string 
                              | awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com
dante12
quelle
Vielen Dank, der $ sysctl -a | grep \.features\: | fmt -w 48Befehl hat mir bei der Ausgabe von CPU-Flags geholfen.
Befriedung
5

In der CPU ist eine eigene Modellnummer-Zeichenfolge eingebaut. Die Software kann die CPUIDAnweisung mit den richtigen Parametern ausführen, um die Zeichenfolge in Register zu kopieren. Die Zeichenfolge lautet " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz". Sie können es von der Kommandozeile mit bekommen

sysctl -n machdep.cpu.brand_string

Ich kenne OS X nicht wirklich. Ich antworte darauf als jemand, der oft frustriert ist von Benchmark-Zahlen in SO-Antworten, in denen die Hardware nicht erwähnt wird. Unter Linux werden einige Distributionen ausgeliefert lscpuund / oder x86info, aber auch keine von ihnen dekodiert die Modellnummer in einen Intel-Codenamen. Die Zahlen folgen einem Muster, so dass es ziemlich einfach ist, sie zu dekodieren (siehe unten).

Keine der vorhandenen Antworten erwähnte eine GUI-Methode, die die Modellnummer angibt. Alle GUI-Methoden zeigen nur "Core i7", was bei weitem nicht ausreicht. Bitte sag den Leuten nicht, dass du "einen Core i7" hast, denn das verschwendet nur die Zeit aller .

"i7" könnte alles von Nehalem bis Skylake sein. Es gibt große Unterschiede zwischen Nehalem und Sandybridge und wichtige Unterschiede zwischen SnB, Haswell und Skylake.


Wenn Sie jemand fragt, auf welcher Mikroarchitektur Sie Ihren Benchmark ausgeführt haben , ist die Modellzeichenfolge eine großartige Antwort, die mehr Informationen als nur den Namen der Mikroarchitektur enthält. Kopieren Sie sie einfach und fügen Sie sie ein (z. B. "i7-3770 CPU @ 3.40GHz").

Die meisten Leute, die Sie danach fragen, wissen, wie man Modellnummern dekodiert. Sie müssen sie also nicht zusammenfassen oder nachschlagen. Am liebsten würde jemand die genaue Modellnummer kopieren / einfügen, da ich sie googeln kann, um Details wie die Cachegröße herauszufinden. ( http://ark.intel.com/ hat eine Seite für jedes Modell, und diese tauchen normalerweise in den Suchergebnissen von Google auf. Diese verwenden jedoch nicht die Codenamen.)

Es gibt "Pentium" - und "Celeron" -Modelle für jede Mikroarchitektur, aber sie haben AVX deaktiviert, sodass sie nur für Ultra-Budget-Maschinen verwendet werden.

Eine Ausnahme bilden die "i7 extreme" CPUs. Beispiel: i7-5960X ist immer noch Haswell, hat aber 8 Kerne (16 Hyperthreads) mit Quad-Channel-Speicher. IDK, wenn Apple Maschinen mit solchen CPUs verkauft.

Wikipedia hat ausgezeichnete Tabellen mit Modellnummern für jede Mikroarchitektur. Sie können z. B. x5690 Wikipedia googeln, um schnell herauszufinden, dass es sich bei einem Xeon X5690 um einen Westmere-Architekturprozessor handelt .


In Artikeln wie diesem Ars Technica über Haswell erfahren Sie mehr über die Unterschiede zwischen den Pipelines verschiedener Mikroarchitekturen . Auch die Wikipedia-Artikel sind nicht schlecht.

Für eine technischere Sicht auf die CPU-Architektur siehe David Kanters ausgezeichnete Artikel über Sandybridge und Haswell .

Agner Nebels Mikroarchitektur PDF eignet sich hervorragend zum Analysieren / Optimieren der Assemblersprache (oder der Compiler-Ausgabe), z. B. um einen Sinn für Leistungsindikatoren zu ergeben.

Die Optimierungshandbücher von Intel und AMD enthalten ebenfalls einige Details zur Mikroarchitektur, erläutern jedoch nicht immer ihre Vorschläge zur Asm-Optimierung mit einer Analyse der Funktionsweise der Mikroarchitektur. Deshalb bevorzuge ich den Führer von Agner Fog.

Siehe auch das Stackoverflow x86-Tag-Wiki , das ich im letzten Jahr stark erweitert / verbessert habe.

Peter Cordes
quelle
1
Auch mehr (etwas veraltete) Infos hier . Sie können wahrscheinlich die Familien- / Modell- / Schrittnummern mit bekommen, sysctlaber ich habe keinen Mac, um das anzuprobieren.
Bob
2

gcc oder clang -march=nativekönnen einen Codenamen für Sie ausgeben, da die Namen der Tuning-Optionen mit den Uarch-Codenamen von Intel übereinstimmen (z -march=sandybridge. B. ). Für AMD: -march=bdver2= Piledriver = Bulldozer Version 2.

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

Auf meinem Linux Core2 System druckt: target-cpu core2. Ich gehe davon aus, dass es unter OS X ähnlich läuft.

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

Auf meinem Linux Core2-System werden gedruckt:

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

Dieser Befehl wird /dev/nullals C ( -xc) kompiliert . 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 = was auch immer -mmmx -msse2 ... `Optionen.

grep -odruckt nur den passenden Teil der übereinstimmenden Zeilen. \w*Stimmt mit 0 oder mehr Wortzeichen überein.


Sie benötigen eine ausreichend neue Version von clang oder gcc , um die Mikroarchitektur Ihrer CPU zu erkennen und sie einem Codenamen zuzuordnen. Eine alte gcc-Version druckt nur so etwas wie -march=core2einen Haswell -mtune=inteloder so.

Ein anderer ähnlicher Ansatz ist das Filtern der ASM-Ausgabe von gccs -fverbose-asm, die die Optimierungsoptionen als Kommentare enthält. Ich kenne kein Äquivalent dafür.

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

arch=core2

Dies funktioniert auf einem Haswell-System: Sehen Sie sich dieses Beispiel im Godbolt Compiler Explorer an . Beachten Sie die -march=haswellin der Ausgabe.

Peter Cordes
quelle
Interessanter und eher neuartiger Ansatz! Frage: Ist gccoder clangetwas, was man auf einem (Nicht-Programmierer-) Mac erwarten würde?
Bob
@Bob: IDK, ich besitze nicht einmal einen Mac! Ich habe hier aus der Seitenleiste "Hot Network Questions". Viele Unix-Programme werden in Quellform vertrieben, so dass manche einen C-Compiler auf ihrem Mac haben, auch wenn Sie gar nicht oder nicht in C programmieren. ) Wie auch immer, diese Antwort richtete sich hauptsächlich an Personen, die auf ihrem Mac ziemlich regelmäßig gcc oder clang verwenden, aber keine Intel-Hardware-Experten sind. Es ist möglich, Programmierer zu sein, ohne ein Hardware-Freak zu sein.
Peter Cordes
Ich denke, clangist erst verfügbar, nachdem Sie xcode installiert haben. Besdies ist es ausreichend zu verwenden, clanganstattclang-3.5
Anthony Kong
1

Wählen Sie im Apple-Menü (oben links auf dem Bildschirm) Über diesen Mac. Suchen Sie nach einer Schaltfläche mit der Aufschrift "Weitere Informationen". Es wird ein Fenster mit ALLEN Informationen zum Mac einschließlich seiner Modellnummer (z. B. MacBook Pro 12.3) geöffnet. Verwenden Sie dann die oben genannte MacTracker-App, oder suchen Sie einfach nach diesem Namen, und Sie erhalten diese Informationen .

Steve Chambers
quelle
1

Rufen Sie eine der Mac-Upgrade-Websites auf und geben Sie Ihre Seriennummer / Modellnummer unter Über diesen Mac ein.

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

Seriennummer eingeben.

Geben Sie die Catpcha-Informationen ein.

Sie erhalten die Übersichtsspezifikationen

Klicken Sie auf Vollständige Mac-Spezifikationen.

Außerdem werden die Details des Chips (22-nm-Haswell i5 4250U) sowie Vergleiche mit früheren und neueren Modellen angezeigt.

Gordon Coale
quelle
1

Die beste Möglichkeit, Informationen über Ihre CPU in einem Apple-Computer zu erhalten, besteht darin, das Dienstprogramm MacCPUID von Intel auszuführen. Sie finden es hier .

Pablo Varela
quelle
0

Es gibt eine iOS- und Mac-App namens Mactracker . Es werden verschiedene Informationen zu Macs angezeigt.

At0mic
quelle
Nicht sicher, warum dies abgelehnt wurde. Dies ist eine kostenlose App und sehr hilfreich. Suchen Sie einfach das Modell, gehen Sie zur Registerkarte Allgemein, und Sie erfahren genau, was Sie wollen.
Hefewe1zen