ARYTMETYKA RESZTOWA W CYFROWYM PRZETWARZANIU SYGNAŁÓW Janusz Jabło si Instytut Informatyi i Eletronii, Uniwersytet Zielonogórsi 65-246 Zielona Góra, ul. Podgórna 50 e-mail: J.Jablonsi@iie.uz.zgora.pl STRESZCZENIE Mechanizmy zwi szenia wydajno ci przetwarzania informacji w urz dzeniach cyfrowych s ci gle atualnym tematem prac badawczych w wielu o rodach nauowych. Proponowane rozwi zania opieraj si na aceleracji sprz towej oraz formule divide and conquere. W zgodzie z t formuł jest wyorzystanie resztowej reprezentacji liczb (ang. Residue Number System, RNS) w sprz towej realizacji oblicze. Efetem wyorzystania RNS w DSP (ang. Digital Signal Processing) jest ograniczenie wpływu propagacji przeniesie w operacjach arytmetycznych, zwi szenie stopnia zrównoleglenia operacji i mo e by zwi szenie wydajno ci przetwarzania. Jedna, zapewnienie jednoznacznej reprezentacji wyniów oraz porycia zaresu wymaga rozwi zania szeregu problemów zwi zanych z onstrucj modułów tworz cych baz RNS. Prezentowany materiał stanowi przegl d problemów zwi zanych z onstruowaniem uładów arytmetyi modularnej o cechach umo liwiaj cych automatyzacj zmian zaresu przy zachowaniu mo liwo ci uzysania wzrostu wydajno ci przetwarzania. 1. WPROWADZENIE Przetwarzanie informacji oparte jest na odowaniu, tóre umo liwia precyzyjne przedstawienie danych w postaci cyfr ore lonego alfabetu. Je eli cyframi s liczby to przetwarzanie informacji polega na wyznaczeniu odpowiedzi, b d cej wyniiem przeprowadzonych oblicze. Przez analogi do modelowania matematycznego a w oparciu o gromadzone w postaci liczb informacje oraz odpowiedni i wła ciwy dla danego zjawisa aparat matematyczny mo liwe jest symulacyjne przedstawienie przebiegu wi szo ci przemian fizycznych, chemicznych oraz innych zjawis zachodz cych w otaczaj cym wiecie [3]. Obecnie przetwarzanie informacji realizowane jest przez systemy cyfrowe, przy czym szczególnie w realizacji algorytmów: ompresji danych, ryptografii, filtracji cyfrowej, przetwarzania obrazów wymagana jest du a wydajno obliczeniowa. W szczególno ci teleomuniacja jest przyładem dziedziny, w tórej rozwój zdeterminowany jest przez urz dzenia cyfrowe wymagaj ce du ych mocy obliczeniowych. W ogólnym przypadu wi szo zada DSP mo na slasyfiowa jao splot, orelacja lub transformacja, realizowane jao forma mno enia aumulacyjnego (ang. Multiple and Accumulate, MAC) [4]. Schemat mno enia macierzy wyorzystuj cy MAC jao operacje dominuj ce przedstawia 35
rys. 1. Uwzgl dniaj c model Winograda uładu cyfrowego czas wyonania operacji, równie arytmetycznych, uzale niony jest od rozmiaru argumentów i zwi szenie wydajno ci przetwarzania mo na uzysa przez: ograniczanie rozmiaru argumentów, zrównoleglenie wyonywanych działa oraz implementacj przetwarzania potoowego[1][6]. Uładowe dodawanie ja równie mno enie realizowane jest przez ułady cyfrowe, wi c parametrem maj cym wpływ na czas wyonania operacji jest liczba n pozycji bitowych argumentów [9]. Przy czym dodawanie jest podatne na wyorzystanie mechanizmów zrównoleglenia i dla sumatorów prefisowych przeliczeniowa liczba brame podstawowych wynosi 2log 2 n [7][9]. Natomiast ułady mno ce s mniej podatne na zrównoleglenie a minimalna liczba elementów na cie ce rytycznej wynosi 2 ( n + log n), dla mno enia matrycowego oraz 2n 4 log2 + 3log 2 n 6, dla mno enia równoległego [1]. a) model mno enia macierzy b) schemat uładu realizuj cego MAC m i = n i = 1 f ij * a i X = j F A j M legenda: V, F, A, M - macierze wadratowe X - operator mno enia j i m [i,]=m[i,]+f[i,j]*a[j,] f i,j 8 a j, m i, m i, 20 8 Rys. 1. Model algorytmu wyorzystuj cy schemat mno enia aumulacyjnego MAC Wydajno potoowych realizacji algorytmów DSP, rozumiana jao ilo wygenerowanych danych w czasie zale y znacz co od przepustowo ci i gł boo ci potou [1]. Gł bsza deompozycji operacji dodawania i mno enia w potoowego powoduje srócenie czasu trwania etapu, jedna zwrotne sprz enie danych (wyst puj ce w mno eniu macierzy, rys. 1b powoduje znaczne opó nienia wyniaj ce z wi szego stopnia ompliacji uładów steruj cych potoiem. W efecie nadmiernie rozbudowany uład sterowania stanowi barier w uzysaniu wzrostu wydajno ci [1][6]. 2. ARYTMETYKA RESZTOWA W OBLICZENIACH W systemie resztowym reprezentowane s warto ci całowite a reprezentacj liczby X jest wetor R { r r,..., r } X =, gdzie rx = X = X mod mi. Je eli moduły m i Ν spełniaj x, 1 x2 warune ( m i, m j ) = 1 x l NWD to wetor = { m m,..., } i mi M 1, 2 m l nazywany jest baz systemu 36
l resztowego. Warto W = m i = 1 i nazywana jest zaresem RNS w bazie M. Zares W zapewnia, e dla a dego X < W reprezentacja resztowa R X jest jednoznaczna. Arytmetya resztowa nazywana jest arytmety bez przeniesie, poniewa w RNS operacje { +,, } realizowane s niezale nie na resztach, w poszczególnych anałach resztowych [5][8]. Zatem, w RNS wyni Z operacji Y gdzie r zi xi yi mi z, 1 z2 z l, X reprezentuje wetor R Z reszt { r r,..., r } = r r. Wynia st d, e dla zapewnienia jednoznaczno ci wyniów ( Z < W ) oraz zmniejszenia rozmiaru bitowego argumentów operacji arytmetycznych ( r ) r, xi y i tórymi w RNS s warto ci reszt, wystarczy l = 2 przy operacjach + oraz l =3 przy mno eniu (czytaj odpowiednio: dwa i trzy moduły wzgl dnie pierwsze) [2]. Mo na zauwa y równie, e wyorzystanie RNS i rozszerzenie bazy B o olejne moduły m i wpływa na zmniejszenie rozmiaru bitowego reszt, umo liwiaj c w ten sposób uzysanie wi szej przepustowo ci potou oraz wi szej wydajno ci przetwarzania. Model systemu cyfrowego w/g Głószowa wsazuje, e jednosta realizuj ca obliczenia jest wa nym, lecz tylo jednym z podsystemów przetwarzania danych. Natomiast, nie wszystie operacje wymagane w realizacji algorytmów obliczeniowych oraz sterowania s łatwe do realizacji w RNS. W szczególno ci do operacji trudnych (czasochłonnych) w RNS nale : detecja znau, dzielenie, porównanie warto ci oraz zmiana zaresu [8]. Ta, wi c, aby wyorzysta zalety arytmetyi resztowej w przetwarzaniu, nale ałoby orzysta z dwóch nie zale nych jednoste przetwarzania danych. Jedna, ze wzgl dów eonomicznych rozwi zanie taie nie jest pratyowane. Innym, znajduj cym szereg pratycznych zastosowa, rozwi zaniem jest onwersja wszystich danych bior cych udział w przetwarzaniu do systemu resztowego oraz odwrotna onwersja wyniów. Uwzgl dniaj c powy sze rozwa ania schemat olejno ci etapów dla potou przetwarzania z wyorzystaniem RNS przedstawia rys. 2. onwersja wej ciowa B 2 R 1 1 operacje na resztach r x r y m onwersja wyj ciowa Dane B 2 R r x r y m 2 R 2 B wej ciowe n n Dane wyj ciowe B 2 R l r x r y m t B-2-R t t R-2-B n >> i Rys. 2. Etapy potou z wej ciow i wyj ciow onwersj danych Ze wzgl du na wydajno ci odowania liczb oraz szybo oblicze uzasadnione jest wyorzystanie binarnej reprezentacji liczb [4]. Wówczas, onwersja do RNS polega na przej ciu od reprezentacji binarnej do resztowej (ang. Binary to Residue, B 2 R) natomiast 37 t
onwersja wyniów polega na przej ciu z reprezentacji resztowej do binarnej (ang. Residue to Binary, R 2 B). 3. KONWERSJA I SKALOWANIE ZAKRESU SYSTEMU RESZTOWEGO Konwersja wej ciowa oraz wyj ciowa wymaga zwi szenia gł boo ci potou wprowadzaj c dodatowe opó nienia (rys. 2). Wynia st d, e mo liwe uzysanie zwi szenia wydajno ci przetwarzania w RNS jest uwarunowane czasem zwi zanym z realizacj etapów onwersji, przy czym dla wydajno ci potou orzystnie jest, je eli t B R t t R 2 B 2. Ponadto, najorzystniejsze rezultaty w przyspieszeniu oblicze uzysane zostan, je eli zares W systemu resztowego zostanie dostosowany do rozmiaru wyniów oblicze [2]. W RNS mo liwe s trzy metody post powania w celu uzysania zmiany zaresu: zmiana liczby modułów m i, zmiana ich warto ci lub zmiana liczby i warto ci modułów [2][4][5]. Optymistyczna sala reducji zaresu działa odwrotnie proporcjonalna do liczby modułów jest nieosi galna, równie szybo działa arytmetycznych nie maleje odwrotnie proporcjonalnie do zaresu argumentów [2]. Z tego wzgl du wybór modułów wymaga szczegółowej analizy uwzgl dniaj cej, e zasadniczy wpływ na zło ono i w onsewencji czasochłonno działa ma liczba i warto modułów bazy. Synteza onwersji wyj ciowej najcz ciej oparta jest na Chi sim Twierdzeniu o Resztach (CRT) oraz pami ciach wyorzystanych jao tablice odniesie z wyznaczonymi wcze niej warto ciami odpowiednich współczynniów. Podobne, oparte na pami ciach rozwi zania mo na wyorzysta w realizacji onwersji wej ciowej. Jedna e, rozwi zania taie wymagaj czasochłonnego wyznaczania warto ci współczynniów oraz uatualnienia zawarto ci pami ci a dorazowo przy zmianie zaresu RNS i restarcie lub awarii systemu. Ponadto, dla modułów o liczbie pozycji bitowych > 7, zauwa alne s nieorzystne efety zwi zane z wyładniczo rosn cym zapotrzebowaniem na pami. Zatem, wyorzystanie RNS oraz uładów onwersji wej ciowej i wyj ciowej bazuj cych na tablicach odniesie nie zapewnia wzrostu szybo ci przetwarzania. Szczególnie, je eli cz sto zmieniany jest zares reprezentacji liczb. Uwzgl dniaj c powy sze rozwa ania poszuiwane s metody realizacji onwersji oraz działa modulo oparte na bloach ombinacyjnych o regularnych struturach. Do rozwi za tych mo na zaliczy ułady arytmetyczne ze szczególnym uwzgl dnieniem szybich sumatorów prefisowych oraz matrycowych uładów mno cych. Jedna e, chc c wyorzysta zalety uładów ombinacyjnych nale y umiej tnie wybiera moduły m i bazy B systemu resztowego. Wybór liczby modułów wpływa z jednej strony na mo liwo zrównoleglenia działa, z drugiej strony na zło ono onwersji. Przy nadmiernym zwi szaniu liczby modułów mo na zaobserwowa intensyfiacj dwóch nieorzystnych zjawis. Pierwsze, wynia z niemo liwo ci wyboru du ej liczby wzgl dnie pierwszych modułów o zbli onej warto ci, przez co mo e si oaza, e po doł czeniu olejnego modułu nie nast pi znacz ca reducja rozmiaru najszerszego anału resztowego. Drugi efet, 38
zwi zany jest z procedurami onwersji odwrotnej. Analiza rozwi zania wyniaj cego z CRT prowadzi do spostrze enia, e poszczególne jedyni resztowe s iloczynami tylu liczb ile jest modułów m i, tóre w reprezentacji pozycyjnej s postaci β i ± α, wi c a da z nich ma i warto wyznaczon przez sum wielorotno ci iloczynów pot g β [2]. W efecie, zło ono onwersji odwrotnej ro nie z wadratem liczby modułów. W pratycznych zastosowaniach, z uwagi na problemy z dobraniem du ej liczby wzgl dnie pierwszych modułów o zbli onych warto ciach, wystarczy przeanalizowa systemy RNS wyorzystuj ce 2 do 5 modułów o onstrucji podatnej na zmiany zaresu oraz salowanie uładów bior cych udział w przetwarzaniu. 4. SYNTEZA UKŁADOWA DLA ARYTMETYKI MODULARNEJ Podstawowe działania arytmetyczne to dodawanie oraz mno enie a najszybsze ich uładowe realizacje oparte s odpowiednio; na sumatorach prefisowych[7][9] i potoowej realizacji matrycy mno cej lub równoległym uładzie mno cym [1][6]. W pracy [2] zaproponowano onstruowanie RNS w oparciu o moduły m i = 2 ± α. Opracowano nowe ułady generowania reszt modulo (2 ±1) oraz zaproponowano wyorzystanie szybich sumatorów prefisowych z orecj w uładach generowania reszt, dodawania oraz onwersji odwrotnej. Wyazano mo liwo onstruowania RNS z modułami typu (2 ±3, 2 ±1, 2 ) oraz zbadano ich wła ciwo ci pod tem podatno ci na salowanie i mo liwo ci implementacji taich systemów w struturach FPGA. Ponadto, dla proponowanych modułów opracowano i przedstawiono autorsie metody syntezy onwersji wej ciowej (B 2 R) oraz onwersji wyj ciowej (R 2 B). Dla RNS w bazie {2 1, 2, 2 +1}, opracowano now metod i schematy syntezy onwersji wyj ciowej, zaproponowane rozwi zania uładowe umo liwiaj dynamiczne salowanie zaresu na wszystich etapach przetwarzania (generowanie reszt, dodawanie i mno enie oraz onwersja odwrotna). Proponowane ułady to rozwi zania o najmniejszej liczbie poziomów logicznych na cie ce rytycznej [10]. 5. ZAKO CZENIE Teoretycznie, wyorzystanie RNS o du ej liczbie modułów powoduje zmniejszenie rozmiaru argumentów oblicze i powinno powodowa proporcjonalne zwi szenie wydajno ci przetwarzania. Jedna w pratyce, ze wzgl du na zmiany oraz onwersji pomi dzy systemami reprezentacji liczb, osi gany wzrost wydajno ci jest mniejszy [2][5][8]. Dla analizowanych i implementowanych w FPGA rozwi za, uzysano wynii wsazuj ce 39
mo liwo zwi szenia przepustowo ci potou przetwarzania dla typowych w DSP oblicze od 10 do 30% [2]. Dzi i wyorzystaniu najszybszych rozwi za uładowych mo na przypuszcza, e podobne lub orzystniejsze rezultaty s mo liwe do uzysania równie z wyorzystaniem innych ni FPGA technologii. Jedna e, w onte cie podatno ci uładów arytmetyi resztowej na zmiany zaresu, modelowanie autorsich rozwi za dostosowano do wyorzystania syntezowalnego podzbioru j zya opisu sprz tu VHDL, powoduje to znaczne ułatwienie w implementacji salowalnych uładów arytmetyi modularnej. Szczególnie interesuj ca jest mo liwo reonfigurowania FPGA bez wyorzystania zewn trznych narz dzi CAD, mo liwa do realizacji w zintegrowanych systemach cyfrowych typu FPSLIC (ang. Field Programmable System Level Integrate Circuits). Spodziewane ieruni dalszych bada to wypracowanie metod oraz zaprojetowanie systemu dynamicznej reonfiguracji zasobów logii programowalnej. Reonfiguracja uierunowana b dzie na wyorzystanie arytmetyi resztowej oraz dostosowanie logii programowalnej do bie cego zaresu oblicze i wymaganego czasu realizacji algorytmów obliczeniowych. W tym celu opracowane zastan metody autoonfiguracji zasobów FPGA oraz automatycznej syntezy onwersji dla RNS z modułami typu (2 ±1), (2 ±3) oraz uogólnienie jej dla (2 ±α). Ponadto, wypracowane metody autoonfiguracji zasobów FPGA w zintegrowanych systemach cyfrowych, mog stanowi podstawy do prac zmierzaj cych w ierunu projetowania odpornych na bł dy oraz uszodzenia systemów sprz towo programowych. LITERATURA [1] J. Biernat: Metody i ułady arytmetyi omputerowej, Oficyna Wydawnicza Politechnii Wrocławsiej, Wrocław 2001 [2] J. Jabło si: Seryjne wyonywanie operacji arytmetycznych w struturach reprogramowalnych, rozprawa dotorsa, Politechnia Wrocławsa, Wrocław 2003 [3] Z. Kierzowsi: Maszyny matematyczne i ich zastosowania, Wydawnictwo uczelniane Politechnii Pozna siej, Pozna 1966. [4] B. Pochopie : Arytmetya systemów cyfrowych, Wydawnictwo Politechnii l siej, Gliwice 2000 [5] N.S. Szabo, R.I. Tanaa: Residue arithmetic and its applications to computer technology, McGraw-Hill, New Yor, 1967 [6] W. Stallings: Organizacja i architetura systemu omputerowego, Wydawnictwo Nauowo Techniczne, WNT Warszawa 2000 [7] V. Tchoumatcheno: Modélisation, Architecture et Outils de Synthése pour Additionneurs Rapides, Ph.D thesis, de I Institut National Polytechnique de Grenoble, Grenoble, 1998 [8] Z. Ulman: Resztowe systemy liczbowe z quasi podstaw, Zeszyty Nauowe Politechnii Gda siej, Eletrya Nr 83, Gda s, 1998 [9] R. Zimmerman: Binary Adder Architectures for Cell Based VLSI and their synthesis, Ph.D thesis, Swiss Federal Institute of Technology 1997 40