Исследование RISC архитектуры процессоров

Автор: Пользователь скрыл имя, 06 Января 2012 в 22:53, курсовая работа

Краткое описание

Особое значение ЭВМ состоит в том, что впервые с их появлением человек получил орудие для автоматизации процессов обработки информации. Во многих случаях ЭВМ позволяют существенно повысить эффективность умственного труда. Внедрение ЭВМ оказало большое влияние на многие области науки и техники, вызвало процесс из математизации и компьютеризации.

Оглавление

Введение 2
Арифметико-Логическое устройство 3
1. Назначение и состав АЛУ 3
2. Структура АЛУ 4
CISC и RISC архитектуры 5
Характерные особенности RISC-процессоров 8
Развитие RISC-архитектуры 9
Исследование процессоров с сокращенным набором команд 11
Заключение 16
Список использованных источников 17

Файлы: 1 файл

RISC.docx

— 96.96 Кб (Скачать)

     Характерные особенности RISC-процессоров

  1. Фиксированная длина машинных команд (например, 32 бита) и простой формат команды.
  2. Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
  3. Большое количество регистров общего назначения (32 и более).
  4. Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
  5. Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

     Начало  развития RISC-архитектуры

     Первая  система, которая может быть названа RISC-системой, — суперкомпьютер CDC 6600, который был создан в 1964 году, за десять лет до появления соответствующего термина. CDC 6600 имел RISC-архитектуру всего  с двумя режимами адресации («регистр+регистр» и «регистр+непосредственное значение») и 74 кодами команд (тогда как Intel 8086 имел 400 кодов команд). В CDC 6600 было 11 конвейерных устройств арифметической и логической обработки, а также пять устройств загрузки и два устройства хранения. Память была многоблочной, поэтому все устройства загрузки-хранения могли работать одновременно. Базовая тактовая частота/частота выдачи команд была в 10 раз выше, чем время доступа к памяти. Джим Торнтон и Сеймур Крэй, разработчики CDC 6600, создали в нём мощный процессор, позволявший быстро обрабатывать большие объемы цифровых данных. Главный процессор поддерживался десятью простыми периферийными процессорами, выполнявшими операции ввода-вывода и другие функции ОС. Позднее появилась шутка, что термин RISC на самом деле расшифровывается как «Really invented by Seymour Cray» («На самом деле придуман Сеймуром Крэем»). Еще одна ранняя RISC-машина — миникомпьютер Data General Nova, разработанный в 1968 году.

     Первая  попытка создать RISC-процессор на чипе была предпринята в IBM в 1975. Эта  работа привела к созданию семейства  процессоров IBM 801, которые широко использовались в различных устройствах IBM. 801-й в конце концов был выпущен в форме чипа под именем ROMP в 1981 году. ROMP расшифровывается как Research OPD (Office Product Division) Micro Processor, то есть «Исследовательский микропроцессор», разработанный в Департаменте офисных разработок. Как следует из названия, процессор был разработан для «мини»-задач, и когда в 1986 году IBM выпустила на его базе компьютер IBM RT-PC, он работал не слишком хорошо. Однако за выпуском 801-ого процессора последовало несколько исследовательских проектов, в результате одного из которых появилась система POWER.

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

     Проект RISC в Университете Беркли был начат  в 1980 году под руководством Дэвида Паттерсона и Карло Секвина. Исследования базировались на использовании конвейерной обработки и агрессивного использования техники регистрового окна. В обычном процессоре имеется небольшое количество регистров и программа может использовать любой регистр в любое время. В процессоре, использующем технологии регистрового окна, очень большое количество регистров (например, 128), но программы могут использовать ограниченное количество (например, только 8 в каждый момент времени).

     Программа, ограниченная лишь восемью регистрами для каждой процедуры, может выполнять  очень быстрые вызовы процедур: «окно» просто сдвигается к 8-регистровому блоку  нужной процедуры, а при возврате из процедуры сдвигается обратно, к  регистрам вызвавшей процедуры. (В обычном процессоре большинство процедур при вызове вынуждены сохранять значения некоторых регистров в стеке для того, чтобы пользоваться этими регистрами при исполнении процедуры. При возврате из процедуры значения регистров восстанавливаются из стека).

     Проект RISC произвел на свет процессор RISC-I в 1982 году. В нем было всего 44 420 транзисторов (для сравнения: в наиболее современных CISC-процессорах того времени их было около 100 тыс.). RISC-I имел всего 32 инструкции, но превосходил по скорости работы любой одночиповый процессор того времени. Через год, в 1983 году, был выпущен RISC-II, который состоял из 40 760 транзисторов, использовал 39 инструкций и работал в три раза быстрее RISC-I.

     Практически в то же время, в 1981 году, Джон Хеннесси начал аналогичный проект, названный  «MIPS-архитектура» в Стэнфордском университете. Создатель MIPS практически полностью сфокусировался на конвейерной обработке, попытавшись «выжать всё» из этой технологии. Конвейерная обработка использовалась и в других продуктах, некоторые идеи, реализованные в MIPS, позволили разработанному чипу работать значительно быстрее аналогов. Наиболее важным было требование выполнения любой из инструкций процессора за один такт. Это требование позволило конвейеру работать на гораздо бо́льших скоростях передачи данных и привело к значительному ускорению работы процессора. С другой стороны, исполнение этого требования имело негативный побочный эффект в виде удаления из набора инструкций таких полезных операций, как умножение или деление.

     В первые годы попытки развития RISC-архитектуры  были хорошо известны, однако оставались в рамках породивших их университетских  исследовательских лабораторий. Многие в компьютерной индустрии считали, что преимущества RISC-процессоров  не проявятся при использовании  в реальных продуктах из-за низкой эффективности использования памяти в составных инструкциях. Однако с 1986 года исследовательские проекты RISC начали выпускать первые работающие продукты.

     Последние годы

     Как оказалось в начале 1990-х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счёт использования суперскалярного и VLIW-подхода, а также за счёт возможности серьёзного повышения тактовой частоты и упрощения кристалла с высвобождением площади под кэш, достигающий огромных емкостей. Также RISC-архитектуры позволили сильно снизить энергопотребление процессора за счёт уменьшения числа транзисторов.

     Первое  время RISC-архитектуры с трудом принимались  рынком из-за отсутствия программного обеспечения для них. Эта проблема была быстро решена переносом UNIX-подобных операционных систем (SunOS) на RISC-архитектуры.

     В настоящее время многие архитектуры  процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel 486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.

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

     Исследование  процессоров с  сокращенным набором  команд

     Для того чтобы продемонстрировать развитие процессоров на основе RISC архитектуры, необходимо воспользоваться конкретным примером. Рассмотрим различные поколения процессоров семейства MIPS.

     MIPS (англ. Microprocessor without Interlocked Pipeline Stages) — микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии с концепцией проектирования процессоров RISC (то есть для процессоров с сокращенным набором команд). Ранние модели процессора имели 32-битную структуру, позднее появились его 64-битные версии. Существует множество модификаций процессора, включая MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32 и MIPS64, из них действующими являются MIPS32 (для 32-битной реализации) и MIPS64 (для 64-битной реализации). MIPS32 и MIPS64 определяют как набор регистров управления, так и набор команд.

     Процессоры MIPS значительно повлияли на более поздние RISC-архитектуры, в частности на Alpha.

     Семейство процессоров с  архитектурой MIPS

     Сравнительная таблица:

Модель Частота (МГц) Год Транзисторы (млн.) Размер  кристалла (мм²) Мощность (Вт) Кэш данных (KБ) Кэш инструкций (KБ) Кэш 2го уровня Кэш 3го уровня
R2000 8—16.67 1985 0.11 ? ? 32 64 НЕТ НЕТ
R3000 12—40 1988 0.11 66.12 4 64 64 0-256 Kб Внешняя НЕТ
R4000 100 1991 1.35 213 15 8 8 1 Mб Внешняя НЕТ
R4400 100—250 1992 2.3 186 15 16 16 1-4 Mб Внешняя НЕТ
R4600 100—133 1994 2.2 77 4.6 16 16 512 Kб Внешняя НЕТ
R4700 133 1996 ? ? ? 16 16 Внешняя НЕТ
R5000 150—200 1996 3.7 84 10 32 32 1 Mб Внешняя НЕТ
R8000 75—90 1994 2.6 299 30 16 16 4 Mб Внешняя НЕТ
R10000 150—250 1996 6.7 299 30 32 32 512 Kб—16 Mб Внешняя НЕТ
R12000 270—400 1998 6.9 204 20 32 32 512 Kб—16 Mб Внешняя НЕТ
RM7000 250—600 1998 18 91 10, 6, 3 16 16 256 Kб Внутренняя 1 Mб Внешняя
R14000 500—600 2001 7.2 204 17 32 32 512 Kб—16 Mб Внешняя НЕТ
R16000 700—1000 2002 ? ? 20 64 64 512 Kб—16 Mб Внешняя НЕТ
R24K 750+ 2003 ? 0.83 ? 64 64 4-16 Mб Внешняя НЕТ
 

     Первым  коммерческим микропроцессором с архитектурой MIPS был микропроцессор R2000, представленный в 1985 году. В нём были реализованы  операции умножения и деления, которые  выполнялись за несколько тактов. Устройство умножения и деления  не было тесно интегрировано в  ядро процессора, хотя и размещалось  на том же кристалле; по этой причине система команд расширена инструкциями для загрузки результатов умножения и деления в регистры общего назначения, эти инструкции блокировали конвейер.

     Рис. 2 Конвейер MIPS, проходящий пять стадий (получение инструкции, декодирование, исполнение, доступ к памяти и вывод)

     Микропроцессор R2000 мог быть загружен как в режиме big-endian, так и в режиме little-endian, содержал 32-разрядных регистра общего назначения. Подобно процессорам AMD 29000 и Alpha микропроцессор R2000 не имел отдельного регистра флагов условий, так как разработчики посчитали его потенциальным «узким местом». Следует отметить, что счётчик команд непосредственно недоступен.

     Микропроцессор R2000 поддерживал подключение до четырёх  сопроцессоров, один из которых является встроенным и обеспечивает работу с  исключениями, а также управление памятью (MMU). В случае необходимости  в качестве ещё одного сопроцессора можно было подключить микросхему R2010, арифметический сопроцессор, который  содержал тридцать два 32-разрядных  регистра, которые можно было использовать как шестнадцать 64-разрядных регистров  для работы с числами двойной  точности. Следующим в семействе  стал R3000, который появился в 1988 году. Он содержал кэш-память данных объёмом 64 КБ (R2000 — 32 КБ). Кроме того, R3000 обеспечивал  когерентность кэш-памяти при работе в мультипроцессорных конфигурациях. Несмотря на то, что в поддержке  мультипроцессорности R3000 имеется ряд  недостатков, на базе R3000 было создано  несколько работоспособных многопроцессорных  систем. Как и для R2000, для R3000 был  создан арифметический сопроцессор  в виде отдельной СБИС: R3010. Микропроцессор R3000 стал первым коммерчески успешным процессором с архитектурой MIPS, было изготовлено более миллиона процессоров. Ускоренная версия R3000, работающая на тактовой частоте 40 МГц, названная R3000A, достигла производительности в 32 VUPs (VAX Unit of Performance). Дальнейшее развитие R3000A, микропроцессор R3051, работающий на частоте 33,8688 МГц был использован в игровой приставке Sony PlayStation. Другие производители также представили процессоры, совместимые с R3000A: в Performance Semiconductor был разработан R3400, в то время как компания IDT создала R3500, оба упомянутых процессора имели в интегрированный математический сопроцессор R3010. Первой системой на кристалле, использующей процессор с архитектурой MIPS, стала разработка R3900 фирмы Toshiba; данная микросхема использовалась в портативном компьютере, работавшем под управлением Windows CE. Был разработан радиационно-устойчивый вариант R3000 с интегрированным R3010, предназначенный для применения в космических аппаратах, который получил название Mongoose-V.

Информация о работе Исследование RISC архитектуры процессоров