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

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

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

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

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

10. подСИСТЕМА ВВОДА/ВЫВОДА

Принципы организации подсистемы ввода/вывода

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

При разработке подсистемы ввода/вывода должны быть решены следующие проблемы.

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

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

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

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

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

Основные пути решения указанных проблем.

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

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

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

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

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

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

Каналы ввода-вывода

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

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

Рис. 10.1. Схема ЭВМ с каналами ввода-вывода.

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

- оперативной памяти (через интерфейс осуществляется обмен информацией между ОП, процессором и каналами);

- «процессор—канал» (на рис. 10.1 не показан), необходимый для обмена управляющими сигналами между ними;

- ввода-вывода (через интерфейс контроллеры ПУ подключаются к каналу);

- устройств (с помощью интерфейса ПУ подключаются к контроллеру).

Контроллеросуществляет управление обменом информации для группы ПУ одного типа, например накопителей на магнитных дисках, и выполняет следующие функции:

- преобразует стандартные последовательности сигналов интерфейса в последовательности сигналов, обеспечивающие работу конкретного ПУ;

- синхронизирует работу ПУ с другими устройствами, в первую очередь с процессором;

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

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

Основные функции канала:

- прием команд управления работой канала из центрального процессора;

- адресация внешнего устройства, указанного в принятой команде;

- выполнение действий, заданных в командах;

- установка управляющих сигналов на шинах интерфейса ввода-вывода;

- прием управляющих сигналов, поступающих от ПУ по шинам интерфейса;

- непосредственная передача информации между оперативной памятью и ПУ;

- контроль передаваемой информации на четность;

- подсчет количества передаваемых байт информации;

- прием и анализ информации о состоянии периферийных устройств;

- формирование запросов в центральный процессор на прерывание;

- управление последовательностью прерываний от ПУ и выполнение прерывания.

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

В общем виде обмен информацией с использованием КВВ вы­полняется в следующем порядке:

1. центральный процессор, получив команду ввода-вывода, пе­редает ее в канал:

2. канал из определенной ячейки памяти считывает начальный адрес канальной программы и начинает ее выполнять;

3. канал, выполняя команды обмена, обращается к тем или иным ПУ, читает или записывает слова информации, обращаясь в ОП, при необходимости производит изменение формата вводимых и выводимых данных и т. д.

Связь устройств ЭВМ друг с другом осуществляется с помощью интерфейсов.

Интерфейсы ввода-вывода

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

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

Надежность и производительность ЭВМ во многом зависят от характеристик интерфейсов.

Классификация интерфейсов

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

Интерфейсы характеризуются следующими параметрами:

1) пропускной способностью интерфейса — количеством информации, которая может быть передана через интерфейс в единицу времени;

2) максимальной частотой передачи информационных сигналов через интерфейс;

3) информационной шириной интерфейса — числом бит или байт данных, передаваемых параллельно через интерфейс;

4) максимально допустимым расстоянием между соединяемыми устройствами;

5) динамическими параметрами интерфейса — временем передачи отдельного слова или блока данных с учетом продолжительности процедур подготовки и завершения передачи;

6) общим числом проводов (линий) в интерфейсе.

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

¨ способ соединения компонентов системы (радиальный, магистральный, смешанный);

¨ способ передачи информации (параллельный, последовательный, параллельно-последовательный);

¨ принцип обмена информацией (асинхронный, синхронный);

¨ режим передачи информации (двусторонняя поочередная передача, односторонняя передача).

На рис. 10.2 представлены радиальный и магистральный интерфейсы, соединяющие центральный модуль (ЦМ) и другие модули (компоненты) системы (М1, ..., Мп).

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

Рис. 10.2. Радиальный (а) и магистральный (б) интерфейсы.

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

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

Классификация интерфейсов по назначению отражает взаимосвязь с ар­хитектурой реальных средств вычислительной техники. В соответствии с этим признаком в ЭВМ и вычислительных системах можно выделить не­сколько уровней сопряжений:

- машинные системные интерфейсы;

- локальные шины;

- интерфейсы периферийных устройств (малые интерфейсы);

- межмашинные интерфейсы.

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

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

Назначение интерфейсов периферийных устройств (малых интерфейсов) состоит в выполнении функций сопряжения контроллера (адаптера) с конкретным механизмом ПУ.

Межмашинные интерфейсы используются в вычислительных системах и сетях.

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

Наши рекомендации