- Распараллеливание на уровне потоков TLP (в отличие от ILP) управляется программно.
- Виртуальная многопоточность создается в результате выделения в одном физическом процессоре двух или более логических. Классический пример – технология Hyper-Threading (НТ) компании Intel.
- Зачем:
- (1) В современных конвейеризованных процессорах, если при запросе к памяти слово отсутствует в кэшах 1го или 2го уровней – на его загрузку уходит время, в течение которого конвейер простаивает. Выход – организация внутрипроцессорной многопоточности
- (2) В течение такта, как правило, не все исполнительные модули процессора задействованы, поэтому их можно загрузить параллельным потоком. Понятно, что вдвое производительность не увеличится, т.к. параллельные потоки используют общие память, кэш и др., плюс потери из-за синхронизации и распараллеливания инструкции. По имеющимся данным, рост производительности 35-50%
- Таким образом, многопоточность позволяет маскировать простои. Если поток 1 блокирован, загрузка аппаратуры обеспечивается потоком 2.
- Минус TLP – возникновение конфликта при обращении из разных потоков к одному адресу памяти или когда одному потоку требуются результаты выполнения другого. Это приводит к росту количества тактов, необходимых для выполнения инструкций многоядерность
Параллелизм на уровне потоков (2) - Многопроцессорная конфигурация на одном кристалле обеспечивает более высокую скорость обмена между ядрами, чем использование внешних шин, коммутаторов и т.п. При этом у каждого ядра свой набор регистров, кэш, ФУ и др.
- Компания IBM первой интегрировала в кристалл два процессорных ядра в технологии Power4. Многоядерные процессоры относятся к SMP-системам, но имеют отличия от «классических» SMP-архитектур.
- Процессор Intel Core 2 Duo. Два ядра, каждое фактически является процессором Pentium M, со своим L1-кэшем команд и L1-кэшем данных. Общий L2-кэш, совместно используемый обеими ядрами.
- Процессор Core i7. 4 ядра, каждое обладает L1-кэшем команд, L1-кэшем данных и L2-кэшем. Имеется общий для всех ядер L3-кэш.
Do'stlaringiz bilan baham: |