Файл: 3 Модуль ввода вывода. Параллельный и последовательный ввод вывод информации в микропроцессорной системе (2 часа).docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 71
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, а связь с устройствами ввода/вывода может осуществляться по-разному в зависимости от специфики этих устройств. Поэтому при передаче информации по шинам между основной памятью или процессором и устройствами ввода/вывода должно осуществляться ее преобразование.
Таким образом, при вводе/выводе принципиально необходимы действия, связанные с синхронизацией обмена данными ввода/вывода и их адресацией. В системах непосредственного ввода/вывода такие действия (перечисленные выше функции) выполняет процессор, а в системах канального ввода/вывода их выполнение возложено на различные канальные устройства (контроллеры ПДП, процессоры ввода/вывода).
Функции управления вводом/выводом могут быть:
− общими, не зависящими от типа устройств ввода/вывода;
− специфичными для каждого типа устройств ввода/вывода.
Выполнение общих функций возлагают на общие для групп устройств ввода/вывода унифицированные устройства – контроллеры ПДП, , а специфических – на специализированные для каждого типа устройств ввода/вывода устройства управления – контроллеры устройств ввода/вывода.
Между микропроцессором и периферийными устройствами происходит обмен информацией двух типов:
− служебной;
− собственно данными.
Служебная информация от МП инициирует действия, связанные с обменом данными, и передается с помощью управляющих слов. Служебные сообщения от периферийных устройств информируют МП об их текущем состоянии и называются словами состояния. В отличие от них данные передаются с помощью слов данных.
Существуют правила обмена информацией между конкретным периферийным устройством и микропроцессором, которые называют протоколом обмена. Взаимодействие с периферийным устройством организуется с помощью драйвера – специальной программы, составленной на основе этих правил.
Подключение любого периферийного устройства к магистрали микропроцессорной системы осуществляется через контроллер ПУ. Рассмотрим организацию контроллера ПУ (рисунок 3.7.2).
Рисунок 3.7.2 – Организация контроллера ПУ
Основу контроллера составляют регистры, которые служат для хранения передаваемой информации. Взаимодействие микропроцессора с этими регистрами осуществляется через порты ввода/вывода из пространства доступа к ПУ. Каждый регистр имеет свой адрес. Под адресом регистра понимается адрес порта, через который осуществляется доступ к этому регистру.
В контроллере ПУ используются регистры четырех типов в зависимости от типа информации, для хранения которой они предназначены:
В контроллерах сложных ПУ регистров каждого типа может быть несколько. В контроллерах, предназначенных для подключения простых ПУ, удается совместить регистры состояния и управления, что позволяет сократить количество используемых в контроллере портов ввода/вывода, а следовательно, и адресов, выделенных для данного ПУ.
Логика управления контроллера выполняет селекцию адресов регистров (портов ввода/вывода) контроллера, прием, обработку и формирование управляющих сигналов системной магистрали, а также выработку внутренних управляющих сигналов, обеспечивая тем самым обмен информацией между регистрами контроллера и шиной данных магистрали микропроцессорной системы.
Приемо-передатчики шины данных и шины адреса служат для физического подключения схем контроллера к соответствующим шинам системной магистрали.
Организация контроллера зависит также от способа (вида) обмена данными. Различают параллельный и последовательный ввод/вывод.
В случае программно-управляемого синхронного обмена данными по параллельному каналу не производится проверки готовности периферийного устройства к обмену. При отсутствии такой проверки приемник и передатчик данных должны иметь одинаковый внутренний темп обработки данных. Отсюда название – синхронный обмен данными по параллельному каналу. Это самый быстрый способ обмена данными, т.к. приемник и передатчик работают в ничем не регулируемом, максимально возможном темпе. В некоторых системах в таком режиме обмена функционируют микропроцессор и основная память. Однако если партнеры имеют разный темп обработки данных, то синхронный способ не может быть применен.
В случае программно-управляемого асинхронного обмена данными по параллельному каналу производится проверка готовности периферийного устройства к обмену. Партнеры обмена при этом могут иметь различные внутренние темпы обработки данных, но общий темп обмена данными выравнивается сигналами по самому медленному партнеру. Отсюда название – асинхронный обмен.
Программно-управляемый обмен данными по прерываниям характеризуется аппаратной проверкой готовности периферийного устройства. Это позволяет устранить основной недостаток асинхронного способа обмена – непроизводительные потери времени процессора в циклах ожидания. Режим прерываний может быть применим как к параллельному, так и последовательному каналам.
Обмен данными с аппаратным управлением носит название “прямой доступ к памяти” (ПДП) или Direct Memory Access (DMA). Аппаратное управление обменом данных осуществляет специальный контроллер ПДП. Микропроцессор в обмене не участвует и отключается от системного интерфейса. Данные передаются от одного устройства к другому через системный интерфейс, минуя микропроцессор. Одним из партнеров обмена чаще всего выступает основная память микропроцессорной системы. Отсюда название – ПДП. Возможны два вида ПДП – с блочными или одиночными передачами. В первом работа процессора останавливается на все время передачи блока данных, во втором передачи слов в режиме ПДП перемежаются с выполнением программы, и для передач ПДП выделяются отдельные такты машинных циклов, в которых процессор не использует системный интерфейс. Производительность системы может возрасти из-за параллелизма процессов обмена и обработки данных, благодаря тому, что ПДП будет для процессора “невидимым”. При непрерывной передаче блока данных скорость обмена ограничивается лишь длительностью циклов ЗУ, быстродействием самого контроллера и скоростью выдачи/приема данных внешним устройством. В отличие от процессов прерывания, при ПДП обмен выполняется без участия программы, поэтому содержимое рабочих регистров процессора не изменяется и на вхождение в режим ПДП не требуется затрат времени. ПДП предоставляется по завершении текущего машинного цикла.
С увеличением расстояния обмен данными по параллельному каналу становится неприемлемо сложным и экономически невыгодным. В этом случае применяют преобразование параллельного кода в последовательный для его передачи по одной сигнальной линии. Кроме того, последовательный канал характеризуется сравнительно небольшим числом сигнальных линий. Это дает ему определенные преимущества, например, при интегрировании устройств в систему, даже если устройства расположены на малых расстояниях друг от друга. Протоколы последовательного обмена задают два его вида: синхронный и асинхронный. При синхронной передаче байты (слова) следуют один за другим слитно
, поэтому можно говорить о передаче массива байтов. Синхронный обмен повышает скорость передачи данных. При асинхронном обмене данные передаются по мере их готовности.
Параллельная передача данных между контроллером и ВУ является по своей организации наиболее простым способом обмена. Для организации параллельной передачи данных помимо шины данных, количество линий в которой равно числу одновременно передаваемых битов данных, используется минимальное количество управляющих сигналов.
Использование последовательных линий связи для обмена данными с внешними устройствами возлагает на контроллеры ВУ дополнительные по сравнению с контроллерами для параллельного обмена функции. Во-первых, возникает необходимость преобразования формата данных из параллельного формата, в котором они поступают в контроллер ВУ из системного интерфейса компьютера, в последовательный при передаче в ВУ. И обратно из последовательного в параллельный при приеме данных из ВУ. Во-вторых, требуется реализовать соответствующий режиму работы внешнего устройства способ обмена данными: синхронный или асинхронный. В современных МПС применяют, как правило, универсальные контроллеры для последовательного ввода/вывода, обеспечивающие как синхронный, так и асинхронный режим обмена данными с ВУ.
На практике часто используют программируемые контроллеры, режимы работы которых устанавливаются специальными командами МП. Программируемый контроллер необходимо настраивать на конкретный режим обмена данными, присущий ПУ:
Настройка таких контроллеров на требуемый режим обмена производится программным путем с помощью специальных команд (управляющих слов), передаваемых из МП в контроллер ПУ перед началом обмена. Управляющее слово записывается в специальный регистр и инициирует заданный режим обмена с ПУ.
В микропроцессорных системах используются два основных способа организации передачи данных между системой и устройствами ввода/вывода: − программно-управляемый обмен; − прямой доступ к памяти (ПДП).
Программно-управляемый обмен – обмен, управляемый программой, т. е. когда процедуры обмена информацией с периферийным устройством инициируются и выполняются непосредственно программой, реализуемой процессором через его регистры. Программно-управляемый обмен осуществляется при непосредственном участии и под управлением процессора.
С точки зрения аппаратных затрат программно-управляемый обмен является наиболее эффективным типом обмена, поэтому он находит самое широкое применение в различных микропроцессорных системах.
Таким образом, при вводе/выводе принципиально необходимы действия, связанные с синхронизацией обмена данными ввода/вывода и их адресацией. В системах непосредственного ввода/вывода такие действия (перечисленные выше функции) выполняет процессор, а в системах канального ввода/вывода их выполнение возложено на различные канальные устройства (контроллеры ПДП, процессоры ввода/вывода).
Функции управления вводом/выводом могут быть:
− общими, не зависящими от типа устройств ввода/вывода;
− специфичными для каждого типа устройств ввода/вывода.
Выполнение общих функций возлагают на общие для групп устройств ввода/вывода унифицированные устройства – контроллеры ПДП, , а специфических – на специализированные для каждого типа устройств ввода/вывода устройства управления – контроллеры устройств ввода/вывода.
Между микропроцессором и периферийными устройствами происходит обмен информацией двух типов:
− служебной;
− собственно данными.
Служебная информация от МП инициирует действия, связанные с обменом данными, и передается с помощью управляющих слов. Служебные сообщения от периферийных устройств информируют МП об их текущем состоянии и называются словами состояния. В отличие от них данные передаются с помощью слов данных.
Существуют правила обмена информацией между конкретным периферийным устройством и микропроцессором, которые называют протоколом обмена. Взаимодействие с периферийным устройством организуется с помощью драйвера – специальной программы, составленной на основе этих правил.
Подключение любого периферийного устройства к магистрали микропроцессорной системы осуществляется через контроллер ПУ. Рассмотрим организацию контроллера ПУ (рисунок 3.7.2).
Рисунок 3.7.2 – Организация контроллера ПУ
Основу контроллера составляют регистры, которые служат для хранения передаваемой информации. Взаимодействие микропроцессора с этими регистрами осуществляется через порты ввода/вывода из пространства доступа к ПУ. Каждый регистр имеет свой адрес. Под адресом регистра понимается адрес порта, через который осуществляется доступ к этому регистру.
В контроллере ПУ используются регистры четырех типов в зависимости от типа информации, для хранения которой они предназначены:
-
регистр входных данных или входной регистр (доступен микропроцессору только по чтению); -
регистр выходных данных или выходной регистр (доступен микропроцессору только по записи); -
регистр состояния (доступен микропроцессору только по чтению). Содержит информацию о текущем состоянии ПУ (включено/выключено, готово/не готово к обмену данными, ошибка и т. п.); -
регистр управления (доступен микропроцессору только по записи). Служит для приема из МП команд для ПУ.
В контроллерах сложных ПУ регистров каждого типа может быть несколько. В контроллерах, предназначенных для подключения простых ПУ, удается совместить регистры состояния и управления, что позволяет сократить количество используемых в контроллере портов ввода/вывода, а следовательно, и адресов, выделенных для данного ПУ.
Логика управления контроллера выполняет селекцию адресов регистров (портов ввода/вывода) контроллера, прием, обработку и формирование управляющих сигналов системной магистрали, а также выработку внутренних управляющих сигналов, обеспечивая тем самым обмен информацией между регистрами контроллера и шиной данных магистрали микропроцессорной системы.
Приемо-передатчики шины данных и шины адреса служат для физического подключения схем контроллера к соответствующим шинам системной магистрали.
Организация контроллера зависит также от способа (вида) обмена данными. Различают параллельный и последовательный ввод/вывод.
В случае программно-управляемого синхронного обмена данными по параллельному каналу не производится проверки готовности периферийного устройства к обмену. При отсутствии такой проверки приемник и передатчик данных должны иметь одинаковый внутренний темп обработки данных. Отсюда название – синхронный обмен данными по параллельному каналу. Это самый быстрый способ обмена данными, т.к. приемник и передатчик работают в ничем не регулируемом, максимально возможном темпе. В некоторых системах в таком режиме обмена функционируют микропроцессор и основная память. Однако если партнеры имеют разный темп обработки данных, то синхронный способ не может быть применен.
В случае программно-управляемого асинхронного обмена данными по параллельному каналу производится проверка готовности периферийного устройства к обмену. Партнеры обмена при этом могут иметь различные внутренние темпы обработки данных, но общий темп обмена данными выравнивается сигналами по самому медленному партнеру. Отсюда название – асинхронный обмен.
Программно-управляемый обмен данными по прерываниям характеризуется аппаратной проверкой готовности периферийного устройства. Это позволяет устранить основной недостаток асинхронного способа обмена – непроизводительные потери времени процессора в циклах ожидания. Режим прерываний может быть применим как к параллельному, так и последовательному каналам.
Обмен данными с аппаратным управлением носит название “прямой доступ к памяти” (ПДП) или Direct Memory Access (DMA). Аппаратное управление обменом данных осуществляет специальный контроллер ПДП. Микропроцессор в обмене не участвует и отключается от системного интерфейса. Данные передаются от одного устройства к другому через системный интерфейс, минуя микропроцессор. Одним из партнеров обмена чаще всего выступает основная память микропроцессорной системы. Отсюда название – ПДП. Возможны два вида ПДП – с блочными или одиночными передачами. В первом работа процессора останавливается на все время передачи блока данных, во втором передачи слов в режиме ПДП перемежаются с выполнением программы, и для передач ПДП выделяются отдельные такты машинных циклов, в которых процессор не использует системный интерфейс. Производительность системы может возрасти из-за параллелизма процессов обмена и обработки данных, благодаря тому, что ПДП будет для процессора “невидимым”. При непрерывной передаче блока данных скорость обмена ограничивается лишь длительностью циклов ЗУ, быстродействием самого контроллера и скоростью выдачи/приема данных внешним устройством. В отличие от процессов прерывания, при ПДП обмен выполняется без участия программы, поэтому содержимое рабочих регистров процессора не изменяется и на вхождение в режим ПДП не требуется затрат времени. ПДП предоставляется по завершении текущего машинного цикла.
С увеличением расстояния обмен данными по параллельному каналу становится неприемлемо сложным и экономически невыгодным. В этом случае применяют преобразование параллельного кода в последовательный для его передачи по одной сигнальной линии. Кроме того, последовательный канал характеризуется сравнительно небольшим числом сигнальных линий. Это дает ему определенные преимущества, например, при интегрировании устройств в систему, даже если устройства расположены на малых расстояниях друг от друга. Протоколы последовательного обмена задают два его вида: синхронный и асинхронный. При синхронной передаче байты (слова) следуют один за другим слитно
, поэтому можно говорить о передаче массива байтов. Синхронный обмен повышает скорость передачи данных. При асинхронном обмене данные передаются по мере их готовности.
Параллельная передача данных между контроллером и ВУ является по своей организации наиболее простым способом обмена. Для организации параллельной передачи данных помимо шины данных, количество линий в которой равно числу одновременно передаваемых битов данных, используется минимальное количество управляющих сигналов.
Использование последовательных линий связи для обмена данными с внешними устройствами возлагает на контроллеры ВУ дополнительные по сравнению с контроллерами для параллельного обмена функции. Во-первых, возникает необходимость преобразования формата данных из параллельного формата, в котором они поступают в контроллер ВУ из системного интерфейса компьютера, в последовательный при передаче в ВУ. И обратно из последовательного в параллельный при приеме данных из ВУ. Во-вторых, требуется реализовать соответствующий режиму работы внешнего устройства способ обмена данными: синхронный или асинхронный. В современных МПС применяют, как правило, универсальные контроллеры для последовательного ввода/вывода, обеспечивающие как синхронный, так и асинхронный режим обмена данными с ВУ.
На практике часто используют программируемые контроллеры, режимы работы которых устанавливаются специальными командами МП. Программируемый контроллер необходимо настраивать на конкретный режим обмена данными, присущий ПУ:
-
синхронный или асинхронный, -
с использованием сигналов прерывания или без их использования, -
на заданную скорость обмена и т. д.
Настройка таких контроллеров на требуемый режим обмена производится программным путем с помощью специальных команд (управляющих слов), передаваемых из МП в контроллер ПУ перед началом обмена. Управляющее слово записывается в специальный регистр и инициирует заданный режим обмена с ПУ.
В микропроцессорных системах используются два основных способа организации передачи данных между системой и устройствами ввода/вывода: − программно-управляемый обмен; − прямой доступ к памяти (ПДП).
Программно-управляемый обмен – обмен, управляемый программой, т. е. когда процедуры обмена информацией с периферийным устройством инициируются и выполняются непосредственно программой, реализуемой процессором через его регистры. Программно-управляемый обмен осуществляется при непосредственном участии и под управлением процессора.
С точки зрения аппаратных затрат программно-управляемый обмен является наиболее эффективным типом обмена, поэтому он находит самое широкое применение в различных микропроцессорных системах.