CPUID(4) | Linux-Programmierhandbuch | CPUID(4) |
cpuid - Gerät für den Zugriff auf die x86-CPUID
CPUID ist eine Schnittstelle zur Abfrage von Informationen über die x86-CPU.
Auf dieses Gerät greifen lseek(2) oder pread(2) auf die geeignete CPUID-Ebene zu und lesen 16-Byte-Blöcke ein. Werden mehr als 16 Byte gelesen, bedeutet das das Lesen mehrerer aufeinander folgender Ebenen.
Die unteren 32 Bit der Dateiposition werden als das eingehende %eax-Register verwendet und die oberen 32 Bit der Dateiposition für das eingehende %ecx, wobei letzteres für das »Zählen« der eax-Ebenen (wie z. B. eax=4) vorgesehen ist.
Dieser Treiber verwendet /dev/cpu/CPUNUM/cpuid, wobei CPUNUM die Minor-Gerätenummer ist. Auf einem SMP-Rechner greift der Treiber direkt auf die in /proc/cpuinfo angegebene CPU CPUNUM zu.
Diese Datei ist geschützt. Sie kann nur vom Benutzer root oder Mitgliedern der Gruppe root gelesen werden.
Die CPUID-Anweisung kann direkt durch ein Programm mittels Inline-Assembler ausgeführt werden. Doch dieses Gerät ermöglicht bequemen Zugriff auf alle CPUs ohne die Affinität des Prozesses zu ändern.
Die meisten Informationen in cpuid stellt der Kernel in aufbereiteter Form entweder in /proc/cpuinfo oder durch Unterverzeichnisse in /sys/devices/system/cpu bereit. Direkter Zugriff auf die CPUID durch dieses Gerät sollte nur in Ausnahmefällen erfolgen.
Der cpuid-Treiber wird nicht automatisch geladen. Im Fall modularer Kernel müssen Sie ihn vielleicht mit dem folgenden Befehl explizit laden:
$ modprobe cpuid
bevor Sie ihn verwenden können. CPUID-Funktionen, die weitere Eingabe-Register erfordern, werden nicht unterstützt.
Sehr alte x86-CPUs unterstützen CPUID nicht.
Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M, 3-180 CPUID reference.
Intel Corporation, Intel Processor Identification and the CPUID Instruction, Application note 485.
Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.
31. März 2009 | Linux |