Процессоры 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-процессоры. 

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

Удаленный мониторинг
Запись /proc/net/wireless выглядит как файл, поэтому здесь можно извлекать информацию о состоянии удаленных сетевых клиентов из сети. Программы Signal Level Server (Сервер уровня сигнала ...

Концентраторы
Концентраторы, или хабы, являются центральным звеном в локальных сетях классов 10BaseT и 100BaseT, имеющих топологию «звезда». Фактически хаб представляет собой мультипортовый репитер, то ...

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