Современный компьютер. Сборка и модернизация
Шрифт:
Но, совершенно очевидно, каков бы ни был объем кэш-памяти, рассчитывать, что это сколько-нибудь существенно отразится на необходимости обращаться за данными в оперативную память, не приходится. Объем внешней памяти, занимаемый программами, измеряется сотнями мегабайт, и к тому же существует масса программ, не предполагающих «повторное» обращение к одним и тем же данным, поэтому их просто бессмысленно помещать в кэш-память. Причем в последний класс попадают задачи, связанные с наиболее востребованной по нынешним временам переработкой мультимедийных данных – оцифрованного видео, аудио, компьютерной объемной графики в играх и программах 3D-моделирования.
Поэтому нужно стремиться использовать гораздо более перспективный и универсальный путь – совершенствовать способ работы с оперативной памятью. Так, в наиболее совершенном из процессоров,
Частота и разрядность
Кроме архитектуры, на производительность процессора влияет еще ряд параметров, которые различаются даже у процессоров, принадлежащих к одному семейству. В первую очередь – это тактовая частота самого процессора. Именно на выпуске вариантов с измененной частотой и строятся модельные ряды на всякий вкус и кошелек. По мере того как совершенствуется производство процессоров, появляются новые модели с большей частотой, а все их предшественники в этот момент дешевеют, смещаются на одну ступеньку вниз в ценовой «табели о рангах». Таким образом, точно сказать, какого диапазона частот стоит придерживаться, нельзя, так как информация устаревает очень быстро. Но есть любопытное наблюдение, которое остается истинным уже довольно давно. И нет причин, чтобы оно перестало действовать в будущем. Наиболее выгодным приобретением являются процессоры из середины модельного ряда, старшие, как правило, стоят намного дороже середнячков, имея всего лишь на 200–400 МГц большую частоту.
Второй параметр, который часто можно встретить даже в прайс-листах в кратких описаниях процессоров, – частота системной шины (FSB). Системная шина – это канал, связывающий процессор с системами ввода и вывода данных. Здесь никаких хитростей нет. Чем выше частота шины, тем меньше придется простаивать процессору в ожидании данных и команд, поступающих из оперативной памяти. Исключение составляет упомянутый Athlon 64, так как для него этот параметр лишен смысла. Этот процессор работает с памятью через свой выделенный канал, и скорость обмена данными ограничивается только возможностями самой памяти. Для сообщения с остальной периферией – жесткими дисками, адаптером локальной сети и прочим оборудованием используется фирменный канал Hyper-Transport, пришедший на персональные компьютеры из мира серверов и обладающий большим запасом пропускной способности.
Следующий параметр, подлежащий осмыслению, – это разрядность процессора. Эта величина описывает объем данных, которыми процессоры могут оперировать внутри своих вычислительных блоков. Справедливости ради, его стоило бы поставить на первое место по значимости, так как в технических справочниках по процессорам принята градация именно по этому параметру. Но до недавнего времени мы просто не имели возможности выбирать по этому критерию, так как все процессоры для персональных компьютеров (за исключением серверов и профессиональных рабочих станций) за последние без малого 20 лет были 32-битными. А еще раньше они были 16-битными. Лишь в 2003 году были выпущены первые 64-битные процессоры для персональных компьютеров (Athlon 64), а к настоящему времени совместимое 64-битное расширение было добавлено также в процессоры Pentium 4, принадлежащие к шестисотой серии. И по прогнозам экспертов, в течение ближайших 2–3 лет 64-битные процессоры полностью вытеснят в продаваемых компьютерах своих предшественников, хотя в общей массе они будут преобладать лишь через 3–4 года.
Почему так важна разрядность? Все просто – увеличивая объем данных, обрабатываемых за один такт работы процессора, можно повлиять на производительность ничуть не хуже по сравнению с традиционным путем подъема частоты и наращивания других количественных параметров. Упрощенно говоря, для обработки того же объема данных 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.
Как и в случае удвоения разрядности, «сами по себе» два ядра также не обеспечивают автоматического ускорения. Есть лишь одно значимое отличие – двухъядерный процессор не требует новой операционной системы. Зато от разработчиков программ требуется несравнимо более глубокая переработка своих программ с изменением самого алгоритма, так чтобы в программе вычленялись два параллельных потока исполнения. В противном случае второе ядро будет простаивать, а скорость работы ничем не будет отличаться от работы одноядерного процессора. Однако надо учитывать, что такая оптимизация не просто затруднительна сама по себе, а зачастую невозможна в принципе – алгоритмы чаще всего предполагают, что команды исполняются одна за другой и исходные данные для последующих команд жестко зависят от результатов предшествующих. Именно так работает большинство общеупотребительных программ в настоящее время, и ситуация пока не меняется.