Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
106
Добавлен:
10.05.2015
Размер:
230.4 Кб
Скачать

Классификация по составу и сложности команд

Современная технология программирования ориентирована на языки высокого уровня (ЯВУ), главная цель которых — облегчить процесс программирования. Переход к ЯВУ, однако, породил серьезную проблему: сложные операторы, харак­терные для ЯВУ, существенно отличаются от простых машинных операций, реа­лизуемых в большинстве вычислительных машин. Проблема получила название семантического разрыва, а ее следствием становится недостаточно эффективное выполнение программ на ВМ. Пытаясь преодолеть семантический разрыв, разра­ботчики вычислительных машин в настоящее время выбирают один из трех под­ходов и, соответственно, один из трех типов АСК:

- архитектуру с полным набором команд: CISC (Complex Instruction Set Com­puter);

- архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set Computer);

- архитектуру с командными словами сверхбольшой длины: VLIW (Very Long Instruction Word).

В вычислительных машинах типа CISC проблема семантического разрыва ре­шается за счет расширения системы команд, дополнения ее сложными командами, семантически аналогичными операторам ЯВУ. Основоположником CISC-архитек­туры считается компания IBM, которая начала применять данный подход с семей­ства машин IBM 360 и продолжает его в своих мощных современных универсаль­ных ВМ, таких как IBM ES/9000. Аналогичный подход характерен и для компании Intel в ее микропроцессорах серии 8086 и Pentium. Для CISC-архитектуры ти­пичны:

- наличие в процессоре сравнительно небольшого числа регистров общего на­значения;

- большое количество машинных команд, некоторые из них аппаратно реализу­ют сложные операторы ЯВУ;

- разнообразие способов адресации операндов;

- множество форматов команд различной разрядности;

- наличие команд, где обработка совмещается с обращением к памяти.

К типу CISC можно отнести практически все ВМ, выпускавшиеся до середины 1980-х годов, и значительную часть производящихся в настоящее время. Рассмот­ренный способ решения проблемы семантического разрыва вместе с тем ведет к усложнению аппаратуры ВМ, главным образом устройства управления, что, в свою очередь, негативно сказывается на производительности ВМ в целом. Это застави­ло более внимательно проанализировать программы, получаемые после компиля­ции с ЯВУ.

Термин RISC впервые был использован Д. Паттерсоном и Д. Дитцелем в 1980 году. Идея заключается в ограничении списка команд ВМ наиболее часто используемыми простейшими командами, оперирующими данными, размещен­ными только в регистрах процессорах. Обращение к памяти допускается лишь с помощью специальных команд чтения и записи. Резко уменьшено количество фор­матов команд и способов указания адресов операндов. Сокращение числа форматов команд и их простота, использование ограниченного количества способов адресации, отделение операций обработки данных от операций обращения к памяти позволяет существенно упростить аппаратные средства ВМ и повысить их быстродействие.

В последних микропроцессорах фирмы Intel и AMD широко ис­пользуются идеи, свойственные RISC-архитектуре, так что многие различия меж­ду CISC и RISC постепенно стираются.

Концепция VLIW базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. В плане АСК архитектура VLIW сравнительно мало отличается от RISC. Появил­ся лишь дополнительный уровень параллелизма вычислений, в силу чего архитек­туру VLIW логичнее адресовать не к вычислительным машинам, а к вычислитель­ным системам.

Таблица7.1. Сравнительная оценка CISC-, RISC- и VLIW-архитектур

Характеристика

CISC

RISC

VLIW

Длина команды

Варьируется

Единая

Единая

Расположение полей в команде

Варьируется

Неизменное

Неизменное

Количество регистров

Несколько (часто специализированных)

Много регистров общего назначения

Много регистров общего назначения

Доступ к памяти

Может выполняться как часть команд различных типов

Выполняется только специальными коман­дами

Выполняется толь­ко специальными командами

Соседние файлы в папке Lection