Como identifico qual CPU um MacBook usa?

28

Eu gostaria de identificar qual CPU este notebook está usando, em termos de nomes de código como "Ivy Bridge" e "Haswell". O pequeno logotipo da Apple no canto superior esquerdo mostra algumas informações, mas não isso.

DarenW
fonte
2
Bem, até agora nenhuma das respostas me diz com certeza qual é o meu processador, exceto um número de código. Mesmo procurar o processador na Intel não dá a 'família'. Somente o Mactracker e o Everymac têm um palpite, e entre eles pode ser qualquer um de 5 ... ou não, porque minha CPU real nunca foi vendida em um novo Mac - CPU Intel (R) Xeon® X5690 @ 3,47GHz
Tetsujin
2
@ Tetsujin: google x5690 wikipedia e você verá que é uma CPU de microarquitetura Westmere . (o psiquiatra de Nehalem com desempenho idêntico, mas adicionou as novas instruções da AES e multiplica-se para a criptografia).
Peter Cordes
2
@PeterCordes - com certeza. Eu fiz realmente sabe que é uma máquina de Westmere, mas o meu ponto principal era que nenhuma das respostas até agora me dizem que sem um pouco de Google-Fu do meu próprio, portanto, não realmente responder à pergunta do OP, per se.
Tetsujin
1
@ Tetsujin: bom ponto; esse é um daqueles casos em que as pessoas que sabem a resposta esquecem que não é óbvio para as pessoas que não sabem. Eu adicionei uma resposta que cobre o passo 2.
Peter Cordes
e uma excelente resposta também.
Tetsujin

Respostas:

39

Primeiro, você não receberá o nome da microarquitetura do processador (Broadwell, Sandy Lake, Ivy Bridge etc.) porque não é um esquema de marca de destaque para os processadores Intel. Em contraste, com a Apple, o departamento de marketing escolhe comercializar ativamente os codinomes de seus sistemas operacionais (Mavericks, Yosemite, El Capitan). É uma convenção de marketing, não técnica.

Para obter uma lista de todos os processadores Intel e seus nomes de códigos, arquiteturas e especificações, a Lista de microprocessadores Intel da Wikipedia tem uma boa página.

Portanto, para responder a essa pergunta, vou fornecer três métodos para descobrir qual CPU você possui, os dois primeiros, que devem ser bons para a maioria dos usuários, e um terceiro método no qual você pode determinar o número da microarquitetura para poder procurar no site de suporte da Intel. Você pode "pular" para a seção que se aplica a você.

  1. Sobre este Mac (informações gerais sobre a CPU)
  2. System Profiler (informações gerais sobre a CPU)
  3. Terminal (informações detalhadas da CPU)


Sobre este Mac

Clicando no símbolo da Apple na parte superior da tela, selecione Sobre este Mac

insira a descrição da imagem aqui

Você receberá uma tela que fornece uma visão geral do seu sistema. Seu processador será listado aqui.

insira a descrição da imagem aqui


Perfil do sistema

Clicando no botão marcado Relatório do Sistema ... (seta verde), você obtém um perfil completo do seu sistema. Na primeira página, ele fornecerá informações mais detalhadas sobre sua máquina, incluindo informações sobre o processador

insira a descrição da imagem aqui

terminal

Eu sou um fã do Terminal em geral. Praticamente tudo o que você vê na GUI do OS X pode ser acessado com mais rapidez e precisão pela linha de comando IMHO.

Para obter o modelo exato da CPU, incluindo o número da microarquitetura, no Terminal, execute o seguinte comando:

sysctl -n machdep.cpu.brand_string

Você obterá o processador exato que está usando. Por exemplo, no meu iMac, o comando acima responde com:

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

Você pode fazer uma pesquisa pelo i7-3770 e acessar o nome do código e as especificações.

Apenas para referência, você pode usar o comando Terminal:

system_profiler SPHardwareDataType

e obtenha um resultado parecido com a tela que eu publiquei na segunda seção, 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

(Crédito para dante12 abaixo)

Portanto, se você precisou de sua CPU ou mais comumente, do seu Identificador de modelo , poderá usar o mesmo comando juntamente com o grep .

system_profiler SPHardwareDataType | grep Identifier

Responde de volta com

  Model Identifier: iMac13,2
Allan
fonte
11
De todas as opções que você fornece, apenas o método Terminal realmente informa a arquitetura conforme solicitado na pergunta, a menos que esteja faltando alguma coisa.
Bob
3
@ Bob, A menos que esteja faltando alguma coisa, não consigo identificar a arquitetura em nenhuma das opções. (exceto que ark.intel.comé capaz de me dizer isso depois de olhar para cima i7-3770) #
Num Lock
4
@NumLock Ah, não é de se esperar que o nome da arquitetura seja esperado (não acho que a CPU realmente reporte como o nome do código, portanto o sistema operacional teria que manter um banco de dados atualizado ...). O número do modelo é suficiente para identificar de maneira fácil e exclusiva a arquitetura, portanto, o IMO é o que conta. Mas as opções não terminais aqui nem mesmo fornecem o número do modelo; tentar adivinhar qual CPU é (e seu desempenho, eficiência, etc.) apenas a contagem de núcleos e a velocidade do clock (é o clock base ou o aumento máximo do turbo?) é impreciso e geralmente é uma má idéia.
19416 Bob
1
A opção do terminal é a única coisa útil nesta resposta. Se eu perguntasse a alguém em que CPU eles estavam testando e dissessem "Core i7", tudo que eu saberia é que era um Nehalem (2008) ou mais recente. Existem enormes diferenças entre Nehalem e Sandybridge e diferenças importantes de SnB a Haswell e Skylake. Você deve remover as outras opções para não incentivar as pessoas a dar respostas inúteis quando elas perguntarem qual microarquitetura sua CPU possui. O número do modelo é ótimo, porque você pode dizer rapidamente, desde o primeiro dígito, qual é a microarca ou o Google para obter detalhes completos.
Peter Cordes
4
Você ainda sugere dois métodos inúteis que não informam o número do modelo, apenas "i7", e sugere-os primeiro. Você não deixa claro que a via terminal é a única que permite responder à pergunta do OP. O material "Sobre" e "System Profiler" parece ser apenas uma perda de tempo. Pior ainda, a seta vermelha apontando para "informações do processador" implica que o "Core i7" é uma resposta válida para a pergunta "que microarquitetura tenho". É uma pena que não haja uma maneira GUI que dê uma resposta satisfatória, mas não existe.
Peter Cordes
10

Abra o Terminal e digite ou copie e cole o (s) seguinte (s) comando (s)

system_profiler SPHardwareDataType | grep Processor

ou

system_profiler SPHardwareDataType

ou

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

Além disso, encontrei um bom script no Github (obrigado a @ rbanffy ):

open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string 
                              | awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com
dante12
fonte
Obrigado, o $ sysctl -a | grep \.features\: | fmt -w 48comando me ajudou na saída dos sinalizadores da CPU.
pacify
5

A CPU possui seu próprio número de modelo string incorporado. O software pode executar a CPUIDinstrução com os parâmetros corretos para copiar a string nos registradores. A string será algo como " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz". Você pode obtê-lo na linha de comando com

sysctl -n machdep.cpu.brand_string

Na verdade, eu não conheço o OS X. Estou respondendo a isso como alguém que costuma ficar frustrado com números de referência em respostas SO que não mencionam o hardware. No Linux, algumas distribuições são enviadas lscpue / ou x86info, mas nenhuma delas decodifica o número do modelo em um nome de código da Intel. Os números seguem um padrão, por isso é bastante fácil de decodificar (veja abaixo).

Nenhuma das respostas existentes mencionou qualquer método da GUI que fornece o número do modelo. Todos os métodos da GUI mostram apenas o "Core i7", que não chega nem perto do suficiente. Por favor, não diga às pessoas que você tem "um core i7", porque isso desperdiça o tempo de todos .

"i7" pode ser qualquer coisa, de Nehalem a Skylake. Existem enormes diferenças entre Nehalem e Sandybridge e diferenças importantes de SnB a Haswell e Skylake.


Se alguém lhe perguntar em qual microarquitetura você executou seu benchmark , a sequência de modelo é uma ótima resposta contendo mais informações do que apenas o nome da microarquitetura, então copie e cole nelas (por exemplo, "i7-3770 CPU @ 3.40GHz").

A maioria das pessoas que pergunta a você que sabe como decodificar números de modelo, portanto, não precisa resumir ou procurar por eles. Eu prefiro que alguém copie / cole o número exato do modelo, pois eu posso pesquisar no Google para descobrir detalhes como o tamanho do cache. ( http://ark.intel.com/ possui uma página para cada modelo, e esses geralmente aparecem nos resultados de pesquisa do google. No entanto, eles não usam os nomes de código).

Existem modelos "Pentium" e "Celeron" de cada microarquitetura, mas eles têm o AVX desativado para que as pessoas os usem apenas para máquinas com orçamento limitado.

As CPUs "i7 extreme" são uma exceção a isso. por exemplo, o i7-5960X ainda é Haswell, mas possui 8 núcleos (16 hyperthreads) com memória quad-channel. IDK se a Apple vender qualquer máquina com essas CPUs.

A Wikipedia possui excelentes tabelas de números de modelo para cada microarquitetura. por exemplo, você pode pesquisar no Google x5690 wikipedia para descobrir rapidamente que um Xeon X5690 é um processador de arquitetura Westmere .


Para saber mais sobre as diferenças entre os pipelines de várias microarquiteturas , consulte artigos como este da Ars Technica sobre Haswell . Até os artigos da Wikipedia não são ruins.

Para um ponto de vista mais técnico da arquitetura da CPU, consulte os excelentes registros de Sandybridge e Haswell de David Kanter .

O PDF da microarquitetura da Agner Fog é excelente se você estiver analisando / ajustando a linguagem assembly (ou a saída do compilador), por exemplo, tentando entender os contadores de desempenho.

Os manuais de otimização da Intel e da AMD também têm alguns detalhes da microarquitetura, mas nem sempre explicam suas sugestões de otimização asm com a análise de como a microarquitetura opera. É por isso que prefiro o guia de Agner Fog.

Veja também o wiki da tag Stackoverflow x86 , que eu expandi / aprimorei bastante no ano passado.

Peter Cordes
fonte
1
Também mais informações (um pouco desatualizadas) aqui . Você provavelmente pode obter os números de família / modelo / passo a passo, sysctlmas eu não tenho um Mac para testar isso.
20916 Bob
2

gcc ou clang -march=nativepode imprimir um nome de código para você , porque os nomes das opções de ajuste correspondem aos nomes de código uarch da Intel (por exemplo -march=sandybridge). Para AMD: -march=bdver2= Piledriver = Bulldozer versão 2.

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

Em minhas impressões do sistema Linux Core ™ 2: target-cpu core2. Suponho que ele fará algo semelhante no OS X.

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

no meu sistema Linux Core2 imprime:

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

Este comando é compilado /dev/nullcomo 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 = qualquer opção -mmmx -msse2 ... `.

grep -oimprime apenas a parte correspondente das linhas correspondentes. \w*corresponde a 0 ou mais caracteres de palavra.


Você precisa de uma versão nova e suficiente do clang ou gcc para reconhecer a microarquitetura da sua CPU e mapeá-la para um nome de código. Uma versão antiga do gcc imprimirá algo parecido -march=core2até com um Haswell e -mtune=intelou algo assim.

Outra abordagem semelhante é filtrar a saída asm do gcc -fverbose-asm, que inclui as opções de otimização como comentários. Não conheço um clang equivalente para isso.

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

arch=core2

Isso funciona em um sistema Haswell: veja este exemplo no Godbolt Compiler Explorer . Observe o -march=haswellna saída.

Peter Cordes
fonte
Abordagem interessante e bastante nova! Pergunta: é gccou clangalgo que se esperaria encontrar em um Mac (não programador)?
Bob
@ Bob: IDK, eu nem tenho um Mac! Eu cheguei aqui na barra lateral "perguntas sobre a rede quente". Muitos programas Unix são distribuídos na forma de código-fonte; portanto, algumas pessoas terão um compilador C em seu Mac, mesmo que você não programe, ou não em C. (Alguns módulos perl vêm com C para ser compilado, por exemplo. De qualquer forma, essa resposta foi direcionada principalmente para pessoas que usam o gcc ou clang em seu Mac com bastante regularidade, mas não são especialistas em hardware da Intel. É possível ser um programador sem ser um geek de hardware.
Peter Cordes
Eu acho que clangsó está disponível depois que você instalou o xcode. Besdies é suficiente usar em clangvez declang-3.5
Anthony Kong
1

No menu Apple (canto superior esquerdo da tela), selecione Sobre este Mac. Em seguida, procure um botão que diz Mais informações, ele abrirá uma janela com TUDO sobre o mac, incluindo o número do modelo (MacBook Pro 12.3, por exemplo) e use o aplicativo MacTracker mencionado acima ou apenas pesquise esse nome e você obterá essas informações .

Steve Chambers
fonte
1

Vá para um dos sites de atualização do Mac e digite o número de série / número do modelo em Sobre este Mac.

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

Digite o número de série.

Digite informações Catpcha.

Você obterá as especificações resumidas

Clique em Especificações completas do Mac.

Além disso, mostrará os detalhes dos chips (Haswell i5 4250U de 22 nm), além de comparações com os modelos anteriores e posteriores.

Gordon Coale
fonte
1

A melhor maneira de encontrar informações sobre sua CPU em um computador Apple é executar o utilitário MacCPUID da Intel. Você pode encontrá-lo aqui .

Pablo Varela
fonte
0

Há um aplicativo para iOS e Mac chamado Mactracker . Ele mostra várias informações sobre Macs.

At0mic
fonte
Não sei por que isso foi prejudicado. Este é um aplicativo gratuito e muito útil. Basta encontrar o modelo, vá para a guia Geral e ele informa exatamente o que você deseja.
Hefewe1zen