- •7 Форма представления чисел с фиксированной точкой
- •8 Форма представления чисел с плавающей точкой
- •9 Форматы двоично-десятичных чисел
- •10. Машинные коды
- •Прямой код
- •Обратный код
- •. Дополнительный код
- •11 Составные части компьютера
- •13. Триггеры
- •12 Логические элементы
- •2.12.2. Асинхронный rs-триггер
- •2.12.3. Синхронный rs-триггер
- •2.12.3. Двухтактный rs-триггер
- •14 Асинхронный и синхронный d-триггеры
- •17. Дешифраторы
- •18 Одноразрядный сумматор
- •Полусумматор
- •19. Многоразрядные сумматоры
- •20 Двоично-десятичные сумматоры
- •21 Мультиплексоры
- •22. Демультиплексоры
- •23. Регистры
- •24 Счетчики
- •25 Двоично-десятичные счетчики
- •26 Классификация архитектур системы команд
- •27 Классификация по составу и сложности команд
- •28 Классификация по месту хранения операндов
- •29 Архитектура с выделенным доступом к памяти
- •30 Типы команд
- •Команды пересылки данных
- •Операции с целыми числами
- •Операции с числами в форме с плавающей запятой
- •Логические операции
- •Операции сдвигов
- •Операции с десятичными числами
- •Simd-команды
- •Команды для работы со строками
- •Команды преобразования
- •Команды ввода/вывода
- •Команды управления системой
- •Команды управления потоком команд
- •31 Формат команд
- •Длина команды
- •Разрядность полей команды
- •32 Выбор адресности команд
- •33. Способы адресации операндов
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
- •Регистровая адресация
- •34 Косвенная регистровая адресация
- •Адресация со смещением
- •Относительная адресация
- •35 Базовая регистровая адресация
- •Индексная адресация
- •Страничная адресация
- •Блочная адресация
- •36 Распространенность различных видов адресации
- •Способы адресации в командах управления потоком команд
- •37 Функциональная организация фон-неймановской вычислительной машины
- •38 Устройство управления
- •39 Арифметико-логическое устройство
- •40 Основная память
- •Модуль ввода/вывода
- •41. Стандартный цикл команды
- •42 Организация шин
- •43 Шины «процессор-память»
- •Шина ввода/вывода
- •44 Системная шина
- •45 Иерархия шин
- •46 Арбитраж шин
- •47 Протокол шины
- •48 Методы повышения эффективности шин
- •49 Стандартизация шин
27 Классификация по составу и сложности команд
Современная технология программирования ориентирована на языки высокого уровня, главная цель которых – облегчить процесс программирования. Переход к языкам высокого уровня породил серьезную проблему – сложные операторы, характерные для языка высокого уровня, существенно отличаются от простых машинных операций, реализуемых в большинстве вычислительных машин. Проблема получила название семантического разрыва, а ее следствием становится недостаточно эффективное выполнение программ на вычислительных машинах. Пытаясь преодолеть семантический разрыв, разработчики вычислительных машин в настоящее время выбирают один из трех подходов и, соответственно, один из трех типов архитектуры системы команд:
• архитектуру с полным набором команд: CISC (Complex Instruction Set Computer);
• архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set . Computer);
• архитектуру с командными словами сверхбольшой длины: (Very Long Instruction Word).
В вычислительных машинах типа CISC проблема семантического разрыва решается за счет расширения системы команд, дополнения ее сложными командами, семантически аналогичными операторам языка высокого уровня. Основоположником CISC-архитектуры считается компания IBM, которая начала применять данный подход с семейства машин IBM 360 и продолжает его в своих мощных современных универсальных вычислительных машинах, таких как IBM ES/9000. Аналогичный подход характерен и для компании Intel в ее микропроцессорах серии 8086 и Pentium. К типу CISC можно отнести практически все вычислительные, выпускавшиеся до середины 1980-х годов, и значительную часть производящихся в настоящее время.Для CISC-архитектуры характерно:
• наличие в процессоре сравнительно небольшого числа регистров общего назначения;
• большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы языка высокого уровня;
• разнообразие способов адресации операндов;
• множество форматов команд различной разрядности;
• наличие команд, где обработка совмещается с обращением к памяти.
Рассмотренный способ решения проблемы семантического разрыва вместе с тем ведет к усложнению аппаратуры вычислительной машины, главным образом устройства управления, что, в свою очередь, негативно сказывается на производительности в целом.
Идея RISC-архитектуры
заключается в ограничении списка команд
вычислительной машины наиболее часто
используемыми простейшими командами,
оперирующими данными, размещенными
только в регистрах процессорах. Обращение
к памяти допускается лишь с помощью
специальных команд чтения и записи.
Резко уменьшено количество форматов
команд и способов указания адресов
операндов. Сокращение числа форматов
команд и их простота, использование
ограниченного количества способов
адресации, отделение операций обработки
данных от операций обращения к памяти
позволяет существенно упростить
аппаратные средства вычислительной
машины и повысить их быстродействие.
RISC-архитектура разрабатывалась
таким образом, чтобы уменьшить за счет
сокращения
и
.
Как следствие, реализация сложных команд
за счет последовательности из простых,
но быстрых RISC-команд оказывается не
менее эффективной, чем аппаратный
вариант сложных команд в CISC-архитектуре.
Элементы RISC-архитектуры впервые появились в вычислительных машинах CDC 6600 и суперЭВМ компании Cray Research. Достаточно успешно реализуется RISC-архитектура и в современных вычислительных машинах, например в процессорах Alpha фирмы DEC, серии РА фирмы Hewlett-Packard, семействе PowerPC и т.п.
В последних микропроцессорах фирмы Intel и AMD широко используются идеи, свойственные RISC-архитектуре, так что многие различия между CISC и RISC постепенно стираются.
Архитектура с командными словами сверхбольшой длины (VLIW) базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. В плане архитектуры системы команд архитектура VLIW сравнительно мало отличается от RISC. Появился лишь дополнительный уровень параллелизма вычислений, в силу чего архитектуру VLIW логичнее адресовать не к вычислительным машинам, а к вычислительным системам.
Таблица 2.14. Сравнительная оценка CISC-, RISC- и VLIW-архитектур
Характеристика |
CISC |
RISC |
VLIW |
Длина команды |
Варьируется |
Единая |
Единая |
Расположение полей в команде |
Варьируется |
Неизменное |
Неизменное |
Количество регистров |
Несколько (часто специализированных) |
Много регистров общего назначения |
Много регистров общего назначения |
Доступ к памяти |
Может выполняться как часть команд различных типов |
Выполняется только специальными командами |
Выполняется только специальными командами |
