Желание подробно рассказать о КМОП-мэйнфреймах корпорации IBM, обладающих очень многими архитектурными особенностями по сравнению с их более старшими биполярными "собратьями", возникло у меня сразу после публикации статьи о мэйнфреймах ES/9000 (см. Computerworld Россия, 1996, №22). Однако подробные данные об их внутреннем устройстве появились лишь в конце прошлого года после серии статей в журнале IBM Journal of Research and Development. Пока я изучал эту россыпь интереснейших материалов, IBM, верная своему обещанию выпускать каждый год по одному новому процессору S/390, успела объявить о переходе от четвертого поколения (G4) к пятому (G5).
Поскольку основная часть архитектуры КМОП-мэйнфреймов изменений при этом не претерпела, сначала речь пойдет об архитектуре систем G4 (и отчасти G3), а затем - о ставших известными усовершенствованиях, внесенных в G5. Кстати, IBM осуществляет поставки S/390 сразу нескольких поколений с возможностью модернизации, предусматривающей переход от младших поколений к старшим.
Надо сказать,что все началось с перестройки. В IBM ее затеяли в 1993 году, а завершилась она в середине 1997-го, причем, в отличие от другой более известной нам перестройки, вполне успешно. Благодаря переходу на КМОП-технологии корпорации удалось уменьшить стоимость процессоров, достигнув при этом уровня производительности более крупных биполярных систем.
Производительность КМОП-моделей S/390 | |||
Год | Поколение | КМОП-модель | Эквивалентная биполярная модель |
1994 | G1 | 9671R11 | 3090-180 |
1995 | G2 | 9672R12 | 3090-180J |
1996 | G3 | 9672R14 | 9021-520 |
1997 | G4 | 9672R15 | 9021-711 |
Данный переход сопровождался существенным увеличением надежности: во-первых, благодаря самой КМОП-технологии; во-вторых, за счет резкого уменьшения числа компонентов компьютера вследствие свойственной КМОП высокой степени интеграции; и, наконец, вследствие некоторых особенностей архитектур, в том числе избыточных вентиляторов и источников питания, широкого применения кодов ECC и др. В результате среднее время между отказами, скажем, в 9672-RX5 по сравнению с биполярной 3090-600J возросло почти на два порядка. Вполне независимые источники говорят о 20-30 годах наработки на отказ! Уровень готовности в кластере Parallel Sysplex достигает теперь 99,999%, и IBM настаивает, что в современной компьютерной индустрии именно эти системы наиболее близки к понятию "непрерывная готовность".
Общее строение систем S/390
В архитектурном смысле мэйнфреймы S/390 по-прежнему представляют собой сильно связанные (то есть обладающие общей памятью и устройствами ввода/вывода) симметрично-многопроцессорные системы, поддерживающие до 10 процессоров. Как и в биполярных мэйнфреймах, в КМОП-компьютерах широко используется технология коммутации, хотя термин "шина", в частности "системная шина", прочно прописался в лексиконе S/390. Впрочем, строго говоря, системная шина не одна, их до четырех в старших моделях. (Насколько мне известно, в мире Unix-серверов такой подход впервые был применен в Cray CS6400.)
Общая структура S/390 поколений G3 и G4 представлена на рис. 1. Собственно, основная часть этой структуры меняется незначительно, и, судя по всему, она характерна также для G5. Сильно может меняться процессор: попеременно две "бригады" разработчиков в IBM каждые два года создают обновленные версии ядра микропроцессора. За тот же период обновляются подсистемы оперативной памяти и ввода/вывода, но все это происходит при минимальных модификациях "эталонной" архитектуры ESA/390. Высокая степень модульности позволяет безболезненно производить подобные поэтапные усовершенствования без какого-либо перепроектирования остальных компонентов. Так, в G3 и G4 различаются только процессоры (процессор реализован как одна микросхема) и микросхемы кэш-памяти второго уровня. Микросхемы коммутаторов BSN (Bus Switching Network), адаптеры подсистемы ввода/вывода MBA (Memory Bus Adapter) и карты оперативной памяти являются общими для G3 и G4. Если добавить сюда расположенные на картах памяти микросхемы контроллеров оперативной памяти STC, то мы получим основной набор микросхем S/390.
В G3 процессор (включая кэш первого уровня) и системные шины работают на одной тактовой частоте, превышающей 160 МГц (время цикла для старших моделей - 5,9 нс). В G4 процессор функционирует на тактовых частотах от 300 до 400 МГц, а системная шина - на половинной частоте процессора. Двунаправленные системные шины имеют ширину 16 байт при пиковой пропускной способности на тракте "кэш второго уровня - BSN" в 1,7 Гбайт/с на шину (или 6,7 Гбайт/с на четырехшинную систему). Поддерживаемая пропускная способность четырехшинной системы составляет 5-6 Гбайт/с. Эти данные показывают, что по пропускной способности мэйнфреймы опережают все RISC-серверы SMP-архитектуры, за исключением старших моделей серверов Sun Ultra Enterprise и серверов компании Hewlett-Packard серии S и V22Х0. При типичной для S/390 нагрузке тракт "кэш второго уровня - BSN" загружается на 30-40%, тракт BSN-STC - на 20-30%.
Коммутаторы BSN являются семипортовыми (два порта для кэша второго уровня, два порта для MBA, один порт для STC). На системных шинах используется двукратное расслоение на уровне двойного слова (8 байт). Соответственно каждую шину обслуживают две микросхемы BSN с 8-байтными портами. Микросхемы BSN содержат разделяемый кэш третьего уровня суммарной емкостью 2 Мбайт для четырехшинной системы (256 Кбайт на микросхему, или 512 Кбайт на шину). Кэш третьего уровня является восьмиканальным частично-ассоциативным со временем доступа 8 тактов шины. Кэш состоит из двух параллельно работающих банков, обладает шириной доступа 16 байт и защищен кодами ECC. BSN являются одним из самых важных компонентов S/390, ответственных за арбитраж работы оперативной памяти, MBA и кэша второго уровня. При изготовлении по технологии CMOS5X эти микросхемы содержат 16,6 млн. транзисторов.
Оперативная память КМОП-систем S/390 построена с использованием EDO DRAM-технологии со временем доступа 50 или 60 нс; время доступа к памяти составляет 32 такта системной шины. Оперативная память, как основная, так и расширенная, вместе с памятью ключей защиты располагается на картах числом до четырех. При использовании 64-мегабитных модулей DRAM емкость оперативной памяти на одной карте может достигать 6 Гбайт. Память разбита на два независимых банка (так реализовано расслоение), каждый из которых управляется своим контроллером STC, и защищена кодами ECC. Максимальная емкость памяти в моделях G3 составляет 8 Гбайт (по 2 Гбайт на карту).
Микросхемы MBA являются своеобразными DMA-контроллерами, которые поддерживают интерфейс с системной шиной традиционных асинхронных параллельных каналов (известных еще во времена ЕС ЭВМ) или оптических ESCON-каналов (пропускная способность - 17 Мбайт/с на канал). Адаптеры MBA обеспечивают пропускную способность 2 Гбайт/с через два BSN-адаптера. В системах G3 и G4 микросхемы MBA снабжены так называемым STI-интерфейсом (Self-Timed Interface), который работает с использованием коротких кабелей длиной от 5 см до 4 м. STI - это дуплексная шина с поддерживаемой пропускной способностью 200 Мбайт/с. Адаптер MBA имеет шесть STI-портов. Через специальный адаптер к STI подсоединяются каналы ввода/вывода (до 256) и межсистемные каналы (для работы в Parallel Sysplex).
Кэш второго уровня в моделях G3 является восьмиканальным частично-ассоциативным, защищенным кодами ECC. Он имеет емкость 256 Кбайт на процессор. В G4 в кэше второго уровня использована конструкция "разделяемых кластеров". Каждый такой кластер поддерживает до трех процессоров, для которых этот кэш является общим. Всего же в G4 на три процессора приходится две микросхемы кэша второго уровня емкостью по 384 Кбайт, или 768 Кбайт на кластер. Этот кэш является шестиканальным частично-ассоциативным. В нем используется двукратное расслоение, и он может выдавать 16 байт за такт.
Процессор в G4, как и в G3, реализован в виде одной микросхемы. Общее строение G4 представлено на рис. 2. Буферный блок BCE (Buffer Control Element) включает собственно кэш первого уровня и средства динамического преобразования адресов и работы с регистром доступа (Access Register), в том числе буфер TLB. Кэш первого уровня является четырехканальным частично-ассоциативным, общим для команд и данных. Он имеет емкость 64 Кбайт и построен с двукратным расслоением. Кроме того, блок BCE содержит память емкостью 32 Кбайт типа read-only, которая используется при работе так называемых милликодов, а также буфер записи и логику работы с кэшем второго уровня.
Блок BCE расположен в середине кристалла. Он взаимодействует с двумя устройствами с плавающей запятой (FPU) и с двумя устройствами с фиксированной запятой (FXU), зеркально расположенными справа и слева от него, а также с R-устройством, в котором содержится файл регистров (общего назначения, регистры с плавающей запятой, управляющие регистры и регистры доступа). R-устройство отвечает также за обнаружение ошибок и средства восстановления при сбоях.
Блоки FPU и FXU сверяют результаты выполнения, прежде чем положить их в регистр R-устройства; при несовпадении фиксируется сбой. Подобные схемы применяются и в "классических" компьютерах с повышенным уровнем готовности (в частности, Stratus Continuum, Tandem Himalaya), однако IBM "спрятала" их внутрь процессора. Реализован конвейерный принцип работы FPU для большинства команд, кроме деления и извлечения квадратного корня. В выполнении команд с плавающей запятой задействован также блок FXU, и наоборот, FPU "помогает" блоку FXU. Эти блоки не могут работать одновременно. Значение производительности на тестах Linpack составило 100 MFLOPS, что, конечно, ниже, чем у современных RISC-процессоров.
Выполнение команд происходит строго в порядке их расположения в программном коде. Общая длина конвейера в G4 больше, чем в биполярных системах ES/9000 Mdl 9021. Тактовая частота в G4 приблизительно на 60% больше, но на выполнение аналогичных команд требуется приблизительно на 60% больше тактов, поэтому производительности этих систем примерно равны.
Наконец, о милликодах. В ES/9000, как и в ЕС ЭВМ, использовалось микропрограммирование для реализации некоторых наиболее сложных команд, в том числе фактически неких примитивов операционной системы. IBM назвала их Licensed Internal Codes. Их аппаратная реализация в микропроцессоре потребовала бы слишком много места на кристалле и множества тактов процессора. В G4 для их выполнения и введены милликоды - небольшие подпрограммы ОС, которые работают в специальном привилегированном режиме, имеют собственный набор общих и управляющих регистров и регистров доступа, а также могут применять новые специализированные команды. Кроме того, милликоды имеют быстрый доступ к регистрам S/390. Все команды в таких подпрограммах ОС рассматриваются аппаратурой как безусловный переход по некоторому фиксированному адресу. Милликоды используются при обработке прерываний. Недостатком этого подхода является то, что милликоды занимают часть кэш-памяти. Для уменьшения этого эффекта в BCE имеется блок памяти ROM, который содержит часто используемые милликоды.
Процессор G4 построен на базе технологии CMOS-6S, содержит 7,8 млн. транзисторов при размере 17,35х17,3 мм. При частоте 300 МГц в тепло уходит всего 37 Вт.
G5, G6, далее везде
Что же было усовершенствовано в G5 по сравнению с G4? Прежде всего, конечно же, процессор. По утверждению представителей IBM, производительность его возросла почти вдвое, до 115 MIPS (до 900 MIPS - для 10-процессорной системы RY6). Это достигнуто, в частности, благодаря увеличению тактовой частоты и расширенной емкости кэшей первого и второго уровня. Появился новый блок для работы с числами с плавающей запятой, обеспечивающий поддержку стандарта IEEE на представление таких чисел. Возросла емкость оперативной памяти - до 32 Гбайт. Появится также новый тип каналов - FICON, который является развитием ESCON-каналов с использованием современной технологии Fibre Channel. Компьютеры на базе G5 будут комплектоваться новыми, более быстрыми криптографическими сопроцессорами, поддерживающими стандарт Triple DES.
Наконец, стало известно и о будущих планах IBM. Как и прежде, каждый год будет выпускаться новое поколение систем. Начиная с технологии CMOS 7, микропроцессоры будут изготавливаться уже на медной основе. Запланированы значительные усовершенствования в архитектуре ввода/вывода, в том числе расширение поддержки PCI. IBM встряхнулась и перешла в наступление широким фронтом.
Но вернемся в день сегодняшний. С одной стороны, если подходить с точки зрения производительности процессоров, пропускной способности шин и подсистемы ввода/вывода, емкости оперативной памяти - иными словами, с "архитектурно-технических" позиций, - то у компьютеров IBM, на взгляд автора, нет решающих преимуществ перед RISC-лидерами, скажем, перед старшими моделями серверов Sun Ultra Enterprise 10000. (Хотя последние скорее следует отнести к классу суперкомпьютеров.) Но с другой стороны, необходимо учесть высокие качества надежности S/390 и их прекрасное, испытанное годами программное обеспечение. А ведь пользователя интересует реальная производительность и надежность работы именно его приложения! Не вызывает сомнения тот факт, что новые компьютеры S/390 будут успешно трудиться на благо отечественных заказчиков
Михаил Кузьминский - старший научный сотрудник Центра компьютерного обеспечения Института химических исследований РАН. С ним можно связаться по телефону (095) 135-6388