Реализация программно-управляемых приоритетов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реализация программно-управляемых приоритетов



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

 

· Порог прерывания

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

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

 

· Маска прерывания

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

Маска загружается командой программы в регистр маски контроллера (РгМ). Состояние 1 в данном разряде маски разрешает, а 0 запрещает (маскирует) прерывание текущей программы соответствующим запросом. Таким образом, программа, меняя маску в РгМ, может устанавливать произвольные приоритетные соотношения между прерывающими программами без перекоммутаций ЛЗП. Каждая прерывающая программа может устанавливать свою маску. При формировании маски 1 устанавливается в разряды, соответствующие запросам (прерывающей программе), с более высоким, чем у данной программы, приоритетом.

 

 

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

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

 

· Смена приоритетов

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

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

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

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

 

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

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

1. Какое функциональное назначение систем прерывания в ЭВМ?

2. Перечислите характеристики систем прерывания. От чего зависит количество запросов прерывания?

3. Дайте определение характеристике систем прерывания "время реакции". В чем ее отличие от задержки прерывания?

4. Объясните, что понимается под характеристикой "задержка прерывания". Из чего складывается задержка прерывания?

5. Поясните смысл характеристики "глубина прерывания". Опишите явление насыщения системы прерывания.

6. В какие моменты времени допускается прерывание управляющей программы. Что понимается под классом (уровнем) прерывания? Какие причины деления прерываний на классы?

7. Возможные структуры систем прерывания. Опишите систему прерывания радиальной структуры.

8. Возможные структуры систем прерывания. Опишите систему прерывания с цепочечной структурой.

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

10. Опишите реализацию процедуры перехода к прерывающей программе в системе прерываний с радиальной структурой.

11. Опишите реализацию процедуры перехода к прерывающей программе в системе прерываний с цепочечной структурой.

12. Реализация прерываний с фиксированной системой приоритетов. Программный полинг.

13. Реализация прерываний с фиксированной системой приоритетов. Аппаратный циклический опрос РгЗП.

14. Опишите схему аппаратного однотактного опроса РгЗП. Что такое "дейзи-цепочка"?

15. Опишите метод реализации в ЭВМ систем программно-управляемых приоритетов – порог прерывания.

16. Приведите схему реализации управления приоритетами с помощью маски прерывания.

КОНТРОЛЬНЫЕ ЗАДАНИЯ

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

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

 

Номера вопросов Таблица 5.1

an an-1                    
  1,7, 10,13 2,8, 11,14 3,9, 12,15 4,7, 10,16 5,8, 11,13 6,9, 12,14 1,8, 10,15 2,9, 11,16 3,7, 12,13 4,8, 10,14
  5,9, 11,15 6,7, 12,16 2,7, 10,15 1,9, 10,13 2,7, 11,14 3,8, 12,15 4,9, 10,16 5,7, 11,13 6,8, 12,14 5,9, 12,16
  1,7, 10,13 2,8, 11,14 3,9, 12,15 4,7, 10,16 5,8, 11,13 6,9, 12,14 1,8, 10,15 2,9, 11,16 3,7, 12,13 4,8, 10,14
  5,9, 11,15 6,7, 12,16 2,7, 10,15 1,9, 10,13 2,7, 11,14 3,8, 12,15 4,9, 10,16 5,7, 11,13 6,8, 12,14 5,9, 12,16
  1,7, 10,13 2,8, 11,14 3,9, 12,15 4,7, 10,16 5,8, 11,13 6,9, 12,14 1,8, 10,15 2,9, 11,16 3,7, 12,13 4,8, 10,14
  5,9, 11,15 6,7, 12,16 2,7, 10,15 1,9, 10,13 2,7, 11,14 3,8, 12,15 4,9, 10,16 5,7, 11,13 6,8, 12,14 5,9, 12,16
  1,7, 10,13 2,8, 11,14 3,9, 12,15 4,7, 10,16 5,8, 11,13 6,9, 12,14 1,8, 10,15 2,9, 11,16 3,7, 12,13 4,8, 10,14
  5,9, 11,15 6,7, 12,16 2,7, 10,15 1,9, 10,13 2,7, 11,14 3,8, 12,15 4,9, 10,16 5,7, 11,13 6,8, 12,14 5,9, 12,16
  1,7, 10,13 2,8, 11,14 3,9, 12,15 4,7, 10,16 5,8, 11,13 6,9, 12,14 1,8, 10,15 2,9, 11,16 3,7, 12,13 4,8, 10,14
  5,9, 11,15 6,7, 12,16 2,7, 10,15 1,9, 10,13 2,7, 11,14 3,8, 12,15 4,9, 10,16 5,7, 11,13 6,8, 12,14 5,9, 12,16

 

Простейшая микро-эвм

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

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

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

Рассмотрим минимальный набор устройств, который необходим для создания простейшей гипотетической микро-ЭВМ:

· Блок процессора, который включает в себя непосредственно МП, генератор тактовых импульсов (ГТИ) и вспомогательные устройства управления (ВСУУ), внешние по отношению к МП.

· Блоки постоянной и оперативной памяти ПЗУ (ROM) и ОП (RAM) соответственно.

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

· Блок питания (БП).

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

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

 

 

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

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

СТРУКТУРЫ МИКРО-ЭВМ

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

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

- шина адреса (ША);

- шина данных (ШД);

- шина управления (ШУ).

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

Самым очевидным способом сократить число выводов БИС и проводников общей магистрали является объединение однонаправленных шин в одну двунаправленную, управляемую соответствующими сигналами – запись/чтение (READ/WRITE) для блоков памяти и ввод/вывод (INPUT/OUTPUT) для ПУ. Поэтому ниже рассматриваются 5 вариантов структур только с двунаправленными шинами.

 

· Раздельные шины (рис.6.2, а)

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

Основным недостатком такой структуры является большое число проводников общей магистрали и контактов блока МП.

 

· Изолированные шины (рис.6.2, б)

Сходство процессов обмена процессор – память и процессор – регистры ППУ позволяет использовать в обоих случаях одни и те же проводники ША и ШД. Это приводит к структуре с изолированными шинами. Адресные пространства ячеек памяти и регистров ППУ, как и при использовании предыдущей структуры, могут перекрываться, т.е. они изолированы. Чтобы занять шины для обмена с памятью, процессор выдает сигналы READ/WRITE, а для обмена с ПУ – INPUT/OUTPUT.

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

 

· Изолированные шины и мультиплексирование ША и ШД (рис. 6.2, в)

В этом случае ША и ШД совмещены, поэтому передача адресов и данных идет в разные моменты времени. Адресные пространства ячеек памяти и регистров ППУ изолированы.

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

 

· Общие шины (рис. 6.2, г)

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

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

 

 

 

· Общие шины и мультиплексирование ША и ШД (рис. 6.2, д)

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

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

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

H – высокий уровень (логическая 1);

L – низкий уровень (логический 0);

Z – состояние отключения от шины.

В состоянии Z выходное (входное) сопротивление УСОМ очень велико (определяется только токами утечек p-n-переходов) и соответствующий блок микро-ЭВМ может считаться отключенным от шины вообще или от ее отдельных линий.

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

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

 

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

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

ПРОМЕЖУТОЧНЫЙ ИНТЕРФЕЙС

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

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

 

 

При дальнейшем изложении материала под стандартными промежуточными интерфейсами будут пониматься только два типа интерфейсов, которые можно назвать классическими – это последовательный интерфейс RS-232C и параллельный интерфейс CENTRONICS. Адаптеры указанных интерфейсов серийно выпускаются в виде БИС программируемых ППУ и могут использоваться с различными микропроцессорными комплектами. Так, в первом отечественном микропроцессорном комплекте КР580 (прототипом является микропроцессорный комплект фирмы Intel I8080) присутствуют два типа программируемых ППУ – КР580ВВ51 (прототип I8251) и КР580ВВ55 (прототип I8255), являющиеся соответственно адаптерами последовательного и параллельного интерфейсов. (Более подробно принципы последовательной и параллельной передачи данных, а также указанные ППУ рассматриваются в п. 8). Аналогичные ППУ присутствуют и в современных микропроцессорных комплектах. Например, ППУ UPD71051C и UPD71055 фирмы NEC или микросхемы серий 8211 и 8250/1645/16550 и их модификации фирмы Intel.

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

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

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-12-09; просмотров: 700; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.64.128 (0.057 с.)