Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Мультипрограммный режим работы ЭВМ

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

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

Базовые понятия мультипрограммного режима функционирования ЭВМ — процесс и ресурс.

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

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

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

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

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

Мультипрограммный режим имеет в ЭВМ аппаратную и программную поддержку.

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

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

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

• кя коэффициент загрузки д-го устройства;

кя= Т(//Т, где Т(/ время занятости устройства # за общее время Т работы ЭВМ;

• = X Ь- ? А/, /Г — средняя длина очереди запросов к уст

ройству q, где длина очереди к устройству <7 на интервале времени Д/, иХ',. = Т.

Пусть работа некоторого устройства <7 характеризуется диаграммой, приведенной на рис. 3.11.

Устройство занято

Оценка основных показателей использования аппаратных ресурсов

Рис. 3.11. Оценка основных показателей использования аппаратных ресурсов

Тогда рассмотренные выше показатели работы этого устройства будут следующими:

*,= 7/10;

Ь= (0 • 2 + Ы + 0 • 4 + Ы + 1 • 2 + 1 • 1)/10 = 5/10.

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

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

Работа мультипрограммной ЭВМ в большой степени зависит от коэффициента мультипрограммирования м) — количества программ, которое может одновременно обрабатываться в мультипрограммном режиме. Пример выполнения программ в мультипрограммном режиме при Км = 2 представлен на рис. 3.12.

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

Счет1 -> Ввод -> Счет2 -» Вывод.

т

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

CPU

1

1

2

2

1

1

1

1

2

3

3

3

3

4

4

3

3

3

4

4

IN

1

2

2

3

3

3

4

4

OUT

1

1

2

2

2

3

4

4

Readv

2

2

2

2

4

4

Wait

T

4

71

72

73

74

Рис. 3.12. Порядок выполнения программ в мультипрограммной ЭВМ

(при Км = 2)

Счет выполняется на процессоре (CPU), для ввода и вывода данных используются отдельные внешние устройства (IN и OUT) и следующие режимы — готовность (Ready), ожидание (Wait).

В табл. 3.7 показаны номера программ, которые в определенный момент занимают тот или иной ресурс.

Таблица 3.7. Ресурсы программ

Программа

CPU1

IN

CPU2

OUT

1

2

1

4

2

2

2

2

1

3

3

4

3

3

1

4

2

2

2

2

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

Таблица 3.8. Сравнительные характеристики работы ЭВМ

Характеристика

км =

Ам = 2

= 3

Время выполнения программы Т1

9

10

10

Время выполнения программы Т2

8

13

13

Время выполнения программы Т3

11

11

19

Время выполнения программы ТА

8

11

12

Время выполнения всех программ (Т)

36

24

22

Пропускная способность (П)

0,11

0,17

0,18

Коэффициент Асри

0,56

0,83

0,91

Коэффициент АГцм

0,22

0,33

0,36

Коэффициент Абит

0,22

0,33

0,36

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

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

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

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

Ресурсы подразделяются на физические и виртуальные.

Физический ресурс реально существует и обладает всеми присущими ему характеристиками.

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

Например, расширенными функциональными возможностями обладает виртуальная память, представляющаяся как запоминающее устройство, имеющее больший объем, чем физическая. Дополнительные свойства имеет виртуальный процессор, одновременно обрабатывающий несколько задач.

Рассмотрим машинное представление команд различных форматов, использующих различные режимы адресации операндов, на примере операции сложения. Так как в системе команд ЭВМ, базирующихся на микропроцессорах фирмы Intel, результат операции записывается на место первого операнда, то данная операция будет иметь вид:

а = а + Ь.

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

[Метка:] Мнемоника_операции Операнд, Операнд [; Комментарий]

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

Пр и мер 3.12. Оба операнда находятся в регистрах общего назначения: (АХ) = а (СХ) = Ь. Для обращения к операндам используется прямая регистровая адресация.

Символическая запись команды: ADD АХ,СХ.

Машинное представление этой команды имеет вид:

OOOOOOdw md reg r/m.

Операнды занимают полноразрядные регистры длиной одно слово, следовательно, необходимо установить w= 1. Так как оба операнда располагаются в регистрах общего назначения, то любой из них можно закодировать в поле reg. Поэтому команда может иметь два различных представления в машинном коде. При этом если в поле reg закодирован номер регистра АХ, то бит приемника результата d= 1. Если в поле reg закодирован номер регистра СХ, то бит приемника результата d= 0.

Машинное представление команды имеет вид:

КОП dw md reg r/m 00000011 11 000 001 b = 03Clh

Операнд — слово

Операнд, заданный в поле reg, — приемник

или

КОП dw md reg r/m 00000001 11 001 000 b = 03C8h

Операнд — слово

Операнд, заданный в поле , — источник

Здесь и далее в записи команд символ Ь означает двоичное представление, й — шестнадцатеричное.

После выполнения команды в регистр АХ будет записана сумма содержимого регистров АХ и СХ, а указатель команды IP увеличится на длину выполненной команды (2 байта) и будет указывать на первый байт следующей команды (обычно информация представляется в 16-разрядном виде).

Если перед началом выполнения команды (АХ) = 0С34, (СХ) = 1020, (IP) = 0012, то после ее выполнения (АХ)=1С54, (СХ)= 1020, (IP) = 0014.

Пр и мер 3.13. Операнд а находится в регистре АХ, операнд b — в оперативной памяти по прямому адресу 3474h.

Символическая запись команды: ADD АХ, [3474И].

Машинное представление этой команды имеет вид:

КОП dw md rcg г/т disp L disp H

00000011 00 000 110 01110100 00110100b = 03067434h

Прямая адресация Операнд — слово

Операнд, заданный в поле /г#, — приемник

Пусть перед выполнением команды (АХ) = 1234, [3474h] = = 1А, [3475h] = 25, (IP) = 0012. Напомним, что адрес слова в оперативной памяти — это адрес его младшего байта. Тогда после выполнения команды: (АХ) = 374Е, (IP) = 0016.

Пример 3.14. Операнд а находится в слове оперативной памяти, адрес которого хранится в регистре ВХ, а операнд b — в регистре АХ. В этом случае адресация операнда а — регистровая косвенная.

Символическая запись команды: ADD [ВХ], АХ.

Машинное представление этой команды имеет вид:

КОП dw md reg r/m

00000001 00 000 11 lb = 0107h

ая адресация через регистр ВХ слово

Операнд, заданный в поле — источник

Если перед выполнением команды (АХ) = 1234, (ВХ) = 3474, [3474] = 07, [3475] = 11, (ІР) = 0012, то в результате выполнения команды произойдут следующие изменения: [3474] = 0В, [3475] = = 24, (ІР) = 0014.

 
<<   СОДЕРЖАНИЕ   >>