mirror of
https://github.com/MPSU/APS.git
synced 2025-11-20 06:50:41 +00:00
Изменение регистра в ссылках на заголовки (#151)
По умолчанию, якоря на параграфы страницы генерируются в VSCode в нижнем регистре. Гиперссылки работают нормально при просмотре страниц непосредственно в репозитории github, но при просмотре в электронной книге mdbook, эти гиперссылки не открываются. Для того чтобы они работали, необходимо чтобы регистр якорей ссылки совпадал с регистром параграфов страницы. --------- Co-authored-by: Andrei Solodovnikov <voultboy@yandex.ru>
This commit is contained in:
@@ -2,20 +2,20 @@
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Лекция 12. Методы повышения производительности](#лекция-12-методы-повышения-производительности)
|
||||
- [Содержание](#содержание)
|
||||
- [Суперскалярный процессор](#суперскалярный-процессор)
|
||||
- [Внеочередное выполнение команд](#внеочередное-выполнение-команд)
|
||||
- [Переименование регистров](#переименование-регистров)
|
||||
- [Переупорядочивание команд](#переупорядочивание-команд)
|
||||
- [Централизованное окно команд](#централизованное-окно-команд)
|
||||
- [Распределенное окно команд (алгоритм Томасуло)](#распределенное-окно-команд-алгоритм-томасуло)
|
||||
- [Восстановление последовательности](#восстановление-последовательности)
|
||||
- [Параллелизм](#параллелизм)
|
||||
- [Многопоточность](#многопоточность)
|
||||
- [Пакованная арифметика](#пакованная-арифметика)
|
||||
- [Классификация Флинна](#классификация-флинна)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Лекция 12. Методы повышения производительности](#Лекция-12-Методы-повышения-производительности)
|
||||
- [Содержание](#Содержание)
|
||||
- [Суперскалярный процессор](#Суперскалярный-процессор)
|
||||
- [Внеочередное выполнение команд](#Внеочередное-выполнение-команд)
|
||||
- [Переименование регистров](#Переименование-регистров)
|
||||
- [Переупорядочивание команд](#Переупорядочивание-команд)
|
||||
- [Централизованное окно команд](#Централизованное-окно-команд)
|
||||
- [Распределенное окно команд (алгоритм Томасуло)](#Распределенное-окно-команд-алгоритм-Томасуло)
|
||||
- [Восстановление последовательности](#Восстановление-последовательности)
|
||||
- [Параллелизм](#Параллелизм)
|
||||
- [Многопоточность](#Многопоточность)
|
||||
- [Пакованная арифметика](#Пакованная-арифметика)
|
||||
- [Классификация Флинна](#Классификация-Флинна)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
В последних лекциях разрабатывалось три микроархитектуры:
|
||||
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Лекция 13. Виды и классификация архитектур](#лекция-13-виды-и-классификация-архитектур)
|
||||
- [Содержание](#содержание)
|
||||
- [Архитектура](#архитектура)
|
||||
- [Классификация архитектур](#классификация-архитектур)
|
||||
- [Классификация архитектур по способу хранения операндов](#классификация-архитектур-по-способу-хранения-операндов)
|
||||
- [Классификация архитектур по составу и сложности команд](#классификация-архитектур-по-составу-и-сложности-команд)
|
||||
- [Классификация архитектур по способу реализации условных переходов](#классификация-архитектур-по-способу-реализации-условных-переходов)
|
||||
- [Классификация инструкций](#классификация-инструкций)
|
||||
- [Классификация инструкций по функциональному назначению](#классификация-инструкций-по-функциональному-назначению)
|
||||
- [Классификация инструкций по способу адресации операндов](#классификация-инструкций-по-способу-адресации-операндов)
|
||||
- [Классификация инструкций по количеству операндов в инструкции](#классификация-инструкций-по-количеству-операндов-в-инструкции)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Лекция 13. Виды и классификация архитектур](#Лекция-13-Виды-и-классификация-архитектур)
|
||||
- [Содержание](#Содержание)
|
||||
- [Архитектура](#Архитектура)
|
||||
- [Классификация архитектур](#Классификация-архитектур)
|
||||
- [Классификация архитектур по способу хранения операндов](#Классификация-архитектур-по-способу-хранения-операндов)
|
||||
- [Классификация архитектур по составу и сложности команд](#Классификация-архитектур-по-составу-и-сложности-команд)
|
||||
- [Классификация архитектур по способу реализации условных переходов](#Классификация-архитектур-по-способу-реализации-условных-переходов)
|
||||
- [Классификация инструкций](#Классификация-инструкций)
|
||||
- [Классификация инструкций по функциональному назначению](#Классификация-инструкций-по-функциональному-назначению)
|
||||
- [Классификация инструкций по способу адресации операндов](#Классификация-инструкций-по-способу-адресации-операндов)
|
||||
- [Классификация инструкций по количеству операндов в инструкции](#Классификация-инструкций-по-количеству-операндов-в-инструкции)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
## Архитектура
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -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), т.е. соседние адреса будут находиться в разных банках памяти, вследствие чего запросы к соседним ячейкам памяти будут обрабатываться параллельно.
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -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***
|
||||
|
||||
#### Анализ производительности
|
||||
|
||||
|
||||
@@ -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)
|
||||
- [Жизненный цикл процесса](#Жизненный-цикл-процесса)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
## Виртуальная память
|
||||
|
||||
|
||||
@@ -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-усовершенствованный)
|
||||
- [Когерентность кэш и ложное совместное использование](#когерентность-кэш-и-ложное-совместное-использование)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Дополнительные материалы к лекции для саморазвития](#дополнительные-материалы-к-лекции-для-саморазвития)
|
||||
- [Когерентность кэш и ложное совместное использование](#Когерентность-кэш-и-ложное-совместное-использование)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
- [Дополнительные материалы к лекции для саморазвития](#Дополнительные-материалы-к-лекции-для-саморазвития)
|
||||
|
||||
## Параллелизм уровня потоков
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
# Лекция 19. Шины.
|
||||
|
||||
- [Лекция 19. Шины.](#лекция-19-шины)
|
||||
- [Системы соединений](#системы-соединений)
|
||||
- [Интерфейс](#интерфейс)
|
||||
- [Шина](#шина)
|
||||
- [Терминология](#терминология)
|
||||
- [Обмен информации](#обмен-информации)
|
||||
- [Типы шин](#типы-шин)
|
||||
- [Иерархия шин](#иерархия-шин)
|
||||
- [Арбитраж шин](#арбитраж-шин)
|
||||
- [Алгоритмы арбитража](#алгоритмы-арбитража)
|
||||
- [Схемы арбитража](#схемы-арбитража)
|
||||
- [Протоколы шин](#протоколы-шин)
|
||||
- [Повышение эффективности шин](#повышение-эффективности-шин)
|
||||
- [Увеличение полосы пропускания](#увеличение-полосы-пропускания)
|
||||
- [Стандартизация шин](#стандартизация-шин)
|
||||
- [Последовательный синхронный обмен](#последовательный-синхронный-обмен)
|
||||
- [Последовательный асинхронный обмен](#последовательный-асинхронный-обмен)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Лекция 19. Шины.](#Лекция-19-Шины)
|
||||
- [Системы соединений](#Системы-соединений)
|
||||
- [Интерфейс](#Интерфейс)
|
||||
- [Шина](#Шина)
|
||||
- [Терминология](#Терминология)
|
||||
- [Обмен информации](#Обмен-информации)
|
||||
- [Типы шин](#Типы-шин)
|
||||
- [Иерархия шин](#Иерархия-шин)
|
||||
- [Арбитраж шин](#Арбитраж-шин)
|
||||
- [Алгоритмы арбитража](#Алгоритмы-арбитража)
|
||||
- [Схемы арбитража](#Схемы-арбитража)
|
||||
- [Протоколы шин](#Протоколы-шин)
|
||||
- [Повышение эффективности шин](#Повышение-эффективности-шин)
|
||||
- [Увеличение полосы пропускания](#Увеличение-полосы-пропускания)
|
||||
- [Стандартизация шин](#Стандартизация-шин)
|
||||
- [Последовательный синхронный обмен](#Последовательный-синхронный-обмен)
|
||||
- [Последовательный асинхронный обмен](#Последовательный-асинхронный-обмен)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
## Системы соединений
|
||||
|
||||
|
||||
@@ -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)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Дополнительные материалы к лекции](#дополнительные-материалы-к-лекции)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
- [Дополнительные материалы к лекции](#Дополнительные-материалы-к-лекции)
|
||||
|
||||
## Системы ввода-вывода
|
||||
|
||||
|
||||
@@ -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)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
- [Дополнительные материалы к лекции](#Дополнительные-материалы-к-лекции)
|
||||
|
||||
> *Микроконтроллер* — это устройство, которое объединяет в себе процессор и ряд периферийных устройств и занимается управлением.
|
||||
|
||||
|
||||
@@ -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)
|
||||
- [Из чего состоит компьютер?](#из-чего-состоит-компьютер)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Из чего состоит компьютер?](#Из-чего-состоит-компьютер)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
## Микропроцессоры
|
||||
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Лекция 23. Параллельные вычислительные системы](#лекция-23-параллельные-вычислительные-системы)
|
||||
- [Содержание](#содержание)
|
||||
- [Классификация](#классификация)
|
||||
- [По области применения](#по-области-применения)
|
||||
- [По особенностям назначения](#по-особенностям-назначения)
|
||||
- [Классификация Флинна](#классификация-флинна)
|
||||
- [Альтернативная классификация](#альтернативная-классификация)
|
||||
- [Классификация по памяти](#классификация-по-памяти)
|
||||
- [Обобщенная структура параллельно вычислительной системы](#обобщенная-структура-параллельно-вычислительной-системы)
|
||||
- [Матричные вычислительные системы](#матричные-вычислительные-системы)
|
||||
- [Кластерные вычислительные системы (ВС)](#кластерные-вычислительные-системы-вс)
|
||||
- [Топология малых кластеров](#топология-малых-кластеров)
|
||||
- [Реконфигурируемые вычислительные системы](#реконфигурируемые-вычислительные-системы)
|
||||
- [Систолические вычислительные системы](#систолические-вычислительные-системы)
|
||||
- [Системы, управляемые потоками данных](#системы-управляемые-потоками-данных)
|
||||
- [Основные материалы лекции](#основные-материалы-лекции)
|
||||
- [Лекция 23. Параллельные вычислительные системы](#Лекция-23-Параллельные-вычислительные-системы)
|
||||
- [Содержание](#Содержание)
|
||||
- [Классификация](#Классификация)
|
||||
- [По области применения](#По-области-применения)
|
||||
- [По особенностям назначения](#По-особенностям-назначения)
|
||||
- [Классификация Флинна](#Классификация-Флинна)
|
||||
- [Альтернативная классификация](#Альтернативная-классификация)
|
||||
- [Классификация по памяти](#Классификация-по-памяти)
|
||||
- [Обобщенная структура параллельно вычислительной системы](#Обобщенная-структура-параллельно-вычислительной-системы)
|
||||
- [Матричные вычислительные системы](#Матричные-вычислительные-системы)
|
||||
- [Кластерные вычислительные системы (ВС)](#Кластерные-вычислительные-системы-ВС)
|
||||
- [Топология малых кластеров](#Топология-малых-кластеров)
|
||||
- [Реконфигурируемые вычислительные системы](#Реконфигурируемые-вычислительные-системы)
|
||||
- [Систолические вычислительные системы](#Систолические-вычислительные-системы)
|
||||
- [Системы, управляемые потоками данных](#Системы-управляемые-потоками-данных)
|
||||
- [Основные материалы лекции](#Основные-материалы-лекции)
|
||||
|
||||
|
||||
**Параллельные вычислительные системы (ПВС)** нужны для повышения производительности, чтобы выполнять вычисления как можно быстрее за счёт того, что каждое ядро решает свои задачи. Однако параллелизм бывает разный, об этом и рассказывается в рамках этой лекции.
|
||||
|
||||
Reference in New Issue
Block a user