Одно из фундаментальных различий между процессорами разного типа находится на самом нижнем уровне: оно заключается в методе обработки процессором команд. В этом отношении процессоры можно разделить на два типа: с полным набором команд (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-процессоры.
За кулисами Windows
Каждый производитель адаптеров предоставляет программное обеспечение для наиболее популярных версий Microsoft Windows, но это не единственная операционная система, которую можно исполь ...
Выводы
В этой главе рассмотрены вопросы, относящиеся к специализированным серверам,
которые могут устанавливаться в создаваемой сети, и необходимое для них
оборудование.
Почти всем без исключения серверам ...
Разработка перспективного плана
Вот самый очевидный совет (которым обычно
пренебрегают): думайте не о сегодняшних нуждах, а о том, что вам понадобится
через 5 или 10 лет. Прокладка кабеля в здании не такая уж простая работа, чтобы ...