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.
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.
Respostas:
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ê.
Clicando no símbolo da Apple na parte superior da tela, selecione Sobre este Mac
Você receberá uma tela que fornece uma visão geral do seu sistema. Seu processador será listado aqui.
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
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
ark.intel.com
é capaz de me dizer isso depois de olhar para cima i7-3770
) #
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
$ sysctl -a | grep \.features\: | fmt -w 48
comando me ajudou na saída dos sinalizadores da CPU.
A CPU possui seu próprio número de modelo string incorporado. O software pode executar a CPUID
instruçã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 lscpu
e / 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.
gcc ou clang -march=native
pode 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/null
como 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 -o
imprime 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=core2
até com um Haswell e -mtune=intel
ou 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=haswell
na saída.
gcc
ou clang
algo que se esperaria encontrar em um Mac (não programador)?
clang
só está disponível depois que você instalou o xcode. Besdies é suficiente usar em clang
vez declang-3.5
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 .
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.
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 .
Há um aplicativo para iOS e Mac chamado Mactracker . Ele mostra várias informações sobre Macs.