Таким отметим, что улучшенные стандартные процессоры имеют больше одновременно выполняемых операций и этим достигается увеличение производительности. Все они могут производить до двух операций умножения с накоплением за один такт, но при этом усложняется архитектура и система команд процессора. Чтобы писать эффективные команды на ассемблере, необходимо хорошо знать архитектуру и системы команд процессора.
Процессоры ЦПОС с архитектурой VLIW
Увеличение количества команд, выполняемых одновременно возможно с помощью метода реализованного в процессорах с архитектурой VLIW (Very Long Instructions Word, очень длинное слово команды) [8].
Подобные процессоры используют упрощенную систему команд (архитектура RISC [4] ), каждая из которых определяет единственную операцию. Несколько простых команд выполняются параллельно в независимых операционных модулей. Общая команда процессора формируется как большая суперкоманда. Архитектура предполагает использование регистровых файлов большого размера для хранения операндов и результатов работы всех операционных модулей [7]. Длинные слова предполагают также существование много разрядных шин передачи данных и слов команды. Использование простой системы команд позволяет использовать языки высокого уровня, в результате можно получить исполняемые программы высокого качества.
Недостатком ЦПОС с архитектурой VLIW, является то что необходимо создавать большие объемы памяти для записи программы с длинными командами и её нерациональное использование.
Суперскалярные процессоры
Отличие суперскалярных процессоров от процессоров типа VLIW, заключается в следующем:
- процессор имеет модуль, который определяет, какие из команд могут быть выполнены параллельно , и группирует их в пакет;
- команды суперскалярного процессора, предназначенные для выполнения в отдельных операционных модулях, не объединяются в одну общую суперкоманду, а выступают самостоятельно.
- планирование параллельно выполняемых команд решает сам процессор (в процессорах VLIW данное планирование осуществляется программистом).
Суперскалярные процессоры группируют команды, основываясь на зависимостях данных. Поэтому один и тот же набор команд может по разному выполняться на различный этапах выполнения программы, например, на этапах цикла.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.