Чтение онлайн

на главную - закладки

Жанры

Современный компьютер. Сборка и модернизация

Лаптев Дмитрий

Шрифт:

Почему так важна разрядность? Все просто – увеличивая объем данных, обрабатываемых за один такт работы процессора, можно повлиять на производительность ничуть не хуже по сравнению с традиционным путем подъема частоты и наращивания других количественных параметров. Упрощенно говоря, для обработки того же объема данных 64-битным процессорам может потребоваться вдвое меньше тактов, чем 32-битным, при этом не наблюдается таких негативных последствий, как растущее тепловыделение, непременно сопровождающее подъем частоты.

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

дожидаться 64-битной версии своих любимых программ. Более того, сама операционная система должна быть переписана с нуля. Именно из-за последнего обстоятельства процесс смены разрядности занимает так много времени – написать и отладить операционную систему даже для такой могущественной компании, как Microsoft, будет не быстрым делом. А разработчики программ предпочитают ориентироваться на массовый рынок и тем более не будут спешить с выпуском обновлений своих программ под еще не вышедшую Windows. Поэтому, несмотря на то, что разработка 64-битной версии Windows началась задолго до выпуска в свободную продажу самих процессоров, готовая система появилась лишь в мае 2005 года, а перевод распространенных программ на 64-битные версии займет еще несколько лет. Тем не менее никто не сомневается, что дело это стоящее и эффект в результате будет заметным и основательным.

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

Компания AMD, очевидно, смогла учесть обе трудности. Во-первых, компания предложила не просто переход на 64-битную разрядность, но и попутно ввела несколько давно напрашивающихся улучшений в саму архитектуру, чтобы сделать ее максимально привлекательной для освоения. А во-вторых, сохранила совместимость своих 64-битных процессоров со всеми существующими 32-битными операционными системами и программами. Более того, в большинстве программ новые процессоры оказались сильнее в сравнении с конкурентами уже на момент выпуска именно на 32-битных программах. Это привело к тому, что пользователи стали покупать процессоры Athlon 64, исходя из их текущих показателей без особых расчетов на будущее и даже не задумываясь о перспективах появления 64-битных версий своих программ. В настоящее время парк таких компьютеров активно растет, и разработчики программ могут рассчитывать, что их усилия по оптимизации программ для 64-битного режима будут коммерчески оправданны и новые версии гарантированно найдут сбыт.

О двух ядрах

Наконец, последним веянием в области процессоростроения можно смело назвать «двухъядерность» – удвоение самих вычислительных блоков на кристалле. В отличие от внедрения 64-битности, пока нельзя достоверно сказать, насколько скоро это нововведение будет поддержано разработчиками ПО. Сама инициатива была озвучена компанией AMD в процессе подготовки к выпуску процессоров на ядре K8 (Athlon 64 для настольных компьютеров и Opteron для серверов) в конце девяностых годов. Первое поколение двухъядерных процессоров вышло в мае 2005 года. При этом соответствующие модели поставили на рынок оба основных производителя, так как несколько ранее, в 2004 году, о намерении «сдвоить» ядра заявила и Intel.

Как и в случае удвоения разрядности, «сами по себе» два ядра также не обеспечивают автоматического ускорения. Есть лишь одно значимое отличие – двухъядерный процессор не требует новой операционной системы. Зато от разработчиков программ требуется несравнимо более глубокая переработка своих программ с изменением самого алгоритма, так чтобы в программе вычленялись два параллельных потока исполнения. В противном случае второе ядро будет простаивать, а скорость работы ничем не будет отличаться от работы одноядерного процессора. Однако надо учитывать, что такая оптимизация не просто затруднительна сама по себе, а зачастую невозможна в принципе – алгоритмы чаще всего предполагают, что команды исполняются одна за другой и исходные данные для последующих команд жестко зависят от результатов предшествующих. Именно так работает большинство общеупотребительных программ в настоящее время, и ситуация пока не меняется.

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

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

 

К настоящему моменту инициативу Hyper-Threading можно назвать в целом неудавшейся, так, в двухъядерных процессорах Pentium D виртуальная многопоточность (то есть 4 логических процессора) будет создана лишь в ограниченном количестве моделей. И по имеющимся тестам, она практически не влияет на уровень их производительности.

Тем не менее эти выводы никак не касаются «истинной многоядерности» – есть целые категории профессиональных задач, для которых переход на двухъядерные процессоры оправдан уже сейчас. Распределение одной задачи между несколькими процессорами нельзя назвать очень уж новой идеей, но до сих пор этот способ применялся лишь для соответствующих классов задач, которые хорошо поддавались распараллеливанию. Стоимость материнской платы, на которую можно установить два процессора, равно как и стоимость пары процессоров, способных работать в паре, всегда ограничивала распространение подобных систем. Потому и список соответствующих программ получается небольшой. Значительное ускорение на «двухядерниках» наблюдается в пакетах 3ds max 6, Maya 6.5, Lightwave 8.2, небольшой эффект заметен в программах Adobe Photoshop и Distiller и уж совсем минимальный – в программах упаковки данных. В играх эффект отсутствует полностью, поскольку отображением трехмерной картинки в компьютере занимается видеокарта, а процессору остаются плохо распараллеливаемые процессы. Однако есть надежда, что переход к двум физическим ядрам все же заставит программистов начать более активную оптимизацию приложений и через несколько лет ситуация изменится.

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

Поделиться:
Популярные книги

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Сердце Дракона. Том 19. Часть 1

Клеванский Кирилл Сергеевич
19. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.52
рейтинг книги
Сердце Дракона. Том 19. Часть 1

Возмездие

Злобин Михаил
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Возмездие

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Запретный Мир

Каменистый Артем
1. Запретный Мир
Фантастика:
фэнтези
героическая фантастика
8.94
рейтинг книги
Запретный Мир

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Восьмое правило дворянина

Герда Александр
8. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восьмое правило дворянина

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

Кодекс Охотника. Книга IX

Винокуров Юрий
9. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга IX

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень