Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 55
Текст из файла (страница 55)
6.6 это обеспечивается кодом 1,...1, = 001. Для передачи содержимого регистра К,н на выход АЛУ следует выбрать одну из кодовых комбинаций, соответствующих операции Пропуск по табл. 6.4. Например, комбинацией 1,...1, = О!1 и 1,...1о = !00 осуществляется Пропуск содержимого регистра РЗУ, адресуемого содержимым адресного поля А. Поэтому в поле А заносим адрес регистра Вес (А = !100). Содержимое поля В не имеет значения. Микрокоманда МК2. В БМУ выполняется условный переход по содержимому РМК (т.
е. по содержимому поля адреса ветвления в МК). В поле адреса ветвления МК должен быть установлен адрес перехода 026. В поле управления ВУЗ заносится код операции Условный переход (по табл. 6.8 1,...1„= 001!), а мультиплексор кода состояния и инвертор признака должны быть настроены так, чтобы на вход ТБТ ВУЗ подавалось бы значение 0 при переходе по приведенному в МК адресу ветвления.
Для этого в соответствии с табл. 6.11 необходимо в поле управления мультиплексором кода состояния установить значение 010 и в поле управления инвертором значение !. В операционном устройстве запрещается запись в РЗУ установкой 1,...1, == 001. При этом содержимое остальных полей МК ОУ не имеет значения. Макрокоманда МКЗ.
МК БМУ предусматривает безусловный переход по содержимому поля адреса ветвления в РМК, для чего в этом поле устанавливается адрес перехода 027, а в поле кода управления ВУЗ 1,...1о = — 11!1. В МК ОУ устанавливается код 1,...1, = О!1 записи информации с выхода АЛУ в регистр РЗУ по адресу !!00, содержащемуся в поле В. В поле А †адр 0101 (адрес регистра йв). По табл. 6.4 операции сложения соответствует 1,...1в ††- 000 и 1,... ...1, =- 001 при С, = О. Микрокоманда МК4. В МК ОУ предусматривается запись в регистр К„(В = 1100) информации с выхода АЛУ (1,...1, == 011), а в АЛУ вЂ” выполнение операции  — А (А =- 0100 и по табл.
6.4 1о" )з =- 001, 1,...1о = 001, Со — — 1). ЦИКЛИЧЕСКАЯ МИКРОПРОГРАММА Пример 6.3. Рассмотрим выполнение операции кодового умножения (умножения чисел без знака). Пусть в регистре К, содержится множимое, в регистре К, — множитель, в регистре К, — число разрядов множителя. В регистре К, будем формировать группу старших разрядов произведения, группу младших разрядов произведения будем накапливать в регистре Я операционного устройства. Операцию будем выполнять следующим способом. Множитель из регистра К, передается в регистр Я, после чего устанавливается в исходное нулевое состояние регистр К„содержимое регистра Я сдвигается вправо.
Затем циклически повторяются следующие действия. Если выдвинутое из регистра Я значение очередного разряда множителя равно 1, то к содержимому регистра К, прибавляется множимое, которое берется из регистра К,, и затем сдвигается вправо содержимое регистров К, и Я, объединенных в пару регистров таким образом, чтобы выдвигаемое из регистра К, содержимое младшего разряда вдвигалось в освобождающийся старший разряд регистра Я. Если значение выдвигаемого из регистра Я разряда множителя равно нулю, то осуществляется сдвиг без выполнения суммирования. При выполнении суммирования может возникнуть перенос Со из старшего разряда.
Этот перенос при выполнении сдвига должен быть вдвинут в освобождающийся старший разряд регистра К,. Среди приведенных на рис. 6.5, б видов нет сдвига, удовлетворяющего описанным выше требованиям. Предусмотрев дополнительный (третий) разряд в управлении мультиплексорами сдвига, введем требуемый вид сдвига (рис. 6.19), обозначим этот вид сдвига СП1 и соответствующий ему код управления мультиплексором сдвига примем 100.
На рис. 6.20, а приведена схема алгоритма решения данной задачи, Микрокоманда МК! в ОУ пересылает содержимое регистра К, в регистр Я. Микрокоманда МК2 устанавливает на выходе АЛУ нулевое значение и осуществляет сдвиг вида СП! содержимого пары регистров К, и О. Микрокоманда МКЗ выполняет условный переход по признаку РЯо (значению выдвигаемого из регистра Я младшего разряда содержимого при выполнении предыдущей МК).
При значении признака РЯо =- 1 к содержимому К, прибавляется оогиоео множимое из регистра К, и результат согзз ая ю~ а мг вместно с содержимым регистра Я сдвигагистры К, и Я. При значении признака Р!"!о — 0 микрокоманда МК5 выполняет Ряс. 6.19. Схома саоиго лишь сдвиг содержимого пары регистров 3!4 Лдрес рд Маараеамаада ~не дгд МК7 р7кг дг4 дгд мка бгд лткд агу лткд Пгд лгку Пгя Прадоллгание Рис, 6.20.
Операция кодовою уииоитеиия: а7 схема алгоритма; б) размещение макрокоманд в тараканищей намета МК БМУ мк оу Повсненнн Мульти. нлексор сленга Мул ьтн. нлексор условна К„Я, Микрокоманда МК6 вычитает единицу из содержимого регистра К в, используемого в качестве счетчика числа повторений цикла и затем микрокоманда МК7 выполняет условный переход по признаку г. (Признаку нулевого результата). При 2 == 0 производится передача управления МКЗ и происходит повторение цикла. На рис.
6.20, б приведено размещение микрокоманд в управляющей памяти и показаны переходы в процессе исполнения микропрограммы. В табл. 6.14 приведена микропрограмма рассматриваемой операции умножения. Таблица 6.И Из схемы алгоритма на рис. 6.20, а видно, что в каждом повторении цикла выполняются четыре микрокоманды. Если используется внешний счетчик циклов, то отпадает необходимость в микрокомандах МК6 и МК7 и длительность каждого повторения цикла при этом составляет лишь длительность выполнения двух микрокоманд, т.
е. длительность двух тактовых интервалов. Отсюда следует, что в микропроцессорном устройстве, построенном иа МПК серии КР1804, может быть достигнуто высокое быстродействие. СРЕДСТВА ОТЛАДКИ ПРОГРАММ. ДИАГНОСТИКА МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ 7.1. ВВЕДЕНИЕ Процесс разработки микропроцессорных устройств (МПУ) можно представить последовательностью этапов, показанных на рис. 7.!. На этапе составления технического задания формулируются требования к МПУ и решаемым им задачам. Затем на этапе разработки возможно одновременное выполнение работ по разработке программных и аппаратных средств. В процессе разработки программных средств производится формализация решаемых МПУ задач и построение алгоритма решения; затем составляется программа путем описания алгоритма с использованием некоторого языка программирования (языка кодовых комбинаций, языка Ассемблера и др.).
Составленная программа вероятэтап пазпайатпи пйпз этап атппппи 1 халу Рис. 7.!. Процесс разработки микроироцессориых устройств 316 ней всего будет содержать ошибки (их, как правило, не удается избежать и опытным разработчикам программных средств), требуется выявить и устранить ошибки, т. е.
отладить программу. Тем временем разработчики аппаратных средств могут производить разработку схемы МПУ, определив состав блоков, структурную и принципиальную схемы МПУ, по построенной принципиальной схеме производят сборку макета и его испытание для выявления и устранения неисправностей, т. е. осуществляется отладка схемы. Разумеется, нельзя рассматривать процессы разработки программных и аппаратных средств совершенно независимыми. В выборе структурной схемы МПУ должны принимать участие разработчики программных средств, а в ходе разработки программных средств может выявиться необходимость во внесении изменений в схему МПУ.
Отладка порознь программных и аппаратных средств МПУ не всегда обеспечивает их правильное совместное функционирование. На этапе отладки МПУ производится проверка работы и выявление неисправностей в комплексе. При этом в память макета МПУ вводится полученная на этапе разработки программа и воспроизводится процесс решения задач, для выполнения которых предназначено МПУ, во всех (либо в большинстве) возможных ситуаций, которые могут иметь место на практике.
При этом могут обнаружиться погрешности как в программных, так и в аппаратных средствах МПУ, оставшиеся невыявленными на этапе разработки. Далее окончательно отлаженное МПУ поступает в производство, где его функционирование также должно подвергаться проверке. Из сказанного очевидно, что в проектировании (а также в производстве и эксплуатации) МПУ значительное место занимают процессы отладки. Пользуются специальными отладочными средствами, облегчающими контроль правильности функционирования МПУ (либо отдельных его частей) и в случае неверного функционирования отыскание неисправностей.
Ниже рассматриваются принципы построения таких средств. Причем использование отдельных видов средств эффективно на определенных этапах разработки МПУ. Средства системного программного обеспечения используются для трансляции программы на язык кодовых комбинаций и ее отладки. С помощью логических анализаторов можно указать место неисправности с точностью до блока.
Для выявления неисправного элемента (микросхемы) в блоке удобно применять сигнатурный анализатор. 7.2. СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Программа, которая пишется разработчиком МПУ с использованием языка Ассемблера или другого языка программирования (кроме языка кодовых комбинаций), называется исходной. С ней затем проводятся следующие действия: редактирование с внесением исправлений, необходимость в которых выявляется при чтении программы программистом; трансляция — перевод программы с языка программирования на язык кодовых комбинаций, в результате трансляции образуется объекепная программа; отладка, в результате которой получается скорректированная и проверенная рабочая программа. Полученная таким образом окончательная программа затем записывается в память МПУ, определяя его функционирование. Для выполнения всей этой работы, связанной с получением рабочей программы из исходной, используется набор вспомогательных (служебных) программ, объединяемых под названием системное программное обеспечение.
Системное программное обеспечение разделяют на резидентное программное обеспечение и кросс-программное обеспечение. Резидентное программное обеспечение включает в себя те служебные программы (необходимые для разработки прикладных программ), которые используются в микроЭВМ, построенной на той же элементной базе (на МПК той же серии) и имеющей тот же язык кодовых комбинаций, что и МПУ, на котором будут установлены прикладные программы.
Кросс-программное обеспечение включает в себя служебные программы, предназначенные для разработки рабочих программ с использованием ЭВМ, построенной на другой элементной базе и имеющей иной язык кодовых комбинаций, чем МПУ, для которого предназначены рабочие программы. МОНИТОР Задача программы «Монитор» — управлять работой ЭВМ в процессе трансляции, тестирования, корректировки и ввода прикладных программ пользователя. «Монитор» хранится в ПЗУ. На рис.
7.2 показан принцип функционирования «Монитора». Пуск осуществляется включением питания микроЭВМ, после чего программа раскрутки устанавливает в счетчике команд адрес первой команды «Монитора». Далее «Монитор» переводится в режим ожидания, в котором он находится до тех пор, /ауге пока пользователь нажатием соответствующей клавиши на Пеягее еннееае терминале не запросит выполнение одной из подпрограмм «Монитора». После выполнения вызванной подпрограммы еемим ее««Левое «ем«на» ея леле»»а«не «Монитор» возвращается в ля»емче«„,н лили„„режим ожидания.