Поток SMT
Логический поток, создаваемый технологией Simultaneous Multi-Threading (у Intel — Hyper-Threading), когда одно физическое ядро одновременно выполняет несколько потоков команд, разделяя исполнительные устройства. Цель — задействовать ресурсы, простаивающие, пока поток чего-то ждёт.
У ядра с внеочередным исполнением много исполнительных устройств, но один поток редко загружает их все (простои на промахах кеша, зависимости). SMT позволяет второму потоку заполнить пробелы: у ядра дублируется архитектурное состояние (регистры, счётчик команд), а дорогие исполнительные ресурсы общие. Пока поток A ждёт память, поток B работает на свободных устройствах — суммарная пропускная способность ядра растёт обычно на 15–30 %. ОС видит каждый поток как «логическое ядро».
Минусы: потоки конкурируют за кеш и устройства (тяжёлый поток рядом с соседом может работать медленнее), а разделение ресурсов открыло дорогу атакам по побочным каналам — поэтому ради безопасности SMT иногда отключают.