При проектировании суперминикомпьютеров на базе последних достижений СБИС-технологии оказалось невозможным полностью перенести в нее архитектуру удачного компьютера, выполненного на другой элементной базе. Такой перенос был бы очень неэффективен из-за технических ограничений на ресурсы кристалла: площадь, количество транзисторов, мощность рассеивания и т. д.
Для снятия указанных ограничений в Беркли (США, Калифорния) была разработана RISC(Restricted (reduced) instruction set computer)-архитектура (регистро-ориентированная архитектура). Компьютеры с такой архитектурой иногда называют компьютерами с сокращенным набором команд.
билет 22 тема 1
28
CISC
RISC
и
архитектура.
При проектировании суперминикомпьютеров на базе последних достижений СБИСтехнологии
оказалось невозможным полностью перенести в нее архитектуру удачного компьютера, выполненного
на другой элементной базе. Такой перенос был бы очень неэффективен изза технических ограничений
на ресурсы кристалла: площадь, количество транзисторов, мощность рассеивания и т. д.
Для снятия указанных ограничений в Беркли (США, Калифорния) была разработана RISC(Restricted
(reduced) instruction set computer)архитектура (регистроориентированная архитектура). Компьютеры
с такой архитектурой иногда называют компьютерами с сокращенным набором команд. Суть ее
состоит в выделении наиболее употребительных операций и создании архитектуры, приспособленной
для их быстрой реализации. Это позволило в условиях ограниченных ресурсов разработать
компьютеры с высокой пропускной способностью.
Основные принципы RISCархитектуры
В компьютерной индустрии наблюдается настоящий бум систем с RISCархитектурой. Рабочие
станции и серверы, созданные на базе концепции RISC, завоевали лидирующие позиции благодаря
своим исключительным характеристикам и уникальным свойствам операционных систем типа UNIX,
используемых на этих платформах.
В самом начале 80х годов почти одновременно завершились теоретические исследования в области
RISCархитектуры, проводившиеся в Калифорнийском, Стэнфордском университетах, а также в
лабораториях фирмы IBM. Особую значимость имеет проект RISC1, который возглавили профессора
Давид Паттерсон и Карло Секуин. Именно они ввели в употребление термин RISC и сформулировали
четыре основных принципа RISCархитектуры:
* каждая команда независимо от ее типа выполняется за один машинный цикл, длительность которого
должна быть максимально короткой;
* все команды должны иметь одинаковую длину и использовать минимум адресных форматов, что
резко упрощает логику центрального управления процессором;
* обращение к памяти происходит только при выполнении операций записи и чтения, вся обработка
данных осуществляется исключительно в регистровой структуре процессора;
* система команд должна обеспечивать поддержку языка высокого уровня. (Имеется в виду подбор
системы команд, наиболее эффективной для различных языков программирования.)
Со временем трактовка некоторых из этих принципов претерпела изменения. В частности, возросшие
возможности технологии позволили существенно смягчить ограничение состава команд: вместо
полусотни инструкций, использовавшихся в архитектурах первого поколения, современные RISC
процессоры реализуют около 150 инструкций. Однако основной закон RISC был и остается
незыблемым: обработка данных должна вестись только в рамках регистровой структуры и только в
формате команд "регистр – регистр –регистр".
В RISCмикропроцессорах значительную часть площади кристалла занимает тракт обработки данных,
а секции управления и дешифратору отводится очень небольшая его часть.
Аппаратная поддержка выбранных операций, безусловно, сокращает время их выполнения, однако
критерием такой реализации является повышение общей производительности компьютера в целом и
его стоимость. Поэтому при разработке архитектуры необходимо проанализировать результаты
компромиссов между различными подходами, различными наборами операций и на их основе выбрать
оптимальное решение.
Развитие RISCархитектуры в значительной степени определяется успехами в области
проектирования оптимизирующих компиляторов. Только современная технология компиляции
позволяет эффективно использовать преимущества большого регистрового файла, конвейерной
организации и высокой скорости выполнения команд. Есть и другие свойства процесса оптимизации в
технологии компиляции, обычно используемые в RISCпроцессорах: реализация задержанных
переходов и суперскалярная обработка, позволяющие в один и тот же момент времени посылать на
выполнение несколько команд.
Отличительные черты RISC и CISC архитектурДвумя основными архитектурами набора команд, используемыми компьютерной промышленностью на
современном этапе развития вычислительной техники, являются архитектуры CISC и RISC.
Основоположником CISCархитектуры – архитектуры с полным набором команд (CISC – Complete
Instruction Set Computer) можно считать фирму IBM с ее базовой архитектурой IBM/360, ядро
которой используется с 1964 г. и дошло до наших дней, например, в таких современных мейнфреймах,
как IBM ES/9000.
Лидером в разработке микропроцессоров с полным набором команд считается компания Intel с
микропроцессорами X86 и Pentium. Это практически стандарт для рынка микропроцессоров.
Простота архитектуры RISCпроцессора обеспечивает его компактность, практическое отсутствие
проблем с охлаждением кристалла, чего нет в процессорах фирмы Intel, упорно придерживающейся
пути развития архитектуры CISC. Формирование стратегии CISCархитектуры произошло за счет
технологической возможности перенесения "центра тяжести" обработки данных с программного
уровня системы на аппаратный, так как основной путь повышения эффективности для CISC
компьютера виделся, в первую очередь, в упрощении компиляторов и минимизации исполняемого
модуля. На сегодняшний день CISCпроцессоры почти монопольно занимают на компьютерном рынке
сектор персональных компьютеров, однако RISCпроцессорам нет равных в секторе
высокопроизводительных серверов и рабочих станций.
Одним из важных преимуществ RISCархитектуры является высокая скорость арифметических
вычислений. RISCпроцессоры первыми достигли планки наиболее распространенного стандарта IEEE
754, устанавливающего 32разрядный формат для представления чисел с фиксированной точкой и 64
разрядный формат "полной точности" для чисел с плавающей точкой. Высокая скорость выполнения
арифметических операций в сочетании с высокой точностью вычислений обеспечивает RISC
процессорам безусловное лидерство по быстродействию в сравнении с CISCпроцессорами.
Другой особенностью RISCпроцессоров является комплекс средств,
обеспечивающих
безостановочную работу арифметических устройств: механизм динамического прогнозирования
ветвлений, большое количество оперативных регистров, многоуровневая встроенная кэшпамять.
Организация регистровой структуры – основное достоинство и основная проблема RISC. Практически
любая реализация RISCархитектуры использует трехместные операции обработки, в которых
результат и два операнда имеют самостоятельную адресацию – R1 : = R2, R3. Это позволяет без
существенных затрат времени выбрать операнды из адресуемых оперативных регистров и записать в
регистр результат операции. Кроме того, трехместные операции дают компилятору большую гибкость
по сравнению с типовыми двухместными операциями формата "регистр – память" архитектуры CISC.
В сочетании с быстродействующей арифметикой RISCоперации типа "регистр – регистр" становятся
очень мощным средством повышения производительности процессора.
Вместе с тем опора на регистры является ахиллесовой пятой RISCархитектуры. Проблема в том, что
в процессе выполнения задачи RISCсистема неоднократно вынуждена обновлять содержимое
регистров процессора, причем за минимальное время, чтобы не вызывать длительных простоев
арифметического устройства. Для CISCсистем подобной проблемы не существует, поскольку
модификация регистров может происходить на фоне обработки команд формата "память – память".
Существуют два подхода к решению проблемы модификации регистров в RISCархитектуре:
аппаратный, предложенный в проектах RISC1 и RISC2, и программный, разработанный
специалистами IВМ и Стэндфордского университета. Принципиальная разница между ними
заключается в том, что аппаратное решение основано на стремлении уменьшить время вызова
процедур за счет установки дополнительного оборудования процессора, тогда как программное
решение базируется на возможностях компилятора и является более экономичным с точки зрения
аппаратуры процессора.