Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа для ОФ.doc
Скачиваний:
10
Добавлен:
01.05.2014
Размер:
588.29 Кб
Скачать

3. Модификация созданной эвм

3.1. Возможности повышения производительности эвм

Существуют следующие способы повышения производительности ЭВМ:

  • повышение тактовой частоты;

  • использование КЭШей;

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

В данном случае, мы будем увеличивать производительность нашей ЭВМ, путём совмещения выполнения текущей команды с выборкой следующей.

3.2. Организация конвейерной обработки команд

t

RAM

CPU

DECODE ENDOP

ADD 21 такт EADDR EXEC

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

OFETCH

WRITE 18 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

JMP17 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

JZ, JO, JSусловие выполняется: 18 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

JZ, JO, JSусловие не выполняется: 11 тактов

X

X

X

X

X

X

X

X

X

X

X

CMP20 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

READ21 такт

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

PUSH16 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

POP16 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

INT 28 тактов

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Будем использовать метод выборки следующей команды во время завершения текущей, по-другому этот метод называется «метод простой предварительной выборки команды».

Пример совмещения выполнения трех команд:

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

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

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

Для обеспечения предварительной выборки нужны дополнительные действия CPU: обновить IP и передать его содержимое в RA. Обозначим знаком  - изменение IP, а знаком “+” - предварительную выборку.

ADD 15 тактов

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

+

X

X

X

X

X

WRITE 16 тактов

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

X

+

X

JMP 17 тактов – перекрытий нет

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

X

+

JZ, JO, JS условие выполняется: 18 тактов – перекрытий нет

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

X

X

+

JZ, JO, JS условие не выполняется: 11 тактов – перекрытий нет

+

+

+

+

+

+

+

X

X

X

+

CMP 15 тактов

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

+

X

X

X

X

READ 15 такт

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

+

X

X

MOVREG 11 тактов

+

+

+

+

+

+

+

X

X

X

+

PUSH 14 тактов

X

X

+

+

+

+

+

+

+

X

X

X

X

X

+

X

POP 12 тактов

X

X

+

+

+

+

+

+

+

X

X

X

+

X

X

X

INT 23 такта

X

X

X

X

+

+

+

+

+

+

+

X

X

X

X

X

X

X

X

X

X

X

X

+

X

X

Расчёт средней латентности:

0.34*15=5.1 (для ADD)

0.10*16=1.6 (для WRITE)

0.21*15= 3.15 (для READ)

0.06*18= 1.08 (Условный переход выполняющийся)

0.02*11= 0.22 (Условный переход не выполняющийся)

0.08*15= 1.2 (для CMP)

0.03*17= 0.51 (для JMP)

0.06*11= 0.66 (для MOVREG)

0.03*23= 0.69 (для INT)

0.04*14= 0.56 (для PUSH)

0.04*12= 0.48 (для POP)

-----------------------------------

Итого: 15.25 18.85 такта