Tehnografi.com - Технологические новости, обзоры и советы

Как Windows Использовать многоядерный процессор?

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

Как Windows (и, возможно, все операционные системы) воспользоваться преимуществами ядра? Альтернативно, если эта функция интегрирована в аппаратное обеспечение, как ядро ​​может узнать, какое приложение, когда и как? Я думаю, что чем больше вещей, тем лучше, но как это работает? И один /Windows лучше использовать ядро?

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

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

Проблема: ЦП может запускать только один поток за раз. Каждый процесс требует как минимум одного потока. Как мы можем улучшить производительность компьютера?

Решение: тактовая частота процессора выше.

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

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

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

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

SMT = ЦП может запускать несколько потоков одновременно, планируя второй поток, который может использовать исполнительные блоки, которые не используются первым потоком. Intel называет это технологией Hyper-Threading, а AMD – только SMT. В настоящее время AMD и Intel используют SMT для повышения производительности процессора. Обе компании исторически использовали его стратегически, предлагая его в некоторых продуктах, а не в других. В наши дни большинство процессоров обеих компаний предлагают SMT. В системе пользователя это означает, что у вас есть поддержка, например, ядра CPU * 2 thread или 8C / 16T.

Средняя школа = Несколько операций симметрии. ЦП содержит несколько ядер ЦП (или использует материнскую плату с несколькими разъемами). Каждое ядро ​​процессора работает только один поток. Количество потоков, которые вы можете выполнять в час, ограничено количеством имеющихся у вас ядер. Это написано как 6C / 6T.

Гипер нить "ширина =" 640 "высота =" 448

Hyper-Threading, как правило, положительно влияет на чипы Intel.

Несколько потоков в контексте одного ядра: «Может ли ваш процессор запускать несколько потоков одновременно?» Вместо "Как быстро ваш процессор может перемещаться между потоками?"

«Может ли ваша операционная система запускать несколько приложений одновременно без сбоев?» это также часто запрашиваемая ситуация.

Оптимизация загрузки и операционной системы

Современные процессоры, включая чип x86, построенный 20 лет назад, реализуют так называемое Corrupt Execution или OoOE. Все современные высокопроизводительные процессорные ядра, в том числе большие смартфоны. Немного, ооо дизайн. Эти процессоры переставляют свои инструкции в режиме реального времени для лучшей производительности.

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

Тем не менее, процессор не планирует сам. Это полностью зависит от операционной системы. Внешний вид многопоточного процессора не меняет его. Когда вышла первая двухпользовательская плата процессора (ABIT BP6), многоядерный вентилятор Windows NT или Windows 2000. Семейство Win9X не поддерживает многоцветную визуализацию.

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

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

Можете ли вы настроить вручную Windows Как использовать это лучше

Как правило, нет. Есть несколько особых случаев Windows он должен быть обновлен, чтобы использовать возможности нового процессора, но это всегда то, что Microsoft должна делать.

Есть много исключений из этой политики, но есть несколько исключений:

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

AMD 2990WX является исключением из этой политики. Низкая производительность процессора Windows потому что Microsoft не рассматривает наличие процессора с несколькими узлами NUMA и не использует ресурсы 2990WX должным образом. В некоторых случаях есть способы улучшить производительность 2990WX с помощью ручного распространения, но я настоятельно рекомендую перейти на Linux для решения общей проблемы, если таковая имеется.

Даже 3990X Больше вопреки теории. потому что Windows Когда вы ограничиваете 10 групп процессоров до 64 потоков, вы не можете выделить более 50 процентов ресурса приложения 3990X для рабочей нагрузки, если приложение не применяет настраиваемую синхронизацию. Вот почему 3990X не рекомендуется для большинства приложений – он лучше всего работает с рендерами и другими профессиональными приложениями, которые делают этот шаг.

За исключением самой высокой системы подсчета ядер, где некоторые ручные настройки теоретически могут улучшить производительность, Microsoft не оптимизировала для этого случая использования, нет, вы ничего не можете сделать, чтобы оптимизировать ее Windows Разделите нагрузку. Честно говоря, вы действительно не хотите быть там. Конечным пользователям не нужно беспокоиться о ручной настройке потоков для лучшей производительности, поскольку оптимальная конфигурация будет варьироваться в зависимости от задачи, обрабатываемой ЦП в данный момент времени. Долгосрочная тенденция в разработке ЦП и ОС заключается в более тесном сотрудничестве между ЦП и операционной системой, что облегчает управление питанием и турбо-режим.

Примечание редактора: спасибо Брюсу Боркоски за предложения по статье.

Прочитай сейчас: