Uklad do synchronizacji liczników w ukladzie zlozonym z wielu komputerów Przedmiotem wynalazku jest uklad synchronizacji liczników komputerów w systemie przetwarzania danych zlozonym z pewnej liczby wspólpracujacych ze soba komputerów, w którym to systemie dlugosc interwalu pierwotnego okreslana jest przez osiagniecie przez licznik okreslonego stanu.Dokladniej — problem polega na wzajemnej synchronizacji liczników w poszczególnych komputerach, przy czym przez synchronizacje rozumie sie zapamietanie wartosci liczbowej w okreslonej liczbie pozycji cyfrowych w licznikach we wszystkich komputerach.W szczególnosci wynalazek dotyczy ukladu do synchronizacji liczników, z których kazdy nalezy do jednego komputera ukladu przetwarzania danych zlozonego z wielu komputerów i kazdy otrzymuje impulsy zliczania z wlasnego oscylatora synchronizujacego, przy czym liczniki te przez osiaganie okreslonej pozycji liczbowej okreslaja czas trwania okresu przetwarzania i nastepnie za pomoca sygnalu synchronizujacego sa przestawiane do wyjsciowej pozycji liczbowej, a przy osiagnieciu tej wyjsciowej pozycji liczbowej same wytwarzaja sygnal synchronizujacy. W ukladzie przetwarzania danych zlozonym z wielu wspólpracujacych komputerów musza byc one wzajemnie synychronizowane, aby przykladowo mozna bylo stosowac wspólne zespoly pamieci i wymieniac informacje pomiedzy komputerami. Znane jest sterowanie kilku komputerów za pomoca wspólnego zegarowego generatora synchronizujacego. Ma to jednak te Istotna wade, ze gdy ten generator zegarowy zostanie uszkodzony, uszkodzenie takie oddzialywuje na caly uklad przetwarzania danych. Z opisu RFN DT-OS 1952926 znany jest uklad komputerów z dwoma dzialajacymi równolegle zespolami, z których jeden jest zespolem czynnym a drugi jest zespolem rezerwowym, przy czym generator synchronizujacy zespolu rezerwowego jest sterowany synchronicznie przez generator synchronizujacy zespolu czynnego, aby umozliwic bez zadnej przerwy przejecie przetwarzania danych przez zespól rezerwowy, gdy zespól czynny zostaje uszkodzony.Wada tego rodzaju synchronizacji polega na tym, ze nie nadaje sie on do takiego ukladu komputerów, który jest zlozony z wielu wspólpracujacych ze soba i równoczesnie czynnych komputerów, a stosunek zespolu czynnego do zespolu rezerwowego nie jest na skutek tego wyraznie okreslony.Celem wynalazku jest usuniecie tej niedogodnosci, a zadaniem wynalazku jest opracowanie dla ukladu zlozonego z wielu komputerów takiego ukladu wzajemnej synchronizacji pomiedzy komputerami, ze jesli jakikolwiek komputer zostanie uszkpdzóny, to pozostale komputery beda utrzymywac nadal wzajemna synchhronizacje.2 81689 Zadanie to zostalo rozwiazane wedlug wynalazku przez to, ze sygnaly synchronizujace podawane sa na wspólny dla wszystkich komputerów przewód polaczony w kazdym komputerze z ukladem logicznym, który z jednej strony zawiera wyzwalany przez sygnal synchronizujacy uklad przerzutnikowy, a z drugiej strony zawiera uklad wytwarzania impulsu, który po wyzwoleniu ukladu przerzutnikowego wytwarza impuls o okreslo¬ nym czasie trwania, a ponadto wyjscie tego ukladu wytwarzania impulsów jest polaczone z wejscjem sterowania licznika i z wejsciem kasowania ukladu przerzutnikowego, na skutek czego uklad przerzutnikowy w czasie trwania sygnalu synchronizujacego jest zablokowany.Wedlug wynalazku kazdy zawarty w ukladzie komputer jest sterowany po pierwsze przez swój wlasny generator synchronizujacy, a po drugie nastepuje synchronizacja wzajemna przez to, ze kazdy z komputerów okresowo podaje impuls synchronizujacy na przewód wspólny dla wszystkich komputerów.Uklad wedlug wynalazku jest tak korzystnie wykonany ze dla uniemozliwiania zmiany stanu licznika w tym samym czasie przez nastepny impuls przelaczajacy i przez sygnal z ukladu przerzutnikowego zastosowa¬ ny jest uklad opózniajacy, który zastepuje uklad wytwarzania impulsów i zawiera obwód logiczny I, którego wejscia sa polaczone z generatorem synchronizujacym i z ukladem przerzutnikowym, a wyjscie jest polaczone z pierwszym monostabilnym ukladem przerzutnikowym, a ponadto uklad opózniajacy zawiera obwód logiczny I z wejsciem odwracajacym, z którym polaczone jest wyjscie drugiego monostabilnego ukladu przerzutnikowego, sterowanego przez generator synchronizujacy, podczas gdy z drugim wejsciem obwodu logicznego I polaczone jest wyjscie pierwszego monostabilnego ukladu przerzutnikowego.Przedmiot wynalazku przedstawiony jest w oparciu o zalaczony rysunek, na którym fig. 1 przedstawia przyklad schematu blokowego wedlug wynalazku, zlozonego z trzech komputerów, fig. 2 - szczególy konstruk¬ cyjne jednego z bloków z fig. 1, a fig. 3—5 wyjasniajace wykresy czasowe. Nawiazujac do fig. 1 trzy komputery Dl, D2, D3 sa polaczone wzajemnie linia PIB przy czym pokazano tylko te fragmenty, które sa niezbedne do przedstawienia wynalazku. Wszystkie komputery sa zbudowane w identyczny sposób. Zegar CLO kazdego komputera powoduje zwiekszenie stanu licznika binarnego CLR, majacego przykladowo dwanascie pozycji, które na fig. 1 sa numerowane od 0 do 11, przy czym pozycja 0 jest pozycja najmniej znaczaca.Uklad synchronizacji mozna opisac w skrócie nastepujaco. Zegary, w poszczególnych komputerach powoduja zwiekszenie stanu odpowiednich liczników, przy czym zaklada sie, ze stan licznika w komputerze D3 zwieksza sie najszybciej. Licznik ten znajdzie sie zatem pierwszy w sytuacji, w której na przyklad przerzutnik na pozycji 7 zmieni swój stan z 1 na 0, tak, ze osiem jego najmniej znaczacych pozycji bedzie zawierac zera.Przelaczenie tego przerzutnika powoduje wyslanie sygnalu synchronizujacego na linie E3. Sygnal synchronizuja¬ cy jest podawany na wspólna linie PIB, a dalej do wszystkich komputerów poprzez linie F1, F2, F3. Stany wywolywane przez przychodzacy sygnal synchronizujacy, sa identycznie w komputerach D1 i D2 a zatem szczególowo beda opisane tylko w komputerze D1.Sygnal synchronizujacy przychodzi do komputera D1 poprzez linie F1 i przez uklad C, który blokuje sygnaly wychodzace z komputera, na wejscie 1 przerzutnika FF, który jak zostanie to przedstawione dalej, powoduje, ze szystkie sygnaly synchronizujace przychodzace w ciagu okreslonego czasu po pierwszym sygnale synchronizujacym beda pomijane. Wszystkie komputery wysylaja sygnaly synchronizujace w momencie gdy ich liczniki, w wyniku zliczania impulsów zegarowych lub synchronizacji, znajda sie w przedstawionym uprzednio stanie. Jednakze, po zmianie stanu przerzutnika FF, tylko pierwszy sygnal synchronizujacy spowoduje synchronizacje. W prostszym rozwiazaniu, któremu odpowiada pozycja a przelacznika B, zmiana stanu przerzut¬ nika FF pobudza uklad monostabilny G, który wytwarza impuls, który z jednej strony jest podawany zwrotnie na wejscie zerujace przerzutnika FF, zerujac go i utrzymujac w tym stanie na czas trwania impulsu, a z drugiej strony na wejscie sterujace licznika CLR. W ten sposób osiem najmniej znaczacych pozycji to znaczy pozycje 0—7, jest ustawianych w stan zero, a zatem licznik osiaga ten sam stan co licznik w komputerze D3, który wyslal sygnal synchronizujacy.W pewnych przypadkach jest jednakze niedogodnie, aby impuls synchronizujacy byl podawany do licznika w dowolnym momencie, w szczególnosci jednoczesnie z impulsem dodajacym zegara, bowiem jednoczesnie pojawienie sie tych dwóch impulsów przelaczajacych moze spowodowac wystapienie w liczniku niepozadanych stanów przejsciowych, które pociagaja za soba niejednoznacznosc dzialania licznika.Umieszczajac uklad opózniajacy A, pomiedzy wyjsciem przerzutnika FF a wejsciem sterujacym licznika CLR, mozna tego uniknac to znaczy osiagnac to, ze synchronizacja nie zachodzi w momencie gdy stan licznika ulega zwiekszaniu. Rozwiazaniu temu odpowiada pozycja b przelacznika B. Sygnal synchronizujacy, wysylany z licznika w momencie gdy stan pozycji 7 ulega zmianie z 1 na 0, jest przetwarzany na impuls albo przez uklad C na linii wyjsciowej w komputerze nadajacym, badz przez uklad C na linii wejsciowej w komputerze odbieraja¬ cym.Nawiazujac do fig. 2 która przedstawia budowe ukladu opózniajacego A z fig. 1, wejscie 24 jest dolaczone do wyjscia przerzutnika FF z fig. 1, a na wejscie 25 sa podawane impulsy zegarowe z zegara CLO. Impulsy81689 3 zegarowe sa podawane na jedno wejscie dwuwejsciowego elementu AND-21, a sygnal z wyjscia twierdzacego przerzutnika na drugie jego wejscie.Pierwszy uklad I 21 opóznia sygnal zegarowy przed podaniem go na pierwszy uklad formujacy SS1, bedacy na przyklad przerzutnikiem monostabilnym. Uklad SS1 generuje impuls, którego czas trwania jest podzielony na dwa okresy t1 i t2 przy czym t1 jest maksymalnym okresem propagacji przeniesien przez osiem najmniej znaczacych pozycji licznika CLR, a t2 okresem, w którym przerzutnik FF blokuja pozostale, przychodzace impulsy synchronizujace to znaczy, czasem niezbednym dla synchronizacji licznika. Impuls generowany przez pierwszy uklad formujacy SS1 jest podawany na jedno wejscie dwuwejsciowego drugiego ukladu I 23. Impuls zegarowy z zegara jest jednoczesnie wykorzystywany do pobudzenia drugiego ukladu formujacego SS2, zbudowanego na przyklad z przerzutnika monostabiInego. Impuls generowany przez uklad SS2, którego czas trwania jest równy t1, jest podawany na drugie wejscie drugiego ukladu I 23 bedace wejsciem zanegowanym. Na wyjsciu ukladu I 23 uzyskuje sie zatem impuls o czasie trwania t2, którego przednie zbocze jest przesuniete o czas t1 w stosunku do przedniego zbocza impulsu zegarowego. Impuls wytwarzany przez drugi uklad I 23 jest podawany z wyjscia 26 z jednej strony na przerzutnik FF, który po skonczeniu impulsu przestaje blokowac przychodzace impulsy synchronizujace, a z drugiej strony jest podawany na wejscie sterujace licznika CLR w celu wyzerowania osmiu najmniej znaczacych pozycji to znaczy pozycji 0—7. Licznik CLR ma te wlasnosc, ze pozycja 8 jest przelaczana jednym impulsem.Przebieg synchronizacji jest bardziej szczególowo przedstawiony przy pomocy wykresu na fig. 3, na której strzalki pionowe zaznaczaja przyczyne i skutek dzialania impulsów, os pozioma jest osia czasu. Fig 3a przedstawia impuls synchronizujacy, który z komputera D3 podawany jest do przerzutnika FF w komputerze Dl. Przerzutnik FF jest ustawiany wstan 1 sygnalem synchronizujacym, co zaznaczono na rysunku strzalka pionowa przebiegajaca od fig. 3a do fig. 3b, która przedstawia stan przerzutnika FF na wejsciu 24 pokazanym na fig. 2. Dopóki na wejsciu 25 z fig. 2 nie pojawi sie impuls z zegara komputera, w ukladzie nic sie nie dzieje, fig. 3c przedstawia impuls zegarowy, a fig. 3d impuls na wyjsciu drugiego ukladu I 21. Na wykresie pokazano ze impuls z fig. 3d jest wytwarzany przez impuls z fig. 3c, co jest sluszne pod warunkiem, ze przerzutnik FF jest wstanie jeden, to znaczy sygnal na fig. 3b ma poziom wysoki. Impuls z fig. 3d pobudza przerzutnik monostabilny SS1, który generuje impuls o czasie trwania t1 + t2, przedstawionym na fig. 3e. Impuls zegarowy z fig. 3c dodatkowo pobudza przerzutnik monostabilny SS2, który generuje impuls o czasie trwania t1, przedstawionym na fig. 3f. Gdy impuls z fig. 3f zostanie na wejsciu drugiego ukladu I 23 zanegowany, na wyjsciu tego ukladu pojawi sie impuls w momencie gdy konczy sie impuls z przerzutnika monostabilnego SS2, jak to przedstawia fig. 3g. Impuls z fig. 3g ma wiec czas trwania, który jest róznica czasów trwania impulsów generowanych przez uklady SS1 i SS2. Impuls ten ustawia równiez wstan zero, przez czas trwania impulsu, przerzutnik FF utrzymujac go w tym stanie, do czasu zsynchronizowania licznika.W ukladzie synchronizacji mozna wyróznic dwie podstawowe mozliwosci. Przyjmujac dla prostoty uklad skladajacy tylko z dwóch komputerów, pierwsza mozliwosc to sytuacja, w której stan licznika w pierwszym komputerze, w momencie synchronizacji jest wiekszy od stanu licznika w drugim komputerze. Druga mozliwosc to sytuacja, w której stan pierwszego licznika jest równy stanowi drugiego licznika.Wykres przebiegu synchronizacji w ukladzie dwu komputerowym przedstawia fig. 4 w sytuacji, gdy stan pierwszego licznika jest wiekszy od stanu drugiego licznika. Jesli sygnal synchronizujacy pojawia sie na przyklad z komputera D1 na linii E1 (fig. 1), to jest przeslany zarówno do pozostalych komputerów systemu jak i linia F1 do samego komputera D1, ten ostatni sygnal jest dalej zwany wlasnym sygnalem synchronizujacym.Fig. 4a', b' f przedstawiaja sygnaly w komputerze D1, a fig. 4a", b" f" sygnaly w komputerze D2, którego stan licznika jest mniejszy od stanu licznika komputera D1.Fig. 4af i a" przedstawiaja stany liczników na pozycjach 0-7 odpowiednich komputerów, fig. 4b' i b" impulsy zegarowe, fig. c' i c" wychodzace sygnaly synchronizujace a fig. 4d'. i d" przychodzace sygnaly synchronizujace. Nafig. 4e' i e" poziom wysoki obrazuje czas, w którym przerzutnik FF jest w stanie zero, a fig. 4f i f" przedstawia sygnal, który zeruje pozycje 0—7 licznika i zeruje przerzutnik FF.Przy zalozeniu, ze licznik w szybszym komputerze D1 zawiera jedynki na osmiu mniej znaczacych pozycjach (fig. 4a'), istnieje gwarancja, ze po nastepnym impulsie zegarowym zostanie wyslany sygnal synchronizujacy (fig. 4b' i c'). Sygnal ten jest przesylany z jednej strony do komputera D2, co pokazano na fig. 4d", a z drugiej strony jako wlasny sygnal synchronizujacy do komputera D1 (fig. 4d'). W obu komputerach przerzutniki FF zostaja ustawione w stan jeden, fig. 4e' i e", a sygnaly synchronizujace oczekuja na najblizszy impuls zegarowy. Zgodnie z przykladem, stan licznika komputera D2 jest mniejszy o 7 od stanu licznika komputera D1 i gdy w obydwu komputerach pojawia sie kolejne impulsy zegarowe do obydwu liczników zostanie dodana jedynka. Nastepnie obydwa liczniki zostaja zsynchronizowane oczekujacymi synchronizujacymi, tak, ze pozycje 0-7 beda zawierac zera.4 81 689 Sygnaly synchronizujace jak wspomniano uprzednio, sa wytwarzane tylko wtedy, gdy stan pozycji 7 zmienia sie z jeden na zero, stad w wyniku synchronizacji komputera D2 nastapi wyslanie sygnalu synchronizuja¬ cego do komputera D1 (drugi impuls na fig. 4d") a operacja synchronizacji powtórzy sie po raz drugi w obydwu komputerach. Tym razem jednak w zadnym liczniku nie nastapi zmiana stanu na pozycji 7 z jedynki na zero, i dlatego dalsze sygnaly synchronizujace nie zostana wytworzone. Takwiec w opisanym ukladzie synchronizacji mlodsze pozycje kazdego licznika byly dwukrotnie ustawiane na stan zero.Nawiazujac do fig. 5 przedstawiajacej przebieg synchronizacji w ukladzie dwu komputerowym, gdy stany obydwu liczników sa równe, fig. 5a', b' f przedstawia sygnaly w komputerze D1, a fig. 5a", b" f" sygnaly w komputerze D2, przy czym impuls zegarowy wczesniej pojawi sie w komputerze D1.Zgodnie z fig. 5a' i a" liczniki obydwu komputerów zawieraja jedynki na osmiu najmniej znaczacych pozycjach. Impuls zegarowy w komputerze D1 {fig. 5b') pojawia sie nieco wczesniej niz impuls zegarowy w komputerze D2 (fig. 5b"). Impuls zegarowy powoduje dodanie jedynki do licznika w komputerze D1, tak ze licznik bedzie zawieralzera na pozycjach 0—7 jednoczesnie z wyslaniem sygnalu synchronizujacego (fig. 5c').Sygnal ten nie spowoduje zadnych zmian w komputerze D2, gdyz w miedzyczasie jego licznik pod wplywem impulsu zegarowego (fig. 5b"), osiagnal stan samych zer na pozycjach 0—7 (fig. 5a"). Z drugiej strony, komputer 01 przyjal wlasny impuls synchronizujacy (fig. 5d), który powoduje synchronizacje licznika po nastepnym impasie zegarowym, czyli kiedy licznik zostal zwiekszony o jeden (fig. 5a'). Powyzsze rozwiazania prowadza do Stwierdzenia, ze w przypadku gdy stan licznika komputerów jest równy, szybszy licznik bedzie oczekiwal na wolniejszy.Jak wynika z tych dwóch przykladów, efekty wymiany sygnalów synchronizujacych pomiedzy wspólpra¬ cujacymi komputerami ukladu zaleza w duzej mierze od tolerancji zegarów. Im wezsze tolerancje, tym rriniejsze prawdopodobienstwo, ze wystapi proces podwójnej synchronizacji przestawiony na fig. 4.Tak wiec, najczestszym stanem ukladu synchronizacji jest oczekiwanie szybszego komputera na wolniej¬ szy. Zaden komputer nie steruje caly czas przebiegiem synchronizacji, nastepuje zmiana komputerów inicjuja- cych ten przebieg. Wynika to z fig. 5, gdzie komputer D1 jest tak bardzo opózniany w czasie synchronizacji wzgledem komputera D2, ze nastepny sygnal synchronizujacy zostanie z duzym prawdopodobienstwem wyslany z komputera D2.W ukladzie zwieksza liczba komputerów sterowanie synchronizacja bedzie sie wymieniac w sposób nieregularny pomiedzy komputerami, ale komputery, których liczniki sa zwiekszane najszybciej beda sterowac synchronizacja, srednio czesciej niz pozostale komputery. PL PL