
Корпорация Intel подала патент на технологию под названием «программно-определяемое суперядро» (Software Defined Supercore, SDC), которая позволяет объединять вычислительные мощности нескольких физических ядер в одно виртуальное «суперядро». Это решение потенциально способно повысить однопоточную производительность в задачах с высоким уровнем параллелизма. Если технология будет реализована на практике, будущие процессоры Intel смогут демонстрировать более высокую производительность в отдельных приложениях, оптимизированных под SDC. Конечно, прямо сейчас это только патентная заявка — но есть все шансы, что технология может быть внедрена в будущем, и её детали определенно стоят обсуждения.
Как именно будет работать программно-определяемое суперядро?
Принцип работы новой технологии Intel заключается в том, что два или более физических ядра CPU совместно обрабатывают инструкции одного потока, разделяя их на отдельные блоки и выполняя их параллельно. Каждое ядрo обрабатывает свою часть кода, а специальные механизмы синхронизации и передачи данных обеспечивают сохранение правильного порядка выполнения команд. Такой подход позволяет увеличить количество выполняемых команд за такт (IPC). Это открывает путь к повышению однопоточной производительности без увеличения тактовой частоты или создания более сложных монолитных ядер, что традиционно ведет к росту энергопотребления и усложнению конструкции.
Для сравнения: современные x86-ядра могут декодировать 4–6 инструкций и выполнять 8–9 микроопераций за цикл. В то же время высокопроизводительные ядра Apple на архитектуре Arm (такие как Firestorm, Avalanche, Everest) декодируют до 8 инструкций за цикл и выполняют более 10 операций в идеальных условиях. Именно поэтому процессоры Apple часто демонстрируют более высокую однопоточную производительность при меньшем энергопотреблении по сравнению с конкурентами на Arm.
Источник изображений: Intel
Теоретически возможно создать 8-канальное x86-ядро (способное декодировать, отправлять и завершать до 8 инструкций за такт), но на практике это не было реализовано из-за ограничений на уровне фронтенда, а также из-за непропорционально высоких затрат энергии при сравнительно небольшом приросте производительности. Фактически, даже современные x86-процессоры в среднем демонстрируют показатели IPC в районе 2–4 при большинстве рабочих нагрузок. Технология программно-определяемого суперядра предлагает альтернативный путь: объединять два или более 4-канальных ядра в единый виртуальный блок в ситуациях, когда это целесообразно.
Аппаратный и программный уровни суперядра Intel
На аппаратном уровне каждое ядро в системе с поддержкой SDC (Software Defined Supercore) оснащается специализированным модулем, который управляет синхронизацией, передачей данных между регистрами и порядком обращения к памяти между связанными ядрами. Эти модули используют специально отведенную область памяти (wormhole address space) для координации входных и выходных данных, а также для синхронизации операций, гарантируя корректный порядок выполнения инструкций. Конструкция поддерживает как упорядоченные, так и неупорядоченные ядра и требует минимальных изменений в исполнительных блоках, что позволяет сохранить компактность решения.
На уровне программного обеспечения система использует JIT-компилятор, статический компилятор или бинарную инструментацию для разделения однопоточного кода на сегменты, которые распределяются между разными ядрами. Также добавляются специальные инструкции для управления потоком выполнения, передачи данных между регистрами и синхронизации. Критически важна поддержка со стороны операционной системы, которая должна динамически принимать решение о переходе в режим суперядра исходя из текущей нагрузки, чтобы обеспечить баланс производительности и доступности ядер.
Патент Intel не приводит точных оценок производительности, но можно предположить, что идеальным будет сценарий, когда два эффективных (efficient) ядра, работающих в режиме SDC, cмогут приблизиться по производительности к одному высокопроизводительному (performance) ядру.
Нажимая кнопку «Отправить», я даю согласие на обработку и хранение персональных данных и принимаю соглашение