Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект по дисциплине Архитектура ЭВМ.doc
Скачиваний:
28
Добавлен:
01.05.2014
Размер:
661.5 Кб
Скачать

3.3. Расчет прироста производительности эвм

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

Команда (функция)

Область определения

Область значений

ADD(тип)

Операнд – ячейки памяти, регистр адреса для исполнительного адреса

Акк,RD, регистр флагов

STORE WR

Ячейки памяти для исполнительного адреса, Акк,RD,RA

Ячейки памяти операнда

Jmp

IP

JS

Условие (флаги)

IP

READ

Операнд – ячейки памяти, ячейки памяти для исполнительного адреса, RA

Акк,RD

CLI

Условие (флаги)

IF

IRET

IP, регистр флагов

t

RAM

CPU

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

2

1

1

1

1

1

Предварительная выборка

+ + + + + + + +

2

2

2

2

3

3

3

3

3

3

3

2

2

2

2

2

2

2

3

2

2

2

2

2

базовый цикл латентности

Латентность – это число единиц времени (тактов), разделяющих инициации.

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

Есть три класса таких помех: чтение после записи – RAW, запись после чтения – WAR, запись после записи – WAW. Когда пересекаются действия исполнения команды, то говорят о перекрытии действий.

Х

Х

Х

Х

+

+

+

+

+

+

+

18 ADD

Х

Х

Х

Х

Х

Х

Х

+

+

Х

Х

Х

Х

Х

EADDR изменение IP (RA)

Для обеспечения предварительной выборки нужны дополнительные действия CPU: обновить IP и передать его содержимое в RA.

Х

Х

Х

Х

+

+

+

+

+

+

+

19 WR

Х

Х

Х

Х

Х

Х

Х

Х

+

+

Х

+

+

+

+

+

+

+

11 Jmp (Перекрытий действий нет)

Х

Х

Х

+

+

+

+

+

+

+

+

12 JS (Перекрытий действий нет.

Х

Х

Х

Х

+

Переход выполняется.)

+

+

+

+

+

+

+

11 JS (Перекрытий действий нет.

Х

Х

Х

+

Переход не выполняется)

Х

Х

Х

Х

+

+

+

+

+

+

+

18 READ

Х

Х

Х

Х

Х

Х

Х

+

+

Х

Х

+

+

+

+

+

+

+

11 CLI

Х

Х

Х

+

+

+

+

+

+

+

+

12 IRET

Х

Х

X

Х

+

Средняя латентность: 18*25=450 ADD

11*10=110 CLI

12*9=108 IRET

19*13=247 WR

11*8=88 Jmp

12*10=120 УП выполняется

11*7=77 УП не выполняется

18*18=324READ

1524:100=15,24

Уменьшение величины взвешенного среднего составляет:

17,54 1% - 0,1754

15,24 х% - 2,30

2,30 x13%

Производительность повысилась на 13%. Стоимость дополнительной аппаратуры для предварительной выборки мала. Отношение стоимость/производительность весьма привлекательно. Поэтому во всех современных машинах реализуется метод предварительной выборки.