Przedmiotem wynalazku jest uklad cyfrowy mnozenia binarnego liczby przez sume dwóch liczb. Wynalazek jest przeznaczony do zastosowa¬ nia w komputerach i systemach komputerowych, zwlaszcza w szybkich specjalizowanych proceso¬ rach do obliczen numerycznych, oraz w innych szybkich urzadzeniach cyfrowych realizujacych operacje arytmetyczne.W znanych rozwiazaniach cyfrowych ukladów mnozacych szybkie wykonanie mnozenia binarnego liczby przez sume dwóch liczb-skladników spro¬ wadza sie do szybkiego wykonania dodawania tych skladników i nastepnie do szybkiego wyko¬ nania mnozenia wspomnianej liczby przez wynik wykonanego dodawania. Duza szybkosc dodawa¬ nia uzyskuje sie w maszynach cyfrowych stosujac równolegle uklady dodawania wyposazone w do¬ datkowe, czesto bardzo rozbudowane, uklady zmniejszajace czas propagacji przeniesien. Bardziej istotne jest skrócenie czasu wykonania mnozenia jako operacji znacznie dluzszej niz dodawanie.Mnozenie binarne w maszynach cyfrowych spro¬ wadza sie zwykle do dodawania szeregu iloczy¬ nów czesciowych, stanowiacych wzajemnie prze¬ suniete wielokrotnosci mnoznej, uzyskane przez pomnozenie mnoznej przez czesci skladowe mnoz¬ nika, reprezentowane w ukladach mnozenia binar¬ nego przez bity lub grupy bitów mnoznika. Bar¬ dzo duze szybkosci mnozenia binarnego uzyskuje sie dodajac równoczesnie do siebie w sposób row¬ ie 15 nolegly wiele iloczynów czesciowych, z których kazdy odpowiada grupie kilku pozycji binarnych mnoznika.Najszybszym ze znanych sposobów równoczes¬ nego dodawania wielu wielobitowych iloczynów czesciowych jest sposób przedstawiony w pracach: C. S. Wallace'a pt. „A sugestion for a fast multi- plier", The Institute of Electrical and Electronics Engineers Transactions of Electronic Computers, tom EC-13 strony 14^17, luty 1964 r., oraz T.G.Halinka, M. J. Flynn'a pt. „Pipelining of arithme- tic functions", The Institute of Electrical and Electronics Engineers Transactions of Electronic Computers tom EC-21 strony 880—886'¦; sierpien 1972. Wykorzystanie tego sposobu w ukladach cy¬ frowych przedstawiono w wymienionych opraco¬ waniach na przykladzie ukladu zlozonego z duzej liczby sumatorów z pamietaniem przeniesien (carry save adders) tworzacych strukture drze- wiastka z dolaczonym na wyjsciu drzewa sumato¬ rów jednym sumatorem z propagacja przeniesien (carry propagating adder), wyposazonym w ukla¬ dy maksymalnie przyspieszajace propagacje prze¬ niesien. Laczna liczba iloczynów czesciowych wpro¬ wadzanych na wejscia tego drzewa sumatorów i dodawanych w trakcie wykonywania mnozenia moze byc kilkakrotnie mniejsza od liczby bitów mnoznika, jesli tylko pojedyncze iloczyny czescio¬ we stanowic beda wielokrotnosci mnoznej odpo¬ wiadajace kilkubitowym grupom bitów mnoznika. 100 901109 901 a Wystepujace stosunkowo czesto w obliczeniach numerycznych wykonywanie na przemian doda¬ wania i mnozenia, wymaga zarezerwowania pew¬ nego czasu na propagacje przeniesien w czasie dodawania. Musi byc ona wykonana po propaga¬ cji przeniesien konczacej poprzednie mnozenie.Przy zastosowaniu opisanego bardzo szybkiego ukladu mnozenia wzgledna strata czasu na wyko¬ nanie dodawania moze byc dosc znaczna. Stanowi to istotna wade znanych dotychczas rozwiazan bardzo szybkich ukladów realizujacych mnozenie binarne liczby przez sume liczb.Celem niniejszego wynalazku jest usuniecie tej w£dy i calkowite wyeliminowanie wykonania efe- kljywnego dodawania dwóch liczb stanowiacych skladniki jednego z czynników mnozenia binar¬ nego.Cel ten osiaga sie przez zastosowanie ukladu wedlug wynalazku, zawierajacego zespól prze¬ ksztalcajacy równolegle sygnaly, reprezentujace bity skladników mnoznika, na sygnaly, reprezen¬ tujace cyfry redundancyjnego zapisu pozycyjnego mnoznika o symetrycznym wzledem zera zapisie cyfr, okreslajacych krotnosci mnoznej dla poszcze¬ gólnych iloczynów czesciowych.Zgodnie z wynalazkiem, uklad cyfrowy do wy¬ konywania mnozenia binarnego liczby przez sume dwóch liczb przedstawionych w zapisie binarnym zawiera: dwa równolegle rejestry pamietajace skladniki sumy stanowiacej mnoznik, rejestr rów¬ nolegly pamietajacy mnozna, zespól przygotowu¬ jacy iloczyny czesciowe oraz zespól sumujacy ilo¬ czyny czesciowe.Uklad zawiera równiez zespól przetwarzajacy, który przeksztalca równolegle dwie liczby stano¬ wiace skladniki mnoznika w grupy bitów repre¬ zentujace liczby calkowite z zakresu od —2S-1 do +26"1 gdzie g przyjmuje jedna z wartosci calkowitych od 1 do 4. Wspomniane liczby calko¬ wite przedstawiaja cyfry mnoznika w pozycyj¬ nym zapisie redundancyjnym o podstawie 2S i sta¬ nowia wielokrotnosci mnoznej sluzace do utwo¬ rzenia iloczynów czesciowych. Przeksztalcenie skladników mnoznika w zapis mnoznika w postaci jednej liczby przedstawionej w pozycyjnym zapi¬ sie redundancyjnym o symetrycznym wzgledem zera zakresie cyfr od —2S_i do +28-1 odbywa sie przy tym bez wykonywania efektywnego do¬ dawania skladników mnoznika, to znaczy bez pro¬ pagacji przeniesien wzdluz przeksztalconych sklad¬ ników. Skladniki mnoznika przedstawione sa przy tym najczesciej w zapisie binarnym uzupelnienio¬ wym, lub w zapisie binarnym postaci znak-modul.Ich pozycje binarne dzieli sie jednakowo w obu skladnikach mnoznika na ustalone grupy pozycji.Korzystne jest stosowanie podzialu zapisu obu skladników mnoznika na grupy pozycji binarnych o jednakowej liczbie „g" pozycji w grupach, z ewentualnymi niewielkimi odchyleniami od tej reguly, w przypadku niepodzielnosci liczby pozycji skladnika przez przyjeta liczbe pozycji binarnych w grupie. Korzystne jest przyjecie jako „g" warto¬ sci 2 lub 3. Zespól przetwarzajacy skladniki mnoznika ma strukture równolegla dostosowana do identycznego pogrupowania bitów w obu sklad¬ nikach mnoznika w g bitowe grupy oraz do przy¬ porzadkowania kazdej parze odpowiadajacych so- 5 bie grup bitów, wzietych z obu skladników mno¬ znika, jednej grupy bitów reprezentujacych liczbe calkowita ze wspomnianego zakresu od —2g_i do +,26_1. Dla wyznaczenia w zespole przetwarzaja¬ cym jednej grupy bitów reprezentujacych liczbe 10 calkowita z zakresu od —2S_i do +26-1 wykorzy¬ stywane sa co najwyzej trzy grupy bitów kazdego ze skladników mnoznika, jesli te skladniki sa przedstawione w zapisie binarnym uzupelnienio¬ wym. 15 W przypadku zapisu skladników mnoznika w po¬ staci znak-modul wykorzystywane sa ponadto ich bity znakowe. Sygnaly reprezentujace liczby z za¬ kresu od —2g_1 do +2S-1, otrzymane z zespolu przetwarzajacego skladniki mnoznika, oraz sygnaly 20 reprezentujace mnozna z rejestru mnoznej prze¬ sylane sa do zespolu przygotowujacego iloczyny czesciowe, gdzie sluza do wyznaczania iloczynów czesciowych. Zespól ten ma strukture dostosowana do równoczesnego równoleglego wyznaczania wszy- 25 stkich iloczynów czesciowych potrzebnych do wy¬ znaczenia iloczynu koncowego, lub znacznej ich czesci. Wyznaczenie iloczynów czesciowych odby¬ wa sie w sposób znany z szybkich ukladów mno¬ zenia na podstawie mnoznej, lub kilku kolejnych 30 wczesniej przygotowanych nieparzystych wielo¬ krotnosci mnoznej, oraz na podstawie grup bitów reprezentujacych liczby z zakresu od —2S_1 do +2g_1 wyrazajace krotnosci mnoznej. Dla g=l i g=2 oraz odpowiadajacych im krotnosci mnoz- 35 nej —1, 0, +1 i —2, —1, 0, +1, H-2 wystarcza do wyznaczenia iloczynów czesciowych tylko pojedyn¬ cza mnozna, dla g=3 i krotnosci od —4 do +4 jest potrzebna ponadto potrojona mnozna, a dla g=4 i krotnosci od —8 do +8 jest jeszcze potrze¬ bna ponadto pieciokrotna i siedmiokrotna mnoz¬ na. Parzyste wielokrotnosci mnoznej uzyskuje sie przez przesuniecie wielokrotnosci nieparzystych o odpowiednia liczbe pozycji binarnych w lewo, a ujemne wielokrotnosci mnoznej przez negacje 45 bitów wielokrotnosci dodatnich i dodanie jedynki na najmniej znaczacej pozycji binarnej zanegowa¬ nej wielokrotnosci mnoznej. Otrzymane wzajemnie przesuniete wielokrotnosci mnoznej stanowiace ilo¬ czyny czesciowe sumuje sie nastepnie w zespole 50 sumujacym iloczyny czesciowe, przy czym korzy¬ stne jest równolegle sumowanie równoczesnie wszystkich iloczynów czesciowych, lub równoczes¬ nie wielu iloczynów czesciowych. W wyniku sumo¬ wania iloczynów czesciowych otrzymuje sie kon- 55 cowy iloczyn liczby przez sume dwóch liczb.Zgodnie z wynalazkiem, przeksztalcenie sklad¬ ników mnoznika w cyfrowym zespole przetwarza¬ jacym w grupy bitów reprezentujace liczby calko- so wite z zakresu od —2g_1 do +2g_i jest wykony¬ wane w szczególnosci przez negowanie bitów wy¬ branych z jednego lub obu skladników mnoznika.Negowanie bitów, czyli zamiane bitów zerowych na jedynkowe a jedynkowych na zerowe, przepro- 69 wadza sie wykorzystujac regule zamiany binarne- 40109 901 6 go zapisu liczb na równowazny binarny uzupel¬ nieniowy zapis tych liczb. Zgodnie z wzorami n—1 n—1 \ aj 2i = l • 2n—\ (l^ap 2*—1 • 2° i=0 i=0 n—1- i=0 n—l 2n+ \ (l^) 2i+l • 2° i=0 mozna mianowicie zastapic bity a.(i=0,l,...,n—1) n—1 w zapisie binarnym liczby i~& przez ich negacje 1—a^ zmieniajac równoczesnie „wagi" tych bitów z dodatnich na ujemne i odwrotnie, oraz uzupelniajac zapisy liczb o korekcyjne jedyn¬ ki na najmniej i najbardziej znaczacych pozy¬ cjach. W szczególnosci zgodnie z wynalazkiem za¬ stepuje sie równiez w wybranych grupach bitów mnoznika bity jedynkowe reprezentujace wartosci —1, na najbardziej znaczacych pozycjach w gru¬ pie, przez równorzedne im pary bitów jedynko- — + wyeh reprezentujacych lii analogicznie war- H tosci +1 przez 1 1, zgodnie z regula —1 • 2*= =_1 . 21+1+I • 21 oraz regula +1 • 21=+1 • 2i+i— —1 • 21, gdzie bardziej znaczace jedynki w parach bitów zalicza sie juz do sasiednich bardziej zna¬ czacych grup.O zastapieniu jedynek, na najbardziej znacza¬ cych pozycjach w grupach ibitów skladników mnoz- - + + - nika, przez pary lii 11 decyduja warto¬ sci jakie reprezentuja poszczególne pary grup bi¬ tów skladników mnoznika lacznie z najbardziej znaczacymi bitami w sasiednich mniej znaczacych parach grup bitów skladników mnoznika. Zarówno negowanie bitów loib ciagów bitów w obu sklad¬ nikach mnoznika, jak i zastepowanie najbardziej znaczacych bitów jedynkowyeh w grupach przez pary jedynek, dokonywane jest zgodnie z podany¬ mi wyzej regulami, a zatem bez zmiany wartosci calego mnoznika. Uzyskane w ten sposób bity w grupach, z których kazda grupa bitów reprezentuje liczbe calkowita z zakresu od —2g-i do +2S-1 „sumuje" sie oddzielnie w ramach kazdej grupy z uwzglednieniem wag i znaków jakie reprezen¬ tuja poszczególne bity. W wyniku uzyskuje sie ciag liczb calkowitych z zakresu od —2g_1 do +2g_i zakodowanych binarnie w wymaganej do¬ godnie postaci. Korzystne jest takie kodowanie tych liczb, ze poszczególnym liczbom calkowitym od —2g_i do +2S-1 za wyjatkiem zera odpowiada¬ ja pojedyncze bity jedynkowe, lub takie kodowa¬ nie, ze modulom tych liczb odpowiadaja pojedyn¬ cze bity jedynkowe, a znaki liczb „plus" i „minus"! sa kodowane przez dwa oddzielne bity jedynkowe.Zgodnie z wynalazkiem zespól przeksztalcajacy i skladniki mnoznika, wchodzacy w sklad ukladu cyfrowego mnozenia binarnego liczby przez sume dwóch liczb, zawiera w szczególnosci niepolaczone bezposrednio ze soba równolegle pracujace sieci przelaczajace, korzystnie sieci o jednakowej stru¬ lo kturze logicznej dla grup o stalej liczbie „g" po¬ zycji binarnych mnoznika w grupach. Jako pola¬ czenia bezposrednie rozumie sie tu polaczenia sluzace do przesylania sygnalów zerojedynkowych, wytwarzanych w jednej sieci przelaczajacej, bez- 18 posrednio do innej. Kazda z sieci przelaczajacych zespolu przeksztalcajacego posiada wyjscie pola¬ czone z wyjsciami nie wiecej niz trzech, zwykle kolejnych grup pozycji binarnych kazdego z dwóch rejestrów pamietajacych skladniki mnoznika i e- 20 wentualnie z wyjsciami pozycji znakowych tych rejestrów, co ma miejsce na przyklad w przypad¬ ku zapisów binarnych w postaci znak-modul. Kaz¬ da z tych sieci przelaczajacych przetwarza sygnaly reprezentujace bity nalezace do nie wiecej niz 25 trzech, zwykle kolejnych grup pozycji binarnych kazdego ze skladników mnoznika i ewentualnie bity znakowe skladników mnoznika. W wyniku tego przetwarzania ria wyjsciach kazdej z tych sieci otrzymuje sie sygnaly reprezentujace liczbe 30 calkowita z przedzialu od —2fi-i do +2*_1, okre¬ slajaca krotnosc mnoznej dla jednego iloczynu czesciowego. Korzystne jest stosowanie sieci prze¬ laczajacych o strukturze logicznej zapewniajacej otrzymanie takich zerojedynkowych sygnalówwyj- 35 sciowych, aby kazdej niezerowej liczbie calkowitej z przedzialu od —2«_1 do +2«_1 odpowiadal jeden sygnal jedynkowy na innym wyjsciu sieci, lub, aby kazdej wartosci bezwzglednej niezerowej liczby calkowitej z podanego przedzialu odpowiadal jeden 40 sygnal jedynkowy na innym wyjsciu sieci i kaz¬ demu ze znaków „plus" i „minus" odpowiadal równiez jeden sygnal jedynkowy.na odpowiednim wyjsciu sieci.Odmiana ukladu wedlug wynalazku charaktery- 45 zyje sie tym, ze zespól przeksztalcajacy skladniki mnoznika zawiera dwie lub trzy warstwy, niepo¬ laczonych bezposrednio ze soba w ramach tej sa¬ mej warstwy sieci przelaczajacych. Wejscia kazdej z tych sieci przelaczajacych polaczone sa z takimi 50 wyjsciami sieci przelaczajacych z poprzednich warstw i/lub z takimi wyjsciami rejestrów pamie¬ tajacych skladniki mnoznika, ze sygnaly na wyj¬ sciach kazdej z sieci przelaczajacych ostatniej warstwy, reprezentujace liczbe okreslajaca krot- 55 nosc mnoznej dla jednego iloczynu czesciowego, sa zalezne tylko od sygnalów wyjsciowych z nie wiecej niz trzech, zwykle kolejnych grup pozycji binarnych kazdego z rejestrów pamietajacych skladniki mnoznika i ewentualnie od sygnalów 60 wyjsciowych z pozycji znakowych obu tych.reje¬ strów, co ma miejsce na przyklad w przypadku zapisów binarnych w postaci znak-modul. Stoso¬ wanie dwóch lub trzech warstw sieci przelaczaja¬ cych w zespole przeksztalcajacym skladniki nsnoz- 15 njka ma na celu uproszczenie struktury logicz.-109 901 8 nej tego zespolu i bardziej oszczedne jego rozwia¬ zanie. W przypadku niepolaczonych ze soba sieci przelaczajacych, w sklad sieci przyporzadkowa¬ nych sasiednim grupom pozycji binarnych mnoz¬ nika wchodza mianowicie miedzy innymi mniejsze sieci realizujace te sama funkcje logiczna. Wy¬ dzielenie takich skladowych sieci przelaczajacych i wlaczenie ich w osobna warstwe sieci pozwala znacznie uproscic caly zespól przeksztalcajacy.Mniej oszczedne rozwiazanie, omówione poprzed¬ nio, stosuje sie natomiast w przypadku, gdy waz¬ niejsze jest skrócenie czasu dzialania zespolu przeksztalcajacego i zmniejszenie liczby warstw jego skladowych elementów logicznych, niz zmniej¬ szenie lacznej liczby tych elementów i zmniej¬ szenie koaztu calego zespolu.Uklad mnozenia binarnego liczby przez sume dwóch licz/b, zgodnie z wynalazkiem, pozwala, w stosunku do znanych rozwiazan, na znaczne przy¬ spieszenie wykonywania sumomnozenia w bardzo szybkich arytmometrach maszyn cyfrowych. Pod¬ stawowa zaleta tego ukladu jest unikniecie efe¬ ktywnego dodawania przed wykonaniem mnoze¬ nia* a zatem zaoszczedzenie czasu na propagacje przeniesien w trakcie tego dodawania. Jest to szczególnie istotne w odniesieniu do bardzo szyb¬ kich ukladów cyfrowych, w których czas propaga¬ cji pojedynczego dodawania stanowi znaczacy pro¬ cent czasu trwania mnozenia, czyli w odniesieniu do ukladów, w których dodawane sa równoczesnie w sposób równolegly wszystkie iloczyny czesciowe, stanowiace skladniki iloczynu koncowego, lub przy¬ najmniej znaczna ich czesc. Zaleta tego ukladu jest równiez stosunkowo mala liczba iloczynów czesciowych dodawanych w trakcie mnozenia, oraz bard2o mala liczba róznych wielokrotnosci mnoz¬ nej potrzebnych do utworzenia tych iloczynów czesciowych. Przykladowo przy podziale zapisu skladników mnoznika na trójbitowe grupy, jednej parze grup z obu skladników, a wiec szesciu bitom skladników mnoznika, odpowiada jeden iloczyn czesciowy. Dla utworzenia kazdego takiego iloczy¬ nu czesciowego wystarczy tylko, oprócz mnoznej, przygotowanie i zapamietanie potrojonej mnoznej.Przez przesuniecie i negowanie bitów tej mnoznej i potrojonej mnoznej mozna otrzymac 0 kolejnych wielokrotnosci mnoznej wyrazonych liczbami cal¬ kowitymi^—4, —$ -h2, —1, 0,. +1, +2, +3, ,+,4.Analogicznie parom grup dwubitowych skladni¬ ków mnoznika* a zatem czwórkom bitów skladni¬ ków mnoznika odpowiadaja iloczyny stanowiace wielokrotnosci mnoznej o krotnosciach —-2, —1,0, +l, +2. Wielokrotnosci te otrzymac mozna przez przesuniecie i negowanie pojedynczej mnoznej.Dzialanie ukladu wedlug wynalazku jest przed¬ stawione na przykladzie liczbowym, w którym po¬ dano kolejne etapy mnozenia binarnego liczby prftez sume dwóch liczb* w tym w szczególnosci sposobu przeksztalcania dwóch skladników mnoz- niks/w ciag liczb calkowitych z zakresu od —2*-1 do +2g~* dla dwupozycyjnych grup bitów, czyli dla g"*3 i liczb calkowitych od —2 do +2.Przyjeto, ze mnoznikiem jest suma dwóch sklad¬ ników „a" i „to", gdzie jeden skladnik mnoznika a™i+088, a drugi skladnik mnoznika b=—783. 10 15 25 35 40 45 55 Liczby te sa przedstawione w zapisie binarnym uzupelnieniowym, w którym maja postac a = 0 li 010 ii 10000 +688 b. = 10011 1 10001 —783 Pozycje binarne tych liczb dzielimy jednakowo w obu skladnikach na ustalone grupy o jednako¬ wej liczbie g=2 pozycji w poszczególnych grupach.Otrzymujemy zapis mnoznika a+b= |0|10|10|11|00|00| |1|00|11|11|00|01| w którym kolejne pary grup bitów z obu sklad¬ ników reprezentuja liczby calkowite —1, +2, +A +6, 0, +1 W przyjetym tu zapisie liczb, a mianowicie za¬ pisie binarnym uzupelnieniowym, oprócz pierw¬ szej od lewej pary bitów reprezentujacych znaki liczb, pozostale pary grup bitów reprezentuja licz¬ by calkowite mieszczace sie w zakresie od 0 do _2g+i—2 czyli dla g=?2 w zakresie od 0 do 6.Przedstawiony ciag liczb calkowitych wyraza war¬ tosc mnoznika w zapisie o podstawie 2£=4 czyli w zapisie czwórkowym zgodnie z wzorem —1 • 4«+2 • 4*+i5 • 4»+6 • 4*+0 • 4*+l • 4°=—95 co odpowiada przyjetej wartosci mnoznika a+fo=+688—783-—95 Pary grup bitów nalezy obecnie przeksztalcic w grupy bitów reprezentujace liczby z zakresu od —26-1=—2 do +28-1 — +2, które wyrazac beda krotnosci mnoznej. Przeksztalcenia tego nalezy do¬ konac tak, aby nie ulegla zmianie wartosc calego mnoznika.Przy zapisie binarnym uzupelnieniowym w sklad takiego przeksztalcenia moga wchodzic na przy¬ klad nizej opisane dwie czynnosci. Pierwsza z nich jest negacja bitu znakowego skladnika „a" i wszy¬ stkich oprócz znakowego bitów skladnika ,jb", wy¬ korzystujaca zasade zmiany zapisu binarnego na jego uzupelnienie dwójkowe, wymagajaca odjecia dodatkowej jedynki na najmniej znaczacej pozycji.Po tej czynnosci grupy bitów skladników mnozni¬ ka przyjmuja postac + b = 1 1 1 1 0 1 1 1 0 o 6 i i 0 0 0 0 1 1 0 0 1 0 1 + gdzie pierwszy rzad bitów reprezentuje wartosci dodatnie, a drugi i trzeci reprezentuje wartosci ujemne. Powyzsze grupy bitów przedstawiaja obecnie liczby calkowite 0, —1, +2, +3, —3, —3 reprezentujace w zapisie czwórkowym wartosc mnoznika 0 . 48—1 • 4*+2 • 4»+3 • 4«—3 • 4*—3 • 4«=—95 W bardziej przejrzystej formie ostatnia postac mnoznika a+b mozna zapisac za pomoca zer i je¬ dynek zaopatrzonych znakami, jako a + b = O 1 !©°p^pws Druga ze wspomnianych czynnosci jest zastapie¬ nie w niektórych grudach bitów mnoznifct najbar¬ dziej znaczacych bitów jedynkowych reprezentu- \109 901 9 10 jacych wartosci —1 i +1 przez równorzedne im '¦'¦-+ pary bitów jedynkowych reprezentujacych 1 1 + — ii 1, w których bardziej znaczace jedynki zalicza sie juz do sasiednich bardziej znaczacych grup.Zastapieniu podlegaja przy tym bardziej znaczace cyfry 1 w grupach, jezeli zawartosc dwóch sa¬ siednich mniej znaczacych pozycji binarnych jest + ujemna, oraz bardziej znaczace cyfry 1 w gru¬ pach, jesli zawartosc dwóch sasiednich mniej zna¬ czacych pozycji binarnych jest dodatnia. W oma¬ wianym przykladzie warunek ten spelniaja wszy¬ stkie cztery jedynki objete wyzej kólkami. Jedyn¬ ki te zastepuje sie zatem parami jedynek o róz¬ nych znakach, przedstawionych ponizej i objetych równiez w kólka a + b = 0 Uzyskuje sie przez to zmiane zawartosci po¬ szczególnych grup pozycji mnoznika, a mianowicie otrzymuje sie w kazdej z grup liczby calkowite z zakresu od —2g-i=—2 do +26-1 =+2.Podany wyzej zapis mnoznika mozna przedsta¬ wic w bardziej przejrzystej formie, w postaci a + bH0000 1 1 000 + 0 1 gdzie kolejne grupy reprezentuja liczby calkowite 0, 0, —1, -2, 0, +1 których ciag przedstawia w zapisie czwórkowym wartosc mnoznika 0 • 46+0 • 4*—1 • 48—2 • 42+0 • 41+1 • 4°=—95, Omówione równolegle przeksztalcenie grup bi¬ tów skladników mnoznika przeprowadzono tak, ze do wyznaczenia krotnosci mnoznej przyporzadko¬ wanej danej parze grup bitów z obu skladników mnoznika wykorzystano bity nalezace do nie wie¬ cej niz trzech kolejnych grup pozycji kazdego ze skladników mnoznika, co stanowi istotna dla ni¬ niejszego wynalazku ceche. O zastapieniu cyfry + +- - - + 1 para 1 1, a cyfry 1 para 1 1, decydo¬ waly mianowicie dwie poprzednie cyfry, z których mniej znaczaca nalezala do poprzedniej mniej zna¬ czacej grupy, a miedzy innymi od niej zalezala + '- bardziej znaczaca cyfra z podanych par lii - + 1 1, która zaliczala sie juz do nastepnej bardziej znaczacej grupy.Otrzymane liczby 0, 0, —1, —2, 0, +1 stanowia calkowite krotnosci mnoznej sluzace do wyznaczania wielokrotnosci mnoznej dla poszcze¬ gólnych iloczynów czesciowych. Te wielokrotnosci mnoznej wyznacza sie tak, ze liczbom dodatnim + 1 i +2 przyporzadkowuje sie mnozna i mnozna przesunieta o jedna pozycje binarna w lewo, a liczbom —1 i —2 negacje mnoznej i negacje mnoz¬ nej przesunieta o jedna pozycje w lewo, przy czym przy negowaniu mnoznej wymagane jest dodanie korekcyjnej jedynki na najmniej znaczacej p cji mnoznej. Zakres krotnosci mnoznej od —28"! do +2S-1 obejmujacy w omawianym przykladzie, tzn. dla g=2, liczby —2, —1, 0, +1, +2 nie wy¬ maga obliczania kolejnych nieparzystych wielo- 5 krotnosci mnoznej, jak na przyklad obliczania po¬ trójnej mnoznej wymaganego w przypadku g=3, to znaczy dla podzialu skladników mnoznika na grupy trójbitowe.Przyjmujac w omawianym przykladzie, mnozna 10 c= +1000, majaca w postaci binarnej uzupelnienio¬ wej postac c=0 111110 10 0 0 7+1000/ 15 przeprowadzamy nastepujace dodawanie trzech wielokrotnosci mnoznej odpowiadajacych otrzyma¬ nym poprzednio trzem niezerowym grupom cyfr mnoznika a+b 20 25 30 35 40 45 55 60 + b = O |o olo 1 h O lo O lo 1 | 11110 0 0 0 0 10 111 1 111110 0 0 0 0 10 111 r ) :} 0 o o o 0000001111101000 11101000110011101000 Kolejne skladniki w powyzszym dodawaniu przedstawiaja: negacje mnoznej, korekcyjna jedyn¬ ke, negacje mnoznej, korekcyjna jedynke i nieza- negowana mnozna. Nie wypisano w dodawaniu zerowych wielokrotnosci mnoznej odpowiadajacych zerowym grupom bitów mnoznika. Strzalkami po¬ kazano najmniej znaczace cyfry wielokrotnosci mnoznej odpowiadajacych poszczególnym jedyn¬ kom przeksztalconego zapisu mnoznika.Otrzymana w wyniku liczba binarna przedsta¬ wia w zapisie binarnym uzupelnieniowym liczbe —95000 stanowiaca wynik mnozenia mnoznej c= = 1000 przez sume skladników mnoznika a= +688 i b=—7S3.Wynalazek zostanie równiez blizej wyjasniony w przykladzie wykonania ukladu mnozenia poka¬ zanym na rysunku, gdzie fig. 1 przedstawia uklad mnozenia w schemacie blokowym wedlug wyna¬ lazku, fig. 2 — czesc zespolu D przeksztalcajacego skladniki mnoznika w schemacie blokowym wed¬ lug wynalazku, a fig. 3 —czesc zespolu D prze¬ ksztalcajacego skladniki mnoznika w schemacie blokowym w odmianie wedlug wynalazku.Przyklad wykonania ukladu mnozenia binarnego liczby przez sume dwóch liczb, pokazano na ry¬ sunku. Zgodnie z fig. 1 uklad zawiera dwa reje¬ stry równolegle A, B, pamietajace skladniki mnoz¬ nika, rejestr równolegly C pamietajacy mnozna, zespól D przeksztalcajacy równolegle skladniki mnoznika wprowadzane z rejestrów A, B, zespól P przygotowujacy iloczyny czesciowe stanowiace wzajemnie przesuniete wielokrotnosci mnoznej, do którego wprowadzana jest równolegle mnozna z rejestru C i przeksztalcony mnoznik z zespolu D, oraz zespól S sumujacy równolegle równoczesnie wszystkie iloczyny czesciowe wprowadzane z zes-11 109 901 12 polu P. Strukture zespolu D przeksztalcajacego skladniki mnoznika, zawierajacego niepolaczone bezposrednio ze soba sieci przelaczajace pokazano na; fig. 2,przedstawiajacej schemat blokowy czesci tego zespolu obejmujacej cztery kolejne jednako¬ we sieci przelaczajace Do^ D2, D4, Dg, przyporzad¬ kowane czterem kolejnym parom dwupozycyjnym grup pozycji binarnych skladników mnoznika.Symbole a*, bo, ai, bi,„», a7» b7 na fig. 2 oznaczaja jednóbitówe wejscia z osmiu kolejnych pozycji bi¬ narnych rejestrów A, B, poczawszy od pozycji najmniej znaczacej, a symbole do, d2, d*, do ozna¬ czaja czterobitowe wyjscia równolegle kolejnych sieci przelaczajacych Do. Dt, D4, Do. Kazda z sieci przelaczajacych D2i (i^O, 1, 2, 3) posiada taka strukture logiczna, ze w wyniku sygnalów^ zero- jedynkowych, dostarczanych na jej wejscie z wyjsc aii-o, boi-o, aa-i, bu—t, ..., a 11+1, bii+i rejjestrów A, B, pojawiaja sie na jej czterech jed- nobitowch wejsciach, oznaczonych na rysunku jednym wspósnym symbolem d2.(i=0, 1, 2, 3), sy¬ gnaly zerojedynkowe t~i? t~il, ft?»'ftn te^e, ze sypial jedynkówy na jednym z czterech wyjsc od¬ powiada jednej fz , liczb —2, —t, +1, +2. Opis struktury logicznej^ sieci przelaczajacej D2l podano nizej w formie równan boolowskich, przedstawia¬ jacych równoczesnie sygnaly f"~ , ~~ , +1, "¦ jaka 1funkcje stanów wyjsc a2j_o,b2i_2la2u2,b2i_2,..., aoi + i.bti+1 rejestrów A, B. Równania te maja po¬ stac xj=*ajfcM, yj^ajbj, zj=ajbjVajbj, 1=0,1,2,... vti ^ii-iiyn-ty/ i*\-i y*i-av z2i_2 z2^8) Wri=By2i_i(x1ij,vz2i_» Xb_2 vz2i_2 z2i.s) p2i^x2i-1(x2i^2vz2i-2x2i_8) q*i=yii-t(y2i-2vz«i.2 yri_2) f2i=(x2i+j vy2i +1)^ w2j vx2jTi z2i z2i_lV vz2i-^1x2i p2i Vx2i +! y2i pfe %- (Xol+l;Vy vzrf+1 y*i Od vy2i +iXri a*! f^ *(x2i+ivyri+iHy* r2i v z^ a*) v yZfj +1 (x2i ri vzoi p»i) fjt ¦¦far+ivy2i + i)(x2i rti v z*,- p^)v Vzif+i(y2i r2i v z* a^) gdzie i.—p, 1, 2, a, ... Symbole v oznaczaja w po¬ wyzszych wzorach boolowskich sumy logiczne, jak równiez odpowiadajace im w strukturze sieci prze¬ laczajacych bramki sum logicznych. Kreski pozio¬ me nad literami oznaczaja negacje. Iloczyny logi¬ czne i odpowiadajace im w strukturze sieci prze¬ laczajacych^ bramki iloczynów logicznych, przed¬ stawiono w powyzszych wzorach jak zwykle ilor czyny w wyrazeniach algebraicznych. Wszystkie dolne indeksy odpowiadaja numerom pozycji bi¬ narnych mnoznika. Dla wejsc aj, ty o ujemnych wartosciach indeksów i przyjmuje sie jako staly stan zerowy.W odmianie ukladu wedlug wynalazku, pokaza¬ na na fig. 3 czesc zespolu D obejmuje cztery ko¬ lejne jednakowe sieci przelaczajace D'o D'2, D'4,D'o pierwszej warstwy sieci i cztery kolejne jednako¬ we sieci przelaczajace D"o, D"s, D"4, D"o drugiej warstwy sieci. Takie rozwiazanie zespolu prze- * sztalcajacego charakteryzuje sie tym, ze wytwo¬ rzone w kazdej z sieci pierwszej warstwy sygnaly, reprezentujace przedstawione poprzednio funkcje 1( giczne xj, yj, zj (j=0, 1, 2, 3, ...), wykorzystane s| dwukrotnie, w dwóch sasiednich sieciach dru¬ giej warstwy. W szczególnosci kazda z sieci prze¬ liczajacych pierwszej warstwy D21 (i=0, 1, 2, 3) i /ytwarza sygnaly, reprezentujace wartosci naste- mjacych jedenastu funkcji X2i, yaj, zii, xn+i, y«i+i, za+i, y«H-2, wii+t, pai+2, qti+2, rii+*.Pierwsze szesc z tych funkcji reprezentowane sa przez sygnaly przesylane przez szesciobitowe rów¬ nolegle polaczenie d'2i do sieci D^a nalezacej do dru¬ giej warstwy, ostatnie szesc z nich, z funkcja za+i wlacznie, reprezentowane sa przez sygnaly, prze¬ sylane przez Szesciobitowe równolegle polaczenia d'si do sasiedniej sieci D"ii+2 drugiej warstwy. Na czterobitowym wyjsciu da sieci DM2i drugiej war¬ stwy otrzymujemy analogicznie jak w poprzednim przykladzie, sygnaly f^f, f^f, f"^t f"J* reprezen¬ tujace liczby —2, —1, -hi, +2. Struktura logiczna poszczególnych sieci przelaczajacych z obu warstw sieci opisana jest przez te z funkcji logicznych podanych poprzednio, dla których sygnaly sa w tych sieciach wytwarzane.Zastrzezenia patentowe 1. Uklad cyfrowy do wykonywania mnozenia bi¬ narnego liczby przez sume dwóch liczb przedsta¬ wionych w zapisie binarnym _ w sklad którego wchodza dwa równolegle rejestry pamietajace skladniki sumy stanowiacej mnoznik, rejestr rów¬ nolegly pamietajacy mnozna, zespól przygotowu¬ jacy iloczyny czesciowe oraz zespól sumujacy ilo¬ czyny czesciowe znamienny tym, ze zawiera cyfro¬ wy zespól przetwarzajacy 7D/, który przeksztalca równolegle skladniki /a, b/ mnoznika bez wykona¬ nia efektywnego dodawania tych skladników w grupy bitów reprezentujace liczby calkowite z za¬ kresu od —2g-i do +2S-1, gdzie g przyjmuje jed¬ na z wartosci calkowitych od 1 do 4, a wspomnia¬ ne liczby przedstawiaja cyfry pozycyjnego zapisu redundancyjnego o podstawie 26 i stanowia wie¬ lokrotnosci mnoznej /c/ sluzace do utworzenia ilo¬ czynów czesciowych, przy czym zespól przetwa¬ rzajacy /D/ ma strukture równolegla dostosowana do pogrupowania bitów w obu skladniakch /a, b/ mnoznika identycznie, w g-bitowe grupy oraz do przyporzadkowania kazdej parze odpowiadajacych sobie grup bitów, wzietych z obu skladników /a, b/ mnoznika, jednej grupy bitów reprezentujacych jedna liczbe calkowita z wspomnianego zakresu od —2e-i do +2S-1, przy czym dla wyznaczenia w zespole przetwarzajacym /D/ jednej grupy bitów reprezentujacych Ucztje calkowita z zakresu od 10 u 10 25 30 35 40 45 50 55 60109 DOI 13 14 —2g^i do +2e-1 wykorzystywane sa co najwyzej trzy grupy bitów kazdego ze skladników /a, b/ mnoznika jesli te skladniki sa przedstawione w zapisie binarnym uzupelnionym, i dodatkowo bity znakowe skladników /a, b/ w przypadku za¬ pisu binarnego znak-modul. 2. Uklad wedlug zastrz. 1, znamienny tym, ze w cyfrowym zespole przetwarzajacym /D/ prze¬ ksztalcenie skladników /a, b/ mnoznika jest wy¬ konywane przez negowanie bitów wybranych z jednego lub obu skladników mnoznika zgodnie z regula zamiany binarnego zapisu liczb w rów¬ nowazny binarny uzupelnieniowy zapis tych liczb i/lub przez zastapienie w wybranych grupach bi¬ tów, najbardziej znaczacych bitów jedynkowych, reprezentujacych wartosci —1 przez równowazne pary bitów jedynkowych reprezentujace wartosci - + 11 = —1, oraz +1 przez równowazne pary bi- + - tów jedynkowych 1 1 = +1, zgodnie z regula —1 • 2i=—1 • 2i+i + l • 2i i z regula +1 • 2*= =+1 •' 2H-1—1 • 21, gdzie bardziej znaczace jedynki w tych parach sa ' wlaczane w sasiednie bardziej znaczace grupy bitów. 3. Uklad wedlug zastrz. 1, znamienny tym, ze ze¬ spól /D/ przeksztalcajacy skladniki mnoznika, za¬ wiera niepolaczone bezposrednio ze soba równo¬ legle pracujace sieci przelaczajace /D0, Df, D4Df/, z których kazda posiada wejscia polaczone z wyj- 10 15 20 25 sciami nie wiecej niz trzech grup pozycji binar¬ nych kazdego z dwóch rejestrów /A, B/ pamieta¬ jacych skladniki mnoznika i ewentualnie z wyj¬ sciami pozycji znakowych tych rejestrów, oraz z których kazda przetwarza sygnaly reprezentu¬ jace bity nalezace do nie wiecej niz trzech grup bitów kazdego ze skladników mnoznika i ewentu¬ alnie bity znakowe skladników mnoznika, w wy¬ niku czego na jej wyjsciach otrzymuje sie sygnaly reprezentujace liczbe okreslajaca krotnosc mnoz¬ nej dla jednego iloczynu czesciowego. 4. Uklad wedlug zastrz. 1, znamienny tym, ze zespól FDI przeksztalcajacy skladniki mnoznika zawiera dwie lub trzy warstwy, niepolaczonych bezposrednio ze soba w ramach tej samej war¬ stwy, sieci przelaczajacych /D'§, D'2# D'4, D'§ i TD"o, D"*, D"4, D'V, przy czym wejscia kazdej z tych sieci przelaczajacych polaczone sa z takimi wyjsciami sieci przelaczajacych z poprzednich warstw i/lub z takimi wyjsciami rejestrów /A, B/ pamietajacych skladniki mnoznika, ze sygnaly na wyjsciach kazdej z sieci przelaczajacych ostatniej warstwy 7P% D"*, D"4, D'V» reprezentujace; licz¬ be okreslajaca krotnosc mnoznej dla jednego ilo¬ czynu czesciowego, sa zalezne tylko od sygnalów wyjsciowych z nie wiecej niz trzech grup pozycji binarnych kazdego z rejestrów /A, B/ pamietaja¬ cych skladniki mnoznika i ewentualnie od sygna¬ lów wyjsciowych z pozycji znakowych obu tych rejestrów /A, B/.~A 1 \ 1 ~B \ ' f B i .—_^., i c \ f P \ ' S Fig./109 901 a7 Q6 a5 a* Oj Q2 Qi a0 Fig. Z a? n6 b7 hs i t ? ? l B* Q.s CI4 ¦t)5 J)A v\ LJ_L_t_t q3 az H A Da l t l t l 'd, v w d: K V v a, o0 \A L_L_L Bo K a..J-. do n« c/4. Vd2 Fig. 3109 901 12-34 V? V, i 2 3 /, % 9.9. 74 /7£. 4 a Fig.Ab PL