Организация ЭВМ и систем. Козин И.В. - 11 стр.

UptoLike

Составители: 

11
В алгоритмы вычисления сложных функций наряду с микроопера-
циями присваивания и счета могут входить операции сложения, умножения
и деления, каждая из которых представляется соответствующей микропро-
граммой. По этой причине для реализации алгоритма вычисления сложных
функций целесообразно использовать обращение к готовым микропро-
граммам более простых операций.
Признаком того, является ли микропрограмма частью алгоритма вы-
числения сложной функции или используется самостоятельно, может слу-
жить специальное одноразрядное слово МР, если считать МР = 0 в случае,
когда микропрограмма используется самостоятельно, и МР = 1 в противном
случае. Значение МР должно присваиваться перед началом вычисления
сложной функциии каждой самостоятельно используемой операции, кото-
рая входит в состав алгоритма вычисления сложной функции. Проверка
значения МР осуществляется после окончания каждой такой операции в
процессе вычисления сложной функции. После окончания операции вычис-
ления такой функции и только самостоятельно используемых более про-
стых операций осуществлять эту проверку нет необходимости.
В рассмотренном в [2] примере вычислени я функции
x
e
каждая
подпрограмма используется только один раз. Для другой функции возможна
иная ситуация.
Для функции
()
1
sh
Fx x
=
алгоритм вычисления сводится к рекур-
рентной формуле (1) и
() ( )
,
111
nnn
aFF
+=
где n =1,2,…,
()
.
01
xF
=
Граф-схема
этого алгоритма приведена на рис. 5. Легко заметить, что в алгоритме три-
жды используется операция умножения (вершины 8, 9, 12).Операцию, за-
данную в вершине 10, выгоднее выполнять по другой микропрограмме. Ал-
горитм содержит также одну операцию деления (вершина 13) и одну опе-
рацию сложения (вершина 16). Так как числа z и n здесь целые, можно счи-
тать, что в вершинах 11 и 15 задана микрооперация счета.
При многократном использовании в алгоритме одной и той же опера-
ции необходимо перед каждым вхождением в подпрограмму присвоить
операндам соответствующие значения, а после выхода из подпрограммы
увеличить на единицу значение специального слова (счетчика числа вхож-
дений в подпрограмму) и избрать дальнейший путь в микропрограмме в за-
висимости от полученного значения этого слова. Число разрядов такого
слова равно
][
,log
2
N
где N общее количество вхождений в данную под-
программу.
На рис. 6 приведена микропрограмма, соответствующая алгоритму,
изображенному на рис. 5. В вершине 2 здесь присваиваются исходные зна-
чения переменных. Слову RG6(0:16) – значение
0
a
, слову RG3(0:15) – зна-
чение
10
F
, слову RG4(0:15) – значение x, которое предварительно было при-
своено полю RG(1:16) слова RG(0:16), слову CT1(0:15) присваивается на-
чальное значение числа n = 1. В вершине 3 осуществляется пересылка опе-
рандов в соответствии с назначением слов в микропрограмме умножения
([2 , рис. 2.3]) и присваивается начальное значение слову CT2, используе-
мому для подсчета числа вхождений в подпрограмму умножения. В данном