UDC 62-50?:512.9 G.Jakobson, A.Xee.allik, P.Leis USSR SOD
ASPBC~
01' filE COJrS!'RUC'l'IOJr
OF MICROPROGRAM AUTOMATA NETWORKS The aiCroprograll gi.en b,. the graph-sch... of the algori tu. or by YaDo.'s logical-scheae is often a con.enient tool to describe functioning of the digital control unit. In this paper we cODsider the construction of the network of Ilicroprogrua autouta (IIPA) that realizes the Ilicroprograa of the control unit. As a bBsis we use the partition algebra [1] and the procedure for the decoaposition of abstract autoaata giTen in [2] • !'he definition of MPA used in this stud;r corresponds to the aodel in [3J • The familiarity with the concepts and notations of the partition algebra in [1] and of the representation of Boolean functions with coaplexes of cubes in [4-] 18 aBllWlled. Definition 1. IIPA is • qUintuple is • set of states, puts
L 0: A x Z2 -
A
M = (A,
z;. z~, 0, It,)
where A
zi
is a set of inputs, Z~ is a set of outl is a next state function and A: A~ Z2 - Z n2
is an output function 1). J'or all pairs (Om' of O-cubes in
O~)
in
Z (o,",o~)
AxA let
L
Z1 such that
The ain1aua COTer of
Z(am,a~) = {z Z(Orn,
o~)
€
be a coaplex
z~ I
= a~}.
is designated b,.
1) The n -d1ansional Boolean spaoe 18 clenoted b,. Z ~ • 2) We use the.notation Z~L11=prL,z~ where LIS L={i, ... ,l}
- 121 -
where 1
0
~ = {M,}, ~ e. I = {1, ... ,m}
called a bas1B of the network; Z
L, '= L;
ilL'
is a set of component automata, M, = (A" Z " 2 .' "u,), Z ", 2 = Z2Il,1 '" Z2.Kc '
is a set of external inputs and
Z ;'
i8
a 8et of internal inputs. 20
Z~L1, Z~I
are set8 of inputs and outputs of the net-
work, respectiTely. , o • 3 q:. = {'"Pd, Ld is a set of connectlng functions, called a structure of the network. A'J - ZK2L ' I , = I • I L: ,"
.
•
JE.! L
40
9 ~ xA· x ZILgl j~I 9 J
work where
-
2
ZINI 2
is an output f'l,u1ction of the net-
L9 == L, I 9 '= I
Definition ..... A lIP! network
)( = ( "',
ZILI 2,
INI,-t, ' 't',
Z2
g)
defines the
where
Definition 5. We .ay that the IIPA network Jf realizes autolll8ton M if M is isomorphic to a IlUbautoaaton of M.If • !he folloWing theore. of the deco.position of abstract automata is proTed in [2]. !heores. GiTen an auto_ton M and the partitions {rriJ, Lo, .. on the state set of M • !hen there exists a network Jf that rea-
M if and only if
n~. is a zeropartition. LEoI It i8 ObTious that the theoram holds also for .P!. It should be notioed that the deeo.position procedure is different due to the specific representation of IIPA.
lizes
We start the decomposition of MPA by selecting a
s~t
of nontriTial
- 122 -
partitions {nd L E. I={~, ... ,m} on A • It will be shown later that the partition rc, defines a component automaton M L in the network .N' • To construct the network .Jof we have to compute several aWtiliary partitions as followa. a) Compute the set of partitiona A using func tions { F, }, l Eo I L
F.:AXZ,-n~.
{ 1:" d, LEol on the state set defined as follows 3)
F,(o,z)=rri,[o(a,z)];
\;~ [am] ='t", [o~J ~ ("I z e.Z~) [F,(Om'z) = FLCa",,!») 0 rn , a",
where
Eo
A
Por the graph-scheme of the algorithm represented in Pig.1 the next state and output functions are specified in Pig.2. Let the set of partitions on
A be {'t"l'1C,.rr~}. lt~ ={b t , b 21 = { 1,2.3 ;
4;5}, n,={Cl'cd={~;D}, TL3={d~.dd={D; Z,4,5}
le,
• The function
is shown in Pig.3 where. for exallp-·
F,
Z (3 • Cl) = z (&. n u z 0,4)
= { 0 x. 1,
0 'X. 0 }
liow we can obtain directly from Pig.3 that Indeed.
Z (1 ) Cl) = Z (£., c 1)
~,Z E.'r,
•
Similarly,
and
'C",
= {o x.::x:.}. = {f;2; 3.4.5}
Z ( I • C,) = Z C2. • C2)
't"1={1;2; 3,4,S}
•
,thus
and 1:"'.I={1;2; 3,5;
"4} compute the set of two-block partitiOntl {~~} on the state set A • Let {'tj}' j £1'. ' be a
L Eo I
b) Por all h = 1) '" ,
K.
subset of
{rc~}, Le-I, I~= I
h
fine
{~.} •
asfollows
such that K; h n~.~.n1Cj
h=1
J£l.
.n,
Jt ...
J €.I i.
where
1:".
• liow we de,
I~=Ii.\{L}
As it will be shown later the index set l~ determines the connections of the component autOll8toD ML with other components of the network. c) Compute the set of parUtions {1') ~}, L£ I on Z L, follows: Tt ~ [Z'] = T'li, [1"] ~ (If 0 E. A)[F ,(0, z') = F, (a) 2")]; z', Z" E. Z
.s
i.
3)
3t [0]
denotes the block of re
which contains
0
,
- 123 -
The block
E
in
can be considered as a complex of O-cubes
~,
i
in Z We denote by E min the minimum cover of the complex E • We say that the p -th component of the complex is free if it is free in all the cubes of the complex. If this is the case, then for all e: A we have
°
F,(O.(Zp ...• Zp_pO' .....ZL)) = F,(O,(Zl' ... ,Zp_i' 1 , ...• ZI,))'
i.e. in the complex free. Let all
L,~
the
ZminCo.B)
p-th component ia also
be the set of simultaneously free components of
Ernin and
L,
L~x.
L \
=
mined by computing
• Obviously,
for all
ZminCO, Bl
ahould be deter-
Li,
OE-A
and
B E.rr~
Now the procedure for the construction of the network .N ZINI r+-. Z ILI 2' 2' 't', q)
that realizes the given )IPA
=
L
(.P.> , n
M = (A, z 2' Z 2
'
0, A) is as follows. Step 1: Select a set of partitions
n ".'"
{rc,}.
~ e: I
such that
is the zeropartition.
Le-I
Step 2: Compute the set of partitions {t'.}, Le.l ; the sets of partitions ~ h = 1, ... ,K' ; the index sets {L J,
h },
LE. I Step 3: Define the input and output set of the network as follows IL.l
Z
2
=
L
and
Z l.
1Nl
n
7. 2 = 7. l.
Step 4: Determine the structure of the J:letwork. Let one of the h
blOCKS of
~,
be coded by
o
, the other one by
After define the connecting fUnctions as follows <.0.:.)(. Aj - J€.Ii
I
~
:z~i.
where
K~
h=1
K'
(~L [uLL· ", ~ ,. [U L)), If
{
K~
h
Z2=X~~,
"don't care", otherwise;
- 124 -
where
u,
= ,n p r j a,
a~,){ A j , Jdi
J€.I,
Step 5: Determine the basis of the network.
n'
M,
=
(A"lz" 0,);
(empty &ets are omitted);
1t'i.[O(B')nUi.,Z)], o,(B~>,(Z'Z"))'"
if
B~nu~*~
if u.=
1t'i[O(B~,z)],
{ "don't cere" t otherwise:
u , =, n• prJ' ( 'f
where
Z'
=
J <..
-t( ")) Z
,
11
Z €.
, I L il
ZKi.
Z t
Z'
Z2
Z Eo
Z ILl Z
•
,
prL,z,
The CUbe
(z', z ") €.
of function
Fi
Z ( B~,B r)
as follows. Let th en ( Z I,
end
could be computed from the table
Z ") €.
z
,
€.
)
Z (a, Br'
Z (B ~ , Br)
it'
Z
11
e. 2
a nu, = a
K, 2 but if
Step 6: Compute the output function of the network.
).(u.Z)
9 (a,
u =, n p r j
where
J€.I
if
u*
Z)=
{
a.
"don' t a
cere'~
otherwise; ILl
Eo,){
A j , Z EO Z 2
J€.l
Now let us complete the example. Step 1 snd partially Step 2 of the procedure have been executed already. It i8 easy to see that
and and
Tr,
I ~={1, 2}
• The partitions
all have two blocks and therefore we can define
Jr,,1ti ~.=lt2'
- 125 -
~'I.= srj' ~;=rrl ~
of
1
b 'I. =
and
1 ~3
= rr,
be as follows. For 1
• Let the coding of the blocks
~1:C.=O. C'I.=1;for
and the same coding is used for
input signals
';(.1'
'X. 2
and
X 3
~~ and
~2:bj=O
~~
• Let the
respectively, correspond to
,
the first, the second and the third coordinate of the input spece 3
; to the only coordinate of the internal input space of the component M , - X4 ,of M2 -:cs and of M 3 - x6 and ';(.7 Z'I.
Now the oonnecting fUnotions are defined ss follows. \.ft:
'1''1.: A1 -'Xs;
If 3 ( b. , C'I.) M ~. M1
=
\f3: Al 'I. A2-x,,'I..'X.7
°
and, for example,
'f'l.(b 1)
=
A?-x4 , 0,
l • The next stste functions for the oomponents
and
M'2
are represented in Fig.4, Pig.5 and Fig.6,
respectively. In Fig.) it is easy to see that the seoond component of all input cUbes is free, and thus the sutomston M'I. operates independently of the input signal
:c. 'I.
• The output function is
easily determined using Step 6 of the deoomposition procedure. For example, since b1nC'l.nd1=3 ,we get g«b1,Cvd00:x.1)= = A. (3) 0 x t)
= 011 0
• The network is giTen in Fig.7.
REFEREIiCES 1. J .Hartmanis, R.E.Steams, Algebraio Structure Theory of Se-
quential Machines, Prentice-Hall Inc., Boglewood Cliffs, W.Y.,
1966.
2.
A.3.KsSBaAnMK, TeopeNa AeKOMnOsuqUH KOSeQHHX aBTON8TOB, NaTURa U BWmCJIBTeJ1l>H8Ji TeXHHK8,
3.
Ji I, 1974
ABTa-
(in Russian).
C.H.EaP8HOB, CUHTes MHKponporp8lOlHHX aBTOM8TOB, "3HeprBS", .ne-
HHHrPM, 1974
(in Russian). 4. R.E.Miller, Switching Theory. VolUllle I. Combinational Circuits, John Wiley & Sons, Inc., Iew York, London, Sydney, 1964.
-
1-~ -
Present state
Next state
am
a
1
2
8
2 5. 1 1 1
5 2
3
4
5 4
1 3
4
5
5 2. 3 4
5
Output
d
cube
Z(a ,8 ) m s
Y(am,a s )
%1%2%3
"11"2Y3"14 1 0 0 1 100 0 000 1 000 1 000 1 1 0 0 1 o1 0 0 o1 1 1 o1 1 0 o1 0 1 1 0 0 0 001 0 1 0 1 1 o1 0 1 100 0 001 0 1 0 0 1 o1 0 1 1 110 001 0
1 1 :x: ox 1 o :x: 0 1 0 x 1 0 x 1 1 x ox 0 ox 1 ox 1 1 1 x ox 0 1 0 x ox 0 1 1 x ox 1 1 0 x ox 0 1 1 x ox 1 1 0 x
2 2
3
Input
cube
d
am
Cs
Z(am,c s )
1
c1 c1 c2
1 x x x x 0 ox 1
2
c1 c1 c2
1 x x x x 0 ox 1
c1 c2
o
x x
1
x x
3 4
c c 12
ox x 1 x x
5
c1 c2
Oxx 1 x x
m
1
ds
ox 0 1 0 x 1 d1 1 1 x d2 o x 1 d2 1 1 x d2 o x x d2 x 0 x x x x x x x d1 1 0 x d1 o x 0 d1 1 1 x d 2 o x :x: d2 x 1 x d2 1 x 0 d2 1 0 x d2 o x x d1 d
-
-
d2
d2
il:iC~.~~
Z(dm,d s ) x 1x 2x x 6x? 3
0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1
0 0 1 0 0 1 1 0 1 0 0 x 0 0 0 0
1 1 x 0 x 1 ·1 x x x 0 1
l"il".....).-'"!
Fig.4
~
l\.> -J
-
bm
bs
128 -
Z(b m b s ) X1%2%1%4
°1
b2
°1 b 1 b1 b1 b2 b2 b2 b1 b1 b2 b2
'1 % %lY
x x 0 0
o%1 1 1 1 %1 ox 1 0 o%0 1 1 ,0 X 1
Cm
Z(cm,c ll )
CIl
%1%3%5
c1
0% 0 x 1 1 x % 0%1 X 1 0 %X
c1 c1 c1
1 %0 %0 0 0%1 010 1 x 1
C 2 c2
c2
0%% 1 %%
C
1
c2
Fir,.5 Fig.6
%1 - - - - - . , - - - - - - - - - - 1 1 ' - - - - - - - %2
----rl-------4------
- - -.....
-1---.....,
%3 ----r-H------.,-4---------1H-+----.
Fic;.7