Разделы сайта
Выбор редакции:
- Samsung Galaxy Note N7000 - Технические характеристики
- Как настроить почту на андроиде
- Смартфон Tele2 Mini: подробный обзор модели Мобильный телефон теле2 mini характеристики
- Сервисный центр lenovo Безопасная прошивка на леново а319
- Что делать, если не скачивается файл с Интернета?
- Важнейший вопрос фотографии – как сделать фото четким?
- Что подарить фанату Apple на новый год
- Как удалить всплывающую в браузере рекламу?
- Часы Polar M400: обзор, характеристики, отзывы Часы polar m400 как подключить gps
- Как выбрать лучшие беспроводные наушники для телевизора Оптимальный выбор SKYMAXX i8x
Реклама
Процессоры Intel Pentium4 LGA775. Процессоры Интел пентиум 4 сокет |
С одной стороны, время в IT-индустрии летит настолько быстро, что не успеваешь замечать новые продукты и технологии, а с другой ну-ка, вспомним сколько лет мы не видели нового ядра от Intel? Не старого с переделками: тут частоту FSB подняли, там виртуальную многопроцессорность с серверного процессора на десктопный перенесли (на самом деле просто разрешили последнему честно рассказать, что она у него есть), но действительно полностью нового? Если не с нуля разработанного, то хотя бы не латаного, а заново по тем же лекалам сшитого, но с другими рюшечками и по последней моде? А ведь целых два года, оказывается! Даже с хвостиком небольшим. И все это время горячие головы рассуждали на излюбленную тему: а каким же оно будет, новое ядро? Чего только не предсказывали вплоть до полной анафемы архитектуре NetBurst и воцарения сплошного Banias на декстопной платформе. Правда (как часто бывает), оказалась менее сказочной: новое ядро оказалось честным и последовательным продолжателем Northwood. Разумеется, с некоторыми архитектурными нововведениями, но стремления «до основанья, а затем » в нем не прослеживается. Поэтому чисто эмоционально Prescott можно оценивать по-разному: кто-то похвалит инжереров Intel за последовательность и целеустремленность, кто-то, наоборот посетует на отсутствие свежих идей. Однако эмоции личное дело каждого, мы же обратимся к фактам. Теория Основные изменения в ядре (Prescott vs. Northwood)Для начала мы предлагаем вам небольшую табличку, в которой сведены воедино наиболее существенные различия между ядрами Prescott и Northwood во всем что касается «железа» (а точнее кремния, и прочих «минеральных составляющих»). Остается только добавить, что новое ядро содержит 125 миллионов транзисторов (куда там бедному Northwood с его 55 миллионами!), и его площадь равна 112 кв. мм (немного меньше площади Northwood 146/131 кв. мм, в зависимости от ревизии). Произведя несложный арифметический подсчет, видим, что увеличив количество транзисторов в ~2,3 раза, за счет нового техпроцесса инженерам Intel удалось, тем не менее, уменьшить площадь ядра. Правда, не так значительно «всего» в 1,3 (1,2) раза. Что же касается технологии «напряженного» (некоторые предпочитают термин «растянутый») кремния то она, если объяснять на пальцах, довольно проста: с целью увеличения расстояния между атомами кремния, он помещается на подложку, расстояние между атомами у которой больше. В результате, для того чтобы «хорошо усесться», атомам кремния приходится растягиваться по предложенному формату. Выглядит это примерно вот так: Ну а понять, почему электронам проще проходить через напряженный кремний, вам поможет вот этот простенький рисунок: Как видите, геометрическая ассоциация в данном случае вполне уместна: путь электрона просто становится короче. Ну а теперь рассмотрим гораздо более интересные отличия: в логике ядра. Их тоже немало. Однако для начала будет нелишним напомнить об основных особенностях архитектуры NetBurst как таковой. Тем более что не так уж и часто мы это делали в последнее время. Немного предысторииИтак, одним из основных отличий ядер, разработанных в рамках архитектуры NetBurst, сама компания Intel считает уникальную особенность, выражающуюся в разделении собственно процесса декодирования x86-кода во внутренние инструкции, исполняемые ядром (uops), и процедуры их выполнения. Между прочим, такой подход породил в свое время немало споров относительно корректности подсчета стадий конвейера у Pentium 4: если подходить к данному процессору с классической точки зрения (эпохи до-NetBurst), то стадии декодера следует включать в общий список. Между тем, официальные данные Intel о длине конвейера процессоров Pentium 4 содержат информацию исключительно о количестве стадий конвейера исполняющего блока, вынося декодер за его рамки. С одной стороны «крамола!», с другой это объективно отражает особенность архитектуры, поэтому Intel в своем праве: она же ее и разработала. Спорить, можно, разумеется, до посинения, однако какая, собственно, разница? Главное понимать суть подхода. Не нравится вам, что декодер исключен? Ну так прибавьте его стадии к «официальным» и получите искомую величину конвейера по классической схеме, вместе с декодером. Таким образом, основная идея NetBurst асинхронно работающее ядро, в котором декодер инструкций работает независимо от Execution Unit. С точки зрения Intel, существенно бо льшая, чем у конкурентов, частота работы ядра, может быть достигнута только при асинхронной модели т.к. если модель синхронная, то расходы на синхронизацию декодера с исполняющим блоком возрастают пропорционально частоте. Именно поэтому вместо обычного L1 Instructions Cache, где хранится нормальный x86-код, в архитектуре NetBurst применяется Execution Trace Cache, где инструкции хранятся уже в декодированном виде (uops). Trace это и есть последовательность uops. Также в историческом экскурсе хотелось бы окончательно развеять мифы, связанные с излишне упрощенной формулировкой, согласно которой ALU у Pentium 4 работает на «удвоенной частоте». Это и так и не так. Однако для начала взглянем на условную блок-схему процессора Pentium 4 (уже Prescott): Легко заметить, что ALU состоит из нескольких частей: в нем присутствуют блоки Load / Store, Complex Instructions, и Simple Instructions. Так вот: с удвоенной скоростью (0,5 такта на операцию) обрабатываются лишь те инструкции, что поддерживаются исполняющими блоками Simple Instructions. Блок ALU Complex Instructions, исполняющий команды, отнесенные к сложным наоборот, может тратить до четырех тактов на исполнение одной инструкции. Вот, собственно, и все, что хотелось бы напомнить относительно внутреннего устройства процессоров сконструированных на базе архитектуры NetBurst. Ну а теперь перейдем к нововведениям в самом свежем NetBurst-ядре Prescott. Увеличение длины конвейераВряд ли это изменение можно назвать усовершенствованием ведь общеизвестно, что чем длиннее конвейер, тем бо льшие накладные расходы вызывает ошибка механизма предсказания ветвлений, и, соответственно, уменьшается средняя скорость выполнения программ. Однако, видимо, другого способа увеличить разгонный потенциал ядра, инженеры Intel найти не смогли. Пришлось прибегнуть к непопулярному, но проверенному. Итог? Конвейер Prescott увеличен на 11 стадий, соответственно, общее их количество равняется 31. Честно говоря, мы намеренно вынесли эту «приятную новость» в самое начало: фактически, описание всех последующих нововведений можно условно назвать «а вот теперь мы вам расскажем, как инженеры Intel боролись с последствиями одного-единственного изменения, чтобы оно окончательно не угробило производительность»:). Усовершенствования в механизме предсказания ветвленийВ основном, тонкий тюнинг коснулся механизма предсказания переходов при работе с циклами. Так, если ранее по умолчанию обратные переходы считались циклом, то теперь анализируется длина перехода, и исходя из нее механизм пытается предсказать: цикл это, или нет. Также было обнаружено, что для ветвей с определенными типами условных переходов, независимо от их направления и расстояния, использование стандартного механизма предсказания ветвлений чаще всего неактуально соответственно, теперь в этих случаях он не используется. Однако кроме теоретических изысканий, инженеры Intel не побрезговали и голой эмпирикой т.е. просто-напросто отслеживанием эффективности работы механизма предсказания ветвлений на примере конкретных алгоритмов. С этой целью было исследовано количество ошибок механизма предсказания ветвлений (mispredictions) на примерах из теста SPECint_base2000, после чего по факту были внесены изменения в алгоритм с целью их уменьшения. В документации приводятся следующие данные (количество ошибок на 100 инструкций):
Ускорение целочисленной арифметики и логики (ALU)В ALU был добавлен специализированный блок для исполнения инструкций shift и rotate, что позволяет теперь исполнять данные операции на «быстром» (двухскоростном) ALU, в отличие от ядра Northwood, где они исполнялись в блоке ALU Complex Instructions, и требовали бо льшего количества тактов. Кроме того, ускорена операция целочисленного умножения (integer multiply), ранее исполнявшаяся в блоке FPU. В новом ядре для этого выделен отдельный блок. Также есть информация о присутствии некоторого количества мелких усовершенствований, позволяющих увеличить скорость обработки инструкций FPU (и MMX). Впрочем, ее мы лучше проверим в практической части при анализе результатов тестов. Подсистема памятиРазумеется, одним из основных плюсов нового ядра являются увеличенные размеры L1-кэша данных (в 2 раза т.е. до 16 килобайт) и кэша второго уровня (также в 2 раза т.е. до 1 мегабайта). Однако есть и еще одна интересная особенность: в ядро введена специальная дополнительная логика, обнаруживающая page faults в инструкциях software prefetch. Благодаря этому нововведению, инструкции software prefetch теперь имеют возможность осуществлять не только предвыборку данных, но и предвыборку page table entries т.е., другими словами, prefetch умеет не останавливаться на загруженной странице, но еще и обновлять страницы памяти в DTLB. Разбирающиеся в вопросе наверняка заметят на этом примере, что Intel внимательно следит за отзывами программистов, пусть даже и не кается прилюдно по поводу каждого обнаруженного ими негативного фактора, влияющего на производительность. Новые инструкции (SSE3)Кроме всего прочего, в Prescott добавлена поддержка 13 новых инструкций. Назван этот набор, по устоявшейся традиции, SSE3. В их числе присутствуют команды преобразования данных (x87 to integer), работы с комплексной арифметикой, кодирования видео (правда, всего одна), новые команды, предназначенные для обработки графической информации (массивов вершин), а также две инструкции, предназначенные для синхронизации потоков (явно последствия появления Hyper-Threading). Впрочем, о SSE3 мы в скором времени выпустим отдельную статью, поэтому рассматривать возможности данного набора в этом материале воздержимся, чтобы не портить излишней популяризацией серьезную и интересную тему. Ну а теперь, пожалуй, довольно с нас теории и спецификаций. Попытаемся, как говорилось в одном известном анекдоте, «вместе со всем этим взлететь»:). Тестирование Конфигурации стендов и ПОТестовый стенд
Системное ПО и драйверы устройств
В завершение описания, хотелось бы разъяснить алгоритм подбора участников тестирования. С одной стороны, полностью исключить из тестов процессоры AMD было бы неправильно, ведь эта платформа основной конкурент Intel, как сейчас, так и в обозримом будущем. С другой стороны совмещать в одной статье сравнение двух поколений Pentium 4 с процессорами другого производителя, означало бы не сравнить толком ни то, ни другое. Поэтому мы решили в первом материале, посвященном Prescott, пойти на определенный компрормисс: во-первых, полностью исключить всевозможные «экстремальные» варианты в виде Pentium 4 eXtreme Edition и Athlon 64 FX, во-вторых же, взять в качестве представителя альтернативной платформы только один, но быстрый из обычных десктопных процессоров AMD: Athlon 64 3400+. Да и то, по большому счету, его результаты здесь приводятся лишь в качестве опции. В этом материале нас более всего интересует сравнение нового ядра Intel со старым. Если кто-то желает получить одновременно информацию о том, как производительность Prescott соотносится с ближайшим конкурентом что ж, она представлена на диаграммах. Комментарии? Пожалуй, они просто излишни. Вы сами в этом убедитесь. Зная, какова производительность Prescott и Northwood, работающих на одинаковой частоте, и то, как соотносятся производительность Northwood и топовых процессоров AMD (а этот вопрос мы уже неоднократно освещали) вы знаете вполне достаточно для того, чтобы самостоятельного сделать все остальные выводы. Кроме того, хотелось бы разъяснить наличие на диаграммах двух столбиков для Prescott 3,2 ГГц. Дело просто в том, что мы решили подстраховаться. Всем известно, что с выходом процессора на другом ядре, среди производителей системных плат сразу же начинается суматоха с обновлением BIOS, всяческих microcode update, и прочего «железно-ориентированного» ПО. Нам показалось логичным использовать такой ресурс нашей тестовой лаборатории как «официально Prescott-ready» системные платы максимально полно, чтобы уберечься от возможных последствий некорректной работы конкретной модели. Впрочем, как вы увидите далее, опасения оказались напрасными: в большинстве случаев новый процессор вел себя на обеих платах совершенно одинаково. Все характеристики Prescott 2,8A ГГц программа Разумеется, не ошиблась она и в случае с Низкоуровневые тесты в CPU RightMarkДля начала, мы решили проверить функционирование нового ядра в двух режимах традиционно самом лучшем для процессоров Pentium 4 и самом худшем: SSE/SSE2 и MMX/FPU. Начнем с вычислительного блока (Math Solving). Результаты неутешительные. Новое ядро медленнее старого, более того в режиме MMX/FPU его отставание даже больше, чем при использовании SSE/SSE2. Делаем первый вывод: если что-то в FPU и «подкручивали», то явно в CPU RightMark используются другие команды. Ну а что у нас с рендерингом? Во-первых, рассмотрим варианты работы модуля рендеринга в однопоточном и двухпоточном режимах с максимальной производительностью (SSE/SSE2). Картина достаточно интересная: если используется один поток преимущество Prescott минимально, а больший по частоте Northwood его легко обгоняет. Однако стоит нам задействовать Hyper-Threading, как Prescott тут же резко вырывается вперед, причем настолько, что обгоняет всех других участников. Возникает впечатление, что некая работа над ядром в плане улучшения обработки параллельно выполняющихся потоков, была проведена, и заключалась она не только в расширении набора команд. Посмотрим теперь, как себя ведут те же процессоры в режиме MMX/FPU. Абсолютно аналогичная картина. Причем если сопоставить ее с предыдущей хорошо видно, что тщательность анализа себя оправдала: если бы, к примеру, мы ограничились рассмотрением лучшего (двухпотокового) результата, можно было бы ошибочно сделать вывод о том, что ядро Prescott быстрее в плане исполнения инструкций, причем даже в режиме MMX/FPU. Сейчас же хорошо видно, что быстродействие возросло исключительно благодаря оптимизации использования ресурсов виртуальных CPU. Тесты в реальных приложенияхПеред тем как начать рассмотрение результатов тестов в реальных приложениях, сделаем небольшое вводное разъяснение. Дело в том, что процессор Pentium 4 на ядре Prescott с частотой 3,4 ГГц, к сожалению, до сих пор для нас недоступен, поэтому то, что вы видите на диаграммах под названием "Virtual" Prescott 3,4 ГГц это не более чем аппроксимация результатов Prescott 3,2 ГГц, рассчитанная исходя из идеальных условий роста производительности пропорционально частоте. Кто-то может заметить, что это слишком топорный подход. Дескать, намного корректнее было бы, к примеру, разогнать имеющийся Prescott 3,2 ГГц с помощью выставления большей частоты FSB, или хотя бы выстроить кривую аппроксимации по трем точкам: Prescott 2,8 ГГц -> 3,0 ГГц -> 3,2 ГГц. Разумеется, так было бы корректнее. Однако «на всякого мудреца довольно простоты», и просто обратите внимание на то, какие поправки вносит в общую картину наличие на диаграммах даже «идеального» Prescott 3,4 ГГц (а реальный будет либо таким же, либо медленнее третьего не дано). Рискуя навлечь на себя немилось преждевременным разглашением тайны, скажем сразу: да практически никаких. Где ядро Prescott выигрывает там это и так видно. А где проигрывает не помогают ему даже идеализированные 3,4 ГГц Работа с графикойСамые предсказуемые результаты у Northwood 3,4 ГГц (немного лучше, чем у Northwood 3,2 ГГц) и Prescott 2.8 ГГц (отсутствие поддержки Hyper-Threading сразу же выбросило его в аутсайдеры). Prescott 3,2 ГГц пытается быть хотя бы наравне с одночастотным Northwood, но у него не получается даже это. Ну а наш «виртуальный Prescott 3,4 ГГц», в свою очередь, не смог обогнать реальный Northwood 3,4 ГГц что тоже естественно. C другой стороны, можно заметить, что все процессоры кроме Prescott 2,8 ГГц почти равны. Вряд ли это будет аргументом для апгрейда на Prescott, но хотя бы не станет существенным доводом против его покупки для тех, кто задумывается над приобретением новой системы. В Lightwave ситуация аналогичная, только Prescott отстает еще больше. Здесь уместно будет вспомнить, что Lightwave (судя по сравнению результатов 6-й ветки с 7-й), затачивался под Pentium 4 очень тщательно и скрупулезно. Можно предположить, что именно поэтому он оказался так чувствителен к малейшим архитектурным изменениям в ядре. Также отметим, что впервые протестированный нами в этой программе Athlon 64 3400+ демонстрирует пусть и не лучший, но вполне приличный результат. Для Photoshop в современных процессорных архитектурах, видимо, самым главным параметром является размер кэша. Мы уже неоднократно обращали внимание на то, что эта программа весьма «кэшелюбива», и результаты Prescott это подтверждают. Кодирование медиаданныхВообще, поскольку мы тестируем новую (или существенно модифицированную, если вам так больше нравится) архитектуру то для нас любое приложение может стать маленьким открытием. По сути, сейчас количество даже важнее качества, потому что нам просто необходимо набрать как можно больше данных о том, как старые (еще не оптимизированные под Prescott) программы ведут себя с новым процессорным ядром. Вот, тот же LAME: оказывается, для него Prescott по всем статьям новый процессор результаты совершенно не ложатся на то, что мы ранее знали про Northwood. Правда, они стали хуже. Что ж, бывает. Продолжаем коллекционировать Ogg Encoder демонстрирует практически идентичную картину: Prescott существенно проигрывает всем остальным процессорам без исключения, несмотря на удвоенный кэш данных первого уровня и L2. Остается предположить, что виновато увеличение длины конвейера при оставшемся неизменным объеме Trace Caсhe. Даже тяготеющий к архитектуре NetBurst кодек DivX невзлюбил новое ядро. Не то что бы очень сильно, но все-таки оно ему не понравилось. Впрочем, тут есть определенная надежда на SSE3 разработчики DivX просто обожают различные оптимизации (во всяком случае, судя по анонсам), поэтому весьма велик шанс, что единственная и неповторимая инструкция, предназначенная для ускорения кодирования видео, найдет свое место в будущем релизе данного кодека. Однако это все в будущем, а пока увы
Ну, вот и первая победа. Впрочем, возвращаясь к теме о предпочтениях различного ПО, можно заметить, что Windows Media Video 9 весьма неплохо поддерживает Hyper-Threading, а данные низкоуровневых тестов показали, что эффективность задействования виртуальных CPU в случае с новым ядром возрастает. Похоже, что это первый положительный результат, достигнутый за счет качественного, а не количественного изменения в Prescott. Во всех предыдущих случаях он «выезжал» исключительно за счет большого объема кэша Очень, очень интересный результат. Mainconcept MPEG Encoder, которому мы пеняли за «корявую» работу с Hyper-Threading при кодировании в формат MPEG1 вполне адекватно работает с виртуальными процессорами, если они эмулируются Prescott, а не Northwood! Впору даже задуматься: быть может, программисты не виноваты, просто «затык» был в процессорном ядре, которое некорректно распараллеливало потоки? Вполне возможно, по крайней мере, глядя на результаты Prescott, понимаешь, что и это предположение имеет право на жизнь. C другой стороны вполне неплохо себя показал Prescott 2,8A ГГц, про Hyper-Threading и слыхом не слыхавший. Забавная ситуация. Пожалуй, мы находимся на пороге интересного открытия: напрашивается предположение, что вся «оптимизация работы Hyper-Threading в Prescott» сводится всего лишь к тому что этой технологии в Northwood не хватало объема кэша, чтобы развернуться в полную силу! И снова можно порадоваться за новое ядро: в Mainconcept MPEG Encoder не только пропал «глюк» с кодированием MPEG1, но и преобразование в MPEG2 стало работать существенно быстрее. Имея в виду результаты предыдущих тестов, можно почти однозначно утверждать, что основным виновником торжества является улучшенная работа Hyper-Threading (и не забываем о том, за счет чего она могла стать лучше если наши предположения верны). Что самое интересное не понадобились даже специальные команды для управления потоками из набора SSE3, процессор сам отлично разобрался (поддержку SSE3 в данной версии кодировщика предполагать не приходится она вышла довольно давно). А вот Canopus ProCoder просто почти ничего не заметил. В принципе, небольшая разница в производительности присутствует, и она даже в пользу Prescott. Но, по сути, это копейки, мелочь. Учитывая «кэшелюбивость» ProCoder, можно даже сказать так: весь большой кэш, судя по всему, ушел на компенсацию других недостатков нового ядра. Он просто вытянул Prescott на ту же высоту, что и Northwood, но, увы не более. АрхивированиеТрадиционно, мы протестировали 7-Zip как со включенной поддержкой многопоточности, так и без нее. Ожидаемый эффект достигнут в этой программе не был: не заметно, чтобы многопоточность на Prescott давала намного больший эффект, чем на Northwood. Да и вообще особой разницы между старым и новым ядром не видно. Похоже, что мы наблюдаем упомянутый выше эффект: все, что смогли сделать количественные показатели Prescott (объемы кэша L1 Data и L2) это компенсировать его же удлиненный конвейер. К слову: один из немногих тестов, где хоть как-то видна разница между платами. В остальном все та же картина: Prescott и Northwood одинаковой частоты идут рядом, практически не отличаясь по скорости. Пессимисты скажут: «плохо», оптимисты: «могло быть и хуже»:). Мы просто промолчим ИгрыКартина во всех трех играх схожая, поэтому особенно расписываться нет нужды: Prescott все же медленнее. Правда, ненамного. Обобщая результатыЧто ж, если делать какие-то выводы на основании тех тестов, что присутствуют в статье, то ситуация выглядит следующим образом: ядро Prescott в целом медленнее Northwood. Иногда это удается компенсировать бо льшим объемом кэша, вытянув производительность на уровень старого ядра. Ну а если программа особенно чувствительна к объему L2, Prescott даже способен выиграть. Кроме того, несколько улучшилась эффективность Hyper-Threading (но похоже, что причина снова кроется в увеличении объема L2-кэша). Соответственно, если программа умеет использовать обе сильные стороны нового ядра большой кэш и виртуальную многопроцессорность то выигрыш получается ощутимым. В целом же, производительность Prescott примерно такая же, как у Northwood, а применительно с старому, неоптимизированному ПО даже более низкая. Ожидаемой революции, увы, не получилось. С другой стороны а был ли мальчик? Но об этом ниже. Что же касается Prescott 2,8A ГГц с 533-мегагерцевой системной шиной и без поддержки Hyper-Threading, то как раз тут все предельно ясно. Во-первых, для Intel это просто очень хороший способ сделать хотя бы что-то из тех экземпляров, которые в «настоящем Prescott"овском» режиме банально не заработали. Этакий «Celeron среди Prescott"ов» (хотя будет, судя по всему, на базе этого ядра и официальный Celeron). Во-вторых отсутствие Hyper-Threading скорее всего свидетельствует о принципиальном нежелании Intel видеть HT на устаревшей, низкоскоростной шине. Действительно: единственным представителем 533 МГц FSB + HT так и остался первый процессор с поддержкой этой технологии Pentium 4 3,06 ГГц. Да и то по вполне понятной, извиняющей его причине: не было еще на тот момент CPU с 800-мегагерцевой шиной. Таким образом, да простят нам инженеры Intel эту вольность, Pentium 4 2,8A ГГц это «как бы не Prescott». А просто сравнительно недорогой (другим его выпускать нельзя не купит ведь никто ), но высокочастотный Pentium 4. И совершенно неважно, на каком он сделан ядре, не в этом суть. Честно говоря, было искушение его в этот материал вообще не включать, но потом мы решили поступить наоборот: дать ему один раз «засветиться», и более к данному чу дному процессору не возвращаться. Из простого сравнения одночастотных ядер Prescott и Northwood понятно, что без Hyper-Threading Prescott 2.8 ГГц даже с Pentium 4 2.8C (800 МГц FSB + HT) по усредненным показателям производительности соперничать не сможет. Версии Да, именно «версии», а не «выводы». Слишком неоднозначным получился этот материал. Проще было бы ограничиться анализом диаграмм и сделать напрашивающийся, лежащий на поверхности вывод: «если новое не быстрее (а то и медленнее) старого значит, оно хуже». Списать, так сказать, в расход. Однако самый простой ответ не всегда самый правильный. Поэтому мы решили коснуться аналитики, и рассмотреть выход Prescott в исторически-рыночной перспективе. Получилось, что ответов на вопрос «в чем для Intel состоит смысл выпуска Pentium 4 на ядре Prescott?» на самом деле несколько, и каждый из них можно логично аргументировать. Версия первая или Большая ошибкаПочему бы и нет? Жила-была компания Intel, и появилась у нее идея: сделать процессорное ядро, ориентированное не на максимальный КПД (если рассматривать КПД как соотношение производительности к частоте), а на легкую масштабируемость. Дескать, если наши 2000 МГц проигрывают 1000 МГц от конкурента не беда, догоним частоту до 4 ГГц и оставим всех позади. Между прочим, с чисто инженерной точки зрения, это вполне адекватное решение. Не все ли равно? Пользователя-то (грамотного) все равно интересуют не мегагерцы, а производительность, какая ему разница, за счет чего она достигается? Главное чтобы масштабируемость оказалась именно такой, какую предполагалось достичь. И вот, выясняется, что с масштабируемостью начались большие проблемы. Догнали до 3,4 ГГц, остановились и пришлось придумывать новое ядро, у которого КПД еще ниже и неизвестно, какими темпами будет расти у него частота и так далее. Напомним, что это версия. Рассмотрим ее внимательнее в сопоставлении с реальными фактами. Факт, свидетельствующий в пользу данной версии рост частоты Pentium 4 за прошедший 2003 год. Все-таки 200 МГц, да еще и по отношению к такой «частотолюбивой» архитектуре как NetBurst явно мало. Однако как общеизвестно, рассматривать какой-то факт в отрыве от других не очень хорошая практика. Был ли смысл в активном наращивании частоты Pentium 4 в прошлом году? Вроде бы нет Основной конкурент решал другие вопросы у него новая архитектура, новое ядро, ему нужно наладить массовое производство процессоров на базе этого ядра, обеспечить им соответствующую обвязку в виде чипсетов, системных плат, программного обеспечения, в конце концов! Поэтому один из вариантов ответа на вопрос «почему практически не росла частота (и производительность) Pentium 4 в 2003 году» звучит просто: не было особого смысла ее наращивать. Ни догонять, ни перегонять вроде некого. Стало быть, можно особенно не торопиться. Получить ответ на главный вопрос мы, увы, пока не можем: как будет «гнаться» новое ядро? Пока что, если судить по внешним признакам, фактов, подтверждающих хорошую масштабируемость Prescott нет. Впрочем, равно как и опровергающих ее. Анонсированы 3,4-гигагерцевые версии как Prescott, так и Northwood. Northwood 3,4 ГГц, наверное, будет последним процессором на этом ядре (хотя, официальных подтверждений этого предположения нет). А то, что Prescott стартовал с 3,4 ГГц, а не с 3,8 или 4,0 тоже легко объяснимо: зачем прыгать через ступеньки? Подводя итог: версия «Большой ошибки», в принципе, имеет право на существование. Но если частота (а еще точнее, производительность) Prescott будет быстро расти, это однозначно подтвердит ее несостоятельность. Версия вторая или Переходное ядроНи для кого не секрет, что иногда производителю требуется выпустить некое устройство, достаточно ординарное само по себе (в другой ситуации совершенно не заслуживающее звания релизного продукта). Но в том-то и дело, что выпуск данного устройства необходим для продвижения на рынок других, анонсируемых одновременно с ним или чуть позже. Таким был Pentium 4 Willamette, вряд ли достойный звания «хорошего и быстрого процессора», однако явно обозначивший факт перехода одного из самых крупных игроков на процессорном рынке, на новое ядро, и под конец своего существования сменивший «промежуточный» Socket 423 на «долгоиграющий» Socket 478. Что, если аналогичная роль уготована Prescott? Уже всем известно, что с выходом Grantsdale-P, нас ждет появление еще одного процессорного разъема для Pentium 4 (Socket T / Socket 775 / LGA775), и поначалу устанавливаться в него будут именно CPU на ядре Prescott. Лишь впоследствии Pentium 4 «Tejas» начнет постепенно их замещать. И тут вполне логично задаться вопросом: а насколько быстро будет происходить это замещение? Поскольку мы все равно лишь выдвигаем версии, ограничивать свою фантазию не будем, и предположим, что Intel желает этот процесс максимально ускорить. С помощью чего? Скорее всего оставив Socket 478 мирно почивать в нижних строчках на диаграммах производительности, и сделав Socket 775 символом обновленной, мощной и скоростной платформы для Pentium 4. Тогда все становится ясно: Prescott нужен для того, чтобы на рынке присутствовал процессор, способный работать как в платах с разъемом Socket 478, так и с новым Socket 775. Tejas же, если наши предположения верны, будет устанавливаться только в Socket 775, и станет, таким образом, могильщиком как для Prescott, так и для устаревшей платформы Socket 478. Логично? Нам кажется, что да. В таком случае, правдоподобно смотрится и следующее предположение: жизнь Prescott’у уготована весьма недолгая Версия третья или «Кто с мечом к нам придет »Не секрет, что соперничество между двумя основными конкурентами Intel и AMD, почти всегда строилось на противопоставлении двух основных аргументов. Intel: «наши процессоры самые быстрые!», AMD: «зато у наших лучше соотношение цены и производительности!». Соперничество давнее, аргументы тоже. Причем, они не изменились даже с выходом процессоров AMD на ядрах K7/K8, несмотря на то, что у последних с производительностью дела обстоят намного лучше, чем у K6. Ранее Intel не делала исключений из основного своего правила: продавать свои CPU с производительностью, аналогичной процессорам конкурента, немного дороже. Рынок местами очень прост, поэтому причина такого поведения понятна: если их и так покупают то зачем снижать цену? Опять-таки: хоть участвовать в ценовых войнах Intel и приходилось, но развязывала их всегда AMD, это уже стало традицией. Третья версия базируется на очевидном предположении: а что если на этот раз Intel решила повести себя агрессивнее, чем обычно, и развязать ценовую войну первой? В списке достоинств нового ядра Prescott числится не только новизна, объемы кэшей, и потенциально хорошая (правда, пока не подтвержденная) масштабируемость, но и цена! Это сравнительно дешевое в производстве ядро: если при использовании 90-нанометровой технологии будет достигнут показатель выхода годных чипов хотя бы такой же, как у Northwood то, ничуть не теряя в абсолютных показателях прибыли, Intel сможет продавать свои процессоры за гораздо меньшую цену. Напомним одну очевидную зависимость: такую характеристику CPU как «соотношение цена / производительность», можно улучшать, не только повышая производительность, но и снижая цену. Вообще-то, никто не мешает быстродействие даже понизить (!) главное, чтобы цена упала еще больше:). Судя по появляющимся в Сети неофициальным анонсам цен на Pentium 4 Prescott, стоить они будут намного дешевле Pentium 4 Northwood. Таким образом, мы можем предположить, что Intel решила осуществить своего рода «обход с флангов»: пока основной конкурент, по старинке, все гонится и гонится за производительностью, ему будет нанесен удар в секторе middle-end систем, где пользователи тщательно анализируют именно такой показатель как price / performance. Версия четвертая или Тайное оружиеЗдесь следует сделать небольшое лирическо-историческое отступление для тех, кто «во времена оные» не очень активно отслеживал разные мелкие нюансы в процессорном секторе. Так, к примеру, можно вспомнить, что сразу после появления первых процессоров с поддержкой Hyper-Threading (а ими были вовсе не Pentium 4 «Northwood» + HT, а Xeon «Prestonia»), многие задались вопросом: «если ядра Prestonia и Northwood настолько похожи, что практически не отличаются по основным характеристикам, но у Prestonia поддержка Hyper-Threading присутствует, а у Northwood ее нет то не логично ли предположить, что и у Northwood она тоже есть, просто искусственно заблокирована?». Впоследствии это предположение косвенно подтвердилось анонсом Pentium 4 3,06 ГГц на все том же ядре Northwood, но уже с Hyper-Threading. Более того, самые смелые выдвигали и вовсе крамольную мысль: Hyper-Threading была даже в Willamette! А теперь вспомним: что у нас в последнее время известно по части новых технологических инициатив Intel. Сразу всплывают два названия: «La Grande» и «Vanderpool». Первое технология аппаратной защиты приложений от вмешательства извне, которую вкратце можно описать словами «сделать так, чтобы одно ПО не могло вмешиваться в функционирование другого». Впрочем, о La Grande вы можете почитать на нашем сайте . Об Vanderpool информации меньше, но исходя из обрывков доступной на сегодня, можно сделать вывод, что она представляет собой вариацию на тему полной виртуализации PC, включая все без исключения аппаратные ресурсы. Таким образом (самый простой, но и самый эффектный пример), на одном компьютере смогут работать параллельно две операционные системы, причем одна из них может быть даже перезагружена но это совершенно не отразится на работе другой. Так вот: есть очень большие подозрения, что и La Grande и Vanderpool в ядре Prescott уже реализованы, но (как было ранее с Hyper-Threading) пока не активированы. Если это предположение истинно, то многое относительно самого ядра становится понятным. В частности то, почему оно такое большое, почему так долго разрабатывалось, но, несмотря на это, не выирывает в скорости у предыдущего. Если исходить из гипотезы «Тайного оружия», можно предположить, что основные ресурсы команды разработчиков были направлены вовсе не на достижение быстродействия, а на отладку новых функций. Частично данная версия перекликается со второй так или иначе, но мы имеем дело с переходным ядром. Соответственно, быть совершенным оно вовсе не обязано, ибо не в том его основное предназначение. Между прочим, также удачно вторую и четвертую версии дополняет третья: низкая цена в данном случае является именно той конфеткой, что подсластит для конечного пользователя пилюлю «переходности». Подводя итогиМы не зря назвали эту статью «полшага вперед». Prescott получился более сложным и неоднозначным, чем ожидаемый «Northwood с увеличенным объемом кэша и более высокой частотой» (как многие его воспринимали). Разумеется, можно обвинить производителя в том, что прирост скорости в среднем близок к нулю (а местами и отрицательный), в очередной чехарде с поддержкой процессоров на базе нового ядра системными платами И, между прочим, вполне справедливо это сделать. Это, в конце концов, не наши проблемы а между тем, именно мы с ними и столкнемся. Поэтому просто поставим в конце статьи «жирное троеточие». На стоп-кадре видно только начало шага: нога, зависшая в воздухе, или, если угодно, лайнер на взлете. Что нас ждет дальше? Благоприятным ли окажется «приземление» (Tejas?..) Пока можно только догадываться. За более чем 5 лет было выпущено множество ядер и моделей Pentium 4, основанных на них. Причем с выходом новой модели к названию процессора добавлялись либо новая буква, либо еще какие-нибудь цифры, а иногда и то, и другое; всё это существенно запутывает идентификацию конкретной модели. Процессор Pentium 4 построен на совершенной новой архитектуре - NetBurst. Ниже приведены некоторые отличительные особенности оригинальной архитектуры NetBurst (некоторые из них в последующем были изменены).
В целом, архитектура была нацелена для работы на высоких частотах, где в полную силу смог бы заработать длинный конвейер. WillametteВпервые это ядро «засветилось» в роадмэпе () Intel еще в 1998 году. Предполагалось, что оно должно прийти на смену и покорить частоту 1 ГГц. Но процессоры на этом ядре были анонсированы только в 2000 году как Pentium 4. Выпущенные года, процессоры устанавливались в разъём Socket 423 и выпускались в корпусе тип FC-PGA2. Процессоры для Socket 423 не пользовались популярностью, так как Intel сразу заявила, что этот разъем является переходным, кроме того системы на базе Pentium 4 стоили очень дорого (сами процессоры в момент анонса стоили $644 и $819 за Pentium 4 1,4 и 1,5 ГГц соответственно). Так как процессор изготавливался с использованием 180 нм техпроцесса, то на кристалле удалось разместить лишь 256 Кбайт кэша L2. Большинство экспертов расценило 1,4 и 1,5 ГГц версии промежуточными - процессор Athlon набирал всё большую популярность, и превосходил по быстродействию Pentium III, а дальнейшее усовершенствование архитектуры Pentium III тогда было ещё не возможно. Терять свою долю рынка Intel не была намерена, поэтому она и выпустила эти процессоры («сырая» технология производства не позволила тогда выпустить более быстрые модели). Несмотря на непопулярность 1,4 и 1,5 ГГц версий, Intel года анонсирует 1,3 ГГц версию Pentium 4, которая стоила $409. В различных тестовых испытаниях эти процессоры проигрывали как Pentium III, так и Athlon`ам (а в некоторых случаях и `ам), работавшим на более низких частотах. Однако уже в апреле 2001 года выходит Pentium 4 с частотой 1,7 ГГц, а в августе этого года выходит 2 ГГц версия, а так же «новые-старые» процессоры для Socket 478, который просуществовал более чем 2 года, в этом же месяце выходит новый чипсет от Intel (i845). Новый чипсет теперь поддерживал память стандарта PC133 SDRAM, что позволило значительно снизить цены на системы на базе Intel Pentium 4, однако использование данного типа памяти несколько уменьшало быстродействие (иногда весьма существенно) системы. Intel для увеличения продаж активно продвигала данный процессор - его рекламу можно было увидеть как по телевизору, так и в газетах/журналах. Продажи Pentium 4 увеличивались, процессор начинал пользоваться всё большей популярностью. Вскоре многие производители системной логики представили свои чипсеты для Pentium 4 с поддержкой памяти , а в начале года Intel выпускает свои чипсеты с поддержкой данного типа памяти. Процессор начинает замещать собой Pentium III, а по производительности он фактически сравнялся с Athlon`ом. Intel, державшая пальму первенстве в течение 16 лет, а затем довольно быстро потерявшая её, сейчас вновь начинает отвоёвывать своё. А начавшиеся проблемы с отсутствием производственных мощностей у AMD и выпуск Pentium 4 на ядре Northwood закрепили лидирующие позиции Intel, правда, ненадолго.
NorthwoodПервые процессоры на данном ядре анонсированы года. Ядро мало чем отличается от своего предшественника, разве что использованием более совершенного тех процесса - 130 нм, что позволило разместить на кристалле 512Кб кэша L2 и снизить тепловыделение процессора. Переход на новый техпроцесс позволил ещё больше наращивать тактовую частоту (до 3,4ГГц). Чтобы отличать процессоры на ядре Northwood от аналогичных моделей на ядре Willamette, было решено в конце названия новых процессоров приписывать букву «A» (например Pentium 4 2,0A построен на ядре Northwood). PrescottMobile Pentium 4Первые версии Pentium 4 для ноутбуков и лэптопов были анонсированы года, были построены на ядре Northwood и носили имя Mobile Pentium 4-M. От настольных версий эти процессоры отличались заниженным напряжением питания (1,2-1,3 В) и поддержкой технологии . Частота системной шины у всех процессоров составляла 400 МГц. Были выпущены модели с частотами 1,4; 1,5; 1,6; 1,7; 1,8; 1,9; 2,0; 2,2; 2,4; 2,5; 2,6, TDP у последней модели составляет 35 Вт. Prescott 2MПервые слухи о новом ядре Prescott 2 появились в начале 2005 года. Предполагалось, что оно будет иметь 2 Мбайт кэша L2 и частоту FSB равную 266 МГц (эффективная частота 1066 МГц). Процессоры на основе этого ядра были анонсированы . От ядра Prescott это ядро отличается только наличием 2 Мбайт кэш-памяти L2. Новые процессоры получили и новую маркировку: 6x0. 21 февраля 2005 года были анонсированы модели Pentium 4 630, 640, 650, 660 с частотами 3,0; 3,2; 3,4; 3,6 ГГц, позднее была представлена модель 670, работающая на частоте 3,8 ГГц. Cedar MillАнонс процессоров, построенных на новом ядре, запланирован на вторую половину января . Ядро Cedar Mill представляет собой одноядерную модификацию ядра известного под кодовым именем . Cedar Mill изготовлен с использованием новейшей 65 нм технологии. По сути, ядро представляет собой ядро Prescott 2M, даже не изменилась серия процессора, процессоры без поддержки технологии виртуализации Vanderpool имеют маркировку вида 6x1, с поддержкой Vanderpool имеют маркировку вида 6x3. Процессоры первоначально будут иметь частоту от 3,0 ГГц до 3,8 ГГц. Более подробно о причине выхода Cedar Mill рекомендуется читать здесь . Ядро Cedar Mill является последним в линейке Pentium 4. Следующие поколения процессоров, в частности Conroe, будут продвигаться под новым брэндом, название которого, пока, не анонсировано. Tejas, Jayhawk и другиеIntel возлагала на архитектуру NetBurst большие надежды. В 2001-2003 в роадмэпах Intel встречались такие ядра, как Tejas, который должен был использовать шину 1066 МГц и работать на частотах от 4,4 до 9,2 ГГц и должен был бы быть поступить в продажу во второй половине 2004 года и называться Pentium 6. Nehalem, как предполагалось, этот процессор должен был использовать системную шину 1200 МГц и работать на частотах свыше 10 ГГц, и должен был поступить в продажу в 2005 году. Jayhawk, процессор серии Xeon, который должен был иметь кэш L1 для данных объемом 24 Кб и для 16 тысяч микроопераций. Однако все эти процессоры в 2004 году были отменены. Intel предполагала с помощью процессоров основанных на архитектуре NetBurst достичь частоты в 10ГГц, но, не дойдя и до 4 ГГц, эта архитектура столкнулась с неразрешимыми до сих пор (и похоже уже никогда) тепловыми проблемами. Данная проблема подтолкнула Intel к разработке новой архитектуры и к закрытию всех проектов по разработке ядер на архитектуре NetBurst. Взглянув назад, Pentium 4 оставляет двойственное впечатление. С одной стороны это был одни из самых популярных процессоров, его продвижение в , и, как следствие, огромная популярность в народе, позволили Intel надолго занять большую часть рынка. С другой стороны Pentium 4 имел не самую удачную архитектуру. Он так ни разу и не закрепил своё лидирующее положение в плане производительности, по уровню TDP (тепловыделение) он практически всегда проигрывал конкурентным процессорам AMD Athlon, впрочем также, как и по стоимости. А архитектура Pentium III, которую когда-то Intel посчитала менее перспективной, чем NetBurst вновь появилась в процессорах . Технические характеристики различных ядерДанные относящиеся ко всем моделям
Willamette
Northwood
Новые "весенние" процессоры продолжают радовать нас своим появлением. На этот раз отличилась компания Intel, представившая на украинском рынке сразу два топовых процессора Pentium 4 c частотой 3,4 GHz, однако построенных на различных ядрах — Northwood и Prescott соответственно. Надеемся, данный обзор поможет определиться с тем, что же способны дать пользователю такие похожие и вместе с тем настолько разные CPU.
Prescott также отметился, но в данном случае изменения касаются исключительно
Экосистема процессорного ядра Prescott Пожалуй, одно из значимых достижений Также отметим медленное внедрение поддержки SSE3 в современное мультимедийное
Тест Primordia из набора Science Mark 2.0 хоть и косвенно, но свидетельствует Остальные результаты вполне можно рассматривать с точки зрения глобальных закономерностей. Выводы После довольно революционного появления семейства AMD64, пошатнувшего Но все же выскажем некоторые претензии к Prescott. Заключаются они в слишком Разгон Для серьезного и стабильного разгона новых процессоров от Intel придется Казалось бы не так уж и давно вышел Pentium 4 2,8 ГГц, но неугомонная компания Intel видать настолько горда способностью своего нового процессорного ядра к постоянному «разгону», что не дает нам покоя анонсами все новых и новых процессоров:). Однако сегодняшний наш герой отличается от предыдущей топовой модели не только на 200 с небольшим мегагерц то, о чем давно мечтали некоторые особо продвинутые пользователи, наконец-то свершилось: технология эмуляции двух процессоров на одном процессорном ядре, ранее бывшая достоянием лишь сверхдорогих Xeon, наконец-то «освобождена» и отправлена в «свободное десктопное плавание». Хотите двухпроцессорный домашний компьютер? Их есть у нас! Все последующие модели Pentium 4, начиная с рассматриваемой в этом материале, будут обладать поддержкой Hyper-Threading. Однако кто-то может вполне резонно поинтересоваться: «А зачем мне двухпроцессорная машина дома? У меня же не сервер какой-нибудь!». И действительно зачем? Именно это мы и постарались объяснить ниже. Итак: Hyper-Threading что это такое и зачем он может быть нужен в обычных персональных компьютерах? SMP и Hyper-Threading: «галопом по европам»Для начала, давайте сделаем вид, что начинаем «с чистого листа» т. е. механизмы функционирования многопроцессорных систем нам неизвестны. Мы не собираемся начинать данной статьей цикл монографий, посвященных этому вопросу:), поэтому сложных моментов, связанных, к примеру, с виртуализацией прерываний и прочими вещами, трогать не будем. Фактически, нам нужно просто представлять как работает классическая SMP(Symmetric Multi-Processor)-система с точки зрения обычной логики. Нужно это хотя бы потому, что не так уж велико количество пользователей, хорошо себе представляющих как работает SMP-система, и в каких случаях от использования двух процессоров вместо одного можно ожидать реального увеличения быстродействия, а в каких нет. Честное слово, один из авторов этого материала как-то угробил часа полтора времени, доказывая своему, скажем так, «не бедному» другу, что Unreal Tournament у него на многопроцессорной машине будет работать ничуть не быстрее, чем на обычной:). Смешно? Уверяю вас только со стороны. Итак, представим, что у нас есть, к примеру, два процессора (остановимся на этом, самом простом примере) вместо одного. Что это нам дает? В общем-то ничего. Потому что в дополнение к этому нам нужна еще и операционная система, умеющая эти два процессора задействовать. Система эта должна быть по определению многозадачной (иначе никакого смысла в наличии двух CPU просто быть не может), но кроме этого, ее ядро должно уметь распараллеливать вычисления на несколько CPU. Классическим примером многозадачной ОС, которая этого делать не умеет, являются все ОС от Microsoft, называемые обычно для краткости «Windows 9x» 95, 95OSR2, 98, 98SE, Me. Они просто-напросто не могут определить наличие более чем одного процессора в системе ну и, собственно, дальше объяснять уже нечего:). Поддержкой SMP обладают ОС этого же производителя, построенные на ядре NT: Windows NT 4, Windows 2000, Windows XP. Также в силу своих корней, этой поддержкой обладают все ОС, основанные на идеологии Unix всевозможные Free- Net- BSD, коммерческие Unix (такие как Solaris, HP-UX, AIX), и многочисленные разновидности Linux. Да, к слову MS DOS многопроцессорность в общем случае тоже «не понимает»:). Если же два процессора все же определились системой, то дальнейший механизм их задействования в общем-то (на «логическом», подчеркнем, уровне!) довольно-таки прост. Если в данный момент времени исполняется одно приложение то все ресурсы одного процессора будут отданы ему, второй же будет просто простаивать. Если приложений стало два второе будет отдано на исполнение второму CPU, так что по идее скорость выполнения первого уменьшиться не должна вообще никак. Это в примитиве. Однако на самом деле все сложнее. Для начала: исполняемое пользовательское приложение у нас может быть запущено всего одно, но количество процессов (т. е. фрагментов машинного кода, предназначенных для выполнения некой задачи) в многозадачной ОС всегда намного больше. Начнем с того, что сама ОС это тоже приложение ну и не будем углубляться логика понятна. Поэтому на самом деле второй CPU способен немного «помочь» даже одиночной задаче, взяв на себя обслуживание процессов, порожденных операционной системой. Опять-таки, к слову об упрощениях именно так, идеально, разделить CPU между пользовательским приложением и ОС, конечно, все равно не получится, но, по крайней мере, процессор, занятый исполнением «полезной» задачи, будет меньше отвлекаться. Кроме того, даже одно приложение может порождать потоки (threads), которые при наличии нескольких CPU могут исполняться на них по отдельности. Так, например, поступают почти все программы рендеринга они специально писались с учетом возможности работы на многопроцессорных системах. Поэтому в случае использования потоков выигрыш от SMP иногда довольно весо м даже в «однозадачной» ситуации. По сути, поток отличается от процесса только двумя вещами он во-первых никогда не порождается пользователем (процесс может запустить как система, так и человек, в последнем случае процесс = приложение; появление потока инициируется исключительно запущенным процессом), и во-вторых поток умирает вместе с родительским процессом независимо от своего желания к примеру, если родительский процесс «глюкнул и упал» все порожденные им потоки ОС считает бесхозными и «прибивает» уже сама, автоматически. Также не стоит забывать, что в классической SMP-системе оба процессора работают каждый со своим кэшем и набором регистров, но память у них общая. Поэтому если две задачи одновременно работают с ОЗУ, мешать они друг другу будут все равно, даже если CPU у каждой «свой собственный». Ну и наконец последнее: в реальности мы имеем дело не с одним, не с двумя, и даже не с тремя процессами. На приведенном коллаже (это действительно коллаж, потому что со скриншота Task Manager были удалены все пользовательские процессы, т. е. приложения, запускаемые «для работы») хорошо видно, что «голая» Windows XP, сама по себе, не запустив еще ни одного приложения, уже породила 12 процессов, причем многие из них к тому же еще и многопоточные, и общее количество потоков достигает двухсот восьми штук (!!!). Поэтому рассчитывать на то, что нам удастся прийти к схеме «по собственному CPU на каждую задачу» совершенно не приходится, и переключаться между фрагментами кода процессоры будут все равно и физические, и виртуальные, и будь они хоть виртуальные в квадрате и по 10 штук на каждое физическое ядро:). Впрочем, на самом деле все не так грустно при грамотно написанном коде ничего в данный момент не делающий процесс (или поток) процессорного времени практически не занимает (это тоже видно на коллаже). Теперь, разобравшись с «физической» многопроцессорностью, перейдем к Hyper-Threading. Фактически это тоже многопроцессорность, только виртуальная. Ибо процессор Pentium 4 на самом деле один вот он, стоит в сокете, сверху кулер пришлепнут:). Второго сокета нет. А процессоров ОС видит два. Как это? В общем-то, очень просто. Смотрим на рисунок. Здесь нам придется все-таки немного углубиться в технические детали, потому что иначе, увы, что-либо объяснить не получится. Впрочем, те, кому оные детали неинтересны, могут данный абзац просто пропустить. Итак, классическому «одноядерному» процессору в нашем случае добавили еще один блок AS IA-32 Architectural State. Architectural State содержит состояние регистров (общего назначения, управляющих, APIC, служебных). Фактически, AS#1 плюс единственное физическое ядро (блоки предсказания ветвлений, ALU, FPU, SIMD-блоки и пр.) представляет из себя один логический процессор (LP1), а AS#2 плюс все то же физическое ядро второй логический процессор (LP2). У каждого LP есть свой собственный контроллер прерываний (APIC Advanced Programmable Interrupt Controller) и набор регистров. Для корректного использования регистров двумя LP существует специальная таблица RAT (Register Alias Table), согласно данным в которой можно установить соответствие между регистрами общего назначения физического CPU. RAT у каждого LP своя. В результате мы получили схему, при которой на одном и том же ядре могут свободно выполняться два независимых фрагмента кода т. е. де-факто многопроцессорную систему! Hyper-Threading: совместимостьКроме того, возвращаясь к вещам практическим и приземленным, хотелось бы затронуть еще один немаловажный аспект: не все ОС, даже поддерживающие многопроцессорность, могут работать с таким CPU как с двумя . Связано это с таким «тонким» моментом, как изначальное определение количества процессоров при инициализации операционной системы. Intel прямо говорит, что ОС без поддержки ACPI второй логический процессор увидеть не смогут. Кроме того, BIOS системной платы также должен уметь определять наличие процессора с поддержкой Hyper-Threading и соответствующим образом «рапортовать» системе. Фактически, применительно, к примеру, к Windows, это означает, что «в пролете» у нас оказывается не только линейка Windows 9x, но и Windows NT последняя ввиду отсутствия поддержки ACPI не сможет работать с одним новым Pentium 4 как с двумя. А вот что приятно это то, что несмотря на заблокированную возможность работы с двумя физическими процессорами, с двумя логическими, получаемыми с помощью Hyper-Threading, сможет работать Windows XP Home Edition. А Windows XP Professional, кстати, несмотря на ограничение количества физических процессоров до двух, при двух установленных CPU с поддержкой Hyper-Threading честно «видит» четыре:). Теперь немного о «железе». То, что новые CPU с частотой более 3 ГГц могут потребовать замены системной платы, знают, наверное, уже все земля (а точнее Internet) слухами полнится уже давно. К сожалению, это на самом деле так. Даже при номинальном сохранении все того же процессорного разъема Socket 478 Intel не удалось оставить в неприкосновенности потребляемую мощность и тепловыделение новых процессоров потребляют они больше, и греются, соответственно, тоже. Можно предположить (хоть это и не подтверждено официально), что увеличение потребления по току связано не только с ростом частоты, но и с тем, что из-за ожидаемого использования «виртуальной многопроцессорности» нагрузка на ядро в среднем вырастет, следовательно, возрастет и средняя потребляемая мощность. «Старые» системные платы в некоторых случаях могут быть совместимы с новыми CPU но только если делались «с запасом». Грубо говоря, те производители, которые делали свои PCB в соответствии с рекомендациями самой Intel относительно потребляемой Pentium 4 мощности, оказались в проигрыше по отношению к тем, кто немного «перестраховался», поставив на плату VRM с запасом и соответствующим образом ее разведя. Но и это еще не все. Кроме ОС, BIOS и электроники платы, с технологией Hyper-Threading должен быть совместим еще и чипсет . Поэтому счастливыми обладателями двух процессоров по цене одного:) смогут стать только те, чья системная плата основана на одном из новых чипсетов с поддержкой 533 МГц FSB: i850E, i845E, i845PE/GE. Несколько особняком стоит i845G первая ревизия этого набора микросхем Hyper-Threading не поддерживает , более поздняя уже совместима. Ну, вот, вроде бы с теорией и совместимостью разобрались. Но не будем спешить. ОК, у нас есть два «логических» процессора, у нас есть Hyper-Threading, вау! это круто. Но как уже было сказано выше, физически у нас процессор как был один, так и остался. Зачем же тогда нужна такая сложная «эмуляционная» технология, отбрасывая то, что можно горделиво демонстрировать Task Manager с графиками загруженности двух CPU друзьям и знакомым? Hyper-Threading: зачем она нужна?Против обыкновения, в этой статье мы немного больше чем обычно уделим внимания рассуждениям т. е. не технической прозе (где все в общем-то довольно однозначно трактуется и на основании одних и тех же результатов совершенно независимые люди чаще всего делают тем не менее весьма похожие выводы), а «технической лирике» т. е. попытке понять, что же такое нам предлагает Intel и как к этому следует относиться. Я уже неоднократно писал в «Колонке редактора» на нашем сайте, и повторю здесь, что эта компания, если внимательно посмотреть, никогда не отличалась абсолютным совершенством своих продуктов, более того вариации на те же темы от других производителей подчас получались гораздо более интересными и концептуально стройными. Однако, как оказалось, абсолютно все делать совершенным и не нужно главное чтобы чип олицетворял собой какую-то идею, и идея эта приходилась очень вовремя и к месту. И еще чтобы ее просто не было у других. Так было с Pentium, когда Intel противопоставила весьма шустрому в «целочисленке» AMD Am5x86 мощный FPU. Так было с Pentium II, который получил толстую шину и быстрый кэш второго уровня, благодаря чему за ним так и не смогли угнаться все процессоры Socket 7. Так было (ну, по крайней мере, я считаю это свершившимся фактом) и с Pentium 4, который противопоставил всем остальным наличие поддержки SSE2 и быстрый рост частоты и тоже де-факто выиграл. Сейчас Intel предлагает нам Hyper-Threading. И мы отнюдь не призываем в священной истерике биться лбом о стенку и кричать «господи помилуй», «аллах велик» или «Intel rulez forever». Нет, мы просто предлагаем задуматься почему производитель, известный грамотностью своих инженеров (ни слова про маркетологов! :)) и громадными суммами, которые он тратит на исследования, предлагает нам эту технологию. Объявить Hyper-Threading «очередной маркетинговой штучкой», конечно, проще простого. Однако не стоит забывать, что это технология , она требует исследований, денег на разработку, времени, сил Не проще ли было нанять за меньшую сумму еще одну сотню PR-менеджеров или сделать еще десяток красивых рекламных роликов? Видимо, не проще. А значит, «что-то в этом есть». Вот мы сейчас и попытаемся понять даже не то, что получилось в результате, а то, чем руководствовались разработчики IAG (Intel Architecture Group), когда принимали решение (а такое решение наверняка принималось!) разрабатывать «эту интересную мысль» дальше, или отложить в сундук для идей забавных, но бесполезных. Как ни странно, для того чтобы понять как функционирует Hyper-Threading, вполне достаточно понимать как работает любая многозадачная операционная система. И действительно ну ведь исполняет же каким-то образом один процессор сразу десятки задач? Этот «секрет» всем уже давно известен на самом деле одновременно все равно выполняется только одна (на однопроцессорной системе), просто переключение между кусками кода разных задач выполняется настолько быстро, что создается иллюзия одновременной работы большого количества приложений. По сути, Hyper-Threading предлагает нам то же самое, но реализована аппаратно, внутри самого CPU. Есть некоторое количество различных исполняющих блоков (ALU, MMU, FPU, SIMD), и есть два «одновременно» исполняемых фрагмента кода. Специальный блок отслеживает, какие команды из каждого фрагмента необходимо выполнить в данный момент, после чего проверяет, загружены ли работой все исполняющие блоки процессора. Если один из них простаивает, и именно он может исполнить эту команду ему она и передается. Естественно, существует и механизм принудительного «посыла» команды на выполнение в противном случае один процесс мог бы захватить весь процессор (все исполняющие блоки) и исполнение второго участка кода (исполняемого на втором «виртуальном CPU») было бы прервано. Насколько мы поняли, данный механизм (пока?) не является интеллектуальным т. е. не способен оперировать различными приоритетами, а просто чередует команды из двух разных цепочек в порядке живой очереди т. е. просто по принципу «я твою команду исполнил теперь уступи место другому потоку». Если, конечно, не возникает ситуации, когда команды одной цепочки по исполняющим блокам нигде не конкурируют с командами другой. В этом случае мы получаем действительно на 100% параллельное исполнение двух фрагментов кода. Теперь давайте подумаем, чем Hyper-Threading потенциально хороша, и чем нет. Самое очевидное следствие ее применения повышение коэффициента полезного действия процессора. Действительно если одна из программ использует в основном целочисленную арифметику, а вторая выполняет вычисления с плавающей точкой, то во время исполнения первой FPU просто ничего не делает, а во время исполнения второй наоборот, ничего не делает ALU. Казалось бы, на этом можно закончить. Однако мы рассмотрели лишь идеальный (с точки зрения применения Hyper-Threading) вариант. Давайте теперь рассмотрим другой: обе программы задействуют одни и те же блоки процессора. Понятно, что ускорить выполнение в данном случае довольно сложно ибо физическое количество исполняющих блоков от «виртуализации» не изменилось. А вот не замедлится ли оно? Давайте разберемся. В случае с процессором без Hyper-Threading мы имеем просто «честное» поочередное выполнение двух программ на одном ядре с арбитром в виде операционной системы (которая сама представляет собой еще одну программу), и общее время их работы определяется:
Что мы имеем в случае с Hyper-Threading? Схема становится немного другой:
Остается признать, что и тут Intel поступает вполне логично : конкурируют между собой по быстродействию у нас только пункты за номером три, и если в первом случае действие выполняется программно-аппаратно (ОС управляет переключением между потоками, задействуя для этого функции процессора), то во втором случае мы фактически имеем полностью аппаратное решение процессор все делает сам. Теоретически, аппаратное решение всегда оказывается быстрее. Подчеркнем теоретически. Практикум у нас еще впереди. Но и это еще не все. Также одним из серьезнейших нет, не недостатков, а скорее, неприятных моментов является то, что команды, увы, не исполняются в безвоздушном пространстве, но вместо этого Pentium 4 приходится иметь дело с классическим x86-кодом, в котором активно используется прямое адресование ячеек и даже целых массивов, находящихся за пределами процессора в ОЗУ. Да и вообще, к слову, большинство обрабатываемых данных чаще всего находится там:). Поэтому «драться» между собой наши виртуальные CPU будут не только за регистры, но и за общую для обоих процессорную шину, минуя которую данные в CPU попасть просто не могут. Однако тут есть один тонкий момент: на сегодняшний день «честные» двухпроцессорные системы на Pentium III и Xeon находятся в точно такой же ситуации ! Ибо наша старая добрая шина AGTL+, доставшаяся в наследство всем сегодняшним процессорам Intel от знаменитого Pentium Pro (в дальнейшем ее лишь подвергали модификациям, но идеологию практически не трогали) ВСЕГДА ОДНА, сколько бы CPU ни было установлено в системе. Вот такой вот «процессорный коаксиал»:). Отойти от этой схемы на x86 попробовала только AMD со своим Athlon MP у AMD 760MP/760MPX от каждого процессора к северному мосту чипсета идет отдельная шина. Впрочем, даже в таком «продвинутом» варианте мы все равно убегаем от проблем не очень далеко ибо уж что-что, а шина памяти у нас точно одна причем вот в этом случае уже везде (напоминаем, разговор идет про x86-системы). Однако нет худа без добра, и даже из этого в общем-то не очень приятного момента Hyper-Threading может помочь извлечь какую-то пользу. Дело в том, что по идее мы должны будем наблюдать существенный прирост производительности не только в случае с несколькими задачами, использующими разные функциональные блоки процессора, но и в том случае, если задачи по-разному работают с данными, находящимися в ОЗУ. Возвращаясь к старому примеру в новом качестве если одно приложение у нас что-то усиленно считает «внутри себя», другое же постоянно подкачивает данные из ОЗУ, то общее время выполнения их в случае использования Hyper-Threading по идее должно уменьшиться даже если они используют одинаковые блоки исполнения инструкций хотя бы потому, что команды на чтение данных из памяти смогут обрабатываться в то время, пока наше первое приложение будет что-то усиленно считать. Итак, подведем итог: технология Hyper-Threading с теоретической точки зрения выглядит весьма неплохо и, мы бы сказали, «адекватно», т. е. соответствует реалиям сегодняшнего дня. Уже довольно редко можно застать пользователя с одним сиротливо открытым окном на экране всем хочется одновременно и музыку слушать, и по Internet бродить, и диски с любимыми MP3 записывать, а может даже, и поиграть на этом фоне в какую-нибудь стрелялку или стратегию, которые, как известно, процессор «любят» ну просто со страшной силой:). С другой стороны, общеизвестно, что конкретная реализация способна иногда своей «кривизной» убить любую самую превосходную идею, и с этим мы тоже не раз встречались на практике. Поэтому закончив с теорией, перейдем к практике тестам. Они-то и должны нам помочь ответить на второй главный вопрос: так ли хороша Hyper-Threading сейчас и уже не в качестве идеи, а в качестве конкретной реализации этой идеи «в кремнии». Тестирование Тестовый стенд:
Программное обеспечение:
Вопреки обычаю, мы не будем сегодня тестировать производительность нового Pentium 4 3,06 ГГц в сопоставлении с предыдущими моделями или же с процессорами-конкурентами. Ибо это по большому счету бессмысленно. Тесты, составляющие нашу методику, не менялись уже довольно продолжительный период времени, и желающие провести необходимые сопоставления могут воспользоваться данными из предыдущих материалов , мы же сосредоточимся на основном моменте, не распыляясь на детали. А основным в этом материале, как, наверное, нетрудно догадаться, является исследование технологии Hyper-Threading и ее влияния на производительность на производительность чего ? Не столь уж и праздный вопрос, как оказывается. Впрочем, не будем забегать вперед. Начнем с традиционных тестов, через которые мы плавно подойдем (в контексте данного материала) к основным. Кодирование WAV в MP3 (Lame) |
Читайте: |
---|
Новое
- Как настроить почту на андроиде
- Смартфон Tele2 Mini: подробный обзор модели Мобильный телефон теле2 mini характеристики
- Сервисный центр lenovo Безопасная прошивка на леново а319
- Что делать, если не скачивается файл с Интернета?
- Важнейший вопрос фотографии – как сделать фото четким?
- Что подарить фанату Apple на новый год
- Как удалить всплывающую в браузере рекламу?
- Часы Polar M400: обзор, характеристики, отзывы Часы polar m400 как подключить gps
- Как выбрать лучшие беспроводные наушники для телевизора Оптимальный выбор SKYMAXX i8x
- Не запускается Tom Clancy's Splinter Cell: Double Agent (Двойной агент)?