Simultaneous multithreading

Поделись знанием:
Перейти к: навигация, поиск

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





Сравнение с другими технологиями

Производительность суперскалярных микропроцессоров увеличивается за счёт одновременного исполнения нескольких инструкций в одном цикле, однако она ограничивается зависимостями между инструкциями (которые ограничивают возможности параллельного исполнения, в результате чего в цикле может исполняться не максимально возможное количество инструкций) и операциями с большой задержкой внутри одного потока выполнения (которые приводят к появлению циклов, в которых не исполняется ни одна инструкция - pipeline stalls).

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

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

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

Реализации

Ярким примером реализации одновременной многопоточности является технология Hyper-threading компании Intel, представленная в 2002 г. в процессорах с микроархитектурой NetBurst.

Напишите отзыв о статье "Simultaneous multithreading"

Литература

  • (1999) Processor Architecture - From Dataflow to Superscalar and Beyond (ISBN 3540647988(англ.) - Глава 6.4: Simultaneous Multithreading, стр.281-293

Ссылки

  • Dean M. Tullsen, Susan J. Eggers, Henry M. Levy. [www.cs.washington.edu/research/smt/papers/ISCA95.ps Simultaneous Multithreading: Maximizing On-Chip Parallelism] (англ.) (PostScript). Материалы 22-го ежегодного симпозиума по компьютерной архитектуре. University of Washington (1995). Проверено 20 ноября 2012. [www.webcitation.org/6Dt4ZByFV Архивировано из первоисточника 23 января 2013].


Отрывок, характеризующий Simultaneous multithreading

Через час все костюмы измялись и расстроились. Пробочные усы и брови размазались по вспотевшим, разгоревшимся и веселым лицам. Пелагея Даниловна стала узнавать ряженых, восхищалась тем, как хорошо были сделаны костюмы, как шли они особенно к барышням, и благодарила всех за то, что так повеселили ее. Гостей позвали ужинать в гостиную, а в зале распорядились угощением дворовых.
– Нет, в бане гадать, вот это страшно! – говорила за ужином старая девушка, жившая у Мелюковых.
– Отчего же? – спросила старшая дочь Мелюковых.
– Да не пойдете, тут надо храбрость…
– Я пойду, – сказала Соня.
– Расскажите, как это было с барышней? – сказала вторая Мелюкова.
– Да вот так то, пошла одна барышня, – сказала старая девушка, – взяла петуха, два прибора – как следует, села. Посидела, только слышит, вдруг едет… с колокольцами, с бубенцами подъехали сани; слышит, идет. Входит совсем в образе человеческом, как есть офицер, пришел и сел с ней за прибор.
– А! А!… – закричала Наташа, с ужасом выкатывая глаза.
– Да как же, он так и говорит?
– Да, как человек, всё как должно быть, и стал, и стал уговаривать, а ей бы надо занять его разговором до петухов; а она заробела; – только заробела и закрылась руками. Он ее и подхватил. Хорошо, что тут девушки прибежали…
– Ну, что пугать их! – сказала Пелагея Даниловна.
– Мамаша, ведь вы сами гадали… – сказала дочь.
– А как это в амбаре гадают? – спросила Соня.
– Да вот хоть бы теперь, пойдут к амбару, да и слушают. Что услышите: заколачивает, стучит – дурно, а пересыпает хлеб – это к добру; а то бывает…
– Мама расскажите, что с вами было в амбаре?
Пелагея Даниловна улыбнулась.
– Да что, я уж забыла… – сказала она. – Ведь вы никто не пойдете?
– Нет, я пойду; Пепагея Даниловна, пустите меня, я пойду, – сказала Соня.
– Ну что ж, коли не боишься.
– Луиза Ивановна, можно мне? – спросила Соня.
Играли ли в колечко, в веревочку или рублик, разговаривали ли, как теперь, Николай не отходил от Сони и совсем новыми глазами смотрел на нее. Ему казалось, что он нынче только в первый раз, благодаря этим пробочным усам, вполне узнал ее. Соня действительно этот вечер была весела, оживлена и хороша, какой никогда еще не видал ее Николай.
«Так вот она какая, а я то дурак!» думал он, глядя на ее блестящие глаза и счастливую, восторженную, из под усов делающую ямочки на щеках, улыбку, которой он не видал прежде.
– Я ничего не боюсь, – сказала Соня. – Можно сейчас? – Она встала. Соне рассказали, где амбар, как ей молча стоять и слушать, и подали ей шубку. Она накинула ее себе на голову и взглянула на Николая.
«Что за прелесть эта девочка!» подумал он. «И об чем я думал до сих пор!»
Соня вышла в коридор, чтобы итти в амбар. Николай поспешно пошел на парадное крыльцо, говоря, что ему жарко. Действительно в доме было душно от столпившегося народа.
На дворе был тот же неподвижный холод, тот же месяц, только было еще светлее. Свет был так силен и звезд на снеге было так много, что на небо не хотелось смотреть, и настоящих звезд было незаметно. На небе было черно и скучно, на земле было весело.
«Дурак я, дурак! Чего ждал до сих пор?» подумал Николай и, сбежав на крыльцо, он обошел угол дома по той тропинке, которая вела к заднему крыльцу. Он знал, что здесь пойдет Соня. На половине дороги стояли сложенные сажени дров, на них был снег, от них падала тень; через них и с боку их, переплетаясь, падали тени старых голых лип на снег и дорожку. Дорожка вела к амбару. Рубленная стена амбара и крыша, покрытая снегом, как высеченная из какого то драгоценного камня, блестели в месячном свете. В саду треснуло дерево, и опять всё совершенно затихло. Грудь, казалось, дышала не воздухом, а какой то вечно молодой силой и радостью.