Безопасность

Сравнение архитектуры risc и cisc процессоров. Аргументы за использование существующей свободной открытой RISC ISA

Сравнение архитектуры risc и cisc процессоров. Аргументы за использование существующей свободной открытой RISC ISA

Реферат по дисциплине “Организация ЭВМ и систем”

Тема: «Процессоры CISCи RISC».

Введение………………………………………………………….3

1.CISC и RISC архитектура процессора……………………..4

2. CISC или RISC?........................................................................6

3. CISC-архитектура……………………………………………………...9

4. RISC-архитектура……………………………………………………..11

Заключение……………………………………………………………….14

Введение

Так уж исторически сложилось, что поначалу совершенствование процессоров было направлено на то, чтобы сконструировать по возможности более функциональный компьютер, который позволил бы выполнять как можно больше разных инструкций. Во-первых, так было удобнее для программистов (компиляторы языков высокого уровня еще только начинали развиваться, и все по-настоящему важные программы писались на ассемблере), а во-вторых, использование сложных инструкций зачастую позволяло сильно сократить размеры написанной на ассемблере программы. А где меньше инструкций – меньше и затраченное на исполнение программы время.

Надо признать, что достигнутые на этом пути успехи действительно впечатляли - в последних версиях ЭВМ выразительность ассемблерного листинга зачастую не уступала выразительности программы, написанной на языке высокого уровня. Одной-единственной машинной инструкцией можно было сказать практически все, что угодно. К примеру, такие машины, как DEC VAX, аппаратно поддерживали инструкции "добавить элемент в очередь", "удалить элемент из очереди" и даже "провести интерполяцию полиномом" (!); а знаменитое семейство процессоров Motorola 68k почти для всех инструкций поддерживало до двенадцати (!) режимов адресации памяти, вплоть до взятия в качестве аргумента инструкции "данных, записанных по адресу, записанному вон в том регистре, со смещением, записанным вот в этом регистре". Отсюда и общее название соответствующих архитектур: CISC - Complex Instruction Set Computers ("компьютеры с набором инструкций на все случаи жизни").


  1. ^ CISC и RISC архитектура процессора
Итак, рассмотрим и дадим краткое определение рассматриваемым процессорам:

Процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);

Процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).

CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.

С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.

Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.

Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.

Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.

Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.

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

В настоящее время наиболее яркими представителями микроконтроллеров CISC и RISC, имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i8051 и AVR – микроконтроллеры фирмы Atmel, которые по ряду характеристик превзошли очень известные PIC – микроконтроллеры. Поэтому рассмотрим организацию и устройство вышеперечисленных представителей.

2^ . CISC или RIS C?

Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники, являются архитектуры CISC и RISC. Основоположником CISC-архитектуры – архитектуры с полным набором команд (CISC – Complete Instruction Set Computer) можно считать фирму IBM с ее базовой архитектурой IBM/360, ядро которой используется с 1964 г. и дошло до наших дней, например, в таких современных мейнфреймах, как IBM ES/9000.

Лидером в разработке микропроцессоров с полным набором команд считается компания Intel с микропроцессорами X86 и Pentium. Это практически стандарт для рынка микропроцессоров.

Сегодня разница в производительности между RISC и CISC наиболее очевидна в вычислениях с плавающей точкой, где на микропроцессор падает большая математическая нагрузка. Высокая производительность RISC в вычислениях с плавающей точкой используется в финансово-торговых системах и сложных инженерных приложениях. Однако для большинства приложений бизнес-серверов высокой производительности вычислений с плавающей точкой не требуется. Им нужна производительность усложненных вычислений. Целые вычисления работают с целыми числами, для представления которых требуется меньшее число бит. Следовательно, они требуют меньше процессорных действий. Большинство бизнес-приложений, которые обеспечивают число заказанных изделий или вычисляют количество товаров на складе, используют главным образом усложненные вычисления.

Простота архитектуры RISC-процессора обеспечивает его компактность, практическое отсутствие проблем с охлаждением кристалла, чего нет в процессорах фирмы Intel, упорно придерживающейся пути развития архитектуры CISC. Формирование стратегии CISC-архитектуры произошло за счет технологической возможности перенесения "центра тяжести" обработки данных с программного уровня системы на аппаратный, так как основной путь повышения эффективности для CISC-компьютера виделся, в первую очередь, в упрощении компиляторов и минимизации исполняемого модуля. На сегодняшний день CISC-процессоры почти монопольно занимают на компьютерном рынке сектор персональных компьютеров, однако RISC-процессорам нет равных в секторе высокопроизводительных серверов и рабочих станций.

Основные черты RISC-архитектуры с аналогичными по характеру чертами CISC-архитектуры отображаются следующим образом (табл.1):


CISC- архитектура

RISC-архитектура

Многобайтовые команды

Однобайтовые команды

Малое количество регистров

Большое количество регистров

Сложные команды

Простые команды

Одна или менее команд за один цикл процессора

Несколько команд за один цикл процессора

Традиционно одно исполнительное устройство

Несколько исполнительных устройств
^ Таблица 1.Основные черты архитектуры

Одним из важных преимуществ RISC-архитектуры является высокая скорость арифметических вычислений. RISC-процессоры первыми достигли планки наиболее распространенного стандарта IEEE 754, устанавливающего 32-разрядный формат для представления чисел с фиксированной точкой и 64-разрядный формат "полной точности" для чисел с плавающей точкой. Высокая скорость выполнения арифметических операций в сочетании с высокой точностью вычислений обеспечивает RISC-процессорам безусловное лидерство по быстродействию в сравнении с CISC-процессорами.

Другой особенностью RISC-процессоров является комплекс средств, обеспечивающих безостановочную работу арифметических устройств: механизм динамического прогнозирования ветвлений, большое количество оперативных регистров, многоуровневая встроенная кэш-память.

Организация регистровой структуры – основное достоинство и основная проблема RISC. Практически любая реализация RISC-архитектуры использует трехместные операции обработки, в которых результат и два операнда имеют самостоятельную адресацию – R1: = R2, R3. Это позволяет без существенных затрат времени выбрать операнды из адресуемых оперативных регистров и записать в регистр результат операции. Кроме того, трехместные операции дают компилятору большую гибкость по сравнению с типовыми двухместными операциями формата "регистр – память" архитектуры CISC. В сочетании с быстродействующей арифметикой RISC-операции типа "регистр – регистр" становятся очень мощным средством повышения производительности процессора.

Вместе с тем опора на регистры является ахиллесовой пятой RISC-архитектуры. Проблема в том, что в процессе выполнения задачи RISC-система неоднократно вынуждена обновлять содержимое регистров процессора, причем за минимальное время, чтобы не вызывать длительных простоев арифметического устройства. Для CISC-систем подобной проблемы не существует, поскольку модификация регистров может происходить на фоне обработки команд формата "память – память".

Существуют два подхода к решению проблемы модификации регистров в RISC-архитектуре: аппаратный, предложенный в проектах RISC-1 и RISC-2, и программный, разработанный специалистами IВМ и Стэндфордского университета. Принципиальная разница между ними заключается в том, что аппаратное решение основано на стремлении уменьшить время вызова процедур за счет установки дополнительного оборудования процессора, тогда как программное решение базируется на возможностях компилятора и является более экономичным с точки зрения аппаратуры процессора.

Вечный вопрос - что лучше?

Ответ зависит от конкретных условий. Технология RISC не всегда подходит для применения в тех случаях, когда набор задач ограничен. Например, для сетевого оборудования встроенные вычислительные средства RISC, как правило, не подходят, поскольку большинство ситуаций, в которых вы можете оказаться, можно предвидеть, а использование для их решения множества небольших команд замедляет работу устройства. Технология CISC предпочтительна при решении большинства задач, так или иначе относящихся к серверам (например, совместное использование файлов и принтеров), поскольку требования к процессорам в данном случае легко предвидеть. С другой стороны, технология RISC предпочтительна в "непредсказуемых" случаях, например, при обслуживании баз данных и приложений.

3. CISC-архитектура

К типу CISC можно отнести практически все ВМ, выпускавшиеся до середины 80-х годов и значительную часть из выпускаемых в настоящее время.

Характерные для CISC способы решения проблемы семантического разрыва, вместе с тем ведут к усложнению архитектуры ВМ, главным образом устройства управления, что, в свою очередь, негативно сказывается на производительности в целом. Кроме того, в CISC очень сложно организовать эффективный конвейер команд, который, как уже отмечалось, является одним из наиболее перспективных путей повышения производительности ВМ. Все это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. Был предпринят комплекс исследований , в результате которых обнаружились интересные закономерности:

Реализация сложных команд, эквивалентных операторам ЯВУ, требует увеличения емкости управляющей памяти в микропрограммном УУ. Микропрограм-как их доля в общем объеме программы зачастую не превышает 0,2%.

В откомпилированной программе операторы ЯВУ реализуются в виде процедур (подпрограмм), поэтому на операции вызова процедуры и возврата из нее приходится от 15 до 45% вычислительной нагрузки.

При вызове процедуры вызывающая программа передает этой процедуре некоторое количество аргументов. Согласно , в 98% случаев число передаваемых аргументов не превышает шести. Примерно такое же положение сложилось и с параметрами, которые процедура возвращает вызывающей программе. Более 80% переменных, используемых программой , являются локальными, то есть создаются при входе в процедуру и уничтожаются при выходе из нее. Количество локальных переменных, создаваемых отдельной процедурой, в 92% случаев не превышает шести .

Почти половину операций в ходе вычислений составляет операция присваива

Ния, сводящаяся к пересылке данных между регистрами, ячейками памяти или регистрами и памятью.

Чтобы машинный код CISC-компьютеров из-за сложных инструкций не разрастался до огромного размера, машинные инструкции в большинстве этих архитектур имели неоднородную структуру (разное расположение и размеры кода операции и ее операндов) и сильно отличающуюся длину (в x86, например, длина инструкций варьируется от 1 до 15 байт). Еще одной проблемой стало то, что при сохранении приемлемой сложности процессора многие инструкции оказалось принципиально невозможно выполнить "чисто аппаратно", и поздние CISC-процессоры были вынуждены обзавестись специальными блоками, которые "на лету" заменяли некоторые сложные команды на последовательности более простых. В результате все CISC-процессоры оказались весьма трудоемкими в проектировании и изготовлении. Но что самое печальное, к моменту расцвета CISC-архитектур стало ясно, что все эти конструкции изобретались в общем-то зря - исследования программного обеспечения того времени, проведенные IBM, наглядно показали, что даже программисты, пишущие на ассемблере, все эти "сверхвозможности" почти никогда не использовали, а компиляторы языков высокого уровня - и не пытались использовать.

К началу восьмидесятых годов классические CISC полностью исчерпали себя. Расширять набор инструкций в рамках этого подхода дальше не имело смысла, наоборот - технологи столкнулись с тем, что из-за высокой сложности CISC-процессоров оказалось трудно наращивать их тактовую частоту, а из-за "тормознутости" оперативной памяти тех времен зашитые в память процессора расшифровки сложных инструкций зачастую работают медленнее, чем точно такие же цепочки команд, встречающиеся в основной программе. Короче говоря, стало очевидным, что CISC-процессоры нужно упрощать - и на свет появился RISC, Reduced Instruction Set Computer.

4. RISC-архитектура

В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.

Замысел RISC- процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.

Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.

По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%

Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.

Основные особенности RISC-процессоров:


  • Сокращенный набор команд (от 80 до 150 команд).

  • Большинство команд выполняется за 1 такт.

  • Большое количество регистров общего назначения.

  • Наличие жестких многоступенчатых конвейеров.

  • Все команды имеют простой формат, и используются немногие способы адресации.

  • Наличие вместительной раздельной кэш-памяти.

  • Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.

RISC-процессоры 3-го поколения

Самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

Все RISC-процессоры третьего поколения:


  • являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);

  • имеют встроенные конвейерные блоки арифметики с плавающей точкой;

  • имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;

  • изготавливаются по КМОП-технологии с 4 слоями металлизации.
Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.

Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, наиболее сложными остаются процессоры компании Hewlett-Packard.

Уменьшение набора машинных команд в RISC-архитектуре позволило разместить на кристалле вычислительного ядра большое количество регистров общего назначения. Увеличение количества регистров общего назначения позволило минимизировать обращения к медленной оперативной памяти, оставив для работы с RAM только операции чтения данных из оперативной памяти в регистр и запись данных из регистра в оперативную память, все остальные машинные команды используют в качестве операндов регистры общего назначения.

Основными преимуществами RISC-архитектуры является наличие следующих свойств:


  • Большое число регистров общего назначения.

  • Универсальный формат всех микроопераций.

  • Равное время выполнения всех машинных команд.

  • Практически все операции пересылки данных осуществляются по маршруту регистр – регистр.

  • Равное время выполнения всех машинных команд позволяют обрабатывать поток командных инструкций по конвейерному принципу, т.е. выполняется синхронизация аппаратных частей с учетом последовательной передачи управления от одного аппаратного блока к другому.
Современные RISC-процессоры характеризуются следующим:

Упрощенным набором команд;

Используются команды фиксированной длины и фиксированного формата,

Простые способы адресации, что позволяет упростить логику декодирования команд;

Большинство команд выполняются за один цикл процессора;

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

Взаимодействие с оперативной памятью ограничивается операциями

Пересылки данных;

Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки;

Создан конвейер команд, позволяющий обрабатывать несколько из них одновременно;

Наличие большого количества регистров;

Используется высокоскоростная память.

Заключение

В данной курсовой работе рассмотрены микроконтроллеры с RISC и CISC архитектурой, особенности архитектур, их основные отличия.

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.

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

^ Список использованной литературы:

1. Каган Б.М. «Электронно-вычислительные машины и системы» Москва «Радио и связь»1991г.

2. Новиков Ю.В. , Скоробогатов П.К. «Основы микропроцессорной техники». 2006

3. Смирнов А.Д. «Архитектура вычислительных систем» Москва «Радио и связь» 1990 г.

4. Цилькер Б.Я., Орлов С.А. «Организация ЭВМ и систем». Спб.: Питер 2006.

(RISC - reduced instruction set computer - компьютер с сокращенным набором команд).

CPU первого типа являются традиционными, а их система команд включает большое количество команд для выполнения арифметических и логических операций, команд управления, пересылки и ввода-вывода данных. При считывании из операнда кода операции процессор обращается в ПЗУ микрокоманд и получает набор микроинструкций, реализующий алгоритм выполнения данной команды.

Такие CPU способны реализовывать любой алгоритм, который предварительно кодируется в системе команд данного CPU. Большинство универсальных CPU аппаратно поддерживают только целочисленную арифметику. Арифметика же с плавающей точкой реализуется программно во внутренних сопроцессорах . Сопроцессор расширяет набор команд ЭВМ. Когда основной процессор получает команду, которая не входит в его рабочий набор, он передает управление сопроцессору с целью ее выполнения.

Формально к этому классу относятся в большей или меньшей степени все нынешние Athlon , Pentium и прочие процессоры для IBM PC-совместимых компьютеров. В большей или меньшей потому, что те или иные заимствования идей и методов RISC имеются практически в каждом современном чипе.

Из названия RISC следует, что основу архитектуры составляет сокращенный набор команд. Сокращенный - в данном контексте означает также упрощенный для достижения максимальной производительности. Команды в архитектуре RISC имеют фиксированную и небольшую длину, они не нуждаются в интерпретации. С другой стороны, RISC-процессоры обладают значительным числом регистров, что позволяет хранить большое число данных на кристалле процессора и упрощает работу компилятора по распределению переменных по регистрам. Использование трехадресных команд упрощает их дешифрацию и дает возможность сохранять большее число переменных в регистрах без перезагрузки.

По мере развития архитектуры RISC появлялись все новые возможности наращивания производительности. Ключевыми из них являются суперскалярная (многоконвейерная) обработка, внеочередное выполнение команд, появление смешанных или групповых команд для выполнения часто повторяющихся последовательностей. Однако RISC-процессоры не являются суперскалярными в полном смысле слова, и реализация параллельных вычислений в рамках этой архитектуры достаточно сильно ограничена.

Еще одним фактором, сдерживающим стремительный рост производительности процессоров на основе архитектуры RISC, является проблема условных переходов. Проблема характерна для любой архитектуры, поскольку условные переходы значительно тормозят работу процессора. Однако бороться с ними в случае архитектуры RISC особенно сложно, ввиду ограниченного набора инструкций - меньшее число команд ведет к росту числа ветвлений.


Основные задачи распараллеливания вычислений (ILP - Instruction Level Parallelism):

Проверка зависимостей между инструкциями для выявления тех из них, которые можно сгруппировать для параллельного выполнения;

Распределение инструкций между функциональными блоками процессора;

Определение момента начала выполнения инструкций.

На основе статистического анализа кода множества CISC-приложений определяются наиболее часто используемые команды; уменьшение же числа команд позволяет увеличить число внутренних регистров (пересылка между регистрами выполняется быстрее всего), сделать конвейер более эффективным и поднять частоту его работы (чем более простые команды в нем исполняются, тем выше частота). Несмотря на значительно увеличившийся объем программного кода, RISC-процессор будет работать в несколько раз быстрее CISC-процессора с одинаковой частотой: специализация всегда предпочтительнее универсальности в плане быстродействия.

Разницу между RISC- и CISC-программами можно пояснить на простом примере. Но для начала оговорим некоторые детали: память компьютера адресуется по номеру строки и столбца, из которого осуществляется выборка (или в который производится запись). Операции над значениями из памяти производятся в исполнительном блоке, который, однако, может работать лишь с данными, загруженными в процессорные регистры.

Пусть нам нужно умножить два значения в памяти по некоторым адресам 2:2 (строка:столбец) и 5:4. CISC нацелен на исполнение задачи при минимуме команд: набор инструкций процессора строится таким образом, чтобы все более или менее сложные действия решались одной командой. Предположим, что в CISC- процессоре имеется команда MULT, которая выбирает указанные значения из ячеек памяти, записывает их в различные регистры и сохраняет результат в соответствующем регистре. Тогда задача умножения решится в одну строку кода:

MULT 2:2, 5:4

RISC-процессоры используют простые инструкции, которые исполняются за один такт. В этом случае вместо MULT потребуются команды LOAD/STORE, загружающие данные из памяти в регистр и записывающие их обратно, а также команда PROD, выполняющая умножение данных в двух некоторых регистрах. Эквивалентом MULT для RISC-процессора будет следующий код:

LOAD A, 2:2

LOAD B, 5:4

PROD A, B

STORE 2:3, A

Очевидно, код длиннее, но скорость выполнения операций на регистрах в 4 - 8 раз выше.

Таблица 1. Различия CISC и RISC

В принципе, с увеличением объема кода можно мириться, если этот увеличенный объем позволит в несколько раз повысить быстродействие - при необходимости программы пишут на ассемблере. Кроме того, RISC-код очень эффективно «распараллеливается».

В чем тогда причина непринятия RISC рынком IBM PC? Во-первых, наборы инструкций CISC и RISC несовместимы. CISC-кодов для PC-программ было написано очень много, а под RISC - на порядки меньше. Создавались эмуляторы, автоматически транслирующие CISC-инструкции в RISC (подобные приемы увеличения скорости обработки используются в современных CISC-процессорах), но работали они настолько медленно, что разница в производительности между настоящими и эмулированными CISC практически сводилась к нулю. Таким образом, эмулировать CISC на RISC-процессорах оказалось неэффективно, а главное - экономически нецелесообразно.

Во-вторых, как следствие сыграла свою роль несовместимость программного обеспечения. Для х86 уже были написаны DOS и набирающая популярность Windows, а различные RISC- процессоры базировались на Unix, причем, как правило, на несовместимых между собой ее версиях. Да и программ для них было куда меньше, особенно пользовательских. В-третьих, несмотря на кажущуюся «упрощенность», RISC-процессоры были дороги - они выпускались сравнительно небольшими партиями для высокопроизводительных рабочих станций, и производители не считали нужным ни экономить на материалах, ни оптимизировать дизайн, ни упрощать чипсет и материнскую плату.

В некоторых сферах (научные ресурсоемкие вычисления), действительно, конкурировать с RISC системам на базе CISC-процессоров было сложно, зато во всех остальных недорогие и достаточно производительные x86-процессоры остались вне конкуренции. Для создания конкуренции Intel в 1991 году Apple, IBM и Motorola основали альянс AIM Alliance, который занялся созданием дешевого, быстрого и современного RISC-процессора. В 1993 году была представлена спецификация платформы PowerPC, а также первый чип - 32-разрядный PowerPC 601, работавший на частотах 50 и 66 МГц.

Название PowerPC пошло от многочиповой RISC-архитектуры IBM POWER, на базе системы команд которой и был основан первый процессор. Чип рассеивал намного меньше тепла, чем его конкурент в лице Intel Pentium, и работал зачастую быстрее его. Вслед за 601 появились 603/604 модели, затем в 1997 - PowerPC 750 (G3) с L2-кэш и ускоренной системной шиной. В 1999 модельная линейка процессоров PowerPC пополнилась PowerPC 7400 (G4) - «конкурентом» Intel Pentium III, представившим поддержку набора команд для векторных вычислений AltiVec (также известного как VMX - Vector Multimedia eXtension - «мультимедийное расширение» PowerPC).

Однако с появлением и совершенствованием архитектуры Intel NetBurst (в Pentium IV) процессоры компании закрыли единственное слабое место, которое позволяло PowerPC выглядеть более выигрышно: заметно ускорив операции с плавающей точкой, х86- процессоры оказались самыми быстрыми и дешевыми на рынке. PowerPC-чипы же остались основой Apple Macintosh и различных встраиваемых систем (благодаря низкой рассеиваемой мощности) - системы на их базе, даже с учетом более дешевого процессора, все равно получались заметно дороже IBM PC совместимых компьютеров. Кардинальным образом ситуацию не изменил и выход нового процессора от IBM - PowerPC 970 (G5). Он позволил лишь приблизиться к x86 фаворитам в некоторых приложениях.

В настоящее время RISC-CPU широко применяются в проблемно-ориентированных компьютерах повышенной вычислительной мощности; очень часто - в

Это устройство, представляющее собой одну или несколько больших интегральных схем(БИС), выполняющих функции процессора ЭВМ.Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).

Существуют процессоры различной архитектуры.

CISC (англ. Complex Instruction Set Computing) - концепция проектирования процессоров, которая характеризуется следующим набором свойств:

· большим числом различных по формату и длине команд;

· введением большого числа различных режимов адресации;

· обладает сложной кодировкой инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

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

Достоинства архитектуры CISC

  1. Компактность наборов инструкций уменьшает размер программ и уменьшает количество обращений к памяти.
  2. Наборы инструкций включают поддержку конструкций высокоуровневого программирования.

Недостатки архитектуры CISC

  1. Нерегулярность потока команд.
  2. Высокая стоимость аппаратной части.
  3. Сложности с распараллеливанием вычислений.

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

Поскольку RISC-инструкции просты, для их выполнения нужно меньше логических элементов, что в конечном итоге снижает стоимость процессора. Но большая часть программного обеспечения сегодня написана и откомпилирована специально для CISC-процессоров фирмы Intel. Для использования архитектуры RISC нынешние программы должны быть перекомпилированы, а иногда и переписаны заново.

Достоинства архитектуры RISC

1.снижение нерегулярности потока команд

2.обогащение пространственным параллелизмом

Недостатки архитектуры RISC

MISC (Multipurpose lnstruction Set Computer). Элементная база состоит из двух частей, которые либо выполнены в отдельных корпусах, либо объединены. Основная часть – RISC CPU, расширяемый подключением второй части – ПЗУ микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на RISC CPU, а команды расширения преобразуются в адрес микропрограммы. RISC CPU выполняет все команды за один такт, а вторая часть эквивалентна CPU со сложным набором команд. Наличие ПЗУ устраняет недостаток RISC, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.

Наименование параметра Значение
Тема статьи: Особенности RISC-архитектуры
Рубрика (тематическая категория) Компьютеры

План

Архитектуры с сокращенным набором команд

1. Особенности RISC-архитектуры.

2. Регистры в RISC-процессорах.

3. Микропроцессор R10000.

Современная технология программирования нацелена на языки высокого уровня (ЯВУ), главная задача которых - облегчить процесс написания программ. Более 90% всœего процесса программирования осуществляют на ЯВУ. К сожалению, операции, характерные для ЯВУ, отличаются от операций, реализуемых машинными командами. Эта проблема получила название семантического разрыва и ведет она к недостаточно эффективному выполнению программ.

Пытаясь преодолеть семантический разрыв между языками высокого уровны (ЯВУ) и операциями, реализуемыми машинными командами, разработчики ВМ расширяют систему команд, дополняя ее командами, реализующими сложные операторы ЯВУ на аппаратном уровне, вводят дополнительные виды адресации и т.п. Архитектуру вычислительных машин, где реализованы эти средства, принято называть архитектуройы с расширенным (полным) набором команд (CISC - Complex Instruction Set Computer).

Системы с CISC- архитектурой обладают рядом недостатков. Это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. Был предпринят комплекс исследований, в результате которых обнаружились интересные закономерности:

1) реализация сложных команд, эквивалентных операторам ЯВУ, требует увеличения емкости управляющего ПЗУ в микропрограммном УУ;

2) в откомпилированной программе операторы ЯВУ реализуются в виде процедур (подпрограмм), в связи с этим на операции вызова процедуры и возврата из нее приходится от 15 до 45% вычислительной нагрузки;

3) почти половину операций в ходе вычислений составляет операция присваивания, сводящаяся к пересылке данных между регистрами, ячейками памяти или регистрами и памятью.

4) подавляющее большинство команд (более 90-95%), составляющие программы, образуют сравнительно компактное подмножество из системы команд машины (20%);

5) сравнительно небольшой набор команд можно эффективно реализовать аппаратными средствами так, что каждая операция выполнялась бы за один (реже два) такта.

Детальный анализ результатов исследований привел к серьезному пересмотру традиционных архитектурных решений, следствием чего стало появление архитектуры с сокращенным набором команд (RISC - Reduced Instruction Set Computer).

Главные усилия в архитектуре RISC направлены на построение максимально эффективного конвейера команд. Это относительно просто можно реализовать для этапа выборки. Необходимо лишь, чтобы всœе команды имели стандартную длину , равную ширинœе шины данных, соединяющей ЦП и память. Унификация времени исполнения для различных команд - значительно более сложная задача, поскольку наряду с регистровыми существуют также команды с обращением к памяти.

Помимо одинаковой длины команд, важно иметь относительно простую подсистему декодирования и управления : сложное устройство управления (УУ) будет вносить дополнительные задержки в формирование сигналов управления. Очевидный путь существенного упрощения УУ - сокращение числа выполняемых команд , форматов команд и данных , а также видов адресации .

Основная причина, препятствующая сведению всœех этапов цикла команды к одному тактовому периоду, - потенциальная крайне важно сть доступа к памяти для выборки операндов и/или записи результатов. Следует максимально сократить число команд, имеющих доступ к памяти. По этой причине целœесообразно доступ к памяти осуществлять только командами ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ и сделать всœе операции, кроме ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ одного типа – ʼʼрегистр-регистрʼʼ.

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

В корне RISC- процессоров лежат три принципа :

1) минимизация длительности такта;

2) завершение выполнения команды в каждом такте;

3) минимизация числа команд за счёт эффективной компиляции.

Особенности RISC-процессора:

1. Система команд включает сравнительно небольшое число простейших операций (не более 128).

2. Большинство команд выполняется за один цикл (по крайней мере, 75% команд);

3. Все команды имеют стандартную однословную длину и фиксированный формат (количество форматов команд не более 4). Это позволяет получать команду из памяти за одно обращение, а затем дешифрировать код операции за один такт.

4. Дешифрация команд реализуется аппаратными средствами.

5. Используется ограниченное число способов адресации (не более 4).

6. Система команд предусматривает команды работы с памятью, копирования и обработки.

7. Команды обработки отделœены от команд обращения к памяти. При выполнении операционных команд аргументы должны располагаться в регистровой памяти и результат также помещается в регистровую память (команды типа ʼʼрегистр-регистрʼʼ (R-команды)).

8. Доступ к памяти только посредством команд ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ;

9. Все команды, за исключением ʼʼЧтенияʼʼ и ʼʼЗаписиʼʼ, используют внутрипроцессорные межрегистровые пересылки;

10. Относительно большой процессорный файл регистров общего назначения.

11. Устройство управления с ʼʼжесткойʼʼ логикой;

Как уже отмечалось, система команд RISC- процессоров значительно меньше набора команд ЭВМ с традиционной архитектурой.

Все операционные команды (для RISC I) являются 3-х адресными R-типа, при их выполнении устанавливается определœенное значение в специальном регистре кода условия. Эти команды имеют формат, представленный на рис. 4.1, а.

Пусть длина команды составляет 32 разряда, тогда:

КОп – код операции – 7 бит;

S 1 – регистр-источник – 5 бит;

S 2 – регистр-источник – 13 бит;

Rd – регистр-приемник – 5 бит;

F 1 и F 2 – флаги признаков – по 1 биту.

В случае если F 1 =0, то признаки результата не устанавливаются. В случае если F 2 =0, то содержимое S 2 интерпретируется как непосредственный операнд.

Формат команды чтения/записи в память приведен на рис. 4.2, б. При обращении к памяти используется только один режим адресации с индексацией.

Реализуются определœенные механизмы работы с подпрограммами. При обращении к подпрограмме вместо запоминания содержимого регистров в стеке или памяти подпрограмме выделяется новый набор регистров (около 140 регистров).

Особенности RISC-архитектуры - понятие и виды. Классификация и особенности категории "Особенности RISC-архитектуры" 2017, 2018.

  • - Особенности архитектуры и скульптуры в культуре Двуречья (Месопотамии).

    Развитие искусства Древнего Египта. Египет - древнейшее государство мира, а его искусство - самый ранний вклад в историю культуры стран Древнего Востока. Шесть тысяч лет тому назад в плодородной долине Нила возникли первые рабовладельческие деспотии, объединённые в... .


  • - Особенности архитектуры Windows 2000

    Архитектура WIN 2000, установка драйверов · Вытесняющая многозадачность (по приоритетам): одновременно можно запускать несколько программ но они выполняются частями поочередно, «вытесняя» одна другую в зависимости от приоритета программы. · Многопотоковость: один... .


  • - Архитектурные принципы организации RISC-процессоров

    Как отмечается в /1, 14, 15/, список команд современного микропроцессора может содержать достаточно большое число команд. Однако не все они используются одинаково часто и регулярно. Это свойство системы команд явилось предпосылкой для развития процессоров с RISC-архитектурой.... .


  • - Особенности архитектуры процессорного ядра SHARC-процессоров второго поколения.

    ADSP-21160 – первый процессор второго поколения SHARC DSP. Процессоры этого семейства разрабатывались для решения задачи повышения производительности вычислений с возможностью сохранения максимальной совместимости кода с процессорами первого поколения SHARC DSP. Выигрыш в... .


  • - Обзор методик оптимизации кода для RISC-процессоров

    Как упоминалось выше, преимущество по производительности при использовании RISC-процессоров за счет "быстрого" выполнения более простых инструкций может быть достигнуто лишь в случае постоянной загрузки исполнительного устройства. При частых его простоях... .


  • RISC-архитектура — компьютер с уменьшенным набором инструкций. Является типом микропроцессорной архитектуры, которая использует небольшой оптимизированный набор инструкций в отличие от предшестувующих типов архитектур с расширенным набором алгоритмических данных. Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC.

    Определение

    Компьютер с ограниченным набором команд - это устройство, чья архитектура набора инструкций (ISA) имеет набор атрибутов, который позволяет ему иметь более низкие циклы на инструкцию (CPI), чем сложная команда, установленная на компьютер (CISC). Общая концепция RISC — это концепция компьютера, который содержит небольшой набор простых и общих алгоритмов, но не расширенный набор сложных и специализированных последовательностей. Другим распространенным признаком RISC является архитектура загрузки/хранения, где доступ к памяти осуществляется только с помощью определенных инструкций.

    История и развитие

    Первые проекты RISC пришли из IBM, Stanford и UC-Berkeley в 70-х и 80-х гг. ХХ века. IBM 801, Stanford MIPS и Berkeley RISC I и II были разработаны с аналогичной философией, которая стала известна как RISC. Некоторые особенности дизайна были характерны для большинства RISC-процессоров:


    Хотя ряд компьютеров 1960-х и 70-х годов являлись предшествующими моделями RISC, современная концепция относится к 1980-м годам. В частности, два проекта в Стэнфорде и Калифорнийском университете масштабируют эту концептуальную идею. Стэнфордский MIPS станет коммерчески успешной моделью, в то время как университет в Беркли дал название всей концепции, коммерциализированной как SPARC. Другим успехом этой эпохи были усилия IBM, которые в конечном итоге привели к Power Architecture. По мере развития этих направлений в конце 1980-х гг., и особенно в начале 1990-х гг., процветало множество подобных проектов, представляющих собой основную силу на рынке рабочих станций Unix, а также встроенные процессоры в лазерных принтерах, маршрутизаторах и аналогичных продуктах.

    Плюсы и минусы архитектуры RISC

    Простейший способ изучить преимущества и уязвимости архитектуры RISC - это сопоставить ее с предшествующей архитектурой CISC. Основная цель архитектуры CISC — завершить задачу за меньшее количество линий сборки. Это достигается за счет создания процессорного оборудования, способного понимать и выполнять ряд операций. Для этой конкретной задачи процессор CISC выпускается с конкретной инструкцией (MULT). При выполнении эта команда загружает два значения в отдельные регистры, умножает операнды в исполнительном модуле и затем сохраняет продукт в соответствующем регистре. Таким образом, вся задача умножения двух чисел может быть завершена одной инструкцией: MULT 2: 3, 5: 2. CISC и RISC-архитектура — предшествующее и последующее архитектурное решение.

    MULT - это то, что известно как «сложная инструкция». Команда работает непосредственно в банках памяти компьютера и не требует, чтобы программист явно вызывал любые функции загрузки или сохранения. Она очень похожа на команду на языке более высокого уровня. Например, если мы допустим, что a представляет значение 2:3, а b представляет значение 5:2, то эта команда идентична выражению C a = a * b.

    Одно из основных преимуществ этой системы заключается в том, что компилятор должен выполнить минимум работы, чтобы перевести формулировку языка высокого уровня в сборку. Поскольку длина кода относительно короткая, для хранения инструкций требуется очень небольшое ОЗУ. При сравнительном анализе CISC и RISC-архитектуры процессоров акцент ставится на реализации сложных инструкций непосредственно в аппаратном обеспечении.

    Подход RISC

    Процессоры RISC используют только элементарные инструкции, которые выполняются за один такт. Таким образом, описанная выше команда MULT может быть разделена на три отдельные команды: LOAD, которая перемещает данные из банка памяти в регистр PROD, который находит произведение двух операндов, расположенных внутри регистров, и STORE, который перемещает данные из регистра в банки памяти. Чтобы выполнить точный ряд шагов, описанных в подходе CISC, программисту необходимо будет закодировать четыре строки сборки:

    LOAD A, 2:3.
    LOAD B, 5:2.
    PROD A, B.
    STORE 2:3, А.

    Изначально это может показаться гораздо менее эффективным способом завершения операции, поскольку существует больше строк кода и для хранения инструкций уровня сборки требуется больше ОЗУ. Компилятор также должен выполнить больше работы, чтобы преобразовать формулировку языка высокого уровня в код этой формы.

    Сравнение CISC и RISC

    Ниже представлены сравнительные данные CISC и RISC-архитектуры:

    • Акцент на аппаратном обеспечении.
    • Включает многочасовые сложные инструкции.
    • Небольшие размеры кода, высокие циклы в секунду.
    • Транзисторы, используемые для хранения сложных инструкций.
    • Акцент на программном обеспечении.
    • Сокращенная инструкция, не требующая большого количества времени.
    • Низкие циклы в секунду, большие размеры кода.
    • Тратит больше транзисторов на регистрах памяти.

    Стратегия RISC вносит некоторые очень важные преимущества. Поскольку каждая команда требует выполнения только одного такта, вся программа будет выполняться примерно в такое же количество времени, что и многоцилиндровая команда MULT. Эти «сокращенные инструкции» RISC требуют меньше транзисторов аппаратного пространства, чем сложные инструкции, оставляя больше места для общих регистров. Поскольку все инструкции выполняются в единое время (например, один такт), возможна конвейерная обработка.

    Характеристика процесса

    Разделение инструкций LOAD и STORE фактически уменьшает объем работы, которую должен выполнить компьютер. После выполнения команды MULT в стиле CISC процессор автоматически стирает регистры. Если один из операндов необходимо использовать для другого вычисления, процессор должен перезагрузить данные из банка памяти в регистр. В RISC операнд останется в регистре, пока на нем не будет загружено другое значение.

    Подход CISC пытается минимизировать количество инструкций для каждой программы, жертвуя количеством циклов на инструкцию. RISC же, наоборот, уменьшает количество циклов за счет инструкций для каждой программы.

    Сложности коммерцеской реализации

    Несмотря на преимущества обработки на основе RISC, прошли десятилетия прежде, чем чипы RISK были коммерчески востребованы. Во многом это было связано с отсутствием поддержки программного обеспечения.

    Хотя линейка Power Macintosh от Apple, в которой использовались чипы на основе RISC и Windows NT, совместима с RISC, Windows 3.1 и Windows 95 были разработаны с учетом процессоров CISC. Многие компании не желали рисковать появляющейся технологией RISC. Без коммерческого интереса разработчики процессоров не смогли изготовить чипы RISC в достаточно больших объемах, чтобы сделать их цену конкурентоспособной.

    Еще одним серьезным препятствием стало присутствие Intel. Несмотря на то, что их чипы CISC стали все более громоздкими и сложными в разработке, Intel обладала ресурсами для разработки мощных процессоров. Хотя чипы RISC могли превзойти усилия Intel в определенных областях, различия не были достаточно велики, чтобы убедить покупателей менять технологии.

    Общее преимущество RISC

    Сегодня Intel x86 является единственным чипом, который сохраняет архитектуру CISC. Это связано прежде всего с продвижением в других областях компьютерной техники. Цена ОЗУ резко снизилась. В 1977 году 1 МБ DRAM стоил около 5000 долларов. К 1994 году такой же объем памяти стоит всего 6 долларов США (с учетом инфляции). Технология компилятора также стала более сложной, так что использование RISC RAM и акцент на программное обеспечение стали идеальными.

    Философия набора инструкций

    Ошибочным пониманием определения RISK является идея того, что процедуры устраняются, что приводит к сокращенному набору алгоритмов. На протяжении многих лет процедуры RISC увеличивались, и в настоящее время многие из них имеют более широкий набор функций, чем CPU CISC.

    Под термином «уменьшенный набор процедур» подразумевается описание того факта, что объем работы, выполняемый каждой инструкцией, сокращается (не более одного цикла памяти) сравнительно с усложненными процедурами CISC, которые требуют десятки циклов для выполнения одной команды. RISC-архитектура обычно имеет отдельные алгоритмы ввода-вывода и работы с данными.

    Формат инструкции

    Большинство архитектур RISC имеют инструкции с фиксированной длиной (обычно 32 бита) и простое кодирование, что значительно упрощает выборку, декодирование и выдачу логики. Одним из недостатков 32-разрядных инструкций является снижение плотности кода, что является неблагоприятным фактором для встроенных вычислений на рабочих станциях и серверах. Архитектуры RISC изначально были предназначены для обслуживания. Для решения этой проблемы несколько архитектур, таких как ARM, Power ISA, MIPS, RISC-V и Adipteva Epiphany, имеют необязательный короткий сокращенный формат инструкции или функцию сжатия команд. SH5 также следует этой схеме, хотя и развился в обратном направлении, добавив более длинные мультимедийные инструкции к оригинальной 16-битной кодировке.

    Использование оборудования

    Для любого заданного уровня общей производительности микросхема RISC, как правило, имеет гораздо меньше транзисторов, предназначенных для основной логики, которая первоначально позволяла дизайнерам увеличивать размер регистров и внутренний параллелизм.

    Другие функции, которые обычно встречаются в архитектурах RISC:

    • Средняя производительность процессора приближается к одной инструкции за цикл.
    • Единый формат инструкции — используется одно слово с кодом операции в одних и тех же позициях для более простого декодирования.
    • Все регистры общего назначения могут использоваться в качестве источника/назначения во всех инструкциях, упрощая разработку компилятора (регистры с плавающей запятой часто сохраняются отдельно).
    • Простые режимы со сложной адресацией, выполняемые последовательностями команд.
    • Несколько типов данных в аппаратном обеспечении (например, байтовая строка или BCD).

    В RISC-конструкциях также представлена модель памяти Гарварда, где команды и данные концептуально разделены. Это означает, что изменение памяти, в которой хранится код, может не повлиять на инструкции, выполняемые процессором (поскольку ЦП имеет отдельный кэш команд и данных), до тех пор, пока не будет выдана специальная инструкция синхронизации. С другой стороны, это позволяет одновременно обращаться к кэшам, что часто повышает производительность.

    Особенности RISC-архитектуры

    На начальном этапе развития компьютерной индустрии программирование проводилось на или машинного кода, что поощряло использование мощных и простых в использовании инструкций. Поэтому разработчики ЦП пытались проектировать алгоритмы, способные выполнять как можно большую работу. С появлением языков более высокого уровня архитекторы начали создавать специальные инструкции для непосредственного внедрения определенных центральных механизмов. Вторая общая цель заключалась в том, чтобы обеспечить все возможные режимы адресации для каждого алгоритма, известного как ортогональность, для облегчения реализации компилятора.

    Отношение к тому времени заключалось в том, что дизайн аппаратного обеспечения был более зрелым, чем дизайн компилятора, поэтому сам по себе также является причиной внедрения частей функциональности в аппаратном или микрокоде, а не только в ограниченном памятью компиляторе (или в его сгенерированном коде). После появления RISC этот подход стал известен как сложные вычисления набора команд, или CISC.

    У процессоров также было относительно мало регистров по нескольким причинам:


    Практическое применение

    RISC-архитектура процессора теперь используются на большом спектре платформ: от смартфонов и планшетных ПК до некоторых из самых высокопродуктивных суперкомпьютеров, таких как компьютер K (лидер списка топ-500 в 2011 г.).

    К началу XXI века большинство низкопрофильных и мобильных систем основывались на архитектуре RISC. Примеры:

    • доминирует на рынке для маломощных и недорогих встроенных систем (200-1800 МГц в 2014 году). Она применяется в ряде большинства Android-систем, Apple iPhone и iPad, Microsoft Windows Phone (бывшая Windows Mobile), устройства RIM (topic.risc.архитектура), Nintendo Game Boy Advance, DS/3DS и Switch.
    • Линия MIPS (в какой-то момент используется во многих компьютерах SGI), а теперь - в PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.архитектура), игровых консолях PlayStation Portable и шлюзах для жилых помещений, таких как Linksys WRT54G .
    • Hitachi SuperH, использующийся в Sega Super 32X, Saturn и Dreamcast (viewtopic.php.risc.архитектура), теперь разработан и продан Renesas как SH4.
    • Atmel AVR используется в разных продуктовых линейках: от портативных контроллеров Xbox до автомобилей BMW .
    • RISC-V (vbulletin.risc.архитектура), пятый Berkeley RISC ISA с открытым исходным кодом, с 32-разрядным адресным пространством, небольшим ядром целочисленного набора команд, экспериментальной «сжатой» ISA для плотности кода и предназначенной для стандартных и специальных расширений.
    • Рабочие станции, серверы и суперкомпьютеры.
    • MIPS (powered.by.smf.risc.архитектура), Silicon Graphics (в 2006 году прекратила создание систем на основе MIPS).
    • SPARC, Oracle (ранее Sun Microsystems) и Fujitsu (phorum.risc.архитектура).
    • Архитектура IBM Power Architecture, применяемая в большинстве суперкомпьютеров IBM, серверах усредненного уровня и терминальных станциях.
    • PA-RISC Hewlett-Packard (phpbb.risc.архитектура), также именуемый как HP-PA (прекращен в конце 2008 года).
    • Alpha, используется в рабочих станциях, серверах и суперкомпьютерах от Digital Equipment Corporation, Compaq и HP (прекращено с 2007 года).
    • RISC-V (powered.by.phpbb.risc.архитектура), пятый Berkeley RISC ISA, с открытым исходным кодом, с 64 или 128-битными адресными пространствами и целым ядром, расширенным с плавающей точкой, атомизацией и векторной обработкой, и разработанный для расширения с инструкциями для сетей, ввода-вывода, обработки данных. 64-битный суперскалярный дизайн Rocket доступен для скачивания.

    Сравнение с другими архитектурами

    Некоторые процессоры были специально разработаны с очень небольшим набором инструкций, но эти конструкции значительно отличаются от традиционных RISC-архитектур, поэтому им были предоставлены другие данные, такие как минимальный набор команд (MISC) или транспортная инициированная архитектура (TTA).

    Архитектуры RISC традиционно имели мало успехов на рынке настольных ПК и товарных серверов, где платформы на базе x86 остаются доминирующей архитектурой процессора. Однако это может измениться, поскольку процессоры на базе архитектуры ARM разрабатываются для систем с более высокой производительностью. Производители, включая Cavium, AMD и Qualcomm, выпустили на базе архитектуры ARM. ARM также сотрудничала с Cray в 2017 году, чтобы создать суперкомпьютер на базе архитектуры ARM. Компания-лидер компьютерной индустрии Microsoft объявила, что в рамках партнерства с Qualcomm в 2017 году планируется поддержка ПК-версии Windows 10 на устройствах на базе Qualcomm Snapdragon. Эти устройства будут поддерживать программное обеспечение Win32 на базе x86 с помощью эмулятора процессора x86.

    Тем не менее помимо настольной арены архитектура ARM RISC широко используется в смартфонах, планшетах и ​​многих формах встроенного устройства. Также Intel Pentium Pro (P6) использует внутреннее RISC-процессорное ядро ​​для своих процессоров.

    В то время как начальные разработки RISC-архитектуры процессора значительно отличались от инновационных проектов CISC, к 2000 году самые высокопроизводительные процессоры в линейке RISC почти не отличаются от самых высокопроизводительных процессоров в линии CISC.