Общие принципы построения RISC-процессоров. Особенности Старнфордской архитектуры

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

1)Построение оптимизирующего компилятора

Его функции: Предотвращение (уменьшение) числа “ломок” конвейера. Конвейер ломается из-за неготовности результата выполнения предыдущей команды или при наличии команд условного и безусловного переходов. Конвейерная выборка команд дает выигрыш в производительности в основном не линейных участках программ. Чтобы конвейер не ломался компилятор должен загружать пустые команды NOP, более интеллектуальный компилятор должен менять последовательности команд (II) т.к. загр команда в конвейер все равно выполнится.

I II

2)Для оптимизации работы аппаратных ресурсов разработчики компилятора использовали метод окрашенных графов

Использование вышеуказанного подхода позволяет резко сократить число РОНов но увеличивает сложность оптимизир-го компилятор

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

Беркл 1)Простота программ-я 2)Min число пересылок инф 3) Min число обращений к внешн ЗУ.

Старн 1)Min аппаратн затраты 2) Max тактовая частота

Недостатки:

Беркл 1)Большие аппаратн затраты 2) Низкая тактовая частота

Старн 1) Сложность компилятора 2) Сложность прогр-я

Современные RISC проц-ры обычно испоьз от 32 до 128 РОНов. Тактовая частота 100MHz – 40-50 MHz.

 

КЭШ-память.

Увеличение объема памяти приводит к уменьш быстродействия время на дешифрацию) .Кроме этого обращение в внешн памяти (выход за пределы кристалла) снижает быстр примерно на порядок по сравн с быстр внутри кристалла (СРU≈2 ГГц, обращение к памяти 125-133 МГц). Подавляющее большинство программ носит циклический характер.

КЭШ память предназначена для хранения последних наиболее часто встречающихся команд. КЭШ-память располагается или внутри кристалла проц или максимально близко к нему и время обр к КЭШ-памяти не порядок быстрее чем к глобальному ДОЗУ.

 

  Копия в КЭШ Инф
В КЭШ В гл ДОЗУ
Чтение Есть Нет Чтение Запись+след слово - Чтение
Запись Есть Нет -(обновл) - Запись Запись

Ао-выбир байтв 16-ти разр слове

А1-выбир какое 16-ти разр слово берем

Пусть КЭШ-память имеет структуру 256 слов на 87 разрядов. Младш часть адреса L (разряды с А2 по А9) возбуждает одну из 87-разр ячеек КЭШ-памяти (8 разр указыв адр одной из 256 ячеек). Старш часть адр m наз-ся тегом и сопровождает данные записываясь в один из банков КЭШ-памяти. Проц обращаясь к памяти выставляет на ША адр , младшая часть адр возбуждает обну из 256 ячеек КЭШ-памяти, старшая часть адр сравнивается с тэгами записанными в 1 и 2 блоках КЭШ-памяти если m≠Tэги это значит копии в КЭШ памяти нет и необх обращаться к глод ДОЗУ (Hit=1), если m=Теги это означает что такой адрес уже выставлялся и инф нах-ся в КЭШ-памяти (Hit=0) и сигнал А1 ч/з мультиплексор S вы-дает на ШД 16-ти разр данные одного из банков КЭШ-памяти. V-признак истинности инф,по сбросу сбрасывается в 0 при созд копии в КЭШ устанавл в 1. S-признак старости или выборки банка.

 

Виртуальная память.

Вирт память создает у польз-ля иллюзию будто бы при небольш (ограниченных) объемах физ ОЗУ, пользов-ль имееточень большие ОЗУ. Это достигается за счет использ внешних носителей инф.(напр HDD,стримеры,CD-ROM,Zip,Flash)

256К – физ ОЗУ

ША – 23-разр -> 232=4 Гб

При орг Вирт памяти физ ОЗУ разбивается на страницы (размер произв опр-ся разработчиком).

1стр-16к=214

Все адр пространство разбивается на страницы.

Nстр=232/214=218=256к страниц.

В физ ОЗУ может нах-ся 16 стр.

М-абс номер стр L-номер ячейки на стр Р-поля признаков

Ассоциативное ОЗУ- ОЗУ в котором входной инф явл-ся данные а выходом явл адрес ячейки где эти данные нах-ся.\Контроллер Вирт памяти имеет столько ячеек АЗУ сколько физ страниц может располагаться в ОЗУ. Процессор выставляет 32-р адр на ША, АЗУ сравнивает М с М* загруженными в физ ОЗУ,если М=М*, то данная страница нах-ся в физ ОЗУ и № этой стр в физ ОЗУ задается полем К(4р), поле К возбуждает эту стр в физ ОЗУ, младш часть адреса L возбуждает ячейку памяти на выбранной странице, формируется сигнал Q который открывает буфер(Эл-т с 3 сост) и подключает физ ОЗУ с СМ. Если М≠М* это означает что данной стр в физ ОЗУ нет. Формируется сигнал Q который вызывает подп-рогр прерывания проц которой требуется загр недостающую стр внешн ЗУ (HDD) в физ ОЗУ, при этом необх-мо сделать следующее:

1)Анализируется поле признаков, проверяется поле v (v по сбросу сбрас в 0 изначально ЗУ пустое).Если осущ запись стр в физ ОЗУ в v устр 1. Чтобы уничножить стр достаточно v=0. Если v=0 значит в физ ОЗУ есть своб стр и на это место можно загр стр из внеш ЗУ .

2)Если все v=1 ,анализир признак старости стр R.Обычно признак старости R периодически сбрас в 0 по таймеру,при обращении к стр R автомат уст в 1.Если R=0 это значит что к данной стр давно не было обращений и на ее место можно загр требуемую стр, при этом возм след вариант:

а)Во время работы со старой стр команда записи не проходила, признак команды записи W=0 означает что точная копия этой стр нах-ся на винте => ее можно стирать в ОЗУ(v=0).

б)Проходила команда записи(w=1) означает что инф в ОЗУ отличается от копии на винте, тогда необходимо переписать инф с данной стр обратно на винт. Затем загрузить новую стр на место старой.

3)При работе со стр анализир-ся признаки приоритетов стр a и b.

a b

 

-только для чтения ОС

-чтение + запись ОС

-чтение польз-ля + все ОС

-чт/запись польз+все ОС

 

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