Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Современные микропроцессоры (рабочий).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
109.06 Кб
Скачать

Тема 1.5 Мультитредовые микропроцессоры

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

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

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

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

Выявление тредов может производиться компилятором при анализе исходного кода на языке высокого уровня или исполняемого кода программы.

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

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

Таким образом мультитредовый микропроцессор имеет ряд преимуществ по сравнению с суперскалярными микропроцессорами. Мультитредовый микропроцессор имеет большую глубину и точность предсказания ветвлений и может генерировать очень гибкий план выполнения команд.

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

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

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

Мультитредовая архитектура предлагает решение для следующих проблем, препятствующих развитию суперскалярны микропроцессоров:

- эффективная загрузка большого количества функциональных устройств;

- преодоление разрыва в быстродействии выполнения регистровых команд и команд доступа к памяти;

- уменьшение времени обслуживания прерываний по сравнению с суперскалярными процессорами за счет возможности выделения отдельного треда, исполняющего программы обработки прерывания, и возможность работы в режиме жесткого реального времени;

- эффективно совмещать вычисления в микропроцессоре с межпроцессорными обменами.

Мультитредвая архитектура служит следующим, после суперскалярной, шагом в направлении развития методов динамического распараллеливания программ при полном использовании результатов статического распараллеливания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]