1 KiB
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.