Przedmiotem wynalazku jest uklad pamieci komputera, zawierajacy pamiec slów z elementami pamieci ulozonymi w zespoly, przy czym kazdy zespól jest przeznaczony do zapamietywania cyfrowych slów, które skladaja sie z bitów systemu dwójkowego. Elementy w kazdym zespole i dwójkowe bity slów sa okreslane przez odpowiednie indeksy bitowe. Uklad zawiera rejestr slów, w którym slowa sa zapamietywane krótkotrwale w zaleznosci od jednostki sterujacej komputera. Bity slów sa przekazywane z rejestru do pamieci slów i odwrot¬ nie odpowiednio do torów zapisu i torów odczytu, co zwiazane jest z zapisem i odczytem pamieci slów. Uklad ponadto zawiera rejestr adresów slów, w którym jest zapamietywany krótkotrwale adres slowa, pod którym cyfrowe slowo jest zapisywane i odczytywane z odpowiednich elementów zespolu pamieci okreslanej przez adres slowa.Tego rodzaju uklad pamieci jest przedstawiony na przyklad w szwedzkim opisie patentowym nr 227356.Kilka takich ukladów pamieci tworzy blok pamieci komputera, w którym zapisane sa rozkazy, dane stanu oraz przejsciowe dane dotyczace systemu skladajacego sie z pewnej liczby wspóldzialajacych bloków, na przyklad w automatycznej centrali telefonicznej, która jest sterowana komputerem. Funkcje bloku pamieci, na przyklad zapisywanie czy odczytywanie cyfrowych slów, sa wykonywane przez jednostke sterujaca komputera, podobnie jak przekazywanie cyfrowych slów i adresów, na przyklad liczba rejestrów w centralnym bloku przetwarzajacym komputera, oraz rejestry slów i odpowiednie rejestry adresów ukladu pamieci.Aby zapewnic prace komputera bez bledów sa potrzebne znaczne srodki ekonomiczne i techniczne. Wyzej wymieniony szwedzki opis patentowy przedstawia sposób i srodki jakimi osiagnieto niezawodnosc dzialania poprzez redundancje otrzymana przez zastosowanie dwóch komputerów pracujacych równolegle. Gdy powstaje blad w bloku funkcjonalnym i zostaje on wykryty, komputery kontynuuja prace równolegle, z wyjatkiem blednego bloku funkcjonalnego. Na przyklad jesli blad powstal w ukladzie pamieci, blednie funkcjonujacy blok zostaje mozliwie najszybciej wymieniany przez personel obslugujacy. Jesli w tym niekorzystnym przypad¬ ku, kiedy tylko jeden z bloków funkcjonalnych pracuje zamiast dwóch komputerów, powstanie blad w pojedyn¬ czym bloku, to nie zostanie on wykryty, spada wiec niezawodnosc ukladu w tym okresie.2 101 776 Uklad pamieci znany na przyklad z opisu patentowego USA nr 3633175 osiaga poprawe niezawodnosci przy pomocy pamieci wtórnej. Adres elementarnego zespolu zawierajacego bledny element zostaje ponownie zakodowany w adresie pamieci wtórnej w jednym z elementarnych zespolów tejze pamieci, który to zespól zastepuje wtedy caly elementarny zespól z blednym elementem. Jezeli jednak blok pamieci komputera sklada sie z tak zwanych bitowo-orientowanych pólprzewodnikowych pamieci, to istnieje ryzyko, ze wszystkie elemen¬ ty ukladu pamieci moga byc bledne i wtedy indeksy bitu zgodza sie z indeksem bitu pierwszego wykrytego blednego elementu, tak wiec nie jest wówczas mozliwe unikniecie okresu zmniejszonej niezawodnosci poprzez uzycie kilku wtórnych elementarnych zespolów pamieci.Celem wynalazku jest unikniecie okresów zmniejszonej niezawodnosci, kiedy to jeden z elementów pamieci slów zawarty w ukladzie pamieci komputera zostaje zidentyfikowany jako bledny przy pomocy programu wykrywania bledu.Uklad pamieci komputera zawierajacy pamiec slów z elementami pamieci przyporzadkowanymi slowom i przynajmniej jednym rezerwowym elementem pamieci, zawierajacy rejestr slów, jednostke sterujaca, tor zapisu i tor odczytu, przenoszace bity slów pomiedzy rejestrem slów a pamiecia slów i odwrotnie, a ponadto zawieraja¬ cy rejestr adresów slów oraz uklad identyfikacji wykrywajacy element pamieci do zastapienia przez rezerwowy element pamieci, wedlug wynalazku charakteryzuje sie tym, ze uklad identyfikacji zawiera pamiec stanu, wytwarzajaca, w zwiazku ze sterowaniem pamieci slów pierwszy lub drugi sygnal wskaznikowy, wskazujacy czy rezerwowy element pamieci sterowanej pozycji slow^jest konieczny, lub nie jest konieczny. Ponadto uklad identyfikacji zawiera pamiec wskaznika bitu z dolaczonym dekoderem wskaznika bitu zapewniajacy dla kazdego adresu slowa jednoczesnie wskaznik bitu zastepowanego elementu pamieci.W celu wpisywania uklad zawiera bramki zapisu, które w stanie aktywnym wywolanym przez dekoder wskaznika bitu, dodatkowo do torów zapisu miedzy rejestrem slów a odpowiednimi elementami pamieci, stano¬ wia tor zapisu pomiedzy adresowana pozycja binarna rejestru slowa, a rezerwowym elementem pamieci adreso¬ wanej pozycji slowa. Ponadto do odczytu uklad zawiera przelaczniki do zmiany kierunku (nawrotniki), które indywidualnie dla kazdego elementu pamiec! sterowanego przez dekoder wskaznika bitu, dolaczaja rejestr slów do toru odczytu elementu rezerwowego, lub do toru odczytu adresowanego elementu pamieci.Z torem odczytu rezerwowego elementu pamieci jest polaczone jedno wejscie nadzorujacego ukladu, przy czym drugie wejscie tego nadzorujacego ukkdu jest polaczone, poprzez dekoder wskaznika bitu sterujacego bramki kontroli, z odpowiednim torem odczytu elementów pamieci. Nadzorujacy uklad wytwarza sygnal alarmu jesli porównywane bity sa rózne. Ponadto z pamiecia stanu jest polaczone wejscie sterujace blokujacego ukladu, który w wyniku wystepowania pierwszego lub drugiego sygnalu wskaznikowego blokuje sygnalem alarmu uklad nadzorujacy, lub przekazuje ten sygnal dalej do jednostki sterujacej.Dekoder wskaznika bitu polaczony jest z bramkami blokujacymi, których wyjscia dolaczone sa do odpo¬ wiednich przelaczników do zmiany kierunku, które to bramki blokujace w wyniku wystepowania drugiego sygnalu wskaznikowego zapobiegaja pobudzeniu wejscia sterujacego pamieci wskaznika bitu zapamietujacej wskaznik bitu przelaczników do zmiany kierunku.Przedmiot wynalazku jest blizej objasniony w przykladzie wykonania na rysunku, który przedstawia uklad pamieci komputera.Elementy ukladu pamieci sa zgodnie ze znana technika przetwarzania danych dla mikroprogramów, stero¬ wane przez sterujaca jednostke SE komputera. Cyfrowe slowa skladajace sie z dwójkowych bitów i adresów slów sa przekazywane miedzy centralna jednostke komputera, rejestrem slów OR oraz rejestrem adresów slów OAR ukladu pamieci i na odwrót, co na rysunku jest pokazane wchodzacymi i wychodzacymi strzalkami.Rejestr adresów slów OAR jest polaczony z dekoderem OAA i cyfrowe slowa sa zapisywane i odczytywane z pamieci slów OM, przy pomocy adresów przechowywanych w rejestrze adresów OAR i dekodowane w dekode¬ rze adresów slów OAA. Mikroprogram, poprzez pobudzanie obwodów sterowania S i L miedzy sterujaca jedno¬ stka SE i pamiecia slów OM, wskazuje, ze ma zachodzic zapis lub odczyt.Kazdy rejestrujacy element Rj, R2... Rn rejestru slów OR przyjmuje bit dwójkowy, okreslany poprzez wskaznik bitu bx, b2... bn, tworzac czesc cyfrowego slowa. Dla kazdego adresu slowa, pamiec slów OM zawiera elementarny zespól pamieci, zawierajacy elementy pamieci E!, E2... En kazdy do zapamietania bitu dwójkowe¬ go o wskaznikach bl9 b2... bn. Bity te sa przekazywane z i do elementów rejestrujacych rejestru slów poprzez tory zapisu IL1, IL2... ILn oraz tory odczytu ULI, UL2... ULn i przez bramki typu I, G21, G22... G2n stanowia¬ ce elementy skladowe przelaczników OKI, OK2... OKn do zmiany kierunku (nawrotników).Niezaleznie od elementów pamieci El, E2... En, kazdy zespól zawiera rezerwowy element pamieci. Jak pokazano na rysunku kazdy zespól elementów pamieci jest rozszerzony o rezerwowy element pamieci Er, który swym torem zapisu ILr jest polaczony z bramkami zapisu Gl 1, G12... Gin i który swym torem odczytu ULr jest polaczony z bramkami G31, G32... G3n wchodzacymi w sklad przelaczników OKI, OK2... OKn do zmiany kierunku.101 776 3 Rysunek pokazuje przykladowo bramke zapisu Gl 1 w stanie czynnym, spowodowanym pojawieniem sie na wejsciu sterujacym Stl sygnalu binarnej jedynki, który to sygnal zapewnia polaczenie do zapisu miedzy elementem rejestrujacym Rl i wtórnym elementem pamieci Er. Na rysunku widac równiez, ze przelacznik OKI do zmiany kierunku nastawia dwa alternatywne polaczenia odczytu do elementu rejestrujacego Rl. Funkcja przelaczania odbywa sie w znany sposób przy pomocy bramek G21, G31, których wyjscia sa polaczone z reje¬ strujacym elementem Rl, a który z kolei jest polaczony z elementem pamieci El i wtórnym elementem pamieci Er kiedy odpowiednio bramki G21 i G31 sa pobudzone. Jesli negujace wejscia sterujace bramki G21 i sterujace wejscie bramki G31 sa polaczone z wejsciem sterujacym St2 przelacznika OKI, pozycja czynna lub bierna przelacznika sprowadza sie do wyniku dwójkowego „O" albo.,,1" na wyjsciu sterujacym St2. Do elementu rejestrujacego Rl dwójkowy bit jest w pozycji biernej odczytywany z elementu pamieci El i w pozycji czynnej z elementeu wtórnego Er.Zgodnie z wynalazkiem uklad pamieci zawiera równiez rejestr wskaznika bitu BR z polaczonym dekode¬ rem wskaznika bitu BA, wyjscia których sa polaczone w kolejnosci indeksów bitów z wejsciami sterujacymi Stl, St2 do odpowiednich wejsc bramek Gl 1, G12... Gin i przelaczników OKI, OK2... OKn. Blokujace bramki G41, G42... G4n sa umieszczone w obwodach sterowania przelaczników do zmiany kierunku.Dla uproszczenia przyjmuje sie, ze bramki blokujace dzialaja jak zwarte styki. Rejestr wskaznika bitu BR jest podobnie zasilany jak rejestr slów OR. Z jednostki centralnej komputera wskaznik bitu bl, b2... bn jest wybierany przez sterujaca jednostke SE, co pokazane jest na rysunku przy pomocy strzalki ze zwrotem wskazu¬ jacym na wejscie, poza tym pokazany jest obwód sterowania od jednostki sterujacej do rejestru wskaznika bitu.Kazdy zarejestrowany wskaznik bitu pobudza jedno z wyjsc dekodera wskaznika bitu tak, ze binarny bit w cyfrowym slowie okreslony poprzez zarejestrowany wskaznik bitu jest zapisany zarówno w pamieci elementu okreslanego poprzez wskaznik bitu, jak i w elemencie rezerwowym, ale jest odczytywany wylacznie z elementu rezerwowego, który w ten sposób zastepuje odpowiedni element pamieci.Jezeli przyjac, ze rejestrowany wskaznik bitu zostal otrzymany w rezultacie dzialania powyzej omówione¬ go programu wykrywania bledów, w blednych elementach pamieci, to uklad pamieci nie musi byc wylaczany az do czasu, gdy personel obslugujacy wymieni bledna pamiec slów, dzieki czemu osiaga sie praktycznie nieograniczona niezawodnosc przy równoleglej pracy dwóch komputerów.W ukladzie pamieci, dzieki wskaznikowi bitu zarejestrowanemu w rejestrze BR, odpowiednie elementy pa¬ mieci we wszystkich elementarnych zespolach sa zastepowane przez odpowiednie elementy rezerwowe, mimo iz tylko jeden zespól jest bledny.Jezeli kazdy elementarny zespól zawiera kilka rezerwowych elementów z towarzyszacymi bramkami zapi¬ su, przelacznikami do zmiany kierunku i rejestrami wskaznika bitu, kilka bledów moze byc eliminowanych z pamieci slów OM bez wplywu na niezawodnosc komputerów. Jednakze w takich pamieciach.slów, liczba elementarnych zespolówjest duzo wieksza niz liczba elementów w kazdym zespole, stad tez jest male prawdopo¬ dobienstwo, ze nowy blad powstanie w pamieci zespolu, który juz zawiera bledny element.Idea zastosowania elementów rezerwowych w bardziej elastyczny sposób jest oparta na zasadzie prawdopo¬ dobienstwa. W tym celu zastosowano pamiec BM wskaznika bitu, w której wybrane przez sterujaca jednostke SE, wskazniki bitów sa zapisywane oraz odczytywane odpowiednio przy pomocy omawianego rejestru wskaznika bitu BR i rejestru BAR adresów tychze wskazników, w którym przez jednostke sterujaca komputera, adres wskaznika bitu jest rejestrowany synchronicznie z rejestracja adresu slowa w rejestrze adresów slów OAR.Mozliwe sa dwie alternatywne zaleznosci miedzy adresami slów a adresami wskazników bitów. Pierwsza alternatywa to ustalone zaleznosci, w której kazdy adres wskaznika jest niezmiennie przeznaczony do zespolu adresu slów, który w skrajnym przypadku sklada sie z tej samej liczby adresów wskazników bitowych co adresów slów. W takim przypadku jeden element pamieci moze byc bledny w kazdej czesci pamieci slów okreslonej przez zespól adresu slów, bez ograniczenia niezawodnosci systemu równoleglej pracy.Druga alternatywa to elastyczne zaleznosci adresów, kiedy to sterujaca jednostka SE wybiera jeden z adre¬ sów wskazników bitowych aby przyporzadkowac mu adres slowa, który wskazuje bledny zespól elementarny, albo zeby przypisac mu zespól adresu slowa, z którym wspólpracujace elementarne zespoly wymagaja nadzoro¬ wania.Druga elastyczna alternatywa wyraznie podwyzsza koszty sterujacej jednostki SE, ale przy wzglednie malej pamieci BM wskaznika bitu osiaga sie to, ze kazdy adres wskaznika ma podporzadkowany tylko jeden adres slowa na wymiane blednego elementu pamieci. Tresc dwóch równolegle pracujacych pamieci slów musi byc ponownie uporzadkowana zanim dwa równolegle dzialajace komputery beda kontynuowaly przerwana prace wskutek bledu w jednej z pamieci slów. Uporzadkowanie ogranicza sie wprawdzie do jednego slowa, jezeli jedynie bledny element parriieci byl wymieniony przez element rezerwowy, podczas gdy bezbledne elementarne zespoly zostaly nienaruszone.4 101 776 Dotychczas przyjmowalo sie, ze wskaznik bitu jest rejestrowany w rejestrze wskaznika bitu BR, kiedy zostaje zidentyfikowany bledny element pamieci, aby przy pomocy bramki zapisu i przelacznika do zmiany kierunku, zastapic ten bledny element przez element rezerwowy.Jezeli podczas normalnej pracy komputera z bezbledna pamiecia slów, rejestrowany jest dowolny wska¬ znik bitu w rejestrze wskaznika bitu, bezbledne cyfrowe slowa sa odczytywane przez rejestr slów nawet wtedy, gdy zgodnie z powyzszym, dwójkowe bity okreslane przez omawiany dowolny wskaznik bitu sa odczytywane z elementów rezerwowych. Stad, w ukladzie pamieci wskazniki bitów moga byc rejestrowane do kontrolowania bezblednej pamieci slów. Wyjscia dekodera wskaznika bitu BA pobudzaja wtedy swoje odpowiednie bramki kontroli G51, G52... G5n, które w stanie czynnym lacza wyjsciowe przewody odpowiednich elementów pamieci El, E2... En z pierwszym wejsciem nadzorujacego ukladu OV, którego drugie wejscie jest polaczone z torem odczytu ULr rezerwowego elementu pamieci.Uklad nadzorujacy, który sklada sie z bramki EO róznicy symetrycznej, dostarcza ze swojego wyjscia sygnal alarmowy do sterujacej jednostki SE, jezeli bity dwójkowe przekazane na jego wejscia róznia sie. Przed¬ miotem tego nadzorowania jest glównie sprawdzenie, czy uklad pamieci jest przygotowany aby przeprowadzic operacje polaczenia zwrotnego spowodowana przez bledny element. Jezeli jednak uklad pamieci jest wyposazo¬ ny w pamiec wskaznika bitu BM, tak ze wskaznik bitu jest zarejestrowany dla kazdego slowa, normalna praca komputera nie jest naruszana nawet, jesli dla celów nadzorowania, wskaznik bitu przeznaczony do elementarnego zespolu jest zmieniony w powiazaniu z kazdym zapisem w tym elementarnym zespole. Otrzymuje sie w ten sposób intensywne wewnetrzne nadzorowanie wszystkich elementów pamieci.Jezeli nadzorujacy uklad OV alarmuje komputer zanim blad spowoduje zatrzymanie pracy dwóch kompu¬ terów pracujacych równolegle, wówczas staje sie bledny element pamieci, który jest okreslony przez wskaznik bitu zarejestrowany w czasie alarmu. W tym przypadku nadzorowanie elementarnych zespolów jest wstrzymane, a omawiany wskaznik bitu jest zanotowany w pamieci wskaznika bitu pod odpowiednim adresem wskaznika bitu, tak, ze bledny element, podczas dalszej pracy komputera, nie jest polaczony z rejestrem slów OR do odczytu.Na rysunku strzalki wychodzace z rejestru BR wskaznika bitu, oraz rejestru adresu wskaznika bitu BAR, wskazuja, ze w czasie alarmu odpowiednie zapisy moga byc uzyte jako dane sprawdzajace w komputerze, na przyklad w programie wykrywania bledów. Rysunek przedstawia blokujacy uklad G6, który w stanie biernym jest ustawiany, tak aby zapobiec wyjsciu sygnalu alarmu z ukladu nadzorujacego OV. Dlatego tez, jezeli bledny element pamieci zostal wykryty w drodze wewnetrznego sprawdzania ukladu pamieci, badz tez przy pomocy programu testowego do wykrywania bledów i jezeli bledny element pamieci zostal wymieniony przez rezerwo¬ wy element pamieci, to w przypadku braku omawianego ukladu blokujacego, sygnal alarmowy bylby wyzwala¬ ny przy kazdym czytaniu z elementarnego zespolu. Blokujacy uklad G6 jest najprosciej realizowany przy pomo¬ cy „I", jedno wejscie której jest polaczone z wyjsciem bramki EO róznicy symetrycznej, a sygnal wskazujacy w formie binarnej jest wprowadzany do drugiego wejscia przez sterujaca jednostke SE komputera.Jak przedstawiono na rysunku, do drugiego negujacego wejscia blokujacego ukladu G6 wprowadza sie sygnal „0** i „1" systemu dwójkowego wskazujacy odpowiednio, czy uklad pamieci jest sprawdzony i czy ma co najmniej jeden bledny element pamieci.Jezeli z jakichkolwiek powodów nie dopuszcza sie w stanie nadzorowania ukladu pamieci, aby binarny bit okreslony przez wskaznik bitu bl, b2... bn zarejestrowany w rejestrze wskazników BR byl odczytywany z ele¬ mentu rezerwowego, umieszcza sie blokujace bramki G41, G42... G4n. Kazda z tych bramek w kolejnosci wska¬ zników bitowych ma swoje pierwsze wejscie i wyjscie polaczone odpowiednio z dekoderem wskazników BA i z wyjsciem sterujacym przelaczników OKI, OK2... OKn do zmiany kierunku, a drugie wejscia bramek sa pola¬ czone w obwód SL wspólnego sygnalu, poprzez który sygnal wskazujacy jest przekazywany w formie binarnej ze sterujacej jednostki komputera.Wstanie nadzorowania wskazywanego przez „0" systemu binarnego, wszystkie przelaczniki do zmiany kierunku pozostaja w pozycji biernej, tak, ze binarne bity odczytywane z elementów rezerwowych nie sa przeka¬ zywane do elementów rejestrujacych Rl, R2... Rn rejestru slów, ale tylko do ukladu nadzorujacego OV.Korzystne jest umiescic w rejestrze wskaznika bitu BR element rejestracji sygnalów RS, aby poprzez sterujaca jednostke komputera, zapisac omówione sygnaly wskazujace równoczesnie ze wskaznikami bitów.Element rejestracji RS jest polaczony z wejsciem sterujacym ukladu blokujacego i obwodem SL wspólnego sygnalu bramek blokujacych.Jezeli uklad pamieci jest wyposazony w pamiec wskazników bitów, to zawiera on dla kazdego adresu bitu pamiec stanu ES do zapamietywania wspomnianych sygnalów wskazujacych polaczonych ze wskaznikami bi¬ tów, tak ze sprawdzanie elementarnych zespolów trwa podczas zastepowania blednych elementów przez elemen¬ ty rezerwowe przy jednoczesnym blokowaniu sygnalu alarmowego z ukladu nadzorujacego.101 776 5 PL