Реферат: Контроллер прямого доступа к памяти

ФедеральноеАгентство образования Российской Федерации

Пензенскийгосударственный университет

Кафедра«Информационная безопасность систем и технологий»

РЕФЕРАТ

потеме:

«Контроллер прямого доступа к памяти»

Выполнил: Качайкин Е.И.

Руководитель работы:

Иванов А.П.

Пенза 2006


Содержание

Организация прямогодоступа к памяти

Контроллер прямогодоступа к памяти КР580ИК57 (КР580ВТ57)

Последовательностьпрограммирования контроллера

Пример программирования


Организацияпрямого доступа к памяти

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

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

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

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

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

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

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

Блок-схемапростого контроллера ПДП, обеспечивающего ввод данных в память микроЭВМ поинициативе ВУ в режиме ПДП «Захват цикла», приведена на рис. 1.


/>

Рис. 1.Контроллер ПДП для ввода данных из ВУ в режиме «Захват цикла» иотключением процессора от шин системного интерфейса

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

Байты данныхиз ВУ поступают в регистр данных контроллера в постоянном темпе. При этомкаждый байт сопровождается управляющим сигналом из ВУ «Ввод данных»,который обеспечивает запись байта данных в регистр данных контроллера. По этомуже сигналу и при ненулевом состоянии счетчика байт контроллер формирует сигналТПДП. По ответному сигналу процессора ППДП контроллер выставляет на шины адресаи данных системного интерфейса содержимое своих регистров адреса и данныхсоответственно. Формируя управляющий сигнал «Вывод», контроллер ПДПобеспечивает запись байта данных из своего регистра данных в память микроЭВМ.Сигнал ППДП используется в контроллере и для модификации счетчика байт ирегистра адреса. По каждому сигналу ППДП из содержимого счетчика байт вычитаетсяединица, и как только содержимое счетчика станет равно нулю, контроллерпрекратит формирование сигналов «Требование прямого доступа кпамяти».

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

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

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

Наиболеераспространенным является обмен в режиме прямого доступ к памяти с блокировкойпроцессора. Он отличается от ПДП с «захватом цикла» тем, чтоуправление системным интерфейсом передается контроллеру ПДП не на время обменаодним байтом, а на время обмена блоком данных. Такой режим ПДП используется втех случаях, когда время обмена одним байтом с ВУ сопоставимо с цикломсистемной шины.

В микроЭВМможно использовать несколько ВУ, работающих в режиме ПДП. Предоставление такимВУ шин системного интерфейса для обмена данными производится на приоритетнойоснове. Приоритеты ВУ реализуются так же, как и при обмене, данными в режимепрерывания, но вместо управляющих сигналов «Требование прерывания» и«Предоставление прерывания» используются сигналы «Требованиепрямого доступа» и «Предоставление прямого доступа»,соответственно.

 

Контроллерпрямого доступа к памяти КР580ИК57 (КР580ВТ57)

Обменомданными в компьютере при классическом его построении заведует процессор. Однакотакую задачу, как обмен данными с периферийными устройствами (т. е. приосуществлении связи с внешним миром), стараются по возможности выполнить припомощи специализированных устройств обмена информацией. Это позволяет, с однойстороны, освободить процессор (а заодно и программиста) от выполнения даннойзадачи, с другой — произвести требуемый обмен данными с большей скоростью, чемэто мог бы сделать процессор. Ведь периферийные устройства способны работать соскоростью, сравнимой с быстродействием процессора. К таким устройствамотносятся, к примеру, контроллер дисплея или накопители на гибком или жесткоммагнитных дисках. Все они требуют наличия в системе так называемого контроллерапрямого доступа к памяти, позволяющего заменить процессор и организовать болеебыстрый и прямой обмен данными между памятью и заданным периферийнымустройством.

В серии К580выпускался контроллер алфавитно-цифрового дисплея КР580ИК57. Микросхемапредставляет собой БИС четырехканального программируемого контроллера прямогодоступа к памяти (ПДП). Каждый из четырех каналов адресует область внешнейпамяти путем инкрементирования выбранного адреса. ПДП имеет приоритетную логику,реализующую запросы от четырех периферийных устройств и производит счет цикловпрямого доступа к памяти каждого канала.

ИспользованиеБИС ПДП позволяет существенно сократить аппаратные затраты при реализациипрямого доступа к памяти.

На рис. 2приведена структурная схема КР580ИК57, в табл. 1 — назначение выводов.

/>

Рис. 2.Структура микросхемы КР580ИК57


Таблица 1.Назначение выводов

Номер

 вывода

Обозначение Тип Описание 1 Чт В/В(I/O R Вход/выход Вход/выход        Чтение ввода-вывода. Сигнал Чт В/В разрешает (во входном режиме) чтение 8-разрядного регистра состояния или записанных в ЗУ ПДП начального адреса и числа циклов ПД любого из каналов, в выходном режиме сигнал Чт В/В разрешает выдачу информации из внешнего устройства ввода-вывода            2

Зп В/В

(I/O W)

Вход/выход Запись ввода-вывода. Сигнал Зп В/В разрешает (во входном режиме) загрузку регистров установки режимов, начального адреса значения количества циклов для любого канала ПДП. В выходном режиме сигнал Зп В/В разрешает запись информации во внешнее устройство ввода-вывода 3

Чт П

(MEMR)

Выход Чтение памяти. Выходной сигнал ЧтП предназначен для внешнего ЗУ 4

Зп П

(MEMW)

Выход Запись в память. Выходной сигнал ЗпП предназначен для внешнего ЗУ 5

М128

(MARK)

Выход Модуль 128. Выходной сигнал М128 появляется в каждом 128-м цикле от конца массива, а также во время действия сигнала КС 6

Гт

(Ready)

Вход Готовность. Входной сигнал Гт предназначен для обеспечения совместной работы ПДП и медленных внешних устройств. Сигнал может поступать асинхронно. Он отражает готовность внешнего устройства к ведению обмена 7

ПЗхв

(HLDA)

Вход Подтверждение захвата. Входной сигнал ПЗхв является ответом МП на сигнал ЗЗхв. При появлении ПЗхв системные шины (линии) свободны        8

СтрА

(ADSTB)

Выход Строб адреса. Выходной сигнал СтрА указывает, что на шине данных выдан старший байт адреса внешнего ЗУ 9

РА

(AEN)

Выход Разрешение адреса. Выходной сигнал РА используется для блокировки адресных шин в невыбранных устройствах 10

ЗЗхв

(HRQ)

Выход Запрос захвата. Выходной сигнал ЗЗхв запрашивает у МП разрешение на управление системными шинами (линиями) 11

ВМ

(CS)

Вход Выбор микросхемы. Входной сигнал ВМ позволяет активизировать данную БИС 12

ТИ

(CLK)

Вход Тактовый импульс. Входной сигнал ТИ обеспечивает функционирование микросхемы. Обычно этим сигналом является сигнал Ф2 микропроцессора КР580ИК80А 13

Уст

(RESET)

Вход Установка. Входной сигнал Уст предназначен для установки схемы в исходное состояние 14

ППД2

(DACK2)

Выход Подтверждение прямого доступа. Выходные сигналы подтверждения прямого доступа ППД2, ППД3 являются ответными по отношению к ЗПД2, ЗПД3. Они вырабатываются микросхемой в соответствии с приоритетами внешних устройств 15

ППД3

(DACK3)

Выход 16

ЗПД3

(DRQ3)

Вход Запрос прямого доступа. Входные сигналы ЗПД0… ЗПД3 поступают асинхронно из внешних устройств и воспринимаются микросхемой как запросы на обмен с ЗУ 17 ЗПД2 (DRQ2) Вход 18 ЗПД1 (DRQ1) Вход 19 ЗПД0 (DRQ0) Вход 20 Общий (GND) 21 D7 Вход/выход Шина данных 22 D6 23 D5 24

ППД1

(DACK1)

Выход Подтверждение прямого доступа. Выходные сигналы подтверждения прямого доступа ППД0, ППД1 являются ответными по отношению к ЗПД0, ЗПД1. Они вырабатываются микросхемой в соответствии с приоритетами внешних устройств 25 ППД0 (DACK0) Выход 26 D4 Вход/выход Шина данных 27 D3 28 D2 29 D1 30 D0 31 Пит (+U) БИС ПДП имеет один номинал напряжения питания +5 В 32 A0 Вход/выход Шина адреса 33 A1 34 A2 35 A3 36

КС

(TC)

Выход Конец счета. Выходной сигнал КС вырабатывается при установке в нуль 14-разрядного регистра количества циклов и указывает периферийным устройствам, что данный цикл ПД последний 37 A4 Выход Шина адреса 38 A5 39 A6 40 A7

Схема приемазапросов СПЗ предназначена для приема и привязки несинхронных сигналов запросовна организацию прямого доступа к памяти от четырех устройств, а также выдачиответных сигналов подтверждения. Каждый из четырех каналов связан с БИС ПДПотдельными линиями запросов и подтверждения прямого доступа. Выдача ответногосигнала подтверждения для соответствующего канала происходит в зависимости отего приоритета.

Внутреннеезапоминающее устройство микросхемы ВЗУ предназначено для хранения начальногоадреса и числа циклов ПД для каждого канала в 16-разрядных регистрах адреса РгАи циклов РгЦ соответственно. РгА загружается адресом первой ячейки памяти, ккоторой должно быть обращение. Младшие 14 разрядов РгЦ указывают число цикловПД (минус один) до конца счета (до появления сигнала КС}. Разряды 14-й и 15-йРгЦ указывают на вид обмена данными при ПД (табл. 2).

В блоке ВЗУпроисходит формирование массива адресов инкрементированием текущего адреса.Младший байт адреса А7… А0 помещается в буфер адреса БА, старший байт(А15… А8} — на буфер данных БД. Старший байт адреса должен быть защелкнут вовнешнем регистре по сигналу СтрА.

Буфер данныхБД представляет собой 8-разрядное устройство, обеспечивающее двунаправленныйобмен информацией между БИС и системной шиной данных. Информация, поступающая наБД с системной шины данных, передается в регистр установки режимов либо в ЗУ. Свнутренней шины данных на ШД, поступает информация о регистрах адреса,количества циклов, состояния БИС. В течение циклов ПД выдаются старшие восемьразрядов адреса памяти.

Буфер адресаБА предназначен для приема и выдачи адреса памяти либо одного из внутреннихрегистров схемы. БА разделен на две части. Адресные линии А0… А3 в состояниипрограммирования указывают номер регистра, инициализированного для обмена. Приобслуживании циклов ПД эти линии являются входными и по ним передаются четыремладших разряда адреса памяти.

Адресныелинии А4… А7 — всегда выходные. Информация на них соответствует разрядамгенерируемого адреса памяти.

Последовательностьюопераций в течение циклов ПД управляет устройство управления УУ.

Схемавыработки сигналов Запись-Чтение СВС осуществляет прием, формирование и выдачусигналов, обеспечивающих обмен информации между процессором и микросхемой — содной стороны, и памятью и периферийными устройствами — с другой.

Региструстановки режимов РгР хранит информацию о режимах работы БИС, к которымотносятся «Автозагрузка», «Конец счета-стоп»,«Удлиненная запись», «Обычная запись», «Циклическийсдвиг приоритета» и «Фиксированный приоритет».

РгР обычнозагружается после установки РгА и РгЦ и сбрасывается подачей сигнала Уст.

Разряды 0...3РгР разрешают работу соответствующего канала. Разряды 4...7 обеспечиваютсоответствующий режим работы БИС. Так, при записи «1» в разряд 4 РгРприоритет каждого канала изменяется.

Обслуженныйканал будет иметь самый низкий приоритет. Порядок обслуживания каналовустановливается в соответствии с их номерами 0>>1>2>3>0. Еслиразряд 4 РгР установлен в «0», то каждый канал будет иметьфиксированный приоритет. Так, канал 0 имеет наивысший приоритет, а канал 3 — самый низкий. При записи «1» в разряд 5 РгР устанавливается режим«Удлиненная запись». В этом режиме продолжительность сигналов ЗпП иЗп В/В увеличивается при отсутствии сигнала готовности внешнего устройства. Приэтом БИС входит в состояние ожидания.

При записи«1» в разряд 6 РгР устанавливается режим «Конец счета — стоп». В этом случае после появления сигнала КС обслуженный канал окажетсязапрещенным. Если необходимо продолжить обслуживание данного канала,перепрограммируют его разряд разрешения. При «0» в разряде РгРпоявление сигнала КС не запрещает повторное обслуживание канала.

При«1» в разряде 7 РгР устанавливается режим «Автозагрузка»,позволяющий каналу 2 повторно пропустить массив данных или связать ряд массивовбез программного вмешательства.

Регистрыканала 3 хранят информацию для переустановки регистров канала 2. После передачипервого массива и появления сигнала К.С содержимое регистров канала 3передается в соответствующие регистры канала 2. Каждый раз, когда в регистрахканала 2 происходит «подмена» данных информацией регистров канала 3,устанавливается разряд «Флаг обновления данных» в регистре состоянияканалов.

Регистрсостояния каналов РгС указывает номер канала, который достиг конца счета. Крометого, в РгС входит разряд «Флаг обновления данных», описанный выше.

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

В исходноесостояние микросхему переводит внешний сигнал Уст. В этом состоянии маскируютсявсе запросы каналов ПД, а буферы А0… А3 переводятся в состояние приемаинформации. В состоянии программирования МП имеет доступ к внутренним регистрамвыбранного канала в соответствии с табл. 2 и 3.

В состоянииожидания микросхема находится либо от момента окончания программирования довыдачи сигнала ППД, либо в промежутках между циклами ПД.

Послеполучения от МП сигнала ПЗхв при наличии сигнала запроса микросхемавырабатывает сигнал ППД и переходит в состояние обслуживания, в которомсистемные шины находятся под управлением БИС ПДП.

Таблица 2.Адресация регистров

A3          A2         A1          A0          Операция             Регистр                

0             0            0             0             Зп                           Канал 0,начальный адрес           

0             0            0             1             Зп                           Канал 0,количество циклов        

0             0            1             0             Зп                           Канал 1,начальный адрес           

0             0            1             1             Зп                           Канал 1,количество циклов        

0             1            0             0             Чт                           Канал 2,начальный адрес           

0             1            0             1             Зп                           Канал 2,количество циклов        

0             1            1             0             Чт                           Канал 3,начальный адрес           

0             1            1             1             Зп                           Канал 3,количество циклов        

1             0            0             0             Чт                           Чтение РгС        

1             0            0             0             Зп                           Запись вРгР       

 

Последовательностьпрограммирования контроллера

Для началаследует запрограммировать РгА и РгЦ выбранного канала (или выбранных каналов).

Таблица 3.Последовательность записи регистров адреса и циклов

A3 A2 A1 A0 Операция Регистр Номер канала Зп Запись младшего байта начального адреса (A0...A7) Зп Запись старшего байта начального адреса (A8...A15) 1 Зп Запись младшего байта количества циклов (C0...C7) 1 Зп Запись старших шести бит количества циклов (C8...C13) плюс два бита вида обмена данными (C14, C15)        

Запись вкаждый регистр проводится в два этапа — младший, затем старший байт адреса.

Таблица 4.Вид обмена данными

C14        C15       Вид обмена        

0             0            Цикл проверки ПД           

0             1            Цикл записи ПД               

1             0            Цикл чтения ПД               

1             1            Запрещенная комбинация            

Разрешитьработу контроллера ПДП теперь можно, установив в РгР соответствующий битразрешения каналов вместе с атрибутами режима работы контроллера.

Таблица 5.Формат регистра режимов

Ст. б. Мл.б. 7 6 5 4 3 2 1 Установка автозагрузки Установка КС-Стоп Установка удлиненной записи Установка циклического сдвига приоритета Разрешение ПД Для канала 3 Для канала 2 Для канала 1 Для канала 0

В процессеработы можно контролировать выполнение процесса прямого доступа к памятипосредством периодического чтения РгС.


Таблица 6.Формат регистра статуса

Ст.б. Мл.б. 7 6 5 4 3 2 1 Флаг обновления данных КС-стоп Для канала 3 Для канала 2 Для канала 1 Для канала 0

Примерпрограммирования

В одноплатномкомпьютере «Радио-86РК», описанном в журнале «Радио»,контроллер ПДП используется для передачи кодов отображаемых символов изэкранной области памяти в контроллер дисплея. Данная задача требуетпрограммирования контроллера ПДП с автозагрузкой (табл. 7).

Таблица 7.Пример программирования контроллера ПДП

A3 A2 A1 A0 Операция Данные Комментарий 1 Зп 10000000 (80H) В РгР установили флаг автозагрузки, чтобы начальный адрес записался в регистр адреса третьего канала 1 Зп 11010000 (D0H) Младший байт адреса 1 Зп 01110110 (76H) Старший байт адреса 1 1 Зп 00100011 (23H) Младший байт количества циклов 1 1 Зп 01001001 (49H) Старший байт количества циклов (09H) и вид обмена — чтение 1 Зп 10100100 (A4H) В РгР установили флаги: автозагрузка, удлиненная запись, разрешение работы канала 2

Все. Теперьконтроллер ПДП циклически пересылает область памяти 76D0H-7FF3H в контроллердисплея, приостанавливая на это время работу процессора.

Отметим, чтов таком варианте использования контроллера ПДП не требуется проводить операцийчтения. Это использовали разработчики компьютера «Радио-86РК»,совместив в адресном пространстве контроллер ПДП (только запись) и ПЗУ (толькочтение).


Список использованных источников

1/>   www.computer-museum.ru

2   http://dfe3300.karelia.ru

еще рефераты
Еще работы по информатике, программированию