Сделай Сам Свою Работу на 5

Способы обмена информацией.





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

Программно–управляемая передача.

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



Передача данных с прерыванием программы.

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



IRQ8

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

 

Процессор
IP CS Флаги

 

Адреса памяти
IP0 CS0 IP1 CS2 IP CS Флаги IPпр1 СSпр7
Вектор прерываний 0 Вектор прерываний 1   Стек Программные обработчики

 

Получив сигнал на выполнение процедуры прерываний с определенным номером, процессор сохраняет в стеке текущее содержимое основных регистров и флагов, где CS и IP образуют полный адрес возврата. Далее процессор загружает CS и IP из соответствующего вектора прерываний, тем самым осуществляя переход на обработчик вектора прерываний. Обработчик заканчивается командой iRet, которая инициирует обратное действие – извлечение из стека и возврат в основную программу в точку, где она была прервана. Запросы прерываний могут иметь различную природу, кроме аппаратных, есть еще внутренние и программные. Внутренние прерывания инициируются цепями самого процессора при возникновении специально оговоренных ситуаций (деление на ноль, например). Третий тип – программные, вызываются командой ассемблера int с соответствующими числовыми аргументами, которые рассматриваются как вектора. Действия процессора выполняются совершенно одинаково для всех видов прерываний. Для работы с программными прерываниями зарезервировано довольно много команд, которые находятся в BIOS и в ОС.



13h – программное прерывание управления дисками.

10h – программное прерывание управления видеосистемой.

25h – функция чтения диска.

26h – функция записи на диск.

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

Прямой доступ к памяти.

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

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

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

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.