بخشی از مقاله

چکیده

انرژی مصرفی در سیستمهای دیجیتال،خصوصاً در وسایلی که با باتری تغذیه میشوند، مانند تلفنهای همراه هوشمند، هرروز بیشازپیش اهمیت مییابد. از سوی دیگر، در سیستمها و کاربردهایی که نسبت به خطا تحملپذیری دارند، کاهش دقت در محاسبات میتواند باعث افزایش قابلتوجه بهرهوری - ازنظر تأخیر، مساحت مدار و توان مصرفی - در قبال کاهش قابلقبول کیفیت پردازش باشد. درواقع با چشمپوشی از انجام عملیات به شکلکاملاً دقیق و مشخص، پردازش تقریبی میتواند تا حد زیادی بهرهوری انرژی را بهبود دهد. در بعضی سیستمها مانند کانالهای مخابراتی، میتوان بسته به شرایط محیطی، محاسبات را با دقتهای مختلفی انجام داد و در قبال شرایط مختلف، مدار را به نسبت دقت موردنیاز و بهصورت بهینه بازپیکربندی کرد. در این مقاله، به بررسی و مقایسه روشهای مختلف پردازش تقریبی در سطح ریزمعماری کامپیوتر یا همان حساب تقریبی میپردازیم و استفاده از این تکنیک در پردازش تابع FFT مقایسه و ارزیابیشده است.

کلمات کلیدی:تلفن هوشمند، بهرهوری انرژی، حساب تقریبی، قابلیت بازپیکربندی، تبدیل سریع فوریه

-1 مقدمه

در طول دهه گذشته سیستمهای پردازش دیجیتال بهسرعت رشد کردهاندمثلاً. درزمینه دستگاههای مخابراتی بیسیم، تلفنهای همراه با کاربردصرفاً صوتی با تلفنهای هوشمند در حال جایگزین شدن هستند. تداوم این پیشرفت، درگرو برآورده شدن نیازهایی همچون: انعطاف بیشتر در برنامهریزی در جهت کاهش هزینه تولید، بهرهوری بیشتر در مصرف انرژی و نیاز به قابلیت استفاده مجدد در سطح طراحی برای کاهش هزینه هست .[2] دستگاههای قابلحمل مانند تلفن همراه با باتری تغذیه میشوند که طول عمر باتری، نهتنها به ظرفیت باتری، بلکه به میزان مصرف انرژی در دستگاه نیز وابسته است. تخمین زده میشود که ظرفیت باتریها سالانه در حدود 10 درصد بهبود یابد ولی در مقابل، نیازمندیهای روزافزون در کارایی محاسباتی، انرژی بیشتری را میطلبد [2] ؛ بنابراین برای کاهش شکاف مابین انرژی موردنیاز در محاسبات و ظرفیت در دسترس باتریها، دستگاههای آینده باید درزمینه بهرهوری انرژی بسیار بهتر طراحی شوند[5]

یکی از توابع مهم در پردازش سیگنالهای مخابراتی، بلوک2FFT/IFFT هست که برای تبدیل سیگنال از حوزه فرکانس به زمان و برعکس استفاده میشود. همانطور که در - 1 - ملاحظه میشود، این تابع مجموعی از حاصلضربهاست کهاصطلاحاً نقاط3 ورودی dn را به نقاط خروجی xn تبدیل میکند. پیادهسازی بهینه بلوک FFT در سیستمهای دیجیتال ضروری بوده و نیازهایی چون انرژی مصرفی کم و سرعت و دقت بالا را تحت تأثیر قرار میدهد.FFT در حالتها و استانداردهای مختلف و با توجه به شرایط، با تعداد ورودی مختلف،مثلاً از 8 تا 8192 نقطه، پیادهسازی میگردد؛ بنابراین در سیستمهای چندحالته، طراحی این واحد با بهرهوری انرژی بیشتر و قابل بازپیکربندی ازنظر دقت، سرعت و اندازه، مطلوب خواهد بود. تابع پراستفاده، پیچیده و زمانبر FFT علاوه بر پردازش سیگنال مخابراتی، در گستره وسیعی از پردازشهای سیگنال دیجیتال مانند پردازش تصویر و ویدئو نیز به کار میآید.

اساس تابع FFT عملیات ضرب است که البته محاسبات اصلی توابع دیگری مانند فیلتر [10] FIR4 ، انتقال کسینوسی گسسته[10] 5 و تشخیصدهنده [34] MIMO ، نیز مبتنی بر ضرب یا ضرب-جمع آمیخته MAC6 - یا FMA7 با عبارت ریاضی - F=A+ - B×C - هست.یکی از رویکردهای نوین در طراحی سختافزار که باهدف کاهش توان مصرفی و افزایش سرعت مدار موردتوجه پژوهشگران قرارگرفته است، محاسبات تقریبی 8 یا تخمینی است که در کاربردهایی که مدار میتواند گاهی نتایج غیردقیق یا همراه خطا تولید کند، مورداستفاده قرار میگیرد .[19] درواقع در این کاربردها بهجای سختگیری در حصول دقت نتایج در حد تمامکمال، یک محدوده دقت مجاز هم کافی و قابلقبول خواهد بود.

البته در بعضی کاربردها داده ورودی، مثل سیگنالهای سنسور یا کانالهای مخابراتی،ذاتاً غیردقیق یا همراه نویز - خطا - هستند؛ بنابراین می-توان تخمین یا محاسبات تقریبی را در تمام توابع فوق بهعنوان منبعی دیگر برای نویز در نظر گرفت و با توجه به میزان دقت موردنیاز برای محاسبه تابع، خطای تقریب قابلتحمل را در شرایط مختلف محاسبه و میزان تقریب مجاز را انتخاب کرد. در این صورت میتوان بین احتمال و توزیع خطا و بهرهوری انرژی مدار یک مبادله9 برقرار کرد تا با توجه به شرایط کانال و گیرنده، با انتخاب پارامترها و پیکربندی مناسب، سیستم را بهینه نمود. مواقعی که دغدغه انرژی مصرفی و عمر باتری را نداریم،مثلاً وقتیکه دستگاه به برق متصل است، بخش تقریب را میتوان خاموش کرد و مدار بهصورتکاملاً دقیق بازپیکربندی میشود.

با توجه به ویژگیهای حساب تقریبی، این شاخه جدید از حساب کامپیوتری علاوه بر سیستمهای مخابراتی، اخراًی در کاربردهای مختلف هوش مصنوعی مانند پردازش تصویر [20] و همچنین در پردازش عملیات ممیز شناور دادههای پیشبینی هواشناسی ,[18][17] موردپژوهش قرارگرفته و  به نظر میرسد که در آینده جایگزین محاسبات دقیق و سنتی شود. در این کاربردهای پیچیده که سیستمذاتاً تا حدی قابلیت تحمل خطا در نتایج محاسبات را داردعمدتاً، کاهش انرژی مصرفی و افزایش سرعت محاسبات با کاهش دقت مبادله میشوند.در حال حاضر مبحث محاسبات تقریبی در سطوح مختلف طراحی نرمافزاری و سختافزاری مدنظر است. چنانچه در [9] به معرفی یکزبان برنامهنویسی تقریبی باهدف کاهش مصرف انرژی ارائهشده است.

درواقع کامپایلرهایی که برنامهنویسی تقریبی را پشتیبانی میکنند، علاوه بر دستورات متعارف دقیق، دارای مجموعهای از دستورات غیردقیق یا تقریبی هستند که طبیعت باید توسط سختافزار، یعنی پردازنده یا شتابدهنده تقریبی10 اجرا شوند. از منظر سختافزاری هم میتوان طراحی تقریبی را در سطوح مختلف مانند، طراحی تقریبی در سطح ترانزیستور [33] ، طراحی در سطح معماری مانند طراحی حافظههای تقریبی و نیز طراحی در سطح ریزمعماری یا همان واحدهای حساب کامپیوتری تقریبی11 که تمرکز اصلی این مقاله است، تفکیک کرد که اهداف اصلی در همه آنها، افزایش بهرهوری انرژی مصرفی و بالا بردن سرعت پردازش هست.البته ایده محاسبات تقریبی نه تنها در طراحی دیجیتال بلکه اخراًی در طراحیهای آنالوگ هم موردتوجه قرارگرفته است. بهعنوان نمونه در [22] با استفاده از تقریب در محاسبات مدارهای آنالوگ، دقت فدای سرعت بیشتر و توان مصرفی کمتر شده است.

در پژوهش مذکور، پیادهسازی یک مدار شتابدهنده عصبی12، با تلفیقی از سختافزار - مدارهای آنالوگ تقریبی - و نرمافزار - تبدیل کدهای تقریبی به مدل عصبی آنالوگ - ارائهشده که در قبال میزان خطای 10 درصدی، افزایش سرعت 3/7 برابری و صرفهجویی انرژی 6/3 برابری را میسر ساخته است.بخشهای بعدی این مقاله بهاینترتیب است که در بخش 2 پژوهشهایی که درگذشته برای پیادهسازی بهینه تابع FFT ارائهشده، دستهبندیوبررسیشده است. چند روش مختلف برای طراحی واحدهای حساب تقریبی در بخش 3 بررسیشده است. بخش 4 به استفاده از حساب تقریبی در تابع FFT و مقایسه و ارزیابی روشهای مختلف میپردازد. درنهایت آخرین بخش به نتیجهگیری و جمعبندی اختصاصیافته است.

-2 مروری بر روشها و تکنولوژیهای مختلف پیادهسازی تابع FFT

دستهای از تحقیقات در پیادهسازی FFTانعطافپذیری کمی دارند و بازپیکربندی را فقط در چندحالته کردن مدار از جهت تعیین تعداد نقاط FFT در نظر گرفتهاند ,[24] [26][3]بنابراین سختافزار موردنظر قابلیت برنامهریزی ندارد و فقط به چند حالت خاص محدود میشود. نمونهای از این راهحلها [26] است که در آنیک پردازنده FFTچندحالته برای WMAN/WLAN/WPAN ارائه شده است. این طرحها به دلیل استفاده از سختافزار ایستا، پیچیده و موازی، توان مصرفی بالایی دارند [26] و باوجوداینکه از حالتها و استانداردهای بیشتری پشتیبانی میکنند، در عوض بیشترین توان مصرفی را در مقایسه با روشهای مشابه به خود اختصاص داده است.

بهمنظور کاهش عملیات ضرب روشهای زیادی بر اساس FFT پایه 4 یا بیشتر - حتی تا پایه - 25 ارائهشدهاند که هدف اصلی همه آنها افزایش سرعت و کاهش اخیر هست.[29],[23]شکل - 1 - جریان دادهها در FFT و همچنین پیادهسازی FFT در پایه 4 را نشان میدهد.روشهای فوق علیرغم داشتن سرعت بالا ساختار سختافزاری ایستا یانسبتاً ایستایی دارند و درنتیجه انعطافپذیری و برنامهنویسی آنها بسیار کم است. در ضمن به دلیل بزرگ و پیچیده بودن سختافزار، توان مصرفی آنها بالا است. باوجود ترفندهایی برای کاهش توان مصرفی، در بعضی از آنها، مانند طرحهای مقیاسپذیری پویا [24] و یا استفاده از الگوریتمهای ضرب بهینه ,[4] ,[26][14] هنوز هم انرژی مصرفی زیاد آنها برای وسایل تغذیه شونده با باتری بهصرفه نیست.

علاوه بر پیادهسازیهای فوق، دستهای دیگر از پردازشهای FFT توسط پردازندههای DSP انجام میشود که بیشترین انعطافپذیری ولی کمترین بهرهوری انرژی و کارایی - سرعت - رادارند. بهطور مثال در [8] یک هسته DSP برای پردازشهای FFT در نظر گرفتهشده که مشکل اصلی آن سرعتپایین و توان مصرفی بالاست. هرچند در ,[15][31]بهمنظور دستیابی بهسرعت و کارایی بالاتر از منابع محاسباتی بیشتر و تکنیک چندهستهای استفادهشده اما انرژی مصرفی آنها بالاست.دسته دیگر روشهای پیادهسازی FFT متعلق به پردازندههای قابلبرنامهریزی ASIP هست .[37],[35] معماری ASIP نسبت به طرح-های غیرقابل برنامهریزیذاتاً، قابلیت انعطافپذیری بیشتر ولی کارایی - سرعت - کمتر و بهرهوری انرژی پایینی دارد.

همچنین ASIP نسبت به پردازندههای DSP بهرهوری انرژی و کارایی بیشتر ولی انعطافپذیری کمتری دارند. ASIP هایی که برای FFT طراحیشدهاند کمتر به بهینهسازی الگوریتمهای ریاضی و سختافزاری پرداختهاند و همانطور که نتایج ارزیابی آنها نشان میدهد نسبت به طرحهای مشابه توان مصرفی بالاتری دارند [35]همانطور کهقبلاً گفته شد، عملیات اصلی تابع FFT، الگوریتم ضرب است. تعدادی از پژوهشهای انجامشده در رابطه با انجام عملیات ضرب ممیز شناور در کاربردهای مختلف DSP بر روی FPGA پیادهسازی شدهاند [36] اما بهرهوری انرژی کم و مساحت زیاد ساختار FPGA نسبت به روشهای کممصرف، دیگر بر کسی پوشیده نیست معمولاً از آن برای طراحی نمونه اولیه و آزمایشگاهی استفاده میشود. مؤلفان مقالات مذکور از مقایسه توان و انرژی طرحهای خود با روشهایی که انرژی کمی مصرف میکنند سرباز زدهاند وغالباً مقایسه را با الگوریتمهای دیگری که آنها هم مبتنی بر FPGA بودهاند انجام دادهاند.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید