¿Cómo identifico qué CPU utiliza una MacBook?

Me gustaría identificar qué CPU está usando esta notebook, en términos de nombres en código como "Ivy Bridge" y "Haswell". El pequeño logo de Apple en la esquina superior izquierda muestra cierta información, pero no esta.

  • ¿Debe el MacBook Air tener la misma cantidad de carga que su capacidad declarada cuando está "cargado por completo"?
  • ¿Puede algo causar que la count de ciclos de la batería aparezca más alta de lo que realmente es?
  • 7 Solutions collect form web for “¿Cómo identifico qué CPU utiliza una MacBook?”

    En primer lugar, no obtendrá el nombre de microarchitecture del procesador (Broadwell, Sandy Lake, Ivy Bridge, etc.) porque no es un esquema de marca prominente para los procesadores Intel. En contraste con Apple, el departamento de marketing elige comercializar activamente los nombres en código de sus sistemas operativos (Mavericks, Yosemite, El Capitan). Es una convención de marketing, no técnica.

    Para get una list de todos los procesadores Intel y sus nombres en key, architectures y especificaciones, la Lista de microprocesadores Intel de Wikipedia tiene una buena página.

    Entonces, para responder a esta pregunta, voy a proporcionar tres methods para averiguar qué CPU tienes, los dos primeros, que deberían ser buenos para la mayoría de los usuarios, y un tercer método en el que puedes determinar el número de microarchitecture para que puedas ver en el sitio de soporte de Intel. Puede "saltar" a la sección que se aplica a usted.

    1. Acerca de esta Mac (información general de la CPU)
    2. System Profiler (información general de la CPU)
    3. Terminal (información detallada de la CPU)

    Acerca de esta Mac

    Al hacer clic en el símbolo de Apple en la parte superior de la pantalla, selecciona Acerca de esta Mac

    enter image description here

    Obtendrá una pantalla que le brinda una descripción general de su sistema. Su procesador aparecerá en la list aquí.

    enter image description here

    Sistema Profiler

    Al hacer clic en el button marcado Informe del sistema … (flecha verde) obtendrá un perfil completo de su sistema. En la primera página, le dará información más detallada sobre su máquina, incluida la información del procesador

    enter image description here

    Terminal

    Soy un fan de Terminal en general. Casi todo lo que ves en la GUI en OS X se puede acceder más rápido y con mayor precisión a través de la command-line, en mi humilde opinión.

    Para get el model de CPU exacto que incluye el número de microarchitecture, en Terminal, ejecute el siguiente command:

    sysctl -n machdep.cpu.brand_string 

    Obtendrá el procesador exacto que está utilizando. Por ejemplo, en mi iMac, el command anterior responde con:

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

    A continuación, puede hacer una búsqueda de i7-3770 y extraer el nombre del código y las especificaciones.

    Solo como reference, puede usar el command Terminal:

     system_profiler SPHardwareDataType 

    y obtengo un resultado que se parece a la pantalla que publiqué en la segunda sección, 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 a dante12 a continuación)

    Entonces, si necesita su CPU o más comúnmente, su Identificador de model , puede usar el mismo command junto con grep .

     system_profiler SPHardwareDataType | grep Identifier 

    Responde de nuevo con

      Model Identifier: iMac13,2 

    Abre Terminal y escribe o copy y pega los siguientes commands

     system_profiler SPHardwareDataType | grep Processor 

    o

     system_profiler SPHardwareDataType 

    o

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

    Además, encontré un buen script en Github (Gracias a @ rbanffy ):

     open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string | awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com 

    La CPU tiene su propia cadena de número de model incorporada. El software puede ejecutar la instrucción CPUID con los parameters correctos para copyr la cadena en loggings. La cadena será algo así como " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz ". Puedes getlo desde la línea de command con

     sysctl -n machdep.cpu.brand_string 

    En realidad no conozco el sistema operativo X. Estoy respondiendo esto como alguien que a menudo se siente frustrado por los numbers de reference en las respuestas de SO que no mencionan el hardware. En Linux, algunas distribuciones envían lscpu y / o x86info , pero ninguna de ellas decodifica el número de model en un nombre de código Intel tampoco. Los numbers siguen un patrón, por lo que es bastante fácil de decodificar (ver a continuación).

    Ninguna de las respuestas existentes ha mencionado ningún método GUI que proporcione el número de model. Todos los methods de GUI solo muestran "Core i7", que no es suficiente. Por favor, no le digas a las personas que tienes "un Core i7", porque eso solo consume el time de todos .

    "i7" podría ser cualquier cosa, desde Nehalem hasta Skylake. Existen grandes diferencias entre Nehalem y Sandybridge, y diferencias importantes entre SnB, Haswell y Skylake.


    Si alguien le pregunta en qué microarchitecture ejecutó su punto de reference , la cadena del model es una gran respuesta que contiene más información que el nombre de la microarchitecture, así que simplemente cópiela y péguela (p. Ej. "I7-3770 CPU @ 3.40GHz").

    La mayoría de las personas que le preguntan eso sabrá cómo decodificar numbers de model, así que no sienta que necesita resumirlo o searchlo. Prefiero que alguien copie / pegue el número de model exacto, ya que puedo searchlo en Google para encontrar detalles como el tamaño de la caching. ( http://ark.intel.com/ tiene una página para cada model, y suelen tener un alto puntaje en los resultados de búsqueda de Google. Sin embargo, esos no usan los nombres en key).

    • i3 / i5 / i7 xxx ( 3 dígitos ) es Nehalem o Westmere (performance idéntico, por lo que no importa)
    • i3 / i5 / i7 2 xxx o Xeon E3 / E5 XXXX v1 es Sandybridge (SnB)
    • i3 / i5 / i7 3 xxx o Xeon E3 / E5 XXXX v2 es IvyBridge (IvB)
    • i3 / i5 / i7 4 xxx o Xeon E3 / E5 XXXX v3 es Haswell (HSW)
    • i3 / i5 / i7 5 xxx o Xeon E3 / E5 XXXX v4 es Broadwell (BDW)
    • i3 / i5 / i7 6 xxx o Xeon E3 / E5 XXXX v5 es Skylake (SKL)

    Existen models "Pentium" y "Celeron" de cada microarchitecture, pero tienen AVX deshabilitado, por lo que las personas solo los usan para máquinas ultraprecisadas.

    Las CPU "i7 extreme" son una exception a esto. por ejemplo, i7-5960X sigue siendo Haswell, pero tiene 8 núcleos (16 hyperthreads) con memory de cuatro canales. IDK si Apple vende máquinas con tales CPU.

    Wikipedia tiene excelentes tablas de numbers de model para cada microarchitecture. Por ejemplo, puedes search en la wikipedia de google x5690 para encontrar rápidamente que un Xeon X5690 es un procesador de architecture Westmere .


    Para aprender más sobre las diferencias entre las tuberías de varias microarchitectures , vea artículos como este Ars Technica y uno sobre Haswell . Incluso los artículos de Wikipedia no están mal.

    Para get un punto de vista de architecture de CPU más técnico, consulte los excelentes comentarios de David Kanter sobre Sandybridge y Haswell .

    El PDF de microarchitecture de Agner Fog es excelente si está parsing / ajustando el lenguaje ensamblador (o el resultado del comstackdor), por ejemplo, tratando de dar sentido a los contadores de performance.

    Los manuales de optimization de Intel y AMD también tienen algunos detalles microarquitectónicos, pero no siempre explican sus sugerencias de optimization de asm con análisis de cómo funciona la microarchitecture. Es por eso que prefiero la guía de Agner Fog.

    También vea la wiki de la label Stackoverflow x86 , que he ampliado / mejorado mucho el año pasado.

    En el menu Apple (arriba a la izquierda de su pantalla) select About This Mac. Luego busque un button que diga Más información, se abrirá una window con TODO sobre el mac incluyendo su número de model (MacBook Pro 12.3 por ejemplo) luego use la aplicación MacTracker mencionada anteriormente o simplemente busque ese nombre y obtendrá esa información .

    Vaya a uno de los sitios de actualización de Mac e ingrese su número de serie / model desde Acerca de esta Mac.

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

    Ingrese el número de serie

    Ingrese la información de Catpcha.

    Obtendrás las especificaciones de resumen

    Haga clic en las especificaciones completas de Mac.

    Y le dirá los detalles de las fichas (Haswell i5 4250U de 22 nm) además de las comparaciones con los models anteriores y posteriores.

    Hay una aplicación para iOS y Mac llamada Mactracker . Muestra varias piezas de información sobre Macs.

    gcc o clang -march=native puede imprimir un nombre de código para usted , porque los nombres de las opciones de ajuste coinciden con los nombres en key de uarch de Intel (por ejemplo, -march=sandybridge ). Para AMD: -march=bdver2 = Piledriver = Bulldozer versión 2.

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

    En mi sistema Linux Core2 imprime: target-cpu core2 . Supongo que hará algo similar en OS X.

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

    en mi sistema Linux Core2 imprime:

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

    Este command comstack /dev/null como C ( -xc ). gcc / clang -v prints its internal commands as it runs them, with full command line args. Even with prints its internal commands as it runs them, with full command line args. Even with -E (preprocessor-only), the option leads gcc to pass the full set of -xc option leads gcc to pass the full set of opciones -march = whatever -mmmx -msse2 … `.

    grep -o imprime solo la parte correspondiente de las líneas que coinciden. \w* coincide con 0 o más caracteres de palabras.


    Necesita una versión lo suficientemente nueva de clang o gcc para reconocer la microarchitecture de su CPU y asignarla a un nombre en key. Una versión antigua de gcc simplemente imprimirá algo como -march=core2 incluso para Haswell, y -mtune=intel o algo así.

    Otro enfoque similar es filtrar la salida asm de gcc's -fverbose-asm , que incluye las opciones de optimization como comentarios. No sé un equivalente clang para esto.

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

    Esto funciona en un sistema Haswell: vea este ejemplo en el Godbolt Compiler Explorer . Tenga en count que -march=haswell en la salida.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).