Professional Documents
Culture Documents
1
1
1
الشكل -2-
من وجهة نظر السوق ٌمكن أن نقسم السنوات الماضٌة من عمر ال DSPsإلى طورٌن هما طور التطوٌر
الذي استمر حتى أوائل التسعٌنٌات و طور االندماج الذي ٌستمر حتى وقتنا الحالً .
الشكل ٌ 2ظهر لمحة عامة عن تطور ممٌزات ال DSPsسوٌة مع العام األول من التسوٌق من أجل بعض
عوائل ال . DSPs
خالل طور التطوٌر , development phaseمعالجات اإلشارة الرقمٌة كانت مبنٌة بشكل نمطً على
بنٌة هارفارد .الجٌل األول من ال DSPsتضمن وحدات ضرب و جمع و وحدة مراكم .accumulator
مثال على ذلك TMS 327C17من شركة , Texas instrumentsالجٌل الثانً من معالجات اإلشارة
الرقمٌة حافظ على البنٌة هارفارد الخاصة بالجٌل األول و أضاؾ بعص المٌزات مثل pipeliningو
المعامالت الحسابٌة المتعددة و مولد عنوان الخاص special address generatorو الوصول المباشر
للذاكرة ) . Direct Memory Access(DMAمثال على ذلك . TMS327C27كانت معالجات اإلشارة
الرقمٌة األولى تقوم بالحسابات األعداد ذات الفاصلة الثابتة fixed-pointو فً نهاٌة الثمانٌنٌات ظهرت
معالجات إشارة رقمٌة مع مقدرة على معالجة البٌانات ذات الفاصلة العائمة مثل ٌ . TMS327C37جب
مالحظة أن حسابات الفاصلة العائمة لم تكن دوما متوافقة مع معاٌٌر . IEEEعلى سبٌل المثال فإن
الحسابات الداخلٌة ل TMS327C37كانت تنفذ عن باستخدام صٌؽة تمثٌل بٌانات مملوكة للشركة و ٌجب
استخدام دارة متكاملة من أجل التحوٌل بٌن الصٌؽة المملوكة للشركة و الصٌؽة المعتمدة من قبل . IEEE
معالجات اإلشارة الرقمٌة التً كانت تستخدم أثناء طور التطوٌر كان لها طول تعلٌمات ثابت .حٌث أن
واحدة من التعلٌمات التً تنتمً لمجموعة التعلٌمات ٌتم تنفٌذها عند كل دورة ساعة . clock cycleهذه
التعلٌمات من الممكن أن تكون معقدة و تنطوي على العدٌد من التعلٌمات .عرض التعلٌمة كان قصٌراً
بشكل نمطً .
خالل طور االندماج فً السوق انبثقت المعالجات ذات عرض كلمة التعلٌمة الطوٌل جداً)Very )VLIW
Long Instruction Wordو ذات التعلٌمة الواحدة متعددة البٌانات Single Instruction Multiple
)SIMD( Dataهذه البنى قامت بتحسٌن أداء معالج اإلشارة الرقمٌة عن طرٌق التفرع . parallelism
من األمثلة على معالجات اإلشارة الرقمٌة ذات البنٌة المحسنة المعالجات الخاصة بشركة Texas
Instrumentsمن النوع TMS327C6xxxوالتً كانت المعالجات االولى التً طبقت بنٌة VLIWو
المعالج من شركة ADIالمسمى , TigerSHARCوالذي ٌتضمن ممٌزات VLIWو بنٌة . SIMDعدد
اإلضافات التً كانت مدمجة مع المعالج تزاٌد بشكل كبٌر خالل هذه الفترة باإلضافة إلى مزاٌا الهاردوٌر
التً تسمح للعدٌد من المعالجات أن تعمل مع بعضها .التقنٌات التً تسمح بتبادل البٌانات فً الزمن
الحقٌقً بٌن المعالج المضٌؾ و معالج اإلشارة الرقمٌة بدأت بالظهور عند نهاٌات التسعٌنٌات .األمر
الملحوظ أٌضا ً خالل هذه الفترة هو التناقص فً أعداد مصنعً معالجات اإلشارة الرقمٌة .عدد عائالت
معالجات اإلشارة الرقمٌة أٌضا ً تناقص بشكل كبٌر .باإلضافة لذلك كانت العدٌد من هذه العائالت مخصصة
ألؼراض معالجة إشارة معٌنة مثل المعدات الصوتٌة و حلقات التحكم .
-2-2تطور معالج اإلشارة الرقمية :تكامل الجهاز : Device integration
الجدول 2
الجدول 3
حٌث yهو خرج المرشح و xهو الدخل و aهو شعاع معامالت المرشح .اعتماداً على التطبٌق من
الممكن أن تكون هناك بعض المعامالت للمرشح أو من الممكن أن تكون هناك العدٌد من المئات من
المعامالت أو أكثر .
من المعادلة نالحظ أن المكون الرئٌسً فً خوارزمٌة المرشح هو عملٌة الضرب و المراكمة ,و ٌطلق
علٌها عادة ) . MAC (multiply and accumulateبٌانات المعامالت ٌجب أن ٌتم استعادتها من الذاكرة
و العملٌة ٌجب أن ٌتم تنفٌذها بطرٌقة متوقعة و سرٌعة ,و ذلك للحفاظ على معدل انتاجٌة عال high
. throughput rateفً النهاٌة ,الدقة العالٌة ٌجب أن ٌتم ضمانها أٌضا ً .هذه المتطلبات مشتركة بٌن
العدٌد من الخوارزمٌات المستخدمة فً معالجة اإلشارة الرقمٌة ,مثل مرشحات Infinite Impulse
Responseو تحوٌل فورٌٌه ٌ .ظهر الجدول مجموعة من متطلبات المعالجة سوٌة مع معالم الهاردوٌر
الرئٌسٌة التً تحقق هذه المتطلبات .
الجدول 4
الشكل 4
ٌملك هذا المعالج ذاكرة مخبئٌة للداتا و ذاكرة مخبئٌة لتعلٌمات البرنامج ٌ.وجد مستوٌٌن من الذاكرة المخبئٌة
هما المستوى L1و المستوى . L2المستوى L1هو عبارة عن ذاكرة بحجم 9Kbyteو هً مقسمة إلى
قسمٌن 4 Kbyteذاكرة برنامج مخبئٌة و القسم الثانً بنفس الحجم و هو عبارة عن ذاكرة مخبئٌة للبٌانات .
المستوى ٌ L2شكل ذاكرة بحجم 256 Kbyteمقسم إلى ذاكرة maped-SRAMبحجم 182Kbyteو
64Kbyteذاكرة cacheثنائٌة . dualالجزء األخٌر ٌمكن أن ٌكون على شكل maped memoryأو
cacheأو تركٌبة من اإلثنٌن .
ٌبٌن الشكل 5التالً الهرمٌة النمطٌة typicalلذواكر معالجات اإلشارة الرقمٌة .
الشكل 5
2-2-3أنماط عنونة مخصصة (خاصة) Specialized
تملك معالجات اإلشارة الرقمٌة أنماط عنونة خاصة و تملك هاردوٌر موافق لهذه األنماط للسماح بالوصول
السرٌع لمعامالت التعلٌمات عن طرٌق التولٌد السرٌع لموقعها فً الذاكرة .معالجات اإلشارة الرقمٌة تدعم
بشكل متسارع نطاقا ً عرٌضا ً من أنماط العنونة المخصصة ,مصممة من أجل التطبٌق الفعال لخوارزمٌات
معالجة اإلشارة .
الشكل ٌ 6ضٌؾ وحدات مولد العنوان إلى البنٌة األساسٌة لمعالج اإلشارة المبٌنة فً الشكل . c - 3كما
فً المعالجات ذات األؼراض العامة ,معالجات اإلشارة الرقمٌة تتضمن عداد برنامج و الذي ٌدٌر بنٌة
البرنامج و جرٌان البرنامج عن طرٌق إعطاء عناوٌن الذاكرة من أجل عملٌة جلب التعلٌمات .بعكس
معالجات األؼراض العامة فإن معالجات اإلشارة الرقمٌة تتضمن مولد عنوان الذاكرة و الذي ٌتحكم بتولٌد
العنوان من أجل أنماط العنونة المخصصة .
الشكل 6
مثال على مولد عنوان باستخدام العوازل الحلقية :
العوازل الحلقٌة هً مناطق محدودة من الذاكرة حٌث الداتا ٌتم تخزٌنها بطرٌقة FIFOهذه المناطق من
الذاكرة ٌتم إدارتها باستخدام طرٌقة ( warp-aroundااللتفاؾ حول) ,بمعنى آخر موقع ذاكرة متبوع بأول
موقع ذاكرة .مجموعتان من المؤشرات ٌتم استخدامها واحدة للقراءة و واحدة للكتابة ,طول الخطوة التً
عندها ٌتم الوصول إلى موقع الذاكرة ٌسمى . strideتستخدم وحدة تولٌد العنوان من أجل عملٌة "الخطو"
stridingعبر العوازل الحلقٌة بدون الحاجة إلى تعلٌمات خاصة من أجل تحدٌد أٌن سٌتم الوصول إلى
موقع الذاكرة التالً (تحدٌد عنوان الذاكرة التالً) .تفٌد هذه الخاصة فً المرشحات الرقمٌة .
الشكل 2
العنونة بعكس البتات :
تستخدم فً حساب . DFTتتطلب العدٌد من عملٌات تنفٌذ تحوٌالت فورٌٌه أن ٌتم إعادة ترتٌب إما الدخل أو
الخرج و التً توافق عكس ترتٌب البتات فً فهرس المصفوفة .التنفٌذ عن طرٌق السوفتوٌر ٌتطلب العدٌد
من دورات الساعة فً ال CPUأما عن طرٌق خاصٌة ال ( bit-reversalعكس البتات) المنفذة كهاردوٌر
فالوضع أسهل .
الشكل 9
3-2-3متحكم الوصول المباشر إلى الذاكرة Direct Memory Access Controller DMA
متحكم الوصول السرٌع للذاكرة هو معالج ثان ٌعمل بالتوازي مع نواة ال DSPو مخصص لنقل المعلومات
بٌن موقعٌن من الذاكرة أو بٌن الطرفٌات و الذاكرة .عن طرٌق استخدام هذا المتحكم الثانً ٌتم تفرٌػ نواة
ال DSPمن أجل عملٌات المعالجة األخرى .
الشكل 8
ٌظهر الشكل 17فائدة استخدام ال DMAو المتمثلة فً تحرٌر معالج اإلشارة الرقمٌة من مهمة التعامل مع
الذاكرة بشكل مباشر و تفرؼه للقٌام بمهام أخرى .
الشكل a . 17عملٌة القراءة و المعالجة و القراءة للبٌانات عند وجود نواة DSPبدون b . DMAعند
وجود نواة DSPو . DMA
-3-3الحوسبة السريعة
نناقش اآلن تكتٌكات و بنى مستخدمة فً معالجات اإلشارة الرقمٌة من أجل الحوسبة السرٌعة .
بنٌة MAC-centeredمشتركة بٌن جمٌع المعالجات منذ أٌامها األولى .و باقً التقنٌات المذكورة تم
تقدٌمها منذ تسعٌنٌات القرن الماضً و ما بعد.
3.3.1بنية ال MAC-centered
عملٌة MACمستخدمة من قبل العدٌد من خوارزمٌات معالجة اإلشارة الرقمٌة كما تم مناقشته سابقا ً ,بناءاً
على ذلك ٌجب أن ٌتم أمثلة عملٌة تنفٌذها و بالتالً تحسٌن عمل معالج اإلشارة الرقمٌة ككل .إن الكتل
الرئٌسٌة الخاصة بالعملٌات الحسابٌة فً معالج اإلشارة الرقمٌة هً
عدد كبٌر من المسجالت . -1
ضارب أو أكثر من ضارب . -2
وحدة حساب و منطق واحدة أو أكثر . -3
واحد أو أكثر من دارات اإلزاحة . -4
هذه البلوكات تعمل على التوازي خالل نفس دورة الساعة . clock cycle
البلوكات مبٌنة فً الشكل 11الذي ٌبٌن البلوكات الحسابٌة األساسٌة لمعالج ADI SHARC
الشكل 11
المسجالت :هً كتل من الذاكرة ذات سرعة عالٌة جداً تستخدم من أجل تخزٌن البٌانات المرحلٌة -1
أثناء عملٌة المعالجة .و ؼالبا ً تكون هذه المسجالت ذات عرض أكبر من كلمة معالج اإلشارة
الرقمٌة العادٌة .و بالتالً ٌتم تقدٌم دقة أعلى أثناء عملٌة المعالجة .
الضارب :من الممكن أن ٌقوم بتنفٌذ عملٌات الضرب خالل دورة ساعة واحدة و ؼالبا ً ما ٌتضمن -2
مسجالت مراكمة من أجل إنقاص عملٌة تدوٌر األعداد round-offو إلنقاص خطأ االقتطاع
. truncation errorكنتٌجة لذلك ,فإن أخطاء التدوٌر و االقتطاع ستحصل فقط فً نهاٌة عملٌة
معالجة البٌانات عندما تخزن البٌانات فً الذاكرة .فً بعض األحٌان ٌتم إدماج دارة جامع فً
الضارب .
وحدة الحساب و المنطق : ALUتقوم بتنفٌذ العملٌات الحسابٌة و المنطقٌة. -3
دارات اإلزاحة : Siftersتقوم بإزاحة بتات الدخل بمقدار بت واحد أو أكثر إلى الٌمٌن أو الٌسار . -4
من البنى المستخدمة من أجل اإلزاحة السرٌعة فً معالجات اإلشارة الرقمٌة بنٌة ال barrel
shifterو هو عبارة عن دارة إزاحة للدخل ال تستخدم أي منطق تتابعً و تتمٌز بسرعتها العالً .
و ٌبٌن الشكل 12بنٌة ال . barrel shifter
الشكل 12
2-3-3نقل التعليمات بطريقة أنبوبية : instruction pipelining
عملٌة ال pipeliningأصبحت عنصراً مهما ً لتحقٌق أداء عال لمعالجات اإلشارة الرقمٌة .تتألؾ من
تقسٌم التعلٌمات إلى مراحل متعددة و تنفٌذ التعلٌمات المتعددة بمراحل متوازٌة .نتٌجة لهذه العملٌة تزداد
انتاجٌة عملٌة تنفٌذ التعلٌمات .العملٌة ككل ٌمكن مقارنتها بخط تجمٌع معمل ٌنتج السٌارات على سبٌل
المثال :حٌث توجد أكثر من سٌارة فً نفس الوقت على خط التجمٌع بنفس اللحظة ,و على مراحل مختلفة
من عملٌة التجمٌع .هذا ٌؤدي إلى إنتاج أعلى من الحالة التً ٌتم فٌها انتاج سٌارة واحدة فقط فً نفس
اللحظة حٌث تكون معظم طواقم التجمٌع فً حالة فراغ و ٌنتظرون السٌارة التالٌة التً تحتاج إلى قٌامهم
بعملهم .
الجدول التالً ٌبٌن المراحل األساسٌة basicالتً ٌنقسم إلٌها التنفٌذ األنبوبً للتعلٌمات .
-1عملٌة جلب التعلٌمة ٌ :قوم معالج اإلشارة الرقمٌة بحساب العنوان الخاص بالتعلٌمة التالٌة .و
استعادة ترمٌز التعلٌمة و المعامالت التً ٌتم تنفٌذ العملٌة علٌهم .
-2فك ترمٌز التعلٌمة .رمز التعلٌمة ٌتم تفسٌره و ٌتم إرساله إلى الوحدة الوظٌفٌة الموافقة .التعلٌمة
ٌتم تفسٌرها و المعامالت ٌتم استعادتها .
-3التنفٌذ . Executeالتعلٌمة ٌتم تنفٌذها و النتائج ٌتم كتابتها ضمن مسجالت .
ٌظهر الشكل 13حسنة advantageالمعالج الذي ٌنفذ التعلٌمات بشكل أنبوبً pipelined CPUبالمقارنة
مع معالج ال ٌنفذ التعلٌمات بشكل أنبوبً non-pipelinedو ذلك فٌما ٌخص موضوع كسب المعالجة
. processing gainفً المعالج الذي ال ٌنفذ التعلٌمات بشكل أنبوبً تكون التعلٌمات المختلفة منفذة بشكل
تسلسلً .بٌنما فً المعالج الذي ٌنفذ التعلٌمات بشكل أنبوبً الخطوات فقط هً التً تكون تسلسلٌة ( الجلب
و فك الترمٌز و التنفٌذ ( ,بٌنما التعلٌمات ٌتم تنفٌذها بشكل تفرعً .الخط األنبوبً ٌ pipelineقال عنه
أنه محمل بشكل كامل fully-loadedإذا كانت كل المراحل تنفذ فً نفس الوقت ,و هذا ٌوافق أعلى
انتاجٌة throughputممكن للتعلٌمات .
الشكل 13