logo search
Лекции препода / Конспект лекций ЭВМ

9.7. Интерфейс максимального режима и 16-битной шины

Как говорилось во введении к данной главе, все примеры в § 9.1 - 9.6относились к процессору 8088в минимальном режиме. Для перехода к системе с максимальным ре­жимом потребуются два изменения. Первое связано с тем, что в системе необходим контроллер шины, подключаемый в соответствии с рис. 8.9и 8.10.В систе­ме, имеющей контроллер ПДП 8237,контроллер шины заменяет схему кодирования сигналовRD,WRиIO/M, показанную на рис. 9.38и более подробно на рис. 9.39.В лю­бом случае с появлением контроллера шины входы интерфейсов RDиWITподключа­ются к выходамIORCиIOWCконтроллера, а линии IO/Mна входах дешифратора ад­реса больше не нужны. ;

Второе важное изменение касается сигналов HRQи HLDA,реализующих запросы и разрешения шины. Контроллер ПДП выдает потенциальный сигнал запроса HRQдо тех пор, пока он не готов освободить шину; после этого сигнал HRQснимается. Процессор также выдает потенциальный сигнал HLDA.Такие действия совместимы с работой ми-' кропроцессоров 8086/8088в минимальном режиме. Однако в максимальном режиме

Рис. 9.51.Преобразования запроса и разрешения шины при подключении контроллера ПДП 8237к микропроцессорам 8086/8088в максимальном режиме

процессоры воспринимают запросы и выдают разрешения по одной линии RQ/GTи ожи­дают сигнала запроса шины в виде одиночного импульса. Запрос подтверждается выход­ным импульсом, а по завершении операций ПДП контроллер должен послать в процес­сор второй импульс. Схема преобразования двух потенциальных сигналов контроллера ПДП в импульсы на одной линии, предназначенная для процессора в максимальном ре­жиме, представлена на рис. 9.51.

Трудности подключения интерфейсов 8-битных устройств к 16-битной шине процес­сора 8086связаны с необходимостью передач байт с четными адресами по младшей по­ловине шины данных, а байт с нечетными адресами —по старшей половине. Если интер­фейс взаимодействует только с процессором (т. е. не использует ПДП),проблема реша­ется довольно просто. Вместо подключения к входамAn- АО интерфейса лин^ий адреса для выбора внутренних регистров интерфейса, напримерAn- АО, следует подключить к этим входам линии А(п + 1)-А1 в соответствии с рис. 9.52.Это означает, что интер­фейсу будут назначены только четные адреса в пространстве ввода-вывода, начиная с адреса, кратного 2"'1'!, а нечетные адреса из этого диапазона не используются .^Если, на­пример, входы А1 и АО микросхемы 8255А подключены к линиям адреса А2 и А1 и на­чальный адрес портов 8255А равен 08F8, все передачи в (из) 8255А осуществляются по младшему байту шины. У портов А, В и С будут адреса 08F8,08FAи 08FCсоответ­ственно, а у регистра управления будет адрес 08FE. Аналогично интерфейсу можно наз­начить последовательные нечетные адреса, если он подключен к старшему байту шины.

Для использования последовательных адресов и обеих половин 16-битной шины дан­ных следует воспользоваться подключениями к шине, показанными на рис. 9.53^.Для

доступа к регистру микропроцессор 8086использует сигналы ВШГ и АО в соответствии с табл. 9.6.

Рис 952Обращения к портам ввода вывода имеющим только четные адреса

Таблица 96

Доступ к регистру с помощью сигналов ВНЕ и АО

Пользуясь этими сигналами и двумя приемопередатчиками 8286,можно передал данные между интерфейсом и линиями шины данныхD7DO, когда ВНЕ = 1и АО =О я линиями шиныD15D8, когда 'ВНЕГ = 0и АО = 1СигналRDприменяется для опреде

Рис 9 54Применение контроллера ПДП 8237в системе с 16битной шиной"<—Рис 953Подключение 8битного интерфейса к 16битной шине

^мш.,ип,^сния и.ь^чй.wh^x. tvubi, ошоош^е.я к сигнал, гоговнисчи, не по

казаны.

В системе .контроллером ПДП 82-5/-логику управления шиной, приведенную на

.,ис 9^ необходимо сменить н ^огве7=твии г рис. 9 54.Выходной сигнал ВНЕ нро-цссюо.» 80Ь(> подали и гог жг р ;и.тр-^1делку 8232,к.лорьи» применяем я для яиниП439А •'Линид АОmvs. ,ю"а. г. я ^ !ин«и ВНТ чсро три< обильный иивсргор. управа емь.й и-ч-нал^м М Nкош р.иъ.е^ ИДИ Когда сш н.шU Nаетивп иAU 0cmпал ЗН1 им^.уьгокш ур013^"^bjs^ ш-рсцачу по мадг^см, бай^ шчныfсчцAl\ ..кти вен и 40 -- 1сигнал ВНЕ имеет низкий уровень и передача осуществляется но старше­му байту. Кроме тою, интерфейс и контроллер ПДП следует подключить к шине через дополнительные схемы, аналогичные приведенным на рис. 9.53.

Ранее мы рассмотрели взаимодействие между 8-бигным интерфейсом и 16-бшной шиной данных; сделаем несколько замечаний относшслыю 16-бтного интерфейса, 1а-кой ишерфейс может передавать на (с) шину(ы) целые слова и удваивает эффектив­ность циклов шины. Схема 16-бигного интерфейса на основе двух микросхем 8255А по­казана на рис. 9 55.Линии А2 и Alшины адреса подключены на входы Alи АО обеих

Рис. 9.55.Пример параллельного 16-битного интерфейса ввода-вывода

микросхем; таким образом из пар портов А, В, С и регистров управления/состояния по­лучаются 16-битные порты. Нижняя микросхема 8255А занимает четыре смежных чет­ных адреса, а верхняя -четыре смежных нечетных адреса. Если биты А15-А13 соответ­ствуют адресу, встроенному в дешифратор адреса, он выдает сигнал выбора кристалла с нулевым значением. Если для нижней микросхемы оба сигнала выбора кристалла и АО равны 0,то на вход С? подается 0.В верхней микросхеме для образования С? =-О необходимо, чтобы нулевые значения имели сигналы выбора кристалла и ВНЕ (этим до­пускается раздельная адресациямикросхем).Линии управления считывания, записи и сброса подаются на входыRD.WRи КЕ5ЕТ_обеих микросхем, а сигнал готовности воз­вращается, если активен любой из сигналовCS,

Интерфейс можно спроектировать и так, что регистры устройства ввода-вывода бу­дут считаться ячейками памяти. Такой метод называется вводом-выводом, отображен­ным на память,и требует.чтобы интерфейс реагировал на сигналы считывания из памяти и записи в память. Главное достоинство такого ввода-вывода заключается в том, что к регистрам можно обращаться любой командой и любым режимом адресации, которые обращаются к операндам в памяти, а это обеспечивает гибкость программирования. Но если регистры управления и состояния разделяют один и тот же адрес (как это имеет место в некоторых микросхемах фирмыIntel),не допускается пользоваться такими

командами, как

ORCONTROL,00000001B

Эта команда осуществляет ввод из регистра состояния, а выводит в регистр управления. Так как один и тот же адрес невозможно назначить ячейке памяти и регистру, ввод-вы­вод, отображенный на память, сокращает число доступных ячеек памяти.

Упражнения

1.Приведите временную диаграмму передачи по асинхронной последовательной ли­нии связи буквы С, если применяется 7-битный кодASCII, четный паритет и два стопо-

• вых бита.

2.Предположим, что промежутков между символами нет, символы содержат 7ин­формационных бит, имеются бит паритета и два стоповых бита, а скорость передачи со­ставляет 600бит/с. Сколько символов передается в секунду? Сравните ее со скоростью синхронной линии с той же двоичной скоростью 600бит/с, при отсутствии холостых символов, если сообщение состоит из двух символов синхронизации и последующих2007-битных информационных символов.

3.Пользуясь материалом раздела 9.1.3,определите максимальное расстояние, на ко­торое можно передать сигнал со скоростью 4800бод без связного оборудования.

4.Пусть в эквивалентной схеме на рис. 9.8Ro= 500Ом,Су = 2мкФ, С^ определя­ется для линии длиной 100м с погонной емкостью 20пф/м,R^ = 4000Ом и Е^ ==О В.Чемубудет равноVpкогдаV„ = 7В? Определите максимум производной V?когдаV„ мгновенно изменяется от -7до +7В. Сколько времени длится переходvj от -3до +3В, еслиVgпереключается от -7к +7В? Будут ли удовлетворяться электрические специ-'фикации интерфейсаRS-232-C, если линия работает со скоростью 1200бод?

5.Каков будет формат передаваемого символа, если регистр режима микросхемы8251А содержит 0111ЮН? Какие частоты должны действовать на входахRxCи ТхС, чтобы приемник имел скорость 300бод, а передатчик - 1200бод?

6.Определите форматы символа и сообщения последовательной передачи, если в ре--гистре режима микросхемы 8251А содержится код 00010100?

7.Пусть после сброса выводится следующая последовательность с АО = 1:

Какие действия предпринимаются в микросхеме 825ia на каждый выводимый байт? (См. рис. 9.14).

8.Напишите фрагмент инициализации микросхемы 8 251А на асинхронную передачу со следующим форматом: 7информационных бит, 1столовый бит, бит паритета отсут­ствует. Множитель скорости передачи равен 64.Четный адрес 8251А равен 008А. Вклю­чите во фрагмент приказ, который выдает сигналыRTSиDTRи разрешает передатчик.

9.Расширьте фрагмент из упр. 8,чтобы вывести с помощью программного ввода-вы­вода сообщение

ВОЗНИКЛА ОШИБКА ПЕРЕГРУЗКИ

а затем сбросить бит ошибки перегрузки.

10.Напишите процедуру прерывания, которая выводит 20байт, начиная сMESSAGE, в микросхему 8251А, четный адрес которой равен 25СО. При каждом вызове процедура выводит один байт, а после вывода 20байт она помещает 1вFLAG. Для хранения счет­чика байт предназначена ячейкаCNT.

11.Считая, что начальный адрес микросхемы 8255А равен 0500,напишите фрагмент, который производит следующие действия:

а) переводит обе группы А и В в режим 0,причем порты А и С являются входными, а порт В —выходным;

б) переводит группу А в режим 2,а группу В в режим 1,причем порт В является вы­ходным;

в) переводит группу А в режим 1,причем порт А служит для ввода, а РС6 иPC 7 -для вывода, и группу В в режим 1(порт В является входным).

12.Предположим, что микросхема 8255А с начальным адресом 0030инициализиро­вана так, что группа А работает в режиме 2,группа В -в режиме 0,причем РВ7-РВО являются входами, а РС2-РСО -выходами. Напишите программу, которая выводит100байт из массива с начальным адресомOUT_ARRAYв устройство, подключенное к порту А. Перед выводом каждого байта программа должна ожидать активных уровней на входах РВ1, РВ2 и РВЗ, а после вывода —установить РС1 в 1.

13.Пользуясь микросхемами 8255А, 8282, 8286и другими, спроектируйте устрой­ство для установки и считывания группы из восьми реле. Считайте, что драйверов 8286 достаточно для управления выходными схемами, которые подают ток в обмотки реле. Определите режимы микросхемы 8255А и все необходимые сигналы управления. Сами реле и их вспомогательные схемы считайте заданными.

14.Используя порт В в режиме 1,модифицируйте схему на рис. 9.23так, чтобы она работала с 12-битным аналого-цифровым преобразователем. Напишите программу для ввода отсчета и запоминания его в слове с адресомSAMPLE.

15.Опишите, как микросхему 8254можно использовать для подсчета входных им­пульсов в течение временного интервала, управляемого вторым входом. По окончании всего счета выдается запрос прерывания по линииIR2, а после каждых 20подсчитанных импульсов формируйся запрос прерывания по линииIR3. Напишите программу инициа­лизации 8254 388

' . ilf'.^u^ »Ж1э1у. "тл1 .»i:-iki5EJ':.\<..,i.i ^„54 иолключина {-. reHripdiup^ синхронизации l Г Ч.1СЮГОЙ 1 t<.Fii n цолдща пидд-,-ржива1ь время дня в BCD-форматй с точностью до ^ в. кунд Они ydrsy:Kdeit,fi сразу после сгрузки в баЙ1Ы HOURS (часы), MINU7FS (мину-? tu),slconds (.ерунды) и АМРМ (после полудня) текущего времени. Напишше про­грамму, которая шиаиализир).eih2b4,и процедура прерывания, которая модифицируeiвремя но исг,.ч>я~".1й ка-адой с^к>нды.

I7Сч„1ыЙ1., <ю ла ри^. 9 30'supiu.vili^pui.xeMUiS^55Aпидключуны к клавиатуре. Со'чавьге схему пршраммы '-канировлния клавишуры. (Сраба1ывания нескольких к;и-виш не учитывайте.)

18.Предположим, что микросхема 8255А на рис. 9.32управляет многоразрядным индикатором в мультиплексном режиме.

а) Покажиче соединения между 8255А и индикатором.

б) Постройте схему программы индикации.

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

20.Предположим, что необходимо контролировать восемь устройств, каждое из ко­торых имеет 8-битный регистр состояния. Составьте логическую схему, показывающую применение для этой задачи микросхемы 8279.

21.Составьте программу передачи память -память 1000байт из областиSOURCEв областьDSTс помощью контроллера ПДП 8237.Адреса портов контроллера равны 0600-060F.

22.Поясните, как происходит управление микросхемами 8286на рис. 9.53во время:

а) вывода в регистр управления;

б) ввода из регистра состояния;

в) передачи из интерфейса ввода-вывода в память;

г) передачи память -память. Считайте, что интерфейсом является контроллер ПДП 8237.

23.Напишите программу, которая заставляет контроллер ПДП 8237выполнить в режи­ме по требованию блоковую передачу 500байт в массив с начальным адресомBUFFER. Байты запоминаются с наибольшего адреса (т. е.BUFFER+ 499).Адреса портов кон­троллера равны 1020-102F.

24.Приведите пары команд, которые выполняют следующие действия:

а) маскируют каналы 0и 3контроллера ПДП 8237;

б) вызывают программно-инициируемую передачу ПДП в канале 2контроллера 8237 в соответствии с текущим содержимым его регистров управления, адреса и счетчика байт.

25.Постройте временную диаграмму работы контроллера ПДП 8237при блоковой передаче 4байт из устройства ввода-вывода в память.

26.Пусть время загрузки головки 32мс, время поиска 8мс на дорожку, имеется40дорожек, скорость вращения 360об/мин. Определите среднее время обращения для гибкого диска с программным разделением на секторы. Затем определите среднее вре­мя, необходимое для перевода головки на дорожку 0,а затем время обращения к про­извольному сектору.

27.Напишите программу, которая использует приказ считывания состояния накопи­теля и помещает 1в ячейкуFLAG2, если накопитель 2защищен от записи.

28.Напишите программу, которая ожидает в цикле освобождения одного из накопи­телей на гибком диске, а затем переходит кROUTn, гдеn— номер первого освободив­шегося (т. е, находящегося в холостом состоянии) накопителя. В подсистеме имеется контроллер 8272.

29.Постройте схему законченной послсдоватьльности вывода блока данных, если в подсистеме внешней памяти имеются контроллеры 8272и 8237.В схеме необходимо учесть этапы инициализации обоих контроллеров и этапы, необходимые для реализации фаз приказа записи данных.

30.Подробно опишш е действия шины при передаче двух смежных байт из памяти в устройство ввода-вывода по 16-бигной шине микропроцессора 8086с применением контроллера ПДП 8237

31.Рассмотрите 16-битное параллельное устройство ввода-вывода, показанное на рис. 9.55.Приведите программу, которая переводит обе группы в обеих микросхемах 8255А в режим 0,причем порты А и С являются входными, а порт В -выходным. За­тем напишите две команды, которые выводят 1720через порт В.

32.Модифицируйте рис. 9.47так, чтобы буферному регистру данных и регистрам управления/состояния были назначены смежные четные адреса.