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

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

Жанры

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

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

Шрифт:

Почему так важна разрядность? Все просто – увеличивая объем данных, обрабатываемых за один такт работы процессора, можно повлиять на производительность ничуть не хуже по сравнению с традиционным путем подъема частоты и наращивания других количественных параметров. Упрощенно говоря, для обработки того же объема данных 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: Лихие 90-е

Киров Никита
2. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 2: Лихие 90-е

Совершенный: Призрак

Vector
2. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: Призрак

Авиатор: назад в СССР 11

Дорин Михаил
11. Покоряя небо
Фантастика:
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 11

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Идеальный мир для Лекаря 5

Сапфир Олег
5. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 5

Хозяйка старой усадьбы

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

Идеальный мир для Социопата 5

Сапфир Олег
5. Социопат
Фантастика:
боевая фантастика
рпг
5.50
рейтинг книги
Идеальный мир для Социопата 5

Новый Рал 2

Северный Лис
2. Рал!
Фантастика:
фэнтези
7.62
рейтинг книги
Новый Рал 2

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Проклятый Лекарь V

Скабер Артемий
5. Каратель
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь V

Ведьма

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.54
рейтинг книги
Ведьма

На границе империй. Том 2

INDIGO
2. Фортуна дама переменчивая
Фантастика:
космическая фантастика
7.35
рейтинг книги
На границе империй. Том 2