Режим выполнения основной программы

Вычислительные машины могут выполнять обработку информации в разных режимах (рис. 17.1):

q однопрограммном (монопольном) режиме;

q многопрограммном режиме, который можно подразделить на:

§ режим пакетной обработки информации;

§ режим разделения машинного времени.

Последний, в свою очередь, имеет разновидности:

q диалоговый режим,

q режим реального времени.

Рис. 17.1. Классификация режимов работы компьютеров

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

Уроки Ардуино. Как написать скетч: многозадачность на millis() и переключение режимов

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

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

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

СКРЫТАЯ ФУНКЦИЯ XBOX! ОБ ЭТОМ НИКТО НЕ ЗНАЕТ!

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

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

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

Читайте также:
Программа main не работает

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

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

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

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

Все режимы разделения машинного времени обеспечивают пользователю работу в режиме «online».

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

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

Рассмотрим первый режим работы. В нем процессор выбирает из ОЗУ очередную команду, которая состоит из двух полей.

КОП КАД

КОП- код операции задает тип операции; КАД- код адресации задает способ адресации операндов.

Теперь рассмотрим второй режим. Обращение к подпрограмме реализуется с помощью команды CALL. Эта команда указывает адрес первой команды в подпрограмме. Перед выполнением команды CALL происходит сохранение адреса следующей за ней команды и регистрового состояния для того, чтобы обеспечить возврат в основную программу. Возвращение осуществляется командой RETURN.

Нам необходимо хранить массив данных, который выполняется при каждом вызове команды CALL. Для реализации этого принципа используется память организации типа «первый пришел, последний ушел», который называется стек.

Существует два варианта реализации стека:

— на основе сдвигового регистра;

— на основе ОЗУ

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил.

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах.

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

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют.

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов.

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики.

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает.

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и.

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и.

Источник: studopedia.info

Режим выполнения основной программы

При выполнении основной программы процессор выбирает из ОЗУ очередную команду программы и выполняет соответствующую операцию. Команда представляет собой многоразрядное двоичное число (Рисунок 6), которое состоит из двух частей (полей) — кода операции (КОП) и кода адресации операндов (КАД).

Рисунок 6 — Формат типовой команды микропроцессора

Код операции КОП задает вид операции, выполняемой данной командой, а код адресации КАД определяет выбор операндов (способ адресации), над которыми производится заданная операция. В зависимости от типа микропроцессора команда может содержать различное число разрядов (байтов). Например, команды процессоров Pentium содержат от 1 до 15 байтов, а большинство процессоров с RISC-архитектурой использует фиксированный 4-байтный формат для любых команд.

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

Принятая из ОЗУ команда поступает в регистр команд, входящий в состав УУ процессора. Затем производится дешифрация команды, в процессе которой определяется вид выполняемой операции (расшифровка КОП) и формируется адрес необходимых операндов (расшифровка КАД).

В соответствии с кодом поступившей команды УУ процессора генерирует последовательность микрокоманд, обеспечивающих выполнение заданной операции. Каждая микрокоманда выполняется в течение одного машинного такта — периода тактовых импульсов, задающих рабочую частоту всех внутренних узлов и блоков микропроцессора. Для выполнения каждой поступившей команды требуется определенное количество командных циклов и тактов. Командным циклом называется промежуток времени, требуемый для выполнения обращения к ОЗУ или внешнему устройству с помощью системной шины. Обычно реализация такого цикла занимает от 2 до 4 системных тактов (периодов синхросигналов шины), которые требуются для установки требуемого адреса, выдачи сигналов, определяющих вид цикла — чтение или запись, получения сигнала готовности к обмену (от памяти или внешних устройств) и собственно передачи данных или команд.

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

Текущее состояние процессора при выполнении программы определяется содержимым регистра состояния SR (State Register, в микропроцессорах Pentium данный регистр называется EFLAGS). Этот регистр содержит биты управления, задающие режим работы процессора, и биты признаков (флаги), указывающие характеристики результата выполненной операции:

N — признак знак (старший бит результата), N = 0 — при положительном результате, N = 1 -при отрицательном результате;

С — признак перенос, С = 1, если при выполнении операции образовался перенос из старшего разряда результата;

V — признак переполнения, V = 1, если при выполнении операций над числами со знаком произошло переполнение разрядной сетки процессора;

Читайте также:
Программа мосэдо как в ней работать

Z — признак нуля, Z = 1, если результат операции равен нулю.

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

Режим вызова программы

Обращение к подпрограмме реализуется при поступлении в микропроцессор специальной команды CALL (в некоторых процессорах эта команда имеет мнемоническое обозначение JSR — Jump-to-SubRoutine), которая указывает адрес первой команды вызываемой подпрограммы. Этот адрес загружается в PC, обеспечивая в следующем командном цикле выборку первой команды подпрограммы. Предварительно выполняется процедура сохранения в специальном регистре или ячейке памяти текущего содержимого PC, где хранится адрес следующей команды основной программы, чтобы обеспечить возвращение к ней после выполнения подпрограммы. Возврат к основной программе реализуется при поступлении команды RETURN (мнемоническое обозначение RET), завершающей подпрограмму. По этой команде сохранявшееся содержимое PC снова загружается в программный счетчик, обеспечивая выполнение команды, которая в исходной программе следовала за командой CALL.

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

Рисунок 7 — Последовательный вызов (вложение) подпрограмм

Для реализации этой процедуры используется стек — специальная память магазинного типа, работающая по принципу «последний пришел — первый ушел» (стек типа LIFO -«Last In-First Out»). Существуют различные варианты реализации стека. Регистровый стек (Рисунок 5) реализуется с помощью реверсивных сдвиговых регистров. Каждая команда CALL вызывает ввод в стек очередного содержимого PC.

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

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

Значительно более широкие возможности вложения подпрограмм обеспечивает реализация стека в ОЗУ (Рисунок 8). В этом случае часть ОЗУ выделяется для работы в качестве стека. Адресация к ячейкам стека производится с помощью специального регистра — указателя стека SP (Stack Pointer), который вводится в состав УУ процессора. Регистр SP содержит адрес верхней заполненной ячейки стека, в которой хранится значение PC, записанное при выполнении команды CALL.

Рисунок 8 — Варианты реализации стека:

регистровый стек (а) и стек, реализуемый в ОЗУ (б)

При поступлении новой команды CALL (операция PUSH) содержимое SP автоматически уменьшается на 1, адресуя следующую, еще незаполненную ячейку стека. Полученный адрес SP-1 выдается на шину А, а на шину D поступает содержимое PC, которое должно сохраняться в стеке.

Таким образом, производится последовательное заполнение ячеек стека «снизу-вверх», при этом SP всегда адресует вершину стека. По команде RETURN (операция POP) текущее содержимое SP выдается на шину А, и по шине D производится считывание с вершины стека последнего записанного значения PC. После этого содержимое SP увеличивается на 1, адресуя предыдущее значение PC, хранящееся в стеке. Так как ОЗУ обычно имеет значительный объем, то для размещения стека можно выделить достаточно большое количество ячеек памяти, обеспечивая необходимый уровень вложения подпрограмм.

Источник: infopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru