mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
ЛР5. Исправление примера формирования сигналов
До этого пример был смешан из описания двух инструкций: lw и sw.
This commit is contained in:
committed by
Andrei Solodovnikov
parent
d70d39681e
commit
36edc08857
@@ -123,7 +123,7 @@ SYSTEM-инструкции используются для доступа к с
|
||||
|
||||
Как говорилось ранее, дешифратор инструкций в процессоре служит для преобразования инструкции в набор управляющих сигналов, необходимых для ее исполнения.
|
||||
|
||||
Пример: для выполнения инструкции загрузки слова из памяти данных в регистровый файл `lw`, дешифратор должен:
|
||||
Пример: для выполнения инструкции записи 32-бит данных из регистрового файла во внешнюю память `sw`, дешифратор должен:
|
||||
|
||||
- направить в АЛУ два операнда (базовый адрес и смещение) вместе с кодом операции АЛУ (сложения) для вычисления адреса:
|
||||
- `a_sel_o = 2'd0`;
|
||||
@@ -136,7 +136,7 @@ SYSTEM-инструкции используются для доступа к с
|
||||
|
||||
Несмотря на то, что для записи во внешнюю память ключевыми сигналами будут описанные выше, это не означает, что остальные выходные сигналы декодера могут быть абы какими.
|
||||
|
||||
Поскольку операция `lw` не является операцией перехода, сигналы `jal_o`, `jalr_o` и `branch_o` должны быть равны нулю (иначе процессор совершит переход, а инструкция `lw` этого не подразумевает). Точно так же, поскольку во время записи во внешнюю память, в регистровый файл не должно быть ничего записано, сигналы `gpr_we_o` и `csr_we_o` так же должны быть равны нулю.
|
||||
Поскольку операция `sw` не является операцией перехода, сигналы `jal_o`, `jalr_o` и `branch_o` должны быть равны нулю (иначе процессор совершит переход, а инструкция `lw` этого не подразумевает). Точно так же, поскольку во время записи во внешнюю память, в регистровый файл не должно быть ничего записано, сигналы `gpr_we_o` и `csr_we_o` так же должны быть равны нулю.
|
||||
|
||||
А вот сигнал `wb_sel` может принять любое значение (поскольку сигнал разрешения записи в регистровый файл равен нулю, не важно, каким будет источник данных для записи в регистровый файл, т.к. в него все равно ничего не будет записано).
|
||||
|
||||
|
Reference in New Issue
Block a user