Оптимизация для pentium процессора обзор специальных инструкций


Содержание

Технологии и инструкции,
используемые в процессорах

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

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

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

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

Аббревиатура образована от MultiMedia eXtensions (мультимедийные расширения). Это набор инструкций процессора, предназначенных для ускорения обработки фото-, аудио- и видеоданных. Разработан компанией Intel, используется в процессорах с 1997 года и на момент внедрения обеспечивал до 70% прироста производительности. Сегодня вам вряд ли удастся встретить процессор без поддержки этой технологии. Подробнее.

3DNow!

Технология впервые была использована в 1998 году в процессорах AMD и стала развитием технологии MMX, значительно расширив возможности процессора в области обработи мультимедийных данных. Ее презентацию совместили с выходом игры Quake 2, в которой 3DNow! обеспечивала до 30% прироста быстродействия. Но широкого распространения 3DNow! не получила. Сейчас она заменена другими технологиями и в новых процессорах не используется. Подробнее.

Аббревиатура от от Streaming SIMD Extensions. SIMD расшифровывается как Single Instruction Multiple Data, что значит «одна инструкция — множество данных».

SSE впервые использована в 1999 году в процессорах Pentium ІІІ и стала своеобразным ответом компании Intel на разработанную компанией AMD технологию 3DNow!, устранив некоторые ее недостатки. SSE применяется процессором, когда нужно совершить одни и те же действия над разными данными и обеспечивает осуществление до 4 таких вычислений за 1 такт, чем обеспечивает существенный прирост быстродействия.

SSE используется огромным числом приложений. Процессоров без ее поддержки сегодня уже не встретишь. Подробнее.

Этот набор инструкций был разработан компанией Intel и впервые интегрирован в процессоры Pentium 4 (2000 — 2001 гг.).

Поддержка инструкций SSE2 является обязательным условием использования современного программного обеспечения. В частности, без этого набора команд не будут работать популярные браузеры Google Chrome и Яндекс-браузер. На компьютере без SSE2 также невозможно использовать Windows 8, Windows 10, Microsoft Office 2013 и др. Подробнее.

Набор из 13 инструкций, разработанный компанией Intel и впервые использованный ею в 2004 г. в процессорах с ядром Prescott. Позволяет процессору более эффективно использовать 128-битные регистры SSE.

Инструкции SSE3 заметно упростили ряд DSP- и 3D-операций. Практическая польза от них больше всего ощущается в приложениях, связанных с обработкой потоков графической информации, аудио- и видеосигналов. Подробнее.

SSSE 3

Сокращение от «Supplemental SSE3», что значит «Дополнительный SSE3». Это набор дополнительных инструкций процессора, внедренных компанией Intel в 2006 году в продолжение развития предыдущих наборов команд SSE. По сути, это был четвертый по счету набор инструкций SSE. Но в Intel решили иначе, возможно, посчитав его лишь незначительным дополнением к предыдущему пакету.

Инструкции SSSE3 необходимы для нормальной работы многих современных приложений, в частности программ распознавания речи, используемых алгоритм DNN (Deep Neural Network). Подробнее.

SSE 4.1

Набор инструкций, разработанный компанией Intel. Используется в процессорах с 2006 года.

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

SSE 4.2

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

На практике инструкции SSE 4.2 повышают производительность при сканировании вирусов, поиска текста, строковой обработки библиотек (ZLIB, базы данных и др.), обработки 3D информации. Подробнее.

SSE4A (SSE128)

Набор инструкций, используемый в процессорах AMD с 2007 года. Включает всего 4 команды (инструкции, ускоряющие подсчет числа нулевых/единичных битов, комбинированные инструкции маскирования и сдвига, а также скалярные инструкции потоковой записи).

Аналогичные инструкций есть также в наборе SSE 4 (4.1, 4.2.) от Intel, который является значительно более эффективным (в общей сложности 54 инструкции), см. выше. Подробнее.

Расширение системы команд процессора, разработанное в 2008 году компанией Intel с целью ускорения работы и повышения уровня защищенности программ, использующих алгоритм шифрования AES (Advanced Encryption Standard).

В США и некоторых других странах AES является официальным стандартом шифрования. Используется операционной системой Windows и многими популярными программами для защиты конфиденциальной информации (The Bat!, TrueCrypt и др.). Если процессор поддерживает инструкции AES, прирост производительности приложений, использующих этот алгоритм, может достигать 1200 %. Подробнее.

Аббревиатура образована от Advanced Vector Extensions. Это расширение системы команд процессора, разработанное компанией Intel в 2008 году. Оказывает большое влияние на мультимедийные и вычислительные возможности процессора.

Кроме набора новых инструкций, эта технология предусматривает двукратное увеличение размеров SIMD-регистров процессора, благодаря чему в интенсивных вычислениях за каждый такт он может обрабатывать до 2 раз больше информации.

Значительный прирост производительности наблюдается при работе с фото-, видеоконтентом, решении научных задач и др.). Но для этого требуется также использование соответствующей операционной системы и адаптированного программного обеспечения. В Windows поддержка AVX появилась, только начиная с Windows 7 SP1. Подробнее.

AVX 2

Набор инструкций, ставший развитием технологии AVX. Впервые использован в 2013 г. в процессорах Intel на ядре Haswell.

Практическая польза для рядового пользователя — прирост производительности при работе с видео, фотографиями, звуком, а также с программами, использующими алгоритмы распознавания голоса, лиц, жестов (при условии использования соответствующего программного обеспечения). Подробнее.

Набор инструкций процессора, ускоряющий операции умножения-сложения чисел с плавающей запятой. Аббревиатура FMA образована от англ. Fused Multiply-Add, что переводится как умножение-сложение с однократным округлением.

Операции умножения-сложения очень распространены и играют важную роль в работе вычислительной техники. Особенно, когда речь идет о цифровой обработке аналоговых сигналов (двоичное кодирование видео, звука и другие подобные операции). В связи с этим, поддержка инструкций FMA внедрена не только в центральные процессоры, но и в графические процессоры многих современных видеокарт. Подробнее.

NX (XD), EVP

Технологии NX (XD) и EVP, не смотря на разные названия, являются одним и тем же — важным компонентом любого современного процессора, обеспечивающим повышенную защиту компьютера от вирусов и хакерских атак, основанных на механизме переполнения буфера.

Названия NX (No Xecute) и XD (eXecute Disable) характерны для процессоров Intel. EVP (Enhanced Virus Protection) — для процессоров AMD. Подробнее.

AMD64, Intel64

AMD64, Intel64, EM64T, x86-64, x64, Hammer Architecture — все эти термины обозначают одно и то же — 64-битную архитектуру центрального процессора, разработанную и внедренную в 2003 году компанией AMD. До этого процессоры были 32-битными.

Для обычного пользователя главным преимуществом 64-битного процессора является возможность использования в компьютере 64-битного программного обеспечения и большого объема оперативной памяти (теоретически, до 16777216 терабайт). Максимальное количество оперативной памяти, которое может адресовать 32-битный процессор — 4 ГБ. Подробнее.

XOP (от англ. eXtended operation — «расширенная операция») — это набор инструкций микропроцессора, повышающих его быстродействие при работе с мультимедиа, а также при решении научных задач.

Инструкции XOP впервые использованы в 2011 году в процессорах AMD архитектуры Bulldozer. В этот набор входит несколько различных типов векторных инструкций, большинство из которых являются целочисленными. Однако, есть среди них также инструкции для перестановки чисел с плавающей запятой и инструкции экстракции дробной части. Подробнее.

HT, SMT

В процессорах Intel технология многопоточности называется Hyper-Threading (HT), в процессорах AMD — Simultaneous MultiThreading (SMT).

Кроме названий, эти технологии отличаются еще и многими аспектами реализации. Однако, суть их одинакова. HT и SMT повышают эффективность использования вычислительных возможностей процессора (в среднем, на 20 — 30 %) за счет параллельного выполнения каждым его ядром двух потоков вычислений. Подробнее.

Аппаратная виртуализация (VT-x, VT-d, AMD-V)

Аппаратная виртуализация значительно расширяет возможности работы компьютера с виртуальными машинами, позволяя использовать гостевые операционные системы изолировано от основной (хостовой) системы.

Кроме того, появляется возможность «проброса» в гостевую систему устройств ввода-вывода, подключаемых к компьютеру через шину PCI и некоторые другие шины (видеокарты, звуковые карты, сетевые адаптеры и др.). Подробнее.

Turbo Boost, Turbo Core

Turbo Boost и Turbo Core — похожие по своей сути технологии, автоматически повышающие тактовую частоту процессора выше номинальной, когда в этом есть необходимость. Turbo Boost используется в процессорах Intel, Turbo Core — в процессорах AMD. В целом, они обеспечивают значительный прирост быстродействия в большинстве приложений.

Несмотря на одинаковое предназначение, Turbo Boost и Turbo Core существенно отличаются. Подробнее.

TXT (англ. Trusted eXecution Technology — технология доверенного выполнения) — разработанная компанией Intel и используемая в ее процессорах технология, обеспечивающая аппаратную защиту компьютера от вредоносных программ.

Это абсолютно новая концепция безопасности. В ее основе лежит эксклюзивное использование части ресурсов компьютера каждым конкретным приложением. Она охватывает практически все подсистемы компьютера: выделение памяти, мониторинг системных событий, связь чипсета и памяти, хранение данных, устройства ввода (клавиатура и мышь), вывод графической информации. Подробнее.

TSX (Transactional Synchronization eXtensions) — набор инструкций многоядерного процессора, разработанный компанией Intel, который повышает эффективность взаимодействия ядер между собой при осуществлении общего доступа к одним и тем же данным и, в конечном счете, увеличивает общую производительность компьютера. Подробнее.

SpeedStep, PowerNow!, Cool’n’Quiet

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

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

Memory Protection Extensions — технология, обеспечивающая повышенную защиту компьютера от вирусных и других угроз, использующих механизм переполнения буфера.

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

Software Guard Extensions (SGX) — набор инструкций, разработанный компанией Intel и используемый в ее процессорах, начиная с архитектуры Skylake.

SGX позволяет организовать защищённые участки кода и данных (так называемые «анклавы»), обеспечивающие высокий уровень защиты работающих с ними программ от вредоносных приложений и хакерских атак. Подробнее.

Intel SHA

Intel Secure Hash Algorithm extensions (SHA) — набор инструкций процессора, разработанных компанией Intel для ускорения работы приложений, используемых алгоритмы шифрования SHA. Включает 7 инструкций, 4 из которых ускоряют работу SHA-1, остальные 3 — SHA-256. Ускорение может составлять 150-200 % и более (в зависимости конкретного приложения).

Эти алгоритмы используются в системах контроля версий и электронных подписей, а также для построения кодов аутентификации. SHA-1 является более распространённым и применяется в самых разнообразных криптографических программах. Подробнее.

Advanced Configuration and Power Interface (ACPI) — стандарт, разработанный компаниями HP, Intel, Microsoft, Phoenix и Toshiba. Используется в компьютерной технике с 1996 года, постепенно дополняясь и совершенствуясь. Определяет общий подход к управлению питанием и обеспечивает взаимодействие между устройствами компьютера, его операционной системой и BIOS/UEFI в целях снижения уровня энергопотребления.

Стандарт ACPI предусматривает несколько режимов работы процессора. В зависимости от модели, они могут поддерживаться процессором в полном объеме или только какая-то их часть. Подробнее.

System Management Mode (SMM) — режим, при котором процессор приостанавливает исполнение любого кода (в том числе и операционной системы) и запускает специальную программу, хранящуюся в зарезервированной области оперативной памяти.

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

Dynamic Front Side Bus Frequency Switching (DFFS) — одна из технологий снижения энергопотребления компьютерных систем. Она позволяет операционной системе компьютера, в зависимости от нагрузки, которую он испытывает, понижать частоту системной шины FSB, что влечет за собой также и снижение частоты процессора. Подробнее.

SenseMI

SenseMI — технология, разработанная компанией AMD и впервые использованная в процессорах серии Ryzen. Она представляет собой комплекс из нескольких взаимосвязанных компонентов, обеспечивающих оптимальную производительность и энергоэффективность путем прогнозирования программного кода, а также динамического изменения частоты процессора в соответствии с решаемыми задачами в каждый конкретный момент времени (Smart Prefetch, Neural Net Prediction, Pure Power, Precision Boost, Extended Frequency Range).

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

AMD CoolCore

AMD CoolCore — технология, осуществляющая временное отключение неиспользуемых блоков процессора в целях снижения энергопотребления и выделяемого им тепла. Впервые использована в процессорах Phenom. Подробнее.

AMD CoolSpeed

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

AMD Enduro

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

Ценной Enduro является для мобильных компьютеров, поскольку позволяет существенно экономить заряд аккумулятора. Подробнее.

BMI, TBM, ABM

Bit Manipulation Instructions (BMI) — наборы инструкций, используемые в процессорах Intel и AMD для ускорения операций, связанных с манипулированием битами.

Операции манипулирования битами чаще всего используется приложениями, предназначенными для низкоуровневого управления устройствами, обнаружения и исправления ошибок, оптимизации, сжатия и шифрования данных. Использование BMI программами значительно ускоряет эти операции (иногда в несколько раз), однако, код программ становится более сложным для написания программистами. Подробнее.

DPM, DDPM

Dynamic Power Management и Dual Dynamic Power Management- технологии автоматического динамического изменения питания процессора. В совокупности с другими энергосберегающими технологиями, они значительно повышают его энергоэффективность, снижая уровень питания в периоды простоя или незначительных загрузок и повышая его, когда это необходимо. Подробнее.

SMEP, SMAP

Supervisor Mode Execution Prevention и Supervisor Mode Access Prevention — технологии, разработанные компанией Intel для защиты компьютера от хакерских атак и других угроз, использующих так называемый «режим супервизора». Подробнее.

F16C — набор инструкций, используемый в процессорах архитектуры x86 для ускорения преобразований между двоичными числами половинной точности (16 bit) и стандартными двоичными числами с плавающей запятой одинарной точности (32 bit).

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

Обзор процессора Intel Pentium III 500 МГц

Все мы непрерывно считали дни до конца февраля. Как раз на этот срок был запланирован выход новых процессоров Intel Pentium III и AMD K6-III от двух ведущих производителей. Мы ждали очередной битвы гигантов за место в нашем компьютере. Этот интерес подогревался всяческими рекламными ходами, предпринимаемыми то одной компанией, то другой. И вот, на дворе уже март, а чувства удовлетворения от просмотра битвы :) как не было, так и нет. AMD анонсировал продукт, который, по существу, еще не продается, поэтому мы можем реально купить в настоящий момент только Intel Pentium III. Но и здесь наши надежды оказались несколько омрачены действительностью.

Что же такое должно было быть Pentium III? Еще полгода назад мы представляли себе Katmai, а именно так звучало кодовое имя Pentium III, как Pentium II с 64 Кбайтами L1-кэша, работающий на частоте системной шины 133 МГц и вовсю использующий AGP 4x посредством нового чипсета Camino, а также усиленный набором из 70 новых SIMD-инструкций, позволяющих сильно ускорить как 3D-графику, так и многие другие приложения, связанные с обработкой изображений или речи.

Что же мы получили? Не вдаваясь в детали, фактически за маской Pentium III сейчас скрывается давно повсеместно используемый Pentium II, но дополненный новыми SIMD-инструкциями. И это все. Много это или мало, попробуем разобраться. Итак, Intel Pentium III:

  • чип, произведенный по технологии 0,25 мкм;
  • ядро Katmai, представляющее собой Deschutes плюс модуль SSE;
  • работает в Slot-1-системных платах, но требует обновления BIOS;
  • L1-кэш — 32Кбайта (16 — на данные, 16 — на инструкции);
  • L2-кэш — 512Кбайт. Расположен вне процессорного ядра, но в процессорном картридже, и работает на половинной частоте ядра;
  • процессорный картридж SECC2;
  • один конвейер SSE, работающий с набором из 70 инструкций, оперирующих четырьмя парами вещественных чисел одинарной точности одновременно;
  • напряжение 2В;
  • частоты — 450 и 500 МГц (системная шина — 100 МГц);
  • SSE поддерживается DirectX 6.1 и выше.

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

Мы же озаботимся вопросом практического функционирования процессора Intel Pentium III. Во-первых, необходимо иметь в виду, что для запуска системы на новом процессоре новая системная плата не требуется. Нужна всего-навсего обновленная версия BIOS, которую, к слову сказать, предложили уже практически все производители системных плат. BIOS должен уметь правильно распознавать новое ядро и иметь соответствующий микрокод. Что касается напряжения питания Pentium III, то, вопреки всем ожиданиям, оно пока оказалось старым — 2 Вольта. Однако для поддержки будущих моделей Pentium III все же необходима материнская плата с питанием от 1.8 В — именно такое напряжение вскорости будут требовать эти процессоры.

Новый процессор, как и все предыдущие Pentium II, работает на частоте системной шины 100 МГц. Умножение у него по старой доброй традиции зафиксировано, поэтому разгон возможен только повышением частоты FSB.

Производительность

Теперь о тестах. Нами было исследовано быстродействие процессора Intel Pentium III 500 МГц во всех стандартных приложениях. Так как в основном ядре Katmai по сравнению c Deschutes практически никаких изменений нет, то и по скорости Pentium III 500 работает в неспециальных задачах примерно так же, как работал бы Pentium II 500.

В составе тестовой системы использовались следующие комплектующие:

  • процессоры Intel Pentium III 500, Intel Pentium II 450 МГц и Intel Celeron 300A;
  • системная плата Chaintech 6BTM, BIOS версии 225;
  • видеокарта ASUS V3400TNT (на чипсете Nvidia Riva TNT) с драйверами Detonator;
  • звуковая карта на чипе Ensoniq ES1370;
  • жесткий диск IBM Titan DTTA 371010;
  • 128 Мбайт SEC PC-100 SDRAM;
  • операционная система Windows98;
  • во всех 3D-тестах было установлено разрешение 800x600x16.

Как видно, Pentium III в обычных офисных приложениях не дает никакого преимущества, если не брать в расчет дополнительные 50 МГц. А если учесть, что при работе в Word или Exсel, обычно приложение ждет ввода пользователя, а не наоборот, то смысла в применении такого мощного процессора здесь нет никакого.

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

Арифметический сопроцессор в Pentium III по сравнению с Pentium II остался без изменений, что и подтверждает данный тест. Прирост производительности идет только за счет дополнительных мегагерц.

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

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

Это уже интереснее. Хоть мы и запускали этот тест под DirectX 6.1, оптимизированным под SSE, никакого прироста нет. Объясняется это просто — 3Dmark99, как и подавляющее большинство современных игр, не использует ту часть DirectX, в которой могут быть применены новые SIMD инструкции. Подобную ситуацию мы уже наблюдали с 3DNow! и процессором AMD K6-2. Мало договориться с Microsoft о поддержке новых инструкций в DirectX — надо еще либо убедить разработчиков использовать новые возможности в своих программах, либо заставить их задействовать DirectX Lighting and Transformation Engine. Однако весь предыдущий опыт показывает, что разработчики программ более охотно пишут собственные алгоритмы расчета освещенности и трансформации, чем используют для этой цели DirectX. Причина такого подхода кроется в невысокой скорости и небольших возможностях Lighting and Transformation Engine. В результате на данный момент он задействован только в 3D WinBench. :)

Однако несмотря на то, что в тестах, приведенных выше, мы не видели практически никаких преимуществ Pentium III перед предшественниками, это, отнюдь, не означает, что процессор не удался. Почему — станет понятно ниже. Выпуская Pentium III, Intel и не обещал, что тот же Word начнет работать быстрее, он просто открыл новые возможности для разработчиков.

SECC2

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

Да, это новый процессорный картридж — SECC2.

Несколько лет назад, переходя к выпуску Pentium II, Intel надеялся разделаться с конкурентами, поместив свой процессор в новую упаковку и не лицензировав ее никому. Однако жизнь сложилась по-другому. Результатом этого шага явилось то, что рынок дешевых систем корпорацией был потерян, и сейчас ей приходится срочно наверстывать упущенное. В том числе и изготовление процессорного картриджа вносит свой вклад в итоговую стоимость процессора. Именно поэтому для удешевления собственной продукции на изделиях, ориентированных на нижний сегмент рынка, таких как Celeron, картридж отсутствует напрочь.

SECC2 — некое промежуточное звено между стандартным SECC и его полным отсутствием. SECC2-картридж лишился своей передней половинки, той самой, на которую навешивается кулер. В этом есть и еще один плюс. Теперь радиатор, обдуваемый вентилятором, соприкасается не с железной пластиной, прижатой к ядру, а непосредственно с микросхемой. Таким образом, отвод тепла в SECC2 поставлен лучше. Косвенным доказательством этого явился тот факт, что предоставленный нам образец Pentium III оборудован только игольчатым радиатором без вентилятора. При этом он нормально функционировал не только на штатной частоте 500 МГц, но и будучи разогнанным до 560 МГц (5х112 МГц).

Но и это еще не все. Вместо старого покрытия кристалла Plastic Land Gr >

Номер

Вторым нововведением, наделавшим, наверное, больше всего шума, явилось присваивание каждому процессору Pentium III серийного номера — уникального идентификатора. Замысел был неплох. Любой процессор можно было однозначно идентифицировать, а следовательно, легко решить проблемы с аутентификацией пользователей и защитой процессоров от разгона. Благодаря специальному программному обеспечению этот номер также мог бы быть получен удаленно, через интернет.

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

Однако паниковать рано. Если посмотреть объективно, то для того, чтобы кто-то смог через сеть посмотреть номер процессора, необходимо:

  • чтобы он был разрешен. Intel предлагает специальную утилиту для блокировки номера. Кроме того, все новые версии BIOS, поддерживающие Pentium III, также позволяют блокировать этот номер через Setup;
  • чтобы на компьютере пользователя была запущена специальная программа, передающая этот номер. Предполагается, что кто-то, например web-сайт, должен запустить на пользовательском ПК эту программу.

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

Так что введение номера — скорее все-таки положительный, чем отрицательный, шаг.

Теперь о самом главном. О том, что раньше называлось MMX2, потом — KNI, а сейчас называется SSE (Streaming SIMD Extensions). В Pentium III реализовано 70 новых SIMD-инструкций, оперирующих со специальными 128-битными регистрами XMM0-XMM7. Каждый из этих регистров хранит четыре вещественных числа одинарной точности. Таким образом, выполняя операцию над двумя регистрами, SSE фактически оперирует четырьмя парами чисел. То есть благодаря этому процессор может выполнять до 4-х операций одновременно. Собственно, SIMD и расшифровывается как Single Instruction Multiply Data (одна инструкция — много данных).

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

То есть вместе с Pentium III, мы получили еще один блок, подобный MMX, только оперирующий с вещественными числами. Это нововведение может оказаться очень полезным в широком ряде приложений:

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

Однако почему же Intel назвал процессор новым именем, отказавшись от Pentium II SSE (по аналогии с Pentium MMX)? Неужели производитель видит в SSE качественный шаг? Думается, нет. Дело тут в маркетинге. Приписав к названию аббревиатуру, Intel открыто показал бы, что SSE — главное нововведение в их процессоре. И тогда, вслед за ними, все конкуренты также смогли бы объявить о поддержке SSE — основное маркетинговое преимущество было бы утеряно. Так именно и произошло с ММХ. Потому Pentium II SSE называется Pentium III — теперь конкурентам придется говорить о «совместимости», что, по сути, для них более унизительно. Помните, как подозрительно изменилась цифра 3 на III в названии AMD K6-III? ;)

Теперь посмотрим, что же дают новые SIMD-инструкции приложениям, оптимизированным под них. Учтя печальный опыт MMX, когда новые команды появились без соответствующей поддержки со стороны софтверных девелоперов (что привело, в конце концов, к своеобразному бойкоту новых инструкций), Intel на этот раз, задолго до официального выхода нового процессора, разослал программистам опытные экземпляры процессора для оптимизации. В итоге, мы уже сейчас имеем некоторое количество приложений, оптимизированных под SSE.

В этом тесте выполняется стандартная процедура компрессии в MPEG-1, воспроизведение файла этого формата, обработка изображения — поворот, слияние двух изображений и цветоделение, а также обработка звука. Выполнение всех этих задач может быть оптимизировано для SSE, результат этой оптимизации мы видим на диаграмме — прирост относительно Pentium II составляет порядка 40-50%.

Теперь — о 3D-графике и играх. Здесь разговор об оптимизации должен быть отдельный. Дело в том, что оптимизировать 3D-игру под SIMD-инструкции можно тремя путями:

  1. оптимизацией на уровне видеодрайверов;
  2. оптимизацией на уровне DirectX. При этом предполагается, что приложение должно использовать оптимизированные функции DirectX;
  3. оптимизацией самого приложения.
Илон Маск рекомендует:  Знакомство с HTML и CSS

Что касается оптимизации драйверов, то уже практически все производители видеокарт объявили о своем намерении выпустить такие драйвера. Некоторые, например Nvidia, уже имеют драйвера с поддержкой SSE. Собственно, мы на них и проводили наши тесты. Однако, как видно сейчас по тесту Quake2, и как мы помним по опыту 3DNow!, толка от такой оптимизации нет. Никакого прироста в скорости не видно.

Что касается DirectX, то в версии 6.1 (а значит, и во всех последующих) оптимизация под SSE имеется. Изменение претерпел Lighting and Transformation Engine, то есть набор функций для преобразования 3D-сцены и расчета освещений. Результат от такой оптимизации может быть ощутим, если приложение пользуется этими функциями, а не считает все само. Для оценки прироста производительности от оптимизации DirectX достаточно посмотреть на результаты теста 3D Winbench 99 Lighting and Transformation.

Здесь имеется прирост от использования SSE порядка 80-90%. Это как раз тот максимум, который можно получить при использовании оптимизированного DirectX. Однако эта возможность так и остается теоретической — DirectX Lighting and Transformation Engine, также как как и Retained Mode, практически никакие программы не используют. Причины, как уже отмечалось выше, в низком быстродействии и скудных возможностях. Правда, в DirectX 7.0 ситуация обещает исправится — Microsoft сообщил, что работает над усовершенствованием собственного движка. Таким образом, нигде, кроме как в 3D Winbench, результатов оптимизации DirectX не видно.

Обратимся теперь к оптимизированным программам. Самой известной на данный момент является игра Rage Dispatched, намеченная к выходу во втором квартале 99-го года. Сцены этой игры имеют до 55000 треугольников и несколько источников света. На данный момент такая детализация нигде не используется из-за нехватки вычислительных мощностей современных процессоров. Во время тестирования с процессором Intel Pentium II 450 число fps в разрешении 800х600х16 падало ниже отметки 10fps, и была заметна неравномерность движения. С процессором же Pentium III fps в этом режиме не падает ниже 25. Более подробные результаты приведены ниже:

Как видно, прирост от использования новых SIMD-инструкций составляет почти 50%. То есть при условии грамотной оптимизации под Pentium III игроманы могут получить неплохой прирост. Дело — за разработчиками игр.

Еще одним тестом, в котором используется оптимизация под новый процессор, является новая версия 3Dmark99 MAX.

На этом синтетическом тесте, правда, основанном на реальном движке, прирост от использования SSE составляет 20%. Здесь, также как и в Dispatched, разработчики отказались от применения оптимизированных функций DirectX. Более низкий, чем в Dispatchеd, прирост обусловлен как раз тем, что, наряду с расчетом и отображением 3D-сцен, 3DМark тестирует и включает в итоговый индекс и такие характеристики, как пропускная способность памяти видеокарты, совсем не зависящие от CPU.

Специально для оценки эффективности процессора в 3D-играх, 3Dmark99 MAX предлагает индекс CPU 3DМark, просчитывающий 3D-сцены, но не выводящий их не экран. Таким образом, получается результат, зависящий только от возможностей процессора по обработке 3D-графики и от пропускной способности основной памяти. В данном случае мы видим, что SSE дает 60-70% прирост. Что же, неплохо. Это как раз тот теоретический максимум, который можно получить от использования нового Pentium III в играх. Соответствие полученных результатов результатам 3D Winbench 99 Lighting and Transformation подтверждает их правильность.

Кажется, к этому моменту вы должны обладать практически полной информацией о новом процессоре. Недовольными могут остаться только поклонники AMD. Поэтому для полноты изложения попытаемся затронуть вопрос о сравнении технологий 3DNow! и SSE. Чисто теоретически, SSE оперирует с 128-битными регистрами, 3DNow! — с 64-битными. Это значит, что SSE-конвейер процессора Pentium III за один такт может обработать 4 пары значений, в то время как 3DNow!-конвейер — только 2 пары. Однако в Pentium III — всего один SSE-конвейер, в то время как у K6-2 и K6-3 их два. То есть за один такт оба процессора могут обработать 4 пары вещественных чисел одинарной точности. Но в K6-2 и K6-3 конвейеры устроены таким образом, что они не могут выполнять одинаковые операции одновременно. Хотя, на мой взгляд, это ограничение несущественно.

Таким образом, так как KNI использует восемь 128-битных регистров вместо восьми 64-битных в 3DNow!, у Pentium III получается почти в два раза больше регистров для эффективной оптимизации. И это, скорее всего, единственное значимое преимущество KNI. Однако наличие в два раза больших регистров, это не тоже самое, что наличие в два раза лучше соптимизированного кода. Более чем троекратное превосходство SSE в числе инструкций (70 против 21) также малосущественно — все наиболее значимые для 3D-обработки операции 3DNow! выполняет в SIMD-режиме.

Резюме такое: разобраться, что лучше, исходя из теоретических соображений, трудно, так как возможности примерно одинаковы. Тем более, нет информации о времени, затрачиваемом процессорами на различные команды. Так что, перейдем к тестам. Процессор AMD K6-2 тестировался в аналогичной конфигурации на системной плате Chaintech 5AGM2.

В целом, видно значительное отставание AMD K6-2, однако, что касается прироста от применения SIMD-команд, то тут не все так однозначно.

«Мал, да удал!» — только и остается сказать в отношении 3DNow!. Несмотря на все «но», на 64-битные регистры и на меньшее количество команд, 3DNow! неожиданно дает больший эффект при геометрической обработке и расчете освещенности. Причиной этого, по словам разработчиков программ, является то, что 3DNow! предоставляет большую гибкость при работе с небольшими объемами данных. Все это касается лишь программирования игр. В других, неигровых приложениях, соотношение обрабатываемых данных может быть совершенно иным и расклад получится совсем не таким. И хотя полученный результат верен только в предположении, что 3DMark99 MAX оптимизирован под оба набора инструкций одинаково хорошо, «намухлевать» двухкратное преимущество 3DNow! программисты FutureMark вряд ли осмелились бы. Потому, скорее всего, результат справедливый, по крайней мере качественно и для игр. Но пока у процессоров AMD не будет конвейерного FPU (а в K7 он, вроде, обещается), говорить об их превосходстве в играх просто смешно. Это, скорее всего, является еще одной причиной такого превосходства 3DNow!, во многом заменяющего медлительный арифметический сопроцессор. Разработчики стараются переложить часть работы сопроцессора на 3DNow!. В Pentium III таких проблем нет, каждый процессорный блок занят своим делом и прирост от SSE в чистом виде меньше. Так что вся надежда на то, что AMD K7, в котором AMD обещал-таки переработать FPU, все-таки станет объединением всех передовых микропроцессорных технологий.

Выводы

Итак, подведем итог. Intel Pentium III 500 — это более быстрый (на 50 МГц) Pentium II с дополнительными инструкциями, которые сейчас практически нигде не используются. Хотя эти инструкции и имеют громадный потенциал (прирост в оптимизированных приложениях до 80%), отдавать сейчас $500-700 за это абсолютно бессмысленно. Конечно, ожидать, что SSE не приживется, глупо: эти инструкции действительно облегчают жизнь разработчикам. Но к моменту их широкого распространения на Pentium III не только упадет цена, но и, возможно, уже выйдет Coppermine. А этот новый процессор, поддерживающий SSE и работающий на частоте шины 133 МГц, имеет интегрированный в ядро кэш размером 256Кбайт, который работает с частотой процессора. На мой взгляд, гораздо более выгодное приобретение.

Часто задаваемые вопросы для максимизатора производительности Intel®

Тип материала Информация о продукции и документация

Идентификатор статьи 000054873

Последняя редакция 29.07.2020

Часто задаваемые вопросы о продукте

Нажмите или вопрос для получения подробной информации.

Что такое максимизатор производительности Intel®

Intel® Производительность Maximizer является инновационным, автоматизированным процессором ядро разгона инструмент. Инструмент позволяет легко динамически и надежно настраивать процессор на основе его индивидуальной производительности ДНК.

Каковы поддерживаемые Процессоры Intel для Intel® Performance Maximizer?

Поддерживаемые (совместимые) процессоры Intel 9-го поколения® Core™ (Desktop) с:

  • Процессор Intel® Core™ i9-9900K
  • Intel® Процессор core™ i9-9900KF
  • Процессор Intel® Core™ i7-9700K
  • Intel® Процессор core™ i7-9700KF
  • Процессор Intel® Core™ i5-9600K
  • Intel® Процессор core™ i5-9600KF

Какие операционные системы Поддержка Intel® Максимизатор производительности? Приложение поддерживает Windows® 10, 64-разрядный RS5 (версия 1809) или более новую операционную систему. Каковы преимущества использования Intel® Максимизатор производительности?

Преимущества использования Intel® Максимизатор производительности:

  • Бесплатный инструмент, который можно скачать из центра загрузки Intel
  • Автоматизирование и простота в использовании
  • Персонализированное разгонна на основе индивидуального потенциала производительности процессора
  • Непрерывный мониторинг стабильности разгона и способности повторно протестировать по мере необходимости с течением времени
  • Использует встроенные тесты, обеспечивающие максимальное покрытие ядра процессора

Кто является целевой аудиторией для этого инструмента?

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

Есть много бесплатных инструментов разгона там. Что отличает этот?

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

Технические и проблемные часто задаваемые вопросы

Каковы минимальные системные требования к приложению?

Ниже приведены минимальные системные требования к данному приложению:

  • Поддерживаемые Процессоры Intel: I9-9900K, I9-9900KF, I7-9700K, I7-9700KF, I5-9600K и I5-9600KF
  • 8 ГБ или более оперативной памяти
  • Windows 10 64-разрядный Redstone 5 (версия 1809) или новее
  • 16 ГБ свободного пространства на несъемном диске GPT
  • Intel® Материнская доска на основе чипсетов No390

Каковы требования BIOS к приложению?

Intel® Максимизатор производительности требует, чтобы параметры BIOS были в состоянии по умолчанию должным образом запущены, включая следующие параметры:

  • Процессор Ядро Разгона должны быть включены.
  • Все процессорные ядра должны быть включены.
  • Intel® Технология hyper-Threading (технологияIntel® HT), если она поддерживается на процессоре, должна быть включена.
  • Технология Intel® Turbo Boost 2.0 режим должен быть включен.
  • Режим загрузки должен быть включен UEFI.
  • Усовершенствованная технология Intel SpeedStep® должна быть включена.
  • Intel® Watchdog Таймер ДрайверIntel® WDT) должны быть включены.

Поддерживается ли Intel® Performance Maximizer другими процессорами с включенным разгоном SKUS?

Intel® Максимизатор производительности поддерживает только следующие процессоры SKUs:

  • Процессор Intel® Core™ i9-9900K
  • Intel® Процессор core™ i9-9900KF
  • Процессор Intel® Core™ i7-9700K
  • Intel® Процессор core™ i7-9700KF
  • Процессор Intel® Core™ i5-9600K
  • Intel® Процессор core™ i5-9600KF

Есть ли потребность в дисковом пространстве?

Intel® Максимизатор производительности требует 16 ГБ свободного дискового пространства.

Примечание Приложение позволяет конечному пользователю уменьшить существующую разгородку диска, чтобы обеспечить 16 ГБ дискового пространства.

Почему у нас есть две версии установки для Intel® Performance Maximizer?

У нас есть две версии установки, потому что у нас есть различные тесты для Процессоры с гиперпоточностью (i9-9900K и i9-9900KF) и без гиперпоточности (i7-9700K, i7-9700KF и i5-9600K, i5-9600KF).

Почему Intel® Maximizer производительности занимает так много времени, чтобы охарактеризовать мою систему?

Тесты в комплекте с Intel® Performance Maximizer предназначены для обеспечения более надежного покрытия для различных конечных пользователей использования и приложений. Этот охват тестируется на основе ядра. Это может занять несколько часов, в зависимости от количества ядер процессора и максимальный потенциал производительности процессора.

Что произойдет, если я запугну в intel® Maximizer производительности вместе с инструментом для памяти OC и/или графического процессора?

Нет никакой гарантии совместимости системы с разогнательством при использовании других инструментов разгона, включая Intel® Extreme Tuning Utility. Рекомендуется не использовать Intel® Performance Maximizer в сочетании с другим Программное обеспечение обеспечением для разгона.

Какие требования предъявляются перед установкой приложения?

Перед установкой Intel® Performance Maximizer конечные пользователи должны быть осведомлены о следующих требованиях: (Ссылка на соответствующий вопрос выше для более подробной информации.)

  • Убедитесь, что процессор и операционная система совместимы.
  • Убедитесь, что минимальные требования системы выполнены.
  • Рекомендуется сбросить значения BIOS по умолчанию.
  • Необходимые настройки BIOS включены.
  • Рекомендуется не использовать Intel® Performance Maximizer в сочетании с другим Программное обеспечение обеспечением для разгона.
  • Система имеет один несъемный жесткий диск GPT, который имеет 16 ГБ свободного дискового пространства.

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

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

Будут ли все процессоры SKUs разгоняться одинаковое количество? Какие факторы влияют на мои результаты?

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

Если клиент уничтожает операционную систему (Windows OS) и переустанавливает ее, что происходит с Intel® Максимификатор производительности?

Если клиент уничтожает Windows 10, 64-разрядный RS5 (версия 1809) или новее и переустанавливает его, Intel® Maximizer производительности должен быть переустановлен. Тесты должны быть повторена для включения разгона через это приложение.

Что произойдет с Intel® Максимификатор производительности, если мы прервем тесты? Должен ли пользователь удалить и переустановить?

Если вы прервете тесты до их завершения и загрузите обратно в ОС Windows, то пользовательский интерфейс Intel® Performance Maximizer (UI) будет отражать, что тестовый запуск был прерван. Это даст вам возможность повторного выполнения тестов. Вам не нужно удалять и переустанавливать.

Будет ли Intel® Максимизатор производительности флаг каких-либо ошибок при описании, такие как тепловой проблемы с системой?

В процессе характеристики, если тепловой или мощностью регулирования встречается во время тестового запуска, что будет рассматриваться как сбой или нестабильность для любого соотношения или напряжения комбинации тестируется. Intel® Максимизатор производительности перейдет к следующему этапу процесса тестирования.

Будет ли процессор автоматически работать с разгонной частотой после того, как тесты Intel® Performance Maximizer будут успешно завершены?

Да, процессор автоматически работает на разгоне частоты, отображаемой в приложении Intel® Performance Maximizer.

Почему я вижу разницу в частотных результатах процессора между приложением EFI Shell и Windows Intel® приложением для повышения производительности (GUI)?

Для обеспечения лучшей стабильности Intel® Программное обеспечение Performance Maximizer может применять полосу охраны (например, 100 МГц) на успешно протестированной частоте ядра процессора. По этой причине пользователи могут увидеть разницу между проверенной и окончательной отображаемыми максимальной частотой разгона.

Что происходит с дисковым пространством 16 ГБ после установки Intel® Performance Maximizer?

Intel® Производительность Maximizer освобождает 16 ГБ дискового пространства после установки. Если это дисковое пространство первоначально выведено из раздела, то оно не сливается с исходной перегородкой.

Будет ли Intel® Максимизатор производительности автоматически включить Intel® Экстремальный профиль памяти (Intel® XMP), если он доступен? НетIntel® Максимизатор производительности будет только перекрывать частоту процессора. Могу ли я использовать максимизатор производительности Intel® если у меня включена Intel® XMP?

Нет никакой гарантии совместимости системы с размными часами при использовании других инструментов разгона, включая Intel® XMP. Рекомендуется, чтобы пользователи не использовали Intel® Performance Maximizer в сочетании с другим Программное обеспечение обеспечением для разгона.

Где я могу найти инструкции по установке Intel® Performance Maximizer? Intel® Инструкции по установке повышения производительности приведены в руководстве пользователя. Руководство пользователя можно найти в центре загрузки вместе с приложением. Его можно скачать изIntel Центр загрузки. Установка требует привилегий уровня администратора; после загрузки, расстегнуть пакет в локальную папку и дважды щелкните «Intel®’Performance»-Maximizer» исполняемый и исполнитесь оттуда.

Является ли гарантия в коробке процессора недействительной при использовании Intel® Performance Maximizer?

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

Программное обеспечение и рабочие нагрузки, используемые в тестах производительности, возможно, были оптимизированы для производительности только на микропроцессорах Intel. Тесты производительности, такие как SYSmark и MobileMark, измеряются с помощью конкретных компьютерных систем, компонентов, Программное обеспечение операций и функций. Любое изменение любого из этих факторов может привести к изменению результатов. Вы должны проконсультироваться с другой информацией и тестами производительности, чтобы помочь вам в полной оценке ваших предусмотренных покупок, включая производительность этого продукта в сочетании с другими продуктами. Для получения более полной информации посетите www.intel.com/benchmarks.

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

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

Оптимизация работы процессора: утилита CPU Control

В данной публикации пойдет речь еще об одном стороннем инструменте оптимизации работы многоядерных процессоров – бесплатной программе CPU Control. «Еще» – потому, что автор уже касался этой темы, смотрите заметку об ICEAffinity . Детище немецкого разработчика Маттиаса Коча (Matthias Koch), русифицированная утилита CPU Control будет особенно интересна начинающим компьютерным пользователям из-за наличия многопрофильного авторежима оптимизации, но обо всем – по порядку.

/ опубликовано в IT-издании » Компьютерные Вести » № 6 2013 в рубрике «Software» /

» Зачем это надо & что я буду с этого иметь? «

Данный вопрос был затронут в озвученной статье, поэтому дефрагментирую сказанное до пары абзацев:

  • Некоторые приложения не поддерживают многоядерный режим, поэтому для корректной работы необходимо вручную выделить им отдельное процессорное ядро. Другой «проблемный» вариант – материнская плата асинхронно инициализирует ядра. В обоих случаях требуется оперативное вмешательство пользователя.
  • По умолчанию, Windows присваивает всем запускаемым процессам равный приоритет в пользовании процессорных мощностей. Что не совсем правильно в случае запуска ресурсоемких приложений, например, когда вашему любимому Call of Duty «мешает» антивирус вкупе с дюжиной другого «второстепенного» ПО. CPU Control поможет пропорционально разнести процессы по ядрам, что напрямую скажется на общей производительности системы.

Important!

Утилита поддерживает двух- и четырехъядерные процессоры, но, по отзывам, корректно работает и на 6–8 ядрах.

Оптимизируем

1. Для начала необходимо скачать утилиту например отсюда, из моего Каталога лучшего софта . Никаких «хитростей» в установке нет, поэтому последовательно жмем «Next» («Далее«) до полной инсталляции. Кстати, программа не «сорит» в реестре, т.е. портативна и носима на съемных накопителях.

2. После запуска первым делом кликаем на » Options » («Опции«) и русифицируем CPU Control через «Languages» («Языки«) → «Russion«. Далее, в соответствии со следующим скриншотом, ставим галочки напротив » Автозапуск с Windows «, » Минимизировать » и » 4 ядра » (для четырех и более ядер). Понятно, что если ЦП двухъядерный, активировать «4 ядра» без надобности.

3. Закрыв «Опции», в главном окне приложения видим 5 режимов контроля работы ЦП: » Авто «, » Ручной «, » CPU1 » (все процессы выполняются на 1-ом ядре), » CPU2 » (все процессы выполняются на 2-ом ядре) и » Отключено » (без оптимизации). Последние три режима нам не интересны, поэтому сосредоточимся на первых двух.

Для начинающих пользователей автор рекомендует просто выбрать режим « Авто » и, закрыв окно, проверить для будущих загрузок Windows, чтобы CPU Control был в списке автозагружаемых приложений ( ! ). Это легко сделать, например, через Revo Uninstaller любой версии, смотрите в панели меню «Инструменты» → «Менеджер автозапуска» (при необходимости добавить приложение кликаем апплет «Добавить«).

4. Для любителей «покопаться» эта простенькая утилита дает шанс «развернуться»: в авторежиме имеется 9 базовых профилей-вариаций распределения процессов по ядрам (скриншот ниже). При наличии времени и открытом на вкладке «Быстродействие» Диспетчере задач («Ctrl + Alt + Del» ), для мониторинга результатов, можно выбрать оптимальный профиль под свою систему.

5. Самые «продвинутые» пользователи , желающие добиться максимальных результатов в деле повышения производительности системы данным способом, наверняка заинтересуются режимом « Ручной «. В этом режиме вы самостоятельно распределяете процессы по ядрам или группам ядер. Все просто: выделяете процесс(-ы) и через правую клавишу мыши «вешаете» на нужное ядро или комбинацию ядер. Например, при выборе «CPU1» процесс будет «висеть» на первом ядре, при выборе «CPU3+4» – на третьем и четвертом ядрах и т.д.

Вот хороший вариант ранжирования для 4-ядерного ПК: системные процессы оставьте 1-ому ядру, самые ресурсоемкие приложения (типа Photoshop) «распылите» между всеми ядрами (вариант как на последнем скриншоте), а «середнячков» типа антивирусного сканера отдайте в руки комбинации на 2 ядра, скажем, «CPU3+4«. Диспетчер задач Windows поможет сделать правильный выбор. Для удобства мониторинга, при открытой в Диспетчере вкладке «Быстродействие«, проверьте, чтобы была активирована функция » По графику на каждый ЦП » (см. «Вид» → «Загрузка ЦП» → искомое «По графику на каждый ЦП«).

В общем, экспериментируйте и ваши усилия обязательно окупятся сторицей!

Технологии современных процессоров Intel

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

Введение

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

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

Вы спросите: «А как узнать о наличии тех или иных технологий в моем процессоре?». Для этого нужно зайти сюда и найти нужный вам процессор. После этого ищите вот эти поля.

Turbo Boost

Эта технология позволяет автоматически увеличить тактовую частоту процессора свыше номинальной (саморазгон), что позволяет увеличить производительность чипа на некоторое время.

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

Значение этого саморазгона зависит от множества факторов:

  • Тип рабочей нагрузки
  • Число активных ядер
  • Оценка тока потребления
  • Оценка потребляемой мощности
  • Температура процессора

Технология Turbo Boost 1.0 применялась в процессорах Nehalem и Westmere. Далее стала применяться чуть усовершенствованная версия Turbo Boost 2.0. Все отличия выглядят так.

Различия между версиями
Признак 1.0 версия 2.0 версия
Шаг множителя 133 Мгц 100 Мгц
TDP не превышает на короткое время превышает

Также стоит отметить более плавное повышение величины разгона с уменьшением числа активных ядер у 2.0 версии. Вторая версия в первые несколько секунд после долгого простоя повышает тактовую частоту выше, чем она должна быть для нормального TDP, но из-за немгновенного прогрева чипа это не критично. Затем же разгон скидывается до не превышающего TDP уровня. Похожий алгоритм можно увидеть в NVIDA GPU Boost 2.0, про которую можно посмотреть тут.

Особенно большим Turbo Boost может быть у мобильных процессоров, например в Intel Core M.

Интересный факт: у модели Intel Core m7-6Y75 максимальный Turbo Boost составляет c 1,2 Ггц до 3,1 Ггц!

Hyper-Threading

Или по-другому гиперпоточность. Из-за этой технологии операционная система определяет одно физическое ядро, как два логических и в соответствии с этим отдает команды. Так получается, что одно ядро работает в 2 потока. Гиперпоточность позволяет таким образом загрузить блоки процессора находящиеся в простое и увеличить его эффективность.

Надо отметить, что два логических ядра проигрывают двум физическим, что хорошо демонстрирует превосходство Core i5 (4 ядра без HT) над Core i3 (2 ядра с HT). Но одно физическое ядро c Hyper-Threading будет производительнее, чем без него, и это видно на примере Core i7 (4 ядра c HT) и Core i5 (4 ядра без HT).

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

Burst

Эта технология применяется в мобильных процессорах Intel Atom (про то, как выбрать мобильный процессор можете прочесть по ссылке), а также в версиях Celeron/Pentium для мобильных устройств. Эта технология очень схожа с Turbo Boost. Она также повышает таковую выше номинальной, если выполняются некоторые условия.

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

SpeedStep

Это такая технология энергосбережения, призванная динамически менять тактовую частоту и напряжение питания в зависимости от нагрузки. Ведь зачем процессору работать на полную, если нагрузки никакой нет? Энергопотребление процессора приблизительно прямо пропорционально зависит от его частоты. Это значит, что снизив частоту в 2 раза, мы снизим в 2 раза и энергопотребление. Также снизится и тепловыделение и, следовательно шум от кулера. А от напряжения энергопотребление зависит во второй степени. Это уже значит, что снизив напряжение питания в 2 раза, мы снизим энергопотребление в 4 раза! Но, к сожалению менять напряжение так сильно нельзя и даже слабое изменение питания может сделать работу невозможной. В основном это снижение происходит в состоянии очень низкой загрузки при помощи функции Enhanced Halt State (или C1E). Так что львиная доля экономится за счет снижения тактовой частоты.

У этой технологии есть несколько версий: SpeedStep, SpeedStep II и SpeedStep III, но мы не будем заострять на этом внимание, будет достаточно и описания. Можно лишь упомянуть, что представлена она была в далеком 2001 в процессоре Mobile Pentium III.

Speed Shift

Эта технология является продолжением развития SpeedStep. Она работает эффективнее и быстрее реагирует на повышение нагрузки. Это значит, что она процессор быстрее достигает нужной тактовой частоты и быстрее справляется с задачей. Speed Shift может работать только в процессорах, начиная с поколения Skylake, так как реализована аппаратно. Также она должна поддерживаться операционной системой и на данный момент с этим уже справляется Windows 10.

Также более усовершенствованная версия данной технологии была представлена в Intel Kaby Lake.

Intel Quick Sync Video

Это технология Intel, предназначенная для аппаратного ускорения кодирования и декодирования видео. В этом случае в графическом ядре есть специальная интегральная схема, предназначенная для этого. Благодаря этого эта технология справляется со своей задачей лучше, чем видеокарты – и быстрее, и более энергоэффективно, ведь в видеокарте нет блоков, предназначенных специально для этой функции. Но, как и в случае с другими технологиями для аппаратного кодирования/декодирования видео, качество обработки хуже, чем в случае выполнения этой задачей при помощи процессора.

Существует две версии этой технологии. Первая было представлена вместе с микроархитектурой Sandy Bridge в 2011 году. Вторая версия увидела свет в в 2012 году при выходе Ivy Bridge. Вторая версия движка имела несколько изменений, например улучшенный медиасемплер, позволивших ей заметно улучшить скорость работы, качество видео, а также получить поддержку высоких разрешений. Существенный недостаток технологии выходит из того, что она встроена в графическое ядро процессора – ее функционирование невозможно, когда в компьютере основной является дискретный видеоадаптер.

Extreme Memory Profile (XMP)

Эта технология позволяет пользовать заранее сделанными профилями разгона оперативной памяти. Это может пригодиться, если вы не хотите рисковать. Так вы просто берете нужный вам профиль и не беспокоитесь о его работоспособности. Профиль выбирается в BIOS. Для этого оперативная память должна быть сертифицированной.

InTru3D

Это такой стандарт для 3D-контента, разработанный Intel и DreamWorks. И, что вполне логично, этот стандарт хорошо функционирует на современных процессорах Intel. Подробнее можно посмотреть здесь.

High Definition Audio

Это такой набор требований, предъявляемый к интегрированным в процессор аудиокодекам, который призван улучшить качество цифрового звука. Это касается как увеличения числа каналов, так и и разрядности с частотой дискретизации.

Intel vPro

Эта технология позволяет получать доступ к ПК дистанционно. Вкратце, эта технология позволяет IT-специалистам получить доступ к ПК для устранения неполадок в них и защиты. Она работает на базе ядра и на ее функционирование не влияют состояние питания и операционной системы.

Илон Маск рекомендует:  Что такое код zip_entry_filesize

Она базируется на двух других технологиях Intel:

  • Intel Active Management Technology (AMT — технология удаленного мониторинга ) – позволяет обнаруживать, инвентаризировать, диагностировать, восстанавливать, модернизировать и защищать вычислительные ресурсы, которые включены в сеть. Также с помощью Intel AMT можно изолировать зараженный ПК от других участников сети. Важной особенностью этой технологии является независимость от OC.
  • Intel Virtualization Technology (VT — технология виртуализации) – позволяет использовать на одном компьютере несколько независимых разделов и сред. Так IT-специалисты способны повысить надежность системы путем разделения, как на уровне задач, так и на уровне пользователей.


Не будем подробно рассказывать о средствах реализации этих технологий. Об этом вы можете подробнее прочесть здесь.

Intel Authenticate

Эта технология реализована на базе Intel vPro 6-го поколения, и представляет собой многофакторную аутентификацию корпоративного класса, что позволяет улучшить защиту личных данных. Здесь используются несколько разных факторов для проверки личности. Можно и PIN-код, и телефон и отпечаток пальца. Методы проверки выбирает само предприятие в зависимости от условий. Эта технология использует все ключи и связанные с ними сертификаты, шифрует их, сопоставляет и хранит в памяти аппаратной части, что держит их в безопасности от основной массы атак.

Intel Smart Cache

Это технология по использованию общей L2/L3-памяти (кэш-память второго/третьего уровня), что позволяет снизить энергопотребление и повысить производительность. Стоит отметь, что при динамическом отключении ядер другие ядра получают больше кэша.

Заключение

Здесь не были затронуты все технологии Intel. Здесь лишь были оговорены наиболее известные и больше всего влияющие на производительность. Также были затронуты технологии для корпоративного сегмента, но, довольно, вскользь. Если возникли какие-то вопросы, то сначала советуем вам заглянуть в раздел «Введение», где написаны границы применимости данной статьи. Надеемся, что эта статья помогла вам в выборе процессора от Intel и вы разобрались в том, что дают процессору различные технологии.

Как улучшить производительность процессора

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

Причины замедления процессора

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

  • Устаревание железа . В связи с быстрым развитием софта, компьютерное железо не может одинаково хорошо справляться с поставленными задачами на протяжении многих лет. Выход новых, рассчитанных на более свежие комплектующие, версий привычных программ, приводит к тому, что «старичку» становится тяжелее. Этот только Windows не меняла 10 лет требований к процессору, а вот какой-нибудь Chrome, Photoshop, Office, AutoCad даже за 5 лет заметно «поправился». Компьютеры, на которых летает древняя версия программы, с последним ее выпуском могут уже не справиться.
  • Перегрев. Очень распространенная причина замедления компьютеров – повышение температур их компонентов свыше допустимой нормы. К примеру, если производитель указал для процессора критичным нагрев до 70°C, то при преодолении данной отметки ЦП сбросит частоту и/или начнет пропускать такты. Сделано это для того, чтобы он мог «расслабиться» и остыть. Для пользователя такое поведение процессора выглядит, как существенное замедление компьютера.
  • «Мусор» в системе. Активно используемая ОС Windows (особенно без антивируса) склонна накапливать при работе системный мусор. К нему относятся остатки удаленных программ и игр, лишние записи в реестре, оставленные ими же, ошибки реестра. Засорение системного раздела такими мелкими и бесполезными файлами тоже замедляет ПК, и со стороны кажется, что виновен именно процессор. А о вирусах и говорить нечего: черви «плодятся», забивая собой память и нагружая ЦП, а троянцы и шпионские программы постоянно отнимают время у процессора для своих «грязных делишек». Для пользователя все это тоже выглядит как замедление процессора.
  • Деградация процессора. При постоянном воздействии повышенных температур кремниевый кристалл процессора деградирует: у него нарушается целостность микроскопических транзисторов, теряются связи между ними. В итоге, в лучшем случае, он просто замедляется, а в худшем – приводит к внезапным выключениям, зависаниям и частым «синим экранам смерти».
  • Выход жесткого диска из строя. Такой компонент, как HDD (казалось бы, не связанный напрямую с ЦП) при деградации и выходе из строя приводит к жутким тормозам. На первый взгляд в голову даже не приходит мысль, что виновник – именно он. Ведь кажется, что замедлился процессор. В итоге ПК долго включается, открывает программы и файлы, «думает» при переключении задач и подвисает на некоторое время.

С чего начать перед тем, как улучшить работу процессора

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

Тест жесткого диска

Перед тем, как улучшить процессор , диагностику компьютера следует начать с проверки жесткого диска. Для этого существует простая и бесплатная программа Crystal Disk Info . Она отображает данные журнала SMART, регистрирующего все проблемы с жестким диском на аппаратном уровне. Если диск исправен – все пункты журнала будут подсвечены одним цветом, а в верхней части окошка появится надпись «Хорошо». При выявлении неполадок – проблемные пункты журнала будут выделены другим цветом, а надпись заявит «Тревога».

Не все ошибки критичны для жесткого диска: с некоторыми он может прослужить еще не один год. Но такие пункты, как «переназначенные сектора», «неисправимые ошибки», «нестабильные сектора», «события переназначения», «неисправимые ошибки секторов» с крупными значениями в поле RAW прямо свидетельствуют: HDD доживает свой век. «Ошибки чтения» могут указывать на то, что имеются проблемы с кабелем.

Если с жестким все хорошо, но тормоза есть – нужно переходить к следующему разделу. Если HDD плохой – его нужно сменить.

Проверка температур

Измерение температур компонентов компьютера позволит обнаружить перегрев. Для этого понадобится программа HWMonitor , которая проста и бесплатна. В ней нужно найти свой процессор и посмотреть значения для каждого ядра. В простое в норме должно быть не более 45 градусов для настольного ПК и 50-55 – для ноутбука. Если значение больше – нужно нагрузить компьютер какой-нибудь требовательной задачей (например, игрой, но можно использовать и специальный тест LinX ), а затем посмотреть на максимальное значение температуры. Для настольного ПК нежелательно свыше 65-70 градусов, для ноутбука – 70-75. Если выше – виной всему перегрев.

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

Проверка стабильности работы процессора

Выше упомянутый тест LinX позволяет протестировать процессор на предмет стабильности работы и наличия ошибок. Он нагружает ядра сложными математическими вычислениями (решение систем линейных уравнений) для максимального их прогрева. Если процессор имеет дефекты и работает нестабильно, при нормальных температурах – в вычисления закрадется ошибка и программа сообщит об этом, остановив тестирование.

При выявлении ошибок в условиях отсутствия перегрева нужно устранять проблему. Если же по итогам длительного (от получаса) теста ошибок нет, нагрев в пределах допустимого – нужно двигаться дальше.

Сканирование ПК на предмет вирусов

Чтобы быстро проверить ПК на предмет наличия вредоносных программ – подойдет программа Malwarebytes Anti-Malware . Ее пробная версия бесплатная и для разового сканирования вполне подходит. Можно перестраховаться и использовать несколько антивирусных программ. Следует помнить, что они могут конфликтовать, поэтому одновременно устанавливать несколько не стоит. Лучше проверить одной, а если результат не устроил – удалить ее и инсталлировать другой антивирус.

Улучшение работы процессора

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

  • Если сломался жесткий диск – нужно купить новый HDD или SSD и установить его в компьютер.
  • При выявлении перегрева необходимо разобрать системный блок или корпус ноутбука, снять кулеры, пропылесосить их, нанести на чипы новую термопасту и вернуть охлаждение на место. Особенно осторожным надо быть перед тем, как улучшить процессор на ноутбуке (точнее, его охлаждение). Разобрать лэптоп неподготовленному пользователю сложно, если есть опасения сломать что-то – лучше довериться специалистам.
  • Деградация процессора, к сожалению, необратима. Можно попробовать прочистить охлаждение и сменить термопасту (иногда снижение температур возвращает к жизни слегка дефектные элементы ядра). Если это не помогает – нужен ремонт.
  • Вирусы лечатся с помощью той же программы, что и обнаруживаются. После сканирования любой антивирус отчитается о выявленных угрозах и предложит удалить их. Естественно, с ним нужно согласиться.

Как улучшить процессор, если ничего не помогает

Если жесткий диск исправен, перегрева уже нет, процессор цел, а вирусов нет, но ПК все равно тормозит – нужно действовать дальше. В первую очередь, следует установить бесплатную программу CCleaner , с ее помощью просканировать систему и удалить мусор, а затем – проанализировать и исправить ошибки реестра. Также рекомендуется посмотреть во вкладку «Сервис», пункт «Автозагрузка». Там отображается список программ, которые запускаются при старте Windows. Если их много (10 и больше), и их автостарт не требуется – желательно выключить лишние.

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

Разгон процессора компьютера

Разгоном называется процедура повышения тактовых частот процессора. Она позволяет реализовать скрытый потенциал процессора, заставив его работать быстрее. Но перед тем, как улучшить процессор компьютера методом разгона, следует помнить: никто не гарантирует успеха, все делается на свой страх и риск.

Осторожности при разгоне

Производитель не зря ограничил тактовую частоту ЦП значением, которое для него стало стандартным. Вероятность большого разгона невелика. Кроме того, значительное ускорение ядер приводит и к росту потребления энергии. Поэтому нужен хороший блок питания. А если кулер процессора «родной» — и его, может быть, придется заменить, так как стандартной системы охлаждения не хватит. Если эксплуатировать процессор с перегревом – он деградирует и может выйти из строя, это надо помнить. Именно по этим причинам разгон не гарантирует ни один производитель, а зачастую они еще и снимают с себя гарантийные обязательства.

Как разогнать процессор

Разгон процессора осуществляется из системного меню BIOS/UEFI материнской платы. Попасть в него можно на первых секундах включения компьютера, нажав Del, F1, F2 или другую кнопку (нужно смотреть в инструкции). У каждой модели меню свое, пункты отличаются, поэтому универсальной инструкции не существует. Разгон всегда производится путем повышения множителя процессора и/или частоты системной шины, но пункты для этого по названию отличаются.

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

Разгону поддаются не все процессоры. Его поддерживают современные модели Intel Core с буквой К в названии, а также AMD с обозначением Black. Из более старых разгонять можно Intel Core 2 Duo и родственные им модели, а также AMD Athlon и Phenom для сокетов AM2 и AM3. У последних можно также разблокировать ядра (двух-, трех- и четырехъядерные Athlon и Phenom некоторых серий). Но поддерживается не каждая материнская плата ПК , и не всегда разблокированные ядра будут работоспособными (не зря ведь их отключили).

Таким образом, разгон процессора – это сложная процедура, которая требует подхода со знанием дела и умения находить информацию по разгону для конкретной платы и ЦП. Она подходит опытным пользователям, но для неподготовленных людей может только усугубить проблему.

Разгон процессора ноутбука

У ноутбуков в BIOS нет опций для разгона. Связанно это с тем, что система охлаждения у них подобрана именно под штатное тепловыделение. При его превышении (а разгон приводит к этому) кулер не справится и будет постоянный перегрев. Это может вывести систему из строя. Для разгона ноутбуков существуют программы, такие как SetFSB , SoftFSB и CPUFSB .

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

Апгрейд

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

У ПК с этим меньше проблем. Чтобы улучшить процессор – нужно сначала узнать модель своей системной платы и процессора (тот же HWMonitor позволяет сделать это). Затем следует перейти на сайт производителя материнской платы, найти свою модель и посмотреть список поддерживаемых процессоров. Из него нужно выбрать более быструю модель, чем используется сейчас, и заняться ее поиском в магазинах . Замена процессора производится путем снятия кулера, извлечения старого ЦП, установки нового, нанесения термопасты и установки системы охлаждения на место.

Как увеличить производительность процессора за 5 минут

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

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

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

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

Сегодня мы поговорим о эффективной оптимизации процессора при помощи простенькой, но полезной программе CPU Control .

Чтобы оптимизировать процессор через CPU Control , нам не придется его разгонять как мы это делали в статье — как разогнать процессор . Кстати, рекомендую к прочтению.

Скачиваем программу CPU Control ( ссылка ) и запускаем её. Программа очень простенькая, бесплатная и на русском языке.

После установки у вас появится ярлычок, запускаем программу и видим такое окошко.

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

Далее выбираем второй пункт оптимизации процессора CPU Control — ручной .

Чтобы выбрать ядро процессора для определенной задачи, нажимаем правой кнопкой мыши по процессу и выбираем одно из ядер процессора.

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

Второе (третье и четвертое) ядро настраиваем для всех остальных процессов.

Если игра или какое-то приложение тормозит или производительности явно не хватает.

Попробуйте самостоятельно отдать на обработку все процессы кроме того которое тормозит на обработку четвертому или второму ядру. А все остальные ядра процессора пусть займутся одной вашей задачей.

Если копаться и разбираться в настройках желания нет, можно просто выбрать режим авто и наблюдать прирост производительности.

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

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

Ваш компьютер укомплектован одноядерным процессором? Тогда рекомендую вам ознакомится с мощной статьей — 7 способов ускорения компьютера . Проделав 7 несложных шагов вы и без CPU Control сделаете работу за вашим компьютером удобней и быстрей ��

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

Обзор архитектуры и особенностей нового Intel Pentium 4 с ядром Prescott

Вступление

Итак, несколько раз переносившийся официальный анонс нового процессора фирмы Intel, носящего кодовое имя Prescott, наконец-то произошёл. Теперь можно определённо говорить о различных нововведениях, улучшениях и решениях, примененных в этом процессоре. Что в первую очередь интересно было бы узнать из разбора архитектурных изменений, случившихся в процессорном ядре? Для начала мы составим примерное представление о производительности нового процессора, тем более, что процессоры на ядре Prescott получили наименование Pentium 4E. Intel ограничилась всего лишь добавлением суффикса, как было, например, с процессорами Northwood на шине 800 МГц с технологией HT.

Интересно прикинуть, будет ли новый процессор требовать для эффективной работы новое программное обеспечение. Сразу ли можно будет использовать его на полную мощность, или, как в случае с Pentium 4, надо будет ждать некоторое время, пока появятся написанные с учётом его особенностей приложения. Тогда для многих старых приложений, не перекомпилированных для Pentium4, довольно долго оптимальным оставалось использование Pentium III.

Действительно, тогда многие были напуганы плохой производительностью первых Pentium 4 в большом количестве приложений, казалось, что новый процессор медленнее старого. Однако новая архитектура Pentium4 разрабатывалась с целью достижения больших частот и по мере их роста всё вставало на свои места. А ведь некоторые тогда требовали от Intel дальнейшего развития «нормальной» архитектуры Pentium III, которая якобы искусственно затормаживалась, поскольку Pentium III не получил быстрой шины, появившейся в Pentium4 и поначалу его спасавшей.

Однако, если попытаться найти некоторую логику в развитии линейки процессоров Intel, то можно настроиться на более оптимистичный лад. Действительно, рассмотрим линейку процессоров Pentium – PentiumMMX – PentiumII — PentiumIII. Тогда первый Pentium получил принципиально новый пятистадийный конвейер, а последовавший Pentium MMX – первый набор SIMD-расширений. В начале этот конвейер требовал для параллельной обработки специальной ручной оптимизации программ, так называемого U-V спаривания. Оно заключалось в том, что ассемблерные инструкции, могущие быть обработанными параллельно, одна на U, другая на V конвейере, вручную расставлялись в коде программы вместе, «спаривались». Это позволяло достичь двухкратного прироста производительности.

Тогда в компьютерных играх ещё использовался software-рендеринг, и основная небольшая процедура растеризации треугольника могла быть хорошо оптимизирована под U-V конвейер. Это обеспечивало процессорам Intel большое преимущество в трёхмерных играх. А процессоры AMD тогда были лучше во всяких офисных программах, там никакого трудоёмкого U-V спаривания не могло быть. В Pentium II конвейерная обработка улучшилась, образно говоря, процессор сам стал «спаривать» инструкции для параллельной обработки, выполняя их вне порядка, установленного в программе, по мере готовности операндов и наличия свободных функциональных устройств. Это позволило очень серьёзно улучшить производительность.

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

Анонс

Итак, 2 февраля произошёл массовый анонс целого ряда процессоров. Были анонсированы Pentium4 2800E, 3000E, 3200E, и 3400E, а также новая версия Pentium4 Extreme Edition с частотой 3400 МГц, и ещё зачем-то Pentium 4 Northwood с частотой 3400МГц. Был представлен также процессор Pentium4 2800A, процессор с ядром Prescott, но на пониженной частоте шины и без поддержки технологии Hyper-Threading. Этот процессор появился якобы из-за того, что процессоры Prescott долгое время не хотели работать на 800МГц шине, анонс и задерживался. Накопленные запасы «старых» кристаллов скопились в большом количестве на складах, и их решено было тоже пристроить.

Процессор Ядро Шина ТехнологияHyper-Threading КЭШ третьего уровня Разъём
Pentium4EE 3400 Northwood * 800 Да 2MB s478
Pentium4C 3400 Northwood 800 Да Нет s478
Pentium4E 3400 Prescott 800 Да Нет s478
Pentium4E 3200 Prescott 800 Да Нет s478
Pentium4E 3000 Prescott 800 Да Нет s478
Pentium4E 2800 Prescott 800 Да Нет s478
Pentium4A 2800 Prescott 533 Нет Нет s478

Из таблицы видно, что процессоры с ядром Prescott идут вперемежку с предыдущими моделями. На текущий момент Intel не планирует более продлевать жизнь Socket 478, ограничившись моделями с частотой 3400 МГц. По слухам, некоторая кутерьма со списком плат, поддерживающих новый процессор Prescott, была вызвана именно специальными требованиями к энергопотреблению старших моделей. В итоге, низкочастотные модели не имеют особых требований к материнским платам, и должны работать практически на всех платах, поддерживающих шину 800 МГц и технологию HT. Модель 3600E, скорее всего, будет иметь уже другой конструктив, призванный обеспечить лучшее охлаждение процессоров и обслужить новые параметры энергопотребления. Таким образом, некоторые вопросы по поддержке старыми платами может вызвать только модель Pentium3400E. С другой стороны, всё равно найдётся мало желающих апгрейдить свой, например, Pentium 4 2800C на Pentium 4 3200E, потому что прирост производительности вряд ли будет очень большим.

Среди анонсированных процессоров бросается в глаза наличие обычного Pentium 4 с увеличенной до 3400 МГц частотой. Зачем он нужен, если уже есть процессор Prescott той же частоты? И тут мы подходим ко второй возможной причине переносов времени анонса. Дело в том, что производство Pentium 4E 3400 Мгц ещё не налажено так же хорошо, как производство младших моделей Prescott. И первое время обеспечить достаточно крупные поставки этих процессоров Intel, возможно, будет не в состоянии. Да что там массовые поставки – сейчас даже достаточно крупные тестовые лаборатории затрудняются эти процессоры получить. Pentium 4EE тоже совсем не массовый и, к тому же жутко дорогой, так что противостоять AMD Athlon64 3400+, получается, кроме старого проверенного бойца Pentium 4С просто некому. Однако Intel планирует перейти на производство Pentium4 Prescott в рекордно короткие сроки, и уже ко второму полугодию большинство процессоров должно будет производиться на этом ядре.

А сейчас перейдём к рассмотрению непосредственно нового ядра.

Prescott

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

Фотография обнажённой модели. Отсутствует четкая компоновка блоков — яркий пример усовершенствованной автоматической разводки внутри кристала. Любители процессорной «клубнички» могут найти ещё много высококачественных фотографий здесь.

Как достигается такое тонкое 90-нанометровое совершенство? Какие имеются отличия старого и нового технологического процесса?

130 нанометров 90 нанометров
6 слоёв медных соединений 7 слоёв медных соединений
Диэлектрик SIOF с низким диэлектрическим коэффициентом Диэлектрик CDO с низким диэлектрическим коэффициентом
Силицид кобальта Силицид никеля
Ячейка памяти SRAM площадью 2 кв. мкм Ячейка памяти SRAM площадью 1,15 кв. мкм
248-нанометровая литография 193-нанометровая литография
Обычный кремний Растянутый кремний

Применение нового технологического процесса позволило, несмотря на увеличение количества транзисторов в кристалле, всё равно получать большее количество ядер с одной пластины, тем более что Intel переходит с 200-миллиметровых на 300-миллиметровые подложки. Однако без знания процента выхода годных кристаллов это ни о чем не говорит. А процент этот, конечно, держится в секрете.

Понятно, почему именно Intel заинтересовалась растянутым кремнием. Она делает ставку на рост частот, значит, каждый такт процессора должен становиться всё короче и короче по времени. Он может становиться настолько коротким, что электрический сигнал просто не сможет успеть дойти от одного блока процессора к другому, что будет порождать постоянные задержки в несколько тактов. Например, Pentium4 складывает содержимое двух регистров с такой же скоростью, как и копирует их. Действительно, что есть копирование одного регистра в другой? Это зануление одного и сложение.

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

Prescott якобы должен был стать некоторой промежуточной моделью между Pentium 4 Northwood и процессорным ядром Tejas, которое планировалось на вторую половину этого года, и должно было быть весьма навороченным: 64 бита и много чего еще. Так что жизненный цикл Prescott должен был быть ещё более коротким, чем период Willamette. Однако известно ведь, что нет ничего более постоянного, чем временное. Так что вполне вероятно, что новое ядро надолго задержится в производстве.

Итак, настала пора посмотреть, какие изменения претерпела архитектура Netburst в новом процессоре.

Архитектура

Глянем сначала в целом на сравнительную таблицу характеристик Northwood и Prescott.

7 тактов

18 тактов

Параметр Northwood Prescott
Кэш-память первого уровня 8 Кбайт 16 Кбайт
Латентность кэша L1 2 такта > 2
Ассоциативность L1 4 8
Trace cache 12Kmops 12Kmops
Trace cache delivery rate 3mops 3mops
Кэш-память второго уровня 512KB 1024KB
Латентность кэша L2
Ассоциативность L2 8 8
Сбрасываемая длина конвейера 20 31
Расширение набора инструкций SSE2 SSE3
Дополнительные улучшения Prescott
Улучшенная предвыборка данных
Улучшенное предсказание ветвлений
Дополнительные буферы комбинированной отложенной записи в память
Ускорение некоторых операций с целыми числами, в том числе, умножение

Первое, что бросается в глаза — увеличившийся размер кэшей первого и второго уровня и поддержка нового набора инструкций SSE3. Размер кэшей, особенно, кэша второго уровня, очень любят указывать в прайс-листах для удовлетворения слегка продвинутых покупателей, чтобы они могли отличать различные модификации процессоров. Люди покупают не только мегагерцы, но и килобайты кэша, особенно после того, как они получили возможность сравнить производительность Pentium 4 и P4 Celeron.

Однако производительность процессора, как мы знаем, зависит от множества показателей. Вот, например, объём кэшей увеличился, но латентность-то возросла, что может быть более важным. Давайте этот момент обсудим более плотно.

Prescott и иерархия кэшей

Так как размер кэшей увеличился в два раза, можно примерно представить, почему латентность кэша второго уровня серьёзно возросла.

Размер-то блоков памяти увеличился вдвое, однако расстояние до них тоже несколько возросло, и возросло время поиска данных в внутри блока из-за увеличившегося размера Какой из факторов должен перевесить – объем или время поиска? В общем случае сказать сложно, но есть несколько крайних случаев.

Если приложение работает с большим объёмом данных, много большим, чем размер кэш-памяти, и очень часто происходит случайный доступ к памяти, то увеличение кэша L2 в два раза не сильно увеличит процент попаданий в этот кэш, а возросшая латентность не сильно повлияет на производительность. В этом случае особых изменений в производительности не будет, так как она и так сильно ограничена эффективностью чтения из памяти. Но если объём используемых приложением данных сравним с объёмом кэша L2, то увеличение его объема вдвое сильно снизит процент «промахов» и сильно повысит производительность, несмотря на возросшую латентность, так как она всё равно значительно меньше латентности «обычной» оперативной памяти.

Однако, если объём используемых данных меньше размера КЭШа, данные хорошо локализуются и располагаются в памяти последовательно, то увеличение латентности приведёт к заметному падению производительности.

Таким образом, можно ожидать все три варианта изменения производительности из-за изменений характеристик кэша L2. Все зависит от приложений.

В некоторой степени похожа на ситуацию с КЭШем L2 ситуация с изменением параметров L1 КЭШа. Но если промахи в кэш второго уровня всё-таки достаточно редки, процент попаданий даже для самых «плохих» программ приближается к 99%, то объем «наличной» памяти первого уровня очень невелик, и промахи случаются регулярно, намного чаще, чем в L2: попаданий может быть всего около 75%. Так что увеличение объема L1 должно благотворно сказаться на производительности, так как его латентность всё равно меньше, чем латентность кэша L2. А 16 Кбайт существенно ближе к объёму современных структур данных, чем 8KB. Так что увеличение L1, не смотря на слегка увеличившуюся латентность, занесём скорее в плюс. Хотя и тут может быть некоторый отрицательный эффект в отдельных случаях.

Но помимо увеличения размера, возросла также ассоциативность L1 КЭШа с 4 до 8. Это усложняет КЭШ, но позволяет в некоторых случаях более оптимально его заполнить. Дело в том, что КЭШ не может содержать произвольный регион памяти, и дело здесь не в размере, а в его устройстве. Возвращаясь к нашей аналогии, представьте себе, что ранее ларёк мог содержать не более 4 продуктов одного типа, но разных производителей, а теперь целых 8.

Важно помнить, что латентность кэшей увеличилась не в секундах, а в тактах, и это сделано с целью дальнейшего наращивания частот. При росте частот абсолютное время доступа к кэш-памяти может уменьшиться до текущего значения, а потом стать ещё меньше. Таким образом, с целью наращивания частоты увеличивается не только стадийность конвейера, но и время доступа (в тактах) к кэшам.
Прочтите следующий абзац, и вам станет понятно, зачем были увеличены объемы кэш-памяти обоих уровней.

Prescott и удлинившийся конвейер

С целью дальнейшего наращивания частоты конвейер также был «несколько» удлинён – более чем в полтора раза, с 20 до 31 ступени.

Оптимизация для pentium процессора обзор специальных инструкций

ОПТИМИЗАЦИЯ
6.1. Приемы оптимизации для процессоров Intel Pentium

Все, что здесь написано, является выборкой наиболее важных на мой взгляд фактов из документации от Agner Fog. Если вы серьезно интересуетесь оптимизацией для Intel Pentium (plain, MMX, PPro, P2), найдите и прочтите эту документацию (я нашел на www.agner.org/assem .

6.1.1. Спаривание целочисленных команд

По-моему, основной прием ускорения. Дело в том, что у процессоров Pentium есть два конвейера обработки команд, U-pipe и V-pipe. В результате некоторые пары команд могут исполняться одновременно, а это практически удваивает скорость.

Эти команды могут быть исполнены и в U-pipe, и в V-pipe, и при этом могут быть спарены (с какой-либо другой командой):

mov reg/mem,reg/mem/imm
push reg/imm
pop reg
lea, nop, inc, dec, add, sub, cmp, and, or, xor
некоторые формы test

Эти команды могут быть исполнены только в U-pipe, но при этом все-таки могут быть спарены:

adc, sbb
shr, sar, shl, sal на заданное число
ror, rol, rcr, rcl на единичку

Эти команды могут быть исполнены в любом конвейере, но могут быть спарены только в V-pipe:

near call (близкий вызов)
short/near jump (короткий/близкий переход)
short/near conditional jump (короткий/близкий переход по условию)

Все остальные целочисленные команды могут быть исполнены только в U-pipe и не могут быть спарены вообще.

Две последовательно идущих команды будут спарены в случае выполнения всех нижеследующих условий. Если хотя бы одно из условий не выполняется, то исполняется только первая команда, вторая (и, возможно, следующая за ней) команда будет исполнена лишь в следующем такте. Вот условия спаривания:

    Первая команда может быть исполнена и спарена в U-pipe, вторая, соответственно, в V-pipe.

Если первая команда записывает что-то в регистр, то вторая команда не может производить чтение/запись из регистра. Причем, в этом условии части регистров считаются за весь регистр (то есть, запись в al/ah расценивается как запись в eax, а запись в cf — как запись в flags).

  • Две команды, записывающие что-то в регистр флагов, могут быть спарены, несмотря на условие 2:
  • Команда, записывающая что-то в регистр флагов, может быть спарена с условным переходом, несмотря на условие 2:
  • Следующие пары команд могут спариться несмотря на то, что обе команды изменяют esp:
  • Существуют ограничения на исполнение команд с префиксом. Префиксы возникают в таких случаях:
    • команда, адресующаяся не к сегменту по умолчанию, имеет префикс сегмента (примеры: mov eax,es:[ebx]; mov eax,ds:[ebp])
    • команда, работающая с 16-битными операндами в 32-битном режиме или с 32-битными операндами в 16-битном режиме, имеет префикс разрядности операнда (примеры: mov ax,1234 в защищенном режиме; mov ax,word ptr [variable] в защищенном режиме; xor eax,eax в реальном режиме)
    • команды, использующая 32-битную адресацию в 16-битном режиме, имеет префикс разрядности адреса (пример: mov ax,[ebx] в реальном режиме)
    • rep, lock — префиксы (пример: rep stosd)
    • многие команды, которых не было на 8086, имеют двухбайтовый код команды, где первый байт равен 0Fh. На процессоре Pentium без MMX этот байт считается префиксом. Наиболее часто встречающиеся команды с префиксом 0Fh: movzx, movsx, push/pop fs/gs, lfs/lgs/lss, setXX, bt/btc/btr/bts/bsf/bsr/shld/shrd, imul с двумя операндами и без операнда-числа (immediate).

    На процессоре Pentium без MMX команда с префиксом может исполняться только в U-pipe, исключение — близкие переходы по условию (conditional near jumps). На процессоре Pentium с MMX команды с префиксами 0Fh и размера операнда или адреса может исполняться в любом конвейере; но команды с префиксами сегмента, rep или lock (повторения или блокировки шины) могут исполняться только в U-pipe.

    Команда, в которой одновременно участвует смещение (displacement) и заданное число (immediate) не может быть спарена на процессоре Pentium без MMX и может быть выполнена и спарена только в U-pipe на процессоре Pentium с MMX. Вот примеры:

    Спаривающаяся команда, которая читает из памяти, считает и записывает результат в регистр или в регистр флагов занимает 2 такта. Спаривающаяся команда, которая читает из памяти, считает и записывает результат обратно в память занимает 3 такта. Примеры таких команд:

    Существует также так называемое неполное спаривание (imperfect pairing), когда обе команды выполняются в разных конвейерах, но НЕ одновременно (возможно, частично перекрываясь по времени исполнения), а следующие за ними команды не могут начать исполнение, пока обе команды не закончатся. Такое случается в следующих случаях:

    1. Вторая команда вызывает AGI (address generation interlock, блокировка генерирования адреса). Это происходит, если адрес, используемый во второй команде зависит от регистров, измененных в первой команде. Примеры:
    2. Две команды одновременно обращаются к одному и тому же двойному слову памяти. Примеры (подразумевается, что esi делится на 4):
    3. Две команды одновременно обращаются к адресам, в которых одинковы биты 2-4 (это вызывает конфликт кэш-банков). Для dword-адресов это значит, что разница между двумя адресами делится на 32. Пример:
    4. Первая команда производит чтение, подсчет и запись одновременно; вторая — чтение и изменение; в этом случае число тактов, требующееся для выполнения пары команд, можно рассчитать по следующей таблице:
    первая команда
    вторая команда mov или
    регистровая
    чтение/
    подсчет
    чтение/подсчет/
    запись
    mov или регистровая 1 2 3
    чтение/подсчет 2 2 4
    чтение/подсчет/запись 3 3 5

    У процессора Pentium непосредственно на кристалле есть 8k кэш-памяти (это т.н. кэш-память первого уровня, L1 cache) для кода и 8k — для данных. Данные из L1 cache считываются/записываются за один такт; кэш-промах же может стоить довольно много тактов. Таким образом, для наиболее эффективного использования кэша необходимо знать, как он работает.

    Итак, L1 cache состоит из 256 кэш-линий (cachelines), по 32 байта в каждой. При чтении данных, которых нет в кэше, процессор считывает из памяти целую кэш-линию. Кэш-линии всегда выравнены на физический адрес, делящийся на 32; так что если прочитать байт по адресу, делящемуся на 32, то можно читать и писать в следующий за ним 31 байт без всяких задержек. Свои данные имеет смысл располагать с учетом этого факта — например, выравнивать массивы из структур длиной 32 байта на 32; перед записью в видеопамять читать оттуда один байт (один раз на 32 записываемых байта); используемые вместе данные располагать вместе; и так далее.

    Но кэш-линия не может быть связана с любым физическим адресом. У каждой кэш-линии есть некое 7-битное «заданное значение» (set-value), которое должно совпадать с битами адреса 5-11. Для каждого из 128 возможных значений set-value есть две кэш-линии. Отсюда следует то, что в кэше не может одновременно содержаться более двух блоков данных с одинаковыми битами адреса 5-11. Чем это чревато, покажем на примере.

    У используемых трех адресов будет одинаковое значение в битах 5-11. Поэтому к моменту самого первого чтения в ecx в кэше точно не окажется свободной кэш-линии, процессор выберет для нее наименее использованную (least recently used) линию, ту самую, которая была использована при чтении eax. При чтении ebx, соответственно, будет заново перекрыта линия, использованная при чтении ecx. В результате цикл будет состоять из сплошных кэш-промахов и съест порядка 60 тактов. Если же поменять 28 на 32, изменив, таким образом, на единичку биты 5-11 для адреса [esi+20*4096+28], то для чтения в eax и ebx будут как раз использованы две имеющихся линии, для чтения в ecx — третья, не совпадающая ни с одной из этих двух. В результате — скорость порядка трех тактов на один проход и ускорение примерно в 20 (. ) раз.

    Еще одна интересная вещь, которую стоит учесть — Pentium НЕ загружает кэш-линию при промахе записи; только при промахе чтения. При промахе записи данные пойдут в L2 cache или память (в зависимости от настроек L2 cache). А это довольно медленно. Поэтому, если мы последовательно пишем в один и тот же 32-байтовый блок, но не читаем оттуда, то имеет смысл сначала сделать холостое чтение из этого блока, чтобы загрузить его в L1 cache; тогда все последовательные операции записи будут есть только по одному такту.

    6.1.3. Разные трюки

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

    работа с fixed point вместо floating point иногда (если код не слишком сильно насыщен математикой) быстрее; практически всегда быстрее для клонов;

    все данные желательно выравнивать по адресам, кратным размеру данных (то есть, переменные-байты можно не выравнивать, слова — выравнивать на 2, двойные слова — на 4); обращение к невыравненной переменной влечет за собой задержку минимум на три такта;

    деление на заранее известное число можно заменить умножением на обратное ему число;

    деление на степень двойки для целых чисел заменяется на сдвиг влево; деление чисел с плавающей точкой (fdiv) на Intel Pentium (на клонах, к несчастью, это не так) может исполняться параллельно с целочисленными командами.

    Оптимизация для pentium процессора обзор специальных инструкций

    27.1 Инструкция LEA (все процессоры)

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

    Гораздо быстрее, чем

    Инструкцию LEA можно использовать, чтобы делать сложение или сдвиг без изменения флагов. Источник и назначение не обязательно должны быть размером в слово, поэтому ‘LEA EAX,[BX]’ может стать возможной заменой для ‘MOVZX EAX,BX’, хотя на многих процессорах это не совсем оптимально.

    Как бы то ни было, вам следует знать, что инструкция LEA вызывает задержку AGI на PPlain и PMMX, если она использует базовый или индексный регистр, в которой была произведена запись в предыдущем такте.

    Так как инструкция LEA спариваема в V-конвеер на PPlain и PMMX, а инструкции сдвига — нет, вы можете использовать LEA в качестве замены SHL на 1, 2 или 3, если вы хотите, чтобы инструкция выполнялась в V-конвеере.

    У 32-х битных конвееров нет документированного режима адресации с только индексным регистром, поэтому инструкция LEA EAX,[EAX*2] на самом деле записывается как ‘LEA EAX,[EAX*2+00000000] с 4-х байтовым смещением. Вы можете снизить размер инструкции, написав ‘LEA EAX,[EAX+EAX]’ или, что еще лучше, ‘ADD EAX,EAX’. Последний вариант не приведет к задержке AGI на PPlain и PMMX. Если случилось так, что у вас есть регистр, равный нулю (например, счетчик цикла после последнего прохода), вы можете использовать его как базовый регистр, чтобы снизить размер кода:

    27.2 Деление (все процессоры)

    Деление отнимает очень много времени. На PPro, PII и PIII целочисленное деление занимает 19, 23 или 39 для байта, слова и двойного слова соответственно. На PPlain и PMMX беззнаковое челочисленное деление занимает приблизительно то же время, хотя деление со знаком занимает немного больше. Поэтому более предпочтительно использовать операнды маленького размера, которые не вызовут переполнения, даже если это будет стоить префикса размера операнда, и использовать по возможности беззнаковое деление.

    Целочисленное деление на константу (все процессоры)

    Целочисленное деление на степень от двух можно сделать, сдвигая значение вправо. Деление беззнакового целого числа на 2N:

    Деление целого числа со знаком на 2N:

    Альтернативный SHR короче, чем ‘AND if N > 7, но может попасть только в порт 0 (или U-конвеер), в то время как AND может попасть как в порт 0, так и в порт 1 (U- или V-конвеер).

    Деление на константу можно сделать на обратное число. Чтобы произвести беззнаковое целочисленное деление q = x / d, вам вначале нужно посчитать число, обратное делителю, f = 2r / d, где r определяет позицию двоично-десятичной точки (точка основания системы счисления). Затем нужно умножить x на f и сдвинуть полученный результат на r позиций вправо. Максимальное значение r равно 32+b, где b равно числу двоичных цифр в d минус 1. (b — это самое большое целое число, для которого 2b

    Предположите, что вы хотите разделить на 5.

    Дробная часть больше, чем половина: используем случай C. Округляем f вверх до 0CCCCCCCDh.

    Следующий код делит EAX на 5 и возвращает результат в EDX:

    После умножения EDX содержит значение, сдвинутое вправо на 32. Так как r = 34, вам нужно сдвинуть еще на 2, чтобы получить окончательный результат. Чтобы поделить на 10, вам нужно всего лишь заменить последнюю строку на ‘SHR EDX,3’.

    В случае B у вас будет следующее:

    Этот код работает для всех значений x, кроме 0FFFFFFFFH, которое дает ноль из-за переполнения в инструкции INC. Если возможно, что x = 0FFFFFFFFH, тогда замените этот код на:

    Если значение x ограничено, тогда вам следует использовать меньшее значение r, то есть меньшее количество цифр. Может быть несколько причин для того, чтобы сделать это:

    вы можете установить r = 32 и избежать ‘SHR EDX,b’ в конце.

    вы можете установить r = 16+b и использовать инструкции умножения, которые дают 32-х битный результат, вместо 64-х битного. Тогда можно освободить регистр EDX: IMUL EAX,0CCCDh / SHR EAX,18

    вы можете выбрать значение r, которое будет чаще приводить к случаю C, а не B, чтобы избежать инструкции ‘INC EAX’.

    Максимальное значение x в этих случаях равно по крайней мере 2r-b, иногда выше. Вы должны делать систематические тесты, если хотите узнать точное максимально значение x, при котором ваш код будет работать корректно.

    Вы можете заменить медленную инструкцию умножения более быстрыми инструкциями, как это объяснено в главе 26.5.

    Следующий пример делит EAX на 10 и возвращает результат в EAX. Я выбрал r=17, а не 19, потому что это дает код, который легче оптимизировать, и он покрывает такое же количество значений x. f = 217 / 10 = 3333h, случай B: q = (x+1)*3333h:

    Проведенные тесты показываеют, что этот код работает правильно для всех значений x Повторяемое деление целого цисла на одно и то же значение (все процессоры)

    Если делитель не известен во время ассемблирования программы, но вы делите на одно и то же число несколько раз, вы тоже можете использовать данный метод. Код должен определить, с каким случаем (A, B и C) он имеет дело, и высчитать f до совершения делений.

    Следующий далее код показывает, как делать несколько делений на одно и то же число (беззнаковое деление с усечением). Сначала вызовите SET_DIVISOR, чтобы установить делитель и обратное ему число, затем вызовите DIVIDE_FIXED для каждого значения, которое нужно разделить на один и тот же делитель.

    Этот код даст тот же результат, что и инструкция DIV для 0 Деление чисел с плавающей запятой (все процессоры)

    Деление чисел с плавающей запятой занимает 38 или 39 тактов при самой высокой точности. Вы можете сэкономить время, указав более низкую точность в контрольном слове (на PPlain и PMMX только FDIV и FIDIV более быстры при низкой точности; на PPro, PII и PIII это также относится к FSQRT. Выполнение других инструкций убыстрить этим способом нельзя).

    Параллельное деление (PPlain и PMMX)

    На PPlain и PMMX можно производить деление числа плавающей запятой и целочисленное деление параллельно. На PPro, PII и PIII это не возможно, потому что целочисленное деление и деление чисел с плавающей запятой используют один и тот же механизм.

    Пример: A = A1 / A2; B = B1 / B2

    Убедитесь, что вы установили в контрольном слове FPU желаемый метод округления.

    Использование обратных инструкций для быстрого деления (PIII)

    На PIII вы можете использовать быстрые обратные инструкции RCPSS или PCPPS с делителем, а затем умножить на делимое. Правда, точность будет всего 12 бит. Вы можете повысить ее до 23-х, использовав метод Ньютона-Рафсона, объясненного в интеловской сопроводительной заметке AP-803:

    где x0 — это первое приближение к обратному от делителя d, а x1 — лучшее приближение. Вы должны использовать эту формулу перед умножение на делимое:

    Это позволяет сделать 4 деления за 18 тактов с точностью 23 бита. Повышение точность, повторяя формулу Ньютона-Рафсона возможно, но не очень выгодно.

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

    Этот код проверяет, не слишком ли мал результат и делает соответствующую коррекцию. Не нужно проверять, если результат слишком велик.

    Избегание делений (все процессоры)

    Очевидно, что вам минимизировать количество делений. Деления плавающей запятой на константу или повторяющиеся деления на одно и то же значения следуюет делать через умножения на обратное число. Но есть много других ситуаций, когда вы можете снизить количество делений. Например: if (A/B >c) можно переписать как if (A > B*C), если B положительны, и как обратное сравнение, если B отрицательны.

    A/B + C/D можно переписать как (A*D + C*B) / (B*D)

    Если вы используете целочисленное деление, вам стоит остерегаться того, что ошибки округления могут стать другими после переписывания формул.

    27.3 Освобождение регистров FPU (все процессоры)

    Вы должны освободить все использованные регистры FPU до выходы из подпрограммы, не считая регистра, использованного для возвращения результата.

    Самый быстрые способ освободить один регистр — это FSTP ST. Самый быстрый способ освбодить два регистра на PPlain и PMMX — это FCOMPP, на PPro, PII и PIII вы можете использовать как FCOMPP, так и FSTP ST дважды.

    Не рекомендуется использовать FFREE.

    27.4 Переход от инструкций FPU к MMX и обратно (PMMX, PII и PIII)

    Вы должны выполнить инструкцию EMMS после инструкции MMX, за которой может последовать код с инструкциями FPU.

    На PMMX переключение между инструкциями FPU и MMX вызывает высокие потери. Выполнение первой инструкции FPU после EMMS занимает примерно на 58 тактов больше, а первой инструкции MMX после инструкции FPU — на 38 тактов больше.

    На PII и PIII подобных потерь нет. Задержку после EMMS можно скрыть, поместив целочисленные инструкции между EMMS и первой инструкции FPU.

    27.5 Конвертации чисел с плавающей запятой в целые (все процессоры)

    Все подобные конверсии и обратно должны осуществляться через память:

    На PPro, PII и PIII этот код может вызвать потерит из-за попытки считать из [TEMP] до того, как закончена запись туда же, потому что инструкция FIST медленная (глава 17). WAIT не поможет (глава 26.6). Рекомендуется поместить другие инструкции между записью в [TEMP] и чтением оттуда, что бы избежать этих потерь. Это относится ко всем примерам, которые последуют в дальнейшем.

    Спецификация языка C и C++ требует, чтобы конверсия из чисел с плавающей запятой в целые числа осуществлялась с помощью усечения, а не округления. Метод, используемый большинством библиотек C, это изменение контрольного слова FPU, чтобы указать инструкции FISTP на усечение, и изменение контрольного слова в прежнее состояние после ее выполнения. Это метод очень медленнен на всех процессорах. На PPro, PII и PIII контрольное слово FPU не может быть переименовано, поэтому все последующие инструкции плавающей запятой будут ждать, пока инструкция FLDCW не будет выведена из обращения.

    Если вам нужно осуществить конверсию числа с плавающей запятой в C или C++, вам следует подумать о том, не лучше ли вам использовать округление вместо усечения. Если ваша стандартная библиотека не поддерживает быструю функцию округления, тогда сделайте свою собственную, используя примеры примеры, приведенные ниже.

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

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

    Округление к ближайшему

    Усечение к нулю

    Усечение к минус бесконечности

    Эти процедуры работают для -231 Альтернатива инструкции FISTP (PPlain и PMMX)

    Конвертирование числа с плавающей запятой в целое обычно осуществляется следующим образом:

    Альтернативный метод заключает в:

    Добавление ‘волшебного числа’ 251+252 есть такой эффект, что любое целое число между -231 и +231 будет выравнено в нижних 32-х битах, когда сохраняется как число с плавающей запятой двойной точности. Результат будет такой же, какой бы вы получили с помощью инструкции FISTP со всеми методами окруления, кроме усечения к нулю. Результат будет отличаться от FISTP, если в контрольном слове задано усечение или в случае переполнения. Вам может потребоваться инструкция WAIT для совместимости со старым 80287 процессором (глава 26.6)

    Этот метод не быстрее использования FISTP, но он дает большую гибкость на PPlain и PMMX, потому между FADD и FSTP 3 такта, которые можно заполнить другими инструкциями. Вы можете умножить или разделить число на степень от друх в той же операции, сделав обратно по отношению к магическому числу. Вы также можете добавить константу, добавив ее к магическому числу, которое тогда будет иметь двойную точность.

    27.6 Использование целочисленных инструкция для осуществления операций плавающей запятой (все процессоры)

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

    Тестируем, не равно ли значение с плавающей запятой нулю:

    Значение с плавающей запятой, равное нулю, обычно представляется как 32 или 64 обнуленных бита, но здесь есть один подводные камень: бит знака может быть равен нулю! Минус ноль считается правильным числом с плавающей запятой, и процессор может сгенерировать ноль с уставноленным битом знака, если, например, отрицательное число было умножено на ноль. Поэтому если вы хотите узнать, не равно ли число с плавающей запятой нулю, вам не следует тестировать бит знака.

    Используйте целочисленные инструкции вместо этого и сдвиньте бит знака:

    Если число с плавающей запятой имеет двойную точность (QWORD), тогда вам нужно протестировать только биты 32-62. Если они равны нулю, тогда нижняя половина будет также равна нулю, если это верное число с плавающей запятой.

    Тест на то, отрицательно ли значение:

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

    Манипулирование битом знака:

    Вы можете изменить знак числа с плавающей запятой просто инвертирововав бит знака:

    Похожим образом вы можете получить асбсолютное значение числа с плавающей запятой, просто сANDив бит знака:

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

    Этот метод работает только, если у двух чисел одна и та же точность, и вы уверены, что ни у одного из числа не установлен бит знака.

    Если возможны отрицательные числа, вы можете их сконвертировать определенным образом и сделать знаковое сравнение:

    Этот метод работает для всех правильных чисел с плавающей запятой, включая -0.

    27.7 Использование инструкции с плавающей запятой, чтобы осуществлять целочисленные операции (PPlain и PMMX)

    Целочисленное умножение (PPlain и PMMX)

    Умножение плавающей запятой быстрее, чем целочисленное умножение на PPlain и PMMX, но цена конверсии целых чисел в числа с плавающей запятой и конвертирование результата обратно в целое число очень высоко, поэтому умножение плавающей запятой имеет смысл только тогда, если количество требуемых преобразование мало сравнимо с количеством умножений. (Довольно соблазнительно использование ненормальных чисел с плавающей запятой, чтобы пропустить часть конвертаций, но обработка таких чисел очень медленна, поэтому это плохая идея!)

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

    Целочисленное умножение быстрее, чем умножение с плавающей запятой на PPro, PII и PIII.

    Целочисленное деление (PPlain и PMMX)

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

    Конвертирование двоичных чисел в десятичные (все процессоры)

    Использование инструкции FBSTP — простой и удобный путь для того, чтобы конвертировать двоичные числа в десятичные, хотя не обязательно самый быстрый метод.

    27.8 Перемещение блоков данных (все процессоры)

    Есть несколько способов перемещения блоков данных. Наиболее общий метод — это REP MOVSD, но при определенных условиях другие методы быстрее.

    На PPlain и PMMX быстрее переместить 8 байтов за раз, если место назначения не находится в кэше:

    Источник и место назначения должны быть выравнены на 8. Дополнительное время, используемое медленными инструкциями FILD и FISTP компенсируется тем, что вам требуется сделать в два раза меньше операций записывания. Обратите внимание, что этот метод имеет преимущество только на PPlain и PMMX и только тогда, когда место назначения не находится в кэше первого уровня. Вы не можете использовать FLD и FSTP (без I) с противоположными последовательностями битов, потому что ненормальные числа обрабатываются медленно и не гарантируется, что они останутся неизмененными.

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

    Данный цикл не нужно оптимизировать или разворачивать, если ожидаются промахи кэша, потому что здесь узкое место — это доступ к памяти, а не выполнение инструкций.

    На процессорах PPro, PII и PIII инструкция REP MOVSD особенно быстра, если соблюдены следующие условия:

    источник и назначение должны быть выравнены на 8

    направление должно быть вперед (очищен флаг направления)

    счетчик (ECX) должен быть больше или равен 64

    разность между EDI и ESI должна быть больше или равна 32

    На PII быстрее использовать регистры MMX, если вышеприведенные условия не соблюдены и место назначения находится в кэше первого уровня. Цикл можно развернуть в два раза, а источник и назначение должны быть выравнены на 8.

    На PIII самый быстрый путь перемещения данных — это использовать инструкцию MOVAPS, если вышеприведенные условия не соблюдены или если место назначения не находится в кэше первого или второго уровня:

    В отличии от FLD, MOVAPS может обрабатывать любую пследовательность битов без всяких проблем. Помните, что источник и назначение должны быть выравнены на 16.

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

    На PIII у вас также есть опция прямой записи в RAM-память без вовлечения кэша, используя инструкцию MOVNTQ или MOVNTPS. Это может быть полезным, если вы не хотите, чтобы место назначение попало в кэш. MOVNTPS чуть-чуть быстрее, чем MOVNTQ.

    27.9 Самомодифицирующийся код (все процессоры)

    Потери при выполнении кода сразу после того, как тот был изменен, занимают примерно 19 тактов на PPlain, 31 на PMMX и 150-300 на PPro, PII и PIII. Процессоры 80486 и более ранние требуют переход между модифицирующим и модифицируемым кодом, чтобы очистить кэш кода.

    Чтобы получить разрешение на модифицирование кода в защищенное операционной системе, вам потребуется вызвать специальные системные функции: в 16-битной Windows это ChangeSelector, в 32-х битной Windows — VirtualProtect и FlushInstructionCache (или поместить код в сегмент данных).

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

    27.10 Определение типа процессора (все процессоры)

    Я думаю, что теперь достаточно очевидно, что оптимальное для одного процессора может не являться таковым для другого. Вы можете сделать несколько вариантов наиболее критичных участков кода вашей программы, чтобы они выполнялись максимально быстро на любом процессоре. Однако вам потребуется определить, на каком процессоре программа выполняется в настоящий момент. Если вы используете инструкции, которые не поддерживаются всеми процессорами, т.е. условные перемещения, FCOMI, инструкции MMX и XMM), то вы можете сначала проверить, поддерживает ли процессор данные инструкции. Процедура, приведенная ниже, проверяет тип процессора и поддерживаемые им технологии.

    Обратите внимание, что некоторые операционные системы не позволяют использовать инструкции XMM. Информация о том, как узнать, поддерживает ли операционная система инструкции XMM, можно найти в интеловской инструкции AP-900: «Identifying support for Streaming SIMD Extensions in the Processor and Operating System». Больше информации о идентификации процессора можно найти в инструкции AP-485: «Intel Processor Identification and the CPUID Instruction».

    Илон Маск рекомендует:  Что такое код imap_close
  • Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL