Как производительность 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, а при обращении к диспетчеру задач — 0, так что это приведет к запуску Блокнота на ЦП 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 в Германии

Ссылка на основную публикацию
Adblock
detector