فصل 1
« پردازش سيگنال ديجيتال و سيستم هاي DSP »:
سيستم پردازش سيگنـال به هر سيستمي گفته مي شود كه از اين دانش بهره مي برد . پردازش سيگنال ديجيتال كاربرد اعمـــال حسابي بر روي سيگنالها مي باشد كه بصورت رقمي نمايش داده مي شوند سيگنالها همانند دنباله اي ازنمونه هانشان داده مي شوند.غالباًاين نمونه ها ازسيگنالهاي فيزيكي ( همانند سيگنالهاي صوتي ) با استفاده از تراگردانها ( همـانند ميكروفن ) و مبدلهاي A/D بدست مي آيند . بعـد از پردازش حسابي،سيگنالهاي ديجيتال مي بايست توســط مبدلهاي D/A به سيگنالهاي فيزيكي تبديل شوند .
DSP در بعضي از سيستم ها براي اعمال سيستم نقش كانوني دارد.مثلاً مودمهاوتلفن هاي سلولي ديجيتال بطور قابل ملاحظه اي بر اساس فن آوري هاي DSP طراحــــــي مي شوند . در محصولات ديگر نقش DSP از مركزيت كمتري برحوردار است اما اغلب در موارد كارايي ، ويژگيها و هزينه از مزاياي بسيار مهم و قابل رضايتي برخوردار مي باشد . مثلاً سازندگان قطعــات آنالوگ همــــــانند تقويت كننده هاي صوتي در حال بكارگيري فن آوري هاي DSP جهت كيفيت بهتر
مي باشند .
بخش چشــم اندازي كلي بر پردازش سيگنال است . ابتدا در مورد مزيت DSP بر سيستم آنالوگ بحث شده سپس بعضي از ويژگيها و مشخصـات سيستم هاي DSP بصورت كلي بررسي مي شود.درپايان نتيجه گيري با نگرشي خلاصه به بعضي ازكلاسهاي مهم كاربردهاي DSP انجام مي شود .
1-1 مزاياي DSP :
پردازش سيگنال ديجيتال نسبت به آنالوگ چندين مـزيت دارد . مهمترين مزيت اين است كه سيستم هاي DSP قادرند وظايف سنگيني را كه تحقق آنهـا به كمك الكترونيك آنالوگ پيچيده و يا غيرممكن خواهد بودپياده سازي كنند.مثال اين كاربردهاسنتزگفتار، تشخيص گفتار و مودمهاي سرعت بالا مي باشد كه از كدينگ تصحيح خطا بهره مي برند. همه اين وظايف تركيبي از پردازش سيگنال و كنترل مي باشند كه غالباً پياده سازي آنها توسط فــن آوري هاي آنالوگ پيچيده است . علاوه بر اين سيستم هاي DSP نسبت به آنالوگ دو مزيت اضافي نيزدارند :
« عدم حساسيت به محيط » : سيستم هاي ديجيتـــــال به تغييرات شرايط محيطي كمتر حساس مي باشند . رفتار مدار آنالوگ بسته به دما است . در مقايسه عمل سيستم DSP به محيط آن (خشك يا مرطوب ) وابسته نمي باشد . در هر صورت سيستمDSP پاسخ يكساني خواهد بود .
«عدم حساسيت به تغيير عناصر » : قطعـات آنالوگ با تلورانس همراهند . پاســخ كلي يك سيستم آنالوگ به مقادير داخلي اش وابسته است . بنابراين دوسيستم آنالوگ كه بطوردقيق همانند يكديگرطراحي شده باشند بسته به تغييرعناصرشان پاسخهاي متفاوتي خواهند داشت.در مقايسه عناصر ديجيتال همواره خروجيهاي مشابه براي ورودي هاي مشابه توليد خواهند كرد .
اين دو مزيت بصورت زير نيز بيان مي شوند :
« رفتارتكرار پذير و پايدار» : از آنجاييكه خروجي سيستم DSP به عوامل محيطي يا تغيير عناصر حساس نمي باشد لذا اين امكــان وجود دارد كه سيستم هايي با پاسخهاي شناخته شده ، دقيق وثابت داشته باشيم.نهايتاً بعضي ازسيستم هاي DSP ممكن است دو مزيت ديگر نيز نسبت به آنالوگ داشته باشند.
« قابليت برنامه ريزي » : اگريك سيستمDSP براساس پردازنده هاي برنامه پذير طراحي شود ، مي توان آن را مجدداً برنامه ريزي نمود بطوريكه وظايف ديگري را انجام دهد . در مقايسه سيستم هاي آنالوگ ازلحاظ فيزيكي به عناصرمتفاوتي نيازداشته تا وظايف متفاوتي را انجام دهند .
« اندازه » : اندازه اجزاء آنالوگ بسته به مقــاديرشان متغير است . براي مثـال يك خازن MF 100كه در فيلتـــر آنالوگ استفاده مي شود از خازن PF 10 كه در فيلتر ديگري بكار مي رود بزرگتر است.اما ممكن است تحقق ديجيتال هردو فيلتراندازه مشابه اي داشته باشد . حتي ممكن است از سخت افزار يكساني كه تنها در ضرايب فيلتر متفاوت است استفاده شود .گاهگاهي ممكن است اين پياده سازي از هر دو تحقق آنالوگ نيز كوچكتر باشد .
اين مزايا و توجه به فرآيندهاي ساخت IC با استفاده از فن آوريهاي DSP و مزيت آن در اين فن آوري منجربه اين واقعيت مي شودكهDSP انتخاب وراه حلي مناسب وبهينه براي پردازش سيگنال به حساب آيد .
1-2 مشخصات سيستم هاي DSP :
در اين بخش برخي از مشخصات عمومي در همه سيستم هاي DSP نظير الگوريتم ها،نرخ نمونه برداري ، نرخ CLOOK و انواع حساب توصيف مي شوند .
الگوريتم ها :
سيستم هاي DSP اغلب به وسيله الگوريتم هايي كه بكار مي برند ، مشخــص مي شوند . الگوريتم اعمال حسابي را كه مي بايست انجام شوند ، مشخص كرده امـــا نحوه پياده سازي آن محاسبات رامعلوم نميكند.ممكن است درنرم افزارو بروي يك ريزپردازنده معمولي يا ريزپردازنده سيگنال قابل برنامه ريــزي پياده سازي با توجه به نيازمنديهاي سرعت و دقت حسابي مي باشد. جدول ( 1-1 ) بعضي از انواع عمومي الگوريتم هاي DSP و برخي از كاربردهايي را كه عموماً اين الگوريتم ها در آنها اسنفاده مي شوند نشان مي دهد .
نرخ نمونه برداري :
مشخصه كلـيدي يك سيستم DSP نرخ نمونه برداري آن است . نرخي كه در آن نمونه ها گرفته ، پردازش و يا توليد مي شوند.با توجه به پيچيدگي الگوريتم،نرخ نمونه برداري سرعت مورد نياز را در فن آوري پياده سازي معين مي كند . يك مثال معروف پخش CD صوتي مي باشد كه در آن نمونه ها با نرخ 44.1 كيلو هرتز روي دو كانال توليد مي شوند .
البته يك سيستم DSP ممكن است بيشتر از يك نرخ نمــونه برداري داشته باشد . به اين قبيل سيستم ها، سيستم هاي DSP چند نرخي گفته مي شود . مثـال آن تبديل نرخ نمونه هاي CD از 44.1KHZ به نرخ نوار صوتي ديجيتال يا 48KHZ مي باشد . بدليـــل پيچيدگي نسبت بين اين نرخ ها ، معمولاً تبديل در مراحلي انجام مي شود ( معمولاً با حدفاصل حداقل دو نمونه ) مثال ديگر الگوريتم چند نرخي يك بانك فيلتر است كه در كاربردهايي نظير كدكردن صــــدا، ويدئو و گفتار استفاده مي شود . بانكهاي فيلتر معمولاً شامل مراحلي هستند كه سيگنال را به بخشهاي فركانس بالا و پايين تقسيم مي كنند. آنگاه اين سيگنالهاي جديد با نرخ كمتر نمونه برداري شده مجــدداً تقسيم مي شوند . در كاربردهاي چند نرخي نسبت بين بالاترين و پايين ترين نرخ نمونه بـرداري در سيستم مي تواند كاملاً بزرگ باشد. گاهگاهي به 000،100 ممكن است برسد .
محدوده نرخ هاي نمونه برداري كه درسيستم هاي پردازش سيگنال وجود داردوسيع است در شكل ( 1-1 )كلاسهـــــاي كاربردها بهمراه پيچيدگي الگوريتم و نرخ نمونه برداري افزايش
مي يابد . الگوريتم هايي كه در نــرخ هاي بالاتر استفاده مي شوند به نظر مي رسد كه ساده تر از آنهايي باشند كه در نرخ كمتر بكار مي روند .
بسياري از سيستم هاي DSP مي بايست با سرعت بسيار بالا كار كنند چرا كه بتوانند روي بخشهاي طولي سيگنالهاي ورودي به صورت بلادرنگ عمليات انجام دهند . انواع ديگر سيستم ها
( همانند پايگاه داده ) ممكن است به كارايي متوسطي نياز داشته باشنـد . سيستم هاي بلادرنگ با هر دو هدف يعني سرعت و كارايي مناسب طراحي مي شوند . در اين قبيــل سيستم ها تغيير نرخ پردازش مورد نياز باعث بد عمل كردن سيستم مي شود.به اين قبيل سيستــــــــــم ها اغلب « فرآيندهاي بلادرنگ با قيدهاي پيچيده » نيز گفته مي شود . براي مثال فرض كنيم مبدل نرخ CD صوتي به نوار صوتي همانند سيستم بلادرنگ پياده سازي شود . مبدل بايستي نمونــه جديد را از CD در هر 22.6MS بگيرد و نمونه خروجي را براي نوار صوتي در هر 20.8NS توليدكند اگر سيستم نتواند نمونه ها را با اين ترتيب بگيرد و بفرستد،داده ها از بين رفته سيگنال خروجي دچـــار نويز
مي شود . نياز به رويارويي با اين قبيل قيدهاي بلادرنگ ، مطالبات ويژه اي را در طراحي و اشكال زدايي سيستم هاي DSP بلادرنگ بوجود مي آورد .
نرخ CLOCK :
سيستم هاي الكترونيك ديجيتـــال اغلب توسط نرخهاي ساعت مورد نيازشان مشخص
مي شوند . نرخ ساعت معمولاً به نرخي گفـته مي شود كه در آن سيستم اساسي ترين وظايفش را انجام مي دهد . در محصولات تجاري نرخ ساعت تا 100MHZ عمومي است . هرچند در بعضي از محصولات بسيار كار اين نرخ سريعتر مي شود.درسيستم هايDSP نسبت نرخ ساعت سيستم يكي از مهمترين مشخصات است كه جهت چگونگي پياده سازي سيستم استفاده مي شود . ارتباط بين نرخ ساعت و نرخ نمونه مقدار سخت افزار مورد نياز را براي پياده سازي يك الگوريتم داده شده ( با توجه به پيچيدگي بلادرنگ ) تعيين مي كند . با افزايش نسبت نرخ نمونه برداري به نرخ ساعت مقداروپيچيدگي سخت افزارمورد نياز براي پياده سازي الگوريتم نيز افزايش مي يابد .
نمايشهاي عددي :
اعمـــال حسابي از قبيل جمع و ضرب در قالب الگوريتمها و سيستم هاي DSP هستند . بنابراين نمايشهاي عددي و نوع حســـابي كه استفاده مي شود ، مي تواند در رفتار و كارايي يك سيستمDSP تاثيرگذار باشد.عمومي ترين انتخاب براي طراحان حساب مسير ثابت يا مميز شناور مي باشد . حساب مميز ثابت اعداد را در محدودثابت 1-تا 1+ با تعداد معيني بيت كه عرض كلمه ناميده مي شود ، نشان مي دهد . براي مثال يك عدد 8 بيتي دقت تفكيكـــي دارد . اعمال حســـــابي كه نتايجي خارج از محدوده عددي داشته باشند اصطلاحاً اشباع خواهند شد . حساب مميز شناور محدوده قابل نمايش مقادير را گسترش مي دهد . هر عدد در دو بخش نمايش مي يابد : يك ماشيـــن و يك مفسر . ماشين بين 1- تا 1+ و مفسر بعنوان نما مي توان دو تلقي
مي شود . در حقيقت داريم : 2 enponent×Value = mantissa
حســــاب مميز شناور محدوده ديناميك ( نسبت بين بزرگترين و كوچكترين مقاديري كه
مي توانند نمايش داده شوند )بزرگتري نسبت به مميز ثابت دارد، از آن جاييكه اين حساب احتمال سر ريز و مقياس بندي را كمتر مي كند لذا مي تواند بطور قابل ملاحظه اي طراحي نرم افـــزار و الگوريتم را ساده سازد . بنابراين حساب مميز شناور عموماً ازحساب مميز ثابت كندتر و پيچيده تر بوده پياده سازي آن نيز دشوارتر است .
1-3 كلاسهاي كاربردهاي DSP :
پردازش سيگنـال ديجيتال بطور عام و پردازنده هاي DSP بطور خاص در محدوده وسيعي از كاربردها استفـاده مي شوند . از سيستم هاي رادار گرفته تا مصارف معمولي الكترونيك . طبيعتاً هيچ پردازنده اي نمي تواند نيازمنـديهاي همه و يا اكثر كاربردها را برآورده سازد . بنابراين اولين وظيفه طراح انتخاب يك پردازنده است بطوريكه تواماً كارايي،هزينه ، قابليت مدار مجتمع ، آساني توسعه،مصرف توان وديگر ويژگيهاي مناسب را براي كاربرد در دست داشته باشد. جدول ( 1-2 ) برخي از كلاسهاي كاربردي را نشان مي دهد .
سيستم هاي محاط شده كم هزينه :
بزرگترين كاربردها ( از نظر هزينه ) در پردازش سيگنال ديجيتال سيستم هاي محاط شده پرحجم و ارزان نظيــــر تلفن هاي سلولي ، مودمها و ديسك درايوها ( كه DSP براي سرو كنترل مي شود ) مي باشند.دراين كاربردها هزينه و ملاحظات مدار مجتمع برتر مي باشند . در محصولات قابل حمل مصرف توان حائـز اهميت است . در كاربردهاي محاط شده پرحجم كارايي و ملاحظات آساني توسعه غالباً كمتر مورد توجه هستند .
كاربردهاي بسيار كارا :
دركلاس ديگري از كاربردها حجم پردازش داده زياد و الگوريتم هاي پيچيده براي نيازهاي ويژه وجود دارند.رادار، سونار و تحليل سيگنال زلزله از اين نوع مي باشند . در اين كاربردها حجم توليدات كمتر،محاسبات درالگوريتمها بيشتر و طراحي محصول پيچيده تر است . بنابراين طراحان به پردازنده هايي توجه دارندكه تواماًكارايي ماكزيمم، آساني بكارگيري وپشتيباني چندپردازنده اي را داشته باشند .
چند رسانه اي در PC :
كلاس جديدتري از كاربردها قابليتهاي چند رسانه اي در PC مي باشد .پردازنده هاي DSP بطور روزافزوني در PC جهت انجام وظايف گوناگوني نظير پست صوتي، مودمهــــاي تصويري و داده اي،سنتزگفتاروفشرده سازي تصوير استفاده مي شوند.همانندكاربردهاي محاط شده پرحجم ، چند رسانه اي در PC هر چند در بعضــــي ديگر از كاربردهاي چندرسانه ا ي ممكن است كارايي بيشتري نياز باشد بطوريكه پردازنده DSP بتوانـــد چندين وظيفه را به صورت همزمان و بلادرنگ انجام دهد.علاوه براين پردازنده مي بايست بتواندبين وظايف گوناگون سوئيچ كند.همچنين ممكن است ظرفيت حافظه در اين كاربردها مورد توجه باشد چرا كه اكثر كاربردهاي چنــد رسانه اي به قابليتي نياز دارند كه بتواند حجم انبوهي از داده ها را مديريت كند .
فصل 2
« پردازنده هاي DSP » :
در فصل قبل پردازش سيگنال ديجيتال با توجه به مباني سيستم هاي DSP و حــوزه هاي كاربردي بطور خلاصه توصيف شد . در اين بخش با يك توصيف كلي ويژگي هاي عمومــي كه در اكثر پردازنده هاي DSP وجود دارند ، مطرح مي شوند .
2-1 پردازنده هاي DSP :
نسلهاي مختلفي از پردازنده هاي DSP در بازارامروزي موجود مي باشد.ويژگيهاي برجسته برخي از آنها در جدول ( 2-1 ) خلاصه شده است . اين پردازنده ها به عنــوان نمونه هايي جهت توضيح معماريها و ويژگيهاي موجود در پردازنده هاي تجاري بكار خواهند رفت .
اكثر پردازنده هاي DSP از ساختارهاي مشتركي برخوردارند بطوريكــه مي توانند وظايف سنگين محاسباتي و تكراري را پشتيباني كنند. ويژگيهاي مهمتر به طور خلاصه بررسي مي شوند . اين ويژگيها درجدول ( 2-2 ) آورده شده اند.هريك ازاين خصوصيات وانواع ديگربه صورت جزئي تردرفصلهاي بعدي مطرح خواهد شد .
ضرب – انباره سريع : غالباً مهمتــرين ويژگي DSP قابليتي است كه مي تواند عمل ضرب – انباره ( اغلب MAC ناميده مي شود ) را در يك سيكــل دستور انجام دهد . عمل ضرب – انباره در الگوريتم هايي مفيد است كه محاسباتي از نوع ضرب برداري را شامل مي شوند . فيلتـــرهاي ديجيتال ، كوروليشن و تبديلات فوريه از اين نوع مي باشند . براي به انجام رساندن اين وظيفـه پردازنده هاي DSP يك ضرب كننده و انباره را كه در واحد اصلي پردازش حسابي ( مسيرداده ) قرار دارد،شامل مي شوند . علاوه بر اين به منظور انجام دنباله اي از اعمال ضرب-انباره كه مي بايست بدون سـرريز حسابي انجام شوند ، پردازنده هاي DSP در رجيسترهاي انباره خود بيتهاي بيشتري داشته تا بتوانند خود را با رشد نتايج انبارشده وفق دهند .مسير داده DSP به صورت جزئي تر در فصل 4 بررسي خواهد شد .
معماري حافظه با چندين دسترسي :
ويژگي دومي كه در اكثـر پردازنده هاي DSP مشاهده مي شود قابليت چندين دسترسي به حافظه دريك سيكل دستورمي باشد.اين ويژگي پردازنده راقادرمي سازدكه يك دستور را برداشت نمايدودرعين حال همزمان درحال برداشت عملوندهاي دستور قبل يا ذخيره نتيجه درحافظه باشد . پهناي باند ( تعداد كلماتي كه مي توان از حافظه خواند يا در آن نوشت ) بيشتريــــن پردازنده و حافظه جهت بهبود كارايي لازم است چرا كه عموماً در بسياري از كاربردهاي DSP الگوريتم ها به اعمال سنگين تكراري روي داده ها نياز دارند .دربسياري ازپردازنده ها چندين دسترسي به حافظه در يك سيكل محدوديتهايي نيز ايجاد مي كند . معمولاً دسترسي به تمامي مكانهــــــاي حافظه مي بايست در داخل تراشه و با دستورات ويژه اي انجام شود .به منظورچندين دسترسي به حافظه پردازنده هاي DSP از چندين گذرگاه داخلي ، حافظــه هاي چند پورتي داحلي و در بعضي موارد از چندين بانك حافظه مستقل برخوردارند.ساختارهاي حافظه درDSP در قياس با پردازنده هاي هدف عمومي كاملاً متفاوت است . معماري هاي حافظه بصورت كاملتر در فصل 5 بررسي خواهند شد .
روشهاي آدرس دهي ويژه :
به منظورسرعت بخشيدن به پردازش حسابي ومشخص كردن چندين عملوند در يك كلمه كوچك دستور پردازنده هاي DSP از واحدهاي توليد آدرس بهــــره مي برند . ابتدا رجيسترهاي آدرس دهي مخصوصي پيكربندي مي شوند.سپس واحدهاي توليدآدرس درپشت صفحه به صورت مستقل كار مي كنند . اين واحدها آدرسهاي مورد نياز براي دسترســي به عملوند را بطور موازي با اجراي دستورات تشكيل مي دهند . واحدهاي توليد آدرس معمولاً گلچيني از روشهاي آدرس دهي را پشتيباني مي كنند . اين روشها با توجه به كاربردهاي DSP لحاظ مي شوند . عمومي ترين آن آدرس دهي غيرمستقيم رجيستر بطريقه پس افزايشي مي باشد . ايـن آدرس دهي درمواقعي بكار مي رود كه مي بايست محاسبات تكراري روي مجموعه اي از داده هــــا كه به صورت ترتيبي در حافظه ذخيره شده اند ، انجام شود . آدرس دهي ماژول يا گردشي غالباً استفاده از بافرهاي داده را آسان مي سازد . بعضي از پردازنده ها آدرس دهي bit – reversed را نيز پشتيبــاني مي كنند . اين آدرس دهي در الگوريتم FFT كارآمد است . روشهاي آدرس دهي با جزئيات بيشتـــر در فصل 5 بررسي خواهند شد .
كنترل اجراي دستور :
ازآنجائيكه دربسياري ازالگوريتم هاي DSP محاسبات تكراروجود دارد،لذااكثرپردازنده هاي DSP روش ويژه اي را براي حلقه سازي مناسب فراهم مي كنند . غالبــــاً در مجموعه دستورات پردازنده دستور خاصي براي حلقه سازي لحاظ مي شود . اين دستورسربار حلقه را حذف مي كند . بهنگام سازي و آزمايش شمارنده حلقه يا پرش به ابتداي حلقه به عنوان سربارهاي حلقه تلقـــي مي شوند . با حذف اين سربارها سيكلهاي كمتري مصرف خواهند شد.بعضي ازپردازنده هاي DSP جهت بهبود كارايي ويژگيهاي ديگري از كنترل اجرايي را فراهم مي آورند . قابليتهايي نظيــــــر سوئيچينگ مناسب و وقفــــه هاي كم سربار و كم دوره براي ورودي / خروجي سريع از اين نوع
مي باشند .
حلقه ساري و وقفه هاي سريع در بخش 8 بررسي خواهند شد .
ارتباطات ورودي / خروجي و دستگاههاي جانبي :
در اكثـر پردازنده هاي DSP به منظور هزينه كمتر و ورودي / خروجي كارآمدتر ، ارتباطات I/O موازي يا سريال و مكانيزمهاي دسترسي به I/O نظيرDMA باهم يكي مي شوند .دستگاههاي جانبي در DSP اغلب به منظور ارتباط مستقيم با قطعات جانبي نظيرمبدلهاي A/D و D/A طراحي مي شوند.با توجه به پيشرفت هاي فن آوري هاي مدارمجتمع (چگالي وانعطـــــــــاف پذيري) فروشندگان DSP در پي قراردادن كليه دستگاههاي جانبي بروي يك تراشه مي باشند . نمونه آن تراشه هايي است كه براي كاربردهاي تلفن سلولي طراحي مي شوند. در اين قطعات چندين مبدل A/D و D/A روي يك تراشه تعبيه مي شود .
فصل 3
« حساب و نمايش عددي »
يكي ازمهمترين مشخصاتي كه كارآمدي يك DSP را براي كاربرد داده شده معين مي كند ، نوع نمايش عددي در پردازنده است . انواع حساب كه درپردازنده هاي تجارتي عمومي مي باشد ، به صورت درختي در شكل ( 3-1 ) آمده است .
3-1 مميز ثابت در مقايسه با مميز شناور :
پردازنده هاي اوليه از حساب مميز ثابت استفاده مي كردند ودرواقع هنوز هم پردازنده هاي DSP مميـــز ثابت بر بازار مسلط مي باشند . در پردازنده هاي مميز ثابت اعدادي كه نمايش داده
مي شوند، همانند اعداد صحيح يا كسرهاي بين 1- تا 1+ مي باند . الگوريتمها و سخت افزارهايي كه براي پياده سازي حساب كســري استفاده مي شوند بطور مجازي مشابه همانهايي هستند كه براي حساب صحيح بكارمي روند .تفاوت اصلي دراين است كه چگونه نتايج اعمـــــال ضرب در دسترس واقع مي شوند .درعمل اكثر پردازنده هاي مميز ثابت حساب كسري و صحيح را توامـــاً
پشتيباني مي كنند . حساب كسري بيشتر در الگوريتم هاي پردازش سيگنال مفيد است اما حساب صحيح جهت اعمال كنترلي ، محاسبــات آدرس و ديگر اعمالي كه مرتبط به سيگنال نمي باشند ، بكار مي رود . شكلهاي ( 3-2 ) و ( 3-3 ) نمـايشهاي ساده صحيح و كسري را توضيح مي دهند . نكته اينكه انجام حساب صحيح روي DSP هـــاي مميز ثابت ممكن است زمان بيشتري نيز نياز داشته باشد .
كلاس ديگري از پردازنده هاي DSP ازحساب مميز شناوراستفاده مي كنند. در اين حساب اعداد تركيبي از مفسر و مانتيس مي باشند . اين مورد در شكل ( 3-4 ) آمده است.مانتيس معمولاً
يك مقدار كسري علامت دار با يك بيت صحيح مي باشد . ( بيت صحيح در واقع به عنوان بخشي از داده ذخيره نمي شود بلكه همواره“1” فرض مي شود ) . اين بدان معناست كه مانتيس مي تواند مقداري در محدوده 1+ تا 2+ و 1- تا 2- داشته باشد.مفسر يك عدد صحيح بوده تعداد مكانهايي را كه مميز باينري مانتيس مي بايست به چپ يا راست شيفت داده شود ، نشــان مي دهد . مقدار نمايش داده شده از طريق عبارت زير محاسبه محاسبه مي شود :
2 exponent× Value = mantissa
شكل ( 3-4 ) نمايش مميز شناور را نشان مي دهد . عموماً پردازنده هاي مميز شناور قالب داده مميز ثابت ( معمولاً صحيح ) را نيز پشتيباني مي كنند بطوريكه بتوانند اعمالي نظير محاسبات آدرس حافظه را كه ذاتاً صحيح مي باشند به آساني انجام دهند .
حساب مميز شناور نسبت به مميـز ثابت مكانيزم عمومي تر و انعطاف پذيرتري مي باشد . به كمك اين حساب طراحان سيستم به محدوده ديناميك وسيعتر و در خيلي از موارد دقت بهتري دسترسي دارند .
دقت برمبناي خطاي كوانتيزاسيون تعريف ميشود .خطاي عددي كوانتيزاسيون هنگام تبديل قالب عددي بزرگتر به كوچكتر توليد مي شود . در قالب مميز ثابت ، ماكزيمم دقت ، تعداد بيتهـاي قالب تعريف مي شود . براي مثال يك قالب كسري 16 بيتي ماكزيمم 16 بيت دقت را فراهــــم مي كند . اين تعريف براساس نسبت اندازه مقدار نمايــــش داده شده به انداره ماكزيمم خطاي كوانتيزاسيون مي باشد ، بطوريكه داريم :
maximum precision ( in bits ) = log 2 ( 1 maximum value 1 / 1 maximum guantization error 1 )
در نمايش كسري 16 بيتي بزرگترين دامنه مقدار قابل نمايش 1- است . هنگام تبديـل به يك قالب كسري 16بيتي از يك قالب دقيق تر ( از طريقگردكردن ) ماكزيمم خطاي كوانتيزاسيون
2-16 بيت است .لذا با توجه به تعريف اين قالب ، ماكزيمم دقتي معادل (1/2 –16 ) l og 2 يـــا 16 بيت دارد كه همـان عرض قالب مي باشد . نكته اينكه اگر مقدار تنمايش يافته نسبت به ماكزيمم دامنه كوچكتـري داشته باشد ، دقتي كه بدست مي آيد ، كمتر از ماكزيمم دقت در دسترس خواهد بود . اين مورد بر اهميت دقت مقيـــاس بندي سيگنال هنگام استفاده از حساب مميز ثابت تاكيد دارد . مقياس بندي به منظور حفظ دقت مي باشد.اين فرآيند توسط پيراسته سازي مقادير سيگنال جهت قرارگرفتن در نزديكي ماكزيمم محدوده نمايـش انجام مي شود . مقياس بندي در بخش 4 بررسي مي شود .
تعريف مشابه اي براي قالب مميز شناور وجود دارد : ماكزيمـــم دقت در دسترس ، تعداد بيتهاي مانتيس است .( البته با در نظر گرفتن بيت صحيح ) . از آنجاييكه پردازنده هاي مميز شناور بطور خودكار تمامي مقادير را مقياس بندي مي كنند ( بطوريكـه بيت صحيح “ / “ است ) لذا دامنه مانتيس به حداقل مقدار 105 محدود مي شود .اين ويژگي تضمين مي كند كه دقت هر مقدار مميز شناور كمتر از نصف ماكزيمم دقت در دسترس نبـاشد . بنابراين پردازنده هاي مميز شناور دقت را بسيار خوب حفظ نموده وظيفه برنامه نويس آسان تر مي گردد.
در عمل پردازنده هاي مميزشناورازقالب 32 بيتي استفاده مي كنند ( 24 بيت مانتيس و يك بيت صحيح كه در نتيجه 25 بيت دقت را فراهم مي كنند) . اكثر پردازنده هاي مميز ثابت قالب 16 بيت را با 16 بين دقت بكار مي برند . بنابراين درحاليكه از لحاظ تئوري انتخاب مميز شناور يا ثابت مي توانست مستقل از انتخاب دقت باشد اما درعمل پردازنده هاي مميزشناورمعمولاً دقت بيشتري را فراهم مي كنند .
بنابراين محدوده ديناميك نسبت بين بزرگترين و كوچكترين عدد قابل نمـــايش در قالب داده تعريف مي شود . مزيت حساب مميز شناور با مثالي روشن مي شود . در نمايش32 بيتي مميز ثابت مينيمم مقدار قابل نمايش 2 – 31 و ماكزيمم آن 1 -2 –31 مي باشد . نسبت بين ايـن دو كه محدوده ديناميك قالب داده است تقريباً و 15×2 . 15 حدود 187Db مي باشد . يك قــالب مميز شناور 32 بيتي با همان اندازه ( 24 بيت مانتيس و 8 بيت مفسر ) مي تواند اعداد را از حدوداً
10 – 39×5.88 تـــا 10 38 × 3.4 نمايش مي دهد . محدوده ديناميك تقريباً 1076× 5 . 79 يا 1535Db مي باشد . لذا با استفاده ازهمان تعداد بيتهاي مميز ثابت ، قالب مميز شناور بطور قابل ملاحظه اي محدوده ديناميك بيشتري را فراهم مي كند .
دركاربردها محدوده ديناميك به محدوده دامنــــــه هاي سيگنالهايي اطلاق مي شود كه مي توانندباحفظ دقت كافي پردازش شوند.كاربردهاي متفاوت محدوده ديناميك متفاوتي نيازدارند. دركاربردهاي مخابرات راه دور معمولاً محدوده ديناميك در همسايگي 50 dB كفايت مي كند . در كاربردهاي صوتي با كيفيت بالا مقدار 90 dB عمومي است .
پردازنده هاي DSP مميـز شناور عموماً از نوع مميز ثابت گرانتر بوده اما برنامه نويسي آنها آسانتر است . هزينه بيشتر به دليــل مداربندي پيچيده تر است . علاوه براين ، اندازه كلمه بزرگتر در پردازنده هاي مميز شناور مستلـزم گذرگاههاي عريض تر و حافظه هاي بيشتر است كه هزينه كل سيستم را افزايش مي دهد .
آساني كاربرد پردازنده هاي مميــز شناور به اين دليل است كه برنامه نويس در بسياري از موارد لازم نيست به محدوده ديناميك و دقت توجـه نمايد . ولي در نوع مميز ثابت برنامه نويسان مي بايست سيگنالها را در مراحل گوناگون برنامه هايشان مقياس بندي كنند تا از محدوده عددي و دقت مناسب در پردازنده تجاوز ننمايند.
اكثر كاربردهاي محاط شده و پرحجم از پردازنـده هاي مميز ثابت استفاده مي كنند چرا كه اولويت با هزينه كمتر است . برنامه نويسان و طراحان الگوريتم محدوده ديناميك و دقت مورد نياز كاربردشان را به صورت تحليلي يا از طريق شبيه سـازي تعيين نموده اعمال مقياس بندي لازم را به برنامه اضافه مي كنند . در كاربردهايي كه به قيمت كمتـر حساس هستند يا محدوده ديناميك و دقت بيشتري را مي طلبند و يا آساني برنامه نويسي مهم است ، پردازنـده هاي مميز شناور مزيت دارند .
3-2 عرض اصلي كلمه :
عـــرض اصلي كلمه داده در يك پردازنده عرض داده اي است كه گذرگاههاي پردازنده و مسير داده مي توانند در يك سيكـــل بر روي آن عمليات انجام دهند . تمامي پردازنده هاي مميز شناور از عرض داده 32 بيتي بهــــره مي برند . در نوع مميز ثابت عرض 16 بيت معمول است . خانواده هاي DSP5600X و DSP 563XX موتورولا كلمه داده 24 بيتي و ZR3800X كلمه 20 بيتي دارند . اندازه كلمه داده اثر مهمي روي هزينه پردازنده دارد چرا كه اندازه تراشه و تعداد پايه هاي مورد نياز براي قطعات خارجي را افزايش مي دهد .بنابراين طراحان سعي مي كنند از تراشه اي با كمترين عرض داده مناسب با كاربردشان استفاده كنند.تراشه CD 2450 از CLARKSPUR Designs منحصر به فرد است بطوريكه انتخاب هر كلمه داده اي بين 16 يا 24 بيت را ممكن مي سازد .
غالباً هنگام انتخاب تراشه هاي مميز شناور يا مميز ثابت مصالحه اي بين كلمه و پيچيدگي توسعه وجود دارد . كاربردي كه نشان مي دهد جهت كارايي بهتر به داده 24 بيتي نياز دارد ممكن است با يك پردازنــده 16 بيتي البته به بهاي هزينه بيشتر و الگوريتم پيچيده تر يا برنامه نويسي دشوارتر به انجام رسد .
3-3دقت توسعه يافته :
دقت توسعه يافته به معناي استفاده ازنمايشهايي است كه دقت بيشتري به قــــالب داده اصلي پردازنده فراهم مي كنند . دقت گسترش يافته به دو روش زير صورت مي گيرد :
اول : بسياري از پردازنده هاي مميز شناور يا ثابت جهت اعمالي كه بطور انحصـاري داخل مسير داده قرار دارند پشتيباني داخلي براي قالب دقت گسترش يافته را فراهم مي كنند. اين بدان معناست كه وقتي مجموعه هايي از اعمال حسابي داخل مسير داده پردازنده در حال اجرا هستند و نتايج مياني يا نهايي به و يا از حافظه منتقل نمي شوند،عرض كلمه داده بزرگتري نسبت به عرض داده اصلي در دسترس مي باشد . لذل مجموعه اي از اعمـــال حسابي با دقت بيشتر يا محدوده ديناميك وسيعتري انجام مي شوند .نهايتاً هنگام ذخيره نتيجه به حافظه يك عمل گردكردن انجام مي شود .
دوم : عموماً ممكن است و اغلب دشواركه حساب چند دقتي را با ساختن كلمه هاي بزرگتر نسبت به كلمه هاي اصلي انجام دهيم.براي مثال بايك پردازنده مميز ثابت 16 بيتي برنامه نويس مي تواندكلمات داده 32 بيتي را بااتصال جفت كلمات 16 بيتي تشكيل دهد.برنامه نويس مي تواتد اعمال حساب چند دقتي رابه كمك دنباله اي دقيق ازدستورات تك دقتي پياده سازي كند. مثلاً يك جمع چند دقتي اغلب مي تواند توسط يك سري از دستورات جمع تك دقتي محقق شود .
البته از آنجاييكه هر عمل حسابي چند دقتي به دنباله اي از دستورات تك دقتي نياز دارد لذا حساب چند دقتي كندتر مي باشد . هر چند بعضي از پردازنده ها ويژگيهايي دارند كه حسـاب چند دقتي ر آسان مي كنند .
اگر حجم يك كاربرد با حساب تك دقتي دستكاري شود اما براي بخشهاي كوچك برنـامه دقت بيشتري نياز باشد ، حساب چند دقتي مناسب نخواهد بود . چنانچه اكثر كـــاربردها به دقت بيشتري نياز داشته باشند به نظر مي رسد پردازنده اي با كلمه داده بزرگتر انتخاب بهتري باشد .
3-4 مميز شناور بلوكي :
حتي هنگام استفاده از پردازنده مميز ثابت اين امكان وجود داردكه دقت ومحدوده ديناميك حساب مميز شناوررا به كمك روتين هاي نرم افزاري كه همانند پردازنده مميزشناور رفتار مي كنند به دست آوريم .بعضي ازسازندگان ، كتابخانه روتين هاي مشابه مميز شناور را براي پردازنده هاي مميز ثابت فراهم مي كنند.اگركتابخانه دردسترس نباشدكاربرمي بايست اين روتين ها را بنويسد . روتين هاي مميز شناور معمولاً براي اجرا به سيكلهاي بسياري نيـاز دارند . اين ايجاب مي كند كه استفاده از اين روش تنهادرمواقعي باشدكه بخشهاي بسياركوچكي از محاسبات رياضي در كاربرد داده شده به قالب مميز شناور نيـاز داشته باشند . اگر حجم قابل ملاحظه اي از حساب مميز شناور نياز است معمولاًپردازنده مميز انتخاب دقيق تري مي باشد .
رهيـافت ديگر براي بدست آوردن محدوده ديناميك و دقت بيشتر جهت داده انتخاب شده در پردازنده مميزثابت نمايش مميزشناوربلوكي مي باشد.دراين روش گروهي ازاعدادباماشين هاي متفاوت اما مفسر مشترك به عنوان بلوكي از داده پردازش مي شوند . علاوه بر ذخيره مفسر داخل هر كلمه داده ( همچنانكه در مميز شناور انجام مي شود ) مفسر در كلمه داده مجزاي خودپپش نيز ذخيره مي شود.براي مثال يك بلوك از هشت مقدارداده ممكن است يك مفسرعمومي را بكار برد . در اين مورد ذخيره يك بلوك از 8 مقدار داده به 9 موقعيت حافظه نياز دارد ( 8 مـــــانتيس و 1 مفسر ) .
مميز شناور بلوكي به منظور محدوده ديناميك و دقت بيشتر نسبت به قالبهاي حسابي مميز ثابت پردازنده بكار مي رود . ممكن است يك روتين فيلتر بر اساس مقادير 32 بيتي بوده ، امــــا برنامه نويس آن را به بلوكهايي با نمايش 16 بيت مانتيس و مفسر4 بيتي براي هربلوك داده تقليل دهد . مفسر براي بلوكي از داده معمولاً به وسيله المان داده در بلوك با بزرگترين دامنه تعييــــن مي شود . اگر بلوكي از داده ها مقادير كوچكي داشته باشد اين مقادير چندين مكان به چپ شيفت داده مي شوندكه به تبع آن مفسر منفي تر مي شود . اگر آن بلوك مقادير بزرگي داشته باشد تعداد شيفت به چپ كمتر خواهد بود . چنانچه قابليت شيفت داده وجود نداشته باشد دقت حاصل مشابه همان قالب اصلي پردازنده مي باشد . شكل ( 3-5 ) مفاهيم مميز شناور بلوكي را توضيح مي دهد .
تبديل بيـــن قالب مميز ثابت و مميز شناور بلوكي توسط برنامه نويس در نرم افزار انجام مي شود . بعضي از پردازنده ها ويژگيهاي سخت افزاري بخصوصي دارند كه آنها را در استفاده از مميز شناور بلوكي ياري مي كنند.عمومي ترين آن دستور « آشكار كننده مفسر » است . اين دستور شيفت هاي مورد نياز را محاسبه مي كند .
دستورات ويژه كه مميز شناور بلوكي را پشتيباني مي كنند در فصل 7 بررسي مي شوند .
3-5 استاندارد مميز شناور IEEE – 754 :
در سال 1985 انستيتوي مهندسان برق و الكترونيك استاندارد IEEE – 754 را تعريف كرد . پردازنده هاي معدودي سخت افـــزاري را براي پشتيباني از اين حساب فراهم مي كنند . در DSP 96002 پشتيباني سخت افزاري بـراي حساب مميز شناور تك دقتي مطابق با اين استاندارد وجود دارد . خانواده ADSP – 210XX بطور كامل از اين استاندارد تبعيت مي كند .
بعضي از پردازنده هاي مميز شناور نظير AT&TDSP32XX ويژگي داخلي براي IEEE – 754 ندارد اما سخت افزارويژه اي رابراي تبديل سريع اعداد بين نمايش مميز شناور داخلي و استاندارد مذكور در بر مي گيرد.پشتيباني سخت افزاري براي تبديل قالي مي تواند در كاربردهايي مهم باشد كه به يك DSP براساس اين استانداردنياز نداشته باشند و بتوانند با ديگر پردازنده هايي كه از اين استاندارد بهره مي برند ارتباط برقرار كنند.بدون اين ويژگي DSP مميز شناور مذكور مي بايست از روتين ناي نرم افزاري جهت تبديل دو قالب استفاده كند كه مي تواند زمان بر و وقت گير باشد .
3-6 ارتباط بين اندازه كلمه و اندازه كلمه دستور :
دراكثرپردازنده هايDSP بجزتعداد اندكي اندازه كلمه دستوربا اندازه كلمه داده برابر است . تنها خانواده ADSP – 21XX و IBM MDSP2780 كلمه داده 16 بيتي وكلمه دستور24 بيتي دارند . خانواده ZORUN ZR3800X نيز داده 20 بيتي و دستور 32 بيتي را بكار مي برد .
پردازنده هايي با اندازه هاي كلمه متفاوت عموماً در موارد ذخيره داده در حافظه با قيدهايي مواجه اند ( براي مثال داده 16 بيتي در حافظه 24 بيتي ) . واضح است كه اين روش در استفاده از حافظه كارآمد نمي باشد چرا كه بخش قابل ملاحظه اي از كلمه حافظه برنامه كه جهت ذخيره داده استفاده مي شود بلا استفاده مانده و اين مي تواند روي هزينه كلي سيستم تاثير گذار باشد .
