Come posso identificare quale CPU utilizza un MacBook?

21

Mi piacerebbe identificare quale CPU utilizza questo notebook, in termini di nomi di codice come "Ivy Bridge" e "Haswell". Il piccolo logo Apple in alto a sinistra mostra alcune informazioni, ma non questo.

    
posta DarenW 18.05.2016 - 22:52
fonte

8 risposte

34

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. A differenza di Apple, il reparto marketing sceglie di commercializzare attivamente i nomi in codice dei loro sistemi operativi (Mavericks, Yosemite, El Capitan). È una convention di marketing, non tecnica.

Per un elenco di tutti i processori Intel e i loro nomi in codice, architetture e specifiche, Elenco di Wikipedia dei microprocessori Intel ha una buona pagina.

Quindi, per rispondere a questa domanda, ho intenzione di fornire 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 numero di microarchitettura così puoi cercarlo sul sito di supporto di Intel. Puoi "saltare" alla sezione che ti riguarda.

  1. Informazioni su questo Mac (informazioni generali sulla CPU)
  2. System Profiler (informazioni generali sulla CPU)
  3. Terminale (informazioni dettagliate sulla CPU)

Informazioni su questo Mac

Facendo clic sul simbolo Apple nella parte superiore dello schermo, seleziona Informazioni su questo Mac

Verràvisualizzataunaschermatacheoffreunapanoramicadelsistema.Iltuoprocessoresaràelencatoqui.

SystemProfiler

FacendoclicsulpulsantecontrassegnatoRapportosistema...(frecciaverde)siottieneunprofilocompletodelsistema.Nellaprimapagina,tiforniràinformazionipiùdettagliatesullatuamacchina,incluseleinformazionisulprocessore

Terminale

SonounfandiTerminalingenerale.QuasituttociòchevedinellaGUIinOSXpuòessereconsultatopiùrapidamenteeconmaggioreprecisioneattraversolarigadicomando,IMHO.

PerottenereilmodellodiCPUesattocheincludeilnumerodellamicroarchitettura,inTerminale,eseguireilseguentecomando:

sysctl-nmachdep.cpu.brand_string

Otterraiesattamenteilprocessorechestaiutilizzando.Adesempio,sulmioiMac,ilcomandosoprarispondecon:

Intel(R)Core(TM)[email protected]

Puoiquindieseguireunaricercaper i7-3770 e richiama il nome e le specifiche del codice.

Solo per riferimento, puoi usare il comando Terminale:

system_profiler SPHardwareDataType

e ottieni un risultato simile allo schermo che ho postato 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 avevi bisogno della tua CPU o più comunemente, del tuo Identificatore del modello , puoi usare lo stesso comando accoppiato con grep .

system_profiler SPHardwareDataType | grep Identifier

Risponde indietro con

  Model Identifier: iMac13,2
    
risposta data 19.05.2016 - 00:03
fonte
9

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 un bel script 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
    
risposta data 18.05.2016 - 23:59
fonte
5

La CPU ha una propria stringa del numero di modello integrata. Il software può eseguire l'istruzione CPUID con il parametri giusti per copiare la stringa in registri. La stringa sarà qualcosa come " 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 questo come qualcuno che è spesso frustrato dai numeri di riferimento nelle risposte SO che non menzionano l'hardware. Su Linux, alcune distro spediscono lscpu e / o x86info , ma nessuno di loro decodifica il numero di modello in un nome in codice Intel. I numeri seguono uno schema, quindi è abbastanza facile decodificare (vedi sotto).

Nessuna delle risposte esistenti ha menzionato alcun metodo GUI che fornisce il numero del modello. Tutti i metodi della GUI mostrano semplicemente "Core i7", che non è affatto sufficiente. Per favore non dire alle persone 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 importanti differenze da SnB a Haswell a Skylake.

Se qualcuno ti chiede quale microarchitettura hai eseguito il tuo benchmark su , la stringa del modello è un'ottima risposta contenente più informazioni rispetto al nome della microarchitettura, quindi copia e incolla (ad es. "CPU i7-3770 @ 3.40 GHz").

La maggior parte delle persone che ti chiedono sapranno come decodificare i numeri di modello, quindi non hai bisogno di sintetizzarlo o cercarlo. Preferirei che qualcuno copiasse / incollasse il numero esatto del modello, dato che posso cercarlo su google per trovare dettagli come la dimensione della cache. ( link 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 i modelli "Pentium" e "Celeron" di ogni microarchitettura, ma hanno AVX disabilitato così le persone li usano solo per macchine ultra-budget.

Le CPU "i7 extreme" sono un'eccezione a questo. per esempio. i7-5960X è ancora Haswell, ma è 8 core (16 hyperthreads) con memoria quad-channel. IDK se Apple vende macchine con tali CPU.

Wikipedia ha tabelle eccellenti di numeri di modello per ogni microarchitettura. per esempio. puoi google x5690 wikipedia per scoprire rapidamente che Xeon X5690 è una architettura Westmere processore.

Per ulteriori informazioni sulle differenze tra le pipeline di varie microarchitetture , vedi articoli come questo Ars Technica one su Haswell . Anche gli articoli di Wikipedia non sono male.

Per un punto di vista più tecnico dell'architettura della CPU, vedi l'eccellente Sandybridge di David Kanter e Haswell writeups.

La microarchitettura di Agner Fog in PDF è eccellente se stai analizzando / accordando il linguaggio assembly (o l'output del compilatore), ad es. cercando di dare un senso ai segnalini perf.

I manuali di ottimizzazione di Intel e AMD hanno anche alcuni dettagli microarchitetturali, ma non sempre spiegano i loro suggerimenti di ottimizzazione dell'asma con l'analisi di come opera la microarchitettura. Questo è il motivo per cui preferisco la guida di Agner Fog.

Vedi anche la wiki dei tag Stackoverflow x86 , che ho ampliato / migliorato molto nell'ultimo anno.

    
risposta data 19.05.2016 - 17:14
fonte
2

gcc o clang -march=native può 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 Linux Core2 viene stampato: 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 compila /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 = qualunque -mmmx -msse2 ... 'opzioni.

grep -o stampa solo la parte corrispondente delle linee corrispondenti. \w* corrisponde a 0 o più caratteri word.

Hai bisogno di una nuova versione di clang o gcc per riconoscere la microarchitettura della tua CPU e mapparla con un nome in codice. Una vecchia versione gcc stamperà qualcosa come -march=core2 anche per un Haswell e -mtune=intel o qualcosa del genere.

Un altro approccio simile è quello di filtrare l'output asm da% c_co% di gcc, che include le opzioni di ottimizzazione come commenti. Non conosco un equivalente clang per questo.

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

arch=core2

Funziona su un sistema Haswell: guarda questo esempio su Godbolt Compiler Explorer . Nota il -fverbose-asm nell'output.

    
risposta data 21.05.2016 - 15:14
fonte
1

Nel menu Apple (in alto a sinistra dello schermo) seleziona Informazioni su questo Mac. Quindi cerca un pulsante che dice Altre informazioni, si aprirà una finestra con TUTTO su Mac, incluso il suo numero di modello (MacBook Pro 12.3 per esempio), quindi usa l'app MacTracker menzionata sopra o cerca solo quel nome e otterrai informazioni .

    
risposta data 18.05.2016 - 23:25
fonte
1

Accedi a uno dei siti di aggiornamento Mac e inserisci il numero di serie / il numero di modello da Informazioni su questo Mac.

Esempio link

Immettere il numero di serie

Inserisci le informazioni Catpcha.

Riceverai le specifiche di riepilogo

Fai clic su Completa specifiche Mac.

E ti dirà i dettagli dei chip (22nm Haswell i5 4250U) più anche i confronti con i modelli precedenti e successivi.

    
risposta data 20.05.2016 - 10:55
fonte
1

Il modo migliore che ho trovato per trovare informazioni sulla tua CPU in un computer Apple è eseguire l'utility MacCPUID di Intel. Puoi trovarlo qui .

    
risposta data 18.01.2018 - 19:00
fonte
0

C'è un'app per iOS e Mac chiamata Mactracker . Mostra varie informazioni sui Mac.

    
risposta data 18.05.2016 - 23:06
fonte

Leggi altre domande sui tag