PL106470B1 - Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych - Google Patents

Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych Download PDF

Info

Publication number
PL106470B1
PL106470B1 PL1977195731A PL19573177A PL106470B1 PL 106470 B1 PL106470 B1 PL 106470B1 PL 1977195731 A PL1977195731 A PL 1977195731A PL 19573177 A PL19573177 A PL 19573177A PL 106470 B1 PL106470 B1 PL 106470B1
Authority
PL
Poland
Prior art keywords
components
parallel
registers
processing unit
multiplier
Prior art date
Application number
PL1977195731A
Other languages
English (en)
Other versions
PL195731A1 (pl
Inventor
Stanislaw Majerski
Wladyslaw Majerski
Original Assignee
Inst Maszyn Matematycznych
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inst Maszyn Matematycznych filed Critical Inst Maszyn Matematycznych
Priority to PL1977195731A priority Critical patent/PL106470B1/pl
Priority to FR7801399A priority patent/FR2379116A1/fr
Priority to GB2765/78A priority patent/GB1595381A/en
Priority to DE19782803425 priority patent/DE2803425A1/de
Priority to US05/873,423 priority patent/US4156922A/en
Priority to DD78203474A priority patent/DD134148A5/xx
Publication of PL195731A1 publication Critical patent/PL195731A1/pl
Publication of PL106470B1 publication Critical patent/PL106470B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

Przedmiotem wynalazku jest uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycz¬ nych, na liczbach przedstawionych w zapisie bi¬ narnym, w szczególnosci do obliczania wartosci n ki wyrazen wielomianowych 21 jt xi;j, zwlaszcza i=l j=l dla liczb Xij o wielu bitach znaczacych i dla du¬ zych wartosci n. Uklad jest przeznaczony glównie do zastosowania w duzych komputerach i syste¬ mach komputerowych, zwlaszcza w szybkich spe¬ cjalizowanych procesorach do obliczen numerycz¬ nych, oraz innych szybkich urzadzeniach cyfro¬ wych realizujacych operacje arytmetyczne. Uklad moze byc stosowany do równoczesnego oblicza¬ nia kilku niezaleznych wyrazen arytmetycznych oraz dostosowany jako oddzielny modul cyfrowy do wielozadaniowej bezkolizyjnej wspólpracy z kilkoma komputerami.
W znanych rozwiazaniach elektronicznych ma¬ szyn i urzadzen cyfrowych obliczanie wartosci zlo¬ zonych wyrazen arytmetycznych sprowadza sie zwykle do wykonywania kolejnych dzialan aryt¬ metycznych, których wyniki stanowia z kolei ar gumenty nastepnych dzialan wystepujacych w tych wyrazeniach, az do uzyskania wyniku koncowego.
Znane sa elektroniczne uklady cyfrowe, do szyb¬ kiego wykonywania dzialan mnozenia i dodawa¬ nia. Dzialania te stanowia podstawowe operacje przy obliczaniu wartosci wielu wyrazen arytme- 19 tycznych, a w szczególnosci wyrazen wielomiano- * * n k. wych 2 jt xir Szczególnie istotna jest ta szyb- ,-1,-1 • kosc wykonywania mnozenia jako dzialania znacz¬ nie bardziej czasochlonnego niz dodawanie.
Znane sa uklady cyfrowa o strukturze dostoso¬ wanej do potokowego przetwarzania /pipeline processing/ informacji, zapewniajace bardzo duza !• efektywna szybkosc przetwarzania informacji, a w szczególnosci bardzo szybkie wykonywanie dlu¬ gich sekwencji mnozen i dodawan. W znanym elektronicznym ukladzie cyfrowym do bardzo szybkiego mnozenia dwóch liczb binarnych, sa do siebie równolegle dodawane równoczesnie wszyst¬ kie, przyporzadkowane kolejnym grupom bitów mnoznika, iloczyny czesciowe potrzebne do wy¬ znaczania iloczynu koncowego.
W ukladzie mnozenia liczb 48-bitowych, w któ¬ rym pojedyncze iloczyny czesciowe przyporzadko¬ wane sa parom kolejnych bitów mnoznika, do¬ dawane sa równoczesnie 24 takie iloczyny. Zespól cyfrowy wykonujacy to dodawanie zlozony jest z 22 sumatorów z zachowaniem przeniesien /carry- -save adders/ i 1 sumatora z propagacja przenie¬ sien /carry prapagating adder/. Sumatory te sa polaczone w wielowarstwowa kaskade zawieraja¬ ca w 7 warstwach kolejno 8, 5, 3, 2, 2, 1, 1 su¬ matorów z zachowaniem przeniesien i w ósmej warstwie i sumator z propagacja przeniesien. 106 470106 470 Wszystkie te sumatory tworza zespól cyfrowy sta¬ nowiacy jedna laczna kombinacyjna siec przela¬ czajaca bez elementów pamietajacych. Czas wy¬ konania dodawania 24 iloczynów czesciowych pagacji przeniesien przez 1 sumator okolo 90 po- w takim zespole sumatorów jest suma maksymal¬ nego czasu propagacji sygnalów .przez 7 polaczo¬ nych w szeref sumatorów jednopozycyjnych i pro¬ pagacji przeniesien przez 1 sumatoT okolo 90 po¬ zycyjny. Ten ostatni sumator posiada rozbudowa¬ ne obwody przeskoków przeniesien /carry skips, lub carry loofc-ahead/ dla zminimalizowania mak¬ symalnego czasu propagacji przeniesien.
Iloczyny czesciowe, dodawane w omówionym ze- s^aMe suffiatóiT^^SIanowia wzajemnie przesunie¬ te wieToftfotnosciraloznej, przyporzadkowane pa- rfcm bitów mnoznikaJreprezentujacym liczby calko- » ^ZLJKJft™^SAJ1 do 3- Dla unikniecia czaso- lonnego *wy2naoa5arjia 3-krotnej mnoznej, wyma- Jcego dodatEbwego dodawania mnoznej i prze¬ sunietej mnoznej, omawiany uklad mnozenia zawie¬ ra siec przelaczajaca, przeksztalcajaca równolegle mnoznik. Sygnaly wyjsciowe tej sieci przyporzad¬ kowane kolejnym grupom bitów mnoznika, repre¬ zentuja, zamiast liczb 0, 1, 2, 3 liczby —2, —1, 0, 1, 2. Dwukrotna mnozna otrzymuje sie w oma¬ wianym ukladzie mnozenia przez przesuniecie mnoznej o jeden bit w lewo, a wielokrotnosci ujemne — przez zanegowanie bitów wielokrotnosci dodatnich i korekcyjna jedynke na najmniej zna¬ czacej pozycji binarnej.
Uklad mnozenia zawierajacy omówiony zestaw sumatorów opisany zostal w pracach: C. S. Wallace „A Suggestion for a Fast Multiplier", The Insti- tute of Electrical and Electronics Engineers, Tran- sactions on Electronics Computers, tom EC-13, strony 14—17, luty 1964; T. G. Hallin, M. J. Flynn „Pipelining of Arithmetic Functions", The Insti- tute of Electrical and Electronics Engineers, Tran- sactions on Electronic Computers, tom EC-21, strony 880—-886, sierpien 1972; J. W. Gawrilow, A. N. Puczko „Arifmeticzeskije ustrojstwa bystro- diejstwujuszczich elektronnych cifrowych wyczisli- tielnych maszin". Izdatielstwo: Sowietskoje radio, Moskwa 1970, strony 133—180, a obwody przesko¬ ków przeniesien /carry look-ahead/ w pracy: O. L.
MacSorley „High Speed Arithmetic in Binary Computers", Proceedings of The Institute of Radio Engineers, tom 49, numer 1, 1961, strony 67—91.
W znanych ukladach cyfrowych o strukturze dostosowanej do potokowego przetwarzania infor¬ macji, warstwy sieci przelaczajacych przetwarza¬ jace informacje sa, rozdzielone od siebie warstwa¬ mi rejestrów, dla zapewnienia w poszczególnych warstwach sieci przelaczajacych stopniowego wy¬ konywania, w tym samym czasie, czesci róznych operacji Przetwarzanie kolejnych informacji od¬ bywa sie w poszczególnych warstwach takich u- kladów z jednakowa czestotliwoscia dostosowana do maksymalnego opóznienia warstwy. Potokowe przetwarzanie informacji opisane zostalo miedzy Innymi w pracach: M. J. Flynn „Pipelining of Arithmetic Functions", The Institute of Electrical and Electronics Engineers, Transactions on Elec¬ tronic ., Computers, tom EC-21, strony 880—886, sierpien 1972; T. C. Chen i inni „Introduction to Computer Architecture" rozdzial 9, strona 417, Wydanie: Science Research Associates, Chicago USA 1975.
• Wada znanych ukladów cyfrowych, zwlaszcza przeznaczonych do zlozonych obliczen na liczbach o duzej dokladnosci, jest stosunkowo dlugi czas wykonywania poszczególnych mnozen i dodawan.
Znaczna czesc tego czasu przypada na propagacje przeniesien, co ma miejsce nawet w przypadku bardzo szybkich sumatorów. Czas propagacji prze¬ niesien jako czas opóznienia wystepujacego przy wielu dzialaniach wykonywanych w trakcie obli¬ czania zlozonych wyrazen arytmetycznych ma po¬ il wazny wplyw na czas trwania calego obliczania.
Celem niniejszego wynalazku jest usuniecie tej wady i wyeliminowanie, w maksymalnym stopniu wszelkich procesów przetwarzania informacji ma¬ jacych charakter procesów szeregowych, w tym » procesów propagacji przeniesien konczacych dzia¬ lania dodawania i mnozenia.
Cel ten uzyskuje sie przez zastosowanie takiej struktury logicznej ukladu cyfrowego, która za¬ pewnia potokowe przetwarzanie /pipeline proces- sing/ informacji tylko w poczatkowej i srodkowej fazie wykonywania poszczególnych dzialan mnoze¬ nia i dodawania, wchodzacych w sklad obliczanych wyrazen arytmetycznych oraz przez wykorzysta¬ nie nie do konca obliczonych wyników tych dzialan, 39 jako operandów nastepnych dzialan mnozenia i dodawania, wchodzacych w sklad tych obliczen.
Eliminuje sie dzieki temu w urzadzeniu czaso¬ chlonne procesy propagacji przeniesien, stanowia¬ ce zazwyczaj koncowa faze mnozenia i dodawa- M nia.
Zgodnie z wynalazkiem uklad cyfrowy do obli¬ czania wartosci zlozonych wyrazen arytmetycznych jest przeznaczony do obliczania wartosci wielo¬ mianów dowolnego stopnia jednej i wielu zmien- * nych, szeregów funkcyjnych, iloczynów skalarnych i do obliczen róznych innych wyrazen arytmetycz¬ nych, szczególnie obliczen na danych zwektory- zowanych dla wektorów o duzej liczbie sklado¬ wych, gdzie operandy i wyniki obliczen sa licz¬ bami przedstawionymi w zapisie binarnym, zwykle w zapisie binarnym uzupelnieniowym lub w po¬ staci znnk-modul, staloprzecinkowym lub zmien¬ noprzecinkowym. Uklad ten zawiera zestaw reje¬ strów równoleglych przeznaczony do pamietania 50 zarówno operandów wystepujacych w obliczanych wyrazeniach jak i wyników posrednich otrzy¬ mywanych w trakcie obliczania calego wyraze¬ nia. Uklad zawiera równiez cyfrowy zespól prze¬ twarzania równoleglego wspomnianych operandów, M polaczony równolegle ze wspomnianymi rejestra¬ mi Struktura zespolu przetwarzania Jest dostoso¬ wana do równoleglego wytwarzania iloczynów m czesciowych, korzystnie w postaci wzajemnie prze¬ sunietych wielokrotnosci mnoznej, stanowiacych skladniki pelnego iloczynu dwóch czynników, z których pierwszy czynnik jest umozna, a drugi czynnik Jest mnoznikiem zlozonym z co najmniej m dwóch skladników mnoznika. Wspomniane Iloczy-106 470 ny czesciowe sa tworzone bez wykonywania efek¬ tywnego dodawania skladników mnoznika.
Struktura zespolu przetwarzania jest dostosowa¬ na równiez do zredukowania liczby skladników pelnego iloczynu i innych skladników dodawanych do tego iloczynu do mniejszej liczby skladników o takiej samej ich lacznej sumie. W sklad zesta¬ wu rejestrów równoleglych wchodza co najmniej dwa równolegle pierwsze rejestry pamietajace skladniki mnoznika oraz co najmniej dwa rów¬ nolegle drugie rejestry pamietajace zredukowane skladniki wyniku posredniego przeznaczone albo do dodania ip kolejnego iloczynu wystepujacego w obliczanym wyrazeniu albo do dodania do in¬ nych skladników obliczonego wyrazenia. Niektóre operandy wystepujace w obliczonym wyrazeniu moga byc pamietane albo w rejestrach zestawu rejestrów wchodzacych w sklad ukladu albo w rejestrach lub pamieciach nalezacych do innych ukladów cyfrowych.
W pierwszym przypadku zestaw rejestrów oma¬ wianego ukladu cyfrowego zawiera rejestry rów¬ nolegle pamietajace mnozna i skladniki dodawa¬ nia, w drugim ich nie zawiera. W obu przypad¬ kach zespól przetwarzania posiada niezalezne rów¬ nolegle wejscia dla wprowadzenia mnoznej, sklad¬ ników mnoznika i skladników przeznaczonych do dodania do iloczynu lub do innych skladników dodawania jak równiez posiada równolegle wyjs¬ cia do wyprowadzania zredukowanych skladni¬ ków wyjsciowych stanowiacych skladniki wyniku posredniego lub koncowego.
Wyjscia zespolu przetwarzania sa polaczone rów¬ nolegle z wejsciami wspomnianych równoleglych pierwszych rejestrów, a wyjscia tych rejestrów sa polaczone równolegle z wejsciami przeznaczonymi do wyprowadzenia skladników mnoznika do wspomnianego zespolu przetwarzania, w celu u- tworzenia razem co najmniej dwóch równoleglych petli, przez które zredukowane skladniki otrzy¬ mywane na wyjsciach zespolu przetwarzania sa wyprowadzane równoczesnie i równolegle, jako skladniki posredniego wyniku znów na wejscia zespolu przetwarzania.
Wyjscia zespolu przetwarzania sa polaczone rów¬ nolegle równiez z wejsciami wspomnianych rów¬ noleglych drugich rejestrów, a wyjscia tych re¬ jestrów sa polaczone równolegle z wejsciami ze¬ spolu przetwarzania, przeznaczonymi do wypro¬ wadzania skladników dla dodawania, w celu u- tworzenia razem co najmniej dwóch innych rów¬ noleglych petli, przez które zredukowane skladni¬ ki otrzymywane na wyjsciach zespolu przetwarza¬ nia sa wyprowadzane równoczesnie i równolegle jako skladniki posredniego wyniku znów na wejs¬ cia zespolu przetwarzania. Pod pojeciem objetego niniejszym zgloszeniem ukladu rozumie sie nie oddzielna jednostke konstrukcyjna, ale zestaw wspólpracujacych ze soba elementów logicznych, które moga obejmowac jeden lub wiecej modulów konstrukcyjnych albo stanowic czesc jednego mo¬ dulu konstrukcyjnego.
Dla zwiekszenia efektywnosci dzialania ukladu cyfrowego wedlug wynalazku, zespól przetwarza¬ nia ma strukture waTstwowa i zawiera warstwy sieci przelaczajacych rozdzielone warstwami reje¬ strów równoleglych dla umozliwienia w kolejnych warstwach sieci przelaczajacych stopniowego poto¬ kowego przetwarzania liczb wprowadzonych do ze- spolu przetwarzania. Jedna warstwa sieci prze¬ laczajacych dostosowana jest do równoleglego przetwarzania mnoznej i skladników mnoznika w iloczyny czesciowe stanowiace skladniki pelnego iloczynu, a pozostale warstwy sieci przelaczajacych dostosowane sa do stopniowego redukowania licz¬ by tych skladników do mniejszej liczby skladni¬ ków o takiej samej ich lacznej sumie.
Wspomniane redukujace warstwy sieci przela¬ czajacych ilozone sa z koderów posiadajacych po p jednobitowych wejsc i po r jednobitowych wyjsc, takich, ze kombinacja sygnalów zero-jedynkowych na r wyjsciach kodera przedstawia binarnie zako¬ dowana sume Jednak reprezentowanych przez syg¬ naly zero-jedynkowe na p wejsciach kodera, gdzie n 3 ca zespolu przetwarzania jest zlozona z 1 do 4 warstw takich koderów, nie polaczonych miedzy soba w ramach jednej warstwy koderów.
Pojedynczy szereg koderów nie polaczonych M miedzy soba, gdzie kazdy z koderów posiada p wejsc i r wyjsc, redukuje równolegle p sklad¬ ników do r skladnlkdw przedstawionych w zapi¬ sie binarnym, z zachowaniem ich lacznej sumy.
Korzystne jest stosowanie w redukujacych war* u stwaeh koderów o 3 wejsciach i 2 wyjseiach, czyli sumatorów jednopozycyjnych. Szereg takich nie polaczonych ze soba sumatrów jednopozycyjnych, redukuje trzy sklastoiki do dwóch o tej samej sumie. x Uklad cyfrowy pracuje synchronicznie z usta¬ lona czestotliwoscia, dostosowana do struktury lo- gieznej zespolu przetwarzania i szybkosci dziala¬ nia jego skladowych elementów logicznych. Cze¬ stotliwosc ta zalezy od maksymalnego lacznego o- 40 póznienia wprowadzanego przez jedna warstwe za¬ wierajaca sieci przelaczajace i jedna warstwe re¬ jestrów zespolu przetwarzania/ Z czestotliwoscia ta wprowadzane sa, równoczesnie da wszystkichc warstw rejestrów zespolu przetwarzania, redfcko~ 45 wane skladniki z poprzedzajacych je warstw sie¬ ci przelaczajacych tego zespolu. W kolejnych war¬ stwach zespolu przetwarzania zawierajacych sie¬ ci przelaczajace wystepuje zatem potokowe prze¬ twarzanie informacji.
W szczególnosci zespól przetwarzania ma struk¬ ture logiczna dostosowana do redukowania licz¬ by skladników do dwóch z zachowaniem ich lacz¬ nej sumy, a jego warstwa sieci przelaczajacych, sluzaca do wytwarzania iloczynów czesciowych, do¬ stosowana jest do równoleglego wytworzenia rów¬ noczesnie wszystkich Uoczynów czesciowych po¬ trzebnych do wyznaczania pelnego iloczynu jednej licaby precz sume dwóch liczty a dokladniej pel¬ nego iloczynu mnoznej przez dwa skladniki mnoi- Wspomniane iloczyny czesciowe stanowia albo wzajemnie przesuniete wielokrotnosci mnoznej q krotnosciach wyrazonych liczbami calkowitymi —1, 0, +1, z których kazda wielokrotnosc mnez- ^ nej przyporzadkowana jest jednej parze glowia¬ sci 55106 470 dajacych sofcie bitów wzietych z obu skladników mnoznika, albo wzajemnie przesuniete wielokrot¬ nosci mnoznej o krotnosciach —2, —1, 0, +1, +2, z których kfczda wielokrotnosc mnoznej przypo¬ rzadkowana jest jednej parze odpowiadajacych sobie grup dwuibitowych wzietych z obu skladni¬ ków mnoznika. Korzystne przy tym jest stosowa¬ nie rozwiazania zapewniajacego wyznaczenie wlas¬ ciwej krotnosci mnoznej dla kazdego iloczynu czesciowego, przyporzadkowanego pojedynczej pa¬ rze bitów z obu skladników mnoznika, na podsta¬ wie tej pary bitów i ewentualnie bitów znakowych obu skladników mnoznika, oraz przyporzadkowa¬ nego pojedynczej parze grup dwubitowych z obu skladników mnoznika, na podstawie pary grup pieciobitowych i ewentualnie bitów znakowych otou skladników mnoznika.
W przypadku zapisu binarnego uzupelniajacego bity znakowe sa konieczne tylko do wyznaczenia iloczynu czesciowego przyporzadkowanego pozycji znakowej mnoznika lub przyporzadkowanego gru¬ pie pozycji zawierajacych pozycje znakowa. Wie¬ lokrotnosci mnoznejj odpowiadajace liczbom —2, —1, 0, +1, +2, uzyskuje sie na podstawie poje¬ dynczej mnoznej w ten sposób, ze dwukrotna mnozna uzyskuje sie przez przesuniecie mnoznej o jedna pozycje binarna w lewo, a ujemne wie¬ lokrotnosci mnoznej uzyskuje sie przez zanego¬ wanie bitów wielokrotnosci dodatnich z uwzgled¬ nieniem korekcyjnej jedynki na najmniej znacza¬ cej pozycji binarnej.
Korzystne jest, jesli w ukladzie cyfrowym we¬ dlug wynalazku, petle utworzone przez zespól prze¬ twarzania i dwa równolegle drugie rejestry obej¬ muja jedna, a mianowicie ostatnia warstwe sieci przelaczajacych zespolu przetwarzania. Wyniki po¬ srednie, w postaci par zredukowanych skladni¬ ków, redukowane sa wówczas ponownie wraz z innymi skladnikami, w ostatniej warstwie zespolu przetwarzania, do dwóch skladników o takiej sa¬ mej lacznej sumie. Objecie petlaimi tylko jednej warstwy sieci przelaczajacych zespolu przetwarza¬ nia umozliwia obliczanie wartosci wielomianów n ¦¦ Jq 2 n xu dla duzych wartosci n, z taka szyb- i-lj-1 koscia, ze sredni czas jednego mnozenia jest nie¬ wiele wiekszy od jednego cyklu potokowego prze¬ twarzania w jednej warstwie zespolu przetwarza¬ nia, a wystepujace w wielomianie dodawania w wiekszosci przypadków w ogóle nie wplywaja na laczny czas obliczania.
Ukladem wedlug wynalazku jest równiez inny uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych przeznaczony do oblicza¬ nia wartosci wielomianów dowolnego stopnia jed¬ nej i wielu zmiennych, szeregów funkcyjnych, ilo¬ czynów skalarnych i do obliczen róznych innych wyrazen arytmetycznych, szczególnie obliczen na danych zwektoryzowanych dla wektorów o duzej liczbie skladowych, gdziel operandy i wyniki obli¬ czen sa liczbami przedstawionymi w zapisie binar¬ nym, zwykle w zapisie binarnym uzupelnienio¬ wym lub w postaci znak-modul, staloprzeeinko- wym lub zmieimopi&ecinkowym.
Uklad ten zawiera zastaw rejestrów równoleg¬ lych przeznaczonych do pamietania zarówno ope- randów wystepujacych w obliczanych wyrazeniach jak i wyników posrednich otrzymywanych w trak- cie obliczania calego wyrazenia. Uklad zawiera równiez cyfrowy zespól przetwarzania równolegle¬ go wspomnianych operandów polaczony równolegle ze wspomnianymi rejestrami oraz sumator rów¬ nolegly dolaczony równolegle do wyjsc zespolu przetwarzania lub rejestrów. Struktura zespolu przetwarzania jest dostosowana do równoleglego wytwarzania iloczynów czesciowych, korzystnie w postaci wzajemnie przesunietych wielokrotnosci mnoznej, stanowiacych skladniki pelnego iloczynu dwóch czynników, z których pierwszy czynnik jest mnozna, a drugi czynnik jest mnoznikiem zlozo¬ nym z co najmniej dwóch skladników mnoznika.
Wspomniane iloczyny czesciowe sa tworzone bez wykonywania efektywnego dodawania skladników mnoznika.
Struktura zespolu przetwarzania jest dostoso¬ wana równiez do zredukowania liczby skladni¬ ków polnego iloczynu i innych skladników doda¬ wanych do tego iloczynu do mniejszej liczby skladników o takiej samej ich lacznej sumie. W sklad zestawu rejestrów równoleglych wchodza co najmniej dwa równolegle pierwsze rejestry pa¬ mietajace skladniki mnoznika, co najmniej dwa równolegle drugie rejestry pamietajace zreduko¬ wane skladniki wyniku posredniego przeznaczone albo do dodania do kolejnego iloczynu wystepu¬ jacego w obliczanym wyrazeniu, albo do dodania do innych skladników obliczanego wyrazenia, rów¬ nolegly rejestr mnoznej i/lub równolegle trzecie rejestry pamietajace skladniki dodawania.
Zespól przetwarzania posiada niezaleznie rów¬ nolegle wejscia dla wyprowadzania mnoznej z re¬ jestru mnoznej, skladników mnoznika z ich pier¬ wszych rejestrów i skladników przeznaczonych do dodania do iloczynu lub do innych skladników z 40 trzecich rejestrów pamietajacych skladniki do¬ dawania i z drugiej rejestrów pamietajacych zre¬ dukowane skladniki dodawania, jak równiez po¬ siada równolegle wyjscia do wyprowadzania zre¬ dukowanych skladników wyjsciowych stanowia- 45 cych skladniki wyniku posredniego lub koncowego.
Wyjscia zespolu przetwarzania sa polaczone rów¬ nolegle z wejsciami wspomnianych równoleglych pierwszych rejestrów, a wyjsoia tych rejestrów sa polaczone równolegle z wejsciami przeznaczo- 50 nymi do wprowadzania skladników mnoznika do wspomnianego zespolu przetwarzania, w celu u- tworzenia razem co najmniej dwóch równoleglych petli, przez które zredukowane skladniki otrzy¬ mywane na wyjsciach zespolu przetwarzania sa 55 wyprowadzane równoczesnie i równolegle, jako skladniki posredniego wyniku znów na wejscia zespolu przetwarzania.
Wyjscia zespolu przetwarzania sa polaczone rów¬ nolegle równiez z wejsciami wspomnianych rów- noleglych drugich rejestrów, a wyjscia tych re¬ jestrów sa polaczone równolegle z wejsciami ze¬ spolu, przetwarzania, przeznaczonymi do wypro¬ wadzenia skladników dla dodawania, w celu utwo- m rzenia razem co najmniej dwóch innych równo- 55106 470 I 10 leglych petli, przez które zredukowane skladniki otrzymywane na wyjsciach zespolu przetwarza¬ nia sa wyprowadzane równoczesnie i równolegle jako skladniki posredniego wyniku znów na wejs¬ cia zespolu przetwarzania. Pod pojeciem objetego niniejszym zgloszeniem ukladu rozumie sie nie od¬ dzielna jednostke konstrukcyjna, ale zestaw wspól¬ pracujacych ze sdba elementów logicznych, które moga obejmowac jeden lub wiecej modulów kon¬ strukcyjnych albo stanowic czesc jednego modulu konstrukcyjnego.
Dla zwiekszenia efektywnosci dzialania ukladu cyfrowego wedlug wynalazku omówionego ostatnio, zespól przetwarzania ma strukture warstwowa i zawiera warstwy sieci przelaczajacych rozdzielone warstwami rejestrów równoleglych dla umozli¬ wienia w kolejnych warstwach sieci przelaczaja¬ cych stopniowego potokowego przetwarzania liczb wprowadzanych do zespolu przetwarzania. Jedna warstwa sieci przelaczajacych dostosowana jest do równoleglego przetwarzania mnoznej i sklad¬ ników mnoznika w iloczyny czesciowe stanowiace skladniki pelnego iloczynu, a pozostale warstwy sieci przelaczajacych dostosowane sa do stopnio¬ wego redukowania liczby tych skladników do mniejszej liczby skladników o takiej samej ich lacznej sumie.
Wspomniane redukujace warstwy sieci przela¬ czajacych zlozone sa z koderów posiadajacych po p jednobitowych wejsc i po r jednobitowych wyjsc, takich, ze kombinacje sygnalów zero-jedynkowych na r wyjsciach kodera przedstawia binarnie zako¬ dowana sume jedynek reprezentowanych przez sygnaly zero-jedynkowe na p wejsciach kodera, gdzie 3 redukujaca zespolu przetwarzania jest zlozona z 1 do 4 warstw takich koderów, nie polaczonych miedzy soba w ramach jednej waTstwy koderów.
Pojedynczy szereg koderów nie polaczonych mie¬ dzy soba, gdzie kazdy z koderów posiada p wejsc i r wyjsc, redukuje równolegle p skladników do r skladników przedstawionych w zapisie binar¬ nym, z zachowaniem ich lacznej sumy. Korzyst¬ ne jest stosowanie w redukujacych warstwach koderów o 3 wejsciach i 2 wyjsciach, czyli suma¬ torów jednopozycyjnych. Szereg takich nie pola¬ czonych ze soba sumatorów jednopozycyjnych, re¬ dukuje trzy skladniki do dwóch o tej samej su¬ mie.
Równolegly szybki sumator wielopozycyjny wcho¬ dzacy w sklad omawianego ukladu cyfrowego, przeznaczony do dodawania zredukowanych w ze¬ spole przetwarzania skladników, dolaczony jest albo do wyjsc zespolu przetwarzania, albo do wyjsc drugich rejestrów pamietajacych zreduko¬ wane skladniki dodawania. Korzystne jest przy tym zastosowanie sumatora posiadajacego struk¬ ture warstwowa, o warstwach zawierajacych sieci przelaczajace rozdzielonych warstwami rejestrów, dostosowana do potokowego wykonywania kolej¬ nych dodawan, zsynchronizowanego z potokowym przetwarzaniem liczb w zespole przetwarzania.
Uklad cyfrowy pracuje synchronicznie z ustalona czestotliwoscia, dostosowana do struktury logicz¬ nej zespolu przetwarzania i szybkosci dzialania jego skladowych elementów logicznych.
Czestotliwosc ta zalezy od maksymalnego lacz¬ nego opóznienia wprowadzanego przez jedna war¬ stwe zawierajaca sieci przelaczajace i jedna war¬ stwe rejestrów zespolu przetwarzania. Z czestotli¬ woscia ta wprowadzane sa, równoczesnie do wszy¬ stkich warstw rejestrów zespolu przetwarzania, redukowane skladniki z poprzedzajacych je warstw sieci przelaczajacych tego zespolu. W kolejnych warstwach zespolu przetwarzania zawierajacych sieci przelaczajace wystepuje zatem potokowe przetwarzanie informacji.
W szczególnosci korzystne jest, gdy wyjscie rów¬ noleglego szybkiego sumatora wielopozycyjnego, dostosowanego do potokowego przetwarzania liczb, polaczone jest przez rejestr mnoznej z zespolem przetwarzania, w celu utworzenia petli przez któ¬ ra suma otrzymanych na wyjsciach zespolu prze¬ twarzania zredukowanych skladników wyniku po¬ sredniego jest ponownie wprowadzana na wejscia zespolu przetwarzania jako mnozna.
Zgodnie z wynalazkiem wchodzace w sklad ze¬ stawu rejestrów równolegle trzecie rejestry two¬ rza w szczególnosci 2 do 6 par rejestrów, które sluza do pamietania wprowadzanych z zespolu przetwarzania 2 do 6 róznych wyników posrednich, kazdy wynik posredni w postaci pary skladników dodawania. Z rejestrów tych pary skladników wprowadzane sa ponownie do zespolu przetwarza¬ nia lub do pary równoleglych pierwszych reje¬ strów pamietajacych skladniki mnoznika.
Wprowadzanie tych skladników do równoleglych pierwszych rejestrów pamietajacych skladniki mnoznika odbywa sie przy tym albo bezposrednio albo poprzez jedna lub wiecej warstw zespolu przetwarzajacego, w którym skladniki te sa redu¬ kowane wraz z innymi skladnikami z zachowa¬ niem icji lacznej sumy. Zapamietanie równoczes¬ nie kilku wyników posrednich w postaci par zre¬ dukowanych skladników i wprowadzanie ich po¬ nownie do zespolu przetwarzania i/lub do reje¬ strów pamietajacych skladniki mnoznika umozli¬ wia obliczanie róznych wyrazen wielomianowych z róznym rozkladem nawiasów.
Ukladem cyfrowym wedlug wynalazku jest tak¬ ze uklad, w którym wszystkie petle, utworzone przez zespól przetwarzania i rejestry z zestawu rejestrów, obejmuja jednakowa liczbe k lacznie warstw rejestrów równoleglych i pojedynczych re¬ jestrów równoleglych, przez które kolejno przesy¬ lane sa potokowo przetwarzane liczby, dla umoz¬ liwienia równoczesnego, niezaleznego obliczania k wyrazen arytmetycznych.
Czas obiegu informacji w petlach, utworzonych przez zespól przetwarzania i rejestry zestawu re¬ jestrów, jest k krotnie dluzszy od czasu potoko¬ wego przetwarzania, przypadajacego na jedna warstwe zawierajaca sieci przelaczajace w zespole przetwarzania. O wyborze liczby k decyduje glów¬ nie liczba warstw sieci przelaczajacych zespolu przetwarzania. W przypadku, gdy przetwarzanie liczb odbywa sie wylacznie w zespole przetwarza¬ nia, korzystnie jest przyjac Jako liczbe- k liczbe ii u 31 40 45 * 5511 106 470 12 warstw zawierajacych sieci przelaczajace w tym zespole.
Obliczane w ukladzie cyfrowym wyrazenia aryt¬ metyczne moga wchodzic zaTÓwno w sklad jedne¬ go zagadnienia rozwiazywanego w ramach jednego programu, jak równiez nalezec do wielu róznych zadan rozwiazywanych bezkolizyjnie, na przyklad w czasie wspólpracy omawianego ukladu cyfro¬ wego z k róznymi komputerami wykonujacymi od¬ dzielne programy. Jednym z celów ostatniego z wymienionych zastosowan ukladu cyfrowego jest zmniejszenie szybkosci obliczania kazdego z k wy¬ razen arytmetycznych, co pozwala zlagodzic wy¬ magania na szybkosc pamieci wspólpracujacych z omawianym ukladem cyfrowym.
W omawianym ukladzie cyfrowym wedlug wy¬ nalazku równolegly sumator dostosowany do po¬ tokowego wykonywania kolejnych dodawan, two¬ rzy w szczególnosci wraz z zespolem przetwarza¬ nia i rejestrami zestawu rejestrów dodatkowa pet¬ la, obejmujaca 2k lacznie warstw rejestrów rów¬ noleglych i pojedynczych rejestrów równoleglych, przez które kolejno przesylane sa potokowo prze¬ twarzane informacje. Czas obiegu informacji w tej dodatkowej petli jest dwukrotnie dluzszy niz w innych petlach omawianego ukladu cyfrowego.
Korzystne jest gdy petla ta obejmuje rejestr mnoznej. Pozwala to na wykonanie mnozen, w których oboma czynnikami sa sumy dwóch i wie¬ cej skladników, a przy duzej liczbie rejestrów pa¬ mietajacych zredukowane skladniki, zapewnia to mozliwosc obliczania wartosci wyrazen praktycz¬ nie z dowolnie rozmieszczonymi nawiasami.
Dzialanie ukladu cyfrowego wedlug wynalazku, w kiótym zespól przetwarzania zawierajacy war¬ stwy sieci przelaczajacych rozdzielone warstwami rejestrów redukuje do dwóch laczna liczbe sklad¬ ników, oraz w którym ckwa zredukowane sklad¬ niki wyniku koncowego dodawane sa w sumato¬ rze dolaczonym do wyjsc zespolu przetwarzania, opisano ponizej.
Uklad cyfrowy pracuje synchronicznie z ustalo¬ na czestotliwoscia, przetwarzajac liczby potokowo ^pipelkie processing/ w kolejnych warstwach sie¬ ci przelaczajacych zespolu przetwarzania. Syn¬ chronicznie z ta czestotliwoscia, w kolejnosci za¬ leznej od postaci obliczanego wyrazenia arytme¬ tycznego, wprowadzane sa na okreslone wejscia ukladu cyfrowego operandy tego wyrazenia, a mianowicie czynniki iloczynów i skladniki sum.
Obliczenie iloczynu dwóch czynników wymaga równoczesnego równoleglego wprowadzenia mnoz¬ nej i mnoznika na wejscia tej warstwy sieci przelaczajacych zespolu przetwarzania, w której przygotowywane sa w sposób równolegly iloczy¬ ny czesciowe, stanowiace skladniki iloczynu. Mnoz¬ na wprowadzana jest do zespolu przetwarzania przez rejestr mnoznej, a mnoznik poprzez jeden z pierwszych rejestrów pamietajacych skladniki mnoznika.
We wspomnianej warstwie zespolu przetwarza¬ nia nastepuje zamiana mnozenia na sumowanie wielu skladników — iloczynów czesciowych obli¬ czanego iloczynu. Synchroniczne wprowadzanie do zespolu przetwarzania ewentualnych dodatkowych skladników, które nalezy dodac do tego iloczynu, zwieksza tylko laczna liczbe skladników dodawa¬ nia. W kolejnych warstwach zespolu przetwa¬ rzania nastepuje stopniowa redukcja liczby sklad- ników z zachowaniem ich sumy.
Zredukowane w zespole przetwarzania do dwóch skladniki obliczanego iloczynu wprowadzane sa nastepnie albo do drugich rejestrów pamietaja¬ cych zredukowane skladniki,, jesli maja byc do¬ lo dane do innych skladników obliczanego wyraze¬ nia, albo do pierwszych rejestrów pamietajacych skladniki mnoznika, jesli ich suma ma byc po¬ mnozona przez kolejny czynnik. W ostatnim przy¬ padku, ten kolejny czynnik mnozenia wprowadza¬ li ny jest do zespolu przetwarzania jako mnozna równoczesnie z pamietanymi we wspomnianych pierwszych rejestrach skladnikami mnoznika.
W wyniku dzialania zespolu przetwarzania otrzy¬ muja sie na jego wyjsciach dwa zredukowane w skladniki kolejnego wyniku posredniego, które wprowadzane sa znowu albo do drugich rejestrów pamietajacych zredukowane skladniki, albo do pierwszych rejestrów pamietajacych skladniki mnoznika, zaleznie od tego czy ich suma stanowi skladnik obliczanego wyrazenia arytmetycznego, czy ma byc pomnozona przez dalsze czynniki. W przypadku, gdy obliczany wynik posredni ma byc dodany do wczesniejszej zawartosci drugich reje¬ strów pamietajacych zredukowane skladniki, wpro- wadza sie zawartosc tych rejestrów do zespolu przetwarzania w trakcie redukowania w nim sklad¬ ników tego wyniku posredniego.
Wartosc calego obliczonego wyrazenia arytme¬ tycznego otrzymuje sie równiez w postaci dwóch skladników na wyjsciach zespolu przetwarzania.
Po zsumowaniu tych skladników w sumatorze, otrzymuje sie na jego wyjsciu koncowy wynik obliczenia. Opisany sposób obliczania wartosci wielomianu, lub wyrazenia wielomianowego z na- 40 wiasami, wymaga wykonania tylko jednego efek¬ tywnego dodawania z propagacja" przeniesien.
Podstawowa zaleta ukladu cyfrowego do obli¬ czania wartosci zlozonych wyrazen arytmetycz¬ nych, stanowiacego przedmiot wynalazku, jest jego 45 bardzo duza szybkosc dzialania, uzyskana przez zastosowanie potokowego przetwarzania liczb tyl¬ ko w poczatkowej i srodkowej fazie wykonywa¬ nia mnozen i dodawan, wchodzacych w sklad obliczanych wyrazen arytmetycznych, oraz przez 50 wykorzystanie nie do konca obliczonych wyni¬ ków tych dzialan, w postaci kilku skladników, najczesciej dwóch skladników, jako óperandów nastepnych dzialan. Dzieki temu w ukladzie cy¬ frowym wyeliminowano czasochlonne procesy pro- 55 pagacji przeniesien stanowiace zazwyczaj konco¬ wa faze dzialan mnozenia i dodawania.
Obliczanie zlozonych wyrazen arytmetycznych odbywa sie zatem albo w ogóle bez propagacji przeniesien wzdluz przetwarzania liczb, jesli kon- 69 cowy wynik obliczenia moze byc przedstawiony w formie dwóch skladników dodawania, albo wyma¬ ga tylko jednokrotnego procesu propagacji prze¬ niesien w trakcie wykonania koncowego dodawa¬ nia dwóch skladników, gdy wymagany jest wynik 65 w postaci jednej liczby w okreslonym jednoznacz-13 106 470 14 nie zapisie binarnym, na przyklad w zapisie bi¬ narnym uzupelnieniowym lub w postaci znak- -modul.
Wynalazek zastanie blizej wyjasniony w dwóch przykladach wykonania, pokazanych na rysunku, na fig. 1 przedstawia uklad cyfrowy w schemacie blokowym opisany w I przykladzie, a fig. 2 — uklad cyfrowy w schemacie blokowym opisany w II przykladzie wykonania.
Pirzyklad I. Uklad cyfrowy przedstawiony na fig. 1 zawiera zespól przetwarzania P, dwa rejestry równolegle A, B pamietajace skladniki mnoznika, rejestr równolegly mnoznej C, dwa re¬ jestry równolegle D, E pamietajace skladniki do¬ dawania, dwa rejestry równolegle F, H pamieta¬ jace skladniki zredukowane w zespole P, oTaz sumator równolegly S» Zespól przetwarzania P posiada piec warstw 1, 3, 5, 7, 9 zawierajacych sieci przelaczajace, roz¬ dzielonych czterema warstwami 2fat;l-6f 8 zawiera¬ jacymi Tejestry równolegle. Sumator S jest dwu¬ skladnikowym sumatorem równoleglym o struktu¬ rze warstwowej, posiadajacym trzy warstwy H M, zawierajace sieci przelaczajace, rozdzielone od siebie dwiema warstwami 12/* 14 zawierajacymi rejestry równolegle. Wszystkie rejestry ukladu cy¬ frowego, a wiec zarówno rejestry A, B, C, D, B, F, H jak i rejestry 'tworzace warstwy 2, 4, i, 3, 12, 14 sa podwójnymi rejestrami /typu master-slave registers/ dostosowanymi do potokowego przetwa¬ rzania liczb.
Dostarczone z zewnatrz ukladu cyfrowego syg¬ naly sterujace powoduja zapamietanie w tych re¬ jestrach zero-jedynkowych sygnalów podanych na ich wejscia. Do zespolu P wprowadzane sa ope- randy z zewnatrz urzadzenia przez rejestry A, B, C, D, E. Rejestry A, B tworza wraz z zespolem P petle, przez które otrzymywane na wyjsciach warstwy 7 zespolu P wyniki posrednie, w postaci par zredukowanych skladników, wprowadzane sa jako pary skladników mnoznika, ponownie do ze¬ spolu P na wejscia warstwy 1. Rejestry F, H tworza równiez z zespolem P petle.
Otrzymywane na wyjsciach warstwy 9 zespolu P wyniki posrednie wprowadzane sa przez te re¬ jestry ponownie na wejscia warstwy 9* jako pary skladników dodawanych do nastepnych reduko¬ wanych w zespole P skladników. Do wyjsc re¬ jestrów F, H dolaczony jest równiez sumator S, W którym dodawane sa, wprowadzane do niego, z zespolu P, przez te rejestry, dwa skladniki wy¬ niku koncowego. Wyjscie sumatora S jest rów¬ noleglym wyjsciem zewnetrznym ukladu cyfrowe¬ go. Kazde z wejsc i wyjsc wymienionych reje¬ strów i zespolów cyfrowych ukladu dostosowane jest do równoleglego wprowadzania lub wypro¬ wadzania wszystkich bitów jednej liczby binar¬ nej.
Uklad cyfrowy dostosowany jest do obliczen na liczbach 32-bitowych. W kolejnych warstwach 1, S, 5, 7, 9 zespolu przetwarzania P, zawierajacych sieci przelaczajace, nastepuje potokowe przetwa¬ rzanie /pipeline processing/ liczb, a mianowicie: przygotowanie iloczynów czesciowych w warstwie 1, oraz stopniowa redukcja skladników dodawa¬ nia w warstwach 3, 5, 7; 9. Warstwa 1 zespolu P zlozona jest z prostych sieci przelaczajacych, ne wyjsciach których otrzymuje sie równolegle równoczesnie wszystkie bity 17 iloczynów czescio- wych stanowiacych skladniki iloczynu 32-bitowej mnoznej i sumy dwóch 32-bitowych skladników mnoznika. Poszczególne iloczyny czesciowo przy¬ porzadkowane sa parom pozycji binarnych mnoz¬ nika i stanowia wzajemnie przesuniete wielokrot¬ nosci mnoznej, o krotnosciach —2, —1, 0, +1, +X.
Kazda z warstw 3, 5, 7, 9 sklada sie z dwóch warstw, nie polaczonych beaposrednio ze soba w ramach pojedynczej warstwy, niezaleznie dziala¬ jacych jedmopozycyjnych sumatorów, posiadaja¬ cych po 3 wejscia i 2 wyjscia jednobitowe. Suma¬ tory te uporzadkowane sa w szeregi, z których kazdy szereg redukuje 3 skladniki do 2 skladni¬ ków o takiej samej sumie.
W szczególnosci warstwa 3 sklada sie z dwóch warstw sumatorów jednopozycyjnych zawieraja¬ cych odpowiednio 6 i 4 szeregi sumator6w, war¬ stwa 5 sklada sie z 3 i 2 szeregów takich suma¬ torów, a kazda z warstw 7 i 9 sklada sie z dwóch pojedynczych szeregów sumatorów jednopozycyj¬ nych. Warstwa 3 redukuje 17 iloczynów czescio¬ wych plus 2 skladniki dodawania do 9 skladników 0 takiej samej sumie, .warstwa 5 redukuje liczbe skladników z 9 do 4, a kazda z warstw 7 i 9 re¬ dukuje liczbe skladników z 4 dp 2. Warstwy 1, 3, 5, 7, 9 rozdzielone sa od siebie warstwami 2, 4, 6, 8 zawierajacymi kolejno .17, 9, 4, 2 rejestry równolegle pamietajace 17 iloczynów czesciowych oraz 9, 4 i 2 redukowane skladniki.
Dzialanie ukladu cyfrowego pokazanego na fig. 1 przedstawione zostanie na przykladzie oblicza- 100 nia wyrazenia arytmetycznego 2 [(x,-yiZi+Wi)vi+ « +Uiti+Pi+qi+rj+Si] wymagajacego wykonania 400 mnozen i 699 dodawan. Na czas obliczania wartosci tego wyrazenia, sklada sie czas przejs¬ cia sygnalów informacji binarnych 400-krotnie przez jedna warstwe sieci przelaczajacych i jedna 45 warstwe rejestrów oraz czas jednokrotnego przejs¬ cia sygnalów informacji przez wszystkie warstwy zespolu przetwarzania P i sumatora 5. Jesli za jednostke czasu przyjmie sie je4en okres T poto¬ kowego przetwarzania informacji w jednej war- 50 stwie, równy w omawianym ukladzie cyfrowym maksymalnemu czasowi przejscia informacji bi¬ narnych przez dwa polaczone szeregowo sumato¬ ry jednopozycyjne i jeden rejestr równolegly /ty¬ pu master-slave register/, to czas obliczania war- 55 tosci podanego wyzej wyrazenia wyniesie 400 T+ + 5 T+3 T= 403 T.
Przebieg obliczenia jest nastepujacy. Na wejs¬ cia warstwy 1 zespolu P wprowadza sie przez re¬ jestry A, C w czterech kolejnych okresach T ozna- so czonych przez Tlf T«, T,, T4 pary czynników xu y*;«xt, y* x* y,; x4, y4. Otrzymywane kolejno w wyniku dzialania zespolu P na wyjsciach jego warstwy 7 skladniki iloczynów X{yit xtyf, X|yt, XaYa wprowadzane sa ponownie, w okresach T5, •s Tf, T>, T«, jako skladniki mnoznika, przez rejestry 21 3015 106 470 16 A, B do zespolu P na wejscia warstwy 1. Równo¬ czesnie z niimi wprowadzane sa kolejno, przez re¬ jestr C, liczby zt, z* z«, z* jako mnozne, a o je¬ den okres T pózniej, kolejno, przez rejestr D, na wejscia warstwy 3 zespolu P, liczby Wi, wf, w8, w4 jako skladniki dodawania.
W wyniku dzialania zespolu P otrzymuje sie na wyjsciach jego warstwy 7 kolejno pary skladni¬ ków wyników iposrednich xiyizi+'Wit Xiyfzi+Wf, SsyaZi+ws, X4y4Z4+W4. Te pary skladników wpro¬ wadza sie ponownie do zespolu P na wejscia war¬ stwy 1, w okresach T9, T10, Tu, TM przez rejestry A, B jako skladniki mnoznika. Równoczesnie z nimi sa wprowadzane kolejno przez rejestr C licz¬ by vi, v2, vfc v4 jako mnozne, a o jeden okres T pózniej, przez rejestry D, E sa wprowadzane ko¬ lejno do zespolu P pary liczb pi, qi, 'Pt, qt, pa, a9t Vi, Q4» jako skladniki dodawania.
W wyniku, dzialania zespolu P otrzymuje sie na wyjsciach jego warstwy 7 pary skladników wy¬ ników posrednich (xjyiZi+Wi) • vi+pi+qi kolejno dla i"5!, 2, 3, 4. Te pary skladników wprowadza sie kolejno do warstw 8 i 9 zespolu P w okresach Tu, T14, Tis, T16, a z nich nastepnie do rejestrów F, H, przy czym do warstwy 9 wprowadza sie równoczesnie w okresach Ti4, Tl6, Tie, kolejno za¬ wartosci rejestrów F, H. W wyniku tego, w reje¬ strach F, H, w okresie T17, otrzymuje sie dwa 4 skladniki o sumie równej 2 [(xjyjzi+Wi) • v\+ i-i -+Pi+QiI. Niezaleznie od tego w okresach' Tlf, T14, Tis, T18 wprowadza sie kolejno, przez rejestry A i C, na wejscia warstwy 1 zespolu P pary czyn¬ ników mnozenia Ui, ti, uf, tf, u8, t8, u4, t4, a o jeden okres T pózniej, przez rejestry D, E, na wejscia warstwy 3, sa wiprówadzane pary sklad¬ ników dodawania ri, slf r2, st, r8, s8, r4, s4.
W wyniku dzialania zespolu P otrzymuje sie na wyjsciach jego warstwy 7 pary skladników wyni¬ ków posrednich Ujti+Ti+si, kolejno dla i=l, 2, 3, 4.
Te pary skladników wprowadza sie kolejno do warstw 8 i 9 zespolu P w okresach T17, T18, Tw, T20, a z nich nastepnie do rejestrów F, H, przy czym do warstwy 9 wprowadza sie równoczesnie w okresach T17, T18, Tw, Tw kolejno zawartosci rejestrów F, H. W wyniku tego w rejestrach F, H w okresie Tti otrzymuje sie dwa skladniki o su- 4 mie równej 2 {(xiyiZi+Wi)vi+Uiti+pH-qi+ri+si] i=i W podobny sposób, wprowadzajac do zespolu P w okresach od T17 do Ttt dalsze operandy od xj do Si dla i—5, 6, 7, 8, otrzymuje sie w reje* strach F, H w okresie TS7 dwa skladniki o sumie 8 równej 2 ( i=i Analogicznie dwa skladniki koncowego wyniku 100 2 [{xjyiZi+wi)vi4uiti+Pi+qi+ri+Si] otrzymuje i=i « sie w rejestrach F, H w okresie T^j. Po zsumo¬ waniu tych dwóch skladników w sumatorze S* zawierajacym 3 warstwy sieci przelaczajacych 11, 13, 15, otrzymuje sie na jego wyjsciu, w okresie T^ koncowy wynik w postaci jednej liczby w wy¬ maganym zapisie binarnym.
Przyklad II. Uklad cyfrowy przedstawiony na fig. 2 dostosowany jest do równoczesnego, nie¬ zaleznego obliczania 4 wyrazen arytmetycznych.
Uklad zawiera zespól przetwarzania P, zestaw re¬ jestrów równoleglych R oraz sumator równolegly S. Zespól przetwarzania P posiada cztery war¬ stwy 1, 3, 5, 7 zawierajace sieci przelaczajace roz¬ dzielone trzema warstwami 2, 4, 6 zawierajacy¬ mi rejestry równolegle. Zestaw rejestrów równo¬ leglych R zawiera dwa pierwsze rejestry pamie¬ tajace skladniki mnoznika, rejestr mnoznej oraz dwie warstwy rejestrów pamietajacych skladniki dodawania.
Sumator S jest dwuskladnikowym sumatorem równoleglym o strukturze warstwowej, posiadaja¬ cym cztery warstwy 11, 13, 15, 17 zawierajace sieci przelaczajace rozdzielone trzema warstwami 12, 14, 16 zawierajacymi rejestry równolegle.
Wszystkie rejestry ukladu cyfrowego dostosowane sa podobnie jak w opisanym przykladzie I - wy* konania do potokowego przetwarzania informacji.
Zespól przetwarzania P jest zbudowany identycz¬ nie, jak siedem warstw 1, 2, 3, 4, 5, 6, 7 zespolu P w ukladzie cyfrowym opisanym w I przykladzie wykonania.
Uklad cyfrowy posiada polaczenia umozliwia¬ jace równolegle przesylanie wyników posrednich, w postaci par zredukowanych skladników, z wyjsc warstwy 7 zespolu P do pierwszych rejestrów pa¬ mietajacych skladniki mnoznika i do pierwszej warstwy rejestrów skladników dodawania, wcho¬ dzacych w sklad zestawu rejestrów R, jak rów¬ niez" polaczenia umozliwiajace przesylanie tych wyników posrednich i wyniku koncowego z wyjsc warstwy 7 zespolu P do sumatora S. Z sumatora S wyniki posrednie sa przesylane do rejestru mnoznej w zestawie rejestrów R, a wynik kon¬ cowy na zewnatrz ukladu cyfrowego.
Operandy z zewnatrz ukladu cyfrowego wpro¬ wadzane sa do rejestrów równoleglych zestawu rejestrów R. Z rejestru mnoznej i rejestrów sklad¬ ników mnoznika w zestawie R, wprowadza sie operandy jak równiez wyniki posrednie na wejs¬ cia warstwy 1 zespolu P, a z rejestrów skladni¬ ków dodawania pierwszej warstwy zestawu reje¬ strów R, przez rejestry skladników dodawania drugiej jego warstwy, na wejiscia warstwy 3 ze¬ spolu P. Druga warstwa rejestrów pamietajacych skladniki dodawania w zestawie R stanowi wiec warstwe buforowa, wprowadzajaca opóznienie równe opóznieniu jednej warstwy przetwarzania potokowego w zespole przetwarzania P.
Dzialanie ukladu cyfrowego pokazanego na fig. 2 przedstawione zostanie na przykladzie równo¬ czesnego obliczania 4 niezaleznych wyrazen aryt¬ metycznych, z których jednym Jest, to samo co 100 w I przykladzie, wyrazenie 2 ((xiyizi+wi) • vi + i-i +Uitj+Pi+qj+ri+Si], wymagajace wykonania 400 mnozen i 699 dodawan. Na czas obliczania war¬ tosci tego wyrazenia sklada sie czas 400 obiegów *5 3l 40 45 90 55 60106 470 M 18 sygnalów informacji w petli, obejmujacej wszy- stwie warstwy zespolu przetwarzania P oraz czas jednokrotnego przejscia sygnalów informacji przez wszystkie warstwy zespolu P i sumatora S. Przy przyjeciu jako jednostki czasu poprzednio zdefi¬ niowanego okresu T, czas obliczania wartosci po¬ danego wyzej wyrazenia wynosi 400 • 4T+4T+4T= = 1608T.
Operandy obliczanego wyrazenia wprowadza sie do zespolu przetwarzania P co 4 okresy T wyko¬ rzystujac do obliczania tego wyrazenia, w sposób potokowy, w kazdym okresie T tylko jedna war¬ stwe sieci przelaczajacych. Pozostale warstwy sie¬ ci przelaczajacych zespolu P mozna wykorzystac analogicznie, obliczajac równoczesnie, w sposób potokowy, 3 inne niezalezne wyrazenia artyme- tyczne. Wyrazenia te moga wchodzic na przyklad w sklad róznych zadan, rozwiazywanych bezkoli¬ zyjnie we wspólpracy omawianego ukladu cyfro¬ wego z kilkoma róznymi komputerami, Z uwagi na to, ze w omawianym rozwiazaniu ukladu cy¬ frowego, kolejne grupy operandów wprowadza sie do zespolu P okresowo co 4T, czyli z czestotli¬ woscia pelnych cykli dzialania zespolu P, poszcze¬ gólne operandy moga byc wprowadzane zgodnie z kolejnoscia ich indeksów, tzn. kolejno dla i=l, 2, 3,...
Upraszcza to sterowanie strumienia informacji wejsciowych w stosunku do ukladu cyfrowego z I przykladu. Srednia szybkosc wykonywania dzia¬ lan arytmetycznych w obu przykladach ukladu cyfrowego wynosi okolo 1 okresu T na jedno mnozenie. Do czasu tego wliczony jest juz takze czas dodawania. Oszacowanie to nie dotyczy przy¬ padków o bardzo duzej liczbie dodawan w sto¬ sunku do liczby mnozen.

Claims (10)

Zastrzezenia patentowe
1. Uklad cyfrowy do obliczania wartosci zlozo¬ nych wyrazen arytmetycznych, sluzacy do oblicza¬ nia wartosci wielomianów dowolnego stopnia jed¬ nej i wielu zmiennych, szeregów funkcyjnych, iloczynów skalarnych i do innych obliczen na da¬ nych zwektoryzowanych, wykonywanych na licz¬ bach przedstawionych w zapisie binarnym, zawie¬ rajacy zestaw rejestrów równoleglych dla zapa¬ mietania zarówno operandów wystepujacych w obliczanych wyrazeniach jak i wyników posred¬ nich oraz zawierajacy cyfrowy zespól przetwarza¬ nia równoleglego operandów i wyników posred¬ nich, znamienny tym, ze struktura zespolu prze¬ twarzania (P) jest dostosowana do równoleglego wytwarzania równoczesnie wielu iloczynów czes¬ ciowych stanowiacych skladniki pelnego iloczynu dwóch czynników, z których pierwszy czynnik jest mnozna a drugi czynnik jest mnoznikiem zlozonym^co najmniej z dwóch skladników mnoz¬ nika, przy czym wspomniane iloczyny czesciowe sa tworzone bez wykonywania efektywnego doda¬ wania skladników mnoznika, jak równiez jest do¬ stosowana do zredukowania liczby skladników pel¬ nego iloczynu i innych skladników dodawanych do tego iloczynu do mniejszej liczby skladników o takiej samej ich lacznej sumie; podczas gdy w sklad zestawu rejestrów (R) wchodza co najmniej dwa równolegle pierwsze rejestry (A, B) pamieta¬ jace skladniki mnoznika i co najmniej dwa rów¬ nolegle drugie rejestry (F, H) pamietajace zredu¬ kowane skladniki przeznaczone do dodania do I iloczynu lub do dodania do innych skladników; przy czym zespól przetwarzania (P) ma niezalez¬ ne równolegle wejscia dla wprowadzania mnoz¬ nej, skladników mnoznika i skladników przezna¬ czonych do dodania do iloczynu lub do innych M skladników, jak równiez równolegle wyjscia do wyprowadzania zredukowanych skladników wyjs¬ ciowych stanowiacych skladniki wyniku posred¬ niego lub koncowego; gdzie wyjscia zespolu prze¬ twarzania (P) sa polaczone równolegle z wejscia¬ mi mi wspomnianych równoleglych pierwszych reje¬ strów (A, B), a wyjscia tych rejestrów (A, B) sa polaczone równolegle z wejsciami przeznaczonymi do wprowadzania skladników mnoznika do wspom¬ nianego zespolu przetwarzania (P), w celu utwo- 2t rzenia razem co najmniej dwóch równoleglych petli, przez które zredukowane skladniki otrzy¬ mywane na wyjsciach zespolu przetwarzania (P) sa wprowadzane równolegle i równoczesnie jako skladniki posredniego wyniku znów na wejscia 25 zespolu przetwarzania (P); gdzie równiez wyjscia zespolu przetwarzania (P) sa polaczone równoleg¬ le z wejsciami wspomnianych równoleglych dru¬ gich rejestrów (F, H), a wyjscia tych rejestrów (F, H) sa polaczone równolegle z wejsciami st zespolu przetwarzania do wprowadzania skladników dla dodawa¬ na, w celu utworzenia razem co najmniej dwóch innych równoleglych petli, przez które zre¬ dukowane skladniki otrzymywane na wyjsciach U zespolu przetwarzania (P) sa wprowadzane rów¬ noczesnie i równolegle jako skladniki posrednie¬ go wyniku znów na wejscia zespolu przetwarza¬ nia (P).
2. Uklad wedlug zastrz. 1, znamienny tym, ze 49 zespól przetwarzania (P) ma strukture warstwowa i zawiera warstwy (1, 3, 5, 7, 9) sieci przelaczaja¬ cych rozdzielone przez warstwy (2, 4, 6, 8) reje¬ strów równoleglych dla umozliwienia w kolejnych warstwach (1, 3, 5, 7, 9) sieci przelaczajacych stop- 45 niowego potokowego przetwarzania liczb wprowa¬ dzonych do zespolu przetwarzania (P); przy czym jedna warstwa (1) sieci przelaczajacych dostoso¬ wana jest do równoleglego przetwarzania mnoz¬ nej i skladników mnoznika w iloczyny czesciowe
3. II stanowiace skladniki pelnego iloczynu, a pozosta¬ le warstwy (3, 5, 7, 9) sieoi przelaczajacych dosto¬ sowane sa do stopniowego redukowania liczby skladników do mniejszej liczby skladników o ta¬ kiej samej lacznej sumie; gdzie wspomniane re- w dukujace warstwy (3, 5, 7, 9) sieci przelaczajacych zlozone sa z 'koderów posiadajacych po p jedno- bitowych wejsc i po r jednobitowych wyjsc, ta¬ kich, ze kombinacja sygnalów zero-jedynkowych na r wyjsciach kodera przedstawia binarnie zako¬ li dowana sume jedynek reprezentowanych przez sygnaly zero-jedynkowe na p wejsciach kodera, gdzie 3 warstwa redukujaca zespolu przetwarzania (P) jest zlozona z 1 do 4 warstw takich koderdw, nie po¬ la laczonych miedzy soba w ramach jednej warstwy106476 1* 20 koderów, w której pojedynczy szereg koderów nie polaczonych miedzy soba, gdzie kazdy z koderów posiada ip wejsc i r wyjsc, redukuje równolegle p skladników do r skladników z zachowaniem ich lacznej sumy. 3L Uklad wedlug zastrz. 2, znamienny tym, ze zespól przetwarzania (P) ma strukture logiczna dostosowana do redukowania liczby skladników do dwóch z zachowaniem ich lacznej sumy, a jego warstwa U> sieci przelaczajacych, sluzaca do wy¬ twarzania iloczynów czesciowych dostosowana jest dc równoleglego wytwarzania równoczesnie wszy¬ stkich iloczynów czesciowych potrzebnych do wy¬ znaczania iloczynu jednej liczfoy przez sume -dwóch licsdb przy czym wspomniane iloczyny czesciowe stanowia albo wzajemnie przesuniete wielokrot¬ nosci mnoznej o krotnosciach —1, 0, +1, z któ¬ rych kazda przyporzadkowana jest jednej parze bitów wzietych z obu skladników mnoznika, albo wzajemnie przesuniete wielokrotnosci mnoznej o krotnosciach —2, —1, 0, +1, +2, z których kazda przyporzadkowana jest jednej parze grup dwu- bitowych wzietych z obu skladników mnoznika.
4. Uklad wedlug zastrz. 3, znamienny tym, ze petle utworzone pr*ei zespól przetwarzania (P) i dwa równolegle drugie rejestry (F, H) obejmuja jedna, a mianowicie ostatnia warstwe W sieci przelaczajacych zespolu przetwarzania
5. Uklad cyfrowy do obliczania wartosci zlozo¬ nych wyrazen arytmetycznych, sluzacy tio oblicza¬ nia wartosci wielomianów dowolnego stopnia jed¬ nej i wielu zmiennych, szeregów funkcyjnych, ilo¬ czynów skalarnych i do innych obliczen na danych zwektoryzowanych, wykonywanych na 'liczbach przedstawionych w zapisie binarnym, zawierajacy zestaw rejestrów równoleglych dla zapamietania zarówno operandów wystepujacych w obliczanych wyrazeniach jak i wyników posrednich, cyfrowy zespól przetwarzania równoleglego wspomnianych operandów i wyników posrednich oraz sumator równolegly, znamienny tym, ze struktura zespolu przetwarzania (P) jest dostosowana do równoleg¬ lego wytwarzania równoczesnie wielu iloczynów czesciowych stanowiacych skladniki pelnego iloczy- mi dwóch czynników, z których pierwszy czynnik jest mnozna a drugi czynnik jest mnoznikiem zlo¬ zonym z co najmniej dwóch skladników mnozni¬ ka, przy czym wspomniane iloczyny czesciowe sa tworzone bez wykonywania efektywnego dodawa¬ nia skladników mnoznika, jak równiez jest dosto¬ sowana do zredukowania liczby skladników pelne¬ go iloczynu i innych skladników dodawanych do tego iloczynu do mniejszej (liczby skladników o takiej samej ich lacznej sumie; podczas gdy w sktog zestawu rejestrów (R) wchodza co najmniej dwa równolegle pierwsze rejestry (A, B) pamie¬ tajace skladniki mnoznika, co najmniej dwa rów¬ nolegle drugie rejestry fF% H) pamietajace zredu¬ kowane skladniki przeznaczone do dodania do ilo¬ czynu lub do dodania do innych skladników, rów¬ nolegly regestr mnoznej (C) i/toJb równolegle trze¬ cie rejestry (D» E) pamietajace Skladniki dodawa¬ nia; przy czym zespól przetwarzania {P) ma nie¬ zalezne równolegle wejscia dia wprowadzania mnoznej z rejestru mnoznej (O, skladników mnoz¬ nika z lich rejestrów czonych do dodania do iloczynu lub do innych skladników, z rejestrów (D, E) pamietajacych skladniki dodawania i z rejestrów (F, H) pamieta- ! jacych zredukowane skladniki, jak równiez rów¬ nolegle wyjscia do wyprowadzenia zredukowanych skladników wyjsciowych istanowiacych skladniki wyniku posredniego lulb koncowego; gdzie wyjscia zespolu przetwarzania (P) sa polaczone równolegle ^ z wejsciami wspomnianych równoleglych pierw¬ szych rejestrów (A, B), a wyjscia tych rejestrów (A, B) sa polaczone równolegle z wejsciami prze¬ znaczonymi do wyprowadzania skladników mnoz¬ nika do wspomnianego zespolu przetwarzania (P), tt w celu utworzenia razem co najmniej dwóch równoleglych petli, przez które zredukowane sklad¬ niki otrzymywane na wyjsciach zespolu przetwa¬ rzania (P) sa wprowadzone równoczesnie i rów¬ nolegle jako skladniki posredniego wyniku znów a na wejscia zespolu przetwarzania (P); gdzie rów¬ niej wyjscia zespolu przetwarzania (P) sa pola¬ czone równolegle z wejsciami wspomnianych rów¬ noleglych drugich rejestrów (FM H), a wyjscia tych rejestrów (F, H) sa polaczone równolegle z a* wejsciami zespolu przetwarzania (P) przeznaczo¬ nymi do wrpowadzania skladników dla dodawa¬ nia, w celu utworzenia razem takze co najmniej dwóch równoleglych petli, przez które zreduko¬ wane skladniki otrzymywane na wyjsciach zespo- 3* lu przetwarzania (P) sa wprowadzane równoczes¬ nie i Tównolegle jako skladniki posredniego wy¬ niku znów na wejscia zespolu przetwarzania (P).
6. Uklad wedlug zastrz. 5, znamienny tym, ze zespól przetwarzania (P) ma strukture warstwo- 35 wa i zawiera warstwy (1, 3, 5, 7, 9) sieci przela¬ czajacych rozdzielone przez warstwy (2, 4, 6, 8) rejestrów równoleglych dla umozliwienia w ko¬ lejnych warstwach (1, 3, 5, 7, 9) sieci przelaczaja¬ cych stopniowego potokowego przetwarzania liczb 4» wyprowadzonych do zespolu przetwarzania (P); przy czym jedna warstwa (1) sieci przelaczajacych dostosowana jest do równoleglego przetwarzania mnoznej i skladników mnoznika w iloczyny czes¬ ciowe stanowiace skladniki pelnego iloczynu, a 4& pozostale warstwy (3, 5, 7, 9) sieci przelaczajacych dostosowane sa do stopniowego redukowania licz¬ by skladników do mniejszej liczby skladników o takiej samej ich lacznej sumie: gdzie wspom¬ niane redukujace warstwy (3, 5, 7, 9> sieci prze- 50. laczajacych zlozone sa z koderów 'posiadajacych po p jednobitowych wejsc i po r jednobitowych wyjsc, takich, ze kombinacja sygnalów zero-je- dynkowych na r wyjsciach kodera przedstawia bi¬ narnie zakodowana sume jedynek reprezentowa- 55 nych przez sygnaly zerojedynkowe na p wejsciach kodera, gdzie 3^p^9 i 2^r^4; przy czym po¬ jedyncza warstwa redukujaca zespolu przetwarza¬ nia (P) jest zlozona z 1 do 4 warstw takich ko¬ derów, nie polaczonych imiedzy soba w ramach 60 jednej warstwy koderów, w której pojedynczy szereg koderów nie polaczonych miedzy soba, gdzie kazdy z koderów posiada p wejsc i r wyjsc, redukuje równolegle p skladników do r skladni¬ ków z zachowaniem ich lacznej sumy; podczas ii gdy równolegly sumator (S)> przeznaczony do do-106 470 II dawania zredukowanych w zespole przetwarzania (P) skladników, dolaczony jest albo do wyjsc ze¬ spolu przetwarzania (P), albo do wyjsc rejestrów pamietajacych zredukowane skladniki dodawania, przy czym jest korzystne, gdy sumator posiada strukture warstwowa, o warstwach (11, 13, 15) za¬ wierajacych sieci przelaczajace rozdzielonych war¬ stwami rejestrów (12, 14), dostosowana do poto¬ kowego wykonywania kolejnych dodawan, zsyn¬ chronizowanego z potokowym przetwarzaniem liczb w zespole przetwarzania (P).
7. Uklad wedlug zastrz. 6, znamienny tym, ze wyjscie równoleglego sumatora (S), dostosowane¬ go do potokowego przetwarzania liczb, polaczone jest przez rejestr mnoznej (C) z zespolem prze¬ twarzania (P), w celu utworzenia petli, przez któ¬ ra suma otrzymanych na wyjsciach zespolu prze¬ twarzania (P) zredukowanych skladników wyniku posredniego jest ponownie wyprowadzana na wejs¬ cia zespolu przetwarzania (P) jako mnozna.
8. Uklad wedlug zastrz. 6, znamienny tym, ze wchodzace w sklad zestawu rejestrów (B) równo¬ legle trzecie rejestry tworza 2 do 6 par rejestrów, które sluza do pamietania wprowadzanych z ze¬ spolu przetwarzania (P) 2 do 6 róznych wyników posrednich, kazdy wynik posredni w postaci pary skladników, oraz z których te pary skladników wprowadzane sa ponownie do zespolu przetwa¬ rzania (P) lub do pary równoleglych pierwszych l rejestrów (A, B) pamietajacych skladniki mnozni¬ ka.
9. Uklad wedlug zastrz. 6, znamienny tym, ze wszystkie petle, utworzone przez zespól przetwa¬ rzania (P) i rejestry z zestawu rejestrów (B), if obejmuja jednakowa liczbe k lacznie warstw re¬ jestrów równoleglych i pojedynczych rejestrów równoleglych, przez które kolejno przesylane sa potokowo przetwarzane liczby, dla umozliwienia równoczesnego, niezaleznego obliczania k wyrazen ii arytmetycznych.
10. Uklad wedlug zastrz. 9, znamienny tym, ze równolegly sumator (S) dostosowany do potoko¬ wego wykonywania kolejnych dodawan tworzy wraz z zespolem przetwarzania (P) i rejestrami m zestawu rejestrów (B) petle obejmujaca 2 k lacz¬ nie warstw rejestrów równoleglych i pojedynczych rejestrów równoleglych, przez które kolejno prze¬ sylane sa potokowo przetwarzane liczby, przy czym korzystne jest gdy petla ta obejmuje rejestr mnoznej (C). fig l106 470 fig Z Bltk 375/80 r. 110 egz. A4 Cena zl 45 J
PL1977195731A 1977-02-01 1977-02-01 Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych PL106470B1 (pl)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PL1977195731A PL106470B1 (pl) 1977-02-01 1977-02-01 Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych
FR7801399A FR2379116A1 (fr) 1977-02-01 1978-01-18 Dispositif numerique pour le calcul de la valeur d'expressions arithmetiques complexes
GB2765/78A GB1595381A (en) 1977-02-01 1978-01-24 Digital system for computation of the values of composite arithmetic expressions
DE19782803425 DE2803425A1 (de) 1977-02-01 1978-01-26 Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
US05/873,423 US4156922A (en) 1977-02-01 1978-01-27 Digital system for computation of the values of composite arithmetic expressions
DD78203474A DD134148A5 (de) 1977-02-01 1978-01-30 Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL1977195731A PL106470B1 (pl) 1977-02-01 1977-02-01 Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych

Publications (2)

Publication Number Publication Date
PL195731A1 PL195731A1 (pl) 1978-08-14
PL106470B1 true PL106470B1 (pl) 1979-12-31

Family

ID=19980766

Family Applications (1)

Application Number Title Priority Date Filing Date
PL1977195731A PL106470B1 (pl) 1977-02-01 1977-02-01 Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych

Country Status (6)

Country Link
US (1) US4156922A (pl)
DD (1) DD134148A5 (pl)
DE (1) DE2803425A1 (pl)
FR (1) FR2379116A1 (pl)
GB (1) GB1595381A (pl)
PL (1) PL106470B1 (pl)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6053907B2 (ja) * 1978-01-27 1985-11-27 日本電気株式会社 二項ベクトル乗算回路
EP0218971A3 (de) * 1985-09-30 1990-04-11 Siemens Aktiengesellschaft Arbeitsverfahren zur Lösung der Gleichungen des Typs z = k x1 y1 op x2 y2 op ... op xn ym
JPS6347874A (ja) * 1986-08-16 1988-02-29 Nec Corp 算術演算装置
US5031134A (en) * 1989-05-30 1991-07-09 The University Of Michigan System for evaluating multiple integrals
US5390136A (en) * 1993-06-14 1995-02-14 Motorola, Inc. Artificial neuron and method of using same
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
CA2135857A1 (en) * 1994-01-03 1995-07-04 Shay-Ping Thomas Wang Neural network utilizing logarithmic function and method of using same
US5619664A (en) * 1994-01-04 1997-04-08 Intel Corporation Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms
US5553012A (en) * 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
US5685008A (en) * 1995-03-13 1997-11-04 Motorola, Inc. Computer Processor utilizing logarithmic conversion and method of use thereof
US5644520A (en) * 1995-05-31 1997-07-01 Pan; Shao Wei Accumulator circuit and method of use thereof
US5771391A (en) * 1995-08-28 1998-06-23 Motorola Inc. Computer processor having a pipelined architecture and method of using same
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US6318156B1 (en) * 1999-10-28 2001-11-20 Micro Motion, Inc. Multiphase flow measurement system
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US7844579B2 (en) * 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US8938590B2 (en) * 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3253131A (en) * 1961-06-30 1966-05-24 Ibm Adder
US3115574A (en) * 1961-11-29 1963-12-24 Ibm High-speed multiplier
US3515344A (en) * 1966-08-31 1970-06-02 Ibm Apparatus for accumulating the sum of a plurality of operands
US3761698A (en) * 1972-04-24 1973-09-25 Texas Instruments Inc Combined digital multiplication summation
US3922536A (en) * 1974-05-31 1975-11-25 Rca Corp Multionomial processor system

Also Published As

Publication number Publication date
DE2803425A1 (de) 1978-08-03
US4156922A (en) 1979-05-29
DD134148A5 (de) 1979-02-07
FR2379116A1 (fr) 1978-08-25
GB1595381A (en) 1981-08-12
PL195731A1 (pl) 1978-08-14

Similar Documents

Publication Publication Date Title
PL106470B1 (pl) Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych
KR100336266B1 (ko) 신경 프로세서, 포화 유니트, 계산 유니트 및 가산기 회로
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
JPS62286307A (ja) 多重ステージデジタル信号乗算加算装置
JPH05189471A (ja) バタフライ形演算装置
JP2007234004A (ja) ブース乗算の装置および方法
CN108845828A (zh) 一种协处理器、矩阵运算加速方法及系统
KR940008616B1 (ko) 고속승산기
EP0137386B1 (en) Digital multiplying circuit
Premkumar A formal framework for conversion from binary to residue numbers
US4638449A (en) Multiplier architecture
US5987638A (en) Apparatus and method for computing the result of a viterbi equation in a single cycle
JPH05181896A (ja) 離散コサイン変換処理装置
US4811270A (en) Merged CCD/MOS integrated circuit
US5262975A (en) Serial input multiplier apparatus
JPH01233909A (ja) ディジタル乗算器及びこれを用いたディジタルフィルタ
Wyrzykowski et al. One-dimensional processor arrays for linear algebraic problems
Singh et al. High performance VLSI architecture for wave digital filtering
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
Alia et al. A fast near optimum VLSI implementation of FFT using residue number systems
Lin et al. Constant time inner product and matrix computations on permutation network processors
US3300627A (en) Apparatus for real-time multiplication
JP2864597B2 (ja) ディジタル演算回路
SU1086438A1 (ru) Процессор быстрого преобразовани Фурье
PL107341B1 (pl) Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych