Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Архитектуры многопотоковых процессоров




Каждый набор регистров Tera MTA обслуживает один вычислительный процесс, называемый потоком (thread). Всего в процессоре имеется n наборов регистров, а поэтому запрос, выданный в основную память процессом, может обслуживаться в течение n-1 тактов, вплоть до момента, когда процессор снова переключится на тот же набор регистров. Тем самым по отношению к одному потоку исполнение его команд замедляется в n раз. Значение n выбирается исходя из того, чтобы время доступа в память было меньше, чем длительность n-1 такта процессора. Задача формирования n потоков целиком возлагается на компилятор.

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

Интерфейс между аппаратурой многопотокового процессора, поддерживающей протекание каждого отдельного потока и аппаратурой, общей для исполнения всех потоков, может быть установлен как сразу после устройств выборки команд потока, так и на уровне доступа к разделяемой памяти. В первом случае все потоки используют один набор функциональных устройств. Тесная связь по ресурсам позволяет эффективно исполнять последовательные программы с сильной зависимостью между потоками. В этом случае имеет место реализация SMT-процессора (simultaneous multithreading). Во втором случае для исполнения каждого потока, фактически, выделяется функционально законченный процессор. В целом, эта структура ориентирована на исполнение независимых и слабо связанных потоков, порождаемых либо одной программой, либо их совокупностью. В этом случае скорее надо говорить не о процессоре, а о CMP-системе (chip multiprocessing).

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

Многопотоковый процессор может исполнять потоки, принадлежащие одной или нескольким программам. Если процессор исполняет одну программу, то говорят о его производительности, если несколько — о пропускной способности.

Intel использовала 2-потоковую архитектуру в процессорах Pentium 4 и Xeon, однако еще предстоят значительные исследования по многопотоковым архитектурам. Компания Tera объявила о разработке проекта многопотокового микропроцессора Torrent, реализующего процессор МТА (www.tera.com). Компания Level One, образованная Intel, выпустила сетевой микропроцессор IXP1200 (www.level1.com), содержащий 6 четырехпотоковых процессоров. IBM анонсировала проект компьютера Blue Gene (D. Clark. Blue Gene and the race toward petaflops capacity. IEEE Concurrency, January-March 2000) с производительностью 1015 FLOPS, кристалл микропроцессора которого включает 32 восьмипотоковых процессора. В кристалл встроена память DRAM, реализованная как 32 блока. Каждый блок соответствует одному из 32 процессоров и имеет шину доступа 256 разрядов. Так как DRAM имеет высокую пропускную способность и малую задержку, то при восьмипотоковой структуре процессора становится возможным отказаться от кэш-памяти, вместо которой между процессором и памятью используется небольшая буферная память. IBM, Sony, Toshiba ведут совместный проект по разработке многопотокового процессора Cell («ячейка»), само название которого красноречиво свидетельствует о его предназначении.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 1081; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.