Лабораторная работа №14 -...

13
Лабораторная работа №14 Наименование работы Разработка VHDL модели контроллера прямого доступа к памяти Цель работы 1.Закрепить понятие конечного автомата на примере разработки контроллера прямого доступа к памяти (ПДП). 2.Изучить применение контроллера ПДП (DMA). 3. Изучить принцип обмена данными с использованием DМА. 4. Изучить действие управляющих сигналов HOLD и HLDA, используемых для прямого доступа к памяти. 4. Изучить функции контроллера DМА 8237 при обмене данными в составе ВМ. Задание к лабораторной работе Варианты заданий формируются для заданного режима работы контроллера DMA № варианта Функции ПДП 1 Передача данных «память - память» 2 Передача данных «память - принтер» 3 Передача данных «у.ввода - память» 4 Передача данных «память — у.вывода» 5 Передача данных «память - дисплей» 6 Передача данных «у.ввода — у.вывода» 2. Приведите математическую модель контроллера DMA. 3. Приведите VHDL модель контроллера DMA. 4. Сформируйте тестовые сигналы. 5. Протестируйте контроллер DMA на макете FLEX8000.

Upload: others

Post on 17-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Лабораторная работа №14

Наименование работы

Разработка VHDL модели контроллера прямого доступа к памяти

Цель работы1.Закрепить понятие конечного автомата на примере разработки

контроллера прямого доступа к памяти (ПДП).2.Изучить применение контроллера ПДП (DMA).3. Изучить принцип обмена данными с использованием DМА.4. Изучить действие управляющих сигналов HOLD и HLDA,

используемых для прямого доступа к памяти.4. Изучить функции контроллера DМА 8237 при обмене данными в

составе ВМ.

Задание к лабораторной работеВарианты заданий формируются для заданного режима работы

контроллера DMA

№ варианта Функции ПДП1 Передача данных «память - память»2 Передача данных «память - принтер»3 Передача данных «у.ввода - память»4 Передача данных «память — у.вывода»5 Передача данных «память - дисплей»6 Передача данных «у.ввода — у.вывода»

2. Приведите математическую модель контроллера DMA.3. Приведите VHDL модель контроллера DMA.4. Сформируйте тестовые сигналы.5. Протестируйте контроллер DMA на макете FLEX8000.

Page 2: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Перечень используемого оборудования и программного обеспечения

1. Разработка VHDL модели цифровой системы должна проводиться в среде GHDL.

2. VHDL модель цифровой системы должна быть верифицирована в среде GHDL.

3. Для валидации VHDL модели цифровой системы необходимо использовать целевое устройство - лабораторный макет FLEX8000 (target).

4. Визуальный контроль за формой сигнала и оценки временных параметров проводится с использованием аналогового осциллографа С1-93.

5. Разработка VHDL модели цифровой системы должна проводиться на IBM совместимых ПК с использованием операционной системы Windows XP (host PC).

6. Отчет по лабораторной работе должен выполняться в Open Office.

Основные определенияВ лабораторной работе представлена последняя (наряду с программным

обменом и использованием прерываний) разновидность системы ввода-вывода с использованием прямого доступа к памяти (ПДП) или, иначе, по-английски DМА (Direct memory ассеss).

Метод ввода-вывода с использованием DМА обеспечивает устройствам прямой доступ к памяти без участия микропроцессора, т.е. в течение временно-го отключения микропроцессора от процесса обмена. Это позволяет осуще-ствлять передачу данных между памятью и устройством ввода-вывода со ско-ростью, которая ограничивается только элементами памяти в системе или контроллером DМА. Скорость передачи при использовании DМА может дости-гать 32—40 Мбайт/с.

Передачи ПДП используются для многих целей, но наиболее часто для ре-генерирования динамической памяти, обновления информации на экране ви-деодисплея и в системах внешней памяти на дисках. Кроме того, DМА-пере-дачи используются для организации высокоскоростных передач типа "память-память".

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

Для запроса и подтверждения процесса ПДП в системе на базе микропроцессора используются два управляющих сигнала. Сигнал HOLD (hold) — это входной сигнал для микропроцессора на одноименном его выводе, используемый для запроса системной шины со стороны устройства для выполнения им процесса прямого доступа к памяти, а сигнал HLDA (hold acknowledge) является выходным сигналом микропроцессора, подтверждающим предоставление системной шины для выполнения процесса DМА.

Page 3: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

На рис. 1 показана типичная временная диаграмма для этих двух управляющих сигналов микропроцессора для процесса ПДП.

Рис.1. Временная диаграмма для управляющих сигналов

Запрос на захват шины для выполнения операций DМА происходит при размещении на выводе HOLD микропроцессора сигнала высокого логического уровня. Микропроцессор (в течение нескольких тактовых импульсов) временно приостанавливает выполнение программы и освобождает шину адреса, данных и управления, переводя свои соответствующие выводы в состояние высокого импеданса. Микропроцессор в таком состоянии представляется таким, как будто бы он отсоединен от сокета (socket), в который он установлен. Это позволяет внешним устройствам ввода-вывода или другим микропроцессорам получить доступ к системной шине, для осуществления прямого доступа к памяти.

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

Следует отметить, что сигнал НОLD имеет более высокий приоритет, чем сигналы запроса на прерывание INTR и NМI.

Прерывания выполняются после завершения команды, тогда как сигнал НОLD оказывает действие в процессе выполнения команды. Единственный сигнал, имеющий приоритет выше приоритета сигнала НОLD, — это сигнал сброса RESET. Кроме того, следует обратить внимание на то, что сигнал НОLD не может быть активирован во время действия сигнала RESЕТ, иначе выполнение сброса не гарантируется.

Установка сигнала НLDA указывает на то, что микропроцессор отключил-ся от системной шины. Следует обратить внимание, что за время от установки сигнала НОLD до установки сигнала НLDА происходят в течение нескольких периодов тактовых импульсов.

Установка сигнала НLDА является для внешнего устройства, запра-

Page 4: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

шивающего шину признаком того, что микропроцессор уступил управление памятью и пространством ввода-вывода. Таким образом, сигнал НОLD можно назвать сигналом запроса ПДП, а сигнал HLDA — сигналом предоставления ПДП.

Основные операции

Обмен данными без использования микропроцессора с помощью прямого доступа к памяти обычно осуществляется между устройством ввода-вывода и памятью.

При выполнении процедуры DМА по команде чтения осуществляется операция передачи данных из памяти в устройство ввода-вывода, а по команде записи осуществляется обратная операция передачи данных, т.е. из устройства ввода-вывода в память. В обеих операциях управление памятью и устройством ввода-вывода осуществляется одновременно, и поэтому для них в системе имеются отдельные сигналы управления для чтения и записи.

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

При выполнении процедуры DМА и операции чтения для передачи данных из памяти в устройство ввода-вывода одновременно активизируются сигналы МЕМR. (МRDC) и IOW (IOWC), а при операции записи активизируются сигналы МЕМW (МWTС) и IOR. (IORС). Такие сигналы шины управления имеются во всех системах на микропроцессорах семейства Intel. В частности, для микропроцессоров 8086/8088 необходимо сформировать эти сигналы или с помощью контроллера шины, или с помощью схемы, приведенной на рис. 1.2.

При обмене с помощью прямого доступа к памяти контроллер DМА для обращения к памяти формирует адрес, а установив сигнал DАСК (DМА аcknowledge), выбирает устройство ввода-вывода.

Page 5: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Рис.2. Схема формирования системных управляющих сигналов для обслуживания DMA

Скорость передачи данных определяется скоростью работы памяти или контроллера DМА, который часто управляет передачами DМА.

В том случае когда быстродействие памяти составляет 100 нс, то обмен информацией с помощью DМА может происходить с частотой 1/100 нc или 10 МГц. Если же при работе контроллера DМА на максимальной частоте 5 МГц используется память с быстродействием 100 нс, то максимальная частота передачи данных составит 5 МГц, т. к. контроллер DМА работает медленнее, чем память. Во многих случаях контроллер DМА замедляет скорость системы во время обмена с помощью DМА.

Контроллер DМА 8237Контроллер DМА 8237 во время обмена информацией с помощью ПДП

снабжает память и устройство ввода-вывода управляющими сигналами и адресом для обращения к памяти.

Контроллер DМА обеспечивает формирование только 16 младших разрядов адреса памяти. Причем старшая часть адреса во время цикла ОМА по шине данных поступает для дальнейшего хранения в отдельную защелку.

Восемь разрядов младшей части 16-разрядного адреса выдаются контроллером непосредственно на шину адреса. Старшая же часть адреса памяти, дополняющая 16-разрядный адрес, сформированный контроллером 8237, при выполнении процедуры DМА хранится в специальном, находящемся в системе регистре страниц DMA.

Контроллер DМА 8237 фактически является специализированным микропроцессором, задачей которого является высокоскоростная передача данных между памятью и устройством ввода-вывода. На рис.3 представлена блок-схема программируемого контроллера DМА 8237.

Несмотря на то, что в современных системах на базе микропроцессоров этого контроллера в качестве дискретного компонента может и не быть, в большинстве компьютерных систем он имеется в микропроцессорном наборе микросхем, который иначе называют чипсетом (chip set). В одну из микросхем чипсета, например, в интегральный системный периферийный контроллер 82357 ISР (ISР — Integrated System Peripheral Controller), не описанный здесь ввиду его сложности, входят два интегрированных контроллера DМА, которые программируются точно так же, как и отдельный контроллер DМА 8237.

Кроме того, в состав интегрального системного периферийного контроллера входят два программируемых контроллера прерываний 8259А, изучение которых актуально и в настоящее время, когда применяются чипсеты, а не дискретные микросхемы.

Контроллер DМА 8237 имеет четыре независимых DМА канала, которые совместимы с микропроцессорами 8086/8088. Хотя для многих небольших си-стем этих четырех каналов и достаточно, систему можно расширить с помощью

Page 6: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

каскадирования, контроллеров 8237 до любого необходимого количества вход-ных каналов.

Контроллер DМА 8237 способен осуществлять обмен данными со ско-ростью 1,6 Мбайт/с. При однократном программировании каждый канал спосо-бен адресоваться к и может передать блок данных размером до 64 Кбайт.

Page 7: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Рис.3. Структурная схема контроллера ПДП 8237

Page 8: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Назначение выводов и сигналов

CLKНа вывод СLК (с1оск) подается тактирующий сигнал с частотой не более 5

МГц. Скважность тактирующего сигнала должна быть равна 2. В системе на микро-процессоре 8086/8088 для правильной работы контроллера 8237 при использовании системного тактирующего сигнала он должен быть усилен с помощью инвертора.

СSСигнал, подаваемый на вывод СS (chip select), разрешает программирование

контроллера 8237. Вывод СS обычно соединяется с выходом дешифратора. Декодер не использует управляющие сигналы IO/М (М/IO) микропроцессоров 8086/8088, т.к. в системе используются иные сигналы для управления памятью и устройствами ввода-вывода (МЕМR. , МЕМW , IOR и IOW ).

RESETСигнал, поступающий на этот вывод, переводит контроллер 8237 в исходное

состояние, т.е. сбрасывает регистры управления, состояния, запроса и временного хранения, а также устанавливает регистр масок.

READYАктивный сигнал на этом выводе указывает на готовность устройства. Сигнал

низкого логического уровня на этом выводе переводит контроллер 8237 в состояние ожидания. Сигнал используется, если быстродействие памяти недостаточно для совместной работы с внешним устройством ввода-вывода, и тогда с его помощью удлиняются циклы обращения к памяти.

HLDAУстановка сигнала на выводе HLDA (hold acknowledge) сигнализирует

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

DREQ3-DREQ0Выводы DREQ3—DREQ0 (DМА request) используются для запроса передач с

использованием прямого доступа к памяти для каждого из четырех каналов DМА. Поскольку чувствительность этих вводов к полярности входных сигналов программируется, то они могут быть выводами, возбуждаемыми сигналами высокого или низкого уровня.

DB7-DB0Выводы DB7—DB0 (data bus) подключаются к линиям шины данных

микропроцессора и используются во время программирования контроллера DМА 8237.

IORДвунаправленный вывод IOR (I/O read) используется во время программирова-

Page 9: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

ния контроллера 3237 и в течение выполнения операции записи при использовании процедуры DМА.

IOWДвунаправленный вывод IOW/ (I/O write) используется во время программиро-

вания контроллера 8237 и в течение выполнения операции чтения при использовании процедуры DМА.

EOPДвунаправленный вывод завершения процесса прямого доступа к памяти ЕОР

(end of process). Сигнал на этом выводе активизируется контроллером при дос-тижении нуля счетчиком передаваемых байт для соответствующего канала. Кроме того, контроллер 8237 позволяет прекратить процесс DМА извне. В этом случае на вывод ЕОР должен быть передан сигнал низкого логического уровня. При появлении внутреннего или внешнего сигнала ЕОР контроллер прекращает процедуру прямого доступа к памяти и сбрасывает запрос DМА.

А3-АОВыводы шины адреса АЗ—АО (address). В режиме программирования комбина-

циями сигналов, поступающих на эти выводы, выбирается один из внутренних регистров контроллера. В режиме обслуживания процесса ОМА на эти выводы контроллером выставляется часть адреса.

А7-А4Адресные выводы А7—А4 (address) являются выходами, с помощью которых

контроллер осуществляет формирование части адреса в режиме обслуживания про-цесса DМА.

HRQВывод НRQ (hold request) подключают к выводу HOLD микропроцессора, для

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

DАСКЗ-DАСКОСигналы на выводах DАСКЗ—DАСКО (DМА acknowledge) являются

сигналами, подтверждающими выполнение процедуры прямого доступа к памяти по соответствующему каналу. Активный уровень сигналов (низкий или высокий) на этих выводах может программироваться. С помощью этих сигналов устройство, при-славшее запрос на выполнение процесса DМА, информируется о возможности выполнения передачи по каналу DМА. Часто эти сигналы используются для выбора устройства ввода-вывода в течение выполнения DМА-передач.

АЕNСигнал разрешения адреса AEN(address enable) разрешает работу адресной за-

щелке DМА, соединенной с выводами DВ7—DBО контроллера DМА 8237, и предназначенной для формирования восьми разрядов старшей части адреса при выполнении процесса прямого доступа к памяти. Он также используется для блокировки

Page 10: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

других буферов шин в системе с целью запрета ошибочной работы устройств, не участвующих в процедуре DМА.

АDSТВСигнал стробирования адреса АDSTВ (address strobe) предназначен для фиксации

старших восьми разрядов адреса в защелке адреса, переданных в нее из контроллера DМА по шине данных DВ7—DВО.

МЕМRСигнал чтения памяти на выводе МЕМR (memory read) требует от памяти, чтобы она

выставила данные на шину данных во время выполнения операции чтения DМА. Сигнал вырабатывается контроллером в паре с сигналом записи IOW , предназначенным для выбранного устройства ввода-вывода, выполняющего обмен по процедуре DМА.

МЕМWСигнал записи в память на выводе МЕМW(memory write) требует от памяти записать

данные, выставленные на шину данных во время выполнения операции записи DМА. Сигнал вырабатывается контроллером в паре с сигналом чтения IOR, предназначенным для выбранного устройства ввода-вывода, выполняющего обмен по процедуре DМА.

Порядок выполнения лабораторной работы

1. В соответствии с вариантом сформируйте структурную схему цифровой системы с контроллером DMA.

2. Составьте граф переходов контроллера DMA.3. Составьте поведенческие модели элементов структурной схемы.4. Составьте математическую модель устройства управления кон-

троллером DMA.5. Составьте VHDL модель устройства управления контроллером DMA.6. Сформируйте тестовые сигналы и протестируйте контроллер DMA в

среде GHDL.7.Сформируйте тестовые сигналы и проведите верификацию устройства8. Проведите валидацию контроллера на лабораторном макете FLEX8000.9. Оформите результаты лабораторной работы.

Порядок проведения работы на макете

1. Подготовка к выполнению лабораторной работы. Разработка VHDL моделей элементов арбитра и их верификация должны

быть проведены в среде GHDL(host PC) в процессе подготовки к выполнению

Page 11: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

лабораторной работыВыполнение лабораторной работы проводится в аудитории под контролем

преподавателя.Перед выполнением лабораторной работы необходимо проверить наличие

защитного заземления, исправность схем аварийного отключения питания. 2. Порядок выполнения лабораторной работы:- в соответствии с разработанной принципиальной электрической схемой,

выполнить необходимые коммутации на макетной плате FLEX8000 (target);- подсоединить к контрольным точкам щупы осциллографа;- включить питание (подсоединить FLEX8000 к удлинителю USB);- при правильном соединении загорается светодиод HL1; - при возникновении проблем с соединением необходимо обратиться к преподавателю;- сконфигурировать ПЛИС FLEX8000 (Host PC + target);- наблюдать временные диаграммы в контрольных точках, обеспечивая синхронизацию органами управления осциллографа;- при несоответствии наблюдаемых осциллограмм заданию, необходимо повторить синтез VHDL моделей схем с учетом отмеченных недостатков; затем необходимо провести верификацию VHDL модели. Внесенные изменения необходимо согласовать с преподавателем и повторить валидацию VHDL модели (Host PC);- скопировать временные диаграммы с экрана осциллографа.

Содержание отчета

Отчет к лабораторной работе должен содержать:

1. Задание на разработку контроллера DMA .2.Поведенческую модель контроллера DMA в соответствии с заданием3. Математическую модель устройства управления контроллера DMA.4. Структурную схему VHDL модели цифровой системы 5. Граф переходов устройства. Программную модель цифровой системы.6. Временной анализ верификации VHDL модели в среде GHDL.7. Принципиальную электрическую схему валидации VHDL модели на

макете FLEX8000.8. Временной анализ валидации VHDL модели цифровой системы.

Page 12: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

9. Оценку коэффициентов управляемости и коэффициентов наблюда-емости схемы

10. Оценку длины критического пути11. Рекомендации по совершенствованию системы тестирования12. Выводы по лабораторной работе.

Контрольные вопросы

1. Поясните назначение режима ПДП, приведите примеры.2. Поясните назначение сигнала HOLD3. Поясните назначение сигнала HLDA 4. Опишите основные операции, выполняемые в режиме ПДП, при чтении

и записи в память.5. Поясните назначение сигнала DACK.6. Как определяется скорость передачи данных в режиме ПДП.7. Приведите состав контроллера ПДП 82378. Приведите характеристики контроллера ПДП 8237.9. Опишите основные выходные сигналы контроллера ПДП10. Опишите основные входные сигналы контроллера ПДП

Литература

1. Брей Б. Микропроцессоры Intel: Архитектура, программирование и интерфейсы.- Пер. с англ.- СПб: БХВ - Петербург, 2005 .- 1328 с.

ОглавлениеНаименование работы........................................................................................................................1Цель работы........................................................................................................................................1Задание к лабораторной работе.........................................................................................................1Перечень используемого оборудования и программного обеспечения.........................................2Основные определения......................................................................................................................2 2. Основные операции.......................................................................................................................4 3. Контроллер DМА 8237..................................................................................................................5 Назначение выводов и сигналов.......................................................................................................8Порядок выполнения лабораторной работы..................................................................................10

Порядок проведения работы на макете......................................................................................10 Содержание отчета .........................................................................................................................11

Page 13: Лабораторная работа №14 - Bitcheese.netdump.bitcheese.net/files/ucytebu/lab14_2010v1.pdf · 2018-11-02 · Лабораторная работа №14 Наименование

Контрольные вопросы.....................................................................................................................12Литература.........................................................................................................................................12