Смекни!
smekni.com

Блок-схема вычитание чисел в форме плавающая точка, сдвиг вправо на один, два разряда (стр. 2 из 2)

j4 <<GO (0; g1)>>

m5 {

:=1; B[0-23]:=X[0-23]; (p,S)=A2[0-23]-B[0-23]}

g6 <<GO (z; g5, g7)>>

g7 <<GO (p; m6, g5)>>

m6 {A2[0-23]:=B[0-23]}

m7 {d1d0:=d1d0(A2)}

j3 <<GO (0; g5)>>

m9 {

:=1; d1’d0’:=0,0; i:=0;
:=0}

g8 <<GO (

; m10, g1)>>

m10 {

:=1; A1[0-3]:=0,0,0,0; A2[0-23]:=X[0-23]}

m11 {d1d0:=d1d0(A2)}

m12 {A1[3],A2[0-23]:=A2[0-23],0}

m13 {B[0-23]:=A1[3],A2[0-22]}

m14 {A1[2-3],A2[0-23]:=A1[3],A2[0-23],0}

m15 {A1[1-3],A2[0-23]:=A1[2-3],A2[0-23],0}

m16 {A1[0-3],A2[0-23]:=A1[1-3],A2[0-23]+0,0,B[0-23],0}

m17 {d1’d0’:=d1’d0’+(d1’d0’)*; Y[4iј(4i+3)]:=A1[0-3]}

g9 <<GO (z1; m19, m18)>>

m18 {A1[0-3]:=0; i:=i+1}

j5 <<GO (0; m12)>>

m19 {

:=0}

j6 <<GO (0; g1)

.....................................

j0 <<GO (0; g1)>>

Особенности работы некоторых узлов устройства

Так как разрабатываемое устройство представляется лишь на функциональном уровне необходимо указать особенности функционирования его некоторых узлов.

1. Для коммутации информационных данных будем использовать многоразрядные мультиплексоры шины. От обычных одноразрядных мультиплексоров они отличаются тем, что по определенному слову на адресных входах они коммутируют сразу несколько информационных сигналов с одного из многоразрядных входов на многоразрядный выход соответственно. По существу они представляют собой несколько обычных одинаковых одноразрядных мультиплексоров, адресные линии которых соответственно соединены. Мультиплексор MUX3 снабжен Z-входом, единичный уровень на котором вводит его в Z-состояние. Это необходимо для организации двунаправленной шины данных.

2. Для хранения данных целесообразно использовать многоразрядные регистры хранения. В задаче перевода дробей удобно хранение совместить с арифметическим сдвигом влево на один разряд. Для хранения данных используются регистры RGA1, RGA2, RGB, RG1-RG6. Регистры RGA1 и RGA2 снабжены также сдвиговым входом M и последовательным входом SI. По сигналу “0” на входе M данные в регистре последовательно сдвигаются влево от входа SI к старшим разрядам. Значение старшего разряда теряется.

3. В обеих задачах необходимо использовать операции суммирования. С этой целью в состав операционного автомата входят два многоразрядных сумматора.

Сумматор SM1 используется в задаче перевода дробей и способен выполнять сложение двух 27-разрядных операндов. Результатом сложения является 28-разрядное число. В условном обозначении сумматора SM1 разряды A0, B0, S0 - старшие, а разряды A26, B26, S27 - младшие.

Сумматор SM2 представляет собой устройство, выполняющее сложение двух 25-разрядных операндов и одноразрядного входа переноса cr. Результатом является также 25-разрядное число. Старший разряд при этом отбрасывается.

4. Шинный инвертор Ix24 служит для инвертирования 24 разрядной шины B.

5. В состав управляющего автомата входит инкрементор, выполненый на базе сумматора SM3. Младшие разряды входов и выхода имеют индекс 0.

6. В схеме контроля данных по модулю три используется специальный сумматор SM4. Он суммирует 12 двухразрядных двоичных чисел по модулю три. Приведем принципиальную схему его фрагмента.

Здесь суммируются только два двоичных числа по модулю три. Подавая результат и следующее число на аналогичную схему получим сумматор трех двоичных двухразрядных чисел по модулю три и т.д.

Описание сигналов управляющего автомата

Для управления работой операционного автомата и схемы контроля данных по модулю три используется 17 управляющих сигналов, вырабатываемых с помощью управляющего автомата с естественной адресацией.

Сигналы A0-A2 обеспечивают коммутацию данных и промежуточных результатов, направляя их в регистры хранения.

Сигнал A3 - управляет коммутацией ответа; “0” - ответ задачи перевода дробей, “1”- ответ задачи о нахождении минимального числа.

Сигнал A4 - управляет коммутацией между операндами и схемой контроля.

Сигнал А5 - управляет сбросом контрольных разрядов d1’d0’.

Сигналы

,
,
- “0” на этих линиях означает разрешение модификации регистров RGA1, RGA2, RGB. “1” запрещает модификацию.

Сигнал

- “0” разрешает модификацию выходных регистров RG1-RG6.

Сигнал

- “0” разрешает запоминание разрядов d1d0, “1” запрещает их модификацию

Сигнал

- “0” разрешает запоминание разрядов d1’d0’, “1” запрещает их модификацию.

Сигнал SANSWR - “1” устанавливает линию

в “0”, “0” устанавливает эту линию в “1”

Сигнал SRDY - “1” устанавливет линию

в “0”, “0” устанавливает эту линию в “1”

Сигнал

- устанавливается в “0” для сброса счетстчика CT.

Сигнал

- устанавливается в “0” для разрешения сдвига в регистрах. Действителен при условии, что регистрам разрешена модификация.

Сигнал INC - “1” разрешает увеличение значения счетчика CT на 1 при каждом тактовом импульсе.

Совокупность перечисленных сигналов представляет собой микрокоманду, исполнение которой проходит в три этапа.

1. Подготовка адреса микрокоманды. Это может быть адрес следующей микрокоманды или адрес некоторой другой микрокоманды, если имел место переход (условный или безусловный).

2. Подготовка самой микрокоманды. Микрокоманда запоминается в регистре микрокоманд RG10.

3. Исполнение микрокоманды. Сигналы управления передаются в операционный автомат и воздействуют на изменение его памяти и вычисление предикатов.

Выполняя один из этих этапов для любой микрокоманды, управляющий автомат одновременно выполняет предыдущий этап для следующей микрокоманды. Таким образом, операционный автомат никогда не “простаивает”, за исключением тех случаев, когда происходит условный или безусловный переход. На время перехода регистру микрокоманд запрещается модификация, а операционному автомату прекращается подача синхронизирующих импульсов, что способствует сохранению значений предиката и успешному выполнению перехода. После подготовки новой микрокоманды в RG10 синхронизация восстанавливается.

Таблица заполнения управляющей памяти

Для кодирования адреса понадобится 6 разрядов.

адрес метка k

e

A1

H2

A0

H1

A2

H0

A3

C5

A4

C4

A5

C3

C2

C1

C0

SANSWR SRDY
INC
000000 g1 1 0 0 0 0 0 1 0 0 1 1
000001 m1 0 0 1
000010 g2 1 1 0 1 0 0 0 0 1 0 1
000011 g3 1 1 0 1 1 0 0 0 0 1 0
000100 j1 1 1 0 0 0 0 0 1 0 1 1
000101 m2 0 0 1 0 0 0 1
000110 m3 0 0 1 0 0 0
000111 m4 0 1 1 0 1
001000 g4 1 1 0 1 0 0 0 1 1 0 1
001001 g5 1 1 0 1 1 0 0 0 1 1 1
001010 m20 0 0 1 1 0 0 0
001011 m8 0 1 0 1 1 1 1 1 0
001100 j4 1 1 0 0 0 0 0 0 0 0 0
001101 m5 0 0 1 1 0 1 0 0
001110 g6 1 1 1 0 0 0 0 1 0 0 1
001111 g7 1 0 1 0 1 0 0 1 0 0 1
010000 m6 0 1 0 0 1 0 0 1
010001 m7 0 0 1 0 0 0
010010 j3 1 1 0 0 0 0 0 1 0 0 1
010011 m9 0 0 0 0 1 0
адрес метка k

e

A1

H2

A0

H1

A2

H0

A3

C5

A4

C4

A5

C3

C2

C1

C0

SANSWR SRDY
INC
010100 g8 1 0 0 1 0 0 0 0 0 0 0
010101 m10 0 0 1 1 0 0 1 0 0 1 1 0
010110 m11 0 0 1 1 0 1 0 0 1 0
010111 m12 0 0 0 1 1 1 0 0 1 0 0
011000 m13 0 1 1 1 1 0 1 1 1 0 0 1 0
011001 m14 0 0 0 1 1 1 1 0 0 1 0 0
011010 m15 0 0 0 1 1 1 1 0 0 1 0 0
011011 m16 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0
011100 m17 0 1 1 1 1 0 1 0 0 0 1 0
011101 g9 1 1 1 1 0 1 0 0 0 0 0
011110 m18 0 1 0 1 1 1 1 0 0 1 1 1
011111 j5 1 1 0 0 0 0 1 0 1 1 1
100000 m19 0 0 1 1 1 1 0
100001 j6 1 1 0 0 0 0 0 0 0 0 0
............. ........
111111 j0 1 1 0 0 0 0 0 0 0 0 0

По последнему адресу в ПЗУ записана команда безусловного перехода на нулевой адрес. Это сделано с целью организации сброса устройства по сигналу

.