Przedmiotem wynalazku jest mikroprogramowa jed¬ nostka sterujaca do sterowaia wykonywaniem rozkazów przez programowane urzadzenie do przetwarzania da¬ nych.Znane urzadzenia do przetwarzania danych wyko¬ rzystuja elementy logiczne polaczone w okreslona kon¬ figuracje w celu wytwarzania sygnalów do sterowania wykonywaniem rozkazów w odpowiedzi na sygnaly ope¬ racyjne wyprowadzane z tych rozkazów.Wiekszosc znanych ukladów logicznych stanowiacych urzadzenia do przetwarzania danych jest uzywana do sterowania wykonywaniem rozkazów przez to urzadze¬ nie. Sterowanie to jest normalnie realizowane przez skom¬ plikowane powiazania dyskretnych elementów logicznych lub ukladów scalonych, przystosowane do selektywnego wytwarzania sygnalów sterujacych w odpowiedzi na in¬ formacje slów rozkazów dostarczane z pamieci urzadzenia do przetwarzania danych.Wada tego typu rozwiazania ukladów sterowania lo¬ gicznego jest zlozonosc i wysoki koszt, co jest spowodo¬ wane stosowaniem wielu elementów logicznych. Poza tym, taki typ rozwiazania nie ma uniwersalnego zasto¬ sowania w róznych typach urzadzen do przetwarzania danych, to znaczy dla kazdego nowego typu urzadzenia musi byc specjalnie wykonywany uklad sterowania lo¬ gicznego.Na skutek tych wad ostatnio istnieje tendencja do pro¬ jektowania urzadzen do przetwarzania danych, w których wykorzystywana jest pojedyncza pamiec odczytowa po¬ siadajaca pamietany mikroprogram do sterowania wy¬ konywaniem rozkazów. Znane mikroprogramy sklada¬ jace sie z wiciu slów sterowania ulozonych w ustalona konfiguracje, wskutek czego mikroprogram jest wyko¬ nywany poprzez wiele podprogramów. 5 Kazdy podprogram jest powiazany z odpowiednim rozkazem, który ma byc wykonany przez urzadzenie.Wskutek tego do pomieszczenia wszystkich slów stero¬ wania dla kazdego rozkazu wymagana jest duza pamiec odczytowa lub wiele pamieci. Rozwiazanie tego typu ia daje oszczednosc kosztów w porównaniu z rozwiazaniem z logicznymi elementami dyskretnymi, jednakze w dal¬ szym ciagu jest ono drogie wskutek koniecznosci stoso¬ wania duzej pamieci odczytowej.W celu zmniejszenia rozmiarów i kosztów pamieci 15 odczytowych projektowano równiez jednostki sterujace, stosujac z tymi pamieciami dodatkowe uklady sterowa¬ nia logicznego. Przy takim rozwiazaniu, pamiec odczy¬ towa zawiera mniej podprogramów mikroprogramu, przy czym kazdy podprogram moze czesciowo sterowac wy- 20 konywaniem wielu rozkazów posiadajacych wspólne ce¬ chy wykonywania. Jednakze, podczas wykonywania tych wielu rozkazów dochodzi sie do punktu, w którym nie ma juz wspólnych cech, to znaczy spelniaja one rózne fun¬ kcje w urzadzeniu do przetwarzania danych. Zachodzi 25 wiec potrzeba stosowania dodatkowych ukladów stero¬ wania logicznego, aby do sterowania urzadzeniem mogly byc wytwarzane niezbedne sygnaly sterujace, oddzielne dla kazdego z wielu rozkazów.Kazde z opisanych rozwiazan wykazuje pewne zalety 30 zaleznie od ilosci i skomplikowania rozkazów, które urza* 112 808112 808 3 dzenie moze wykonywac. Jednakze, jak stwierdzono po¬ przednio, gdy jednostka sterujaca jest rozwiazywana z zastosowaniem dyskretnych elementów logicznych, wy¬ maga jo indywidualnego rozwiazani? dla kazdego urza¬ dzenia do przetwarzania danych.' Zadaniem wynalazku jest zaprojektowanie uniwersal¬ nej jednostki sterujacej, w której bylaby zmniejszona liczba wymaganych ukladów sterowania logicznego przez zastosowanie wielu pamieci zawierajacych informacje dotyczace mikroprogramu i mikrodekodowania do ste¬ rowania realizacja rozkazów przez urzadzenie do przetwa¬ rzaniadanych. m Zadanie zostalo zrealizowane w wyniku zaprojektowa¬ nia mikroprogramowej jednostki sterujacej, zawierajacej procesor, polaczony z pamiecia, przeznaczona do zapa¬ mietywania rozkazów, które maja byc wykonywane przez ten procesor, które to rozkazy zawieraja przynajmniej czesc kodowo-operacyjna identyfikujaca rozkazy, mikro¬ programowy blok sterujacy, polaczony z procesorem, przeznaczony do sterowania wykonywaniem rozkazów przez ten procesor, który to mikroprogramowy blok ste¬ rujacy zawiera pierwsza pamiec, przeznaczona do zapa¬ mietywania mikrorozkazów, i druga pamiec, przeznaczo¬ na do zapamietywania slów sterujacych, z których kazde jest przyporzadkowane jednemu z rozkazów, które maja byc wykonywane przez procesor, przy .czym slowa ste¬ rujace zawieraja informacje adresowa i informacje ste¬ rujaca, wykorzystywana do sterowania procesorem, przy czym druga pamiec jest polaczona z procesorem i adre¬ sowana z niego w odpowiedzi na kodowa informacje ste¬ rujaca celem zapewnienia mozliwosci poszukiwania slów sterujacego z drugiej pamieci, zespól sterujacy, przezna¬ czony do selektywnego doprowadzania sygnalów adreso¬ wanych do pierwszej pamieci celem wyszukania w niej mikrorozkazów.Zgodnie z wynalazkiem zespól sterujacy przeznaczony do selektywnego doprowadzania sygnalów adresowych do pierwszej pamieci celem wyszukania w niej mikro¬ rozkazów, które to mikrorozkazy sa mikrorozkazami pierw¬ szego i drugiego rodzaju, przy czym mikrorozkazy pierw¬ szego rodzaju zawieraja dane sterujace wykorzystywane do sterowania sekwencja mikrorozkazów i informacja adresowa dla mikrorozkazów, a mikrorozkazy drugiego rodzaju zawieraja dane sterujace wykorzystywane do ste¬ rowania sekwencja mikrorozkazów i informacje steruja¬ ca dla procesora, zawiera uklad testujacy i uklad przesylania informacji adresowej, przy czym wejscie sterujace ukladu testujacego jest polaczone laczem doprowadzajacym in¬ formacje operacyjno-kodowa z jednym z wyjsc proceso¬ ra, pierwsze i drugie wejscia informacyjne ukladu tes¬ tujacego sa polaczone z pierwszym i drugim wyjsciami informacyjnymi drugiej pamieci laczami informacyjnymi, trzecie wejscie informacyjne ukladu testujacego jest po¬ laczone z wyjscienr sterujacym pierwszej pamieci laczem, którym sa doprowadzane dane sterujace zawarte w uprzed¬ nio odszukanych mikrorozkazów pierwszego i drugiegoo rodzaju celem wytworzenia adresowych sygnalów ste¬ rujacych, które sa przeznaczone do wykorzystywania do zapewnienia kolejnego dostepu do pierwszej pamieci.Przy tym laczem informacyjnym do ukladu testujacego sa doprowadzane sygnaly adresowe i operacyjno-kodowe z pierwszego wyjscia drugiej pamieci, a innym laczem doprowadzane sa sygnaly odwzorowujace slowa sterujace dla mikrorozkazów z drugiego wyjscia drugiej pamieci, wejscie sterujace ukladu przesylania adresów jest pola- 4 czone z wyjsciem sterujacym pierwszej pamieci, laczem doprowadzajacym do ukladu przesylania adresów syg¬ naly sterujace.Pierwsze wejscie informacyjne tego ukladu przesy- 5 lania adresów jest polaczone z drugim wejsciem drugiej pamieci laczem doprowadzajacym informacje adresowa, zawarta w slowach sterujacych uprzednio odszukanych w drugiej pamieci, a innym laczem doprowadzana jest informacja adresowa i dane sterujace zawarte w mikro- rozkazach jednego rodzaju z wymienionych mikroroz¬ kazów pierwszego i drugiego rodzaju uprzednio odszu¬ kanych w pierwszej pamieci.Wyjscie ukladu przesylania adresów jest polaczone z wejsciem pierwszej pamieci. Przy tym uklad przesy¬ lania adresów w pierwszej kolejnosci reaguje na adresowe sygnaly sterujace i na dane sterujace zawarte w uprzednio odszukanych mikrorozkazach pierwszego rodzaju celem wyselekcjonowania i przesylania informacji adresowej, zawartej w uprzednio odszukanych mikrorozkazach pierw¬ szego rodzaju i uprzednio odszukanym slowie sterujacym do pamieci jako sygnaly adresujace, a w drugiej kolej¬ nosci — do przesylania adresów jako sygnalów adresu¬ jacych do pierwszej pamieci w odpowiedzi na dane ste¬ rujace, doprowadzane do ukladu testujacego, zawarte w uprzednio odszukanym mikrorozkazie drugiego ro¬ dzaju, oraz uklad multipleksera, sterujacego polaczony z pierwsza i druga pamieciami, przeznaczony do selektyw¬ nego doprowadzania sygnalów sterujacych, przeznaczo¬ nych do sterowania procesorem zgodnie z informacja sterujaca procesorem, zawarta w uprzednio odszuka¬ nym slowie sterujacym i w informacji sterujacej proceso¬ rem oraz w danych sterujacych, zawartych w uprzednio odszukanym mikrorozkazie drugiego rodzaju.Uklad przesylania adresów zawiera zalaczony na wejs¬ ciu mikroprogramowy multiplekser, którego pierwsze wejscie informacyjne stanowi pierwsze wejscie informa¬ cyjne ukladu przesylania adresów, drugie wejscie infor¬ macyjne stanowi drugie wejscie informacyjne ukladu prze¬ sylania adresów, ^ wejscie sterujace stanowi wejscie ste¬ rujace ukladu przesylania adresów, oraz mikroprogra¬ mowy.licznik szeregowo-równolegly, którego wyjscie jest polaczone z wejsciem pierwszej pamieci, pierwsze wejscie sterujace z wyjsciem ukladu testujacego, a drugie wejscie sterujace' — z laczem doprowadzajacym sygnal zalacza¬ jacy.Pierwsza pamiec i druga pamiec sa pamieciami odczy¬ towymi (ROM).Druga pamiec zawiera rejestr przeznaczony do odbie¬ rania sygnalów adresowych z procesora, przeznaczone do adresowania komórek pamieci w drugiej pamieci, przy czym wyjscie rejestru stanowi pierwsze wyjscie drugiej pamieci, polaczone z pierwszym wejsciem informacyjnym ukladu testujacego zespolu sterujacego.Pierwsze, wejscie informacyjne ukladu multipleksera jest polaczone z drugim wyjsciem drugiej pamieci laczem doprowadzajacym informacje identyfikacyjna, drugie wejs¬ cie informacyjne ukladu jest polaczone z wyjsciem infor¬ macyjnym ukladu jest polaczone z wyjsciem informacyj¬ nym pierwszej pamieci, pierwsze wejscie sterujace jest polaczone z laczem, doprowadzajacym sygnal zalaczajacy, drugie wejscie sterujace jest polaczone z wyjsciem ste¬ rujacym pierwszej pamieci laczem doprowadzajacym sygnaly sterujace, a wyjscie informacyjne i wyjscie ste¬ rujace sa polaczone laczami informacyjnymi i sterujacymi z procesorem. 10 15 20 25 30 35 40 45 50 55 60112 808 Koncepcja podwójnej pamieci zastosowana w jednostce sterujacej wedlug wynalazku wykazuje te wazna zalete, ze jednostka sterujaca moze byc wykonana z minimalnej liczby elementów logicznych. Poza tym, programowana jednostka sterujaca wedlug wynalazku moze byc zapro¬ gramowana przez uzytkownika do sterowania dowolnego typu urzadzenia do przetwarzania danych, cyfrowej jed¬ nostki sterujacej, lub urzadzenia zewnetrznego, bez po¬ trzeby projektowania nowej jednostki sterujacej.Zaleta mikroprogramowej jednostki sterujacej do ste¬ rowania urzadzenia zewnetrznego jest to, ze posiada ona zwiekszone mozliwosci stosowania. "~ Przedmiot wynalazku jest uwidoczniony w przyklado¬ wym wykonaniu na rysunku, na którym lig. 1 przedstawia ogólny schemat blokowy urzadzenia^ do przetwarzania danych zawierajacego mikroprogramowa jednostke ste¬ rujaca wedlug wynalazku, przy czym linie ciagle przedsta¬ wiaja lacza sygnalów informacyjnych lub sygnalów da¬ nych, a linie przerywane przedstawiaja lacza sygnalów sterujacych, fig. 2 przedstawia strukture slowa poczatko¬ wego rozkazu dla slów rozkazu przechowywanych w urza¬ dzeniu do przetwarzania danych, fig. 3A do 3C przed¬ stawiaja strukture róznych typów slów sterujacych mikro- programu przechowywania w pamieci mikroprogramu, fig. 4 przedstawia strukture slów sterujacych rozkazu zawartych w pamieci mikrodekodowania, fig. 5 przedsta¬ wia schemat blokowy mikroprogramowej jednostki ste¬ rujacej wedlug wynalazku, przy czym linie ciagle i prze¬ rywane maja takie samo przeznaczenie jak na fig. 1, fig. 6 przedstawia tablice dekodowania elementów informa¬ cyjnych szczególnego typu bitów w slowie sterujacym z fig. 3A, a fig. 7A do 7C oraz fig. 8 do 11 wspólnie przed¬ stawiaja schemat blokowy realizacji programu, pokazu¬ jacy kolejnosc realizacji mikroprogramu i podprogramów mikroprogramowej jednostki sterujacej do sterowania wykonywaniem rozkazów przez urzadzenie do przetwa¬ rzania danych.Fig. 1 przedstawia urzadzenie 10 do przetwarzania danych zawierajace procesor 12, który moze byc dowol¬ nego z wielu typów uniwersalnych komputerów cyfro¬ wych lub urzadzen do przetwarzania danych. Dla wyjas¬ nienia wynalazku przyjeto, ze procesor 12 jest proceso¬ rem powszechnie znanego typu, posiadajacym rejestr adresów rozkazów, rejestr K lub licznik, arytmometr logiczny, rejestr A oraz odpowiednie uklady logiczne sterujace lub bramkujace do sterowania operacjami rea¬ lizowanymi przez rejestry i przeplywem informacji w procesorze i poza procesorem.Rejestr adresów-rozkazów IAR moze byc sterowany w celu odbierania rozkazów z arytmometru logicznego i z logicznych ukladów sterujacych lub bramkujacych.Równiez rejestr adresów rozkazów moze byc wykorzys¬ tywany jako rejestr MAR adresów pamieci, do zapisy¬ wania lub rejestrowania informacji w lub do wyszukiwa¬ nia i czytania informacji z pamieci lub glównej pamieci 14, stanowiacej czesc urzadzenia 10 do przetwarzania danych. Poza tym, zawartosc rejestrów adresów rozkazów moga byc wczytywane do pamieci 14 lub zapisywane z pa¬ mieci do lub z komórek adresów okreslonych albo przez rejestr IAR albo przez logiczne uklady bramujace w pro¬ cesorze 12.Rejestr K sluzy jako lisznik do liczenia liczby przesu¬ niec realizowanych przez procesor 12 podczas wykony¬ wania -rozkazów typu przesuwania. Dodatkowo, rejestr K moze byc sterowany w celu zapelnienia go albo z pa- mieci, albo z arytmometru logicznego. Zaleznie od typu rozkazu wykonywanego przez urzadzenie do przetwarza¬ nia danych, zawartosc rejestru K stanowi informacje do¬ tyczaca adresu rozkazu lub liczby przesuniec. 5 Arytmometr logiczny ALU zawiera uklady logiczne powodujace, ze moze byc on sterowany sehktywnie w ce» lu odbierania informacji z rejestru IAR i rejestru K dla wykonywania operacji arytmetycznych i przesuniec mie- dzyrejestrowych.^ 10 Rejestr A jest zasadniczo rejestrem arytmetycznym.Moze on byc sterowany w celu przesuniecia o pewna ilosc pozycji bitowych podczas wykonywania rozkazów dotyczacych przesuniec przez uradzenie do przetwarza¬ nia danych. 15 Rejestr A moze byc równiez sterowany w celu polacze¬ nia z pamiecia 14 podczas realizacji operacji czytania lub zapisywania pamieci. Tak wiec, zawartosc jego moze byc wprowadzana do lub odprowadzana z okreslonych komórek pamieci. Sygnaly wyjsciowe arytmometru lo- 20 gicznego ALU sa równiez bramkowane do rejestru A podczas wykonywania pewnych rozkazów urzadzenia do przetwarzania danych. Przenoszenie informacji pomiedzy procesorem 12 a pamiecia 14 odbywa sie poprzez wiele lacz informacyjnych 16. To przenoszenie informacji jest 25 wywolywane przez sygnaly sterowania, które przeply¬ waja pomiedzy pamiecia a procesorem przez wiele linii 18 sterowania.Mikroprogramowa jednostka sterujaca 20 sklada sie z mikroprogramowej pamieci odczytowej i ukladu lo- 30 gicznego sterowania 22 oraz z odczytowej pamieci mikro¬ dekodowania i ukladu logicznego 24. Jednostka sterujaca 20 zawiera równiez multiplekser 26 sterowania* Odczy¬ towa pamiec 24 mikrodekodowania laczy sie bezposred¬ nio z pamiecia 14 uradzenia do przetwarzania danych 35 poprzez lacza informacyjne 28, odbierajac elementy in¬ formacyjne kodu operacyjnego slów rozkazów z pamieci 14 jako informacje adresowe.Fig. 2 przedstawia strukture slowa rozkazu, która jest przykladem rozkazów zawartych w pamieci 14, przezna- 40 czonych do wykonania przez urzadzenie 10 do przetwa¬ rzania danych. Bity A do F slów rozkazów sa dostarczane do pamieci mikrodekodowania 24 poprzez linie 28 ko¬ dów operacyjnych lub adresów, gdy z pamieci 14 jest wprowadzany jakis "rozkaz przez procesor 12. Bity C do 45 F okreslaja rozkaz, taki jak dodawanie, odejmowanie i tym podobny. Bit B jest uzywany do oznaczenia, ze pole adresów rozkazów (bity 0—9) ma miec nadawany adres poczatkowy, a bit A jest Uzywany do okreslenia, ze pole adresów rozkazów ma byc indeksowane. 50 Adresowanie poczatkowe i indeksowanie pola adre¬ sów slów rozkazów moga byc okreslane równoczesnie za pomoca bitów A i B. Informacja dotyczaca kodu opera¬ cyjnego (bity Ado F) jest zatrzymywana w elementach podtrzymujacych lub rejestrze w pamieci 24, gdzie in- 55 formacja ta jest wykorzystywana do adresowania okres¬ lonych, przewidzianych do adresowania komórek pamie¬ ciowych w pamieci 24. Kazda z tych komórek pamieci zawiera slowo sterowania rozkazu, oddzielne dla kazdego rozkazu wykonywanego przez urzadzenie do przetwarza^ 6o nia danych. Znaczenie kazdego bitu w slowie sterowania rozkazu z fig. 4 zostanie opisane ponizej.Po zaadresowaniu pamieci 24,, dostarcza ona indeksy lub sygnaly do pamieci odczytania 22 i do multipleksera 26 sterowania. Z pamieci 24 do pamieci 22 sygnaly sa 65 dostarczane jako bity lub sygnaly adresowe przez wielo-112 8 7 przewodowe lacze 30, w celu adresowania okreslonych komórek w pamieci 22. Pewne okreslone sposród indek¬ sów sa dostarczane do multipleksera 26 sterowania z pa¬ mieci 24 przez lacze 31, a multiplekser ten dostarcza sy¬ gnaly sterowania i sygnaly danych do procesora 12 po- 5 przez lacza 32 i 34 odpowiednio sygnalów sterowania i sygnalów danych. Muliplekser sterowania 26-równiez odbiera elementy informacyjne w postaci sygnalów ste¬ rowania i sygnalów danych z pamieci 22 odpowiadnio _ poprzez lacza 36 i 38. Te ostatnie sygnaly sa laczone w io multiplekserze z indeksami z pamieci 24 w celu wytwa¬ rzania sygnalów wyjsciowych na laczach 32 i 34.Pamiec 22 z fig. 1 posiada wiele selektywnie adreso¬ wanych komórek pamieciowych, przy czym kazda ko¬ mórka zawiera okreslone slowo sterowania mikroprogra- 15 mowego. Te slowa sterowania mikfoprogramowego sta¬ nowia wspólnie mikroprogram do wykonywania przez jednostke sterujaca 10 w celu uporzadkowanego wytwa¬ rzania sygnalów wyjsciowych z multipleksera 26 na prze¬ wodach 32 i 34 dl? kazdego rozkazu Wykonywanego przez 20 urzadzenie 10 do przetwarzania danych.Przed przystapieniem do dalszego omówienia mikro- programowej jednostki sterujacej 10 wedlug wynalazku — wskazane jest omówienie róznych slów sterowania za¬ wartych w pamieci 22. Te slowa sterowania przedsta- 25 wione sa na fig. 3A, 3B i 3C. Fig. 3A przedstawia struk¬ ture slowa sterowania rozgaleznego, które jest uzywane podczas realizowania mikroprogramu do selektywnego adresowania pamieci 22 opartego na tresci tego slowa ste- • rowania rozgaleznego, oraz na róznych stanach lub sy- 30 gnalach dostarczanych do pamieci 22 z procesora 12 po¬ przez linie 40 informujace o stanach.Bity 14 i 15 z fig. 3A stanowia kod operacyjny i sa dos¬ tarczane jako sygnaly kodu operacyjnego z wyjscia pa¬ mieci 22 do logicznych ukladów sterujacyah tej pamieci 35 22 na laczach 42 (fig. 1). Logiczne'uklady sterujace do¬ konuja dokodowania tych sygnalów kodu operacyjnego, co umozliwia realizacje slowa sterowania rozgaleznego przez jednostke sterujaca 10. Do ukladów sterowania logicznego pamieci 22 poprzez lacza 42 dostarczane sa 40 Hvniez sygnaly testu rozgaleznego przez bitowe pole testowe zlozone z bitów 8 do'11. Te sygnaly testu ro- galeznego sa porównywane z sygnalami stanów z proce¬ sora w celu wyslania do pamieci 22 albo adresu sekwen¬ cyjnego, albo adresu rozgaleznego. Kodowanie bitowe 45 pola testowego dla okreslonego testu rozgaleznego wy¬ konywanego przez jednostke sterujaca jest przedstawione na fig. 6. Ponizej zostanie opisane znaczenie róznych testów rozgaleznych.Adres rozgalezny do pola wlasnego slowa sterowania 50 rozgaleznego jest zlozony z bitów 0 do 5. Bity te sa dos¬ tarczane jako sygnaly adresowe z wyjscia pamieci 22 z powrotem do wejscia poprzez lacza adresowe 44 (fig. 1).Nalepy przypomniec, ze pamiec 22 moze byc adresowana selektywnie. To selektywne adresowanie jest sterowane 55 prze£ stan bitów 6 slowa sterowania rozgaleznego. Bit 6 je^t"Wykorzystywany do dostarczania sygnalu adresu do Ukladu logicznego sterowania pamieci 22 poprzez linie 42, ^ celu okreslenie, czy nastepny adres dla pamieci 22 ma przyjsc do nkj samej (bity 0—5), czy z pamieci 22 ^ poprzez lacze adesowe 30. T^en ostatni adres pochodzi z bitów 1S do 23 slowa sterowania rozkazu z fig. 4, któ¬ rego struktura zostanie opisana pózniej.' Bity 7, 12 i 13 slowa sterowania? rozgaleznego z fig. 3A sa zakreskowane dla pokazania, ze nie sa one uzy- 65 8 wane. Jednakze, moga one miec zastosowanie do spel¬ niania dodatkowych funkcji w jednostce sterujacej, które nie zostaja tu sprecyzowane.Inna struktura slowa sterujacego, które moze byc za¬ warte w róznych komórkach pamieci 22 jest slowo ste¬ rowania procedurowego, przedstawionego na fig. 3B» Slowa sterowania procedurowego sa wykorzystywane do wytwarzania sygnalów wyjsciowych z multipleksera ste¬ rowania 26, do manipulowania danymi w procesorze 12.Podobnie do slowa sterowania rozgaleznego slowo sterowania procedurowego zawiera procedurowy kod operacyjny w bitach 14 i 15. Bity te sa równiez doprowa¬ dzane do ukladu logicznego sterowania pamieci 22 po¬ przez lacza 42 w celu kontrolowania wykonywania tego okreslonego slowa sterujacego przez mikroprogram. Do¬ datkowo, bity 14 i 15 sa dostarczane do multipleksera 26 poprzez lacza 36 ów celu sterowania zwielokrotnienia sygnalów sterujacych i sygnalów danych do procesora 12* Slowo sterowania procedurowego zawiera równiez pole okreslania funkcji arytmometru logicznego ALU, zlo* zone z bitów 8, 9 i 10. Bity te sa dostarczane jako sygnaly okreslenia funkcji multipleksera sterowania 26, który & kolei dostarcza poprzez linie 32 okreslone Wyjsciowe syg¬ naly sterujace do procesora w celu sterowania funkcjami operacyjnymi arytmometru ALU.Przykladowo, sygnaly sterujace moga umozliwiac zwiek¬ szanie przez arytmometr ALU informacji dostarczanej do niego o jeden lub dodawanie wielu dostarczanych do niego sygnalów wejsciowych. Bity 2 do 7 z fig. 3B równiez dostarczaja okreslone funkcje lub sygnaly sterujace do multipleksera sterowania na lacza 36. Te funkcje steru¬ jace sa oznaczone jako ASO, ASI, KCE, KPE, IS1, ISO odpowiadajace bitom 3 do 7. Sygnaly ASO i ASI sa do¬ prowadzane do procesora jako sygnaly wyjsciowe z multi¬ pleksera sterowania, w celu sterowania róznymi opera¬ cjami rejestru A.Podobnie, sygnaly KGE i KPE sa dotarczane do pro¬ cesora z multipleksera, w celu sterowania operacjam rejestru K. Sygnaly IS1 i ISO sa doprowadzane jako sy¬ gnaly wejsciowe do rejestru IAR adresów rozkazów w celu sterowania jego operacjami. Wykorzystanie tych sygnalów opisano ponizej. Jeden bit dodatkowy, bit 11, jest wykorzystywany przez uklad logiczny sterowania pa¬ mieci 22 do przestawienia adresu pamieci 22 do okreslo¬ nej komórki, w celu zaadresowania tej komórki^ Podob¬ nie jak ,na fig. 3A, bity 0, 1, 12 i 13 równiez nie sa wy¬ korzystywane.Ostatni typ struktury slowa zawarty w pamieci 22 jest przedstawiony na fig. 30 i okreslany jako slowo sterowa¬ nia wejscia/wyjscia. Slowo to jest uzywane podczas wy¬ konywania mikroprogramu do sterowania przenoszenia informacji pomiedzy procesorem 12 a pamiecia glówna 14.Przenoszenie takie moze stanowic czytanie informacji z pamieci lub wpisywanie informacji do pamieci. Slowo sterowania wejscia/wyjscia zawiera kod operacyjny wejs¬ cia/wyjscia w^itach 14 i 15, który jest uzywany w ukladzie logicznym sterowania pamieci 22 w sposób podobny do- opisanego w odniesieniu do fig. 3B.Bity 0 do 5 z fig. 3C stanowia wspólnie zródlo adresów pamieciowych, wskazujac procesorowi 12 zródla, z któ¬ rego ma byc adresowana pamiec 14. Dla wyjasnienia,, bity 0 do 5 sapodzielone na dwa pola. Bity 0,1 i 2 sa okres¬ lone jako pole natychmiastowych adresów pamieciowych..Podczas wykonywania pewnych rozkazów, gdzie wy¬ magana jest^ modyfikacja indeksowa adresu wykonywane-112 808 9 go rozkazu, bity 0 do 2 moga byc kodowane w okreslona konfiguracje bitowa powodujac, ze pamiec 12 jest adre¬ sowana poprzez procesor bezposrednio z multiplekse¬ ra 26.W rzeczywistosci kodowanie bitów 0 do 2 powoduje wczytanie adresowego slowa indeksujacego lub modyfi¬ kujacego do rejestru K z miejsca pamieci okreslonego przez bity 0 do 2, w celu dodania nastepnie do rejestru IAR dla zmodyfikowania indeksowego slowa rozkazu.Jednakze, podczas wykonywania pewnych innych roz¬ kazów wymagane jest adresowanie pamieci z jakiegos innego zródla. W tym ostatnim przypadku Bity 3 do 5 (pole zródla rejestru adresów) sa kodowane na powodowa¬ nie wybrania przez multiplekser rejestru IAR jako rejestru adresów pamieciowych albo na przesuniecie zródla re¬ jestru adresów do miejsca okreslonego przez bity 10 do 15 slowa sterowania rozkazów pamieci 24 (fig. 4).Bit 13 slowa sterowania wejscia/wyjscia stanowi syg¬ nal do multipleksera 26 na laczach 36, powodujacy dos¬ tarczenie przez multiplekser sygnalu zapelnienia rejestru K do procesora poprzez jedne z lacz 32 podczas rozruchu urzadzenia 10 do przetwarzania danycru Po wytworzeniu sygnalu zapelnienia rejestru K, rejestor ten jest zapel¬ niony z komórki pamieci okreslonej przez tresc bitów 0 do 2, to jest pola natychmiastowych adresów pamiecio¬ wych.Pole okreslania funkcji wejscia/wyjscia sklada sie z bi¬ tów 9 i 10 (fig. 3C), które sa kodowane w celu spowodo¬ wania dostarczania przez multiplekser sygnalów do pro¬ cesora, powodujacych przekazywanie przez ten procesor do pamieci 14 albo operacji czytania, albo operacji wpi¬ sywania. Pole zródla lub przeznaczenia danych (bity 6 i 7) slowa sterujacego wejscia/wyjscia jest dekodowane przez multiplekser, dostarczajac sygnal zródla lub przez- znaczenia danych do procesora, w celu ustalenia albo • zródla danych do pamieci w procesorze w przypadku wpi¬ sywania albo przeznaczenia danych w pamieci w przypad¬ ku czytania.Slowo sterujace wejscia/wyjscia z fig. 3 zawiera równiez pole przesunieciowego sterowania przeznaczenia, które stanowi bit 8, wykorzystywany przez multiplekser do umozliwienia sterowania przemieszczenia z lub do pa¬ mieci tych danych, które maja byc przesuniete z bitów 6 i 7 slowa sterowania wejscia/wyjscia pamieci 22 do bi¬ tu 17 slowa sterowania rozkazu pamieci 24. Bit 11 w slo¬ wie sterowania wejscia/wyjscia pamieci jest wykorzysty¬ wany w taki sam sposób, jak opisano dla bitu liz fig. 3B.Fig. 4 przedstawia stukture slów sterowania rozka¬ zów, zawartych w pamieci 24. Kazde z poszczególnych adresowanych miejsc pamieciowych w pamieci 24 za¬ wiera slowo sterowania, posiadajace tresc znamienna dla rozkazu wykonywanego przez urzadzenie do przetwa¬ rzania danych. Jak juz wspomniano, pamiec 22 zawiera mikroprogram do sterowania poczatkowym wykonywa¬ niem rozkazów przez urzadzenie do przetwarzania da¬ nych. Mikroprogram ten jest uzupelniany przez slowa sterowania rozkazów w pamieci 24. Slowo sterowania roz¬ kazów zawiera adres rozgalezny do pola pamieci 22 w bi¬ tach 18 do 23.Podczas wykonywania pewnych slów sterowania roz- galeznego w mikroprogramie, wymagane jest przesuwanie adresu rozgaleznego mikfoprogramu do adresu okreslo¬ nego przez to pole. Adres ten powoduje wiec, ze mikro¬ program odgalezia sie do okreslonego miejsca w pamieci 22 dla wykonania podprogramu mikróprogramu, w celu 10 sterowania wykonaniem okreslonego rozkazu urzadzenia do przetwarzania danych zgodnie z informacja adresowa, kodu operacyjnego dostarczana do pamieci 24 z pamieci glównej 14. 5 Jak to wyjasniono uprzednio, równiez podczas wykony¬ wania slowa sterowania wejscia/wyjscia moze byc wy¬ magane sterowanie przesunieciowe zródla lub przezna¬ czenia danych informacji do pamieci 24. W takim przy¬ padku, wykorzystywany jest bit 17 przeznaczenia danych 10 do przenoszenia informacji pomiedzy pamiecia glówna z rejestrem A lub rejestrem K.Charakter indeksowego sterowania komórek, bity 10 do 15, zostal krótko wyjasniony w powiazaniu z wyko¬ rzystywaniem slowa sterowania wejscia/wyjscia z fig. 15 3C. Nalezy przypomniec, ze pole zródla rejestru adresów, bity 3, 4 i 5, moze byc kodowane w celu okreslenia, ze adresy pamieciowe maja byc brane bezposrednio ze slowa sterowania rozkazów pamieci 24. Gdy bity 3, 4 i 5 z- fig. 3C sa kodowane na okreslenie tego adresowania, bity 20 10 do 15 z fig. 4 sa wykorzystywane przez multiplekser do bezposredniego adresowania okreslonego miejsca in¬ deksowego w pamieci glównej przez urzadzenie do prze¬ twarzania danych.Bit 17 z fig. 4, oznaczony jako wyprowadzenie argu- 25 mentu operacji, jest wykorzystywany przez uklad logicz¬ ny sterowania pamieci 22 dc sterowania adresowaniem pamieci 22 do okreslonego miejsca podczas wykonywania tych rozkazów urzadzenia do przetwarzania danych, które wymagaja wyprowadzania argumentu operacji z pamieci 30 glównej 14.Slowo sterowania rozkazów zawiera równiez pole okres¬ lania funkcji arytmometru logicznego ALU (bity 0 do 5), podobne do opisanego w odniesieniu do fig. 3B. To pole z fig. 4 jest uzywane przez multiplekser sterowania 35 26 db dostarczania wielu takich samych wyjsciowych sygnalów sterujacych do procesora 12, jak to opisano w odniesieniu do fig. 3B. Jednakze, poza tymi uprzednio opisanymi sygnalami sterujacymi, umozliwia ono równiez zwiekszenie pojemnosci pola okreslania funkcji arytmo- 40 metru ALU z fig. 3B. Oznacza to, ze wskutek sterowania przez slowo sterowania rozkazów pamieci 24 moga byc realizowane dodatkowo funkcje, które nie sa mozliwe do realizowania przez sterowanie slowem sterowania proce¬ durowego z fig. 3B. 45 Nalezy przypomniec, ze pole okreslania funkcji aryt¬ mometru ALU z fig. 3B moze byc kodowane na sterowanie przesunieciowe arytmometru ALU do bitów 0 do 5 tego pola pamieci 24.Fig. 5 przedstawia bardziej szczególowo schemat bloko- 50 wy mikroprogramowej jednostki sterujacej 20 z fig. 1.Zespól 22 pamieci odczytowej ukladów logicznych sterowania z fig. 1 sklada sie z mikroprogramowej pamieci odczytowej 22a, bloku 22b logicznego testowania bitów, bloku mikroprogramowego multipleksera 22c oraz bloku 55 mikroprogramowego licznika 22d..Zespól 24 pamieci mikrodekodowania ukladów lo-. gicznych z fig. 1 sklada sie z odczytowej pamieci mikro- dekodowania 24a oraz rejestru 24b kodu operacyjnego.Ten rejestr operacyjny odbiera informacje dotyczace 60 kodu operacyjnego rozkazów wyszukiwanych z pamieci glównej poprzez linie 28. Sygnaly kodu adresowego i operacyjnego z rejestru 24b sa dostarczane do pamieci 24a poprzez wiele linii adresowych 46 oraz do ukladów logicznych 22b testowania bitów poprzez lacza 50 kodu 65 operacyjnego.112 11 Odpowiedni uklad logiczny dekodowania adresów w pa¬ mieci 24a dekoduje sygnaly wyjsciowe z rejestru 24b, dla selektywnego adresowania róznych miejsc pamie¬ ciowych w pamieci 24a podczas wykonywania rozkazów* przez urzadzenie do przetwarzania danych. 5 Uklad logiczny 22b testowania bitów dostarcza syg¬ naly sterujace, poprzez wiele przewodów 52, do licznika 22d w celu sterowania tego licznika zgodnie z rozkaza¬ mi wykonywanymi przez urzadzenie do przetwarzania danych ofaz zgodnie z elementami informacyjnymi dos- io tarczanymi tam z pamieci 22a na liniach 54. Poza tym, sygnaly sterujace z ukladu logicznego testowania bitów sa równiez sterowane przez sygnaly stanów lub stany z procesora 12 na laczach 40 oraz przez sygnaly slowa sterowania rozkazów z pamieci 24a na laczach 56. 15 Licznik 22d jest zasadniczo licznikiem szeregowym o wprowadzeniu równoleglym, posiadajacym wejsciowy sterujacy uklad logiczny do sterowania jego dzialaniem zgodnie z dostarczonymi do niego sygnalami steruja¬ cymi. .• 20 Podczas wykonywania pewnych rozkazów przez urza¬ dzenie do przetwarzania danych, sygnaly sterujace z ukla¬ du logicznego .22b testowania bitów powoduja sekwen¬ cyjne liczenie licznika £2d, który dostarcza sekwencyjne sygnaly adresujace do wejscia pamieci 22a poprzez wiele 25 lacz adresowanych 60. Pamiec 22a, która zawiera odpo¬ wiedni uklad logiczny dekodowania adresów, podobny do ukladu pamieci 24a dekoduje te sygnaly adresujace w celu selektywnego czytania treici adresowanych miejsc pamieciowych. '30 Podczas wykonywania pewnych innych rozkazów, sy¬ gnaly sterujace, dostarczane do licznika 22d z ukladu lo¬ gicznego 22b testowania bitów pozwalaja na równolegle wyprowadzanie wybranego adresu do licznika 22d z wyjs¬ ciem multipleksera MPUX 22c poprzez wiele lacz adre- 35 sowych 62.Multiplekser 22c odbiera informacje adresowe z pa¬ mieci 24a poprzez wiele lacz adresowych 30 oraz z wyjs¬ cia pamieci 22a laczami 44. Jak wspomniano poprzednio, stan bitu 6 slowa sterowania rozgaleznego z fig. 3A okres- 40 la, czy adres, pamieci 22a ma pochodzic z pamieci 24a, czy zpamieci 22a. Okreslenie to jest dokonywane w multi¬ plekserze 22c, który odbiera sygnal reprezentujacy stan bitu 6 na laczach sterujacych 42, umozliwiajac przejscie * wyznaczonego adresu do licznika 22d. 45 W odniesieniu do fig. 1, 5 i 10 zostanie obecnie wyjas¬ nione dzialanie urzadzenia wedlug wynalazku. W celu uruchomienia mikroprogramowej jednostki sterujacej we wlasciwym etapie mikroprogramu lub miejscu adresowym w pamieci 22a oraz w celu zapewnienia*adresowania przez 50 ^-procesor 12 miejsca startowego w pamieci glównej 14, konieczne jest najpierw uruchomienie urzadzenia do prze¬ twarzania danych. Uruchomienie to jest realizowane przez doprowadzenie sygnalu uruchamiajacego INZ la¬ czem 64 do multipleksera sterowania 26 oraz do liczni- 55 ka 22d.Wytwarzania sygnalu INZ moze byc dokonywane za pomoca nie pokazanego srodka, na przyklad przez uru¬ chomienie przelacznika uruchomieniowego lub starto¬ wego na pulpicie operatora powiazanym z procesorem. $o Po wytworzeniu sygnalu INZ równoczesnie maja miejsce zasadnicze dwie operacje. Po pierwsze, sygnal INZ po¬ woduje wytworzenie przez multiplekser sterowania 26 wyjsciowego sygnalu sterujacego na saczach 34, który jest doprowadzany do procesora w celu wprowadzenia adresu $5 12 pamietanego w okablowaniu urzadzenia do rejestru IAR.Tresc rejestru IAR zawiera obecnie adres pierwszego rozkazu, który ma byc wykonywany przez procesor.Druga operacja jest wstepne ustawienie lub równolegle wprowadzenie okreslonego adresu do licznika 22d. Po zakonczeniu sygnalu INZ, na wejsciu pamieci 22a po¬ przez lacze adresowe 60 pojawiaja sie sygnaly adresowe reprezentujace adres znajdujacy sie aktualnie w licz¬ niku 22d.Liczba 22 po lewej stronie fig. 10, podobnie jak wszystkie podobnie umieszczone liczby na fig. 7A do 7C i 9 do 11, oznacza miejsce adresu lub etap mikroprogramu pamieci 22a adresowany przez licznik 22d.Nalezy równiez zauwazyc, ze na wspomnianych fi¬ gurach, bezposrednio na prawo od numeru miejsca adre¬ su, znajduje sie blok decyzyjny lub operacyjny, zaopa¬ trzony w opis tego, co dzieje sie w danym bloku. Kazdy z bloków, takich jak blok odpowiadajacy miejscu adresu 21 z fig. 10, zawiera informacje opisowa dotyczaca ope¬ racji majacej miejsce w jednostce sterujacej lub w proce¬ sorze podczas wykonywania danego etapu mikroprogra¬ mu. Operacje te sa zazwyczaj przeprowadzane przez jed¬ nostke sterujaca, w oparciu o tresci poszczególnych slów sterowania, wyszukiwanych w pamieci 22a lub . pamieci 24a podczas wykonywania mikroprogramu.Na fig. 10 informacja zawarta w miejscu 22 adresu jest slowem sterowania wejscia/wyjscia, posiadajacym strukture pokazana na fig. 3C. Przy adresowaniu pamieci 22a z licznika 22d, slowo sterowania wejscia/wyjscia jest odczytywane lub wyszukiwane z pamieci 22a, która dos¬ tarcza sygnaly slowa sterowania wejscia/wyjscia do mul¬ tipleksera sterowania 26 poprzez lacza 36 i 38.Jak pokazano w bloku operacyjnym przy miejscu 22, multiplekser sterujacy powoduje, ze procesor wprowa¬ dza zawartosc rejestru IAR, do okreslonego miejsca w pamieci, wyznaczonego przez rejestr P, rejestr programu. # Multiplekser sterowania 26 realizuje te operacje wprowa¬ dzania poprzez dekodowanie bitów 0—10 oraz bitów 14 i 15.Jak to pokazano na fig. 3C, bity 14 i 15, to jest kod ope¬ racyjny wejscia/wyjscia, sa oba kodowane jako jedynki binarne. Multiplekser sterowania 26 dekoduje bity 14 i 15 w powiazaniu z innymi bitami w slawie sterowania wejscia/wyjscia, wysylajac wlasciwe wyjsciowe sygnaly sterujace i sygnaly danych do procesora.Bity 9 i 10 pola okreslania funkcji wejscia/wyjscia sa dekodowane przez multiplekser sterowania 26 w celu umozliwienia zrealizowania przez procesor cyklu czytania lub wpisywania do pamieci glównej. W tym przypadku, poniewaz wymagane jest wpisywanie lub wprowadzanie zawartosci rejestru IAR do miejsca P w pamieci glównej, bity 9 i 10 sa kodowane w taki sposób, lze multiplekser 26 wytwarza sygnal wyjsciowy na jednym z lacz 32, w celu zrealizowania cyklu wpisywania do pamieci glównej przez -procesor. Poniewaz W tym czasie wymagane jest przesuniecie sterowania przeznaczeniowego pamieci 22a do pamieci 24a, bit 8 jest zerem binarnym.Równiez bity 6 i 7 ctanowiace pole zródla lub przezna¬ czenia danych slowa sterowania wejscia/wyjscia sa kodo¬ wane w taki sposób, ze multiplekser sterowania 26 wy¬ syla poprzez jedno z lacz 32 sygnal powodujacy wpisanie zawartosci IAR rejestru do miejsca P.Bity 0—5 slowa sterowania wejscia/wyjscia równiez sa wykorzystywane do okreslenia lub wybrania zródla rejestru adresów pamieci do adresowania pamieci glów-112 808 14 Bity 14 i 15* przedstawione jako X i O, sa dekodowane przez multiplekser sterowania w powiazaniu z innymi \bitami sterowania procedury dla zapewnienia wlasciwych ? wyjsciowych sygnalów sterujacych dla procesora. Bit 5 |*14, zawierajacy* X, jest tu uzywany do oznaczenia, ze je¬ go tresc jest nieistotna. Podczas wykonywania tego etapu mikroprogramu nie jest wymagane zerowanie licznika 22d, bit 11 jest wiec binarnym zerem.W pewnych urzadzeniach do przetwarzania danych io zwiekszanie stanów okreslonych rejestrów jest realizo¬ wane przez bramkowanie danych poprzez arytmometr logiczny ALU. W takim przypadku bity 8—10 pola okres¬ lania funkcji arytmometru ALU z fig. 3B moga byc ko¬ dowane i uzywane przez multiplekser do dostarczania 15 w tym celu wyjsciowych sygnalów sterujacych do aryt¬ mometru ALU.Przykladowo, dla zwiekszenia stanu rejestru K o je¬ den, moze byc najpierw konieczne kodowanie bitów 8— 10 w celu spowodowania wyslania sygnalu zezwalajace- 20 go przez multiplekser, do arytmometru ALU, co pozwa- Ja na wprowadzenie zawartosci rejestru K do tego aryt¬ mometru. 13 nej. W tym przypadku zródlo rejestru adresów pamieci pochodzi bezposrednio z bitów 0—2, które sa kodowa¬ ne w taki sposób, ze multiplekser pomija bity 3—5- W odpowiedzi na kodowanie bitów 0—2 multiplekser 26 wysyla sygnaly adresów lub danych laczami 34 do lo¬ gicznego ukladu bramkujacego w procesorze, co umozli¬ wia wprowadzenie zawartosci rejestru IAR do miejsca P w pamieci glównej.Nalezy zauwazyc w uwagach dotyczacych miejsca 22, ze licznik 22d jest zerowany. Operacja ta jest dokonywa¬ na zgodnie z fig. 3C, gdzie bit 11 zerowania licznika 22d jest jedynka binarna. Stany bitów 11, 14 i 15 sa dostar¬ czane do ukladu logicznego 22b testowania bitów i de¬ kodowania tam w celu wytworzenia sygnalu zerowania na laczach 52 do licznika 22d. Sygnal zerowania przes¬ tawia licznik 22d na zero lub inna ustalona^ liczbe, wy¬ muszajac przejscie mikroprogramowej jednostki steru¬ jacej do stanu poczatkowego, jak to pokazano w bloku startowym na dole schematu dzialan z fig. 10.Fig. 7A przedstawia schemat dzialan dla rozpoczecia mikroprogramu. Licznik 22d, który zawiera obecnie stan zerowy, dostarcza wyjsciowe sygnaly adresowe na li¬ niach 60 (fig. 5) do pamieci 22a, adresujac miejsce zero¬ we, jak to pokazano po lewej stronie w fig. 7A. Miejsce zerowe w pamieci 22a zawiera równiez slowo sterowania wejscia/wyjscia, które powoduje wczytanie zawartosci miejsca P w pamieci glównej do rejestru K i rejestru IAR.Zawartosc miejsca zerowego z pamieci 22a znajduje sie obecnie na wejsciu multipleksera sterowania, który de¬ koduje bity 14 i 15 jako slowo sterowania wejscia/wyjscia.Podczas wykonywania tego slowa sterowania wejscia/ /wyjscia, poniewaz wymagane jest zapelnienie rejestru K, bit 13 zostaje ustawiony na binarna jedynke. W tym szczególnym przypadku nio jest wymagane zerowanie licznika 22d, bit 11 jest binarnym zerem. Poniewaz ma odbywac sie czytanie z pamieci glównej przez procesor, pole okreslania funkcji wejscia/wyjscia, to jest bity 9 i 10, jest kodowane w taki sposób, ze multiplekser stero¬ wania 26 wywoluje operacje czytania pamieci glównej przez procesor. Bit 8, stanowiacy przesunieciowe ste¬ rowanie przeznaczenia danych, jest w tym czasie binar¬ nym zerem poniewaz nie jest wymagane sterowanie prze¬ sunieciowe do pamieci 24a.Poniewaz wymagane jest równiez wprowadzenie za¬ wartosci miejsca P do rejestru IAR, bity 6 i 7 sa kodowane w taki sposób, ze multiplekser kieruje odpowiednio pro¬ cesorem.Bity 0^-5 ca kodowane w taki sposób, ze multiplekser sterowania 26 dostarcza do procesora adres bezposredni, okreslony przez bity 0—2, w celu adresowania miejsca pamieciowego rejestru P. Równiez w tym samym czasie, poniewaz bit 11 zerowania licznika 22d stanowi binarne zero, uklad logiczny 22b testowania bitów, w polaczeniu z bitami 14 i 15 wysyla sygnal lub impuls liczenia do licz¬ nika 22d. Ten sygnal liczenia jest doprowadzany do jed¬ nego z lacz 52, powodujac zwiekszenie stanu licznika o jeden, wskutek czego licznik ten adresuje miejsce 1 pa¬ mieci 22a, jak to pokazano na lewo od bloku operacyj¬ nego „K+l" z fig. 7A.Zawartosc miejsca 1 pamieci 22a jest obecnie wyszuki¬ wana i doprowadzana poprzez lacza 36 i 38 do multi¬ pleksera 26. Podczas tego etapu mikreprogramu wymagane jest zwiekszenie stanu rejestru Ko jedynke, w celu uak¬ tualnienia rejestru. Jest to realizowane za pomoca slowa sterowania procedury "(fig. 3B) w miejscu I pamieci 22a.Moze byc równiez konieczne doprowadzenie do aryt¬ mometru ALU sygnalu wprowadzeniowego, pozwala¬ jacego na dodanie jednego bitu do zawartosci rejestru K przechodzacej przez arytmometr ALU. Moze to byc rów¬ niez zapewnione przez wlasciwe kodowanie bitów 8—10.Poza tym, moze byc konieczne zabranie zawartosci aryt¬ mometru ALU i umieszczenie jej z powrotem w rejestrze K, Moze to byc realizowane przez umieszczenie binarnej jedynki w bicie 5 slowa sterowania procedurowego. Gdy bit 5 jest binarna jedynka, multiplekser sterowania 26 wytwarza wyjsciowy sygnal KPE, który pozwala na rów¬ nolegle zapelnienie rejestru z arytmometru ALU.Jednakze procesor 12 moze byc typu, w którym zwiek¬ szanie stanów okreslonych rejestrów jest realizowane bezposrednio w samych rejestrach a nie przez przepro¬ wadzanie sygnalów wyjsciowych rejestrów, poprzez aryt¬ mometr ALU. Wtedy bity 8—10, stanowiace pole okres¬ lania funkcji arytmometru ALU moga byc kodowane tak, ze sa pomijane przez multiplekser. W tym ostatnim przypadku jedynym koniecznym sterowaniem jest u- mieszczenie binarnej jedynki w bicie 4 slowa sterowania procedurowego w celu umozliwienia wytworzenia przez multiplekser sygnalu KCE, umozliwiajacego zwiekszenie stanu rejestru Ko jeden. Sygnal KCE jest sygnalem zez¬ walajacym-na liczenie rejestru K.Bity 14, 15 i 11 slowa sterowania procedurowego sa równiez dostarczane jako sygnaly wejsciowe do ukla¬ du logicznego testowania poprzez lacza 54. Poniewaz w tym czasie nie jest wymagane zerowanie licznika 22d, bit 11 jest binarnym zerem. Uklad logiczny testowania bitów wytwarza wiec sygnal wyjsciowy liczenia na jed¬ nym z lacz 52, powodujac przejscie licznika 22d do sta¬ nu 2. Liczba 2 po lewej stronie fig. 7A okresla adresowe miejsce 2 w pamieci 22a, które jest teraz adresowane z licznika 22d. W tej czesci mikroprogramu wymagane jest wprowadzenie zawartosci rejestru K z powrotem do miejs¬ ca P w pamieci glówej. Jest to realizowane przez deko¬ dowanie tresci wyszukiwanego obecnie z miejsca .2 pa¬ mieci 22a slowa sterowania wejscia/wyjscia' (fig. 3G).Multiplekser sterowania 26 ponownie dekoduje bitjr 14 i 15 jako slowo sterowania wejscia/wyjscia. Równoczes¬ nie bity 11 i 13 sa binarnymi zerami. 10 15 20 25 30 35 40 45 50 55 60112 808 15 Poniewaz operacje ma stanowic wprowadzanie zawar¬ tosci rejestru K do rejestru P w pamieci glównej, bity 9 i 10 okreslania funkcji wejscia/wyjscia sa kodowane w taki sposób, ze powoduja wysylanie sygnalu sterowania • operacji wpisywania przez multiplekser do procesora* 5.Bit 8 jest znowu binarnym zerem, poniewaz nie jest wy^ magan.e sterowanie przesunieciowe do pamieci 24a. Zród¬ lo danych wchodzacych do pamieci glównej ma pocho¬ dzic z rejestru K, bity 6 i 7 sa wiec kodowane w taki spo¬ sób, aby umozliwialy wysylanie sygnalu sterujacego przez 10 multiplekser sterowania do procesora, w celu zapewnie¬ nia drogi danych z rejestru K do adresowanego miejsca w pamieci glównej.Jak opisano poprzednio, zródlo rejestru adresów pa¬ mieci pochodzi znowu bezposrednio z bitów 0 — 2 po- 15 przez multiplekser sterowania 26. Stan licznika 22d jest ponownie zwiekszany o jeden do stanu 3 przez uklad lo¬ giczny testowania bitów, który odpowiada na stany bi¬ tów 14, 15 i II.Rejestr IAR zawiera obecnie adres rozkazu, który ma 20 byc wyprowadzany z pamieci glównej, gdzie rozkaz ten stanowi czesc programu do wykonania przez procesor 12.To wyprowadzenie rozkazu jest inicjowane w mikropro- gramie przez odwolanie sie do adresowego miejsca 3 na fig. 7A, które jest aktualnie adresowane z licznika 22d. 25 Ma to byc wyprowadzenie slowa z pamieci glównej, da¬ ne zawarte w miejscu 3 stanowia wiec slowo sterowania wejscia/wyjscia. W tym przypadku procesor 12 ma wy¬ prowadzic rozkaz do rejestru IAR i do rejestru operacyj¬ nego 24b (fig. 1 i 5) z miejsca adresowego okreslonego 30 przez zawartosc rejestru IAR^ Operacja ta jest inicjowa¬ na w bloku znajdujacym sie na prawo od numeru 3, w którym symbole nawiasu kwadratowego obejmujace ozna¬ czenie IAR wskazuja, ze zawartosc miejsca pamieciowego okreslonego przez rejestr IAR ma byc wprowadzona do 35 tego rejestru LAR. Równiez czesc slowa rozkazu stanowiaca rejestr operacyjny, bity A—F, jest umieszczana w ope¬ racyjnym rejestrze 24b. Jak juz opisano, jest to realizo¬ wane, gdy multiplekser sterowania 26 dekoduje stany bitów 14 i 15 w powiazaniu z bitami 9 i 10 w celu zreali- 40 zowania cyklu czytania pamieci przez procesor 12. Musi byc okreslone przeznaczenie danych, które maja byc od¬ czytane z pamieci/Jest ro realizowane za pomoca bitów 6 i 7 pola zródla lub przeznaczenia danych, posiadaja¬ cych okreslona zakodowana konfiguracje, która jest de- 45 kodowana przez multiplekser sterowania 26 w celu dos¬ tarczania sygnalów sterujacych do procesora, powodu¬ jacych wczytanie slowa rozkazu do rejestru LAR i ope¬ racyjnego rejestru 24b.Zródlo rejestru adresów pamieci jest okreslone przez 50 bity 0—5, które sa kodowane w taki spo?ób, ze multi¬ plekser wysyla do procesora 12 sygnal umozliwiajacy wy¬ slanie adresu do pamieci glównej 2 rejestru IAR, okres¬ lony przez bity 3—5 pola zródla rejestru adresów.Bity 0—9 wykonywanego przez urzadzenie rozkazu 55 sa obecnie wprowadzane do rejestru IAR, a-bity A—F sa wprowadzane do operacyjnego rejestru 24b, w. stanie gotowym do obliczenia efektywnego adresu rozkazu za¬ wartego .obecnie w rejestrze IAR, jesli tak jest wymagane {fig. 2). Takie obliczanie adresu efektywnego jest przed- $q stawione na fig. 7A, na którym jednostka sterujaca wy¬ chodzi z miejsca 3 do bloku adresu efektywnego „EA", Znowu potrzebne jest zwiekszenie stanu licznika 22d o 1.Jest to realizowane przez uklad logiczny testowania bi¬ tów, który wysyla sygnal liczenia do licznika 22d^w od- $5 16 powiedzi na bity 14, 15 i 11 slowa sterowania wejscia/ /wyjscia, powodujac przejscie tego licznika do _stanu 4, Wyszukiwana jest wtedy zawartosc miejsca 4 pamieci 22a do wykonywania przez jednostke sterujaca.Na fig. 7B mikreprogramowa jednostka sterujaca prze¬ chodzi do tej czesci mikroprogramu, w której obliczany jest adres efektywny,' jesli tak to jest okreslone przez in¬ formacje kodu operacyjnego w operacyjnym rejestrze 24b.Mikroprogramowa jednostka sterujaca wedlug wyna¬ lazku oblicza adres efektywny rozkazów przez wykony¬ wania okreslonych mikroprogramowych slów, sterowania^ które najpierw okreslaja, czy slowo rozkazu ma byc mo¬ dyfikowane przez poczatkowanie indeksowe, indeksowa¬ nie lub oba. Jesli slowo rozkazu ma byc modyfikowane, dla przeprowadzenia tej modyfikacji jednostka sterujaca wykonuje sekwencje mikroprogramowych slów stero¬ wania.W przypadku, gdy wykonywany przez urzadzenie roz¬ kaz ma byc poczatkowany indeksowo, zawartosc okres¬ lonego miejsca adresowego w pamieci glównej jest do¬ dawana do pola adresów rozkazów (bity 0—9). Jak to pokazano na fig. 7B, adresowe miejsca 4, 5 i 6 pamieci 22a zawieraja slowa mikroprogramowe do sterowania modyfikacje przez poczatkowanie indeksowe pola adre¬ sowego w slowie rozkazu. Adresowe miejsce 4 pamieci 22a zawiera slowo sterowania rozgaleznego, posiadajace strukture przedstawiona na fig. 3A. Toslowo sterowania, odczytywane obecnie z pamieci 22a zawiera okreslone dane, które sa doprowadzane do ukladu logicznego tes¬ towania bitów, gdzie dokonywany jest test dla ustalenia, czy pole adresowe slowa rozkazu ma byc poczatkowana indeksowo. Jak opisano w bloku decyzyjnym, test ten polega na postawieniu pytania „Czy jest rozkaz, który ma byc poczatkowany?". Podczas wykonywania slowa sterowania rozgaleznego, bity 8—11 oraz bity 14 i 15 z wyjscia pamieci 22a sa dekodowane w ukladzie logicz¬ nym testowania bitów.Fig. 6 przedstawia kodowanie pola testowania bitów z fig. 3A dla pewnej ilosci róznych testów, które moga byc dokonywane przez realizacje slów sterowania roz¬ galeznego. Niniejszy test jest pokazany jako test 4. W tescie tym przedstawiono konfiguracje binarna bitów 8—11, przy której kolumna pamieciowa formuluje py¬ tanie, które ma byc postawione przez rozkaz rozgalezny.Opis oznaczenia XB jest podany w kolumnie o opisowej fig.6. / Nalezy przypomniec, ze czesc dotyczaca kodu opera¬ cyjnego (bity A—F z fig. 2) rozkazu wyprowadzonego z pamieci glównej jest obecnie zawarta w operacyjnym rejestrze 24b. Bity te sa przeznaczone poprzez wiele lacz 50 do wejscia ukladu logicznego 22b testowania bitów.Ten uklad logiczny dokonuje okreslenia czy rozkaz ma byc poczatkowany indeksowo przez porównanie stanów bitów S—11 z pamieci 22a ze stanem bitu B slowa roz¬ kazu z rejestru operacyjnego. Jesli bit B jest binarna je¬ dynka, oznacza to, ze pole adresów rozkazów ma byc mo¬ dyfikowane przez poczatkowanie indeksowe. Po doko¬ naniu porównania, gdy warunek ten jest spelniony, mi- kroprogram wychodzi'z odgalezienia „Tak" bloku decy¬ zyjnego „Poczatkowany?", natomiast uklad logiczny^ tes¬ towania bitów dostarcza sygnal liczenia do licznika 22d powodujac, ze licznik ten przechodzi do stanu 5. Licz¬ nik 22d wysyla wiec adres do miejsca 5 w pamieci 22a.W miejscu 5 zawarte jest slowo sterowania wejscia/ /wyjscia, które powoduje wytworzenie przez multiplek-112 808 17 ser sterowania do procesora sygnalów sterujacych, po¬ wodujac wyprowadzenie numeru indeksowego adresu poczatkowego z pamieci glównej do rejestru K. Operacja ta jest przeprowadzana zgodnie z fig. 3C, przy czym bity 14 i 15 sa dekodowane przez multiplekser sterowania w poprzednio opisany sposób. Oba bity 13 i 11 sa binar¬ nymi zerami. Poniewaz operacje ma stanowic czytanie z pamieci glównej, multiplekser sterowania 26 dekoduje bity 9 i 10 wysylajac sygnal czytania do procesora 12 w celu wywolania operacji czytania. Bit 8 jest binarnym ze¬ rem, poniewaz nie jest w tym czasie wymagane przesu¬ niecie sterowania przeznaczenia danych do pamieci 24a.Jak pokazano na fig. 7B, numer indeksowy adresu po¬ czatkowego jest wczytywany do rejestru K. W wyniku tego, bity 6 i 7 sa dekodowane przez multiplekser, wy¬ sylajac sygnal wyjsciowy do procesora w celu skierowania informacji o adresie poczatkowym do rejestru K."*' Poniewaz miejsce indeksowego numeru poczatkowego w pamieci glównej jest znamienne dla wykonywanego rozkazu, zródlo rejestru adresów pamieci zostaje prze¬ niesione do slowa sterowania rozkazu pamieci 24a, jak to okreslaja bity 10—15 indeksowego sterowania miejsc.Okreslony przez bity 10—15 adres pamieci jest wysylany przez multiplekser do procesora jako wynik kodowania bitów 0—5 slowa sterowania wejscia/wyjscia (fig. 3C) w miejscu 5 pamieci 22a. To przesuniecie zródla rejestru adresu pamieciowego jest oznaczone przez symbol p w bloku operacyjnym miejsca 5.Odczytywane aktualnie z pamieci 24a slowo sterowa¬ nia rozkazów jest wy$zukiwane w miejsca okreslonego przea informacje kodu operacyjnego w operacyjnym re¬ jestrze 24b. Tresc slowa sterowania rozkazu jest wiec znamienna dla rozkazu wykonywanego przez Urzadzenia.Wysylanie sygnalów sterujacych i adresowych z multi¬ pleksera sterowania 26 powoduje wczytanie miejsca pa¬ mieci zawierajacego indeksowy numer poczatkowy do rejestru K. Równoczesnie dekodowane sa bity 14, 15 i 11 slowa sterowania wejscia/wyjscia przez uklad logiczny testowania bitów, który wysyla sygnal liczenia do licz¬ nika 22d, powodujac ze licznik ten przechodzi do stanu 6.Zaadresowana w miejscu 6 pamieci 22a zawiera slowo sterowania procedurowego (fig. 3B). Slowo to jest wy¬ korzystywane w tym etapie mikroprogramu do dodania zawartosci rejestru IAR i rejestru K oraz do umieszcze¬ nia wyników dodawania z powrotem w rejestrze IAR.W ten sposób numer indeksowy adresu poczatkowego zostaje dodany do,pola adresowego rozkazu modyfikujac adres tego pola. Zawartosc slowa sterowania proceduro¬ wego jest obecnie dostarczana do multipleksera sterowa¬ nia 26 poprzez lacza 36 i 38.W celu dokonania dodawania zawartosci rejestru IAR i rejestru K, bity 8—10 pola okreslania funkcji arytmo¬ metru ALU sa dekodowane przez multiplekser, który dostarcza sygnaly zezwalajace do arytmometru ALU, zezwalajac na przeniesienie przez niego zawartosci re¬ jestru IAR i rejestru K. Bit 7 jest iistwaiony na binarna jedynke, dzieki czemu multiplekser sterowania 26 wy-». twarza sygnal wyjsciowy ISO, umozliwiajac odebranie przez rejestr LAR zawartosci z arytmometru ALU po operacji dodawania. Jak wyjasniono, do multipleksera sterowania 26 sa równiez doprowadzane bity 14 i 15 kodu operacyjnego. Nastepnie potrzebne jest zwiekszenie sta¬ nu licznika 22d. Bit 11 zostaje nastawiony na binarne sero, co powoduje, ze uklad logiczny testowania bitów 18 wysyla ponownie impuls liczenia do licznika 22d prze¬ suwajac go do stanu 7- Powracajac do miejsca 4 adresu bloku decyzyjnego „Poczatkowany?", jesli zawarte w rejestrze operacyjnym slowo rozkazu nie ma byc poczatkowane indeksem, bit B slowa rozkazu jest binarnym zerem. Wskutek tego przy wykonywaniu testu rozgaleznego przez uklad logiczny testowania bitów, mikroprogramowa jednostka sterujaca wychodzi przez odgalezienie „NIE" tego ostatniego blo¬ ku decyzyjnego i przechodzi do bloku decyzyjnego „In¬ deksowany?" w adresowym miejscu 7 pamieci 22a. W celu zrealizowania tego odgalezienia, potrzebne jest do¬ prowadzenie adresu odgaleznego do wejscia pamieci 22a z licznika 22d. Jest to wykonywane za pomoca bitu 6 z fig. 3A. Bit 6 jest identyfikowany jest przesunieciowy adres odgalezny do pamieci 24a. Jak to przedstawiono na fig. 5, bit 6 jest doprowadzany z pamieci 22a poprzez lacza 42 dQ wejscia multipleksera 22c. Stan bitu 6 jest wyko- . rzystywany przez ten ^multiplekser do okreslenia, czy adres wprowadzany równolegle do licznika 22d z multi¬ pleksera 2£e ma pochodzie z pamieci 24a, czy z pamieci 22a. W obecnym przypadku, poniewaz adres dla pa¬ mieci 22a ma pochodzic z wyjscia tej samej pamieci, bit 6 jest zerem binarnym. Poniewaz w tym przypadku roz¬ kaz nie ma byc poczatkowany indeksem, uklad logiczny, testowania bitów wysyla sygnal wprowadzania równoleg¬ lego do wejscia licznika 22d na jednym z lacz 52. Sygnal ten powoduje przeniesienie bitów 0—5 adresu rozgalez¬ nego do pola wlasnego pamieci 22a (fig. 3A) poprzez multiplekser 22c do licznika; 22d. Licznik ten jest wiec wypelniony adresem miejsca 7, doprowadzanym do pa¬ mieci 22a na adresowych liniach 60.Miejsce 7 w pamieci 22a zawiera slowo sterowania odgaleznego, podobne do tego, które zostalo ostatnio opisane dla adresowego miejsca 4. Kodowanie tego slowa w miejscu 7 jest takie same jak opisane dla miejsca 4, z tym jedynie wyjatkiem, ze bity 8—11 pola testowania bitów, jak to przedstawiono na fig. 6, sa kodowane tes¬ tem 6 (XA) zadajacym pytanie „Czy slowo rozkazu ma byc indeksowane?", tj. czy jakies slowo indeksowe z pa¬ mieci glównej ma byc dodane do pola adresu rozkazu.Jest to przeprowadzane w ukladzie logicznym testpwania bitów, gdzie stan bitu A (IA) poczatkowego slowa rozkazu (fig. 2) jest porównywany z XA. Jesli bit A jest jedynka, mikroprogram przechodzi przez odgalezienie „Tak" blo¬ ku decyzyjnego „Indeksowany", a równoczesnie uklad logiczny testowania bitów dostarcza sygnal do licznika 22d, powodujacy adresowanie przez ten licznik adreso¬ wego miejsca 8 pamieci 22a.Miejsce 8 zawiera slowo sterowania wejscia/wyjscia/ podobne do opisanego dla adresowego miejsca 5. Wyko¬ nywanie tego slowa sterujacego w, miejscu 8 jest takie same jak opisane dla miejsca 5, z tym jednak, ze bity 10— 15 slowa sterowania rozkazu pamieci 24a okreslaja adres miejsca pamieci glównej, zawierajacego liczbe indeksowa, która ma byc dodana do pola adresu slowa rozkazu.Po wykonaniu slowa sterujacego w miejscu 8, stan licznika 22d zostaje zwiekszony, w celu wytworzenia adresu miejsca 9 pamieci 22a. Tomiejsce 9 zawiera slowo sterowania procedurowego, posiadajaca taka sama struk¬ ture jaka opisano dla adresowego miejsca 6. Podczas wy¬ konywania slowa sterujacego w miejscu 9 przeprowadzane sa takie same operacje jakie opisano w stosunku do miejsca 6. Jednakze, podczas wykonywania slowa sterowania 1 5 10 15 20 25 30 35 40 45 50 55 60112«08 19 procedurowego, zawartosc adresowanego miejsca indek¬ sowego jest dodawana do pola adresu slowa rozkazu.Operacje wykonywane w bloku decyzyjnym „Indek¬ sowany?" miejsca 7 sa równiez takie same, jak opisano* dla miejsca 4, gdy mikroprogram wychodzi przez odga¬ lezienie „NIE" tego, bloku decyzyjnego. Jedyna róznica jest to, ze adres odgalezny dostarczany przez bity 0—5 w miejscu 7 jest adresem miejsca 10 pamieci 22a. Po zakonczeniu etapu mikroprogramu w miejscu 9, uklad logiczny testowania bitów wysyla impuls liczenia do licz¬ nika 22d, powodujac doprowadzenie przez ten licznik tego ostatniego adresu do pamieci 22a. To adresowanie miejsca 10 jest pokazane na fig. 7B i 7C przez wyjscie mikroprogramu z miejsca 7 lub 9 do bloku okreslania rozkazu i wejscia do miejsca 10 do bloku dycyzyjnego „Wyprowadzenieargumentu".Poniewaz zostal wyznaczony adres efektywny slowa rozkazu, dokonywane jest okreslenie, czy dany wykony- ^ wany rozkaz wymaga wyprowadzenia argumentu z pa¬ mieci glównej. Okreslenie to jest dokonywane w miejscu 10, które zawiera slowo sterowania rozgaleznego (fig. 3A). Ponownie bity 14, 15 i 8—11 z pamieci 22a sa do¬ prowadzane do ukladu logicznego testowania bitów przez lacza 54. Czesc slowa poczatkowego rozkazu, stanowiaca kod operacyjny (fig. 2), jest w dalszym ciagu doprowa¬ dzana jako sygnaly wejsciowe do ukladu logicznego tes¬ towania «bitów na laczach 50. Bity 8—10 pola testowania bitów sa kodowane wedlug testu 8 z fig. 6 i laczone w ukladzie logicznym testowania bitów z czescia slowa roz¬ kazu stanowiaca kod operacyjny (bity A—F), przez co dokonuje sie okreslenia, czy rozkaz wymaga wyprowa¬ dzenia argumentu.Jesli wykonywany rozkaz nie wymaga wyprowadzenia argumentu, mikroprogram wychodzi przez odgalezienie „Nie" bloku decyzyjnego „Wyprowadzenie argumentu ?" i wchodzi do bloku decyzyjnego „Adres odgalezienia bezwarunkowego" w miejscu adresowym 12. Ten adres odgalezienia jest wykonywany w sposób okreslony przez tresc bitów 0—5 slowa sterowania rozgaleznego w miejscu 10. Poniewaz tym razem nie jest potrzebne przeniesie¬ nie sterowania odgaleznego adresu do pamieci 24a, bit 6 slowa sterowania rozgaleznego jest zerowy. Ten wlasnie zerowy stan bitu 6, który zostaje doprowadzony do wejscia multipleksera 22c poprzez lacza 42, realizuje przeniesie¬ nia adresu odgaleznego z pamieci 22a poprzez multi¬ plekser 22c do licznika 22d. Licznik ten jest wypelniony liczba miejsca adresowego 12 za pomoca sygnalu równo¬ leglego doprowadzania, wytwarzanego przez uklad lo¬ giczny testowaniabitów. # ' ' Jesli natomiast rozkaz wymaga wyprowadzenia argu¬ mentu, mikroprogram wychodzi poprzez odgalezienie *,Tak" bloku decyzyjnego „Wyprowadzenie argumentu?" do adresowego, miejsca 11. To miejsce pamieci 22a za¬ wiera slowp sterowania wejscia/wyjscia, które powoduje wyprowadzenie argumentu z miejsca w pamieci glównej okreslonego przez zawartosc rejestru IAR i umieszcza slowo lub dane argumentu w rejestrze A lub rejestrze K, , jak to jest okreslone przez stan bitu 17 slowa sterowania rozkazu pamieci 24a.Jak wspomniano, w kazdym swym adresowanym miejscu pamieciowym pamiec 24a zawiera slowo sterowania roz¬ kazu ó strukturze pokazanej na fig. 4. Kazde slowo ste¬ rujace w pamieci 24a posiada jednoznaczna bezposred¬ nio odpowiedniosc lub zaleznosc z informacja kodu ope¬ racyjnego w rejestrze operacyjnym, którego zawartosc 20 jest wykorzystywana do adresowania okreslonych miejsce w pamieci 24a.Adresowana w miejscu 11 z licznika 22d pamiec "22a dostarcza sygnaly do multipleksera sterowania 26. De- 5 kodowane bity 14 i 15 slowa sterowania wejscia/wyjscia, w powiazaniu z bitami 9 i 10, powoduja wykonanie przez procesor operacji czytania. Podczas wykonywania slowa . sterowania wejscia/wyjscia istotny jest stan bitu 8, który obecnie stanowi binarna jedynka wskazujaca, ze stero- 10 wanie przeznaczenia danych wychodzacych z pamieci glównej do procesora my byc przeniesione do slowa ste¬ rowania rozkazu pamieci 24a.Stan bitu 17 przeznaczenia danych okresla przeznacze- , nie .argumentu czytanego z pamieci glównej do procesora. 15 Przykladowo, jesli bit 17 jest jedynka, argument jest kie¬ rowany do rejestru A. Jesli natomiast bit 17 jest zerem, argument jest przenoszony do rejestru K. Przeznaczenie tych danych jest okreslone przez specjalny rozkaz wyko-" nywany przez procesor, to znaczy, operacyjny rejestr 20 24b adresuje miejsce w pamieci 24a zawierajace slowo sterowania rozkazu; które okresla przeznaczenie argumen¬ tu. Bity 14, 15 i 11 z pamieci 22a sa znowu dekodowane przez uklad logiczny • testowania bitów, który wysyla do licznika 22d wyjsciowy sygnal liczenia, powodujac adre- 25 sowanie przez ten licznik miejsca 12, jak to pokazano na fig.7C.W miejscu 12 zawarte jest slowo sterowania rozgale¬ zienia bezwarunkowego, które jest kodowane w taki spo- sposób, ze adres odgalezny do pamieci 22a zostaje prze¬ sz niesiony do bitów 18—23 (fig. 4) slowa sterowania roz¬ kazupamieci 24a.Figi 6 przedstawia kodowanie bitów 8—11 dla roz¬ galezienia bezwarunkowego (UB) jako test. 15. W odpo¬ wiedzi na to kodowanie, uklad logiczny testowania bitów wysyla sygnal wprowadzania równoleglego do wejscia licznika 22d, pozwalajac na równolegle przeniesienie adrtsu w multiplt kstra 22c do ttgo licznika. Do wejscia _ multipleksera 22c jest równiez doprowadzany bit 6 slowa sterowania rozgaleznego (fig. 3A) w postaci sygnalu binarnej jedynki z wyjscia pamieci 22a. Wartosc jedyn- kowa bitu 6 umozliwia przeniesienie adresu rozgalezne¬ go, tj. bitów 18—23, z pamieci 24a (fig. 4) do multiplek¬ sera 22c poprzez lacze 30. Pamiec 22a jest obecnie adre¬ sowana w okreslonym miejscu, zawierajacym slowo ste¬ rowania w mikropregramie do rozpoczecia wykonywa¬ nia podprogramu mikroprogramu w celu sterowania wykonywaniem rozkazu znajdujacego sie aktualnie w ope¬ racyjnym rejestrze 24b. 50 Na fig. 7C nalezy zauwazyc, ze mikroprogram wy¬ chodzi z bloku decyzyjnego adresu odgalezienia bez¬ warunkowego w miejscu 12 do bloku miejsca proceduro¬ wego. Miejscem procedurowym moze byc dowolne miejsce adresowe w pamieci 22a. Miejsce procedurowe jest bez- 55 posrednio uzaleznione od adresu okreslonego przez bi¬ ty 18—23 slowa sterowania pamieci 24a. Miejsce to jest tym miejscem w mikroprogramie, w którym zawarte jest slowo sterowania, które dotyczy danego rozkazu wy¬ konywanego przez urzadzenie. Przykladowo, jesli wyko- 60 nywanym rozkazem jest rozkaz dodawania lub odejmo¬ wania, wprowadzonym do licznika 22d z pamieci 22a miejscem adresowym, jest miejsce 13, jak to przedstawio*- no na fig. 8. Fig. 8 przedstawia schemat dzialan dla wy¬ konywania róznych slów sterowania zawartych w pamieci 05 22a i pamieci 24a dla wykonania podprogramu mikro*112 808 21 22 programu w celu sterowania wykonaniem przez proce¬ sor rozkazu dodawania lub odejmowania.Pierwsze mikroprogramowe slowo sterowania podpro¬ gramu, zawarte w miejscu 13, jest slowem sterowania wejscia/wyjscia (fig. 3C). W tym szczególnym etapie mikroprogramu, miejsce okreslone przez zawartosc re¬ jestru IAR jest wczytywane do tego rejestru IAR. Bity 14 i 15 sa dekodowane przez multiplekser sterowania jako slowo sterowania wejscia/wyjscia, a bity 9 i 10 okres¬ laja, ze funkcja wejscia/wyjscia ma byc czytanie danych z pamieci glównej. Bity 6 i 7 sa dekodowane przez multi¬ plekser, który powoduje, ze procesor umieszcza dane odczytane z pamieci glównej w rejestrze IAR. Bity 0—5 sa równiez dekodowane przez multiplekser, przy czym bity 3—5 ustalaja, ze adres pamieci ma pochodzic z zawartosci rejestru IAR. Bity 8 i 11 sa zerami. Jak opi¬ sano poprzednio, bity 14, 15 i 11 z pamieci 22a sa po¬ nownie dekodowane przez uklad logiczny testowania bitów, który powoduje przejscie licznika 22d do adre¬ sowego miejsca 14.Podczas wykonywania .rozkazu dodawania lub odej¬ mowania, w procesorze musza byc wykonywane przez arytmometr ALU operacje wewnetrzne, dlatego w miejscu 14 pamieci 22a zawarte jest slowo sterowania procedu¬ rowego (fig. 3B). To slowo sterowania procedurowego powoduje przeniesienie sterowania arytmometru ALU z mikroprogramu pamieci 22a do slowa sterowania roz¬ kazu pamieci 24a dotyczacego rozkazu wykonywanego przez urzadzenie. Poza tym, tresc slowa sterowania pro¬ cedurowego umozliwia wysylanie przez multiplekser sy¬ gnalów do sterowania poszczególnymi rejestrami w pro¬ cesorze.Odnosnie multipleksera 26 sterowania z fig. 5 oraz slowa sterowimia procedurowego z fig. 3B, bity 14 i 15 tego slowa sa' dostarczane do tego multipleksera wraz z bitami 8, 9 i 10 pola okreslania funkcji arytmometru ALU. Dekodowanie bitów 8—10 przez multiplekser powoduje, ze przenosi on sterowanie arytmometru ALU ze slowa sterowania procedurowego do bitów 0—5 slowa sterowania rozkazu pamieci 24a (fig. 4).Tresc bitów 0—5 powoduje dostarczenie przez multi¬ plekser wlasciwych sygnalów sterujacych do arytmo¬ metru ALU, co umozliwia przeniesienie przez ten aryt¬ mometr zawartosci rejestru IAR i rejestru A oraz dodanie lub odjecie tych zawartosci zgodnie z funkcja okreslona przez bity 0-^5.- Poniewaz wyniki dodawania lub odejmowania sa umiesz¬ czone w rejestrze LAR, bit 7 slowa sterowania procedu¬ rowego jest jedynka, co powoduje wytworzenie przez multiplekser sterujacego sygnalu IOS, dla równoleglego Wprowadzania zawartosci arytmometru ALU do rejestru IAR. Po zakonczeniu tego etapu mikroprogramu, licz¬ nik 22d jest zerowany przez uklad logiczny testowania bitów, który dekoduje bity 14, 15 i 11 z pamieci 22a.Poniewaz bit»ll tego slowa sterowania procedurowego jest binarna jedynka, uklad logiczny testowania bitów wysyla wyjsciowy sygnal zerowania lub oczyszczania do licznika 22d, powodujac nastawienie tego licznika na stan zerowy. Mikroprogramowa jednostka sterujaca wychodzi obecnie z adresowego miejsca 14 z powrotem do bloku startowego z fig. 7A i proces wykonywania mi¬ kroprogramu zostaje powtórzony w opisany sposób.Fig. 9 przedstawia schemat dzialan mikroprogramowej jednostki sterujacej dla wykonywania rozkazu obiegu przesuwania rejestru A w prawo. Jesli czesc tego rozkazu 10 15 20 25 30 35 40 45 50 55 6Q 65 stanowiaca kod operacyjny znajduje sie w rejestrze ope¬ racyjnym, zawartosc tego rejestru adresuje miejsce w pamieci 24a, dotyczace tego szczególnego rozkazu. W ^odniesieniu do fig. 7C nalezy przypomniec, ze podczas wykonywania slowa sterowania rozkazu odgalezienia bez¬ warunkowego w miejscu 12 pamieci £2a adres odgalezie¬ nia zostal przeniesiony do pamieci 24a. Poniewaz obecnie wykonywany jest rozkaz przesuwania rejestru A w prawo, adres ten w bitach 0—5 slowa sterowania rozkazu pamieci 24a adresuje miejsce 15 z fig. 9.Nalepy równiez przypomniec z omówienia fig. 2, ze bity 0—9 podstawowego slowa rozkazu moga równiez zawierac liczbe lub kod funkcyjny w postaci zakodowanej binarnie, okreslajacy liczbe przesuniec, które maja byc, dokonane podczas rozkazu przesuwowego. Poza tym, nalezy przypomniec, ze pole funkcji lub adresu argumentu rozkazu jest zawsze wprowadzane do rejestru IAR. Pod¬ czas wykonywania rozkazu mikroprogramu w adreso¬ wym miejscu 15, liczba przesuniec, która ma byc zreali¬ zowana, jest przenoszona z rejestru IAR do rejestru K.Przenoszenie to jest sterowane przez slowo sterowania procedurowego, odczytywane z pamieci 22a.Bity 14 i 15 kodu operacyjnego (fig. 3B) sa dekodowane przez multiplekser w powiazaniu z bitami 8—10 pola wybierania funkcji arytmometru ALU, co powoduje, ze multiplekser wytwarza sygnal sterujacy dla dokonania bramkowania zawartosci rejestru IAR do arytmometru ALU. Bit 5 (KPE) sterowania procedurowego jest bi¬ narna jedynka. Sygnal KPE jest przepuszczany przez multiplekser sterowania 26, umozliwiajac równolegle zapelnienie rejestru K z afytmometru ALU, wskutek czego liczba przesuniec zostaje przesunieta lub przenie¬ siona z rejestru IAR do rejestru K. Uklad logicznego testowania bitów ponownie dekoduje bity 14, 15 i 11 slowa sterowania procedurowego i wysyla sygnal liczenia do licznika 22d, powodujac adresowanie przez ten licznik miejsca 16 pamieci 22a.W etapie 16 mikroprogramu wymagane jest zwieksze¬ nie stanu rejestru K o jeden. Jest to realizowane za po¬ moca innego slowa sterowania, przy czym bity 14 i 15 sa ponownie dekodowane przez multiplekser sterowania wraz z bitem 4 (KCE), który jest binarna jedynka. Zez¬ walajacy na liczenie sygnal KCE jest przepuszczany przez multiplekser do rejestru K, umozliwiajac zwiekszenie stanu tego rejestru o jeden. Uklad logiczny testowania bitów dostarcza równiez sygnal liczenia do licznika 22a przesuwajac adres pamieci 22a do miejsca 17.Miejsce 17 zawiera slowo sterowania rozgaleznego mikroprogramu, które wywoluje sprawdzenie czy za^ wartosc rejestru K jest równa 0 (K = 0), to jest, czy zos¬ tal? zrealizowana liczba przesuniec rejestru A. Test ten jest wykonywany w ukladzie logicznym testowania bi¬ tów, gdzie bity 8—11 pola testowania bitów (fig. 6) sa nastawione na przeprowadzenie testu 13 (SRC, czy prze¬ suwanie w prawo zostalo zakonczone?). Stan rejestru K jest dostarczany do ukladu logicznego testowania bitów poprzez lacza 40 z procesora. Jesli stan ten przy porówna¬ niu z bitami 8—10 nie wskazuje na to, ze zawartosc re¬ jestru K *jest równa 0, uklad logiczny testowania bitów wytwarza nastepny sygnal liczenia. Sygnal ten powoduje adresowanie przez licznik 22d miejsca 18 pamieci 22a.Slowo sterowania procedurowego równiez jest zawarte w miejscu 18.W slowie sterowania procedurowego w miejscu 18 waz¬ ny jest stan bitu 3. Bit 3 jest jedynka i przechodzi przez112 808 23 multiplekser jako sygnal ASI do wejscia odpowiedniego ukladu bramkowania logicznego rejestru A, umozliwiajac przesuniecie tego rejestru w prawo o jedna pozycje. Przez obserwowanie bitów 14, 15 i 11 uklad logiczny testowa¬ nia bitów ponownie wytwarza sygnal liczenia, powodujac przejecie licznika 22d do adresowego miejsca 19, jak to pokazano na fig. 9.Miejsce 19 zawiera slowo sterowania rozgaleznego, posiadajace adres rozgalezny do miejsca 16 w bitach 0—5, a bity 8—11 sa zakodowane na przeprowadzenie testu 15 z fig. 6, jak to juz wyjasniono. Bit 6 slowa sterowania rozgaleznego (fig. 3A) jest zerem, multiplekser 22c prze¬ puszcza wiec adres rozgalezny z pamieci 22a do licznika 22d. Wskutek dekodowania bitów 14, 15 i 8—11, uklad logiczny testowania bitów wytwarza sygnal wprowadza¬ nia równoleglego, pozwalajacy na wprowadzenie adresu rozgaleznego do licznika 22d. W wyniku tego, mikropro- gram skacze z powrotem do adresowego miejsca i6, wy¬ chodzac ponownie do bloku „K-l".Mikroprogramowa jednostka sterujaca kontynuuje obieg w petki poprzez etapy 16—19 az do uzyskania przez re¬ jestr K stanu równego 0. Wtedy to rejestr A zostaje prze¬ suniety w prawo okreslona ilosc razy i wykonywane jest slowo sterowania rozgaleznego w miejscu 17, powodujac wyjscie mikroprogramu przez odgalezienie „Tak" i co- wrót do bloku startowego, jak to przedstawiono na fig. 7A. To odgalezienie do poczatku mikroprogramu jest realizowane przjez nadanie adresu o wartosci binarnego zera w 0—5 slowa sterowania rozgaleznego miejsca 17.Przy zerowym stanie rejestru K i bitach 8—11 zakodo¬ wanych na realizowanie odgalezienia bezwarunkowego (UB), uklad logiczny testowania bitów doprowadza do licznika 22d sygnal wprowadzania równoleglego. Powoduje to równolegle przeniesienie bitów 0—5 z pamieci 22a do licznika 22d poprzez multiplekser 22c. Bit 6 slowa ste¬ rowania rozgaleznego stanowi zero binarne, co powoduje skierowanie adresu odgaleznego z pamieci 22a do multi¬ pleksera 22c.Fig. 11 przedstawia schemat dzialan rozkazu wpisa¬ nia zawartosci rejestru A (STA), gdzie z licznika 22d jest adresowane miejsce 20 pamieci 22a, gdy mikropro- gram opuszcza miejsce 12, jak to opisano w odniesieniu r do fig. 7C. Do sterowania wykonaniem rozkazu wpisania zawartosci rejestru A, w miejscu 20 pamieci 22a jest umiesz¬ czone slowo sterowania wejscia/wyjscia. Rozkaz ten po¬ woduje magazynowanie zawartosci rejestru A procesora w miejscu pamieci'glównej okreslonym przez zawartosc rejestru IAR. Bity 14 i 15 kodu operacyjnego wejscia/ /wyjscia (fig. 3C) sa ponownie dekodowane przez multi¬ plekser w polaczeniu z bitami 9 i 10 pola okreslania fun¬ kcji wejscia/wyjscia, w celu wyslania do procesora syg¬ nalu sterujacego wpisywania.Poniewaz wymagane jest magazynowanie zawartosci rejestru A w miejscu pamieci okreslonym przez rejestr IAR, bity 6 i 7 sa odpowiednio kodowane i wykorzysty¬ wane przez multiplekser do umozliwiania przeniesienia zawartosci rejestru A do pamieci glównej. Poniewaz zród¬ lem adresu pamieci jest rejestr IAR, bity 0—5 sa doko- dowane przez multiplekser sterowania 26, umozliwiajac adresowanie pamieci glównej przez rejestr LAR. Podczas wykonywania tego slowa sterowania mikroprogramu rów¬ niez oczyszczany jest licznik MPCNT przez wyslanie do niego sygnalu oczyszczania przez uklad logiczny tes¬ towania bitów, co powoduje powrót mikroprogramu do bloku startowego z fig. 7A. 24 Na fig. 20 przedstawiony jest inny typ rczkazu rozga¬ leznego, który moze byc wykonywany przez mikropro¬ gramowa jednostke sterujaca, a mianowicie odgalezienie warunkowe stanu. Jesli w rejestrze operacyjnym znajduje 5 sie rozkaz takiego odgalezienia warunkowegor w miejscu 21 znajduje sie slowo sterowania odgaleznego, wyko¬ rzystywane do testowania pewnego okreslonego warun¬ ku, dostarczanego do ukladu' logicznego testowania bi¬ tów z procesora przez lacza 40. Testowanie takie jest io przedstawione na fig. 6, gdzie test 11 (BST) przedstawia kodowanie bitów 8—11 pola testowania bitów.Na fig. 10 stawiane przez slowo sterowania odgalezne¬ go pytania jest reprezentowane przez blok decyzyjny „BST — 1?". Jesli stawiany warunek nie jest spelniony, 15 mikroprogram wychodzi przez odgalezienie „Nie" i wra¬ ca do bloku startowego z fig. 7A. Jest to realizowane przez zera binarne w bitach 0—5 oraz takie zero w bicie 6. Jak to wyjasniono poprzednio, bit 6 kieruje adres pamieci 22a na lacza 44 poprzez multiplekser 22c, a uklad logicz- 20 ny testowania bitów wysyla sygnal wprowadzania równo¬ leglego do licznika 22d w odpowiedzi na bity 14, 15 i 8—11.W miejscu 21, jesli stawiany warunek jest spelniony, mikroprogram wychodzi poprzez odgalezienie „Tak" 25 i wtedy uklad logiczny testowania bitów, wysyla sygnal liczenia, powodujacy przejscie licznika 22d do stanu 22.Miejsce 22 pamieci 22a zawiera, slowo sterowania wejs¬ cia/wyjscia, które powoduje wprowadzenie zawartosci rejestru IAR do rejestru P w pamieci glównej, do miejsca 30 okreslonego przez bity 0—5. Poprzez multiplekser ste¬ rowania 26, równiez bity 9 i 10 pola okreslania funkcji wejscia/wyjscia sterujac procesorem 12 na realizowanie operacji wpisywania do pamieci glównej. Poza tym, przez multiplekser sterowania 26 dekodowane sa*"1 równiez bity 35 6 i 7 w celu okreslenia do procesora zródla danych wpro¬ wadzanych do pamieci glównej, które stanowi rejestr IAR. W tym szczególnym slowie sterowania wejscia/ /wyjscia bit 11 zerowania licznika 22d jest binarna je¬ dynka. Uklad logiczny testowania bitów wysyla wiec 40 do licznika 22d sygnal zerowania, zerujacy licznik i po¬ wodujacy* powrót jednostki sterujacej mikroprogramu do bloku startowego z fig. 7A.Na fig. 6 nalezy zauwazyc, ze pewna ilosc testów jest przedstawiona . jako testy nie wykorzystywane. Testy 45 te moga byc wykorzystywane przez uklad logiczny testo¬ wania bitów do. wykonywania operacji rozgaleznyeh mi¬ kroprogramu w odpowiedzi na rózne warunki dotyczace stanów, dostarczane przez procesor. ^ Chociaz wynalazek zostal wyjasniony w odniesieniu do przykladowych funkcji spelnianych przez mikroprogramo¬ wa jednostke sterujaca uniwersalnego urzadzenia do prze¬ twarzania danych, moga byc dokonywane rózne mody¬ fikacje struktur i zawartosci slów sterowania w celu otrzy¬ mania jednostki sterujacej do sterowania róznych typów urzadzen do przetwarzania danych, cyfrowych jednostek sterujacych lub podobnie skonstruowanych urzadzen zewnetrznych. - Koordynowanie operacji pomiedzy procesorem a mi- 60 kroprogramowa jednostka sterujaca moze byc synchro¬ niczna, lufc asynchroniczna. Wiadomo, ze operacje te sa zwyklymi funkcjami sterowania czasowego, które moga byc realizowane za pomoca znanych sposobów i dlatego sterowanie czasowe nie zostalo wyeksponowane w opisie 65 przykladu zastosowania. - 20 25 30 35 40 45 50 55 60112 808 25 Zastrzezenia patentowe 1. Mikroprogramowa jednostka sterujaca, zawierajaca procesor, polaczony z pamiecia, przeznaczona do zapa¬ mietywania rozkazów, które maja byc wykonywane przez ten procesor, które to rozkazy zawieraja przynajmniej czesc kodowo-operacyjna, identyfikujaca, rozkazy, mi- kroprogramowy blok sterujacy, polaczony z procesorem, przeznaczony do sterowania wykonywaniem rozkazów przez ten procesor, który to mikroprogramowy blok ste¬ rujacy zawiera pierwsza pamiec, przeznaczona do' zapa¬ mietywania mikrorozkazów, i druga pamiec, przeznaczo¬ na do zapamietywania slów sterujacych, z których kazde jest przyporzadkowane jednemu z rozkazów, które maja byc wykonywane przez procesor, przy czym slowa ste¬ rujace zawieraja informacje adresowa i informacje ste¬ rujaca, wykorzystywana do sterowania procesorem, przy .czym druga pamiec jest polaczona z procesorem i adre¬ sowana z niego w odpowiedzi na kodowa informacje ste¬ rujaca celem zapewnienia mozliwosci poszukiwania slowa sterujacego z drugiej pamieci, zespól sterujacy, przezna¬ czony do selektywnego doprowadzania sygnalów adre¬ sowych do pierwszej pamieci celem wyszukania w niej mikrorozkazów, znamienny tym, ze zespól sterujacy (22), przeznaczony do selektywnego doprowadzania sy¬ gnalów adresowych do pierwszej pamieci (22a) celem wyszukania w niej mikrorozkazów, które to mikroroz- kazy sa mikrorozkazami pierwszego i drugiego rodzaju, przy czym mikrorozkazy pierwszego rodzaju zawieraja dane sterujace wykorzystywane "do sterowania sekwencja mikrorozkazów i informacje adresowa dla mikrorozkazów, a mikrorozkazy drugiego rodzaju zawieraja dane sterujace wykorzystywane do sterowania sekwencja mikrorozka¬ zów i informacje sterujaca dla procesora (12), zawiera uklad testujacy (22b) i uklad (22c, 22d) przesylania in¬ formacji adresowej, przy czym wejscie sterujace ukladu sterujacego (22b) jest polaczone laczem (40) doprowadza¬ jacym informacje operacyjno-kodowa z jednym z wyjsc procesora (12), pierwsze i drugie wejscia informacyjne ukladu testujacego (22b) sa polaczone z pierwszym i dru¬ gim wyjsciami informacyjnymi drugiej pamieci (24) laczami informacyjnymi (50, 56) odpowiednio, trzecie wejscie informacyjne ukladu testujacego (22b) jest po¬ laczone z wyjsciem sterujacym pierwszej pamieci (22a) laczem (54), którym sa doprowadzane dane sterujace zawarte w uprzednio odszukanych mikrorozkazach pierw¬ szego i drugiego rodzaju celem wytworzenia adresowych sygnalów sterujacych, które sa przeznaczone do wyko¬ rzystywania do zapewnienia kolejnego dostepu do pierwszej pamieci (22a), przy czym laczem informacyjnym (50) do ukladu testujacego (22b) sa doprowadzane sygnaly adresowe i operacyjnokodowe z pierwszego wyjscia dru¬ giej pamieci (24), a laczem (56) doprowadzane sa sy¬ gnaly, odwzorowujace slowa sterujace dla mikrorozkazów, z drugiego wyjscia drugiej pamieci (24), wejscie steru¬ jace ukladu (22c, 22d) przesylania adresów jest polaczone z wyjsciem sterujacym pierwszej pamieci (22a) laczem (44) doprowadzajacym do ukladu (22c, 22d) przesylania adresów sygnaly sterujace, pierwsze wejscie informacyjne tego ukladu (22c, 22d) przesylania adresów jest po¬ laczone z drugim wyjsciem drugiej pamieci (24) laczem (30), doprowadzajacym informacje adresowa, zawarta w slowach sterujacych uprzednio odszukanych w drugiej -pamieci (24), a laczem (44) doprowadzana jest informacja 26 adresowa i dane sterujace zawarte w mikrorozkazach jednego rodzaju z wymienionych mikrorozkazów pierw¬ szego i drugiego rodzaju uprzednio odszukanych w pierw¬ szej pamieci (22a), a wyjscie ukladu (22c, 22d) przesy- 5 lania adresów jest polaczone z wejsciem pierwszej pamieci (22a) przy tym uklad przesylania adresów (22c, 22d) w pierwszej kolejnosci reaguja na adresowe sygnaly ste¬ rujace i na dane sterujace zawarte w uprzednio odszu¬ kanych mikrorozkazach pierwszego rodzaju celem wy- 10 selekcjonowania i przesylania informacji adresowej, za¬ wartej w uprzednio odszukanym mikrorozkazie pierwsze¬ go rodzaju i uprzednio odszukanym slowie sterujacym do pamieci jako sygnaly adresujace, a w drugiej kolej¬ nosci — do przesylania adresów jako sygnalów adresu- 15 jacych do pierwszej pamieci (22a) w odpowiedzi na dane sterujace, doprowadzone do ukladu testujacego (22b), zawarte w uprzednio odszukanym mikrorozkazie dru¬ giego rodzaju, oraz uklad (26) multipleksera sterujacego polaczony z pierwsza (22a) i druga (24) pamieciami^ 20 przeznaczony do selektywnego doprowadzania sygna¬ lów sterujacych, przeznaczonych do sterowania proce¬ sorem zgodnie z informacja sterujaca procesorem, za¬ warta w uprzednio odszukanym slowie sterujacym i w informacji sterujacej procesorem oraz w danych steru- 25 jacych, zawartych w uprzednio odszukanym mikroroz- . kazie drugiego rodzaju. 2. Jednostka sterujaca wedlug zastrz. 1, znamienna tym, ze uklad (22c, 22d) przesylania adresów zawiera zalaczony na wejsciu mikroprogramowy multiplekser 30 (22c), którego pierwsze wejscie informacyjne stanowi . pierwsze wejscie informacyjne ukladu (22c, 22d) prze¬ sylania adresów, drugie wejscie intormacyjne stanowi drugie wejscie intormacyjne ukladu (22c, 22d) przesy¬ lania adresów, a wejscie sterujace stanowi wejscie steru- 35 jace ukladu (22c, 22d) przesylania adresów, oraz mikro¬ programowy licznik szeregoworównolegly (22d), którego wyjscie jest polaczone z wejsciem pierwszej pamieci (22a), pierwsze wejscie sterujace — z wyjsciem ukladu testu¬ jacego (22b), a drugie wejscie ste/ujace — z laczem (64) 40 doprowadzajacym sygnal zalaczajacy. 3. Jednostka sterujaca wedlug zastrz. 1, albo 2, zna¬ mienna tym, ze pierwsza (22a) pamiec i druga (24) pamiec sa pamieciami odczytowymi (ROM). 4. Jednostka sterujaca wedlug zastrz. 3, znamienna 45 tym, ze druga pamiec (2£) zawiera rejestr (24b) przezna¬ czony do odbierania sygnalów adresowych z procesora (12), przeznaczone do adresowania komórek pamieci w drugiej pamieci (24a), przy czym wyjscie rejestru (24b) stanowi pierwsze wyjscie drugiej pamieci (24) polaczone 50 z pierwszym wejsciem informacyjnym ukladu testujace¬ go (22b) zespolu sterujacego (22). 5. Jednostka sterujaca wedlug zastrz. 1, znamienna tym, ze pierwsze wejscie informacyjne ukladu (26) mul¬ tipleksera jest polaczone z drugim wyjsciem ^drugiej pa- 55 mieci (24) laczem (31) doprowadzajacym informacje identyfikacyjna, drugie wejscie inforrhacyjne ukladu (26) jest polaczone z wyjsciem informacyjnym pierwszej pa¬ mieci (22a) laczem (38), pierwsze wejscie sterujace jest polaczone z laczem (64), doprowadzajacym sygnal za- 60 laczajacy, drugie wejscie sterujace jest polaczone z wyjs¬ ciem sterujacym pierwszej pamieci (22a) laczem (36), doprowadzajacym sygnaly sterujace, a wyjscie informa¬ cyjne i wyjscie sterujace sa polaczone laczami (32, 34) z procesorem (12).112 808 je r 24 18^1 Vv \ 40 I J__ 20 34 C4 ^i •30 ZZ 44 38 JL-L FIG.! -CBA 3 - B I 15 14 13 12 II IO 9 8 7 6 5 4 3 2 / o [T 0 Ii 1 FI62 FIG3' T 15 0 14 X 13 ^ a wv ii 10 9 8 7 6 5 4 3 Z i i o I FIG.3B I* I ISI I KCE I * ISO KPE ASI 15 1/ 14 0 13 l 12 h^ li 10 ^U 9 0 8 T 7 6 5 4 T 3 2 r-^n ' O FIG3C 23 22 21 20 13 IB 17 16 15 |4 13 12 ¦ 1 ' n 10 9 8 ^ ^ 7 6 5 1 ! 4 3 2. 1 0 FIG.4ott O' TT I I 4-4- I 31 i^_A ' / \ r1^ \ / ^ VI * t DC < t A '? / \ Q * t t£ < t 'r j<" 1 S. 1 I ..^_ --J I O 00 o 00 7t* ?M £ z o _ 2 oo «pp 00 O 0 Lhj M o-o ¦ - -0< O0-- oop c otcOW-U < -0 D - T Jo ?|v* - - - o r* FTCH 0 - o o 0 0 COOT H co 0 - C - - c o 0 - o -L M lad ) - C 5 0- --- 1co r ) - T ¦ - rr° Ml Oj U. u. rT v< iC LlJ + a. t S 1 Ol s 1 Tl112 808 FIG.7* PrT FIG 8 FIG.3112 808 J| \ y brli(jnz) (iAR) -*-P FIG iO FU PL