Но как построить дешёвую ЭВМ, которая будет выполнять все сложные команды, предназначенные для высокоскоростных и дорогих ЭВМ? Решением возникшей проблемы стала интерпретация. Эта технология была впервые предложена Уилксом в 1951 году. Фактически, данной технологией было положено начало трёхуровневым машинам. Все предыдущие машины имели только два уровня: уровень системы команд, на котором и писались все программы, и цифровой логический уровень, который выполнял команды непосредственно.
IBM создала архитектуру System/360, семейство ЭВМ, различных по цене и производительности. Аппаратное обеспечение без интерпретации использовалось только в самых дорогих моделях.
Простые ЭВМ с интерпретацией команд имели некоторые другие преимущества, в частности, возможность добавлять новые команды при минимальных затратах даже после покупки ЭВМ.
В 1970-е годы рынок ЭВМ быстро развивался, и спрос на дешёвые ЭВМ провоцировал создание процессоров с интерпретацией. В те годы интерпретация использовалась практически во всех ЭВМ, от мини-ЭВМ, до самых больших. Эта тенденция достигла пика своего развития в ЭВМ VAX фирмы Digital Equipment Corporation. У неё было несколько сотен команд и более двухсот способов определения операндов в каждой команде.
В конце 1970-х годов производились массовые эксперименты со сложными интерпретируемыми командами. Разработчики пытались сократить разрыв между языками высокого уровня и машинными языками.
В компании IBM группа разработчиков во главе с Джоном Коком противостояла этой тенденции; они пытались воплотить идеи Сеймура Крея, создав экспериментальную высокоэффективную мини-ЭВМ 801. Практического значения данная разработка не имела, но она явилась толчком для широких исследований и многих разработок в том же направлении.
В 1980 году группа разработчиков в университете Беркли во главе с Дэвидом Паттерсоном и Карло Секвином начала разработку процессоров без использования интерпретации. Новый подход обозначался термином Reduced Instruction Set Computer, в противовес Complete Instruction Set Computer. В 1981 году Джон Хеннеси в Стенфорде разработал и выпустил другую микросхему под названием «Millions of Instructions Per Second», MIPS. Эти две микросхемы со временем развились в SPARC и MIPS соответственно, как мы знаем их сейчас.
Новые разработки существенно отличались от коммерческих процессоров того времени. Основное внимание уделялось простым, быстро выполняющимся командам. Именно в результате этих исследований конструкторы поняли, что для быстродействия ЭВМ важно не столько время выполнения одной команды, сколько количество команд, выполняемых в единицу времени.
В RISC обычно было около 50 команд. На сегодняшний день мало кто считает, что главное различие RICS и CISC состоит в количестве команд, но название сохраняется до сих пор.
Между сторонниками RISC и CISC ведётся борьба. Первые считают, что наилучший способ разработки ЭВМ — включение туда небольшого количества простых команд, каждая из которых выполняется за один цикл тракта данных. В качестве аргумента приводится, что даже если RISC должна выполнить пять команд вместо одной команды CISC, команды RISC выполняются в десять раз быстрее, и в результате RISC выигрывает в скорости.
Исходя из этого можно было бы предположить, что ЭВМ типа RISC должны доминировать. Но в действительности ничего подобного не происходит. Возникает вопрос: почему?
Во-первых, ЭВМ типа RISC были несовместимы с другими ЭВМ, а компании вложили миллиарды долларов в ПО для продукции Intel. Во-вторых, процессоры Intel, начиная с 80486 совмещают принципы RISC и CISC. Они содержат ядро RISC, которое выполняет самые простые и самые распространённые команды за один цикл тракта данных, а по обычной технологии CISC интерпретируются сложные и реже используемые команды. При таком комбинированном подходе производительность процессора всё равно получилась несколько ниже, чем процессора RISC, но первый аргумент довершил дело.
2.1. Определения
2.2. Арифметика
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.