Bagaimana cara mengidentifikasi CPU yang digunakan MacBook?

28

Saya ingin mengidentifikasi CPU mana yang digunakan notebook ini, dalam hal nama kode seperti "Ivy Bridge" dan "Haswell". Logo Apple kecil di kiri atas menunjukkan beberapa informasi, tetapi bukan ini.

DarW
sumber
2
Yah, sejauh ini tidak ada jawaban yang memberi tahu saya dengan pasti apa prosesor saya, selain nomor kode. Bahkan mencari prosesor di Intel tidak memberikan 'keluarga'. Hanya Mactracker & Everymac yang memiliki dugaan, & di antara mereka bisa ada 5 ... atau tidak, karena CPU saya yang sebenarnya tidak pernah dijual di Mac baru - Intel (R) Xeon® CPU X5690 @ 3.47GHz
Tetsujin
2
@Tujujin: google x5690 wikipedia dan Anda akan melihat bahwa itu adalah CPU mikroarsitektur Westmere . (die shrink of Nehalem dengan kinerja yang identik, tetapi menambahkan instruksi baru AES, dan carry-multiply untuk crypto).
Peter Cordes
2
@PeterCordes - pasti. Saya benar-benar tahu itu adalah mesin Westmere, tetapi poin utama saya adalah bahwa tidak ada jawaban sejauh ini yang akan memberi tahu saya bahwa tanpa Google-Fu kecil saya sendiri, jadi jangan benar - benar menjawab pertanyaan OP, per se.
Tetsujin
1
@Tetsujin: poin bagus; ini adalah salah satu kasus di mana orang yang tahu jawabannya lupa bahwa tidak jelas bagi orang yang tidak tahu. Saya menambahkan jawaban yang mencakup langkah 2.
Peter Cordes
& jawaban yang sangat bagus juga.
Tetsujin

Jawaban:

39

Pertama, Anda tidak akan mendapatkan nama arsitektur mikro prosesor (Broadwell, Sandy Lake, Ivy Bridge, dll.) Karena itu bukan skema branding yang menonjol untuk prosesor Intel. Berbeda dengan Apple, departemen pemasaran memilih untuk secara aktif memasarkan nama kode sistem operasi mereka (Mavericks, Yosemite, El Capitan). Ini adalah konvensi pemasaran, bukan yang teknis.

Untuk daftar semua Prosesor Intel dan nama kode, arsitektur, dan spesifikasinya, Daftar Intel Mikroprosesor Wikipedia memiliki halaman yang bagus.

Jadi, untuk menjawab pertanyaan ini, saya akan memberikan tiga metode untuk mengetahui CPU apa yang Anda miliki, dua yang pertama, yang seharusnya baik untuk sebagian besar pengguna, dan metode ketiga di mana Anda dapat menentukan angka arsitektur mikro sehingga Anda dapat melihat itu di situs dukungan Intel. Anda dapat "melompat" ke bagian yang sesuai untuk Anda.

  1. Tentang Mac ini (info CPU umum)
  2. System Profiler (info CPU umum)
  3. Terminal (info CPU terperinci)


Tentang Mac ini

Mengklik simbol Apple di bagian atas layar, pilih Tentang Mac ini

masukkan deskripsi gambar di sini

Anda akan mendapatkan layar yang memberikan Anda gambaran sistem Anda. Prosesor Anda akan tercantum di sini.

masukkan deskripsi gambar di sini


Profiler Sistem

Mengklik pada tombol bertanda Laporan Sistem ... (panah hijau) Anda mendapatkan profil lengkap dari sistem Anda. Pada halaman pertama, ini akan memberi Anda informasi lebih rinci tentang mesin Anda, termasuk info prosesor

masukkan deskripsi gambar di sini

Terminal

Saya penggemar Terminal secara umum. Hampir semua yang Anda lihat di GUI di OS X dapat diakses lebih cepat dan lebih akurat melalui baris perintah, IMHO.

Untuk mendapatkan model CPU yang tepat termasuk nomor arsitektur mikro, di Terminal, jalankan perintah berikut:

sysctl -n machdep.cpu.brand_string

Anda akan mendapatkan prosesor yang tepat yang Anda gunakan. Misalnya, pada iMac saya, perintah di atas merespons dengan:

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

Anda kemudian dapat melakukan pencarian untuk i7-3770 dan menarik nama kode dan spesifikasi.

Hanya untuk referensi, Anda dapat menggunakan perintah Terminal:

system_profiler SPHardwareDataType

dan dapatkan hasil yang terlihat persis seperti layar yang saya posting di bagian kedua, 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

(Kredit ke dante12 di bawah)

Jadi, jika Anda membutuhkan CPU atau yang lebih umum, Model Identifier Anda, Anda dapat menggunakan perintah yang sama ditambah dengan grep .

system_profiler SPHardwareDataType | grep Identifier

Merespon kembali dengan

  Model Identifier: iMac13,2
Allan
sumber
11
Dari semua opsi yang Anda berikan, hanya metode Terminal yang benar-benar akan memberi tahu Anda arsitektur seperti yang diminta dalam pertanyaan, kecuali saya kehilangan sesuatu.
Bob
3
@ Bob kecuali jika saya kehilangan sesuatu, saya tidak bisa melihat arsitektur di kedua opsi. (kecuali yang ark.intel.combisa memberitahuku setelah melihat ke atas i7-3770)
Num Lock
4
@NumLock Oh, tidak memiliki nama arsitektur yang diharapkan (Saya tidak berpikir CPU benar-benar melaporkan sebagai nama kode, sehingga OS harus menjaga database yang up-to-date ...). Nomor model cukup untuk dengan mudah dan unik mengidentifikasi arsitektur, jadi IMO yang diperhitungkan. Tetapi opsi non-Terminal di sini bahkan tidak memberikan nomor model; mencoba menebak CPU yang mana (dan kinerjanya, efisiensi, dll.) hanya dengan jumlah inti dan kecepatan clock (apakah base clock atau max turbo boost?) tidak akurat dan umumnya merupakan ide yang buruk.
Bob
1
Opsi terminal adalah satu-satunya hal yang berguna dalam jawaban ini. Jika saya bertanya kepada seseorang CPU apa yang mereka uji, dan mereka berkata "Core i7", yang saya tahu hanyalah bahwa itu adalah Nehalem (2008) atau lebih baru. Ada perbedaan besar antara Nehalem dan Sandybridge, dan perbedaan penting dari SnB ke Haswell ke Skylake. Anda harus menghapus opsi lain untuk tidak mendorong orang memberikan jawaban yang tidak berguna ketika orang bertanya kepada mereka apa arsitektur mikro yang dimiliki CPU mereka. Nomor modelnya bagus, karena Anda dapat melihat sekilas dari digit pertama apa microarch itu, atau google untuk detail lengkap.
Peter Cordes
4
Anda masih menyarankan dua metode tidak berguna yang tidak memberi tahu Anda nomor model, hanya "i7", dan Anda menyarankan mereka terlebih dahulu. Anda tidak memperjelas bahwa cara terminal adalah satu-satunya yang memungkinkan Anda menjawab pertanyaan OP. Hal-hal "Tentang" dan "Sistem Profiler" tampaknya hanya buang-buang waktu. Lebih buruk lagi, panah merah yang menunjuk pada "info prosesor" menyiratkan bahwa "Core i7" adalah jawaban yang valid untuk pertanyaan "apa arsitektur mikro yang saya punya". Sayang sekali tidak ada cara GUI yang memberikan jawaban yang memuaskan, tetapi tidak ada.
Peter Cordes
10

Buka Terminal dan ketik atau salin dan tempel perintah berikut

system_profiler SPHardwareDataType | grep Processor

atau

system_profiler SPHardwareDataType

atau

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

Juga, saya telah menemukan skrip yang bagus di Github (Terima kasih kepada @ rbanffy ):

open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string 
                              | awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com
dante12
sumber
Terima kasih, $ sysctl -a | grep \.features\: | fmt -w 48perintah telah membantu saya untuk keluaran flag CPU.
menenangkan
5

CPU memiliki sendiri nomor model tali yang dibangun di. Software dapat berjalan dengan CPUIDinstruksi dengan parameter yang tepat untuk menyalin string ke register. String akan menjadi sesuatu seperti " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz". Anda bisa mendapatkannya dari baris perintah dengan

sysctl -n machdep.cpu.brand_string

Saya sebenarnya tidak tahu OS X. Saya menjawab ini sebagai seseorang yang sering frustrasi dengan angka tolok ukur dalam jawaban SO yang tidak menyebut perangkat kerasnya. Di Linux, beberapa distro dikirimkan lscpudan / atau x86info, tetapi tidak satupun dari keduanya yang menerjemahkan kode model menjadi nama kode Intel. Angka-angka mengikuti suatu pola, sehingga cukup mudah untuk memecahkan kode (lihat di bawah).

Tidak ada jawaban yang ada yang menyebutkan metode GUI yang memberikan nomor model. Semua metode GUI hanya menunjukkan "Core i7", yang mana tidak cukup. Tolong jangan bilang orang-orang Anda memiliki "inti i7", karena itu hanya membuang-buang waktu semua orang .

"i7" bisa berupa apa saja dari Nehalem hingga Skylake. Ada perbedaan besar antara Nehalem dan Sandybridge, dan perbedaan penting dari SnB ke Haswell ke Skylake.


Jika seseorang bertanya kepada Anda mikroarsitektur tempat Anda menjalankan patokan Anda , string model dari itu adalah balasan yang bagus yang mengandung lebih banyak informasi daripada hanya nama mikroarsitektur, jadi cukup salin & tempelkan kepada mereka (mis. "I7-3770 CPU @ 3.40GHz").

Kebanyakan orang yang bertanya kepada Anda yang akan tahu cara mendekodekan nomor model, jadi jangan merasa Anda perlu meringkasnya atau mencarinya. Saya lebih suka seseorang menyalin / menempelkan nomor model yang tepat, karena saya dapat google untuk mengetahui detail seperti ukuran cache. ( Http://ark.intel.com/ memiliki halaman untuk masing-masing model, dan mereka biasanya datang tinggi di hasil pencarian google. Namun, mereka tidak menggunakan codenames).

Ada "Pentium" dan model "Celeron" masing-masing mikroarsitektur, tetapi mereka telah AVX dinonaktifkan sehingga orang hanya menggunakannya untuk mesin ultra-anggaran.

CPU "i7 extreme" adalah pengecualian untuk ini. misalnya i7-5960X masih Haswell, tetapi 8 core (16 hyperthreads) dengan memori quad-channel. IDK jika Apple menjual mesin apa pun dengan CPU tersebut.

Wikipedia memiliki tabel nomor model yang luar biasa untuk setiap arsitektur mikro. mis. Anda dapat menggunakan google x5690 wikipedia untuk dengan cepat menemukan bahwa Xeon X5690 adalah prosesor arsitektur Westmere .


Untuk mempelajari lebih lanjut tentang perbedaan antara saluran pipa berbagai mikroarsitektur , lihat artikel seperti ini Ars Technica tentang Haswell . Bahkan artikel Wikipedia tidak buruk.

Untuk sudut pandang arsitektur CPU yang lebih teknis, lihat langganan Sandybridge dan Haswell David Kanter yang sangat baik .

Agner Fog ini mikroarsitektur PDF sangat baik jika Anda sedang menganalisis / tala bahasa assembly (atau output compiler), misalnya mencoba untuk memahami Perf counter.

Manual optimasi Intel dan AMD juga memiliki beberapa detail mikroarsitektur, tetapi tidak selalu menjelaskan saran optimasi asm mereka dengan analisis bagaimana mikroarsitektur beroperasi. Inilah sebabnya saya lebih suka panduan Agner Fog.

Juga lihat wiki tag Stackoverflow x86 , yang telah saya kembangkan / tingkatkan dalam beberapa tahun terakhir.

Peter Cordes
sumber
1
Juga lebih banyak info (agak ketinggalan zaman) di sini . Anda mungkin bisa mendapatkan nomor keluarga / model / loncatan dengan sysctltetapi saya tidak memiliki Mac untuk mencobanya.
Bob
2

gcc atau dentang -march=nativedapat mencetak nama kode untuk Anda , karena nama opsi penyetelan cocok dengan nama kode uarch Intel (mis -march=sandybridge.). Untuk AMD: -march=bdver2= Piledriver = Bulldozer versi 2.

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

Pada sistem saya cetak Linux Core2: target-cpu core2. Saya menganggap itu akan melakukan hal serupa pada OS X.

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

pada sistem Linux Core2 saya mencetak:

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

Perintah ini dikompilasi /dev/nullsebagai 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 = apa pun opsi -mmmx -msse2 ... `.

grep -ohanya mencetak bagian garis yang cocok yang cocok. \w*cocok dengan 0 atau lebih kata-karakter.


Anda membutuhkan versi clang atau gcc yang cukup baru untuk mengenali mikroarsitektur CPU Anda dan memetakannya ke nama-kode. Versi gcc lama hanya akan mencetak sesuatu seperti -march=core2bahkan untuk Haswell, dan -mtune=intelatau sesuatu.

Pendekatan serupa lainnya adalah memfilter keluaran asm dari gcc -fverbose-asm, yang mencakup opsi pengoptimalan sebagai komentar. Saya tidak tahu dentang setara untuk ini.

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

arch=core2

Ini berfungsi pada sistem Haswell: lihat contoh ini di Godbolt Compiler Explorer . Perhatikan -march=haswelldalam output.

Peter Cordes
sumber
Pendekatan yang menarik dan agak baru! Pertanyaan: apakah gccatau clangsesuatu yang diharapkan ditemukan pada Mac (non-programmer)?
Bob
@ Bob: IDK, saya bahkan tidak punya Mac! Saya sampai di sini dari bilah samping "pertanyaan jaringan panas". Banyak program Unix didistribusikan dalam bentuk sumber, sehingga beberapa orang akan memiliki kompiler C di Mac mereka, bahkan jika Anda tidak memprogram sama sekali, atau tidak dalam C. (Beberapa modul perl datang dengan C untuk dikompilasi, misalnya. ) Bagaimanapun, jawaban ini sebagian besar ditujukan pada orang yang menggunakan gcc atau clang pada Mac mereka secara teratur, tetapi bukan ahli perangkat keras Intel. Dimungkinkan untuk menjadi seorang programmer tanpa menjadi seorang geek perangkat keras.
Peter Cordes
Saya pikir clanghanya tersedia setelah Anda menginstal xcode. Besdies sudah cukup untuk digunakan clangsebagai ganticlang-3.5
Anthony Kong
1

Di menu Apple (kiri atas layar Anda) pilih About This Mac. Kemudian cari tombol yang mengatakan More Info, itu akan membuka jendela dengan SEMUA tentang mac termasuk nomor model itu (misalnya MacBook Pro 12.3) kemudian gunakan aplikasi MacTracker yang disebutkan di atas atau hanya mencari pada nama semut itu Anda akan mendapatkan info itu .

Steve Chambers
sumber
1

Pergi ke salah satu situs peningkatan Mac dan masukkan nomor seri / nomor model Anda dari About this Mac.

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

Masukkan no seri.

Masukkan informasi Catpcha.

Anda akan mendapatkan spesifikasi ringkasan

Klik pada spesifikasi Mac Lengkap.

Dan itu akan memberi tahu Anda rincian chip (22nm Haswell i5 4250U) ditambah juga perbandingan dengan model sebelum dan nanti.

gordon Coale
sumber
1

Cara terbaik yang saya temukan untuk mengetahui informasi tentang CPU Anda di komputer Apple adalah dengan menjalankan utilitas MacCPUID oleh Intel. Anda dapat menemukannya di sini .

pablo Varela
sumber
0

Ada aplikasi iOS dan Mac bernama Mactracker . Ini menunjukkan berbagai informasi tentang Mac.

At0mic
sumber
Tidak yakin mengapa ini diturunkan. Ini adalah aplikasi gratis dan sangat membantu. Cukup cari modelnya, buka tab General, dan itu memberi tahu Anda apa yang Anda inginkan.
Hefewe1zen