Арифметическо-логическое устройство (АЛУ). Структура АЛУ. Регистровая АЛУ разрядно-модульного типа, страница 21

-  неэффективное использование команд;

-  чрезмерный объём памяти;

-  высокая сложность компилятора.

Поэтому имеются следующие направления:

1.  Создание вычислительных машин, процессоры которых имеют систему команд близкую к языкам высокого уровня (CISC – процессор).

2.  МП с ограниченным набором команд (RISC)

Это взаимодополняющие структуры.

          CISC:

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

2.  Повысить эффективность выполнения команд (сложные команды реализуются на микрокомандном уровне со всеми его достоинствами).

3.  Обеспечить возможность применения гораздо более сложных языков высокого уровня.

Паскаль

Научная работа

Фортран

Учебная программа

Паскаль

Системная программа

Си

Системная программа

SAL

Системная программа

Assign

74

65

45

38

45

Присвоение

Loop

4

3

5

3

4

Ветвление

Call

1

3

15

12

12

Вызов к/пр

If

20

11

29

43

36

Условие

Goto

2

9

-

3

-

Безусловный переход

Другие

-

7

6

1

6

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

          В процессе выполнения команд наиболее часто встречается оператор обработки скалярного перемножения (70% от общего количества).

          Из эквивалентных таблиц получено, что каждая команда в среднем считывает из памяти 0,5 операнда, а из РОН – 1,4 операнда, т.е. необходимо создавать архитектуру, в которой имеется очень быстрый доступ к РОН.

Вызов процедур

          Средняя длина процедуры определяется количеством вложений. Вложение (В) – это единица, эквивалентная одной машинной команде.

          Статистика показывает, что до 3-х вложений – это 70 % всех операторов, до 5 вложений – 30%, до 7 – 20%.

          Выводы:

1.  RISC архитектура. В процессе её проектирования требует большого количества регистров и разработки алгоритмов оптимизации распределения этих регистров между операторами для хранения операндов.

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

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

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