Застывшая в кремнии музыка: AMD К7
АрхивПлатформаОчередная статья нашего цикла о микроархитектурах ценгтральных процессоров. Сейчас настало время поговорить об AMD, извечном конкуренте Intel.
Данный материал является продолжением цикла, посвящённого микроархитектурам центральных процессоров; первый материал был посвящен микроархитектуре NetBurst. Сейчас настало время поговорить об AMD, извечном конкуренте Intel.
Кадры решают всё
В те далёкие времена, когда частоты процессоров ещё не достигли рубежа в 1 ГГц, а микроархитектуры Intel NetBurst не было и в помине, по планете гордо шествовал Intel Pentium II. Положение его прямого конкурента, AMD K6-3, иначе как "прозябанием" назвать было нельзя. Вопреки ожиданиям, микроархитектура K6 не смогла существенно пошатнуть позиции Intel на рынке, и AMD не стала с этим мириться.
Вплоть до 1997 года AMD занималась по большей части тем, что скупала и реализовывала в собственных процессорах разработки сторонних компаний. Однако теперь корпорация решила несколько изменить тактику, приступив к скупке не столько разработок, сколько разработчиков.
В 1998 году AMD сумела заполучить в свой штат Дирка Мейера, одного из ведущих инженеров проекта DEC Alpha (64-разрядный процессор для мощных рабочих станций). Кроме того, AMD не поскупилась и на подбор обширной команды инженеров-разработчиков и технических экспертов, большую часть которых опять же переманили из проекта DEC Alpha.
Задача, поставленная перед Мейером сотоварищи, формулировалась весьма лаконично: разработать принципиально новую микроархитектуру, способную отобрать у Intel пальму первенства в процессорной индустрии. В помощь "новобранцам" из DEC AMD выделила щедрые бюджеты и команду собственных "ветеранов" - вероятно, затем, чтобы иметь моральное право называть новую архитектуру своей. В результате в 1999 году миру было представлено новое детище корпорации - процессор Athlon с новой микроархитектурой К7.
Не известно, была ли какая-то польза от "старожилов" AMD, создавших в своё время откровенно убогую архитектуру К5, но, так или иначе, команда Дирка Мейера с поставленной задачей полностью справилась. Процессоры Athlon смогли не только превзойти Intel Pentium III на ядре Katmai, но и успешно конкурировать с "великим и ужасным" ядром Coppermine. Более того, даже с появлением революционной микроархитектуры Intel NetBurst, Athlon продолжали пользоваться спросом, несмотря на то, что во многом проигрывали Pentium IV.
Технические решения тоже решают
С разработкой К7 AMD впервые смогла заявить о себе как о полноценном участнике процессорного рынка. Новый Athlon смог обойти своего главного конкурента, Intel Pentium III, практически по всем параметрам. Ещё бы, ведь архитектура AMD K7 была моложе Intel P6 на несколько лет!
Кроме того, Pentium III никогда не планировалось использовать в мощных рабочих станциях, а в Athlon, как ни крути, всё-таки присутствуют отголоски Alpha - исключительно серверного процессора. Так, в К7 применяется системная шина EV-6, перекочевавшая практически без изменений из процессора Alpha, а внушительным объёмом кэш-памяти до "семёрки" могли похвастаться лишь чипы для серверов и вычислительных кластеров.
К чести разработчиков, новой микроархитектуре было чем удивить потребителей, помимо сверхбыстрой (на то время) шины и огромного кэша. Пристальное внимание было уделено конвейеру вычислений как таковому и декодеру команд в частности. Кроме того, особенно интересным получился блок вычислений с плавающей точкой. Впрочем, обо всём по порядку.
Системная шина EV-6
Как уже было отмечено выше, системная шина EV-6 была заимствована у процессора Alpha. На момент разработки микроархитектуры K7 шина EV-6 являлась самой быстрой - она превосходила показатели аналогов в два раза. Дело в том, что EV-6 позволяла передавать полезный сигнал по фронту и по спаду сигнала. То есть, за один такт передавалось два значения. Собственная частота системной шины достигала 200 МГц, что позволяло получить скорость передачи данных в 400 МГц.
Ширина системной шины составляет 64 байта. Ещё 8 разрядов отводятся для передачи кодов коррекции ошибок. В результате пропускная способность системной шины составила 3,2 Гб/с, что позволило использовать быструю оперативную память DDR и обрабатывать потоки ввода/вывода от шин PCI и AGP. Данные по шине передаются пакетами по 64 байта, что в два раза больше, чем у процессоров архитектуры P6.
Адресное пространство в процессорах архитектуры К7 составляет 43 бита (для сравнения, у Pentium - 36 бит), т.е. теоретически системная шина позволяет адресовать до 8 Тб оперативной памяти. Однако реально наборы системной логики поддерживают адресное пространство до 4 Гб.
Шина EV-6 обладает и другим интересным свойством. Фактически, это не столько шина, сколько коммутатор, позволяющий избегать конфликтов, связанных с разделением полосы пропускания на многопроцессорных системах. В системной шине К7 применяются соединения "точка-точка", благодаря которым каждый из процессоров имеет свой собственный путь к системной логике. Теоретически, шина EV-6 способна поддерживать до 14 процессоров.
Таким образом, если вспомнить о теоретической возможности адресации 8 Тб памяти, то перспективы новой архитектуры были более чем потрясающие. "Вычислительный монстр" с 14 процессорами (пусть даже работающими на частоте 700 МГц) и использующий 8 Тб оперативной памяти даже сегодня выглядел бы более чем достойно. Однако перспективы так и остались перспективами. Многопроцессорные системы, конечно же, появлялись, но сложность разработки чипсетов под шину EV-6 делала материнские платы весьма и весьма дорогими.
Полностью конвейерный FPU
В процессорах AMD К6 блок вычислений с плавающей запятой был слабым звеном. В новой микроархитектуре этому узлу было уделено весьма пристальное внимание. Блок FPU (вычислений с плавающей запятой) К7 стал способен обрабатывать числа с одинарной (32 разряда), двойной (64 разряда) и расширенной (80 разрядов) точностью.
Блок FPU содержит три узла, предназначенных для выполнения операций сложения, умножения и хранения данных. Каждый блок способен принимать на вход инструкции каждый такт работы процессора. Полностью конвейерная обработка FPU, впервые реализованная AMD, дала увеличение производительности в два раза по сравнению с P6, у которых только сумматор обрабатывался конвейером. Кроме того, выделение отдельного блока для хранения и распределения данных между памятью и регистрами позволило также увеличить среднюю производительность, которая во многих случаях гораздо важнее пиковой.
Кэш-память "на слона"
Процессоры AMD всегда славились "щедрыми" объёмами кэш-памяти. В новой микроархитектуре разработчики решили опять же не скупиться и снабдили процессоры Athlon аж 128 Кб кэша первого уровня - в 4 раза больше, чем у Pentium III.
Кэш второго уровня был вынесен за пределы кристалла и соединялся с контроллером 72-х разрядной шиной, использовавшей 64 разряда для данных и 8 разрядов под коды коррекции (ECC). Таким образом, теоретическая ёмкость кэш-памяти второго уровня могла достигать 8 Мб. Для сравнения, даже серверные процессоры Intel Xeon могут похвастаться только 2 Мб кэша. Однако если у Xeon кэш второго уровня работает на полной частоте ядра, то в Athlon частота кэш-памяти составляет 1/3, 1/2 или 2/3 частоты ядра.
Архитектура, наконец, оправдала название
Когда в далёком 1995 году AMD "обиделась" на Intel и принялась за разработку собственной микроархитектуры, название было выбрано не случайно. Литера "К" обозначала "Криптонит" - вещество, способное, согласно Marvel'овским комиксам, повредить Супермену. Несмотря на всю комичность этой истории, с выходом K7 микроархитектура AMD впервые оправдала своё название и смогла-таки отобрать у Intel позицию лидера в процессорной индустрии. Пусть продлилось это не так долго, но факт остаётся фактом. Именно процессоры архитектуры К7 сумели первыми преодолеть рубеж в 1 ГГц, пускай и опередив Intel на считанные дни. Так AMD сумела "отомстить" Intel за давнюю обиду с i80386. И, наверное, за то, что Intel всегда умела сама разрабатывать процессоры.