Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 курс 1 семестр / лекции / Лекция 9 Многотактный П — копия

.pdf
Скачиваний:
34
Добавлен:
27.12.2022
Размер:
2.33 Mб
Скачать

Состояние процессора на этапе дешифрации команды:

1.Определена команда Instr по величине счетчика команд РС.

2.Определены адреса А1, А2 и дополнительное число Sign.

3.Отдельные команды блока управления безразличны Х или 0

Состояние S1 расшифровка команды

Какой OP?

В зависимостиотполяopcode, блокуправлениядолженперейтив одноиз несколькихсостояний. Есливыполняетсякомандачтенияилисохранени данных(lw илиsw), процессорвычисляетадресв памятипутемсложения базовогоадресаинепосредственногооперандасрасширеннымзнаком.

Какой OP?

Переход из состояния S1- расшифровка команды в состояние S2- определение команды LW или SW и запоминание адресов

Сигналы управления для вычисления адреса в командах Lw и Sw:

1. Команды управления: AluScrА1- значение первого составляющего адреса; AluScrB 10 - расширенное значение числа Sign Extend - второго составляющего адреса.

2. Команда АЛУ AluContorl 010 – результат вычисления адреса в регистре.

Op=?

Этап исполнения команды состояние S3:

Ор =Lw – чтение слова ,управление - IorD=1. Этап запоминание команды в регистровом файле (RF) состояние S4:

сигнал управления – RegDst =0;

сигнал разрешения записи в (RF) -MtmtoReg=1.

Этап возврата в начальное состояние - состояние S0

Состояния блока управления, как управляющего автомата: S0-S8

3. Дополнительные команды addi и j.

3.1. Команда addi.

В тракте данных уже есть вся необходимая функциональность для сложения регистров и непосредственных операндов, поэтому нужно всего лишь добавить несколько новых состояний в управляющий автомат, как показано на диаграмме синим цветом. Новые состояния похожи на те, которые используются для команд типа R. В состоянии S9 регистр A складывается с SignImm

(ALUSrcA = 1, ALUSrcB = 10, ALUOp = 00), а результат (ALUResult)

сохраняется в ALUOut. В состоянии S10 ALUOut

записывается в регистр, номер которого указан в поле rt команды

Instr (RegDst = 0, MemtoReg = 0,

сигнал RegWrite активен).

Можно заметить, что состояния S2 и S9 одинаковы и могли

бы быть объединены в одно.

Диаграмма состояний управляющего автомата для команды addi

3.2. Команда J

31:28

27:0

25:0 adr

Тракт данных команды J

Длякомандыj необходимодобавитьтрактданныхлогикувычислениязначениясчетчикаPC’ Дляэтогонадобудетдобавитьещеодноновоесостояниевуправляющийавтомат. Адресбезусловногопереходавычисляетсяпутемсдвига26-битногополяaddr (25:0 adr) надваразряд влево,чтообеспечивает28 битадреса(27:0). Оставшиесячетырестаршихбитакопируютсяиз старшихбитовсчетчикомандPC (31:28). Получившийсяадресподаетсяна

мультиплексорPCSrc, длячегочислоеговходовданныхнужноувеличитьсдвухдотрех.

 

opcode 6b

 

25

Adr 26b

0

31

26

 

 

 

 

 

 

 

 

 

27:0

 

 

4b=PC+4

 

 

Adr 26b

2b=0

 

(31:28)

 

 

(27:2)=(25:0)

(1:0)

Диаграмма состояний управляющего автоматаj для ком

Выводы по многотактному процессору:

1.Таковая частота должна быть увеличена, т.к. команды разделены на этапы.

2.За счет многократного использования отдельных элементов процессора его объем и масса уменьшены.

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