Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 86; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.108.69 (0.007 с.) |