Alasir Enterprises
Main Page >  Articles >  Alpha: история в фактах и комментариях  

 
Main Page
 
 
Reviews
 
Articles
 
Software
 
Reference
 
Motley
 
 
About Us
 
 
Alpha: история в фактах и комментариях
Alpha Powered Dig my grave both long and narrow
Make my coffin neat and strong 

(из старой американской песни)

Павел Болотов
 
Дата публикации: 14 апреля 2005
Дата последнего изменения: 21 апреля 2007

Содержание:
in English

 
Alpha 21264 (EV6, EV67, EV68A, EV68C)

Хотя процессор 21264 (EV6) был разработан в DEC, а первая информация о нём была опубликована в октябре 1996 на Microprocessor Forum, окончательное воплощение в кремнии датируется февралём 1998, когда DEC уже была в процессе ликвидации. Собственно процессор представлял собой настолько существенный шаг вперед по сравнению с EV5, что его никак нельзя было считать эволюционным продолжением последнего. Одним из основных нововведений было внеочередное исполнение (out-of-order execution) инструкций, повлёкшее за собой фундаментальную реорганизацию ядра и снизившее зависимость основных фунциональных устройств от пропускной способности кэшей и оперативной памяти. EV6 мог переупорядочить на лету до 80 инструкций, что было значительно больше возможностей других конкурентных разработок. К слову, архитектура Intel P6 предусматривала внеочередную обработку до 40 [микрокоманд], HP PA-8x00 — до 56, MIPS R12000 — до 48, IBM POWER3 — до 32, PowerPC G4 — до 5, a Sun UltraSPARC II переупорядочивание команд не поддерживал. Внеочередное исполнение дополнялось техникой переименования регистров (register renaming), поэтому EV6 располагал 80 целочисленными и 72 вещественными регистрами, хотя количество архитектурных (логических) регистров осталось неизменным — 32 целочисленных и 32 вещественных.
 
Количество целочисленных конвейеров было увеличено до 4, то есть в 2 раза по сравнению с EV5. Они были организованы в виде 2 блоков (clusters). Если точнее, каждый блок состоял из 2 конвейера и файла регистров на 80 записей. Оба файла регистров были идентичными (синхронизирванными). Однако, конвейеры были функционально разными: 2-й конвейер 1-го блока мог выполнять команды сдвига (1 такт на обработку) и умножения (7 тактов на обработку), а 2-й конвейер 2-го блока — команды сдвига (1 такт) и MVI (3 такта). 1-й конвейер каждого блока выполнял помогал A-box, производя расчёт виртуальных адресов для операций загрузки/сохранения. Кроме этого, все 4 конвейера поддерживали выполнение основных арифметических и логических операций (1 такт). Собственно A-box работал с I-TLB и D-TLB (каждый на 128 записей), очередями загрузки и сохранения (каждая по 32 команды), а также 8 64-байтными буферами (miss address file) для операций с B-cache и оперативной памятью. Вещественные конвейеры также были функционально неоднородны: 1-й поддерживал операции сложения (4 такта), деления (12 тактов для операндов одинарной точности и 15 тактов для двойной) и вычисления квадратного корня (15 и 30 тактов), а 2-й — только умножения (4 такта). I-box, как и прежде в EV5, мог декодировать до 4 команд за такт и направлять их в 2 очереди: на целочисленные конвейеры (E-queue, 20 команд) и на вещественные конвейеры (F-queue, 15 команд).
 
Структура C-box подверглась значительным изменениям, да и работать ему теперь предстояло только с 2 уровнями кэш-памяти. Интегрированная L1 кэш-память состояла из 64Кб I-cache и 64Кб D-cache, оба с 2-канальной ассоциативностью и 64-байтными строками. D-cache, как и B-cache, работали в режиме обратной записи, а без S-cache пришлось обойтись. Всё же B-cache был включающим по отношению к D-cache. Из-за большого размера D-cache задержки чтения/записи возросли с 2 тактов до 3 (в/из целочисленного регистра) и 4 тактов (в/из вещественного регистра). D-cache так и остался двухпортовым, но, в отличие от EV5, он уже не состоял из 2 идентичных частей, синхронизированных по записи, а просто работал на удвоенной частоте ядра. Доступ к внешнему B-cache размером от 1Мб до 16Мб с прямым отображением и обратной записью осуществлялся через независимую 128-битную шину данных с 16-битным каналом для ECC, а также при помощи 20-битной однонаправленной шины адреса. B-cache набирался на микросхемах LW SSRAM (late-write, с отложенной записью), а позднее и DDR SSRAM (double data rate, с удвоенной скоростью передачи данных). Частота B-cache программировалась в диапазоне от 2/3 до 1/8 частоты ядра EV6, и, в отличие от предыдущих поколений процессоров Alpha, собственно B-cache не был опциональным. Системная шина данных была только 64-битной с дополнительным 8-битным каналом для ECC, но была в состоянии передавать информацию на обоих краях тактового сигнала, то есть использовала принцип DDR. Системная шина адреса была 44-битной, физически представленной в виде двух 15-битных однонаправленных каналов, а системная шина управления — 15-битной. Был изменён базовый принцип работы системной шины, которая из разделяемой преобразовалась в выделенную, то есть каждый процессор располагал собственным путём к системной логике.
 
Блок предсказания ветвлений был полностью переработан. Oн был спроектирован по 2-уровневой схеме: с локальной историей переходов (local history table, 1024 записи с 10-битными счётчиками) и локальным предсказателем (local predictor, 1024 записи по 3 бита), а также с глобальным предсказателем (global predictor, 4096 записей по 3 бита) и 12-битным "путём истории" (history path). Оба алгоритма работали независимо, и если локальный отслеживал каждый отдельный условный переход, то глобальный — последовательности переходов. Общий предсказатель ветвлений анализировал результаты обоих алгоритмов и делал выводы в виде отдельной таблицы выборочного предсказателя (choice predictor, 4096 записей по 2 бита), на основе которой выводились предпочтения при расхождении локальных и глобальных прогнозов. Такой кооперативный метод позволял добиться лучших результатов, чем применение любого из алгоритмов в отдельности.
 
Инженеры, разрабатывавшие EV6, учитывая большое количество функциональных устройств и прочие сложности, полностью переработали схему расположения генераторов тактовой частоты. Более равномерное распространение тактового сигнала позволило ядру работать на частотах, равных частотам куда более простого ядра EV56, при использовании почти того же техпроцесса. В целом, потребляемая частотными генераторами мощность составляла для EV6 около 32% от общего потребления ядра. Для сравнения, у EV56 этот показатель составлял около 25%, у EV5 — около 37%, а у EV4 — около 40%.
 
Clock driver placements for Alpha 21064, 21164 and 21264

 
EV6 производился по тому же техпроцессу, что и EV56, но с дополнительными 2 слоями металлизации. Состоял из 15,2 млн. транзисторов (из них около 9 млн. на I-cache, D-cache и предсказатели переходов), располагал площадью ядра в 314мм² и был рассчитан на рабочее напряжение от 2,1В до 2,3В. Тактовые частоты EV6 составляли от 466МГц до 600МГц (TDP прибл. от 80Вт до 110Вт). Форм-фактор: PGA-587 (Pin Grid Array).
 
Micrograph of Alpha 21264 (EV6) Floor-plan of Alpha 21264 (EV6)
Samsung Alpha 21264 (EV6) - front view Samsung Alpha 21264 (EV6) - back view
(кликнуть для увеличения, 62Кб) (кликнуть для увеличения, 128Кб)

В конце 1999 на рынок вышел 21264А (EV67), выполненный по 0,25µ CMOS техпроцессу от Samsung, обладавший площадью ядра в 210мм² и требовавший пониженное рабочее напряжение в 2,0В. По сравнению с EV6 никаких значительных архитектурных отличий не наблюдалось. Тактовые частоты 21264A (EV67) составляли от 600МГц до 833МГц (TDP прибл. от 70Вт до 100Вт), что позволило архитектуре Alpha вернуть лидерство на целочисленных операциях, незадолго до этого утраченное в пользу Intel Pentium III (Coppermine) и AMD Athlon (K7).
 
В начале 2000 появились первые образцы процессоров 21264B (EV68C), на этот раз от IBM, выполненные сорласно норм 0,18µ CMOS техпроцесса с использованием медных проводников. Несмотря на прежнее отсутствие архитектурных изменений, многообещающая технология позволила поднять тактовые частоты вплоть до 1250МГц. В 2001 Samsung смог наладить производство 21264B (EV68А) согласно норм своего 0,18µ CMOS техпроцесса, но с алюминиевыми проводниками. По сравнению с EV67, площадь ядра была сокращена более чем на треть (до 125мм²), также было уменьшено напряжение питания (до 1,7В). Тактовые частоты 21264B (EV68A) находились в диапазоне от 750МГц до 940МГц (TDP прибл. от 60Вт до 75Вт). А ведь ещё в сентябре 1998 было анонсировано, что EV68 от Samsung будет использовать прогрессивный 0,18µ FD-SOI (Fully Depleted Silicon-On-Insulator) техпроцесс с медными проводниками, который позволил бы EV68 достичь 1,5ГГц и даже более. Увы, этого не произошло.
 
Samsung Alpha 21264B (EV68A, prototype) - front view Samsung Alpha 21264B (EV68A, prototype) - back view
(кликнуть для увеличения, 82Кб) (кликнуть для увеличения, 128Кб)

В разных источниках проскакивали упоминания о 21264C и 21264D под кодовыми именами EV68CB и EV68DC соответственно, выпускавшимися IBM согласно норм того же техпроцесса и с теми же частотными характеристиками, что и EV68C, поэтому их можно расматривать как частные варианты последнего. Единственным существенным отличием было использование нового форм-фактора, безногого LGA-675 (Land Grid Array) вместо PGA-587. Скорее всего, эти процессоры устанавливались только в сервера Compaq.
 
Кроме BWX и MVI, унаследованных от процессоров предыдущего поколения архитектуры Alpha, в EV6 был добавлена поддержка нового набора из 9 команд под названием FIX или FX (Floating-point eXtension), нацеленного на вычисление квадратного корня (SQRTF, SQRTG, SQRTS, SQRTT), перемещение данных из целочисленных в вещественные регистры (ITOFF, ITOFS, ITOFT) и из вещественных в целочисленные (FTOIS, FTOIT). Ещё один набор из 3 команд под названием CIX или CX появился в EV67 для облегчения подсчёта бит (CTLZ, CTTZ, CTPOP). Наконец, EV6 и его производные поддерживали две команды предвыборки (ECB, WH64) в дополнение к FETCH и FETCH_M, которые существовали с момента появления архитектуры.
 
Для процессоров серии 21264 было изначально спроектировано 2 набора системной логики: DEC Tsunami (21272; он же Typhoon) и AMD Irongate (AMD-751), хотя их могло бы быть значительно больше, поскольку и 21264, и Athlon использовали почти одинаковую системную шину, которая была лицензирована AMD ещё у DEC.
 
DEC Tsunami был набором системной логики повышенной масштабируемости. На его основе проектировали как 1-процессорные, так 2-процессорные и 4-процессорные системы с разрядностью шины памяти от 128 до 512 бит (83МГц SDRAM ECC registered), поддержкой как одной, так и двух шин PCI (33МГц 64-бит). Такой гибкости удалось достичь благодаря разделению системной логики на отдельные компоненты: контроллеры системной шины (C-chips, по одному на каждый процессор), контроллеры шины памяти (D-chips, по одному на каждые 64 бита ширины шины) и контроллеры шины PCI (P-chips, по одному на каждую требуемую шину). Поэтому не было ничего удивительного в том, что в некоторых системах (например, AlphaPC 264DP) набор системной логики состоял из 12 микросхем.
 
Хотя AMD Irongate (AMD-751) разрабатывался изначально как северный мост для материнских плат, предназначенных для процессоров AMD Athlon, дополненный южным мостом AMD Viper (AMD-756) или совместимым, его также использовали в некоторых материнских платах архитектуры Alpha (точнее, в UP1000 и UP1100). Так как он был одночиповым решением, то стоил намного дешевле DEC Tsunami и отличался существенно более низким энергопотреблением. Однако, его возможности не соответствовали потенциалу 21264 из-за отсутствия поддержки многопроцессорности и слишком узкой шины данных оперативной памяти (64-бит, до 768Мб SDRAM ECC unbuffered в 3 DIMM с 2 RAS строками каждый). Тем не менее, Irongate был первым набором системной логики для Alpha с поддержкой шины AGP.
 
В 2001 Samsung представил однопроцессорную материнскую плату UP1500, в основе которой лежал северный мост AMD Irongate-2 (AMD-761). Эта материнская плата обладала более высокой производительностью, чем UP1000 или UP1100, благодаря поддержке более быстрой оперативной памяти: до 4Гб DDR SDRAM ECC registered на частоте в 133МГц (4 модуля с 2 RAS строками каждый) либо до 2Гб DDR SDRAM ECC unbuffered на той же частоте (2 модуля с 2 RAS строками каждый). Однако, шина данных оперативной памяти осталась столь же узкой.
 

<< Предыдущая страница
 

Следующая страница >>
 

Copyright (c) Болотов Павел Владимирович, 2005-07. Все права сохранены.
Полная или частичная перепечатка без разрешения автора запрещена.
 
Designed and maintained by Alasir Enterprises, 1999-2007
rhett from alasir.com, walter from alasir.com