Як визначити, який процесор використовує MacBook?


28

Я хотів би визначити, який процесор використовує цей ноутбук, з точки зору кодових назв, таких як "Ivy Bridge" та "Haswell". Маленький логотип Apple у верхньому лівому куті показує деяку інформацію, але не цю.


2
Ну, поки що жодна з відповідей точно не каже мені, що таке мій процесор, крім кодового номера. Навіть пошук процесора в Intel не дає "сім'ї". Тільки Mactracker & Everymac навіть є припущення, і між ними може бути будь-який з 5 ... чи ні, тому що мій фактичний процесор ніколи не був проданий в новому Mac - Intel (R) CPU Xeon® X5690 @ 3.47GHz
Tetsujin

2
@Tetsujin: wikipedia google x5690, і ви побачите, що це мікроархітектура Westmere CPU. (гинуть у Nehalem з однаковою продуктивністю, але додали нові інструкції AES і не переносять-множать для криптовалюти).
Пітер Кордес

2
@PeterCordes - точно. Я насправді знав, що це машина Westmere, але моя основна думка полягала в тому, що жодна з відповідей поки що не скаже мені, що без маленького власного Google-Fu, тому насправді не відповідайте на питання ОП.
Tetsujin

1
@Tetsujin: хороший момент; це один із тих випадків, коли люди, які знають відповідь, забувають, що це не очевидно для людей, які цього не роблять. Я додав відповідь, яка охоплює крок 2.
Пітер Кордес

& відмінна відповідь - це теж.
Tetsujin

Відповіді:


39

По-перше, ви не збираєтеся отримувати назву мікроархітектури процесора (Бродвелл, Сенді Лейк, Плющ міст тощо), оскільки це не є чіткою схемою брендингу процесорів Intel. На відміну від Apple, відділ маркетингу вирішує активно продавати кодові назви своїх операційних систем (Mavericks, Yosemite, El Capitan). Це маркетингова конвенція, а не технічна.

Для переліку всіх процесорів Intel та їх кодових імен, архітектур та специфікацій, у Вікіпедії є список хороших мікропроцесорів Intel .

Отже, щоб відповісти на це запитання, я збираюся запропонувати три методи, щоб дізнатися, який у вас процесор, перші два, які повинні бути хорошими для більшості користувачів, і третій метод, за допомогою якого ви можете визначити число мікроархітектури, щоб ви могли шукати це на веб-сайті підтримки Intel. Ви можете «перестрибнути» до розділу, який стосується вас.

  1. Про цей Mac (загальна інформація про процесор)
  2. Профілер системи (загальна інформація про процесор)
  3. Термінал (детальна інформація про процесор)


Про цей Mac

Натиснувши на символ Apple у верхній частині екрана, виберіть Про цей Mac

введіть тут опис зображення

Ви отримаєте екран, який дає вам огляд вашої системи. Тут буде вказано ваш процесор.

введіть тут опис зображення


Профілер системи

Натиснувши на кнопку із позначкою System Report ... (зелена стрілка), ви отримаєте повний профіль вашої системи. На першій сторінці він надасть більш детальну інформацію про вашу машину, включаючи інформацію про процесор

введіть тут опис зображення

Термінал

Я взагалі фанат Терміналу. Практично все, що ви бачите в графічному інтерфейсі в OS X, можна отримати швидше та точніше через командний рядок IMHO.

Щоб отримати точну модель процесора, включаючи номер мікроархітектури, в Terminal виконайте таку команду:

sysctl -n machdep.cpu.brand_string

Ви отримаєте точний процесор, який ви використовуєте. Наприклад, на моєму iMac команда вище відповідає:

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

Потім можна здійснити пошук i7-3770 та підняти кодове ім’я та характеристики.

Для ознайомлення ви можете використовувати команду Terminal:

system_profiler SPHardwareDataType

і отримаєте результат, схожий на екран, який я розмістив у другому розділі, 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

(Заслуга dante12 нижче)

Отже, якщо вам потрібен ваш процесор чи частіше, ваш ідентифікатор моделі , ви можете використовувати ту саму команду, поєднану з grep .

system_profiler SPHardwareDataType | grep Identifier

Він відповідає з

  Model Identifier: iMac13,2

11
З усіх наданих вами варіантів лише метод Terminal фактично розповість вам про архітектуру, як вимагається у запитанні, якщо я щось не пропускаю.
Боб

3
@Bob Якщо я щось не пропускаю, я не можу помітити архітектуру в жодному з варіантів. (за винятком того, що ark.intel.comвміє мені це сказати після підняття уваги i7-3770)
Num Lock

4
@NumLock О, не можна очікувати назви архітектури (я не думаю, що процесор насправді звітує як кодове ім'я, тому ОС повинна мати постійну базу даних ...). Номер моделі достатньо, щоб легко та унікально визначити архітектуру, так що ІМО, що враховує. Але тут не термінальні параметри навіть не вказують номер моделі; намагаючись вгадати, який це процесор (а також його продуктивність, ефективність тощо) за рахунок лише основної кількості та тактової частоти (це базовий тактовий або макс турбо-прискорений?), є неточною і взагалі поганою ідеєю.
Боб

1
Термінальний варіант - єдина корисна річ у цій відповіді. Якби я запитав когось, на якому процесорі вони тестували, і вони сказали "Core i7", я б тільки знав, що це Nehalem (2008) або новіший. Існують величезні відмінності між Негалем і Сендібридж, і важливі відмінності від SnB до Haswell до Skylake. Вам слід усунути інші варіанти, щоб не спонукати людей давати марні відповіді, коли люди запитують, яку мікроархітектуру має їхній процесор. Номер моделі чудовий, тому що ви можете з першого погляду сказати, що це мікроарх чи Google, щоб отримати детальну інформацію.
Пітер Кордес

4
Ви все ще пропонуєте два марні методи, які не вказують вам номер моделі, а лише "i7", і ви пропонуєте їх спочатку. Ви не даєте зрозуміти, що термінальний шлях - це єдиний, який дозволяє відповісти на питання ОП. Здається, що "Про" та "Профілер системи" є лише марною тратою часу. Ще гірше, що червона стрілка, що вказує на "інформацію про процесор", означає, що "Core i7" є вагомою відповіддю на питання "яка мікроархітектура у мене є". Це дуже погано, що немає способу GUI, який дає задовільну відповідь, але немає.
Пітер Кордес

10

Відкрийте термінал і введіть або скопіюйте та вставте наступні команди

system_profiler SPHardwareDataType | grep Processor

або

system_profiler SPHardwareDataType

або

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

Крім того, я знайшов хороший сценарій на Github (завдяки @ 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команда допомогла мені вивести прапорці процесора.
утихомирити

5

Процесор має свою власну рядок номера моделі , побудовану в. Програмне забезпечення може працювати на CPUIDкоманду з потрібними параметрами , щоб скопіювати рядок в регістри. Рядок буде чимось на зразок " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz". Ви можете отримати його з командного рядка за допомогою

sysctl -n machdep.cpu.brand_string

Я насправді не знаю ОС X. Я відповідаю на це як хтось, кого часто засмучують цифри орієнтирів у відповідях SO, які не згадують обладнання. В Linux деякі дистрибутивні lscpuта / або x86info, але жоден з них не декодує номер моделі в кодове ім'я Intel. Цифри відповідають шаблону, тому розшифрувати їх досить просто (див. Нижче).

Жоден із існуючих відповідей не згадував жодного методу GUI, який дає номер моделі. Усі методи GUI просто показують вам "Core i7", що майже ніколи не є достатнім. Будь ласка, не кажіть людям, що у вас є "ядро i7", адже це просто витрачає час кожного .

"i7" може бути чим завгодно, від Негалема до Скайлаке. Існують величезні відмінності між Негалем і Сендібридж, і важливі відмінності від SnB до Haswell до Skylake.


Якщо хтось запитує у вас, на якій мікроархітектурі ви запустили свій тест , рядок моделі - це чудова відповідь, що містить більше інформації, ніж просто ім’я мікроархітектури, тому просто скопіюйте та вставте їх (наприклад, "i7-3770 CPU @ 3.40GHz").

Більшість людей, які запитують вас, знають, як розшифрувати номери моделей, тому не відчувайте, що вам потрібно їх узагальнювати чи шукати. Я набагато скоріше, щоб хтось скопіював / вставив точний номер моделі, оскільки я можу погуглювати його, щоб дізнатися деталі, наприклад, розмір кешу. ( http://ark.intel.com/ має сторінку для кожної моделі, і вони зазвичай піднімаються високо в результатах пошуку google. Однак вони не використовують кодові назви).

  • i3 / i5 / i7 xxx ( 3 цифри ) - Nehalem або Westmere (однакова продуктивність, тому це не має значення)
  • i3 / i5 / i7 2 xxx або Xeon E3 / E5 XXXX v1 - це Sandybridge (SnB)
  • i3 / i5 / i7 3 xxx або Xeon E3 / E5 XXXX v2 - це IvyBridge (IvB)
  • i3 / i5 / i7 4 xxx або Xeon E3 / E5 XXXX v3 є Haswell (HSW)
  • i3 / i5 / i7 5 xxx або Xeon E3 / E5 XXXX v4 є Broadwell (BDW)
  • i3 / i5 / i7 6 xxx або Xeon E3 / E5 XXXX v5 - це Skylake (SKL)

Існують моделі "Pentium" і "Celeron" кожної мікроархітектури, але вони мають відключений AVX, тому люди використовують їх лише для надбюджетних апаратів.

Виключення з цього є процесори "i7 крайні". наприклад, i7-5960X все ще є Haswell, але є 8 ядром (16 гіперточок) з чотирьохканальною пам'яттю. IDK, якщо Apple продає будь-які машини з такими процесорами.

У Вікіпедії є відмінні таблиці модельних номерів для кожної мікроархітектури. Наприклад, ви можете google x5690 wikipedia, щоб швидко виявити, що Xeon X5690 - це архітектурний процесор Westmere .


Щоб дізнатися більше про відмінності між трубопроводами різних мікроархітектур , дивіться такі статті, як ця Ars Technica, про Haswell . Навіть статті у Вікіпедії не погані.

Для отримання більш технічної точки зору архітектури процесора, див . Відмінний опис Sandybridge та Haswell David David Kanter .

Мікроархітектура PDF Agner Fog є чудовою, якщо ви аналізуєте / налаштовуєте мову складання (або вихід компілятора), наприклад, намагаєтеся зрозуміти лічильники perf.

Інструкції з оптимізації Intel та AMD також мають деякі мікроархітектурні деталі, але не завжди пояснюють їх пропозиції щодо оптимізації Asm аналізом того, як функціонує мікроархітектура. Ось чому я віддаю перевагу посібнику Agner Fog.

Також дивіться вікі тегів Stackoverflow x86 , яку я значно розширив / покращив у минулому році.


1
Також більше (трохи застаріла) інформація тут . Ви, ймовірно, можете отримати сімейні / моделі / крокові номери, sysctlале у мене немає Mac, щоб це спробувати.
Боб

2

gcc або clang -march=nativeможуть надрукувати для вас кодове ім’я , оскільки назви параметрів настройки відповідають кодовим іменам uarch Intel (наприклад -march=sandybridge). Для AMD: -march=bdver2= Piledriver = Бульдозер версії 2.

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

На моїй системі гравюр Linux Core2: target-cpu core2. Я припускаю, що це зробить щось подібне на OS X.

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

на моїй системі Linux Core2 друкує:

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

Ця команда складається /dev/nullяк 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 -march option leads gcc to pass the full set of= будь-які параметри -mmmx -msse2 ... `.

grep -oдрукує лише збігаються частини рядків, які відповідають. \w*відповідає 0 або більше слів-символів.


Вам потрібна нова версія clang або gcc, щоб розпізнати мікроархітектуру вашого процесора та відзначити його на кодове ім'я. Стара версія gcc просто надрукує щось на зразок -march=core2навіть для Haswell, -mtune=intelабо щось таке.

Ще один подібний підхід - фільтрувати вихід ASM з gcc -fverbose-asm, який включає параметри оптимізації як коментарі. Я не знаю, еквівалент кланг для цього.

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

arch=core2

Це працює в системі Haswell: див. Цей приклад у Провіднику компілятора Godbolt . Зверніть увагу -march=haswellна вихід.


Цікавий і досить новий підхід! Питання: це gccчи clangщось, що можна було б очікувати, знайти на Mac (не програміст)?
Боб

@Bob: IDK, я навіть не маю Mac! Я потрапив сюди з бічної панелі "гарячих запитань до мережі". Багато програм Unix поширюються у вихідному вигляді, тому деякі люди матимуть компілятор C на своєму Mac, навіть якщо ви взагалі не програмуєте або не знаєте C. ) У будь-якому випадку, ця відповідь в основному була спрямована на людей, які використовують gcc або clang на своєму Mac досить регулярно, але це не фахівці з апаратних технологій Intel. Бути програмістом можна, не будучи апаратним витівником.
Пітер Кордес

Я думаю, clangце доступно лише після встановлення xcode. Besdies достатньо використовувати clangзамістьclang-3.5
Anthony Kong

1

У меню Apple (у верхньому лівому куті екрана) виберіть About This Mac. Тоді знайдіть кнопку, на якій написано Додаткова інформація, вона відкриє вікно з ВСЕМО про mac, включаючи його номер моделі (наприклад, MacBook Pro 12.3), потім скористайтеся згаданим вище додатком MacTracker або просто пошукайте цей мурашник і отримаєте цю інформацію .


1

Перейдіть на один із сайтів оновлення Mac та введіть свій серійний номер / номер моделі в розділі About this Mac.

Приклад http://www.everymac.com/ultimate-mac-lookup/

Введіть серійний номер.

Введіть інформацію Catpcha.

Ви отримаєте підсумкові характеристики

Клацніть на Повні характеристики Mac.

І він розповість вам про деталі чіпів (22 нм Haswell i5 4250U), а також порівняння з попередніми та пізнішими моделями.


1

Найкращий спосіб я знайшов інформацію про ваш процесор на комп'ютері Apple - це запустити утиліту MacCPUID від Intel. Ви можете знайти його тут .


0

Існує програма для iOS та Mac під назвою Mactracker . Тут відображаються різні відомості про Маки.


Не впевнений, чому це було знято. Це безкоштовне додаток і дуже корисно. Просто знайдіть модель, перейдіть на вкладку Загальні, і вона точно підкаже, що вам потрібно.
Hefewe1zen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.