Архитектура Ryzen
Во главе разработки архитектуры Ryzen стоял без преувеличения легендарный инженер Джим Келлер (Jim Keller), который в прошлом был ведущим инженером процессоров Athlon и Athlon 64, а после ушел в Apple. Но в 2012 Джим снова вернулся в AMD и была поставлена цель как можно больше увеличить количество передаваемых инструкций за такт (IPC). Грубо говоря, это сколько действий выполняет процессор за 1 МГц частоты, и в некотором роде это просто КПД. Джим Келлер внес огромный вклад в Ryzen, и пусть не так давно он снова покинул AMD, не отдать ему дань уважения нельзя.
Изначально планировалось повысить показатель IPC на 40% (относительно Bulldozer), но план удалось перевыполнить, и сейчас AMD заявляет о росте на 52%.
В первую очередь требуемый показатель бы достигнут благодаря новому техпроцессу 14 нм FiFET GlobalFoundries, но и также благодаря полностью переработанной схеме ядра. Принято считать, что Bulldozer были «неоч» из-за слабых блоков целочисленных операций (ALU), и блоков операций с плавающей запятой (FPU). На один так называемой модуль (два ядра) приходилось 4 ALU и 1 FPU и этого очевидно не хватало. У Ryzen на каждое(!) ядро приходится аналогичный набор.
Для обеспечения эффективной загрузки всех ядер и всех ресурсов процессора был разработан комплекс технологий под общим названием AMD SenseMI. Одна из его ключевых особенностей – существенно доработанный блок предсказания ветвлений. Как это работает описать достаточно сложно, но Ryzen может предугадывать какие инструкции и данные могут понадобиться в ближайшее время, и загружать их в быструю кэш-память заранее.
Вся «фишка» в том, что основан новый блок на аппаратной нейронной сети, и он самообучаем. Похоже, решение о переносе данных в кэш принимается на основе поведения приложения. К сожалению, подробнее тут рассказать нечего, поскольку AMD по этому поводу информации давала не слишком много.
Далеко не один раз говорилось об универсальности процессорных ядер Ryzen, и всей архитектуры вообще. В одном из интервью было сказано, что структура Ryzen напоминает конструктор Lego, и этим достигается большая универсальность. Это позволяет создавать гибкие многоядерные конфигурации (от 2 до 128 ядер) а также процессоры с определенным набором нужных «блоков» (с разными наборами команд, декодеров и т.д.).
Большое внимание было уделено разгону и экстремальному разгону. Во-первых, абсолютно все процессоры Ryzen получили разблокированный множитель, а во-вторых, CPU c “X” в названии активна технология XFR (Extended Frequency Range), которая в зависимости от нагрузки, температуры и напряжения может увеличивать частоту работы CPU сверх положенного лимита. Увы, на инженерном образце XFR не работает.
Конечно, это далеко не все нововведения в Ryzen. Их еще очень много, и для перечисления всего не хватит никакого формата страницы.