Базовая технология мультиплексирования


Подмножество традиционных приложений часто трудно распараллелить и использовать дополнительное аппаратное обеспечение ЦП , доступное на платформе, что ограничивает приложения использованием только одного ЦП. Технология мультиплексирования ядра позволит разделить процесс на несколько потоков во время компиляции и во время выполнения за счет введения спекулятивной многопоточности.

Точно так же, как предсказатель ветвления позволяет процессору предполагать результат операции ветвления, не выполняя ее фактически, спекулятивная многопоточность позволяет процессору размышлять глубже, выполняя целые ветки кода на дополнительном ядре. Большая часть реализации выполняется программно , при этом компилятор перестраивает код, чтобы лучше использовать многопоточную платформу, что позволяет одновременной многопоточности (SMT) и многоядерным системам (или их комбинации) использовать преимущества этой технологии. Но поскольку зависимости данных от спекулятивной многопоточности и необходимость управления данными, зависящими от нескольких потоков, необходимо учитывать аппаратную реализацию.

Предполагается, что технология Core Multiplexing использует технологию Intel Advanced Smart Cache будущих чипов Core 2 , которая позволяет двум ядрам совместно использовать один кэш L2 и активно изменять размер кэша между двумя процессорами, если один из них простаивает, позволяя двум ядра для обмена данными для управления данными, зависящими от разных потоков.