7.5 Специфика мультитредовых моделей распараллеливания
При реализации мультитредовых архитектур важно установить, что выполняется программистом, компилятором, операционной системой и процессором. Процессор должен исполнять треды, но есть еще управление тредами: выборка тредов, порождение тредов, установление порядка их исполнения, назначение ресурсов, коммуникации между тредами.
Самый сложный процесс, а именно: выборку тредов должен делать компилятор или программист. При этом необходимо формировать вспомогательные указания для аппаратуры, позволяющие в дальнейшем упростить работу процессора.
Программа, предназначенная для исполнения на мультитредовом процессоре, должны состоять из совокупности тредов, каждый из которых представляет собой единицу обработки данных. Важной чертой мультитредовых процессоров служит возможность эффективной реализации не только доступа в память, но и доступа к устройствам ввода/вывода, а также контроллерам сетевых адаптеров коммуникационных сред. В мультитредовой программе возможно достижение предельного совмещения вычислений в мультитредовых процессорах с межпроцессорными обменами. Тред, обратившийся к сетевому адаптеру, будет ждать завершения обмена, в то время как другие треды будут исполняться. Это свойство мультитредовых микропроцессоров делает их проблемно-ориентированными на построение из них массово параллельных систем.
Следует отметить, что к мультитредовым микропроцессорам можно отнести транспьютеры с их аппаратно поддерживаемым исключительно малым, при соответствующей тактовой частоте, временем переключения контекста процессов и виртуализацией каналов (Т-9000).
Таким образом, мультитредовая архитектура служит следующим, после суперскалярной, шагом в направлении развития методов динамического распараллеливания программ при полном использовании результатов статического распараллеливания. Эта архитектура, если не снимает вообще, то, во всяком случае, не предъявляет требования локализуемости обрабатываемых данных.
Мультитредовая архитектура предлагает решение для следующих проблем, препятствующих развитию суперскалярных микропроцессоров:
эффективной загрузки большого количества функциональных устройств;
преодоления разрыва в быстродействии выполнения регистровых команд и команд доступа к памяти;
уменьшения времени обслуживания прерываний по сравнению с суперскалярными процессорами за счет возможности выделения отдельного треда, исполняющего программы обработки прерывания, и возможность работы в режиме жесткого реального времени;
эффективного совмещения вычислений в микропроцессорах с межпроцессорными обменами.
Вопросы для самопроверки
Какова основная идея технология Hyper-Threading?
Для чего мультитредовые микропроцессоры имеют несколько счётчиков команд?
Какие принципы лежат в основе выявления тредов?
Какие языки программирования выгодно использовать для мультитредовых микропроцессоров?
Для чего используется граф управляющих зависимостей?
Каковы преимущества мультитредовой архитектуры?
Каким образом один физический процессор разделяется на несколько логических процессоров?
Что такое спекулятивный доступ к разделяемой памяти?
Что такое спекулятивное по управлению выполнение команды?
Что такое спекулятивное по данным выполнение команды?
Каков принцип жадной предвыборки команд?
Что такое сегмент в мультитредовой модели выполнения программ?
Потоки имеют общую разделяемую память или изолированную?
Какое собственное аппаратное обеспечение имеет каждый поток?
Какая взаимосвязь между технологией Hyper-Threading и технологией Multi-Threading?
Какие существуют виды зависимостей между тредами?
- Предисловие
- Глава 1. Общие сведения о микропроцессорах
- 1.1 Классификация микропроцессоров
- 1.2 Характеристики микропроцессоров
- 1.2.1 Тактовая частота
- 1.2.2 Архитектура процессора
- 1.2.3 Технологический процесс производства
- 1.2.4 Частота системной шины
- 1.2.5 Размер кэша
- 1.3 Типы архитектур микропроцессоров
- 1.4 Структурная схема микропроцессоров
- 1.4.1 Микропроцессор Фон-Неймана
- 1.4.2 Конвейер
- 1.4.3 Зависимость между частотой и количеством ступеней конвейера
- 1.5 Представление информации в эвм
- 1.5.1 Двоичное представление целых чисел
- 1.5.2 Представление символьной информации
- Глава 2. Архитектура микропроцессоров ia-32
- 2.1 Состав и функции регистров
- 2.1.1 Основные регистры
- 2.1.2 Регистры дополнительных функциональных модулей
- 2.2 Типы адресации
- 2.3 Система команд
- 2.3.1 Классификация команд
- 2.3.2 Формат команды
- 2.3.3 Однобайтовые команды
- 2.3.4 Непосредственно заданные операнды
- 2.3.5 Команды с регистровыми операндами
- 2.3.7 Команды с операндами, расположенными в памяти
- Глава 3. Организация многоуровневой памяти
- 3.1 Принцип построения многоуровневой памяти
- 3.2 Организация кэш-памяти
- 3.3 Протоколы когерентности памяти микропроцессоров
- 3.4 Страничная организация памяти
- Глава 4. Режимы работы процессоров ia-32
- 4.1 Обзор режимов работы
- 4.2 Реальный режим адресации
- 4.3 Защищённый режим
- 4.3.1 Дескрипторные таблицы
- 4.3.2 Дескрипторные регистры
- 4.3.3 Дескриптор
- 4.3.4 Односегментная модель памяти
- 4.3.5 Многосегментная модель памяти
- Глава 5. Страничная организация памяти в процессорах ia‑32
- 5.1 Каталог страниц
- 5.2 Таблица страниц
- 5.3 Страничная переадресация
- 5.4 Диспетчер виртуальных машин системы Microsoft Windows
- Глава 6. Архитектура процессоров с параллелизмом уровня команд
- 6.1 Подходы к использованию ресурса транзисторов в микропроцессорах
- 6.2 Суперскалярные процессоры и процессоры с длинным командным словом
- 6.3 Зависимости между командами, препятствующие их параллельному исполнению
- 6.4 Предварительная выборка команд и предсказание переходов
- 6.5 Условное выполнение команд в vliw-процессорах
- 6.6 Декодирование команд, переименование ресурсов и диспетчеризация
- 6.7 Исполнение команд
- 6.8 Завершение выполнения команды
- 6.9 Направления развития архитектуры процессоров с параллелизмом уровня команд
- Глава 7. Мультитредовые микропроцессоры
- 7.1 Основы мультитредовой архитектуры
- 7.2 Выявление тредов
- 7.3 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков управления программы
- 7.3.1 Мультитредовая модель выполнения программы
- 7.3.2 Мультитредовые программы
- 7.3.3 Аппаратные средства мультитредовой архитектуры
- 7.3.4 Преимущества мультитредовой архитектуры
- 7.4 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков данных программы
- 7.5 Специфика мультитредовых моделей распараллеливания
- Глава 8. Модуль обработки вещественных чисел
- 8.1 Представление чисел с плавающей запятой
- 8.2 Состав модуля fpu
- Глава 9. Основы 64-разрядной архитектуры
- 9.1 Состав и назначение регистров микропроцессора ia-64
- 9.2 Особенности архитектуры epic
- 9.3 Архитектура x86-64
- 9.4 Структура одноядерного процессора
- 9.5 Многоядерные процессоры
- 9.6 Зачем нужны “лишние” разряды?
- Глава 10. Современные 64-разрядные микропроцессоры корпораций Intel и amd
- 10.1 Архитектура Intel Core 2
- 10.1.1 Intel Wide Dynamic Execution
- 10.1.2 Intel Intelligent Power Capability
- 10.1.3 Intel Advanced Smart Cache
- 10.1.4 Intel Smart Memory Access
- 10.1.5 Intel Advanced Digital Media Boost
- 10.1.6 Логическая схема процессора
- 10.2 Архитектура Intel Core i7
- 10.2.1 Технология Hyper-Threading в архитектуре Nehalem
- 10.2.2 Иерархия кэш-памяти в архитектуре Nehalem
- 10.3 Хронология развития семейств микропроцессоров с архитектурой Nehalem
- 10.4 Архитектура amd Athlon 64
- 10.4.1 Ядро процессора
- 10.4.3 Контроллер памяти
- 10.4.4 Контроллер HyperTransport
- 10.5 Архитектура amd k10
- 10.4.1 Технология amd Memory Optimizer Technology
- 10.5.2 Ядро процессора
- 10.5.3 Предвыборка данных и инструкций
- 10.5.4 Выборка из кэша
- 10.5.5 Предсказание переходов и ветвлений
- 10.5.6 Процесс декодирования
- 10.5.7 Диспетчеризация и переупорядочение микроопераций
- 10.5.8 Выполнение микроопераций
- 10.5.9 Технологии энергосбережения
- 10.5.10 Шина HyperTransport 3.0
- 10.5.11 Семейство процессоров Barcelona
- 10.5.12 Семейство процессоров Phenom
- Глава 11. Технологии, поддерживаемые современными микропроцессорами
- 11.1 Технологии тепловой защиты
- 11.1.1 Технология Thermal Monitor
- 11.1.2 Технология Thermal Monitor 2
- 11.1.3 Режим аварийного отключения
- 11.2 Технологии энергосбережения
- 11.2.1 Технология Enhanced Intel SpeedStep
- 11.2.2 Технология Cool'n'Quiet
- 11.3 Технология расширенной памяти
- 11.4 Технология антивирусной защиты
- 11.5 Технология виртуализации
- 11.6 Реализация технологий в современных микроархитектурах
- 11.6.2 Em64t – NetBurst
- 11.6.3 Intel Core
- 11.6.4 Intel Atom
- 11.6.5 Nehalem
- 11.6.6 Xeon
- Глава 12. Графические микропроцессоры
- 12.1 Основные термины и определения
- 12.2 Технологии построения трёхмерного изображения
- 12.2.1 Технологии повышения реалистичности трехмерного изображения
- 12.3 Шейдерный процессор
- 12.4 Особенности современных графических процессоров
- Глава 13. Однокристальные микроконтроллеры
- 13.1 Общая характеристика микроконтроллеров
- 13.2 Микроконтроллеры семейства avr
- Почему именно avr?
- 13.3 Общие сведения об омк avr
- 13.4 Характеристики avr-микроконтроллеров
- Глава 14. Технология производства микропроцессоров
- 14.1 Особенности производства процессоров
- 14.2 Новые технологические решения
- 14.3 Технология производства сверхбольших интегральных схем
- I. Выращивание кристалла кремния
- II. Создание проводящих областей
- III. Тестирование
- IV. Изготовление корпуса
- V. Доставка
- 14.4 Перспективы производства сбис
- Англо-русский словарь терминов и аббревиатур
- Библиографический список
- Интернет-ссылки
- 350072. Краснодар, ул. Московская, 2, кор. А.