
- •3.Архитектура компьютеров
- •3.1.Машинные слова и байты
- •3.2.Коды с обнаружением и исправлением ошибок
- •3.3. Представление данных в компьютерах
- •3.4. Способы адресации данных
- •3.5. Операции, выполняемые компьютерами
- •3.6. Системы команд компьютеров
- •3.7. Режимы работы компьютеров
- •3.8. Средства мультипрограммирования
- •3.10. Привилегированные операции и состояния процессора
- •3.11. Организация прерывания программ
- •3.12. Средства защиты памяти
3.7. Режимы работы компьютеров
Режим работы компьютера определяется порядком прохождения задач через компьютер и в первую очередь – количеством задач, параллельно обрабатываемых компьютером. Синонимом термина режим работы компьютера является режим обработки задач.
Однопрограммный режим. Решение задач может быть организовано следующим образом. Программа загружается в основную память компьютера, после чего компьютер начинает исполнять эту программу до получения команды на прекращение счета. Режим работы, при котором компьютер в любой момент времени выполняет только одну программу, называется однопрограммным. Состояния в которых может пребывать задача, выполняемая в однопрограммном режиме, представлены на рис. 3.8. Основными являются состояния счета и ввода – вывода. В состоянии счета процессор выполняет последовательность команд программы до тех пор, пока не появится команда, предписывающая ввод – вывод данных. В состоянии ввода – вывода работает некоторое внешнее устройство, а процессор простаивает в ожидании момента окончания ввода – вывода. По окончании операции ввода – вывода процессор продолжает счет и так до тех пор, пока процесс вычислений, предписанный программой, не будет завершен. После этого в компьютер может быть загружена очередная программа.
На
рис. 3.9 приведена временная диаграмма
работы устройств компьютера в
однопрограммном режиме. Из диаграммы
видно, что в любой момент времени
работает только одно устройство
компьютера, а остальные простаивают в
ожидании окончания предшествующего
этапа обработки. Если учесть, что внешние
устройства имеют, как правило, невысокое
быстродействие, однопрограммный режим
используется исключительно в компьютерах
специального применения, решающих
простые задачи.
Мультипрограммный
режим. Для
уменьшения простоев устройств в память
компьютера можно загрузить сразу
несколько программ и выполнять их
параллельно, совмещая во времени счет
по одним программам с выполнением
операций ввода – вывода для других
программ. Режим работы компьютера, при
котором обеспечивается параллельное
выполнение нескольких программ путем
совмещения во времени работы процессора
и внешних устройств, называется
мультипрограммным.
На рис.3.10 представлена временная
диаграмма выполнения трех программ A,
B,
C в
мультипрограммном режиме. В данном
случае за каждой из программ А,
В, С закреплено
отдельное внешнее устройство ВУ1,
ВУ2,
ВУ3
соответственно,
но все программы используют одно общее
устройство – процессор. Когда в программе
А,
обрабатываемой процессором, встречается
команда ввода – вывода, процессор
инициирует операцию ввода - вывода в
устройстве ВУ1
и переключается на выполнение программы
В,
ожидающей
момента
освобождения процессора. По окончании
этапа счета по программе В
процессор
переключается на выполнение программы
С.
Процессор простаивает только в том
случае, если все программы, обрабатываемые
в мультипрограммном режиме, находятся
в состоянии ввода – вывода. С увеличением
числа одновременно обрабатываемых
программ увеличивается вероятность
того, что для каждого устройства в любой
момент времени найдется работа,
вследствие чего производительность
компьютера возрастает.
Процесс
решения задачи в мультипрограммном
режиме протекает в соответствии с рис.
3.11. Причиной возникновения задачи
является задание,
которое содержит сведения о программе
решения задачи и данных, обрабатываемых
программой. Задание вводится в компьютер
и, определяя программу и данные, позволяет
установить потребность задачи в ресурсах
компьютера: емкости основной и внешней
памяти и типах устройств ввода – вывода.
В момент окончания обработки ранее
начатой задачи затребованные ресурсы
могут быть предоставлены очередной
задаче. После обеспечения задачи
ресурсами программа загружается в
выделенную для нее область основной
памяти и становится готовой к выполнению.
В процессе обработки задача может
находиться в четырех состояниях. В
состоянии ожидания счета задача
находится до момента освобождения
процессора, который может быть занят
обработкой других задач. Когда процессор
освобождается, задача переходит в
состояние счета – процессорной
обработки, в котором она пребывает до
получения команды ввода – вывода. В
общем случае для ввода – вывода может
использоваться внешнее устройство,
которое обслуживает несколько параллельно
обрабатываемых задач. По этой причине
операция ввода – вывода не может быть
начата немедленно, и задача должна
ожидать момента освобождения внешнего
устройства, занятого обслуживанием
других задач. По окончании ввода –
вывода задача вновь переходит в состояние
ожидания счета. Этот процесс продолжается
до команды на прекращение счета, по
которой обработка задачи заканчивается,
предоставленные задаче машинные ресурсы
освобождаются и передаются очередной
задаче, формируемой по введенному в
компьютер заданию на обработку.
Эффективность
мультипрограммирования. Как
правило, все компьютеры для решения
научно-технических и коммерческих
задач работают в мультипрограммном
режиме. Из сравнения рис. 3.8 и 3.11 видно,
что время обработки задачи в
мультипрограммном режиме больше, чем
в однопрограммном режиме. Это связано
с процессом ожидания моментов освобождения
процессора и внешних устройств при
мультипрограммной обработке. Таким
образом, мультипрограммирование
приводит к увеличению производительности
компьютера – количества задач,
обрабатываемых за единицу времени, но
одновременно с этим увеличивается
время пребывания задач в компьютере –
время от момента поступления задания
на обработку до момента окончания
обработки. Производительность
и время пребывания задач U
зависят от
числа одновременно обрабатываемых
задач M –
коэффициента
мультипрограммирования.
Характер зависимостей
(M)
и U(M)
представлен на рис. 3.12. В однопрограммном
режиме (М
= 1) производительность и время пребывания
имеют минимальные значения:
=
1,
U=U1.
С увеличением числа параллельно
обрабатываемых задач M
производительность стремится к
максимальному значению
max,
определяемому количеством устройств
в компьютере и их быстродействием. При
этом время пребывания задач в компьютере
неограниченно возрастает.
При
использовании компьютера стремятся
максимально уменьшить стоимость
обработки данных. Эта цель равносильна
уменьшению цены производительности
компьютера Е
= S /
,
где S
– стоимость компьютера. Чтобы уменьшить
Е, необходимо
увеличить производительность
,
что достигается за счет увеличения
загрузки устройств, т.е. уменьшения их
простоя. Чтобы уменьшить простои
оборудования, используется следующий
способ организации работы компьютера.
Во внешнюю память компьютера водится
большое число заданий – пакет
задач,
который постоянно пополняется новыми
задачами. Из пакета выбираются и
загружаются в основную память
М задач,
которые начинают обрабатываться в
мультипрограммном режиме. Когда
обработка одной задачи заканчивается,
на ее место загружается очередная
задача из пакета. Режим работы компьютера,
при котором в очереди на обработку
находится большое число задач, достаточное
для загрузки компьютера работой,
называется режимом пакетной
обработки задач.
Как
было отмечено, цель пакетной обработки
– уменьшение стоимости обработки
задач. Рассмотрим, как влияет коэффициент
мультипрограммирования M
на стоимость обработки задач. С
увеличением М
производительность Λ
возрастает, стремясь к предельному
значению Λmax
(рис. 3.13). Чтобы увеличить коэффициент
мультипрограммирования M,
необходимо оснастить компьютер памятью,
достаточной для размещения в ней M
программ. Увеличение емкости памяти
приводит к росту стоимости S
компьютера. В общем случае цена
производительности Ε=S/Λ
изменяется с увеличением M,
как показано на рис. 3.13. При некотором
коэффициенте мультипрограммирования
M=M0
цена производительности S/Λ
принимает минимальное значение.
Оптимальное значение M0
коэффициента
мультипрограммирования зависит от
класса задач, обрабатываемых компьютером.