Процессоры CISC и RISC

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

Чем различаются алгоритмы?

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

Что такое система команд

Система команд (instruction set) – это набор инструкций, встроенных в микросхему.
На заре появления компьютеров системы команд жёстко «зашивались» в процессор. Поскольку такие процессоры не тратили время на интерпретацию команд, они работали чрезвычайно быстро. Но в то же время замена программы требовала внесения изменений в структуру процессора (и наоборот). Чтобы несколько повысить гибкость системы, разработчики компьютеров создали язык программирования, встроенный в управляющую логику процессора, который позволял выполнять те же действия, что и при подаче жёстко встроенных команд и назвали его микрокодом.
Но даже если оставить в стороне гибкость, применение микрокода давало множество преимуществ над жёстко встроенными командами. Во-первых, программы, работающие с микрокодом, могли быть короче применявшихся ранее команд, поскольку могли вызывать более сложные функции, встроенные непосредственно в процессор. Во-вторых, более короткие программы предъявляли меньшие требования к объёму оперативной памяти, что было весьма кстати из-за её дороговизны.
Тем не менее, по мере усложнения системы команд стали возникать проблемы. Не все команды требуют одинакового времени на своё исполнение: понятно, что чем сложнее команда, тем больше времени занимает её исполнение. Поэтому когда ситуация чрезвычайно усложнилась, некоторые производители микросхем попробовали иной подход: размер каждой команды был сделан таким, чтобы она могла быть выполнена за один цикл тактового генератора. По существу, это напоминало модульный подход к вычислениям.
Новый образец микросхемы получил название RISC. Именно тогда микрокод стали называть CISC-кодом. Однако и поныне CISC-код «жив и здоров». Новый подход отнюдь не отменил полностью старый.
Насколько изменилась со временем система команд? Очень мало. У современных процессоров Pentium она во многом сходна с той, что использована в микросхемах 386 (поэтому оба процессора входят в «семейство х86») с дополнительными командами, улучшающими обработку видео информации с помощью средств MMX. В настоящее время функции MMX включены в базовую систему команд Intel

Говоря проще, там, где микросхема CISC выполняет одну сложную задачу, RISC выполняет пять очень простых задач, но, в конце концов, обе микросхемы доведут до конца одно и то же дело. Запутались? Приведем пример. Если вы используете микросхемы CISC и RISC и хотите, чтобы каждая накрыла обеденный стол, вы должны отдавать им приказы различным способом. Микросхеме CISC достаточно приказать: "Накрой стол", — и этого довольно. Так происходит потому, что в поднабор команд Set Table (Накрыть стол) входят все компоненты, необходимые для накрытия стола - так запрограммирована микросхема.
Однако эта же команда собьет с толку микросхему RISC — приказ накрыть стол для нее ничего не значит. Вместо этого вы должны приказать ей: "Поставь на стол тарелки! Разложи столовое серебро! Положи на стол салфетки!" и т.д. В конечном счете, оба процессора выполнят задачу с тем же конечным результатом, однако придут к этому разным путем.
Почему используют два подхода? Они отражают разные методы разработки схем.
Вплоть до середины восьмидесятых годов, в новых моделях процессоров использовали только структуру CISC. По мере роста вычислительной мощности микросхем их конструкция быстро усложнялась. Это было обусловлено тем, что в управляющую логику процессора встраивалось все большее число команд, так что в микросхему приходилось добавлять все большее число транзисторов. Конструкторы микросхем RISC пришли к выводу, что упрощенные команды будут быстрее исполняться и будут не так сложны, как команды в CISC. Это объясняется тем, что для повышения "интеллекта" микросхемы RISC достаточно всего нескольких дополнительных команд. Поэтому такие микросхемы должны быть дешевле.

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

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

Примечание:
Микросхемы RISC используются во многих компонентах сетевого оборудования, и том числе и терминалах Windows, рассматриваемых в гл. 12.

Иногда выбор типа процессора зависит от используемой технологии Для "перемалывания" чисел годятся оба подхода. Однако программное обеспечение разрабатывается для преобразования программ в машинные команды только одного типа, но никогда — двух. Поэтому весьма вероятно, что вам придется выбирать тип микросхемы, ориентируясь на используемый тип программного обеспечения, которое иногда может быть представлено версиями как для RISC-, так и CISC-процессоров.
Например, вы можете приобрести Windows NT, и установить его на сервере с процессором DEC Alpha (микросхема RISC) либо Intel Pentium Pro (микросхема CISC).
Однако на каждой машине будут установлены операционные системы разного типа.
Невозможно просто скопировать уже установленные файлы с одной машины на другую, даже если в остальном отношении оборудование серверов идентично.

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

Вообще, на работу с процессорами RISC рассчитаны операционные системы UNIX и Macintosh. Операционные системы персональных компьютеров, в частности, Windows 9x, рассчитаны на работу с микросхемами CISC. В ранних версиях операционной системы Windows NT, помимо работы с процессорами х86 (CISC), предусматривалась поддержка процессоров RISC. Однако в связи с ограниченным спросом на микросхемы RISC в операционной системе Windows NT 4 поддержка микросхем Power PC и MIPS в настоящее время не предусмотрена. Сегодня в этой системе поддерживается единственная микросхема RISC — процессор Alpha, разработанный фирмой Digital Equipment Corp (ныне входит в Compaq). Другими словами, если вы хотите использовать машины Macintosh, то должны установить в них RISC-процессоры. Если же вам необходимо использовать одну из версий Windows, желательно установить в машинах CISC-процессоры. 

Смотрите также

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

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

Сквозные протоколы и шлюзы
Интернет — это единая глобальная структура, объединяющая на сегодня около 13 000 различных локальных сетей, не считая отдельных пользователей. Раньше все сети, входившие в состав Интернета, испо ...