Ваше местоположение в сети:
Рубрика:

Многоядерность

Разделы сайта:

Чем хвалятся производители современных процессоров (ну или продавцы компьютеров). Во-первых, 64-битностью, но я об этом уже писал. А во-вторых, постоянно упоминается некая многоядерность. Что это за зверь такой и с чем его едят? Сейчас попробую рассказать. И, заодно, отвечу на вопрос - а нужен ли вам многоядерный компьютер, и, если да, то сколько ядер.

А то услышал я тут диалог двух девушек. Одна с таким умным видом рассказывает: "мне тут новый ноутбук купили, но на нем эта, Виста будет, а то там эти, как их, ядра, и XP уже не тянет." На самом деле, в этих словах может быть доля правды. У компьютера может быть больше 3х гигабайт оперативной памяти, поэтому обычную, 32-битную Windows XP использовать глупо, а 64-битные - это редкость. Но "ядра" - это совсем другая песня...

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

task-manager

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

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

Многоядерность, конечно, не панацея, но "подвесить" многоядерный компьютер существенно сложнее. А суть такого процессора состоит в том, что он действительно имеет несколько "ядер" (по-английски, kernel), каждое из которых может выполнять вычисления независимо от других. Тем самым, один процесс может загрузить только одно ядро, а остальные останутся свободными.

Зачем вам нужен многоядерный компьютер? Ну вот как раз, чтобы он меньше вис. Для этого хватит двух ядер, в случае ноутбука подойдет, например, процессор Intel Dual Core. Нужно ли больше ядер? Возможно, но только если вы собираетесь гонять высокопроизводительные вычисления (например, при кодировании видео), а также для современных игр. Кстати, в последнее время стали продаваться и четырехядерные ноутбуки. Например, если мы рассмотрим ноутбуки Samsung, то увидим недавно появившийся шикарный R780 с процессором CoreI7.

И отвечу на незаданный вопрос - а как же программа использует все эти ядра, если один процесс может загружать только одно ядро? Автоматически - никак. Об этом должен позаботиться разработчик, но в случае вышеупомянутых игр и кодирование, скорей всего, разработчики действительно позаботились. Как это делается? А запускается несколько процессов, которые обмениваются друг с другом данными. Это - особый раздел программирования, так называемое параллельное программирование, зачастую более сложное, чем обычное. Я, кстати, тоже таким занимаюсь ;)

Ну вот и все. У вас остались вопросы или комментарии? Буду рад!

← Файловые системы WindowsОбход прокси →
comments powered by Disqus