Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Разработка контроллера прямого доступа памяти (КПДП)




 

 

Прямой доступ к памяти(ПДП, англ. DMA – Direct Memory Access) используется для высокоскоростной передачи данных между устройствами ввода-вывода и оперативной памятью без вмешательства ЦП.

Для реализации режима прямого доступа к памяти необходимо обеспечить непосредственную связь контроллера ПДП и памяти микро-ЭВМ. Для этой цели можно было бы использовать специально выделенные шины адреса и данных, связывающие контроллер ПДП с основной памятью. Но такое решение нельзя признать оптимальным, так как это приведет к значительному усложнению микро-ЭВМ в целом, особенно при подключении нескольких ВУ. В целях сокращения количества линий в шинах микро-ЭВМ контроллер ПДП подключается к памяти посредством шин адреса и данных системного интерфейса. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП. Можно выделить два основных способа ее решения: реализация обмена в режиме ПДП с "захватом цикла" и в режиме ПДП с блокировкой процессора.

Функциональная схема контроллера прямого доступа к памяти изображена на рисунке 2.27. Прямой доступ к памяти будет происходить с "захватом цикла" и принудительным отключением процессора от шин системного интерфейса.

В данном курсовом проекте данные из внешнего устройства (ВУ) не посылаются и не читаются из оперативной памяти (ОП), как показано на схеме, а посылаются в РОН и АЛУ где результаты выполнения соответствующей операции отправляются через буфер чтения в ВУ.

 

Рисунок 2.27 – Функциональная схема КПДП

 

Реализация КПДП

Согласно условию курсового проекта, объем данных составляет 4 байта, начальный адрес пересылаемых данных начинается с 8-го бита. Первые 8 бит – служебная информация.

В данном курсовом проекте служебная информация представляет собой: адрес РОНа (3 бита); 4 бита отвечающих за передачу данных в АЛУ или РОНы и определение операции, выполняемой в АЛУ; старший бит является управляющим и всегда равен единице. Работа КПДП осуществляется с помощью счётчика на четыре такта.

Рассмотрим работу КПДП по тактам. Первый такт отвечает за начало работы КПДП, подачу данных на него и остановку УУ. На втором такте одно слово из пары записывается в РОН. На третьем такте данные из КПДП и блока РОН подаются на АЛУ, результат возвращается в КПДП. НА четвертом такте результат с АЛУ, находящийся в КПДП, отправляется на ВУ, КПДП останавливает свою работу и запускает УУ.

В схеме КПДП используются такие блоки как: регистр на 10 бит, регистр на 2 бита, счетчик на 4 такта. Регистр на 10 бит изображен на рисунке 2.7, регистр на 2 бита изображен на рисунке 2.23, счетчик на 4 изображен на рисунке 2.12. Схема КПДП приведена в приложении Ж стр.62, а графическое обозначение приведено на рисунке 2.28.

Рисунок 2.28 – Графическое обозначение КПДП

 

Временная диаграмма работы устройства приведена на рисунке 2.29. Начиная с первого такта, начинается основной цикл работы КПДП в четыре такта. Устанавливается сигнал HOLD, который останавливает работу УУ и, с его помощью, передаётся управление системной шиной на КПДП. Происходит запись данных из ВУ в буфер записи и со следующим тактом выдаётся адрес РОНа, в который эти данные запишутся. Сигнал SELотвечает за передачу данных между КПДП и АЛУ. С третьим тактом, основного цикла работы КПДП, на АЛУ поступают данные с РОНов, и подаются сигналы L0_KPDP, L1_KPDP, означающий выполнение операции. Кроме этого, на КПДП в буфер чтения поступают данные из АЛУ на хранение. С последним тактом данные из буфера чтения передаются во ВУ, КПДП завершает свою работу, снимая сигнал HOLDи к УУ возвращается управление (SET=0).

Рисунок 2.29 – Временная диаграмма работы КПДП.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...