Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 4 / ЛЕКЦИИ1.DOC
Скачиваний:
44
Добавлен:
16.04.2013
Размер:
1.48 Mб
Скачать

Оптимальное использование регистров rg

Т.к. самым распространённым является оператор присвоения, то наиболее целесообразно используемые операнды хранить в непосредственной близости к процессорному элементу. В качестве ЗУ для этих операндов целесообразно использовать РОН, которые обладают максимальным быстродействием, т.к. по сравнению с кэш-памятью не требуется полноразрядная адресация, дешифрация полного адреса и использование УУ памятью, которое необходимо для определения в какую область памяти необходимо обращаться (кэш-память, основная память, РОН и долговременная память), те. При использовании РОН получается максимальное быстродействие. Для максимального использования РОН требуется рационально распределить регистры между операндами. Эта задача в RISC процессоре решается либо программно, либо аппаратно. Программный вариант основан на использовании компилятора, который обеспечивает программную загрузку регистра теми переменными, которые в течение определённого периода времени будут использоваться максимально чисто. Программный вариант подразумевает наличие довольно сложных программ с прогнозом – какие операторы будут использованы наиболее часто или “самодублирующихся программ”, которые производят анализ в процессе выполнения программы реального состояния РОН и выбирают наиболее часто встречающуюся комбинацию операндов в РОН, чтобы при повторном запуске использовать наиболее рациональное распределение операндов по регистрам.

Аппаратный – простое наращивание РОН для того, чтобы поместить них наибольшее количество операндов.

Требования, предъявляемые к операндам в центральном процессоре:

  1. Выборка команд: ЦП (центральный процессор) должен считать команду из памяти и разместить её в действующем регистре.

  2. Интерпретация команд – разложение её на последовательность микрокоманд.

  3. Выборка данных – считывание данных и размещение их в соответствующих регистрах.

  4. Внешние команды (выполнение микропрограммы).

  5. Размещение результата.

Для выполнения вышеуказанных операций используются программно доступные RG и RG флагов (RG управления и состояния).

RG состояния – используют УУ для организации работы ЦП, а также

управление программами или ОС (операционной системой).

РОН подразделяются на:

  • Универсальные (для хранения адреса и данных и могут быть использованы для вычисления в процессе выполнения кода операции);

  • адреса;

  • RG данных;

  • RG флагов.

При использовании RG в коде операции должно быть обязательно указано какому типу RG относится конкретное обращение.

Выбор необходимого количества а) RG, а также RG б) и в) связано с архитектурой вычислительной машины (ВМ) и ориентацией ВМ на конкретном классе задач, на которые она предназначена. Длина RG на сегодняшний день от 8 (RG составляющих) до 32 разрядов. Увеличение RG обеспечивает снижение количества обращения к памяти. Длина RG определена адресным словом (не всегда).

Аппаратный подход к построению рон

Большинство операций требуют обращения к операнду, который представляет собой скалярную переменную. Хранение этих операндов в РОН позволяет значительно повысить динамические характеристики вычислительной системы.

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

Решение этой задачи основано на:

  1. Глубина инициализации процедуры колеблется в сравнительно незначительных пределах (от 3 до 8).

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

Для решения этой задачи в RISC процессоре (RISC1 и RISC2) используются несколько регистров, распределёнными между соседними процессорами. Вызов одной процедуры автоматически переключает центральный процессор на другое регистровое окно, вместо того, чтобы сохранять информацию в памяти. Окна для соседних процессоров пересекаются, что позволяет передавать данные от одной процедуры к другой.

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

Достоинства: минимальное количество циклов обращения к памяти, т.к. результаты операций как предыдущей, так и последующей хранятся в РОН.

Недостатки: дополнительные аппаратные затраты.

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

По статистике только 1% обращений требует сохранения информации в стековой области памяти.

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

Для решения этого вопроса используется 2 варианта:

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

  2. В состав процессора вводятся дополнительные регистры для хранения глобальных переменных. Эти регистры доступны для всех процедур.

Применение регистровых окон позволяет сократить время выполнения программ, т.к. все необходимые данные хранятся в регистровом файле.

КЭШ-память в отличие от данных окон требует полноразмерную адресацию, т.е. эквивалентную адресацию к общей памяти.