СиФОЭВМ
.doc
Задание:
Синтезировать операционный автомат IM-типа. Арифметическая операция ex, где x=sum(ai).
Решение:
1) Анализ функции:
Заданная функция имеет следующий вид:
Ряд, в который данная функция разлагается, принимает вид:
-
31
30 23
22
ЗН
ПОРЯДОК
МАНТИССА
Так как аргумент синтезируемой функции по условию задания выбирается произвольно, то в качестве интервала вычисления заданной функции, выбираем положительную область аргумента. Данный факт отражен на формате мантиссы, предоставленной на рисунке, где нет бита, определяющего знак.
Для написания алгоритма возьмем первые шесть членов ряда:
Алгоритм функционирования (вычисления заданной функции), предоставлен на рисунке. Более подробно вставки, как функция тестирования, так и вычисления промежуточных членов ряда разлагаемой функции рассмотрены на следующих рисунках:
2) Синтез IM–автомата:
Для вычислений требуется следующее количество регистров:
RG A (RG1) – приращение аргумента
RG Sum (RG2) – аргумент функции
RG (Cnt) (RG3) – счетчик количества членов ряда заданной функции
RG K (RG4) – весовые коэффициенты членов ряда
RG ST (RG5) – степень аргумента
RG EXP (RG6) – промежуточная сумма вычисления значения функции
RG FLAG (RG7) – флаг окончания вычисления промежуточной суммы
RG SS (RG8) – промежуточная сумма вычисления произведения с весовым коэффициентом
RG Mt (RG9) – множитель
RG Mn (RG10) – множимое
RG S (RG11) – промежуточная сумма вычисления произведения
RG I (RG12) – счетчик промежуточных сумма произведения
В соответствии со структурой IM–автомата, использующей три шины данных, которые непосредственно передают операнды АЛУ, необходимо распределить между используемыми в автомате регистрами. То есть множество операций разобьется на унарные и бинарные. Регистры используемые в бинарных операциях распределяются на шины ШД1 и ШД2, а регистры, используемые в унарных операциях распределятся на шину ШД3.
Таблица 1.
-
ШД1
ШД2
ШД3
RG Sum
RG A
RG Cnt
RG EXP
RG S
RG K
RG Mn
RG ST
RG FLAT
RG SS
RG I
RG Mt
Максимальная разрядность шин данных будет определяться разрядностью формируемых чисел (в нашем случае 8 бит мантиссы и 4 бита порядка). То есть очевидно, что каждая из шин ШД1, ШД2 и ШД3 будет содержать по 12 линий.
На следующей этапе микрокомандам ГСА ставятся в соответствие операторы присваивания АЛУ. В соответствии с алгоритмами ГСА, приведенными на рисунках, получаем таблицы 2 и таблицы 3.
Таблица 2.
-
Ym
Операторы АЛУ2
Прием
Обозн.
RG
Y1
D = 0.01
RG A
Y2
D = 0
RG Cnt
Y3
D = 0
RG Sum
Y4
D = 0
RG K
Y5
D = 0
RG ST
Y6
D = 1
RG S
Y7
D = 1
RG K
Y8
D = 0
RG ST
Y9
D = A1
RG S
Y10
D = 1/2
RG K
Y11
D = 2
RG ST
Y12
D = 1/6
RG K
Y13
D = 3
RG ST
Y14
D = 1/24
RG K
Y15
D = 4
RG ST
Y16
D = 1/120
RG K
Y17
D = 5
RG ST
Y20
D = 0
RG Cnt
Y21
D = 0
RG EXP
Y22
D = 0
RG Sum
Y24
D = 0
RG FLAG
Y25
D = A1
RG SS
Y27
D = A2
RG SS
Y28
D = A1
RG Mn
Y29
D = A1
RG Mt
Y30
D = 1
RG FLAG
Y31
D = A2
RG Mn
Y32
D = A2
RG Mt
Y33
D = 0
RG I
Y34
D = 0
RG S
Y37
D = A1[n+1, 1]
RG S
Таблица 3
-
Ym
Операторы АЛУ2
Прием
Обозн.
RG
Y18
D = A1+A2
RG EXP
Y19
D = 1+A3
RG Cnt
Y23
D = A1+A2
RG Sum
Y26
D = A1+Д[1]
RG ST
Y35
D = A1+Д[1]
RG ST
Y36
D = A2+A1
RG S
Y38
D = A2+1
RG I
Теперь можно закодировать микрооперации наборами управляющих сигналов.
Таблица 4.
Источники операндов |
Сигналы управления |
||||
ШД1 |
ШД2 |
ШД3 |
ai |
bi |
ci |
RG Sum |
– |
– |
a2 |
– |
– |
RG EXP |
RG S |
– |
a2 |
b11 |
– |
RG Mn |
RG S |
– |
a10 |
b11 |
– |
– |
– |
RG Cnt |
– |
– |
c3 |
– |
RG A |
– |
– |
b1 |
– |
– |
– |
RG ST |
– |
– |
c5 |
– |
– |
RG K |
– |
– |
c4 |
– |
– |
RG SS |
– |
– |
c8 |
– |
– |
RG Mt |
– |
– |
c10 |
– |
– |
RG I |
– |
– |
c12 |
– |
– |
RG FLAG |
– |
– |
c7 |
Таблица 5.
Приемник сигнала |
Сигнал управления |
|
RGk |
dk |
ek |
RG1 |
d1 |
– |
RG3 |
– |
e3 |
RG2 |
d2 |
– |
RG4 |
– |
e4 |
RG5 |
– |
e5 |
RG6 |
d6 |
– |
RG7 |
– |
e7 |
RG8 |
– |
e8 |
RG10 |
d10 |
– |
RG9 |
– |
e9 |
RG12 |
– |
e12 |
RG11 |
d11 |
– |
А теперь обобщим таблицы:
Таблица 6.
-
Ym
ai
bi
ci
di
ei
Y1
–
b1
–
d1
–
Y2
–
–
c3
–
e3
Y3
a2
–
–
d2
–
Y4
–
–
c4
–
e4
Y5
–
–
c5
–
e5
Y6
–
b11
–
d11
–
Y7
–
–
c4
–
e4
Y8
–
–
c5
–
e5
Y9
–
b11
–
–
e4
Y10
–
–
c4
–
e4
Y11
–
b11
–
d11
–
Y12
–
–
c4
–
e4
Y13
–
b11
–
d11
–
Y14
–
–
c4
–
e4
Y15
–
b11
–
d11
–
Y16
–
–
c4
–
e4
Y17
–
b11
–
d11
–
Y18
a6
b11
–
d6
–
Y19
–
–
c3
–
e3
Y20
–
–
c3
–
e3
Y21
a6
–
–
d6
–
Y22
a2
–
–
d2
–
Y23
a2
b11
–
d2
–
Y24
–
–
c7
–
e7
Y25
a2
–
–
–
e8
Y26
–
–
c5
–
e5
Y27
–
b11
–
–
e8
Y28
–
–
c4
d6
–
Y29
a2
–
–
d10
–
Y30
–
–
–
–
e7
Y31
–
–
c8
d6
–
Y32
–
–
c10
d10
–
Y33
–
–
–
–
e12
Y34
–
–
–
d11
–
Y35
–
–
c5
–
e5
Y36
a10
b11
–
d10
–
Y37
–
b11
–
d11
–
Y38
–
–
c12
–
e12