Изменение регистра в ссылках на заголовки (#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,20 +2,20 @@
## Содержание
- [Лекция 12. Методы повышения производительности](#лекция-12-методы-повышения-производительности)
- [Содержание](#содержание)
- [Суперскалярный процессор](#суперскалярный-процессор)
- [Внеочередное выполнение команд](#внеочередное-выполнение-команд)
- [Переименование регистров](#переименование-регистров)
- [Переупорядочивание команд](#переупорядочивание-команд)
- [Централизованное окно команд](#централизованное-окно-команд)
- [Распределенное окно команд (алгоритм Томасуло)](#распределенное-окно-команд-алгоритм-томасуло)
- [Восстановление последовательности](#восстановление-последовательности)
- [Параллелизм](#параллелизм)
- [Многопоточность](#многопоточность)
- [Пакованная арифметика](#пакованная-арифметика)
- [Классификация Флинна](#классификация-флинна)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Лекция 12. Методы повышения производительности](#Лекция-12-Методы-повышения-производительности)
- [Содержание](#Содержание)
- [Суперскалярный процессор](#Суперскалярный-процессор)
- [Внеочередное выполнение команд](#Внеочередное-выполнение-команд)
- [Переименование регистров](#Переименование-регистров)
- [Переупорядочивание команд](#Переупорядочивание-команд)
- [Централизованное окно команд](#Централизованное-окно-команд)
- [Распределенное окно команд (алгоритм Томасуло)](#Распределенное-окно-команд-алгоритм-Томасуло)
- [Восстановление последовательности](#Восстановление-последовательности)
- [Параллелизм](#Параллелизм)
- [Многопоточность](#Многопоточность)
- [Пакованная арифметика](#Пакованная-арифметика)
- [Классификация Флинна](#Классификация-Флинна)
- [Основные материалы лекции](#Основные-материалы-лекции)
В последних лекциях разрабатывалось три микроархитектуры:

View File

@@ -2,18 +2,18 @@
## Содержание
- [Лекция 13. Виды и классификация архитектур](#лекция-13-виды-и-классификация-архитектур)
- [Содержание](#содержание)
- [Архитектура](#архитектура)
- [Классификация архитектур](#классификация-архитектур)
- [Классификация архитектур по способу хранения операндов](#классификация-архитектур-по-способу-хранения-операндов)
- [Классификация архитектур по составу и сложности команд](#классификация-архитектур-по-составу-и-сложности-команд)
- [Классификация архитектур по способу реализации условных переходов](#классификация-архитектур-по-способу-реализации-условных-переходов)
- [Классификация инструкций](#классификация-инструкций)
- [Классификация инструкций по функциональному назначению](#классификация-инструкций-по-функциональному-назначению)
- [Классификация инструкций по способу адресации операндов](#классификация-инструкций-по-способу-адресации-операндов)
- [Классификация инструкций по количеству операндов в инструкции](#классификация-инструкций-по-количеству-операндов-в-инструкции)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Лекция 13. Виды и классификация архитектур](#Лекция-13-Виды-и-классификация-архитектур)
- [Содержание](#Содержание)
- [Архитектура](#Архитектура)
- [Классификация архитектур](#Классификация-архитектур)
- [Классификация архитектур по способу хранения операндов](#Классификация-архитектур-по-способу-хранения-операндов)
- [Классификация архитектур по составу и сложности команд](#Классификация-архитектур-по-составу-и-сложности-команд)
- [Классификация архитектур по способу реализации условных переходов](#Классификация-архитектур-по-способу-реализации-условных-переходов)
- [Классификация инструкций](#Классификация-инструкций)
- [Классификация инструкций по функциональному назначению](#Классификация-инструкций-по-функциональному-назначению)
- [Классификация инструкций по способу адресации операндов](#Классификация-инструкций-по-способу-адресации-операндов)
- [Классификация инструкций по количеству операндов в инструкции](#Классификация-инструкций-по-количеству-операндов-в-инструкции)
- [Основные материалы лекции](#Основные-материалы-лекции)
## Архитектура

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)

View File

@@ -2,24 +2,24 @@
## Содержание
- [Лекция 15. Память](#лекция-15-память)
- [Содержание](#содержание)
- [Определение](#определение)
- [Характеристики](#характеристики)
- [Метод доступа к данным](#метод-доступа-к-данным)
- [Иерархия памяти](#иерархия-памяти)
- [Локальность по обращению](#локальность-по-обращению)
- [Статическая и динамическая память](#статическая-и-динамическая-память)
- [Регенерация DRAM](#регенерация-dram)
- [Сравнение SRAM и DRAM](#сравнение-sram-и-dram)
- [Структура микросхемы памяти](#структура-микросхемы-памяти)
- [Блочная память](#блочная-память)
- [Расслоение памяти](#расслоение-памяти)
- [Способы доставки данных](#способы-доставки-данных)
- [Энергонезависимая память](#энергонезависимая-память)
- [Лекция 15. Память](#Лекция-15-Память)
- [Содержание](#Содержание)
- [Определение](#Определение)
- [Характеристики](#Характеристики)
- [Метод доступа к данным](#Метод-доступа-к-данным)
- [Иерархия памяти](#Иерархия-памяти)
- [Локальность по обращению](#Локальность-по-обращению)
- [Статическая и динамическая память](#Статическая-и-динамическая-память)
- [Регенерация DRAM](#Регенерация-dram)
- [Сравнение SRAM и DRAM](#Сравнение-sram-и-dram)
- [Структура микросхемы памяти](#Структура-микросхемы-памяти)
- [Блочная память](#Блочная-память)
- [Расслоение памяти](#Расслоение-памяти)
- [Способы доставки данных](#Способы-доставки-данных)
- [Энергонезависимая память](#Энергонезависимая-память)
- [Flash-память](#flash-память)
- [Защита памяти](#защита-памяти)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Защита памяти](#Защита-памяти)
- [Основные материалы лекции](#Основные-материалы-лекции)
## Определение
@@ -128,7 +128,7 @@ P.S. Стоит отметить, что не существует памяти,
### Расслоение памяти
У схемы блочной памяти, рассмотренной в прошлом примере, есть недостаток: если обращения идут к соседним ячейкам памяти, что происходит довольно часто из-за [пространственной локальности](#локальность-по-обращению), то обработка этих обращений будет осуществляться тоже последовательно. Эта проблема решается использованием **расслоения памяти** (см. рис. 8), т.е. соседние адреса будут находиться в разных банках памяти, вследствие чего запросы к соседним ячейкам памяти будут обрабатываться параллельно.
У схемы блочной памяти, рассмотренной в прошлом примере, есть недостаток: если обращения идут к соседним ячейкам памяти, что происходит довольно часто из-за [пространственной локальности](#Локальность-по-обращению), то обработка этих обращений будет осуществляться тоже последовательно. Эта проблема решается использованием **расслоения памяти** (см. рис. 8), т.е. соседние адреса будут находиться в разных банках памяти, вследствие чего запросы к соседним ячейкам памяти будут обрабатываться параллельно.
![../.pic/Lectures/15.%20Memory/fig_08.jpg](../.pic/Lectures/15.%20Memory/fig_08.jpg)

View File

@@ -2,24 +2,24 @@
## Содержание
- [Лекция 16. Кэш-память](#лекция-16-кэш-память)
- [Содержание](#содержание)
- [Кэш-память](#кэш-память)
- [Иерархия памяти](#иерархия-памяти)
- [Локальность данных](#локальность-данных)
- [Характеристики кэш-памяти](#характеристики-кэш-памяти)
- [Существует 3 вида кэш-памяти](#существует-3-вида-кэш-памяти)
- [Анализ производительности](#анализ-производительности)
- [Кэш прямого отображения](#кэш-прямого-отображения)
- [Идентификация строки](#идентификация-строки)
- [Множественно-ассоциативный кэш](#множественно-ассоциативный-кэш)
- [Полностью ассоциативный кэш](#полностью-ассоциативный-кэш)
- [Длина строки (блока)](#длина-строки-блока)
- [Алгоритмы замещения данных](#алгоритмы-замещения-данных)
- [Стратегии чтения и записи в кэш](#стратегии-чтения-и-записи-в-кэш)
- [Основные оптимизации кэш-памяти](#основные-оптимизации-кэш-памяти)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#дополнительные-материалы-к-лекции-для-саморазвития)
- [Лекция 16. Кэш-память](#Лекция-16-Кэш-память)
- [Содержание](#Содержание)
- [Кэш-память](#Кэш-память)
- [Иерархия памяти](#Иерархия-памяти)
- [Локальность данных](#Локальность-данных)
- [Характеристики кэш-памяти](#Характеристики-кэш-памяти)
- [Существует 3 вида кэш-памяти](#Существует-3-вида-кэш-памяти)
- [Анализ производительности](#Анализ-производительности)
- [Кэш прямого отображения](#Кэш-прямого-отображения)
- [Идентификация строки](#Идентификация-строки)
- [Множественно-ассоциативный кэш](#Множественно-ассоциативный-кэш)
- [Полностью ассоциативный кэш](#Полностью-ассоциативный-кэш)
- [Длина строки (блока)](#Длина-строки-блока)
- [Алгоритмы замещения данных](#Алгоритмы-замещения-данных)
- [Стратегии чтения и записи в кэш](#Стратегии-чтения-и-записи-в-кэш)
- [Основные оптимизации кэш-памяти](#Основные-оптимизации-кэш-памяти)
- [Основные материалы лекции](#Основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#Дополнительные-материалы-к-лекции-для-саморазвития)
## Кэш-память
@@ -30,7 +30,7 @@
*Рис. 1. Изменение в производительности процессоров и памяти с 80-х годов.*
**Что такое кэш-память?**
**Кэш-память** — это небольшой сегмент высокоскоростной памяти, обычно на базе **SRAM** ([**Static Random-Access Memory**](./15.%20Memory.md#статическая-и-динамическая-память)), расположенный непосредственно на процессоре или рядом с ним. Её главная функция — временное хранение тех данных, к которым процессор часто обращается. Основная цель такой памяти — уменьшить задержку доступа к данным, служа мостом между процессором и основной оперативной памятью.
**Кэш-память** — это небольшой сегмент высокоскоростной памяти, обычно на базе **SRAM** ([**Static Random-Access Memory**](./15.%20Memory.md#Статическая-и-динамическая-память)), расположенный непосредственно на процессоре или рядом с ним. Её главная функция — временное хранение тех данных, к которым процессор часто обращается. Основная цель такой памяти — уменьшить задержку доступа к данным, служа мостом между процессором и основной оперативной памятью.
**Для чего нужна кэш-память?**
Основное **предназначение кэш-памяти** — ускорение доступа процессора к часто используемым данным и командам, минимизируя зависимость от более медленной основной памяти. Благодаря этому, время реакции системы сокращается, делая её более отзывчивой и эффективной.
@@ -65,10 +65,10 @@
**Перед созданием Кэш-памяти нам нужно задаться 4-мя вопросами**:
- Где могут быть размещены данные в кэш-памяти? ([**Размещение строки в разных видах кэшах-памяти**](#существует-3-вида-кэш-памяти))
- Как найти данные в кэш-памяти? ([**Идентификация строки**](#идентификация-строки))
- Какие данные нужно заместить при заполненной кэш-памяти? ([**Алгоритмы замещение строки**](#алгоритмы-замещения-данных))
- Что происходит при записи в кэш-память? ([**Стратегия записи**](#стратегии-чтения-и-записи-в-кэш))
- Где могут быть размещены данные в кэш-памяти? ([**Размещение строки в разных видах кэшах-памяти**](#Существует-3-вида-кэш-памяти))
- Как найти данные в кэш-памяти? ([**Идентификация строки**](#Идентификация-строки))
- Какие данные нужно заместить при заполненной кэш-памяти? ([**Алгоритмы замещение строки**](#Алгоритмы-замещения-данных))
- Что происходит при записи в кэш-память? ([**Стратегия записи**](#Стратегии-чтения-и-записи-в-кэш))
## Характеристики кэш-памяти
@@ -90,9 +90,9 @@
### Существует 3 вида кэш-памяти
- [Кэш прямого отображения](#кэш-прямого-отображения) Набор S содержит только одну строку ***S = B***
- [Множественно-ассоциативный кэш](#множественно-ассоциативный-кэш) Каждый набор S состоит из N строк ***S = B/N***
- [Полностью ассоциативный кэш](#полностью-ассоциативный-кэш) Имеет только один набор ***S = 1***
- [Кэш прямого отображения](#Кэш-прямого-отображения) Набор S содержит только одну строку ***S = B***
- [Множественно-ассоциативный кэш](#Множественно-ассоциативный-кэш) Каждый набор S состоит из N строк ***S = B/N***
- [Полностью ассоциативный кэш](#Полностью-ассоциативный-кэш) Имеет только один набор ***S = 1***
#### Анализ производительности

View File

@@ -2,36 +2,36 @@
## Содержание
- [Лекция 17. Виртуальная память. Операционные системы](#лекция-17-виртуальная-память-операционные-системы)
- [Содержание](#содержание)
- [Виртуальная память](#виртуальная-память)
- [Виды адресов](#виды-адресов)
- [Преобразование адреса](#преобразование-адреса)
- [Реализация виртуальной памяти в процессоре](#реализация-виртуальной-памяти-в-процессоре)
- [Физические и виртуальные страницы](#физические-и-виртуальные-страницы)
- [Сравнение кэш и виртуальной памяти](#сравнение-кэш-и-виртуальной-памяти)
- [Особенности виртуальной памяти](#особенности-виртуальной-памяти)
- [Защита и приватность](#защита-и-приватность)
- [Основная память используется как кэш для внешней памяти](#основная-память-используется-как-кэш-для-внешней-памяти)
- [Буфер ассоциативной трансляции (TLB)](#буфер-ассоциативной-трансляции-tlb)
- [Использование TLB](#использование-tlb)
- [Метод ключей защиты](#метод-ключей-защиты)
- [Использование кэш и виртуальной памяти](#использование-кэш-и-виртуальной-памяти)
- [Стратегии замещения страниц](#стратегии-замещения-страниц)
- [Стратегия обратной записи (write-back)](#стратегия-обратной-записи-write-back)
- [Стратегия вытеснения редко используемых страниц (LRU)](#стратегия-вытеснения-редко-используемых-страниц-lru)
- [Многоуровневые таблицы страниц](#многоуровневые-таблицы-страниц)
- [Метод граничных регистров](#метод-граничных-регистров)
- [Операционная система](#операционная-система)
- [Процесс vs. программа](#процесс-vs-программа)
- [Цели операционной системы](#цели-операционной-системы)
- [Управление процессами и ресурсами в ядре операционной системы](#управление-процессами-и-ресурсами-в-ядре-операционной-системы)
- [Виртуальные машины](#виртуальные-машины)
- [Прерывания и исключения](#прерывания-и-исключения)
- [Системные вызовы](#системные-вызовы)
- [Системные вызовы RISC-V](#системные-вызовы-risc-v)
- [Жизненный цикл процесса](#жизненный-цикл-процесса)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Лекция 17. Виртуальная память. Операционные системы](#Лекция-17-Виртуальная-память-Операционные-системы)
- [Содержание](#Содержание)
- [Виртуальная память](#Виртуальная-память)
- [Виды адресов](#Виды-адресов)
- [Преобразование адреса](#Преобразование-адреса)
- [Реализация виртуальной памяти в процессоре](#Реализация-виртуальной-памяти-в-процессоре)
- [Физические и виртуальные страницы](#Физические-и-виртуальные-страницы)
- [Сравнение кэш и виртуальной памяти](#Сравнение-кэш-и-виртуальной-памяти)
- [Особенности виртуальной памяти](#Особенности-виртуальной-памяти)
- [Защита и приватность](#Защита-и-приватность)
- [Основная память используется как кэш для внешней памяти](#Основная-память-используется-как-кэш-для-внешней-памяти)
- [Буфер ассоциативной трансляции (TLB)](#Буфер-ассоциативной-трансляции-tlb)
- [Использование TLB](#Использование-tlb)
- [Метод ключей защиты](#Метод-ключей-защиты)
- [Использование кэш и виртуальной памяти](#Использование-кэш-и-виртуальной-памяти)
- [Стратегии замещения страниц](#Стратегии-замещения-страниц)
- [Стратегия обратной записи (write-back)](#Стратегия-обратной-записи-write-back)
- [Стратегия вытеснения редко используемых страниц (LRU)](#Стратегия-вытеснения-редко-используемых-страниц-lru)
- [Многоуровневые таблицы страниц](#Многоуровневые-таблицы-страниц)
- [Метод граничных регистров](#Метод-граничных-регистров)
- [Операционная система](#Операционная-система)
- [Процесс vs. программа](#Процесс-vs-программа)
- [Цели операционной системы](#Цели-операционной-системы)
- [Управление процессами и ресурсами в ядре операционной системы](#Управление-процессами-и-ресурсами-в-ядре-операционной-системы)
- [Виртуальные машины](#Виртуальные-машины)
- [Прерывания и исключения](#Прерывания-и-исключения)
- [Системные вызовы](#Системные-вызовы)
- [Системные вызовы RISC-V](#Системные-вызовы-risc-v)
- [Жизненный цикл процесса](#Жизненный-цикл-процесса)
- [Основные материалы лекции](#Основные-материалы-лекции)
## Виртуальная память

View File

@@ -2,41 +2,41 @@
## Содержание
- [Лекция 18. Синхронизация. Когерентность кеш](#лекция-18-синхронизация-когерентность-кеш)
- [Содержание](#содержание)
- [Параллелизм уровня потоков](#параллелизм-уровня-потоков)
- [Коммуникационные модели](#коммуникационные-модели)
- [Синхронизация (необходима при процессах, которые выполняются параллельно)](#синхронизация-необходима-при-процессах-которые-выполняются-параллельно)
- [Потокобезопасное программирование](#потокобезопасное-программирование)
- [Синхронная связь](#синхронная-связь)
- [Буфер FIFO(First input, first output)](#буфер-fifofirst-input-first-output)
- [Буфер FIFO с общей памятью](#буфер-fifo-с-общей-памятью)
- [Семафоры](#семафоры)
- [Семафоры для приоритета](#семафоры-для-приоритета)
- [Семафоры для распределения ресурсов](#семафоры-для-распределения-ресурсов)
- [Буфер FIFO с семафорами](#буфер-fifo-с-семафорами)
- [Одновременные транзакции](#одновременные-транзакции)
- [Семафоры для взаимных исключений](#семафоры-для-взаимных-исключений)
- [Проблемы атомарности](#проблемы-атомарности)
- [Мощность семафора](#мощность-семафора)
- [Реализация семафоров](#реализация-семафоров)
- [Синхронизация : обратная сторона](#синхронизация--обратная-сторона)
- [Обедающие философы](#обедающие-философы)
- [Решение](#решение)
- [Исправленный метод передачи на основе вышеописанного алгоритма с избежанием тупика](#исправленный-метод-передачи-на-основе-вышеописанного-алгоритма-с-избежанием-тупика)
- [Многоядерность](#многоядерность)
- [Когерентность кэш](#когерентность-кэш)
- [Поддержание когерентности](#поддержание-когерентности)
- [Реализация когерентности](#реализация-когерентности)
- [Лекция 18. Синхронизация. Когерентность кеш](#Лекция-18-Синхронизация-Когерентность-кеш)
- [Содержание](#Содержание)
- [Параллелизм уровня потоков](#Параллелизм-уровня-потоков)
- [Коммуникационные модели](#Коммуникационные-модели)
- [Синхронизация (необходима при процессах, которые выполняются параллельно)](#Синхронизация-необходима-при-процессах-которые-выполняются-параллельно)
- [Потокобезопасное программирование](#Потокобезопасное-программирование)
- [Синхронная связь](#Синхронная-связь)
- [Буфер FIFO(First input, first output)](#Буфер-fifofirst-input-first-output)
- [Буфер FIFO с общей памятью](#Буфер-fifo-с-общей-памятью)
- [Семафоры](#Семафоры)
- [Семафоры для приоритета](#Семафоры-для-приоритета)
- [Семафоры для распределения ресурсов](#Семафоры-для-распределения-ресурсов)
- [Буфер FIFO с семафорами](#Буфер-fifo-с-семафорами)
- [Одновременные транзакции](#Одновременные-транзакции)
- [Семафоры для взаимных исключений](#Семафоры-для-взаимных-исключений)
- [Проблемы атомарности](#Проблемы-атомарности)
- [Мощность семафора](#Мощность-семафора)
- [Реализация семафоров](#Реализация-семафоров)
- [Синхронизация : обратная сторона](#Синхронизация--обратная-сторона)
- [Обедающие философы](#Обедающие-философы)
- [Решение](#Решение)
- [Исправленный метод передачи на основе вышеописанного алгоритма с избежанием тупика](#Исправленный-метод-передачи-на-основе-вышеописанного-алгоритма-с-избежанием-тупика)
- [Многоядерность](#Многоядерность)
- [Когерентность кэш](#Когерентность-кэш)
- [Поддержание когерентности](#Поддержание-когерентности)
- [Реализация когерентности](#Реализация-когерентности)
- [Snooping-Based Coherence](#snooping-based-coherence)
- [Протокол Valid/Invalid (**VI**)](#протокол-validinvalid-vi)
- [Протокол Valid/Invalid (**VI**)](#Протокол-validinvalid-vi)
- [Modified/Shared/Invalid (MSI) протокол](#modifiedsharedinvalid-msi-протокол)
- [MSI протокол FSM](#msi-протокол-fsm)
- [Оптимизация MSI: состояние E](#оптимизация-msi-состояние-e)
- [Оптимизация MSI: состояние E](#Оптимизация-msi-состояние-e)
- [MESI: усовершенствованный](#mesi-усовершенствованный)
- [Когерентность кэш и ложное совместное использование](#когерентность-кэш-и-ложное-совместное-использование)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#дополнительные-материалы-к-лекции-для-саморазвития)
- [Когерентность кэш и ложное совместное использование](#Когерентность-кэш-и-ложное-совместное-использование)
- [Основные материалы лекции](#Основные-материалы-лекции)
- [Дополнительные материалы к лекции для саморазвития](#Дополнительные-материалы-к-лекции-для-саморазвития)
## Параллелизм уровня потоков

View File

@@ -1,23 +1,23 @@
# Лекция 19. Шины.
- [Лекция 19. Шины.](#лекция-19-шины)
- [Системы соединений](#системы-соединений)
- [Интерфейс](#интерфейс)
- [Шина](#шина)
- [Терминология](#терминология)
- [Обмен информации](#обмен-информации)
- [Типы шин](#типы-шин)
- [Иерархия шин](#иерархия-шин)
- [Арбитраж шин](#арбитраж-шин)
- [Алгоритмы арбитража](#алгоритмы-арбитража)
- [Схемы арбитража](#схемы-арбитража)
- [Протоколы шин](#протоколы-шин)
- [Повышение эффективности шин](#повышение-эффективности-шин)
- [Увеличение полосы пропускания](#увеличение-полосы-пропускания)
- [Стандартизация шин](#стандартизация-шин)
- [Последовательный синхронный обмен](#последовательный-синхронный-обмен)
- [Последовательный асинхронный обмен](#последовательный-асинхронный-обмен)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Лекция 19. Шины.](#Лекция-19-Шины)
- [Системы соединений](#Системы-соединений)
- [Интерфейс](#Интерфейс)
- [Шина](#Шина)
- [Терминология](#Терминология)
- [Обмен информации](#Обмен-информации)
- [Типы шин](#Типы-шин)
- [Иерархия шин](#Иерархия-шин)
- [Арбитраж шин](#Арбитраж-шин)
- [Алгоритмы арбитража](#Алгоритмы-арбитража)
- [Схемы арбитража](#Схемы-арбитража)
- [Протоколы шин](#Протоколы-шин)
- [Повышение эффективности шин](#Повышение-эффективности-шин)
- [Увеличение полосы пропускания](#Увеличение-полосы-пропускания)
- [Стандартизация шин](#Стандартизация-шин)
- [Последовательный синхронный обмен](#Последовательный-синхронный-обмен)
- [Последовательный асинхронный обмен](#Последовательный-асинхронный-обмен)
- [Основные материалы лекции](#Основные-материалы-лекции)
## Системы соединений

View File

@@ -2,26 +2,26 @@
## Содержание
- [Лекция 20. Ввод\\Вывод](#лекция-20-вводвывод)
- [Содержание](#содержание)
- [Системы ввода-вывода](#системы-ввода-вывода)
- [Система ввода-вывода подключена к центральному процессору с помощью отдельной шины](#система-ввода-вывода-подключена-к-центральному-процессору-с-помощью-отдельной-шины)
- [Система ввода-вывода имеет отдельную от памяти шину управления, но совместную шину адреса и данных](#система-ввода-вывода-имеет-отдельную-от-памяти-шину-управления-но-совместную-шину-адреса-и-данных)
- [Система ввода-вывода имеет единую шину с основной памятью](#система-ввода-вывода-имеет-единую-шину-с-основной-памятью)
- [Адресное пространство](#адресное-пространство)
- [Системы с выделенным адресным пространством](#системы-с-выделенным-адресным-пространством)
- [Системы с совмещенным (совместным) адресным пространством](#системы-с-совмещенным-совместным-адресным-пространством)
- [Структура периферийного устройства](#структура-периферийного-устройства)
- [Модули ввода-вывода](#модули-ввода-вывода)
- [Ввод-вывод с опросом](#ввод-вывод-с-опросом)
- [Ввод-вывод с прерываниями](#ввод-вывод-с-прерываниями)
- [Прямой доступ к памяти (ПДП или Direct Memory Access — DMA)](#прямой-доступ-к-памяти-пдп-или-direct-memory-access--dma)
- [Конфигурации ПДП(DMA)](#конфигурации-пдпdma)
- [Канальная система ввода-вывода](#канальная-система-ввода-вывода)
- [Лекция 20. Ввод\\Вывод](#Лекция-20-ВводВывод)
- [Содержание](#Содержание)
- [Системы ввода-вывода](#Системы-ввода-вывода)
- [Система ввода-вывода подключена к центральному процессору с помощью отдельной шины](#Система-ввода-вывода-подключена-к-центральному-процессору-с-помощью-отдельной-шины)
- [Система ввода-вывода имеет отдельную от памяти шину управления, но совместную шину адреса и данных](#Система-ввода-вывода-имеет-отдельную-от-памяти-шину-управления-но-совместную-шину-адреса-и-данных)
- [Система ввода-вывода имеет единую шину с основной памятью](#Система-ввода-вывода-имеет-единую-шину-с-основной-памятью)
- [Адресное пространство](#Адресное-пространство)
- [Системы с выделенным адресным пространством](#Системы-с-выделенным-адресным-пространством)
- [Системы с совмещенным (совместным) адресным пространством](#Системы-с-совмещенным-совместным-адресным-пространством)
- [Структура периферийного устройства](#Структура-периферийного-устройства)
- [Модули ввода-вывода](#Модули-ввода-вывода)
- [Ввод-вывод с опросом](#Ввод-вывод-с-опросом)
- [Ввод-вывод с прерываниями](#Ввод-вывод-с-прерываниями)
- [Прямой доступ к памяти (ПДП или Direct Memory Access — DMA)](#Прямой-доступ-к-памяти-ПДП-или-direct-memory-access--dma)
- [Конфигурации ПДП(DMA)](#Конфигурации-ПДПdma)
- [Канальная система ввода-вывода](#Канальная-система-ввода-вывода)
- [RAID](#raid)
- [JTAG (Join Test Action Group)](#jtag-join-test-action-group)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Дополнительные материалы к лекции](#дополнительные-материалы-к-лекции)
- [Основные материалы лекции](#Основные-материалы-лекции)
- [Дополнительные материалы к лекции](#Дополнительные-материалы-к-лекции)
## Системы ввода-вывода

View File

@@ -2,14 +2,14 @@
## Содержание
- [Лекция 21. Микроконтроллеры](#лекция-21-микроконтроллеры)
- [Содержание](#содержание)
- [Микроконтроллеры на примере PIC](#микроконтроллеры-на-примере-pic)
- [Лекция 21. Микроконтроллеры](#Лекция-21-Микроконтроллеры)
- [Содержание](#Содержание)
- [Микроконтроллеры на примере PIC](#Микроконтроллеры-на-примере-pic)
- [PIC16F18313](#pic16f18313)
- [Микроконтроллеры на примере ARM](#микроконтроллеры-на-примере-arm)
- [Программа для микроконтроллера stm32f10x на языке C](#программа-для-микроконтроллера-stm32f10x-на-языке-c)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Дополнительные материалы к лекции](#дополнительные-материалы-к-лекции)
- [Микроконтроллеры на примере ARM](#Микроконтроллеры-на-примере-arm)
- [Программа для микроконтроллера stm32f10x на языке C](#Программа-для-микроконтроллера-stm32f10x-на-языке-c)
- [Основные материалы лекции](#Основные-материалы-лекции)
- [Дополнительные материалы к лекции](#Дополнительные-материалы-к-лекции)
> *Микроконтроллер* — это устройство, которое объединяет в себе процессор и ряд периферийных устройств и занимается управлением.

View File

@@ -2,18 +2,18 @@
## Содержание
- [Лекция 22. Системы общего назначения](#лекция-22-системы-общего-назначения)
- [Содержание](#содержание)
- [Микропроцессоры](#микропроцессоры)
- [История x86](#история-x86)
- [Тик-так](#тик-так)
- [Лекция 22. Системы общего назначения](#Лекция-22-Системы-общего-назначения)
- [Содержание](#Содержание)
- [Микропроцессоры](#Микропроцессоры)
- [История x86](#История-x86)
- [Тик-так](#Тик-так)
- [Coffee lake](#coffee-lake)
- [Front-end](#front-end)
- [Execution Engine](#execution-engine)
- [Gen9.5](#gen95)
- [AMD Zen](#amd-zen)
- [Из чего состоит компьютер?](#из-чего-состоит-компьютер)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Из чего состоит компьютер?](#Из-чего-состоит-компьютер)
- [Основные материалы лекции](#Основные-материалы-лекции)
## Микропроцессоры

View File

@@ -2,22 +2,22 @@
## Содержание
- [Лекция 23. Параллельные вычислительные системы](#лекция-23-параллельные-вычислительные-системы)
- [Содержание](#содержание)
- [Классификация](#классификация)
- [По области применения](#по-области-применения)
- [По особенностям назначения](#по-особенностям-назначения)
- [Классификация Флинна](#классификация-флинна)
- [Альтернативная классификация](#альтернативная-классификация)
- [Классификация по памяти](#классификация-по-памяти)
- [Обобщенная структура параллельно вычислительной системы](#обобщенная-структура-параллельно-вычислительной-системы)
- [Матричные вычислительные системы](#матричные-вычислительные-системы)
- [Кластерные вычислительные системы (ВС)](#кластерные-вычислительные-системы-вс)
- [Топология малых кластеров](#топология-малых-кластеров)
- [Реконфигурируемые вычислительные системы](#реконфигурируемые-вычислительные-системы)
- [Систолические вычислительные системы](#систолические-вычислительные-системы)
- [Системы, управляемые потоками данных](#системы-управляемые-потоками-данных)
- [Основные материалы лекции](#основные-материалы-лекции)
- [Лекция 23. Параллельные вычислительные системы](#Лекция-23-Параллельные-вычислительные-системы)
- [Содержание](#Содержание)
- [Классификация](#Классификация)
- [По области применения](#По-области-применения)
- [По особенностям назначения](#По-особенностям-назначения)
- [Классификация Флинна](#Классификация-Флинна)
- [Альтернативная классификация](#Альтернативная-классификация)
- [Классификация по памяти](#Классификация-по-памяти)
- [Обобщенная структура параллельно вычислительной системы](#Обобщенная-структура-параллельно-вычислительной-системы)
- [Матричные вычислительные системы](#Матричные-вычислительные-системы)
- [Кластерные вычислительные системы (ВС)](#Кластерные-вычислительные-системы-ВС)
- [Топология малых кластеров](#Топология-малых-кластеров)
- [Реконфигурируемые вычислительные системы](#Реконфигурируемые-вычислительные-системы)
- [Систолические вычислительные системы](#Систолические-вычислительные-системы)
- [Системы, управляемые потоками данных](#Системы-управляемые-потоками-данных)
- [Основные материалы лекции](#Основные-материалы-лекции)
**Параллельные вычислительные системы (ПВС)** нужны для повышения производительности, чтобы выполнять вычисления как можно быстрее за счёт того, что каждое ядро решает свои задачи. Однако параллелизм бывает разный, об этом и рассказывается в рамках этой лекции.