Лекция №3. Архитектура ЦПОС, страница 7

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

Процессоры ЦПОС с архитектурой VLIW

Увеличение количества команд, выполняемых одновременно возможно с помощью метода реализованного в процессорах с архитектурой VLIW (Very Long Instructions Word, очень длинное слово команды) [8].

         Подобные процессоры используют упрощенную систему команд (архитектура RISC [4] ), каждая из которых определяет единственную операцию. Несколько простых команд выполняются параллельно в независимых операционных модулей. Общая команда процессора формируется как большая суперкоманда. Архитектура предполагает использование регистровых файлов большого размера для хранения операндов и результатов работы всех операционных модулей [7]. Длинные слова предполагают также существование много разрядных шин передачи данных и слов команды. Использование простой системы команд позволяет использовать языки высокого уровня, в результате можно получить исполняемые программы высокого качества.

         Недостатком ЦПОС с архитектурой  VLIW, является то что необходимо создавать большие объемы памяти для записи программы с длинными командами и её нерациональное использование.

Суперскалярные процессоры

Отличие суперскалярных процессоров от процессоров типа VLIW, заключается в следующем:

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

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

-  планирование параллельно выполняемых команд решает сам процессор (в процессорах VLIW данное планирование осуществляется программистом).

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