Vorrei identificare quale CPU sta usando questo notebook, in termini di nomi in codice come "Ivy Bridge" e "Haswell". Il piccolo logo Apple in alto a sinistra mostra alcune informazioni, ma non questo.
Vorrei identificare quale CPU sta usando questo notebook, in termini di nomi in codice come "Ivy Bridge" e "Haswell". Il piccolo logo Apple in alto a sinistra mostra alcune informazioni, ma non questo.
Risposte:
Prima di tutto, non otterrai il nome della microarchitettura del processore (Broadwell, Sandy Lake, Ivy Bridge, ecc.) Perché non è uno schema di branding prominente per i processori Intel. In contrasto con Apple, il dipartimento marketing sceglie di commercializzare attivamente i nomi in codice dei loro sistemi operativi (Mavericks, Yosemite, El Capitan). È una convenzione di marketing, non tecnica.
Per un elenco di tutti i processori Intel e i loro nomi in codice, architetture e specifiche, l'elenco dei microprocessori Intel di Wikipedia ha una buona pagina.
Quindi, per rispondere a questa domanda, fornirò tre metodi per scoprire quale CPU hai, i primi due, che dovrebbero essere buoni per la maggior parte degli utenti, e un terzo metodo in cui puoi determinare il numero di microarchitettura in modo da poter guardare sul sito di supporto di Intel. Puoi "saltare" alla sezione che si applica a te.
Facendo clic sul simbolo Apple nella parte superiore dello schermo, seleziona Informazioni su questo Mac
Verrà visualizzata una schermata che offre una panoramica del sistema. Il tuo processore sarà elencato qui.
Facendo clic sul pulsante contrassegnato come Rapporto di sistema ... (freccia verde) si ottiene un profilo completo del sistema. Nella prima pagina, ti darà informazioni più dettagliate sulla tua macchina, comprese le informazioni sul processore
Sono un fan di Terminal in generale. Praticamente tutto ciò che vedi nella GUI in OS X è accessibile più rapidamente e con maggiore precisione tramite la riga di comando, IMHO.
Per ottenere il modello esatto di CPU incluso il numero di microarchitettura, in Terminale, eseguire il comando seguente:
sysctl -n machdep.cpu.brand_string
Otterrai l'esatto processore che stai utilizzando. Ad esempio, sul mio iMac, il comando sopra risponde con:
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
È quindi possibile effettuare una ricerca per i7-3770 e visualizzare il nome in codice e le specifiche.
Solo per riferimento, è possibile utilizzare il comando Terminale:
system_profiler SPHardwareDataType
e ottieni un risultato simile alla schermata che ho pubblicato nella seconda sezione, System Profiler :
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
(Credito a dante12 di seguito)
Quindi, se hai bisogno della tua CPU o più comunemente, del tuo Identificatore modello , puoi usare lo stesso comando associato a grep .
system_profiler SPHardwareDataType | grep Identifier
Risponde con
Model Identifier: iMac13,2
ark.intel.com
è in grado di dirmi che dopo aver sollevato lo sguardo i7-3770
)
Apri Terminale e digita o copia e incolla i seguenti comandi
system_profiler SPHardwareDataType | grep Processor
o
system_profiler SPHardwareDataType
o
sysctl -n machdep.cpu.brand_string
sysctl -a | grep cpu
Inoltre, ho trovato una bella sceneggiatura su Github (grazie a @ 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
comando mi ha aiutato per l'output dei flag della CPU.
La CPU ha la propria stringa di numero di modello incorporata. Il software può eseguire l' CPUID
istruzione con i parametri giusti per copiare la stringa nei registri. La stringa sarà simile a " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
". Puoi ottenerlo dalla riga di comando con
sysctl -n machdep.cpu.brand_string
In realtà non conosco OS X. Sto rispondendo a questa domanda come qualcuno che è spesso frustrato dai numeri di riferimento nelle risposte SO che non menzionano l'hardware. Su Linux, alcune distribuzioni vengono spedite lscpu
e / o x86info
, ma nessuna delle due decodifica il numero del modello in un nome in codice Intel. I numeri seguono uno schema, quindi è abbastanza facile da decodificare (vedi sotto).
Nessuna delle risposte esistenti ha menzionato alcun metodo GUI che fornisce il numero di modello. Tutti i metodi della GUI mostrano semplicemente "Core i7", che non è assolutamente sufficiente. Per favore, non dire alla gente che hai "un core i7", perché questo fa perdere tempo a tutti .
"i7" potrebbe essere qualsiasi cosa, da Nehalem a Skylake. Ci sono enormi differenze tra Nehalem e Sandybridge e differenze importanti da SnB a Haswell a Skylake.
Se qualcuno ti chiede su quale microarchitettura hai eseguito il tuo benchmark , la stringa del modello da questa è un'ottima risposta contenente più informazioni oltre al nome della microarchitettura, quindi copia e incolla su di essa (ad esempio "CPU i7-3770 @ 3.40GHz").
La maggior parte delle persone che ti chiedono che sapranno decodificare i numeri di modello, quindi non sentirti in dovere di riassumerlo o cercarlo. Preferirei piuttosto che qualcuno copiasse / incollasse il numero esatto del modello, dato che posso cercarlo su Google per scoprire dettagli come la dimensione della cache. ( http://ark.intel.com/ ha una pagina per ogni modello, e quelli di solito arrivano in alto nei risultati di ricerca di Google. Tuttavia, quelli non usano i nomi in codice).
Ci sono modelli "Pentium" e "Celeron" di ogni microarchitettura, ma hanno AVX disabilitato, quindi le persone li usano solo per macchine ultra-economiche.
Le CPU "i7 extreme" sono un'eccezione a questo. ad es. i7-5960X è ancora Haswell, ma è 8 core (16 hyperthreads) con memoria quad-channel. IDK se Apple vende macchine con tali CPU.
Wikipedia ha eccellenti tabelle di numeri di modello per ogni microarchitettura. Ad esempio, puoi cercare su Google x5690 Wikipedia per scoprire rapidamente che un Xeon X5690 è un processore di architettura Westmere .
Per saperne di più sulle differenze tra le condutture di varie microarchitettura , vedi articoli come questo Ars Technica su Haswell . Anche gli articoli di Wikipedia non sono male.
Per un punto di vista più tecnico sull'architettura della CPU, vedere gli eccellenti scritti di David Kanter Sandybridge e Haswell .
Il PDF di microarchitettura di Agner Fog è eccellente se stai analizzando / ottimizzando il linguaggio assembly (o l'output del compilatore), ad esempio cercando di dare un senso ai contatori di perf.
I manuali di ottimizzazione di Intel e AMD presentano anche alcuni dettagli microarchitettura, ma non sempre spiegano i loro suggerimenti di ottimizzazione asm con l'analisi del funzionamento della microarchitettura. Ecco perché preferisco la guida alla nebbia di Agner.
Vedi anche il wiki di Stackoverflow x86 wiki , che ho ampliato / migliorato molto nell'ultimo anno.
gcc o clang -march=native
possono stampare un nome in codice per te , perché i nomi delle opzioni di ottimizzazione corrispondono ai nomi in codice uarch di Intel (ad esempio -march=sandybridge
). Per AMD: -march=bdver2
= Piledriver = Bulldozer versione 2.
clang-3.5 -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'target-cpu \w*'
Sul mio sistema stampa Linux Core2: target-cpu core2
. Presumo che farà qualcosa di simile su OS X.
gcc -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'arch=\w*'
sul mio sistema Linux Core2 stampa:
arch=native
arch=core2 <----- This one
arch=native
Questo comando viene compilato /dev/null
come 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 = opzioni qualunque -mmmx -msse2 ... `.
grep -o
stampa solo la parte corrispondente delle linee corrispondenti. \w*
corrisponde a 0 o più caratteri di parole.
Hai bisogno di una versione abbastanza nuova di clang o gcc per riconoscere la microarchitettura della tua CPU e mapparla su un nome in codice. Una vecchia versione di gcc stamperà semplicemente qualcosa come -march=core2
anche per un Haswell, e -mtune=intel
o qualcosa del genere.
Un altro approccio simile è quello di filtrare l'output di asm da gcc -fverbose-asm
, che include le opzioni di ottimizzazione come commenti. Non conosco un clang equivalente per questo.
gcc -xc /dev/null -O3 -fverbose-asm -march=native -o- -S | grep -o 'arch=\w*'
arch=core2
Funziona su un sistema Haswell: vedi questo esempio su Godbolt Compiler Explorer . Nota -march=haswell
nell'output.
gcc
o clang
qualcosa che ci si aspetterebbe di trovare su un Mac (non programmatore)?
clang
sia disponibile solo dopo aver installato xcode. Besdies è sufficiente usare clang
invece diclang-3.5
Nel menu Apple (in alto a sinistra sullo schermo) seleziona Informazioni su questo Mac. Quindi cerca un pulsante che dice Ulteriori informazioni, aprirà una finestra con TUTTO sul mac incluso il suo numero di modello (ad esempio MacBook Pro 12.3), quindi utilizza l'app MacTracker sopra menzionata o cerca semplicemente quel nome e otterrai quelle informazioni .
Vai a uno dei siti di aggiornamento del Mac e inserisci il tuo numero di serie / numero di modello da Informazioni su questo Mac.
Esempio http://www.everymac.com/ultimate-mac-lookup/
Inserire il numero di serie
Immettere le informazioni Catpcha.
Otterrai le specifiche di riepilogo
Fai clic su Specifiche complete del Mac.
E ti dirà i dettagli dei chip (22nm Haswell i5 4250U) oltre a confronti con i modelli precedenti e successivi.
Il modo migliore che ho trovato per scoprire informazioni sulla tua CPU in un computer Apple è eseguire l'utility MacCPUID di Intel. Puoi trovarlo qui .
C'è un'app per iOS e Mac chiamata Mactracker . Mostra varie informazioni sui Mac.