Przedmiotem wynalazku jest sposób sterowania mikrokomputerem Jednostrukturowym i uklad mikrokomputera stosujacy ten sposób. Mikrokomputer ten przeznaczony jest do stoso¬ wania w systemach sterowania i systemach liczacych w sensie uniwersalnym, w róznych dzie¬ dzinach tam gdzie program uzytkowy miesci sie w jego ograniczonej pamieci programu. Dotych¬ czas znane rozwiazania tego typu mikrokomputerów, stosuja rejestry liczników programu, nie¬ zaleznie od innych bloków funkcjonalnych, zbudowane ze skomplikowanych przerzutników typu T, przez co zajmujacych duza czesc powierzchni ukladu.W rozwiazaniach stosujacych rejestry wskaznikowe adresowania danych, umieszczone w pamieci danych - zachodzi koniecznosc wykonywania az dwóch dostepów do pamieci danych w celu pobrania lub zapisu jednego slowa, ponadto koniecznosc wykorzystywania w tym przypadku arytmometru do inkrementacji zawartosci rejestrów wskazników danych jest takze niekorzystna, gdyz blokuje arytmometr dla innych operacji. Istnieja takze rozwiazania stosujace niezalez¬ ne rejestry wskaznikowe adresowania danych lecz inkrementacja ich zawartosci dokonywana jest w arytmometrze.Istota aposobu wedlug wynalazku jest to, ze w takcie pierwszym cyklu maszynowego wykonuje sie zaleznie od stanu programu i stanu mikrokomputera, inkrementacje zawartosci rejestru licznika uniwersalnego oraz w przypadku wykonywania rozkazów pobierajacych dane, pobranie slowa z pamieci danych adresowanej za pomoca wskaznika danych, utworzonego jako kombinacja jednego z dwóch rejestrów adresowania wierszy i jednego z dwóch rejestrów adre-2 147 635 sowania kolumn, przy czym dla czesci rozkazów operacje uzupelnia sie równoczesna inkremen- tacja aktualnie wykorzystywanego rejestru, a w takcie drugim dokonuje sie inkrementacji adresu kolejnego slowa pamieci programu w przypadku, gdy w trakcie aktualnie wykonywanego cyklu maszynowego z pamieci programu pobierane jest slowo, zas w pozostalych przypadkach operacje pobrania danej z pamieci danych z uwarunkowaniem, adresowaniem i uzupelnieniem Jak w takcie pierwszym, a w takcie trzecim wykonuje sie, zaleznie od stanu programu i mi¬ krokomputera, inkrementacje zawartosci drugiego licznika uniwersalnego oraz w przypadku wykonywania rozkazów zapisujacych dane, operacje zapisu danej do pamieci danych z adreso¬ waniem i uzupelnianiem jak w takcie pierwszym.Istota ukladu wedlug wynalazku jest to, ze posiada on zintegrowany w postaci pa¬ mieci RAM o n ? 3 wierszach zespól rejestrów, którego n + 1 wierszy sa kolejnymi rejestra¬ mi stosu liczników rozkazów, gdzie licznik oznaczony numerem zero jest licznikiem rozkazów dla zerowego zaglebienia stosu, a kazdy z pozostalych dwóch wierszy dzieli sie na rejestr licznika uniwersalnego oraz rejestr czesci wskaznika adresowania danych, posiadajace nie¬ zalezne linie wybierajace, zas linie hitów zespolu rejestrów polaczone sa z uniwersalnym inkrementerem, który w przypadku wspólpracy z licznikiem programu ma dlugosc równa dlugos¬ ci tego licznika, a w przypadku wspólpracy z licznikiem uniwersalnym i jednoczesnie reje¬ strem czesci wskaznika adresowania danych ma postac dwóch niezaleznych inkrementerów, kaz¬ dy o dlugosci odpowiedniego rejestru. Mikrokomputer posiada wspólny dekoder wierszy pamie¬ ci danych i pamieci programu. Mikrokomputer wedlug wynalazku odznacza sie szeregiem ko¬ rzystnych cech, tak uzytkowych jak i funkcjonalnych oraz pozwala wyeliminowac wady znanych rozwiazan. Jednoczesnie wykonywanie operacji inkrementacji z dostepem do pamieci powoduje zmniejszenie czasu wykonywania instrukcji, a tym samym calych programów. Wykorzystanie rejestrów wskaznika danych do wykonywania niektórych typów dzialan arytmetycznych pozwala zaoszczedzic wiele slów pamieci programu i znacznie skrócic czas wykonywania dzialan na ciagach danych (kodowanych binarnie badz w zapisie BCD). Umieszczenie liczników uniwersal¬ nych oraz rejestrów wskaznika adresowania wierszy pamieci danych w jednym bloku z licznikami programu pozwala na budowe tej czesci ukladu z szeregu identycznych komórek pamieciowych statycznych (6 tranzystorów) badz dynamicznych (1 tranzystor na komórke), tworzacych pamiec RAM, przy czym wszystkie elementy wykorzystuja w dzialaniu jeden wspólny inkrementer. Taki sposób integracji tych ukladów pozwala wydatnie zmniejszyc powierzchnie ukladu scalonego, realizujacego funkcje opisywanego mikrokomputera, jak równiez skrócic czas projektowania jego maski. Zmniejszenie powierzchni ukladu pociaga za soba zmniejszenie kosztów wytwarza¬ nia (wiekszy uzysk technologiczny). Zastosowanie wspólnego dekodera wierszy dla pamieci da¬ nych i programu pociaga za soba oszczednosc powierzchni struktury ukladu scalonego (1 deko¬ der zamiast dwóch) - wiekszy uzysk technologiczny i prostsza konstrukcja maski.Mikrokomputer o opisanych cechach jest zaprojektowany jako uklad o 4-bitowym slo¬ wie danych. W okresie ostatnich lat pojawilo sie co najmniej kilkanascie rodzin tego typu ukladów, produkowanych glównie przez firmy japonskie i amerykanskie z przeznaczeniem do za¬ stosowania przede wszystkim w sprzecie powszechnego uzytku. Opisane cechy funkcjonalne po¬ zwalaja zastosowac mikrokomputer wedlug wynalazku równiez profesjonalnie, jako sterownik badz uklad kalkulatorowy. Nieznane sa uklady mikrokomputerów jednostrukturowych, umozliwia¬ jace trzy dostepy do pamieci danych w jednym trzytaktowym cyklu maszynowym - jak to ma miejsce w przedmiocie wynalazku. Podobnie nieznane sa uklady mikrokomputerów jednostruktu- rowych, umozliwiajace równoczesnie (w jednym takcie) z dostepem do pamieci danych inkre¬ mentacje zawartosci rejestru wskaznika danych.Sposób wedlug wynalazku i uklad mikrokomputera zostana blizej objasnione na przy¬ kladzie wykonania, przedstawionym na rysunku i pokazujacym schemat tego ukladu. Zintegrowa¬ ny w postaci pamieci RAM zespól rejestrów ZR, którego 4 wiersze sa kolejnymi rejestrami147 635 3 etosu liczników rozkazów P00 - PC3# a pozostala dwa wiersze podzielone sa na rejestr licz¬ nika uniwersalnego HM1f TIMjtf i rejestr wskaznika adresowania pamieci danych X1, Xfft po¬ laczony jest poprzez linie bitów z jednym, uniwersalnym inkrementerem INC. Inkrementer ten moze pracowac w Jednym z dwóch trybów: w przypadku wspólpracy z jednym z liczników programu (aktualnie wybranym przez wskaznik stosu SP) ma on dlugosc równa dlugosci licz¬ nika rozkazów (12 bitów), zas w przypadku wspólpracy z licznikiem uniwersalnym Tlfi0 lub TIM1 i jednoczesnie rejestrem czesci wskaznika adresowania wierszy pamieci danych Xfl lub X1 przyjmie postac dwóch niezaleznych inkrementerów - o dlugosci 8 bitów dla rejestrów liczników uniwersalnych TIM0, TIM1 i drugiego o dlugosci 4 bitów dla rejestrów wskazników danych XCS, X1. Rejestry liczników uniwersalnych i rejestry wskazników danych xd9 X1 po¬ siadaja niezalezne linie wybierajace. Rejestry liczników rozkazów wybierane sa poprzez li¬ nie polaczone ze wskaznikiem stosu SP. Przykladowy stos liczników rozkazów jest 3-poziomo- wy, dla zerowego zaglebienia stosu wybrany jest licznik PCO, przy przejsciu do wykonywania podprogramu aktywny Jest sygnal D (DOWN SP), sterujacy wskaznikiem stosu, który wybiera kolejny licznik rozkazów PC1 itd. Przy powrocie z podprogramu na skutek dzialania instruk¬ cji RET aktywny jest sygnal U (UP SP), sterujacy wskaznikiem stosu i wybierany jest licz¬ nik rozkazów o kolejnym nizszym zaglebieniu. Inkrementacja badz dekrementacja wskaznika stosu SP odbywa sie w takcie T2« Ustawianie lub odczyty zawartosci liczników rozkazów do¬ konywane jest poprzez linie bitów polaczone z wewnetrzna szyna danych IDB. Ilosc linii szyny danych równa jest ilosci bitów slowa danych. Dwanascie linii bitów zespolu rejest¬ rów sluzy do adresowania pamieci programu PM. Adresowanie slowa pamieci programu odbywa sie poprzez dekoder kolumn CD oraz dekoder wierszy RD. Dekoder wierszy RD jest wspólny do wybierania wierszy zarówno pamieci programu PM Jak 1 pamieci danych DM. Inkrementacja adresu pamieci programu PC <— PC ? 1 dokonywana jest w takcie T2, natomiast w takcie na¬ stepnym T3 wybrane slowo z pamieci PM przesylane jest do rejestru rozkazów IR. Zawartosc rejestru rozkazów dekodowana jest równiez w takcie T3 1 przesylana do ukladu sterowania centralnego MC, a jednoczesnie do arytmometru ALU. Wymiana informacji pomiedzy rejestrem rozkazów i arytmometrem Jest dwukierunkowa. Z drugiej strony arytmometr posiada mozliwosc dwukierunkowej transmisji informacji z szyna danych IDB. W sklad arytmometru wchodzi re¬ jestr akumulatora A, o dlugosci slowa danych, do którego przesylane sa wyniki operacji arytmetyczno-loglcznych. Wymiana informacji pomiedzy blokiem arytmometru ALU, a pamiecia danych DM i rejestrami ukladów i/O (WE/Wy) odbywa sie poprzez wewnetrzna szyne danych IDB.W ukladzie sterowania centralnego MC generowane sa sygnaly taktów T1, T2, T3f synchroni¬ zujace prace mikrokomputera, sygnaly UD sterujace wskaznikiem stosu SP, sygnaly S1, S2 sluzace do selekcji rejestrów xf lub X1 (sygnal S1) oraz rejestrów 10 lub T1 (sygnal S2), a takze sygnaly CY1, CI2 do sterowania inkrementacja. Pozostale sygnaly sterujace nie sa istotne w przedmiocie wynalazku. Uklad sterowania inkrementacja oznaczony ICC dziala w tak¬ cie T2. Adresowanie kolumn pamieci danych DM przez jeden z rejestrów wskaznika danych 10 lub T1 dokonywane jest poprzez multiplekser MUX. Multiplekser sterowany sygnalem S2 wybie¬ ra rejestr Y$ lub Y1. Do sterowania rejestrów wskaznika adresowania danych DP sluzy uklad DPC (DATA POINTER CONTROL), którego dzialanie moze zachodzic w takcie pierwszym T1 i w takcie trzecim T3* W trakcie wykonywania ostatniego cyklu maszynowego dla danego rozkazu w takcie T2 inkrementowana Jest zawartosc licznika rozkazów (PC <— PC + 1) i adresowany Jest nastepny rozkaz pamieci programu. To "nakladkowanie" mikrooperacji mikrokomputera daje przyspiesze¬ nie jego dzialania.4 147 655 Zastrzezenia patentowe 1« Sposób eterowania mikrokomputerem jednostrukturowym, gdzie wykonywanie poszcze¬ gólnych operacji odbywa sie z podzialem w czasie w trakcie taktów odpowiednich cykli ma¬ szynowych, oraz gdzie kazdy cykl maszynowy dzieli sie na trzy takty, znamienny tym, ze w takcie pierwszym (T1) wykonuje sie, zaleznie od stanu programu i stanu mikro¬ komputera, inkreroentacje zawartosci rejestru licznika uniwersalnego (TIM0) oraz w przy¬ padku wykonywania rozkazów pobierajacych dane, pobranie slowa z pamieci danych adresowanej za pomoca wskaznika danych, utworzonego jako kombinacja jednego z dwóch rejestrów (X0, X1) adresowania wierszy 1 jednego z dwóoh rejestrów (10, Y1) adresowania kolumn, przy czym dla czesci rozkazów operacje uzupelnia sie równoczesna inkrementacja aktualnie wykorzystywane¬ go rejestru (X0, X1), a w takcie drugim (T2) dokonuje sie lnkrementacjl adresu kolejnego slowa pamieci programu w przypadku, gdy w trakcie aktualnie wykonywanego cyklu maszynowego s pamieci programu pobierane jest slowo, zas w pozostalych przypadkach operacje pobrania danej z pamieci danych z uwarunkowaniem, adresouaniom i uzupelnieniem jak w takci® pisnre- szym (T1), a w takcie trzecim (T3) wykonuje sie, zaleznie od stanu programu 1 mikrokompu¬ tera, inkrementacje zawartosci drugiego licznika uniwersalnego (TIM1) oraz w przypadku wy¬ konywania rozkazów zapisujacych dane, operacje zapisu danej do pamieci danych z adresowa¬ niem 1 Inkrementacja jak w takcie pierwszym (T1). 2. Sposób wedlug zastrs. 1, znamienny tym, ze wskaznik danych ogra¬ niczony jest do rejestrów (IÓ, 11). 3* Uklad mikrokomputera jednostrukturowego, znamienny tym, ze ma zintegrowany w postaci pamieci RAN on*3 wierszach zespól rejestrów (ZR), którego n + 1 wierszy sa kolejnymi rejestrami stosu liczników rozkazów (PCC/ - PCn), gdzie licznik ozna¬ czony numerem zero PC^ jest licznikiem rozkazów dla zerowego zaglebienia stosu, a kazdy z pozostalych dwóoh wierszy dzieli sie na rejestr licznika uniwersalnego (TIMCi), (TIM1) oraz rejestr czesci wskaznika adresowania danych (10, 11) posiadajace niezalezne linie wybiera¬ jace, zas linie bitów zespolu rejestrów (ZR) polaczone sa z uniwersalnym lnkrementerem (INC), który w przypadku wspólpracy z licznikiem programu (PC0 - PCn) ma dlugosó równa dlugosci tego licznika, a w przypadku wspólpracy z licznikiem uniwersalnym (Tlfld, T1M1) 1 Jednoczesnie rejestrem czesci wskaznika adresowania danych (X0, X1) ma postac dwóch nie¬ zaleznych lnkrementerów, kazdy o dlugosci odpowiedniego rejestru* 4* Uklad mikrokomputera wedlug zastrz* 2, znamienny tym, ze posiada wspólny dekoder wierszy (RD) pamieci danych (DM) 1 pamieci programu (PM). 5. Uklad mikrokomputera wedlug zastrz* 4, znamienny tym, ze wskaznik danych ograniczony jest do rejestrów (Xj2f, X1)»147 635 n T2 T3 U D 51 S2 CY< CV2 OTOCZENIE ttttttttt nu nnoo T3 MC TT IR 7T PM CD t i in'c timo TiM 1 PCO PC1 PC2 n I /O £=a TFCT MIKROK.OrlPL/T£i? RD 7T X0 XI 1 ALU fc 3 DM p=J CJ) S2 i i^ MUX h.YO Y1 ICC DPC 5P I—CY1 — CY2 *— T2 — 51 \< T1 T3 • U ¦U T2 n H tdb PL