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 — это четырехпоточное одновременное многопоточное ядро, которое реализует спецификацию встроенной платформы 64-битной Power ISA v.2.06 Book III-E [2] с поддержкой функций встроенного гипервизора . Он был разработан для реализаций с большим количеством ядер и ориентирован на высокую пропускную способность и множество одновременных потоков. A2I был написан на VHDL . [3]
Ядро имеет 4 × 32 64-битных регистра общего назначения (GPR) с полной поддержкой прямого и обратного порядка байтов, кэш инструкций и данных объемом 16 КБ + 16 КБ, а также поддерживает четырехстороннюю многопоточность.
Он имеет блок точного прогнозирования ветвей (BPU) с восемью таблицами истории ветвей по 1024 записи. Кэш L1 представляет собой 8-канальный ассоциативный кэш данных размером 16 КБ и 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-гигабитного Ethernet. порты и две линии PCIe . В систему SMP можно объединить до четырех чипов без каких-либо дополнительных вспомогательных чипов. По словам Чарли Джонсона, главного архитектора IBM, [9] эти чипы чрезвычайно сложны и используют 1,43 миллиарда транзисторов на кристалле размером 428 мм² , изготовленном по 45-нм техпроцессу.
Процессор Blue Gene/Q представляет собой 18-ядерный чип, использующий ядро A2I, работающее на частоте 1,6 ГГц, со специальными функциями для быстрого переключения контекста потока, блок с плавающей запятой Quad SIMD , межчиповую сеть 5D torus и внешний ввод-вывод со скоростью 2 ГБ/с. О. Ядра связаны перекрестным переключателем на половинной частоте ядра с 32 МБ кэш-памяти eDRAM L2 . Кэш L2 является многоверсионным и поддерживает транзакционную память и спекулятивное выполнение . Чип Blue Gene/Q имеет два контроллера памяти DDR3 , работающие на частоте 1,33 ГГц и поддерживающие до 16 ГБ оперативной памяти. [10] [11]
Он использует 16 ядер для вычислений и одно ядро для служб операционной системы. Это 17-е ядро будет отвечать за прерывания , асинхронный ввод-вывод , управление потоком MPI и функциональность RAS . 18-е ядро используется в качестве запасного на случай, если одно из остальных ядер необратимо повреждено (например, на производстве), но выключается в функциональной работе. Чип Blue Gene/Q производится по медному техпроцессу SOI от IBM по техпроцессу 45 нм, обеспечивает пиковую производительность 204,8 гигафлопс на частоте 1,6 ГГц и потребляет около 55 Вт. Чип имеет размер кристалла 19×19 мм (359,5 мм²) и использует 1,47 миллиарда транзисторов.