Как узнать серийный номер процессора

Обновлено: 03.07.2024

В процессе эксплуатации персонального компьютера (ПК) иногда необходимо точно знать, какой тип центрального процессора (ЦП) в нём используется. Часто пользователь, до того момента, пока не подойдёт время апгрейда или ремонта ПК, даже и не задумывается о том, какой у него процессор — Intel или AMD.

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

Например, материнская плата может поддерживать только ЦП, имеющие множителя не более какого-то определенного значения. Или используемый процессор может быть несовместим с новыми модулями памяти, которые планируется установить на ПК. Ну, и так далее…

В приведенной статье рассмотрено, как узнать, какой процессор установлен на компьютере.

Просмотр характеристик процессора без специальных программ в различных ОС Windows

Уже базовые средства аппаратной диагностики современных операционных систем (ОС) позволяют определять тип используемого в них оборудования. Собственно, в этом нет ничего удивительного, поскольку, уже начиная с Windows 95 (а это было примерно четверть века назад) все операционки понимали стандарт Plug And Play; и вся информация об устройствах попадала в ОС хотя бы для того, чтобы последняя могла самостоятельно находить драйверы для тех или иных устройств.

Рассмотрим способы определения типа ЦП средствами операционной системы.

Свойства системы

В любой версии Windows, уже начиная в Висты, появилась возможность узнать точное наименование своего ЦП. На современных ПК с Windows 7, 8 или 10 это можно сделать либо в диспетчере устройств, либо в свойствах системы.

Для этого необходимо открыть панель управления и перейти в раздел «Система». Либо же зайти в меню «Пуск» и правой кнопкой мыши выбрать свойства компьютера. Сведения о ЦП будут отображены немного ниже индекса производительности. Там будет указана марка ЦП, его индекс, цифробуквенный артикул и частота. В случае использования нестандартной частоты, будут индицироваться обе – заводская и используемая в настоящее время.

Здесь же можно перейти в диспетчер устройств, выбрав его в левом верхнем углу окна системных свойств. Откроется окно диспетчера устройств и в разделе Процессоры можно увидеть количество используемых в настоящее время логических процессоров.

Важно! Средствами Windows невозможно определить количество используемых в системе физических ядер ЦП. Для этого следует использовать сторонние программы.

Диспетчер устройств

На ПК с установленной Windows 10 это можно сделать ещё одним, более быстрым способом. Функция идентификации ЦП заложена в диспетчер задач Windows 10. Нажав комбинацию клавиш Ctrl+Shift+ESC можно запустить эту программу. В ней следует перейти во вкладку «Производительность».

Тип используемого на ПК или на ноутбуке ЦП будет отображен в правом верхнем углу окна, непосредственно над графиком загрузки ЦП.

DirectX

Рассмотрим, как узнать, какой ЦП стоит на материнке посредством встроенной библиотеки трёхмерной графики DirectX. Для этого необходимо запустить программу диагностики библиотеки: нажимаем Win+R и в полученном окне набираем «dxdiag», после чего нажимаем ОК.

В отличие от диспетчера задач в Windows 10, здесь заходить никуда не нужно: сведения о ЦП необходимо смотреть в разделе «Сведения о системе – Процессор», открытых на основной вкладке программы.

BIOS

Тип используемого ЦП можно посмотреть в BIOS компьютера. Для этого при загрузке ПК следует нажать F2 или Del и войти в программу базовых настроек.

Обычно, тип используемого ЦП отображается в главном меню. Оно может называться либо «Main», либо «Basic BIOS settings» — это зависит от производителя программы BIOS. Внутри этого раздела будет находиться поле «Processor», в котором будет указан тип, марка и частота используемого ЦП.

Популярные утилиты

Ещё один часто применяемый метод, как проверить тип используемого в компьютере ЦП – это воспользоваться какой-нибудь сторонней программой системной диагностики. Плюс подобных программ заключается в том, что они не просто предоставят всю информацию о ЦП, которую средствами, встроенными в ОС приходилось собирать по частям (тип ЦП – из свойств системы, число ядер – из диспетчера задач или устройств и т.д.), но и выдают огромное количество дополнительной информации о ЦП. К ней относят:

  • объёмы кэша 2 и 3 уровней;
  • наличие у ЦП возможности разгона;
  • используемое напряжение питания;
  • точное место и время выпуска;
  • и многое другое.

Данная информация может быть использована для более тонкой настройки ЦП и всего ПК в целом.

К таким утилитам можно отнести следующие программные пакеты:

Большинство подобных программ являются или бесплатными, или условно-бесплатными. Их можно в любой момент скачать с сайта производителя.

Визуальный осмотр процессора

Ну, и не стоит забывать о самом простом и надёжном способе, как узнать название процессора: посмотреть на крышку ЦП собственными глазами. Из всех способов, позволяющих определить ЦП этот — самый достоверный, поскольку все производители микропроцессоров маркируют свои изделия, ещё начиная с легендарного 4004.

Недостатком подобного метода является его трудоёмкость. Перед тем, как посмотреть, что же на процессоре написано, его придётся извлечь из сокета материнской платы и удалить с защитной пластины слой термопасты.

Первая надпись сверху будет означать название марки ЦП. Во второй строчке указывают серию, номер поколения, артикул и версию (для Intel).

Существуют различные методы определения названий и номеров процессоров Intel®.

Приведенные ниже методы относятся ко всем процессорам Intel®, а именно процессорам Intel® Core™, Intel® Xeon®, Intel® Pentium®, Intel® Celeron® и Intel Atom®.

Метод 1: Операционная система

Windows*

Клавиша Windows

  1. Нажмите клавишу Windowsна клавиатуре и начните вводить System, а затем выберите системную информацию, в которой будут представлены сведения о процессоре, содержащие его название, номер и скорость.
  2. Если клавиша Windows не доступна на клавиатуре, нажмите правой кнопкой мыши на значок Windows в нижнем левом углу экрана и выберите Система. Найдите название и номер процессора в информации о процессоре.

В следующих примерах представлен выбор системной информации, а затем – Система.

Системная информация

Система

Linux*

Введите следующую команду

lscpu | grep "Model name"

Командная строка Linux

Командная строка Linux

MAC OS

Введите следующую команду в приложении терминала

sysctl -a | grep machdep.cpu.brand_string

Командная строка MAC OS

Метод 2: Упаковка

Если вы приобрели процессор Intel® в штучной упаковке, его номер нанесен на упаковке вместе с другой информацией, такой как номер партии (FPO) и серийный номер (ATPO).

Номер процессора

Метод 3: Маркировка процессоров

Название и номер процессора Intel® нанесены сверху процессора. См. следующий пример.

Название и номер процессора

См. следующий видеоролик, чтобы узнать, как идентифицировать название и номер процессора Intel®.

Идентификация поколения процессора Intel® Core™

Вы также можете идентифицировать поколение процессора, если ваш процессор – это процессор Intel® Core™. Поколение процессора определяется числом, стоящим после i9, i7, i5 или i3.

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

Как узнать серийный номер процессора

  • Как узнать серийный номер процессора
  • Как узнать серийный номер в материнской плате
  • Как найти серийный номер компьютера

Довольно часто серийный номер можно посмотреть на упаковке к процессору. Но если компьютер вам собирали в сервисном центре, или вы покупали уже собранный ПК, то упаковки к комплектующим вам могли и не выдать.

Иногда серийный номер процессора указывается в гарантийном листе к нему. Также вы вправе требовать серийный номер процессора у продавца. У него должна быть такая информация, и он обязан вам ее предоставить.

К сожалению, довольно сложно узнать серийный номер процессора с помощью различных системных средств операционной системы и программ. На современных процессорах вывод серийного номера программным способом блокируется. Поэтому если с помощью вышеперечисленных способов вам не удалось узнать его, придется открывать системный блок.

Отключите компьютер от электросети. Извлеките все периферийные устройства. Открутите крепежные винты и снимите крышку системного блока. Дальше вам необходимо снять с процессора охлаждение. Это радиатор, на котором расположен кулер. Большинство радиаторов отсоединяется с помощью рычажка. Иногда требуется еще открутить крепежные винты. После отсоединения радиатора вы получите доступ к процессору. Извлекать его необязательно; с помощью салфетки сотрите с процессора термопасту, после чего вы увидите серийный номер. Если символы плохо видно, можно подсветить фонариком.

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

В первой части я рассказал о необходимости идентификации расширений, присутствующих на конкретном процессоре. Это нужно для того, чтобы исполняющийся код (операционная система, компилятор или пользовательское приложение) смог надёжно определить, какие возможности аппаратуры он может задействовать. Также в предыдущей статье я сравнил несколько популярных архитектур центральных процессоров общего назначения. Возможности по идентификации между ними сильно разнятся: некоторые предоставляют полную информацию о расширениях 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] на тысячу страниц, и потому она ускользала от меня очень долго.

основываясь на теге "лицензирование", который вы использовали для своего вопроса, Вы можете получить лучшие результаты чтение сетевого MAC-адреса. Идентификация ПК по MAC-адресу не является полностью нерушимым методом защиты от копирования, но иногда он используется.

У меня есть окончательный ответ на это без каких-либо внешних библиотек. Просто введите это:

wmic bios получить serialnumber

Это даст вам серийный номер на шасси ПК ;) (найдено в базе знаний microsoft)

помните, что большинство компьютеров в эти дни корабль с CPU ID отключен в BIOS. См.CPUID в Википедии

даже при включенном CPUID есть ли серийный номер, доступный в современных процессорах? Я помню, что был большой протест в Pentium 3 дней, когда вся эта проблема серийного номера была поднята.

это и старая нить. Но у меня была такая же проблема, но я получил следующую логику, работающую без слишком много "если", " и " или "но".

проблема с серийным номером CPU заключается в том, что он не всегда работает в виртуализированной среде.

Я сделал следующую логику с набором серверов на базе Windows:

Win32_BIOS может предоставить вам серийный номер bios. Нам нужно иметь в виду, что если система виртуализирована, вы можете получить тот же BIOS serial номер для всех серверов.

Win32_NetworkAdapter может предоставить вам MAC, который вы также можете использовать. В случаях, когда у вас есть несколько NICs, вы получите несколько Mac.

объединяя оба этих идентификатора, у меня был уникальный набор из 6000 серверов, охватывающих физические и виртуальные. Это было очень просто реализовать с помощью ManagementClass & ManagementObject .

но только предостережение: когда вы пытаетесь получить MO экземпляр удаленно, это займет больше, чем несколько секунд в оптической сети с задержкой WMI данные по многопоточному вызову.

__get_cpuid (unsigned int __level, unsigned int *__eax, unsigned int *__ebx, unsigned int *__ecx, unsigned int *__edx);

Примечание: серийный номер процессора был введен на Intel Pentium III, но из-за соображений конфиденциальности эта функция больше не реализована на более поздних моделях.

нет последовательного идентификатора процессора (PSN; CPUID edx бит 18" psn " серийный номер процессора) после Pentium III в процессорах Intel; и никогда не было никакого psn в чипах AMD:

Однако имейте в виду, что только процессоры Pentium III Xeon, Mobile Pentium III и Pentium III поддерживают функцию серийного номера процессора, введенную процессором Pentium III. Никакой другой процессор Intel не поддерживает функцию серийного номера процессора

EAX=3: серийный номер процессора См. также: Pentium III § споры по вопросам конфиденциальности

Это возвращает серийный номер процессора. Процессор серийный номер был введен на Intel Pentium III, но из-за соображений конфиденциальности эта функция больше не реализована на более поздних моделях (бит функции PSN всегда очищается). Процессоры Transmeta Efficeon и Crusoe также обеспечивают эту функцию. Процессоры AMD, однако, не реализуют эту функцию ни в одной модели процессора.

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