ЛР Центральное устройство управления (1075156), страница 6
Текст из файла (страница 6)
состояний Р и программируемых логических матриц:
а) необходимую разрядность регистра состояний определить по формуле К= log2N , где N - число состояний автомата;
б) в работе использовать ПЛМ типа 16x8x68 (16 - входов,
8 – выходов, 68 - конъюнкций). Необходимое число Q ПЛМ определить по формуле
K + m
Q=] 8 [ ,
где m- число управлявших сигналов, формируемых в автомате.
В нашем примере
6+28
Q =] 8 [=5;
в) распределить управляющие сигналы и сигналы возбуждения
между всеми ПЛМ (сигналы возбуждения D1-D6, подавать на входы регистра состояний), Каждый из этих сигналов может быть закреплен только за одной ПЛМ;
г) выполнить программирование ПЛМ. Для этого для каждой ПЛМ построить таблицу соединений. В каждой таблице указать входы, выходы и строки.
На входы ( f1 - fk ) всех ПЛМ подключить выходы регистра состояний Р (старшие разряды слева, младшие - справа). На остальные входы ПЛМ подключить осведомительные сигналы, используемые в данной ПЛМ. Неиспользуемые входы ПЛМ не указывать. Число входов не должно превышать 16.
С выходов (1 - k ) первой ПЛМ снимать сигналы возбуждения D1 = Dk (в нашей задаче D1 = D6 , так как К= 6). С остальных выходов этой ПЛM и со всех выходов ПЛМ снимать управляющие сигналы. Число выходов в каждой ПЛM не должно превышать восьми.
В каждой строке входов прямое значение переменной кодировать единицей, инверсное - нулем, а безразличное - звездочкой. На выходах единицей обозначать необходимость использовать данную конъюнкцию (строку) в булевской функции, описывавшей соответствующую выходную переменную (управляющий сигнал или сигнал возбуждения). Число строк в каждой матрице не должно превышать 68.
10. Построить функциональную схему управляющего автомата. Соединение всех элементов схемы производить не основе обшей
шины (табл. 10).
Таблица 10
Состав цепей шины
Номер цепи | 1 | … | 80 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
Сигнал | Y1 | … | Y80 | B | X4 | X3 | X2 | X1 | Z | N |
Номер цепи | 91 | 92 | - | 101-108 | 111-118 | 120 | 121 | 122 | 123 | - |
Сигнал | C | P | - | F1-F8 | D1-D8 | «0» | «1» | TU | R | - |
Здесь ВВ - сигнал "Пуск", поступавший с пульта управления; ТИ - тактовый импульс, поступющий с генератора тактовых импульсов; "I" и "0" - сигналы логической единицы и логического нуля; R - сигнал системного сброса, поступающий с пульта управления при включении системы; Z , N , С, Р - осведомительные сигналы, формируемые в АЛУ, соответственно нулевой и отрицательный результаты, перенос и переполнение; Х4= PK(3I), X3 =РК(30), Х2 = РК(29), X1= РК(28) - осведомительные сигналы, характеризующие код операции.
11. В соответствии с разработанной системой машинных команд составить программу решения задачи:
1) провести распределение оперативной памяти (составить карту памяти). Оперативная память состоит из 16 страниц с номерами 0-F . В каждой странице размещается по 16 слов с номерами 0-F . Все слова однобайтовые. Адресуется каждый байт. Полный адрес байта состоит из адреса страницы и адреса слова в странице. При этом карта памяти имеет вид:
а) страницы 0 и I - основная программа;
б) страница 2 - массив А;
в) страница 3 - массив В;
г) страница 4 - массив С;
д) страница 5 - адрес возврата - FO , параметр n –F1.
е) страница 6 - подпрограмма;
2) провести кодировку машинной программы в шестнадцатеричной системе счисления (табл. 11). Основная программа должна начинаться с адреса 00;
Таблица 11
Машинная программа
№ пп. | Адрес ОП | Код команды | Примечание | |||
Байт 1 | Байт 2 | Байт 3 | Байт 4 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
Основная программа | ||||||
1 | 00 | 70 | 00 | 00 | F1 | Ввод n |
2 | 04 | 20 | 60 | 00 | 00 | Переход к подпрограмме |
3 | 08 | 00 | F1 | 00 | 00 | Вывод n |
4 | 00 | 40 | 00 | 00 | Вывод С1 | |
5 | 10 | 60 | 00 | 00 | 00 | Останов |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
Подпрограмма | ||||||
6 | 60 | 10 | F1 | 00 | 00 | Установка индекса |
7 | 64 | 30 | 20 | 30 | 40 | Сложение |
8 | 68 | 40 | 64 | 00 | 00 | Переход условный по ненулевому индексу |
9 | 6 | 50 | 00 | 00 | 00 | Возврат из подпрограммы по косвенному адресу |
3) подготовить фотографию оперативной памяти (табл. 12). На фотографии необходимо указать основную программу, подпрограмму, исходные данные и результаты. Исходные данные взять из табл. 13. На этом домашнюю подготовку закончить;
4) проверить правильность работы программы, задавая различные значения параметра n . Сравнить содержимое памяти после выполнения программы с фотографией памяти, полученной при домашней проработке.
Общие замечания по выполнении работы
1. Любую задачу можно решить с помощью различных наборов машинных команд.
2. При разработке конкретного набора машинных команд необходимо стремиться к минимальному числу типов команд.
3. Допускается использовать сложные комбинированные команды, которые фактически состоят из ряда простых. Например, в рассмотренном примере используют команду "Сложение с модификацией" (Сл), практически состоящую из двух команд: собственно сложения с модификацией адресов операндов и команды декремента индекса. Однако использовать такие команды следует осторожно, так как они ограничивают возможности системы команд так, рассмотренная в примере система команд не позволяет выводить на дисплей элементы массивов в цикле.
4. При разработке системы команд можно широко использовать регистры общего назначения или ячейки оперативной памяти для хранения промежуточных результатов или признаков (Z, N, С, Р ) - так называемые
рабочие ячейки или рабочие регистры.
Таблица 12
Содержимое оперативной памяти
Адрес страницы | Адрес слова в странице | |||||||||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |||||||||
0 | 70 | 00 | 00 | F1 | 20 | 60 | 00 | 00 | 00 | F1 | 00 | 00 | 00 | 40 | 00 | 00 | ||||||||
1 | 60 | 00 | 00 | 00 | ||||||||||||||||||||
2 | 00 | 05 | 01 | 03 | 0A | 02 | 0F | 0C | 01 | 00 | 09 | 01 | 03 | 05 | 00 | 06 | ||||||||
3 | 04 | 06 | 00 | 0B | 01 | 04 | 00 | 02 | 03 | 0A | 00 | 02 | 01 | 0A | 02 | 00 | ||||||||
4 | 01 | 03 | 02 | 01 | 07 | 00 | 08 | 01 | 04 | 0B | 0A | 0A | 00 | 00 | 01 | 01 | ||||||||
5 | ||||||||||||||||||||||||
6 | 10 | F1 | 00 | 00 | 30 | 20 | 30 | 40 | 40 | 64 | 00 | 00 | 50 | 00 | 00 | 00 | ||||||||
7 | ||||||||||||||||||||||||
8 | ||||||||||||||||||||||||
9 | ||||||||||||||||||||||||
A | ||||||||||||||||||||||||
B | ||||||||||||||||||||||||
C | ||||||||||||||||||||||||
D | ||||||||||||||||||||||||
E | ||||||||||||||||||||||||
F | (08) | (n) |
Примечание. Вертикальными жирными линиями команды отделяются друг от друга.