Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1,3,4,9,10.docx
Скачиваний:
7
Добавлен:
23.12.2018
Размер:
903.89 Кб
Скачать

1. Risc-идеология. История, основные принципы, тенденция развития, "пострисковые" архитектуры: концепции vliw и epic.

RISC (Restricted (reduced) instruction set computer — компьютер с упрощённым набором команд) — архитектура процессора, в которой быстродействие увеличивается за счёт упрощения команд, чтобы их декодирование было проще, а время выполнения  — короче. RISC является основой архитектуры современных рабочих станций и серверов.

Год

RISC-система

Разработ-чик

Описание

1981

MIPS-архитектура

Джон Хеннесси

Максимальная оптимизация конвейерной обработки. Любая из инструкций процессора выполняется за один такт (значительное ускорение работы процессора). Побочный эффект – удаление из набора инструкций умножения или деления.

1982

RISC-I

Дэвид Паттерсон и Карло Секвин

Всего 44 420 транзисторов (CISC-процессорах того времени их 100 тыс.). Всего 32 инструкции. Превосходил по скорости работы любой одночиповый процессор того времени.

1983

RISC-II

40 760 транзисторов. 39 инструкций. 3МГц. 32 разряда. 138 регистров. В три раза быстрее RISC-I.

Коэффициент языка высокого уровня (ЯВУ):

; ;

Intel i860 (также известен как 80860) — RISC-микропроцессор компании Intel, впервые выпущенный в 1989 году.

Структура Intel 860:

Процессор с плавающей точкой поддерживает все скалярные операции, а к векторным конвейерным операциям относятся операции + , - , * , преобразование к целому.

Графический процессор выполняет 64 разрядные логические операции над 8,16,32 разрядными числами.

Rg файлы содержат по 32Rg с плавающей точкой. Это полноразрядный 64 разрядный процессор. Предполагалось, что i860 будет использован в качестве сопроцессора при работе с плавающей точкой.

Модель использования i860:

У i860 вся система работы с ОП была абсолютно идентична x86. ЦП в i860 был 4х ступенчатый. Основное применение для i860 - военное.

Признаки RISC:

1) Сокращенный набор команд.

2) Большинство команд должно выполняться за 1 такт.

3) Все команды обработки оперируют только содержимым регистров; для работы с ОП – команды загрузки/выгрузки.

4) Отказ от микропрограмм, «жесткие» конвейеры, суперскалярность (распараллеливание команд между несколькими исполнительными блоками).

5) В RISC все команды имеют одинаковый формат (простой); мало способов адресации.

6) Много основных регистров (100-200шт.) и большая кэш-память.

7) Оптимизирующий компилятор + оптимизированные библиотеки команд-функций, не входящих в набор команд.

Тенденции развития RISC и пост RISC идеологии:

1) МП, которые максимально старались следовать RISC архитектуре (фирма DEC с МП Alpha).  max простота, никаких инноваций, max быстродействие, min набор команд, лидеры по кэшу.

2) МП, в которые регулярно вводились новые устройства, и которые использовались для коммерческих приложений.  вводились нетрадиционные блоки, например, блок предсказания переходов).

С конца середины 90-х начался отход от классической схемы RISC. Пути развития:

1) Многоядерность: на одном чипе 2 и более ядер, работающих параллельно друг с другом. Параметры таких МП: количество ядер (лидер – фирма Sun); степень самостоятельности ядер (могут быть независимы, а могут быть, например, попарно связаны – общий кэш второго уровня, позволяющий ускорить обмен между ними).

2)Мультипоточность (Multythreading) – выполняют до 8 (и больше) процессов на МП. Признаки: увеличивается количество аппаратных ресурсов; существует аппаратный планировщик, который может гибко перераспределять ресурсы во времени между потоками.

3) VLIW и EPIC.

VLIW (very long instruction word – “очень длинное слово инструкции”). (256/512 бит). VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно. В процессорах VLIW задача распределения решается во время компиляции и в инструкциях явно указано, какое вычислительное устройство должно выполнять какую команду.

Достоинства:

1) Подход VLIW сильно упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор.

2) Поскольку отсутствуют большие и сложные узлы, сильно снижается энергопотребление.

Недостатки:

1) Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров могут быть гораздо длиннее, чем аналогичные программы для традиционных архитектур.

2) Для программиста программирование на уровне машинных кодов для VLIW-архитектур является достаточно сложным.

3) Наборы инструкций VLIW не являются обратно совместимыми между различными поколениями процессоров (в разных версиях разное количество исполнительных устройств).

4) Задержки загрузки данных из иерархии памяти (кэшей, DRAM) не являются полностью предсказуемыми. Из-за этого статическое планирование инструкций загрузки и использования данных становятся крайне сложными.

EPIC (explicitly parallel instruction computing) — микропроцессорная архитектура с явным параллелизмом команд. Одной из целей EPIC был перенос сложной логики планирования инструкций из микропроцессора в компилятор, который бы планировал инструкции статически. Другой целью было увеличить степень параллелизма инструкций за счет больших возможностей компилятора по поиску независимых команд.

Особенности EPIC:

1) В EPIC-архитектуре используется подход, базирующийся на применении команд переменной длины. Команда состоит из слогов длиной 32 разряда каждый. Число этих слогов может меняться от 2 до 16, причем данную архитектуру можно еще расширить – до 32 слогов. Любая команда всегда включает 1 слог заголовка и еще от 1 до 15 слогов, указывающих на операции, которые могут выполняться параллельно. Слог заголовка содержит информацию о структуре команды и ее длине, что облегчает дешифрацию команды переменной длины. Применение заголовка позволяет не проводить предварительного декодирования команд перед их помещением в кэш команд. Отрицательной стороной введения поля заголовка является некоторое увеличение длины команды.

2) Каждая группа из нескольких инструкций называется бандлом (bundle). Каждый бандл может иметь стоповый бит, обозначающий, что следующая группа зависит от результатов работы данной.

3) Для предподкачки данных используется инструкция программной подкачки (software prefetch). Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки, данные уже будут в кеше.

4) Предсказание ветвлений используется, чтобы снизить частоту переходов.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]