Любой пользователь компьютеров со стажем знает, что развитие процессоров в последние годы замедлилось. Если 10-15 лет назад выход нового поколения процессоров был большим событием, то теперь прирост производительности составляет около 5%, и только развитие интегрированной графики несколько оживляет картину. Перестали расти тактовые частоты, количество вычислительных ядер также остаётся на одном уровне. Полупроводниковая компания Soft Machines на этой неделе на конференции Linley Processor представила новую концепцию, в которой она видит начало новой эры масштабируемости и производительности.
Архитектура носит название Variable Instruction Set Computing (VISC) и призвана стать прорывом в сфере эффективности процессоров. Нынешние процессоры работают в рамках концепции внеочередного исполнения команд, и повышение их функциональности ведёт к росту себестоимости и энергопотребления. В рамках VISC используется фреймворк, операционная система видит поток последовательных команд, которые затем распределяются для выполнения виртуальными ядрами. Этот фреймворк и является ключевым для всей технологии, но подробности о нём не сообщаются.
В нём используется переменное число виртуальных ядер, гибко связанных с реальными ядрами процессора. Применяется параллелизм на уровне команд, команды разбиваются на небольшие потоки, которые и обрабатываются виртуальными ядрами. Если в обычном процессоре плюсы от использования многоядерных процессоров зависят от программистов, и при плохой оптимизации преимущества теряются, то здесь распараллеливание идёт на аппаратном уровне.
На изображениях выше показана работа двух приложений на ядре VISC. В первом случае поток последовательных команд распределяется между двумя физическими ядрами, по мере возможности команды извлекаются для параллельной обработки, что в теории повышает производительность. Во втором случае два приложения выполняют одинаковые операции. Более требовательное к ресурсам приложение получает их больше, остаток отдаётся второму приложению, и архитектура VISC способна гибко перераспределять ресурсы в течении каждого такта. Именно такая гибкость и даёт ей преимущество над традиционными архитектурами.
При этом данный подход не зависит от операционной системы и производителя, может работать с кодом х86 и ARM, тогда от общей производительности примерно 5% уйдёт на трансляцию команд. Данные о производительности основаны на показателях прототипа процессора в бенчмарке SPEC 2006 (изображение выше) и при сжатии файлов формата JPEG. В последнем случае чип на архитектуре VISC с двумя виртуальными ядрами с кешем L2 объёмом 1 Мб, выполненный на 28 нм техпроцессе, противостоял планшету Asus Transformer Book T100A (Atom Z3740), ноутбуку HP с чипом Celeron Haswell (2-ядерный Intel 3550M без Hyper-Threading, 2,3 ГГц) и Samsung Chromebook (Cortex-A15 1,7 ГГц). Результаты приведены ниже.
В SPEC 2006 одно виртуальное ядро за такт выполняет 2,1 инструкции против 1,39 у чипа Intel Haswell. Если же выровнять производительность, то архитектура VISC расходует на треть или четверть меньше энергии при одном потоке команд и наполовину меньше при двух. Использовалась операционная система Linux, также прототип работает на Android 4.0.
В разработке уже успели высказать заинтересованность многие крупные игроки рынка процессоров, в числе инвесторов значатся AMD, Samsung, GlobalFoundries. Soft Machines собирается выпускать собственные системы на чипе, а также продавать лицензии на использование архитектуры в сторонних разработках.