mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
Убраны все "Рисунки ниже"
This commit is contained in:
@@ -275,10 +275,12 @@ _Таблица 2. Список операций сравнения._
|
||||
|
||||
В этом примере некоторому сигналу `Result` присваивают результат сдвига знакового числа `A` на значение количества бит получаемых из младших 5 бит сигнала `B`.
|
||||
|
||||
Так как используются не все возможные комбинации управляющего сигнала АЛУ, то **при описании через `case` не забывайте использовать `default`**. Если описать АЛУ как задумано, то получится что-то похожее на картинку ниже. Но не обязательно, зависит от вашего описания.
|
||||
Так как используются не все возможные комбинации управляющего сигнала АЛУ, то **при описании через `case` не забывайте использовать `default`**. Если описать АЛУ как задумано, то получится что-то похожее на _рис. 4_. Но не обязательно, зависит от вашего описания.
|
||||
|
||||

|
||||
|
||||
_Рисунок 4. Пример схемы, реализующей АЛУ._
|
||||
|
||||
### Порядок выполнения задания
|
||||
|
||||
1. Добавьте в проект файл [`alu_opcodes_pkg.sv`](alu_opcodes_pkg.sv). Этот файл содержит объявление пакета `alu_opcodes_pkg`, в котором прописаны все опкоды АЛУ.
|
||||
|
@@ -203,7 +203,7 @@ _Таблица 4.Кодирование условного перехода._
|
||||
|
||||
Предположим, мы хотим переместиться на две инструкции вперед. Это означает, что программный счетчик должен будет увеличиться на 8 ([2 инструкции] * [4 байта — размер одной инструкции в памяти]). Умножение на 4 константы смещения произойдет путем добавления к ней двух нулей справа, поэтому в поле `offset` мы просто записываем число инструкций, на которые мы переместим программный счетчик (на две): `0b00000010`.
|
||||
|
||||
Приведенный ниже Си-подобный псевдокод (далее мы назовем его псевдоассемблером) демонстрирует кодирование инструкций с новым полем `B`:
|
||||
Данный Си-подобный псевдокод (далее мы назовем его псевдоассемблером) демонстрирует кодирование инструкций с новым полем `B`:
|
||||
|
||||
``` C
|
||||
if (reg_file[RA1] {alu_op} reg_file[RA2])
|
||||
|
@@ -178,7 +178,7 @@ _Таблица 5. Описание портов основного дешифр
|
||||
- если значение `opcode` не совпадает ни с одним из известных и следовательно операция не определена.
|
||||
- если это инструкция `ECALL` / `EBREAK`.
|
||||
|
||||
При реализации декодера его удобнее описывать разбив все инструкции на однотипные группы, как это сделано ниже. Представленные в _Таблице 6_ коды операций 5-битные потому, что 2 младших бита полноценного 7-битного кода операции должны всегда быть равны `11`. Если это не так, то вся инструкция уже запрещенная и не нуждается в дальнейшем декодировании.
|
||||
При реализации декодера его удобнее описывать разбив все инструкции на однотипные группы, как это сделано в _Таблице 6_. Представленные в ней коды операций 5-битные потому, что 2 младших бита полноценного 7-битного кода операции должны всегда быть равны `11`. Если это не так, то вся инструкция уже запрещенная и не нуждается в дальнейшем декодировании.
|
||||
|
||||
|Операция|Opcode| Описание операции | Краткая запись |
|
||||
|--------|------|-------------------------------------------------------------------------------------------------------|------------------------------------|
|
||||
|
@@ -48,7 +48,7 @@
|
||||
|
||||
В таком случае, если мы захотим обратиться к первому байту семисегментных индикаторов, мы должны будем использовать адрес `0x04000001`. Старшие 8 бит (`0x04`) определяют выбранное периферийное устройство, оставшиеся 24 бита определяют конкретный адрес в адресном пространстве этого устройства.
|
||||
|
||||
На рисунке ниже представлен способ подключения процессора к памяти инструкций и данных, а также 255 периферийным устройствам.
|
||||
На _рис. 1_ представлен способ подключения процессора к памяти инструкций и данных, а также 255 периферийным устройствам.
|
||||
|
||||

|
||||
|
||||
@@ -127,7 +127,7 @@ sys_clk_rst_gen divider(.ex_clk_i(clk_i),.ex_areset_n_i(resetn_i),.div_i(5),.sys
|
||||
|
||||
## Задание
|
||||
|
||||
В рамках данной лабораторной работы необходимо реализовать модули-контроллеры двух периферийных устройств, реализующих управление в соответствии с приведенной ниже картой памяти и встроить их в процессорную систему, используя [_рис. 1_](../../.pic/Labs/lab_13_periph/fig_01.drawio.svg). На карте приведено шесть периферийных устройств, вам необходимо взять только два из них. Какие именно — сообщит преподаватель.
|
||||
В рамках данной лабораторной работы необходимо реализовать модули-контроллеры двух периферийных устройств, реализующих управление в соответствии с приведенной на _рис. 2_ картой памяти и встроить их в процессорную систему, используя [_рис. 1_](../../.pic/Labs/lab_13_periph/fig_01.drawio.svg). На карте приведено шесть периферийных устройств, вам необходимо взять только два из них. Какие именно — сообщит преподаватель.
|
||||
|
||||

|
||||
|
||||
@@ -651,7 +651,7 @@ _Рисунок 4. Карта памяти vga-модуля._
|
||||
* нулевой символ первой строки — `0x0000_1050`
|
||||
* нижний правый символ — `0x0000_195F`
|
||||
|
||||
Цветовая схема каждой позиции состоит из двух цветов: цвета фона и цвета символа. Оба эти цвета выбираются из палитры 8 цветов, каждый из которых содержит два оттенка: цвет на полной яркости и цвет на уменьшенной яркости (см. рис. 5). Один из цветов — черный, оба его оттенка представляют собой один и тот же цвет. Ниже приведены коды цветов их rgb-значения:
|
||||
Цветовая схема каждой позиции состоит из двух цветов: цвета фона и цвета символа. Оба эти цвета выбираются из палитры 8 цветов, каждый из которых содержит два оттенка: цвет на полной яркости и цвет на уменьшенной яркости (см. _рис. 5_). Один из цветов — черный, оба его оттенка представляют собой один и тот же цвет. На _рис. 5_ приведены коды цветов их rgb-значения:
|
||||
|
||||

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