Bir MacBook'un hangi CPU'yu kullandığını nasıl belirlerim?


28

Bu notebookun hangi işlemciyi kullandığını "Ivy Bridge" ve "Haswell" gibi kod adlarıyla belirlemek istiyorum. Sol üst kısımdaki küçük Apple logosu bazı bilgileri gösterir, ancak bunu göstermez.


2
Şimdiye kadar cevapların hiçbiri bana bir kod numarası dışında işlemcimin ne olduğunu kesin olarak söylemiyor. Intel'de işlemciyi aramak bile 'aileyi' vermiyor. Sadece Mactracker ve Everymac'ın bile bir tahminde bulunabiliyordu, ve aralarında 5 olabilirdi ya da olmasın, çünkü gerçek CPU'm asla yeni bir Mac'ta satılmadı - Intel (R) Xeon® CPU X5690 @ 3.47GHz
Tetsujin

2
@Tetsujin: google x5690 wikipedia ve bunun bir Westmere mikro mimarisi işlemcisi olduğunu göreceksiniz . (Nehalem'in aynı performansla büzüşmesiyle ölür, ancak AES'e yeni talimatlar ekler ve kripto için carryless-çarpın).
Peter Cordes

2
@PeterCordes - kesin. Aslında bu bir Westmere makinedir biliyorum, ama benim ana nokta şu ana kadar biraz kendime ait Google Fu olmadan, yani birini bana anlatırdı cevapların hiçbiri oldu aslında başlı başına OP'ın sorusunu cevaplayın.
Tetsujin

1
@Tetsujin: iyi nokta; Bu, cevabı bilenlerin bilmeyen insanlar için açık olmadığını unutmuş olduğu durumlardan biridir. Adım 2'yi kapsayan bir cevap ekledim.
Peter Cordes

ve mükemmel bir cevap.
Tetsujin

Yanıtlar:


39

Öncelikle, işlemcinin mikro mimarisinin adını (Broadwell, Sandy Lake, Ivy Bridge vb.) Almayacaksınız çünkü bu, Intel işlemciler için önemli bir markalaşma planı değil. Apple ile pazarlama departmanı, operasyon sistemlerinin (Mavericks, Yosemite, El Capitan) kod adlarını aktif olarak pazarlamayı tercih ediyor. Bu bir pazarlama sözleşmesi, teknik değil.

Tüm Intel İşlemcilerin ve kod adlarının, mimarilerinin ve teknik özelliklerinin bir listesi için, Wikipedia'nın Intel Mikroişlemciler Listesi iyi bir sayfaya sahiptir.

Yani, bu soruyu cevaplamak için, sana ne işlemci öğrenmek için üç yöntem sağlamak için gidiyorum, çoğu kullanıcı için iyi olmalı, ilk iki, ve sen belirleyebilir hangi üçüncü yöntem mikro mimarisi numarasını bakabilirsin böylece Intel'in destek sitesinde. Sizin için geçerli olan bölüme "atlayabilirsiniz".

  1. Bu Mac hakkında (genel CPU bilgisi)
  2. Sistem Profilcisi (genel CPU bilgisi)
  3. Terminal (detaylı CPU bilgisi)


Bu Mac hakkında

Ekranınızın üst kısmındaki Apple sembolüne tıklayarak, Bu Mac Hakkında'yı seçin.

görüntü tanımını buraya girin

Sisteminize genel bir bakış sağlayan bir ekran göreceksiniz. İşlemciniz burada listelenecek.

görüntü tanımını buraya girin


Sistem Profilcisi

Sistem Raporu ... (yeşil ok) işaretli düğmeyi tıklatarak sisteminizin tam bir profilini edinebilirsiniz. İlk sayfada, işlemci bilgileri de dahil olmak üzere makineniz hakkında size daha ayrıntılı bilgi verecektir.

görüntü tanımını buraya girin

terminal

Ben genel olarak Terminal hayranıyım. OS X’te GUI’de gördüğünüz her şeye IMHO komut satırı üzerinden daha hızlı ve daha doğru bir şekilde erişilebilir.

Mikro mimari numarasını içeren tam CPU modelini almak için Terminal'de aşağıdaki komutu uygulayın:

sysctl -n machdep.cpu.brand_string

Kullanmakta olduğunuz tam işlemciyi alacaksınız. Örneğin, iMac'imde, yukarıdaki komut aşağıdakilerle yanıt veriyor:

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

Daha sonra i7-3770 için bir arama yapabilir ve kod adını ve özelliklerini açabilirsiniz .

Sadece referans için Terminal komutunu kullanabilirsiniz:

system_profiler SPHardwareDataType

ve tıpkı ikinci bölümde, System Profiler'da yayınladığım ekrana benzeyen bir sonuç alın :

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

(Aşağıdaki dante12 kredi)

Bu nedenle, eğer CPU'nuza veya daha yaygın olarak, Model Tanımlayıcınıza ihtiyaç duyduysanız , aynı komutu grep ile birlikte kullanabilirsiniz .

system_profiler SPHardwareDataType | grep Identifier

İle cevap veriyor

  Model Identifier: iMac13,2

11
Sağladığınız tüm seçeneklerin dışında, yalnızca Terminal yöntemi aslında bir şeyleri kaçırmadığım sürece, size sorunda istenen mimariyi söyleyecektir.
Bob

3
@Bob Bir şeyi kaçırmıyorsam, mimariyi her iki seçenekte de göremiyor gibiyim. (Bunun haricinde ark.intel.combana baktıktan sonra söyleyebiliyor i7-3770)
Num Lock

4
@NumLock Oh, mimari adına sahip olmamak beklenir (CPU'nun aslında kod adı olarak rapor edildiğini sanmıyorum, bu yüzden OS'nin güncel bir veri tabanı tutması gerekecekti ...). Model numarası mimariyi kolayca ve benzersiz bir şekilde tanımlamak için yeterli, yani IMO önemlidir. Ancak buradaki Terminal dışı seçenekler model numarasını bile vermiyor; sadece çekirdek sayısı ve saat hızı ile hangi CPU'nun (ve bunun performansı, verimliliği vb.) olduğunu tahmin etmeye çalışmak (temel saat mi yoksa maksimum turbo artışı mı?) yanlış ve genel olarak kötü bir fikirdir.
Bob

1
Terminal seçeneği bu cevaptaki tek yararlı şey. Birisine hangi CPU üzerinde test ettiklerini sorduysam ve "Core i7" dediler, tek bildiğim bir Nehalem (2008) ya da daha yenisi olduğuydu. Nehalem ve Sandybridge arasında büyük farklılıklar var ve SnB'den Haswell'den Skylake'e kadar önemli farklılıklar var. İnsanları CPU'larının ne kadar mikro mimarisine sahip olduğunu sorduğunda insanları işe yaramaz cevaplar vermeye teşvik etmemek için diğer seçenekleri kaldırmalısınız. Model numarası harika, çünkü ilk basamaktan ne kadar mikroarch olduğunu bir bakışta ya da tüm ayrıntılar için google’da söyleyebilirsin.
Peter Cordes

4
Size model numarasını söylemeyan iki işe yaramaz yöntem önerirsiniz, sadece "i7", ve önce onları önerirsiniz. OP'nin sorusunu yanıtlamanıza izin veren tek yolun terminal yolu olduğunu açıkça belirtmiyorsunuz. "About" ve "System Profiler" öğeleri yalnızca zaman kaybı gibi görünüyor. Daha da kötüsü, "işlemci bilgisine" işaret eden kırmızı ok, "Core i7" nin "sahip olduğum mikro mimariye sahip" sorusu için geçerli bir cevap olduğunu gösteriyor. Tatmin edici bir cevap veren bir GUI yolu olmaması çok kötü, ama yok.
Peter Cordes

10

Terminal'i açın ve aşağıdaki komutu yazın veya kopyalayıp yapıştırın

system_profiler SPHardwareDataType | grep Processor

veya

system_profiler SPHardwareDataType

veya

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

Ayrıca, güzel bir senaryo buldum Github (teşekkürler @ için rbanffy ):

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

Teşekkürler, $ sysctl -a | grep \.features\: | fmt -w 48komut bana CPU bayrakları çıktısı için yardımcı oldu.
pasifize

5

İşlemci inşa kendi model numarası dizi bulunur. Yazılım çalıştırabilir talimat kaynIarına- dize kopyalamak için doğru parametrelerle. Dize " " gibi bir şey olacak . Komut satırından alabilirsinizCPUIDIntel(R) Core(TM) i7-3770 CPU @ 3.40GHz

sysctl -n machdep.cpu.brand_string

Aslında OS X'i bilmiyorum. Bunu, donanımdan bahsetmeyen SO cevaplarında kıyaslama numaralarından sık sık rahatsız olan biri olarak yanıtlıyorum. Linux'ta, bazı dağıtımlar lscpuve / veya dağıtıyor x86info, ancak ikisi de model numarasını ya bir Intel kod adına dönüştürmedi. Rakamlar bir kalıp izler, bu yüzden kodunu çözmek oldukça kolaydır (aşağıya bakınız).

Mevcut cevapların hiçbiri, model numarasını veren herhangi bir GUI yönteminden bahsetmedi. Tüm GUI yöntemleri sadece yeterince yakın olmayan “Core i7” yi gösterir. Lütfen insanlara "çekirdek i7" olduğunu söyleme, çünkü bu sadece herkesin zamanını boşa harcıyor .

"i7", Nehalem'den Skylake'e kadar herhangi bir şey olabilir. Nehalem ve Sandybridge arasında büyük farklılıklar var ve SnB'den Haswell'den Skylake'e kadar önemli farklılıklar var.


Birisi size hangi mikro mimariyi kullandığınızı sorarsa , model dizisi bundan sadece mikro mimarinin adından daha fazla bilgi içeren harika bir cevaptır, bu nedenle bunları kopyalayıp yapıştırın (örn. "İ7-3770 CPU @ 3.40GHz").

Sizi soran çoğu insan, model numaralarının nasıl çözüleceğini bilecek, bu yüzden onu özetlemeniz veya onlar için arama yapmanız gerekmiyor. Önbellek boyutu gibi ayrıntıları bulmak için google’a girebildiğim için, birinin model numarasını tam olarak kopyalayıp yapıştırmasını istiyorum. ( http://ark.intel.com/ , her model için bir sayfaya sahiptir ve bu kullanıcılar google’ın arama sonuçlarında genellikle yükselir. Ancak, kod adlarını kullanmazlar).

Her bir mikromimarinin "Pentium" ve "Celeron" modelleri var, ancak AVX'i devre dışı bıraktılar, böylece insanlar bunları yalnızca ultra bütçeli makineler için kullanıyorlar.

"İ7 extreme" CPU'lar bunun bir istisnası. örneğin, i7-5960X hala Haswell'dir, ancak dört kanallı belleğe sahip 8 çekirdekli (16 köprü). IDK, eğer Apple bu tür işlemcilere sahip herhangi bir makine satıyorsa.

Wikipedia'da her bir mikro mimari için mükemmel model numaraları tabloları vardır. Örneğin , hızlı bir şekilde bir Xeon X5690'ın bir Westmere mimarisi işlemcisi olduğunu bulmak için google x5690 wikipedia'ını kullanabilirsiniz .


Çeşitli mikro mimarilerin boru hatları arasındaki farklar hakkında daha fazla bilgi edinmek için , Haswell hakkındaki Ars Technica ile ilgili makalelere bakın . Wikipedia makaleleri bile fena değil.

Daha teknik bir CPU mimarisi bakış açısı için, bkz. David Kanter'in mükemmel Sandybridge ve Haswell yazıları .

Agner Fog'ın mikro mimari PDF'si , eğer montaj dilini (veya derleyici çıktısını) analiz ediyor / ayarlarsanız, örneğin perf sayaçlarını anlamaya çalışıyorsanız mükemmeldir.

Intel'in ve AMD'nin optimizasyon kılavuzlarında da bazı mikro mimari detaylar var, ancak asm optimizasyon önerilerini her zaman mikro mimarinin nasıl çalıştığının analiziyle açıklamayın. Bu yüzden Agner Fog'un rehberini tercih ediyorum.

Ayrıca geçen yıl çok büyüttüğüm / geliştirdiğim Stackoverflow x86 etiketi wiki'sine de bakın .


1
Ayrıca daha fazla (biraz modası geçmiş) bilgi burada . Muhtemelen aile / model / adımlama numaralarını bulabilirsin sysctlama bunu denemek için Mac'im yok.
Bob

2

gcc veya clang -march=native, sizin için bir kod adı yazdırabilir , çünkü ayar seçeneklerinin adları Intel'in yüksek kod adlarıyla eşleşir (örn. -march=sandybridge). AMD için: -march=bdver2= Piledriver = Buldozer sürüm 2

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

Benim Linux Core2 sistemi baskılar üzerinde: target-cpu core2. OS X'te benzer bir şey yapacağını tahmin ediyorum.

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

Linux Core2 sistemimde yazdırıyor:

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

Bu komut /dev/nullC ( -xc) olarak derlenir . 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 = her ne olursa olsun -mmmx -msse2 ... `seçenekleri.

grep -oyalnızca eşleşen satırların eşleşen kısmını yazdırır. \w*0 veya daha fazla kelime karakteriyle eşleşir.


İşlemcinizin mikro mimarisini tanımak ve bir kod adına eşlemek için yeterince yeni bir clang veya gcc sürümüne ihtiyacınız var. Eski bir gcc sürümü sadece -march=core2Haswell için bile bir -mtune=intelşey veya başka bir şey basacaktır .

Benzer bir yaklaşım da, asm çıktısını, -fverbose-asmyorum olarak optimizasyon seçeneklerini içeren gcc'lerden filtrelemektir . Bunun için eşdeğer bir clang bilmiyorum.

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

arch=core2

Bu bir Haswell sisteminde çalışır: Godbolt Derleyici Gezgini'nde bu örneğe bakın . Çıktıya dikkat edin -march=haswell.


İlginç ve oldukça yeni bir yaklaşım! Soru: is gccveya clangbir şey biri (non-programcı) Mac üzerinde bulmak beklenir?
Bob

@Bob: IDK, Mac'im bile yok! Buraya "sıcak ağ soruları" kenar çubuğundan geldim. Çoğu Unix programı kaynak biçiminde dağıtılmıştır, bu nedenle bazı kişiler hiç programlamasanız veya C de olmasanız bile Mac'lerinde bir C derleyicisine sahip olur (örneğin, bazı perl modülleri derlenecek C ile gelir). (Her neyse, bu cevap çoğunlukla Mac'lerinde oldukça düzenli olarak gcc kullanan veya Mac'lerinde kullanan kişileri hedef aldı, ancak Intel donanım uzmanları değil. Bir donanım meraklısı olmadan bir programcı olmak mümkündür.
Peter Cordes

Bence clangsadece xcode yükledikten sonra kullanılabilir. Besdies clangyerine kullanmak yeterlidirclang-3.5
Anthony Kong

1

Apple menüsünde (ekranınızın sol üst köşesinde) Bu Mac Hakkında'yı seçin. Ardından Daha Fazla Bilgi yazan bir düğmeyi arayın, model numarası dahil olmak üzere her şey hakkında mac hakkında bir pencere açacak (örneğin MacBook Pro 12.3), daha sonra yukarıda belirtilen MacTracker uygulamasını kullanın ya da sadece bu ismi arayın. .


1

Mac yükseltme sitelerinden birine gidin ve bu Mac Hakkında'dan seri numaranızı / model numaranızı girin.

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

Seri numarasını giriniz.

Catpcha bilgilerini girin.

Özet özelliklerini alacaksınız

Mac özelliklerini tamamla düğmesine tıklayın.

Ve size cips detaylarını (22nm Haswell i5 4250U) ve ayrıca önceki ve sonraki modellerle karşılaştırmasını söyleyecektir.


1

Bir Apple bilgisayarda CPU'nuz hakkında bilgi bulmanın en iyi yolu MacCPUID yardımcı programını Intel tarafından çalıştırmaktır. Burada bulabilirsiniz .


0

Mactracker adında bir iOS ve Mac uygulaması var . Mac'ler hakkında çeşitli bilgiler gösterir.


Bunun neden indirildiğinden emin değilim. Bu ücretsiz bir uygulama ve çok faydalı. Modeli bulmak, Genel sekmesine gitmek ve tam olarak ne istediğinizi size söyler.
Hefewe1zen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.