
- •Глава 1. Предисловие Основные принципы построения вычислительных машин и систем
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Уровни детализации структуры вычислительной машины
- •Принципы построения вычислительной машины
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структура фон-неймановской архитектуры вычислительной машины
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Перспективы совершенствования архитектуры вм и вс
- •Технологические и экономические аспекты
- •Тенденции развития больших интегральных схем
- •Перспективные направления исследований в области архитектуры
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Аудиоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Код с исправлением ошибок
- •Коды Хемминга
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Сумматоры
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Архитектура и набор команд.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Арбитраж шин
- •Принципы работы шины
- •Глава 3 Функциональная организация фон - неймановской вычислительной машины
- •Функциональная схема фон-неймановской вычислительной машины
- •Узлы уу
- •Узлы алу
- •Основная память.
- •Модуль ввода/вывода
- •Цикл команды.
- •Пример выполнения программы.
- •Система прерываний.
- •Глава 4. Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Блочная организация основной памяти
- •Организация микросхем памяти
- •Режимы работы памяти.
- •Основные запоминающие устройства
- •Стековая память
- •Ассоциативная память
- •Полностью ассоциативная кэш-память.
- •Постоянное запоминающее устройство
- •Виртуальная память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти.
- •Внешняя память
- •Магнитные диски
- •Оптическая память
- •Магнитные ленты
- •Глава 5 Язык Ассемблер
- •Структура программы на языке Ассемблер
- •Основные типы операндов
- •Типы операторов
- •Режимы адресации
- •Директивы ассемблера
- •Инструкции пересылки данных и двоичной арифметики
- •Запись программ на языке Ассемблер
- •Пример вычисления арифметического выражения
- •Циклические и разветвляющиеся программы
- •Примеры использования операторов переходов и цикла при работе с массивами чисел
- •Применение логических инструкций
- •Логические инструкции
- •Примеры использования логических команд
- •Пример выполнения работы
- •Обработка символьной информации с помощью функций dos
- •Программные прерывания и системные вызовы
- •Описание функций работы с клавиатурой и дисплеем диспетчера функций ms dos
- •Функции 01н
- •Функции 02н
- •Функция 09н
- •Функция оан
- •Функция 0Bh
- •Пример выполнения работы
- •Глава 6 Типы вычислительных систем и их архитектурные особенности
- •Классификация вычислительных платформ и архитектур
- •Классификация Флинна.
- •Классификация Хокни
- •Классификация Хэндлера
- •Параллелизм и конвейеризация вычислений. Параллелизм на уровне команд
- •Конвейеры
- •6.2.2 Суперскалярная архитектура.
- •Мультипроцессоры с памятью совместного использования.
- •Основные классы вс
- •Машины класса simd
- •Машины класса mimd
- •Основные направления развитие архитектуры вычислительных машин
- •Суперспекулятивная архитектура
- •Трассирующая архитектура
- •Многопотоковый процессор
- •Многоядерная архитектура
- •«Плиточная» архитектура
- •Многоэтажная архитектура
- •Оптическая (фотонная) архитектура
- •Квантовая архитектура
- •Нейроархитектура
Виртуальная память
Понятие виртуальной памяти
В современных ВМ (кроме простейших) реализовано динамическое распределение между несколькими задачами, существующими в ВМ в процессе решения. Даже для однозадачных конфигураций проблема динамического распределения памяти не теряет актуальности, так как в памяти, помимо задачи пользователя, всегда присутствует операционная система или ее фрагмент. Теоретически наличие всего кода программы в ОП не является принципиально необходимым, так как в каждый момент времени в работе находятся сравнительно небольшие участки программы. Таким образом, в основной памяти достаточно хранит только используемые в данный период части программы, остальные части могут располагаться на внешних ЗУ (ВЗУ). Для преодоления различия в обращении к ОП и ВЗУ в 1959 году была предложена идея виртуализация памяти, под которой понимается метод автоматического управления иерархической памятью, при которой программисту кажется, что он имеет дело с единой памятью большой емкости и высокого быстродействия. Эту память называют виртуальной (кажущейся) памятью. По своей сути виртуализация памяти представляет собой способ аппаратной и программной реализации концепции иерархической памяти.
В рамках идеи виртуальной памяти ОП рассматривается как линейное пространство N адресов, называемое физическим пространством памяти. Для задач, где требуется более чем N ячеек, предоставляется значительно большее пространство адресов (обычно равное общей емкости всех видов памяти), называемое виртуальным пространством, в общем случае пространство не является линейным. Адреса виртуального пространства называют виртуальными, а адреса физического пространства - физическими. Программа пишется в виртуальных адресах, для ее выполнения требуется, чтобы обрабатываемые команды и данные находились в ОП, поэтому каждому виртуальному адресу должен быть поставлен в соответствие физический адрес. Таким образом, в процессе вычислений необходимо переписать из ВЗУ в ОП ту часть информации, на которую указывает виртуальный адрес (отобразить виртуальное пространство на физическое), далее преобразовать виртуальный адрес в физический. Программа компилируется в так называемые «логические» или виртуальные адреса, а в процессе работы происходит автоматическое преобразование логических адресов в физические.
Среди систем виртуальной памяти можно выделить два класса: система с фиксированным размером блоков (страничная организация) и система с переменным размером блоков (сегментная организация). Оба варианта могут быть совмещены, образуя сегментно-страничную организацию.
Страничная организация памяти
Наибольшее распространение в ВМ получил метод динамического распределения памяти, называемый страничной организацией виртуальной памяти.
При использовании этого метода вся память ВМ (ОЗУ и ВЗУ) рассматривается как единая виртуальная память. Адрес в этой памяти называется виртуальным или логическим. Вся виртуальная память делится на фрагменты одинакового размера, называемые виртуальными страницами. Размер страницы обычно составляем 0,5 – 4 Кбайт, но так, чтобы он был кратен емкости одного сектора магнитного диска.
Физическая память ВМ (ОЗУ и ВЗУ) так же делится на страницы, причем размер физической страницы выбирается равным размеру виртуальной. Таким образом, одна физическая страница может хранить одну виртуальную. Порядок следования виртуальных страниц в программе совсем необязательно сохранять на физических страницах, требуется лишь установить однозначное соответствие между номерами физических и виртуальных страниц. Блок основной памяти, соответствующий странице, часто называют страничным кадром или фреймом. Процесс доступа к данным по их виртуальному адресу иллюстрируется на рис.4.13.
Центральный процессор по виртуальному адресу 1) обращается к ячейке. Виртуальный адрес состоит из номера виртуальной страницы и смещения относительно ее начала. Этот адрес поступает в систему преобразования адресов 2) , с целью получения из него физического адреса ячейки в основной памяти 3). Поскольку смещение в виртуальном и физическом адресе одинаковое, преобразованию подвергается лишь номер страницы. Если преобразователь обнаруживает, что нужная физическая страница отсутствует в основной памяти (произошел промах или страничный сбой), то нужная страница считывается из внешней памяти и заносится в ОП 4), 5).
Преобразователь адресов – это часть операционной системы, транслирующая номер виртуальной страницы в номер физической страницы, расположенной в основной памяти, а также аппаратура, обеспечивающая этот процесс и позволяющая ускорить его. Преобразование осуществляется с помощью так называемой страничной таблицы. При отсутствии нужной страницы в ОП преобразователь адреса вырабатывает признак страничного сбоя, по которому операционная система приостанавливает вычисления, пока нужная страница не будет считана из вторичной памяти и помещена в основную.
Виртуальное пространство полностью описывается двумя таблицами: страничной таблицей и картой диска (если вторичная память реализована на магнитных дисках). Таблица страниц определяет, какие виртуальные страницы находятся в основной памяти и в каких физических фреймах, карта диска содержит информацию о секторах диска, где хранятся виртуальные страницы на диске. Поскольку размер таблицы страниц достаточно велик, то она хранится целиком в основной памяти и модифицируется операционной системой всякий раз, когда в распределении памяти происходят изменения.
При возникновении страничного сбоя возникает сложная проблема поиска той страницы, которую можно удалить из ОП, чтобы на освободившиеся место записать требуемую страницу. Правило, по которому выбирается страница для замещения, называется алгоритмом замещения.