Selhoz-katalog.ru

Сельхоз каталог

Simultaneous multithreading

Одновременная многопоточность (англ. Simultaneous Multithreading) — технология, позволяющая исполнение инструкций из нескольких независимых потоков выполнения на множестве функциональных модулей суперскалярного микропроцессора в одном цикле.

Сравнение с другими типами

Производительность суперскалярных микропроцессоров увеличивается за счёт одновременного исполнения нескольких инструкций в одном цикле, однако она ограничивается зависимостями между инструкциями (которые ограничивают возможности параллельного исполнения, в результате чего в цикле может исполняться не максимально возможное количество инструкций) и операциями с большой задержкой внутри одного потока выполнения (которые приводят к появлению циклов, в которых не исполняется ни одна инструкция). Архитектуры с аппаратной многопоточностью выполняют несколько потоков с возможностью быстрого переключения контекста между ними. Такая «традиционная» многопоточность скрывает задержки памяти и функциональных модулей (снижая количество «пустых» циклов), хотя в каждом цикле исполняются инструкции из одного потока. Однако увеличение количества одновременно исполняемых инструкций снижает возможности традиционной многопоточности.

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

Многоядерные микропроцессоры по своей организации наиболее близки к микропроцессорам с одновременной многопоточностью — имеют несколько наборов регистров, несколько функциональных модулей и суперскалярность каждого из ядер. Главное отличие между ними заключается в распределении ресурсов — в многоядерном процессоре каждый поток получает фиксированное количество функциональных модулей процессора, тогда как в процессоре с одновременной многопоточностью распределение модулей изменяется в каждом цикле. В следствии этого, процессоры с одновременной многопоточностью показывают большую производительность при максимальной загрузке потоками, а при снижении количества потоков производительность падает медленней, по сравнению с многоядерным процессором.

Ссылки

  • Dean M. Tullsen, Susan J. Eggers, Henry M. Levy. Simultaneous Multithreading: Maximizing On-Chip Parallelism  (англ.) (PostScript). Материалы 22-го ежегодного симпозиума по компьютерной архитектуре. University of Washington (1995). Архивировано из первоисточника 23 января 2013. Проверено 20 ноября 2012.

Simultaneous multithreading.

© 2021–2023 selhoz-katalog.ru, Россия, Тула, ул. Октябр 53, +7 (4872) 93-16-24