![]()
Добавим, что все операции можно запускать каждый такт, кроме 64 битного умножения, которое запускается каждый второй такт. Кстати, а новый 64 битный конвейерный умножитель тоже вместился в 2%-3% дополнительных транзисторов? Или используется некая схема со сдвигом наподобие той, которая работает в ALU Pentium 4? Осталось сказать про FPU полностью конвейеризированный блок, с внеочередным исполнением команд, с 36-х входовым буфером-планировщиком, к тому же умеющий исполнять некоторые (?!) DSP инструкции за 1 такт. По этому поводу, к сожалению, не удалось разыскать никаких дополнительных сведений, а жаль некоторые предположения так и мелькают в голове.
Поддерживаемый набор инструкций x87, MMX, 3DNow!, SSE и SSE2. При этом в 64 битовом режиме и FPU, и ALU поддерживают 16 регистров. Для чего это понадобилось? Здесь необходимо сделать некоторое лирическое отступление: то, что набор команд х86 считается «устаревшим», слышали многие. Но многие ли представляют себе, что является одним из основных «костылей», которые мешают наращивать производительность далее?
Одним из главных «костылей» является тот факт, что архитектура х86 может иметь лишь 8 регистров общего назначения. При работе многих алгоритмов этого частенько не хватает приходится тратить время и вычислительные ресурсы на то, чтобы «выкрутиться». Подчеркиваем, речь не идет о физических регистрах со времен Р6 используется переименование регистров. Речь идет о том, что многие алгоритмы вынужденно усложнены в
силу нехватки архитектурных 8 регистров общего назначения в х86. AMD предлагает возможность снизить остроту этой проблему, предоставляя дополнительных 8 регистров. Но поскольку совместимость с предыдущим программным обеспечением обязательное требование для процессора общего назначения, то подобный подарок использовать в стандартном х86 не получится. Необходимо перейти на х86-64. Чтобы проиллюстрировать, что это дает, приведем эту гистограмму:
На ней обозначено, какой процент функций и алгоритмов в типовых приложениях использует то или иное количество регистров. Видно, что в Word больше 80% функций довольствуются 8 регистрами а остальные функции вынуждены использовать «переименование регистров» и запоминать промежуточные данные. Соответственно, если регистров станет 16, то это устроит уже 96% встроенных функций Word. При этом понятно, что скорость исполнения вырастет, ибо не нужно прибегать к дорогостоящим (в смысле производительности) алгоритмическим методам, сохраняющим регистры. Для набора ByteMark, характерного тем, что используется большой перечень разнообразных алгоритмов, выигрыш будет еще значительнее. Наверняка наиболее благодарными потребителями дополнительных регистров будут всевозможные научные расчеты их алгоритмы, как правило, весьма ресурсоемки. Теперь посмотрим, на какую производительность FPU мы можем рассчитывать. Теоретически, в режиме х87 или SSE2, мы можем выполнять одно умножение и одно сложение за такт (1 Mul + 1 Add). На практике AMD удалось реализовать почти 1.9 FLOPs за такт (пиковая производительность в SSE2 scalar). На наш взгляд, это превосходно! В режимах SSE и 3DNow! теоретическая производительность составляет 2 умножения и 2 сложения за такт (но меньшей точности, чудес по-прежнему не бывает). Полученная практически производительность чуть более 3.4 FLOPs за такт. При этом использовалась не последняя ревизия ядра Hammer возможно, результаты удастся еще немного «подтянуть». С ALU рекомендации все те же использовать предварительно выровненные данные, пользоваться prefetch. Кстати, о префетче: есть несколько его видов prefetchnta, prefetcht0, prefetcht1. Отличаются они следующим:
Кроме этого, AMD вводит новый метод записи так называемый Streaming Store, или non-temporal write. Отличительная его черта состоит в том, что при записи в память используется специальный Write буфер, и не используется ни L1 cache, ни L2 cache. Более того, нет необходимости выравнивать данные по длине линии кэша для достижения максимальной скорости. В результате не «загрязняется» кэш, что фактически означает, что его эффективный объем увеличился, а эффективная скорость записи в память возрастает почти вдвое (!). Некоторые имеющиеся данные наводят на мысль, что Fastpath блоков два, а вот Microcode только один. В принципе, данная ситуация возможна если большинство операций проходят через Fastpath, то подобное «неравенство» вполне оправданно. Кристалл ведь не резиновый… Да и греться меньше будет. :-) Подчеркиваю, это всего лишь предположения автора. Контроллер памятиВсем уже давно понятно, что данный блок один из ключевых в борьбе за производительность. Тем интересней, что же придумала AMD, чтобы добиться преимущества. Для начала припомним, что любая память с точки зрения скорости характеризуется, как минимум, несколькими параметрами шириной шины данных, частотой синхронизации (или связанной с ней пропускной способностью), и задержками, которые возникают при ее работе. Соответственно, в идеале пропускная способность должна быть как можно больше, а задержки как можно меньше. Что же у нас есть? Припоминаем, что отличие Athlon 64 от Opteron состоит из нескольких пунктов прежде всего, у Opteron двухканальный контроллер памяти, 128 бит вместо 64 бит. Также припомним большее число шин Hyper Transport, Socket 940 вместо Socket 754 у Athlon 64 (как раз следствие первых двух пунктов) и потенциально разный объем кэша. В данный момент нас интересует как раз первый пункт. Итак, пропускная способность памяти характеризуется частотой ее работы (типом памяти) и шириной шины данных соответственно, у нас поддерживается DDR память PC2100 и PC2700 (еще поддерживается память стандарта РС1600, но это для нас вряд ли интересно). Пропускная способность этой памяти составляет 2.1GB/s и 2.7GB/s (4.2GB/s и 5.4GB/s в случае двухканального контроллера Opteron). Таким образом, скорость памяти вполне «на уровне». Еще есть полуофициальный стандарт («де факто», но не «де юре») DDR400, ситуация с поддержкой которого неясна. С одной стороны, вряд ли сложно добавить поддержку еще и этого типа памяти тем более что это практически не требует изменения процессора, нужно лишь немного изменить контроллер. С другой стороны, поскольку комитет JEDEC этого стандарта не принимал, сложно заявлять подобную поддержку официально. Видимо, придется дождаться конечного продукта, чтобы окончательно прояснить ситуацию с этим стандартом.
В последнее время вокруг DDR400 (либо РС3200, каковое название этот стандарт получит, если его утвердят) опять
начались некие «телодвижения», связанные с тем, что Intel опубликовала планы его использования в своих будущих
чипсетах. Правда, необходимо некоторое уточнение: дело в том, что контроллер памяти, по заверениям AMD, работает на частоте
процессора... Но сама память на такой частоте работать не может рабочая частота памяти намного меньше. Есть два
варианта, каким образом можно организовать работу памяти либо сделать часть чипа работающей на частоте памяти
независимо от частоты остального процессора (что фактически означает асинхронность), либо ввести некоторые делители, и тогда скорость памяти будет зависеть от частоты ядра. Зная «любовь» AMD к асинхронным решениям, можно предположить, что более вероятно второе. И действительно, нам удалось разыскать такую пояснительную таблицу:
Обратите внимание на выделенные цифры по-видимому, в силу каких-то архитектурных ограничений делитель, отвечающий за скорость памяти, может быть только целым. Поэтому не все частоты процессора будут равнозначны при некоторых частотах скорость памяти будет меньше номинальной. Наиболее вероятная гипотеза состоит в том, что данное ограничение связано с работой внутреннего коммутатора (X-bar в терминологии AMD), связывающего контроллер памяти и другие части процессора. Достаточно логично предположить, что очередность обращения к памяти различных блоков не может быть дробной вернее, что обращаться к контроллеру памяти X-bar может только раз в целое число тактов процессора... Нам не удалось найти подтверждения или опровержения этой гипотезы но она хорошо объясняет подобную особенность. Кстати, этот самый X-bar вообще-то произносится как «кросс-бар», но автор уж очень привык к старому названию. :-)
Однако вернемся к теме разговора теперь понятно, что частота работы памяти отнюдь не такая тривиальная вещь, как мы думали раньше. Представим известную нам информацию графически:
Зависимость скорости памяти от частоты ядра Можно заметить несколько интересных вещей. Первое: скорость памяти РС1600 не зависит от частоты процессора вполне понятно, ибо скорость процессора всегда кратна 200MHz, и для каждой частоты процессора находится свой целый делитель. Причем не очень понятно, этот делитель только целый, или же он еще и кратен двойке? Первое лучше для эффективности но намного сложнее в схемотехнике, нежели кратный двойке делитель. Частота памяти РС2100 совершает небольшие «затухающие колебания» недалеко от штатной частоты 133 (266) MHz. Частота памяти РС2700 ведет себя таким же образом. В результате на небольших частотах процессора (при небольших делителях) скорость памяти меняется сильно, а с ростом частоты ядра (и на некоторых частотах ядра изначально) частота работы памяти все ближе к номинальной частоте, или равна ей. Второе: если этот делитель не будет зафиксирован жестко, то «оверклокеры» всех стран получат в руки новое оружие теперь можно будет разгонять память, меняя данный делитель. При этом все остальные компоненты работают в штатном режиме. Занятно. :-) Третье: если делитель должен быть не только целым, но и четным, то поддержка памяти DDR400 потребует нетривиальных мер с ростом частоты ядра частота памяти будет меняться очень сильно, от штатных 200MHz до «разочаровывающих» 133MHz (при небольших частотах процессора). И только рост частоты ядра до 4 5 Гигагерц сделает эти колебания малозаметными. Либо, конечно, можно наращивать частоту по 200MHz тогда мы сможем получить максимальную пропускную способность. Отсюда становится понятным осторожное отношение AMD к стандарту DDR400.... Правда, в случае, если делитель не обязательно кратен 2 тогда понятно, что скорость DDR400 будет всегда максимальной…. Забегая вперед, скажем, что делитель, по всей видимости, не обязан быть кратным двойке. Кстати, выбор частоты 200MHz в качестве опорной, с нашей точки зрения, легко объясним: дело в том, что по спецификации, старт шины Hyper Transport всегда происходит на частоте 200MHz а уж потом выбирается необходимая частота для работы. Соответственно, раз уж у нас все равно будет 200MHz, почему бы не воспользоваться этой частотой еще и в качестве опорной для процессора?
Не знаю, как тебе, читатель, а автору все-таки интересно, какая же скорость памяти будет достигнута в подобной системе? Нам удалось разыскать некоторые данные (вероятнее всего, относящиеся к системе на базе Athlon 64 Opteron должен был бы
показать большее быстродействие), продемонстрированные на системе с памятью РС2100:
Синим цветом обозначены значения для системы Pentium 4 (неизвестной нам частоты) + Rambus. И здесь трудно обойтись без комментариев. Во-первых, некоторые зависимости скорости памяти от частоты ведут себя странно их характер отличен от других (к примеру, Copy32 64bit). Возможно, это связано с тем, что данные измерены для процессоров сравнительно небольшой частоты, и в полную силу работают эффекты, связанные с делителем частоты памяти. Хотя, говоря откровенно, данное объяснение автора не слишком устраивает но, за неимением лучшего, пока будем пользоваться им. А в уме сделаем галочку при ближайшей возможности поинтересоваться этим моментом. Вторая особенность четко видна в таблице указаны некоторые значения для системы Pentium 4 + RDRAM. С большой долей вероятности можно сказать, что наверняка имеется ввиду система на базе i850 но не i850E. Впрочем, в данной ситуации трудно быть в чем-то уверенным. Как бы там ни было, даже если это РС800 RDRAM, ситуацию трудно переоценить подобное устройство подсистемы памяти позволило обогнать на потоковых операциях память, имеющую в полтора раза большую теоретическую пропускную способность. А что будет на памяти РС2700? А на DDR400? Ну а третья особенность также заметна пропускной способности памяти стандарта РС2100 хватает на процессор частотой 1200MHz 1400MHz. При большей частоте, вероятно, наступает насыщение, и пропускная способность подсистемы памяти не меняется. По-видимому, насыщение пропускной способности памяти РС2700 должно наступить в районе 1800 MHz2000 MHz (правда, надо помнить, что эта оценка, как и всякая экстраполяция, может оказаться неверной). К сожалению, подобных данных для РС2700 разыскать не удалось...
Теперь перейдем к задержкам памяти. Здесь все сложнее. Гораздо сложнее... Прежде всего, потому, что вместе с ростом частоты памяти задержки увеличиваются временные характеристики ячейки памяти ведь не изменились. Например, AMD в своих расчетах применяет РС2100 Cas 2, но РС2700 Cas 2.5 память. Приведем графики для обоих типов:
При этом автор обращает внимание читателей на тот факт, что эти данные получены на предварительной ревизии процессора (кстати, в данном случае неважен тип процессора, и у Athlon 64 и у Opteron скорость работы контроллера не отличается) в финальном варианте они могут измениться. Кроме того, поскольку достоверность данных неизвестна будем считать их всего лишь оценочным вариантом. Видно, что абсолютные задержки памяти в наносекундах падают с ростом частоты памяти, и ростом частоты ядра. В пределе задержки стремятся ко времени доступа к ячейке. Естественно, также оно, это время, будет зависеть от того, открыта или закрыта «страница» памяти, случайный ли это адрес и так далее. Из графика видно, что оно составляет величину порядка 40 наносекунд для обоих видов памяти. Можно так же предположить, что разница между задержками на частоте 800 MHz и 4000 MHz обусловлена работой контроллера памяти (вернее, его работой и работой X-bar). Интересно, что время работы контроллера порядка 25 наносекунд при частоте 800 MHz (по другим данным, порядка 40 нс). Это означает, что контроллер вовсе не обязательно работает на частоте ядра его частота может быть и меньшей (но не менее 40 MHz, естественно). Соответственно, данная зависимость скорости памяти от делителя еще один «рай» для оверклокеров.
В первых ревизиях ядра контроллер почти наверняка работает на частоте ядра но в дальнейшем, при необходимости быстро наращивать скорость, AMD может еще вернуться к идее применить подобный делитель. Впрочем, это всего лишь домыслы автора, пусть и не лишенные некоторой целесообразности. Но, кроме всего прочего, у нас есть некоторые цифры задержек. Так хороши они или плохи? Посмотрим на график РС2100. К примеру, для частоты ядра в районе 1500 MHz задержки находятся в районе 55 наносекунд. Давайте сравним с задержками для чипсетов стандартной архитектуры:
Опять выясняются некоторые интересные цифры: так, например, чипсет VIA KT266A оказался весьма и весьма неплох по части временных характеристик. А вот сравнительно низкие показатели AMD760MP(X) связаны с использованием ECC Registered DDR памяти, которая имеет большие задержки при работе, нежели обычная Unbuffered впрочем, даже с обычной памятью его предшественник, AMD760, работает не лучшим образом. По некоторым данным, работа контроллера памяти занимает 32 такта процессора. Плюс, естественно, время доступа к ячейке памяти отсюда легко понятна зависимость производительности подсистемы памяти от частоты процессора. Кроме того, автору попалась на глаза цифра для систем SUN порядка 180 нс для локальной памяти. Теперь можно понять, что цифры задержек для Athlon 64 и Opteron не просто хороши! Они великолепны! А с ростом частоты процессора станут еще лучше. Надо отдать AMD должное подобным ходом (интеграцией контроллера в процессор, и, как следствие, малыми задержками доступа) AMD сильно облегчила себе работу во всех ситуациях, связанных со случайным доступом в память вернее, снизятся не задержки доступа к ячейке памяти (они зависят только от характеристик самой памяти и топологии системы), снизится общее время реакции подсистемы памяти. А вот случайный доступ к различным ячейкам частенько, например, встречается в базах данных. И здесь разница между «традиционными» чипсетами и конструкцией AMD будет, по-видимому, уже не на проценты, а в разы. Браво, AMD!
Но не будем спешить интересно, что станет с этими цифрами в ситуации, когда система под нагрузкой. Да еще и в многопроцессорной системе, например.
Нам удалось разыскать следующие данные:
Очевидно, что данные касаются системы на процессорах Opteron никакие другие в 4-х процессорной конфигурации не работают. Заметим, что задержки, вначале достаточно большие (но при этом намного меньшие, нежели в других SMP архитектурах), но с ростом частоты процессоров сильно уменьшаются. Это тем более интересно, что до этого автор полагал, что наиболее значимым для величин задержек будет скорость межпроцессорных связей той самой технологии Hyper Transport. По-видимому, ее задержки невелики, и попросту теряются на фоне задержек памяти и контроллера. Автор оценивает потери времени на одну передачу запроса к памяти другого процессора по шине Hyper Transport в 12-20 наносекунд, в зависимости от скорости процессоров. Впрочем, эта оценка может оказаться неверной. Также интересно, как изменятся эти цифры под нагрузкой? Автор предполагает, что они увеличатся но остается непонятным, насколько именно. Впрочем, приведенная таблица говорит сама за себя задержки по сравнению с другими многопроцессорными архитектурами очень низки. Это говорит о том, что эффект от перемещения контроллера памяти внутрь процессора скажется именно на многопроцессорном рынке. Рискнем сделать одно предположение: AMD направляет главный удар не столько на десктопный рынок, сколько на 2-х и особенно 4-х процессорный. За это предположение говорят как внимание, которое уделяется тщательному разъяснению устройства систем, так и категорическое отсутствие каких-либо подробностей о производительности многопроцессорных систем, даже самых невинных. Похоже, сами вопросы на эту тему нервируют AMD. :-) В общем-то, эту идею автор считает здравой тем более, что на десктопном рынке есть некоторое оружие: впереди Barton с его L2 кэшем 512 КБ и 333 MHz шиной FSB (а, возможно, шина достигнет и 400 MHz). Было бы расточительно не воспользоваться его потенциалом. Кроме того, похоже, не стоит ждать слишком многого от десктопного варианта, Athlon 64. Да, его ядро будет дополнено теми характеристиками, которых не хватает нынешнему Athlon XP. Да, появится поддержка SSE2. Да и это главное отличие появится поддержка х86-64. Но, повторим, похоже, основные «сюрпризы» AMD приготовила для многопроцессорного рынка. Однако вернемся к теме задержек. С нашей точки зрения, величина этих задержек является вполне убедительным обоснованием, почему была выбрана именно такая архитектура AMD удалось с блеском решить задачу сравнительно однородного доступа в память (сама AMD называет свою многопроцессорную архитектуру SUMO). Очевидно, что с ростом количества процессоров в системе значения задержек увеличиваются. Впрочем, это достаточно понятно ведь в многопроцессорной системе необходимо передавать еще и служебную информацию, обеспечивающую когерентность кэшей и памяти. Да и путь данных удлиняется. Кроме всего прочего, по слухам, AMD добавила некоторые архитектурные ухищрения в работу с памятью. По непроверенным данным, контроллер памяти умеет держать до 16-ти открытых страниц памяти вместо 4-х (максимум для обычных чипсетов). Здесь надо сказать, что смысл, который в эту фразу вкладывает AMD, остался нам непонятым. Возможно, используется тот факт, что чип DDR SDRAM умеет держать до 8 страниц памяти открытыми. Если количество каналов памяти (два) маркетологи умножили на 8 то вот и получилось «до 16 открытых страниц памяти». Также «поговаривают», будто бы специальный счетчик следит за тем, как долго открыта каждая страница, «обучаясь» на ходу. Правда, «глубина истории», по которой он обучается, автору неизвестна характерная в подобных случаях глубина составляет 24 запроса. Контроллер памяти с X-bar (ну а тот с ядром процессора) соединен шиной шириной 64 бита, работающей на частоте процессора что дает на частоте 2 GHz скорость 16 GB/sec. Теперь смело можно добавлять поддержку любого типа памяти узкого места при передаче из контроллера памяти в процессор не образуется. Естественно, подобная пропускная система избыточна для любых существующих видов памяти но, по-видимому, сделать ее такой было проще схемотехнически, нежели придумывать специальную шину между X-bar и контроллером. Также не будем забывать, что, кроме «простой» функции работать с памятью контроллер памяти содержит еще несколько функциональных блоков. В частности, достаточно много людей задавались таким вопросом: поскольку теперь контроллер памяти в процессоре, как именно будет происходить работа с памятью для, например, AGP видеоадаптера? Ведь теперь на его пути к памяти, кроме контроллера памяти (ранее встроенного в чипсет), теперь есть AGP 3.0 «туннель» AMD8151 (или подобные от других производителей), контроллер Hyper Transport, X-bar. Не приведет ли это к большим задержкам и к падению скорости для видео? «Масла в огонь» подлили некоторые слухи, согласно которым некоторые производители чипсетов стали делать свой собственный контролер памяти для видео дабы нивелировать этот эффект. Теперь, думаю, можно дать ответ на этот вопрос: нет, не приведет. Во избежание подобной ситуации AMD внесла в контроллер, кроме всего, еще и Graphics Address Remapping Table (GART). Таким образом, есть дополнительная стадия передачи данных при помощи Hyper Transport от памяти к видеоадаптеру но зато наиболее сложная и долгая работа по переименованию адресов памяти и размещению запросов происходит на гораздо более высокой скорости. В результате скорость скорее вырастет, чем упадет. Там же (в контроллере памяти) теперь и часть PCI-to-PCI bridge. В результате практически полный контроль над передачей данных в системе принимает на себя X-bar, внутренний коммутатор процессора высвобождая ядро процессора для более интеллектуальной работы. Жаль, что мы так мало о нем знаем. Получается эдакая аналогия DMA, но на новом уровне. Чем-то неуловимо напоминает почившую в «бозе» I2O архитектуру (см. статью). Впрочем, старый добрый DMA никуда не исчезает он по-прежнему есть и поддерживается. Более того, подобная конструкция намного эффективнее (по данным AMD) освобождает процессор от участи в пересылке данных. Автор считает, что подобная конструкция должна значительно поднять производительность в области ввода/вывода, а это незамедлительно должно крайне благоприятным образом сказаться на скорости и удобстве работы в целом. Подчеркиваю, это личное мнение автора AMD нигде об этом не упоминает. Контроллер Hyper TransportВот так, незаметно, мы и подошли к следующему функциональному блоку контроллеру Hyper Transport. Это достаточно важная часть системы и тем более важная, что именно в этой области есть достаточное количество нововведений, ранее в архитектуре х86 не употреблявшихся. Здесь начитанный читатель может возразить как это «ранее не употреблявшихся»? Ведь в чипсете nForce и nForce 2 применяется шина Hyper Transport хоть и младший ее вариант…. Да, применяется. Но при этом не используются практически никакие специфические для Hyper Transport возможности она работает в этом чипсете так же, как работала бы «очень быстрая» PCI. Фактически, именно сейчас Hyper Transport должна «заиграть» в полную силу. Что ж, тем интереснее обсудить некоторые подробности ее работы.
Интересные данные можно предоставить о задержках во время работы подсистемы ввода/вывода, и их зависимости от нагрузки:
Видно, что только случай максимальной загрузки и процессора, и подсистемы ввода/вывода способен серьезно увеличить задержки. Здесь автор испытывает большое желание взять слово «серьезные» в кавычки понятно, что задержка доступа в 250 наносекунд выглядит серьезной только на фоне задержки в 50 наносекунд. По сравнению же со всеми остальными традиционными подсистемами ввода/вывода все очень хорошо у автора есть только некоторые цифры для других систем. Например, для SUN задержки даже в случае Fire Plane (а это, на минуточку, старший вариант шины с пропускной способностью 9.6 GB в секунду!) только на передачу уходит порядка 100 наносекунд. В общем случае эта цифра превышает характерное время для Hyper Transport. Кроме всего прочего, такой характер зависимости наводит на мысль (неизвестной степени достоверности) о том, что в подобном резком подъеме виновата не шина Hyper Transport, а внутренний коммутатор процессора X-bar. Возможно, именно он становится «слабым звеном» при росте нагрузки. Тогда с ростом частоты процессора производительность X-bar тоже увеличится, и график при этих значениях должен приобрести значительно более пологий вид. К тому же это объясняет постоянные напоминания AMD о том, что с ростом частоты все станет «еще лучше».:-) Как говорится, практика покажет, была ли эта идея верной. Надо напомнить, что ранее для величины задержки автор называл цифры 12-20 наносекунд. Налицо противоречие здесь нет таких данных даже по порядку величины. Объяснение данного разногласия вот в чем Hyper Transport может работать в двух режимах: когерентном и некогерентном. Для межпроцессорных связей используется когерентный режим, а для I/O некогерентный. Так что никакого противоречия нет задержки для них действительно разные.
Кроме того, раз уж мы заговорили о шине Hyper Transport, позволим себе напомнить уровень ее масштабируемости. Для этого приведем следующую диаграмму:
Согласитесь, диапазон скоростей, доступных для Hyper Transport, впечатляет. Вообще говоря, даже сама по себе эта шина весьма сильная разработка. В ней достаточно хорошо сочетаются простота разводки, великолепные скоростные качества, низкие задержки, хорошая масштабируемость и при всем при этом совместимость с давно изученной программной моделью PCI, что немаловажно для беспроблемного внедрения ее в промышленность.
Хочется также продемонстрировать, насколько разводка Hyper Transport проще, нежели разводка традиционных шин:
Легко заметить, какую площадь на печатной плате занимает шина AGP 8x с пропускной способностью 2 ГБ/секунду, а какую шина Hyper Transport, прокачивающая до 6.4 ГБ/секунду. Думаем, комментарии излишни. Кстати, автору было достаточно интересно сравнить ее с другой перспективной разработкой PCI Express, в девичестве 3GIO. В результате «раскопок» удалось найти следующие факты:
Приведем график, который продемонстрирует скорость чтения:
и записи:
Видно, что вплоть до размера 64 байта (размер пакета) Hyper Transport равна или превосходит PCI Express, и лишь при большем размере пакета немного отстает по части эффективности она утилизирует порядка 90% пропускной способности при отложенной записи, и порядка 85% при чтении. Вполне неплохо для шин, настолько отличающихся по времени создания. Тем интересней будет посмотреть на следующую версию Hyper Transport что покажет она? Вновь напомним, что шина Hyper Transport способна работать в двух режимах когерентном, и некогерентном. Первый применяется для минимизации задержек, второй для достижения максимальной пропускной способности и минимизации загрузки процессора. Теперь, на наш взгляд, самое время поговорить о следующей составной части систем на Athlon 64 и Opteron пока же укажем, что, по мнению автора, подобная архитектура системы ввода/вывода и есть ключ к высокой производительности именно многопроцессорных вариантов. ЧипсетДавно известно, что часто именно чипсет, как ближайшее окружение процессора, создает впечатление о производительности системы и ее преимуществах/недостатках. Тому масса примеров, и автор не видит смысла их приводить при желании любой читатель сможет их отыскать самостоятельно. Так что вполне понятен интерес к тому, на каком же чипсете будут работать системы на Athlon 64 и Opteron. Надо сказать, что и здесь AMD сумела найти нестандартный подход. Еще при объявлении компанией шины Hyper Transport было вполне логично предположить, что именно эта шина будет рано или поздно использоваться в новых системах на базе их очередного процессора. Но то, что предложила компания, выходит за рамки обычного чипсета да и за рамки «необычного» чипсета выходит тоже. Судите сами: классический чипсет состоит, как правило, из двух (реже одной или трех) микросхем, в которых одна, содержащая контроллер памяти, AGP, и какую-либо вспомогательную шину (PCI либо любую другую) между микросхемами чипсета, обычно называется Northbridge. Соответственно, всевозможные контроллеры ввода/вывода, а в последнее время, как правило, и контроллер шины PCI, интегрируются в, так называемый, Southbridge. Так устроено подавляющее большинство чипсетов. Повторим Northbridge и Southbridge соединяются той или иной шиной. Это может быть PCI, как в чипсетах ALi или старых чипсетах VIA, это может быть PCI64 «разных мастей», как в некоторых чипсетах Server Works или AMD760MP(X), это могут быть собственные шины, как в чипсетах SiS, Intel, или новых чипсетах VIA. В конце концов, это может быть Hyper Transport, как в чипсетах от NVIDIA. Угадайте, какой вариант выбрала AMD? :-) Правильно, Hyper Transport. Во-первых, потому что это шина ее собственной разработки. Во-вторых, потому что она имеет наибольшую скорость на сегодняшний момент из доступных на рынке шин. В-третьих, потому что ее разводка проста и позволяет создать недорогие материнские платы, что немаловажно при выборе платформы. Так что причины выбора вполне понятны. Но AMD пошла дальше, гораздо дальше.
Ведь что у нас осталось из функций чипсета? Контроллер памяти в процессоре. AGP частично там же, по крайней мере, наиболее сложная часть GART. Контроллер шины Hyper Transport и тот в процессоре. Остается часть AGP, контроллеры ввода/вывода, контроллер PCI… Собственно, все. Можно, конечно, все оставшиеся части интегрировать в одну микросхему
(забегая вперед, скажем, что NVIDIA так и сделала). Но AMD нашла еще более красивое решение. Было создано три
микросхемы (под объединяющей их серией AMD8000):
AMD8151, Hyper Transport AGP tunnel
AMD8131, Hyper Transport PCI-X контроллер
AMD8111, Hyper Transport контроллер ввода/вывода, контроллер шины PCI, BIOS, и все оставшиеся функции, как-то IDE контроллер, USB 2.0, сеть, и прочее. Что же дает такое разделение труда? Зачем три микросхемы, когда в принципе можно обойтись одной? А дело здесь вот в чем редкому пользователю нужны абсолютно все возможности, предоставляемые чипсетом. Обычно часть функций не используется, но пользователь все равно за них платит и, в общем-то, все привыкли к тому, что это нормальное положение вещей. Но скажите, многим ли дома или в офисе нужен контроллер шины PCI-X, которая применяется отнюдь не в домашних машинах? А ведь добавление подобной шины ощутимо увеличивает цену конечной системы. В то же время вообще отказаться от этой шины нельзя, она активно используется в серверах. А многим ли серверам вообще нужно AGP? Да, по привычке мы ставим туда AGP видеокарту но просто потому, что процесс перехода на AGP шину произошел слишком удачно, до практически полного исчезновения PCI видеокарт. Так вот, теперь не надо платить за ненужные вам функции для построения системы обязательна только одна микросхема AMD8111. Остальные две, вообще-то, могут отсутствовать. Конечно, нынешнюю машину без AGP разъема трудно себе представить но, говоря откровенно, есть огромная область работ, в которой вполне справляется и интегрированное видео, а удешевление и уменьшение габаритов системы весьма желательны. Домашние, игровые компьютеры вполне разумно строить на комплекте AMD8151 + AMD8111 есть все, что необходимо, и нет лишних функций. Сервер извольте, рекомендуем AMD8131 (при необходимости можно несколько!) + AMD8111. Ниже будут представлены схемы, на которых эти идеи реализованы. Обратите внимание: вместо одного чипсета для мейнстрим продуктов, одного для рабочих станций, одного или нескольких для серверов мы получили один строительный набор из трех компонент, которые можно объединять практически в любой удобной для нас комбинации. Неожиданная, но интересная и здравая идея не говоря уже о том, что она сильно сэкономит силы AMD в процессе технической поддержки. Ведь одно дело поддерживать один продукт, хоть и трехкомпонентный, а другое десяток различных чипсетов. Так что и в этой области решение интересное и эффективное. Несколько слов необходимо сказать также и о чипсетах других производителей. CrushK8 от NVIDIA нами уже упоминался интересен тем, что это первое решение из одной микросхемы. У него будет вариант со встроенным видео и в таком виде это будет очень интересное решение для, например, офисных компьютеров. А памятуя об очень неплохой производительности встроенного видеоадаптера в чипсетах NVIDIA, можно спокойно надеяться на то, что и поиграть тоже будет вполне комфортно.
Собственно, позвольте представить фрагмент слайда, который лучше всяких описаний представит планируемые чипсеты от других производителей:
Впрочем, многие производители материнских плат уже демонстрировали свои продукты на базе некоторых чипсетов. Другими словами, за рынок чипсетов под семейство Hammer можно не волноваться процессоры еще официально не вышли, а уже анонсировано 8 (!) чипсетов, кроме, собственно, чипсета AMD8000. Кроме того, наверняка AMD будет придерживаться такой же стратегии, как и в чипсетах для Athlon MP на рынке чипсетов для десктопов AMD уже не видно, там играют другие производители. А вот в двухпроцессорных системах работает чипсет AMD. С большой долей уверенности можно сказать, что AMD8000, скорее всего, на первом этапе будет играть роль эталонного чипсета для запуска семейства Hammer, а позднее сместится в сектор многопроцессорных систем, где степень ответственности намного выше. В общем-то, на данный рынок никто из оставшихся производителей чипсетов, насколько нам известно, и не претендует Server Works делает чипсеты под системы на базе процессоров Intel, а сама Intel чипсетов под процессоры конкурента делать, естественно, не собирается. Хотя автор с удовольствием бы на них взглянул! :-) Системы на Athlon 64Автору удалось добыть некоторые сведения (пока на уровне слухов но автор мало в них сомневается) о модельном ряде процессоров Athlon 64. Как нам стало известно, стартует этот процессор приблизительно в конце первого начале второго квартала, то есть март-апрель 2003 года. Стартует он с рейтингом 3100+, что соответствует реальной частоте в районе 1.8 GHz. В дальнейшем, видимо, модельный ряд будет следующим: 2800+ (1.6 GHz), 3100+ (1.8 GHz), 3400+ (2.2 GHz), 3700+ (2.4GHz), 4000+ (2.6 GHz) и 4300+ (2.8 GHz). Два последних, по слухам, выйдут спустя некоторое время, тогда как к выходу первых четырех все готово. Осталось наладить массовое производство что, вообще говоря, не такое уж простое дело. Для этих процессоров известны уже все спецификации, как электрические, так и тепловые. Это говорит о том, что AMD имеет на руках, как минимум, рабочие образцы в кремнии. Видно, что в данный момент планируется продолжить использование рейтинга сама AMD по этому поводу говорит следующее: «мы понимаем, что рейтинг не лучший выход. Мы работаем вместе с индустрией над более корректной методикой измерения. Но до ее появления будет использоваться рейтинг». Ниже автор расскажет про наработки в этой области. Как и сообщалось ранее, ядро Hammer будет производиться на Fab 30 в Дрездене, при помощи 0.13 мкм технологического процесса с применением SOI «кремний на изоляторе». Многопроцессорные системы. Opteron.Очень интересная для нас ситуация сложилась с многопроцессорными системами на Opteron. С одной стороны, по распределению памяти ну совершенно типичная NUMA архитектура (с неравномерным доступом к памяти), даже спорить не о чем. Ибо время доступа к памяти будет зависеть от того, локальная это память, или нет а если не локальная, то какого именно процессора. С другой стороны, AMD буквально настаивает, что с точки зрения программной модели это SMP и ничего более. Даже название придумала SUMO. Как же разобраться в этом хитросплетении терминов? Для начала давайте подумаем, чем же для программиста отличаются эти две программные модели? В общем случае, для того, чтобы программа исполнялась эффективно, необходимо следить за ее распределением в памяти в случае NUMA архитектуры, и нет такой необходимости в случае SMP архитектуры. Происходит это потому, что времена доступа к памяти различных иерархий в архитектуре NUMA обычно отличаются на порядки и, соответственно, неправильное размещение программы в памяти приводит к падению производительности в десятки раз. Если же время доступа к памяти для разных процессоров одинаково, или отличается несущественно то, с точки зрения программирования, мы имеем программную модель SMP. Она гораздо проще и практически весь софт для многопроцессорных архитектур х86 разработан именно для такой программной модели. Вот таким упрощенным образом можно вкратце описать различия между этими, подчеркиваем, программными моделями. Естественно, различия на этом не заканчиваются просто мы позволим себе описание остальных различий оставить в качестве домашнего задания для энтузиастов :-). Или как тему для обсуждения в конференции.
Теперь, когда мы сформулировали критерий, надо каким-то образом добыть данные о временах доступа в многопроцессорных Opteron системах…. Кто-то уже давно сказал кто ищет, тот всегда найдет. Нашли и мы. Для начала припомним графики задержек памяти, которые мы видели по тексту выше. Там были цифры для 2 hop-ов…. Припоминаете? Нарисуем, что такое hop, чтобы не путаться с терминами:
Видно, что обращение к памяти называется hop-ом. При этом обращение к своей локальной памяти 0-hop. Обращение к памяти соседнего процессора, до которого надо путешествовать по шине Hyper Transport один раз 1-hop. То же самое, но к процессору, до которого два путешествия по Hyper Transport называется 2-hop. А теперь посмотрим еще и на эти цифры (тестовая система Opteron 2 GHz, 128 bit memory DDR333, CL 2.5, Hyper Transport 6.4 GB/sec). Время доступа для:
Теперь видно, что в случае, когда процессоров 4, все времена доступа подтягиваются к среднему времени около 93 нс для двухпроцессорной системы и около 118 нс для 4-х процессорной. Последняя цифра, кстати, соответствует времени доступа хорошего однопроцессорного чипсета. Но здесь у нас общее время складывается из собственно времени доступа в память и времени передачи его по шине Hyper Transport (один или два раза)! Так что подобный результат можно признать вполне удовлетворительным. Кроме того, надо помнить, что все это справедливо для памяти CL 2.5 при переходе на память CL 2 эти значения должны снизиться. Также для сравнения приведем цифры для 4-х процессорной системы SUN порядка 207 наносекунд при доступе к «нелокальной» памяти удаленных процессоров. Данные взяты из статьи: http://www.ixbt.com/cpu/sun-solutions.shtml Теперь вернемся к нашему предыдущему вопросу так NUMA это, или SMP? Говоря формально, все-таки NUMA 40% разницы не дают возможности назвать эту модель памяти SMP. А можно ли пользоваться моделью для SMP? Можно. Данная разница, хоть и заметна, под нагрузкой будет сглажена у нас нет «твердых» цифр, но судя по некоторым данным, при нагрузке к этим временам надо добавить порядка 40 нс… Тогда эта разница превращается в 140 нс против 180 нс а это уже другое соотношение. Таким образом, можно считать, что название SMP для данной системы вполне можно употреблять и, соответственно, вполне можно программировать как для «классического SMP», без оглядки на действительную архитектуру системы (NUMA). Впрочем, мы не исключаем, что в дальнейшем ОС будут отслеживать распределение памяти в подобных системах благодаря этому можно будет рассчитывать еще процентов на 10% прироста быстродействия. Почти наверняка найдется некоторое количество пользователей, которые привыкли выжимать всю производительность из систем. Опять же, напомним, что сама AMD для наименования этой «переходной» архитектуры использует термин SUMO. Теперь напомним вкратце, каково устройство многопроцессорных систем на архитектуре Hammer.
Система на 2 процессорах:
Система на 4-х процессорах:
Внушительное зрелище, не так ли? :-) Заметим, что AGP здесь и не пахнет он там попросту не нужен…. Собственно, слайд довольно старый отсюда и отсутствие современного логотипа Opteron.
Кстати, если сделать не 4 канала ввода/вывода, а 2 то две высвободившиеся связи Hyper Transport можно соединить друг с другом, вот так:
Тогда средневзвешенная скорость памяти составит 19,2 GB/sec вместо 12,8 GB/sec в классическом варианте, а средний «диаметр» системы (средняя длина пересылок данных в hop-ах) составит 1.17 hops, а не 1.33. В свою очередь, это приведет еще и к снижению задержек. Автору подобный вариант даже больше нравится, нежели классический симметричный редко когда в действительности для ввода/вывода необходимо больше, чем 2 канала Hyper Transport суммарной производительностью более 12 гигабайт в секунду. А поэтому такой вариант будет даже более интересен.
Кроме всего прочего, архитектура Hammer позволяет строить и 8-ми процессорные системы. При этом у крайних 4-х процессоров по одной шине Hyper Transport отдано для ввода/вывода, а у центральных все три задействованы в качестве межпроцессорных связей. Правда, надо отметить, что, по-видимому, задержки в такой системе сильно увеличатся впрочем, поскольку точные данные у автора отсутствуют, все
сказанное суть только наше предположение. «Классический» вариант такой системы выглядит так:
Теперь применим такую же идею пару связей Hyper Transport, задействованных для ввода/вывода, соединим друг с другом. Задействуем диагональные крайние процессоры. Получаем средневзвешенную скорость памяти 32 GB/sec вместо 25,6 GB/sec в классическом варианте, а средний «диаметр» системы 1.64 hops, а не 1.71. Приятная прибавка, не правда ли? Правда, есть некоторые сведения, что все три шины Hyper Transport не могут быть когерентными только две. Если так, то в 4-х процессорной архитектуре несимметричный вариант невозможен, а в 8-ми процессорной не будет связей между центральными процессорами, что резко увеличит среднее число hop-ов между процессорами, и, как следствие, сильно увеличит латентность. Автор надеется, что этот пессимистический слух не оправдается к тому же в других источниках прямо указано, что один из контроллеров может переключаться между режимами coherent и non-coherent Hyper Transport. Нельзя не заметить, что 4-х и 8-ми процессорным архитектурам отчаянно не хватает пропускной способности именно межпроцессорных связей и с ускорением шины Hyper Transport производительность многопроцессорных систем сделает новый рывок. Но это дело уже будущих модификаций Hammer мы не испытываем ни малейшего сомнения, что данная архитектура еще неоднократно будет модифицироваться и улучшаться. Как очевидный вариант, к тому же косвенно подтвержденный AMD следующая модификация ядра Hammer будет поддерживать память DDRII (это, кстати, по оценкам автора, должно дать довольно значительный прирост производительности). Так что есть твердая уверенность в том, что данная статья об ожидаемых процессорах AMD не последняя :-). Теперь, когда многопроцессорная архитектура AMD озвучена, дело за рынком дальше именно он решит успешность/неуспех архитектуры.
Интересно, а можно ли сделать больше, нежели 8 процессоров? Оказывается, можно! Правда, теперь не удастся обойтись средствами только процессоров, необходимы еще и коммутаторы Hyper Transport. При их помощи систему можно сделать поистине гигантской…. Впрочем, судите сами:
Гм... Подобные Hyper Transport switch уже существуют и доступны (на четыре шины). Объявлены также коммутаторы на 8 шин. Осталось понять, что это за Interconnect Fabric…. Но стоп пора бы и остановиться :-). Тем более, что здесь самое время вспомнить, что не кто иная, как компания Cray объявила сравнительно недавно о том, что она будет строить суперкомпьютер производительностью порядка 36 TFlops на процессорах Opteron (с возможностью увеличения производительности до 54 TFlops позднее). Интересно, будет ли архитектура суперкомпьютера похожа на эту картинку? :-) Довольно долгое время мы сможем об этом только догадываться. Но возможности архитектуры действительно впечатляют. Кроме того, ходят слухи, которые автор не берется ни подтвердить, ни опровергнуть. Но слухи интересные: говорят, что для фирмы Cray AMD будет производить специальную версию Opteron с 4-мя линками Hyper Transport. Процессоры вроде бы будут составлять трехмерную сеть. Собственно, принципиальных сложностей для добавления 4-го линка вроде бы нет но тогда непонятно, в каком же форм-факторе будут производиться эти процессоры.
Думаем, в этом разделе будет уместно поместить фото 4-х процессорной материнской платы с Opteron-ами. Насколько нам известно, она еще нигде не публиковалась хотя спорить на деньги в этом вопросе автор бы не стал :-) …
Ну а сейчас, когда мы обсудили практически все технические детали, самое время перейти к «сладкому» показателям производительности. Показатели производительности это некий итог тем идеям, которые заложены в архитектуре систем на Hammer. И, если можно так сказать, некая им оценка. Производительность. Часть первая: «верхи не могут, низы не хотят»Перед тем, как представить некоторые результаты замеров производительности, хочется как можно точнее определить, что же понимается под словом «производительность». С одной стороны, эта характеристика понятна интуитивно чем «быстрее», тем лучше. Понятно также, что некое мерило эффективности системы действительно нужно и рынку, и индустрии просто для того, чтобы были какие-то критерии для выбора. С другой стороны, после некоторого углубления в предмет, становится понятно меньше, чем было до изучения ситуации. Оказывается, не получается написать некоторое число, которое было бы производительностью системы. Вместо этого ситуация до боли напоминает бородатый анекдот:
Подобная ситуация сложилась и здесь показатели производительности зависят от набора тестов, условий тестирования, а в последнее время обнаружилась и вовсе «модная» тенденция: в некоторых приложениях (например, Lightwave 7.0b) результаты частенько зависят от того, какую именно тестовую сцену (из нескольких входящих в комплект поставки) выбрать для тестирования. В одной из них обычно побеждает Athlon XP, в другой Pentium 4. После этого ясно, что необходимо очень аккуратно следить за условиями экспериментов, и очень осторожно относиться к результатам любых тестов, условий проведения которых мы точно не знаем. Это в равной степени касается всех систем, а не только тех, о которых идет сегодняшний разговор. К чему мы завели этот разговор? А к тому, что на сегодняшний момент сложилась, на взгляд автора, кризисная ситуация с тестированием различных платформ. Если тестирование какой-либо одной платформы есть сравнительно простая задача, слишком мало переменных меняется то тестирование совершенно разных платформ частенько дает слишком странные, а то и просто некорректные результаты, на которые нет смысла опираться. Впрочем, такая ситуация сложилась уже давно просто некоторое время она была незаметна для всех нас, поскольку ранее платформы х86 отличались между собой в основном разве что мелкими деталями. Но чем дальше тем больше отличаются между собой различные платформы х86. И в результате показания тестов становятся все более невразумительными. Нет, по-прежнему тестеры ответственно и квалифицированно меряют количество кадров, время просчета, скорость выполнения скриптов…. Просто все больше и больше ситуаций, когда результаты тестов вызывают сомнения. По-видимому, отчасти это закономерный процесс идет время, становятся важными другие характеристики. Так «отслужили свое» синтетические тесты наподобие славного CHECKIT или SYSINFO некоторые низкоуровневые тесты наподобие Cachemem по-прежнему используются для замера тех или иных характеристик, но скорость в SYSINFO давно уже не является показателем скорости процессора, не так ли? Затем наступила эпоха «реальных» тестов замеров скорости работы реально существующих приложений. Наступила эпоха Winstone. Долгое время этот тест был «лицом» Ziff-Devis Benchmark…. Все системы стремились набрать как можно больше баллов а незапятнанное имя теста служило порукой тому, что результаты тестирования будут адекватно соотноситься с реальной скоростью систем. Но, к сожалению, с течением времени и ростом скорости систем, тест перестал вести себя адекватно. Нет, он не врал просто результаты его перестали быть воспроизводимыми. Все чаще возникали странные ситуации, когда небольшое изменение тестовой конфигурации приводило к резким изменениям показателей производительности. И тестеры потеряли к нему доверие. Ведь к тестам, как и к людям, потерять доверие легко, а восстановить ой, как сложно…. Если вообще возможно…. В какой-то степени, конечно, «спасают» тесты, давно ставшие промышленным стандартом де-факто для сравнения разных архитектур автор имеет в виду тесты SPEC CPU2000 вернее, фактически это набор тестов (см. статью). А уж каждый может выбрать те, которые важны именно для него. Но их применение весьма трудоемко, а результаты для неподготовленного пользователя попросту непонятны. В качестве «массового» и популярного бенчмарка эти тесты непригодны. Подобная ситуация привела к тому, что возникла необходимость в новом тесте. К тому же, крайне желательно, чтобы он отображал не мифические «попугаи», которые непонятно как применять. Было бы гораздо лучше, чтобы его показатели соотносились со скоростью работы системы в реальных приложениях. Ну что ж, задача ясна. И она была выполнена. Вернее, была создана целая процедура тестирования. Получила эта процедура название True Performance Initiative. Производительность. Часть вторая: TPI
Методика TPI состоит в измерении производительности в трех разделах: Productivity, Visual Computing, Gaming. Собственно, проще продемонстрировать слайд:
Здесь хорошо видно, какие именно приложения AMD считает вполне типичными приложениями для измерения производительности. Собственно, именно выбор приложений для тестирования самое узкое место в составлении любого подобного теста, поскольку результат теста часто косвенно (а иногда и прямо) зависит от этого выбора. Причина, почему выбран тест SYSmark 2001, проста AMD не согласна с изменением методики тестирования в тесте BAPCO SYSmark 2002. На эту тему уже были публикации всех интересующихся подробностями мы отсылаем к документу под названием «SYSmark 2002 Analysis Presentation FINAL.pdf», который есть на сайте AMD. В области Visual Computing автору непонятно, зачем использовать Content Creation Winstone 2001 и 2002 одновременно они во многом друг друга дублируют…. С набором игр, и особенно с их настройкой также можно поспорить. Хотя основная идея понятна выбрать некоторое количество типичных пользовательских программ, и протестировать системы на них. Соответственно, объявить средний результат показателем производительности. Также в плюсы этой идее можно прибавить то, что каждый из тестов, входящих в TPI, на сегодня достаточно актуален. Однако не совсем понятно, что делать, например, с Doom III ясно ведь, что как только эта игра выйдет она, как и все игры этой серии до нее, станет одним из самых популярных бенчмарков. Менять набор TPI? Но тогда где гарантия, что не произойдет ситуация, похожая на историю с SYSmark 2002? В общем-то, пока мы задаем эти вопросы скорее наперед. Не будем спешить просто сделаем зарубку на память. :-) Как уже упоминалось выше, на текущий момент AMD планирует использование рейтинга. Однако было бы неплохо представлять себе, как он был выставлен если ничего не изменилось, то, скорее всего, выставлялся рейтинг на основе TPI.
Приведем некоторые графики (неизвестной степени достоверности) относительной производительности систем на Athlon 64 и Pentium 4 533FSB + RDRAM PC800:
Обратите внимание, что наклон кривой для Athlon 64 и для систем на AthlonXP или Pentium 4 разный. Производительность ядра Hammer меняется с ростом частоты гораздо быстрее благодаря чему и выигрывает данная архитектура. Как видно, для того, чтобы получить текущую производительность Pentium 4 3.06 GHz, достаточно (согласно графику) частоты 1733 MHz. Однако выше автор уже писал, что Athlon 64, наиболее вероятно, выйдет с начальной частотой 1800 MHz по-видимому, AMD желает иметь некоторый «запас прочности», чтобы будущая шина 800 MHz для Pentium 4 вместе с технологией Hyper Treading не привела к смене лидера. Впрочем, точно мы это узнаем только после выхода процессора и тестов готовых систем на его основе. Естественно, что данный график отражает производительность для систем, измеренный при помощи TPI выше мы уже описывали методологию. В случае же, если система на Pentium 4 будет использовать DDR память, график перемещается чуть ниже. В таком случае необходима даже меньшая частота Athlon 64, чтобы перегнать Pentium 4. Правда, AMD слегка «лукавит», применяя систему на i845D и память PC2100 с более быстрой памятью показатели Pentium 4 будут выше по-видимому, на уровне Pentium 4 533FSB + RDRAM. Ну что ж, возьмем «на заметку». Заметим, что разница между процессорами Athlon 64 256 KB L2 cache и Athlon 64 1 MB L2 cache совсем не так велика, как можно было бы ожидать. По-видимому, в данном тестировании нет приложений, которые бы почувствовали эту разницу возможно, более «тяжелые» приложения для рабочих станций покажут другой результат.
Кстати, теперь, благодаря нашим коллегам из немецкого журнала «c't», мы можем указать результаты еще одного сравнения:
Надо сказать, что тестировался явно образец и мы не знаем, будет ли он массово производиться. Также заметим, что тестировался образец частотой «всего» 1200 MHz мы надеемся, что у AMD есть более высокочастотные модели. Впрочем, по слухам с Тайваня, уже есть образцы с частотой 1800 MHz. Кстати, AMD опять немного «слукавила» с памятью для Pentium 4. Интересно было бы каким-то образом прикинуть эффект от внедрения на Pentium 4 шины 800 MHz и Hyper Treading автор оценивает вклад в производительность как +15 +20 единиц TPI. В этом случае процессор Athlon 64 с частотой 1800 MHz будет соперничать не с Pentium 4 3.06GHz, а с более скромным 2.53 GHz. В общем-то, и это очень неплохо. А что у нас на фронте рабочих станций? Есть немного цифр и для них. Правда, для начала определимся со списком приложений, в которых это все будет тестироваться понятно, что тестировать рабочие станции на приложениях и игрушках для десктопов бессмысленно. AMD считает, что достаточно репрезентативным будет такой набор тестов (данные, вероятно, неточны):
На первый взгляд, возразить непросто автору неизвестна степень распространенности этих приложений для рабочих станций среди других подобных программ, и аутентичность именно такой подборки тестов, поэтому просто примем пока ее на веру.
Правда, уже можно заметить отсутствие LightWave 7.0B, очень «симпатизирующей» процессорам от Intel. Вернее,
симпатизирующей им в одной из тестовых сцен. И посмотрим на график SPECint 2000 base (все дальнейшие
графики относятся к процессору Opteron с L2 кэшем 1 MB):
В этом графике нам не совсем понятно, какими «единицами» пользовался источник информации посему приводим все данные в таком виде, в каком они были получены. Оставим на совести тестеров эти «единицы производительности». В принципе, можно попытаться отмасштабировать график по цифрам SPECint 2000 для Pentium 4 известных частот тогда можно будет что-то понять. Можно попытаться также воспользоваться цифрами, приведенными несколько ранее не забывая при этом, что ранее мы видели цифры для Athlon 64, а нынешний график для Opteron. Насколько известно автору, разница в производительности между этими двумя разновидностями процессоров при прочих равных условиях составляет для SPECint 2000 приблизительно 2%. Фактически, эта разница обусловлена только тем фактом, что у Opteron шина памяти 128 бит. Самое интересное, что при подобной оценке сохраняется хорошее соответствие между результатами, полученными из различных источников. Отсюда же можно вычислить цену деления 100 единиц данного графика приблизительно соответствуют 740 единицам SPECint_base 2000. Кстати, по некоторым предварительным данным неизвестной достоверности, прирост от 800 MHz FSB + Dual DDR400 составляет в SPECint 2000 порядка 10%. Если это правда, в этом тесте у Opteron вполне достаточный запас производительности для борьбы.
Интересно, что этот график относится к системе Opteron с памятью Registered 128 бит РС2100 Cas 2 ибо применение памяти РС2700, но Cas 2.5 приводит к падению производительности. Видно, есть смысл дожидаться памяти PC2700 Cas 2 тогда производительность системы на Opteron должна стать еще немного больше. Кроме того, видно, что, поскольку наклон кривых совершенно разный, на большое увеличение частоты Pentium 4 достаточно отвечать относительно небольшим ростом частоты Opteron. К примеру, на частоте 2 GHz Opteron обходит по производительности любую систему на Pentium 4 с шиной 533 и памятью РС800. Правда, как уже было сказано, большое влияние на этот график, по всей видимости, окажет применение шины 800 MHz, сдвоенного канала памяти DDR400 (это уже слухи, касающиеся Intel :-)), и технология Hyper Treading. Надо сказать, рейтинг выходящих процессоров серии Opteron автору неизвестен. По слухам, он начнется с рейтинга порядка 3400+, затем продолжаясь выше к примеру, вполне логичной выглядела бы система с рейтингом 3400+, 3700+, 4000+, и т.д. Правда, этот рейтинг, как уже было сказано, не совпадает с рейтингом производительности Athlon 64 собственно, это понятно, ибо перечень задач совсем разный. Отрицательный же момент во всем этом в том, что введение еще одной системы измерений, по мнению автора, только запутает покупателей посмотрим, что из этого выйдет. Какой реальной частоте соответствует этот рейтинг? Некоторые слухи дают основание полагать, что частота процессора Opteron с рейтингом 3400+ будет находиться в районе 1400 MHz1600 MHz. Впрочем, к этой оценке необходимо подходить очень осторожно. Абсолютно точно об этом мы узнаем на стыке первого и второго кварталов, когда эта архитектура будет объявлена официально.
График для SPECfp 2000 base не менее интересен:
По приведенному графику видно, что и здесь 2 GHz Opteron достаточно для доминирования по производительности. Причем без особых усилий… Что ж, подождем увидим. Тут же надо упомянуть, что, по некоторым «разведданным», прирост производительности у ядра Hammer от применения двухканальной памяти составляет для SPECfp 2000 величину порядка 8%-10%. Естественно, некоторую (значительную?!) часть производительности в тесте SPECfp архитектуре Pentium 4 добавит новое ядро Prescott с L2 кэшем 1 MB и частотой шины 800 MHz и на этом рынке, похоже, должна разгореться нешуточная «драка». Нам неизвестно, сколько производительности прибавит шина 800 MHz, но у Opteron много шансов достаточно долго оставаться лидером. Впрочем, некоторые слухи до автора дошли. По ним, прирост производительности при использовании шины FSB 800 MHz и сдвоенного контроллера памяти Dual DDR400 у систем на базе Pentium 4 составляет порядка 36% (!). Если это так, то AMD придется нелегко в этом тесте. Очень нелегко. Достаточно интересно, что в области рабочих станций соотношение частот Opteron и сравнимого по производительности Pentium 4 даже меньше, чем для рынка десктопов, это заметно по вышеуказанным рейтингам и частотам другими словами, для профессиональных приложений производительность памяти важнее роста по частоте. Ну что ж, ждем реальных систем и ждем их соперника, Prescott. В данной ситуации Intel пригодятся те изменения (800 MHz FSB + Dual DDR400), которые она планирует сделать.
Посмотрим на производительность многопроцессорной Opteron-системы, и сравним ее с рабочей станцией на i850 + P4 400MHz bus. Данные, насколько нам известно, касаются систем на процессорах Opteron 1400 MHz revision A2 и Pentium 4 2800 MHz + RDRAM PC800:
На наш скромный взгляд, вполне респектабельно фактически, Opteron сумел догнать процессор с вдвое большей частотой. А кое в чем и обогнать….
Также небезынтересно посмотреть на предполагаемую производительность Opteron в SPEC CPU 2000 в сравнении с другими архитектурами:
Естественно, цифры для 2 GHz Opteron приближенные, они экстраполированы из производительности менее скоростной модели. Как видно, уровень производительности Opteron системы весьма хорош в SPEC_fp 2000 выше только Power4 да Itanium 2, которые, вообще говоря, являются процессорами совсем другого уровня. Собственно, AMD и не предназначала Opteron в соперники Itanium 2 просто поневоле хочется сравнить производительность двух 64 битных решений. В целочисленных же вычислениях практически никто не сможет его превзойти, включая Itanium 2 по крайней мере, до появления комплекта Pentium 4 3400 MHz + 800 MHz FSB + Dual DDR400 + 1 MB L2 cache. В этом случае автор не берется угадывать результат. :-)
В подтверждение этого позвольте мне привести еще несколько интересных картинок. Как известно, в криптографии используется огромное количество целочисленных вычислений. Соответственно, данные в криптографии достаточно большой разрядности например, 512 бит длины ключа совсем не редкость. Соответственно, достаточно большую роль для скорости работы криптографических программ будет иметь целочисленная производительность. Вначале посмотрим, насколько меньше вычислений можно делать, заменив стандартную х86 программу на х86-64 вариант:
Естественно, такая разница в количестве исполняемых команд не проходит даром правда, AMD здесь немного «увлеклась» маркетингом. Цифры посчитаны красиво но не очень верно. В процентном соотношении количество команд уменьшилось на величину меньше 100%, естественно :-) но пусть это останется на совести маркетингового отдела AMD. Производительность подобных систем также отличается:
И здесь наблюдается легкое «лукавство», ведь времена исполнения отличаются для 32 битных и 64 битных операндов, но в любом случае для криптографии важность х86-64 трудно переоценить…. Ну что же некоторые показатели производительности мы увидели. Естественно, это не отменяет «большого тестирования» систем на Athlon 64 и Opteron, как только те станут доступны. Автор же на этой оптимистической ноте хотел бы плавно перейти к окончанию повествования и без того оно «слегка» затянулось. Вместо заключения…Автор долго размышлял, и, после некоторого раздумья, решил не делать выводов в стиле «лабораторной работы». Хотя бы потому, что, кроме всего прочего, случилось так, что полученные в процессе работы данные вызвали ожесточенные споры между автором и рецензентами. Это, с одной стороны, сделало работу над статьей более интересной с другой стороны, сделало невозможным выводы в традиционном стиле. Просто потому, что выводы одного из рецензентов оптимистичны, другого пессимистичны, а третий вообще отказывается, по его словам, «спекулировать» на эту тему. :-) Вместо этого автор перечислит некоторое количество фактов, слухов, и соображений, чтобы закрепить пройденный материал. Прежде всего, мы надеемся, что AMD сумеет вовремя начать поставки и будет успешна в выводе новой архитектуры на рынок это ей сейчас крайне необходимо. Ну а нам было бы крайне интересно следить за той войной, которая разразится на рынке производительных систем с выходом архитектуры Opteron не только интересно, но и крайне выгодно. Кроме этого, автором владеет тайная надежда, что, благодаря небольшой стоимости разводки плат под двухпроцессорный вариант, появятся по настоящему недорогие и производительные двухпроцессорные системы, которые получат достаточное распространение. Это всего лишь надежда посмотрим, как отреагирует рынок на эту архитектуру. Надо так же отметить, что теперь у AMD есть для борьбы замечательный маркетинговый ход теперь на каждом углу можно (и нужно!) трубить о том, что «у нас есть 64 битная архитектура, а у конкурента нет». Вернее сказать, 64 битная архитектура у конкурента как раз есть, но на том рынке, куда она позиционируется, к подобным маркетинговым «ходам» прибегать не принято. :-) Тогда как на массовом рынке возможность рекламировать 64 битный процессор, доступный для всех весьма заманчива. Еще один интересный момент связан с тем, что для AMD, вообще говоря, гораздо интереснее в денежном плане начать с продаж систем на Opteron ибо поначалу количество процессоров неизбежно будет ограниченным. В таких условиях выгоднее продать их подороже а уже позднее, когда наладится производство, начать продажи Athlon 64. Автор, кстати, почти уверен, что так и случится судя по всему, во втором квартале 2003 года производство начнется, но количество систем будет невелико. Еще один интересный нюанс связан со слухами из Тайваня, согласно которым, AMD уже имеет на руках процессоры с частотой 2.4 GHz напоминаем, что стартует эта архитектура, по всей видимости, с частоты 1.8 GHz (для Athlon 64). Таким образом, некоторый задел на будущее обеспечен. Так же поговаривают, будто бы в «недрах» AMD «куют» новую ревизию, поддерживающую, кроме DDR SDRAM, еще и DDR II. Ну что же, хорошо бы автор только «за».:-) Тем более, что данная архитектура действительно только выигрывает от ускорения памяти. Достаточно интересным для нас был слух о процессорах Opteron с 4-мя шинами Hyper Transport хотя эта идея и витала на поверхности. Правда, не исключено, что в свободную продажу эти процессоры так никогда и не попадут а ведь с ними так мило можно было сделать 4-х, 8-ми, и «так далее» процессорные машины. Свыше 400 систем на базе Athlon 64 находится в различных компаниях. Свыше 130 2-х и 4-х процессорных систем на базе Opteron испытываются представителями более чем 120 компаний. По крайней мере, это свидетельство того, что архитектура интересна и того, что AMD не испытывает нужды с поставками образцов нового процессора. Надо также сказать, что для успешного продвижения этой архитектуры на рынок AMD необходимо постараться постоянно держать некую дистанцию по производительности между своими системами, и системами конкурента иначе нет особого стимула переходить на новую архитектуру. Напомним также, что, по сложившемуся глубокому убеждению автора, не следует ожидать чудес от архитектуры Hammer на рынке десктопов основной выигрыш, видимо, придется на рынок многопроцессорных систем. Для десктопов все преимущества в основном сведутся к поддержке x86-64, SSE2, и появлении более быстрых моделей. Впрочем, подобных «поводов» для покупки вполне может оказаться достаточно особенно первого.
Ну и, кроме всего прочего давненько ведь уже не было повода схлестнуться как следует, кто же сильнее, «слон» или «кит» :-) Так что ждем-с….
Автор должен сказать огромное спасибо людям, которые помогали создавать эту статью и рецензировали ее. В частности, эта статья была бы невозможной без:
Ссылки по темеОсобо дотошные :-) читатели могут проверить выводы автора, самостоятельно собрав информацию по списку из нижеследующих адресов:
| Комментарии? Поправки? Дополнения? peek@ixbt.com
| ![]()
|