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

Раздел 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 (Input Buffer Full) к обмену. Для хранения признака используется триггер TIBF, который соответствует седьмому биту регистра состояния процессора. Седьмой бит служит для оповещения о готовности порта внешнего устройства к обмену. Команда IN программы CPU вводит данные с регистра состояния в аккумулятор и проверяет наличие единичного значения признака готовности. При наличии признака готовности CPU осуществляет ввод данных с порта (RGI), хранящего данные. Сигналы дешифратора CSD и CSS служат для управления передачей данных между портом ВУ и регистром  RD (аккумулятор) данных процессора.

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

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

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

Пример использования системных функций для ввода

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

Общие сведения об интерфейсе Win32 API

Изложить основные сведения об интерфейсе прикладных программ.

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

 


* Буквенные обозначения, содержащиеся в таблице, поясняются далее в тексте.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: