
1 курс 1 семестр / лекции / Лекция 9 Многотактный П — копия
.pdf
Состояние процессора на этапе дешифрации команды:
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.Скорость обработки команд можно считать увеличенной за счет увеличения тактовой частоты частоты, но за счет использования дополнительных регистров памяти скорость обработки команд замедляется.