Uklad polaczen w urzadzeniu przetwarzajacym informacje, prze¬ znaczony do sterowania wykonania programów o róznych pierw- szenstwach Przedmiotem wynalazku jest uklad polaczen w urzadzeniu przetwarzajacym informacje, przezna¬ czony do sterowania wykonania program<5w o róz¬ nych pierwszenstwach w okreslonych przez nadaj¬ nik czasu interwalach w kolejnosci ich pierwszen¬ stwa.W maszynie matematycznej pracujacej w czasie rzeczywistym znajduje sie pewna liczba róznych programów lezacych na róznych poziomach pierw¬ szenstwa. Praca zespolu centralnego jest sterowana przez rejestr synchronizujacy, który jest przela¬ czany w taki sposób przez generator impulsów, ze przy kazdym przelaczeniu praca rozpoczynana jest na najwyzszym poziomie pierwszenstwa, po czym osiagane sa kolejno malejace poziomy pierwszen¬ stwa. Istnieje przy tym niebezpieczenstwo, ze nie wszystkie programy zostana w calosci przetwarzane w czasie pomiedzy dwoma impulsami synchronizu¬ jacymi, czyli w tak zwanym interwale podstawo¬ wym. Nie ma potrzeby aby wszystkie programy podczas kazdego programu interwalu podstawo¬ wego byly dostosowane do dlugosci okresu, z któ¬ rym przeprowadzane sa programy najczesciej wy¬ konywane. Okreslone programy musza, na skutek tego, byc wykonywane tylko w co drugim lub co trzecim interwale podstawowym albo w jeszcze dluzszych okresach. W sterowanym przez rejestr rozkazów urzadzeniu zdalnym znajduje sie duza ilosc programów, które sprawdzaja rózne zespoly urzadzenia aby okreslic ich stan, przez co moze 10 25 byc okreslony czas pomiedzy róznymi zmianami stanów tych zespolów. To, jak* czesto programy mu¬ sza byc wykonywane, jest okreslone dokladnoscia z jaka powinien byc mierzony czas.Stosowano wiele róznych ukladów umozliwiaja¬ cych wykonywanie skoków do róznych programów przy róznych pierwszenstwach i przy róznych od¬ stepach czasowych. Pierwszy uklad polega na tym, ze pewna liczba pól pamieci jest sprawdzana cy¬ klicznie w taki sposób, ze po kazdym przelaczeniu rejestru synchronizacji zostaje przeprowadzone jedno sprawdzenie.Temu samemu programowi odpowiada we wszy¬ stkich polach pamieci taka sama pozycja, w której istnienie jedynki oznacza, ze odpowiedni program musi zostac wykonany. Uklad ten wymaga jednak bardzo duzego rozszerzenia pamieci poniewaz licz¬ ba bitów w kazdym polu jest taka duza jak liczba programów, a pól pamieci jest tyle ile jest interwa¬ lów podstawowych w najdluzszym okresie czasu.Dalsza wada tego ukladu jest to, ze jesli w jednym interwale podstawowym nie ma wystarczajaco duzo czasu na sprawdzenie wszystkich bitów, bit be¬ dacy w stanie jedynki moze zostac nie zbadany przed rozpoczeciem sprawdzania nastepnego pola pamieci, w którym zaznaczony jest skok, przez co okres czasu zostaje zwiekszony przynajmniej dwu¬ krotnie, co oznacza ze przebieg programu daje fal¬ szywa informacje. Inny znany uklad polega na tym, ze w kazdym interwale podstawowym spraw- 8070480704 3 4 dzany ^jest* kolejno licznik przyporzadkowany kaz¬ demu programowi i przy kazdym sprawdzeniu licznik ten zostaje przelaczony o jeden stopien wstecz, a gdy odliczanie wstecz da w koncu war¬ tosc zerowa licznika wykonany zostanie skok do odpowiedniego programu. Gdy program zostanie przetworzony, wówczas licznik zostaje nastawiony na wartosc, która odpowiada ilosci interwalów podstawowych pozostalych do przejscia zanim zo¬ stanie przeprowadzony nastepny skok do tego pro¬ gramu. Uklad ten wymaga mniejszej pamieci niz opisany poprzednio,a ponadto istnieje mniejsze nie¬ bezpieczenstwo znacznych przedluzen okresów wy¬ konywania programów. Uklad ten ma jednak wade polegajaca na tym, ze przelaczanie zwrotne wszy¬ stkich liczników w kazdym interwale podstawo¬ wym jest duzym obciazeniem dla maszyny mate¬ matycznej i istnieje niebezpieczenstwo, ze liczniki przyporzadkowane programom o niskich poziomach pierwszenstwa nie beda mialy wystarczajaco duzo czasu by zostac przelaczone wstecz w kazdym in¬ terwale. Z tego powodu programy, dla których wy¬ magana jest duza dokladnosc czasu, musza znajdo¬ wac sie na wysokim poziomie pierwszenstwa rów¬ niez wtedy gdy maja byc wykonywane stosunkowo rzadko.Dalsza wada tego ukladu jest to, ze nie ma moz¬ liwosci na istnienie programów, które normalnie nie musza byc wykonywane. Jeszcze inna wada po¬ lega na tym, ze nie ma mozliwosci istnienia pro¬ gramów, które normalnie nie powinny byc wyko¬ nywane, poniewaz program jest rozpoczynany zaw¬ sze, skoro tylko przyporzadkowany mu licznik zo¬ stanie przelaczony na zero.Celem wynalazku jest - usuniecie niedogodnosci przejawiajacych sie w znanych ukladach, to jest regulowania interwalów czasowych w maszynie matematycznej pomiedzy skokami do programów, które maja rózne poziomy pierwszenstwa.Zadanie techniczne prowadzace do osiagniecia tego celu polega nav stworzeniu ukladu polaczen do sterowania wykonywania programów o róznych pierwszenstwach, który znacznie zmniejszy obcia¬ zenie maszyny matematycznej i opóznienie czaso¬ we w przypadku programów na niskich poziomach pierwszenstwa.Zadanie to zostalo rozwiazane wedlug wyna¬ lazku w ten sposób, ze kazdemu z programów przyporzadkowany jest pierwszy rejestr do usta¬ lania odstepu czasowego dla przeprowadzania tego programu i drugi rejestr dla adresu poczatkowego programu, przy czym zespól arytmetyczny zawiera pierwszy rejestr czasowy, sterowany przez rejestr nadajnika impulsów synchronizujacych oraz drugi rejestr czasowy, który przyjmuje zawartosc pierw¬ szego rejestru, a wartosci obu rejestrów czasowych sa ze soba porównywane, a ponadto urzadzenie uruchamiajace napedzane przez impulsy synchro¬ nizujace za pomoca swych stopni, pobudza do od¬ czytywania sterowane przez bramki pierwsze i dru¬ gie rejestry, zas bramka odczytu przeprowadza porównanie wartosci w pierwszym i drugim reje¬ strze czasowym w taki sposób, ze w przypadku gdy wartosc drugiego rejestru czasowego jest mniejsza niz wartosc rejestru nadajnika impulsów synchro¬ nizujacych, urzadzenie rozruchowe zostaje prze¬ laczone a przy zgodnosci porównywanych wartosci wykonywany jest skok do odpowiedniego progra¬ mu, przy czym w dekoderze dekodowany jest adres poczatkowy zawarty w drugim rejestrze i pobudzo¬ ny zostaje znajdujacy sie pod tym adresem rozkaz.Uklad wedlug wynalazku ma nastepujace zalety.Po pierwsze nie jest konieczne w kazdym inter¬ wale podstawowym zerowanie czlonów pamieci CA-CD, które pracuja jako liczniki, przez co zmniejszone jest obciazenie. Po drugie nie jest juz istotne, czy podczas danego interwalu podstawo¬ wego byla wystarczajaca ilosc czasu by sprawdzic czlony pamieci programu nie przetwarzanego pod¬ czas tego interwalu. Po trzecie uklad ma wreszcie te zalete, ze gdy nie ma wystarczajacej ilosci cza¬ su by wykonac program w czasie tego interwalu podstawowego, w którym powinien on byc prze¬ twarzany, program ten jest wykonywany gdy tylko pozwoli na to czas w jakims innym interwale.Przedmiot wynalazku jest przykladowo przedsta¬ wiony na rysunku, na którym fig. 1 przedstawia schematycznie, jak rózne programy sa wykonywa¬ ne podczas kolejnych okreslonych przez impulsy synchronizujace, interwalach podstawowych, fig. 2 tabele, która podaje te interwale, w których musza byc wykonywane programy, fig. 3a pole pamieci potrzebne do wywolywania róznych programów, fig. 3b jak oddzialywuje sie na zawartosc pól pa¬ mieci gdy skok do programu jest wykonywany wedlug jednego ze znanych sposobów, fig. 4 przy¬ klad ukladu wedlug wynalazku a fig. 5 przedsta¬ wia diagram wyjasniajacy dzialanie ukladu z fig. 4.Nawiazujac do rysunku fig. 1 przedstawia wywo¬ lywanie czterech róznych programów A, B, C i D podczas róznych interwalów glównych, które sa okreslone przez znakujace odcieta impulsy syn¬ chronizujace. Programy te maja pierwszenstwo w porzadku alfabetycznym, to znaczy ze po pierw¬ szym impulsie synchronizujacym sprawdzane jest czy ma byc wykonywany program A, po czym ta¬ kie samo sprawdzanie wykonywane jest dla pro¬ gramu B i tak dalej. Przyjeto, ze programy sa wy¬ konywane w tych interwalach, które dla odpowied¬ niego programu sa oznaczone na fig. 2 znakiem X.Program A powinien byc zatem wykonywany w co drugim interwale, program B w co piatym inter¬ wale, program C w kazdym interwale i program D w co trzecim interwale. Z fig. 1 wynika, ze okres¬ lony czas potrzebny jest równiez w tym przypad¬ ku, gdy programy nie maja byc wykonywane, po¬ niewaz fakt ten musi byc najpierw stwierdzony a potem sa przeprowadzane mozliwe postepowania.Na fig. 3a pokazano przyporzadkowane programom A, B, C i D pola pamieci, przy czym kazde pole liczbowe CA, CB, CC i CD oraz adres poczatkowy SAA, SAB, SAC lub SAD odpowiedniego progra¬ mu. Wymienione pola pamieci sa wykorzystywane tak, ze po kazdym impulsie synchronizujacym, liczniki sa sprawdzane wedlug kolejnosci i gdy je¬ den z liczników jest wyzerowany, przeprowadzany jest skok do odpowiedniego programu za pomoca przyporzadkowanego temu programowi adresu po¬ czatkowego, natomiast wyzerowany licznik zostaje 10 .15 20 25 30 35 40 45 50 55 605 8ÓT04 C przelaczony o jedna pozycje i sprawdzane jest na¬ stepne pole liczbowe.Jesli skok jest przeprowadzany wedlug znanego sposobu, po czym wykonywany jest program, w liczniku zostaje zapisana liczba odpowiadajaca licz¬ bie impulsów synchronizujacych jakie musza przejsc zanim zostanie wykonany nastepny skok.Fig. 3b przedstawia zawartosc tak uzyskanych pól liczbowych jako funkcje impulsów synchronizuja¬ cych. Jak juz wyzej wspomniano sposób ten ma wiele wad. Aby uzyskac poprawne wywolywanie w interwalach musi byc wystarczajaca ilosc czasu do tego, by wszystkie pola liczbowe osiagnac w kazdym interwale podstawowym, bo inaczej nie mozna by bylo przeprowadzic przelaczenia powrotnego pól liczbowych. Ponie¬ waz normalnie tak nie jest, dokladnosc okre¬ su maleje ze spadkiem poziomu pierwszenstwa, co oznacza, ze programy, dla których wymagana jest duza dokladnosc czasu musza lezec na wysokim po¬ ziomie pierwszenstwa nawet jesli sa rzadko wywo¬ lywane. Zerowanie wszystkich liczników podczas kazdego interwalu powoduje ponadto szkodliwe, stale obciazenie.Na fig. 4, na której przedstawiony jest uklad wedlug wynalazku, pokazane sa cztery programy A, B, C i D, które powinny byc wywolane w in¬ terwalach wskazanych na fig. 2. Rejestry CA, CB, CC i CD maja za zadanie spelniac te sama funkcje co odpowiednie pola pamieci na fig. 3a. Jest to jednak wedlug wynalazku przeprowadzane w inny sposób niz dotychczas. Rejestry SARA, SARB, SARC i SARD odpowiadaja czlonom pamieci adre¬ su poczatkowego z fig. 3a. Na fig. 4 pokazano po¬ nadto generator impulsów PG, który wytwarza wyzej wspomniane impulsy synchronizujace i po¬ daje je na rejestr UHR nadajnika impulsów syn¬ chronizujacych. Uklad zawiera ponadto zespól aryt¬ metyczny AE znanego typu, urzadzenie rozruchu SR kolejnych rejestrów CA —CE, dekoder AVK, wykonany przykladowo w postaci biernego obwodu diodowego, rejestr adresowy AR, w którym zapa¬ mietywane sa adresy oraz bramki I Gl — G17 i jedna bramke LUB G18, której rola zostanie do¬ kladniej podana w dalszej czesci opisu ukladu.Kiedy z generatora impulsów PG nadejdzie im¬ puls synchronizujacy wówczas przelaczony zostaje rejestr UHR, nadajnika impulsów synchronizuja¬ cych i przyjmuje nowy stan liczbowy. Rózne stany liczbowe, jakie moze przybierac omawiany rejestr gdy liczba bitów wynosi cztery, pokazane sa na fig. 5 jako wykres czasowy, gdzie stan tego reje¬ stru jest przykladowo pokazany jako 0011.Nowy stan liczbowy rejestru nadajnika impul¬ sów synchronizujacych jest przekazywany na re¬ jestr czasowy OP2 w zespole arytmetycznym AE a ponadto urzadzenie rozruchowe SR zostaje pobu¬ dzone przez generator impulsów PG w taki spo¬ sób, ze nalezace do rejestrów CA i SARA bramki I Gl — G4 zostaja otworzone. W rejestrze CA zostaje zapamietana liczba, która jest okreslona w taki sposób, ze gdy wartosc z rejestru nadajnika impul¬ sów synchronizujacych przewyzsza te liczbe, odpo¬ wiedni program, to jest program A, ma byc wy¬ konany. Dokladniejszy sposób uzyskania tej liczby w rejestrze jest nastepujacy. Gdy bramka Gl jest otwarta, liczba ta jest doprowadzana do rejestru czasowego OP1 w zespole arytmetycznym AE a po¬ nadto zostaje równiez pobudzone wejscie SUB. Na skutek tego zawartosc rejestru czasowego OP2 zo¬ staje odjeta od zawartosci rejestru OP1. Odejmo¬ wanie jest przeprowadzane w znany sposób przez uzupelnienie odjemnej i zwiekszenie jej p jednosc po czym jest ona dodawana do odjemnika. Gdy wartosc odjemnika lezy pomiedzy 1011 a 0010, czyli dla ostatnich osmiu wartosci przyjmowanych przez rejestr nadajnika impulsów synchronizujacych, co odpowiada zakresowi I na fig. 5, róznica ma je¬ dynke w pozycji o najwyzszej wadze rejestru wy¬ ników RR zespolu arytmetycznego AE, natomiast w innym przypadku pozostawione jest zero. Je¬ dynka oznacza, ze rejestr nadajnika impulsów syn¬ chronizujacych przekroczy wartosc, przy której powinien byc dokonany skok do programu A, na¬ tomiast zero oznacza, ze wartosc ta nie zostala jeszcze przekroczona.. Uzyskanie w ten sposób zera powoduje, ze wejscie FI urzadzenia uruchamiaja¬ cego SR zostaje pobudzone przez bramke IG —17 oraz bramke LUB G —18 i urzadzenie zostaje przelaczone, na skutek czego otworzone zostaja, bramki G5 — G8 rejestrów CB i SARB. Nastepne takie same operacje, jak powyzej podane, sa powta¬ rzane dla zawartosci rejestru. Jesli jednak w pozy¬ cji o najwiekszej wadze rejestru RR jest tylko jedyn¬ ka to zostaje otworzona bramka G4, na skutek czego zawartosc rejestru SARA jest odczytywana w dekoderze AVK. Rejestr ten zawiera adres poczatkowy programu A i adres ten jest podawa¬ ny przez dekoder, po czym wykonywany jest wy¬ mieniony program. Przy ostatnim rozkazie tego programu do rejestru czasowego OP1 podawana jest jak pokazano na rysunku, cyfra 1, ze wzgledu na fakt, ze program ten ma byc wykonywany w co drugim interwale podstawowym. Nastepnie zostaje pobudzone wejscie ADD zespolu arytme¬ tycznego a suma tej liczby i wartosci rejestru na¬ dajnika impulsów synchronizujacych, która jest uzyskana w rejestrze wyników RR przenoszona jest do rejestru CA. Na skutek tego skok do programu A bedzie wykonany skoro tylko zostanie sprawdzo¬ na zawartosc rejestru, po czym rejestr nadajnika impulsów synchronizujacych zostaje przelaczony o dwa kroki dalej, to jest wywolywany jest wed¬ lug fig. 2 program A. Trzeba zwrócic ponadto uwa¬ ge na to, ze zwlaszcza gdy wykonywane sa pro¬ gramy o niskim poziomie pierwszenstwa, na przy¬ klad programy C i D, istnieje niebezpieczenstwo, ze z generatora impulsów PG zostanie otrzymany im¬ puls synchronizujacy w czasie, gdy program jest wykonywany, przez co urzadzenie uruchamiajace zostaje przestawione w swój stan wyjsciowy i wy¬ konywanie programu zostaje przerwane aby w na¬ stepnym interwale podstawowym moglo nastapic wznowienie wykonywania programu od tego adre¬ su, wiec adres, przy którym nastapilo przerwanie musi oczywiscie byc zapamietany. Aby to uzyskac, rejestr adresowy AR, w którym zapamietywane sa adresy bezposrednio adresowane, jest polaczony przez bramki I G2, G6, G10 i G14 z rejestrami7 80704 8 SARA — SARD, dzieki czemu, gdy zostanie otrzy¬ many impuls z generatora impulsów PG, aktualny adres jest utrzymywany w odpowiednim rejestrze, na skutek czego przy przerwaniu programu, pro¬ gram ten w nastepnym interwale zostaje wznowio¬ ny w miejscu przerwania. Z tego wzgledu na kon¬ cu kazdego programu znajduje sie rozkaz, przez który wyznaczony jest adres poczatkowy programu w przynaleznym mu rejestrze. Ponadto kazdy pro¬ gram, z wyjatkiem programu D jest zakonczony rozkazem przelaczenia urzadzenia uruchamiajacego. PL PL