Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции кошкин.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
667.65 Кб
Скачать

Механизмы выполнения программы

  1. Последовательность выполнения программы. Основные положения.

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

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

С

процессор

Команда 1

Команда 2

Команда N

Сегмент данных

Сегмент данных

Сегмент данных

егмент – часть информации с которой можно оперировать как с единым целым. Каждый сегмент содержит: сегмент команд –свою команду, сегмент данных – массив данных.

Поскольку ВС оперирует байтами, а форматы команд и данных часто отличны, необходимо принять правило по которому формируется адрес начальной команды или слово данных. Обязательно считается, что процессор формирует адрес для байта с наименьшим номером. Обращение к команде производиться по адресу с наименьшим номером. Поскольку адресация к команде производиться к младшему байту, только он и определяется в программе. Последующие адреса 2,3… байты адресуются устройством управления процессора и в программе не отображаются. Соответственно необходимо принять форматы команды. А форматы команд в свою очередь определяются микропроцессором. Поэтому следует конкретизировать тип микропроцессора и из него форматы команд. Аналогично и для данных. Форма представления данных так же окажет влияние на разрабатываемую процедуру, поэтому следующий шаг выбор: формат целых; фиксированная, плавающая запятая.

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

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

2) Понятие процедур.

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

процесса можно показать в виде символического графа.

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

Помимо активности используют термин – контекст. Часть информации, которая доступна процессору во временя активного состояния. Так контекст процессора – его внутренние регистры и их содержимое. Контекст памяти – состояние, содержимое сегментов.

Процедура А вызывает следующую процедуру Б с помощью последовательности действий. 1) подготовка параметров передаваемых из А в Б. 2) сохранение части контекста А. 3) замена контекста А на Б. Возврат из Б в А. 1) подготовка результатов передаваемых из Б в А 2) восстановление той части контекста А, что было сохранено при обращении. Аналогичные процедуры выполняются при обращении к подпрограммам внутри текущей. Последовательная программа выполняется, рассматривается как последовательность активностей в соответствующих определенных процедурах. Механизм выполнения такой программы предусматривает: 1) сохранение и восстановление контекстов при вызове и возврате. 2) передачу параметров между вызывающей и вызываемой процедурой. 3) управление рабочими законами памяти. Это управление касается сохранения адресов с целью вызова требуемой подпрограммы и возврат в исходную.

Д

Вершина

база

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

П

Выполняемая процедура

осле вызова новой процедуры, она занимает в стеке пространство над выполняемой процедурой. Вершина сохраняется. База становится указателем раздела (указателем окончания выполняемой, текущей процедуры).

При вызове и возврате из процедуры выполняется следующая операция. 1) в стеке выделяется зона для среды. При этом указывается размер, поскольку он известен заранее. К адресу вершины прибавляется размер среды. 2) сохраняется информация для возврата. 3) размещаются параметры. 4) выполняется переход к вызываемой процедуре. При возврате: 1) размещается результат в предусмотренных ячейках. 2) восстанавливается информация возврата и очищается среда. Текущая база при возврате становиться вершиной. 3) выполняется возврат по адресу возврата.

Сохранение и восстановление регистров осуществляется вызывающей процедурой. Состояние процессора определяют следующими регистрами: 1) общий регистр – программа управляемая. 2) специализированные – слово состояния процессора (ССП). Этот регистр сохраняет информацию трех типов:

А) информация о состоянии 1) состояние выполнения. Процессор может находиться в активном состоянии или ожидании. Переход из активного состояния в ожидание осуществляется специальной командой, обратный переход только по прерываниям. 2) режим бит - слово состояние показывает на режим распорядителя (супервизора) и режим исполнителя или программы. Команды режима распорядителя называют привилегированными. Часто список команд в режиме исполнителя составляет подмножество команд супервизора. Иногда к этим добавляют режим трассировки. 3) состояние процессора включает признаки маскирования. Т.о. состояние процессора в ССП показывается 3-6 разрядами.

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

В) информация о текущем состоянии. В простейшем случае - это счетчик команд или условный код. ССП используется системными командами для возврата в прерванную программу.