Покушение объять необъятное – или несколько слов об архитектуре K10 (K8L) компании AMD.

9 июня 2007, суббота 16:34
для раздела Блоги
Покушение объять необъятное – или несколько слов об архитектуре K10 (K8L) компании AMD.

Внимание, автор не является специалистом с ТЕХНИЧЕСКИМ образованием, все опубликованное ниже, лишь попытка обобщить и проанализировать найденные автором сведения, касающиеся перспектив и возможностей новой архитектуры центральных процессоров AMD с кодовым названием Barcelona (K10).

Возможно что Вы, будучи специалистом, придете к иным выводам, это лишь мои представления о том, в чем я, в общем-то, разбираюсь лишь на уровне здравого смысла.

Источники:
http://overclockers.ru/reviews/all/k8l/
http://overclocker.ru/lab/23141.shtml
http://overclockers.ru/hardnews/25379.shtml
http://overclockers.ru/hardnews/24874.shtml
http://overclockers.ru/hardnews/24917.shtml
http://overclockers.ru/hardnews/24742.shtml
http://overclockers.ru/hardnews/24697.shtml
http://overclockers.ru/hardnews/24580.shtml
http://overclockers.ru/hardnews/25740.shtml
http://overclockers.ru/hardnews/25847.shtml
http://overclockers.ru/hardnews/25873.shtml
http://overclockers.ru/hardnews/25654.shtml
http://overclockers.ru/hardnews/25638.shtml
http://overclockers.ru/hardnews/25665.shtml
http://overclockers.ru/hardnews/25572.shtml
http://www.3dnews.ru/news/amd_raskrivaet_novie_detali_arhitekturi_k10-262992/
http://www.3dnews.ru/news/pervie_podrobnosti_o_45_nm_protsessorah_amd_shanghai/
http://www.3dnews.ru/news/amd_obyasnyaet_pochemu_pravilnee_k10_a_ne_k8l/
http://www.3dnews.ru/news/pervoe_ofitsialnoe_poyavlenie_barcelona/
http://www.3dnews.ru/news/roadmap_amd_barcelona_s_podrobnimi_harakteristikami-190953/
http://www.nix.ru/news/news_viewer.html?id=113313
http://www.anandtech.com/
http://www.ixbt.com/news/all/index.shtml?07/00/08
http://www.ixbt.com/cpu/cpu-microarchitecture-part-3.shtml
http://itc.ua/article.phtml?ID=27143
http://www.dailytech.com/article.aspx?newsid=7574
http://news.com.com/AMD+hopes+Barcelona+demos+whet+ITs+appetite/2100-1006_3-6188354.html
http://www.ixbt.com/editorial/itogi/itogi2k7-04.shtml
http://forum.ixbt.com/topic.cgi?id=8:20190-67#1785
http://forum.ixbt.com/topic.cgi?id=8:20190-116#3067

Введение:

Практически все посетители сайтов, посвященных компьютерам\высоким технологиям\разгону в том числе и overclockers.ru, знают о непрекращающемся уже несколько десятилетий противостоянии AMD и Intel в сфере «процессоростроения».

Как и во все времена в этом бренном мире, у обеих компаний были взлеты и падения, и та и другая допускали ошибки, что шло, прежде всего, на пользу конечным потребителям, так как компании были вынуждены снижать цены и улучшать потребительские характеристики своей продукции. Последний маленький подъем AMD был, аккурат, перед выходом в свет новейших CPU Intel с архитектурой Core 2 Duo. Если кто-то помнит, то новые CPU AMD под новый сокет АМ2 были немного более производительны, чем предыдущие для сокета 939, (в комплекте с DDR-2 800) и, чем выше тактовая частота CPU для сокета АМ2, тем больше была разница. С выходом процессоров Intel Core 2 Duo ситуация в корне изменилась. Сегодня уже общепризнано, что для десктопов более производительны по соотношению тактовая частота\производительность – CPU фирмы Intel с архитектурой Core 2 Duo. В серверном сегменте не все так просто, но для AMD сейчас любой застой подобен смерти.

Итак, что же нас ждет впереди, «светлое будущее» или ковыляние во тьме с плохо работающим фонариком?

Общеизвестные сведения:

Начну с того, что уже общеизвестно:

Новая архитектура центральных процессоров с кодовым названием Barcelona называется K10. Ее основным предназначением на сегодня является восстановление паритета с продукцией Intel с архитектурой Core 2 Duo, и по возможности, достижение выигрыша в некоторых приложениях (как известно, даже старая архитектура K8 проигрывает Core 2 Duo далеко не во всех тестах, особенно это касается серверного сегмента).

К сожалению, сегодня AMD вынуждена действовать так, как она действовала во времена незабвенного K7 – Athlon XP, то есть брать не производительностью, а лучшим соотношением цена\производительность (поясню, что речь идет о периоде, когда AMD остановилась на CPU AthlonXP с рейтингом 2200+, позже конечно были выпущены и новые CPU, но их тактовая частота не превышала 2,2 Ггц - то есть было технологическое отставание AMD). Вместе с тем, Intel с выпуском новых Пентиумов и Селеронов стала наступать по всем фронтам, что, теоретически, должно заставить AMD призадуматься об ускорении выхода CPU с новой архитектурой. Однако, поживем, увидим.

Сегодня мы знаем, что новые процессоры AMD получат новые названия:

Для сокета F+ в третьем квартале 2007 г. будут выпущены CPU Phenom FX с тактовой частотой от 2,2 до 2,6 GHz. Внутри этих ЦП будет четырехядерный кристалл Agena FX со следующими характеристиками:
- тактовая частота 2,2-2,6 GHz;
- четыре ядра на одном кристалле;
- Кэш память второго уровня – 4х512 Kb, кэш память третьего уровня 2 Mb общая для всех четырех ядер.
- Частота шины HTT 3,2-3,6 GHz.
Уровень тепловыделения этих CPU пока неизвестен. Предположительно эти CPU предназначены для установки в платформу AMD Quad FX с обновленным названием FASN8. По предположению Lexagon в транскрипции написания названия этой платформы зашифрован глагол «to fascinate», что в переводе с английского означает «очаровывать», к мнению которого я присоединяюсь))).
Ссылка: http://overclockers.ru/hardnews/25654.shtml

Согласно уточненным данным, аббревиатура FASN8 расшифровывается как First AMD Silicon Next-gen 8-core, что, впрочем, не умаляет достоинств предыдущей трактовки названия этой платформы))).
Ссылка: http://www.fcenter.ru/online.shtml?hardnews/2007/06/09#material_id=21456

Аналогичные CPU, но уже для сокета AM2+ также будут называться Phenom FX с тактовой частотой от 2,2 до 2,4 GHz. Внутри этих ЦП будет аналогичное четырехядерное ядро Agena FX, однако его тактовая частота будет максимум 2,4 GHz, частота шины HTT – 3,2 GHz. Уровень тепловыделения – 89 Вт.

Также для сокета AM2+ будут выпущены:

- Phenom X4 с тактовой частотой от 2,2 до 2,4 GHz. Внутри этих ЦП будет аналогичное четырехядерное ядро но уже с названием Agena, его тактовая частота будет от 2,2 до 2,4 GHz, частота шины HTT – 3,2-3,6 GHz. Уровень тепловыделения – 89 Вт.

- Phenom X2 с тактовой частотой от 1,9 до 2,8 GHz. Внутри этих ЦП будет двухядерное ядро с названием Kuma (эх, что за кума, коль под…))), наряду с кэш памятью второго уровня 2х512 Kb, в них будет и кэш память третьего уровня - 2 Mb, частота шины HTT – 2,8-4,2 GHz. Уровень тепловыделения – 45, 65 или 89 Вт. Рискну предположить, что первоначально эти CPU будут создаваться из отбракованных ядер Agena и Agena FX, тем более, что их выход запланирован на четвертый квартал 2007 г.

- Athlon X2 (как видите, приставка «64» исчезла, да и действительно, кого этим сегодня удивишь!?) с тактовой частотой 2,2 GHz, построенный на ядре Rana (честно говоря это название звучащее на русском языке у меня не вызывает положительных эмоций, разве что, фанаты AMD, эти раны будут нанесены процессорам Intel Core 2 Duo))). В отличие от Phenom’ов в этих CPU кэш третьего уровня отсутствует, частота шины HTT – 3,2 GHz.

- Sempron – от этой марки AMD отказываться не собирается, ибо эти CPU весьма актуальны для стран «третьего мира», да и в России «Семпроны» пользовались и продолжают пользоваться успехом, как недорогие, но достаточно производительные одноядерные ЦП. Тактовая частота Sempron’ов от 2,2 до 2,4 GHz. Ядро имеет название Spica, кэш память второго уровня 512 Kb, частоту шины HTT от 3,2 до 3,6 GHz. На мой взгляд, новые Семпроны, по меньшей мере не будут уступать по производительности современным одноядерным CPU Athlon 64 с сопоставимой тактовой частотой.
Ссылка: http://overclockers.ru/hardnews/25572.shtml

Кстати, напомню, что сокеты АМ2 и АМ2+ обратно совместимы.

Что же нас ожидает в серверном сегменте рынка?

В серверном сегменте рынка дела обстоят следующим образом:
Компанией AMD будет представлено три семейства процессоров – два семейства, предназначенные для установки в сокет Socket F (Opteron 2ххх для двухсокетных систем и Opteron 8ххх – для четырех-восьмисокетных систем), а также серверные CPU с именами 1ххх (для односокетных систем), которые будут устанавливаться в Socket AM2/AM2+.

Самые первые модели процессоров Barcelona семейства 8ххх (которые, к слову, подразделяются на серию SE – (2,4-2,6 GHz) тепловыделение 120 Вт, серию 8ххх без дополнительных индексов (2,1-2,4 GHz) – с TDP – 95 Вт и серию HE (1,9-2,0 GHz) с теплопакетом – 68 Вт) не превысят частотной планки в 2,3 ГГц, в дальнейшем их ассортимент будет расширен, и в продаже появятся CPU с более высокой тактовой частотой. Все указанные ЦП будут иметь по четыре ядра, кэш L2 – 4x512 Kb и кэш L3 общий на четыре ядра объемом 2 Mb.

Семейство серверных CPU 2ххх, подразделяется на аналогичные серии с аналогичными характеристиками. В отличие от семейств 8ххх и 2ххх в семействе 1ххх отсутствует серия HE, а соответственно их теплопакет либо 95 Вт, либо 120 Вт, а тактовые частоты от 2,1 до 2,5 GHz.

Выход большинства серверных CPU запланирован на 3-4 квартал 2007 г. Производство моделей CPU AMD 8ххх SE и 2ххх SE с рабочими частотами 2,6 ГГц и уровнем TDP 120 Вт намечено на второй квартал 2008 года.
Ссылка: http://www.3dnews.ru/news/roadmap_amd_barcelona_s_podrobnimi_harakteristikami-190953/

Теперь перейдем к способу маркировки новых CPU от AMD:

На сегодняшний день AMD уже определилась с индексами новых CPU, за исключением Phenom FX (ядро Agena FX), которые, скорее всего, получат уникальную маркировку. Иерархия новых обозначений выглядит следующим образом:
- Phenom X4 (Agena) будет маркироваться GP-7xxx;
- Phenom X2 (Kuma) будет маркироваться GS-6xxx;
- Athlon X2 (Brisbane) будет маркироваться BE-2xxx;
- Athlon X2 (Rana) будет маркироваться LS-2xxx;
- Sempron (Sparta и Spica) будет маркироваться LE-1xxx.

Первая литера в маркировке CPU говорит о принадлежности процессора к определенному статусу. Процессоры с литерой «G» относятся к топ классу. Эти CPU будут называться «Phenom» будут иметь по четыре, либо по два ядра, архитектуру K10, в обязательном порядке в этих CPU будет присутствовать кэш третьего уровня. Литера «B», подразумевает, что CPU относится к среднему классу, причем с архитектурой K8, в этих CPU, по понятным причинам, отсутствует кэш третьего уровня, фактически это только процессоры с ядром Brisbane в исполнении Socket AM2, имеющие уровень TDP не более 45 Вт. Младшие CPU будут носить литеру «L»: сюда попадают двухъядерные процессоры Rana, также без кэша третьего уровня и одноядерные Sempron. Как ни странно, но более прогрессивная Rana по статусу ниже современных процессоров Brisbane.

Вторая литера в маркировке модели CPU говорит об энергетическом классе процессора.
- P – означает, что TDP у CPU более 65 Вт;
- S – означает, что TDP у CPU не более 65 Вт;
- E – означает, что TDP у CPU менее 65 Вт.

Ссылка: http://overclockers.ru/hardnews/25847.shtml

Некоторые общеизвестные дополнительные характеристики CPU AMD с архитектурой K10.


Как известно, в новейшей, еще не анонсированной архитектуре CPU, AMD выбрала свой собственный способ реализации многоядерности. (В четырехядерных CPU Intel Core фактически в одном корпусе находятся два ядра Core 2 Duo). За каждым из ядер CPU Barcelona резервирует по 64 кб кэша первого уровня для данных и по 64 кб кэша первого уровня для инструкций, а также 512 кб кэша второго уровня. Это необходимо, прежде всего, для того, чтобы избежать конфликтов доступа к данным, которые случаются при использовании общего разделяемого кэша, однако, наряду с кэшем второго уровня, Barcelona располагает 2 Мб общего кэша третьего уровня, который, в случае необходимости, может быть увеличен.

По утверждению представителей AMD четырёхъядерные процессоры Barcelona более эффективно используют ресурсы шины HyperTransport и встроенного контроллера памяти, увеличивая процент их загрузки по сравнению с двухъядерными процессорами Opteron. Также было заявлено, что в CPU Barcelona передача данных осуществляется через кэш третьего уровня на частоте ЦП.

Напомню, что в современных CPU AMD (ядро K8, и в будущем ядре K10) кэш второго уровня является эксклюзивным, то есть с отложенной записью из L1-кэша в L2-кэш, как измененных, так и не измененных (чистых) данных. Разумно предположить, что кэш третьего уровня в новейших CPU AMD также будет эксклюзивным.

Известно, что четырёхъядерные процессоры Barcelona предложат независимое управление частотой для каждого из ядер. Вместе с тем, независимое управление напряжением на каждом ядре на сегодня не реализовано - все ядра будут работать при общем напряжении, которое установлено на наиболее нагруженном в данный момент ядре.

В отличие от процессоров поколения K8, которым требовался специальный драйвер для включения режимов энергосбережения, CPU Barcelona смогут в полной мере управлять своими энергетическими состояниями независимо от операционной системы.

Питание на встроенном контроллере памяти CPU Barcelona будет независимым от питания ядра, что позволит ему работать на полной частоте даже в тех случаях, когда частоты ядер понижаются. При выполнении операций записи контроллер памяти может отключать блоки, отвечающие за чтение данных, и наоборот.

Управление питанием отдельных блоков CPU Barcelona реализовано на двух уровнях: «грубом» и «тонком». В «грубом» случае отключаются крупные блоки ядра, в «тонком» внутри этих блоков могут отключаться более мелкие блоки.

Ожидается внедрение технологии виртуализации AMD-V, которая даст прирост до 43% по сравнению с приложениями, не использующими эту технологию виртуализации. Четырёхъядерные процессоры Barcelona теоретически будут превосходить двухъядерные процессоры Opteron нынешнего поколения на 60-80% на сопоставимых частотах.
Ссылка: http://www.3dnews.ru/news/pervoe_ofitsialnoe_poyavlenie_barcelona/
Ссылка: http://overclockers.ru/hardnews/24874.shtml
Ссылка: http://overclockers.ru/hardnews/24742.shtml

Не так давно Intel заявила о планах по внедрению технологии EDAT в мобильных процессорах поколения Penryn. Эту технологию будут поддерживать процессоры Merom с 800 МГц шиной. Суть данной технологии состоит в том, что при необходимости автоматически разгоняется активное ядро CPU, у Intel прирост частоты ограничивается одним шагом множителя. (+ 100, +133, +166, +200, +266 и т.п.)

Компания AMD планирует представить на суд общественности свой ответ на технологию EDAT. Об этом, в ходе пресс-конференции в Мюнхене, рассказал технический директор европейского представительства AMD господин Джузеппе Амато (Giuseppe Amato). В частности было сказано, что AMD собирается позволить производителям материнских плат включать в BIOS’е функцию автоматического разгона одного из ядер CPU в исполнении Socket AM2+. Предполагается, что оставшиеся ядра CPU в этот момент времени будут либо отключены, либо работать на пониженных частотах, а обработкой основного потока, соответственно, займется разогнанное ядро. Вероятнее всего, что прирост тактовой частоты будет небольшим.

Владельцы материнских плат с гнездом Socket AM2, установившие в них CPU с сокетом AM2+ получат более высокое энергопотребление, это связано с тем, что «старые» материнские платы не умеют гибко управлять частотами и напряжениями каждого из ядер процессора в исполнении Socket AM2+. В среднем уровень энергопотребления будет выше на 10%.
Ссылка: http://overclockers.ru/hardnews/25379.shtml

Новые CPU AMD с архитектурой K10 получат усовершенствованный интегрированный контроллер памяти (IMC). При использовании нескольких модулей оперативной памяти обновленный встроенный контроллер сможет получить доступ к памяти по 64-разрядным каналам (72-битным при использовании ECC), что позволит организовать синхронные операции записи/чтения данных. Естественно, что это новшество будет реализовано лишь в материнских платах с процессорными разъемами Socket AM2+ и Socket F+.
Ссылка: http://www.3dnews.ru/news/amd_raskrivaet_novie_detali_arhitekturi_k10-262992/

Чего точно не будет в CPU AMD с архитектурой K10 поколения Barcelona.

AMD не будет использовать память Z-RAM для создания кэша 65 нм CPU AMD.
Ссылка: http://overclockers.ru/hardnews/24917.shtml

Несколько слов об архитектуре K10 и чипе CPU:

- Чип:

Чип изготовлен по технологии 65 нм, в CPU Barcelona 463 млн. транзисторов. (Для сравнения в CPU Kentsfield 582 млн. транзисторов).

- Технология SSE-128:

Как известно, в архитектуре K8 могут параллельно выполняться 2 SSE операции, однако в этом CPU блоки SSE лишь 64 битные. Все 128-битные SSE операции K8 обрабатывает как две 64-битных операции. Это означает, что при поступлении 128-битной SSE инструкции, она сначала разбивается на 2 микрооперации (по одной для каждой 64-битной полукоманды), в связи с чем, для одной инструкции нужно задействовать дополнительный порт декодирования.

CPU K-10 (Barcelona) увеличивает разрядность исполнительного блока, который теперь обрабатывает SSE операции, от 64 до 128 бит, соответственно, теперь 128-битные SSE операции не нужно дробить на две 64-битных операции. Теперь у CPU большая пропускная способность декодирования (128-битные SSE команды задаются одной микрооперацией, вместо двух. Планировщик операций с плавающей запятой также может задействовать 128-битные SSE операции.

Так как для исполнения 128-битных SSE команд пропускная способность декодирования увеличилась, ядро Barcelona теперь может обрабатывать 32 байта за такт, вместо 16 байтов у K8. От 32 байтной выборки команд выигрывает не только SSE код, но и целочисленные вычисления.

AMD расширила у CPU Barcelona интерфейс между L1 кэшем данных и SSE регистрами. Barcelona может совершить две 128-битных SSE загрузки из L1-D кэша за такт, по сравнению с двумя 64-битными загрузками за такт у K8. Также AMD расширила интерфейс между L2 кэшем и контроллером памяти таким образом, чтобы за такт можно было передавать по 128 бит информации.

- Улучшение ядра:

В новом CPU AMD Barcelona модернизирован предсказатель переходов. Чем выше число правильно предсказанных команд, тем большее число исполнительных блоков, может быть задействовано в CPU. Вероятнее всего, предсказатель переходов у K10 позаимствовал некоторые алгоритмы CPU Intel.

В частности CPU Barcelona добавлен предсказатель непрямых переходов с 512 входами. Непрямая ветка – ветка у которой адресат перехода задается адресом в памяти, то есть переход со многими адресатами. Непрямой переход, вместо того, чтобы направить переход непосредственно к метке, заданной командой перехода, отсылает CPU к ячейке памяти с адресом команды, к которой он должен перейти из этой метки.

Кроме этого у Barcelona – в два раза, в сравнении с K8, увеличен размер стека возврата. В очень длинных цепочках запросов, когда код вызывает много подпрограмм (в частности, рекурсивные функции), CPU может не хватить места для записи начального адреса. Если ЦП потеряет цепочку адресов возврата, он не сможет предсказывать переходы, связанные с этими адресами. Удваивая размер стека возврата, ядро K10 уменьшает вероятность возникновения подобной ситуации.

Заключительное улучшение, в сравнении с ветвями предсказаний у K8, сделано обычным образом – в CPU К10 отслеживается больше переходов, чем в K8. В блоке предсказания ветвлений CPU К10 отслеживаются сделанные переходы и, сравниваются с теми, что уже были, предсказывая их дальнейший ход. Чем больше собрано информации о прошлых переходах, тем точнее предсказание.

- Sideband Stack Optimizer:

У CPU Pentium M компания Intel ввела механизм, названный «dedicated stack manager» – специализированный диспетчер стека. Этот механизм предназначен для работы со стековыми операциями x86 стека (запись в стек, извлечение из стека, запрос, возврат). Задача диспетчера стека состоит в том, чтобы хранить в коде те операции стека, которые часто используются для вызова функций, отделяя их от остальных x-86 команд. Специализированный диспетчер стека занимается декодированием и «исполнением» этих команд, чтобы они не «забивали» декодеры процессора и исполнительные блоки в конвейере.

В Barcelona AMD вводит сходную технологию, которая была названа Sideband Stack Optimizer. Команды стека больше не идут через декодер CPU и стековые операции больше не исполняются через исполнительные блоки, что по идее эффективно расширяет CPU Barcelona. Sideband Stack Optimizer, как и dedicated stack manager, имеет собственный сумматор, обрабатывающий все операции стека.

- Более быстрая (внеочередная) загрузка:

Одним из основных преимуществ микроархитектуры Core является возможность разрешать командам загрузки обходить предыдущие команды загрузки и выгрузки. В среднем около трети всех команд программного кода заканчивается их загрузкой, соответственно, если вы можете увеличить скорость их загрузки, то можете увеличить скорость работы приложения. В микроархитектуре Core можно изменить последовательность загрузок, команды, зависящие от этих загрузок, получат нужные им данные.

CPU архитектуры Core позволяет установить загрузки перед выгрузками, что раньше было невозможно, потому что более ранняя выгрузка могла аннулировать только что загруженные данные. В Intel считают, что вероятность того, что выгрузка произойдет перед загрузкой, достаточно мала, порядка 1 - 2%, поэтому практически всегда можно точно предположить, когда это произойдет. Логика прогнозирования CPU Core 2 может предсказывать, что у выгрузки и загрузки один и тот же адрес памяти. В этом случае меняется очередность команд и загрузке разрешается завершиться перед выгрузкой. В случаях, когда предсказатель ошибется, загрузку придется проводить заново ценой сброса конвейера.

У архитектуры CPU - K8 подобной схемы не было, поэтому даже без интегрированного на кристалле контроллера памяти CPU Core 2 Duo Intel может выполнять некоторые операции с памятью быстрее, чем K8. В Barcelona эта проблема решена вводом аналогичной схемы «быстрой загрузки».

Теперь и CPU Barcelona может менять очередность и ставить одни загрузки перед другими, загрузка может выполняться перед выгрузками, при условии, что процессор «знает», что обе эти операции не используют один и тот же адрес памяти. Если Intel для определения конфликта выгрузки и загрузки использует предсказатель, то у AMD Barcelona ждет, пока адрес выгрузки не будет вычислен. Работая по такой схеме, Barcelona никогда не ошибается, а значит не может получить сброс всего конвейера. Новый CPU AMD может вычислить до трех адресов выгрузки за такт, у него имеется 3 блока расчета адресов (AGU - Address Generation Unit), по сравнению с одним блоком на выгрузку у Intel, это значит, что у AMD больше вычислительных мощностей для вычисления адреса выгрузки ещё до того, как поставить загрузку перед выгрузкой.

Теоретически, улучшение во внеочередности загрузки у Barcelona должно быть даже более эффективным, чем у Core 2 Duo, хотя раньше CPU AMD не могли делать вообще никаких перестановок загрузок до Int/FP шедулеров, а Core Duo мог производить ограниченное число перестановок.

- Дополнительные изменения:

Для кэширования карты виртуальных адресов распределения физической памяти системы используются буферы трансляции-просмотра (Translation Lookaside Buffer - TLB). Частота успешных обращений к TLB весьма высокая, но, однако, так как программы становятся все больше и требуют всё больше памяти, приходится подгонять под них и объемы TLB. Соответственно если у K8 TLB больше, чем у K7, то у CPU Barcelona AMD TLB больше чем в K8.

TLB у Barcelona поддерживают 1G страницы, которые нужны для баз данных и виртуализации нагрузки. В этом CPU AMD сделала 128 входов 2M L2 TLB, что помогает при работе с новыми программами, для которых нужны большие «страничные» (page) файлы. Усовершенствования TLB у Barcelona будут заметны в корпоративном использовании в серверных приложениях, для которых нужны большие объемы памяти.

Выпуская свой второй Pentium M, под кодовым названием Dothan, Intel одним из улучшений сделала меньшую задержку при делении целых чисел. AMD заявляет, что у Barcelona аналогичная задержка также уменьшена.

AMD в CPU Barcelona перевела несколько команд в микрокоды и сделала их fastpath-инструкциями. Такие команды могут пройти через fastpath-декодер ядра значительно быстрее, чем происходит декодирование обычных микрокоманд. Команды CALL и RET-Imm теперь являются fastpath-командами, что является частью улучшения оптимизации байпасного стека (sideband stack optimization) в Barcelona. Команды MOV из SSE регистров в целочисленные регистры теперь также являются fastpath-командами.

Кроме того в Barcelona AMD ввела несколько новых расширений для своей технологии ISA. Так, в частности введены две новых команды для работы с битами: LZCNT и POPCNT. Leading Zero Count (LZCNT) считает число первых нулей операции, а Pop Count считает количество всех единиц. Обе эти команды предназначаются для приложений шифрования.

(POPCNT (Population Count) - это число единичных битов (не обязательно первых). Используется в криптографии при реализации РСЛОС (регистр с линейной обратной связью) и некоторых других алгоритмов. Так, для аргумента 0011000010101101 POPCNT вернет 7, так как в нем 7 единиц).
Ссылка: http://forums.overclockers.ru/viewtopic.php?p=3936872#3936872

Естественно, что AMD вводит 4 новых SSE расширения: EXTRQ/INSERTQ, MOVNTSD/MOVNTSS. Первые два расширения – это маскирование и сдвиг, объединенные в одну команду, две последние – скалярная потоковая выгрузка (потоковая выгрузка, которая может быть применена к скалярным операндам).

- Более быстрый контроллер памяти:

У архитектуры Intel - FB-DIMM, используемой в серверах Xeon, является возможность одновременной записи и чтения в буфер/из буфера. С обычной памятью DDR2 можно делать либо запись, либо чтение, что заставляет терять темп при переключении с одной операции на другую. Если эти события происходят случайным образом, на это тратится достаточно много времени, чего бы не было, если бы сначала выполнялись все операции чтения, а после переключения – запись. Контроллер памяти в CPU K8 старается сначала произвести чтение, (на это нужно меньше времени), у ядра K10 контроллер памяти усовершенствован. Вместо того чтобы произвести запись сразу же по приходу этой команды, они записываются в буфер, и как только буфер заполнится до заданного порога, контроллер выполнит подряд все эти операции. Таким образом, сокращаются задержки на переключение чтение/запись, что помогает увеличить пропускную способность и уменьшить задержки.

У ядра K8 в кристалле один контроллер памяти с 128 битной шиной, а у CPU Barcelona AMD разделила контроллер DRAM на два отдельных 64-битных контроллера. Каждым контроллером можно управлять независимо, поэтому мы получаем некоторое увеличение быстродействия, особенно при задействовании 4 ядер, когда каждое ядро работает со своим потоком данных и своим массивом ячеек памяти.

Северный мост Barcelona сделан таким образом, чтобы обеспечивать более высокую пропускную способность, чем раньше. У него более объемные буферы, что позволяет поддерживать более высокую пропускную способность, и северный мост уже подготовлен для работы с будущими технологиями памяти (например, DDR3).

- Новый блок предвыборки:


Известно, что ядро K8 имеет 2 блока предвыборки на ядро – один для команд, и один для данных. Ядро Barcelona имеет тоже два блока предвыборки, но они улучшены. Самое радикальное изменение в том, что блок предвыборки данных теперь переносит данные прямо в L1 кэш данных, а не в L2 кэш, как у K8. AMD также увеличила гибкость своего блока предвыборки команд L1 кэша, чтобы он мог обрабатывать 2 предстоящих запроса по любому адресу.

Каждое ядро Barcelona имеет свой набор блоков предвыборки команд, но главное его усовершенствование в том, что теперь у него есть новый блок предвыборки – блок предвыборки DRAM. Данный блок расположен в контроллере памяти, он просматривает все запросы к памяти и старается извлечь из неё данные, которые, по его мнению, понадобятся в будущем. Так как этот блок предвыборки помогает всем четырем ядрам по отдельности, то он помогает всему CPU улучшить производительность, и может эффективно намечать тенденции, которые будут положительно влиять на работу всех ядер. Блок предвыборки DRAM не переносит данные ни в L2, ни в L3 кэш CPU – у него есть собственный буфер, поэтому он не «засоряет» кэши. У этого буфера примерно 20 - 30 строк кэша и он может быть тем же самым буфером, который использует Barcelona для накопления записей, о котором говорилось выше.

- Особенности КЭШа третьего уровня.

В настоящее время у двух ядер CPU Core 2 Duo 4 МБ общего L2 кэша, в то время как у самого быстрого процессора AMD на ядре K8 он в 2 раза меньше. Это «отставание» продолжится и в новом CPU Barcelona, (напомню, что каждое из его четырех ядер будет иметь только 512 Kb L2 кэш, что в сумме дает 2 Mb в то время, как у четырехъядерного CPU Intel Kentsfield в уже сейчас имеется 8 МБ L2 кэш на 4 ядра).

Разместив 4 ядра на одном кристалле, AMD оставив иерархию кэшей K8, добавила третий уровень кэша – общий для всех четырех ядер. Сделанный по 65 нм технологии, четырехъядерный Barcelona будет иметь 2 МБ L3 кэш, доступный для всех четырех ядер, который может быть впоследствии увеличен (впрочем об этом уже говорилось).

Иерархия кэшей в Barcelona работает следующим образом: сначала L2 кэши заполняются излишками L1 кэшей. Когда кэш полностью заполняется, часть данных, которые не использовались в последнее время, освобождают место для новых данных, а эти данные переписываются в L2 кэш (кэш второго уровня).

Новый кэш L3 в CPU K10 работает как общий кэш для всех L2 кэшей четырех ядер. Алгоритмы, управляющие работой L3 кэша, стараются сохранять в нем данные, которые могут понадобиться нескольким ядрам. Если CPU сделает выборку кода, его копия останется в L3 кэше, чтобы этот код был доступен всем четырем ядрам, однако простая загрузка данных осуществляется независимо. Контроллер кэш-памяти следит за хронологией, и если данные уже есть в общем доступе, их копия остается в L3 кэше; если нет – они сохраняются.

У L1 и L2 кэшей ассоциативность не изменена – 2 и 16 уровней соответственно. Однако у нового L3 кэша уровень ассоциативности 32. Это должно повысить число успешных обращений к относительно маленькому, по сравнению с его конкурентами, кэшу.

- Улучшение виртуализации:

У CPU Barcelona увеличена скорость переадресации адресов виртуализации. В виртуальном программном стеке, где гипервизор управляет несколькими гостевыми ОС, трансляция адресов памяти происходит по-новому, поэтому нужно производить переадресацию от гостевой ОС к гипервизору, ведь у каждой гостевой ОС свой собственный диспетчер памяти. По мнению AMD, в настоящее время этот новый уровень переадресации осуществляется программно методом shadow paging. В качестве альтернативы shadow paging Barcelona предлагает Nested Paging – свою технологию с аппаратным ускорением.

Предположительно, что до 75% времени гипервизор может работать с теневыми страницами, которые AMD ликвидирует, научив процессор работать как с гостевыми таблицами страниц, так и с хостовыми. Транслируемые адреса кэшируются в новом большем буфере TLB (о котором уже говорилось выше), что ещё больше увеличивает производительность. Чтобы включить поддержку Nested Paging у Barcelona, достаточно установить соответствующий бит режима, что разработчики ПО могут легко осуществить.

Последним раскрытым аспектом дизайна Barcelona является управление питанием. Хотя все 4 ядра все еще работают на одном уровне питания (одинаковое напряжение), северный мост Barcelona теперь имеет независимое питание. Напряжения ядра и северного моста у Barcelona могут изменяться в пределах 0,8 - 1,4 В независимо друг от друга.

- Еще немного о подсистеме питания:

На все ядра CPU Barcelona подается одно и то же опорное напряжение, однако каждое ядро имеет свой собственный PLL, и в зависимости от загрузки, ядра CPU могут работать на разных тактовых частотах. Ток, проходящий через каждое отдельное ядро, можно уменьшить в соответствии с загрузкой этого ядра, что даст экономию электроэнергии при поддержании нужной производительности процессора. Особенно это актуально для десктопов, так как не часто у них загружены все ядра процессоров на 100%.

Barcelona поддерживает до 5 независимых энергетических уровней для каждого ядра, которые отличаются лишь тактовой частотой. Эти уровни контролируются аппаратно, поэтому для их задействования специальный драйвер не нужен.
Ссылка: http://www.anandtech.com/
Ссылка: http://www.nix.ru/news/news_viewer.html?id=113313
Ссылка: http://www.ixbt.com/cpu/cpu-microarchitecture-part-3.shtml
Ссылка: http://forum.ixbt.com/topic.cgi?id=8:20190-67#1785
Ссылка: http://forum.ixbt.com/topic.cgi?id=8:20190-116#3067

Заключение:

Как я уже говорил, я не являюсь специалистом с ТЕХНИЧЕСКИМ образованием, вместе с тем, все, что написано данной статье не является простым копированием\компилированием данных из выше приведенных источников. Не всё взято из приведенных источников, кое-где есть и мои мысли. Больше всего полезной информации мною почерпнуто с сайта www.nix.ru и www.anandtech.com. Весь текст в статье творчески переработан, исправлены некоторые ошибки, поэтому можете не искать следов плагиата, хотя и новой информации в статье не слишком-то и много. Текст и разъяснения приведены мною в форму, удобную для восприятия (по крайней мере, для меня лично).

Теперь несколько слов о перспективах новой архитектуры AMD – K10. Как видно из данной статьи, по большому счету, никаких революционных изменений в новой процессорной архитектуре AMD нет. Все, что реализовано в ядре Barcelona уже есть в K8 или в CPU Intel с архитектурой Core 2 Duo.

Однако нельзя не отметить, что таковых «эволюционных» изменений достаточно много. Прежде всего, это технология SSE-128, более быстрая (внеочередная) загрузка, улучшенный блок предвыборки, улучшенный контроллер памяти и другие. Конечно, по отдельности каждое из изменений (за исключением SSE 128) не может дать серьезного роста производительности, однако, как известно, «курочка клюет по зернышку…», поэтому, на мой взгляд, совокупность всех изменений даст существенный прирост производительности новых CPU AMD Barcelona.

Я, конечно, сомневаюсь, что Barcelona «порвет, как Тузик грелку» CPU Intel Core 2 Duo, но на мой взгляд, как минимум восстановится паритет в быстродействии CPU обеих конкурирующих фирм. В чем-то будет чуть быстрее C2D, в чем-то Barcelona (напомню, что и старое ядро K8 в некоторых задачах практически не проигрывает C2D – например, при использовании K8 для обслуживания Веб-сервера).

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

C уважением, Freevad.

Обсудить можно здесь:
http://forums.overclockers.ru/viewtopic.php?p=3932120#3932120

P.S. Покушение - неудавшаяся попытка, насколько удалась моя попытка - решать Вам.
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают