Архивы: по дате | по разделам | по авторам

Застывшая в кремнии музыка: особенности микроархитектуры AMD K10

АрхивПлатформа
автор : Дмитрий Криканов   12.11.2007

Инженеры AMD всегда славилась умением добиваться максимальных результатов путём приложения минимальных усилий. В этом смысле не стала исключением и новейшая микроархитектура К10.

Инженеры AMD всегда славилась умением добиваться максимальных результов путём приложения минимальных усилий. В этом смысле не стала исключением и новейшая микроархитектура К10 (которая на самом деле вовсе и не К10, но об этом - ниже).

"…он же Гоша, он же Гога, он же Гора, он же Жора…"

Судя по всему, какие-то тайные правила хорошего тона обязывают производителей многоядерных процессоров регулярно создавать неразбериху с названиями. Если корпорация Intel ограничилась только небольшой путаницей с процессорами Core, не имевшими никакого отношения к одноимённой микроархитектуре, то AMD решила не мелочиться и запутала названия самих микроархитектур.

Всё, что можно с уверенностью сказать о многоядерных процессорах Athlon и Opteron, - то, что они есть и имеют некоторое отношение к микроархитектуре K8. При этом вроде бы существует и некая микроархитектура K8L, которая на самом деле вовсе не микроархитектура, а кодовое имя процессоров Turion с низким энергопотреблением. Кроме того, сама микроархитектура K8 использовалась для построения одноядерных процессоров, а многоядерные решения - это всё-таки из другой серии, и значит, микроархитектура у них должна быть несколько иная.

Предположения о том, что следующая за К8 разработка должна называться К9, оказались несостоятельны, главным образом из-за сомнительного утверждения, что "K9" в английском языке созвучно со словом "псина" (англ. canine) и, якобы, поэтому AMD решила после К8 сразу выпустить К10. Однако вариант с К10 также был далёк от действительности. Оказалось, что журналисты, с чьей лёгкой руки новая разработка и получила это название, попросту спутали внутренний номер семейства процессоров 10h с названием микроархитектуры. Более того, внутренний номер был записан в шестнадцатеричном формате и на самом деле означал никакие не 10, а вообще 16.

Неизвестно, сколько бы продолжалось это гадание на кофейной гуще, если бы не официальное заявление AMD о том, что корпорация вообще отказывается от К-номенклатуры, а новую микроархитектуру процессоров предлагает называть "просто и со вкусом": AMD Next Generation Processor Technology. Однако к этому времени названия-догадки настолько сильно "прилипли" к разработкам AMD, что до сих пор используются для неофициального обозначения той или иной серии процессоров.

AMD K10: старое решение лучше новых двух

По всей видимости, именно таким принципом руководствовалась AMD при разработке многоядерных процессоров. Причём это относится не только к первым экспериментам, но и к последующим разработкам. Строго говоря, K10 не очень-то "тянет" на благородное звание микроархитектуры, поскольку каких-либо радикальных изменений, помимо многоядерности, внесено не было, а большинство улучшений носит скорее "косметический" характер.

С другой стороны, многие конструктивные решения микроархитектуры К8 были настолько удачными, что позволяли процессорам AMD конкурировать и с новыми разработками корпорации Intel. В частности, к таким решениям относятся встроенный в кристалл контроллер памяти и независимая шина Hyper-Transport. Вероятно, поэтому основное внимание AMD было сосредоточено на четырёхъядерных процессорах - как раз в том сегменте, где преимущества К8, в сочетании с нововведениями К10, обеспечивали наибольшую конкурентоспособность.

"Что-то с памятью моей стало…"

В новой микроархитектуре AMD уделила особое внимание подсистеме памяти. Дело в том, что процессоры микроархитектуры К8 не могли похвастаться высокоэффективной системой предвыборки команд и "выезжали" главным образом за счёт удачной схемотехники. Однако после того как в Intel Core была реализована технология Smart Memory Access, позволявшая чуть ли не предсказывать будущее, механизмы работы с памятью потребовали улучшений.

Контроллер памяти обзавёлся двумя независимыми 72-разрядными шинами (64 бита для данных и 8 для кодов коррекции), каждая из которых теперь взаимодействует с собственным пространством адресов. По сравнению с предыдущими реализациями, в которых каждая шина работала со всеми адресами сразу, такое "разделение труда" позволило увеличить производительность процессора в многопоточных приложениях. Особенно если учесть, что адресное пространство новой микроархитектуры составляло 48 бит, что обеспечивало адресацию ни много ни мало 256 Тбайт памяти.

Кроме того, AMD попыталась изобразить нечто, отдалённо напоминающее механизм устранения противоречий памяти, реализованный Intel. Поскольку с преимуществом операций записи перед операциями чтения поделать ничего нельзя, а на реализацию сложных алгоритмов спекулятивного исполнения у AMD не было не то сил, не то желания, корпорация решила пойти по относительно простому пути. Так как основная задержка системы происходит в момент переключения шины памяти из режима чтения в режим записи и наоборот, то AMD решила использовать это время с пользой. Для этого некоторые операции чтения кэшировались в специальный буфер и отправлялись на исполнение в моменты переключения шины. В результате терялось меньше времени, и эффективность работы памяти возрастала.

Система кэш-памяти

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

Необходимо также отметить, что предвыборка может осуществляться не куда-нибудь, а в кэш-память первого уровня! Это при том, что её размер по-прежнему составляет 128 Кбайт! Правда, AMD заявляет, что такой хитрый ход себя оправдывает, и ни о каком "засорении" кэша ненужными данными говорить не приходится - благодаря усовершенствованным блокам адаптивной предвыборки, которые обеспечивают своевременность поступления данных. В сочетании с увеличенным до 128 разрядов интерфейсом между кэш-памятью первого и второго уровней, такой подход позволяет повысить быстродействие системы, главным образом за счёт "маскировки" задержек доступа к памяти.

Содружество независимых ядер

Наиболее примечательной особенностью четырёхъядерных процессоров с микроархитектурой К10 является улучшенная схема управления питанием и тактовой частотой. Теперь каждое процессорное ядро вправе само "решать", на какой частоте ему работать, причём изменение происходит динамически и никак не влияет на частоту работы остальных ядер.

Иначе говоря, чем больше загружен процессор, тем больше ядер участвуют в работе. При этом нагрузка может быть распределена неравномерно, и каждое ядро, в зависимости от своей "участи", будет работать на собственной тактовой частоте, оптимальной с точки зрения производительности. Кроме того, часть ядер может быть попросту отключена, когда их участие в работе процессора не требуется.

Подобная технология была реализована и в более ранних процессорах AMD и Intel и также была призвана снизить среднюю потребляемую мощность. Однако для четырёхъядерных решений AMD проблема тепловыделения стала особенно актуальной, поскольку процессоры могли запросто рассеивать колоссальные 250 Вт тепла. Для сравнения, четырёхъядерные процессоры Intel ограничивались куда более скромным значением в 130 Вт.

Один, два, три, четыре, восемь

Микроархитектура AMD K10 унаследовала очень многое от предшествующей одноядерной микроархитектуры. Можно сказать, что многоядерные процессоры AMD стали не "прыжком вперёд", как это было у Intel, а просто органичным и закономерным развитием процессоров микроархитектуры К8. Корпорация даже не стала выделять новые разработки в отдельную линейку, продолжая использовать марки Athlon 64 и Opteron.

Микроархитектура K10 использовалась главным образом для построения дву- и четырёхъядерных процессоров. Эта же микроархитектура использовалась в одноядерных процессорах для бюджетного сегмента, а также в экспериментальных трёхъядерных процессорах. Кроме того, AMD не собирается отказываться от К10 и в своих восьмиядерных разработках.

Одним словом, своей новой процессорной микроархитектурой корпорация AMD вполне довольна. Что касается потребителей, то они, по всей видимости, также не имеют особых претензий к К10, если судить по устойчивому спросу на процессоры с этой микроархитектурой. Тем более что им есть из чего выбирать.


Предыдущие статьи цикла:
© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.