248
Rys. 7.6. Zespół 1: a) standardowy segment sieci działań, b) realizacja układowa
czyi i
A'
B , gdy sL = 0, A + 1, gdy s^ = 1.
(7.33)
Aby w (7.30) wystąpił skok do nowego, wyznaczonego przez wektor B, adresu A’ = A., musi być xr = 1, ale jednocześnie z (7.33) wynika, że musi się wtedy równać 0. Zatem musi zachodzić = Xę, co można wymusić ustawiając c^, = 1 (patrz (7.31)). Gdy x^ = 0., wówczas s^ = X(~ = 1 i, zgodnie z (7.33), następuje przejście do następnego po A. adresu ^i+1 + U* Potwierdza to postać mikroinstrukcji (7.30).
Jeśli w (7.30) chcemy badać negację warunku x^ (tzn. if Xq then ...), wówczas w powyższych rozważaniach w miejsce x^ należy ustawić Xę. Stąd s[_ = : zależnpść tę otrzymamy wstawiając w (7.31) cx = 0. Zatem
c,
x
1 , gdy badamy afirmację warunku Xę, O , gdy badamy negację warunku x^.
(7.34)
Wniosek (7.34) zachowa swą aktualność również w przypadku następnych zespołów mikroinstrukcji. Bit cx będzie zawsze towarzyszy! wektorowi C, przy czym ze względu na przejrzystość nie będziemy tego zaznaczać w zapisach algolo-podobnych i w formatach słów
mikroinstrukcji. Zatem wszystkie zapisy algolo-podobne w których występuje bit xc należy traktować tak jakby występował w nich bit xc © c równy xc dla cx = 1 albo równy xc dla cx = 0.
Zespól 1 zawierający jedną ale za to uniwersalną mikroinstrukcję, umożliwia opisanie danej sieci działah przy pomocy najkrótszego mikroprogramu, co wymaga zarówno minimalnej liczby słów pamięci ROM jak i powoduje, że liczba taktów pracy układu sterującego jest najmniejsza, a tym samym jego czas działania jest najkrótszy. Cenę jaką za to płacimy jest konieczność używania długich słów pamięci ROM, które często są wykorzystywane tylko częściowo, np. w liniowych odcinkach mikroprogramu, korzystających wyłącznie z adresów następnych A. + 1> nie są wykorzystywane pola B.
Rozdział zadań między dwie mikroinstrukcje może zwiększyć efektywność wykorzystania pamięci ROM. Ponieważ występują trzy elementarne zadania można je na wiele sposobów przypisać dwuelementowym zespołom podstawowym [16); tutaj rozpatrzymy tylko wybrane rozwiązania.
ZESPÓL 2 A
Aj: execute Y; W = <K, Y>, K » 0, (7.35a)
Aj: if xc then go to by W = <K. B, O. K = 1. (7.35b)
Segmenty sieci działań odpowiadające powyższym mikroinstrukcjom przedstawiono na rys. 7.7 a. Aby można było przy pomocy Zespołu 2A opisać dowolną sieć działań, w zespole warunków X musi występować stała x0 = 1. Realizaję układową dla Zespołu 2A przedstawiono na rys. 7.7 b. Bazuje ona na tym samym sposobie adresowania jak w przypadku Zespołu 1,
Przy czym