logo search
Кафедра “Системы автоматического управления”

3.2.2. Принципы risc

Осознав указанные факты, многие исследователи начали поиски альтернативных путей повышения производительности процессоров. Было ясно, что нужно попытаться сократить число логических элементов на кристалле МП до минимума. Для этого было необходимо перенести "центр тяжести" на программные средства, оставив минимально возможное число команд, имеющих простую и регулярную структуру. Другими словами, начала формироваться стратегия "длинная программа — короткие команды" в противовес господствующей "короткая программа — длинные команды". Оставалось только найти разумный компромисс между ресурсами, отводимыми основным вычислительным узлам процессора и устройствам управления.

И вскоре этот компромисс был найден. Вначале Джон Кук из IBM Research Labs на своем экспериментальном компьютере "model 801" показал, что при использовании в программе лишь простейших команд формата “регистр—регистр" (операнды извлекаются исключительно из регистров и после выполнения операции помещаются только в регистры) скорость выполнения большинства вычислительных задач возрастает в два-три раза.

Затем учеными Стенфордского университета было показано, что исключение из набора команд сложных операций уменьшает число элементов процессора на порядок за счет упрощения схем управления ресурсами процессора (при этом производительность системы остается практически неизменной). При этом, опыт многочисленных исследователей статистических свойств программ выявил, что 80% процессорного времени обычно тратится на выполнение всего 20% от общего числа инструкций обычных CISC-процессоров. Причем все эти 20% приходятся на команды типа "регистр—регистр".

И наконец, в работах Д. Паттерсона и К. Секуина были сформулированы четыре основных принципа, которые должны быть положены в основу процессоров группы RISC:

а) любая операция, к какому бы типу она ни принадлежала, должна выполняться за один такт;

б) операции обработки данных реализуются только в формате ”регистр—регистр". Обмен между памятью и регистрами (т. е. модификация памяти и чтение из нее необходимых данных) осуществляется только лишь с помощью специальных команд чтения/записи;

в) система команд должна содержать минимальное число наиболее часто используемых простейших команд одинаковой длины;

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