rawcpu/docs/api.md
2026-07-19 23:29:46 +05:00

1 KiB

api

cpuid(leaf: int, subleaf: int = 0) -> tuple[int, int, int, int]

сырой вызов инструкции CPUID, возвращает (eax, ebx, ecx, edx).

rdtsc() -> int

сырое значение счётчика тактов процессора (инструкция RDTSC), монотонно растёт.

vendor() -> str

строка вендора CPU, например GenuineIntel или AuthenticAMD.

brand() -> str

полная строка модели процессора из расширенных leaf'ов CPUID.

has_feature(name: str) -> bool

проверка бита фичи в CPUID без риска упасть на CPU без её поддержки. кидает ValueError если имя не из FEATURES.

FEATURES: dict[str, tuple[int, str, int]]

словарь имя -> (leaf, регистр, номер бита). поддерживаются: sse, sse2, sse3, ssse3, fma, sse4_1, sse4_2, popcnt, aes, avx, rdrnd, avx2, avx512f.