Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСС-всё(ЭКЗАМЕН).docx
Скачиваний:
36
Добавлен:
09.12.2018
Размер:
8.84 Mб
Скачать

1.3.5. Оценка эффективности использования созу в процессоре.

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

Начнем с СОЗУ с прямой адресацией в качестве внутренней памяти процессора.

Условное изображение функциональной схемы:

Рис. 1.3.5.1

В этой схеме РОНы играют роль нескольких «аккумуляторов». Такую ситуацию мы рассматривали.

Адресация прямая, т.е. в командах должен быть указан адрес (адреса), но так как количество аккумуляторов значительно меньше ячеек ОЗУ, то адреса аккумуляторов являются укороченными. Соответственно, типичные форматы команд:

Рис. 1.3.5.2

Пусть требуется вычислить , причем a, b, c, d, e находятся в ОЗУ. Тогда получаем для двухадресной машины:

Таблица 1.3.5.1

1

Передача

P1

A

а РОН1

1

Деление

A

B

a/b (A)

2

Деление

P1

B

a/b РОН1

2

Умножение

B

C

bc (B)

3

Передача

P2

B

b РОН2

3

Сложение

A

B

a/b+bc (A)

4

Умножение

P2

C

bc РОН2

4

Умножение

D

E

de (D)

5

Сложение

P1

P2

a/b +bc РОН1

5

Вычитание

A

D

(A) – (D) (A)

6

Передача

P2

D

d РОН2

7

Умножение

P2

E

de РОН2

8

Вычитание

P1

P2

a/b+bc-de РОН1

Модификация для сохранения исходной информации добавляет 3+6=9 обращений.

В первом случае требуется 6 обращений к ОЗУ за операндами и 8 обращений за командами итого 14 обращений + 15 к СОЗУ.

Во втором случае – 5 обращений за командами плюс 3 обращения в каждой команде (чтение – запись операндов) – итого 20 обращений.

Эффективность использования ЭВМ при решении задач с большим количеством обращений к оперативной памяти будет ещё выше. Использование всего 16 РОНов в ЭВМ позволяет в итоге повысить быстродействие в 2 раза.

<72>

Рассмотрим теперь эффект от применения стекового СОЗУ. Команды используют подразумеваемые адреса, т.е. длина команды может быть еще уменьшена (команды одноадресные и безадресные).

Рис. 1.3.5.3

Однако для эффективного использования стекового СОЗУ в систему команд ЭВМ включаются команды, не имеющие аналогов в ЭВМ с обычной структурой. Это команды: «дублирование», осуществляющая передачу слова из Р1 в Р2 (содержимое Р2 и далее сдвигается вниз, содержимое Р1 остается неизменным, а в Р2 также помещается (Р1)); «реверсирование» – команда перестановки содержимого пары соседних регистров (обычно Р1 и Р2) без какого-либо продвижения информации по стеку. Последняя операция позволяет эффективно работать в условиях использования команд умножения и деления.

Рассмотрение того же примера вычисления: , в условиях использования одноадресных команд показывает, что можно обойтись минимальным (5 раз) числом обращений к ОЗУ, тогда как при классической структуре требуется более чем в 2 раза больше.

Таблица 1.3.5.2

1

Вызов b

b

-

-

2

Дублирование

b

b

-

3

Вызов а

a

b

b

4

Деление

a/b

b

5

Реверсирование

b

a/b

6

Вызов с

c

b

a/b

7

Умножение

bc

a/b

-

8

Сложение

a/b+bc

-

-

9

Вызов d

d

a/b+bc

-

10

Вызов е

e

d

a/b+bc

11

Умножение

de

a/b+bc

-

12

Реверсирование

a/b+bc

de

-

13

Вычитание

a/b+bc-de

-

-

Р1

Р2

Р3

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

В системах управления они ещё менее эффективны из-за жесткой структуры логики памяти.

В целом о недостатках:

  1. необходимость дублирования увеличение требуемого количества регистров и команд;

  2. жесткая структура стека приводит к неудобствам в работе в системах обработки данных и управления (например, при переменной длине слов).

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

<73>

В завершение – об использовании АСОЗУ. Как оно работает, мы рассматривали ранее. Функциональная условная схема такова:

Рис. 1.3.5.4

Процесс получения результата удобно представить структурной схемой алгоритма:

Рис. 1.3.5.5

Оценим теперь эффективность процессора с АСОЗУ, что можно сделать по формуле:

,

где– затраты времени на обращение к памяти при наличии АСОЗУ;– затраты времени при отсутствии АСОЗУ (и наличии только ОЗУ).

Итак, полагаем, что переходный процесс «одноразового» обращения к кэш-памяти закончен.

Пусть за некоторое время T выполняется N обращений к памяти. Из рассмотренной структуры схемы алгоритма следует, что обращение к памяти с точки зрения затрат времени обслуживается одним из трех способов:

  1. простым обращением к АСОЗУ;

  2. сложным обращением с целью записи слова, когда выполняется обращение к ОЗУ и затем обращение к АСОЗУ;

  3. сложным обращением при чтении слова, когда выполняется 2 обращения к ОЗУ и затем к АСОЗУ.

Пусть за время T выполняется простых обращений, – сложных обращений с целью записи; – сложных обращений с целью чтения. Естественно, что

Пусть – Т0 и Т1 обозначения длительности обращения к ОЗУ и АСОЗУ, соответственно.

Если нет буфера в виде СОЗУ, то 0=NТ0, а если буфер есть, то

А тогда

Обозначим ; ; . При A, B, и C – суть вероятности каждого из трех способов обращения к памяти, причем

A+B+C=1

Если , то

Коэффициент  зависит от способа назначения слов на удаление и от емкости АСОЗУ (длительность пребывания слов в нем) и др. Тогда коэффициент  можно рассматривать как некоторый организационный параметр. Интересна зависимость , где Е – емкость АСОЗУ. Она получена статистическим (имитационным) моделированием:

Рис. 1.3.5.6

Кривая показывает, что целесообразно использовать АСОЗУ емкостью уже более чем 32 слова ().

<74>

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