Den nya minnesadresseringstilldelningen ger samtidig tillgång till alla data som behövs för fjärilsberäkningar. Fördelen med detta memory addressing system är att det minskar fördröjningen av adressgenerering nästan hälften jämfört med befintliga. Många höghastighets FFT-processorer har erhållits genom att implementera den snabba Fourier transform i rörledning digital hårdvara med en fjäril beräkningsenhet, två-port dataminne, ROM för lagring av twiddle faktorer, och minnesadress controller integrerad på ett chip. Det är möjligt att använda en strategi på plats som lagrar fjärilsutgångar på de minnesplatser som används av ingångarna till samma fjäril. Strategin på plats kräver bara ett minimum av minne. Av denna anledning, endast på plats radix-2 decimering-i-tid version av den snabba Fourier transform beaktas här. Om fjärilsenheten har parallella ingångar och utgångar, då de två fjärilsingångarna kommer att nås i minnet, och två fjärilsutgångar kommer att skrivas tillbaka till samma minne i varje cykel. För att undvika denna minneshals fick man den 23 maj 1997 i tvåportsminnesmodulen Manuscript, som reviderades den 22 juli 1998. Detta arbete stöddes av National Key Project of Fundamental Research, PR. Det är Kina. Den biträdande redaktören som samordnade granskningen av detta dokument och godkände det för publicering var dr Elias S. Manolakos. Författaren var med Centre for High Performance Computing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing, P. R. China. Han är nu vid institutionen för elektroteknik, Linköpings universitet, Linköping. Utgivare Postidentifierare S 1053-587X(99)00736-9. 1053-587X/99$10.00 © 1999 IEEE 908 IEEE TRANSAKTIONER PÅ SIGNAL BEHANDLING, VOL. 47, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, jag, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, 3, MARS 1999 är alltid uppdelad i två separata banker så att två datavärden kan läsas och två datavärden skrivas på varje minnescykel. Pease [4] konstaterade att adresserna till de två inflödena skiljer sig åt i fråga om paritet. Det är möjligt att dela upp minnet i två banker: en bank med adressparitet även och den andra med paritet udda. På grundval av denna iakttagelse föreslog Cohen en förenklad kontrolllogik för radix-2 FFT-processorer. Johnson [2] arrangerade minnesmodulen i sin radix-r FFT-processor på ett liknande sätt. Demerit av deras strategier är att adressparitet bör beräknas innan tillgång till minne och fördröjningen av paritetsberäkning är stor. Sinha [5] presenterade ett intressant sätt att närma sig minnesuppdraget. Metoden använder den välkända strukturen för kontroll av trippelslingor. Därför är adressgenereringen i deras strategi komplicerad, och förseningen är stor. Bearbetningshastigheten eller genomströmningen hos FFT-processorn domineras av pipelinecykeln eller klockfrekvensen. Nackdelarna med befintliga metoder [1] [5] är att deras hanteringsförseningar är nära de som orsakas av en carry lookahead adder. Detta problem kommer att begränsa klockfrekvensen för fjärilsenhet för stora transformer. Syftet med vårt arbete är att förkorta fördröjningen av adressgenereringen, vilket är till hjälp för att öka klockfrekvensen för FFT-processorer. Därför gör vårt arbete det möjligt att förbättra FFT-processorernas prestanda. Den diskreta snabba Fourier-transformeringen av N-punkten definieras av var W mk N = e 0j(2k=N) ; och k = 0; 1; 1 1 1 ; N 0 1: Radix-2 FFT är ett effektivt sätt att beräkna en N-punkt DFT, som visas i bild. 1................................................................ Vi antar att ingångarna är ordnade i lite omvänd ordning och att utgångarna produceras i normal ordning. Definiera X k (01) = x m med k = rev(m) (bit omvänt tal motsvarande m). Fjärilsberäkningarna vid pass p, som visas i bild. 1, uttrycks av Observera att twiddle faktor adress kan genereras genom att använda en operation som liknar en skift vänster operation. Eftersom adressgenereringslogiken är mycket enkel och dess fördröjning endast är hälften så lång som dataadressgenereringen, diskuteras inte talgenereringen av twiddlefaktorn här. Denna förordning träder i kraft den tjugonde dagen efter det att den har offentliggjorts i Europeiska unionens officiella tidning. EN EFFEKTIV KONFLIKTFRI MEMORY BEDRÄGERIBEKÄMPNING Equations (4) och (5) anger att adresser s och t skiljer sig endast i pth bit vid pass p: Låt binära notation av s vid pass p ges av s = s n01 s n02 11 1s p+1 0s p01 111 s 1 s 0 : Baserat på (4) och (5), vi har t = s n01 s n02 11 1s p+1 1s p01 111 s 1 s0: Denote sr = tr = sn01sn02 111 sp+1sp01 111 s1s0: Vi placerar Xs (p 0 1) och X t (p 0 1) i adresser s r och t r av minnesbanker M 0 respektive M 1. Detta uppdrag gör det möjligt att komma åt fjärilsparet Xs(p 0 1) och Xt(p 0 1) på ett konfliktfritt sätt. Dessutom bestäms minnesbankerna för lagring av X s (p) och X t (p) enligt värdet av s (p+1) (s (p+1) = b 0 ): Detta indikerar att fjärilsparets utgångar vid pass p; Xs (p); och X t (p) ligger i samma minnesbank. Med detta uppdrag, de två ingångarna av fjärilsverksamhet vid pass (p + 1) kan nås samtidigt. Baserat på ovanstående insikt, föreslår vi ett minne adressering uppdrag för in- och utgångar av fjärilsoperationer, som visas i tabell I. I tabell I betecknar vi en fjärilsräknare och passerar räknare med b respektive p, och binärnoteringen av b ges av b = bn02b03 11 1b1b0: Definiera som = bn02b03 111b10 och A t = b n02b n03 11 1b 1 1: Adressgenereringslogiken för läs- och skrivoperationer visas i figurer. 2 respektive 3.  Vi måste analysera egenskaperna hos vår strategi för att säkerställa dess korrekthet. 2) Konfliktfri adressering för Writes: Vi vet att resultaten av fjärilsoperationer vid pass p; X s (p); och X t (p) tillhör samma minnesbank. I slutet av en fjärilsberäkning skrivs X s (p) till en minnesbank, medan Xt (p) lagras i ett register, och det kommer att skrivas till samma minnesbank i nästa minnescykel. Tabell I visar att om utdata från en fjärilsberäkning tillhör minnesbank 0 så kommer utdata från nästa fjärilsberäkning att tillhöra minnesbank 1. Därför kan skriva utdata från två intilliggande fjäril operationer utföras samtidigt. 3) Konfliktfri adressering för läser och skriver samtidigt: Låt in- och utgångsadresser för en fjäril operation vara sr ; tr ; och tw ; respektive, och in- och utgångsadresser för nästa fjäril operation vara s 0 r ; t 0 r ; s 0 w ; och t 0 w, respektive. Anta att värdet på fjärilsräknaren för en fjärilsoperation baseras på vår strategi som presenterades i föregående underavsnitt, så får vi en minnesadresseringsuppgift, som ges nedan. Minnesbanker Vi ser att Xs(p) och X t (p) skrivs tillbaka till samma platser, där X s (p01) respektive X t (p01) bor. X t (p) måste dock skriva över platsen för X s (p 0 1), och X s (p) måste skriva över platsen för Xt(p 0 1), respektive. Lyckligtvis, eftersom minne läser, fjäril beräkningar, och minne skriver bygga upp en pipeline för att beräkna en FFT, X s (p 0 1) har laddats i fjärilsenhet innan Xt(p) skrivs över till sin plats. Därför kan inmatningsläsningen av en fjäril och utmatningsskrivningen av den tidigare fjärilen utföras utan konflikt. I.8 Förnyelse av bilaga I till förordning (EU) nr 1094/2010 och bilaga II till förordning (EU) nr 1094/2010, bilaga III till förordning (EU) nr 1094/2010, bilaga III till förordning (EU) nr 1094/2010, bilaga III till förordning (EU) nr 1094/2010, bilaga III till förordning (EU) nr 1094/2010 och bilaga III till den här förordningen. MINNESUPPGIFTER FÖR INPUT/UTANPUT FÖR FFT-PROCESSÖRER När provdata X k (01) [se avsnitt II, X k (01) = x m, med k = rev(m)] laddas i en FFT-processor, bör uppgifterna placeras på ett sådant sätt att indata från fjärilsoperationer vid nollpasset (p = 0) kan nås samtidigt. Vi väljer en minnesbank för att placera de insamlade uppgifterna enligt den minst betydande biten av dess index, som visas i tabell II. Baserat på vår strategi bestäms de minnesbanker som lagrar slutresultaten enligt den minst betydande delen av deras index som den uppgift för indata som beskrivs i föregående underavsnitt. Adressen inom varje minnesbank bör dock ändras. FFT-utgångars placeringar visas i tabell III. 910 IEEE TRANSAKTIONER OM SIGNAL BEHANDLING, VOL. 47, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, jag, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, 3, MARS 1999 I Cohens plan [1] bör en cyklisk förskjutning på en fjärilsräknare utföras, och adressparitet bör beräknas innan en läsning eller skrivning utförs. Med hänsyn till de två operatonerna för adress- och datamultiplexing (interchanges) ges den totala fördröjningen av adressgenerering för läsning och skrivning av T-läs = T-skriv = maxfT rl; T-paritet g + 2T mux = 2T och dlog 2 (n 0 1)e + 4T och : Sinha [5] använde kontrollmetoden för tre separata iterationsslingor för att beräkna den snabba Fourier-transformeringen. Ett tillägg bör göras i adressgenereringen (se [5, steg 18, s. Denna förordning träder i kraft den tjugonde dagen efter det att den har offentliggjorts i Europeiska unionens officiella tidning. Genomföra filialverksamheten med hjälp av en multiplexer (se [5, steg 14 och 15, s. 22]) med beaktande av, fördröjningen av adressgenerering ges av T läs = T adder + Tmux = 2T och blogg 2 (n 0 1) c + 6T och : För vårt schema, fördröjningen av adressgenerering för läsning domineras av fördröjningen av cyklisk skiftoperation, som ges av T läs = T rl = T och dlog 2 ne + T och : Eftersom lagring Xt (p) i ett register inte lägger till en ytterligare fördröjning till den för adressgenerering och registeråtkomsttiden för skriva operation är mindre än den för minne, fördröjningen av adressgenerering för skriva ges av T skriva = T rl + T mux = T och dlog 2 ne + 3T och : Tidsfördröjning jämförelser av Cohen och Sinhas mönster [1], [5] och våra sammanfattas i tabell IV Storleken på varje adressgenerering krets är ungefärlig till en första order av antalet grindar och transistorer. Det faktiska område som krävs för en given krets beror på vilka typer av grindar, antalet grindar och mängden ledningar, men de relativa storlekarna överensstämmer med grindens antal. Dessutom är kabel komplexiteten i vår design jämförbar med den i Cohens design [1]. För att förenkla analysen och jämförelserna använder vi grindräkningen och transistorn som ett mått på hårdvarukomplexitet. De komplexa jämförelserna av systemet i denna korrespondens och de andra två systemen visas i tabell V. Jämförelserna baseras på 1024-punkts FFT-processorer med data representation av 20 bitar (motsvarande 40 bits representation för en komplex data). Dessutom är adressgenereringskretsarna för läsning och skrivande Vi ser från tabell V att hårdvarukomplexet i vårt system är jämförbart med Cohens design [1]. Denna punkt förblir sann med en ökning av bitbredden av data representation (bitwidth 32). Även om hårdvaru komplexiteten i vårt system är högre än i Sinhas design [5], är deras FFT-processor inte rörledning. Om deras processor är rörledning, då komplexiteten i deras adressgenerering krets kommer att vara högre än vår. Vi har föreslagit ett effektivt tillvägagångssätt för minnesadressering av FFT-processorer, vilket är enkelt och lämpligt för piped FFT-processorimplementeringar. Analysen och jämförelserna visar att fördröjningen i samband med adressgenerering nästan halveras med motsvarande hårdvarukomplexitet jämfört med Cohens design [1]. Två effektiva system för minnesadressering för inmatning och utmatning av FFT-processorer ges också. Med vår strategi kan en kraftfull FFT-processor implementeras effektivt. Författaren är tacksam mot recensenterna för deras förslag och kommentarer som avsevärt förbättrade papperets kvalitet.
Ma Ref förbättrar dessa tidigare system, med ett sätt att kartlägga operander till minnesbanker med mindre beräkning och därmed påskynda adressgenereringen.
An effective memory addressing scheme for FFT processors
{'venue': 'IEEE Trans. Signal Process.', 'journal': 'IEEE Trans. Signal Process.', 'mag_field_of_study': ['Computer Science']}