mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 01:30:10 +00:00
Переработка лабораторных работ, связанных с памятью (#89)
* Переработка лабораторных работ, связанных с памятью Существенно переработаны ЛР3 и ЛР7: Из ЛР3 убрано задание реализовать память данных. Эта память использовалась только студентами ИВТ и только в рамках одной лабы. В итоге использовалась готовая память, и ничего не мешает использовать ее с самого начала. Задание по реализации памяти инструкций также претерпело изменения. Теперь код памяти инструкций предоставляется сразу. Это объясняется тем, что код модуля состоит в общем-то из 4х строк, на которые тратится слишком много времени (с учетом добавления тестбенча и проверок). Кроме того, использование готового кода позволяет дать модуль чуть посложнее (с параметризацией размера). По итогу правок, третья лабораторная работа превращается чисто в лабораторную по написанию регистрового файла, что должно положительно сказаться на кривой сложности лаб. После второй лабы происходит слишком резкий скачок в объемах работы. Соответственно, в связи с тем, что память данных больше не делается на третьей лабе, дополнительная ЛР по памяти данных с byte enable необходимо перенести до реализации тракта данных. * ЛР3, 5, 6. Правки из ревью * ЛР7. Добавление иллюстраций
This commit is contained in:
committed by
GitHub
parent
06dc07c03f
commit
85883858ac
@@ -15,8 +15,8 @@
|
||||
- [3. Регистровый файл и внешняя память (RF)](#3-регистровый-файл-и-внешняя-память-rf)
|
||||
- [4. Простейшее программируемое устройство (PPD)](#4-простейшее-программируемое-устройство-ppd)
|
||||
- [5. Основной дешифратор команд (MD)](#5-основной-дешифратор-команд-md)
|
||||
- [6. Тракт данных (DP)](#6-тракт-данных-dp)
|
||||
- [7. Внешняя память](#7-внешняя-память)
|
||||
- [6. Основная память](#6-основная-память)
|
||||
- [7. Тракт данных (DP)](#7-тракт-данных-dp)
|
||||
- [8. Блог загрузки и сохранения данных (LSU)](#8-блог-загрузки-и-сохранения-данных-lsu)
|
||||
- [9 Интеграция LSU](#9-интеграция-lsu)
|
||||
- [10. Подсистема прерывания (IC)](#10-подсистема-прерывания-ic)
|
||||
@@ -53,7 +53,7 @@
|
||||
4. Простейшее программируемое устройство ([04. Primitive programmable device](04.%20Primitive%20programmable%20device))
|
||||
5. Основной дешифратор ([05. Main decoder](05.%20Main%20decoder))
|
||||
6.
|
||||
1. Тракт данных ([06. Datapath](06.%20Datapath))
|
||||
1. Тракт данных ([07. Datapath](07.%20Datapath))
|
||||
2. Интеграция блока загрузки и сохранения ([09. LSU Integration](09.%20LSU%20Integration))
|
||||
3. Интеграция подсистемы прерываний ([11. Interrupt Integration](11.%20Interrupt%20integration))
|
||||
7. Периферийные устройства ([13. Peripheral units](13.%20Peripheral%20units))
|
||||
@@ -66,7 +66,7 @@
|
||||
1. Память ([03. Register file and memory](03.%20Register%20file%20and%20memory)),
|
||||
2. Простейшее программируемое устройство ([04. Primitive programmable device](04.%20Primitive%20programmable%20device))
|
||||
3. Основной дешифратор ([05. Main decoder](05.%20Main%20decoder))
|
||||
4. Тракт данных ([06. Datapath](06.%20Datapath))
|
||||
4. Тракт данных ([07. Datapath](07.%20Datapath))
|
||||
5.
|
||||
1. Модуль загрузки и сохранения ([08. Load-store unit](08.%20Load-store%20unit))
|
||||
2. Интеграция блока загрузки и сохранения ([09. LSU Integration](09.%20LSU%20Integration))
|
||||
@@ -131,17 +131,17 @@ https://github.com/MPSU/APS/assets/17159587/4daac01f-dc9a-4ec8-8d3f-c5dc1ef97119
|
||||

|
||||
Пятая лабораторная посвящена разработке устройства управления – основному дешифратору команд. Функция основного дешифратора — получать на вход коды выполняемых операций и преобразовывать их в управляющие сигналы для всех блоков процессора (АЛУ, память, регистровый файл, мультиплексоры). Работа требует внимательности в реализации, а ее результат проверяется заранее подготовленными автоматическими тестами.
|
||||
|
||||
## 6. Тракт данных (DP)
|
||||
|
||||

|
||||
Разработанные блоки объединяются, образуя тракт данных, управляемый основным дешифратором команд. Результатом шестой лабораторной работы является однотактный процессор, с архитектурой RISC-V, поддерживающий стандартный набор целочисленных инструкций RV32I. В качестве проверки на процессоре запускаются программы, заранее написанные на языке ассемблера RISC-V. Сравнивается результат полученный на симуляторе и на разработанном процессоре.
|
||||
|
||||
## 7. Внешняя память
|
||||
## 6. Основная память
|
||||
|
||||
Недостатком реализации процессора из предыдущей лабораторной работы была его неспособность выполнять операции `LB`, `LBU`, `SB`, `LH`, `LHU`, `SH`. Отчасти это связано с ограничением реализованной ранее памяти (в этой памяти не было возможности обновить отдельный байт в ячейке памяти).
|
||||
|
||||
Данная вспомогательная лабораторная работа позволяет реализовать память без этого ограничения.
|
||||
|
||||
## 7. Тракт данных (DP)
|
||||
|
||||

|
||||
Разработанные блоки объединяются, образуя тракт данных, управляемый основным дешифратором команд. Результатом шестой лабораторной работы является однотактный процессор, с архитектурой RISC-V, поддерживающий стандартный набор целочисленных инструкций RV32I. В качестве проверки на процессоре запускаются программы, заранее написанные на языке ассемблера RISC-V. Сравнивается результат полученный на симуляторе и на разработанном процессоре.
|
||||
|
||||
## 8. Блог загрузки и сохранения данных (LSU)
|
||||
|
||||

|
||||
|
Reference in New Issue
Block a user