Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ввод/вывод с проверкой готовностиСодержание книги
Поиск на нашем сайте Схема организации операции ввода/вывода с проверкой готовности представлена на рис. 5.2. Основными блоками схемы являются процессор, оперативная память и периферийное устройство. Для простоты рассматривается только операция ввода – передача данных от периферийного устройства (например, датчика температуры) в оперативную память. В схеме периферийного устройства выделены два регистра: данных (RD) и управления (RU). Регистр RD используется в качествепочтового ящика для промежуточной фиксации текущего значения температуры. Регистр RUиспользуется в качестве регистра управления. В этом регистре используется только 3 разряда для фиксации сигналов управления: · «Ошибка» Ош – 15-й разряд, · «Готовность» Гот – 7-й разряд, · «Пуск» П – 0-й разряд.
Рис. 5.2. Схема организации ввода (вывода) с проверкой готовности
Стратегия метода передачи данных с проверкой готовности заключается в следующем. Устройство может иметь два состояния: включенное и выключенное, в зависимости от значения бита "Пуск" регистра управления. Включение и выключение устройства производится командой программы (драйвера) процессора занесением в младший разряд регистра RD единицы или нуля. Сигнал «Готовность» является сигналом (светофором) разделения доступности регистра данных RD со стороны процессора и периферийного устройства. Эта стратегия разделения доступности (метод стробирования и квитирования) в ЭВМ является одним из основных методов согласования работы как программ, так и аппаратуры в разных сочетаниях. Сигнал "Ошибка" используется для передачи процессору информации об "особых" ситуациях в устройстве, требующих вмешательства программ операционной системы. Это может быть сигналом о переполнении выходного буфера данных, средств измерения или фиксации результатов. Входными параметрами программы ввода/вывода являются: · Код операции (прочитать/записать) Для рассматриваемого случая (датчик температуры) корректной является операция чтения. · Начальный адрес массива чтения. Для передачи данных с единственного датчика этот адрес не используется. · Начальный адрес области ввода в оперативной памяти. · Количество передаваемых данных, например, в байтах. Блок схема программы представлена на рис. 5.3. В общем случае, в программе ввода/вывода, кроме основной функции (синхронизации вода/вывода) предусматривается ряд дополнительных, например, выявления и обработки ряда особых или внештатных ситуаций. В данном примере рассматриваются три таких функции: · обработки непредусмотренного кода, например команд записи устройству чтения, · обработки сообщений о сбоях от периферийного устройства, например, при выявлении бита "Ошибка" в регистре управления (15-й бит в регистре RU). · обработки ошибки тайм-аута. Ошибка тайм-аута – это превышение максимального периода ожидания установки периферийным устройством бита готовности (7-й бит регистра управления RU). В качестве средства программирования выберем ассемблер семейства PDP-11. Для передачи входных параметров определим четыре РОНа: R1 – код операции W/R, R2 – начальный адрес (Аm) массива данных в ОП, R3 – количество слов в массиве, R4 – значение тайм-аута.
Рис.5.3. Блок схема программы ввода данных с проверкой готовности.
Содержание программы: START СМ P R 1, # read;проверка корректности кода операции JNQ M 4 ;В случае несовпадения кодов – переход на программу ;сообщения об ошибке и выход из программы МО: MOV R 4, R 1 ;копирование значения тайм-аута в освободившийся РОН MOV #1, @# RU;включение устройства в работу занесением единицы в ;младший разряд RU M1: TSTB @#RU ;проверка бита готовности в регистре RU JPL M 2 ;данные не готовы, переход на продвижение счетчика (М2). TST @# RU ; проверка бита сбоя (7 "знаковый" бит в регистре RU ) JPL M 7 ;бит сбоя определен, переход на блок сообщения об ;ошибке (М7) M 2: DEC R 1 ;модификация регистра тайм-аута (R1=R1-1) JNE M 1 ;пока счетчик тайм-аута не нулевой, передача на повтор;проверки готовности JMP M 6 ;переход на обработку ошибки тайм-аута М3: MOV @# RD, (R 2)+;пересылка данных из RD в ОП по адресу, заданному ;содержимым регистра R1, модификация адреса. MOV #1, @# RU;сброс бита готовности в регистре RU DEC R 3, ;продвижение счетчика слов (R3) JNQ M 0 ;пока содержимое не равно нулю – повтор цикла передачи CLR @#RU ;выключение устройства END START Это самый простой по конструкции контроллер и самый старый способ организации ввода вывода. Для реализации этой схемы ввода/вывода не обязательно наличие системы прерывания. Но это не значит, что он несовместим со сложными операционными системами и многопрограммными режимами работы. В многопрограммных режимах программа ввода/вывода может прерываться, как и остальные программы. Основным его недостатком является недостаточно эффективное использование процессора. Но его можно эффективно использовать в микроконтроллерных системах управления. Вопросы для самопроверки: 1. Назначение регистров RD и RU. 2. Назначение и источник бита "Ошибка" в регистре RU. 3. Назначение и источник бита "Готовность" в регистре RU. 4. Входные параметры программы ввода/вывода с проверкой готовности. 5. Стратегия разделения доступности (метод стробирования и квитирования). 6. Ситуация ошибки тайм-аута.
|
||
|
Последнее изменение этой страницы: 2021-04-04; просмотров: 152; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |