Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12-12-2013_11-21-32 / Посовие_1.docx
Скачиваний:
92
Добавлен:
10.05.2015
Размер:
217.48 Кб
Скачать

4. Микропроцессоры класса risc

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

  1. Система команд микропроцессора должна содержать минимальное количество наиболее часто используемых простейших инструкций. Все команды должны иметь фиксированную длину и простой формат. Например, в микропроцессорах Alpha все команды имеют размер 4 байта. Одинаковая длина команд позволяет реализовать декодирование команд параллельно (поскольку известна их длина), в то время как в CISC микропроцессорах декодирование следующей команды может быть начато только после окончания декодирования предыдущей, так как длина этих команд различна.

  2. Для операций с памятью должны использоваться только специализированные команды — чтения или записи. Операции вида «прочитать-изменить-записать» в системе команд отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (так называемая load-and-store архитектура).

Операции обработки данных реализуются только в формате “регистр - регистр“, при этом операнды выбираются из регистров микропроцессора, и результат операции записывается также в регистр; обмен между регистрами и памятью выполняется только с помощью команд загрузки\записи.

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

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

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

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

Второе важное усовершенствование RISC-процессоров, целиком вытекающее из Load/Store-архитектуры, - увеличение числа регистров общего назначения. Это вытекает из того соображения, что обработка операндов происходит только тогда, когда эти операнды находятся в регистрах, и поэтому с целью уменьшения обращения к памяти целесообразно увеличить количество этих регистров общего назначения. Как правило, количество регистров общего назначения в RISC-микропроцессорах - не меньше 32, причем почти все эти регистры полностью равноправны, что позволяет компилятору свободно распоряжаться ими, сохраняя большую часть промежуточных данных именно в этих регистрах. Для сравнения: в классическом микропроцессоре x86 IA-32 всего восемь регистров общего назначения.

Окончательно понятие RISC микропроцессоров в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.

Первая попытка создать RISC-процессор на чипе была предпринята в компании IBM в 1975. Эта работа привела к созданию семейства процессоров IBM 801, которые широко использовались в различных устройствах IBM.Впоследствии за выпуском 801-ого процессора последовало несколько исследовательских проектов, в результате одного из которых появилась система POWER.

Проект RISC в Университете Беркли был начат в 1980 году под руководством Дэвида Паттерсона и Карло Секвина. В результате работы над этим проектом в 1982 году был разработан микропроцессор RISC-I. В нем было всего 44420 транзисторов (для сравнения: в наиболее современных CISC-процессорах того времени было около 100000 транзисторов). RISC-I имел всего 32 инструкции, но превосходил по скорости работы любой одночиповый процессор того времени. Через год, в 1983, был выпущен RISC-II, который состоял из 40760-ти транзисторов, использовал 39 инструкций и работал в 3 раза быстрее RISC-I.

В первые годы попытки развития RISC-архитектуры были хорошо известны, однако оставались в рамках породивших их университетских исследовательских лабораторий. Многие в компьютерной индустрии считали, что преимущества RISC-процессоров не проявятся при использовании в реальных продуктах из-за низкой эффективности использования памяти в составных инструкциях. Однако с 1986 года исследовательские проекты RISC начали выпускать первые работающие продукты. В настоящее время самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC), Digital Equipment (Alpha - Alpha 21164, 21264, 21364 – к сожалению микропроцессоры Alpha в настоящее время не выпускаются), Mips Technologies (семейство Rxx00), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

Выше было показано, что первый процессор, который можно считать RISC-процессором, был разработан при создании суперкомпьютера CDC 6600. Поскольку одним из основных разработчиков этого процессора был Сеймур Крэй, то позднее появилась шутка, что термин RISC на самом деле расшифровывается как “Really Invented by Seymour Cray” (на самом деле придуман Сеймуром Крэйем).

Соседние файлы в папке 12-12-2013_11-21-32