¿Hay alguna manera de volcar la información de CPUID de una CPU?

Estoy familiarizado con lshw , /proc/cpuinfo , etc. ¿Pero hay un método para get el código de operación CPUID de una CPU?

Hay una herramienta llamada cpuid que se puede usar para consultar información mucho más detallada que la que normalmente está presente en lshw o /proc/cpuinfo . En mi sistema Fedora 19 pude instalar el package con el siguiente command:

 $ sudo yum install cpuid 

Una vez instalado, cpuid es un tesoro de detalles sobre las CPU subyacentes.

Múltiples versiones

Hay al less 2 versiones de una herramienta llamada cpuid . En Debian / Ubuntu:

 $ dpkg -p cpuid Package: cpuid Priority: optional Section: admin Installed-Size: 68 Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com> Architecture: amd64 Version: 3.3-9 Depends: libc6 (>= 2.5-0ubuntu1) Size: 11044 Description: Intel and AMD x86 CPUID display program This program displays the vendor ID, the processor specific features, the processor name string, different kinds of instruction set extensions present, L1/L2 Cache information, and so on for the processor on which it is running. . Homepage: http://www.ka9q.net/code/cpuid/ Original-Maintainer: Aurélien GÉRÔME <ag@roxor.cx> 

Mientras está en CentOS / Fedora / RHEL:

 $ rpm -qi cpuid Name : cpuid Version : 20130610 Release : 1.fc19 Architecture: x86_64 Install Date: Wed 29 Jan 2014 09:48:17 PM EST Group : System Environment/Base Size : 253725 License : MIT Signature : RSA/SHA256, Sun 16 Jun 2013 12:30:11 PM EDT, Key ID 07477e65fb4b18e6 Source RPM : cpuid-20130610-1.fc19.src.rpm Build Date : Sun 16 Jun 2013 05:39:24 AM EDT Build Host : buildvm-13.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.etallen.com/cpuid.html Summary : Dumps information about the CPU(s) Description : cpuid dumps detailed information about x86 CPU(s) gathenetworking from the CPUID instruction, and also determines the exact model of CPU(s). It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC, NexGen, and Rise CPUs. 

NOTA: El resultado a continuación se centrará exclusivamente en la implementación de cpuid de Todd Allen , es decir, el package de Fedora.

Ejemplo

La sección superior es bastante estándar.

 $ cpuid -1 | less CPU: vendor_id = "GenuineIntel" version information (1/eax): processor type = primary processor (0) family = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6) model = 0x5 (5) stepping id = 0x5 (5) extended family = 0x0 (0) extended model = 0x2 (2) (simple synth) = Intel Core i3 / i5 / i7 (Clarkdale K0) / Pentium U5000 Mobile / Pentium P4505 / U3405 / Celeron Mobile P4000 / U3000 (Arrandale K0), 32nm miscellaneous (1/ebx): process local APIC physical ID = 0x1 (1) cpu count = 0x10 (16) CLFLUSH line size = 0x8 (8) brand index = 0x0 (0) brand id = 0x00 (0): unknown 

Pero las secciones inferiores son mucho más esclarecedoras.

  feature information (1/edx): x87 FPU on chip = true virtual-8086 mode enhancement = true debugging extensions = true page size extensions = true time stamp counter = true RDMSR and WRMSR support = true physical address extensions = true machine check exception = true CMPXCHG8B inst. = true APIC on chip = true SYSENTER and SYSEXIT = true memory type range registers = true PTE global bit = true machine check architecture = true conditional move/compare instruction = true page attribute table = true page size extension = true processor serial number = false CLFLUSH instruction = true debug store = true thermal monitor and clock ctrl = true MMX Technology = true FXSAVE/FXRSTOR = true SSE extensions = true SSE2 extensions = true self snoop = true hyper-threading / multi-core supported = true therm. monitor = true IA64 = false pending break event = true 

Le mostrará detalles sobre su estructura de caching:

  cache and TLB information (2): 0x5a: data TLB: 2M/4M pages, 4-way, 32 entries 0x03: data TLB: 4K pages, 4-way, 64 entries 0x55: instruction TLB: 2M/4M pages, fully, 7 entries 0xdd: L3 cache: 3M, 12-way, 64 byte lines 0xb2: instruction TLB: 4K, 4-way, 64 entries 0xf0: 64 byte prefetching 0x2c: L1 data cache: 32K, 8-way, 64 byte lines 0x21: L2 cache: 256K MLC, 8-way, 64 byte lines 0xca: L2 TLB: 4K, 4-way, 512 entries 0x09: L1 instruction cache: 32K, 4-way, 64-byte lines 

Incluso más detalles sobre la memory caching de tu CPU:

  deterministic cache parameters (4): --- cache 0 --- cache type = data cache (1) cache level = 0x1 (1) self-initializing cache level = true fully associative cache = false extra threads sharing this cache = 0x1 (1) extra processor cores on this die = 0x7 (7) system coherency line size = 0x3f (63) physical line partitions = 0x0 (0) ways of associativity = 0x7 (7) WBINVD/INVD behavior on lower caches = false inclusive to lower caches = false complex cache indexing = false number of sets - 1 (s) = 63 

La list continua.

Referencias

  • cpuid – Herramienta de Linux para volcar información de CPUID x86 sobre la (s) CPU (s)
  • CPUID – Wikipedia
  • sandpile.org: la fuente líder mundial de información técnica del procesador x86

En Ubuntu, el package es del mismo nombre ( cpuid ). Muestra un número de serie, pero no sé si es realmente correcto.

 Processor serial: 0003-06A9-0000-0000-0000-0000 

(Parece un poco sospechoso para mí, pero hay una gran cantidad de información para ir con él)

 Extended brand string: " Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz" CLFLUSH instruction cache line size: 8 Initial APIC ID: 1 Hyper threading siblings: 16 Feature flags bfebfbff: FPU Floating Point Unit VME Virtual 8086 Mode Enhancements DE Debugging Extensions PSE Page Size Extensions TSC Time Stamp Counter MSR Model Specific Registers PAE Physical Address Extension MCE Machine Check Exception CX8 COMPXCHG8B Instruction APIC On-chip Advanced Programmable Interrupt Controller present and enabled SEP Fast System Call MTRR Memory Type Range Registers PGE PTE Global Flag MCA Machine Check Architecture CMOV Conditional Move and Compare Instructions FGPAT Page Attribute Table PSE-36 36-bit Page Size Extension CLFSH CFLUSH instruction DS Debug store ACPI Thermal Monitor and Clock Ctrl MMX MMX instruction set FXSR Fast FP/MMX Streaming SIMD Extensions save/restre SSE Streaming SIMD Extensions instruction set SSE2 SSE2 extensions SS Self Snoop HT Hyper Threading TM Thermal monitor 31 reserved TLB and cache info: 5a: unknown TLB/cache descriptor 03: Data TLB: 4KB pages, 4-way set assoc, 64 entries 76: unknown TLB/cache descriptor ff: unknown TLB/cache descriptor b2: unknown TLB/cache descriptor f0: unknown TLB/cache descriptor ca: unknown TLB/cache descriptor