Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие (Представление чисел и арифметические операции в цифровых устройствах. Микропроцессорные устройства и системы на базе МП КР580ВМ80), страница 47

Рис. 6.5. Схема алгоритма формирования цикла

6.109. Составить микропрограмму для МПС (см. рис. 6.3), имитирующую непрерывную работу двоичного суммирующего счетчика с модулем счета k= 16. Текущие состояния счетчика ...0, 1, ..., 15, 0, 1 ... должны выдаваться в выходную шину данных ЦПЭ.

6.110. Составить микропрограмму для МПС (см. рис. 6 3) имитирующую непрерывную работу двоичного вычитающего счетчика с модулем счетаk = 16. Текущие состояния счетчика 15, 14 ,..., 1, 0, 15 ... должны выводиться в выходную шину данных ЦПЭ Y.

6.111. Составить микропрограмму для МПС (см. рис. 6.3), имитирующую непрерывную работу двоичного суммирующего счетчика с модулем счета k, который равен: а) 256; б) 4096 Необходимо предусмотреть начальную установку счетчика на 0. Коды текущих состояний счетчика должны выводиться в регистр Q полубайтами (при k = 256: 0000, 0000, 0000, 0001 и т.д.).

6.112. Составить циклические микропрограммы, обеспечивающие формирование и вывод в выходную шину данных ЦПЭ Y бесконечных последовательностей чисел:

а) 0, 3, 6, 9, 12, 15, 2, 5, 8 и т. д.

б) 0, 5, 10, 15, 4, 9, 14, 3, 8 и т. д.

в) 1, 2, 4, 8, 1, 2, 4, 8 и т. д.

г) 1, 2, 4, 8, 4, 2, 1, 2 и т. д.

д) 0, 1, 4, 13, 8, 9, 12, 5, 0 и т. д.

е) 0, 1, 2, 5, 12, 13, 6, 9, 8, 9, 10, 13 и т. д.

ж) 0, 1, 2, 2, 3, 5, 7, 10, 15, 6, 0, 15 и т. д.

з) 0, 8, 12, 14, 15, 7, 3, 1, 0, 8 и т. д.

Указание. Прежде чем приступить к составлению микропрограммы, необходимо выявить закономерность, связывающую числа в данной последовательности. Эту закономерность следует представить в виде рекуррентного соотношения, в котoром должны использоваться элементарные операции МП КР1804 (арифметические, логические, сдвиговые).

6.113. В одной из микрокоманд микропрограммы МПС (см рис. 6.3) в поле управления переходами Р вместо кода 0100 ошибочно указан код 0000. Допустимо ли это?

6.114. Вобласти памяти ЗУ 0000 ... 0100 записана основная микропрограмма МПС (рис. 6.3) (микрокоманды МК0 ... МК4 в области 1100 ... 1110 – подмикропрограмма (микрокоманды МК12 ... МК14). В МК2 имеется условный переход к подмикропрограмме при ненулевом результате, в МК4 – безусловный переход к МК0, в МК14 – возврат из подмикропрограммы. Все эти переходы могут быть условно изображены в виде схемы:

(угловая стрелка обозначает разветвление и переход к подмикропрограмме по указанному адресу и условию; стрелка вправо обозначает последовательный переход; стрелка вниз или вверх – безусловный переход по указанному адресу).

Составить микропрограмму, обеспечивающую выполнение указанных переходов. (В микрокомандах указать только поля P и BR, считать для простоты, что микрокоманда МКi, располагается в ячейке памяти с адресом i).

6.115. Составить микропрограммы, в которых управление переходами осуществляется в соответствии со следующими схемами (см. задачу 6.114):

6.116. Составить микропрограмму для МПС КР1804 (см. рис. 6.3), обеспечивающую выполнение следующих операций: в поле данных записано 4-разрядное положительное число N; если оно нечетное, то в регистр Q выводится число N – 1, если четное – выводится число N/2.

6.117. Определить длительность выполнения микропрограмм из задач 6.114 и 6.115 при тактовой частоте fт = 5 МГц.

6.118. Составить микропрограммы для МПС (см. рис 6.3), обеспечивающие вычисление следующих  выражений:

а) ;

б) ;

в) ;

г) ;

д) ;

е) ;

ж) , где φ1, φ2, φ3 – целые неотрицательные числа, которые вводятся через поле D микрокоманды. Результат необходимо вывести в регистр Q.

Определить длительность выполнения микропрограмм при тактовой частоте fт = 5 МГц.

6.119. Составить микропрограммы для МПС (см. рис. 6 3), обеспечивающие вычисление следующих выражений:

а)

б)

в)

г)

д)

е)

ж)

где 1, 2 – целые неотрицательные числа Результат должен быть выведен в шину данных У.

6.120. Составить микропрограмму для МПС (см. рис. 6.3), имитирующую работу 4-разрядного кольцевого регистра — распределителя импульсов. В регистр Q должны последовательно вводиться следующие коды: 0001, 0010, 0100, 1000, 0001 и т. д.