Разделы презентаций


9. ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ВВОДА-ВЫВОДА ДАННЫХ. Любая микропроцессорная

Содержание

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

Слайды и текст этой презентации

Слайд 19. ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ВВОДА-ВЫВОДА ДАННЫХ.

Любая микропроцессорная система помимо процессора

и основной памяти, образующих её ядро, содержит разнообразные периферийные устройства.
Периферийные

устройства предназначены для хранения больших объёмов информации (внешние ЗУ) и для ввода в систему и вывода из неё информации, в том числе для регистрации и отображения последней (устройства ввода-вывода).
Связь устройств МПС друг с другом осуществляется с помощью сопряжений, называемых интерфейсами.
Интерфейс представляет собой совокупность линий и шин, сигналов, электронных схем и алгоритмов (протоколов), предназначенную для осуществления обмена информацией между устройствами.
Интерфейсы и образуют систему ввода-вывода.
В общем случае система ввода-вывода должна обеспечивать:
1. Возможность реализации вычислительных систем с различным набором периферийных устройств с тем, чтобы пользователь мог выбирать состав оборудования (конфигурацию) системы в соответствии с её назначением и легко дополнять систему новыми устройствами.
2. Параллельную во времени работу микропроцессора над программой и выполнение периферийными устройствами процедур ввода-вывода.
3. Стандартное программирование операций ввода-вывода, независимость его от особенностей того или иного периферийного устройства.

9. ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ВВОДА-ВЫВОДА ДАННЫХ.Любая микропроцессорная система помимо процессора и основной памяти, образующих её ядро, содержит

Слайд 2Основными путями решения указанных проблем являются:
1. Модульный принцип проектирования средств

вычислительной техники.
Суть этого принципа заключается в

том, что отдельные устройства выполняются в виде конструктивно законченных модулей, которые могут сравнительно просто в нужных количествах и номенклатуре объединяться.
Присоединение нового устройства не должно вызывать в существующей части вычислительной системы никаких других изменений, кроме изменения кабельных соединений и некоторых корректировок программ.
2. Использование унифицированных форматов данных, которыми периферийные устройства обмениваются с ядром МПС.
Преобразование унифицированных форматов данных в индивидуальные, приспособленные для отдельных периферийных устройств, производится в блоках управления периферийными устройствами.
3. Использование унифицированных формата и набора команд микропроцессора для операций ввода-вывода.
Операция ввода-вывода с любым периферийным устройством представляет для микропроцессора просто операцию передачи данных независимо от особенностей принципа действия данного периферийного устройства, типа его носителя и т.п.
4. Применение унифицированных интерфейсов.
Для обеспечения параллельной во времени работы микропроцессора и периферийных устройств, схемы управления вводом-выводом отделяют от МП и придают им достаточную степень автономности.
Основными путями решения указанных проблем являются:1. Модульный принцип проектирования средств вычислительной техники.    Суть этого

Слайд 3Многие функции управления операциями ввода-вывода, как, например, управление прямым доступом

к памяти, являются общими, они не зависят от типа периферийного

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

9.1. Способы обмена данными между устройствами вычислительной системы.

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


Многие функции управления операциями ввода-вывода, как, например, управление прямым доступом к памяти, являются общими, они не зависят

Слайд 4Программно-управляемый способ может быть эффективен только
для операций ввода-вывода отдельных

байт (слов) и поэтому используется для обмена данными между МП

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

Слайд 5Прямым доступом к памяти управляет контроллер ПДП. При этом возможно

использование как общей, так и отдельной шины для связи с

памятью:







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

Слайд 6Структурная схема контроллера ПДП включает один или несколько буферных регистров

РгБ, регистр-счётчик текущего адреса данных РгТАД, счетчик текущих данных СчТД

и устройство управления УУ.










При инициировании операции ввода-вывода в СчТД заносится размер передаваемого блока (число байт или слов), а в РгТАД – начальный адрес используемой области памяти.
С передачей каждой единицы блока содержимое РгТАД увеличивается на 1. При этом формируется адрес очередной ячейки ОП, участвующей в передаче. Одновременно уменьшается на 1 содержимое СчТД.
Обнуление СчТД указывает на завершение передачи.


Структурная схема контроллера ПДП включает один или несколько буферных регистров РгБ, регистр-счётчик текущего адреса данных РгТАД, счетчик

Слайд 7Контроллер ПДП по сравнению с микропроцессором обычно имеет более высокий

приоритет в занятии цикла памяти.
Управление памятью переходит к контроллеру ПДП

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

9.2. Методы передачи информации между устройствами вычислительной системы.

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


Контроллер ПДП по сравнению с микропроцессором обычно имеет более высокий приоритет в занятии цикла памяти.Управление памятью переходит

Слайд 8Период синхронной передачи  должен быть не меньше максимального времени

Т передачи сигнала, которое складывается из времени распространения сигнала по

линии Л0, а также времени распознавания и фиксации сигнала в регистре приёмного устройства У2.




При асинхронном методе устройство У1 устанавливает соответствующее
передаваемому коду состояние сигнала на линии Л0.
Устройство У2 после фиксации этой информации извещает об этом устройство У1 изменением состояния сигнала на линии Л1.
Передающее устройство, получив сигнал о приёме, снимает передаваемый сигнал, а приёмное устройство, в ответ, снимает сигнал подтверждения.




Для периода асинхронной передачи должно выполняться условие  2t, где t – время передачи нового состояния сигнала в один конец линии связи.
Период синхронной передачи  должен быть не меньше максимального времени Т передачи сигнала, которое складывается из времени

Слайд 9Время Т приходится выбирать, исходя из максимально возможных расстояний между

устройствами и наихудших условий передачи.
Время же t зависит от

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






При стробировании информация передаётся по линиям Л1, …, Лn в интервале времени, когда сигнал на линии Л0 соответствует 1.
В противном случае сигналы на линиях Л1, …, Лn не имеют смысла.
Для гарантированной передачи данных по линиям Л1,…, Лn передаваемый код устанавливается как минимум на время ΔТ раньше, чем появляется единичный сигнал на линии Л0.

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

Слайд 10Снятие сигналов с линий Л1,…, Лn может закончиться на время

 Т позже времени установления нулевого состояния на линии Л0.
Следовательно,

период передачи определяется равенством  = 0 + 2Т + '.
Передача со стробированием используется главным образом для пересылок информации внутри устройства, например между регистрами.
При передаче с квитированием фронт сигнала на линии Л0 извещает устройство У2, что устройство У1 подготовило передаваемую информацию на линиях Л1,…, Лn. Фронт сигнала на линии Лn+1 извещает устройство У1, что устройство У2 приняло информацию. Восприняв извещающий сигнал, устройство У1 снимает информацию с линий Л1,…, Лn и гасит сигнал на линии Л0.








Срез сигнала на этой линии оповещает устройство У2 об окончании передачи данных.
В ответ устройство У2 гасит сигнал на линии Лn+1, срез которого извещает устройство У1 о готовности устройства У2 к приёму следующей порции данных.
Снятие сигналов с линий Л1,…, Лn может закончиться на время  Т позже времени установления нулевого состояния

Слайд 11Период передачи данных при использовании квитирования определяется формулой, аналогичной предыдущему

случаю. Однако следует помнить, что, как правило, время 2t значительно

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

9.3. Основные структуры систем ввода-вывода.

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

Слайд 12Можно выделить два характерных принципа построения и соответствующие структуры систем

ввода-вывода: с одним общим интерфейсом и с множеством интерфейсов и

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







Периферийные устройства (ПУ) подсоединяются к общей шине с помощью блоков управления (контроллеров).
Контроллеры (К) осуществляют согласование форматов данных, используемых в ПУ, с форматом, принятым для передачи по общей шине.
Контроллеры ПДП обеспечивают возможность подключения ПУ с поблочной передачей данных (ЗУ на дисках, лентах и некоторые другие ПУ).
Обмен информацией между МП, памятью и ПУ осуществляется по единому правилу: 1) информация передаётся словами; 2) все передачи осуществляются по методу квитирования; 3) в каждый данный момент времени обмен данными может происходить только между одной парой модулей.
Можно выделить два характерных принципа построения и соответствующие структуры систем ввода-вывода: с одним общим интерфейсом и с

Слайд 13Взаимодействие двух устройств по общей шине основано на принципе "ведущий-ведомый"

(master-slave). Ведущий управляет общей шиной, а ведомый выполняет операцию в

соответствии с указаниями ведущего.
В зависимости от операции одно и то же устройство может быть как ведущим, так и ведомым. Исключение составляет основная (оперативная) память, которая может быть только ведомым устройством.
Каждое из устройств, которое может стать ведущим, имеет присвоенный ему приоритет.
Устройство с более высоким приоритетом берёт на себя функции ведущего после освобождения общей шины микропроцессором.
Выбор ведущего осуществляется схемой приоритета, находящейся в МП.
Принцип "ведущий-ведомый" позволяет организовать на общей шине автономный обмен (без участия МП) между двумя ПУ, например магнитным диском и ОП.
Общая шина (ОШ) представляет собой унифицированную систему связей и сигналов между процессором и ПУ: (рис. на следующей странице).
По шине адреса передаются адреса ячеек ОП и периферийных устройств, а по шине данных – коды данных, команд и состояний устройств.
Шины адреса и данных образуют информационную магистраль (информационную шину).
Магистраль (шину) управления образуют следующие шины.
Шина управления обменом информации включает в себя от одной до трёх линий синхронизации передачи информации.


Взаимодействие двух устройств по общей шине основано на принципе

Слайд 14Шина передачи управления выполняет операции приоритетного занятия












информационной магистрали. Эта

шина необходима при наличии в системе нескольких устройств, способных быть

инициаторами обмена информацией.
Шина прерывания идентифицирует устройство, запрашивающее сеанс обмена информацией. Идентификация состоит в определении контроллером адреса источника прерывания.
Шина специальных управляющих сигналов включает в себя линии питания, тактирующих импульсов, сигналов общего сброса и т.п.
Общий интерфейс не полностью освобождает МП от управления операциями ввода-вывода. Более того, во время операции обмена данными между ПУ и ОП интерфейс оказывается занятым, а связь МП с ОП – блокированной.
Шина передачи управления выполняет операции приоритетного занятия информационной магистрали. Эта шина необходима при наличии в системе нескольких

Слайд 15Однако общий интерфейс обеспечивает простоту реализации системы ввода-вывода и гибкость

при построении различных конфигураций МПС.
По этой причине интерфейс с общей

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


Однако общий интерфейс обеспечивает простоту реализации системы ввода-вывода и гибкость при построении различных конфигураций МПС.По этой причине

Слайд 16При этом каналы осуществляют буферизацию и преобразование форматов передаваемых данных

для согласования работы ОП и ПУ.

При этом каналы осуществляют буферизацию и преобразование форматов передаваемых данных для согласования работы ОП и ПУ.

Слайд 17Однако в отличие от контроллера ПДП на каналы ввода-вывода возлагаются

дополнительные функции для минимизации участия МП в операциях ввода-вывода. Этими

функциями являются:
1. Организация цепочки данных.
Возможны случаи, когда массив данных состоит из нескольких подмассивов, размещённых в произвольных участках ОП. Тогда для ввода-вывода каждого подмассива необходимо включать в программу микропроцессора отдельные команды ввода-вывода.
Чтобы передача всех подмассивов инициировалась только одной командой микропроцессора, канал должен допускать задание в канальной программе цепочки данных для передачи такого составного массива.
2. Организация пропуска информации.
При операциях ввода может возникнуть необходимость переносить в память с носителя информации только отдельные части массива, пропуская ненужные данные.
Для этого должна иметься возможность задания в канальной программе пропуска информации в цепочке данных и реализация пропуска без привлечения микропроцессора для выполнения этой процедуры.
3. Организация цепочки операций.
Обмен информацией между ОП и некоторыми ПУ состоит в определённой последовательности операций ввода-вывода.
Например, при работе с ЗУ на магнитных дисках может потребоваться следующая последовательность операций: а) установить головки на i-й цилиндр; б) прочитать информацию с j-й поверхности дисков; в) прочитать информацию с (j+1)-й поверхности; г) установить головки на k-й цилиндр и т.д.
Однако в отличие от контроллера ПДП на каналы ввода-вывода возлагаются дополнительные функции для минимизации участия МП в

Слайд 18Чтобы при подобных последовательностях операций ввода-вывода каждая новая операция не

требовала новой команды ввода-вывода, должна иметься возможность задания в канальной

программе цепочек операций.
4. Формирование запросов прерывания от ввода-вывода.
Аппаратура канала автоматически прерыванием извещает микропроцессор об окончании каждой операции ввода-вывода.
Вместе с тем должна иметься возможность задания в программе канала прерывания на любом этапе операции ввода-вывода, т.е. программно-управляемого прерывания. Оно не нарушает нормальное выполнение текущей операции ввода-вывода.
Появление запроса программно-управляемого прерывания означает, что выполнены все операции ввода-вывода, предшествующие в канальной программе этому запросу.
В результате микропроцессор может следить за выполнением канальной программы ввода-вывода и начинать обработку данных сразу после выполнения очередного этапа операции ввода-вывода.
Каналы ввода-вывода полностью разгружают МП от управления операциями ввода-вывода, но порождают неоднородность в структуре потоков (последовательностей байт, слов) и форматах передаваемых данных.
Эта неоднородность, в свою очередь, приводит к необходимости использования нескольких специализированных интерфейсов, среди которых можно выделить 4 типа.
Интерфейс основной (оперативной) памяти предназначается для передачи информации между ОП и каналами ввода-вывода, а также между ОП и процессором. Ведущим устройством здесь является процессор либо канал ввода-вывода, а ведомыми – блоки ОП.
Чтобы при подобных последовательностях операций ввода-вывода каждая новая операция не требовала новой команды ввода-вывода, должна иметься возможность

Слайд 19Интерфейс процессор-каналы применяется для обмена информацией между микропроцессором и каналами

ввода-вывода. Ведущим в этом интерфейсе является микропроцессор, а ведомым –

каналы ввода-вывода.
Указанные интерфейсы являются наиболее быстродействующими. Информация через них передаётся параллельно словами.
Интерфейс ввода-вывода обеспечивает обмен информацией между каналами ввода-вывода и контроллерами периферийных устройств. Здесь ведущими устройствами являются каналы ввода-вывода, а ведомыми – контроллеры.
Информация через интерфейс ввода-вывода передаётся параллельно байтами или парами байт.
Интерфейсы периферийных устройств (имеются и в структуре с общей шиной) служат для передачи информации между контроллерами и ПУ. В этом интерфейсе ведущими являются контроллеры, а ведомыми – ПУ.
Через этот интерфейс информация передаётся группами разрядов, число которых определяется типами ПУ.
Функции, выполняемые первыми тремя типами интерфейсов, не зависят от типов ПУ.
Поэтому соответствующие интерфейсы являются унифицированными, т.е. имеют унифицированный по составу и назначению набор линий и шин, унифицированные схемы подключения, сигналы и алгоритмы (протоколы) управления обменом информацией между ПУ и ядром системы.
Интерфейсы ПУ не могут быть унифицированы в силу большого разнообразия ПУ по принципу действия, выполняемым операциям и используемым форматам данных.
Интерфейсы ПУ выпускаются в виде БИС и входят в состав МПК, поэтому далее рассмотрим принципы построения и структуры таких интерфейсов.
Интерфейс процессор-каналы применяется для обмена информацией между микропроцессором и каналами ввода-вывода. Ведущим в этом интерфейсе является микропроцессор,

Слайд 209.4. Интерфейсы периферийных устройств.

В зависимости от способа передачи данных различают

последовательные и параллельные интерфейсы, а в зависимости от метода управления

обменом – синхронные, асинхронные и синхронно-асинхронные.
Асинхронный параллельный интерфейс имеет следующую структуру:

9.4. Интерфейсы периферийных устройств.В зависимости от способа передачи данных различают последовательные и параллельные интерфейсы, а в зависимости

Слайд 21Регистры данных служат для временного хранения данных, передаваемых как от

системной (общей шины), так и со стороны ПУ.
Регистр управления работает

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

Вывод выполняется в обратной последовательности. МП ожидает освобождения регистра данных передатчика, что определяется контролем по прерыванию регистра состояния.
ЛЕКЦИЯ 9
Регистры данных служат для временного хранения данных, передаваемых как от системной (общей шины), так и со стороны

Слайд 22Затем выводится информационное слово и запоминается в регистре данных передатчика.
Управляющая

логика передаёт символ в ПУ, когда оно готово его принять.
Так

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

Затем выводится информационное слово и запоминается в регистре данных передатчика.Управляющая логика передаёт символ в ПУ, когда оно

Слайд 23Интерфейсный модуль должен работать и в режиме прерывания, инициируя сигнал

прерывания микропроцессору.
Данный тип обмена особенно удобен при работе с низкоскоростными

ПУ, а также в ситуациях, когда момент готовности к передаче данных в микропроцессор периферийным устройством непредсказуем.
Асинхронный последовательный интерфейс используется для медленно работающих ПУ.
Обычно скорость передачи достигает 9600 Бод (Бод – число временных интервалов в секунду при последовательной передаче; для двоичных сигналов Бод соответствует биту в секунду).
В данном интерфейсе применяется старт-стопный способ обмена.

Интерфейсный модуль должен работать и в режиме прерывания, инициируя сигнал прерывания микропроцессору.Данный тип обмена особенно удобен при

Слайд 24Модуль асинхронного последовательного интерфейса имеет следующую структуру:














Интерфейс преобразует данные, принятые

от микропроцессора, из параллельной формы в последовательную с введением бит

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

Слайд 25Генератор синхронизации в приёмнике синхронизируется стартовым битом по началу каждого

символа, что компенсирует возможное отличие частот генераторов.
В остальном интерфейс аналогичен

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

Слайд 26Информационное слово, подлежащее передаче в ПУ, снимается с шины данных

и поступает на вход регистра данных.
Одновременно по команде МП дешифратор

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

Наибольшую гибкость допускают программируемые синхронно-асинхронные интерфейсы как последовательного, так и параллельного типа, иногда называемые адаптерами.


Информационное слово, подлежащее передаче в ПУ, снимается с шины данных и поступает на вход регистра данных.Одновременно по

Слайд 27Модуль синхронно-асинхронного последовательного интерфейса (последовательного адаптера) имеет следующую структуру:










Буфер

шины данных обеспечивает сопряжение с внешней шиной данных и служит

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

Модуль синхронно-асинхронного последовательного интерфейса (последовательного адаптера) имеет следующую структуру: Буфер шины данных обеспечивает сопряжение с внешней шиной

Слайд 28Блок приёмника с автономной схемой управления принимает информацию в последовательной

форме, преобразует её в параллельную форму, контролирует правильность приёма, исключает

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

Блок приёмника с автономной схемой управления принимает информацию в последовательной форме, преобразует её в параллельную форму, контролирует

Слайд 30Структура модуля синхронно-асинхронного параллельного интерфейса (параллельного адаптера) имеет вид:











Буфер шины

данных и блок управления вводом выводом выполняют те же функции,

что и аналогичные блоки последовательного адаптера.
Для сопряжения с периферийным оборудованием используются 3 двунаправленных канала А, В и С, называемых портами.
Порт С разделён на две равные части.
Программирование и обмен данными с адаптером осуществляется командами ввода-вывода.
Программирование адаптера заключается в загрузке управляющего слова (слова приказа) в регистр управления.
Структура модуля синхронно-асинхронного параллельного интерфейса (параллельного адаптера) имеет вид:Буфер шины данных и блок управления вводом выводом выполняют

Слайд 31Данная конфигурация адаптера допускает несколько режимов работы.
В режиме 0 работают

все порты. Выводимые данные фиксируются в регистрах портов, а вводимые

данные не запоминаются, т.е. информация с входа порта сразу передаётся на выход буфера шины данных.
Этот режим применяется при организации ввода-вывода с медленно работающими ПУ (посимвольного печатающего устройства, ленточного перфоратора и т.п.).
Режим 1 стробируемого ввода и вывода предназначен для однонаправленных передач данных, инициируемых прерываниями.
В этом режиме обмен данными осуществляется через порты А и В, а 6 линий порта С используются для управления обменом.
Оба или один из параллельных портов А и В можно запрограммировать с линиями квитирования и прерывания. При этом каждый из них может работать на ввод или вывод.
В режиме 2 порт А используется как двунаправленный буфер, а 5 линий порта С используются для управления обменом.
Оставшиеся линии порта С и порт В можно запрограммировать в режиме 0 или в режиме 1.

А теперь поднимемся на уровень выше в иерархии интерфейсов и рассмотрим интерфейс "общая шина", широко применяемый в МПС.
Данная конфигурация адаптера допускает несколько режимов работы.В режиме 0 работают все порты. Выводимые данные фиксируются в регистрах

Слайд 3210. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МПС.
10.1. Понятие программного обеспечения.

МПС как и вычислительная

система представляет собой совокупность аппаратурных и программных средств.
Аппаратурные средства жёстко

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


10. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МПС.10.1. Понятие программного обеспечения.МПС как и вычислительная система представляет собой совокупность аппаратурных и программных

Слайд 33Программное обеспечение (ПО) может быть разделено на три категории: системное,

технического обслуживания и прикладное.











Системное ПО предназначено для управления функционированием микропроцессорных

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

Слайд 34Инструментальные программы операционной системы предназначены для упрощения и облегчения процесса

создания новых как системных, так и прикладных программ.
К их числу

относятся трансляторы (переводчики) с языков программирования на машинный язык, редакторы текстов, программы-отладчики и т.п.

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

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

Рассмотрим все категории ПО более подробно.

10.2. Алгоритмизация задач и язык SDL.

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

Слайд 35Алгоритмом называется пошаговая процедура решения конкретной задачи, которая определяет процесс

преобразования (обработки) исходных данных в искомый результат.

Алгоритм отражает общую схему

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

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

Алфавит языка SDL состоит из набора графических символов, которые подразделяются на 2 группы.

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

Слайд 36Приведём основные символы языка SDL:

Приведём основные символы языка SDL:

Слайд 37На диаграмме взаимодействия МПС представляется набором функциональных БЛОКОВ, соединённых между

собой и с окружающей средой однонаправленными КАНАЛАМИ.
Каждый БЛОК состоит из

одного или нескольких ПРОЦЕССОВ.
SDL-ПРОЦЕССУ можно поставить в соответствие произвольный элемент или совокупность элементов МПС, выполняющих некоторый набор логических функций, имеющих конечную память внутренних состояний и взаимодействующих с другими элементами МПС посредством дискретного и конечного множества входов и выходов.
В СПИСКАХ СИГНАЛОВ перечисляются сигналы, передаваемые между ПРОЦЕССАМИ в пределах одного БЛОКА, а также сигналы, передаваемые по КАНАЛУ в направлении некоторого БЛОКА или от него.
На диаграмме процессов каждый ПРОЦЕСС определяется в терминах теории конечных автоматов и может находиться либо в фазе СОСТОЯНИЕ, либо в фазе ПЕРЕХОД.
В фазе СОСТОЯНИЕ действие ПРОЦЕССА приостановлено в ожидании поступления некоторого сигнала ВХОД.
Этот сигнал переводит ПРОЦЕСС в фазу ПЕРЕХОД, которая характеризуется последовательностью действий, определяемых информацией в сигнале ВХОД.
По окончании фазы ПЕРЕХОД ПРОЦЕСС вновь оказывается в фазе СОСТОЯНИЕ и вырабатывает сигнал ВЫХОД, являющийся в свою очередь сигналом ВХОД для другой фазы СОСТОЯНИЕ.

На диаграмме взаимодействия МПС представляется набором функциональных БЛОКОВ, соединённых между собой и с окружающей средой однонаправленными КАНАЛАМИ.Каждый

Слайд 38Среди последовательности действий фазы ПЕРЕХОД следует различать:
-РЕШЕНИЕ – действие, связанное

с выбором одного из нескольких возможных путей продолжения ПРОЦЕССА;
-ЗАДАЧА –

действие, не являющееся ни РЕШЕНИЕМ, ни ВЫХОДОМ;
-ЗАПОМИНАНИЕ – действие, выражающееся в задержке одновременно поступивших СИГНАЛОВ с целью их последующей последовательной обработки.
Основные положения теории конечных автоматов, на базе которой строится язык SDL, налагают следующие ограничения на порядок следования графических символов:
1.Первым символом диаграммы процесса является символ НАЧАЛО, указывающий начальную точку вновь созданного ПРОЦЕССА.
Далее ПРОЦЕСС пребывает либо в фазе СОСТОЯНИЕ, либо в фазе ПЕРЕХОД, перемещаясь по направлению к очередной фазе СОСТОЯНИЕ.
2. За символом СОСТОЯНИЕ может следовать один или несколько символов ВХОД или ЗАПОМИНАНИЕ.
3. Каждому символу ВХОД или ЗАПОМИНАНИЕ должен предшествовать один символ СОСТОЯНИЕ.
4. За символом ВХОД должен следовать строго один символ, за исключением символов ВХОД и ЗАПОМИНАНИЕ.
5. За символом ЗАДАЧА или ВЫХОД должен следовать строго один символ, который не может быть символом ВХОД или ЗАПОМИНАНИЕ.
6. За символом РЕШЕНИЕ должны следовать не менее двух символов, которые не могут быть символами ВХОД или ЗАПОМИНАНИЕ.
7. За символом ЗАПОМИНАНИЕ не могут следовать никакие символы.
Среди последовательности действий фазы ПЕРЕХОД следует различать:-РЕШЕНИЕ – действие, связанное с выбором одного из нескольких возможных путей

Слайд 39Дальнейшая разработка ПО МПС связана с созданием прикладных программ при

использовании одного из языков программирования.

10.3. Уровни языков программирования.

Разработка прикладных программ

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

Дальнейшая разработка ПО МПС связана с созданием прикладных программ при использовании одного из языков программирования.10.3. Уровни языков

Слайд 40Кроме того, программа, составленная в машинных кодах трудна для понимания

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

составлении относительно коротких прикладных программ для специализированных МПС.
Язык ассемблера вместо двоичных кодов операций использует их символические буквенные обозначения – мнемоники.
Мнемоники представляют собой аббревиатуру английских терминов, обозначающих смысл соответствующих операций.
Например, мнемоника JMP (jump – прыгать) соответствует команде условного перехода, MOV (move – передвигать) – команде пересылки данных и т.д.
С помощью мнемоник записываются также данные и адреса, используемые в программе.
Применение мнемоник освобождает программиста от необходимости запоминать двоичные коды команд и следить за абсолютной адресацией команд и данных.
Преобразование (трансляция) мнемоник в соответствующий двоичный код осуществляется специальной программой – транслятором ассемблера.
Программа на языке ассемблера состоит из ряда строк. Каждая строка имеет определённый формат и содержит только один оператор или команду.
Строка ассемблера состоит, как правило, из четырёх полей:

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

Слайд 41В поле метки записывается символическое имя, которое присваивается оператору данной

строки программистом.
Это имя состоит из латинских букв и цифр

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

Слайд 42Поэтому директивы ассемблера на машинный язык не транслируются.
Поле кода операций

отделяется от поля операндов одним пробелом.
Поле операндов содержит один или

два операнда, разделяемые запятой.
Операнды отражают информационное содержание команд МП и директив ассемблера, указанных в поле кода операции.
В качестве операндов могут использоваться численные или символьные константы, имена, выражения.
Численные константы представляются в различных системах счисления с помощью специальных идентификаторов (имён), записанных непосредственно за числом: B – двоичная, Q – восьмеричная, H – шестнадцатеричная, отсутствие идентификатора или D – десятичная.
Символьные константы заключаются в апострофы (') или кавычки.
Имена, используемые в поле операндов, могут быть:
- метками, применяемыми в поле меток других операторов;
- данными, определяемыми программистом с помощью директив присвоения;
- зарезервированными словами ассемблера, например идентификаторами внутренних регистров МП.
Поле комментария начинается с разделителя – точки с запятой (;).
В поле комментария помещается краткое пояснение действий, осуществляемых данным оператором.
Такое сопровождение способствует лучшему пониманию программы, написанной на языке ассемблера. Поэтому не следует сокращать комментарий в ущерб его содержанию.
Поэтому директивы ассемблера на машинный язык не транслируются.Поле кода операций отделяется от поля операндов одним пробелом.Поле операндов

Слайд 43Комментарий можно переносить на следующую строчку программы, при этом новая

строка должна снова начинаться с разделителя.
Следует отметить, что обязательным для

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

Макрокоманда ассемблера представляет собой последовательность операторов ассемблера, заключённую в так называемые операторные скобки.
Открывающая операторная скобка имеет мнемонику MACRO, а закрывающая – мнемонику ENDM.
Эти мнемоники не входят в систему команд МП, а являются директивами языка ассемблера.

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

Слайд 44Макрокоманда объединяет последовательность операторов, используемых в программе неоднократно. Поэтому макрокоманде

программистом даётся некоторое имя, которое может использоваться в программе на

языке ассемблера произвольное число раз.
Имя макрокоманды записывается в поле меток той строки ассемблера, которой начинается макрокоманда.
В поле кода операции этой строки записывается мнемоника MACRO, а её поле операндов может содержать список формальных параметров, называемых также аргументами.
Макрокоманда заканчивается строкой, поле операторов которой содержит мнемонику ENDM.
Группа операторов, расположенных между директивами MACRO и ENDM, представляет тело макрокоманды и может содержать любые мнемоники соответствующих машинных кодов, директив, комментариев и т.п.
Тело макрокоманды транслируется на машинный язык только единожды.
Далее, встречая имя макрокоманды, транслятор автоматически включает тело макрокоманды в объектную программу (в программу на машинном языке).
Как показывает опыт, время написания и отладки программ, написанных на языках низкого уровня – машинном или ассемблере, а также трудность их понимания пропорциональны числу команд в программе. Поэтому широкое распространение при разработке прикладных программ находят языки высокого уровня: Паскаль, Бейсик, Си и т.п.
Языки высокого уровня позволяют выполнять наиболее распространённые операции (вычисление выражений, повторение циклов, присвоение значений и условные действия), используя в каждом случае только один оператор.
Макрокоманда объединяет последовательность операторов, используемых в программе неоднократно. Поэтому макрокоманде программистом даётся некоторое имя, которое может использоваться

Слайд 45Трансляция программы с языка высокого уровня в последовательность машинных команд

конкретной МПС осуществляется с помощью специальных программ – компилятора или

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

Трансляция программы с языка высокого уровня в последовательность машинных команд конкретной МПС осуществляется с помощью специальных программ

Слайд 4610.4. Средства разработки прикладных программ.

В процессе разработки прикладных программ можно

выделить несколько основных этапов:
1.Создание текстового файла, т.е. написание исходного текста

программы на выбранном языке программирования в соответствии с предварительно разработанной схемой алгоритма.
2.Трансляция (компиляция) исходной программы для получения объектного файла или объектного модуля.
Использование понятия модуля подчёркивает тот факт, что текстовый файл программы может содержать несколько частей (модулей), допускающих автономную трансляцию на машинный язык.
3.Компоновка (объединение) объектных модулей в единый загрузочный файл с учётом характеристик используемых аппаратных средств.
4.Загрузка программы в оперативную память и её исполнение.
10.4. Средства разработки прикладных программ.В процессе разработки прикладных программ можно выделить несколько основных этапов:1.Создание текстового файла, т.е.

Слайд 47На каждом этапе используются соответствующие инструментальные средства:















Дадим краткую характеристику каждому

из этих средств.
Экранный редактор текста (ЭРТ) представляет собой программу, предназначенную

для создания и модификации исходных программ.
Исходная программа является текстовым файлом (последовательностью строк буквенно-цифровых символов).

На каждом этапе используются соответствующие инструментальные средства:Дадим краткую характеристику каждому из этих средств.Экранный редактор текста (ЭРТ) представляет

Слайд 48Исходная программа, обычно вводимая с клавиатуры, сначала записывается оперативный буфер

ЭРТ, организуемый в оперативной памяти.
Затем она может быть переписана в

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

Слайд 49Транслятор ассемблера, реализованный непосредственно на МПС, для которой производится трансляция

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

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

Слайд 50При втором проходе все строки программы просматриваются вновь, но теперь

с целью трансляции на машинный язык каждой команды и используемых

данных, а также анализа на предмет соответствия семантике данного языка.
В результате формируется объектная программа, а на экран дисплея выводятся сообщения об обнаруженных ошибках в семантике языка.
Наконец два последних этапа - компоновщики и загрузчики.
Объектная программа, созданная транслятором ассемблера или компилятором, как правило, не учитывает физические адреса загрузки программы в микропроцессорной системе, т.е. является неподготовленной для её загрузки и последующего выполнения.
Кроме того, в ряде случаев большая исходная программа подразделяется на несколько исходных модулей, разработка которых производится разными программистами.
В этом случае размер каждого модуля остаётся неизвестным до тех пор, пока не закончатся его разработка и отладка.
Так вот, формирование единого загрузочного модуля (т.е. программы, готовой для загрузки и последующего исполнения) из нескольких объектных модулей и привязка этого модуля к фактическим адресам загрузки конкретной МПС осуществляется программами компоновщика и загрузчика, соответственно.
Компоновщик обеспечивает объединение или компоновку всех объектных модулей в единый модуль.
Это объединение происходит посредством установки соответствия между входными и выходными адресами каждого объектного модуля, т.е. установления их взаимной связи.
Поэтому компоновщик часто именуют редактором связей.
Загрузчик устанавливает фактические адреса размещения в памяти МПС единой объектной программы, сформированной компоновщиком.
При втором проходе все строки программы просматриваются вновь, но теперь с целью трансляции на машинный язык каждой

Слайд 51В результате создаётся программа, готовая для непосредственного использования в конкретной

МПС.
Нередко программы компоновщика и загрузчика объединяются в единую программу.

10.5. Средства

отладки прикладных программ.
При разработке программ неизбежны ошибки, которые необходимо корректировать.
Элементарные ошибки, связанные с нарушением синтаксиса языка, обнаруживаются на этапе трансляции.
При наличии таких ошибок производится возвращение к тексту исходной программы для внесения необходимых исправлений.
Значительно сложнее обнаружить логические ошибки, которые проявляются лишь при исполнении программы на машинном языке в конкретной МПС.
Для локализации таких ошибок применяются специальные средства отладки: программные и аппаратно-программные.
Программные средства отладки – это комплекс программ-отладчиков, предоставляющих пользователю ряд возможностей для устранения логических ошибок и приведения программы к виду, пригодному для применения.
К таким возможностям относятся: вывод на дисплей или на печать содержимого регистров МП и всех ячеек памяти, используемых в программе; изменение содержимого любой ячейки оперативной памяти или любого регистра МП; выполнение программы, начиная с произвольного адреса; остановка выполнения программы по достижении команды, находящейся в определённой ячейке памяти; пошаговое выполнение программы и т.п.
В результате создаётся программа, готовая для непосредственного использования в конкретной МПС.Нередко программы компоновщика и загрузчика объединяются в

Слайд 52Подобными программами-отладчиками являются, например ODT, PAT, DEBUG и т.п.
Программы-отладчики обладают

массой достоинств: простота использования, доступность разработчикам, высокая эффективность и т.д.
Однако

отладка прикладных программ только программными средствами происходит без связи с аппаратными средствами разрабатываемых МПС.
В результате нередко выявляется неправильная совместная работа аппаратной части МПС и уже отлаженных программ.
Комплексная отладка прикладных программ и аппаратуры МПС обеспечивается аппаратно-программными средствами.
Широкое распространение при комплексной отладке получило использование внутрисхемного эмулятора.
Эмулятор обеспечивает управление разрабатываемой МПС путём подмены (эмуляции) отдельных её узлов узлами эмулятора.
Подключение эмулятора к отлаживаемой системе осуществляется через разъём МП данной системы:





Метод эмуляции нашёл практическое применение, например, в универсальном отладочном комплексе МИКРОСОТ.

Подобными программами-отладчиками являются, например ODT, PAT, DEBUG и т.п.Программы-отладчики обладают массой достоинств: простота использования, доступность разработчикам, высокая

Слайд 53При комплексной отладке вначале проверяются аппаратные средства разрабатываемой МПС: магистральные

шины, тактовый генератор, устройства ввода-вывода и т.п.
Затем начинается отладка программ

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

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

Слайд 54Пошаговый метод, трассировка и остановы по контрольным точкам позволяют постепенно

вовлекать в работу всё большую часть программных средств, создавая условия

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

10.6. Понятие надёжности МПС.

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

Слайд 55Ремонтопригодность есть степень приспособленности системы к предупреждению, обнаружению и устранению

отказов.
Ремонтопригодность определяет потерю работоспособности системы вследствие необходимости производить устранение неисправностей.
Характеризуется

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

Ремонтопригодность есть степень приспособленности системы к предупреждению, обнаружению и устранению отказов.Ремонтопригодность определяет потерю работоспособности системы вследствие необходимости

Слайд 56Однако если при отказе необходимо устранить неисправность в аппаратуре, то

при сбое требуется восстановить лишь достоверность информации, что не требует

ремонта или регулировки аппаратуры.
В силу этого восстановление достоверности функционирования сравнительно легко может быть автоматизировано.
Достоверность функционирования системы можно оценить средним временем наработки системы на один сбой.
Для уменьшения влияния на работу МПС рассмотренных показателей надёжности необходимо:
1.Снижать потери времени на устранение отказов.
Эти потери времени в первую очередь связаны с поиском неисправности.
Важнейшим средством уменьшения указанных потерь является система автоматического диагностирования, позволяющая локализовать неисправность.
Её основными характеристиками являются:
а) вероятность правильного обнаружения места отказа;
б) разрешающая способность, равная среднему числу подозреваемых сменных блоков;
в) доля аппаратурных средств системы диагностирования в общем оборудовании МПС.
2.Уменьшать потери от сбоев и отказов, порождающих ошибки, для чего следует предотвратить распространение ошибки в вычислительном процессе.
В противном случае существенно усложнятся и удлинятся процедуры проверки правильности работы программы, определения и устранения искажений в программе, данных и промежуточных результатах.
Однако если при отказе необходимо устранить неисправность в аппаратуре, то при сбое требуется восстановить лишь достоверность информации,

Слайд 57Для этого необходимо обнаруживать появление ошибки в выполняемых системой преобразованиях

информации как можно ближе к моменту её возникновения.

С этой целью надо иметь систему автоматического контроля правильности работы МПС, которая при появлении ошибки в работе системы немедленно приостанавливает выполнение программы.
Основными характеристиками этой системы являются:
а) вероятность обнаружения ошибок в функционировании МПС;
б) степень детализации, с которой система контроля указывает место возникновения ошибки;
в) доля оборудования системы контроля в общем оборудовании МПС.
3. Уменьшать время восстановления достоверности информации после сбоя (время, потраченное на повторный пуск программы, части программы, команды и т.д.).
Для этого следует иметь систему автоматического восстановления вычислительного процесса, распознающую характер ошибки (сбой или отказ) и при сбое автоматически восстанавливающую достоверность информации и выполнение программы, а при отказе инициирующую работу системы автоматического диагностирования.
Все три указанные системы являются системами технического обслуживания. Из них основное внимание мы уделим второй системе, и вот по каким причинам.
Обнаружение ошибок должно производится в системе непрерывно и, следовательно, не должно вызывать заметного снижения быстродействия системы.
Поэтому эта функция возлагается обычно на быстродействующие аппаратурные средства контроля.
Для этого необходимо обнаруживать появление ошибки в выполняемых системой преобразованиях информации как можно ближе к моменту её

Слайд 58Однако необходимость в коррекции ошибок, восстановлении вычислительного процесса и диагностирования

неисправностей при современном уровне надёжности МПС возникает достаточно редко.
Поэтому для

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

10.7. Контроль передачи информации.

При контроле передачи информации наибольшее распространение получили методы информационной избыточности, использующие коды с обнаружением и коррекцией ошибок.
Двоичным кодом длиной в n разрядов можно представить максимум 2n различных слов.
Если все разряды слова служат для представления информации, код называется простым (не избыточным).
Коды, в которых лишь часть кодовых слов используется для представления информации, называются избыточными.
Другая часть кодовых слов в избыточных кодах является запрещённой и появление таких слов при передаче информации свидетельствует о наличии ошибки.
Однако необходимость в коррекции ошибок, восстановлении вычислительного процесса и диагностирования неисправностей при современном уровне надёжности МПС возникает

Слайд 59Принадлежность слова к разрешённым или запрещённым словам определяется правилами кодирования,

и для различных кодов эти правила различны.
Коды разделяются на равномерные

и неравномерные.
В равномерных кодах все слова содержат одинаковое число разрядов.
В неравномерных кодах число разрядов в словах может быть различным.
В вычислительной технике применяются преимущественно равномерные коды.
Равномерные избыточные коды делятся на разделимые и неразделимые.
Разделимые коды всегда содержат постоянное число информационных (представляющих передаваемую информацию) и избыточных разрядов, причём последние занимают одни и те же позиции в кодовом слове.
В неразделимых кодах разряды кодового слова невозможно разделить на информационные и избыточные.
Способность кода обнаруживать, а также исправлять ошибки определяется минимальным кодовым расстоянием.
Кодовым расстоянием между двумя словами называется число разрядов, в которых символы слов не совпадают.
При длине слова n кодовое расстояние может принимать значения от 1 до n. Минимальным кодовым расстоянием данного кода называется минимальное расстояние между двумя любыми словами в этом коде.
Если имеется хотя бы одна пара слов, отличающихся друг от друга только в одном разряде, то минимальное расстояние такого кода равно 1.
Не избыточный код имеет минимальное расстояние dmin = 1.
Для избыточных кодов dmin >1.
Принадлежность слова к разрешённым или запрещённым словам определяется правилами кодирования, и для различных кодов эти правила различны.Коды

Слайд 60Если dmin≥ 2, то любые два слова в данном коде

отличаются не менее чем в двух разрядах. Следовательно, любая одиночная

ошибка приведёт к появлению запрещённого слова и может быть обнаружена.
Если dmin≥ 3, то любая одиночная ошибка создаёт запрещённое слово, отличающееся от правильного запрещённого в одном разряде, а от любого разрешённого слова – в двух разрядах.
Заменив запрещённое слово ближайшим к нему (в смысле кодового расстояния) разрешённым словом, можно исправить одиночную ошибку.
В общем случае, чтобы избыточный код позволял обнаруживать ошибки кратностью r, должно выполняться условие: dmin≥ r + 1.
Действительно, одновременная ошибка в r разрядах слова создаёт новое слово, отстоящее от первого на расстоянии r.
Чтобы оно не совпало с каким-либо другим разрешённым словом, минимальное расстояние между двумя разрешёнными словами должно быть хотя бы на 1 больше, чем r.
Для исправления r-кратной ошибки необходимо, чтобы новое слово, полученное в результате такой ошибки, не только не совпадало с каким-либо разрешённым словом, но и оставалось ближе к правильному запрещённому слову, чем к любому другому разрешённому.
От правильного запрещённого слова новое отстоит на расстоянии r.
Следовательно, от любого другого разрешённого слова оно должно отстоять не менее чем на r + 1, а минимальное кодовое расстояние должно быть не менее суммы этих величин: dmin ≥ 2r + 1.
Если dmin≥ 2, то любые два слова в данном коде отличаются не менее чем в двух разрядах.

Слайд 61Рассмотрим несколько простейших избыточных кодов.
Код с проверкой чётности образуется добавлением

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

разряда.
При формировании кода слова в контрольный разряд записывается 0 или 1 таким образом, чтобы сумма единиц в слове, включая избыточный разряд, была чётной (при контроле по чётности) или нечётной (при контроле по нечётности).
В дальнейшем при всех передачах, включая запись в память и считывание, слово передаётся вместе со своим контрольным разрядом.
Если при передаче информации приёмное устройство обнаруживает не соответствие чётности суммы единиц значению контрольного разряда, то это воспринимается как признак ошибки.
Минимальное расстояние кода 2, поэтому он обнаруживает все одиночные ошибки и, кроме того, все случаи нечётного числа ошибок (3, 5 и т.д.).
При контроле по нечётности контролируется полное пропадание информации, поскольку кодовое слово, состоящее из нулей, относится к запрещённым.
Код с проверкой чётности имеет небольшую избыточность и не требует больших аппаратурных затрат на реализацию контроля.
Поэтому он широко применяется в МПС для контроля для контроля передач информации между регистрами и считываемой информации в оперативной памяти.
Корректирующий код Хэмминга, позволяющий исправлять ошибки, применяют в оперативной памяти.
Код Хэмминга строится таким образом, что к имеющимся информационным разрядам слова добавляется определённое число контрольных разрядов, которые формируются перед записью слова в ОП и вместе с информационными разрядами слова
Рассмотрим несколько простейших избыточных кодов.Код с проверкой чётности образуется добавлением к группе информационных разрядов, представляющих простой код,

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

информационных и контрольных разрядов корректирующее число, которое равно 0 при

отсутствии ошибки, либо указывает место ошибки.
Ошибочный разряд автоматически корректируется путём его инверсии.
Процесс кодирования рассмотрим на примере кода Хэмминга с коррекцией одиночной ошибки (dmin = 3).
Если в младшем разряде корректирующего числа появится 1, то это означает ошибку в одном из разрядов слова с нечётными порядковыми номерами.
Введём первый контрольный разряд, которому присвоим нечётный порядковый номер и который установим при кодировании таким образом, чтобы сумма всех разрядов с нечётными порядковыми номерами была равна 0. Эта операция может быть записана в виде: Е1 = х1х3х5…=0, где х1, х3 и т.д. – двоичные символы, размещённые в разрядах с порядковыми номерами 1, 3 и т.д.
Появление 1 во втором справа разряде корректирующего числа означает ошибку в одном из тех разрядов слова, порядковые номера которых (2, 3, 6, 7, 10, 11, 14, 15 и т.д.) имеют 1 во втором справа разряде.
Поэтому вторая операция кодирования, позволяющая найти второй контрольный разряд, имеет вид: Е2 = х2х3х6х7х10х11…=0.
Рассуждая аналогичным образом, можно определить все другие контрольные разряды путём выполнения операций:
записываются в память.При считывании слова контрольная аппаратура образует из прочитанных информационных и контрольных разрядов корректирующее число, которое

Слайд 63Е3 = х4х5х6х7х12х13 х14х15…=0;
Е4 = х8х9х10х11х12х13 х14х15 х24…=0 и

т.д.
После приёма выполняются те же операции, а образующееся в результате

число ЕКEК-1…Е3Е2Е1 считается корректирующим.
При отсутствии ошибок значения разрядов этого числа равны 0.
При наличии ошибки не равными 0 будут те разряды Еi, в образовании которых участвовал ошибочный разряд кодового слова.
При этом корректирующее число будет равно двоичному порядковому номеру ошибочного разряда.
Выбор места для контрольных разрядов производится таким образом, чтобы контрольные разряды участвовали только в одной операции подсчёта чётности. Это упрощает процесс кодирования.
Из выражений для Е1, Е2 и т.д. следует, что такими позициями являются разряды, номера которых представляются целыми степенями двойки: 1, 2, 4, 8, 16 и т.д.
Требуемое число контрольных разрядов определяется из следующих соображений.
Пусть кодовое слово длиной n разрядов имеет m информационных и k =
n - m контрольных разрядов.
Корректирующее число длиной k разрядов описывает 2k состояний, соответствующих отсутствию ошибки и появлению ошибок в i-ом разряде.
Е3 = х4х5х6х7х12х13 х14х15…=0; Е4 = х8х9х10х11х12х13 х14х15 х24…=0 и т.д.После приёма выполняются те же операции, а

Слайд 64Таким образом, должно соблюдаться соотношение
2k  n +

1, или 2k – k – 1  m.

10.8. Контроль

арифметических операций.

Автоматический контроль арифметических операций даёт уверенность пользователю в правильности выполняемых МПС вычислений, что позволяет избежать проверочных расчётов.
В итоге уменьшается время, затрачиваемое на контроль достоверности результатов (двойной просчёт, контрольные варианты и т.д.).
Арифметические операции, как правило, можно представить в виде последовательностей следующих элементарных операций: передача слова и операции преобразования содержимого регистров.
Контроль передачи информации мы уже рассмотрели, поэтому здесь мы рассмотрим принципы контроля операций преобразования, которые заключаются в сдвиге информации, взятии обратного кода и сложении.
Операция сдвига информации в регистре представляет собой, по существу, передачу информации из i-х разрядов регистра в (i + m)-е или (i – m)-е разряды в зависимости от направления сдвига (m – число разрядов, на которое производится сдвиг).
Таким образом, должно соблюдаться соотношение 2k  n + 1, или 2k – k – 1 

Слайд 65Поэтому для контроля операции сдвига можно использовать те же методы,

что и для контроля передачи информации, например контроль чётности суммы

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

Слайд 66Метод проверки чётности может быть использован и для контроля операции

сложения.
При правильном образовании суммы S = SnSn-1… S1 слагаемых А

и В чётность суммы её единиц должна совпадать с чётностью, определяемой выражением:
S1S2…Sn = (a1a2…an) (b1b2…bn) (P1P2…Pn), где Рi – значение переноса, поступающего в i-й разряд суммы.
Однако сбой в схеме формирования переноса может привести к распространению ошибки по многим разрядам суммы и если их число чётно, то искажение не будет обнаружено.
В связи с этим для полноты контроля необходимо проверять правильность образования переноса: в каждом разряде может существовать перенос либо в прямом коде, либо в обратном и не существует одновременно и то, и другое.
С этой целью контрольные разряды чётности формируются отдельно для переносов и отдельно для суммы.
Затем проверяется выполнение вышеуказанного условия.

Метод проверки чётности может быть использован и для контроля операции сложения.При правильном образовании суммы S = SnSn-1…

Слайд 67Упрощённая схема контроля сумматора имеет вид:














Контроль выполнения арифметических операций (сложения,

вычитания, умножения) можно осуществлять с помощью контрольных кодов, представляющих собой

остатки от деления чисел на некоторый модуль R (контроль по модулю R).

Упрощённая схема контроля сумматора имеет вид:Контроль выполнения арифметических операций (сложения, вычитания, умножения) можно осуществлять с помощью контрольных

Слайд 68При этом в качестве контрольной операции над остатками может быть

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

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

10.9. Принципы построения систем автоматического диагностирования.
Диагностирование может производиться функциональным или тестовым способом.
Функциональное диагностирование предполагает использование некоторых средств контроля правильности функционирования объекта при реализации его рабочего процесса.
Тестовое диагностирование производится путём подачи на объект специальных тестовых воздействий и сравнения реакций объекта на эти воздействия с эталонными ответами.
В МПС используется главным образом метод тестового диагностирования, позволяющий локализовать место неисправности с точностью до устройства, входящего в некоторый блок.
При этом в качестве контрольной операции над остатками может быть выбрана та же арифметическая операция, которая производится

Слайд 69Тестовые диагностические процедуры могут осуществляться путём прогона на МПС специальных

диагностических программ.
Однако значительно более гибкое диагностирование с большей детализацией места

неисправности обеспечивают диагностические процедуры, выполняемые под управлением специальных диагностических микротестов и –микропрограмм ("микродиагностика").
Диагностирование сложных МПС производится в форме многоэтапного процесса, причём на разных этапах используются средства диагностирования – микропрограммные, программные и аппаратурные.
Система автоматического диагностирования (САД) представляет собой комплекс аппаратурных, микропрограммных и программных средств, а также справочной документации (справочников неисправностей, инструкций, схем МПС, тестов).
Различают встроенные САД, когда диагностирующие средства размещаются внутри МПС, и внешние САД, когда эти средства находятся вне МПС.
На практике часто САД строятся комбинированными: одна часть их средств встраивается в МПС, а другая оформляется в виде дополнительного оборудования, подсоединяемого к МПС при диагностировании неисправностей.
Обычно объём диагностических микропрограмм (тестов "микродиагностики") и программ столь велик, что их не удаётся хранить внутри МПС (в управляющей, оперативной или специальных встроенных памятях).
Однако в большинстве случаев это и не важно, так как диагностические тесты не так часто выполняются.
Поэтому обычно они хранятся во внешних ЗУ.

Тестовые диагностические процедуры могут осуществляться путём прогона на МПС специальных диагностических программ.Однако значительно более гибкое диагностирование с

Слайд 70Для САД сложных МПС характерным является использование специализированных диагностических процессоров

(сервисных адаптеров или сервисных процессоров).
Сервисные адаптеры строятся на основе МП

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

10.10. Взаимодействие систем технического обслуживания.

В МПС, снабжённой системой автоматического контроля, возникновение ошибок в каком-либо устройстве порождает сигнал ошибки.

С появлением этого сигнала приостанавливается выполнение программы целиком или только рабочей процедуры в неисправном устройстве.

При этом 1 в соответствующем разряде регистра ошибок указывает укрупнённо место, где обнаружена ошибка (устройство, узел, регистр и т.д.).
Сигнал ошибки инициирует работу системы восстановления.

Система автоматического восстановления во взаимодействии с системой автоматического контроля обычно выполняет следующие функции:

Для САД сложных МПС характерным является использование специализированных диагностических процессоров (сервисных адаптеров или сервисных процессоров).Сервисные адаптеры строятся

Слайд 711) распознавание характера обнаруженной ошибки, т.е. выяснение, вызвана ошибка случайным

сбоем, перемежающимся или устойчивым отказом;
2) организация "рестарта", т.е. продолжения выполнения

программы путём повторения ошибочно выполненной микрооперации, команды или сегмента программы. Таким образом, устраняется ошибка в информации, вызванная сбоем;
3) запись в память информации о сбое;
4) при обнаружении отказа инициирование работы САД.
На САД в данном случае возлагается:
1) локализация места отказа с заданной степенью подробности (например, до уровня сменной платы) и, если возможно, реконфигурация, т.е. отключение неисправного узла или устройства с передачей его функций другому соответствующему узлу или устройству;
2) запись в память информации об отказе для последующей обработки.

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

Первой выполняется процедура обработки сигнала прерывания от системы контроля.

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

Слайд 73Начинается эта процедура записью состояний регистров МП и старого
слова

состояния программы в соответствующие ячейки памяти, а также выборкой нового

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

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

Слайд 74Если при повторении микрокоманды (команды, сегмента, программы) ошибка не повторяется,

событие распознаётся как сбой и происходит возврат к точке прерывания

программы.
Однако перед этим в память записывается дополнительная информация о состоянии вычислительной системы в момент сбоя (какие в это время выполнялись операции в периферийных и других устройствах, название программы, адрес команды, операнды, время).
Эта информация о ситуациях при сбоях и отказах накапливается во внешнем ЗУ и в последствии обрабатывается специальной программой, вырабатывающей определённые рекомендации обслуживающему персоналу.
Если при определённом числе повторений (например, 8) ошибка сохраняется, событие распознаётся как отказ и автоматически приводится в действие САД для определения места неисправности.
Диагностические процедуры могут включаться и вручную оператором.
После выявления места отказа проверяется возможность реконфигурации путём автоматического отключения неисправного устройства и передачи его функций другому устройству.
Если это возможно, производится реконфигурация системы, после чего выдаётся сообщение оператору об отказе и произведённой реконфигурации и происходит возврат к контрольной точке программы.
Если реконфигурация невозможна, САД инициирует на мониторе код неисправности.
Оператор, пользуясь справочником неисправностей, находит и заменяет неисправный блок, а затем включает диагностические процедуры.
Если отказ устранён, производится возврат к контрольной точке программы.
Если при повторении микрокоманды (команды, сегмента, программы) ошибка не повторяется, событие распознаётся как сбой и происходит возврат

Слайд 7510.11. Понятие операционной системы.

Операционная система – это набор обычных программ

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

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

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

Слайд 76Программы обращаются к операционным системам при помощи специальных команд, известных

под различными названиями: вызов супервизора (программа, осуществляющая планирование вычислительного процесса,

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

Важной компонентой операционной системы является файловая система.

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

Слайд 7710.12. Функции файловой системы.

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

во внешней памяти.
Элементами файла являются поля и записи.
Полем называется группа

взаимосвязанных символов.
Числовое поле содержит только цифры, алфавитное поле – только буквы и пробелы, алфавитно-цифровое поле – только цифры, буквы и пробелы, символьное поле – какие-либо специальные символы.
Например, 365 – это числовое поле, Алфавитный символ – алфавитное поле, 15 устройств – алфавитно-цифровое поле, $367 – символьное поле.
Группа взаимосвязанных полей носит название записи.
По отношению к каждому из нас запись может содержать отдельные поля, где, например, будут указаны идентификационный номер, фамилия, номер телефона, адрес местожительства и т.д.
Ключ записи – это управляющее поле, которое однозначно идентифицирует данную запись.
Например, при расчёте заработанной платы в качестве ключа записи может использоваться табельный номер служащего.
Группа взаимосвязанных записей является файлом.
Например, файл вашей группы может содержать по одной записи для каждого студента.


10.12. Функции файловой системы.Файлом называется поименованная совокупность данных, обычно размещаемая во внешней памяти.Элементами файла являются поля и

Слайд 78Для манипуляций с файлом как с единым целым предусматриваются такие

команды, как
-открыть (open) – подготавливает файл к обращению;
-закрыть (close) –

запрещает дальнейшее обращение к файлу, пока он не будет вновь открыт;
-создать (create) – обеспечивает формирование нового файла;
-уничтожить (destroy) – разрушает файл;
-копировать (copy) – создаёт ещё один экземпляр существующего файла с новым именем;
-переименовать (rename) – изменяет имя файла;
-вывести (list) – обеспечивает распечатку листинга или воспроизведение файла на экране монитора.
Операции с элементами файла (обычно с записями) можно производить с помощью таких команд, как
-прочитать (read) – обеспечивает ввод элемента данных из файла в процесс обработки;
-записать (write) – обеспечивает вывод элемента данных из процесса обработки в файл;
-обновить (update) – обеспечивает модификацию существующего элемента данных;
-вставить (insert) – обеспечивает добавление нового элемента данных;
-исключить (delete) – обеспечивает исключение элемента данных из файла.

Управление файлами осуществляет файловая система.
Для манипуляций с файлом как с единым целым предусматриваются такие команды, как-открыть (open) – подготавливает файл к

Слайд 79Файловая система – это часть системы управления памятью, ответственная преимущественно

за управление файлами, хранящимися во внешней памяти.
Файловая система должна реализовывать

следующие основные функции:
1) предоставлять пользователям возможность создавать, модифицировать и уничтожать файлы;
2) предоставлять возможность пользователям разделять файлы друг от друга под тщательным контролем с тем, чтобы они могли эффективно взаимодействовать при выполнении общей работы;
3) механизм для разделения файлов должен предусматривать различные варианты контролируемого доступа, например доступ для чтения, доступ для записи, доступ для выполнения или различные сочетания этих видов доступа;
4) предоставлять пользователям возможность задавать удобные для прикладной программы структуры файлов;
5) предоставлять пользователям возможность управлять передачами информации между файлами;
6) предотвращать любую случайную потерю или злоумышленное разрушение информации;
7) иметь "дружественный" интерфейс с пользователем, чтобы пользователь не задумывался о конкретных физических устройствах, на которых хранятся его данные, о форматах данных или о физических средствах обмена данными с этими устройствами.

Файловая система – это часть системы управления памятью, ответственная преимущественно за управление файлами, хранящимися во внешней памяти.Файловая

Слайд 8010.13. Организация файлов.

Под организацией файлов понимается способ расположения записей файла

во внешней памяти.

При этом файлы представляются в виде блоков.

Физический блок

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

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

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

Если каждая физическая запись может содержать несколько логических, то говорят, что файл состоит из записей, объединённых в блоки, или сблокированных записей.

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

Слайд 81В файле с записями переменной длины записи могут меняться по

размеру, вплоть до размера блока.
















Из всех видов организации файлов наиболее

известными являются:

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

Слайд 82• Последовательная, при которой записи располагаются в физическом порядке.
Такая организация

применяется для файлов, хранящихся на диске, магнитной ленте, выводящихся на

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

Прикладная программа помещает записи на ЗУ прямого доступа в любом удобном ей порядке.

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

• Последовательная, при которой записи располагаются в физическом порядке.Такая организация применяется для файлов, хранящихся на диске, магнитной

Слайд 83• Библиотечная (секционированная). По сути это файл, состоящий из последовательных

подфайлов:









Каждый последовательный подфайл называется членом файла. Начальный адрес каждого

члена файла хранится в директории файла.

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

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

Слайд 8410.14. Распределение памяти для размещения файлов.

В процессе работы файлы создаются

и уничтожаются. В результате со временем пространство памяти становится всё

более фрагментированным.
Поэтому при размещении последующих файлов их приходится распределять по разбросанным блокам.
Существует несколько способов решения этой проблемы.
При связном распределении памяти каждому файлу отводится одна непрерывная область памяти.
Пользователь заранее указывает размер области, необходимой для размещения создаваемого файла.
Если нужной по размеру свободной области нет, файл создать невозможно.
Достоинства связного распределения:
-Последовательные логические записи размещаются, как правило, физически рядом, что повышает скорость доступа.
-Относительно просто реализуются директории файлов: для каждого файла необходимо хранить только начальный адрес и длину файла.
Недостатки связного распределения:
-При изменении размеров файлов связное распределение может оказаться нерациональным.
-Требуется периодическое уплотнение памяти с целью образования достаточно больших свободных участков для размещения новых файлов.

10.14. Распределение памяти для размещения файлов.В процессе работы файлы создаются и уничтожаются. В результате со временем пространство

Слайд 85Более динамичным является несвязное распределение. При этом возможно несколько вариантов.
1.Распределение

при помощи списков секторов.
Память рассматривается как набор индивидуальных секторов, а

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

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

Слайд 86Существует несколько распространённых способов реализации систем поблочного распределения: при помощи

цепочек блоков, цепочек индексных блоков и таблиц отображения.

В схеме с

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







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

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

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

Существует несколько распространённых способов реализации систем поблочного распределения: при помощи цепочек блоков, цепочек индексных блоков и таблиц

Слайд 87В схеме с цепочками индексов указатели помещаются в отдельные индексные

блоки, каждый из которых содержит фиксированное количество элементов.











Каждая строка-статья индексного

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

Слайд 88В схеме с таблицами поблочного отображения вместо указателей используются номера

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

учётом геометрии дисковой памяти.
Имеется таблица отображения файлов, в которой содержатся по одной строке на каждый блок памяти:












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

Слайд 89Таким образом, все блоки файла можно находить, последовательно просматривая строки

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

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

10.6. Организация мультипрограммного режима работы МПС.

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

Слайд 90Прямоугольник обозначает режим счёта МП, пауза – ожидание.

При выполнении некоторой

программы в работе МП возникают паузы (режим ожидания), например, из-за

необходимости произвести операцию ввода-вывода.
Во время таких пауз МП может перейти к обработке другой готовой для выполнения программы:



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

Слайд 91Практически за счёт мультипрограммирования можно повысить пропускную способность МП в

4-5 раз.
Для организации мультипрограммного вычислительного процесса необходимы следующие аппаратурные и

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

Слайд 92Защита памяти предотвращает непредусмотренное воздействие одной программы на другую путём

запрета вторжения одних программ в области памяти других программ.

При отсутствии

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

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

К привилегированным операциям относятся установка и изменение кодов защиты памяти, установка и изменение маски прерывания, останов МП, команды управления устройствами ввода-вывода и другие.

Появление привилегированной команды вызывает прерывание программы.

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

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

Защита памяти предотвращает непредусмотренное воздействие одной программы на другую путём запрета вторжения одних программ в области памяти

Слайд 93Организацию обработки пакета программ в мультипрограммном режиме схематично можно отобразить

в следующем виде:













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

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

Организацию обработки пакета программ в мультипрограммном режиме схематично можно отобразить в следующем виде:Предварительно на языке управления программами

Слайд 94Тексты программ и входные наборы данных вводятся программой системного ввода

(перфокартный ввод, ЗУ на лентах или дисках).
Очереди программ, упорядоченные для

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

Результаты выполнения программы помещаются в ЗУ прямого доступа в выходную очередь, соответствующую выходному классу программы.
Выходные данные выводятся программой системного вывода (перфокартный вывод, печатающее устройство, ЗУ на ленте).
Тексты программ и входные наборы данных вводятся программой системного ввода (перфокартный ввод, ЗУ на лентах или дисках).Очереди

Слайд 9510.7. Мультипрограммный режим работы МПС с разделением времени.

Группам программ, находящимся

в ОП, может быть назначена обработка с квантованием времени, при

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






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

10.7. Мультипрограммный режим работы МПС с разделением времени.Группам программ, находящимся в ОП, может быть назначена обработка с

Слайд 96Если за это время программа успеет завершиться, будет выдан результат,

а МП приступит к обработке следующей из очереди программы.
Если программа

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











Приоритет очереди убывает с возрастанием её номера m (0 m  k).
Вновь поступающая программа ставится в конец очереди, имеющей
старший приоритет (m=0).
Если за это время программа успеет завершиться, будет выдан результат, а МП приступит к обработке следующей из

Слайд 97В такой системе следующей подлежит обслуживанию программа из
начала очереди

с номером m, если очереди с меньшими номерами (с более

высоким приоритетом) пустые.
Если за выделенный квант времени обработка программы из очереди m не заканчивается, программа прерывается и переходит в конец очереди с номером m+1.
Выделяемый программе квант времени возрастает с увеличением номера очереди обычно по правилу:
, где m – квант, выделяемый программе из m-й очереди;
 - квант для программы из нулевой очереди.
Обычно  = 200-500 мс.
Программы из последней очереди обслуживаются до конца без прерывания.
Если во время обслуживания программы из очереди m в очереди с большим приоритетом появляется новая программа, то после окончания текущего кванта Δ обрабатываемая программа прерывается и возвращается в начало своей очереди.
Через время Δm эта программа дополучает недоданное.


В такой системе следующей подлежит обслуживанию программа из начала очереди с номером m, если очереди с меньшими

Слайд 98Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается

зависящим от времени ожидания.
Если ожидание превысит некоторое установленное значение (например,

60 с), программа перейдёт в следующую очередь с меньшим номером.
Таким образом, в рассматриваемой системе приоритетные соотношения между программами устанавливаются в самом процессе выполнения программ, т.е. динамически.


Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается зависящим от времени ожидания.Если ожидание превысит некоторое

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика