Готовая курсовая работа неизвестного варианта (1082199), страница 3
Текст из файла (страница 3)
CrE = MsV
Закодированный алгоритм.
Структурная схема управляющего автомата и "прошивка" памяти.
Структурная схема управляющего автомата с частичной записью адреса:
0 MX q
1
2
3
A
D0 RG Q0
D1 Q1
. .
D2 Q2
. .
. Q3
D3
C
ROM e
Y
A
S








e
11
P
1 S' 3
P 2 S
P
3
2 3
На вход мультиплексора по внешней шине данных поступают сигналы: RE, Double и RST. С учетом того, что в данной архитектуре УА нулевой вход мультиплексора соединен с выходом УА, получаем 4 линий на входе мультиплексора. Следовательно шина выбора – А – должна быть двух разрядной. Шина управляющих сигналов имеет 11 разрядов. Сигнал U11V формируется логической функцией ИЛИ над U10V и U9V. Согласно нижеприведенной таблице, адресуется 16 ячеек. Таким образом разрядность шин S и S' – 3 линии. Разрядность шин e, q, q' – 1. В итоге имеем структуру ОЗУ: 16 ячеек по 17 разрядов.
Таблица "прошивки" ОЗУ( таблица №3):
S' | q' | S | A | Y | e | Примечание | |
0(000) | 0 | 1(001) | 01[Re] | M0 | X | Вход; переход на 1 ячейку с проверкой RE | Н А Ч |
1 | 7(111) | 11[RST] | M8 | X | M8 | ||
1(001) | 0 | 1(001) | 01[Re] | M0 | X | P1=0 цикл | P1 |
1 | 2(010) | 01[Re] | M1 | X | P1=1 M1 P2 | ||
2(010) | 0 | 2(010) | 01[Re] | M0 | X | P2=0 цикл | P2 |
1 | 3(011) | 10[Double] | M2 | X | P2=1 M2 P3 | ||
3(011) | 0 | 0(000) | 00[e] | M7 | 1 | 16 бит | P3 |
1 | 4(100) | 01[Re] | M0 | X | 32 бит | ||
4(100) | 0 | 4(100) | 01[Re] | M0 | X | P4=0 цикл | 3 2 б и т |
1 | 5(101) | 01[Re] | M3 | X | P4=1 M3 P5 | ||
5(101) | 0 | 5(101) | 01[Re] | M0 | X | P5=0 цикл | |
1 | 6(110) | 00[e] | M4 | 0 | P5=1 M4 P6 | ||
6(110) | 0 | 6(110) | 00[e] | M5 | 1 | M5 M6 | |
1 | 0(000) | 00[e] | M6 | 1 | M6 M8 | ||
7(111) | 0 | 7(111) | 11[RST] | M8 | X | RST=0 | rst |
1 | 0(000) | 00[e] | M0 | 0 | RST=1 |
Комментарии к таблице прошивки:
-
В круглых скобках даны числа в двоичной системе, а в квадратных скобках проверяемый сигнал при разветвлении программы.
-
X – безразличное состояние сигналов
-
Запись типа "P4=0 цикл" означает, что ход программы дошел до разветвления на блоке P4 и пошел по ветви, когда P4 равен нулю и ход программы возвращается (зацикливается) на проверку условия.
-
Запись типа "P5=1 M4 P6" означает, что ход программы при проверке условия P5 пошел по ветви, когда P5=1. По логике алгоритма УА должен выработать сигнал Y (в примере это M4) и уйти следующую инструкцию. Здесь это безусловный переход (e=0, A=00) на ячейку 6,0 (S=6, q=0).
Регистр типа D управляющего автомата синхронизируется синхроимпульсом С, поступающим по линии данных и управляющих сигналов. Таким образом, запись в регистр и следовательно изменение состояний линий E, S, Y, А возможна только после синхроимпульса. Этим достигается временная задержка, в течение которой действуют ранее установленные состояния выходных линий ОЗУ. Благодаря этому сумматор успевает сложить данные на входе и установить правильные данные на выходе.
Пример:
Пусть состояний выходных линий ОЗУ соответствует M4: S'=5, q'=1. При этом S=6, E=0, A=00. Данные на линиях S=6, E=0, A=0 определяют адрес следующего перехода (безусловный переход на S'=6, q'=0). На линии Y действуют сигналы, соответствующие состоянию для реализации загрузки регистра U4 данными с линии. Этот сигнал будет действовать в течении времени, которое разделяет два соседних синхросигнала. По приходу синхросигнала регистр управляющего автомата "запомнит" входные сигналы и на его выходе установятся новые S'=6 и q=0'. Это состояние соответствует положению Y=M5. При Y=M5 селекторы U5 и U6 переключают коммутируют выходные линии регистров U1 и U3 на вход сумматора. Так как сумматор не синхронизируемый элемент, то данные на его входах должны присутствовать некоторое заданное время, в течение которого на его выходе сформируется верное значение. Далее значение на выходе сумматора попадает на регистр U9. Регистр U9, согласно сигналам, находится в состоянии фиксации данных. Состояние M5 действует до прихода следующего синхросигнала по линии С на управляющий автомат.
Таким образом, период следования синхросигналов должен быть больше самого длинного процесса в операционном автомате. В данном случае самый длинный процесс – это сложение данных на сумматоре с учетом переноса из младших разрядов: Y=M6.
Функциональная схема решающего автомата.
Приложение №1
Пример:
Сложение двух чисел: A = 0.000000000000000
B = 0.001100010100110
В приведенной таблице даны состояния ключевых линий и сигналов при сложении двух 16 разрядных чисел. Графа внутренняя шина – состояние внутренней шины управления в виде 12 разрядного числа (см. таблицу №2), где сигнал RgC самый левый. Рассмотрены переходы по Pi=1, то есть решающий автомат не ждет сигналов RE. Графы адресов записываются в виде S:q – для прозрачности анализа.
№ такт. | Адрес | Управляющие линии | След. адрес | Внутренняя шина | D0-D15 | Примечание | ||
RE | Double | RST | ||||||
1 | 000:0 | 1 | 0 | 0 | 001 | 000000000000 | X | Вход в алгоритм |
2 | 001:1 | 1 | 0 | 0 | 010 | 110000000000 | A | Загружаем А в регистр U1 |
3 | 010:1 | 1 | 0 | 0 | 011 | 100100000000 | B | Загружаем B в регистр U3 |
4 | 011:0 | 0 | 0 | 0 | 000:1 | 100000110100 | X | Коммутация U1 и U2 на сумматор и перевод U9 в фиксацию данных |
5 | 000:1 | 0 | 0 | 1 | 111 | 000000000001 | А+В | Вывод данных |
6 | 111:1 | 0 | 0 | 1 | 000:0 | 000000000000 | X | В начало |
В первом такте управляющий автомат находится в ячейки 000:0. Следующий адрес – условный – по адресу 001:?. В первом такте внутренняя шина равна во всех разрядах равна нулю.
С приходом синхросигнала управляющий автомат переходит на ячейку по адресу 001:1. Сигнал RE=1. В единицу устанавливаются сигналы записи с линии данных первого слагаемого в U1 и выбирается следующий условный адрес: 010.
В третьем такте происходит загрузка данных с линии D0-D15 в U3 и выбор условного адреса 011.
В четвертом такте устанавливаются линии для: коммутации U1 и U3 на сумматор, перевода U9 и U11 в режим фиксации данных и выбирается безусловный адрес 000:1.
В пятом такте устанавливается на внутренней шине данных сигнал разрешения выходного селектора, который коммутирует выход U9 на D0-D15 и устанавливается условный адрес 111.
В шестом такте происходит возврат на начало алгоритма через условный адрес 000.
18