LinuxWindows

Как производительность Windows зависит от аппаратного и программного обеспечения

Как производительность Windows зависит от аппаратного и программного обеспечения

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

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

Процессор и операционная система

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

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

  • Все инструкции уровня процессора ограничены использованием 32-битных регистров, следовательно, все собственные математические функции аналогичным образом ограничены в отношении их диапазона и точности.
  • Объем доступной физической памяти уменьшается до 4 ГБ, даже если установлено больше памяти.
  • Аппаратная память, такая как видеопамять, будет занимать часть адресуемой памяти вместо того, чтобы перемещаться над ней или перераспределять ОЗУ вокруг адресов аппаратной памяти.
  • Все другое программное обеспечение, которое вы хотите запустить в системе, должно быть 32-разрядным и будет ограничено этими же параметрами.

Это лучшая причина убедиться, что вы используете 64-разрядную операционную систему на любом компьютере с 64-разрядным процессором.

Процессор Возможности

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

От одного до нескольких ядер

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

демонтаж-старый компьютер

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

Соединение ядер с помощью Hyperthreading

В 2002 году Intel выпустила технологию гиперпоточности гиперпоточность что заставляет операционную систему «видеть» два логических процессора для каждого ядра в чипе. Он работает, имея два разных набора данных о состоянии процессора, по одному для каждого логического процессора и одно общее ядро ​​выполнения. Это позволяет операционной системе назначать поток выполнения каждому логическому процессору, который поддерживает свои собственные данные состояния. Когда один поток блокируется из-за ожидания данных или другого ресурса, другой логический процессор может использовать ядро ​​выполнения для своей обработки, если только он не находится в состоянии ожидания. Увеличение производительности при использовании этой технологии обычно колеблется от 15 до 30 процентов.

Процессор Intel® Core ™ i7 4-го поколения спереди и сзади

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

Влияние прикладного программного обеспечения

Итак, теперь, когда вы решили приобрести новый 64-разрядный двухъядерный процессор Intel с гиперпоточностью и соединить его с 64-разрядной версией Windows, вы получите максимально возможную производительность, верно? Ну, возможно.

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

Старые одноядерные процессоры, о которых я упоминал выше, могли обрабатывать только один поток за раз. Большая часть программирования, выполненного в то время, была написана для использования только одного потока. Использование этого программного обеспечения в многоядерной системе все равно приведет к тому, что для этого потока будет использовано только одно ядро. Вот почему вы можете увидеть четырехъядерную систему, работающую с нагрузкой 25% в диспетчере задач, с одним ядром при 100% -ной загрузке, а остальные три ядра, по-видимому, простаивают. Рабочая нагрузка не распределена.

Процессор-использование

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

Несмотря на то, что программа была разработана с учетом многопоточности, все еще существует вероятность того, что некоторые ее функции не могут быть распараллелены. Одним из примеров этого являются приложения Microsoft Office, которые используют макросы Visual Basic для приложений (VBA). Долгосрочный макрос, вероятно, потребляет все ядро, пока не завершится. Поскольку компьютер не может автоматически определить, можно ли распараллелить макрос, он просто не пытается это сделать.

Повышение производительности однопоточных приложений

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

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

Процессор сродство

Вы также можете сделать это из командной строки, используя флаг / affinity команды start.

start /affinity 2 notepad.exe 

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

Аналогичная функциональность существует для пользователей Linux с помощью команды taskset. Он является частью пакета util-linux и является частью установки по умолчанию для большинства дистрибутивов. Если его нет в вашей системе, вы можете установить его с

 sudo apt-get install util-linux 

для дистрибутивов на основе Debian или

 sudo yum install util-linux 

для систем на базе Red Hat.

Чтобы использовать команду для запуска vlc на CPU 2, вы должны использовать

 taskset -c 2 vlc 

Чтобы изменить привязку к процессу, который уже запущен с идентификатором процесса (PID) 9021, чтобы использовать ЦП 4 и 5, вы должны использовать

 taskset -cp 4,5 9021 

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

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

Финальный дубль

Так какой же самый лучший вариант? Лучший ответ: это зависит.

Если вы знаете, что в вашей системе будет работать электронная таблица Excel, в которой используются долго работающие макросы VBA, вам лучше использовать двухъядерную систему с тактовой частотой 3 ГГц, а не четырехъядерную с тактовой частотой 2,2 ГГц, но если Постоянно подпрыгивая между несколькими многопоточными программами во время работы или игры на компьютере, все наоборот.

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

Какой опыт вы получили с 64-битной производительностью? Есть ли у вас 32-битное программное обеспечение, которое превосходит его 64-битный аналог, или между ними нет заметной разницы? Дайте нам знать в комментариях ниже.

Image Credit: Демонтаж старого компьютера ( CC на 2.0 ) с помощью fdecomite, 4-го поколения Процессор Intel® Core ™ i7 спереди и сзади ( CC на 2.0 ) от Intel в Германии

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

Команды командной строки для панели управления апплетами