Изменение регистра в ссылках на заголовки (#151)

По умолчанию, якоря на параграфы страницы генерируются в VSCode в
нижнем регистре.
Гиперссылки работают нормально при просмотре страниц непосредственно
в репозитории github, но при просмотре в электронной книге mdbook, эти
гиперссылки не открываются. Для того чтобы они работали, необходимо
чтобы регистр якорей ссылки совпадал с регистром параграфов страницы.


---------

Co-authored-by: Andrei Solodovnikov <voultboy@yandex.ru>
This commit is contained in:
Rufubi
2025-11-02 19:33:22 +00:00
committed by GitHub
parent 71a9c0141b
commit a01f986d8e
41 changed files with 391 additions and 391 deletions

View File

@@ -2,29 +2,29 @@
## Содержание
- [Лекция 14. Подсистема прерывания](#лекция-14-подсистема-прерывания)
- [Содержание](#содержание)
- [Определение](#определение)
- [Сканирование-входов](#сканирование-входов)
- [Передача управления при прерывании](#передача-управления-при-прерывании)
- [Классификация событий прерывания](#классификация-событий-прерывания)
- [Основные характеристики прерываний](#основные-характеристики-прерываний)
- [Допустимые моменты прерывания программы](#допустимые-моменты-прерывания-программы)
- [Маски́рование прерывания](#маски́рование-прерывания)
- [Способы выявления прерывания](#способы-выявления-прерывания)
- [Схемы реализации контроллера прерываний](#схемы-реализации-контроллера-прерываний)
- [Контроллер прерывания](#контроллер-прерывания)
- [Лекция 14. Подсистема прерывания](#Лекция-14-подсистема-прерывания)
- [Содержание](#Содержание)
- [Определение](#Определение)
- [Сканирование-входов](#Сканирование-входов)
- [Передача управления при прерывании](#Передача-управления-при-прерывании)
- [Классификация событий прерывания](#Классификация-событий-прерывания)
- [Основные характеристики прерываний](#Основные-характеристики-прерываний)
- [Допустимые моменты прерывания программы](#Допустимые-моменты-прерывания-программы)
- [Маски́рование прерывания](#Маскирование-прерывания)
- [Способы выявления прерывания](#Способы-выявления-прерывания)
- [Схемы реализации контроллера прерываний](#Схемы-реализации-контроллера-прерываний)
- [Контроллер прерывания](#Контроллер-прерывания)
- [Control and Status Register RISC-V](#control-and-status-register-risc-v)
- [Подсистема прерываний для RISC-V](#подсистема-прерываний-для-risc-v)
- [Программа, реализующая прерывания на ассемблере](#программа-реализующая-прерывания-на-ассемблере)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#дополнительные-материалы-к-лекции-для-саморазвития)
- [Подсистема прерываний для RISC-V](#Подсистема-прерываний-для-risc-v)
- [Программа, реализующая прерывания на ассемблере](#Программа-реализующая-прерывания-на-ассемблере)
- [Основные материалы лекции](#Основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#Дополнительные-материалы-к-лекции-для-саморазвития)
## Определение
**Прерывание** — событие, на которое реагирует процессор.
ример_: Перемещение мыши. Если бы не было прерываний, то процессор был бы вынужден постоянно обращаться к мыши с целью узнать: изменилось ли её положение или нет, стоит ли перерисовать курсор. А это очень ресурсоёмко. Такой подход называется [сканирование входов](#сканирование-входов).
ример_: Перемещение мыши. Если бы не было прерываний, то процессор был бы вынужден постоянно обращаться к мыши с целью узнать: изменилось ли её положение или нет, стоит ли перерисовать курсор. А это очень ресурсоёмко. Такой подход называется [сканирование входов](#Сканирование-входов).
### Сканирование-входов
@@ -90,7 +90,7 @@ _Пример_: Перемещение мыши. Если бы не было п
Этот метод позволяет реагировать на прерывание на любом такте.
### Маски́рование прерывания
### Маскирование прерывания
**Маска прерывания** — это регистр, отвечающий за разрешение на прерывание (см. рис. 4). Эта маска побитово перемножается с запросами на прерывание других устройств/модулей. Если в результате перемножения получилась хотя бы одна 1, то формируется сигнал `interrupt`, который подаётся на блок управления процессора.
@@ -110,7 +110,7 @@ _Пример_: Перемещение мыши. Если бы не было п
## Схемы реализации контроллера прерываний
[**Контроллер прерывания**](#контроллер-прерывания) — устройство, которое отвечает за передачу сигнала прерывания процессору и формирование кода причины прерывания.
[**Контроллер прерывания**](#Контроллер-прерывания) — устройство, которое отвечает за передачу сигнала прерывания процессору и формирование кода причины прерывания.
- **Цепочечная схема**
@@ -191,7 +191,7 @@ _Пример_: Перемещение мыши. Если бы не было п
*Рис. 12. Верхняя часть схемы CSR.*
Она нужна для реализации инструкций для работы с CSR. В зависимости от нужной инструкции у выхода `WD` будет своё значение. На нулевой вход мультиплексора поступают нули, если не требуется запись в регистры.
Отдельно стоит отметить, что значение регистра причины прерывания `mcause` берётся из контроллера прерывания. А значение регистра маски прерывании `mie`, которое мы устанавливаем в блоке CSR, отправляется в контроллер прерывания. Давайте рассмотрим устройство контроллера прерывания. У него будет [схема с циклическим опросом](#схемы-реализации-контроллера-прерываний) (см. рис. 13):
Отдельно стоит отметить, что значение регистра причины прерывания `mcause` берётся из контроллера прерывания. А значение регистра маски прерывании `mie`, которое мы устанавливаем в блоке CSR, отправляется в контроллер прерывания. Давайте рассмотрим устройство контроллера прерывания. У него будет [схема с циклическим опросом](#Схемы-реализации-контроллера-прерываний) (см. рис. 13):
![../.pic/Lectures/14.%20Interrupt%20subsystem/fig_13.jpg](../.pic/Lectures/14.%20Interrupt%20subsystem/fig_13.jpg)