Показатели производительности алгоритмов распараллеливания. Технология гиперпоточности. Многозадачные и многопоточные системы. Суперскалярные вычисления. Группа : tt-13-20p


Download 341.47 Kb.
bet8/9
Sana17.06.2023
Hajmi341.47 Kb.
#1549821
1   2   3   4   5   6   7   8   9
Bog'liq
4-Самостоятельная работа

Суперскалярные вычисления.
Суперскалярные архитектуры
Один конвейер — хорошо, а два — еще лучше. Одна из возможных схем процес¬сора с двумя конвейерами показана на рис. 3. Здесь общий блок выборки команд вызывает из памяти сразу по две команды и помещает каждую из них в один из конвейеров. Каждый конвейер содержит АЛУ для параллельных операций. Чтобы выполняться па¬раллельно, две команды не должны конфликтовать из-за ресурсов (например, регистров), и ни одна из них не должна зависеть от результата выполнения дру¬гой. Как и в случае с одним конвейером, либо компилятор должен гарантировать отсутствие нештатных ситуаций (когда, например, аппаратура не обеспечивает проверку команд на несовместимость и при обработке таких команд выдает не¬корректный результат), либо за счет дополнительной аппаратуры конфликты должны выявляться и устраняться непосредственно в ходе выполнения команд.



Рисунок 3
У процессора 386 и его предшественников их не было. Конвейеры в процессорах компании Intel появились, только начиная с модели 486 . Процессор 486 имел один пятиступенчатый конвейер, a Pentium — два та¬ких конвейера.
Основ¬ная идея суперскалярной архитектуры — один конвейер с большим количеством функциональных блоков, как показано на рис. 4. Pentium II.

Рисунок 4


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




Параллелизм на уровне процессоров
Параллелизм на уровне команд в определенной степени помогает увеличить быстродействие, но конвей¬еры и суперскалярная архитектура обычно повышают скорость работы всего лишь в 5 -10 раз. Чтобы увеличить производительность в 50, 100 и более раз, нужно создавать компьютеры с несколькими процессорами.
Многие задачи в физических и технических науках предполагают использование массивов или других упорядоченных структур. Часто одни и те же вычисления могут производиться над разными наборами данных в одно и то же время. Упо¬рядоченность и структурированность программ, предназначенных для выполне¬ния такого рода вычислений, очень удобны в плане ускорения вычислений за счет параллельной обработки команд. Существует две схемы ускоренного вы¬полнения больших научных программ. Хотя обе схемы во многих отношениях схожи, одна из них предполагает расширение единственного процессора, другая — добавление параллельного вычислителя.

Download 341.47 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling