Идентификация процессоров что такое

Обновлено: 06.07.2024

CPUID (CPU Identification) - это дополнительная инструкция процессоров архитектуры x86, которая используется для получения информации о процессоре. С ее помощью можно определить тип процессора и его характеристики. Она впервые была представлена корпорацией Intel в 1993 году примерно в то же время, когда этой же корпорацией представила торговую марку процессоров x86 Pentium и улучшенные процессоры i486. Код инструкции CPUID - 0F A2 (если задавать двумя байтами, если словом - A20Fh). Во время исполнения инструкции задействован регистр EAX, и в некоторых случаях - ECX.

Содержание

История

Поскольку архитектура Intel развивается с добавлением новых поколений и моделей процессоров (8086, 8088, Intel286, Intel386, Intel486, процессоры Pentium, процессоры Pentium OverDrive, процессоры Pentium с технологией MMX, процессоры Pentium OverDrive с технологией MMX, процессоры Pentium Pro, а также: Pentium II, Pentium II Xeon, Pentium II Overdrive, Intel Celeron, Mobile Intel Celeron, Pentium III, Mobile Intel Pentium III - M, Pentium III Xeon, Pentium 4 , Mobile Intel Pentium 4 – M, Intel Xeon and Intel Xeon MP), важно, чтобы Intel предоставлял средства, с помощью которых программное обеспечение может идентифицировать характеристики каждого процессора. Этот идентификационный механизм развился в сочетании с архитектурой Intel следующим образом:

  1. Первоначально Intel опубликовал кодовые последовательности, которые могли обнаружить незначительную реализацию или архитектурные различия для идентификации поколения, к которому относится процессор
  2. Позже, с появлением процессора Intel386 корпорация включила в состав процедуру идентификации подписи процессора, в результате которой можно было узнать семейство, модель и версию процессора, используя программные решения. Однако это можно было сделать только после перезагрузки.
  3. Поскольку архитектура Intel развилась, корпорация расширила процедуру идентификации подписи процессора, и она стала называться CPUID инструкция. С ее помощью можно выяснить не только подпись процессора, но и информацию о характеристиках, поддерживаемых и внедряемых на процессоре Intel.

Эволюция процедуры идентификации процессора была необходима, потому что, поскольку архитектура Intel распространяется, рынок IT-технологий должен был быть готов к настройке функциональности процессора на фоне множества поколений и моделей, имеющих разный набор характеристик. Ожидая, что такая тенденция распространиться и на будущие поколения процессоров, нововведение в архитектуру Intel CPUID инструкция расширяема. Учитывая сильные стороны инструкции CPUID, разработчики могут создавать приложения и инструменты, которые могут использоваться совместно несмотря на богатое разнообразие поколений процессоров Intel в прошлом, настоящем и будущем. [1]

Проверка возможности исполнения CPUID инструкции

Семейство процессоры Intel486 и последующие процессоры предоставляют прямой метод для того, чтобы определить, поддерживает ли внутренняя архитектура процессора CPUID инструкцию. Этот метод использует специальный флаг ID, находящийся в 21 бите регистра EFLAGS. Если программа сможет изменить значение этот флага, то процессор поддерживает CPUID инструкцию, иначе - не поддерживает. Этот бит проиллюстрирован ниже.


Результат работы CPUID инструкции


Инструкция CPUID поддерживает два набора функций. Первый набор функций возвращает базовую информацию о процессоре. С помощью второго набора можно получить дополнительную информацию о процессоре. На рисунке 2 проиллюстрировано то, какая базовая информация о процессоре может быть получена и где она хранится. Выходные данные инструкции CPUID полностью зависимы от содержания регистра EAX. Это означает, что, помещая различные значения в регистр EAX, а затем выполняя инструкцию CPUID, инструкция CPUID выполняет определенную функцию в зависимости от того, какое значение было помещено в регистр EAX (см. таблицу 1). Чтобы определить максимально допустимое входное значение регистра EAX и функций CPUID, которые возвращают базовую информацию о процессоре, программе следует установить значение параметра регистра EAX в нулевое, а затем выполнить инструкцию CPUID следующим образом:

После выполнения инструкции CPUID возвращаемое значение будет присутствовать в регистре EAX. Всегда используйте значение EAX, которое больше или равно нулю и меньше либо равно максимально допустимого значения EAX.

Чтобы определить максимально допустимое входное значение регистра EAX и функций CPUID, которые возвращают дополнительную информацию, программе следует установить значение параметра регистра EAX, равное 80000000h а затем исполнить инструкцию CPUID следующим образом:

После выполнения инструкции CPUID возвращаемое значение будет в регистре EAX. Всегда используйте значение параметра регистра EAX, которое больше либо равно 80000000h и меньше либо равно максимальному допустимому значению EAX. На сегодняшних и будущих IA-32 процессорах 31 бит в регистре EAX будет очищен, когда выполнится CPUID с входным параметром, большим, чем максимальное значение для любого набора функций, и когда расширенные функции не поддерживаются. Все остальные значения битов, возвращаемые процессором в ответ на инструкцию CPUID со значением в EAX больше подходящего для этого процессора, являются уникальными для данной модели и не рекомендуется их изменять.

Идентификатор производителя

В дополнение к возврату максимально допустимого значения в регистре EAX одновременно может быть также проверен идентификатор производителя Intel. Если регистр EAX содержит на входе ноль, то инструкция CPUID также возвращает идентификатор производителя в EBX, EDX и ECX регистрах (см. рисунок 2). Эти регистры содержат строку ASCII: GenuineIntel.

В то время как любой имитатор архитектуры Intel может поддержать инструкцию CPUID, ни одни из них не может претендовать на то, что он является подлинной частью Intel. Таким образом, присутствие строки GenuineIntel является гарантией того, что инструкция CPUID и идентификатор реализованы в соответствии с документом, содержащим описание процессоров Intel и инструкции CPUID. Если такая строка не появилась после исполнения инструкции, не полагайтесь на информацию в этом документе для интерпретации информации, возвращенной инструкцией CPUID.

Таблица 1. Информация, возвращаемая инструкцией CPUID
Начальное значение EAX Предоставляемая информация о процессоре
Базовая информация
0H EAX Максимальное входное значение
EBX "Genu"
ECX "ntel"
EDX "ineI"
1H EAX 32-битный идентификатор производителя (Расширенные семейство и модель, тип, семейство, модель, версия также 95-64 биты из 96-битного серийного номера, когда установлен флаг PSN)
EBX Биты 7-0: Индекс
Биты 15-8: Размер строки CLFLUSH (размер строки кэша = возвращаемое значение * 8). Допустимо только при установке флага CLFSH
Биты 23-16: Граф логических процессоров. Допустимо только при установке флага HTT
Биты 31-24: Уникальное значение контроллера APIC (работает с прерываниями). Только для Pentium 4 и последующих.
ECX Зарезервирован под дополнительные флаги
EDX Флаги характеристик
2H EAX. EBX, ECX, EDX Кэш и TLB дескрипторы
3H EAX Зарезервировано
EBX Зарезервировано
ECX Биты 31-0 96-битного серийного номера
EDX Биты 31-0 96-битного серийного номера
Расширенная информация
80000000h EAX максимальное входное значение
EBX, ECX, EDX Зарезервированы
80000001h EAX Расширенный идентификатор производителя, а также характеристики
EBX, ECX, EDX Зарезервированы
80000002h EAX Строка бренда
EBX, ECX, EDX Продолжение строки бренда
80000003h EAX, EBX, ECX, EDX Продолжение строки бренда
80000004h EAX, EBX, ECX, EDX Продолжение строки бренда

Процессорная идентификационная подпись

Начиная с семейства процессоров Intel486, регистр EDX содержит идентификационную подпись процессора, появляющуюся там после сброса (см. рисунок 3). Идентификационная подпись процессора - это 32-разрядное значение. Подпись процессора состоит из 8 различных битовых полей. Поля серого цвета представляют собой зарезервированные биты и должны кэшироваться. Остальные 6 полей формируют идентификационную подпись процессора.


Процессоры, которые поддерживают инструкцию CPUID, также возвращают 32-разрядную идентификационную подпись процессора, после сброса. Однако, инструкция CPUID дает возможность проверки подписи процессора в любое время. Рисунок 3 показывает формат 32-разрядной подписи процессора для Intel486 и последующих процессоров. Обратите внимание на то, что значение подписи процессора EDX после сброса эквивалентно выходному значению подписи процессора в регистре EAX на рисунке 2. Рассмотрим содержание EDX регистра подробнее: (здесь можно сделать таблицу)

  • Биты с 20 по 27: дополнительная информация о семействе, используется в сочетании с основным кодом семейства, определенным между битами 8 и 11, чтобы указать, принадлежит ли процессор Intel386, Intel486, Pentium, Pentium Pro или Pentium 4 семействам.
  • Биты с 16 по 19: дополнительная информация о модели, используется в сочетании с номером модели, определенным между битами 4 и 7, используются для идентификации модели процессора в семействе. ID в битах 0 до 3 указывает номер ревизии той модели.
  • Биты с 12 по 13: информация о типе процессора, указывает, является ли процессор исходным процессором OEM, OverDrive или сдвоенным (Dual). Значения типа процессора, возвращенный в битах 12 и 13 из регистра EAX, представлены в таблице 2.
  • Биты с 8 по 11: основной код семейства процессора
  • Биты с 4 по 7: модель семейства процессора
  • Биты с 0 по 3: номер ревизии модели

Флаги и характеристики

Когда регистр EAX содержит значение 1, инструкция CPUID (в дополнение к загрузке подписи процессора в регистре EAX), загружает EDX и регистр ECX со значениями флагов. Значения флагов (когда Флаг = 1) показывают, какие функции поддерживает процессор. Чтобы узнать, какие функции поддерживает процессор, следует обратиться к руководству для разработчиков, пользователей или другой подходящей документации процессора.

Размер кэша, формат и информация TLB

Когда регистр EAX содержит значение 2, инструкция CPUID загружает EAX, EBX, ECX и регистры EDX с дескрипторами, которые указывают кэш процессоров и характеристики TLB. Последние 8 бит регистра EAX (AL) содержат значение, которое показывает, сколько раз должна выполниться инструкция CPUID, чтобы получить полную картину системы кэширования процессора. Например, процессор Pentium 4 возвращает значение 1 в последних 8 битах регистра EAX, чтобы указать, что инструкция CPUID должна быть выполнена один раз (при EAX = 2) для получения полной картины конфигурации процессора.

Серийный номер процессора

Серийный номер процессора расширяет понятие идентификации процессора. Серийный номер процессора - 96-разрядное число, доступное через инструкцию CPUID. Он может использоваться приложениями, чтобы идентифицировать процессор.

Серийный номер процессора создает уникальное программное решение для конкретного процессора. Серийный номер в комбинации с другими классификаторами может быть применен к идентификации пользователя. Приложения включают проверку подлинности членства, резервное копирование данных / восстановление, съемная защита данных хранения, управление доступом к файлам, или подтвержденный обмен документом между надлежащими пользователями. Также серийный номер может использоваться для включения доверенного PC.

Наличие серийного номера процессора

Чтобы определить, поддерживается ли функция определения серийного номера процессора, программе следует установить значение параметра регистра EAX равным 1, а затем выполнить инструкцию CPUID следующим образом:

После выполнения инструкции CPUID регистры ECX и EDX содержат характеристики и флаги. Если флаг PSN (бит 18 регистра EDX) равен 1, то серийный номер процессора поддерживается и включен. При 0 он либо выключен, либо не поддерживается.

Формирование 96-битного серийного номера

96-разрядный серийный номер процессора - это комбинация трех 32-разрядный объектов. Чтобы получить доступ к старшим 32-разрядным битам, программе следует установить параметр регистра EAX в 1, а затем выполнить инструкцию как показано ниже:

После ее выполнения регистр EAX содержит идентификационную подпись процессора. Она включает старшие 32-разрядные бита серийного номера процессора. Значение в EAX должно быть сохранено до сбора оставшихся 64 битов серийного номера.

Чтобы получить к ним доступ, программе следует установить параметр регистра EAX в 3, а затем выполнить инструкцию CPUID:

После выполнения инструкции CPUID регистр EDX содержит средние 32 бита, а регистр ECX содержит младшие значащие 32 бита серийного номера. После этого программа может соединить сохраненную идентификационную подпись, EDX и ECX, а затем возвратить полный 96-битный серийный номер процессора. [2]

Номер, помогающий идентифицировать процессор

Процессоры, которые имеют такой номер, возвращают его в битах с 0 по 7 в регистре EBX, когда CPUID выполняется со стартовым значением 1 регистра EAX. Процессоры, которые не поддерживают такой номер, возвращают нулевое значение в этих же битах регистра EBX.

Строка идентификации

Эта строка - новое расширение инструкции CPUID, реализованная в некоторых процессорах. Используя ее, эти процессоры будут возвращать эту идентификационную строку в кодировке ASCII и максимальную рабочую частоту через инструкцию CPUID. Когда инструкция будет выполняться с набором значений регистра EAX, указанным с таблице 4, процессор будет возвращать эту строку в регистрах общего назначения. [3]

Последовательность идентификации процессора

Для идентификации процессора с помощью CPUID инструкции, программе следует придерживаться следующей последовательности:

В первой части я рассказал о необходимости идентификации расширений, присутствующих на конкретном процессоре. Это нужно для того, чтобы исполняющийся код (операционная система, компилятор или пользовательское приложение) смог надёжно определить, какие возможности аппаратуры он может задействовать. Также в предыдущей статье я сравнил несколько популярных архитектур центральных процессоров общего назначения. Возможности по идентификации между ними сильно разнятся: некоторые предоставляют полную информацию о расширениях ISA, тогда как другие ограничиваются парой чисел для различения вендора и ревизии.
В этой части я расскажу об одной инструкции архитектуры Intel IA-32 — CPUID, введённой специально для перечисления декларируемых процессором расширений. Немного о том, что было до её появления, что она умеет сообщать, какие неожиданности могут поджидать и какой софт позволяет интерпретировать её вывод.



Источник изображения: [1]

История

Как я уже утверждал в первой части, присутствует следующая тенденция: чем более «встраиваемая» природа у процессора, тем меньше возможностей для идентификации заложено в его архитектуру. Создатели встраиваемых систем почему-то не волнуются о переносимости двоичного кода.

Не являлся исключением и Intel 8086 — микропроцессор 1970-х годов, выросший из «калькуляторной» серии 8008, 8080, 8085. Изначально в него не было заложено никаких средств идентификации.
Начиная с 808386 сведения о модели, степпинге и семействе стали сообщаться в регистре EDX сразу после перезагрузки (получения сигнала RESET). Инструкция CPUID, кодируемая байтами 0x0f 0xa2, была введена в процессорах 80486. Наличие CPUID можно было распознать по возможности записи в бит 21 регистра флагов. Для поддержки работы на более старых ЦПУ приходилось идти на очень изощрённые методы для того, чтобы различать процессоры серий от 8086 до 80386.

Перечисленные в оригинальной статье техники были опробованы преимущественно на ЦПУ от Intel. В статье автор признаёт, что они не позволяют надёжно классифицировать клоны x86 других производителей.

Интерфейс

Для системного программиста работа по идентификации некоторого расширения обычно заключается в установке входных значений в регистрах EAX (лист, англ. leaf) и ECX (подлист, англ. subleaf), исполнению CPUID и прочтению результата в четырёх регистрах: EAX, EBX, ECX, EDX. Отдельные битовые поля выходных регистров будут содержать информацию о значениях связанных с ними архитектурных параметров конкретного ядра процессора.

Все валидные сочетания входных листов-подлистов и четвёрок регистров на выходе формируют таблицу CPUID. Для современных процессоров она содержит около двух десятков строк по четыре 32-битных столбца.
Я не буду расписывать детально все официально описанные поля этой таблицы. Интересующиеся всегда могут найти их в Intel SDM [1] (рекомендую запастись терпением — около 40 страниц текста только про CPUID). Болеее того, для уже заявленных, но ещё не выпущенных в физических продуктах расширений ISA соответствующие им новые поля CPUID могут быть найдены в [3]. Вместо этого я классифицирую информацию, которую можно извлечь из вывода этой инструкции. Для обозначения битовых полей таблицы я буду использовать принятую для этого нотацию: CPUID.leaf.subleaf.reg[bitstart:bitend]. Например, CPUID.0.EBX[31:0] — это биты с 0 по 31 выходного регистра EBX после исполнения CPUID, которая на вход получила лист 0 (EAX = 0); подлист (входное значение ECX) игнорируется, поэтому он не указан.

Регионы листов

Неподдерживаемые значения входных EAX и ECX не приводят к возникновению исключений, а вместо этого возвращают нули во всех четырёх регистрах, либо «мусор» (значения другого листа согласно спецификации). Допустимые же сочетания листов и подлистов образуют три непрерывных региона.


  • Обычный регион — все листы с номерами, начиная с нулевого и до максимального значения, равного CPUID.0.EAX[31:0]. Номер максимального листа постоянно растёт и уже давно перевалил за десятку.
  • Расширенный регион — все листы, начиная с 0x80000000 и до максимального значения, равного CPUID.0x80000000.EAX[31:0]. Довольно долгое время это максимальное значение остаётся равным 0x80000008. Я не нашёл документальных доказательств, но у меня есть чувство, что само появление диапазона расширенных листов связанно с введением компанией AMD 64-битного расширения архитектуры IA-32.
  • Диапазон листов 0x40000000-0x4fffffff считается зарезервированным; обещается, что возвращаемые для него CPUID значения всегда будут равны нулю. Однако это не мешает некоторым использовать его для своих нужд. Например, виртуальные машины KVM возвращают в листе 0x40000000 четвёрку чисел [0, 0x4b4d564b, 0x564b4d56, 0x4d].

  • CPUID.1.ECX[0] — SSE3 — векторные инструкции.
  • CPUID.1.ECX[9] — SSSE3 — другие векторные инструкции.
  • CPUID.1.ECX[7] — EIST — Enhanced Intel SpeedStep®, динамическое изменение частоты процессора.
  • CPUID.1.EDX[25] — SSE — ещё векторные инструкции.
  • CPUID.1.EDX[26] — SSE2 — снова векторные инструкции.
  • CPUID.6.EAX[1] — Intel Turbo Boost, оверклокинг «из коробки».
  • CPUID.7.0.EBX[4] — Hardware Lock Elision, CPUID.7.0.EBX[11] — Restricted Transactional Memory — два расширения от Intel для поддержки транзакционной памяти.
  • CPUID.0x80000001.ECX[5] — LZCNT, инструкция для подсчёта числа старших нулевых бит, похожая (даже слишком) на BSR.
Brand String

Конечно же, ни один вендор не упустит возможности увековечить своё имя в идентификационных данных своего продукта. Причём желательно сделать это не просто в виде числа, а впечатать ASCII-строку (хорошо хоть, что не Unicode).
В IA-32 CPUID текст можно найти минимум в двух группах листов. CPUID.0.EBX, ECX, EDX содержат 12 байт ASCII-строки, специфичной для каждого вендора. Для Intel это, конечно же, «GenuineIntel». А три листа CPUID.0x80000002–0x80000004 предоставляют аж 48 байт для кодирования в ASCII так называемой Brand String. Именно её видно при распечатке cat /proc/cpuinfo в Linux. И, хотя формат её более-менее стандартизован: «вендор марка серия CPU @ частота», я настоятельно не рекомендую по её содержимому принимать решения в программном коде. Слишком значительно её содержимое может варьироваться: частота может быть указана в МГц или в ГГц (а в реальности быть совсем иной из-за динамической подстройки), пробелы могут менять положение, а симулятор или виртуальная машина могут подставить туда вообще что угодно. Вся информация из brand string может быть найдена программно более надёжными способами.

Информация о кэшах, такая как их тип, количество, ёмкость, геометрия, разделяемость между ядрами полезна для тюнинга высокопроизводительного математического софта, например, библиотек BLAS (basic linear algebra system).
Изначально конфигурацию кэшей описывал лист 2. Спроектировали его не очень дальновидно. Формат кодирования информации в нём был выбран не самый гибкий, он не смог в будущем поддержать постоянные изменения в объёме и конфигурации нескольких уровней кэшей. В настоящее время использование информации из листа 2 не рекомендуется, там могут стоять 0xFF-ки.
Судя по тому, что лист 0x80000006 входит в расширенный диапазон (хотя я не уверен, документальных доказательств пока что не нашёл), он был добавлен не Intel. С помощью него была сделана попытка информацию листа 2 дополнить данными о строении кэшей, которые потребовались разработчикам софта. При этом опять же не было намерения предоставить пространство для роста.
Лист 4 — последнее и пока что наиболее гибкое представление данных о кэшах. Цена этому — добавление концепции подлистов, кодируемых в ECX. Каждый подлист описывает один кэш: данных, кода или совмещённый, определяет его уровень, ёмкость и т.д. Хватит ли четвёртого листа надолго — поживём, увидим.

Топология
  • SMT — уровень гипер-потока, сущности, содержащей индивидуальное архитектурное состояние (регистры), но потенциально разделяющей исполнительные устройства с другими потоками (в составе одного ядра).
  • Ядро (core) — сущность, содержащая индивидуальный набор вычислительных устройств (сумматоров, умножителей и т.д.). Одно ядро может иметь в себе один, два (у ЦПУ с HyperThreading) или четыре (у Xeon Phi) гипер-потока.
  • Пакет (пэкадж, package) — собственно железка целиком, покупаемая в магазине и вставляемая в разъём (сокет) на матплате. Имеет на себе как минимум одно ядро. В многопроцессорных серверных системах может быть несколько пэкаджей.
Изменяемые поля
  • Бит 18 регистра CR4 влияет на CPUID.1:ECX.OSXSAVE[27], обозначающий поддержку инструкции XSAVE.
  • Поля регистра IA32_MISC_ENABLE влияют сразу на несколько полей CPUID: бит 3 — на поля TM1 и TM2, бит 16 — на поле EIST, бит 34 — на поле XD (execution disable) и т.д.
  • Включение бита 22 регистра IA32_MISC_ENABLE вообще «отрезает» все листы таблиц CPUID старше третьего (видимо, это было сделано для совместимости с Windows NT4, не зря этот бит так и называется — NT4).
Разное

В этой секции я собрал прочие интересные моменты, связанные с историей и работой команды CPUID.

Processor Serial Number

Во времена Pentium III каждый процессор получил уникальный серийный номер, содержавшийся в CPUID.3.ECX и CPUID.3.EDX [7]. Легко представить, насколько такая фича была бы удобна для нужд защиты ПО от копирования. Однако в 1999 году Европейское сообщество запротестовало, разумно опасаясь, что подобная функциональность повредит приватности пользователей таких систем. Уже в Intel Pentium IV серийный номер был убран, сейчас лист 3 возвращает нули.

Вендоры и CPUID

Очень интересная таблица [5] повествует о том, что хранят (или в прошлом хранили) в разных листах CPUID разные вендоры. Например, описывается некий mystery level 0x8fffffff, в котором процессоры AMD K8 возвращали строку IT'S HAMMER TIME.

Agner Fog о войнах ISA

История появления расширений набора инструкций IA-32 в условиях конкурентной борьбы нескольких компаний [4]. Добавление новых инструкций всегда влияло на CPUID, и не всегда все могли договориться о том, как это сделать правильно.

Они испортили CPUID! IA32_BIOS_SIGN_ID

Инструкция CPUID всегда нравилась мне лаконичностью своего интерфейса и отсутствием неожиданностей в работе: один регистр на входе и четыре на выходе. В её работе нет генерации исключений, нет обращений к памяти, нет чтения/модификации регистра флагов, на неё не влияют префиксы, она работает во всех режимах процессора. По сравнению с зоопарком CISC-команд IA-32 это был почти идеал.
… пока не оказалось, что иногда на вход необходимо подать два регистра для кодирования листа и подлиста. Окей, не так всё хорошо. Ну хотя бы выходные регистры заранее известны и всегда изменяются…
И тут оказалось, что иногда CPUID изменяет ещё один регистр — а именно IA32_BIOS_SIGN_ID, — и сохраняет в нём сигнатуру текущей программы микрокода процессора. Происходит это, если до этого было произведено обновление прошивки процессора. По каким-то причинам информация об этой процедуре была раскидана по мануалу [1] на тысячу страниц, и потому она ускользала от меня очень долго.

Для идентификации процессоров фирмы Intel можно воспользоваться программой Intel Processor Frequency ID Utility для WindoVs. Эту программу можно бесплатно скачать с Web-сайта указанной фирмы. Она не только позволяет определить тип процессора стандартными возможностями CPUID, но также дает возможность выяснить частоту системной шины процессора и внутреннюю рабочую частоту самого процессора.

Такая специализированная программа идентификации параметров процессора незаменима в борьбе с многочисленными их подделками, связанными с перемаркировкой. Сама фирма Intel утверждает, что программа Intel Processor Frequency ID Utility разработана с целью определить, не работает ли процессор Intel на тактовой частоте, превышающей номинальную. Однако данная программа полезна и для пользователей, желающих разогнать или уже разогнавших элементы своих компьютеров. Следует отметить, что указанная программа сообщает правильные данные для частот даже в том случае, когда они превышают номинальные (рекомендованные) для данного процессора. Но если частота превышает рекомендованную величину, то программа предупреждает пользователя о всевозможных неприятных последствиях разгона

К сожалению, функция CPUID программы не поддерживает процессоры, которые не были изготовлены фирмой Intel. Функции, связанные с определением частот, также имеют некоторые ограничения на типы используемых процессоров. Ниже представлен список поддерживаемых процессоров.

Процессоры, поддерживаемые функцией определения тактовой частоты (Frequency ID):

  • Intel Pentium III;
  • Intel Pentium III Xeon;
  • Intel Celeron с тактовой частотой от 533А МГц;
  • Mobile Intel Pentium III;
  • Mobile Intel Celeron с тактовой частотой от 450 МГц.

Процессоры, поддерживаемые функцией CPLJID:

  • Intel Pentium;
  • Intel Pentium с технологией ММХ;
  • Intel Pentium OverDrive;
  • Intel Pentium OverDrive с технологией ММХ;
  • Intel Pentium Pro;
  • Intel Pentium II OverDrive for Pentium Pro;
  • Intel Pentium II;
  • Intel Pentium II Xeon;
  • Intel Celeron;
  • Intel Pentium III;
  • Intel Pentium III Xeon;
  • Intel Pentium;
  • Mobile Intel Pentium II;
  • Mobile Intel Pentium III;
  • Mobile Intel Celeron.

Следует отметить, что программа способна провести анализ для каждого процессора в многопроцессорной системе под управлением операционных систем Windows NT и Windows 2000.

Кроме того, программа CPUID предоставляет достаточно много сведений об установленном процессоре. Это может быть очень полезно, например, при поиске наиболее разгоняемых процессоров, т. к. характеристики "почти одинаковых" (с точки зрения идентификации) процессоров обычно похожи. В связи с этим следует ознакомиться с этими параметрами более подробно. Помимо использования утилиты Frequency, ID функции CPUID можно получить самыми разными способами и программами. В качестве одного из вариантов можно привести программу cpuid.exe фирмы Intel (рис. 12.32), выдающую такие параметры под операционную систему DOS.

Для получения информации о процессоре необходимо лишь обратиться к соответствующему его регистру. Начиная с серии i486, процессоры имеют встроенный идентификатор, состоящий из, пяти блоков (рис. 12.33).


Рис. 12.25. Результат работы программы CPUID


Рис. 12.26. Схема хранение информации о процессоре

Обычно программы предоставляют пользователю следующую информацию о процессоре.

Название, присвоенное корпорацией Intel конкретному процессору, например, Intel Pentium III. Часто профамма не сообщает название процессора, но его можно с легкостью определить с помощью следующей таблицы (данные представлены в двоичном коде).

Intel Processor Identification Utility - Утилита для идентификации процессоров Intel, установленных в системе. Intel Processor Identification Utility позволяет определить, какие технологии поддерживает процессор, установленный в компьютере, и удостовериться, что он работает на предназначенной ему частоте. Показывает также номинальную и действительную скорость процессора и системной шины, объем кэш-памяти и дает различные рекомендации.

Платформа/ОС: Windows® 98/2000/XP/2003/Vista
Язык: Multilingual (русский присутствует)
Размер: 1.22 Mb
Год выпуска: 2009
Лекарство: Не требуется
26.12.09

Intel Processor Identification Utility 4.21 скачать бесплатно

Яндекс.Браузер - быстрый и простой в использовании веб-браузер с "облачными" сервисами, созданный на движке WebKit и оболочке Chromium. Особенности:• безопасность, гарантируемая проверкой ссылок с помощью Safe Browsing и скачиваемых файлов системой "Лаборатории Касперского";• современный минималистический интерфейс поможет удобно переходить по веб-сайтам и предложит нужные элементы управления именно тогда, когда они на самом деле понадобятся;•&n.

MSI Afterburner - функциональная утилита от компании MSI, которая предназначена для разгона видеокарт NVIDIA и AMD. Особенности: Создан на основе ядра RivaTuner Расширяемая пользователем архитектура Основные функции разгона и управления вентиляторами Поддержка основных функций захвата экрана Расширенное управление вентиляторами Мониторинг состояния оборудования Система автоматического управления профилями Дает больше свободы хардкорным оверклокерам. Что нового.

Mozilla Thunderbird - бесплатная программа для работы с электронной почтой от Mozilla, поддерживает протоколы SMTP, POP3, IMAP и RSS.Особенности:• имеет встроенный HTML редактор, который создает довольно компактный код;• поддерживает всевозможные кодировки, расширяется за счет дополнительных модулей и фильтрует рекламу, а также нежелательную корреспонденцию;• интерфейс программы прост и удобен в использовании, поддерживает.

Telegram — десктопная версия популярного мессенджера для мобильных устройств. Телеграм является одним из самых защищенных мессенджеров, обеспечивает полную конфиденциальность пользователей и использует механизмы удаления всех следов переписки не только на устройстве, но и на серверах. Особенности:• быстрая регистрация и привязка аккаунта к номеру мобильного телефона;• мгновенная синхронизация чатов между всеми устройствами;• &nb.

Adobe Photoshop для Mac — самый популярный графический редактор в мире, который используется как новичками, так и профессионалами. Приложение позволяет вносить практически любые изменения в изображения, уровень которых ограничивается лишь мастерством пользователя. Особенности: огромный функционал программы; библиотека дополнительных расширений для более профессиональных возможностей; работа с несколькими изображениями одновременно; интеграция со всеми продуктами от Adobe Cor.

Microsoft Word for Mac для Mac — бесплатный офисный компонент для пользователей компьютеров на Mac OS. Сочетает в себе все необходимые функции для просмотра и редактирования текстовых документов. для удобства работы предусмотрено две среды: рабочая и записи, для исключения внесения случайных изменений в документ; поиск по документу; галерея инструментов идентичная таковой в приложении для Windows; полная совместимость со всеми форматами Microsoft Word; создание макросов для автомат.

uTorrent — версия самого популярного p2p-клиента для компьютеров с установленной Mac OS. Позволяет скачивать файлы из пиринговых сетей с максимальной скоростью благодаря многопотоковой загрузке из различных источников. Особенности: небольшой размер; интерфейс идентичный Windows—версии; работает с torrent файлами и magnet ссылками; возможность загружать несколько раздач одновременно, а также управлять скоростью и, приоритетом загрузок; работа в фоновом режиме; приложе.

ABBYY FineReader Express Edition for Mac - это простая и удобная в использовании OCR-программа, которая позволяет с высокой точностью конвертировать отсканированные документы и файлы изображений в различные электронные форматы. ABBYY FineReader Express Edition for Mac сохраняет исходное оформление документов, тем самым, уменьшая необходимость перепечатывания и хранения бумажных документов.Программа позволяет конвертировать изображения из форматов TIFF, TIF, PNG, JPG, JPEG, JP2, J2K, BMP, PCX, DC.

Wine - это не эмулятор Windows, как думают многие, а альтернативная реализация API Windows 3.x и Win32 (кстати, и расшифровывается Wine как "Wine Is Not Emulator").Wine позволяет конечному пользователю выполнять в unix-системах (и Linux) многие приложения, написанные для ОС Windows.

Fedora Workstation - надежная, удобная и мощная операционная система для ноутбука или настольного компьютера. Она поддерживает широкий спектр разработчиков, от любителей и студентов до профессионалов в корпоративных средах.

Представлен релиз 32-разрядного дистрибутива Runtu LITE 18.04, основой которого является пакетная база релиза Bionic Beaver 18.04 LTS. Сборка имеет минимальный набор пользовательского ПО с возможностью установки на жёсткий диск. В составе предустановлены программы для работы с Интернет, воспроизведение аудио- и видеоконтента, настройки рабочего окружения.

Богатый набор Русско-Английских и Англо-Русских словарей для StarDict

Smart Driver – удобный радар камер и ДПС, а так же видеорегистратор в одном приложении. Предупредит где камеры ГИБДД на дороге, в том числе укажет их тип:– камера только на скорость, в том числе "Стрелка"– камера на стоп–линию и проезд на красный– камера на полосу общественного транспорта и обочину– стационарный пост ДПС– парная камеры, контролирующие среднюю скорость на участке дороги ( "Автодория")– камера смотрящая "в спину"– засада ДПС ил.

это популярный браузер с возможностью сжатия трафика через собственные сервера. Возможности программы: Сжатие страницUC Browser сэкономит более 90% трафика благодаря технологии сжатия страницСтабильное соединение с ИнтернетСобственная технология Free-link обеспечивает стабильную связь с серверамиМощный поискВ браузер встроены различные популярные и мощные поисковые сервисыМногооконностьВы можете переключаться между открытыми страницами по своему желаниюНавигация по сайтамНавигация содержит в с.

Приложение «Медитация для начинающих» можно скачать бесплатно на Android. Медитация на русском - антистресс-практика, которая изменит Вашу жизнь. Она научит расслабляться во время стресса. Пройдите базовый курс медитации для начинающих с помощью приложения, чтобы научиться снимать стресс, загляните внутрь себя, прислушайтесь к своим мыслям и своему организму, научитесь самостоятельно осознавать свои страхи и тревоги. Следите за своим дыханием. Для Вашего удобства медитация н.

TuneIn Radio для iOS - пожалуй самый мощный сервис для прослушивания онлайн радиостанций и подкастов со всего мира совершенно бесплатно. Особенности: более 100 000 уникальных радиостанций со всего света; прослушивание в режиме реального времени и отложенное воспроизведение; около 6 000 000 пользовательских подкастов; возможность работы с Apple Watch; лента событий в которой также отображается очередь воспроизведения; возможность добавления станций и подкастов в избранное; простой интуит.

Яндекс Музыка для iOS - клиент популярного музыкального сервиса для устройств Apple. С его помощью можно прослушивать онлайн музыку любимых исполнителей в высоком качестве совершенно бесплатно.Особенности: удобный поиск композиций по исполнителю, названию группы и жанру. Также учитываются предпочтения пользователя; рекомендации основанные на основе уже прослушанных и отмеченных песен; создание собственных интернет-радиостанций с возможностью поделиться ссылкой в социальных сетях и мессендже.

YouTube для iOS - популярный видеохостинг, получивший признание пользователей со всего мира. С обновленным интерфейсом, приложением стало пользовать еще удобнее, теперь можно пользоваться абсолютно всеми возможностями веб-версии сервиса на своем iPhone.Особенности: просматривайте контент других пользователей или выкладывайте свой; возможность проведения прямых трансляций; функции настройки качества воспроизводимого видео; возможность оставить комментарии к роликам, а также подписаться на п.

Читайте также: