أحد صفحات التقدم العلمي للنشر
علوم الكمبيوتر

الحوسبة التشكُّلية (المُطاوِعَة

<=”” td=”” style=”font-family: tahoma; font-size: 12px; color: rgb(0, 0, 0);”>  

الحوسبة التشكُّلية (المُطاوِعَة)(*)

إن الحواسيب القادرة على تعديل داراتها (دوائرها) الإلكترونية

أثناء عملها تفتح عهدا جديدا في عالم تصميم الحواسيب.

ولقدرتها على ترشيح (تصفية) البيانات بسرعة فإنها تتميز

في مجالات تعرّف الأنماط ومعالجة الصور والتعمية.

<J. ڤيلاسنور> ـ <H .W. مانجيون ـ سميث>

 

http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008940.jpg

أداة منطقية قابلة لإعادة التشكّل (في اليمين) ذات دارات إلكترونية يمكنها أن تتغير كليا أو جزئيا أثناء تشغيلها. توضح الصور العلوية التي تم الحصول عليها بوساطة المجهر الإلكتروني الماسح (قوة تكبير 3000 مرة) ثلاث طبقات معدنية من دارات ثابتة لخلية قلاّبة flip-flop في صفيف بوابات قابلة للبرمجة. تضم الخلية القلابة أربع خلايا ذاكرة ذات مفاتيح (الصورة السفلى، الأجزاء الملونة) يمكن أن تفتح أو تغلق إلكترونيا لتنتج ممرا موصلا.

 

في طريقهم لإيجاد التوازن الملائم بين السرعة وتعددية الاستعمال (العمومية) يعترض مصممي الحاسوب تحد مستمر، فهم قادرون على بناء شيپات متعددة الأوجه يمكنها أن تقوم بوظائف متنوعة عديدة ولكن ببطء نسبي، أو على ابتكار شيپات لتطبيقات محدّدة تقوم بأداء مجموعة معينة من المهام ولكن بسرعة أكبر. إن المعالجات المكروية (مثل شيپات إنتل پنتيوم IntelPentium أو موتورولا پاور پي سي Motorola Power PC الموجودة عادة في  الحواسيب الشخصية) هي معالجات ذات مهام عامة. فالتعليمات البرمجية المكوّدة في النظام الثنائي يمكنها توجيه المعالج المكروي فعليا خلال أي عملية منطقية أو رياضياتية يمكن للمبرمج أن يتخيلها. فالمعالج إنتل پنتيوم، على سبيل المثال، لم يكن مصمما خصيصا لتنفيذ ميكروسوفت وورد Microsoft Wordأو اللعبة الحاسوبية دووم Doom، إلا أنه يستطيع تشغيل كليهما.

 

وبالمقابل فإن الدارات (الدوائر) المصممة لمهام معينة، والمعروفة غالبا بالدارات المتكاملة المحدّدة التطبيقات application-specific integrated circuits ASICs تؤمن بدقة الأداء الوظيفي اللازم لمهمة معينة فقط. فمن خلال الموالفة tuning الدقيقة لكل وحدة من هذه الدارات لوظيفة معينة، يستطيع مصممو الحاسوب إنتاج شيپة أصغر حجما وأقل تكلفة وأكثر سرعة وتستهلك طاقة أقل من المعالجات القابلة للبرمجة. فشيپّة رسومية graphics خاصة بالحاسوب الشخصي، على سبيل المثال، تستطيع أن ترسم خطوطا أو تلوِّن صورا على الشاشة بسرعة تصل إلى عشرة أضعاف أو حتى مئة ضعف من وحدة معالجة مركزية عامة الاستعمال.

 

وعندما يضع المصمِّمون خياراتهم بين تعددية الاستعمال والسرعة، فإن عليهم أن يواجهوا مسألة التكلفة. فقد تعالج دارة جيدة التصميم من الداراتASIC المشكلة المعينة التي صُمِّمت من أجلها ولكنها، على الأغلب، لن تعالج مشكلة تختلف قليلا عن الأولى إذا ما ظهرت هذه المشكلة بعد الانتهاء من تصميم الدارة. إضافة إلى ذلك فحتى لو أمكن تطوير دارة معدّلة جديدة من هذه الدارات لمعالجة المشكلة الجديدة، فإن الدارات الأساسية قد تكون على درجة من التعقيد والتخصص بحيث يتعذر استخدامها في الأجيال المتعاقبة. وفي المآل، فإن تكلفة الجهد الهندسي المطلوب لتصميم وبناء دارة من الدارات الخاصةASIC يجب تجزيئه على عدد قليل من الوحدات.

 

وثمة تطور جديد في الدارات المتكاملة يقدم خيارا ثالثا: صفيفات بوابات قابلة للبرمجة field-programmable gate arrays FPGAs كبيرة وسريعة. وهي دارات إلكترونية عالية الموالفة يمكن تعديلها في أي مرحلة أثناء تشغيلها. وتتكون الدارات الإلكترونية هذه من صفيفات من الوحدات المنطقية القابلة للتشكُّلconfigurable، والقادرة على تنفيذ الوظائف المنطقية للبوابات. وتشبه البوابات المنطقية المفاتيح ذات المُدْخلات المتعددة والمُخْرج الواحد. وتستخدم في الدارات الرقمية للقيام بالعمليات الثنائية الأساسية مثل NAND و AND و NOR و OR وXOR. إن الوظائف المنطقية للبوابات في معظم العتاد (المكونات المادية)hardware المستخدم في الحوسبة الآن ثابتة ولا يمكن تغييرها (تعديلها)، أما في صفيفات البوابات القابلة للبرمجة (FPGA) فإن كلا من الوظائف المنطقية التي تقوم بها الوحدات المنطقية والتوصيلات ما بين هذه الوحدات يمكن تغييرها، وذلك بإرسال بعض الإشارات إلى الشيپة. وتشبه هذه الوحدات في تركيبها صفيفات البوابات المستخدمة في بعض الدارات المتكاملة الخاصة بالتطبيقاتASIC، إلا أن صفيفات البوابات يتم تشكيلها خلال تصنيعها في حين يمكن إعادة توصيل وبرمجة الوحدات المنطقية التشكُّلية في الشيپات FPGA أكثر من مرة ولفترة طويلة من إتمام صناعة الدارة المتكاملة.

 

مجموعة دارات قابلة للبرمجة

دارات (دوائر) قابلة للبرمجة (الخطوط الزرقاء) في صفيف بوابات قابلة للبرمجة FPGA يمكن تكوينها أو إزالتها عن طريق إرسال إشارات إلكترونية إلى بوابات في العناصر المنطقية. تسمح شبكة (مبيّتة built-in) من الدارات المرتّبة على شكل صفوف وأعمدة للمصمم بأن يصل عنصرا منطقيا بعناصر منطقية أخرى أو بذاكرة خارجية أو بمعالج مكروي. ويتم تجميع العناصر المنطقية في وحدات تقوم بالعمليات الثنائية الأساسية مثل OR و ANDو NOT؛ وقد طوّرت شركات عدة، بما فيها زيلينكس Xilinx وألتيرا Altera، أدوات عدة بقدرة 000 100 بوابة مكافئة.
http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008941.jpg

 

إن ما فتح باب الحوسبة التشكُّلية configurable computing على مصراعيه هو تصميم الشيپات FPGA التي يمكن تشكُّلها بسرعة فائقة. وكانت أوائل الشيپات هذه تحتاج إلى عدة ثوان أو أكثر لتغيير (تعديل) توصيلاتها ـ وهذا مناسب لأولئك المهندسين الذين كانوا بحاجة إلى اختبار تصاميم لدارات بديلة، أو لتلك الشركات التي تبيع أدوات قد تحتاج إلى تحسين أدائها بين الفينة والأخرى. ولكن الشيپات FPGA  الأكثر حداثة يمكن تشكُّلها في زمن قدره ملّي ثانية واحدة، ونتوقع أن نشهد في السنتين القادمتين أدوات يصل زمن التشكُّل فيها إلى مئة مكروثانية. وفي النهاية، يمكن لأدوات الحوسبة أن تكون قادرة على مهايئةadapt عتادها بشكل شبه مستمر مع تغير مُدْخلات البيانات أو بيئة المعالجة.

 

تطرأ تغييرات عدّة على تصميم الشيپة FPGA، ولكن تركيبها الأساسي يتكون من عدد كبير من وحدات منطقية قابلة للتشكل ومن شبكة توصيلات قابلة للبرمجة يمكن أن تربط هذه الوحدات بأي نمط يختاره المصمّم. فالشيپات ذات البُنى «الخشنة الحبيبات» coarse-grained  تتكون من عدد قليل من الوحدات المنطقية التشكُّلية القوية، أما الشيپات «الناعمة الحبيبات» fine-grained  فتتكون من عدد كبير من الوحدات البسيطة. ويمكن لعنصر منفرد في الشيپة FPGAالخشنة الحبيبات أن يكون قادرا على جمع أو مقارنة عددين. أما عنصر واحد في شيپة ناعمة الحبيبات فيمكن أن يكون قادرا فقط على مقارنة رقمين ثنائيين، أي يمكن اعتباره فعلا بوابة منطقية واحدة. ويمكن للمصمّم أن يختار في البداية إما شيپة خشنة أو ناعمة الحبيبات وفقا لما يتطلبه التطبيق المراد تصميمه والوقت المتوافر لبناء المكونات الأساسية المعقدة للنظام انطلاقا من نقطة البدء.

 

ويمكن لأدوات الحوسبة أن تستخدم العناصر التشكُّلية بتقنيات عدة، أقلّها تطلّبا هو الانتقال ما بين الوظائف الجاهزة للتنفيذ ـ يقابل ذلك في العتاد إيقاف تنفيذ برنامج معين وتشغيل آخر جديد. ويمكن في تطبيق كهذا قبول زمن إعادة تشكُّل بطيء يقارب عدة ثوان. أما البرمجة السريعة فإنها تسمح بتبادل (مقايضة) تصميم دينامي: تقوم الشيپة FPGA  الإفرادية بتنفيذ سلسلة من المهمات بتعاقب سريع بحيث تعيد تشكيل نفسها بين كل من هذه المهمات. وتعمل تصاميم كهذه على تشغيل الشيپة بصيغة مشاركة الزمن، وذلك بالتبديل بين التشكيلات المتتالية بسرعة تبدو من خلالها أن الشيپة FPGA تنفذ جميع  وظائفها في الوقت نفسه.

 

واعتمادا على هذا التوجه، قمنا ببناء نظام بث ڤيديوي من شيپة منفردة قادرة على إعادة تشكيل نفسها أربع مرات لكل صورة frame ڤيديوية واحدة. لذا فإنها تتطلب فقط ربع العتاد الذي يمكن أن نحتاج إليه لبناء دارة متكاملة محددة التطبيقات ASIC. أولا، تقوم الشيپة FPGA بتخزين الإشارة الڤيديوية في الذاكرة، ثم تطبق تحويلين مختلفين لمعالجة الصورة، وفي النهاية تُحوِّل ذاتها إلى مضمّن ـ كاشف (موديم) لإرسال الإشارة إلى المرحلة التالية.

 

يتضمّن أكثر أشكال الحوسبة التشكُّلية تحديا وقوة قيام العتاد بإعادة تشكيل نفسه لحظيا عند تنفيذه مهمة ما، وبتحسين (صقل) برامجه الذاتية من أجل أداء أفضل. فيمكن لشيپة تعرّف الصورة image-recognition، مثلا، أن توالف نفسها بمجرد التعيين الأولي (المؤقت) للشيء الذي تنظر إليه: إذا كانت الصورة تحتوي على سيارة أو شاحنة، فإن أجزاء من الدارة، المصمّمة أصلا لتتبع الطائرات السريعة أو الأشخاص البطيئي الحركة، يمكن أن تعيد تشكيل نفسها بحيث تركّز بدلا من ذلك على الآليات البرية. إن هذا التوجه المتطرّف والمغالي في بعده عن التصميم التقليدي للحاسوب ذي العتاد المحدّد منذ البداية يمكن أن يسهم ـ في بعض التطبيقات ـ في إنتاج أجهزة أكثر سرعة وتعددية الاستعمال من تلك المعالجات المكروية العامة الاستخدام أو الشيپات المعدّة لتطبيقات خاصة.

 

http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008942.jpg

يضمّ بنيان الحوسبة التشكُّلية عناصر حوسبة متعددة الاستعمالات ودارات متكاملة خاصة بالتطبيقات ASIC. يعمل المعالج المتعدد الاستعمال بدارات ثابتة تقوم بتنفيذ مهام متعددة تحت سيطرة وتحكم البرمجيات. وتحتوي الدارات ASIC على دارات متخصصة بمهمة معينة؛ لذا فإنها تحتاج إلى برمجيات قليلة أو حتى معدومة لتوجيهها. يمكن للحاسوب التشكُّلي أن ينفذ أوامر البرمجيات التي تغيّر دارات صفيفات البوابات القابلة للبرمجة FPGA حسب الحاجة وذلك لتنفيذ مهام متنوعة.

 

التوفير في العتاد الحرج

إن أحد أكثر التطبيقات الواعدة للحوسبة التشكُّلية يتضمن عملية مطابقة (مضاهاة) النمط pattern matching. وتستخدم مطابقة النمط في مهمات من مثل تعرّف الكتابة اليدوية وتمييز الوجوه والاسترجاع من قواعد البيانات والتعرّف الآلي إلى الأهداف. وتتضمن العملية الأساسية في مطابقة النمط مقارنة مجموعة مُدْخلات من البِتّات (تمثل صورة أو سلسلة من الأحرف أو بيانات أخرى) بمجموعة من المُعيِّرات templates المتوافقة مع الأنماط المحتملة المُراد تعرّفها. ويعلن النظام تعرّفه عندما يزيد عدد بِتّات المُدْخل المطابقة للبتّات المبيّتة في المُعيّرة على عتبة معينة.

 

http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008943.jpg

مطابقة (توأمة) الأنماط هي أحد أهم التطبيقات الواعدة للحوسبة التشكُّلية. إن صفيفات البوابات القابلة للبرمجة FPGA بالذات تناسب عملية مطابقة الأنماط؛ لأنها تستطيع القيام بالمقارنات بوساطة عمليات الجمع والإزاحة للبِتّات المنفردة. تبدأ عملية مطابقة الأنماط بصورتين، الأولى مقترحة والأخرى هي الصورة الهدف للمقارنة (في اليسار). تحوّل الصوّر إلى مُعَيرات بالأرقام الثنائية وتقوم الشيپّة FPGA بمقارنة البِتات في الصورة المقترحة بتلك التي في المُعيَّرة الهدف مستخدمة دارة AND المنطقية. يتشكل جزء آخر من الأداة كجهاز للجمع (للإضافة) يقوم بحساب العدد الكلي للعنصورات التي تتفق فيها الصورتان بالقيمة “1”. وكلما زاد هذا العدد الكلي كان التطابق أفضل.

 

ففي حالة التعرّف الآلي إلى الأهداف ـ وهو تطبيق عسكري حَفّز بعضا من أعمالنا الأولية ـ فإن أعظم تحدّ هو المقارنة السريعة للصورة المُدْخلة بآلاف من المُعيِّرات. ويمكن للمعيّرة أن تمثل، على سبيل المثال، صورة أمامية أو جانبية لنوع محدّد من الآليات. وفي الحالات النموذجية، فإن كل صورة تحتوي على آلاف من العنصورات (عناصر الصورة، الپكسلات) pixels، ويمكن للهدف أن يظهر في أي مكان داخل هذه الصورة. ولتعرّف الهدف بالسرعة اللازمة للتطبيقات العسكرية، فإن النظام يحتاج إلى أن يقوم بعمليات المقارنة بمعدل عدة تريليونات عملية في الثانية الواحدة؛ لأن جميع العنصورات في الصورة المُدْخلة يجب مقارنتها بجميع العنصورات في العديد من المُعيرات.

 

http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008944.jpg

نظام تجريبي (بدئي) للاتصالات الڤيديوية يستخدم شيپة صفيفات بوابات قابلة للبرمجة FPGA وحيدة لتنفيذ أربع مهام تحتاج كل منها نموذجيا إلى شيپة منفصلة. تخزّن شيپة ذاكرة التشكيلات الأربعة وتحمّلها على التوالي في الشيپة FPGA. في البدء، تتشكل دارات الشيپة FPGA لاكتساب البيانات الڤيديوية المُرَقمنة. ثم يعاد تشكُّل الشيپة بسرعة لتحويل المعلومات الڤيديوية إلى شكل مضغوط، ومن ثمّ يعاد التشكُّل ثانية لتحضير هذه المعلومات للإرسال. وأخيرا، تعود دارات الشيپة FPGA فتتشكَّل مجددا لتعديل (تضمين) وإرسال المعلومات الڤيديوية. وفي جهاز الاستقبال (المُسْتقبِل)، يتم تطبيق التشكيلات الأربعة بترتيب عكسي بهدف فكّ التعديل demodulate للبيانات وخلخلة (فكّ تضام) uncompress الصورة ومن ثمّ إرسالها إلى مبدّلة رقمية-قياسية A/D converter حتى يمكن عرضها على شاشة تلفزيونية. ولهذا النظام التجريبي المقدرة على معالجة ثماني صور (أُطُر) في الثانية الواحدة.

 

وبدعم من وكالة مشروعات بحوث الدفاع المتقدمة (DARP)، قمنا ببناء نظام تجريبي (بدْئي) للتعرّف بوساطة معدات تشكُّلية تحقق وفرا معتبرا في العتاد، وذلك بموالفة نفسها مع كل مُعيّرة على التوالي. إن الكثير من العنصورات في معيّرة نموذجية لا تسهم في نتائج عمليات المطابقة [انظر الشكل السفلي في الصفحة 35]، وبالتالي فإن جهاز الحوسبة التشكُّلي يمكن أن يحذف، ببساطة، هذه العنصورات من حساباته. ولا يمكن لنظام تقليدي أن يقوم بتشذيب نفسه بسهولة بطريقة مشابهة؛ لأن العنصورات التي يجب تجاهلها تختلف من معيّرة إلى أخرى؛ ويمكن للمرء أن ينحو أبعد من ذلك في استثمار مرونة الأجهزة التشكُّلية وذلك بموالفة عتادها بحيث تستفيد من التشابه بين المعيّرات. وكذلك يمكن للعتاد التشكُّلي أن يعالج مجموعة من المُعيّرات على التوازي وذلك باستخدام وحدة مقارنة واحدة فقط لكل عنصورة تتساوى قيمتها في مُعيّرات المجموعة تلك. وكمثال على ذلك، فبدلا من وجود ثماني دارات إلكترونية منفصلة تأخذ في اعتبارها عنصورة واحدة معينة لثماني مُعيّرات مختلفة، يمكن لدارة واحدة أن تراعي تلك العنصورة ومن ثَمَّ تقوم بإرساله نتيجتها إلى المُعيّرات السبع الأخرى.

 

http://oloommagazine.com/images/Articles/15/SCI99b15N6-7_H04_008945.jpg

يضم حاسوب ببنية هجينة Hybrid معالجا مكرويا متعدد الاستعمالات والشيپة FPGA القابلة لإعادة التشكّل. يتكوّن الحاسوب ذو مجموعة التعليمات الدينامية (DISC)، الذي تم بناؤه في جامعة بريگهام يانگ من أجل تبيان مزايا البنيان المختلط، من الشيپتين FPGA وذاكرة على لوحة دارات إلكترونية مرتبطة بحاسوب شخصي. تقوم الشيپة FPGA المخصصة للتحكم بتحميل التشكيلات المخزَّنة في الذاكرة على الشيپة الأخرى المخصصة للمعالجة، وذلك استجابة للطلبات التي يحددها برنامج التشغيل. وإذا كانت الدارة المطلوبة غير موجودة في الذاكرة، تقوم الشيپة المخصصة للمعالجة بإرسال طلب إلى الحاسوب الشخصي المُضيف، الذي يقوم بتحميل التشكُّل المعين للدارة المطلوبة.

 

لقد قمنا مؤخرا ببناء نظام تجريبي للتعمية encryption (مموّل أيضا من قبل الوكالة DARPA) يستثمر ميّزات العتاد التشكُّلي. تقوم الشيپة FPGA بتنفيذ معيار تعمية البيانات Data Encryption Standard DES، الذي يستخدم مفاتيح مكوَّنة من 56 بتة لتعمية وحدات بيانات طول كل منها 64 بتة. (مفتاح التعمية هو عدد يُستعمل لبعثرة scamble  مضمون رسالة سرية أو إعادة ترتيبها.) تتم عملية معيار تعمية البيانات DES عادة في خطوتين: جدولة المفتاح الجزئيsubkey ومعالجة البيانات. ففي الخطوة الأولى، تُحوِّل مجموعة من عمليات التدوير والتَبدلة permutation مفتاح التعمية المكون من 56 بتّة إلى سلسلة من  16 مفتاحا جزئيا. يقوم كل مفتاح جزئي بعد ذلك بمعالجة البيانات في جولة خاصة به؛ لذا فإن مجموعة من ست عشرة جولة كاملة تقوم بتعمية أو فك (كسر) تعمية كل وِحْدة من 64 بتة. وعندما يتعامل الحاسوب مع عدة مستخدمين في الوقت نفسه، فإن كل حوار بين المستخدمين يجب أن يكون له مفتاح خاص به، ويقوم عتاد التعمية بتغيير هذه المفاتيح عند وصول أجزاء من الرسائل إلى المستخدمين المختلفين.

 

في تطبيقات كثيرة للمعيار DES، يبقى مفتاح التعمية ثابتا أثناء مرور وحدة طويلة من البيانات خلال ممر البيانات. فعلى سبيل المثال، إذا كان هناك شخصان يتراسلان (يتخاطبان) خلال شبكة مأمونة، فإنهما يتبادلان مفتاح تعمية آمنا لمرة واحدة ثم يستخدمان هذا المفتاح طوال مدة تخاطبهما لاستيلاد المفاتيح الجزئية لكل جولة من جولات التعمية أو فكّ التعمية. وقد صُمِّمت بعض الدارات المتكاملة المحددة التطبيقات ASIC لمعالجة نوع واحد فقط من خوارزميات التعمية، مثل DES؛ أما بعضها الآخر، مثل معالجات الإشارات الرقمية القابلة للبرمجة، فإنها قادرة على تنفيذ عدة خوارزميات للتعمية.

 

باستخدام شيپة تشكُّلية، يمكن للبرمجيات أن تحسب قيم المفتاح الجزئي مرة واحدة، ويمكن أَمْثلَة optimize  الدارات الخاصة بمعالجة البيانات لتلك المفاتيح الجزئية بالذات. ويسمح هذا التوجه باختزال عتاد جدولة المفاتيح الجزئية من النظام بالكامل. وقد وفرت لنا هذه الاختزالات إمكانية تنفيذ خوارزمية معيار تعمية البيانات DES في الدارة المتكاملة FPGA التي تحتوي على 000 13 بوابة فقط بدلا من دارة مكوّنة من 000 25 بوابة، التي كانت ضرورية في السابق. وعندما يجب تغيير مفتاح التعمية، يمكن للمستخدم بسرعة تحديد دارة جديدة موائمة customized  للمفتاح الجديد ثم تحميلهاdownload في الدارة المتكاملة FPGA.

 

لقد ساعدت الأنظمة التجريبية التي بنيناها لتعرّف الأهداف والتعمية على إبراز المرونة الهائلة التي تنجم عن مواءمة عتاد داخل الحاسوب تبعا لتغيُّر واختلاف مجموعة البيانات الخارجية المُدْخلة. وهناك الكثير من التطبيقات الأخرى التي يمكن أن تستفيد من القدرة على تعديل العتاد الحاسوبي بهذه الطريقة، بما في ذلك الاتصالات الرقمية وأتمتة التصاميم والترشيح (الفلترة) الرقمي لأجهزة الرادار.

 

مستقبل الحوسبة التشكُّلية

مازالت الحوسبة التشكُّلية حقلا يافعا جدا. وعلى الرغم من أن <G. إسترن> (من جامعة كاليفورنيا بلوس أنجلوس) اقترح الحوسبة التشكُّلية في أواخر الستينات، فإن أول عرض تجريبي لها لم يتم إلا قبل عدة سنوات؛ كما أن الشيپات FPGA الحالية والمكوّنة من 000 1000 من العناصر المنطقية مازالت بعيدة عن استغلال كافة إمكانات هذه التقنية. وستكون الشيپات المستقبلية منها أكبر كثيرا؛ وكما هي الحال في العديد من الدارات المتكاملة الأخرى فإن عدد العناصر المنطقية على الشيپة الواحدة من الشيپات FPGA يتضاعف تقريبا كل ثمانية عشر شهرا. ومن المتوقع أن نرى، قبل نهاية العقد الحالي، شيپات FPGA تحتوي على مليون عنصر منطقي، وسيكون لهذه الشيپات  تطبيقات أكثر شمولا، بما في ذلك الاتصالات البالغة التعقيد وخوارزميات معالجة الإشارات.

 

والآن يعكف الباحثون الأكاديميون والمصنِّعون على التغلب على قصور التصاميم الأخرى التي أعاقت تبنّي الحوسبة التشكُّلية. إذ لا يمكن تنفيذ جميع عمليات الحوسبة على صفيفات البوابات الحالية بكفاءة: فهي تناسب بشكل جيد الخوارزميات المكوَّنة من عمليات على مستوى البِتّات (الأرقام الثنائية)، مثل مطابقة الأنماط وحسابات الأعداد الصحيحة، وبشكل رديء العمليات العددية، مثل عمليات الضرب العالية الدقة أو حسابات الفواصل العشرية العائمة floating-points. إن الدارات الخاصة بعمليات المُضاعفة muttplier، كتلك المستخدمة في المعالجات المكروية وشيپات الإشارات الرقمية يمكن مواءمتها لإجراء مثل هذه العمليات بكفاءة أكبر من دارات المضاعفة المشكّلة من وحدات المنطق التشكُّلية المبيّتة في الشيپة FPGA. إضافة إلى ذلك فإن هذه الشيپات توفِّر حاليا ذاكرة ذاتية قليلة جدا من أجل تخزين النتائج الانتقالية (الوسطى) في الحوسبة؛ لذا فإن العديد من تطبيقات الحوسبة التشكُّلية تتطلب ذاكرة خارجية كبيرة. إن نقل البيانات من الشيپة FPGA وإليها يزيد من استهلاك الطاقة وربما يبطئ عمليات الحوسبة.

 

ولحسن الحظ. فإن الباحثين يقومون الآن بتطوير صفيفات بوابات قابلة للبرمجة متقدمة تحتوي على ذاكرة ووحدات معالجة حسابية ودارات أخرى من وحدات محددة الاستخدام. واقترح <A. دي هون> و < F. Th. نايت-جونير> (من معهد ماساتشوستس للتقانة) الشيپة FPGA  التي تخزّن تشكيلات متعددة في سلسلة من صفوف الذاكرة. ففي دورة ميقاتية واحدة، تستغرق ما يقارب عدة عشرات أو مئات من النانوثواني، يمكن للشيپة أن تستعيض عن تشكيل معين بتشكيل آخر من دون مسح جزئي للبيانات التي تمت معالجتها.

 

وفي غضون ذلك، استخدم < B. L. هتشينگز> (من جامعة بريگهام يانگ) الحوسبة التشكُّلية لبناء حاسوب ذي مجموعة تعليمات دينامية dynamicinstruction set computer DISC، وهو تزاوج فعلي ما بين المعالج المكروي التقليدي والشيپة FPGA، ويبرهن على قدرة إعادة التشكُّل الآلي باستخدام تشكيلات مخزَّنة مسبقا. فعندما يعمل البرنامج فإن الشيپة FPGA ستتطلب إعادة التشكّل إذا كانت الدارات المعينة غير مبيّتة في الذاكرة. ويسمح الحاسوب DISCللمصمّم بأن يكَوّن ويخزّن عددا كبيرا من تشكيلات الدارات، كما يسمح له بتنشيط هذه الدارات تماما كما يقوم المُبرمج باستدعاء برنامج فرعي في معالج مكروي.

 

تقوم مجموعة كولت Colt Group، بقيادة < P. M. أثاناس> (من معهد فرجينيا المتعدّد التقانات وجامعة ولاية فرجينيا) بالبحث في تقنية لإعادة التشكُّل التلقائي، تسمى وورم هول Wormhole، يمكن أن تسمح بالحوسبة الموزعةdistributed. وتتكون وحدة الحوسبة من سَيْل من البيانات التي تكوّن دارات منطقية موائمة أثناء سيرها في العتاد القابل لإعادة التشكّل.

 

كما يقوم <J. وافرزينك> وزملاؤه (في جامعة كاليفورنيا ببيركلي) بتطوير أنظمة تجمع ما بين المعالج المكروي والشيپة FPGA. تقوم برمجيات ترجمة خاصة بتلقي كود برنامج اعتيادي ومن ثم باستيلاد آلي لمجموعة متآلفة من تعليمات الآلة الخاصة بالمعالج المكروي من التشكُّلات الخاصة بالشيپة FPGA، وذلك للوصول إلى أسرع أداء ممكن. ويستغل هذا التوجه إمكانات دمج معالج تقليدي مع صفيف بوابات FPGA على شيپة واحدة.

 

لا يمكن أبدا أن تحل الشيپة FPGA محل المعالجات المكروية في مهمات الحوسبة العامة، إلا أن مفهوم الحوسبة التشكُّلية سيؤدي على الأرجح دورا متناميا في تطوير أنظمة حاسوبية عالية الأداء. إن القوة الحاسوبية التي توفرها الشيپة FPGA ستجعلها الأدوات المناسبة للتطبيقات التي تحتوي على خوارزميات تتطلب تكيُّفا سريعا للمُدْخلات.

 

إضافة إلى ذلك، فإن الخط الفاصل بين المعالجات القابلة للبرمجة والشيپاتFPGA سيصبح أقل وضوحا: ستتضمن الأجيال المستقبلية من الشيپات FPGAوظائف جديدة مثل زيادة الذاكرة المحلية ووظيفة خاصة بالمضاعفات التي تشكّل الملامح القياسية للمعالجات المكروية الحالية؛ وهناك أيضا جيل قادم من المعالجات المكروية يجري تطويره حاليا ويدعم عتاده عدد محدود من قابلية إعادة التشكيل الشبيه بصفيفات البوابات FPGA. وبالفعل، فكما تقوم الحواسيب المرتبطة بالإنترنت الآن بتحميل عناصر من البرمجيات الخاصة لتنفيذ مهام معينة، فإن أجهزة المستقبل يمكنها تحميل تشكيلات جديدة للعتاد كلما استدعى الأمر ذلك. وستتضمن أدوات الحوسبة بعد عشر سنوات مزيجا قويا من العتاد القابل للبرمجة والدارات المنطقية القابلة للتشكُّل.

 المؤلفان

John Villasenor – William Mangione-Smith

عضوان في الهيئة التدريسية بقسم الهندسة الكهربائية في جامعة كاليفورنيا بلوس أنجلوس. في عام 1989 حصل ڤيلاسنور على الدكتوراه في الهندسة الكهربائية من جامعة ستانفورد، وما بين عامي 1990 و1992 عمل في مختبر الدفع النفاث. وفي عام 1992 انتقل للعمل في جامعة كاليفورنيا بلوس أنجلوس ويقوم حاليا بإجراء بحوث في مجال الاتصالات الڤيديوية ونقل الصور والحوسبة التشكُّلية. أما مانجيون-سميث فقد حصل في عام 1991 على الدكتوراه في هندسة الحاسوب من جامعة ميتشيگان وعمل بعدها في شركة موتورولا حتى عام 1995، حيث أصبح مهندس الأنظمة للجيل الثاني من أجهزة الاتصال اللاسلكية الشخصية. تتضمن مجالات بحوثه أجهزة الحوسبة القليلة الاستهلاك للطاقة والعالية الأداء والمعالجات وبنية وبرمجيات الأنظمة.

 

مراجع للاستزادة 

A DYNAMIC INSTRUCTION SET COMPUTER. M. J. Wirthlin and B. L. Hutchings in Proceedings of the IEEE Symposium on EPGAs for Custom Computing Machines, April 1995. IEEE Computer Society Press, 1995.

A FIRST GENERATION DPGA IMPLEMENTATION. E. Tau, D. Chen, I. Eslick, J. Brown and A. DeHon in Proceedings of the Third Canadian Workshop on Field-Programmable Devices, pages 138-143; May 1995.

CONFIGURABLE COMPUTING SOLUTIONS FOR AUTOMATIC TARGET RECOGNITION. John Villasenor Brian Schoner, Kang-Ngee Chia, Charles Zapata, Hea Jouog Kim, Chris Jones, Shane Lansing and Bill Mangione-Smith in 4th IEEE Symposium on EPGAs for Custom Computing Machines (FCCM ’96) April 1996. Available from http//www.computer.org/cspress/catalog/pr07548.htm

WORMHOLE RUN-TIME RECONFIGURATION. Ray Bittller and Peter Adam in FPGA ’97: ACM/SIGDA International Symposium on Field Programmable Gate Arrays. Special Interest Group on Design Automation (SIGDA), ACM, 1997.

Scientific American, June 1997

 

(*) Configurable Computing

 

<=”” td=”” style=”font-family: tahoma; font-size: 12px; color: rgb(0, 0, 0);”>
<=”” td=”” style=”font-family: tahoma; font-size: 12px; color: rgb(0, 0, 0);”>

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى