Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 03.03.2010 | Доступ: свободный | Студентов: 5333 / 1306 | Оценка: 4.35 / 3.96 | Длительность: 24:14:00
ISBN: 978-5-9963-0267-3
Специальности: Разработчик аппаратуры
Лекция 6:

Мультипрограммный режим работы микропроцессора

< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Аннотация: Цель лекции: рассмотреть принципы организации мультипрограммного режима работы и аппаратные средства микропроцессора, используемые для этих целей.
Ключевые слова: программа, центральный процессор, определение, ресурс, объект, пространство, активного ожидания, мультипрограммирование, очередь, производительность, ОЗУ, аппаратные средства, операционная система, внешняя память, ПО, пропускная способность, значение, анализ работы, средняя длина очереди, длина, место, увеличение производительности, процессор, жесткий диск, вывод, коэффициент мультипрограммирования, CPU, IN, цикл работы, ready, диаграмма, анализ, показатель эффективности, микропроцессор, информация, рестарт, память, кадр, переключение контекста, компьютер, доступ, регистр, GDT, исполнение, LDT, регистр управления, адрес, SSI, отображение, логический адрес, поле, связь, бит, ловушка, прерывание, страничное преобразование, FPU, микропроцессорная система, уровень привилегий, регистр флагов, операции, байт, DPL, загрузка, шлюз, системный объект, команда, LTR, коды операций, безусловный переход, сегментный регистр, указатель команд, EIP, команды переходов, тип команды

Мультипрограммный режим работы микропроцессора

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

Под задачей (процессом) понимается последовательность взаимосвязанных действий, ведущих к достижению некоторой цели. В вычислительной технике под задачей понимается конкретная сущность, которая тесно связана с архитектурой процессора и обладает своим виртуальным адресным пространством и состоянием. В более простом смысле будем полагать, что задача - это программа, которая выполняется или ожидает выполнения, пока выполняется другая программа.

Процесс может находиться в следующих состояниях:

  • порождение - подготавливаются условия для первого исполнения на процессоре;
  • активное состояние (счет) - программа исполняется на процессоре;
  • ожидание - программа не исполняется по причине занятости какого-либо ресурса;
  • готовность - программа не исполняется, но для исполнения предоставлены все необходимые в текущий момент ресурсы, кроме центрального процессора;
  • окончание - нормальное или аварийное завершение программы, после которого процессор и другие ресурсы ей не предоставляются.

Применительно к компьютерам в определение задачи обычно включаются ресурсы, необходимые для достижения цели. Понятие "ресурс" строго не определено. Будем считать, что всякий потребляемый объект (независимо от формы его существования), обладающий некоторой практической ценностью для потребителя, является ресурсом:

объем оперативной памяти, время счета на процессоре, дисковое пространство и т. д.

Основные черты мультипрограммного режима:

  • оперативной памяти находятся несколько программ в состояниях активности, ожидания или готовности;
  • время работы процессора разделяется между программами, находящимися в памяти в состоянии готовности;
  • параллельно с работой процессора происходит подготовка и обмен с несколькими внешними устройствами (ВУ).

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

При этом скорость работы самого процессора и номинальная производительность ЭВМ не зависят от использования мультипрограммирования.

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

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

Эффективность работы мультипрограммной ЭВМ можно оценить количеством задач, выполненных в единицу времени (пропускная способность), и временем выполнения отдельной программы.

Важное значение при анализе работы ЭВМ имеет определение степени использования ее ресурсов. Для этого широко применяются следующие показатели (рис. 6.1):

k_q коэффициент загрузки устройства:

k_q=\frac{T_q}{T}

где T_{q} - время занятости устройства q за общее время T работы ЭВМ;

L_{q} средняя длина очереди запросов к устройству q:

L_{q}=\frac{\sum_{j=1}^{n}L_{q_{i}}*\Delta{t_i}}{T}

где L_{qi} - длина очереди к устройству q на интервале времени \Delta{t_i} и \sum_{j=1}^{n}\Delta{t_i}=T

Оценка показателей работы мультипрограммной ЭВМ

Рис. 6.1. Оценка показателей работы мультипрограммной ЭВМ

Для представленного на рис. 6.1 случая:

L_q=\frac{0\times1+1\times1+0\times4+1\times1+1\times2+1\times1}{10}

Помимо средней длины очереди важна также и динамика изменения ее длины.

По значениям k_{q}, L_{q} и изменениям во времени значения Lq можно определить наиболее дефицитный ресурс в системе, ее "узкое место".

Устранение этих "узких мест" может проводиться или за счет увеличения производительности соответствующего ресурса, или выбором такой смеси задач, которая обеспечивала бы более равномерное использование всех ресурсов (например, одни задачи более активно используют процессор (счетные задачи), другие - жесткий диск (работа с базами данных), третьи - устройства ввода-вывода (вывод большого объема графической информации)).

Рассмотрим пример выполнения четырех программ в мультипрограммном режиме при коэффициенте мультипрограммирования равном 2.

Коэффициент мультипрограммирования (КМ) - это количество программ, обрабатываемых одновременно в мультипрограммном режиме.

Полагаем, что ЭВМ имеет 3 устройства, которые могут работать параллельно: центральный процессор (CPU), устройство ввода (IN) и устройство вывода (OUT), а программы проходят следующий цикл работы:

счет1 - ввод - счет2 - вывод. Времена выполнения соответствующих блоков программ заданы в табл. 6.1.

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

Таблица 6.1. Характеристики программ
Программа CPU1 IN CPU2 OUT
1 2 1 4 2
2 2 2 1 3
3 4 3 3 1
4 2 2 2 2

Более приоритетной считаем программу с меньшим номером.

Очередь программ к процессору обозначим Ready, а общую очередь к внешним устройствам - Wait.

< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Владислав Салангин
Владислав Салангин

приветствую создателей курса и благодарю за доступ к информации! понимаю, что это уже никто не исправит, но, возможно, будут следующие версии и было бы неплохо дать расшифровку сокращений имен регистров итд, дабы закрепить понимание их роли в общем процессе. 

Михаил Королёв
Михаил Королёв