Классификация по составу и сложности команд
Системой команд процессораназывают полный перечень команд, которые способен выполнять процессор. В свою очередь, под архитектурой системы командпринято определять те средства компьютера, которые видны и доступны программисту. Архитектуру системы команд можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры компьютера (рис.12.1).
Рис.12.1. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением
Современные технологии программирования ориентированы на языки высокого уровня (ЯВУ), главная цель которых — облегчить процесс программирования. Переход к ЯВУ, однако, породил серьезную проблему: сложные операторы, характерные для ЯВУ, существенно отличаются от простых машинных операций, реализуемых в большинстве компьютеров. Проблема получила название семантического разрыва, а ее следствием стало недостаточно эффективное выполнение программ компьютерами. Пытаясь преодолеть семантический разрыв, разработчики компьютеров использовали разные подходы, в частности:
архитектуру с обширным набором команд с нерегулярной структурой - CISC (Complex Instruction Set Computer);
архитектуру с регулярной структурой команд и выделенной группой команд обращения в память - RISC (Reduced Instruction Set Computer);
архитектуру с командными словами сверхбольшой длины - VLIW (Very Long Instruction Word).
В компьютерах с архитектурой типа CISC проблема семантического разрыва решалась за счет расширения системы команд сложными командами, семантически аналогичными операторам ЯВУ. Примером CISC-архитектуры является архитектура фирмы Intel для персональных компьютеров.
Для CISC-архитектуры типичны:
наличие в процессоре сравнительно небольшого числа регистров общего назначения;
большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;
разнообразие способов адресации операндов;
множество форматов команд различной разрядности;
наличие команд, где обработка совмещается с обращением к оперативной памяти.
Рассмотренный способ решения проблемы семантического разрыва вместе с тем привел к усложнению аппаратуры компьютеров, главным образом устройства управления, что, в свою очередь, негативно сказывается на производительности компьютеров в целом. Это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. В результате исследований обнаружилось, что доля дополнительных команд, эквивалентных операторам ЯВУ, в общем объеме программ не превышает 10-20%, а для некоторых наиболее сложных команд даже 0,2%. В то же время объем аппаратных средств, требуемых для реализации дополнительных команд, возрастает весьма существенно.
Детальный анализ результатов упомянутых исследований привел к серьезному пересмотру традиционных решений, следствием чего стало появление RISC-архитектуры. Термин RISC впервые был использован Д. Паттерсоном и Д. Дитцелем в 1980 году. Идея заключалась в ограничении списка команд компьютера наиболее часто используемыми простейшими командами, оперирующими данными, размещенными только в регистрах процессора. Обращение к оперативной памяти допускалось лишь спомощью специальных команд чтения и записи. Резко уменьшено количество форматов команд и способов адресации операндов. Сокращение числа форматов команд и их простота, использование ограниченного количества способов адресации, отделение операций обработки данных от операций обращения к оперативной памяти позволило существенно упростить аппаратные средства процессора и повысить его быстродействие. Реализация сложных команд за счет последовательности из простых, но быстрых RISC-команд оказалась не менее эффективной, чем аппаратный вариант сложных команд в CISC-архитектуре.
В современных процессорах фирм Intel и AMD с архитектурой CISC широко используются идеи, свойственные RISC-архитектуре, так что многие различия между CISC и RISC постепенно исчезли.
Помимо CISC- и RISC-архитектур существуют также архитектуры с командными словами сверхбольшой длины (VLIW). Концепция VLIW базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. Архитектура VLIW сравнительно мало отличается от RISC-архитектуры. Появился лишь дополнительный уровень параллелизма вычислений.
Дата добавления: 2015-09-28; просмотров: 915;