Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMPS.DOC
Скачиваний:
10
Добавлен:
30.08.2019
Размер:
3.12 Mб
Скачать

32 Корпуса разделены на 4 группы-столбца по 8 бис, корпуса в столбце соединены по входам се. По строкам соединены выходы Двых и входы Двх корпусов.

Для выбора одного из четырех столбцов применяется дешифратор ДШ в блоке управления и синхронизации; этот ДШ использует два старших разряда - А12 и А13.

При 16-разрядной МА старшие разряды А14 и А15 испрльзуются в блоке управления и синхронизации следующим образом. Значения А14 и А15 сравниваются в компараторе, входящем в этот блок, со значениями. обусловленными перемычками. Возможны четыре комбинации кодов перемычек. При совпадении вырабатываются нужные для работы сигналы СЕ, ЗП/ЧТ и пр.; при несовпадении данный модуль на 16 кбайт “молчит”.

Рис. 3.6. Пример структуры модуля ОЗУ

Связь модуля с системным интерфейсом осуществляется через магистральные приемопередатчики. Это набор тристабильных вентилей.

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

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

ЗЭ ОЗУ с произвольным доступом

В настоящее время промышленность изготовляет два основных типа запоминающих элементов ОЗУ: статические и динамические.

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

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

Наличие заряда в емкости определяет одно логическое состояние, отсутствие заряда - другое. Из-за утечки заряда хранимая информация разрушается, поэтому каждые несколько миллисекунд должна производиться ее регенерация.

Главное достоинство динамических элементов - бо’льшая плотность на кристалле. Кроме того, динамический ЗЭ не потребляет тока - за исключением тех относительно коротких промежутков времени, когда к нему обращаются. В итоге у динамического ЗЭ меньшая стоимость, меньшие габариты, бо’льшая надежность в сравнении со статическими ЗЭ.

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

Схемы регенерации являются, как правило, внешними по отношению к кристаллам памяти. Они повышают стоимость памяти, поэтому применение динамической памяти малых объемов (менее 4 - 8 кбайт) обычно не оправдано.

Разработаны псевдостатические ЗУ, у которых схемы регенерации реализованы на кристалле, благодаря чему пользователь может рассматривать их как статические.

Предварительное замечание к процедуре регенерации заключается в следующем. Возобновлять заряд надо только в том ЗЭ, где он имеется, постепенно уменьшаясь, в то время как отсутствие заряда - состояние самоподдерживающееся. Тем не менее для ускорения и для упрощения всего процесса регенерации подвергается любой ЗЭ, причем целой группой, не в одиночку. Обычно эта группа - строка при той или иной организации ЗУ (рис. 3.7). Выход каждого ЗЭ этой строки через свой усилитель, формирователь, соединяется со своим же входом, т.е. для этой строки в каждом столбце линия “ЧТ” через усилитель соединяется с линией “ЗП” того же столбца. После такого подключения усилителей выбираются ЗЭ данной строки и осуществляется собственно перезапись (регенерация).

Рис. 3.7. Упрощенная структурная схема регенерации

Количество строк динамического ЗУ и цикл памяти ЗЭ позволяют закончить весь процесс регенерации за несколько десятков микросекунд. Поскольку для большинства БИС динамических ЗУ регенерация должна выполняться через 1 - 2 миллисекунды, то на регенерацию памяти затрачивается не более 1 - 2% времени ее работы.

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

Постоянные ЗУ

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

Рис. 3.8. Фрагмент ПЗУ

Программируемые ПЗУ (ППЗУ). При изготовлении БИС все перемычки устанавливаются на место, так что, например, если ППЗУ имеет байтовую организацию, то по всем адресам пишутся 11111111 = FF16. Перемычки - плавкие. В ходе программирования на ППЗУ последовательно подаются адреса, а импульсами тока перемычки разрушаются в тех местах, где они не нужны. Если в ходе программирования была допущена ошибка, то она не может быть исправлена.

Стираемые, они же репрограммируемые, ППЗУ (СППЗУ) от ППЗУ существенно отличаются тем, что между строк и столбцов установлены не диоды с плавкими перемычками, а специальные МОП-транзисторы с изолированным затвором. После изготовления все МОП-транзисторы обладают очень большим сопротивлением - они закрыты.

Подачей импульса большой амплитуды выбранный МОП-транзистор переводится в проводящее состояние, которое он может сохранять и после 10 лет. Типичный цикл записи/проверочного считывания приведен на рис. 3.9.

Рис. 3.9. Цикл записи-считывания при изготовлении СППЗУ

Пятьдесят миллисекунд выбраны в качестве наихудшего случая, чтобы гарантировать переключение самого неудачного в этом смысле МОП-транзистора. Однако запись таким методом 32 К слов на одном кристалле требует более 25 мин (32×103 × 0.05 с). Фирма Intel разработала метод, сокращающий время примерно в пять раз. По этому методу запись с контрольным считыванием циклически повторяется в течении одномиллисекундных импульсов до тех пор, пока запись не станет правильной. После этого осуществляется дополнительная запись в течение малого времени; вся запись в итоге длится примерно 10 миллисекунд.

Для возвращения МОП-транзисторов в исходное закрытое состояние их надо подвергнуть длительному (10 - 30 мин) облучению ультрафиолетовым излучением. Групповое облучение всех МОП-транзисторов проводится через кварцевое окошко БИС. После этого БИС СППЗУ оказывается в исходном состоянии, и ее можно снова программировать.

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

ЭСППЗУ обеспечивает:

стирание и запись информации в рабочем состоянии устройства, смонтированного на плате;

пословное стирание и запись информации.

По сравнению со считыванием, которое длится примерно 250 наносекунд, стирание и запись осуществляются медленнее и требуют около 10 миллисекунд.

Надежность ЗУ

Отдельные БИС могут исправно работать десятилетия. Однако при объединении сотен и тысяч БИС среднее время между сбоями, которые возникают то в одном, то в другом кристалле, может составить всего несколько часов, что недопустимо, особенно для управляющих микроЭВМ.

В случае повреждения микросхемы возникающая ошибка становится неустранимой.

ЗЭ при этом либо “застревает” в одном положении, либо беспорядочно перебрасывается из одного состояния в другое. Если повреждены адресные линии, то ненадежными могут стать целый столбец или строка данных.

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

На физическом уровне состояние ЗЭ определяется наличием/отсутствием заряда в определенной области полупроводника. Проникновение массивной и заряженной альфа-частицы в такую область может привести к изменению ее заряда, что на деле обычно соответствует переходу 1 в 0. Возникает сбой, т.е. случайная ошибка, которую можно предвидеть, но нельзя избежать.

Наиболее простой (дешевый) способ борьбы сегодня с подобными ошибками - избыточное кодирование (коды Хемминга). Его аппаратной основой служат дополнительные разряды каждого хранимого слова. Их содержимое формируется автоматически (недоступно пользователю), наподобие разряда обычного контроля на “чет-нечет”. Используется это содержимое также автоматически, обеспечивая локализацию одиночной ошибки слова и ее коррекцию, так что такая ошибка не достигает выходного контакта. Пример соотношения объемов основной и дополнительной памяти на одном кристалле: 256К*1 бит (или 64К*4 бит) - основная память, 128 К бит - дополнительная.

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

Г л а в а 4. ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА ИНФОРМАЦИИ

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

На 1-м уровне процессор и память сопрягаются с контроллерами ВУ (ИК) через системный интерфейс (магистрали).

На 2-м уровне сопряжения ИК посредством шин связи с ВУ соединяются с соответствующими ВУ.

На первом уровне в общем случае можно выделить два основных способа использования системного интерфейса для организации обмена информации с ВУ: 1) с применением специальных команд ввода-вывода; 2) по аналогии с обращением к памяти.

В первом случае номер (адрес) ВУ передается по магистрали адреса МА, как и адрес ячейки памяти. Как номер ВУ информация на МА интерпретируется только при наличии специальных управляющих сигналов, т.е. сигналов на МУ, например, “Ввод из ВУ” или “Вывод в ВУ”.

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

Описанного простого набора сигналов достаточно для организации асинхронного программно-управляемого обмена данными с ВУ на 1-м уровне (процессор - ИК).

Операция ВЫВОД, инициируемая МП, выполняется следующим образом.

МП выставляет на МА адрес (номер) ВУ, на МД - значения разрядов выводимого слова данных. Далее МП единичным сигналом по линии “Вывод в ВУ” указывает тип операции (рис.4.1). Адресуемый ИК принимает данные, пересылает их в ВУ и единичным сигналом на линии “Готовность ВУ” сообщает процессору, что данные приняты ВУ и можно снять информацию с МА, МД и МУ.

Рис.4.1. Диаграмма операции ВЫВОД

Рис.4.2. Диаграмма операции ВВОД

Операция ВВОД начинается с того, что МП выставляет на МА адрес (номер) ВУ и единичным сигналом на шине “Ввод из ВУ” указывает тип операции (рис.4.2). По этому сигналу ИК считывает слово данных из ВУ, выставляет его на МД и единичным сигналом по линии “Готовность ВУ” сообщает об этом процессору. Приняв данные, МП снимает сигналы на МА и МУ.

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

Однако остается необходимость передавать в ВУ приказ на ввод/вывод информации. Для этого используются шины МУ “чтение” и “запись”, используемые обычно для работы с модулями памяти. Временные диаграммы операций ВВОД и ВЫВОД для этого случая полностью соответствуют тем, что приведены на рис.4.1 и 4.2.

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

Исключительное разнообразие ВУ микроЭВМ приводит к необходимости различать и отрабатывать в ИК большое число различных режимов работы. Организовать передачу каждого приказа ВУ по отдельной линии МУ системного интерфейса пратически невозможно по двум причинам:

1) при разработке МП трудно предвидеть все разнообразие применений микроЭВМ на его основе, а значит, и разнообразие используемых ВУ;

2) для каждого дополнительного управляющего сигнала потребуется отдельный вывод в БИС МП.

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

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

Наиболее просто эта задача решается путем выделения своего адреса каждому регистру ИК в системе адресов микроЭВМ.

Рассмотрим далее на примере КР580 (MicroBus) и “Э-60” (Q-Bus) оба случая организации системных магистралей с использованием специальных команд и по аналогии с обращением к памяти соответственно.

Т а б л и ц а 4.1

Управляющие сигналы MicroBus

Обозна-чение

Значение

Источник

Назначение

DBIN

Разрешение приема информации с МД

МП

МД D0, ... , D7 находится в режиме приема информации

W R

Признак выдачи информации на МД

МП

На МД МП выдана информация для передачи в память или ВУ

READY

Готовность данных к передаче

Память, ВУ

Информация в памяти или ВУ готова для передачи в МП. При отсутствии сигнала READY МП переходит в состояние ожидания (WAIT).

WAIT

Ожидание

МП

МП в ожидании, выходит из него при поступлении сигнала READY

INT

Запрос прерывания

ВУ

Запрос ВУ на обслуживание-прерывание текущей программы после выполнения очередной команды; запрос ВУ на обслуживание в состоянии ожидания МП во время останова.

INTE

Разрешение прерывания

МП

Разрешение, выдаваемое для ВУ на обмен информацией в режиме прерывания программы

HOLD

Захват шин

ВУ

Запрос ВУ на ПДП

HLDA

Подтверждение захвата шин

МП

Разрешение для ВУ на обмен в режиме ПДП. МА и МД (внутренние) МП отключаются от магистралей

SYNC

Синхронизация

МП

Начало машинного цикла подтверждает выдачу МП на МД слова состояния МП

RESET

Сброс

Внешние схемы управления

СЧК—>0, триггеры разрешения прерывания и захвата шин —>0

Вначале - MicroBus. На рис.4.3 и в табл.4.1 приведены и раскрыты сигналы МУ.

По младшим восьми шинам 16-разрядной МА передаются адреса ВУ; соответственно можно адресовать до 256 регистров при ВЫВОДЕ (OUT) и столько же при ВВОДЕ (IN).

Т актовые сигналы

HOLD

RESET

READY

INT

DSIN

WR

INTE

SYNC

WAIT

HLDA

Рис.4.3. Сигналы МУ КР580ИК80А

Сами команды ввода/вывода идентифицируются в слове состояния МП, выводимом по МД в специальный регистр или системный контроллер. В частности, в тех типах циклов, которые отвечают вводу/выводу, разряд Д4 этого слова равен 1 лишь при выводе, Д6 - лишь при вводе.

В целом MicroBus позволяет реализовать два режима обмена с ИК ВУ: программно-управляемый асинхронный и по прерыванию программы; режим ПДП.

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

Q-Bus. Здесь для адресации ВУ используется часть адресного пространства, о чем ранее уже шла речь. Можно адресовать до 4К регистров ВУ.

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

При этом используется следующий набор управляющих сигналов.

Синхронизация активного устройства (СИА). Источник - активное устройство. Передний фронт этого сигнала указывает, что на МА/МД активным устройством выставлены адрес ВУ или данные. СИА = 1 в течении всего цикла обмена.

Синхронизация пассивного устройства (СИП). Источник - пассивное устройство. Является ответом на сигналы активного устройства ВВОД или ВЫВОД. С помощью этого сигнала активное устройство извещается, что данные приняты с МА/МД при ВЫВОДЕ, или данные установлены пассивным устройством там же при ВВОДЕ.

ВВОД. Источник - активное устройство. Вырабатывается в течении СИА. Означает, что ведется ввод в активное устройство, готовое принять данные.

ВЫВОД. Источник - активное устройство. Это означает, что на МА/МД им выставлены данные. Пассивное устройство принимает данные, в подтверждение чего должно выработать сигнал СИП.

БАЙТ. Источник - активное устройство. Вырабатывается только при ВЫВОДЕ. Активное устройство выводит один байт информации по шинам ДА00...ДА07.

ВУ. Источник - активное устройство. Вырабатывается в том случае, когда на МА/МД установлен адрес, относящийся к старшим 4К адресов (с 160000 В по 177776 В), т.е. к тому адресному пространству, что соответствует регистрам ВУ. Введение этого сигнала позволяет сократить затраты оборудования в ИК на селекцию адресов, передаваемые по МА/МД.

Эти шесть сигналов обеспечивают в рамках Q-Bus реализацию асинхронного программно-управляемого обмена данными с ВУ.

Сигналы для обмена по прерыванию и в режиме МДП сведены в табл.4.2.

Т а б л и ц а 4.2

Сигналы Q-Bus, управляющие режимами обмена с ВУ

Обозна-чение

Значение

Источник

Назначение

ТПТ

Требование прерывания

ВУ

Информирует МП о том, что ВУ готово к обмену данными. Вызывает прерывание программы после выполнения очередной команды

ППР

Предоставление прерывания

МП

Извещает ВУ, что прерывание разрешено. Линия ППР проходит последовательно через все ВУ, обеспечивая приоритетное обслуживание запросов на прерывание

ТПД

Требование прямого доступа к памяти

ВУ

Информирует МП о том, что ВУ требует ПДП

ППД

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

МП

Разрешение для ВУ на обмен в режиме ПДП. МП приостанавливает выполнение команды после завершения текущего цикла обмена. Линия ППД проходит через ВУ аналогично линиям ППР

Продолжение табл. 4.2

Обозначение

Значение

Источник

Назначение

ПВ

Подтверждение

выбора

ВУ

Вырабатывается в ответ на сигнал ППД и подтверждает, что ВУ ведёт обмен в режиме ПДП

ПРТ

Требование прерывания по внешнему событию

Аппаратный таймер, ВУ

Обычно используется для передачи в МП сигналов аппаратного таймера. Более приоритетен, чем ТПР

Контроллеры внешних устройств

Структурная и функциональная организация контроллеров ВУ (ИК ) в основном определяется:

  • форматами данных и режимами работы конкретных ВУ;

  • типом системного интерфейса микроЭВМ.

Влияние первого факта очевидно - нерационально было бы создавать ИК универсального типа, обеспечивающего подключение таких разных ВУ, как например, цифровых индикаторов и НГМД.

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

  • связь с ВУ по стандартному параллельному (ИРПР) каналу передачи данных (ПД);

  • связь с ВУ по стандартному последовательному (ИРПС) каналу ПД;

  • преобразование “аналог - код” с заданной точностью;

  • преобразование “код - аналог” в заданном диапазоне изменения аналоговых величин.

Второй фактор влияет в основном на сложность схем распознавания алресов ВУ. Наиболее просты схемы в случае микроЭВМ с отдельным интерфейсом ввода/вывода (рис.4.4). Более сложны упоминавшиеся ранее схемы распознавания адресов и разделения адресов и данных, передаваемых по единым шинам.

Расмотрим блок-схему типичного ИК, обеспечивающего программно-управляемый обмен с ВУ с помощью операций ВВОД и ВЫВОД, временные диаграммы которых приведены на рис.4.1 и 4.2.

МА Про- МА ввод/вывод

К памяти МД цессор МД ввод/вывод

МУ МУ ввод/вывод

Рис.4.4 Отдельный интерфейс ввода-вывода

Основу ИК ВУ составляют несколько регистров. Каждый регистр имеет свой адрес, и нередко их называют портами ввода/вывода (рис.4.5).

или МА/МД при мультиплексировании

Приемо- ВУ-состояние Регистры

МД пере- контроллера

датчики или входные Связь

шин данные

данных с ВУ

Приказ для ВУ

или выходные

“Ввод” данные

Системный

интерфейс “Вывод” Управ-

ление 0

“Готов- Управление обменом

ностьВУ” с регистрами ИК

Прием-

МА ники

шин

адреса

При мультиплексировании МА/МД

отсутствует

Рис.4.5. Блок-схема контроллера ВУ

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

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

Регистр управления работает только в режиме записи и служит для приёма из микроЭВМ приказов для ВУ.

В ИК для простых ВУ (клавиатура, перфоратор) удается обычно совместить в один регистр регистры состояния/управления, что позволяет сократить количество портов ИК, т.е. количество адресов для данного ВУ.

Логика управления ИК ВУ выполняет селекцию портов, а также приём, обработку и формирование управляющих сигналов.

Приёмопередатчики служат для физического подключения электронных схем ИК к соответствующим магистралям.

В настоящее время в практику широко внедряются программируемые контроллеры ВУ. Настройка таких ИК на требуемый режим прооизводится программным путём с помощью специальных команд (управляющих слов), передаваемых из процессора в ИК перед началом обмена.

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

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

В современных микроЭВМ зачастую трудно провести границу между интерфейсом ввода/вывода и ИК ВУ. Иногда это проявляется даже в смешении самих терминов.

Нередко ИК конструктивно реализуется на плате процессора либо непосредственно в ВУ. Это создаёт у пользователя иллюзию отсутствия ИК и несогласованности в структурных и функциональных схемах микроЭВМ.

Тем не менее в любой микроЭВМ всегда можно достаточно чётко выделить компоненты системы ввода/вывода, что необходимо как при изучении микроЭВМ, так и при их использовании в различных системах.

Параллельная передача данных. Простой контроллер

параллельного вывода

Здесь в шине связи с ВУ используется всего два управляющих сигнала “Данные приняты” и “Выходные данные готовы”.

С этими сигналами в ИК используется одноразрядный адресуемый регистр состояния и управления А2 (рис.4.6.)

Регистр данных А1

МД Приёмо- 0

пере- 1

датчики “0”: ВУ готово ×

МД к обмену; ×

вводится вМП ×

в цикле “ввода” × Данные

при реализации × для ВУ

программы асин- 7 ВУ

хронного обмена

Ввод

Вывод Логика Запись в регистр А1

Готов- управ- “0”: Данные “1” выходные

ность ВУ ления · ·

ИК в ВУ приняты данные готовы

Уст.”1” 1/0

Сброс

МА Приёмник

МА Выходные данные Данные приняты

готовы

Регистр состояния и управления А2

Рис.4.6. Простой контроллер параллельного вывода

Алгоритм асинхронного обмена в данном случае прост.

фрагмент программы передачи (вывода) байта содержит три команды “Э-60”:

1) М1: TST@#А2 “проверка содержимого регистра А2”,т.е. готовности ВУ к приёму данных. При выполнении команды процессор по МА передаёт в ИК адресА2, сопровождая её сигналом “Ввод”. Логика управления ИК, реагируя на эти сигналы, обеспечивает передачу в МП содержимого регистра А2 по одной из шин МД, например, это может быть старший (15-й) разряд МД;

2) ВМ1 М1 - “переход, если минус”. МП проверяет значение старшего знакового разряда МД,т.е. принятого слова данных. Единица в старшем разряде, т.е. “-”, указывает на неготовность ВУ к приёму данных и, следовательно, на необходимость возврата к проверке содержимого А2. Т.е. МП, выполняя две первых команды, ожидает готовности ВУ к приёму данных. Нуль в старшем разряде подтверждает готовность ВУ и, следовательно, возможность передачи данных;

3) MOV R1, @#А1 - “пересылка данных из регистра R1 МП в регистр данных контроллера А1”. МП по МА передаёт в ИК адрес А1, а по МД - байт данных, сопровождая его сигналом “Вывод”. Логика управления ИК обеспечивает запись байта с МД в А1 и установку в “1” регистра А2, формируя тем самым сигнал для ВУ “Выходные данные готовы”. ВУ принимает байт и сигналом “Данные приняты” сбрасывает А2 в “0”. ИК по этому сигналу формирует и передаёт в МП сигнал “Готовность ВУ”, который в данном случае извещает МП о приёмке байта ВУ и завершает цикл ввода данных в команде пересылки.

Аналогичным образом происходит взаимодействие ИК параллельного ввода с МП при передаче байта данных из ВУ. Такой контроллер ввода имеет структуру, в целом схожую с приведённой на рис.4.6.

Как следует из расмотренных примеров, для приёма или передачи одного байта МП необходимо выполнить несколько команд. В рамках взаимодействующей пары МК-ИК именно время их выполнения определяет скорость такого обмена; время срабатывания электроники ИК невелико по сравнению со временем выполнения даже одной команды МП, и его можно не учитывать. Скорость при параллельном обмене достигает сотен кбайт/с и на практике ограничивается только быстродействием ВУ. Примерами являются параллельные интерфейсы (контроллеры) И2, И4 для “Э-60” и программируемый параллельный интерфейс КР580ВВ55.

Последовательная передача данных

По сравнению с ИК для параллельного обмена использование последовательных линий связи для обмена данными с ВУ возлагает на ИК дополнительные функции:

  • преобразование из параллельного формата в последовательный и обратно;

  • реализация синхронного или асинхронного режима работы.

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

Вначале Счк mod 9 (рис.4.7) находится в нулевом (исходном) состоянии; по линии от ВУ единичный сигнал (состояние покоя) поступает на 2-ой вход “И”, в итоге делитель на 16/8 удерживается в исходном состоянии. Рассматриваемая здесь кодировка асинхронной посылки приведена на рис.4.8.

Когда на линии появится бит “старт” (логический нуль), ГТИ получит возможность увеличивать содержимое делителя. Длительность одного бита принято делить на несколько частей, обычно на 16. Для выделения и опознания состояния линии в середине бита для предполагаемого стартового бита первый разотсчитываем не 16, а 8 тактовых импульсов. Этим импульсом:

  • записываем стартовый бит в сдвиговый регистр,

  • увеличиваем на 1 Счк mod 9 (счётчик сдвигов).

Заметим, что если до оформления 8-го импульса на входной от ВУ линии опять возникла логическая “1”, т.е. на входе был не стартовый бит, а, скажем, помеха, то, поскольку на Счк mod 9 ещё исходное состояние, эта логическая “1” тут же сбросит делитель опять в исходное состояние.

Приёмо-

Буферный “1”: ВУ пере- МД

регистр А1 Чтение готов к датчики

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]