Каталог
ЧипBarcelona – первый четырехъядерный процессор AMD. Все 4 ядра расположены на одной подложке и сделаны по 65 нм техпроцессу. В отличие от интеловского четырехъядерного Kentsfield, ядро Barcelona сделано не из двух двухъядерных кристаллов, вот почему AMD называет его "native" – настоящим (истинным) четырехъядерным решением. Хотя это технически более продвинутая реализация, на показателях в реальных тестах, это, по-видимому, никак не отразится. Сделанный по 65 нм технологии AMD, процессор Barcelona имеет более сложную конструкцию, чем K8. У него до 11 токоведущих слоев, в то время как у K8 их 9, а у Core 2 – 8. Раньше у процессоров AMD было тоже больше проводящих слоев, чем у процессоров Intel того же поколения, поэтому по этому показателю Barcelona не уникален. Дополнительные металлические слои немного усложняют изготовление процессоров, но на стоимость для потребителей это почти не влияет. С четырьмя ядрами и дополнительным 2 МБ L3 кэшем, размещенным на той же подложке, у Barcelona всего 463 миллиона транзисторов. С 463 млн. транзисторов Barcelona отстает от Kentsfield на 119 млн. транзисторов, которых у последнего 582 млн. Меньшее число транзисторов объясняется меньшим кэшем – каждое ядро Barcelona имеет 128 кБ L1 кэш и 512 кБ кэш L2 – все 4 ядра совместно используют 2 МБ кэш L3. Всего на кристалле 4,5 МБ кэш. Каждый из двух кристаллов, которые составляют один Kentsfield, имеет 2 ядра, каждое ядро имеет свой 64 кБ L1 кэш и общий 4 МБ L2 кэш. То есть у одного процессора Kentsfield всего 8,25 МБ встроенный кэш – это более чем на 80% больше, чем у процессора Barcelona. Вот этим и объясняется то, что у интеловского четырехъядерника на 25,6% транзисторов больше. Однако с кэшем L3 процессор Barcelona это уже не просто 4 ядра K8. По оценкам, число некэшевых транзисторов у двухъядерного Athlon 64 X2 около 94 млн., а у Barcelona их примерно 247 млн. – видно, что даже удвоение двухъядерного ядра K8 не дает и близко того количества транзисторов, которое есть у Barcelona. Заметим, что простое удвоение 94 млн. тоже не совсем корректно, так как у Barcelona на кристалле всего один северный мост. По сути, у процессора Barcelona более 60 млн. дополнительных транзисторов (более 15 млн. на ядро), которые пошли на улучшение архитектуры помимо ядер и кэш. [N3-SSE128]
Многие из "главных" изменений у Barcelona были сделаны ради одного существенного изменения – AMD называет это SSE128. В архитектуре K8 могут параллельно выполняться 2 SSE операции, однако блоки SSE всего 64 битные. 128-битные SSE операции K8 должен обработать как две 64-битных операции. Это также означает, что при поступлении 128-битной SSE инструкции, её нужно сначала перевести в 2 микрооперации (по одной для каждой 64-битной полукоманды), поэтому для одной инструкции нужно задействовать дополнительный порт декодирования. Barcelona увеличивает разрядность исполнительного блока, который обрабатывает SSE операции, с 64 до 128 бит, поэтому теперь 128-битные SSE операции не нужно дробить на две 64-битных операции. Из этого также следует, что теперь в вашем распоряжении большая пропускная способность декодирования, так как теперь 128-битные SSE команды задаются одной микрооперацией, вместо двух. Планировщик операций с плавающей запятой тоже может задействовать эти 128-битные SSE операции. Увеличение разрядности SSE привело и к ряду других изменений в ядре. Поскольку для исполнения 128-битных SSE команд пропускная способность декодирования теперь увеличилась, у процессора обнаружилось новое узкое место – скорость прохождения команд. 128-битных SSE команд может быть довольно много, и, чтобы увеличить число команд, декодируемых параллельно, ядро Barcelona теперь может обрабатывать 32 байта за такт, вместо 16 байтов у K8. От 32 байтной выборки команд выигрывает не только SSE код, но и целочисленные вычисления. Вообще здесь будут выигрывать в производительности большие команды. Теперь, когда можно задавать и декодировать больше команд, нужно иметь возможность предоставлять исполнительному ядру больше данных, поэтому AMD расширила у Barcelona интерфейс между L1 кэшем данных и SSE регистрами. Barcelona теперь может сделать две 128-битных SSE загрузки из L1-D кэша за такт, по сравнению с двумя 64-битными загрузками за такт у K8. AMD также расширила интерфейс между L2 кэшем и контроллером памяти так, чтобы теперь за такт можно было передавать 128 бит, чтобы, опять же, сбалансировать все вышеупомянутые изменения. Ряд усовершенствований SSE128 очень похож на изменения, сделанные при переходе от Yonah к Merom. До Conroe/Merom, Yonah не мог тягаться с K8 по скорости обсчета операций FP/SSE. Почти полтора года назад проводилось сравнение AMD'шного K8 с интеловским Yonah, работающих с одинаковыми частотами. В то время как в обычных приложениях, 3D рендеринге и играх Yonah мог тягаться по производительности с K8, по кодированию видео он отставал. У Yonah был сделан ряд усовершенствований SSE производительности, но только процессоры Core 2 смогли действительно превзойти по быстродействию процессоры AMD в тестах кодирования видео. Пока неизвестно, сказалось ли на улучшении быстродействия однотактовое выполнение SSE команд, введенное в Core 2, более широкая шина или комбинация этих параметров. Хотя трудно сравнить характеристики двух очень разных архитектур, производительность кодирования сейчас для AMD является слабым местом, и здесь ей может помочь только введение SSE128. [N4-Оптимизация ядра] Хотя самыми заметными усовершенствованиями у процессора Barcelona являются изменения SSE128, это только видимая часть айсберга. Предварительный список усовершенствований у Barcelona начинается с предсказателя переходов. Вообще, точность предсказания переходов у процессора определяет его конструкцию, как в "длину", так и в "ширину". Среднее число правильно предсказанных команд определяет, сколько команд можно иметь "в работе", что, в свою очередь, определяет число исполнительных блоков, которые обычно можно обеспечить работой. Предсказатель переходов у K8 довольно хороший, |
Источник: www.anandtech.com/