Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Прямой доступ в память




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

Рассмотрим вариант программно-управляемого обмена между памятью и внешним устройством в МПС на базе МП i8080 [13], Пусть необходимо передать массив данных длиной L, начиная с адреса ADR на ВУ с адресом AIO. Положим, что начальный адрес массива загружен в регистровую пару HL, а длина массива — в регистр С. Тогда фрагмент программы обмена может иметь вид, представленный в табл. 6.2.

Таблица 6.2. Фрагмент программы обмена

Мнемокод Комментарий Количество МЦ
LM: MOV А, М Чтение байта в Акк  
OUT AIO Выдача байта на ВУ  
INX Н Модификация адреса  
DCRC Модификация счетчика  
JNZ LM Переход, если массив не исчерпан  
Всего машинных циклов: 10

Таким образом, для того чтобы в рамках процедуры копирования массива данных переслать из памяти в ВУ один байт данных, потребуется десять машинных циклов. Процессоры с более совершенной системой команд (например, x86) могут использовать для этой цели меньшее число МЦ, но все равно их будет более одного.

Управляя обменом, микропроцессор "ведет" два счетчика — адресов массива и количества переданных байтов и формирует на магистраль сигналы управления. Если снабдить ВУ аппаратными счетчиками и схемой формирования управляющих сигналов (т. н. "канал прямого доступа в память" — ЦДЛ), то передачу одного байта (слова) можно осуществить за один МЦ без участия процессора. Необходимо лишь на время передачи данных под управлением канала ПДП блокировать работу процессора, отключив его от системной шины. Для этого служит вход захвата шины HLD. Если подать на него активный уровень, то МП по окончании текущего МЦ, безусловно, перейдет в режим ожидания, переведя все свои выходные линии, кроме HLDA, в высокоимпедансное состояние, а выход HLDA — в состояние логической 1. Выходной сигнал HLDA используется для отключения процессорного модуля от системной шины — перевода шинных формирователей, включенных между локальной и системной шиной, в высокоимпедансное состояние.

(Страница175)

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

ГЛАВА 7




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.