Opublikowano: 20.1.1967 52632 AIajI 3///0 KI. 42 m, H MKP G 06 £ 3//0 UKD P'BLIOTfcT( Wspóltwórcy wynalazku: mgr inz. Jacek Bankowski, mgr inz. Konrad Fialkowski Wlasciciel patentu: Politechnika Warszawska Katedra Budowy Maszyn Matematycznych, Warszawa (Polska) Uli-H" ^c'ftfllo*veqr • Sposób kodowania rozkazów w elektronicznych maszynach cyfrowych mikroprogramowanych poziomo, oraz sposób kontroli operacyjnej poprawnosci tych rozkazów Przedmiotem wynalazku jest sposób kodowa¬ nia rozkazów w elektronicznych maszynach cy¬ frowych mikroprogramowanych poziomo oraz sposób kontroli operacyjnej poprawnosci tych rozkazów, który zapewnia formowanie rozkazów operacyjnie poprawnych z mozliwoscia sygnali¬ zacji bledów.Z organizacji maszyn cyfrowych mikropro¬ gramowanych poziomo wynika, ze pewnych mi- krooperacji nie mozna uzywac w jednym roz¬ kazie. Rozkaz zawierajacy takie mikrooperacje nie jest poprawny.Dotychczas stosowane sposoby kodowania roz¬ kazów wymagaly od uzytkownika maszyny cy¬ frowej mikroprogramowanej poziomo pamiecio¬ wego opanowania duzej ilosci regul tworzenia rozkazów poprawnych. W wypadku pomylki uzytkownika, przy dotychczas stosowanym spo¬ sobie kodowania rozkazów, formowany byl roz¬ kaz bledny, którego wykrywanie powodowalo znaczne trudnosci przy uruchamianiu programu.Stosujac sposób wedlug wynalazku uzyskuje sie sygnalizacje bledu w wypadku próby utwo¬ rzenia niepoprawnego rozkazu. Wszystkie roz¬ kazy zakodowane, przy których sygnalizacja bledu nie wystapila, sa wiec poprawne i uru¬ chomienie programu skladajacego sie jedynie z takich rozkazów wymaga zuzycia mniejszej ilosci czasu maszyny i uzytkownika.Istota wynalazku jest tworzenie slowa kon- 10 15 20 25 30 2 trolnego w oparciu o umieszczona na stale w pamieci maszyny cyfrowej macierz, okreslana dalej jako macierz przejsc dozwolonych. Ma¬ cierz ta jest macierza kwadratowa, a wyrazy jej przyjmuja wartosci 0 lub 1. Wymiar macie¬ rzy odpowiada liczbie wszystkich mozliwych róznych mikrooperacji. Wiersze macierzy ponu¬ merowane sa kolejnymi liczbami, i = 1, 2,..,N, a kolumny macierzy liczbami j = 1,2, ...,N.Wiersz o numerze „iV odpowiada mikrooperacji o numerze „i", i zawiera 1 w tych kolumnach, których numery odpowiadaja numerom mikro¬ operacji tworzacych z mikrooperacja o nume¬ rze „i" rozkaz niepoprawny.Macierz zapisywana jest w pamieci wiersza¬ mi, przy czym kazdy wiersz zajmuje jedna ko¬ mórke pamieci. Wiersze macierzy wykorzysty¬ wane sa przy formowaniu slowa kontrolnego, to znaczy slowa, badanie którego okresla popraw¬ nosc formowanego rozkazu. .Slowo kontrolne formowane jest w miare two¬ rzenia rozkazu, przy czym poczatkowo, przed rozpoczeciem tworzenia rozkazu wszystkie pozy¬ cje slowa kontrolnego maja wartosc 0. Dodanie do tworzonego rozkazu mikrooperacji o nume¬ rze i powoduje dodanie logiczne i- tego wiersza macierzy do slowa kontrolnego.Przed dodaniem do tworzonego rozkazu nowej mikrooperacji o numerze i nalezy sprawdzic, czy pozycja odpowiadajaca mikrooperacji i w 52 63252 632 3 poprzednio utworzonym slowie kontrolnym jest równa 0. Jezeli na pozycji tej jest zapisane 0, nowoutworzony rozkaz jest w dalszym ciagu poprawny, a do slowa kontrolnego mozna dodac wiersz macierzy odpowiadajacy i- tej mikro- operacji. W przeciwnym przypadku, gdy odpo¬ wiadajaca i- tej mikrooperacji pozycja slowa kontrolnego jest równa 1, uformowanie popraw¬ nego rozkazu nie jest mozliwe, nalezy wiec za¬ przestac dalszego formowania rozkazu i zasy¬ gnalizowac blad.Wynalazek wyjasniony zostanie blizej na przy¬ kladzie.W przykladzie przedstawiona jest macierz przejsc dla maszyny zawierajacej 6 róznych mi¬ krooperacji. Przyjmuje sie, ze jedna mikroope- racja nie moze byc uzyta w rozkazie wielokrot¬ nie. Wynikiem tego zalozenia sa wartosci 1 na przekatnej macierzy.Dodatkowo przyjeto w przykladzie, ze mikro- operacja o numerze 1 nie moze wystepowac z mikrooperacjami o numerach 3 i 5, mikro- operacja o numerze 2 moze wystepowac % wszystkimi innymi mikrooperacjami, mikroope- racja o numerze 3 nie moze wystepowac z mi¬ krooperacjami o numerach 1 i 6, mikrooperacja o numerze 4 nie moze wystepowac z mikroope¬ racjami o numerze 5, mikrooperacja o nume¬ rze 5 nie moze wystepowac z mikrooperacjami o numerach 1 i 4, mikrooperacja o numerze 6 nie moze wystepowac z mikrooperacja o nu¬ merze 3.Macierz przejsc dozwolonych dla przyklado¬ wej maszyny jest pokazana na fig. 1.Kolejne postacie slowa kontrolnego powstaja¬ ce w miare dodawania nowych mikrooperacji pokazane sa na fig. 2 oraz fig. 3.Przed przystapieniem do formowania rozkazu slowo kontrolne zawiera wylacznie zera. Próba dolaczenia do rozkazu mikrooperacji o nume¬ rze „i" (numer podany z lewej strony na fig. 2 i fig. 3) powoduje badanie pozycji slowa kon¬ trolnego o numerze „if\ Pozycja ta na fig. 2. i fig. 3 zaznaczona jest znakiem x. W wypadku, gdy badana pozycja o numerze „i" jest zerem wiersz macierzy przejsc o numerze „i" zostaje zsumowany logicznie ze slowem kontrolnym."""W ""tBimewroym wypadku zamiast kolejnej po- 10 15 29 30 35 40 45 staci slowa kontrolnego w wierszu zapisane jest slowo: „blad".W przykladzie podanym na fig. 2 mozliwe jest utworzenie rozkazu przez dodanie kolejne mi¬ krooperacji o numerach 1, 2, 4, przy czym roz¬ kaz zawierajacy te mikrooperacje jest popraw¬ ny. W przykladzie podanym na fig. 3 mozliwe jest utworzenie rozkazu przez dodanie kolejne mikrooperacji o numerach 3, 5, natomiast do¬ danie do tych mikrooperacji mikrooperacji o nu¬ merze 1 powoduje powstanie rozkazu operacyjnie niepoprawnego i w kolejnym wierszu zamiast slowa kontrolnego wypisane jest slowo: „blad". PL