我想根据“ Ivy Bridge”和“ Haswell”等代号来确定此笔记本计算机正在使用哪个CPU。左上方的小苹果徽标显示了一些信息,但是却没有。
我想根据“ Ivy Bridge”和“ Haswell”等代号来确定此笔记本计算机正在使用哪个CPU。左上方的小苹果徽标显示了一些信息,但是却没有。
Answers:
首先,您不会获得处理器微体系结构名称(Broadwell,Sandy Lake,Ivy Bridge等),因为它不是Intel处理器的显着品牌方案。与苹果相反,市场部选择积极营销其操作系统的代码名称(小牛,优胜美地,埃尔卡皮坦)。这是一种营销惯例,而不是技术惯例。
有关所有英特尔处理器及其代号,体系结构和规格的列表,维基百科的英特尔微处理器列表上有一个不错的页面。
因此,为回答这个问题,我将提供三种方法来找出您拥有的CPU,前两种方法对大多数用户来说应该是好的,第三种方法可以确定微体系结构编号,以便您查找可以在英特尔支持网站上找到它。您可以“跳到”适用于您的部分。
单击屏幕顶部的Apple符号,然后选择关于此Mac。
您将获得一个屏幕,其中提供了系统的概述。您的处理器将在此处列出。
单击标有“ 系统报告...”(绿色箭头)的按钮,您将获得系统的完整配置文件。在第一页上,它将为您提供有关计算机的更多详细信息,包括处理器信息
我总体上是Terminal的粉丝。您可以通过命令行IMHO更快,更准确地访问在OS X的GUI中看到的几乎所有内容。
要获取包括微体系结构编号的确切 CPU模型,请在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)
因此,如果您需要CPU或更常用的Model Identifier,则可以将同一命令与grep结合使用。
system_profiler SPHardwareDataType | grep Identifier
它以
Model Identifier: iMac13,2
ark.intel.com
能够告诉我,抬起头来之后i7-3770
)
打开“终端”并键入或复制并粘贴以下命令
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
命令已帮助我输出CPU标志。
该CPU内置了自己的型号字符串。软件可以运行的CPUID
指令与正确的参数字符串复制到寄存器。该字符串将类似于“ Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
”。您可以从命令行使用
sysctl -n machdep.cpu.brand_string
我实际上并不了解OSX。我回答这个问题的原因是经常对SO答案中未提及硬件的基准数字感到沮丧。在Linux上,有一些发行版lscpu
和/或发行版x86info
,但它们都没有将型号解码为Intel代号。数字遵循一个模式,因此相当容易解码(请参见下文)。
现有的答案都没有提到任何给出型号的GUI方法。所有的GUI方法仅向您显示“ Core i7”,远远不够。 请不要告诉人们您拥有“核心i7”,因为那只会浪费每个人的时间。
从Nehalem到Skylake,“ i7”可以是任何东西。Nehalem和Sandybridge之间存在巨大的差异,从SnB到Haswell到Skylake的重要差异也很大。
如果有人问您运行基准测试的微体系结构,那么其中的模型字符串是一个很好的答复,其中包含的信息不仅仅是微体系结构名称,因此只需将其复制并粘贴到它们(例如,“ i7-3770 CPU @ 3.40GHz”)。
大多数要求您知道如何解码型号的人都不会觉得您需要对其进行总结或查找。我宁愿有人复制/粘贴确切的型号,因为我可以在Google上搜索它来查找详细信息,例如缓存大小。(http://ark.intel.com/每种型号都有一个页面,通常在google的搜索结果中排名靠前。但是,这些模式不使用代号)。
每个微体系结构都有“ Pentium”和“ Celeron”模型,但是它们禁用了AVX,因此人们只能将它们用于超预算机器。
“ i7至尊” CPU除外。例如,i7-5960X仍然是Haswell,但具有8核(16个超线程)和四通道内存。如果Apple销售任何装有此类CPU的计算机,则为IDK。
维基百科为每个微体系结构提供了出色的型号表。例如,您可以在x5690 Wikipedia上搜索,以快速发现Xeon X5690是Westmere体系结构处理器。
要了解有关各种微体系结构管道之间差异的更多信息,请参阅类似Hasswell的Ars Technica之类的文章。即使是Wikipedia文章也不错。
有关CPU技术架构的更多观点,请参阅David Kanter出色的Sandybridge和Haswell文章。
如果您要分析/调优汇编语言(或编译器输出),例如尝试弄清楚perf计数器,则Agner Fog的微体系结构PDF非常适合。
英特尔和AMD的优化手册也包含一些微体系结构的详细信息,但并不总是通过分析微体系结构的运行方式来解释其asm优化建议。这就是为什么我更喜欢Agner Fog的指南。
另请参阅Stackoverflow x86标签wiki,在过去的一年中,我对其进行了很多扩展/改进。
gcc或clang -march=native
可以为您打印一个代号,因为调整选项的名称与Intel的uarch代号匹配(例如-march=sandybridge
)。对于AMD:-march=bdver2
=打桩机=推土机版本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 option leads gcc to pass the full set of
-march =任何-mmmx -msse2 ...选项。
grep -o
仅打印匹配行的匹配部分。 \w*
匹配0个或多个单词字符。
您需要足够新版本的clang或gcc来识别CPU的微体系结构并将其映射为代号。旧版gcc只会打印出类似-march=core2
Haswell之类的-mtune=intel
东西。
另一种类似的方法是过滤gcc的asm输出-fverbose-asm
,其中包括优化选项作为注释。我不知道与此等效的c。
gcc -xc /dev/null -O3 -fverbose-asm -march=native -o- -S | grep -o 'arch=\w*'
arch=core2
这在Haswell系统上有效:请在Godbolt编译器资源管理器上查看此示例。注意-march=haswell
输出中的。
gcc
还是clang
什么?
clang
只有在安装xcode后才可用。Besdies足以clang
代替它使用clang-3.5
转到Mac升级站点之一,然后从“关于本机”中输入序列号/型号。
范例http://www.everymac.com/ultimate-mac-lookup/
输入序列号
输入Catpcha信息。
您将获得摘要规格
单击完整的Mac规格。
它会告诉您芯片的详细信息(22nm Haswell i5 4250U)以及与之前和之后型号的比较。
我发现在Apple计算机中查找有关CPU信息的最佳方法是运行Intel的MacCPUID实用程序。你可以在这里找到它。
有一个名为Mactracker的iOS和Mac应用程序。它显示了有关Mac的各种信息。