Организация перехода к прерывающей программе
Вектор начального состояния прерывающей программы называют вектором прерывания.Он содержит всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу (уровню) прерывания соответствует свой вектор прерывания, способный инициировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти (стеке).
Главное место в процедуре перехода к прерывающей программе занимает передача из соответствующего регистра (регистров) процессора в память (стек) на сохранение текущего вектора состояния прерываемой программы (чтобы можно было вернуться к ее исполнению) и загрузка в регистр (регистры) процессора вектора прерывания прерывающей программы, к которой при этом переходит управление процессором.
Наиболее гибким и динамичным является векторное прерывание,при котором источник прерывания, выставляя запрос прерывания, посылает в процессор (выставляет на шины интерфейса) код адреса в памяти своего вектора прерывания.
При векторном прерывании каждому запросу прерывания или, другими словами, устройству — источнику прерывания, соответствует переход к начальному адресу соответствующей прерывающей программы, задаваемому вектором прерывания.
10. подСИСТЕМА ВВОДА/ВЫВОДА
Принципы организации подсистемы ввода/вывода
Эффективность использования вычислительных возможностей ЭВМ определяется не только возможностями ее процессора и характеристиками основной памяти, но также составом ее периферийных устройств, их техническими характеристиками и способами организации их совместной работы с ядром (процессор и основная память) компьютера.
При разработке подсистемы ввода/вывода должны быть решены следующие проблемы.
1. Должна быть обеспечена возможность реализации машины с переменной конфигурацией (то есть с переменным составом оборудования). В первую очередь, пользователь должен иметь возможность легко дополнять машину новыми устройствами, изменять состав периферийных устройств в соответствии с назначением ЭВМ.
2. Должна реализовываться параллельная во времени работа процессора над программой и выполнение периферийными устройствами процедур ввода/вывода.
3. Для пользователя должно быть упрощено и стандартизировано программирование операций ввода/вывода, обеспечена независимость программирования ввода/вывода от особенностей того или иного периферийного устройства.
4. Должны быть обеспечены автоматическое распознавание различных ситуаций, возникающих в периферийных устройствах, и реакция ядра ЭВМ на эти ситуации (будь то готовность устройства, различные нарушения его работы или отсутствие носителей).
Наиболее актуально решение этих проблем для ЭВМ с большим количеством разнообразных устройств.
Основные пути решения указанных проблем.
Модульность.Средства современной ВТ проектируются на основе модульного (или агрегатного) принципа. Он заключается в том, что отдельные устройства выполняются в виде конструктивно законченных модулей (агрегатов), которые могут сравнительно просто в нужных количествах и номенклатуре объединяться, образуя ЭВМ.
Унифицированные (не зависящие от типа периферийных устройств) форматы данных, которыми периферийные устройства обмениваются с ядром ЭВМ, в том числе и унифицированный формат сообщения, которое периферийное устройство посылает в ядро о своем состоянии. Преобразование в индивидуальные форматы данных осуществляют контроллеры и адаптеры.
Унифицированный интерфейс,т.е. унифицированный по составу и назначению набор линий и шин, унифицированные схемы подключения, сигналы и алгоритмы (протоколы) управления обменом информацией между ПУ и ядром ЭВМ..
Унифицированные(не зависящие от типа ПУ) формат и выбор командпроцессора для операций ввода-вывода. Операция ввода-вывода с любым ПУ представляет для процессора просто операцию передачи данных независимо от особенностей принципа действия данного ПУ, типа его носителя и т.п..
Многие функции управления операциями ввода-вывода (как например управление прямым доступом к памяти) являются общими, они не зависят от типа ПУ. Другие являются специфичными для данного типа устройств. Выполнение общих функций возлагают на общие для групп ПУ унифицированные устройства - контроллеры прямого доступа к памяти, процессоры (каналы) ввода-вывода, а специфических — на специализированные для данного типа ПУ электронные блоки управления (адаптеры).
Использование множества периферийных устройств ПУ с относительно небольшим быстродействием приводит к тому, что основное время работы процессора занято обработкой операций ввода-вывода и ожиданием готовности внешних устройств к обмену. Это существенно снижает быстродействие ЭВМ. Эффективность работы ЭВМ можно повысить путем разделения функций управления центральным процессором и периферийными устройствами.
Каналы ввода-вывода
Для разделения функций управления центральным процессором и периферийными устройствами в состав ЭВМ включаются дополнительные устройства - каналы ввода-вывода (КВВ), задачей которых является обеспечение взаимодействия центрального процессора и ПУ (рис. 10.1).
Рис. 10.1. Схема ЭВМ с каналами ввода-вывода.
Характерная особенность КВВ заключается в том, что канал работает по хранимой в памяти программе, т. е. так же, как процессор. Следовательно, КВВ, по существу, является специализированным процессором ввода-вывода. В результате центральный процессор полностью освобождается от обслуживания операций обмена периферийных устройств с памятью. КВВ взаимодействует с ПУ через стандартные устройства сопряжения - интерфейсы и устройства управления периферийными устройствами - контроллеры. В структуре ЭВМ, показанной на рис. 10.1, используются интерфейсы четырех типов:
- оперативной памяти (через интерфейс осуществляется обмен информацией между ОП, процессором и каналами);
- «процессор—канал» (на рис. 10.1 не показан), необходимый для обмена управляющими сигналами между ними;
- ввода-вывода (через интерфейс контроллеры ПУ подключаются к каналу);
- устройств (с помощью интерфейса ПУ подключаются к контроллеру).
Контроллеросуществляет управление обменом информации для группы ПУ одного типа, например накопителей на магнитных дисках, и выполняет следующие функции:
- преобразует стандартные последовательности сигналов интерфейса в последовательности сигналов, обеспечивающие работу конкретного ПУ;
- синхронизирует работу ПУ с другими устройствами, в первую очередь с процессором;
- обеспечивает буферизацию информации, т. е. запоминание в своей внутренней памяти обмениваемых данных на время, необходимое для реализации цикла обмена.
КВВ включает в свой состав запоминающие устройства (регистры) и логические схемы, которые выполняют упаковку, распаковку и подсчет данных, модификацию адреса данных и передачу информации из оперативной памяти в периферийные устройства и в обратном направлении. Канал работает под управлением канальной программы, которая хранится в специально отведенной области основной памяти ЭВМ.
Основные функции канала:
- прием команд управления работой канала из центрального процессора;
- адресация внешнего устройства, указанного в принятой команде;
- выполнение действий, заданных в командах;
- установка управляющих сигналов на шинах интерфейса ввода-вывода;
- прием управляющих сигналов, поступающих от ПУ по шинам интерфейса;
- непосредственная передача информации между оперативной памятью и ПУ;
- контроль передаваемой информации на четность;
- подсчет количества передаваемых байт информации;
- прием и анализ информации о состоянии периферийных устройств;
- формирование запросов в центральный процессор на прерывание;
- управление последовательностью прерываний от ПУ и выполнение прерывания.
Таким образом, КВВ реализует функции управления обменом информации, общие для всех ПУ, контроллер выполняет управление обменом для группы ПУ одного типа, а интерфейс осуществляет электрическую связь между каналом и контроллерами, подключенными к этому каналу, и подготавливает сигналы ввода и вывода таким образом, чтобы любое ПУ могло подключиться к каналу.
В общем виде обмен информацией с использованием КВВ выполняется в следующем порядке:
1. центральный процессор, получив команду ввода-вывода, передает ее в канал:
2. канал из определенной ячейки памяти считывает начальный адрес канальной программы и начинает ее выполнять;
3. канал, выполняя команды обмена, обращается к тем или иным ПУ, читает или записывает слова информации, обращаясь в ОП, при необходимости производит изменение формата вводимых и выводимых данных и т. д.
Связь устройств ЭВМ друг с другом осуществляется с помощью интерфейсов.
Интерфейсы ввода-вывода
Интерфейс – это совокупность линий и шин сигналов, электрических схем, а также алгоритмов (протоколов), осуществляющих обмен информацией между устройствами ЭВМ. Он унифицирует состав и назначение линий связи, определяет последовательность сигналов при выполнении операций, временные соотношения и переходные процессы в линиях.
Линии, сгруппированные по функциональному признаку или назначению, называют шинами интерфейса. Совокупность всех линий образует магистраль интерфейса.
Надежность и производительность ЭВМ во многом зависят от характеристик интерфейсов.
Классификация интерфейсов
Объединение отдельных подсистем (устройств, модулей) ЭВМ в единую систему основывается на многоуровневом принципе с унифицированным сопряжением между всеми уровнями — стандартным интерфейсом. Под стандартными интерфейсами понимают такие интерфейсы, которые приняты и рекомендованы в качестве обязательных отраслевыми или государственными стандартами, различными международными комиссиями, а также крупными зарубежными фирмами.
Интерфейсы характеризуются следующими параметрами:
1) пропускной способностью интерфейса — количеством информации, которая может быть передана через интерфейс в единицу времени;
2) максимальной частотой передачи информационных сигналов через интерфейс;
3) информационной шириной интерфейса — числом бит или байт данных, передаваемых параллельно через интерфейс;
4) максимально допустимым расстоянием между соединяемыми устройствами;
5) динамическими параметрами интерфейса — временем передачи отдельного слова или блока данных с учетом продолжительности процедур подготовки и завершения передачи;
6) общим числом проводов (линий) в интерфейсе.
В настоящее время не существует однозначной классификации интерфейсов. Можно выделить следующие четыре классификационных признака интерфейсов:
¨ способ соединения компонентов системы (радиальный, магистральный, смешанный);
¨ способ передачи информации (параллельный, последовательный, параллельно-последовательный);
¨ принцип обмена информацией (асинхронный, синхронный);
¨ режим передачи информации (двусторонняя поочередная передача, односторонняя передача).
На рис. 10.2 представлены радиальный и магистральный интерфейсы, соединяющие центральный модуль (ЦМ) и другие модули (компоненты) системы (М1, ..., Мп).
Рис. 10.2. Радиальный (а) и магистральный (б) интерфейсы.
Радиальный интерфейс позволяет всем модулям (М1, . . . , Mn) работать независимо, но имеет максимальное количество шин. Магистральный интерфейс (общая шина) использует принцип разделения времени для связи между ЦМ и другими модулями. Он сравнительно прост в реализации, но лимитирует скорость обмена. Параллельные интерфейсы позволяют передавать одновременно определенное количество бит или байт информации по многопроводной линии. Последовательные интерфейсы служат для последовательной передачи по двухпроводной линии.
В случае синхронного интерфейса моменты выдачи информации передающим устройством и приема ее в другом устройстве должны синхронизироваться, для этого используют специальную линию синхронизации. При асинхронном интерфейсе передача осуществляется по принципу "запрос-ответ". Каждый цикл передачи сопровождается последовательностью управляющих сигналов, которые вырабатываются передающим и приемным устройствами. Передающее устройство может осуществлять передачу данных (байта или нескольких байтов) только после подтверждения приемником своей готовности к приему данных.
Классификация интерфейсов по назначению отражает взаимосвязь с архитектурой реальных средств вычислительной техники. В соответствии с этим признаком в ЭВМ и вычислительных системах можно выделить несколько уровней сопряжений:
- машинные системные интерфейсы;
- локальные шины;
- интерфейсы периферийных устройств (малые интерфейсы);
- межмашинные интерфейсы.
Машинные (внутримашинные) системные интерфейсы предназначены для организации связей между составными компонентами ЭВМ на уровне обмена информацией с центральным процессором, ОП и контроллерами (адаптерами) ПУ
Локальной шиной называется шина, электрически выходящая непосредственно на контакты микропроцессора, и предназначенная для увеличения быстродействия видеоадаптеров и контроллеров дисковых накопителей. Она обычно объединяет процессор, память, схемы буферизации для системной шины и ее контроллер, а также некоторые вспомогательные схемы. Типичными примерами локальных шин являются VLB и PCI,
Назначение интерфейсов периферийных устройств (малых интерфейсов) состоит в выполнении функций сопряжения контроллера (адаптера) с конкретным механизмом ПУ.
Межмашинные интерфейсы используются в вычислительных системах и сетях.
С целью снижения стоимости некоторые компьютеры имеют единственную шину (общая шина) для памяти и устройств ввода-вывода. Персональные компьютеры первых поколений, как правило, строились на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к многоуровневой организации шин на основе использования нескольких системных и локальных шин. В современных компьютерах шины интерфейсов делят на шины, обеспечивающие организацию связи процессора с памятью, и шины ввода-вывода. Шины процессор-память сравнительно короткие, обычно высокоскоростные и соответствуют организации подсистемы памяти для обеспечения максимальной пропускной способности канала память-процессор. Шины ввода-вывода могут иметь большую протяженность, поддерживать подсоединение многих типов устройств и обычно следуют одному из шинных стандартов. Обычно количество и типы устройств ввода-вывода в вычислительных системах не фиксируются, что дает возможность пользователю самому подобрать необходимую конфигурацию. Шина ввода-вывода компьютера рассматривается как шина расширения, обеспечивающая постепенное наращивание устройств ввода-вывода. Поэтому стандарты играют огромную роль, позволяя разработчикам компьютеров и устройств ввода-вывода работать независимо.