Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод.указ. КП_АРХ.doc
Скачиваний:
13
Добавлен:
17.06.2016
Размер:
130.05 Кб
Скачать

5. Программирование ввода и вывода

5.1. Аппаратная реализация взаимодействия процессора с внешним устройством

Раздел 5.1 необходим, если студент претендует на высшую оценку при защите курсового проекта. Содержание раздела излагается на лекции.

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

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

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

При другом способе адресации портов используют различные адресные пространства для памяти и для ВУ.

Идентификация используемого в процессе записи/чтения данных адресного пространства осуществляется с помощью сигнала IO/M. Нулевое значение этого сигнала идентифицирует режим работы с ячейками памяти, а единичное значение – указывает на режим взаимодействия с портами ВУ. При таком способе адресации портов, для взаимодействия с портами используются только специальные команды: для чтения данных IN Port, для записи данных OUT Port.

Признак IO/Mиспользуемый для идентификации типа адресного пространства формируется при дешифрации команды, если команда IN или OUT, то устанавливается единичное значение признака IO/M.

Для подачи данных на шину Dи приема данных с шиныDиспользуется двунаправленный шинный формирователь.

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

Функциональный блок RD размещается в процессоре и через управляемую двунаправленную шину Dподсоединяется к портам ВУ и к ячейкам памяти. Выбор соединения осуществляется управляющим сигналом IO/M.

Кроме буферного регистра RD, в процессоре размещается буферный регистр RA, содержимое, которого подается на шину А, соединенную со схемами дешифрации, размещенными во внешнем устройстве и в устройстве памяти. Нужная схема дешифрации активируется с помощью сигнала IO/M, подаваемого на вход CSмикросхемы дешифратора.

Для управления обменом данными используются также сигналы : Read, Writeдля памяти и сигналы: IOR, IOW для ВУ.

Работа ЭВМ заключается в выполнении командного цикла, состоящего из машинных циклов, таких как выборка команды (IFETCH), дешифрации кода операции (DECODE), формирование исполнительного адреса (EADDR), выборка операндов (OFETCH) и тому подобные. Машинный цикл в свою очередь делится на нужное количество тактов в зависимости от типа машинного цикла. На каждом такте выполняется микрооперация, напримерRA=RI[A], гдеRI[A] обозначает адресную информацию, размещенную в регистре командRI.

Отметим, что в анализируемой модели ЭВМ машинные циклы команд READ(WRITE) иIN(OUT) могут быть идентичными по описанию, но количество тактов (и микроопераций), требуемое для выполнения этих команд будет различное.

Так как в машинном цикле OFETCHописаны две последовательности микроопераций, то для идентификации последовательностей внутри машинного цикла используется признакIO/M.

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

Организация ввода данных с проверкой готовности ВУ к обмену.

Данные поступают от ВУ вместе с сигналом стробирования (STB), который служит для загрузки данных в буферный регистр RGI, и для установки признака готовности IBF (InputBufferFull) к обмену. Для хранения признака используется триггер TIBF , который соответствует седьмому биту регистра состояния процессора. Седьмой бит служит для оповещения о готовности порта внешнего устройства к обмену. КомандаINпрограммыCPUвводит данные с регистра состояния в аккумулятор и проверяет наличие единичного значения признака готовности. При наличии признака готовностиCPUосуществляет ввод данных с порта (RGI), хранящего данные. Сигналы дешифратораCSD и CSS служат для управления передачей данных между портом ВУ и регистромRD(аккумулятор) данных процессора.

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

Организация вывода данных с проверкой готовности ВУ к обмену.

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