mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 09:40:10 +00:00
Корректировка конспектов лекций (#131)
* Корректировки конспектов лекций * Корректировка конспекта лекции 5 * Корректировка конспекта лекции 8 * Корректировка конспекта лекции 9 * Корректировка конспекта лекции 10 * Корректировка конспекта лекции 11 * Корректировка конспекта лекции 12 * Корректировка конспекта лекции 13 * Корректировка конспекта лекции 12 * Корректировка конспекта лекции 14 * Корректировка конспекта лекции 16 * Корректировка конспекта лекции 17 * Корректировка конспекта лекции * Корректировка конспекта лекции 20 * Корректировка конспекта лекции 21 * Корректировка конспекта лекции 22 * Корректировка конспекта лекции 23 * Корректировка конспекта лекции 13 * Корректировка конспекта лекции 12 * Корректировка конспекта лекции 20
This commit is contained in:
@@ -114,7 +114,7 @@ _Пример_: Перемещение мыши. Если бы не было п
|
||||
|
||||
- **Цепочечная схема**
|
||||
|
||||
От процессора идет сигнал подтверждения `ПДТ`, который приходит только тогда, когда процессор готов обработать какое-то прерывание (см. рис. 5.). Этот сигнал приходит на вход первого устройства, которое, в случае необходимости, выдаёт процессору сигнал на прерывание и вектор прерывания. Если же в прерывании от первого устройства нет необходимости, то сигнал подтверждения передаётся на следующее устройство и т.д. Цепочечная схема проста в реализации, но очень медленная. К тому же в этой схеме некоторые устройства имеют приоритет на другими в очерёдности обработки запроса на прерывание. Также существует вероятность, что до последних устройств никогда не дойдёт сигнал подтверждения, и процессор не обработает их запрос на прерывание.
|
||||
От процессора идет сигнал подтверждения `ПДТ`, который приходит только тогда, когда процессор готов обработать какое-то прерывание (см. рис. 5.). Этот сигнал приходит на вход первого устройства, которое, в случае необходимости, выдаёт процессору сигнал на прерывание и вектор прерывания. Если же в прерывании от первого устройства нет необходимости, то сигнал подтверждения передаётся на следующее устройство и т.д. Цепочечная схема проста в реализации, но очень медленная. К тому же в этой схеме некоторые устройства имеют приоритет над другими в очерёдности обработки запроса на прерывание. Также существует вероятность, что до последних устройств никогда не дойдёт сигнал подтверждения, и процессор не обработает их запрос на прерывание.
|
||||
|
||||

|
||||
|
||||
@@ -122,7 +122,7 @@ _Пример_: Перемещение мыши. Если бы не было п
|
||||
|
||||
- **Схема с циклическим опросом**
|
||||
|
||||
Каждый раз, когда в счётчик `СТ` приходит сигнал `C` (тактирование), он увеличивает своё значение (см рис. 6). Затем это значение подаётся на вход дешифратору `DC`, который только на одном выходе выдаёт 1. И каждый такт меняется номер выхода от 0 до N. Если во время обхода всех выходов появится сигнал на прерывание, то этот сигнал отправится на RS триггер, который затем отправит `interrupt` сигнал процессору. А на вход `C` счётчика `CT` будет отправлен 0. В таком случае счётчик перестанет суммировать, и он будет иметь значение кода номера прерывания.
|
||||
Каждый раз, когда в счётчик `СТ` приходит сигнал `C` (тактирование), он увеличивает своё значение (см. рис. 6). Затем это значение подаётся на вход дешифратору `DC`, который только на одном выходе выдаёт 1. И каждый такт меняется номер выхода от 0 до N. Если во время обхода всех выходов появится сигнал на прерывание, то этот сигнал отправится на RS триггер, который затем отправит `interrupt` сигнал процессору. А на вход `C` счётчика `CT` будет отправлен 0. В таком случае счётчик перестанет суммировать, и он будет иметь значение кода номера прерывания.
|
||||
|
||||

|
||||
|
||||
@@ -151,19 +151,19 @@ _Пример_: Перемещение мыши. Если бы не было п
|
||||
|
||||
| Номер | Привилегия | Имя | Описание |
|
||||
|:------------|:-----------|:----------|:-----------------------------------------------------------|
|
||||
| Ox304 | MRW | mie | Регистр маски |
|
||||
| Ox305 | MRW | mtvec | Регистр вектора прерывания |
|
||||
| Ox340 | MRW | mscratch | Регистр указателя на стек прерывания |
|
||||
| Ox341 | MRW | mepc | Регистр адреса инструкции, на котором случилось прерывание |
|
||||
| Ox342 | MRW | mcause | Регистр причины (кода) прерывания |
|
||||
| 0x304 | MRW | mie | Регистр маски |
|
||||
| 0x305 | MRW | mtvec | Регистр вектора прерывания |
|
||||
| 0x340 | MRW | mscratch | Регистр указателя на стек прерывания |
|
||||
| 0x341 | MRW | mepc | Регистр адреса инструкции, на котором случилось прерывание |
|
||||
| 0x342 | MRW | mcause | Регистр причины (кода) прерывания |
|
||||
|
||||
Инструкции для работы с CSR:
|
||||
|
||||
| Opcode | func3 | Тип | Инструкция | Описание | Операция |
|
||||
|:----------|:------|:-----|:--------------------|:--------------------------|:------------------------|
|
||||
| 1110011 | 000 | I | mret | Возврат и прерывание | PC=merc |
|
||||
| 1110011 | 000 | I | mret | Возврат и прерывание | PC=mepc |
|
||||
| 1110011 | 001 | I | csrrw rd, csr, rs1 | Чтение/запись CSR | rd = csr, csr=rs1 |
|
||||
| 1110011 | 010 | I | csrrs rd, csr, rs1 | Чтение/установка бит CSR | rd = csr, csr=rs1\|rs1 |
|
||||
| 1110011 | 010 | I | csrrs rd, csr, rs1 | Чтение/установка бит CSR | rd = csr, csr=csr\|rs1 |
|
||||
| 1110011 | 011 | I | csrrc rd, csr, rs1 | Чтение/очистка бит CSR | rd=csr, csr=csr&~rs1 |
|
||||
|
||||
## Подсистема прерываний для RISC-V
|
||||
|
Reference in New Issue
Block a user