mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
Обновление заголовков в описании лаб
This commit is contained in:
@@ -10,19 +10,19 @@
|
||||
- [ПИН, ПМ](#пин-пм)
|
||||
- [ИВТ](#ивт)
|
||||
- [Обзор лабораторных работ](#обзор-лабораторных-работ)
|
||||
- [1. Сумматор. SystemVerilog (Adder)](#1-сумматор-systemverilog-adder)
|
||||
- [2. Арифметико-логическое устройство (ALU)](#2-арифметико-логическое-устройство-alu)
|
||||
- [3. Регистровый файл и внешняя память (RF)](#3-регистровый-файл-и-внешняя-память-rf)
|
||||
- [4. Простейшее программируемое устройство (PPD)](#4-простейшее-программируемое-устройство-ppd)
|
||||
- [5. Основной дешифратор команд (MD)](#5-основной-дешифратор-команд-md)
|
||||
- [1. Сумматор. SystemVerilog](#1-сумматор-systemverilog)
|
||||
- [2. Арифметико-логическое устройство](#2-арифметико-логическое-устройство)
|
||||
- [3. Регистровый файл и внешняя память](#3-регистровый-файл-и-внешняя-память)
|
||||
- [4. Простейшее программируемое устройство](#4-простейшее-программируемое-устройство)
|
||||
- [5. Декодер инструкций](#5-декодер-инструкций)
|
||||
- [6. Основная память](#6-основная-память)
|
||||
- [7. Тракт данных (DP)](#7-тракт-данных-dp)
|
||||
- [8. Блог загрузки и сохранения данных (LSU)](#8-блог-загрузки-и-сохранения-данных-lsu)
|
||||
- [9 Интеграция LSU](#9-интеграция-lsu)
|
||||
- [10. Подсистема прерывания (IC)](#10-подсистема-прерывания-ic)
|
||||
- [7. Тракт данных](#7-тракт-данных)
|
||||
- [8. Блок загрузки и сохранения данных](#8-блок-загрузки-и-сохранения-данных)
|
||||
- [9 Интеграция блока загрузки и сохранения](#9-интеграция-блока-загрузки-и-сохранения)
|
||||
- [10. Подсистема прерывания](#10-подсистема-прерывания)
|
||||
- [11. Интеграция подсистемы прерывания](#11-интеграция-подсистемы-прерывания)
|
||||
- [12. Увеличение количества источников прерываний с помощью дейзи-цепочки](#12-увеличение-количества-источников-прерываний-с-помощью-дейзи-цепочки)
|
||||
- [13. Периферийные устройства (PU)](#13-периферийные-устройства-pu)
|
||||
- [13. Периферийные устройства](#13-периферийные-устройства)
|
||||
- [14. Программирование на языке высокого уровня](#14-программирование-на-языке-высокого-уровня)
|
||||
- [15. Программатор](#15-программатор)
|
||||
- [16. Оценка производительности](#16-оценка-производительности)
|
||||
@@ -106,27 +106,27 @@ https://github.com/MPSU/APS/assets/17159587/4daac01f-dc9a-4ec8-8d3f-c5dc1ef97119
|
||||
|
||||
Далее приводится краткое описание и цель каждой отдельной лабораторной работы.
|
||||
|
||||
## 1. Сумматор. SystemVerilog (Adder)
|
||||
## 1. Сумматор. SystemVerilog
|
||||
|
||||

|
||||
На первой лабораторной работе изучаются базовые конструкции языка описания аппаратуры SystemVerilog, с помощью которого разрабатывается цифровой сумматор из примитивных логических вентилей, который, в последствии, конфигурируется в ПЛИС и его работа проверяется на отладочном стенде.
|
||||
|
||||
## 2. Арифметико-логическое устройство (ALU)
|
||||
## 2. Арифметико-логическое устройство
|
||||
|
||||

|
||||
На второй лабораторной изучаются новые конструкции языка SystemVerilog, на основе которых разрабатывается блок арифметико-логического устройства (АЛУ). АЛУ — это устройство, на входы которого подаются операнды, над которыми нужно выполнить некоторую операцию (сложение, вычитание и тому подобное) и код операции, которую нужно выполнить, а на выходе появляется результат этой операции. Проще говоря АЛУ - это "калькулятор" процессора.
|
||||
|
||||
## 3. Регистровый файл и внешняя память (RF)
|
||||
## 3. Регистровый файл и внешняя память
|
||||
|
||||

|
||||
На третьей лабораторной разрабатываются элементы памяти для будущего процессора: память команд, память данных и регистровый файл. В памяти команд будет храниться программа, которую будет выполнять процессор. В памяти данных хранятся данные, которые будут обрабатываться процессором. Регистровый файл — это маленькая память, тоже с данными, которые могут быть поданы непосредственно на АЛУ. Особенность RISC-архитектур в том, что данные перед обработкой необходимо перенести из памяти данных в регистровый файл, только после этого к ним можно применять различные операции.
|
||||
|
||||
## 4. Простейшее программируемое устройство (PPD)
|
||||
## 4. Простейшее программируемое устройство
|
||||
|
||||

|
||||
Эта работа – небольшое отступление от реализации процессора с архитектурой RISC-V и нужна для более глубокого понимания принципов работы и организации программируемых устройств. В рамках четвертой лабораторной работы из реализованных блоков собирается примитивное программируемое устройство, для которого пишется программа в машинных кодах.
|
||||
|
||||
## 5. Основной дешифратор команд (MD)
|
||||
## 5. Декодер инструкций
|
||||
|
||||

|
||||
Пятая лабораторная посвящена разработке устройства управления – основному дешифратору команд. Функция основного дешифратора — получать на вход коды выполняемых операций и преобразовывать их в управляющие сигналы для всех блоков процессора (АЛУ, память, регистровый файл, мультиплексоры). Работа требует внимательности в реализации, а ее результат проверяется заранее подготовленными автоматическими тестами.
|
||||
@@ -137,24 +137,24 @@ https://github.com/MPSU/APS/assets/17159587/4daac01f-dc9a-4ec8-8d3f-c5dc1ef97119
|
||||
|
||||
Данная вспомогательная лабораторная работа позволяет реализовать память без этого ограничения.
|
||||
|
||||
## 7. Тракт данных (DP)
|
||||
## 7. Тракт данных
|
||||
|
||||

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

|
||||
|
||||
Для корректного исполнения инструкций `LB`, `LBU`, `SB`, `LH`, `LHU`, `SH` мало использовать память с побайтовой записью. Необходимо также уметь управлять этой памятью, определенным образом подготавливать данные как для записи в память данный, так и для записи в регистровый файл, а также следить за тем, чтобы за время работы с памятью, программа процессора не начала исполняться дальше. Все эти задачи возлагаются на специальный модуль, который называется **Блок загрузки и сохранения** (**Load and Store Unit**, **LSU**)
|
||||
|
||||
## 9 Интеграция LSU
|
||||
## 9 Интеграция блока загрузки и сохранения
|
||||
|
||||
Вспомогательная лабораторная работа по интеграции реализованного ранее блока загрузки и сохранения, а также новой памяти данных в модуль `riscv_unit`.
|
||||
|
||||

|
||||
|
||||
## 10. Подсистема прерывания (IC)
|
||||
## 10. Подсистема прерывания
|
||||
|
||||

|
||||
|
||||
@@ -172,7 +172,7 @@ https://github.com/MPSU/APS/assets/17159587/4daac01f-dc9a-4ec8-8d3f-c5dc1ef97119
|
||||
|
||||

|
||||
|
||||
## 13. Периферийные устройства (PU)
|
||||
## 13. Периферийные устройства
|
||||
|
||||

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