Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 58
Текст из файла (страница 58)
Выбор каналов производится случайным образом либо это один из шагов некоторой заранее определенной ~последовательности? 6. Какова длина слова при вводе-выводе данных? Требования, предъявляемые к техническим средствам, зависят и от конкретно выбранной микро-ЭВМ. Поэтому необходимо произвести оценку имеющихся .в наличии машин. В стремлении минимизировать стоимость технических средств, проектировщики часто упускают из виду стоимость программного обеспечения, которое можно значительно упростить при увеличении доли технических средств. Для оценки подобной ситуации полезно рас- 344 Глава 8 Рис. В.4.
Блок-схема эталонной программы печати символа на пышущей ма- шинке. смотреть типичную операцию ввода-вывода и составить блок-схему последовательности действий, необходимых для выполнения этой операции. Далее по составленной блок-схеме можно написать программы для различных микро-ЭВМ. Подобные программы, используемые для сравнения отдельных машин, называются эталонасыми. Эталонные программы весьма полезны при сравнении вы. числительных возможностей наборов.
команд различных микропроцессоров. Для некоторых применений внутренняя обработка Методология лроеитироваиия 345 данных играет большую роль, чем операции ввода-вывода. В этом случае эталонная программа должна включать наиболее часто встречающиеся или наиболее критичные (с точки зрения временных ограничений) выполняемые операции. Чтобы проиллюстрировать указанный подход, рассмотрим работу интерфейса по управлению печатью одного символа на пишущей машинке Бе1ес!Нс. Предположим, что символ считывается с калькулятора в коде АБСП, далее осуществляется его преобразование в код Зе!ес!г!с и символ запоминается в сверхоперативной памяти микропроцессора. На рис. 8.4 приведена блок-схема программы, необходимой для выполнения рассматриваемой передачи символа.
Вначале следует проверить состояние, пишущей машинки. Если последняя находится в состоянии «Готово», необходимо выяснить положение печатающей головки (верхний либо нижний регистр) 'и сравнить его с требуемым,для заданного символа. В случае несовпадения следует возбудить соответствующий магнит, чтобы привести головку в нужное положение. Этот магнит (ВР или НР) должен быть возбужден в течение проверки состояния «Занято».
При достижении такого состояния магнит отпускается н происходит считывание сигнала «Готово». При появлении последнего на машинку подается 7-разрядный код Бе1ес!Нс символа, который возбуждает соответствующие магниты выбора символа. Магниты отпускаются при считывании состояния «Занято», и интерфейс начинает следующую операцию лишь после поступления сигнала «Готово».
Составим эталонную программу для машины 1п!е! МСЗ-40 (равд. 7.3). ЭТАЛОННАЯ ПРОГРАММА ДЛЯ МСБ40 (ПРИМЕР ад) На рис. 8.5 приведена структурная схема интерфейса на основе компонентов системы МСЗ-40. В схеме интерфейса 4289 имеются четырнадцать 4-разрядных портов ввода-вывода, а также обеспечено мультиплексирование, так что разработчик программ может использовать ППЗУ типа 4702А. Последнее устройство является перейрограммируемым и имеет ощутимые преимущества в процессе разработки системы перед ПЗУ с масочным программированием либо ППЗУ с плавкими связями. По завершении разработки системы желательна замена устройств 4289 и 4702А (1702А) стандартным ПЗУ (4001) и универсальными схемами интерфейса ввода-вывода 4207/09/11.
Дешифратор сигналов управления служит для дешифрования сигналов, поступающих по линиям выбора кристалла (Сг — Сг) иэ устройства 4289 с целью отпирания ППЗУ ли~бо соответствующего порта ввода-вывода. Для каждого из этих портов имеются фикса- 346 Глава 8 в и ~1 йиелевал а' д уеии биение Шина уиуиулояги 5е1еееете ниаеиулняигмн ууеуи -уеаГеуи и гвеямя»ме еилгуаеи ииелиуияегееи лгишиияи Рис. 8.5.
Структурная схеме интерфейсе, построенного с использованием компо- нентов МС8-40. торы, однако они не всегда бывают нужны; этот вопрос решается на стадии проектирования. На рис. 8.6 показаны технические средства, используемые эталонной программой. Для этой программы необходимы трн порта вывода и один ввода. Назначение соответствующих разрядов указано на рис.
8.6. Предполагается, что сигналы «Готово» (Г) и «Занято» (3) поступают в порт О. Генерирование этих сигналов при помощи сигналов, подаваемых на выводы устройства Яе!ес1г1с, осуществляется с использованием Внешних логических схем либо программным путем. Методология яроектировокия 347 иед Ветвериа вр ир саетдита г и врир л сесимяиае Рнс. 8.6. Структурная схема ввода-вывода для эталонной программы. ; Чтение порта ввода О. ; Сдвиг разряда О в разряд переноса. ЯСИ ОАН. ВЛЕТЯТ ; Переход, если в разряде переноса нуль. ВВ1. О Данная подпрограмма осуществляет повторное считывание сигналов порта ввода до тех пор, пока на линию «Готово» не поступит сигнал 1. Подобную же подпрограмму можно написать для проверки состояния «Занято»: ВКАТЯТ: ЯРК ; Чтение порта ввода О.
ГсАК ГсАГс Сдвиг разряда 1 в разряд переноса. Вт'ТВТ; Переход, если в разряде переноса нуль. ДСХ ОАН, ВВ1. О Проверка состояний шин «Готово» и «Занято» производится периодически, что предполагает использование подпрограмм йроверки этих входов. Подпрограмма проверки состояния «Готово» представлена ниже. В этой подпрограмме принято, что команда ЯКС— адресация порта Π— выполнена: ЛЕТЯТ: ЮГт ГсАГс 348 Глава 3 Используя этн подпрограммы, можно написать программу, реллнзующую блок-схему рис.
8.4 (использование внутренних регистров показано на рнс. 8.10): ;ПРОВЕРИТЬ СОСТОЯНИЕ ГОТОВО И ОПРЕДЕЛИТЬ ПОЛОЖЕНИЕ ГОЛОВКИ 'Р1М4,00Н; Загрузить 00 в четвертую пару внутренних регистров. ЗКС 4; Выбрать порт ввода О. .,)МЗ КЕТЗТ; Вызов подпрограммы проверки состояння «Готово». 'ЯРК ; Чтение состояния печатающей головки. Аг)б ;В регистре 6 содержится требуемое состояние головки. ; В случае ВР содержимое разряда 2 равно 1. ; В случае НР содержимое разряда 3 равно 1. ; Выполнить И над текущим и-требуемым состояниями головки. .)СХ ОСН,; Переход прн совпадении. ЬАЗТ ; Прн несовпадении адресовать магниты соответственно верхнего нлн нижнего регистра. НМ 8, 40Н; ЖС 8; Адресовать порт 4.
Ь11 б; Выбрать требуемое состояние головки. КАЬ ,)СМ 2, 1)РЕК; Переход на верхний регистр. "„Загрузить в аккумулятор соответствующий бит: ; 1 — для нижнего, 0 — для верхнего регистра. Ь)лМ-2; Загрузить данные для,нижнего регистра. Л)о) ЗН1РТ; 1)РЕК: ЬОМ 1; Установить бит 0 для верхнего репнстра. ЗН1РТ: %ЯК; Возбудить соответствующий магнит. ЗКС 4; Выбрать порт О.
,)МЗ В т'ТЗТ; Проверить .состояние «Занято». ЖС 8; Адресовать порт 4. 1Л)М 0 1чйй; Отпустить магниты. ЗГИ 4; Выбрать порт 0; .)МБ КЕТБТ; Проверить состояние «Готово». Методология проектирования 349 ; В регистре 3 и регистре 2 (разряды 0 — 2) содержится код Бе!ес. 1Пс печатаемого символа. 10, 20Н 10 3 Выбрать порт 2.
; Загрузить 4 разряда кода. 10 1О 2 ; Выбрать портО. ; Проверить состояние «Занято». 4 ВУТЯТ 10, 20Н 10 О 10 10 ; Отпустить оставшиеся магниты. Эту же процедуру можно использовать при написании эталонных программ для ряда микропроцессоров. Такие программы применяются для оценки степени сложности программирования выполняемых системой операций, времени их реализации, потребности в памяти и требований к техническим средствам интерфейса. После написания программ для всех микро-ЭВМ, которые можно использовать, выбирают наиболее подходящую из них и переходят к проектированию системы.
Прн выборке компонентов системы необходимо учесть целый ряд факторов 131: 1) длину слова; 2) емкость памяти и стека адреса возврата; 3) тип арифметических операций; 4) требования к интерфейсу; 5) возможность организации прерываний; 6) наличие ПДП; 7) требования к источнику питания; 8) необходимое количество отдельных блоков в системе; 1.АЗТ . "Р1М ЖС Ж ЖКК 1ИС ЖС Ыл %ЯК Я1С ЯМБ Р1М ЬКС 1Л)М Юйй. 1ХС ЖС ЖКК ; Выбрать порт 3. ; Загрузить оставшиеся разряды кода. Отпустить магниты выборки символа. 350 Глава 3 9) стоимость различных компонентов; 10) совместимость с другими микропроцессорами.