Концепция RISC - архитектуры

Организация первых моделей процессоров - i8086/8088 - была направлена, в частности, на сокращение объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью. Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ, а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило трудоёмкость разработки их микропрограммных реализаций.
Последнее проявилось в удлинении сроков разработки CISC-процессоров, а также в появлении ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие процессоров временным параллелизмом обработки инструкций на конвейере "выборка команды- дешифрация команды- выборка данных- вычисление- запись результата".
Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это было реализовано в RISC-процессорах, название которых означает "чипы с сокращённой системой команд" (Reduced Instruction Set Computer). Одновременно "классические" процессоры получили обозначение CISC (Complex Instruction Set Computer) - компьютер со сложным набором инструкций.
Основная идея RISC - архитектуры состоит в том, что обычно в компьютерах сложные команды выполняются довольно редко, поэтому сложные операции можно разбить на простейшие операции. Простейшие операции составляют набор базовых элементарных команд.

В итоге сложились следующие принципы архитектуры RISC:

·Применение упрощенного сокращенного набора команд одинаковой длины и структуры.

·Каждая команда набора выполняется за отрезок времени, равный одному такту.

·Любая сложная операция выполняется как набор простых команд.

·Обращение процессора к оперативной памяти происходит через команды загрузки в сверхоперативную память процессора и записи в ОЗУ.

·Ускоренное выполнение операций достигается за счет использования большого внутреннего СОЗУ (Кэш)

В архитектуре RISC 1-го поколения использовался жесткий принцип управления (при котором логическая схема реализует микрооперацию), как обеспечивающий наиболее высокую скорость выполнения элементарных операций. В дальнейшем, развитие технологии быстрой памяти позволило перейти к архитектуре RISC 2-го поколения с микропрограммным принципом реализации операций (при котором микрооперация читается из памяти микрокоманд). Каждая команда процессора RISC - архитектуры состоит только из одного слова, тогда как команда процессора CISC- архитектуры может состоять из нескольких машинных слов. В этом случае количество слов команды определяется процессором после дешифрации 1-го слова команды. Процессоры RISC - архитектуры имеют более высокую производительность. Так, например, в серверах на RISC-процессорах быстродействие процессорной шины примерно в два раза выше, чем для самых мощных PC- серверов на процессорах CISC- архитектуры.
Сокращение нерегулярности потока команд позволило обогатить топологию RISC-процессоров пространственным параллелизмом, специализированными аппаратными АЛУ (ALU - блок логики и арифметики = Arithmetic (and) Logic Unit), независимыми кэш данных и команд, раздельными шинами ввода-вывода. Последние, в частности, увеличили длину конвейеров команд. Всё это повысило и производительность - увеличением числа операций, выполняемых за один такт, и быстродействие - сокращением пути транзактов - RISC-процессоров. При этом срок разработки данных чипов свидетельствует о том, что её трудоёмкость меньше, чем в случае CISC-процессоров.
На мировых рынках CISC-процессоры представлены, в основном, клонами процессоров Intel серии x86, производимыми AMD, Cyrix, а RISC - чипами Alpha, PowerPC, SPARC. Уступая во многом последним, процессоры x86 сохранили лидерство на рынке персональных систем лишь благодаря совместимости с программным обеспечением младших моделей, общая стоимость которого - в начале 90-х годов - составила несколько миллиардов долларов США. В свою очередь, достоинства RISC-процессоров укрепили их позиции на более молодом рынке высокопроизводительных машин.
В начале 90-х годов началась острая конкуренция за улучшение характеристик процессоров. В первую очередь, повышение производительности и её отношения к трудоёмкости разработки процессоров. Создатели и CISC, и RISC-процессоров боролись с конкурентами, заимствуя их удачные решения. В процессоре i486 был использован пространственный параллелизм вычислений с фиксированной и плавающей запятой, поддержка каждого АЛУ своей шиной данных/команд и регистровым блоком повысила производительность i486. Команды могли одновременно выполняться в различных АЛУ. Кроме того, интеграция кэш и организация очереди команд позволила поднять частоту ядра процессора в 2-3 раза в сравнении с системной шиной. Однако, совместное размещение данных и команд ограничило эффективность кэш необходимостью его полной перезагрузки после выполнения команд переходов.
Для устранения этого недостатка в Pentium были реализованы раздельные кэш для команд и данных, позволяющие после переходов перезагружать лишь команды - такое решение называется Гарвардской архитектурой, а также предсказание переходов, снижающее частоту перезагрузок. Последнее достигается предварительной загрузкой в кэш команд двух ветвей. Введение второго целочисленного тракта, состоящего из АЛУ, адресного блока, шин данных/команд, и работающего на общий блок регистров, повысило производительность поддержкой параллельной обработки целочисленных данных. Развитием данной тенденции стало обогащение Pentium MMX мультимедийным АЛУ, шинами данных/команд и дополнительным регистровым файлом.
При этом, в случае выборки двух целочисленных команд, зависящих по данным, каждая из них выполняется последовательно, что снижает эффективность работы процессора. Частично поправило ситуацию создание оптимизирующих рекомпиляторов, разделяющих по возможности такие команды.
Учитывая недостатки CISC архитектуры, компания Intel реализовала в Pentium Pro RISC-подобную организацию вычислений. Интерпретация команд х86 внутренними - RISC86 - инструкциями VLIW-формата помимо снижения нерегулярности их потока, обеспечила синхронную загрузку четырёх операционных - по два с плавающей и фиксированной запятой - АЛУ. Термин VLIW расшифровывается как "очень длинное командное слово" (Very Long Instruction Word). Инструкции этого формата содержат команды для всех параллельных АЛУ.
Обогащение управления обработкой предвыборкой данных и команд, предполагаемых к обработке в ближайшие 20 тактов, повысило регулярность загрузки вычислительных трактов. В свою очередь, осуществление предвыборки из интегрированного на кристалле кэш второго уровня, обслуживаемого раздельными шинами "интерфейс-кэш" и "кэш-АЛУ" и работающего на частоте АЛУ, повысило быстродействие подготовки команд в сравнении с внешними кэш. Дополнительное повышение производительности Pentium Pro обеспечило увеличение длины команд до 11 ступеней введением ступеней трансляции и предвыборки. Кроме того, интеграция кэш второго уровня позволила умножить частоту ядра в 5-6 раз.
В архитектуре Р6 RISC-решения впервые в семействе х86 перестали быть лишь дополнением CISC-средств повышения производительности - роста разрядности, отложенной записи шины и других. Поэтому частица PRO в названии первого процессора этой серии обозначает "Полноценная RISC-архитектура" (Precision RISC Organization).
Современные RISC-процессоры отличает развитие системы команд для сохранения программной совместимости и снижения трудоёмкости разработки программ. Это сближает технологии обработки команд процессорами упомянутых архитектур. Например, SuperSparc взяли от последних моделей х86 предсказание переходов и предварительную интерпретацию кода.
Развиваясь, каждая из рассмотренных архитектур, "отказавшись" от своих черт - CISC от скалярности вычислений, RISC от "простоты" системы команд, приобрела лучшие черты конкурента, что повысило характеристики её представителей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: