mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
Неразрывные пробелы ЛР№3 и №13 и опечатки в 21 лекции (#125)
* Неразрывные пробелы ЛР№3,13 * Опечатки в 21 лекции
This commit is contained in:
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
В общем случае `V = 2^a * d`.
|
В общем случае `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 бит (что покрывает 2<sup>10</sup> = 1024 адреса), тогда разрядность хранимых данных должна быть 8 бит. 1024 * 8 = 8192, то есть 1 кибибайт. Если разрядность адреса составляет 8 бит (что покрывает 2<sup>8</sup> = 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 бит (что покрывает 2<sup>10</sup> = 1024 адреса), тогда разрядность хранимых данных должна быть 8 бит. 1024 * 8 = 8192, то есть 1 кибибайт. Если разрядность адреса составляет 8 бит (что покрывает 2<sup>8</sup> = 256 адресов), то разрядность данных `d = V / 2^a` это 8192 / 256 = 32 бита.
|
||||||
|
|
||||||
Однако, может быть такое, что не все ячейки памяти реализованы на кристалле микросхемы, то есть некоторые адреса существуют, но по ним не имеет смысла обращаться, а объем памяти, соответственно, не равен `V ≠ 2^a * d` — он меньше.
|
Однако, может быть такое, что не все ячейки памяти реализованы на кристалле микросхемы, то есть некоторые адреса существуют, но по ним не имеет смысла обращаться, а объем памяти, соответственно, не равен `V ≠ 2^a * d` — он меньше.
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ _Рисунок 2. Структурная схема логического бл
|
|||||||
|
|
||||||
Для реализации многопортовой памяти небольшого размера лучше воспользоваться расположенным в логическом блоке D-триггером (**DFF** на _рис. 2_). Несмотря на то, что D-триггер позволяет воспроизвести только 1 разряд элемента памяти, он не ограничивает реализацию по портам.
|
Для реализации многопортовой памяти небольшого размера лучше воспользоваться расположенным в логическом блоке D-триггером (**DFF** на _рис. 2_). Несмотря на то, что D-триггер позволяет воспроизвести только 1 разряд элемента памяти, он не ограничивает реализацию по портам.
|
||||||
|
|
||||||
Таким образом, преимущество распределенной памяти относительно регистровой заключается в лучшей утилизации ресурсов: одним трёхвходовым LUT можно описать до 8 бит распределенной памяти, в то время как одним D-триггером можно описать только один бит регистровой памяти. Предположим, что в ПЛИС размещены логические блоки, структура которых изображена на _рис. 2_ и нам необходимо реализовать 1KiB памяти. Мы можем реализовать распределенную память, используя 64 логических блока (в каждом блоке два трёхвходовых LUT), либо регистровую память, используя 1024 логических блока.
|
Таким образом, преимущество распределенной памяти относительно регистровой заключается в лучшей утилизации ресурсов: одним трёхвходовым LUT можно описать до 8 бит распределенной памяти, в то время как одним D-триггером можно описать только один бит регистровой памяти. Предположим, что в ПЛИС размещены логические блоки, структура которых изображена на _рис. 2_ и нам необходимо реализовать 1 KiB памяти. Мы можем реализовать распределенную память, используя 64 логических блока (в каждом блоке два трёхвходовых LUT), либо регистровую память, используя 1024 логических блока.
|
||||||
|
|
||||||
Недостатком является ограниченность в реализации многопортовой памяти.
|
Недостатком является ограниченность в реализации многопортовой памяти.
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
### Адресное пространство
|
### Адресное пространство
|
||||||
|
|
||||||
Архитектура RISC-V подразумевает использование совместного адресного пространства — это значит, что в лабораторной работе будет использована единая шина для подключения памяти и регистров управления периферийными устройствами. При обращении по одному диапазону адресов процессор будет попадать в память, при обращении по другим – взаимодействовать с регистрами управления/статуса периферийного устройства. Например, можно разделить 32-битное адресное пространство на 256 частей, отдав старшие 8 бит адреса под указание конкретного периферийного устройства. Тогда каждое из периферийных устройств получит 24-битное адресное пространство (16 MiB). Допустим, мы распределили эти части адресного пространства в следующем порядке (от младшего диапазона адресов к старшему):
|
Архитектура RISC-V подразумевает использование совместного адресного пространства — это значит, что в лабораторной работе будет использована единая шина для подключения памяти и регистров управления периферийными устройствами. При обращении по одному диапазону адресов процессор будет попадать в память, при обращении по другим – взаимодействовать с регистрами управления/статуса периферийного устройства. Например, можно разделить 32-битное адресное пространство на 256 частей, отдав старшие 8 бит адреса под указание конкретного периферийного устройства. Тогда каждое из периферийных устройств получит 24-битное адресное пространство (16 MiB). Допустим, мы распределили эти части адресного пространства в следующем порядке (от младшего диапазона адресов к старшему):
|
||||||
|
|
||||||
0. Память данных
|
0. Память данных
|
||||||
1. Переключатели
|
1. Переключатели
|
||||||
@@ -697,7 +697,7 @@ _Рисунок 4. Отрисовка символа `F` в разрешении
|
|||||||
|
|
||||||
Данный символ состоит из 16 строчек по 8 пикселей. Каждый пиксель кодируется одним битом (горит/не горит, цвет символа/фоновый цвет). Каждая строчка кодируется одним байтом (8 бит на 8 пикселей). Таким образом, каждый символ в шрифте требует 16 байт памяти.
|
Данный символ состоит из 16 строчек по 8 пикселей. Каждый пиксель кодируется одним битом (горит/не горит, цвет символа/фоновый цвет). Каждая строчка кодируется одним байтом (8 бит на 8 пикселей). Таким образом, каждый символ в шрифте требует 16 байт памяти.
|
||||||
|
|
||||||
Данный модуль поддерживает 256 символов. Следовательно, для хранения шрифта под каждый из 256 символов требуется 16 * 256 = 4KiB памяти.
|
Данный модуль поддерживает 256 символов. Следовательно, для хранения шрифта под каждый из 256 символов требуется 16 * 256 = 4 KiB памяти.
|
||||||
|
|
||||||
Для хранения шрифтов в модуле отведён диапазон адресов `0x00002000-0x00002FFF`. В отличие от предыдущих диапазонов адресов, где каждый адрес был закреплён за соответствующей позицией символа в сетке `80x30`, адреса данного диапазона распределены следующим образом:
|
Для хранения шрифтов в модуле отведён диапазон адресов `0x00002000-0x00002FFF`. В отличие от предыдущих диапазонов адресов, где каждый адрес был закреплён за соответствующей позицией символа в сетке `80x30`, адреса данного диапазона распределены следующим образом:
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@
|
|||||||
5. EEPROM (электрически перезаписываемая программируемая память);
|
5. EEPROM (электрически перезаписываемая программируемая память);
|
||||||
6. PWM (Pulse-width modulation или широтно-импульсная модуляция);
|
6. PWM (Pulse-width modulation или широтно-импульсная модуляция);
|
||||||
7. Waveform generator (генерирует сигналы);
|
7. Waveform generator (генерирует сигналы);
|
||||||
8. Цифро-аналоговый преобразователь (ЦАП или DAG) и другие.
|
8. Цифро-аналоговый преобразователь (ЦАП или DAC) и другие.
|
||||||
|
|
||||||
Микроконтроллеры внутри рассматриваемого семейства отличаются размером памяти, количеством ножек, аналогово-цифровых преобразователей и максимальной аналогово-цифровой разрешающей способностью.
|
Микроконтроллеры внутри рассматриваемого семейства отличаются размером памяти, количеством ножек, аналогово-цифровых преобразователей и максимальной аналогово-цифровой разрешающей способностью.
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
Например:
|
Например:
|
||||||
|
|
||||||
- это RISC контроллер, поддерживающий 48 инструкций;
|
- это RISC контроллер, поддерживающий 48 инструкций;
|
||||||
- его входная тактовая частота — 32 MHz, минимальный тактовый цикл — 125 ns (величина критического пути);
|
- его входная тактовая частота — 32 MHz, минимальный тактовый цикл — 125 ns (величина критического пути);
|
||||||
- Он имеет C-компилятор, систему прерываний, 16-уровневый стек для вызова подпрограмм, четыре 8-битых таймера, Watchdog Timer (когда таймер досчитывает до конца, он сбрасывает микроконтроллер, то есть перезапускает его. Он нужен для того, чтобы избежать зависаний во время работы) и т.д.
|
- Он имеет C-компилятор, систему прерываний, 16-уровневый стек для вызова подпрограмм, четыре 8-битых таймера, Watchdog Timer (когда таймер досчитывает до конца, он сбрасывает микроконтроллер, то есть перезапускает его. Он нужен для того, чтобы избежать зависаний во время работы) и т.д.
|
||||||
|
|
||||||
Данный микроконтроллер имеет 3 конфигурации: с 8-ю, 14-ю и 16-ю ножкам.
|
Данный микроконтроллер имеет 3 конфигурации: с 8-ю, 14-ю и 16-ю ножкам.
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
|
|
||||||
Посмотрим 32-битный ARM микроконтроллер [STM32H723VE](https://www.st.com/en/microcontrollers-microprocessors/stm32h723ve.html).
|
Посмотрим 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.*
|
*Рис. 16. Cortex-A7 и Cortex-A15.*
|
||||||
|
|
||||||
При использовании двух ядер, одно может быть мене производительным чем другое, но при этом потреблять меньше энергии и использоваться в сценариях, где не нужна высокая эффективность. Переключения между ядрами позволяет балансировать между затратами на энергию и производительностью.
|
При использовании двух ядер, одно может быть мене производительным чем другое, но при этом потреблять меньше энергии и использоваться в сценариях, где не нужна высокая эффективность. Переключения между ядрами позволяет балансировать между затратами на энергию и производительностью.
|
||||||
|
Reference in New Issue
Block a user