Лекции ВМСС, страница 4

2015-08-16СтудИзба

Описание файла

Документ из архива "Лекции ВМСС", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "Лекции ВМСС"

Текст 4 страницы из документа "Лекции ВМСС"

void output_buffer(int* buf, int count)
{
int status, i, ready;

for(i=0; i < count; i++)
{

do

{

status = in(register); // чтение информации о состоянии устройства

ready = register & 1; // выделение бита готовности

}

while(ready);

out(register, buf[i]);

}

}

Для этого в процессоре выделяются следующие регистры:

  • регистр данных, в котором временно располагаются символы

  • регистр управления – отражает протекание обмена

  • регистр состояния – отражает готовность принять очередной байт

Основные выполняемые операции: чтение регистра состояния устройства, ожидание готовности устройства, обмен байтом данных.

Достоинства:

простота УВУ

  • гибкость обмена (т.к. большинство функций производится программным путем)

Недостатки:

  • монополизация процессора – предполагается, что обслуживается только одно устройство

  • применимо как для медленных ВУ, так и для быстродействующих

  • опрашивающий процессор нельзя выключить

Обмен по прерываниям

Для передачи данных используется механизм прерывания программ. От ВУ приходит запрос прерывания, программа-обработчик прерывания выполняет обмен данными.

+: процессор освобождается от опроса внешних устройств

+: позволяет организовывать квазипараллельный обмен с несколькими ВУ

–: длительная процедура обработки прерывания

–: если прерывания происходят довольно часто, то время обработки увеличивается

В общем случае процесс обмена состоит из 3 фаз:

  1. инициализация обмена

проверка состояния ВУ

  • установка режима ВУ

  • анализ готовности

  • установка начальных значений параметров обмена

  1. прерывание программы

  • считывание байта

  • формирование 2-го байта

  • подсчет количества байтов

  1. завершение

Прямой доступ к памяти

Способ обмена с ВУ без участия процессора. Прямым доступом к памяти управляет контроллер прямого доступа (КПДП).

КПДП выполняет следующие фунцкии:

управление передачей данных между ОП и ВУ

  • задание размера блока данных, подлежащих передаче, и области памяти, используемой при передаче

  • подсчет числа переданных байт

  • определение момента завершения операции ввода/вывода

Центральный процессор только инициирует операцию обмена, а сам обмен выполняется под управлением контроллера. Во время операций КПДП процессор может выполнять работу.

КПДП включает в себя регистр-счетчик текущего адреса, регистр-счетчик байтов, регистр номера устройства, регистр направления омбена (ввод/вывод).

Например, для выполнения операции считывания ЦП должен передать КПДП количество считываемых байт, адрес памяти, номер устройства и флаг ввода. При этом КПДП делает запрос нужному устройству, поочередно читает из него байты, уменьшая счетчик считанных данных и записывает прочитанные данные в память. Когда значение счетчика доходит до 0, КПДП прекращает передачу данных и генерирует запрос прерывания процессора. Т.о. ЦП нужно только инициализировать несколько регистров, и после этого он может выполнять другую работу до тех пор, пока передача данных не завершится.

КПДП всегда имеет приоритет над ЦП на доступ к шине, поскольку устройства ввода/вывода обычно не допускают задержки. Возможна ситуация, когда КПДП потребуется много циклов шины для обращения к памяти – захват цикла.

Процессоры ввода/вывода

Процессор ввода/вывода берет на себя все функции, связанные с вводом/выводом. Использование ПВВ позволяет выполнять операции ввода/вывода параллельно с работой ЦП. При этом ЦП только инициирует операцию ввода/вывода. Обычно взаимодействует с центральным процессором через оперативную память.

Используются 2 вида ПВВ:

  • сугубо специализированные – реализация протокола взаимодействия

  • универсальный процессор – обычно 16-разрядный, с целочисленной арифметикой, развит набор логических команд (логика управления ВУ)

В зависимости от соотношения быстродействия памяти и ВУ в ПВВ может быть реализован один из двух режимов работы: монопольный и мультиплексный. При этом ПВВ называются селекторными и мультиплексными.

Селекторный ПВВ предназначен для монопольного обслуживания одного ВУ. ВУ после начала операции остается связанным с ПВВ до окончания операции. Предназначен для работы с быстродействующими устройствами, которые могут терять информацию вследствие задержек в обслуживании.

Мультиплексный ПВВ позволяет одновременно обслуживать несколько параллельно работающих ВУ. Предназначен в основном для работы со сравнительно медленными устройствами, способными ожидать обслуживания без потери информации.

Система прерывания программ

Во время работы компьютера могут возникать события, которые требуют немедленной реакции. Это обеспечивает механизм прерывания, который заключается в том, что при возникновении какого-либо события в машину посылается запрос на прерывание, после чего производится прерывание выполнения основной программы и переход к выполнению специальной программы, предназначенной для обработки данного события.

Прерывание – принудительная передача управления другой программе по запросу прерывания. Прерывания могут быть внешние, связанные с устройствами, подключенными к компьютеру, и внутренние, связанные с выполнением программы. Внутри и вне вычислительной машины может быть 1 или несколько источников прерывания.

Система прерывания программ – совокупность аппаратурных и программных средств, реализующих механизм прерывания.

Для того, чтобы был возможным возврат к основной программе, при прерывании необходимо сохранить состояние процессора. Минимальный контекст – счетчик команд. Самое удобное место для сохранения контекста – стек вычислительной машины. На сохранение контекста требуется некоторое время, и поэтому в момент прерывания на некоторое время аппаратурно запрещаются все прерывания.

По тому, возможны ли вложенные прерывания или нет, различают одноуровневые и многоуровневые системы прерывания.

В одноуровневых системах при прерывании производится запрет обработки прерываний.

В многоуровневых системах обычно не разрешается прерывание по одной и той же причине.

Обычно все запросы прерывания ранжируются по приоритетам (системы приоритетного прерывания). Наивысший приоритет у прерывания с меньшим временем обслуживания. Если при выполнении программы обработки прерывания возникло прерывание с более высоким приоритетом, то производится еще одно прерывание.

Существует возможность блокировки некоторых прерываний – маскирование прерываний. Но некоторые прерывания запрещается маскировать.

Типовая схема системы прерывания:

IR – регистр запроса прерывания

MR – маска прерываний

PrC – приоритетная цепочка

CD – шифратор

Имеется таблица, в которой записаны адреса точек входа в программы-обработчики.

Цикл работы процессора можно представить следующим образом:

Программисту предоставляется возможность включения и выключения обработки прерываний.

Есть упрощенные системы, в которых отсутствует PrC и DC. В этом случае можно программно управлять приоритетами.

Количество причин прерываний может быть очень большим.

Количество истинных причин прерываний гораздо больше количества входов IR в центральный контроллер. От адаптера ввода/вывода поступает обобщенный запрос прерывания, а дальше внутри адаптера реализуется своя система прерывания. Производится опрос устройства, от которого поступило прерывание, и выясняется истинная причина.

Крайнее решение: в процессоре оставить 1 вход для прерывания, а все остальное распределить по устройствам, в которых возникает причина прерывания. Все эти адаптеры подключить в шине прерывания. Затем ЦП опрашивает все устройства и смотрит, где возникло прерывание.

Виртуальная память

В машине есть 2 уровня памяти – оперативная и внешняя. Размер ВП намного больше размера ОП. Идея виртуальной памяти состоит в том, что оба уровня памяти объединяются в одну единую математическую память, образующую линейное пространство. Программист работает не с физическими адресами памяти, а с математическими. Имеется некоторое отображение между математической памятью и физической. Объем математической памяти равен объему ВП. За всеми объектами математической памяти закреплено место в ВП. Часть объектов могут иметь копии в ОП. Программа имеет дело именно с этими копиями.

Система виртуальной памяти – совокупность аппаратурных и программных средств, реализующих механизм виртуальной памяти.

Впервые идея виртуальной памяти была предложена профессором Килбурном в ходе разработки машины Атлас. Серийно виртуальная память начала применяться в БЭСМ-6.

Cтраничная виртуальная память

За всеми объектами математической памяти закреплено место в ВП. Размер ВП 2n. Вся математическая память разбита на страницы равного размера 2k. Количество страниц: 2n-k.

ОП разделяется на странице такого же размера. В ОП могут присутствовать копии некоторых математических страниц. Основная цель – чтобы в ОП оказались те страницы, которые нужны программе.

Математический адрес состоит из двух частей: страница и смещение. При обращении к памяти, специальное устройство (MMU – Memory Management Unit) преобразует математический адрес в физический.

Функционирование системы:

Все объекты МАП находятся в ВП. По мере обращение к мат. страницам требуемые страницы подкачиваются в ОП. Если в ОП недостаточно места для подкачки страницы, то выбирается некоторая страница, которая вероятнее всего не понадобится в будущем, и замещается.

Способ преобразования мат. адреса в физический:

В системе имеется таблица отображения математических страниц в физические. По математической странице из таблицы извлекается физический адрес страницы, и к нему приписывается смещение. Т.о. получается физический адрес. Размер таблицы равен количеству страниц в ВП.

Варианты реализации таблицы:

  • использование ассоциативного ЗУ – по номеру математической страницы осуществляется ассоциативный поиск

  • использование ЗУ с произвольной выборкой – номер математической страницы является смещением в ЗУПВ

Таблица состоит из дескрипторов. Минимальное содержание дескриптора:

математический № страницы

  • физический адрес страницы

  • разряд присутствия – присутствует ли данная математическая страница в ОП

Алгоритм замещения:

Важно иметь хороший алгоритм замещения. Не существует идеального алгоритма.

Общей идеей алгоритмов является то, что страница, которая в последнее время наименее использовалась, скорее всего устарела и ее можно вытеснить.

Возможны различные варианты замещения:

  • введение для каждой страницы счетчика использования. Удаляется страница с наименьшим значением счетчика

  • случайный выбор страницы

  • алгоритм FIFO

  • алгоритм LRU. Используется стек LRU. Если происходит обращение к странице, то она заносится в стек. При очередном обращении, страница удаляется из стека. Т.о. на дне стека остается наименее используемая страница.

При организации системы виртуальной памяти возникает вопрос выбора размера страницы.

Если имеем несколько задач, то при переключении задач необходимо, чтобы в ОП находились те страницы, которые в ней были до замещения задачи. 2 подхода:

  • фиксированные разделы. Память делятся на разделы, количество процессов = количество разделов

  • рабочее множество страниц. Для каждой задачи определяется рабочее множество страниц – множество страниц, с которыми работает задача. При переключении на данную задачу производится подкачка ее рабочего множества.

Проблема работы с виртуальной памятью у КПДП:

КПДП обращается напрямую в память, минуя процессор. При наличии виртуальной памяти возникают проблемы, поскольку MMU как правило встраивается в процессор. В ОС применяются 2 варианта решения:

  1. Из общего объема ОЗУ выделяется некоторая часть и она не включается в память, подлежащую страничному обмену. Именно в ней организуется буферный ввод/вывод..

  2. Предоставляется возможность любую страницу сделать неперемещаемой. Страницы, участвующие в операциях ввода/вывода через КПДП, делаются неперемещаемые.

Сегментная виртуальная память

Программа имеет дело с 2-мерным математическим пространством. Объектом является не страница, а сегмент – некоторая содержательная единица (программный модуль, блок данных). Каждая программа имеет дело с множеством сегментов.

Атрибуты сегмента: длина, способ доступа (чтение, запись, исполнение).

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
427
Средний доход
с одного платного файла
Обучение Подробнее