IBM A2 — это 64-битное процессорное ядро Power ISA с открытым исходным кодом, способное к многоядерности и многопоточному использованию, разработанное IBM с использованием спецификации Power ISA v.2.06 . Версии процессоров на основе ядра A2 варьируются от версии 2,3 ГГц с 16 ядрами, потребляющими 65 Вт , до менее мощной версии с четырьмя ядрами, потребляющей 20 Вт при 1,4 ГГц.
Ядро A2 — это процессорное ядро, предназначенное для настройки и встроенного использования в устройствах-системах на кристалле, и было разработано по образцу процессоров для игровых консолей IBM , процессора Xbox 360 и процессора Cell для PlayStation 3. [1]
A2I — это 4-поточное одновременное многопоточное ядро, реализующее спецификацию 64-битной встроенной платформы Power ISA v.2.06 Book III-E [2] с поддержкой встроенных функций гипервизора . Оно было разработано для реализаций с большим количеством ядер и нацелено на высокую пропускную способность и много одновременных потоков. A2I было написано на VHDL . [3]
Ядро имеет 4×32 64-битных регистра общего назначения (GPR) с полной поддержкой порядка байтов как от младшего к старшему, так и от старшего к старшему, 16 КБ+16 КБ кэша инструкций и данных и поддерживает четырехпотоковую многопоточность.
Он имеет мелкозернистый блок предсказания ветвлений (BPU) с восемью таблицами истории ветвлений по 1024 записи. Кэши L1 представляют собой 16 КБ 8-канальный наборно-ассоциативный кэш данных и 4-канальный наборно-ассоциативный кэш инструкций объемом 16 КБ. Он выполняет простой конвейер с последовательным порядком, способный выдавать две инструкции за цикл: одну для 6-ступенчатого арифметико-логического устройства (ALU) и одну для дополнительного вспомогательного исполнительного устройства (AXU).
Он включает в себя блок управления памятью, но не блок с плавающей точкой (FPU). Такие возможности обрабатываются AXU, который поддерживает любое количество стандартизированных или настраиваемых макросов, таких как блоки с плавающей точкой, векторные блоки, DSP, медиа-ускорители и другие блоки с наборами инструкций и регистрами, не являющимися частью Power ISA. Ядро имеет блок системного интерфейса, используемый для подключения к другим ядрам на кристалле, с 256-битным интерфейсом для записи данных и 128-битным интерфейсом для чтения инструкций и данных на полной скорости ядра.
A2O — это немного более современная версия, написанная на Verilog [ 4] с использованием Power ISA v.2.07 Book III-E. [5] Она оптимизирована для одноядерной производительности и рассчитана на частоту 3 ГГц при 45 нм техпроцессе. A2O отличается от своего собрата тем, что она является только двухсторонней многопоточной, имеет кэши данных и инструкций L1 объемом 32+32 кБ и способна выполнять операции вне очереди .
На момент выпуска A2O ни один реальный продукт не использовал его.
Во второй половине 2020 года IBM выпустила ядра A2I и A2O под лицензией Creative Commons и опубликовала код VHDL и Verilog на GitHub . [1] [6] Намерение состояло в том, чтобы добавить их в предложения OpenPOWER Foundation по бесплатным и открытым процессорным ядрам. [7] [8] Поскольку A2 был разработан в 2010 году, A2I и A2O не соответствуют Power ISA 3.0 или 3.1, которые являются обязательными для ядер OpenPOWER. IBM желает, чтобы ядра были обновлены, чтобы они соответствовали новой версии ISA.
PowerEN (Power Edge of Network), или « процессор на скорости провода », разработан как гибрид между обычными сетевыми процессорами , выполняющими коммутацию и маршрутизацию , и типичным серверным процессором, который манипулирует и упаковывает данные. Он был представлен 8 февраля 2010 года на ISSCC 2010 .
Каждый чип использует ядро A2I и имеет 8 МБ кэша , а также множество специализированных движков помимо процессоров общего назначения, таких как XML , криптография , сжатие и ускорители регулярных выражений , каждый со своим MMU, четыре порта 10 Gigabit Ethernet и две линии PCIe . До четырех чипов могут быть связаны в системе SMP без каких-либо дополнительных вспомогательных чипов. Говорят, что чипы чрезвычайно сложны, по словам Чарли Джонсона, главного архитектора IBM, [9] и используют 1,43 миллиарда транзисторов на кристалле размером 428 мм 2 , изготовленном с использованием 45-нм процесса.
Процессор Blue Gene/Q представляет собой 18-ядерный чип, использующий ядро A2I, работающее на частоте 1,6 ГГц, со специальными функциями для быстрого переключения контекста потоков, четырехъядерным блоком с плавающей точкой SIMD , сетью 5D torus chip-to-chip и внешним вводом-выводом 2 ГБ/с. Ядра связаны перекрестным коммутатором на половинной скорости ядра с кэшем L2 eDRAM объемом 32 МБ . Кэш L2 является многоверсионным и поддерживает транзакционную память и спекулятивное выполнение . Чип Blue Gene/Q имеет два контроллера памяти DDR3, работающих на частоте 1,33 ГГц, поддерживающих до 16 ГБ ОЗУ. [10] [11]
Он использует 16 ядер для вычислений и одно ядро для служб операционной системы. Это 17-е ядро будет заботиться о прерываниях , асинхронном вводе-выводе , управлении потоком MPI и функциональности RAS . 18-е ядро используется в качестве запасного на случай, если одно из других ядер будет постоянно повреждено (например, в производстве), но будет отключено в функциональной работе. Чип Blue Gene/Q производится по медному SOI-процессу IBM на 45 нм, обеспечивает пиковую производительность 204,8 GFLOPS на частоте 1,6 ГГц и потребляет около 55 Вт. Чип имеет размер кристалла 19×19 мм (359,5 мм 2 ) и использует 1,47 миллиарда транзисторов.