русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Типы кластеров 13 страница


Дата добавления: 2013-12-24; просмотров: 1519; Нарушение авторских прав


 

18.3. Принципы организации ввода/вывода информации в микропроцессорную систему

 

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

Система ВВ – это единственное средство общения ЭВМ с внешним миром. Ее возможности в серийных ЭВМ представляют собой один из важнейших параметров, определяющих выбор машины для конкретного применения.

Несмотря на разнообразие ПУ, в настоящее время разработано несколько стандартных способов их подключения к ЭВМ и программирования ВВ. Существует три режима ВВ:

· Программный ВВ (нефорсированный).

· ВВ по прерыванию (форсированный).

· Прямой доступ к памяти (ПДП).

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

Программный ВВ. Инициирование и управление ВВ осуществляет процессор по командам прикладной программы. ПУ играют пассивную роль и только сигнализируют о своем состоянии, в частности о готовности к операциям ВВ.

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

Таким образом, как при программном ВВ, так и при ВВ по прерываниям операциями обмена управляет процессор, поэтому очень часто эти два варианта обмена не разделяют и рассматривают их как программный ВВ. В англоязычной литературе – Programmed Input/Output (PIO). Однако в настоящем курсе эти варианты обмена рассматриваются отдельно.



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

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

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

· Подключение ПУ к системному интерфейсу осуществляется с помощью промежуточного интерфейса, поддерживаемого со стороны микро-ЭВМ и ПУ соответствующими адаптерами.

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

· Передача данных осуществляется двумя способами:

- отдельными битами, и тогда промежуточный интерфейс называется последовательным;

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

· Информация, передаваемая в процессе ВВ, подразделяется:

- на собственно данные (обозначим D);

- управляющие данные (обозначим U).

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

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

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

 

 

Рис.18.4. Обобщённая программная модель ППУ

 

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

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

Изолированный ВВ (соответствует структуре с изолированными шинами)

Изолированный ВВ предполагает наличие специальных команд ВВ. В МП КР580 это команды IN и OUT. Адресное пространство регистров ППУ изолировано от адресного пространства ячеек памяти, т.е. регистры ППУ и ячейки памяти могут иметь одинаковый адрес. Команды IN и OUT – двухбайтовые. Первый байт – КОП, а второй несет информацию о номере адресуемого ППУ и номере адресуемого в нем регистра. При этом в МП КР580 предусмотрена возможность обмена данными по командам IN, OUT только между аккумулятором и адресуемыми регистрами.

ВВ по общей шине (соответствует структуре с общими шинами)

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

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

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

Синхронный ВВ

Такой ВВ можно использовать для связи с ПУ, которые "всегда готовы", например светодиодные индикаторы, либо для ПУ, в которых известно точно время выполнения операций, например, максимальное время, необходимое для печати одного знака.

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

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

Асинхронный ВВ

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

- проверки готовности ПУ к обмену;

- реализации непосредственно операций ВВ.

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

 

18.4. Контрольные вопросы

1. Обобщённая структура простейшей микро-ЭВМ.

2. Структура микро-ЭВМ с раздельными шинами .

3. Структура микро-ЭВМ с изолированными шинами.

4. Структура микро-ЭВМ с изолированными шинами и мультиплексированием шин адресов и данных.

5. Структура микро-ЭВМ с общими шинами.

6. Структура микро-ЭВМ с общими шинами и мультиплексированием шин адресов и данных.

7. Дайте определение длительности цикла шины.

8. Основные типы протоколов обмена по шинам.

9. Включение промежуточного стандартного интерфейса.

10. Режимы ввода/вывода информации в ЭВМ.

11. Обобщённая программная модель приёмо-передающего устройства.

Лекция 19. Принципы организации систем прерывания программ

 

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

 

Рис.19.1. Прерывание программы

 

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

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

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

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

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

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

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

Основными функциями системы прерывания являются:

· запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

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

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

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

Вектор состояния формируется в соответствующих регистрах процессора, изменяясь после выполнения каждой команды. Наборы информационных элементов, образующих вектор состояния, отличаются у ЭВМ разных типов и зависят от сложности процессора. В простейших процессорах эти наборы невелики. Например, в процессоре КР580ВМ80 (I8080) вектор состояния состоит из содержимого счетчика адреса команд (16 бит), содержимого регистра признаков (8 бит) и содержимого аккумулятора (8 бит). В более сложных процессорах вектор состояния может содержать существенно большее количество элементов.

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

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

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

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

 

19.1. Характеристики систем прерывания

 

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

· Общее количество запросов прерывания

Количество запросов прерывания (источников запросов прерывания – ИЗП) существенно различается у ЭВМ различных типов и может достигать десятков. В системах прерывания радиальной структуры это понятие может совпадать с понятием количества входов в систему прерывания. При цепочечной организации системы прерывания эти понятия не совпадают.

· Время реакции

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

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

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

 

Рис.19.2. Упрощённая временная диаграмма процесса прерывания

 

· Задержка прерывания (издержка прерывания)

Задержка прерывания (tзад) определяется суммарным временем на запоминание (tз) и восстановление (tв) программы (см. рис. 14.6):

 

.

· Глубина прерывания

Глубина прерывания определяет максимальное число программ, которые могут прерывать друг друга. Если после перехода от основной программы к прерывающей обслуживание остальных запросов запрещено, то считается, что система имеет глубину прерывания, равную 1. Глубина равна n, если допускается последовательное прерывание до n программ. Глубина прерывания обычно совпадает с числом уровней приоритетов в системе прерывания. Если глубина прерывания не равна 1, то упрощенно это можно изобразить диаграммой (рис. 19.3). Здесь имеется в виду, что приоритет прерываний возрастает у каждого следующего запроса. Системы с большим значением глубины прерывания обеспечивают более быструю реакцию на срочные запросы.

Рис.19.3. Упрощённая временная диаграмма процесса прерывания в системах с различной глубиной

 

· Насыщение системы прерывания

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

· Допустимые моменты прерывания программ

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

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

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

 

· Число уровней прерываний

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

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

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

 

Рис.19.4. Разделение запросов на классы прерываний

 

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

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

 

19.2. Возможные структуры систем прерывания

 

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

· Радиальная структура

Обобщенная структура системы прерывания радиального типа представлена на рис. 19.5 (ША и ШУ не изображены).

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

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

Рис.19.5. Радиальная структура системы прерывания

· Цепочечная структура

Обобщенная структура системы прерывания цепочечного типа представлена на рис. 19.6 (ША и ШУ не изображены).

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

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

 

 

Рис.19.6. Цепочечная структура системы прерывания ( цифрами обозначена последовательность прохождения сигналов)

 

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

 

19.3. Организация перехода к прерывающей программе

 

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

Следует отметить, что различают абсолютный и относительный приоритеты.

Абсолютный приоритет – запрос, имеющий абсолютный приоритет, при поступлении сразу же прерывает выполняемую в процессоре программу и инициирует выполнение соответствующего обработчика.

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

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

· Радиальная структура

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

1. При поступлении любого запроса (или нескольких запросов) в РгЗП формируется сигнал ОСП. Этот сигнал транслируется в процессор, а также инициирует процедуру поиска запроса с максимальным приоритетом, результатом выполнения которой является формирование кода адреса соответствующего вектора прерывания. Эта процедура может выполняться как программно, так и аппаратно. Некоторые варианты ее реализации рассматриваются ниже.

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

3. В ответ на сигнал "Подтверждение прерывания" контроллер выставляет на ШД код адреса вектора прерывания.

4. Процессор считывает с ШД код адреса вектора прерывания, сохраняет в стеке вектор текущего состояния прерываемой программы (в простейшем случае только содержимое счетчика адреса команд) и осуществляет переход к прерывающей программе. Если вектор текущего состояния прерываемой программы автоматически сохраняется только частично, то операции по сохранению его остальных элементов возлагаются на обработчик (рис. 19.2, интервал времени tз).



<== предыдущая лекция | следующая лекция ==>
 | Типы кластеров 14 страница


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.009 сек.