Процессоры

Автор: Пользователь скрыл имя, 09 Ноября 2011 в 22:35, доклад

Описание работы

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

Работа содержит 1 файл

Информатика..docx

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

ста».

Исторически первые микропроцессоры, появившиеся в 70-х  годах XX века, имели от-

носительно простую систему команд, что объяснялось небольшими возможностями ин-

тегральной схемотехники. По мере увеличения степени интеграции ИМС разработчи-

ки МП старались расширять систему команд и делать команды более функциональны-

ми, «семантически  нагруженными». Это объяснялось, в  частности, двумя моментами -

во-первых, требованиями экономить память для размещения программ, оставлять

больше памяти под данные и т.д., а во-вторых - возможностью реализовать внутри

кристалла процессора сложные инструкции быстрее, чем  при их программной реализа-

ции.

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

эти также зачастую являлись достаточно сложными. В последствии эти МП назвали CISC

- от Complete Instruction Set Computer - компьютер с полным набором команд или Complex

ISС - со сложным набором команд. Типичным примером CISC-процессоров явля-

ются процессоры семейства x86 корпорации Intel и ее конкурентов (а также Motorola 68K

и другие). Наряду с отмеченными преимуществами процессоры CISC обладали и рядом

недостатков, в  частности - команды оказывались  сильно неравнозначными по времени

выполнения (разное количество тактов), плохо конвейеризовывались, требовали сложного

(и длительного)  декодирования и выполнения.

Для повышения  производительности стали использовать жесткую логику управления,

что отразилось на регулярности и сложности кристаллов (нерегулярные кристаллы менее

технологичны при изготовлении). На кристалле оставалось мало места для РОН и КЭШ.

Кроме того, исследования показали, что производители компиляторов и просто про-

граммисты не используют многие сложные инструкции, предпочитая использовать после-

довательность коротких.

Разработчики  подошли к концепции более  простого и технологичного процессора с

некоторым откатом  назад - к простым и коротким инструкциям. С конца 70-х до середины

80-х годов  появляются проекты таких процессоров  Стэндфордского университета и  уни-

верситета Беркли (Калифорния) - MIPS и RISC.

В основу архитектуры RISC (от Reduced Instruction Set Computer -компьютер с сокра-

щенным набором  команд) положены, в частности, принципы отказа от сложных и много-

функциональных  команд, уменьшения их количества, а  также концентрация на обработку

всей информации преимущественно на кристалле процессора с минимальными обраще-

ниями к памяти.

Основные особенности  архитектуры RISC:

1. Уменьшение  числа команд (до 30-40).

2. Упрощение  и унификация форматов команд.

3. В системе команд преобладают короткие инструкции (например, часто в СК от-

сутствуют умножения).

4. Отказ от  команд типа память-память (например, MOVSB в x86).

5. Работа с памятью сводится к загрузке и сохранению регистров (поэтому другое

название RISC - Load-Store Architecture - архитектура типа «загрузка-сохранение»).

6. Преимущественно  реализуются 3-х адресные команды,  например : add r1, r2, r3 -

сложить r2 с r3 и  поместить результат в r1.

7. Большой регистровый  файл - до 32-64 РОН.

8. Предпочтение  отдается жесткой логике управления. Преимущества архитектуры

RISC:

1. Облегчается  конвейерная, суперскалярная и другие виды параллельной

обработки, планирование загрузки, предвыборка, переупорядочивание и

т.д.

2. Более эффективно  используется площадь кристалла  (больше памяти - РОН, кэш).

3. Быстрее выполняется  декодирование и исполнение команд -

соответственно, выше тактовая частота.

Примерами семейств процессоров с RISC-архитектурой могут служить DEC Alpha ,

SGI MIPS, Sun SPARC и другие. Большинство современных суперскалярных и VLIW-

процессоров (в  т.ч. и Intel) либо имеют архитектуру RISC, либо реализуют похожие на

RISC принципы, либо - поддерживают CISC-инструкции, но внутри  транслируют их в

RISC-подобные  команды для облегчения загрузки  конвейеров и решения других  задач.

4.5. Устройства  управления процессоров

4.5.1 Назначение  и классификация устройств управления

Как уже упоминалось  ранее, устройство управления процессора отвечает за выполне-ние собственно команд процессора, включая основные этапы (загрузка, декодирование,

обращение к  памяти, исполнение, сохранение результатов), управление выполнением про-

55

грамм (организация  ветвлений, циклов, вызов подпрограмм, обработка прерываний и др.),

а также - управляет  работой процессора в целом.

Устройства  управления классифицируются в зависимости  от типа процессора, или -

типа управления исполнением команд, который в  нем применяется :

- устройства управления процессора общего назначения или -спецпроцессора;

- устройства управления с поддержкой конвейера команд, без такой поддержки, или

- с поддержкой  многопотокового конвейера ( в суперскалярных процессорах), а

также - устройство управления процессора с длинным  командным словом;

- устройство управления с упорядоченным исполнением команд, неупорядоченным

исполнением, выдачей, или завершением команд (с поддержкой динамической оп-

тимизации).

Кроме того, можно  выделить устройства управления, построенные  на базе памяти

микропрограмм (с программируемой логикой), либо - на базе триггерных автоматов (с же-

сткой логикой).

Мы рассмотрим организацию устройства управления (а вернее - пары устройство

управления - операционное устройство) для очень простого учебного RISC - процессора, а

затем - рассмотрим способы ускорения работы процессора, основанные на конвейериза-

ции и распараллеливании команд.

4.5.2 Архитектура  простого RISC - процессора

Рассмотрим  архитектуру простого RISС-процессора на примере некоторого процессо-ра ARC («A RISC Computer») с системой команд, являющейся подмножеством системы

команд процессора SPARC. / 16 /

Процессор является 32-разрядным (то есть обрабатывает 32-битовые  слова в сво-

ем АЛУ), разрядность  его команд - также 32 бита. Адресуемая память - 232 байт или

230 команд. Большинство  команд процессора – трехадресные. Все команды можно

разделить на следующие  группы:

1. Команды работы  с памятью : ld (load - загрузка) и st (store - сохранение).

2. Логические  команды : and, or, nor, srl (сдвиг),

sethi rd, imm22 (установка старших 22 бит регистра в заданные значения).

3. Арифметическая  команда : add (сложение).

4. Команды управления: ветвления be, bneg, bcs, bvs, ba (безусловный

переход), все  ветвления в формате be imm22 (относительное смещение), команда call

imm30 -вызов подпрограммы, jmpl (ret) - возврат из подпрограммы.

56

Регистры процессора: 32 РОН, IR (instruction register -регистр команды), PC (program

count e r - п р о г р а м м н ы й счетчик), PSR (Program Status Register - слово состояния

программы - 4 флага). Все регистры - 32- разрядные.

В процессоре поддерживаются следующие режимы с адресации:

непосредственная регистровая;

косвенная регистровая;

косвенная регистровая по базе (индексная).

Адресная арифметика в процессоре реализуется на том  же АЛУ, что и основные

операции. АЛУ  построено на таблицах истинности, а также включает программируемый

нетактируемый сдвигатель на базе мультиплексора. АЛУ выполняет до 16 арифметиче-

ских или логических операций. Форматы команд приведены на рис. 4.7

.

Микроархитектура  процессора представлена на рис. 4.8. На рисунке использованы

следующие обозначения:

Data Section - операционное устройство (ОУ);

Control Section - устройство управления (УУ);

Main Memory - основная память (ОП);

Scratchpad-сверхоперативное ОЗУ;

Рис. 4.7

C BUS MUX - шинный мультиплексор C для выбора источника данных для

регистра-приемника  из памяти или с выхода АЛУ;

в регистре команд ir:

rd - адрес регистра-приемника, rs1, rs2 - адреса регистров источников, i - флаг

непосредственной  адресации, ops - код операции;

MIR - регистр микрокоманды (РМК);

мультиплексоры A, B, C - выбирают адрес соответствующего регистра либо из ir,

либо - из соответствующего поля РМК в зависимости от флагов MUXA, MUXB,

MUXC;

Control Store (CS) - память микропрограмм (ПМП);

CSAI - счетчик адреса микропрограммы;

CS Address MUX - мультиплексор адреса микропрограммы (3 канала –Next сле-

дующий адрес  из CSAI, Jump -переход по адресу, указанному в РМК, Decode - пе-

реход к микро-подпрограмме реализации команды);

CBL - логика управления ветвлением; %psr - регистр состояния программы, хра-

нит 4 флага результата последней операции: n-netgative (отрицательное число), zzero

(ноль), v-overflow (переполнение), с-carry (перенос);

АСК - подтверждение о готовности памяти для инкремента адреса микрокоманды;

в РМК также  отметим поля: RD/WR - чтение/запись памяти, ALU - код операции

АЛУ, JUMP ADDR - адрес перехода в микропрограмме.

Информация о работе Процессоры