PL107341B1 - Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych - Google Patents

Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych Download PDF

Info

Publication number
PL107341B1
PL107341B1 PL19089276A PL19089276A PL107341B1 PL 107341 B1 PL107341 B1 PL 107341B1 PL 19089276 A PL19089276 A PL 19089276A PL 19089276 A PL19089276 A PL 19089276A PL 107341 B1 PL107341 B1 PL 107341B1
Authority
PL
Poland
Prior art keywords
parallel
components
registers
processing unit
adder
Prior art date
Application number
PL19089276A
Other languages
English (en)
Other versions
PL190892A1 (pl
Inventor
Stanislaw 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 PL19089276A priority Critical patent/PL107341B1/pl
Publication of PL190892A1 publication Critical patent/PL190892A1/pl
Publication of PL107341B1 publication Critical patent/PL107341B1/pl

Links

Landscapes

  • Complex Calculations (AREA)

Description

Przedmiotem wynalazku jest uklad cyfrowy do obliczania iloczynu skalarnego a1b1+a2b2+ ... +anbn wektorów o n skladowych binarnych a13 a2,..., an i b6, b2,..., bn.Uklad jest przeznaczony do zastosowania w duzych elektronicznych maszynach i systemach cyfrowych oraz 5 wchodzacych w ich sklad bardzo szybkich procesorach przystosowanych specjalnie do obliczen na duzych ma¬ cierzach o wyrazach wielocyfrowych.Znany jest elektroniczny uklad cyfrowy do bardzo szybkiego mnozenia dwóch liczb binarnych, w którym sa 10 do siebie równolegle dodawane równoczesnie wszystkie, przyporzadkowane kolejnym grupom bitów mnoznika, iloczyny czesciowe potrzebne do wyznaczania iloczynu kon¬ cowego.W ukladzie mnozenia liczb 48-bitowych, w którym 15 ' pojedyncze iloczyny czesciowe przyporzadkowane sa pa¬ rom kolejnych bitów mnoznika, dodawane jest równoczesnie 24 takich iloczynów. Zespól cyfrowy wykonujacy to doda¬ wanie zlozony jest z 22 sumatorów z zachowaniem przenie¬ sien (carry save adders) i 1 sumatora z propagacja przenie- 26 sien (carry propagating adder.) Sumatory te sa polaczone w wielowarstwowa kaskade zawierajaca w 7 warstwach kolejno 8,5, 3,2,2,1,1 sumatorów z zachowaniem prze¬ niesien i ósmej warstwie 1 sumator z propagacja przenie¬ sien. Wszystkie te sumatory tworza zespól cyfrowy stano- 21 wiacy jedna laczna kombinacyjna siec przelaczajaca, bez elementów pamietajacych.Czas wykonania dodawania 24 iloczynów czesciowych w takim zespole sumatorów jest suma maksymalnego czasu propagacji sygnalów przez 7 polaczonych w szereg 30 sumatorów jednopozycyjnych i propagacji przeniesien przez 1 sumator okolo 90 pozycyjny. Ten ostatni sumator posiada rozbudowane obwody przeskoków przeniesien (carry skips) dla zminimalizowania maksymalnego czasu propagacji przeniesien.Iloczyny czesciowe, dodawane w omówionym zespole sumatorów, stanowia wzajemnie przesuniete wielokrotnosci mnoznej, przyporzadkowane • parom bitów mnoznika, reprezentujacych liczby calkowite z zakresu od 0 do 3.Dla unikniecia czasochlonnego wyznaczania 3-krotnej mnoznej, wymagajacego dodatkowego dodawania wzajemnie przesunietych mnoznych, omawiany uklad mnozenia za¬ wiera siec przelaczajaca, przeksztalcajaca równolegle mnoznik. Sygnaly wyjsciowe tej sieci przyporzadkowane kolejnym grupom bitów mnoznika, reprezentuja, zamiast liczb 0,1, 2, 3, liczby -2, -1, 0, 1, 2. Dwukrotna mnozna otrzymuje sie w omawianym ukladzie mnozenia przez prze¬ suniecie mnoznej o jeden bit w lewo, a wielokrotnosci ujemne — przez zanegowanie bitów wielokrotnosci do^ datnich i uwzgledn;enie kolekcyjnej jedynki na najmniej znaczacej pozycji binarnej.Uklad mnozenia zawierajacy omówiony zespól suma¬ torów opisany zostal w pracach: C. S. Wallace „A Sugge- stion for a Fast Multiplier", The Institute od Electrical and Electronics Engineers, Transactions on Electronic Computers, tom EC-13, strony 14—17, luty 1964; T. G. Ha- llin, M, J. Flynn „Pipelining of Arithmetic Functions", The Institute of Electrical and Electronics Engineers, Transactions on Electronic Computers, tom EC-21, •trony 880—886, sierpien 1972, J. W. Gawrilow, A N. Pu- 107 341107 341 3 czko "Aritmeticzeskije ustroistwa bystrodiejstwujuszczich elektronnych cifrowych wyczislitielnych maszin", Izda- tielstwo: Sowietskoje radio, Moskwa 1970, strony 133-180, a obwody przeskoków przeniesien w pracy: O. L. MacSor- ley High Speed Arithmetic in Binary Computers, Procee- dings of Institute of Radio Engineers, tom 49, numer 1, 1961, strony 67—91.Znane sa równiez uklady potokowego przetwarzania in¬ formacji (pipeline processing), w których warstwy sieci przelaczajacych przetwarzajace informacje sa rozdzielone od siebie warstwami rejestrów, dla zapewnienia w poszcze¬ gólnych warstwach sieci przelaczajacych stopniowego wykonywania, w tym samym czasie, czesci róznych operacji. _a „.'.* ^Przetwarzanie kclepiych informacji odbywa sie w poszcze¬ gólnych1 warstwach takjch ukladów z jednakowa czestotli¬ woscia zalezna od maksymalnego opóznienia warstwy."Oklady potokowego przetwarzania opisane zostaly w pra¬ cach*-M*. JTTlyiin „Bipelning of Arithmetic Functions", The Institute of Electrical and Electronics Engineers, Transactions on Electronic 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.Nalezy zatem uznac za znany, uklad do obliczania ilo¬ czynu skalarnego, zlozony z opisanego wyzej ukladu mno¬ zenia, podzielonego na niezaleznie dzialajace warstwy, dla zapewnienia potokowego przetwarzania informacji, oraz z dolaczonego na jego wyjsciu sumatora, stanowiacego dodatkowa ostatnia warstwe potokowego przetwarzania, w którym dodawane sa kolejno iloczyny stanowiace sklad¬ niki iloczynu skalarnego. ^ Wada*takiego ukladu, zwlaszcza dla liczb o duzej do¬ kladnosci jest stosunkowo dlugi czas wykonywania dodawa¬ nia, nawet w sumatorach o bardzo krótkich czasach pro¬ pagacji przeniesien. Czas ten jako czas opóznienia jednej z warstw ukladu decyduje o szybkosci potokowego przetwa¬ rzania calego ukladu obliczania iloczynu skalarnego.Zgodnie z wynalazkiem uklad cyfrowy do obliczania iloczynu skalarnego a1b1+a2b2+ +...+anbn wektorów o n skladowych binarnych au a2,..., an i br, ..., bn, jest ukladem, w którym czynniki iloczynów &Jbly a2b2,..., s^bn wprowadzane sa równolegle parami przez dwa re¬ jestry pamietajace czymrki iloczynów do zespolu przetwa¬ rzania, przygotowujacego iloczyny czesciowe stanowiace skladniki tych iloczynów i redukujacego liczbe tych skladni¬ ków z zachowaniem ich sumy, z którego nastepnieotrzymane skladniki przesylane sa do rejestrów równoleglych pamieta¬ jacych zredukowane skladniki oraz do sumatora równolegle¬ go dodajacego te zredukowane skladniki. , Pod pojeciem rejestru równoleglego rozumie sie dowolny zespól cyfrowy, do którego wprowadza sie równoczesnie sygnaly reprezentujace bity jednej liczby binarnej w celu. ich zapamietania i z którego dostarczane sa, przez wystarcza¬ jaco dlugi do wykonania okresloney czynnosci czas, sygnaly reprezentujace równoczesnie wszystkie pamietane bity.Wchodzacy w sklad ukladu iloczynu skalarnego zespól przetwarzania posiada strukture warstwowa, o warstwach zawierajacych sieci przelaczajace, rozdzielonych od siebie warstwami rejestrów równoleglych, dla zapewnienia w posz¬ czególnych warstwach sieci przelaczajacych, stopniowego redukowania w tym samym czasie skladników róznych iloczynów obliczanego iloczynu skalarnego.Ostatnia warstwa sieci przelaczajacych zespolu przetwa¬ rzania posiada wyjscia równolegle stanowiace równoczesnie 4 wejscia rejestrów pamietajacych zredukowane skladniki, oraz wejscia równolegle stanowiace równoczesnie wyjscia tych rejestrów, jak równiez oddzielne i niezalezne wejscia równolegle stanowiace wyjscia przedostatniej warstwy 5 zespolu przetwarzania.Kazde z wymienionych wejsc i wyjsc dostosowane jest do równoleglego wprowadzania lub wyprowadzania sygna¬ lów reprezentujacych bity jednej liczby. Rejestry pamietaja¬ ce zredukowane skladniki i ostatnia warstwa zespolu 10 przetwarzania tworza petle zamknieta o ustalonej czesto¬ tliwosci obiegu informacji, zaleznej od opóznienia wprowa¬ dzanego przez warstwe rejestrów i warstwe sieci przelacza¬ jacych. Czestotliwosc ta równa jest czestotliwosci wprowa¬ dzania par czynników kolejnych iloczynów a^, a2b2, ..., 15 anbn z pamietajacych je rejestrów do zespolu przetwarzania, oraz równa jest czestotliwosci wprowadzania do wszystkich warstw rejestrów w zespole przetwarzania nowych sklad¬ ników otrzymanych w poprzedzajacych je warstwach sieci przelaczajacych tego zespolu, przez co zapewnione 20 jest potokowe przetwarzanie informacji (pipeline proce¬ ssing) w kolejnych warstwach sieci przelaczajacych zes¬ polu przetwarzania.Korzystne jest wyposazenie rejestrów wchodzacych w sklad ukladu iloczynu skalarnego w srodki zapewniajace 25 utrzymanie na ich wyjsciach niezaklóconych sygnalów poprzednich, az do momentu zapamietania nowej zawartosci rejestrów (np. „masterslave registers"). Z równoleglymi wyjsciami ostatniej warstwy zespolu przetwarzania, lub z równoleglymi wyjsciami rejestrów pamietajacych zreduko- 30 wane skladniki, polaczone sa wejscia sumatora równoleglego dodajacego zredukowane skladniki. Wyjscie tego sumatora jest wyjsciem zewnetrznym ukladu obliczania iloczynu skalarnego. Sumator ten dostosowany jest do równoczesnego dodawania równoleglego zredukowanychskladników,których . 35 liczba równa jest liczbie wyjsc równoleglych zespolu przetwarzania i liczbie rejestrów równoleglych pamietaja¬ cych zredukowane skladniki.Korzystne jest realizowanie sumatora w postaci kombina¬ cyjnej sieci przelaczajacej, która w przypadku liczby sklad- 40 ników wiekszej niz 2 zlozona jest z równoleglej sieci reduku¬ jacej te liczbe skladników do 2 skladników z zachowaniem ich sumy, oraz z szybkiego równoleglego sumatora dwusklad¬ nikowego.Pod pojeciem objetego niniejszym zgloszeniem ukladu 45 iloczynu skalarnego 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 modulu konstrukcyjnego. 50 Ukladem wedlug wynalazku jest w szczególnosci uklad iloczynu skalarnego, w którym ostatnia warstwa sieci prze¬ laczajacych zespolu przetwarzania zlozona jest z szeregu nie polaczonych bezposrednio ze soba koderów binarnych posiadajacych po 3 wyjscia jednobitowe i po 5, 6 lub 7 55 wejsc jednobitowyeh. Na wyjsciachtych koderów otrzymuje sie sygnaly reprezentujace zakodowana binarnie liczbe* jedynek reprezentowanych przez sygnaly wprowadzone równolegle na ich wejscia. Pojedynczy szereg takich kode¬ rów stanowiacy ostatnia warstwe zespolu przetwarzania, 60 zapewnia redukcje 5, 6 lub 7 skladników wejsciowych do S skladników wyjscowych o takiej samej sumie. Liczba rejestrów równoleglych pamietajacych zredukowane sklad¬ niki' równa liczbie wyjsc równoleglych ostatniej warstwy zespolu przetwarzania wynosi w tym ukladzie 3. Wyjsciowy" 65 sumator równolegly tego ukladu jest szybkim trójskladniko-107 341 5 wym sumatorem binarnym, stanowiacym kombinacyjna siec przelaczajaca. Siec ta zlozona jest z dwóch czesci. Pier¬ wsza z n;ch zawiera szereg nie polaczonych bezposrednio ze soba jednopozycyjnych sumatorów binarnych, posiada¬ jacych po 3 wejscia i po 2 wyjsc:a jednobitowe. Lacznie redukuja one 3 sklacbrki do 2 skladaków o tej samej sumie. Druga czesc stanowi szybki równolegly dwuskladni¬ kowy sumator binarny.Korzystne jest jesli uklad wedlug wynalazku zawiera zespól przetwarzania o warstwach komb'nacyjnych sieci przelaczajacych, zlozonych z podwójnych warstw sumatorów binarnych jednopozycyjnych, nie polaczonych ze soba w ramach tej samej warstwy sumatorowej. Sumatory te uporzadkowane sa w szeregi, a kazdy taki szereg redukuje bez propagacji przeniesien 3 skladniki do 2 skladników z zachowaniem ich sumy. Korzystne jest jesli lczba re¬ jestrów równoleglych pamietajacych zredukowane skladniki, równa liczbie wyjsc równoleglych ostatniej warstwy zespolu przetwarzania wynosi w» takim ukladzie 2, a wyjsciowy sumator równolegly jest szybkim dwuskladnikowym suma¬ torem binarnym stanowiacym komtynacyjna siec przela¬ czajaca,. - Dla uzyskania maksymalnej czestotliwosc- wprowadzania par czynników kolejnych iloczynów a1b1, a2b2, ..., a,^, dla duzych wartosci n, uklad wedlug wynalazku zawiera zespól przetwarzania o warstwach kombinacyjnych sieci przelaczajacych, zlozonych z sumatorów jednopozycyjnych, nie polaczonych bezposrednio ze soba. Sumatory te upo¬ rzadkowane sa w szeregi, z których kazdy redukuje 3 skladniki do 2 skladników z zachowaniem ich sumy. L czba rejestrów równoleglych pamietajacych zredukowane sklad¬ niki, równa liczbie wyjsc równoleglych ostatniej warstwy zespolu przetwarzania jest w takim ukladzie nie mnie;za niz 4. Wyjsciowy sumator równolegly tego ukladu dodajacy równoczesnie nie mniej n z 4 skladniki binarne, stanowi -kombinacyjna siec przelaczajaca. Siec ta jest zlozona z co najmniej 2 warstw nie polaczonych ze soba w ramach jednej warstwy jednopozyc/Jnych sumatorów binarnych, oraz z szybkiego równoleglego dwuskladnikowego sumatora binarnego.Dla zwiekszenia szybkosci wykonywania oblczen przez ich zrównoleglenie, jeden uklad wedlug wynalazku laczy sie z innymi ukladami obi czania iloczynu skalarnego o takiej samej lub podobnej strukturze. Wszystke te uklady obliczania iloczynu skalarnego polaczone sa ze soba w ten sposób, ze posiadaja wspólny wieloskladnikowy równolegly sumator wyjsciowy o jednym wyjscu równoleglym. Av Dla uzyskania maksymalnej szybkosci obliczen iloczynu skalarnego a1b1+a2b2+ ...3 + anbn dla bardzo wielkich wartoscin,jeden ukladwedlug wynalazku laczy sie z innymi podobnymi ukladami w taki sposób, ze równolegle wyjscia zespolów przetwarzania, nalezacych do poszczególnych ukladów obliczania iloczynu skalarnego, polaczone sa 2 oddzielnymi równoleglymi wejsciami wieloskladnikowego sumatora wyjsciowego. Sumator ten dodaje równolegle zredukowane skladniki otrzymane równoczesnie w poszcze¬ gólnych ukladach obliczania iloczynu skalarnego.Dla równoleglego obliczania w tym samym czasie war¬ tosci wielu róznych iloczynów skalarnych, jeden uklad wedlug wynalazku laczy sie z innymi podobnymi ukladami w taki sposób, ze równolegle wyjscia zespolów przetwa¬ rzania, nalezacych do poszczególnych ukladów obliczania iloczynu skalarnego, laczy sie ze wspólnymi dla wszystkich tych ukladów równpleglymi^atjsciami jednego wielosklad¬ nikowego sumatora .wyjsciowego. Sumator ten dodaje 6 równolegle, w róznych odcinkach czasu zredukowane skladniki róznych iloczynów skalarnych, otrzymane w po¬ szczególnych ukladachobliczaniailoczynu skalarnego.Uklad cyfrowy do obliczania iloczynu skalarnego, wedlug 5 niniejszego zgloszenia, dziala w sposób nizej opisany.Wprowadzenie par czynników kolejnych iloczynów a^, a2b2, ..., anbn do dwóch rejestrów równoleglych, a z nich do zespolu przetwarzania i stopniowe ich przetwarzanie w kolejnych warstwach sieci przelaczajacych tego zespolu 10 odbywa sie synchronicznie z ustalona czestotliwoscia.Czestotliwosc ta dostosowana jest do czasu obiegu informa¬ cji w petli zamknietej utworzonej przez rejestry pamietajace zredukowane skladniki i ostatnia warstwe sieci przelacza¬ jacych zespolu przetwarzania. Czas ten decyduje równiez 15 o liczbie warstw sieci przelaczajacych, na które jest podzie¬ lony zespól przetwarzania: W kolejnych warstwach sieci przelaczajacych zespolu przetwarzania nastepuje kolejno dla kazdego z iloczynów aib13 a2b2, ..., anbn przygotowanie iloczynów czesciowychv 20 stanowiacych jego skladniki i stopniowe redukowanie liczby skladników z zachowaniem ich sumy. Dzialanie ostatniej warstwy sieci przelaczajacych zespolu przetwa¬ rzania rózni s:e od poprzedzajacych ja warstw tego zespolu tym, ze lacznie ze skladnikami kolejnego iloczynu z poprzed- 25 niej warstwy redukuje ona równiez skladniki z rejestrów pamietajacych zredukowane skladniki, których suma równa jest sumie wszystkich wczesniej wprowadzonych kolejnych iloczynów. Po zredukowaniu, przez ostatnia warstwe zespolu ptrzetwarzana, skladników ostatniego iloczynu 30 a^n wraz ze skladnikami z rejestrów pamietajacych zredukowane skladnik!, których suma równa jest wówczas sumie a1b1+a2b2+ ... +an-1bn-l, otrzymane na wyjsciach ostatniej warstwy zespolu przetwarzania skladniki dodaje si£ w wyjsc owym sumatorze równoleglym otrzymujac 35 w wyniku wartosc iloczynu skalarnego a^H^b^.. .+ +anbn- Podstawowa zaleta cyfrowego ukladu do obliczania iloczynu skalarnego, stanowiacego przedmiot wynalazku, jest bardzo duza jego szybkosc dzialania, uzyskana przez 40 zastosowanie potokowego przetwarzania informacji tylko w poczatkowej i srodkowej fazie obliczaTria kolejnych iloczynów stanowiacych skladniki iloczynu skalarnego, to znaczy bez obi czan'a do konca ich wartosci. Wyelimino¬ wano dzeki temu w ukladzie czasochlonny proces propaga- 45 cji przeniesien przy obliczaniu kolejnych iloczynów. Obli¬ czenie iloczynu skalarnego wektorów o n skladowych wymaga mianowicie w omawianym ukladz:e tylko jedno¬ krotnego procesu propagacji przeniesien wystepujacego na koncu obliczenia, przy dodawaniu dwóch skladników 50 wyniku.Wynalazek zostanie blizej wyjasniony w przykladzie wykonania pokazanym na rysunku przedstawiajacym uklad w schemacie blokowym. Zgodnie z rysunkiem uklad zawiera dwa rejestry równolegle, A, B pamietajace czynniki- 55 kolejnych iloczynów, trzy rejestry równolegle C, D, E pa¬ mietajace zredukowane skladniki, zespól przetwarzania P oraz trójskladnikowy sumator równolegly S. Zespól prze¬ twarzania P zawiera cztery warstwy 1, 3, 5, 7 sieci przela¬ czajacych rozdzielone trzema warstwami 2, 4, 6 rejestrów 69 równoleglych. Trójskladnikowy sumator S sklada sie z warstwy redukujacej 8 i szybkiego dwuskladnikowego sumatora równoleglego 9.Kazde z wejsc i wyjsc wymienionych rejestrów i.zes¬ polów cyfrowych dostosowane jest do równoleglego wpro- 55 wadzania lub wyprowa4zania wszystkich bitów jednej107 541 7 liczby binarnej. Wprowadzone do ukladu czynniki sa licz¬ bami 32-bitowymi. Pokazane ni rysunku wejscia wA, wB rejestrów A, B wyprowadzone sa jia zewnatrz ukladu obliczania iloczynu skalarnego, a wyjscia zA, zB tych rejestrów polaczone sa z dwoma wejsciami wxP, w2P warstwy 1 zespolu P.Trzywejsca w3P, w4P, w5 P warstwy 7 zespolu P polaczone sa natomiast z wyjsciami zC, zD,. zE rejestrów C, D, E, których wejscia wC, wD, wE stanowia równoczesnie Wyjscia z XP, z2P, z3P tej warstwy.Wyjscia z XP z2P, z3P polaczone sa równiez z wejsciami w1S, w2S, w3S sumatora S, którego wyjscie zS wyprowadzo¬ ne jest na zewnatrz ukladu obliczania iloczynu skalarnego..Pary czynników kolejnych iloczynów a^, a2b2,..., anbn wprowadzane sa równolegle, z ustalona czestotliwoscia, przez rejestry A, B, do warstwy 1 zespolu P.W zespole P nastepuje stopniowe ich przetwarzanie i przesylanie z taka sama czestotliwoscia do ;kokjnych jego warstw. Warstwa 1 zespolu P zlozona jest z prostych sieci przelaczajacych, na wyjsciach których otrzymuje sie równolegle, równoczesnie wszystkie bity 16 iloczynów czesciowych, stanowiacych skladniki jednego z iloczynów a^, kolejno dla i =l, 2, ..., n.Poszczególneiloczyny czesciowe iloczynu ajbj przyporzad- % kowane sa parom pozycji binarnych mnoznika bj i stanowia wzajemnie przesuniete wielokrotnosci mnoznej ai, o krot¬ nosciach —2, —1,0, +1, H-2. Warstwa 3 zawiera 2 szeregi, a warstwy 5 i 7 po 1 szeregu, niepolaczonych ze soba koderów posiadajacych po 7 wejsc jednobitcrwych i po 3 wyjscia jednobitowe. Sygnaly wyjsciowe kazdego z tych koderów reprezentuja zakodowana binarnie liczbe jedynko- wych sygnalów wejsciowych. Pojedynczy szereg takich niepolaczonych ze soba koderów redukuje 7 skladników wejsciowych do 3 skladników wyjsciowych o takiej samej sumie. Lacznie warstwa 3 redukuje z 16 do 8 skladników, warstwa 5 — z 8 do 4, a warstwa 7 — z 7 do 3 skladników.Warstwy 2, 4, 6 zespolu P zawieraja kolejno 16, 8,4 rejestry równolegle pamietajace stopniowo redukowane skladniki.Zredukowane w warstwie 5 i pamietane w czterech rejestrach warstwy 6 cztery skladniki kolejnego iloczynu aibi sa nastepnie redukowane w warstwie 7 lacznie z trzema skladnikami z rejestrów C, D, E, których suma równa jest wtedy a^+a^^... +ai-1bi-1.W wyniku redukcji na wyjsciach ZjP, z2P, z3P warstwy 7 zespolu P otrzymuje sie trzy skladniki o sumie równej a1b1+a2b2+... +ajbi, które wprowadzane sa nastepnie do rejestrów C, D, E. W rejestrach C, D, E pamietane sa zatem trzy zredukowane skladniki, które w szczególnosci sa skladnikami zerowymi do czasu gdy w rejestrach warstwy • 6 zespolu P zapamietane sa skladniki iloczynu a^ oraz sa skladnikami sumy a^+a^H-... +^n-^Tr\y g^y w rejes¬ trach warstwy 6 parni etane sa skladniki iloczynu anbn. Po zredukowaniu przez warstwe 7 pamietanych w warstwie 6 czterech skladn;ków iloczynu anbn wraz z trzema pamie¬ tanymi w rejestrach C, D, E skladnikami sumy a1b1+a2b2+ +... H-an-^bn-u otrzymuje sie na wyjsciach zxP, z2P, z3P warstwy 7 trzy skladniki iloczynu skalarnego a^+a2b2+ 4-... +anbn. Skladniki te wprowadzone sa nastepnie na równolegle wejscia wxS, w2W, w3S/ trójskladnikowego sumatora S, na którego równoleglym wyjsciu zS otrzymuje sie wynik a1b1+a2b2+... -l-anbn. Sumator S jest kombina¬ cyjna,siecia przelaczajaca, zlozona z warstwy redukujacej 8, stanowiacej szereg niepolaczonych ze soba sumatorów jednopozycyjnych redukujacy równolegle 3 skladniki do 2 skladników o tej samej sumie, oraz z szybkiego dwusklad¬ nikowego sumatora równoleglego. 9. Czas dzialania trój- 8 skladnikowego sumatora S nie jest ogran'czony czasem obiegu informacji w petli zamknietej utworzonej przez rejestry C, D, E i warstwe 7 zespolu P. 5 Zastrzezenia patentowe 1. Uklad cyfrowy do obliczania iloczynu skalarnego a1b1+a2b2+ ... +anbn wektorów o n skladowych binarnych a13 a2,...,an i b^,... bn, które jako czynniki iloczynów io a^!, a2b2,.. .,anbn, wprowadzane sa równolegle parami przez dwa rejestry panretajace czynniki iloczynów do zespo¬ lu przetwarzania, przygotowujacego iloczyny czesciowe stanowiace skladniki tych iloczynów i redukujacego liczbe tych skladników z zachowaniem ich sumy, z którego nas- 15 tepn'e otrzymane skladniki przesylane sa do rejestrów równoleglych pamietajacych zredukowana skladniki^ oraz do sumatora równoleglego dodajacego zredukowane sklad¬ niki, znamienny tym, ze zespól przetwarzania (P) po¬ siada strukture warstwowa o warstwach (1, 3, 5, 7) zaV 20 wierajacych sieci przelaczajace, rozdzielonych od siebie warstwami (2,4,6) rejestrów równoleglych, dla zapewnienia w poszczególnych warstwach (1, 3, 5, 7) sieci przelaczaja¬ cych stopniowego redukow-nia w tym samym czasie skladników róznych iloczynów obliczanego iloczynu ska- 25 larn^go, przy czym ostatnia z warstw (7) sieci przelaczaja¬ cych zespolu przetwarzania (P) po-iiada wyjscia równolegle (zxP, z2P, z3P) stanowiace równoczesnie wejscia (wC, wD, wE) rejestrów (C, D, E) pamietajacych zredukowane skladniki, oraz wejscia równolegle (w3P, w4P, w5P) 3S st nowiace równoczesnie wyjscia (zC, zD, zE) tych rejestrów, tak ze rejestry te (C, D, E) i ostatnia warstwa (7) zespolu przetwarzania (P) tworza petle zamknieta o ustalo¬ nej czestotliwosci obiegu informacji, równej czestotliwosci wprowadzania par czynników kolejnych iloczynów a^, 35 a2b2,... ,anbn zpanretajacych je rejestrów (A, B) do zespolu przetwarzania (P), oraz równej czestotliwosci wprowadzania do wszystkich warstw (2, 4, 6) rejestrów w zespole przetwa¬ rzania (P) nowych skladników otrzymanych w poprzedzaja¬ cych je warstwach (1, 3, 5) sieci przelaczajacych tego 40 zespolu (P), natomiast sumator równolegly (S) dodajacy zredukowana skladniki posiada wejscia równolegle (w^, w2S, w3S) polaczone z wyjsciami (zj*, z2P,z3P) ostatniej warstwy (7) zespolu przetwarzania (P), lub z wyjsciami (zC, zD, zE) rejestrów (C, D, E) pamietajacych zreduko- 45 wan^ skladniki, oraz wyjscie równolegle (zS), stanowiace wyjscie zewnetrzne ukladu obliczania iloczynu skalarnego. 2. Uklad wedlug zastrz. 1, znamienny tym, ze ostatnia warstwa (7) sieci przelaczajacych zespolu przetwarzania (P) zlozona jest "z szeregu koderów binarnych, posiadajacych so po 3 wyjscia jednobitowe i po 5,6 lub 7 wejsc jednobitowych dla zredukowania 5, 6 lub 7 skladników wejsciowych do 3 skladników wyjsciowych o takiej samej sumie, przy czym liczba rejestrów równoleglych (C, D, E) pamietajacych zredukowane skladnki, równa liczbie wyjsc równoleglych 55 (ztP, ZjP, z3P) ostatniej warstwy (7) zespolu przetwarzania (P) wynosi 3, a*wyjsciowy sumator równolegly jest szyb¬ kim trójskladnikowym sumatorem bnarnym stanowiacym kombinacyjna siec przelaczajaca, zlozona z szeregu niepola¬ czonych bezposrednio ze soba jednopozycyjnych sumatorów ot binarnych, redukujacych lacznie 3 skladniki do 2 skladników o tej samej sumie, oraz z szybkiego równoleglego dwusklad¬ nikowego sumatora binarnego. 3. Uklad wedlug zastrz. 1, znamienny tym, ze zespól przetwarzania zawiera warstwy kombinacyjnych sieci prze- 15 laczajacych zlozone z podwójnych warstw swoatosów107 341 10 jednopozycyjnych uporzadkowanych w szeregi, gdzie kazdy taki szereg redukuje bez propagacji przeniesien 3 skladniki do 2 skladników z zachowaniem ich sumy, przy czym liczba rejestrów równoleglych pamietajacych zreduko¬ wane skladniki równa liczbie wyjsc równoleglych ostatniej warstwy zespolu przetwarzania wynosi 2, a wyjsciowy sumator równolegly fest szybkim dwuskladnikowym su¬ matorem binarnym stanowiacym równiez kombinacyjna siec przelaczajaca. 4. Uklad wedlug zastrz. 1, znamienny tym, ze zespól przetwarzania zawiera warstwy kombinacyjnych sieci prze¬ laczajacych zlozone z niepolaczonych ze soba sumatorów jednopozycyjnych uporzadkowanych w szeregi, z których kazdy redukuje 3 skladniki do 2 skladników z zachowaniem ich sumy, przy czym liczba rejestrów równoleglych pamie¬ tajacych zredukowane skladniki równa liczbie wyjsc równo¬ leglych ostatniej warstwy zespolu przetwarzania jest nie mniejsza niz 4, a wyjsciowy sumator równolegly dodajacy równoczesnie nie mniej niz 4 skladniki binarne jestkombina¬ cyjna sieci przelaczajaca zlozona z co najmniej 2 warstw nie polaczonych ze soba w ramach jednej warstwy jednopo¬ zycyjnych sumatorów binarnych, oraz z szybkiego równoleg¬ lego dwuskladnikowego sumatora binarnego. 10 15 20 5. Ukladwedlug zastrz. 1, znamienny tym, ze polaczony jest z innymi ukladami obliczania iloczynu skalarnego, o takiej samej lub podobnej strukturze, przy czym wszystkie te uklady obliczania iloczynu skalarnego posiadaja wspólny wieloskladnikowy równolegly sumator wyjsciowy, o jednym wyjsciu równoleglym. 6. Uklad wedlug zastrz. 5, znamienny tym, ze równole¬ gle wyjscia zespolów przetwarzania, nalezacych do poszcze- gólnych ukladów obliczania iloczynu skalarnego, polaczone sa z oddzielnymi równoleglymi wejsciami wieloskladniko¬ wego sumatora wyjsciowego, dodajacego równolegle zre¬ dukowane skladniki, otrzymane równoczesnie w poszcze¬ gólnych ukladach obliczania iloczynu skalarnego. 7. Uklad wedlug zastrz. 5, znamienny tym, ze równole¬ gle wyjscia zespolów przetwarzania, nalezacych do po¬ szczególnych ukladów obliczajacych w tym samym czasie wartosci róznych iloczynów skalarnych, polaczone sa z wspólnymi dla wszystkich tych ukladów równoleglymi wejsciami jednego wieloskladnikowego sumatora wyjscio¬ wego, dodajacego w róznych odcinkach czasu .zredukowane skladniki róznych iloczynów skalarnych, otrzymane w po¬ szczególnych ukladach obliczaniailoczynuskalarnego.107 341 ' r*v/4 1 A < zA fWzP i \y*B B | ' 1W2 P LZG £-d 3, z. 266/1400/80, 110+20 egi.Cena 45 zl PL

Claims (7)

  1. Zastrzezenia patentowe 1. Uklad cyfrowy do obliczania iloczynu skalarnego a1b1+a2b2+ ... +anbn wektorów o n skladowych binarnych a13 a2,...,an i b^,... bn, które jako czynniki iloczynów io a^!, a2b2,.. .,anbn, wprowadzane sa równolegle parami przez dwa rejestry panretajace czynniki iloczynów do zespo¬ lu przetwarzania, przygotowujacego iloczyny czesciowe stanowiace skladniki tych iloczynów i redukujacego liczbe tych skladników z zachowaniem ich sumy, z którego nas- 15 tepn'e otrzymane skladniki przesylane sa do rejestrów równoleglych pamietajacych zredukowana skladniki^ oraz do sumatora równoleglego dodajacego zredukowane sklad¬ niki, znamienny tym, ze zespól przetwarzania (P) po¬ siada strukture warstwowa o warstwach (1, 3, 5, 7) zaV 20 wierajacych sieci przelaczajace, rozdzielonych od siebie warstwami (2,4,6) rejestrów równoleglych, dla zapewnienia w poszczególnych warstwach (1, 3, 5, 7) sieci przelaczaja¬ cych stopniowego redukow-nia w tym samym czasie skladników róznych iloczynów obliczanego iloczynu ska- 25 larn^go, przy czym ostatnia z warstw (7) sieci przelaczaja¬ cych zespolu przetwarzania (P) po-iiada wyjscia równolegle (zxP, z2P, z3P) stanowiace równoczesnie wejscia (wC, wD, wE) rejestrów (C, D, E) pamietajacych zredukowane skladniki, oraz wejscia równolegle (w3P, w4P, w5P) 3S st nowiace równoczesnie wyjscia (zC, zD, zE) tych rejestrów, tak ze rejestry te (C, D, E) i ostatnia warstwa (7) zespolu przetwarzania (P) tworza petle zamknieta o ustalo¬ nej czestotliwosci obiegu informacji, równej czestotliwosci wprowadzania par czynników kolejnych iloczynów a^, 35 a2b2,... ,anbn zpanretajacych je rejestrów (A, B) do zespolu przetwarzania (P), oraz równej czestotliwosci wprowadzania do wszystkich warstw (2, 4, 6) rejestrów w zespole przetwa¬ rzania (P) nowych skladników otrzymanych w poprzedzaja¬ cych je warstwach (1, 3, 5) sieci przelaczajacych tego 40 zespolu (P), natomiast sumator równolegly (S) dodajacy zredukowana skladniki posiada wejscia równolegle (w^, w2S, w3S) polaczone z wyjsciami (zj*, z2P,z3P) ostatniej warstwy (7) zespolu przetwarzania (P), lub z wyjsciami (zC, zD, zE) rejestrów (C, D, E) pamietajacych zreduko- 45 wan^ skladniki, oraz wyjscie równolegle (zS), stanowiace wyjscie zewnetrzne ukladu obliczania iloczynu skalarnego.
  2. 2. Uklad wedlug zastrz. 1, znamienny tym, ze ostatnia warstwa (7) sieci przelaczajacych zespolu przetwarzania (P) zlozona jest "z szeregu koderów binarnych, posiadajacych so po 3 wyjscia jednobitowe i po 5,6 lub 7 wejsc jednobitowych dla zredukowania 5, 6 lub 7 skladników wejsciowych do 3 skladników wyjsciowych o takiej samej sumie, przy czym liczba rejestrów równoleglych (C, D, E) pamietajacych zredukowane skladnki, równa liczbie wyjsc równoleglych 55 (ztP, ZjP, z3P) ostatniej warstwy (7) zespolu przetwarzania (P) wynosi 3, a*wyjsciowy sumator równolegly jest szyb¬ kim trójskladnikowym sumatorem bnarnym stanowiacym kombinacyjna siec przelaczajaca, zlozona z szeregu niepola¬ czonych bezposrednio ze soba jednopozycyjnych sumatorów ot binarnych, redukujacych lacznie 3 skladniki do 2 skladników o tej samej sumie, oraz z szybkiego równoleglego dwusklad¬ nikowego sumatora binarnego.
  3. 3. Uklad wedlug zastrz. 1, znamienny tym, ze zespól przetwarzania zawiera warstwy kombinacyjnych sieci prze- 15 laczajacych zlozone z podwójnych warstw swoatosów107 341 10 jednopozycyjnych uporzadkowanych w szeregi, gdzie kazdy taki szereg redukuje bez propagacji przeniesien 3 skladniki do 2 skladników z zachowaniem ich sumy, przy czym liczba rejestrów równoleglych pamietajacych zreduko¬ wane skladniki równa liczbie wyjsc równoleglych ostatniej warstwy zespolu przetwarzania wynosi 2, a wyjsciowy sumator równolegly fest szybkim dwuskladnikowym su¬ matorem binarnym stanowiacym równiez kombinacyjna siec przelaczajaca.
  4. 4. Uklad wedlug zastrz. 1, znamienny tym, ze zespól przetwarzania zawiera warstwy kombinacyjnych sieci prze¬ laczajacych zlozone z niepolaczonych ze soba sumatorów jednopozycyjnych uporzadkowanych w szeregi, z których kazdy redukuje 3 skladniki do 2 skladników z zachowaniem ich sumy, przy czym liczba rejestrów równoleglych pamie¬ tajacych zredukowane skladniki równa liczbie wyjsc równo¬ leglych ostatniej warstwy zespolu przetwarzania jest nie mniejsza niz 4, a wyjsciowy sumator równolegly dodajacy równoczesnie nie mniej niz 4 skladniki binarne jestkombina¬ cyjna sieci przelaczajaca zlozona z co najmniej 2 warstw nie polaczonych ze soba w ramach jednej warstwy jednopo¬ zycyjnych sumatorów binarnych, oraz z szybkiego równoleg¬ lego dwuskladnikowego sumatora binarnego. 10 15 20
  5. 5. Ukladwedlug zastrz. 1, znamienny tym, ze polaczony jest z innymi ukladami obliczania iloczynu skalarnego, o takiej samej lub podobnej strukturze, przy czym wszystkie te uklady obliczania iloczynu skalarnego posiadaja wspólny wieloskladnikowy równolegly sumator wyjsciowy, o jednym wyjsciu równoleglym.
  6. 6. Uklad wedlug zastrz. 5, znamienny tym, ze równole¬ gle wyjscia zespolów przetwarzania, nalezacych do poszcze- gólnych ukladów obliczania iloczynu skalarnego, polaczone sa z oddzielnymi równoleglymi wejsciami wieloskladniko¬ wego sumatora wyjsciowego, dodajacego równolegle zre¬ dukowane skladniki, otrzymane równoczesnie w poszcze¬ gólnych ukladach obliczania iloczynu skalarnego.
  7. 7. Uklad wedlug zastrz. 5, znamienny tym, ze równole¬ gle wyjscia zespolów przetwarzania, nalezacych do po¬ szczególnych ukladów obliczajacych w tym samym czasie wartosci róznych iloczynów skalarnych, polaczone sa z wspólnymi dla wszystkich tych ukladów równoleglymi wejsciami jednego wieloskladnikowego sumatora wyjscio¬ wego, dodajacego w róznych odcinkach czasu .zredukowane skladniki róznych iloczynów skalarnych, otrzymane w po¬ szczególnych ukladach obliczaniailoczynuskalarnego.107 341 ' r*v/4 1 A < zA fWzP i \y*B B | ' 1W2 P LZG £-d 3, z. 266/1400/80, 110+20 egi. Cena 45 zl PL
PL19089276A 1976-07-01 1976-07-01 Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych PL107341B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL19089276A PL107341B1 (pl) 1976-07-01 1976-07-01 Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL19089276A PL107341B1 (pl) 1976-07-01 1976-07-01 Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych

Publications (2)

Publication Number Publication Date
PL190892A1 PL190892A1 (pl) 1978-01-16
PL107341B1 true PL107341B1 (pl) 1980-02-29

Family

ID=19977614

Family Applications (1)

Application Number Title Priority Date Filing Date
PL19089276A PL107341B1 (pl) 1976-07-01 1976-07-01 Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych

Country Status (1)

Country Link
PL (1) PL107341B1 (pl)

Also Published As

Publication number Publication date
PL190892A1 (pl) 1978-01-16

Similar Documents

Publication Publication Date Title
CN110851779B (zh) 用于稀疏矩阵运算的脉动阵列架构
PL106470B1 (pl) Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych
US7171535B2 (en) Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
US4920480A (en) Digital signal processor
US4996661A (en) Single chip complex floating point numeric processor
CN111353126A (zh) 分块矩阵乘法运算系统
US4592005A (en) Masked arithmetic logic unit
KR20130090147A (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
JPH03251947A (ja) ニューロチップおよびそのチップを用いたニューロコンピュータ
JPS6044696B2 (ja) 浮動小数点デ−タ処理装置
GB2178572A (en) A processor array
JPS62286307A (ja) 多重ステージデジタル信号乗算加算装置
EP4318275A1 (en) Matrix multiplier and method for controlling matrix multiplier
IE56104B1 (en) Discrete cosine transform calculation processor
JPH064507A (ja) ニューラルネット
US5126964A (en) High performance bit-sliced multiplier circuit
FI88548B (fi) Cellstrukturerad digital multiplicerare med halvsystolisk uppbyggnad
US5692207A (en) Digital signal processing system with dual memory structures for performing simplex operations in parallel
Mehlhorn et al. Area—Time optimal VLSI integer multiplier with minimum computation time
PL107341B1 (pl) Uklad cyfrowy do obliczania iloczynu skalarnego wektorow o skladowych binarnych
US4545028A (en) Partial product accumulation in high performance multipliers
Torralba et al. Two digital circuits for a fully parallel stochastic neural network
JPS63501828A (ja) マルチゾ−ンプロセツサ
Hong et al. Design and implementation of a high-speed matrix multiplier based on word-width decomposition
US4941121A (en) Apparatus for high performance multiplication