|
SSE 4.2 и энергопотребление
С архитектурой Nehalem Intel не смогла устоять перед искушением расширить и так уже длинный список инструкций SSE. Nehalem поддерживает SSE 4.2, то есть все инструкции, которые присутствовали у Penryn (SSE4.1) плюс ещё семь. Большинство инструкций связаны с обработкой строк символов, и одно из предназначений, по словам Intel, заключается в ускорении обработки XML-файлов.
Две инструкции нацелены на специфические приложения; команда POPCNT, появившаяся в Barcelona, используется для подсчёта числа ненулевых битов в регистре. По информации Intel, эта инструкция очень полезна в приложениях распознавания голоса и секвенирования ДНК. Последняя инструкция, CRC32, используется для ускорения расчёта кода обнаружения ошибок.
Энергопотребление под контролем
Вновь и вновь Intel говорит, что для всех потенциальных инноваций в одной из новых архитектур, инженеры взвешивали увеличение производительности с изменением энергопотребления - они хорошо выучили уроки по Pentium 4. С архитектурой Nehalem инженеры пошли ещё дальше с развитием технологий ограничения энергопотребления. Теперь у процессора есть собственный микроконтроллер Power Control Unit, который постоянно отслеживает температуру и энергопотребление ядер, и даже может полностью их отключать, если ядра не используются. Благодаря этой технологии энергопотребление неиспользуемых ядер близко к нулю, в то время как до Nehalem были потери, связанные с токами утечки.
Intel реализовала довольно оригинальную технологию под названием режима Turbo. Если процессор работает ниже стандартного теплового пакета, например, режим Turbo повышает частоту используемых ядер, вместе с тем оставаясь в пределах теплового пакета.
Обратите внимание, что, как и в случае процессора Atom, кэши L1 и L2 у Nehalem используют по восемь транзисторов на ячейку вместо привычных шести, что снижает энергопотребление за счёт несколько большей площади кристалла.
Соединения QuickPath
Хотя архитектура Core была очень эффективной, некоторые детали дизайна начали показывать свой возраст, и первой среди них является шина Front Side Bus (FSB). Эта шина, соединяющая процессор с северным мостом, была очевидным анахронизмом в остальном современной архитектуры. Самые главные недостатки были более всего заметны в многопроцессорных конфигурациях, когда архитектура с трудом справлялась с увеличением нагрузок. Процессорам приходилось совместно использовать эту шину не только для доступа в память, но и для обеспечения когерентности данных, находящихся в соответствующей кэш-памяти.
В данной ситуации поток транзакций по шине быстро приводил к насыщению. Долгое время Intel обходила эту проблему просто переходом на более скоростную шину или на большую кэш-память, но настало время исправить причину этой проблемы, полностью переработав механизм общения процессоров с памятью и другими компонентами.
Решение, выбранное Intel под названием QuickPath Interconnect (QPI), не является чем-то новым; оно представляет собой встроенный контроллер памяти и очень быструю последовательную шину "точка-точка". Подобная технология была представлена пять лет назад в процессорах AMD, но на самом деле она ещё старше. Подобные принципы, которые заметны в продуктах AMD и теперь Intel, представляют собой результат работы, проделанной десять лет назад инженерами DEC во время разработки Alpha 21364 (EV7). Поскольку многие бывшие инженеры DEC перешли в компанию из Санта-Клары, неудивительно, что подобные принципы выплыли в последней архитектуре Intel.
С технической точки зрения интерфейс QPI является двунаправленным с двумя 20-битными шинами, по одной на каждое направление, из которых 16 зарезервировано под данные, а оставшиеся четыре - под функции исправления ошибок или служебную информацию протокола. Это даёт максимальную скорость 6,4 GT/s (млрд. передач в секунду) или полезную пропускную способность 12,8 Гбайт/с, как на чтение, так и на передачу. Для сравнения, FSB на самых современных процессорах Intel работает с максимальной тактовой частотой 400 МГц, при этом для передачи адресов требуется два такта (200 MT/s), а данные передаются в режиме QDR, с пропускной способностью 1,6 GT/s. При 64-битной ширине FSB даёт суммарную пропускную способность 12,8 Гбайт/с, но она доступна только для чтения или записи.
Поэтому интерфейс QPI даёт пропускную способность вплоть до двух раз выше, если запись и чтение сбалансированы должным образом. В теоретической ситуации, когда есть только операции чтения или записи, пропускная способность будет идентична FSB. Но следует помнить, что шина FSB использовалась как для доступа к памяти, так и для передачи всех данных на периферию или между процессорами. В случае Nehalem, интерфейс QPI исключительно предназначается для передачи данных на периферию, а за работу с памятью отвечает интегрированный в процессор контроллер. Связь между несколькими CPU в многосокетной конфигурации осуществляется ещё одним интерфейсом QPI. Даже в самой тяжёлой ситуации QPI должен показать лучшую производительность, чем FSB.
Как мы видим, Nehalem был разработан с учётом гибкой и масштабируемой архитектуры, поэтому число доступных интерфейсов QPI меняется в зависимости от ориентации на тот или иной сегмент рынка - от одного интерфейса для связи с чипсетом в односокетных конфигурациях до целых четырёх для четырёхсокетных серверов. Это позволяет создавать полносвязные четырёхпроцессорные системы, когда каждый процессор может получать доступ к любой области памяти через один хоп QPI, поскольку каждый процессор напрямую подключён к трём остальным.