CPUID - это инструкция процессора Intel x86 и x86_64, которая возвращает тип процессора и наличие определенных функций.
1 ответ

Гиперпоточность отключена в BIOS, но все еще отображается в CPUID

Я сделал функцию (см. Ниже), которая определяет, есть ли у ядра процессора Hyper-Threading. Когда я отключаю Hyper-Threading в BIOS, CPUID по-прежнему сообщает, что ядро ​​имеет Hyper-Threading. Как я могу сделать это правильно, чтобы узнать, включе…
17 июл '14 в 16:27
1 ответ

CPUID на нескольких ядрах /NUMA

Я работаю над обнаружением процессора и общим кодом обнаружения среды для моей хобби ОС. Есть ли когда-нибудь случай, когда CPUID нужно вызывать несколько раз? То есть, если система имеет несколько ядер, должна ли ОС вызывать CPUID на каждом ядре? Т…
19 дек '11 в 22:00
1 ответ

CPUID в x88 Artchitecture

Я пытаюсь получить доступ к информации с помощью CPUID в C++. Я создал этот код до сих пор и больше не мог идти. Я нашел несколько полезных статей здесь и в Интернете, но, похоже, они мне не помогли. Я должен использовать инструкции и регистры тольк…
03 ноя '12 в 18:16
0 ответов

Где хранится информация CPUID у владельца?

CPUID - это инструкция сборки x86 для получения спецификаций и информации о процессоре, например, если разрешена гиперпоточность или поддерживается виртуализация. но кто-нибудь знает, где эта информация хранится в процессоре? это в микрокоде?
09 дек '14 в 08:13
2 ответа

CallNtPowerInformation и GetPwrCapabilities под Linux

У меня есть код, который возвращает информацию о запущенных процессорах в системе на базе Intel под Windows. Это делает это с CallNtPowerInformation а также GetPwrCapabilities функции. Типичная возвращаемая информация - это максимальный МГц, текущий…
23 авг '11 в 02:49
1 ответ

Исключение "Не найдено" при попытке получить идентификатор процессора через WMI

Я использую этот код для получения идентификатора процессора: public static string getProcessorId() { var mc = new ManagementClass("Win32_Processor"); var moc = mc.GetInstances(); foreach (var mo in moc) { return mo.Properties["ProcessorId"].Value.T…
26 дек '10 в 12:06
1 ответ

Будет ли CPUID сериализировать спекулятивное кеширование данных?

Я нашел описание спекулятивной процедуры кэширования данных из нескольких записей инструкций в Intel Vol.2. Например, lfence: Процессоры могут произвольно извлекать и кэшировать данные из областей системной памяти, которые используют типы памяти WB,…
1 ответ

Как проверить, если CPUID.(EAX=14H, ECX=0)?

Согласно справочному руководству Intel, инструкция выдает исключение #UD, если CPUID.(EAX=14H, ECX=0):EBX.PTWRITE [Bit 4] = 0 Как мне проверить эти значения? Если я использую int __get_cpuid (unsigned int __level, unsigned int *__eax, unsigned int *…
22 ноя '16 в 01:18
1 ответ

Как надежно определить максимальные дополнительные уровни CPUID?

Я хотел бы запросить функции процессора, используя cpuid инструкция. Я заинтересован во всех дополнительных уровнях CPUID, в том числе 0x80000000 а также 0xc0000000 (Centaur). Проблема в том, что я не вижу четкого способа определить, поддерживается …
13 июл '15 в 18:42
1 ответ

Как мне найти процессор, на котором работает текущий поток, для Mac и BSD?

Я ищу функцию в Mac OS и BSD, которая эквивалентна Linux sched_getcpu()и Windows GetCurrentProcessorNumberEx() для того, чтобы реализовать библиотеку для локального хранилища процессора. Ясно, что это можно эмулировать с помощью инструкций cpuid или…
14 май '12 в 00:05
5 ответов

Intrinsics для CPUID, как информация?

Учитывая, что я пишу код на C++, если это возможно, я бы хотел использовать решение, подобное Intrinsics, для чтения полезной информации об оборудовании, поэтому я обеспокоен / обеспокоен следующим: Я не очень хорошо знаю ассемблер, для получения та…
20 июл '13 в 03:40
1 ответ

Функция cpuid 0Bh, intel, всегда пустые регистры

И в Linux (как root), и в Windows (XP, как admin) я всегда получаю пустой набор регистров после вызова cpuid с eax = 0xB. Согласно официальному руководству, http://www.intel.com/content/www/us/en/processors/processor-identification-cpuid-instruction…
30 янв '13 в 14:00
0 ответов

Неподписанный int ведет себя по-другому в режиме выпуска

У меня странная проблема, в режиме отладки этот код работает нормально: char* PCInformation::GetCPUName() { if (CPUName[0] == '\0') { _memset(CPUName, 0, 0x3F); // Get extended ids. int CPUInfo[4] = {-1}; __cpuid(CPUInfo, 0x80000000); unsigned int n…
13 фев '13 в 14:11
2 ответа

C++ слово в байтах

Я пытался прочитать CPUID с помощью ассемблера в C++. Я знаю, что есть функция для этого, но я хочу Asm способ. Таким образом, после выполнения CPUID он должен заполнить регистры eax, ebx, ecx кодированной строкой ASCII. Но моя проблема в том, что, …
10 мар '10 в 21:02
0 ответов

`uname -m` отличается от`arch` после развертывания виртуальной машины El Capitan с Virtualbox (5.x)

Я собираюсь получить виртуальную машину El Capitan. У меня есть VirtualBox v5.1.6, который работает на компьютере CentOS-7.2/i5-6042P x64. Я следовал инструкциям " https://techsviewer.com/how-to-install-mac-os-x-el-capitan-on-pc-on-virtualbox/", кот…
08 окт '16 в 03:01
2 ответа

Упаковка int в битовое поле в C++

Я конвертирую некоторый код из ASM в C++, ASM просто выглядит так: mov dword ptr miscStruct, eax Структура выглядит так: struct miscStruct_s { uLong brandID : 8, chunks : 8, //etc } miscStruct; Есть ли простой способ с одной строкой заполнить структ…
30 июл '11 в 06:05
0 ответов

Как сгенерировать ключ подтверждения, связанный с серийным номером продукта (CPU-ID), для защиты от копирования моего собственного программного обеспечения

Я написал программное обеспечение, в котором я буду читать идентификатор процессора и отображать идентификатор процессора пользователю в виде серийного ключа программного обеспечения, и он будет запрашивать ключ подтверждения для входа в программное…
06 дек '15 в 15:06
1 ответ

Как изменить набор команд ЦП, который VirtualBox эмулировал для гостевой ОС, например отключить набор инструкций SSE4.2?

Чего я хочу добиться, так это отключить набор инструкций SSE4.2 для ЦП, который VirtualBox эмулировал для моей гостевой ОС Linux для целей отладки, даже если реальный ЦП поддерживает набор инструкций SSE4.2, на котором основан VirtualBox. Я ссылался…
10 сен '18 в 02:15
1 ответ

x86 ASM - cpuid устанавливает флаги?

Меняет ли инструкция x86 CPUID регистр флагов? У меня нет доступа к отладчику, к сожалению. Я пишу некоторый код ассемблера GCC внутри D-программы, и мне было интересно, стоит ли вставлять "cc" в клобберы, просто чтобы быть в безопасности.
24 фев '17 в 19:19
1 ответ

Использование JNA для вызова функции __cpuid в Windows

Мне нужно получить информацию о процессоре (поставщик, модель и т. Д.) В Java. Я обычно использовал бы C/C++, но, к сожалению, это должно быть сделано в Java для моего текущего проекта. Я использую JNA для нативного доступа, и я объявил свой JNA Lib…
24 окт '12 в 00:15