Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЭВМ и ВС.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
137 Кб
Скачать
☆
  1. Архитектура процессора по набору команд

В зависимости от набора и порядка выполнения команд процессоры подразделяются следующим образом:

  • классические процессоры CISC с полным набором команд. Типичными представителями CISC являются микропроцессоры семейства x86. Хотя уже много лет эти процессоры являются CISC только по внешней системе команд: в начале процесса исполнения сложные команды разбиваются на более простые микрооперации, исполняемые RISC-ядром.

  • процессоры RISC с сокращенным набором команд. Архитектура процессоров, построенная на основе упрощённого набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Упрощение набора команд призвано сократить конвейер, что позволяет избежать задержек на операциях условных и безусловных переходов. Однородный набор регистров упрощает работу компилятора при оптимизации исполняемого программного кода. Кроме того, RISC-процессоры отличаются меньшим энергопотреблением и тепловыделением по сравнению с CISC.

  • процессоры MISC c минимальным набором длинных команд. Процессоры этой архитектуры характеризуются небольшим числом чаще всего встречающихся команд (примерно 20-30 команд). Вместе с этим, принцип длинных команд обеспечивает выполнение группы непротиворечивых команд за один цикл работы процессора. Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных.

  • процессоры VLIW с набором сверхдлинными командами. Архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно.

  1. Классификация команд по адресности

Количество указываемых в команде адресов может быть различным. В зависимости от числа адресов различают следующие форматы команд: безадресные, одно-, двух- и трехадресные.

Трехадресная команда, выполняющая, например, операцию сложения, должна содержать код операции и три адреса (рис. 3.30).

Действия, выполняемые этой командой, описываются следующей последовательностью операций.

1. Взять число, хранящееся по первому адресу А1.

2. Взять число, хранящееся по второму адресу А2, и сложить с первым числом.

3. Результат сложения записать по третьему адресу А3.

В случае двухадресной команды третий адрес отсутствует, и результат можно записать либо по второму адресу (с потерей информации, которая была там записана), либо оставить в регистре сумматора, где производилась операция сложения. Тогда для освобождения регистра сумматора требуется дополнительная команда перезаписи числа по требуемому адресу. При организации сложения двух чисел, хранящихся по адресам А1 и А2 с записью результата в А3 с использованием одноадресных команд, требуется уже три команды.

1. Вызов в сумматор (АЛУ) числа, хранящегося по адресу А1.

2. Вызов числа, хранящегося по адресу А2 и сложение его с первым числом.

3. Запись результата по адресу А3.

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

Увеличивая число адресов в команде, приходится увеличивать длину машинного слова, чтобы отвести в нем необходимые поля для адресной части команд. С увеличением объема памяти ЭВМ увеличивается длина поля, необходимого для указания одного адреса. В то же время не все команды полностью используют адресные поля. Например, для команды записи числа по заданному адресу требуется только одно адресное поле. Неоправданное увеличение длины машинного слова для использования многоадресных команд приводит к уменьшению быстродействия ЭВМ, т.к. необходимо обрабатывать поля большей длины.

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