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

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

При конвейеризации очередность команд, заданная программистом при написании программы, нарушается. Исполнения команд (текущей i-й и i+1-й) перекрываются во времени и возникают зависимости операций, запускаемых i+1 и i+2 командами от результатов i-й команды. Эти зависимости вызывают помехи для выполнения команд. При конвейеризации необходимо обнаружить и устранить помехи.

С целью анализа возможности перекрытия команд целесообразно создать таблицу занятости для моделирования бесконвейерной структуры ЭВМ, используемой для выполнения команд. В структуре ЭВМ используется не расслоенная память RAM и бесконвейерное CPU. Когда функционирует память, то CPU простаивает и наоборот. В таблице занятости будет две ступени: RAM и CPU.

t

RAM

CPU

DECODE ENDOP

ADD 24 такта EADDR EXEC

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

OFETCH

WR21 такт

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

JMP 11 тактов

X

X

X

X

X

X

X

X

X

X

X

JSпереход выполняется 12 тактов

X

X

X

X

X

X

X

X

X

X

X

X

JSпереход не выполняется 11 тактов

X

X

X

X

X

X

X

X

X

X

X

READ 21 такт

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

CLI 11 тактов EXEC

IFETCH Decode ENDOP

X

X

X

X

X

X

X

X

X

X

X

IRET 12 тактов EXEC CHANGE IP

IFETCH Decode ENDOP

X

X

X

X

X

X

X

X

X

X

X

X

Одним из путей уменьшения времени выполнения команд является совмещение операций. Используем метод простой предварительной выборки команды. Когда текущая команда выполняет последнюю часть своей работы в CPU, то можно выбирать очередную команду. При рассмотрении схемы выполнения ADD можно увидеть возможность одновременного выполнения (перекрытия) двух команд без столкновений.