ЛР5. Исправление примера формирования управляющих сигналов для инструкции sw (#146)

* ЛР5. Исправление примера формирования управляющих сигналов для инструкции sw

* Update ERRATA.md

---------

Co-authored-by: Vlad Nikiforov <bfly@mail.ru>
Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
This commit is contained in:
Vlad Nikiforov
2025-08-25 09:07:34 +03:00
committed by GitHub
parent 7a2151bf01
commit 58b1556e93
2 changed files with 16 additions and 1 deletions

View File

@@ -2,6 +2,21 @@
![http://95.215.8.74:5000/days_since_last_commit.png](http://95.215.8.74:5000/days_since_last_commit.png) ![http://95.215.8.74:5000/days_since_last_commit.png](http://95.215.8.74:5000/days_since_last_commit.png)
**25.08.2025**: Обнаружена ошибка в примере формирования управляющих сигналов декодером инструкций на стр. 133. При инструкции `sw`, декодер должен выставить на сигнале `b_sel_o` значение `3'd3`, а не `3'd1`.
<details>
<summary> Исправленная версия абзаца </summary>
> Пример: для выполнения инструкции записи 32-бит данных из регистрового файла во внешнюю память (инструкции `sw`), дешифратор должен направить в АЛУ два операнда (базовый адрес и смещение) вместе с кодом операции АЛУ (сложения) для вычисления адреса записи. Базовый адрес берется из регистрового файла, а смещение является непосредственным операндом инструкции S-типа. Таким образом для вычисления адреса записи декодер должен выставить следующие значения на выходах:
>
> - `a_sel_o = 2'd0`,
> - `b_sel_o = 3'd3`,
> - `alu_op_o= ALU_ADD`.
</details>
---
**11.07.2025**: Обнаружена ошибка вёрстки в примере использования битовых сдвигов на стр. 79. Операции по установке, очистке и чтению N-го бита выглядят следующим образом: **11.07.2025**: Обнаружена ошибка вёрстки в примере использования битовых сдвигов на стр. 79. Операции по установке, очистке и чтению N-го бита выглядят следующим образом:
```C++ ```C++

View File

@@ -283,7 +283,7 @@ _Таблица 6. Расширенное описание инструкций
Пример: для выполнения инструкции записи 32-бит данных из регистрового файла во внешнюю память (инструкции `sw`), дешифратор должен направить в АЛУ два операнда (базовый адрес и смещение) вместе с кодом операции АЛУ (сложения) для вычисления адреса записи. Базовый адрес берется из регистрового файла, а смещение является непосредственным операндом инструкции S-типа. Таким образом для вычисления адреса записи декодер должен выставить следующие значения на выходах: Пример: для выполнения инструкции записи 32-бит данных из регистрового файла во внешнюю память (инструкции `sw`), дешифратор должен направить в АЛУ два операнда (базовый адрес и смещение) вместе с кодом операции АЛУ (сложения) для вычисления адреса записи. Базовый адрес берется из регистрового файла, а смещение является непосредственным операндом инструкции S-типа. Таким образом для вычисления адреса записи декодер должен выставить следующие значения на выходах:
- `a_sel_o = 2'd0`, - `a_sel_o = 2'd0`,
- `b_sel_o = 3'd1`, - `b_sel_o = 3'd3`,
- `alu_op_o= ALU_ADD`. - `alu_op_o= ALU_ADD`.
(см. _рисунок 1_). (см. _рисунок 1_).