From 11ba6823ffeffc0639835821a8c6bc5f63a03229 Mon Sep 17 00:00:00 2001
From: Eugene8388608 <15855754+Eugene8388608@users.noreply.github.com>
Date: Mon, 16 Jun 2025 20:17:08 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D1=80=D0=B0=D0=B7=D1=80=D1=8B?=
=?UTF-8?q?=D0=B2=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?=
=?UTF-8?q?=D1=8B=20=D0=9B=D0=A0=E2=84=963=20=D0=B8=20=E2=84=9613=20=D0=B8?=
=?UTF-8?q?=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B8=20=D0=B2=20?=
=?UTF-8?q?21=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D0=B8=20(#125)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Неразрывные пробелы ЛР№3,13
* Опечатки в 21 лекции
---
Labs/03. Register file and memory/README.md | 4 ++--
Labs/13. Peripheral units/README.md | 4 ++--
Lectures/21. Microcontrollers.md | 7 ++++---
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/Labs/03. Register file and memory/README.md b/Labs/03. Register file and memory/README.md
index 1179b51..3b4af97 100644
--- a/Labs/03. Register file and memory/README.md
+++ b/Labs/03. Register file and memory/README.md
@@ -33,7 +33,7 @@
В общем случае `V = 2^a * d`.
-Для объема памяти в 1 KiB ([кибибайт](https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82), 1024 байта или 8192 бита) разрядность адреса может быть, например, 10 бит (что покрывает 210 = 1024 адреса), тогда разрядность хранимых данных должна быть 8 бит. 1024 * 8 = 8192, то есть 1 кибибайт. Если разрядность адреса составляет 8 бит (что покрывает 28 = 256 адресов), то разрядность данных `d = V / 2^a` это 8192 / 256 = 32 бита.
+Для объема памяти в 1 KiB ([кибибайт](https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82), 1024 байта или 8192 бита) разрядность адреса может быть, например, 10 бит (что покрывает 210 = 1024 адреса), тогда разрядность хранимых данных должна быть 8 бит. 1024 * 8 = 8192, то есть 1 кибибайт. Если разрядность адреса составляет 8 бит (что покрывает 28 = 256 адресов), то разрядность данных `d = V / 2^a` это 8192 / 256 = 32 бита.
Однако, может быть такое, что не все ячейки памяти реализованы на кристалле микросхемы, то есть некоторые адреса существуют, но по ним не имеет смысла обращаться, а объем памяти, соответственно, не равен `V ≠ 2^a * d` — он меньше.
@@ -70,7 +70,7 @@ _Рисунок 2. Структурная схема логического бл
Для реализации многопортовой памяти небольшого размера лучше воспользоваться расположенным в логическом блоке D-триггером (**DFF** на _рис. 2_). Несмотря на то, что D-триггер позволяет воспроизвести только 1 разряд элемента памяти, он не ограничивает реализацию по портам.
-Таким образом, преимущество распределенной памяти относительно регистровой заключается в лучшей утилизации ресурсов: одним трёхвходовым LUT можно описать до 8 бит распределенной памяти, в то время как одним D-триггером можно описать только один бит регистровой памяти. Предположим, что в ПЛИС размещены логические блоки, структура которых изображена на _рис. 2_ и нам необходимо реализовать 1KiB памяти. Мы можем реализовать распределенную память, используя 64 логических блока (в каждом блоке два трёхвходовых LUT), либо регистровую память, используя 1024 логических блока.
+Таким образом, преимущество распределенной памяти относительно регистровой заключается в лучшей утилизации ресурсов: одним трёхвходовым LUT можно описать до 8 бит распределенной памяти, в то время как одним D-триггером можно описать только один бит регистровой памяти. Предположим, что в ПЛИС размещены логические блоки, структура которых изображена на _рис. 2_ и нам необходимо реализовать 1 KiB памяти. Мы можем реализовать распределенную память, используя 64 логических блока (в каждом блоке два трёхвходовых LUT), либо регистровую память, используя 1024 логических блока.
Недостатком является ограниченность в реализации многопортовой памяти.
diff --git a/Labs/13. Peripheral units/README.md b/Labs/13. Peripheral units/README.md
index f229c00..4109f77 100644
--- a/Labs/13. Peripheral units/README.md
+++ b/Labs/13. Peripheral units/README.md
@@ -28,7 +28,7 @@
### Адресное пространство
-Архитектура RISC-V подразумевает использование совместного адресного пространства — это значит, что в лабораторной работе будет использована единая шина для подключения памяти и регистров управления периферийными устройствами. При обращении по одному диапазону адресов процессор будет попадать в память, при обращении по другим – взаимодействовать с регистрами управления/статуса периферийного устройства. Например, можно разделить 32-битное адресное пространство на 256 частей, отдав старшие 8 бит адреса под указание конкретного периферийного устройства. Тогда каждое из периферийных устройств получит 24-битное адресное пространство (16 MiB). Допустим, мы распределили эти части адресного пространства в следующем порядке (от младшего диапазона адресов к старшему):
+Архитектура RISC-V подразумевает использование совместного адресного пространства — это значит, что в лабораторной работе будет использована единая шина для подключения памяти и регистров управления периферийными устройствами. При обращении по одному диапазону адресов процессор будет попадать в память, при обращении по другим – взаимодействовать с регистрами управления/статуса периферийного устройства. Например, можно разделить 32-битное адресное пространство на 256 частей, отдав старшие 8 бит адреса под указание конкретного периферийного устройства. Тогда каждое из периферийных устройств получит 24-битное адресное пространство (16 MiB). Допустим, мы распределили эти части адресного пространства в следующем порядке (от младшего диапазона адресов к старшему):
0. Память данных
1. Переключатели
@@ -697,7 +697,7 @@ _Рисунок 4. Отрисовка символа `F` в разрешении
Данный символ состоит из 16 строчек по 8 пикселей. Каждый пиксель кодируется одним битом (горит/не горит, цвет символа/фоновый цвет). Каждая строчка кодируется одним байтом (8 бит на 8 пикселей). Таким образом, каждый символ в шрифте требует 16 байт памяти.
-Данный модуль поддерживает 256 символов. Следовательно, для хранения шрифта под каждый из 256 символов требуется 16 * 256 = 4KiB памяти.
+Данный модуль поддерживает 256 символов. Следовательно, для хранения шрифта под каждый из 256 символов требуется 16 * 256 = 4 KiB памяти.
Для хранения шрифтов в модуле отведён диапазон адресов `0x00002000-0x00002FFF`. В отличие от предыдущих диапазонов адресов, где каждый адрес был закреплён за соответствующей позицией символа в сетке `80x30`, адреса данного диапазона распределены следующим образом:
diff --git a/Lectures/21. Microcontrollers.md b/Lectures/21. Microcontrollers.md
index 6502eda..83a389d 100644
--- a/Lectures/21. Microcontrollers.md
+++ b/Lectures/21. Microcontrollers.md
@@ -49,7 +49,7 @@
5. EEPROM (электрически перезаписываемая программируемая память);
6. PWM (Pulse-width modulation или широтно-импульсная модуляция);
7. Waveform generator (генерирует сигналы);
-8. Цифро-аналоговый преобразователь (ЦАП или DAG) и другие.
+8. Цифро-аналоговый преобразователь (ЦАП или DAC) и другие.
Микроконтроллеры внутри рассматриваемого семейства отличаются размером памяти, количеством ножек, аналогово-цифровых преобразователей и максимальной аналогово-цифровой разрешающей способностью.
@@ -60,7 +60,7 @@
Например:
- это RISC контроллер, поддерживающий 48 инструкций;
-- его входная тактовая частота — 32 MHz, минимальный тактовый цикл — 125 ns (величина критического пути);
+- его входная тактовая частота — 32 MHz, минимальный тактовый цикл — 125 ns (величина критического пути);
- Он имеет C-компилятор, систему прерываний, 16-уровневый стек для вызова подпрограмм, четыре 8-битых таймера, Watchdog Timer (когда таймер досчитывает до конца, он сбрасывает микроконтроллер, то есть перезапускает его. Он нужен для того, чтобы избежать зависаний во время работы) и т.д.
Данный микроконтроллер имеет 3 конфигурации: с 8-ю, 14-ю и 16-ю ножкам.
@@ -127,7 +127,7 @@
Посмотрим 32-битный ARM микроконтроллер [STM32H723VE](https://www.st.com/en/microcontrollers-microprocessors/stm32h723ve.html).
-Видим, что у данного контроллера ядро Cortex-M7, он работает на частоте 550MHz, имеет 1 MB флэш-памяти, 564 KB оперативной памяти.
+Видим, что у данного контроллера ядро Cortex-M7, он работает на частоте 550 MHz, имеет 1 MB флэш-памяти, 564 KB оперативной памяти.

@@ -216,6 +216,7 @@ Cortex-A9 — более современное, чем ARM7 и ARM9, ядро.
Современные реализации микроконтроллеров могут включать в себя несколько ядер.

+
*Рис. 16. Cortex-A7 и Cortex-A15.*
При использовании двух ядер, одно может быть мене производительным чем другое, но при этом потреблять меньше энергии и использоваться в сценариях, где не нужна высокая эффективность. Переключения между ядрами позволяет балансировать между затратами на энергию и производительностью.