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


Содержание

Оптимизация процессора Intel

13.08.2015, 13:40

Температура процессора Intel i3 4170
Здравствуйте, не подскажите температура 45C для процессора нормальная. Просто при запуске данная.

Разгон процессора intel celeon
Здравствуйте! Я хотел бы разогнать свой проц! Есть ли возможность это сделать не открывая корпус.

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

Топовые Intel процессора подешевели?
Ух. Смотрите парни, что сейчас творится на computeruniverse :) i7-8700k — 25.5 рубля. i9-9900k.

Температуры Процессора Intel P4 3.00 ггц
У меня Intel P4 3.00 ггц,presscot,s 478.Без нагрузки температура 47-50 градусов,а под нагрузкой(в.

Параллельная обработка данных в процессоре Pentium MMX

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

  1. Web-страница должна идентично отображаться в Microsoft Internet Explorer и Netscape Navigator, причем весьма желательно — в последней и предпоследней версиях данных программ.
  2. Абстрактные типы данных и скрытие информации
  3. Автоматизация ввода данных
  4. Автоматизированная обработка выписок банка
  5. Аномалии при выполнении операций в базе данных.
  6. Аренда имущества и ее виды. Учет арендованных и сданных в аренду основных средств.
  7. База данных Безопасной Ассоциации (SAD)
  8. База данных учетных записей пользователей
  9. Базовые понятия реляционных баз данных
  10. Базы данных и системы управления базами данных
  11. Банки данных
  12. Беспроводные ЛВС с радиопередачей данных

Процессор Pentium MMX (MultiMedia extension) является раз­витием процессора Pentium. Он выполнен по более совершенной технологии с проектной нормой 0,35 мкм. Это позволило повы­сить уровень интеграции кристалла (4,5 млн транзисторов) и уве­личить тактовую частоту работы до 233 МГц. Разработчики архи­тектуры процессора Pentium MMX использовали увеличение ап­паратного ресурса процессора для включения в его структуру до­полнительных устройств, обеспечивающих повышение произво­дительности, при этом особое внимание было обращено на ре­ализацию высокопроизводительной обработки видео и аудиоин­формации.

С ростом вычислительной мощности процессоров типа Pentium появилась возможность обрабатывать потоки данных мультимедиа без дополнительных аппаратных рас­ширений и процессоров. При решении задач, связанных с обра­боткой видео и аудиоинформации (двумерная фильтрация, быст­рое преобразование Фурье, умножение матриц, свертки и т.п.), обрабатываемые данные в большинстве случаев являются одно­родными, и над ними совершаются одинаковые операции. Для повышения производительности процессора при обработке по­добной информации разработчики процессора Pentium ММХ пред­ложили использовать параллельную обработку многих данных од­ной командой — SIMD-обработку (Single Instruction — Multiple Data), сохранив при этом полную совместимость с ранее создан­ным ПО и ОС. При SIMD-обработке используется векторная об­работка данных, необходимая во многих мультимедийных и ком­муникационных алгоритмах.

Развитие принципов суперскалярной(более 1 конвеера) и суперконвейерной(больше 5 ступеней) организации в процессорах Pentium 6-го поколения

Процессор Pentium Pro является представителем следующего после Pentium 6-го поколения МП компании Intel. К этому поко­лению также относятся все модификации процессоров Celeron, Pentium II, Pentium III. Обобщенное название процессоров 6-го поколения — Р6. Они имеют архитектуру, которая одновременно является суперскалярной и суперконвейерной.

По сравнению с МП Pentium в МП Р6 реализованы следующие нововведения:

— Суперконвейерная архитектура дополнена средствами изменения последовательности исполнения команд (out-of-orderexecution). Исполнение программ с изменением последователь­ности команд — это совокупность методов, позволяющих пере­давать команды в сполнительные блоки в порядке, отличном от предписанного программой.

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

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

МП Р6 назвали все перечисленные технические решения одним простым выражением, используемым для марке­тинга, — «динамическое выполнение» (Dynamic Execution Architecture), которое отражает способность МП Р6 оптимизиро­вать исполнение программы, предсказывая его дальнейший ход, выполняя некоторые команды до разрешения условия перехода и выбирая лучший порядок исполнения команд программы.

Первым МП 6-го поколения является МП Pentium Pro. Он изготовлен по технологии с проектной нормой 0,35 мкм (5,5 млн транзисторов) и содержит размещенные на кристалле процессо­ра блоки кэш-памяти 1-го и 2-го уровней.

Процессор Pentium II. МП Pentium II объединяет архитектур­ные решения МП Pentium Pro и МП Pentium MMX. Первые МП Pentium II (1997) изготовлялись по CMOS-технологии с проектной нормой 0,35 мкм. Они имели напряжение питания 2,8 В, содержали 7,5 млн транзисторов и работали на частоте до 300 МГц.

Упрощенным и значительно более дешевым вариантом МП Pentium II является модель процессора, названная Celeron. Пер­вые МП Celeron выпускались без микросхем вторичного кэша, более поздние модели содержат вторичный кэш размером 128 Кбайт. Одной из главных особенностей процессоров Celeron является то, что они предназначены только для построения однопроцессор­ных систем.

Процессор Pentium III. МП Pentium III — последний предста­витель 6-го поколения процессоров х86. Его главным от­личием от МП Pentium II является SSE-расширение (Streaming SIMD Extensions) набора векторных SIMD-команд для обработ­ки упакованных данных в формате чисел с плавающей точкой (одинарная точность). Использование команд SSE-расширения обеспечило увеличение производительности процессора Pentium III при выполнении прикладных программ обработки изображе­ний и 3-мерной графики.

Процессор Pentium III содержит 28 млн транзисторов(0,25 мкм) и устой­чиво работает на частотах до 1,2 ГГц.

Процессор Pentium IV.МП Pentium IV (2000) является предста­вителем следующего (7-го) поколения процессоров х86. С программной точки зрения МП Pentium IV принципиаль­ных архитектурных расширений не содержит. Его можно рассматривать как МП Pentium III с расширенным набором векторных команд, оперирующих с регистрами ХММ и ММХ. Новые коман­ды МП Pentium IV, работающие с числами разных форматов, включая учетверенные слова (64 бит) и числа двойной точности с плавающей точкой, получили название SSE2-расширение.

МП Pentium IV изготовлен по CMOS-технологии с проектной нормой 0,18 мкм, содержит около 42 млн транзисторов и рассчи­тан на работу с тактовыми частотами свыше 1,4 ГГц. Процессор требует мощного охлаждения — при напряжении питания 1,6 В он потребляет ток до 40 А, что соответствует рассеиваемой мощно­сти 65 — 70 Вт. Как и во всех МП Pentium, разрядность шины дан­ных процессора Pentium IV составляет 64 разряда. Шина адреса имеет ширину 36 бит, обеспечивая адресацию 64 Гбайт памяти, из которых кэшируются только первые 4 Гбайт. В МП Pentium IV обработка команд выполняется на 20-ступен-чатом конвейере (по определению Intel — гиперконвейере).

Pentium D, двухъядерный (Dual-core) микропроцессор, частота системной шины: 800 (4×200) МГц. Ядро Smithfield — 90 нм технологический процесс (2,8—3,4 ГГц), Представлен: 26 мая 2005 года, 2,8—3,4 ГГц (номера моделей 820—840), Количество транзисторов: 230 миллионов, Кэш L2: 1 МБ x 2 (non-shared, 2 МБ всего). Производительность увеличилась примерно на 60 % по сравнению с одноядерным микропроцессором Prescott. Ядро Presler — 65 нм технологический процесс (2.8—3.6 ГГц), представлен: 16 января 2006 года, 2,8—3,6 ГГц (номера моделей 920—960), количество транзисторов: 376 миллионов, кэш L2: 2 МБ x 2 (non-shared, 4 МБ всего). Последний процессор микроархитектуры NetBurst.

Микроархитектура Intel Core является многоядерной микропроцессорной архитектурой, представленной фирмой Intel в 1-м квартале 2006 года. Микроархитектура Intel Core основана на обновлённой версии ядра Yonah и может рассматриваться в качестве последней итерации(основна) микроархитектуры Intel P6, которая ведёт свою историю с Pentium Pro, представленного в 1995 году. Чрезмерно высокое энергопотребление и завышенные требования к охлаждению процессоров, основанных на микроархитектуре NetBurst, и, в результате, неспособность эффективно увеличивать тактовую частоту, а также другие узкие места, такие, как неэффективность конвейера, являются главными причинами, почему Intel отказалась от микроархитектуры NetBurst. Микроархитектура Intel Core была разработана командой Intel Israel (IDC), которая ранее разработала мобильный процессор Pentium M. Микроархитектура Intel Core обеспечивает высокую производительность, энергосбережение и быстродействие в многозадачных средах. Она имеет несколько ядер и аппаратную поддержку виртуализации (Intel VT), а также Intel 64 и SSSE3.

Intel Core 2, ядро Conroe — 65 нм технологический процесс, микропроцессор для настольных систем, Представлен: 27 июля 2006 года. Поддержка инструкций SIMD: SSE3, количество транзисторов: 291 миллион у моделей с 4 МБ кэш-памяти. Реализованы технологии: Intel Virtualization Technology — аппаратная виртуализация, LaGrande Technology — аппаратная технология защиты информации, Execute Disable Bit, EIST (Enhanced Intel Speed Step Technology), iAMT2 (Intel Active Management Technology) — удаленное управление компьютерами. Сокет: LGA775.

Intel Core i7 Extreme Edition. Ядро Bloomfield — 45 нм технологический процесс. Микропроцессор для настольных систем со встроенным трехканальным контроллером DDR3 памяти, представлен: 16 ноября 2008 года.Поддержка инструкций SIMD: SSE3, SSSE3, SSE4.1, SSE4.2, количество транзисторов: 731 млн. Реализованы технологии: Hyper-Threading, QPI, Turbo Boost, Intel Virtualization Technology — поддержка нескольких операционных систем на одном компьютере, LaGrande Technology — аппаратная технология защиты информации, Execute Disable Bit, EIST (Enhanced Intel Speed Step Technology), iAMT2 (Intel Active Management Technology) — удаленное управление компьютерами. Сокет: LGA1366. Ядро Gulftown — 32 нм технологический процесс, микропроцессор для настольных систем, 6 процессорных ядер, 6×256 Кбайт L2-кэш,12 Мбайт L3. Поддержка инструкций SIMD: SSE3, SSSE3, SSE4.1, SSE4.2. Реализованы технологии: Hyper-Threading, Turbo Boost, QPI, Intel Virtualization Technology, Execute Disable Bit, EIST (Enhanced Intel Speed Step Technology), сокет: LGA1366.

2. Особенности процессоров, архитектурно близких к процессорам семейства Pentium

Процессоры, архитектурно близкие к МП семейства Pentium, производят ряд фирм, в том числе AMD (Advanced Micro Devises), IBM, Cyrix. В основном процессоры этих фирм обладают близкими, а в ряде случаев и лучшими характеристиками по срав­нению с процессорами Intel, но имеют меньшую стоимость. Улуч­шение характеристик достигается за счет технологии и некоторых оригинальных архитектурных решений.

3. Процессоры архитектуры IA-64

Суперскалярная архитектура IA-64 (Intel Architecture 64) явля­ется результатом совместной разработки компаний Intel и Hewlett Packard [29, 35]. Эта архитектура радикально отличается от всего, что до нее использовалось на рынке ПК. Архитектура IA-64 не является ни 64-разрядным расширением 32-разрядной архитекту­ры х86 компании Intel, ни переработкой 64-разрядной архитекту­ры процессора РА-RISC компании Hewlett Packard. В IA-64 реали­зуется ряд новых подходов, обеспечивающих больший паралле­лизм при исполнении кода программы и существенное повыше­ние производительности. К ним относятся «предикация» (способ обработки ветвлений) и «загрузка данных по предположению».

Одной из наиболее существенных особенностей архитектуры IA-64 является использование очень длинных командных слов (VLIW-команд) и большого числа регистров. В суперскалярных VLIW-процессорах реализуется принцип планирования исполне­ния команд во время компиляции. Ответственность за параллель­ное выполнение операций при этом возлагается на внешние сред­ства, не участвующие непосредственно в управлении исполнением машинных команд. С помощью оптимизирующего компилятора ис­ходный текст программы преобразуется в пакеты несвязанных опе­раций.

I IA-64 — полностью 64-разрядная архитектура. В ней определе­ны 64-разрядное адресное пространство и 64-разрядные форматы целых чисел и чисел с плавающей запятой. Первым процессором с архитектурой IA-64 стал МП Itanium фирмы Intel. Как и любой суперскалярный процессор, МП Itanium содержит большое число исполнительных блоков, способных одновременно выполнять не­сколько независимых команд различных типов: целочисленных, мультимедийных, с плавающей запятой. Конвейер МП Itanium (10-ступенчатый) в каждый такт работы процессора выдает на исполнение до восьми машинных команд.

4. Семейство процессоров SPARC

Название SPARC (Scaleable Processor ARChitecture — нара­щиваемая архитектура процессора) определено не для конкрет­ного процессора, а для системы команд, которой соответствует семейство процессоров. Основным производителем процессоров SPARC является компания SUN, которая и предложила эту ар­хитектуру.

Название SPARC (Scaleable Processor ARChitecture — нара­щиваемая архитектура процессора) определено не для конкрет­ного процессора, а для системы команд, которой соответствует семейство процессоров. Основным производителем процессоров SPARC является компания SUN, которая и предложила эту ар­хитектуру.

Первые реализации SPARC-архитектуры были выполнены ком­панией SUN в середине 80-х гг. XX в. на базе процессора RISC-II, разработанного в университете города Беркли. Это был 32-разряд­ный суперскалярный процессор с адресуемым пространством па­мяти 4 Гбайт, расширенным набором регистров и фиксирован­ным форматом 3-адресных команд.

SPARC — открытая архитектура, поэтому любые производите­ли могут строить свои процессоры в соответствии с этой архитек­турой [29, 35]. В настоящее время известны несколько версий спе­цификации архитектуры SPARC: 32-битные MicroSPARC, SuperSPARC, HyperSPARC и 64-битные UltraSPARC. Последняя 64-битная версия с адресами и регистрами по 64 бит получила название SPARC-V9. Архитектура UltraSPARC реализована в се­мействе процессоров с одноименным названием: процессоры UltraSPARC I, UltraSPARC II и UltraSPARC III. На базе этих про­цессоров компания SUN разрабатывает 64-битные рабочие стан­ции, предназначенные для решения широкого круга задач, в том числе для работы с мультимедийными приложениями (графиче­скими изображениями, ауди- и видеообъектами). В настоящее время стандарт UltraSPARC является стандартом для высокопроизводительных рабочих станций.

5. Микропроцессоры семейства MIPS

Процессоры архитектуры MIPS предложены компанией MIPS Technology в 1986 г. Первые процессоры MIPS R2000, R3000 рабо­тали на частоте до 40 МГц. Они были 32-разрядными с 32-разряд­ной шиной адреса. В состав этих процессоров входили блоки вы­полнения команд целочисленной арифметики и команд опера­ций с плавающей запятой. Они содержали 32 РОН для целочи­сленных вычислений, 16 регистров блока выполнения операций с плавающей запятой и специальную пару регистров для хране­ния результатов выполнения операций целочисленного умноже­ния и деления. Формат команд был фиксирован и составлял 32 разряда. Для обращения к операндам в памяти использовались только команды Load/Store и один способ адресации. Процессоры R2000, R3000 имели стандартный 5-ступенчатый конвейер. Они достаточно долго служили основой для построения рабочих стан­ций и серверов компаний Silicon Graphics, Digital и др. Позднее после упразднения фирмы MIPS основным производителем про­цессоров семейства MIPS стала компания Silicon Graphics.

Наиболее «продвинутым» процессором семейства MIPS явля­ется суперскалярный 64-битовый процессор R10000 [13]. По срав­нению с процессором R8000 он более универсален и может ис­пользоваться как в качестве процессора ПК, так и в рабочих стан­циях, а также в многопроцессорных серверах баз данных. Процес­сор R10000 содержит около 7 млн транзисторов (из них 4,5 млн транзисторов расходуется на внутренний кэш 1-го уровня L1) и работает на частоте до 200 МГц.

Процессор R10000 содержит следующие основные блоки:

— два блока внутренней кэш-памяти 1-го уровня: раздельные кэш команд и кэш данных емкостью 32 Кбайт каждый;

— блок управления вторичным кэшем;

— блок предварительной выборки команд, обеспечивающийупреждающую выборку команд, их частичную дешифрацию и переименование регистров;

— блок предсказания ветвлений;

— три очереди команд;

— блок вычисления адресов, обеспечивающий вычисление ис­полнительных адресов операндов в памяти;

— блок выполнения команд целочисленной арифметики, в со­ став которого входят АЛУ1, АЛУ2 и блок целочисленных регист­ров, соединенный через коммутатор с внутренней кэш-памятью данных;

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

6. Микропроцессоры семейства PowerPC

Архитектура МП PowerPC разработана в середине 90-х гг. XX в. совместными усилиями трех фирм: IBM, Motorola, Apple для ПК. Основой архитектуры этого семейства является RISC-про­цессор POWER фирмы IBM. POWER является аббревиатурой на­звания Performance Optimization With Enhanced — оптимизация работы с использованием усовершенствованного RISC. По срав­нению с традиционным RISC-процессором МП POWER имеет ряд дополнительных свойств:

— МП POWER — суперскалярный процессор, содержащий в своем составе три независимых исполнительных блока: целочи­сленных вычислений, операций с плавающей запятой и обработ­ки переходов. Для каждого исполнительного блока определен соб­ственный набор регистров и обеспечена независимость работы этих блоков. Благодаря такой организации исполнительных блоков ко­манды могут заканчиваться не в порядке поступления.

— Система простых RISC-команд МП POWER расширена не­большим числом «сложных» команд, которые реализуют относи­тельно сложные операции, например групповую загрузку и чте­ние памяти. Использование «смешанных» команд позволяет ми­нимизировать размер программного кода, устраняя основной не­достаток RISC-архитектур — большой размер программного кода.

— В МП POWER усовершенствован механизм обработки ко­манд условного перехода. Традиционно в RISC-процессорах при выполнении любой команды арифметических и логических опе­раций в регистре флагов фиксируются признаки результата. Един­ственный регистр флагов результата существенно ограничивает возможности процессора выполнять несколько команд одновре­менно, особенно в случае неупорядоченной обработки. В МП POWER для устранения указанного ограничения используется несколько (восемь) регистров условий и условные переходы об­рабатываются с помощью специального блока обработки ветвле­ний. Работа этого блока основана на том, что ветви большинства условных переходов являются короткими и при выполнении ко­манд ветви происходит возврат к основной программной после­довательности. Блок обработки ветвлений выделяет в потоке вход­ных команд условные переходы и заранее выбирает ветвь продол­жения программы. Если переход не предсказывается, выполнение программы происходит так, будто команды перехода не было. При предсказании перехода блок ветвления запрашивает из кэша последовательность команд, расположенных по адресу ветвления. В МП POWER реализовано статическое предсказание переходов. Формат команд МП POWER расширен специальным битом усло­вий. Модифицируя этот бит, компилятор может изменить прави­ла предсказания переходов.

В однокристальных МП семейства PowerPC сохранены свой­ства архитектуры МП POWER и усовершенствован процесс па­раллельного выполнения команд. Семейство представлено несколь­кими процессорами: МП PowerPC 601, МП PowerPC 603, МП PowerPC 604, МП PowerPC 620, МП PowerPC 750, МП PowerPC G4, МП PowerPC G5 и некоторыми другими. Младшие модели суперскалярных процессоров семейства (МП PowerPC 601, МП PowerPC 603, МП PowerPC 604) являются 32-разрядными, а стар­шие модели (МП PowerPC 620) — 64-разрядными. МП PowerPC содержат в своем составе несколько исполнительных блоков: блок целочисленных вычислений, блок операций с плавающей точкой и блок обработки переходов. Все блоки конвейеризированы. МП PowerPC допускают внеочередное исполнение команд и обеспе­чивают одновременную выдачу на исполнение до четырех команд. В каждом такте работы МП PowerPC 601 и МП PowerPC 603 могут завершать исполнение до трех команд, а процессор PowerPC 604 — до шести команд.

Суперскалярный процессор PowerPC 620 стал первой 64-раз­рядной реализацией архитектуры PowerPC. Он предназначен для построения высокопроизводительных ВМ, серверов и мульти­процессорных систем. МП PowerPC 620 совместим по коду с ран­ними моделями процессоров PowerPC. Благодаря этому он может выполнять не только новые, специально разработанные для него 64-битовые программы, но и ранее созданные 32-битовые про­граммы МП PowerPC.

Архитектура МП PowerPC развивается и дополняется новыми моделями. Кроме компании IBM, процессоры этой архитектуры производит компания Motorola, использующая в обозначении своих процессоров префикс МРС. Отличительной особенностью новых моделей процессоров PowerPC является использование в них технологии обработки мультимедийных данных AltiVec, пред­ложенной компанией Motorola. В обеспечение этой технологии в труктуру процессора вводят специальные аппаратные средства — блок векторной обработки. В его состав входят 32 регистра (128- разрядных) для хранения мультимедийных (векторных) данных и специализированные арифметико-логические блоки для обра­ботки этих данных. Технология AltiVec близка к обработке муль­тимедийных данных командами ММХ и SSE в процессорах Penti­um II, Pentium III, Pentium IV. Она обеспечивает параллельную обработку упакованных данных (векторов) длиной 4, 8 или 16 эле­ментов. Команды AltiVec ускоряют работу мультимедийных прило­жений и приложений цифровой обработки сигналов. Общее число команд блока векторной обработки составляет 162 команды.

7. Семейство процессоров Alpha

Высокопроизводительные суперскалярные МП Alpha компа­нии DEC (Digital Equipment) представлены семейством Alpha21x64 (х = 0, 1, 2, 3). Высокая производительность этих процес­соров (по данному показателю они являются лидерами среди од­нокристальных МП) в основном обеспечивается за счет высокой тактовой частоты работы и использования длинных конвейеров выполнения операций. Упрощенная логика работы отдельных сту­пеней конвейеров позволяет минимизировать время исполнения операций в каждой ступени и благодаря этому повысить частоту работы конвейеров.

Первый член семейства 64-разрядный RISC-процессор Alpha 21064, разработанный в 1993 г. практически одновременно с МП Pentium, работает на частоте 200 МГц (частота работы МП Pentium была 66 МГц). В его составе имеются четыре конвейеризирован­ных операционных блоков: целочисленных вычислений, опера­ций с плавающей запятой, обработки переходов и загрузки (за­поминания) с числом ступеней 7, 10, 6 и 7 соответственно. Реги­стровый файл процессора содержит по 32 регистра (64-битовых) блоков целочисленных вычислений и операций с плавающей за­пятой. Внутренние раздельные кэши команд и данных, размещен­ные на кристалле процессора, имеют емкость 8 Кбайт каждый. Первые четыре ступени конвейеров являются общими для всех конвейеров. За такт процессор может выполнять до двух команд: команду целочисленной арифметики и команду операций с пла­вающей запятой или команду перехода. В процессоре Alpha 21064 не используются сложная логика переупорядочения команд и пе­реименование регистров. Обеспечение эффективной загрузки ис­полнительных блоков возлагается на компилятор.

Последним членом семейства процессоров Alpha 21×64 являет­ся процессор Alpha 21364 компании Compaq (в конце 90-х гг. XX в. Compaq приобрела компанию DEC). Процессор производится по тех­нологии с проектной нормой 0,18 мкм, содержит около 100 млн транзисторов (из них 92 млн расходуются на кэш). МП Alpha 21364 является развитием процессора Alpha 21264. В нем наряду с ядром МП Alpha 21264 использован ряд архитектурных решений, обес­печивших существенное повышение производительности. Но­выми блоками процессора Alpha 21364 являются 6-канальный час­тично ассоциативный кэш 2-го уровня объемом 1,5 Мбайт, конт­роллер управления внешней динамической памятью и встроенный сетевой интерфейс. Значительный объем кэша 2-го уровня и встро­енные средства управления внешней памятью удешевляют постро­ение систем на основе данного процессора, а благодаря наличию встроенного сетевого интерфейса существенно упрощается объ­единение процессоров в высокопроизводительные ВС.

8. Тенденции развития архитектур процессоров

Самым существенным фактором, влияющим на архитектурные решения современных МП, является постоянное совершенствова­ние технологии производства ИС и, как следствие, — рост уровня интеграции, уменьшение задержек в вентилях и связях, снижение энергопотребления при переключениях вентиля. В целом с ростом уровня интеграции увеличиваются ресурсы на кристалле и повы­шается тактовая частота работы микросхем. Большое число венти­лей на кристалле делает возможным применить в одном МП все известные приемы повышения производительности процессора. Важнейшими являются два: уменьшение относительного числа об­менов данными с внешними по отношению к кристаллу устрой­ствами и использование параллельной обработки на всех уровнях организации вычислительного процесса. Разработчики процессо­ров используют увеличивающие ресурсы кристалла для повыше­ния производительности именно по эти двум направлениям. Пер­вое направление связано с увеличением объема внутренней кэш­памяти и совершенствованием способов ее организации. Второе направление характеризуется реализацией в процессорах принци­пов конвейеризации и параллельной обработки в нескольких кон­вейерах на разных стадиях выборки и исполнения команд.

На сегодняшний день можно выде­лить три основных тенденции развития архитектур современных процессоров:

— применение суперскалярной обработки с динамическим па­
раллелизмом в процессорах с чисто аппаратным механизмом вы­
борки несвязанных команд программы из памяти и параллельном
запуске их на исполнение (процессоры Pentium, PowerPC, Alpha,
SPARC и др.);

— развитие суперскалярной обработки со статическим паралле­
лизмом, при котором выявление скрытого параллелизма и опре­
деление возможности параллельного исполнения команд возлага­
ется на оптимизирующий компилятор (VLIW-процессоры Е2К,
Itanium, Crusoe);

— использование аппаратных средств, обеспечивающих вектор­
ную обработку данных.

Современный процессор — это 64-разрядный суперконвейвейерный, суперскалярный процессор с RISC-операционным ядром и большим числом исполнительных блоков, реализующий дина­мическое исполнение команд. Для эффективной обработки дан­ных мультимедиа и графики система команд современных про­цессоров расширяется за счет специализированных команд муль­тимедийной обработки: команд расширений ММХ, SSE, SSE2 в процессорах компании Intel; AltiVec — IBM, Motorola; VIS — SPARC; 3DNow! — AMD.

Для объединения процессоров в высокопроизводительные ВС большинство современных процессоров содержат средства поддер­жки симметричной мультипроцессорной обработки SMP.

| следующая лекция ==>
ГИДРОИЗОЛЯЦИЯ ФУНДАМЕНТОВ И ПОДЗЕМНЫХ ЧАСТЕЙ ЗДАНИЯ | Пересечение прямой линии с поверхностью

Дата добавления: 2014-01-03 ; Просмотров: 421 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Как увеличить производительность процессора за счет настроек электропитания (парковка ядер, как включить все ядра ЦП ✔)

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

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

К тому же функция парковки ядер позволяет процессору (при определенной нагрузке) переносить все задачи на одно ядро, а остальные переводить в режим ожидания (т.е. работать будет фактически только одно ядро). Естественно, это снижает общую производительность (правда, делает систему более отзывчивой, но незначительно). Отмечу, что Windows к тому же не совсем корректно работает с парковой ядер на процессорах Intel (по крайней мере Windows 7).

Так вот, задав определенные настройки электропитания, можно ограничить работу функции парковки ядер и повысить общую производительность (в некоторых случаях до 20%!). На мой взгляд есть смысл попробовать потратить 3-5 мин. на «эксперимент»!

Примечание : в первую очередь эта тема касается многоядерных процессоров от Intel (на AMD, честно говоря, адекватной статистики не имею. Но попробовать можно. ).

Как настроить тонко электропитание процессора

Чтобы не быть голословным о повышении производительности, приведу один небольшой тест быстродействия в WinRAR (офиц. сайт архиватора). На скриншоте ниже: в левой части приведена общая скорость до оптимизации настроек; справа — после. Даже невооруженным глазом видно, что в тестах ЦП начинает работать быстрее (что положительно сказывается и в реальных задачах, тех же играх, например) .

Разница в производительности

Примечание : рекомендую вам запустить тест в WinRAR сначала до оптимизации настроек (и запомнить общую скорость), и затем провести тест после оптимизации. Далее просто сравнить эти числа, в ряде случаев удается выжать из ЦП еще 10-20%!

Важный момент!

Как уже сказал выше, в первую очередь этот вопрос касается многоядерных процессоров (4 ядра и выше). Чтобы узнать количество ядер своего ЦП — просто запустите утилиту CPU-Z, и посмотрите в нижнюю часть окна: в графе Cores увидите кол-во ядер (пример ниже).

CPU-Z — 4 Cores (4 ядра, 8 потоков)

1) И так, начать нужно с настройки реестра.

Тут дело в том, что Windows по умолчанию скрывает часть настроек электропитания. Чтобы их открыть для редактирования, необходимо внести определенные изменения в реестр. Проще всего это сделать с помощью уже готового файла настроек, который нужно просто запустить и согласиться с добавлением параметров в системный реестр. Вот подготовленный файл: core_parking (нужно извлечь его из архива и запустить. Архив запакован с помощью WinRAR, актуален для Windows 7-10) .

Редактор реестра — настройки успешно внесены в реестр

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

2) Настройка схемы электропитания

Теперь необходимо открыть панель управления Windows раздел «Оборудование и звук/Электропитание» . После перейти в настройки текущей схемы электропитания (т.е. ту, которая сейчас у вас используется). В моем случае это сбалансированная (см. скриншот ниже).

Настройка текущей схемы электропитания

Далее нужно открыть дополнительные настройки питания.

Изменить дополнительные параметры питания

Теперь самое главное (см. скриншот ниже):

  1. минимальное число ядер в состоянии простоя: рекомендуется выставить значение в 99% (почему-то если выставить 100% — Windows часто отправляет одно ядро «отдыхать»);
  2. разрешить состояние снижения питания: переведите в режим выкл. (не дает процессору экономить энергию);
  3. отключение простоя процессора: переведите режим в откл.;
  4. минимальное состояние процессора: 100% (незначительно ускоряет работу ЦП (кстати, в некоторых случаях позволяет уменьшить писк от дросселей )) .
  5. политика охлаждения системы: активная (более эффективно охлаждает ЦП);
  6. максимальное состояние процессора: 100% (очень сильно влияет на производительность! Обязательно выставите на 100%);
  7. максимальное число ядер в состоянии простоя: 100% (противоречивая опция. Если выставить что-то отличное от 100% — то грузятся почему-то не все ядра, несмотря на то что активны все. ).
Илон Маск рекомендует:  sort - Отсортировать массив

Дополнительные параметры электропитания

Сохраните настройки и перезагрузите компьютер!

3) Еще раз о режиме питания (касается в первую очередь ноутбуков)

После перезагрузки компьютера (ноутбука) — обратите внимание на режим питания (кликните по батарейке в трее). Выставите производительность на 100%!

Кроме этого, обратите внимание на центры управления ноутбуком, которые могут идти в комплекте к вашим драйверам (например, такие есть у устройств от Lenovo, Sony и пр.). В них также устройство нужно перевести в режим высокой производительности.

Питание ноутбука // менеджер ноутбука

4) Тестирование быстродействия

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

Тестирование — WinRAR / Кликабельно

Дополнение!

Чтобы посмотреть, как идет нагрузка на ядра ЦП — откройте «Диспетчер задач» (Ctrl+Shift+Esc) и перейдите во вкладку «Производительность» . Далее щелкните правой кнопкой мышки по графику загрузки ЦП и в меню выберите «Изменить график/Логические процессы» . См. скрин ниже.

Диспетчер задач — производительность

В результате у вас будет не один график, а несколько, в зависимости от количества ядер (потоков).

Все ядра загружены

Обратите внимание, при нагрузке (например, тестировании) — в идеале все ядра должны быть загружены (как на скриншоте ниже).

Для более показательного теста работы ЦП рекомендую воспользоваться утилитой AIDA64 (ссылку на инструкцию привожу ниже).

Как выполнить стресс-тест процессора и системы в целом, держит ли он частоты, нет ли перегрева (AIDA 64) — https://ocomp.info/kak-vyipolnit-stress-test-videokartyi-noutbuka-v-aida-64.html

PS

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

Аппаратная поддержка виртуальной памяти на примере микропроцессоров семейства Intel Pentium. Механизмы преобразования адресов

Средства поддержки сегментации памяти

Средства поддержки механизмов виртуальной памяти в процессоре Pentium позволяют отображать виртуальное адресное пространство на физическую память размером максимум в 4 Гбайт (этот максимум определяется использованием 32-разрядных адресов при работе с оперативной памятью).

Процессор может поддерживать как сегментную модель распределения памяти, так и сегментно-страничную. Средства сегментации образуют верхний уровень средств управления виртуальной памятью процессора Pentium, а средства страничной организации — нижний уровень. Это означает, что сегментные средства работают всегда, а средства страничной организации могут быть как включены, так и выключены путем установки однобитного признака РЕ (Paging Enable) в регистре CRO процессора. В зависимости от того, включены ли средства страничной организации, изменяется смысл процедуры преобразования адресов, которая выполняется средствами сегментации. Сначала рассмотрим случай работы средств сегментации при отключенном механизме управления страницами.

Виртуальное адресное пространство

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

Каждый сегмент виртуальной памяти процесса имеет описание, называемое дескриптором сегмента. Дескриптор сегмента имеет размер 8 байт и содержит все характеристики сегмента, необходимые для проверки правильности доступа к нему и нахождения его в физическом адресном пространстве (рис. 7.4.1).

Рис. 7.4.1. Формат дескриптора сегмента данных или кода

Структура дескриптора, которая поддерживается в процессоре Pentium, сложилась исторически. Многое в ней связано с обеспечением совместимости с предыдущими процессорами семейства х86. Именно этим объясняется то, что базовый адрес сегмента представлен в дескрипторе в виде трех частей, а размер сегмента занимает два поля.

Ниже перечислены основные поля дескриптора.

§ База — базовый адрес сегмента (32 бита).

§ Размер — размер сегмента (24 бита).

§ G (Granularity) — единица измерения размера сегмента, один бит. Если G=0, то размер задан в байтах и тогда сегмент не может быть больше 64 Кбайт, если 0=1, то размер сегмента измеряется в страницах по 4 Кбайт.

§ Байт доступа (5-й байт дескриптора) содержит информацию, которая используется для принятия решения о возможности или невозможности обращения к данному сегменту. Бит Р (Present) определяет, находится ли соответствующий сегмент в данный момент в памяти (Р = 1) или он выгружен на диск (Р=0). Поле DPL (Descriptor Privilege Level) содержит данные об уровне привилегий, необходимом для доступа к сегменту. Остальные пять битов байта доступа зависят от типа сегмента и определяют способ, которым можно использовать данный сегмент (то есть читать, писать, выполнять). Различаются три основных типа сегментов:

§ системный сегмент (GDT, TSS и т. п

Дескрипторы сегментов объединяются в таблицы. Процессор Pentium для управления памятью поддерживает два типа таблиц дескрипторов сегментов:

§ глобальная таблица дескрипторов (Global Descriptor Table, GDT), которая предназначена для описания сегментов операционной системы и общих сегментов для всех прикладных процессов, например сегментов межпроцессного взаимодействия;

§ локальная таблица дескрипторов (Local Descriptor Table, LDT), которая содержит дескрипторы сегментов отдельного пользовательского процесса.

Таблица GDT одна, а таблиц LDT столько, сколько в системе выполняется задач (процессов). При этом в каждый момент времени операционной системой и аппаратными средствами процессора используется только одна из таблиц LDT, а именно та, которая соответствует выполняемому в данный момент пользовательскому процессу. Таблица GDT описывает общую часть виртуального адресного пространства процессов, a LDT — индивидуальную часть для каждого процесса. Таблицы GDT и LDT размещены в оперативной памяти в виде отдельных сегментов. Сегменты LDT и GDT содержат системные данные, поэтому их дескрипторы хранятся в таблице GDT. Таким образом, таблица GDT наряду с записями о других сегментах содержит запись о самой себе, а также обо всех таблицах LDT.

В каждый момент времени в специальных регистрах GDTR и LDTR хранится информация о местоположении и размерах глобальной таблицы GDT и активной таблицы LDT соответственно. Регистр GDTR содержит 32-разрядный физический адрес начала сегмента GDT в памяти, а также 16-битный размер этого сегмента (рис. 7.4.2). Регистр LDTR указывает на расположение сегмента LDT в оперативной памяти косвенно — он содержит индекс дескриптора в таблице GDT, в котором содержится адрес таблицы LDT и ее размер.

Рис. 7.4.2. Формат регистра GDTR

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

Селектор извлекается из одного из шести 16-разрядных сегментных регистров процессора (CS, SS, DS, ES, FS или GS) в зависимости от типа команды и стадии ее выполнения — выборки кода команды или данных. Например, при обращении к памяти во время выборки следующей команды используется селектор из сегментного регистра кода CS, а при записи результатов в сегмент данных процесса селекторы извлекаются из сегментных регистров данных DS или ES, если же данные записываются в стек по команде PUSH, то механизм виртуальной памяти извлекает селектор из сегментного регистра стека SS, и т. п.

Рис. 7.4.3.Формат селектора

Селектор состоит из трех полей (рис. 7.4.3):

§ индекса, который задает последовательный номер дескриптора в таблице GDT или LDT (13 бит);

§ указателя типа используемой таблицы дескрипторов: GDT или LDT (1 бит);

§ требуемого уровня привилегий — RPL (2 бита), это поле используется механизмом защиты данных, который будет рассмотрен ниже.

Виртуальное адресное пространство процесса складывается из всех сегментов, описанных в общей для всех процессов таблице GDT, и сегментов, описанных в его собственной таблице LDT. Разрядность поля индекса определяет максимальное число глобальных и локальных сегментов процесса — по 8 Кбайт (2 13 ) сегментов каждого типа, всего 16 Кбайт сегментов. С учетом максимального размера сегмента — 4 Гбайт — каждый процесс при чисто сегментной организации виртуальной памяти (без включения страничного механизма) может работать в вирту-;алъном адресном пространстве в 64 Тбайт.

Каждый дескриптор в таблицах GDT и LDT имеет размер 8 байт, поэтому максимальный размер каждой из этих таблиц — 64 Кбайт (8 байт х 8 Кбайт дескрипторов).

Из приведенного описания видно, что процессор Pentium обеспечивает поддержку работы ОС в двух отношениях:

§ поддерживает работу виртуальной памяти за счет быстрого аппаратного способа преобразования виртуального адреса в физический;

§ обеспечивает защиту данных и кодов различных приложений.

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

Рис. 7.4.4. Механизм преобразования виртуального адреса в физический при работе процессора в сегментном режиме

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

1. Значение селектора указывает механизму преобразования адресов, что виртуальный адрес относится к сегменту, описываемому в таблице GDT. Местонахождение таблицы GDT система определяет из регистра GDTR, в котором хранится полный 32-битный базовый физический адрес таблицы. Процессор складывает базовый адрес таблицы, взятый из регистра GDTR, со сдвинутым на 3 разряда влево (умножение на 8 в соответствии с числом байтов в одном дескрипторе сегмента) значением поля индекса из селектора. Результатом является физический адрес дескриптора сегмента, к которому относится заданный виртуальный адрес.

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

3. Выполняется проверка возможности выполнения заданной операции доступа по заданному виртуальному адресу:

§ сначала процессор определяет правильность адреса, сравнивая смещение, заданное в виртуальном адресе, с размером сегмента, извлеченным из регистра LDTR (в случае выхода адреса за границы сегмента происходит прерывание);

§ затем процессор проверяет права доступа задачи к данному сегменту памяти;

§ далее проверяется наличие сегмента в физической памяти (если бит Р дескриптора равен 0, то есть сегмент отсутствует в физической памяти, то происходит прерывание).

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

В случае когда селектор в виртуальном адресе указывает не на таблицу GDT, a на таблицу LDT, процедура вычисления физического адреса несколько усложняется. Это связано с тем, что регистр LDTR в отличие от GDTR указывает на размещение таблицы сегментов не прямо, а косвенно. В LDTR содержится индекс дескриптора сегмента LDT. Поэтому в процедуре преобразования адресов появляется дополнительный этап — определение базового адреса таблицы LDT. На основании базового адреса таблицы GDT, взятого из регистра GDTR, и селектора, взятого из регистра LDTR, вычисляется смещение в таблице GDT, которое и является адресом дескриптора сегмента LDT.

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

Таким образом, для использования сегментного механизма процессора Pentium операционной системе необходимо сформировать таблицы GDT и LDT, загрузить их память (для начала достаточно загрузить только таблицу GDT), загрузить указатели на эти таблицы в регистры GDTR и LDTR и выключить страничную поддержку.

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

Защита данных при сегментной организации памяти

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

§ Процессор Pentium поддерживает для каждого процесса отдельную таблицу дескрипторов сегментов LDT. Эта таблица формируется операционной системой на этапе создания процесса. После активизации процесса в регистр LDTR заносится адрес (селектор) его таблицы LDT. Тем самым система делает недоступным для процесса локальные сегменты других процессов, описанные в их таблицах LDT.

§ Вместе с тем таблица GDT, в которой хранятся дескрипторы сегментов операционной системы, а также сегменты, используемые несколькими процессами совместно, доступна всем процессам, а следовательно, не защищена от их несанкционированного вмешательства. Для решения этой проблемы в процессоре Pentium предусмотрена поддержка системы безопасности на основе привилегий. Каждый сегмент памяти наделяется атрибутами безопасности, которые характеризуют степень защищенности данного сегмента. Процессы также наделяются атрибутами безопасности, которые в этом случае характеризуют степень привилегированности процесса. Уровень привилегий процесса определяется уровнем привилегий его кодового сегмента. Доступ к сегменту регулируется в зависимости от его защищенности и уровня привилегированности запроса. Это позволяет защитить от несанкционированного доступа сегменты GDT, а также обеспечить дифференцированный доступ к локальным сегментам процесса.

§ Само по себе наличие отдельных таблиц дескрипторов для каждого процесса еще не обеспечивает надежной защиты процессов друг от друга. Действительно, что мешает одному пользовательскому процессу изменить содержимое регистра LDTR так, чтобы он указывал на таблицу другого процесса? Аналогично никакие значения атрибутов безопасности не смогут защитить от несанкционированного доступа сегменты, описанные в таблице GDT, если процесс имеет возможность по своей инициативе устанавливать желаемый уровень привилегий для себя. Поэтому необходимым элементом защиты является наличие аппаратных ограничений в наборе инструкций, разрешенных для выполнения процессу. Некоторые инструкции, имеющие критически важное значение для функционирования системы, такие, например, как останов процессора, загрузка регистра GDTR, загрузка регистра LDTR, являются привилегированными как раз по этой причине — процесс может выполнять их, только обладая наивысшим уровнем привилегий.

§ Еще одним механизмом защиты, поддерживаемым в процессоре Pentium, является ограничение на способ использования сегмента. В зависимости от того, к какому типу относится сегмент — сегмент данных, кодовый сегмент или системный сегмент, — некоторые действия по отношению к нему могут быть запрещены. Например, в кодовый сегмент нельзя записывать какие-либо данные, а сегменту данных нельзя передать управление, даже если загрузить его селектор в регистр CS.

В процессоре Pentium используется мандатный способ определения прав доступа к сегментам памяти (называемый также механизмом колец защиты), при котором имеется несколько уровней привилегий и объекты каждого уровня имеют доступ ко всем объектам равного уровня или более низких уровней, но не имеют доступа к объектам более высоких уровней. В процессоре Pentium существует четыре уровня привилегий — от нулевого, который является самым высоким, до третьего — самого низкого (рис. 6.7). Очевидно, что операционная система может использовать механизм колец защиты по своему усмотрению. Однако предполагается, что нулевой уровень доступен для ядра операционной системы, третий уровень — для прикладных программ, а промежуточные уровни — для утилит и подсистем ОС, менее привилегированных, чем ядро.

Рис. 7.4.5. Кольца защиты

Система защиты манипулирует несколькими переменными, характеризующими уровень привилегий:

§ DPL (Descriptor Privilege Level) — уровень привилегий дескриптора, задается полем DPL в дескрипторе сегмента;

§ RPL (Requested Privilege Level) — запрашиваемый уровень привилегий, задается полем RPL селектора сегмента;

§ CPL (Current Privilege Level) — текущий уровень привилегий выполняемого кода, задается полем RPL селектора кодового сегмента;

§ EPL (Effective Privilege Level) — эффективный уровень привилегий запроса.

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

Поле уровня привилегий является частью двух информационных структур — дескриптора и селектора. В том и другом случае оно задается двумя битами: 00, 01, 10 и 11, характеризуя четыре степени привилегированности, от самой низкой 11 до самой высокой 00.

Уровни привилегий назначаются дескрипторам и селекторам. Во время загрузки операционной системы в память, а также при создании новых процессов операционная система назначает процессу сегменты кода и данных, генерирует дескрипторы этих сегментов и помещает их в таблицы GDT или LDT. Конкретные значения уровней привилегий DPL и RPL задаются операционной системой и транслятором либо по умолчанию, либо на основании указаний программиста. Значения DPL и RPL определяют возможности создаваемого процесса.

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

Уровень привилегий кодового сегмента определяет не только степень защищенности этого сегмента, но и текущий уровень привилегий CPL всех запросов к памяти (на чтение, запись или выполнение), которые возникнут при выполнении этого кодового сегмента. Другими словами, уровень привилегий кодового сегмента DPL характеризует текущий уровень привилегий GPL выполняемого кода. При запуске кода на выполнение значение DPL из дескриптора копируется в поле RPL селектора кодового сегмента, загружаемого в регистр сегмента команд CS. Значение поля RPL кодового сегмента, собственно, и является текущим уровнем привилегий выполняемого кода, то есть уровнем CPL.

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

Во время приостановки процесса его текущий уровень привилегий сохраняется в контексте, роль которого в процессоре Pentium играет системный сегмент состояния задачи (Task State Segment, TSS). Если какой-либо процесс имеет несколько кодовых сегментов с разными уровнями привилегий, то поле RPL регистра CS позволяет узнать значение текущего уровня привилегий процесса. Заметим, что пользовательский процесс не может изменить значение поля привилегий в дескрипторе, так как необходимые для этого инструкции ему недоступны. В дальнейшем уровень привилегий процесса может измениться только в случае передачи управления другому кодовому сегменту путем использования особого дескриптора — шлюза.

Контроль доступа процесса к сегментам данных осуществляется на основе сопоставления эффективного уровня привилегий EPL запроса и уровня привилегий DPL дескриптора сегмента данных. Эффективный уровень привилегий учитывает не только значение CPL, но и значение запрашиваемого уровня привилегий для конкретного сегмента, к которому выполняется обращение. Перед тем как обратиться к сегменту данных, выполняемый код загружает селектор, указывающий на этот сегмент, в один из регистров сегментов данных: DS, ES, FS или GS. Значение поля RPL данного селектора задает уровень запрашиваемых привилегий. Эффективный уровень привилегий выполняемого кода EPL определяется как максимальное (то есть худшее) из значений текущего и запрашиваемого уровней привилегий:

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

§ R (Readable) — бит разрешения (R=l) или запрета (R=0) чтения из кодового сегмента;

§ A (Accessed) — признак обращения, имеет смысл, аналогичный полю А сегмента данных.

Если признак R запрещает чтение кодового сегмента, то разрешается только его выполнение. Запись в кодовый сегмент запрещена всегда, независимо от значения признака R.

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

Вторым этапом является проверка ссылок операндов во время выполнения команд записи или чтения. Прерывания происходят в следующих случаях:

§ делается попытка прочитать данные из кодового сегмента, который допускает только выполнение;

§ делается попытка записать данные по адресу, принадлежащему кодовому сегменту;

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

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

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

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

Рис. 7.4.7. Работа сегментного механизма в сегментно-страничном режиме

Для реализации механизма управления страницами как физическое, так и виртуальное адресные пространства разбиты на страницы размером 4 Кбайт (начиная с модели Pentium в процессорах Intel существует возможность использования страниц и по 4 Мбайт, но дальнейшее изложение ориентируется на традиционный размер страницы в 4 Кбайт). Всего в виртуальном адресном пространстве в сегментно-страничном режиме насчитывается 1 Мбайт (2 20 ) страниц. Несмотря на наличие нескольких виртуальных сегментов, все виртуальное адресное пространство задачи имеет общее разбиение на страницы, так что нумерация виртуальных страниц сквозная.

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

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

Результирующий линейный 32-разрядный виртуальный адрес передается страничному механизму для дальнейшего преобразования. Исходя из того что размер страницы равен 4 Кбайт (2 12 ), в адресе можно легко выделить номер виртуальной страницы (старшие 20 разрядов) и смещение в странице (младшие 12 разрядов). Как известно, для отображения виртуальной страницы в физическую достаточно построить таблицу страниц, каждый элемент которой — дескриптор виртуальной страницы — содержал бы номер соответствующей ей физической страницы и ее атрибуты. В процессоре Pentium так и сделано, и структура дескриптора страницы показана на рис. 8.5.8. Двадцать разрядов, в которых находится номер страницы, могут интерпретироваться и как базовый адрес страницы в памяти, который необходимо дополнить 12 нулями, так как младшие 12 разрядов базового адреса страницы всегда равны нулю. Кроме номера страницы дескриптор страницы содержит также следующие поля, близкие по смыслу соответствующим полям дескриптора сегмента:

§ Р — бит присутствия страницы в физической памяти;

§ W — бит разрешения записи в страницу;

§ U — бит пользователь/супервизор;

§ А — признак имевшего место доступа к странице;

§ D — признак модификации содержимого страницы;

§ PWT и PCD — управляют механизмом кэширования страниц (введены начиная с процессора i486);

§ AVL — резерв для нужд операционной системы (AVaiLable for use).

Рис. 7.4.8 Формат дескриптора страницы

При небольшом размере страницы процессора Pentium относительно размеров адресных пространств таблица страниц должна занимать в памяти весьма значительное место — 4 байт х 1 Мбайт = 4 Мбайт. Это слишком много для нынешних моделей персональных компьютеров, поэтому в процессоре Pentium используется деление всей таблицы страниц на части — разделы по 1024 дескриптора. Размер раздела выбран так, чтобы один раздел занимал одну физическую страницу (1024 х 4 байт — 4 Кбайт). Таким образом таблица страниц делится на 1024 раздела.

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

Преобразование линейного виртуального адреса в физический происходит следующим образом (рис. 7.4.9).

Рис. 7.4.9.Преобразование линейного виртуального адреса в физический адрес

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Часто заДаваемые вопросы о процессорах Intel® для мобильных ПК

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

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

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

Щелкните или раздел для подробностей:

Могу ли я запустить 16-битное приложение с процессором процессор Intel® Core™ 4-го поколения?

  • 16-битные приложения и Программное обеспечение не проверяются на Процессоры Intel® Core™ 4-го поколения.
  • 16-бит может работать на 32-битных операционных системах, но он не оптимизирован для 32-битной ОС.
    Примечание Из Intel® 64 и IA-32 архитектуры программное Программное обеспечение руководство разработчика (doc. id 325462) раздел 21,2: производительность-всегда используйте 32-битных сегментов кода, когда это возможно, они работают гораздо быстрее, чем 16-битных сегментов кода на Процессоры семейства P6 и несколько быстрее на ранних процессорах IA-32-16-битные компоненты, 16-битные процессы и 16-битные приложения не поддерживаются 64-битными операционными системами.
  • Обратитесь к поставщику Программное обеспечение , чтобы узнать, имеют ли они 32-разрядную или 64-разрядную версию для использования с новыми аппаратными и операционными системами.
Илон Маск рекомендует:  Cookies и сессии

Что означает безГалогенный?

Галогенные бесплатно подразумевает следующее: бром и/или хлора в материалах, которые могут быть использованы во время обработки, но не остаются в пределах конечного продукта не включены в это определение. Галогены фтора (F), йода (I) и астат (АТ) не ограничиваются этим стандартом. «Бос/CFR и ПВХ-Free» определение: статья должна соответствовать всем следующим требованиям, которые должны быть определены как «Бос/CFR и ПВХ-Free»:

  1. Все ламинаты PCB должны соответствовать требованиям br и CL для низкого галогена, как определено в IPC-4101B.
  2. Для компонентов, отличных от ламинатов PCB, все однородные материалы должны содержать
  3. Элементарный анализ для br и CL в однородных материалах может быть выполнен любым аналитическим методом с достаточной чувствительностью и селективностью. Однако наличие или отсутствие бромированных огнестойких добавок, КФРС или ПВХ должны быть проверены любыми приемлемыми аналитическими методами, позволяющими однозначно идентифицировать специфические соединения Br или CL или соответствующими декларациями о материалах, согласованными между клиентом и Поставщик.

Что такое многоядерная архитектура? Объяснение наиболее просто, Двухъядерный процессор влечет за собой инженеров кремния дизайн размещения двухпроцессор Intel® Pentium®»ядра исполнения», или вычислительные двигатели, в пределах одного процессора. Этот двухъядерный процессор подключается непосредственно к одному разъему процессора, но операционная система воспринимает каждое из своих ядер выполнения как дискретный логический процессор со всеми связанными ресурсами выполнения. Будущие версии многоядерной архитектуры IntelПроцессоры будет иметь более двух ядер исполнения. Является ли Core Duo 32-битной или 64-битной технологией?

Чтобы проверить, является ли процессор Intel® 32-бит или 64-бит способный, проверьте «Поддерживаемые функции» раздел в спецификации продукта и сравнения , чтобы увидеть, если Intel® 64 архитектуры в списке. Если это так, процессор в вопросе является 64-бит способен.

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

Что означает «максимальная РАСЧЕТная мощность системы»? Максимальная РАСЧЕТная мощность системы — это совокупность максимальных значений TDP для процессоров, микроэлементов и ICH выбранной группировки или поиска. Обратите внимание, что МЧС и ICHs могут иметь различные значения TDP в зависимости от количества активных каналов памяти, скорости шины переднего борта и других таких факторов. Пожалуйста, обратитесь к соответствующим тепловой дизайн руководства для деталей в вопросе. В целях безопасной оценки, мы всегда выбрали максимально возможные значения TDP. В чем разница между Max TDP и степпингом TDP? ДляПроцессоры, TDP будет иногда варьироваться в зависимости от степпинга процессора. Максимальная TDP является самым высоким значением TDP всех степпингов. Степпинг TDP является TDP для этого конкретного степпинга процессора. Что такое «Intel® пил» означает? Программа Intel® Stable Image Platform, созданная в 2003, обеспечивает стандартизированную HW платформу и стабильность изображения в течение одного года после запуска продукта. Каково требуемое напряжение, потребляемое процессором? Чтобы найти напряжение,Intel® Процессор потребляет, проверьте раздел «спецификации процессора» вСпецификации продукции и сравнения для этого процессора. В разделе Спецификация процессора вы найдете ссылку на документацию по продукту. В чем разница между многоядерной архитектурой и технологией Hyper-Threading (технология HT)? Технология HT ограничивается одним ядром с использованием существующих ресурсов выполнения более эффективно, чтобы лучше включить многопоточность. Это сравнивается с многоядерными возможностями, которые предоставляют два полных набора ресурсов выполнения для увеличения пропускной способности вычислений. Любое приложение, которое было многопоточным для технологии HT, должно обеспечить высокую производительность при запуске наIntel системы на базе многоядерных процессоров. Соответственно, пользователи смогут воспользоваться преимуществами уже существующих приложений, оптимизированных для двух потоков с самых ранних днейIntel Переход к многоядерным архитектурам в различных линейных линиях процессора. Будет ли мое приложение работать в многоядерной системе, если мой код не является многопоточным? Традиция Intel обратной совместимости восходит к самой раннейПроцессоры и продолжается и сегодня. Любое приложение, которое будет работать на одном ядреIntel® Процессор будет работать на процессоре Intel Multi-Core. Однако для того, чтобы приложение могло воспользоваться преимуществами многоядерных возможностей, код должен быть многопоточным. Какие приложения являются хорошими кандидатами для перемещения от серийного к многопоточному, чтобы испытать прирост производительности на многоядерных системах? Во-первых, любая программа, которая находится в классе приложений, где многопоточность уже относительно распространена – кодирование видео, 3D визуализация, редактирование видео/фотографий, а также высокопроизводительные вычислительные системы и приложения для рабочих станций. Эти приложения особенно подвержены параллелизму на уровне потоков, поскольку многие их вычисления могут выполняться одновременно. Во-вторых, хотя большинство игр однопотоковые сегодня, игровые приложения также могут извлечь выгоду из многопоточности. Например, физика и искусственный интеллект (AI) могут работать на отдельных потоках, что может привести к более реалистичной и сложной игровой среде. НаконецIntel имеет планы по быстрому переходу на многоядерную архитектуру во всех ее линейных продуктах. Большинство наблюдателей отрасли ожидают, что тактовая частота процессора выровняться в ближайшие годы. Подразумевается, что в скором времени потоки и параллелизм будут становиться все более важными для повышения производительности всехПрограммное обеспечение. Кроме того, использование многопоточных приложений, когда еще может конечные пользователи испытывают увеличение производительности на многоядерных системах? Многоцелевые пользователи или те, кто работает в средах, отмеченных большим количеством фоновой обработки, также должны пользоваться преимуществами многоядерных систем. Обработка за кулисами становится все более нормой в бизнес-вычислительных средах. Примеры включают пользователей, выполняющих запросы интеллектуального анализа данных при работе над другими задачами на переднем плане или в корпоративных ИТ-подразделениях, которые незаметно обновляютПрограммное обеспечение, устранения неполадок оборудования или выполнения поиска вирусов и других задач управления в корпоративной сети. Что такое микро-Ops Fusion?

Micro-Ops Fusion — это технология, которая использует меньше ресурсов ЦП для выполнения операций, чем традиционные микропроцессоры путем слияния операций ЦП до выполнения. Это повышает производительность и эффективность. Когда микро-операции сливаются, они используют меньше ресурсов процессора для обработки одного и того же количества операций. Два плавленых микро-операции занимают один ресурс, поэтому они делают машину вести себя как более широкую машину. Микро-Ops Fusion обеспечивает эффективность как в производительности и управления питанием.

Аналогия: такси объединения нескольких всадников в одну поездку, чтобы сэкономить время и энергию.

Что такое расширенный прогноз инструкций?

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

Аналогия: программа обработки текстов, которая завершает слово после ввода первых нескольких букв, повышая скорость и эффективность.

Что такое выделенный менеджер стека?

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

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

Что такое оптимизированная для питания шина системной шины? Оптимизированная для питания Системная шина процессора остается выключенной до тех пор, пока она не распочувствует входящие данные из набора микросхем, позволяя процессору потреблять меньше энергии. В типичной микроархитектуре процессор имеет свой автобус включен, даже если он не используется. СIntel® Процессоры, части автобуса включены только тогда, когда они необходимы. Архитектурные и принципиальные инновации позволили этой технологии, которая снижает мощность через снижение напряжения качели и более жесткие управления буфера. Что такое интеллектуальное распределение электроэнергии?

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

Аналогия: датчик движения, который включает свет, когда вы входите в комнату и выключает их, когда вы выходите

Что такое большой, Power-осведомленный Вторичный кэш? Большой кэш позволяет значительно сократить задержку данных в памяти, обеспечивая значительное улучшение производительности. Кэш, поддерживающий питание, реализует несколько функций, чтобы уменьшить энергопотребление кэша. Традиционные микропроцессоры запускают кэш как можно быстрее. Кэш процессора на процессоре работает немного медленнее, чтобы сэкономить энергию и сократить утечку электричества, обеспечивая более длительный срок службы аккумулятора. Для снижения энергопотребления были реализованы инновации в специальных схемах и микро-архитектуре. Например, блок кэша отслеживает последнюю доступную запись. Таким образом, повторяющиеся обращения к одному и тому же местоположению не должны искать массив, тем самым устраняя высокую мощность. Что такое состояние оповещения о более глубоком сне? Глубокий сон и глубокий сон состояния оповещения очень низкого энергопотребления, процессор может входить в периоды бездействия, сохраняя при этом свой контекст. Состояние оповещения о более глубоком сне идентично состоянию оповещения о состоянии глубокого сна, но при значительно более низком напряжении. Это обеспечивает экономию энергии и длительный срок службы аккумулятора. Состояние оповещения о более глубоком сне автоматически включается через компонент концентратора контроллера ввода/вывода и регулятор напряжения, поэтому взаимодействие с пользователем не требуется. Эта функция поддерживает производительность, используя преимущества повышенной экономии энергии. Что такое технология мобильной упаковки?

Флип-чип упаковки устранили провод-облигаций подход путем монтажа умереть непосредственно на подложку, улучшение питания и снижения импеданса.

Мобильный микро-FCPGA (микро- Микросхема с шариковыми выводами PIN сетки массива) и микро-FCBGA Упаковочная технология улучшает мощность доставки и контактный индуктивности по сравнению с их предшественниками. В результате значительно улучшается производительность. Пакеты включают в себя отдельные силовые и наземные самолеты, а также емкость на упаковке, необходимую на более высоких скоростях-уменьшая пространство доски для реализации. Экономия пространства способствует уменьшению конструкций и увеличению мобильности.

FCPGA является процессором сокета; FCBGA солдат на борту.

Что такое потоковая передача расширений 2 (SSE2)? Микроархитектура включает в себя новые расширения возможностейтехнология MMX™ и технологии SSE, добавив 144 новых инструкций. Инструкции включают 128-битные целочисленные арифметические и 128-битные операции двойной точности с плавающей запятой. Общее количество инструкций, необходимых для выполнения определенной задачи программы, сокращается и может способствовать общему увеличению производительности. Они ускоряют многие приложения, включая видео, речь, изображения и обработки фотографий, а также шифрование, финансовые, инженерные и научные приложения. Что такое номер sSpec? Номер sSpec — это код из пяти цифр, используемый для идентификации продуктов. Продукты различаются по своим уникальным характеристикам, включая скорость ядра, размер кэша L2 и тип пакета. Как получить программное Программное обеспечение и драйверы?

Программное обеспечение , необходимое для вашего процессора, включено в BIOS вашей системы.

  • Почему не удается найти обновления BIOS?
    Все обновления BIOS, выпущенные специально для вашего процессора, будут включены в обновления BIOS для вашей системной платы. Для проблем с совместимостью, проверьте, если ваша материнская плата Поддержка s ваш процессор и если конкретная ревизия BIOS необходима для Поддержка процессора. Пожалуйста, обратитесь к вашей системе или на веб-сайте производителя системной платы, чтобы найти обновления для вашей конкретной платы.
  • Приложение Intel® Driver & Support Assistant автоматически идентифицирует и находит драйверы и поддерживает вашу систему в актуальном состоянии. Он обнаруживает, какие обновления драйверов имеют отношение к компьютеру, а затем помогает установить их быстро и легко.
  • Видео драйверы и аудио драйверы
    Видео и аудио драйверы специфичны для вашей системной платы, а не ваш процессор. Чтобы найти правильные драйверы для вашей системы, обратитесь к вашей системе или на веб-сайте производителя системной платы.
  • Программное обеспечение для поддержки наборов микросхем
    Программное обеспечение , предназначенное для чипсета вашей системной платы, будет найдено на сайте Поддержка аппаратного Программное обеспечение для поддержки наборов микросхем . Он недоступен для загрузки с сайта Поддержка процессоров Intel® .
  • Утилиты идентификации процессоров
    Вы можете скачать две утилиты для идентификации процессорОв Intel® , чтобы помочь вам идентифицировать ваш процессор Intel® .

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

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

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

Убедитесь, что вы не аннулируете гарантию системы, открыв продукт или заменив любой из компонентов внутри. Также убедитесь, что следуют процедуры электроСтатического разРяда (ESD).

  • Определите, работала ли система раньше.
  • Определите, были ли последние изменения. Часто последние изменения являются причиной проблемы. Если последние изменения были выполнены, проверьте конфигурацию этих изменений. Если вы установили новое устройство, посмотрите, является ли новое устройство причиной проблемы. Это можно сделать, заменив его на известное рабочее устройство и пробуя это устройство в известной рабочей машине.
  • Проверьте яркость ЖК-панели и регуляторы контрастности.
  • Если вы пытаетесь запустить ноутбук от аккумулятора, попробуйте запустить ноутбук от адаптера ПЕРЕМЕНного тока. Если он работает с адаптером ПЕРЕМЕНного тока, у вас есть проблемы с батареей или зарядки системы. Обратитесь к производителю или поставщику ноутбука.
  • Используйте вольтметр или тестер ПЕРЕМЕНного тока, чтобы подтвердить, что есть адекватное напряжение ПЕРЕМЕНного тока на стене розетки.
  • Адаптер ПЕРЕМЕНного тока может быть протестирован с вольтметром (измерение постоянного напряжения), в то время как выход должен быть +/-.3 вольт.
  • Проверьте шорты и перегрузки, удалив несущественные элементы, такие как PC Cards и drives, чтобы увидеть, если машина пытается самоТестирования Power-On.
  • Убедитесь, что портативный компьютер поддерживает устанавливаемый процессор, включая тип процессора, скорость и напряжение. Не все Процессоры являются обратно совместимыми.
  • Если вы установили процессор, убедитесь, что он полностью вставлен в гнездо и ориентирован правильно. Убедитесь, что винт, блокирующий процессор на месте, отрегулирован правильно. Проверьте руководство по обслуживанию ноутбуков для правильной ориентации процессора.
  • Каждый раз, когда вы добавляете, удаляете или заменяете процессор, обратитесь к поставщику ноутбука, чтобы убедиться в том, что используется соответствующий материал теплового интерфейса (TIM).
  • Замените любой съемный RAM и процессор с известными хорошими заменами по одному за раз. Если один из этих компонентов подозревается, попробуйте его в другой переносной компьютер. Если вы установили ОЗУ в ноутбуке, убедитесь, что ОЗУ находится в списке протестированных модулей памяти для переносного компьютера.
  • Если проблема не устранена, обратитесь к поставщику или производителю ноутбука.

Изменяет ли Intel способ измерения производительности (не ведущий с МГц)? Мегагерц (МГц), или тактовая частота, является одним измерение производительности в ПК платформ. МГц является надежной мерой относительной производительности в каждой архитектуре семейства. НапримерIntel® Технология Centrino® Mobile на частоте 1,60 ГГцIntel® Технология Centrino® Mobile на частоте 1,30 ГГц. факторы, влияющие на производительность платформы:

  • Архитектура процессора и частота
  • модели использования
  • Приложения
  • Bios
  • различные типы памяти

Для мобильных ПК контрольные показатели, которые одновременно измеряют срок службы аккумулятора и производительность, являются хорошими показателями взаимодействия с пользователем. MobileMark * 2002 является эталоном, используемым для оценки опыта пользователей портативных ПК, измеряя производительность и срок службы аккумулятора при одинаковой нагрузке. MobileMark * 2002 измеряет производительность на популярных бизнес-ориентированных приложениях в Microsoft Windows *. Модель использования производительности обеспечивает вычисления, связанные с производительностью Office и приложениями для создания контента. Эта модель использования сообщает оценку производительности и заряда аккумулятора.

Посетите производительность богатые Технологии для MobileMark * 2002 эталонной информации, в том числе сравнения между Процессоры Intel® для ноутбуков или процессорная технология Intel® Centrino®.

Как системы на базе процессоров Intel® Centrino® обеспечивают высокую производительность даже при относительно низких частотах?

На производительность системы может влиять процессор в МГц. процессорная процессорная технология Intel® Centrino® обладает уникальной микроархитектурой, оптимизированной для мобильного сегмента, и предназначена для обеспечения прорывной мобильной производительности с низким энергетических характеристик.

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

Примеры «эффективного выполнения» включают: расширенный прогноз ветви, микро-Ops Fusion, выделенный менеджер стека

Примеры «расширенной проПускной способности данных» включают: больше 1 МБ кэш-памяти, высокопроизводительные ОВО, расширенный предварительной выборки логики

Примеры «Расширенный контроль питания» включают в себя: Изобразительное зерно агрессивные часы строб, Усовершенствованная технология Intel SpeedStep®.

Где я могу узнать больше о двухъядерных и четырехъядерных процессоров технологии?

Найти более подробную информацию:

  • Технология двухъядерных процессоров
  • Многоядерная технология

Почему графики ЦП в диспетчере задач Microsoft Windows * не идентичны? Это не является необычным, если у вас есть многоядерный процессор. Каждая коробка представляет один из ядер в процессоре. Например, двойное ядроПроцессоры есть два графика, и Quad-УходПроцессоры Есть четыре графика. Графики не идентичны, потому что немногие приложения могут распределять свою нагрузку обработки полностью равномерно по ядрам. Более продвинутыеПрограммы(Games) написаны, чтобы воспользоваться преимуществами нескольких ядер и будет распределять нагрузку обработки более равномерно по ядрам. Как я могу отключить ядро на моем многоядерном процессоре? Обратитесь к поставщику системы, чтобы определить, есть ли в системе параметры BIOS для отключения вторичных ядер. ДляСистемные платы Intel® для настольных ПК, параметр BIOS обычно называется «Технология мультиплексирования ядра». Как я могу узнать, работают ли все ядра на моем многоядерном процессоре?

Откройте диспетчер задач Microsoft Windows * и посмотрите на вкладку Быстродействие. Вы должны увидеть график для каждого ядра. Если график для каждого ядра не отображается, проверьте следующее:

  • Убедитесь, что диспетчер задач настроен на отображение нескольких графиков:
    • Откройте диспетчер задач.
    • Нажмите Просмотр/История ЦП/один график на ЦП.
  • Убедитесь, что у вас есть правильные параметры BIOS в вашей системе и процессоре.
  • Проверьте настройки BIOS. Убедитесь, что все ядра включены.
  • Убедитесь, что у вас есть последние обновления для вашей операционной системы.
  • Запустите ПО для идентификации процессоров Intel® , чтобы убедиться, что у вас есть подлинный процессор Intel® и что он идентифицируется вашей системой.
    Смотрите информацию для загрузки для ПО для идентификации процессоров Intel®

Могу ли я установить программу для работы с определенным ядром на моем многоядерном процессоре?

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

Примечание Сторонние приложения доступны для автоматической настройки сходства процессоров.

Где можно найти такие сведения, как скорость процессора, номер процессора, размер кэша, совместимость наборов микросхем, ценообразование и коды заказа продукции?

В базе данных процессорНых продуктов можно найти информацию о процессорах Intel® . Если вы не можете найти (Поиск или обзор) Intel® процессор, отправьте нам свой отзыв.

Для получения дополнительных сведений о процессорах Intel® для мобильных устройств, обратитесь к следующему:

Уязвимость в процессорах Intel может замедлить ПК на 5–30 %

У технологических компаний есть небольшие провалы, есть крупные, а есть и огромные: сообщается, что практически все процессоры Intel, выпущенные за последнее десятилетие, имеют серьёзную уязвимость в безопасности. В результате, как предполагается, обычные пользовательские программы — начиная с приложений баз данных и заканчивая кодом JavaScript в веб-браузерах могут получать до определённой степени доступ к структуре данных из защищённых областей памяти, относящихся к ядру операционной системы.

По сути, современные процессоры Intel включают ошибку проектирования, которая может позволить вредоносным программам читать защищённые области памяти ядра (область ОЗУ, выделенная для наиболее важных основных компонентов операционной системы и их взаимодействия с системным оборудованием). Этот недостаток может потенциально открыть защищённую информацию, такую как пароли. Поскольку ошибка внесена на аппаратном уровне 64-битных чипов Intel, она требует исправления на базовом уровне в каждой популярной операционной системе, включая Windows, Linux и macOS.

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

Поскольку заплатка повлечёт за собой полное разделение памяти ядра и пользовательских процессов, «исправленные» операционные системы потенциально могут привести к значительному падению производительности ПК — от 5 % до 30 %, в зависимости от конкретной задачи и модели процессора. Издание The Register поясняет:

«Эти исправления KPTI [Kernel Page Table Isolation] переносят ядро ОС в полностью отдельное адресное пространство, поэтому оно не просто незаметно для запущенного процесса, его нет в этом адресном пространстве. В нормальных условиях такие меры совершенно не требуются, но проблема лежит в аппаратной архитектуре чипов Intel и в противном случае позволяет каким-то образом обходить защиту доступа к ядру ОС.

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

От 5 до 30 процентов — это чудовищное прогнозируемое падение производительности, но из-за связанной с проблемой секретности в настоящее время трудно сказать, насколько заметным в реальности окажется воздействие заплаток на работу рядовых пользователей. Наибольший урон могут понести такие масштабные системы, как центры обработки данных. Например, при работе СУБД PostgreSQL исправление KPTI приносит падение производительности в лучшем случае на 17 %, а в худшем — на 23 %. Для среднестатистического пользователя, возможно, заплатка принесёт минимальные проблемы. Кроме того, в будущем не исключено появление более эффективных способов решения аппаратной проблемы.

Блог Python Sweetness написал недавно: «Срочная разработка программной заплатки ведётся в открытом и недавно выпущенном ядре Linux, аналогичные новшества стали добавляться в ядра NT в ноябре. В худших случаях исправления приводят к весьма существенным замедлениям некоторых типичных задач. Есть основания считать, что уязвимость заметно влияет и на распространённые среды виртуализации, включая Amazon EC2 и Google Compute Engine».

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

Оптимизация работы процессора: утилита 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 поможет сделать правильный выбор. Для удобства мониторинга, при открытой в Диспетчере вкладке «Быстродействие«, проверьте, чтобы была активирована функция » По графику на каждый ЦП » (см. «Вид» → «Загрузка ЦП» → искомое «По графику на каждый ЦП«).

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

Оптимизация для 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 (на клонах, к несчастью, это не так) может исполняться параллельно с целочисленными командами.

    Оптимизация Windows — мифы и реальность (часть 2)

    Что же такое оптимизация?

    Прежде чем углубляться в рассуждения, определимся с терминами.

    Толковый словарь дает следующие определения слова «оптимизация»:

    1. Оптимизация — нахождение наибольшего или наименьшего значения какой-либо функции.
    2. Оптимизация — выбор наилучшего (оптимального) варианта из множества возможных.

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

    Еще один термин — скорость работы системы. Он также весьма многогранен.

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

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

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

    Скорее всего программа будет использовать 97-99 процентов вычислительной мощности процессора. На первый взгляд все нормально: на свои нужды Windows использует считанные единицы процентов или даже меньше одного процента.

    Немного усложним эксперимент и включим в диспетчере задач показ времени ядра.

    Картина становится не такой радужной: оказывается, ядро системы работает и отнимает заметную долю ресурсов процессора — в данном случае около 10-20 процентов.

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

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

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

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

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

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

    Есть ли в системе резервы для ускорения работы?

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

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

    С одной стороны, на отображение улучшенных элементов интерфейса действительно тратится больше ресурсов процессора и памяти. Хотя и не всегда: например, включенный (в большинстве случаев) по умолчанию аэро-интерфейс в Висте и Windows 7 снижает нагрузку на процессор за счет переноса значительной части работы по формированию изображения на видеоадаптер. С другой стороны — и ресурсов этих стало гораздо больше, так что доля, «отъедаемая» ОС, практически не изменилась. С третьей… но об этом чуть позже.

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

    Вернемся в прошлое. Незадолго до выхода Windows XP Майкл Фортин, долгое время руководивший в «Майкрософт» группой, отвечавшей за производительность системы, составил для бета-тестеров весьма любопытный документ о том, как его группа работала и какие результаты получила (выжимки из него можно найти в http://forum.ixbt.com/topic.cgi? >Из этого следует достаточно очевидный вывод, что сколько-нибудь заметного увеличения скорости работы при помощи твикинга и «оптимизаций» получить не удастся.

    Предположим, что система отнимает на свои нужды пять процентов времени процессора (обычно эта величина все же меньше), значит, работающему в это время процессу достается 95%. Допустим, мы улучшим систему вдвое (конечно, это фантастика, но давайте все-таки предположим такую возможность), так что она отнимет только 2,5 процента времени ЦП, а приложению достанется уже 97,5 процента. Скорость работы приложения увеличится на (97,5−95)⁄95=2,6 процента, то есть прирост получится отнюдь не фантастическим и практически незаметным на глаз.

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

    Но ведь, опять же скажете вы, в интернете можно найти кучу советов по улучшению тех или иных характеристик — что они дают? Как вы, уже, наверное, поняли, у меня не возникло ни малейшего желания заниматься экспериментальным опровержением всех этих идей: пусть их доказывает тот, кто делает такие утверждения. Но вопрос Майклу Фортину я все же задал, ведь у его группы ресурсов намного больше, чем у любого человека. Ответ звучал так: «Я опросил часть нашей команды [напомню, она называется Windows performance team, то есть группа производительности Windows] и сам немного удивился. Оказалось, большинство из них обсуждало подобные рекомендации и коллективный вывод был таков: много шума из ничего. За одним-единственным исключением: совет удалять программы, которые не используются, — полезен».

    Теперь о третьей стороне «свистелок»

    Если нельзя добиться сколько-нибудь значительного прироста скорости работы ОС, то что же остается? Один из путей — увеличить производительность компьютера. Это самый надежный, самый дорогой, но не всегда эффективный метод. Помните старую шутку: замените в своем компьютере Pentium 100 на Pentium 200, и он начнет простаивать вдвое быстрее? Во многих случаях повышение скорости компьютера давно уже не увеличивает скорость выполнения работы человеком, сидящим за этим компьютером. Невозможно набрать текст в редакторе или ввести числа в электронную таблицу быстрее только из-за того, что в компьютере прибавилось оперативной памяти или у нового процессора выше частота.

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

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

    Проведем простенький расчет: допустим, вам удалось сократить время загрузки с одной минуты до 30 секунд. Казалось бы, результат весьма неплох. Но перед этим вы полдня провели, читая разные форумы, сравнивая и анализируя полученную информацию, решая, что именно следует предпринять. Итого для экономии 30 секунд на каждой перезагрузке потрачено 4 часа (14400 секунд). Нетрудно подсчитать, что эти затраты оправдаются через 480 перезагрузок, и только после этого (при загрузке раз в день — примерно через полтора года) вы начнете получать выгоду. Причем не исключено, что за эти полтора года вы купите новый компьютер или переустановите систему, и затраты на «оптимизацию» окажутся просто впустую потраченным временем. В лучшем случае вы получите косвенную выгоду за счет дополнительно приобретенных знаний, но право же, эти знания можно было приобрести и другим, более легким путем.

    Но возможность увеличить скорость загрузки никто и не отрицал. А вот оценить полезный эффект от изменения настроек не удалось, насколько известно автору, еще никому. Впрочем, можно привести наглядный пример. Сравнительно недавно в форуме (и еще минимум в двух других) с целью «обсуждения системных служб Windows 7, их оптимизации и методов контроля изменения производительности (скорость загрузки ОС и т. д.) при оптимизации» была создана тема. И хотя участнику сразу говорили (на разных форумах), что проку от этого нет, он, однако, не поверил и решил перепроверить всё сам. В итоге появилась на свет статья, в которой человек после личной проверки пришел к тем же самым результатам. Остается надеяться, что гонорар за статью хотя бы частично окупил потраченное время.

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

    Если вы видите совет установить некое значение в параметре SecondLevelDataCache, вспомните, что этот параметр перестал использоваться начиная с Win2000 SP1. Утверждения, что параметр DisablePagingExecutive увеличивает скорость работы системы, неверны: он увеличивает скорость отклика системы за счет некоторого снижения производительности в целом. Рекомендация установить число ядер в настройках Msconfig для ускорения загрузки в лучшем случае бесполезна, ведь система и так по умолчанию использует все ядра. Зато уже были примеры, когда человек, сменив двухъядерный процессор на четырехъядерный и забыв восстановить исходное значение настройки, недоумевал, куда же делись два добавленных ядра.

    Заключение

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

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

    Как увеличить производительность процессора за счет настроек электропитания (парковка ядер, как включить все ядра ЦП ✔)

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

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

    К тому же функция парковки ядер позволяет процессору (при определенной нагрузке) переносить все задачи на одно ядро, а остальные переводить в режим ожидания (т.е. работать будет фактически только одно ядро). Естественно, это снижает общую производительность (правда, делает систему более отзывчивой, но незначительно). Отмечу, что Windows к тому же не совсем корректно работает с парковой ядер на процессорах Intel (по крайней мере Windows 7).

    Так вот, задав определенные настройки электропитания, можно ограничить работу функции парковки ядер и повысить общую производительность (в некоторых случаях до 20%!). На мой взгляд есть смысл попробовать потратить 3-5 мин. на «эксперимент»!

    Примечание : в первую очередь эта тема касается многоядерных процессоров от Intel (на AMD, честно говоря, адекватной статистики не имею. Но попробовать можно. ).

    Как настроить тонко электропитание процессора

    Чтобы не быть голословным о повышении производительности, приведу один небольшой тест быстродействия в WinRAR (офиц. сайт архиватора). На скриншоте ниже: в левой части приведена общая скорость до оптимизации настроек; справа — после. Даже невооруженным глазом видно, что в тестах ЦП начинает работать быстрее (что положительно сказывается и в реальных задачах, тех же играх, например) .

    Разница в производительности

    Примечание : рекомендую вам запустить тест в WinRAR сначала до оптимизации настроек (и запомнить общую скорость), и затем провести тест после оптимизации. Далее просто сравнить эти числа, в ряде случаев удается выжать из ЦП еще 10-20%!

    Важный момент!

    Как уже сказал выше, в первую очередь этот вопрос касается многоядерных процессоров (4 ядра и выше). Чтобы узнать количество ядер своего ЦП — просто запустите утилиту CPU-Z, и посмотрите в нижнюю часть окна: в графе Cores увидите кол-во ядер (пример ниже).

    CPU-Z — 4 Cores (4 ядра, 8 потоков)

    1) И так, начать нужно с настройки реестра.

    Тут дело в том, что Windows по умолчанию скрывает часть настроек электропитания. Чтобы их открыть для редактирования, необходимо внести определенные изменения в реестр. Проще всего это сделать с помощью уже готового файла настроек, который нужно просто запустить и согласиться с добавлением параметров в системный реестр. Вот подготовленный файл: core_parking (нужно извлечь его из архива и запустить. Архив запакован с помощью WinRAR, актуален для Windows 7-10) .

    Редактор реестра — настройки успешно внесены в реестр

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

    2) Настройка схемы электропитания

    Теперь необходимо открыть панель управления Windows раздел «Оборудование и звук/Электропитание» . После перейти в настройки текущей схемы электропитания (т.е. ту, которая сейчас у вас используется). В моем случае это сбалансированная (см. скриншот ниже).

    Настройка текущей схемы электропитания

    Далее нужно открыть дополнительные настройки питания.

    Изменить дополнительные параметры питания

    Теперь самое главное (см. скриншот ниже):

    1. минимальное число ядер в состоянии простоя: рекомендуется выставить значение в 99% (почему-то если выставить 100% — Windows часто отправляет одно ядро «отдыхать»);
    2. разрешить состояние снижения питания: переведите в режим выкл. (не дает процессору экономить энергию);
    3. отключение простоя процессора: переведите режим в откл.;
    4. минимальное состояние процессора: 100% (незначительно ускоряет работу ЦП (кстати, в некоторых случаях позволяет уменьшить писк от дросселей )) .
    5. политика охлаждения системы: активная (более эффективно охлаждает ЦП);
    6. максимальное состояние процессора: 100% (очень сильно влияет на производительность! Обязательно выставите на 100%);
    7. максимальное число ядер в состоянии простоя: 100% (противоречивая опция. Если выставить что-то отличное от 100% — то грузятся почему-то не все ядра, несмотря на то что активны все. ).

    Дополнительные параметры электропитания

    Сохраните настройки и перезагрузите компьютер!

    3) Еще раз о режиме питания (касается в первую очередь ноутбуков)

    После перезагрузки компьютера (ноутбука) — обратите внимание на режим питания (кликните по батарейке в трее). Выставите производительность на 100%!

    Кроме этого, обратите внимание на центры управления ноутбуком, которые могут идти в комплекте к вашим драйверам (например, такие есть у устройств от Lenovo, Sony и пр.). В них также устройство нужно перевести в режим высокой производительности.

    Питание ноутбука // менеджер ноутбука

    4) Тестирование быстродействия

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

    Тестирование — WinRAR / Кликабельно

    Дополнение!

    Чтобы посмотреть, как идет нагрузка на ядра ЦП — откройте «Диспетчер задач» (Ctrl+Shift+Esc) и перейдите во вкладку «Производительность» . Далее щелкните правой кнопкой мышки по графику загрузки ЦП и в меню выберите «Изменить график/Логические процессы» . См. скрин ниже.

    Диспетчер задач — производительность

    В результате у вас будет не один график, а несколько, в зависимости от количества ядер (потоков).

    Все ядра загружены

    Обратите внимание, при нагрузке (например, тестировании) — в идеале все ядра должны быть загружены (как на скриншоте ниже).

    Для более показательного теста работы ЦП рекомендую воспользоваться утилитой AIDA64 (ссылку на инструкцию привожу ниже).

    Как выполнить стресс-тест процессора и системы в целом, держит ли он частоты, нет ли перегрева (AIDA 64) — https://ocomp.info/kak-vyipolnit-stress-test-videokartyi-noutbuka-v-aida-64.html

    PS

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

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