برمجة الأنظمة المدمجة ببيئة BASCOM-AVR – تقديم 1

برمجة الأنظمة المدمجة ببيئة BASCOM-AVR – تقديم 1

Lab Session 01 html m541d37f4

هذه الجلسة تقدم مدخلاً هاماً إلى الأنظمة المدمجة وموضوعاتها وتطبيقاتها ومراحل وأسس تصميمها. حيث يتم التطرق فيها إلى بنية النظام المدمج، العوامل المؤثرة في تصميمه، تطبيقاته الصناعية وحلوله التكنولوجية. ثم نتفرع إلى أصناف الدارات المتكاملة الرقمية ونفصل في المتحكمات والمعالجات وبنى مسجلات التعليمات ومعيارية تصميم البنية.

 


 تسميات

إنتبه إلى أنه قد اعتمدنا التسميات التالية خلال هذه السلسلة:

  • متحكم (مصغر) عوض Microcontroller

  • زوج عوض bit

  • ثمن عوض byte بالإنجليزية و octet بالفرنسية

تجد جميع مصطلحات مقالات هذه السلسلة في قاموس المصطلحات التابع لها.


ملفات المقال

يمكنك تحميل ما يلي للاستفاذة أكثر من المقال:

Session_01_PPTX


محاضرة المقال


تمهيد

إن من أهم وأشمل الفروع المعرفية التكنولوجية الهندسية التي تتسابق المجتمعات المتقدمة ومخابر الأبحاث في الجامعات إلى تطويرها، وتشغل حياتنا اليومية بتطبيقاتها المتعددة دون أن ندرك ذلك، هي ما يطلق عليه بـ Embedded Systems.

 

في الحقيقة تتعدد الترجمات العربية لمصطلح الـEmbedded Systems (ESs)i، فيطلق عليها: " الأنظمة المدمجة"، و"الأنظمة المضمنة"، و"الأنظمة المطمورة"، إلى ما هنالك من ترجمات أخرى، غير أنها جميعاً لا تقارب المعنى الحقيقي، وكيف لا؟! ولا يوجد إلى الآن تعريف معتمد باللغة الإنجليزية للـESs، إذ أنها تعرف وفقاً للتطبيق الذي تشغله، وهناك آلاف التطبيقات التي قبلها النابض هو نظام مدمج.

 

الانطلاقة الأولى نظرياً كانت مع ظهور أول حاسب مصغر هو 12bit PDP-8 Minicomputer في عام 1965، حيث أطلق عليه مصطلح Embedded Computer، وتلاه ظهور أول معالج مصغر عرف باسم Intel.4004، 4bit في عام 1971، إلا أن المفهوم كان بعيداً جداً عن المضمون الذي يحمله المصطلح، حتى عام 1977 وظهور أول متحكم مصغر عرف باسم Intel.8048، وعام 1979 وظهور أول معالج إشارة رقمية هو Bell Labs' DSP-1، ثم كانت الثورة الأولى لظهور مصفوفات البوابات الحقلية القابلة للبرمجة (تعرف باسم FPGA) في عام 1984. في عام 1988 ظهر مصطلح ESs في العدد الأول لمجلة "Embedded Systems Programming".

 

سابقاً كان استخدام الأنظمة المدمجة مقتصراً على التطبيقات العسكرية وأبحاث الفضاء، واليوم تستخدم هذه الأنظمة في جميع الميادين الهندسية، مثل: الأجهزة الكهربائية والإلكترونية المنزلية، أجهزة الاتصالات، الأتمتة الصناعية، صناعة السيارات، أنظمة التحكم الرقمي، الروبوتات، التطبيقات العسكرية وأبحاث الفضاء، والعديد مما لا ينتهي ذكره من التطبيقات، إذ أنها غدت نواةً لـ 99.99% من التطبيقات والأجهزة الإلكترونية، وهذا ما يجعلها محوراً أساسياً للبحث والتطوير.

 

مؤخراً، تعتبر دراسة تصميم الأنظمة المدمجة من أهم المقررات الدراسية في الكليات الهندسية عالمياً، حيث تعطى الاهتمام الأكبر في مراحل مبكرة، ويُؤسَّس لها من السنة الدراسية الأولى، وتوظف معظم الأبحاث الجامعية في تطوير الصناعة وإيجاد الحلول التكنولوجية.


مقدمة

في عام 1969 طلبت شركة Busicom اليابانية من شركة Intel تصنيع مجموعة دارات تكاملية خاصة لإحدى آلاتها الحاسبة الجديدة. في عام 1971 كانت استجابة شركة Intel بتصنيع المعالج 4004 والذي هو أول رقاقة معالج يستخدم شريحة واحدة (Single Chip)، وبالتالي بدلاً من تصميم نظام لكل نموذج آلة حاسبة جديد، اقترحت Intel معالجاً ذا أغراضٍ عامةٍ يمكن أن يستخدم في أي نموذج من الآلات الحاسبة.

 

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

 

في الثمانينيات والتسعينيات كانت بداية عصر انتشار المعالجات الدقيقة (Microprocessors)، حيث انتشر استخدام المعالجات والمتحكمات المصغرة في معظم التطبيقات والأجهزة الإلكترونية الموجودة في حياتنا اليومية – في المطبخ (الميكروويف، آلة تحضير القهوة..)، في غرفة المعيشة (أجهزة العرض والتحكم والصوت والتكييف..)، في المكتب (الهاتف، الفاكس، الطابعة، آلة عد النقود..)، وجميع هذه التطبيقات هي أنظمة مدمجة.

 

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

 

اليوم، يستخدم أكثر من 6 ألف مليون معالج/متحكم مصغر في كل عام في تطبيقات الأنظمة المدمجة، في حين أن 2% فقط من هذه المعالجات تستخدم في الحواسب الشخصية والمحمولة، وتشير الإحصاءات إلى أن عدد الأنظمة المدمجة يزداد بشكل متسارع، وأن الطلب متزايد على المهندسين اللذين يمتلكون مهارات تصميم الأنظمة المدمجة المستقبلية.


تعريف النظام المدمج

إن مصطلح الـنظام المدمج هو أحد المصطلحات الشاملة التي لا تعبر بالضرورة عن معنى محدد لتوصيفها، فهي تغطي طيفاً واسعاً من التطبيقات والأنظمة، نذكر منها: الأجهزة الخلوية، أنظمة التحكم بالسكك الحديدية، أنظمة التوجيه والمراقبة العسكرية، التجهيزات الكهربائية والإلكترونية المنزلية والمكتبية...

 

تعرّف الأنظمة المدمجة على أنها: نظام مخصص لأداء وظيفة محددة يحوي على كيان صلب (HW) وبرمجية خاصة – برنامج عمل المعالج – (SW) إضافة إلى أجزاء أخرى (ميكانيكية، إلكترونية).

 

غالباً تعتبر العناصر القابلة للبرمجة القلب النابض في الأنظمة المدمجة، مثل:

  • المتحكِّم المصغر (يعرف إختصارا بـ MCU)،

  • المعالج المصغر (يعرف إختصارا بـ MPU)،

  • المصفوفات الحقلية القابلة للبرمجة (تعرف إختصارا بـ FPGA)

عشرات الملايين من هذه العناصر تستخدم يومياً في الأنظمة المدمجة التي تغطي معظم التطبيقات المحيطة بنا، وتساهم في تحضير طعامنا دون أن ننتبه إلى ذلك.

 

على نحو خاص فإن النظام المدمج يشكل جزءاً أو عنصراً من نظام أكبر، مثاله: السيارات والحافلات الحديثة التي تحوي على العديد من وحدات الأنظمة المدمجة والتي منها:

  • نظام مدمج مسؤول عن التوجيه الملاحي (GPS)
    نظام مدمج مسؤول عن منع الانزلاق عند الكبح (ABS)،

  • نظام مدمج مسؤول عن لوحة العدادات (Dashboard)،

  • ...

حتى أنه في بعض السيارات الفاخرة، كسيارة PMW، وصل عدد المعالجات إلى أكثر من 100 معالج يوصل من خلالها أكثر من 3000 حساس، مرتبطة عبر شبكة CAN.

 

رغم طيف التطبيقات الواسع جداً للأنظمة المدمجة، إلا أن لها ميزات مشتركة فيما بينها، وهي أنها تتفاعل مع العالم الخارجي، وتتحكم بالأجهزة المرتبطة. يبين الشكل 1 مخططاً صندوقياً عاماً للمكونات الأساسية التي تشترك فيها جميع الأنظمة المدمجة.

 

إن عملية التخاطب بين النظام المدمج والعالم الخارجي، هي من خلال قراءة إشارات الحساسات الموصولة إلى أقطاب الدخل، ومن ثم تقوم وحدة المعالجة المركزية (Processing Unit) باستخدام الذاكرة RAM بمعالجتها بعد تحويلها إلى إشارات رقمية عن طريق وحدة التبديل ADC. يتم إصدار نتائج المعالجة كإشارات تحكم رقمية على أقطاب الخرج الرقمية، أو إشارات تحكم تشابهية عن طريق وحدة التبديل DAC. ثم يتم ترجمة (Compile) برنامج النظام المدمج (ES.SW) من أجل معالج محدد، ويتم تخزين البرنامج في ذاكرة دائمة (NVM) تدعى بالذاكرة ROM.

الشكل 1: المكونات العامة للأنظمة المدمجة

 


بنية النظام المدمج

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

الشكل 2: مخطط بنية الحواسب العامة PC

 
على خلاف الحواسب العامة، فإن الأنظمة المدمجة تستخدم المتحكمات أو المعالجات المصغرة، والتي تمتاز بأن وحدة المعالجة المركزية سوف تكون مدمجة مع جميع المحيطيات والذواكر على شريحة واحدة. يبين الشكل3 المخطط الصندوقي العام لبنية الأنظمة المدمجة.

 الشكل 3: المخطط الصندوقي العام للأنظمة المدمجة


تمتلك معظم المتحكمات المصغرة الوحدات المحيطية الرئيسية التالية
:

  •  وحدة معالجة مركزية (CPU)

  • ذاكرة برنامج (ROM)

  • ذاكرة عشوائية (RAM)

  • ذاكرة معطيات دائمة (EPROM)

  • أقطاب الدخل والخرج (I/O)

  • وحدات التوقيت والعد (T/C)

  • وحدات اتصال تسلسلي (I2C، SPI، UART)

 

كما أن بعض المتحكمات المصغرة المتقدمة تمتلك نوافذ اتصال تسلسلي عالية السرعة مثل: CAN و USB و Ethernet. يبين الجدول1 بعض أوجه الاختلاف العامة بين خصائص الأنظمة المدمجة والحواسب الشخصية.

 

الأنظمة المدمجة

   الحواسب العامة

مكرسة لمهام محددة.

تستخدم في أغراض عامة.

تملك مجموعة واسعة جداً من المعالجات تبلغ 140 عائلة مصنعة من قبل أكثر من 40 شركة متخصصة

محدودة في عائلتين من المعالجات:
(Intel
و AMD)

كلفة النظام تعتبر من العوامل الأساسية.

لا يوجد اعتبار للكلفة.

يوجد قيود لشروط العمل في الزمن الحقيقي (RTS).

لا يشترط عملها في الزمن الحقيقي.

أنظمة التشغيل تعمل في الزمن الحقيقي (RTOS).

أنظمة التشغيل لا تعمل في الزمن الحقيقي.

إن نتائج فشل النظام خطيرة جداً ويمكن أن تكون قاتلةً.

فشل النظام لا يشكل خطراً.

يوجد قيود لاستهلاك الطاقة الكهربائية.

لا يوجد قيود حول استهلاك الطاقة.

يجب أن تعمل في ظروف بيئية قاسية أحياناً.

غالباً توجد في ظروف العمل الطبيعي.

مصادر النظام محدودة.

   مصادر النظام لانهائية
(PCI
، ISA، AGP، LPT،...)

يتم تخزين كامل برنامج المعالج في ذاكرة ROM.

يتم تخزين نظام التشغيل والبرامج الخدمية في القرص الصلب HDD.

تتطلب أدوات وطرقاً خاصة ليتم تصميمها بكفاءة.

الأدوات المستخدمة عامة.

مزودة بدارات Debugger مخصصة على نفس الشريحة.

لا تملك أي دارات ذات وظائف تتبع الأخطاء.

   الجدول‏ 1: مقارنة بين خصائص الأنظمة المدمجة والحواسب العامة

 


العوامل المؤثرة في تصميم الأنظمة المدمجة

عند تصميم أي نظام مدمج فإنه يجب مراعاة مجموعة من المتطلبات والاعتبارات يتم تحديدها في الدرجة الأولى وفقاً لعامل الكلفة المطلوب. على سبيل المثال: إذا تتطلب إنتاج نظام تحكم مدمج بكلفة لا تتجاوز بضعة دراهم نقذية؛ فإنه ربما من الضروري الاستغناء عن بعض الميزات الكمالية للوصول إلى الكلفة المطلوبة. الاعتبارات الأساسية في تصميم الأنظمة المدمجة هي:

  1. سعة المعالج: وهي عدد التعليمات التي يمكن تنفيذها خلال ثانية واحدة (MIPS)، وبازديادها تزداد سعة (قوة) المعالجة للمعالج.

  2. عرض الناقل الداخلي: وهي عرض ناقل البيانات بين وحدة المعالجة والذاكرة ويتراوح من 4bit إلى 64bit، وبازدياد عرض الناقل تزداد سرعة تناقل البيانات بين المعالج والذاكرة.

  3. حجم الذاكرة: وهي المساحة المطلوبة لتخزين برنامج تنفيذ التعليمات (ROM) والبيانات (المعطيات) التي يتم معالجتها آنياً (RAM). عموماً، فإن مساحة الذاكرة المطلوبة تتعلق بالمعالج المستخدم والميزات المحيطية المترافقة معه وحجم البرنامج.

  4.  استهلاك الطاقة: هي من أهم الاعتبارات خصوصاً في الأجهزة النقالة التي تعمل على المدخرات، وتستعمل وحدة القياس mW/MIPS لتحديد كمية الطاقة المطلوبة تبعاً لسعة المعالجة، حيث أنه بازدياد سعة المعالجة تزداد كمية الطاقة المطلوبة لعمل المعالج. عملياً، فإن الأنظمة التي تستهلك طاقة منخفضة تتميز بخصائص مرغوبة جداً مثل: حرارة أقل، وزن أقل، حجم أصغر، تصميم ميكانيكي أبسط. لذلك تستخدم المعالجات متعددة النوى (Multi-core Processors) في الأنظمة المدمجة التي تتطلب نظاماً منخفض الاستهلاك والحجم وذا سعة معالجة عالية.

  5. كلفة التطوير: هي كلفة تصميم الكيان الصلب (ES.HW) والبرمجيات المترافقة (ES.SW)، وتعرف أيضاً بالمصطلح NRE (Non-Recurring Engineering)i، وهي كلفة ثابتة تدفع لمرة واحدة فقط أثناء مرحلة تصميم النظام - هذه الكلفة يتم توزيعها على عدد قطع الإنتاج.

  6. كمية الإنتاج: إن الموازنة بين كلفة الإنتاج وكلفة التطوير تتعلق مباشرة بكمية الإنتاج المطلوبة، إذ يتم توزيع الكلفة الثابتة على عدد العناصر المطلوبة. أما من أجل تصميم ذي كمية محدودة من القطع؛ فإن كلفة التطوير لمثل هذا النظام ستكون كبيرة جداً.

  7. حياة المنتج: وهو العمر الافتراضي المتوقع لبقاء المنتج في الاستخدام الفعال. إن هذا الاعتبار يؤثر مباشرة في جميع قرارات التصميم انطلاقاً من اختيار عناصر الكيان الصلب وصولاً إلى كلفة التطوير.

  8. الوثوقية: وهي مقدرة النظام على الاستجابة في مختلف الظروف، وتتناسب الوثوقية طرداً مع كلفة النظام.

 

إضافةً إلى هذه المتطلبات الأساسية الثمانية، فإن لكل نظام مدمج متطلبات وظيفية أخرى خاصة تتعلق بهوية النظام وتوظيفه (مايكروويف، منظم دقات القلب، نظام الطيران الآلي، نظام التوجيه الملاحي...)، ومن هذه المتطلبات: المعالجة في الزمن الحقيقي (Real-time Processing).

 

ملاحظة: يمكنك أن تجد مصطلحات هذه الفقرة في قاموس المصطلحات المرافق لهذه السلسلة باللغتين الأنجليزية والفرنسية.

 


صناعة الأنظمة المدمجة

 في السنوات الأخيرة أصبح قطاع صناعة الأنظمة المدمجة في العديد من البلدان الصناعية القطاع الأكثر ازدهاراً وتطوراً، حيث تعتبر صناعة الأنظمة المدمجة عالمياً الجزء الأكبر والأسرع نمواً، وخصوصاً صناعة المتحكمات المصغرة التي تشكل تقريباً %99.99 من الناتج العالمي من المعالجات (MCU و MPU) التي يتم إنتاجها سنوياً.

 

إن سبب هذا التكاثر المتزايد يعود إلى أن عدد المعالجات المستخدمة في الحواسب الشخصية يعتبر صغيراً جداً مقارنةً مع المعالجات المستخدمة في الأنظمة المدمجة. التقرير الأخير يشير إلى أن المنزل الواحد يحوي على الأقل 40 إلى 100 متحكم مصغر، في حين يمكن أن يوجد ثلاثة أو أقل في الحاسب الشخصي.

 

المتحكمات المصغرة يمكن أن توجد في جميع التجهيزات المنزلية، مثلاً: التلفاز، المشغل الرقمي، ألعاب الأطفال، الموقد. إضافةً إلى ذلك فإن الأنظمة المدمجة تمثل القطاع الرئيسيَّ في سوق الأنظمة الرقمية، والحلول التكنولوجية لمعظم تطبيقاته الصناعية، والتي منها:

  • إلكترونيات المستهلك

  • التطبيقات العسكرية

  • الأتمتة الصناعية

  • تناقل البيانات

  • وسائل النقل

  • الاتصالات

  • الفضاء

 

 حالياً، أكثر من %98 من متحكمات 8/32bit تستخدم في الأنظمة المدمجة. طبقاً للدراسة الإحصائية التي نشرتها شركة SEMICO في عام 2006 فإن %55 من المتحكمات التي تباع حول العالم هي 8bit، وأكثر من 4 ألف مليون متحكم 8bit بيع في عام 2006.

 

المحللون الاقتصاديون توقعوا أنه مع انطلاقة عام 2010 فإن أكثر من %90 من البرامج التي تم تطويرها ستكون مخصصة للأنظمة المدمجة، كما أنّ عدد مبرمجي الأنظمة المدمجة سيزداد بمقدار عشرة أضعاف مقارنةً مع مبرمجي الأنظمة الأخرى. على الرغم من هذه الإحصاءات؛ فإن معظم مناهج هندسة الحاسبات والتحكم في العديد من الجامعات الغربية على وجه عام، وجامعاتنا المحلية على وجه التخصيص، ما تزال تعلم مهارات البرمجة والتصميم المتعلقة بلغات برمجة الحواسب العامة فقط، بدلاً من برمجة الأنظمة المدمجة الأكثر تخصصاً.

 


الحلول التكنلوجية للأنظمة المدمجة

قبيل ظهور العناصر الإلكترونية كانت الحاسبات تبنى باستخدام عناصر كهروميكانيكية حتى العقد الخامس من القرن التاسع عشر وظهور الصمامات الإلكترونية والدارات المنطقية – التي تبنى من الترانزستورات والمقاومات (RTL)، ثم تلاه ظهور الدارات المتكاملة، وأصبح بالإمكان تصنيع دارة منطقية على شريحة سيليكونية واحدة. يبين الشكل4 مخططاً زمنياً للتطور التكنولوجي للحاسبات.

الشكل 4: التطور الزمني لتكنولوجيا الحاسبات


في عام
1965 لاحظ غوردن موري (Gordon Moorey) مدير شركة إنتل (Intel) أن تكنولوجيا الدارات المتكاملة تتطور بمعدل مذهل بحيث أن عدد الترانزستورات التي يمكن أن توضع على نحو رخيص (بدون أي كلفة زائدة) على دارة متكاملة – أي أن تعقيد الدارات المتكاملة مع اعتبار الكلفة الأخفض للعناصر – يتضاعف كل سنتين تقريباً.

 

إن قابلية ودرجة تطور العديد من الأجهزة الإلكترونية الرقمية (سعة وسرعة المعالجة، حجم الذاكرة، ...) يرتبط بشكل وثيق بهذا القانون حيث أن هذه الملاحظة أدت على نحو كبير جداً إلى زيادة فائدة استخدام تكنولوجيا الإلكترونيات تقريباً في جميع قطاعات الاقتصاد العالمي،وقد تم تسمية هذا القانون علمياً باسم "قانون مور" (Moore's Law) نسبةً إلى Gordon E. Moore الذي قدم هذا القانونومنذ ذاك الوقت يعتبر هذا القانون محور التخطيط والتوجيه طويل الأمد في وضع أهداف البحث والتطوير في صناعة أنصاف النواقلويتوقع أن يستمر العمل بهذا القانون إلى ما بعد عام 2020. الشكل5 يبين مخططاً لوغارتمياً لعدد الترانزستورات على شريحة واحدة في مراحل زمنية متعددة (1960-2010) ويلاحظ بأن معدل التزايد يتضاعف كل سنتين.

     الشكل 5: المنحني الزمني لازدياد عدد الترانزستورات على شريحة متكاملة


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

 

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

 


تطور صناعة أنصاف النواقل

في أوائل العشرينيات من القرن العشرين كانت الأجهزة تعتمد على المفاتيح الكهروميكانيكية مثل المرحلات (Relays) في عمليات التحكم بالأجهزة. في أواخر عام 1920 ظهر الجيل الأول من العناصر الإلكترونية وعرفت بالصمامات المفرغة (Vacuum Tubes)، مبينة على الشكل6، حيث استعملت في العديد من الأجهزة الإلكترونية في ذاك الوقت: الراديو والتلفاز وغيرها.

الشكل 6: الصمامات المفرغة

 
في خمسينيات القرن العشرين ظهرت الترانزستورات، وبدأت الأبحاث حول الدارات المتكاملة التي يمكن أن تحوي على عدة ترانزستورات، وكان هناك محاولات عديدة لبناء دارة متكاملة، وكانت التجربة الناجحة الأولى في عام 1958 حيث قام عالم الفيزياء جاك كيلبي (Jack Kilby) بتصميم أول دارة متكاملة – الشكل7.

الشكل 7: أول دارة متكاملة


صناعة أنصاف النواقل ظهرت بوضوح في أوائل الستينيات، وبدأت بالتطور بشكل متسارع منذ ذاك الوقت
.

  • الجيل الأول من الدارات المتكاملة عرف بـ SSI حيث كانت الدارات المتكاملة تتكون من عدد قليل جداً من البوابات المنطقية (OR و NOR و AND و ...) تتشكل من عشرات الترانزستورات.

  • تلاه عصر الجيل الثاني من الدارات المتكاملة في أواسط الستينيات وعرف بـ MSI، وقد تميز بزيادة كبيرة في عدد البوابات المنطقية على شريحة متكاملة وحيدة، حيث استخدمت الشرائح في المؤقتات والعدادات والمسجلات، وتميزت بكلفة أخفض بكثير من سابقتها وإمكانية تصميم أنظمة أكثر تعقيداً.

  • الجيل الثالث من الدارات المتكاملة ظهر في أواسط السبعينيات وعرف بـ LSI، وفيه تم تضمين عشرات الآلاف من الترانزستورات على شريحة متكاملة وحيدة مثل 1Kbit RAMs، calculator chips، وكذلك الجيل الأول من المعالجات المصغرة.

  • الخطوة الأخيرة في عملية تطور الدارات المتكاملة كانت بظهور تقنية VLSI حيث أن عملية التطور بدأت في أوائل الثمانينيات من خلال دمج مئات الآلاف من الترانزستورات على شريحة واحدة، واستمرت لتصل في عام 2009 إلى عدة بلايين من الترانزستورات على شريحة واحدة. إن المعالجات متعددة النوى التي ظهرت مؤخراً ذات عرض ناقل 64bit، والتي يدمج معها ذاكرة وسيطة (cache memory) ووحدات حساب ومعالجة بالفاصلة العشرية تعتبر من الأجيال المتطورة للدارات المتكاملة VLSI. يبين الشكل8 مخططاً زمنياً لمراحل لتطور تقنيات تصنيع الدارات المتكاملة. يبين الجدول2 تصنيفاً لتقنيات تصنيع الدارات المتكاملة وفقاً لعدد الترانزستورات على شريحة واحدة أو عدد البوابات المنطقية والتطبيقات لكل جيل.

الشكل 8: المراحل الزمنية لتطور تقنيات تصنيع الدارات المتكاملة

  

التقنية

التاريخ

عدد الترانزستورات

البوابات

تطبيقاتها

SSI

1961-1966

1 إلى 100

10

AND، OR، NOT gates chips

MSI

1966-1971

100 إلى 3000

100

Decoder, encoder, multiplexer, counter

LSI

1971-1979

3000
إلى 100000

10000

Micro-controller, special-function chips

VLSI

الثمانينات

100000
إلى 1000000

100000

Memory, special-function chips

ULSI

التسعينات

أكثر من
1000000

أكثر من100000

Memory, microprocessor chips

GSI

2009s

2000000 إلى ألفي مليون

أكثر من

1000000

Multi-core Processors

   الجدول 2: المراحل الزمنية لتطور تصنيع الدارات المتكاملة ومدى تعقيدها

 

مما يجب الإشارة إليه أن البعض (كما في اليابان) يستخدم المصطلح ULSI وكذلك المصطلح GSI الذي يشير إلى الدارات المتكاملة التي تحوي على بلايين الترانزستورات. إلا أن المعظم وقف عند المصطلح VLSI وأدرج التقنيات المذكورة كفروع لتقنية VLSI، وإلا فإنه سوف يتوجب إيجاد مصطلحات متجددة بشكل دائم - على الأقل كل سنتين.

 

يبين الشكل 9 الشريحة السيليكونية للمعالج IBM Power-7 والذي يملك 8-core ويحوي على 1.2 بليون ترانزستور وعلى اليسار لوح الـــWafer ويحوي مئات الشرائح السيليكونية قبل فصلها. الشكل10 يبين الشريحة السيليكونية ولوح الـ Wafer للمعالج Intel Itanium والذي يملك 4-core ويحوي على 2.046 بليون ترانزستور.

الشكل 9: الشريحة السيليكونية للمعالج IBM Power7 ه(8core ويحوي على 1.2 بليون ترانزستور) ولوح الـ"Wafer"

الشكل 10: الشريحة السيليكونية للمعالج Intel Itanium رباعي النوى ويحوي على2.046 بليون ترانزستور

 


تقنيات صناعة أنصاف النواقل

   تطورت تقنيات صناعة أنصاف النواقل بشكل كبير خلال العقود الثلاثة الماضية، وأصبحت تعتمد على تقنية CMOS التي أمكنت من أن تصبح الترانزستورات أصغر حجماً، وبالتالي يمكن للدارات المتكاملة أن تحوي عدد ترانزستورات أكبر. الدارات المتكاملة الأولى كانت تستخدم الترانزستورات ثنائية القطبية (BJT)، وكانت غالبية الدارات المتكاملة تستخدم المنطق TTL أو المنطق ECL. على الرغم من أن تقنية MOS تم اختراعها قبل الترانزستورات الثنائية، إلا أنه كان في البداية من الصعب جداً تصنيعها نظراً لمشكلة طبقة الأكسيد. في السبعينيات تم حل هذه المشكلة، وتم تطوير تقنية الـNMOS؛ في ذاك الوقت تطلب استخدام تقنية MOS عدد أقل من طبقات Mask (أفلام تصنيع الطبقات على مستوى السليكون والأكسيد) وبالتالي كثافة أكبر واستهلاك طاقة أقل وسعر أرخص مقارنةً مع الدارات المتكاملة التي تعتمد تقنية التصنيع BJT.

 

مع بدايات الثمانينيات تم استبدال بوابات الترانزستورات المصنعة من الألمنيوم ببوابات متعدد السيليكون (Polysilicon) والتي أدت إلى تحسين كبير في تقنية CMOS حيث أنها مكنت من استخدام نوعين من الترانزستورات (NMOS و PMOS) على نفس الشريحة السيليكونية، وبالتالي أصبحت عملية التصنيع أسهل، كما أن استهلاك الطاقة أصبح أخفض، وهذا جميعه ساعد في تصميم دارات متكاملة أصغر حجماً. يبين الجدول3 أجيال التقنيات المستخدمة في بناء الدارات المتكاملة.

 

التقنية

استهلاك الطاقة

السرعة

التكويد

RTL (BJT)

   مرتفع

ضعيف

Discrete

DTL (BJT)

   مرتفع

ضعيف

Discrete، SSI

TTL (BJT)

متوسط

متوسط

SSI، MSI

ECL (BJT)

   مرتفع

   مرتفع

   SSI، MSI، LSI

   pMOS (MOSFET)

متوسط

ضعيف

SSI، MSI

nMOS (MOSFET)

   متوسط

متوسط

SSI، MSI، VLSI

CMOS (MOSFET)

ضعيف

متوسط

SSI، MSI، LSI، VLSI

GaAs (MOSFET)

   مرتفع

   مرتفع

SSI، MSI، LSI

    الجدول‏ 3: التقنيات المستخدمة في بناء الدارات المتكاملة

 

إن التطور الذي حصل خلال 40 عاماً - ابتداءً من العام 1971 وحتى عام 2010 - أدى إلى انتقال مستوى تقنية التصنيع من الحجم 10µm إلى الحجم 32nm للخلية الترانزستورية على المستوى السيليكوني، وبالتالي تضاعف عدد الترانزستورات على الشريحة الواحدة بحوالي 1000 مرة!
يبين الشكل 11 الشريحة السيليكونية للمعالج Intel-4004 والتي تم إنتاجها في عام 1970 على شريحة سيليكونية بمساحة 10um مقارنةً مع حجمها في عام 2010 بمساحة 32nm.

الشكل 11: حجم الشريحة السيليكونية مع تطور تقنية التصنيع من العام 1970 وحتى 2014

 

 إن متوسط نصف حجم الترانزستور على الشريحة السيليكونية يطلق عليه بـ Process Technology وهو الذي يتضاعف وفق قانون Moor كل سنتين. فمثلاً من أجل تقنية التصنيع 65nm فإن عشرات الآلاف من الترانزستورات يمكن أن تتسع في مساحة تعادل مساحة خلية دم حمراء – يمكن لعشر ملايين ترانزستور أن تتسع في مساحة تعادل 1mm2. يبين الشكل12 صورة ميكروية لترانزستور على الشريحة السيليكونية للمعالج Intel-Quad-core يعتمد تقنية 65nm ونجد أن متوسط نصف حجم المساحة هو 35nm.

    

الشكل 12: ترانزستور على مقطع شريحة سيليكونية يعتمد تقنية التصنيع 65nm

 


أصناف الدارات المتكاملة الرقمية

فيما يلي تفصيل مقتضب لفروع الأنظمة المدمجة وخواصها يوفر على الباحث والدارس الخوض في مئات المراجع.

     بشكل عام، تصنف حلول الدارات المتكاملة الرقمية ضمن فروع رئيسية ثلاث:

  1. الدارات المتكاملة القياسية (Standard Logic ICs).

  2. الدارات المتكاملة ذات التطبيقات العامة (General Purposes ICs).

  3. الدارات المتكاملة ذات التطبيقات الخاصة (Special Purposes ICs).

  

 فمنها ما هو غير قابل للبرمجة، ومنها ما هو قابل للبرمجة على مستوى التعليمات البرمجية (Software)، ومنها ما هو قابل للبرمجة على مستوى الكيان الصلب (Hardware). يبين الشكل13 الفروع الرئيسة للدارات المتكاملة الرقمية. إن هذا التصنيف يمثل تصنيفاً عاماً إذ يمكن أن يوجد تصنيفات فرعية أخرى تصنف بأنها دارات متكاملة متخصصة أو عامة التطبيقات؛ فيما يلي نفصل في هذه الفروع.

الشكل ‏13: الفروع الرئيسة للدارات المتكاملة الرقمية


الدارات المتكاملة القياسية

وهي شرائح متكاملة ذات وظائف عامة تم تصميمها لوظائف محددة لا يمكن تغييرها وفقاً لنموذج قياسي عالمي، كما أنها لا تقوم بأي عمليات معالجة (لا تملك وحدة معالجة)؛ من خلال ربط العديد من هذه الدارات مع بعضها البعض يمكن الحصول على دارة وظيفية منطقية، كما أن أي تغيير في وظيفة الدارة يحتاج إلى إعادة ربط هذه الدارات بالكامل.

مثالها: الدارات المتكاملة للبوابات المنطقية (AND و NAND و OR و NOR و NOT) مثل:

  • شرائح العائلة 74xxxx (74HC595: Shift Register)i

  • وشرائح العائلة 40xxxx (4018: Counter)i،

  • وشرائح التوقيت (NE555)،

  • وغيرها من الشرائح القياسية التي تصنع من قبل العديد من الشركات.


المعالجات المصغرة

وهي من فروع الدارات المتكاملة ذات الأغراض العامة. تجمع المعالجات المصغرة كل وظائف وحدة المعالجة المركزية CPU في دارة متكاملة واحدة، ويتم برمجتها من أجل تطبيق خاص باستخدام لغات برمجية مخصصة لتطبيقات الأنظمة المدمجة. تصنف المعالجات المصغرة من حيث الاستخدام إلى نوعين رئيسيين:

    • معالجات الأغراض العامة.

    • معالجات الأغراض الخاصة.

 

 معالجات الأغراض العامة

       في عام 1970 ظهر المعالج Intel 4004 ذو ناقل بعرض 4bit واستخدم في تصميمه2300 ترانزستور وقد تضمن ذاكرة RAM وذاكرة ROM ووحدة معالجة مركزية بتردد عمل 108KHz، استخدم هذا المعالج بشكل رئيسي في الآلات الحاسبة، ويعتبر أول معالج مصغر، وقد بلغ سعره آلاف الدولارات.

 

في عام 1974 أعلنت شركة Intel عن أول معالج للأغراض العامة (GPP) وهو المعالج 8080 بعرض ناقل 8bit، واستخدم في تصميمه4500 ترانزستور ووصلت سرعة تنفيذه إلى 290000 تعليمة في الثانية عند تردد عمل 2MHz، وتضمن أيضاً 64KB من الذاكرة المعنونة وأصبح المعالج 8080 معياراً صناعياً وبلغ سعره 395$ واستخدم في بناء أول حاسب شخصي.

 

منذ ذاك الحين تطورت معالجات الأغراض العامة – سرعةً وأداءً – فظهرت:

  • المعالجات ذات عرض الناقل16bit (Intel 8086)i،

  • ومعالجات 32bit (Intel/AMD x86)i،

  • ومعالجات 64bit (Intel/AMD x64)i،

  • كما ظهرت مؤخراً المعالجات متعددة النوى لتسيطر على مستقبل صناعة المعالجات.

يبين الشكل15 البنية الداخلية (على اليمن) والخريطة السيليكونية (على اليسار) للمعالج Intel® 4004. أما الشكل14 فيبين شريحة المعالج Intel® 4004.

الشكل 14: شريحة المعالج Intel® 4004 ذو ناقل بعرض 4bit ويحوي على 2300 ترانزستور

الشكل 15: البنية الداخلية والخريطة السيليكونية للمعالج Intel® 4004 – 1970

 

 يبين الشكل17 البنية الداخلية (على اليمن) والخريطة السيليكونية (على اليسار) للمعالج Intel®8085.

أيضاً الشكل16 يبين شريحة المعالج Intel®8085 الذي تم إنتاجه في عام 1976 ويحوي على 4500 ترانزستور ويعمل بتردد 3MHz.

الشكل 16: شريحة المعالج Intel® 8085 ذو ناقل بعرض 8bit ويحوي على 4500 ترانزستور

الشكل 17: البنية الداخلية والخريطة السيليكونية للمعالج Intel® 8085 – 1976

يبين الشكل 18 شريحة المعالج Intel®8086 ذو ناقل بيانات بعرض 16bit وتم إنتاجه في 1978 ويحوي 29000 ترانزستور ويعمل بتردد 5MHz. الشكل19 يبين البنية الداخلية (على اليمن) والخريطة السيليكونية (على اليسار) للمعالج Intel®8086.

الشكل 18: شريحة المعالج Intel® 8086 ذو ناقل بعرض 16bit ويحوي على 29000 ترانزستور

الشكل 19: البنية الداخلية والخريطة السيليكونية للمعالج Intel® 8086 – 1978

 

يبين الشكل20 شريحة المعالج Intel®P4 ذو ناقل بيانات بعرض 32bit، وتم إنتاجه في عام 2000، ويحوي على 125 مليون ترانزستور، ويعمل بتردد يترواح من 1.3 إلى 3.8GHz.

يبين الشكل21 البنية الداخلية والخريطة السيليكونية للمعالج Intel®P4.

الشكل 20: شريحة المعالج Intel®P4 ذو ناقل بعرض 32bit ويحوي على 125 مليون ترانزستور

الشكل 21: البنية الداخلية والخريطة السيليكونية للمعالج Intel®P4 – 2000


يبين الشكل 
22 شريحة المعالج Intel® i7 متعددة النوى (4-Core) ذو ناقل بيانات بعرض 64bit، تم إنتاجه في عام 2008، ويحوي على 731 مليون ترانزستور، ويعمل بتردد 1.6GHz إلى 3.47GHz. الشكل 23 يبين تمثيل البنية الداخلية العامة (على اليمن) والخريطة السيليكونية (على اليسار) للمعالج Intel® i7.

 

       الشكل 22 : شريحة المعالج Intel®i7 رباعي النوى وذو ناقل بعرض 64bit ويحوي على 731 مليون ترانزستور

الشكل 23: البنية الداخلية والخريطة السيليكونية للمعالج Intel®i7 – 2008

 

تتسم التطبيقات التي تستخدم المعالجات المصغرة بالتعقيد على مستوى الكيان الصلب والبرمجي، وذلك لكون المعالج يحوي على وظائف وحدة المعالجة المركزية وذاكرة البرنامج (ROM) فقط، وأما باقي المحيطيات كوحدات التوقيت وذاكرة المعطيات RAM ووحدات المقاطعات وغيرها، فجميعها يتم وصلها خارجياً عبر الناقل الرئيسي (BUS)، لذلك فإن معالجات الأغراض العامة تستخدم فقط في الحواسب الشخصية، ولا تستخدم في الأنظمة المدمجة.

        

 معالجات الأغراض الخاصة

 تصمم معالجات الأغراض الخاصة بحيث تؤمن سعة معالجة عالية ووظائف مخصصة متقدمة. مثالها: وحدة معالجة الرسوميات GPU. الشكل24 المعالج والمخطط الصندوقي لوحدة معالجة NVIDIA nForce 680i SLI.

 

في عام 2001 قررت شركة Sony بالتعاون مع شركة IBM وشركة Toshiba تطوير معالج Cell-Processor عالي الأداء، واستمر تطوير هذا المعالج أربع سنوات، وتم صرف مبلغ 400 مليون دولار على أبحاث التطوير، ويشار إليه عادةً بـCBEA.

   الشكل 24: المخطط الصندوقي لوحدة معالجة الرسوميات nForce 680i SLI

 يضم المعالج Cell-Processor معالج أغراض عامة من النوع 64bit Power-PC Core يسمى بـــ PPE إضافةً إلى مجموعة معالجات مؤازرة من المعالجات الخاصة من النوع SoCs لتسريع الرسوميات والوسائط تسمى بـ SPE، هذه المعالجات المؤازرة متصلة مع الوحدة الرئيسية PPE عبر ناقل يسمى بـEIB، وكلاهما متصل مع ذاكرة النظام عبر متحكم يدعى بـDMIC الذي يلج ذاكرة من نوع XDR بسعة 25GB/s، وكذلك يملك وحدات إدخال وإخراج من النوع FlexIO ذات سرعة تصل إلى 76.8GBs، والتشغيل الأول لهذا المعالج عند تردد4GHz.

الشكل 25: المخطط الصندوقي للمعالج Cell-Processor

 يتميز المعالج Cell-Processor بالإمكانيات الهائلة في معالجة العمليات الحسابية المعقدة، وخصوصاً الفاصلة العاملة (Floating-point) إضافةً إلى البرمجة الموزعة والمتعددة المهام، وحالياً يستخدم هذا المعالج في جهاز Playstation3 ويملك 9-core. الشكل25 يبين المخطط الصندوقي للمعالج Cell-Processor المستخدم في جهاز Playstation3. الشكل26 يبين الخريطة السيليكونية للمعالج Cell-Processor.

   الشكل 26: الخريطة السيليكونية للمعالج Cell-Processor


معيارية تصميم بنية المعالجات

تعرف المعيارية بأنها الطريقة التي يتعامل بها المعالج مع الذاكرة في جلب وتنفيذ التعليمات وتخزين البيانات، ويوجد معياريتين أساسيتين في تصميم المعالجات:

  • معيارية Harvard.

  • معيارية Von-Neumann.

 

 معيارية Von-Neumann

تعتمد هذه المعيارية على المعالج وناقل وحيد لنقل التعليمات والبيانات بين الذاكرة ووحدة المعالجة، وبالتالي سوف يحتاج إلى نبضات توقيت أكثر من أجل تنفيذ عملية واحدة، لذلك تتصف هذه النظم بكونها بطيئة نسبياً، مبدأ عملها يتلخص بما يلي:

  1. يقوم المعالج بجلب التعليمات من الذاكرة.

  2. يقوم بقراءة البيانات من الذاكرة.

  3. إجراء العمليات على البيانات.

  4. إعادة كتابة تلك البيانات على الذاكرة.

الشكل27: معيارية Von-Neumann وطريقة ربط المعالج مع الذاكرة

  

 معيارية Harvard

تتكون هذه المعيارية من المعالج وناقلين منفصلين أحدهما لنقل التعليمات والآخر لنقل البيانات، وتختلف ذاكرة البيانات عن ذاكرة التعليمات حيث أن لكل ذاكرة خطوط عنونة وتحكم وممر معطيات مختلفة، وبالتالي فإن عملية قراءة التعليمات والبيانات تتم في نفس الوقت، وستكون سرعة التنفيذ أكبر.

الشكل28: معيارية Harvard وطريقة ربط المعالج مع الذاكرة


بنى مسجلات التعليمات في المعالجات

CPUs Instruction Set Architectures

حتى منتصف الثمانينات في القرن السابق كان التوجه السائد في عالم صناعة المعالجات هو بناء معالجات ذات تعليمات أعقد وأكثر عدداً بهدف تسهيل عملية البرمجة، ولكن في تلك الأثناء ظهر توجه آخر معاكس تماماً، وهو السعي لبناء معالجات ذات تعليمات بسيطة ومحدودة العدد يمكن تنفيذها بسرعات عالية جداً. تقسم بنى مسجلات التعليمات في المعالجات إلى ثلاث بنى أساسية:

  1. CISC (من 300 إلى 3000 تعليمة)

  2. RISC (من 50 إلى 200 تعليمة)

  3. MISC (من 15 إلى 30 تعليمة)

 

 البنية CISC

وهي مجموعة أوامر الحاسب المعقدة "Complex Instruction Set Computer"؛ معظم معالجات الحواسب الشخصية تستخدم معمارية CISC، والتي تدعم مجموعة تعليمات قد يصل عددها إلى 3000 تعليمة أو أكثر.

 

الدافع الأساسي لهذه التقنية هو تخفيض التكلفة العامة للحواسب، وذلك عن طريق جعل البرمجة – وهي العنصر الأكثر تكلفة في أي نظام حاسوبي – أكثر سهولة وبالتالي أقل تكلفة.

 

يتلخص جميع ذلك بتطبيق مبدأ بسيط وهو: نقل التعقيد من البرمجيات إلى العتاد الصلب، لهذا السبب يتم تخصيص تعليمة لكل حدث يتم في المعالج، وبالتالي يمكن أن تصل مجموعة تعليمات هذه المعالجات إلى آلاف التعليمات، كما أن القاعدة الأساسية تقول: إن أداء الكيان الصلب "دائماً" أسرع بكثير من الأداء البرمجي.

 

على النقيض من ذلك، فإن زيادة عدد التعليمات يزيد من سهولة البرمجة، ويسرع زمن تسويق المنتج، ولكن بنفس الوقت يؤدي إلى زيادة تعقيد العتاد الصلب للمعالج، حيث سيحتاج إلى وحدة ترجمة معقدة داخل نفس المعالج للتعرف على كم التعليمات الكبير، كما أن دورة تنفيذ التعليمة ستستغرق وقتاً إضافياً داخل وحدة الترجمة حتى يتم تفسيرها مما يعني تباطؤاً في الأداء، كما أنه وبسبب الحاجة إلى مسجلات داخلية إضافية لهذه التعليمات؛ فإن عدد الترانزستورات لبنية المعالج ستزداد، وبالتالي ستزداد ضياعات الطاقة في المعالج مما ينتج عنه ارتفاع في درجة حرارة المعالج، وسيحتاج إلى وحدة تبريد خاصة، وهذا بالفعل ما نلاحظه في معالجات INTEL و AMD المستخدمة في الحواسب الشخصية.

 

إن السبب الأساسي في زيادة عدد التعليمات في المعالجات التي تتبنى البنية CISC – على الرغم من الجانب السلبي لهذا الأمر – هو أن هذه المعالجات تكون مكرسة لأغراض عامة ذات مهام معقدة، وبالتالي فإن برنامج هذه المعالجات يكون في غاية التعقيد، لهذا السبب يتم تزويد المعالج بمسجلات تعليمات لكافة العمليات الرياضية (sin وcos وغيرهما...) وهذا لا يتوفر في المعالجات التي تتبنى البنية RISC. من أشهر عائلات المعالجات التي تتبنى البنية CISC هي: System/360 و PDP-11 وVAX و68000 وx86 وIntel وAMD وCyrix وIBM.

 

 البنية RISC

وهي مجموعة أوامر الحاسب المختصرة "Reduced Instruction Set Computer"، وهي نوع من المعالجات التي تملك مجموعة محدودة نسبياً من التعليمات البرمجية العامة والأساسية، والتي تبلغ حوالي 200 تعليمة كحد أعظمي.

 

من ميزات تعليمات المعالجات ذات البنية RISC أنها قصيرة ولا تحتاج لوحدة ترجمة خاصة (Microcode)، مما يسرع في عملية التنفيذ حيث يمكن أن تصل سرعة التنفيذ في بعض المعالجات إلى دورة آلة واحدة لكل تعليمية. ميزة أخرى قد تكون أكثر أهمية، وهي أنه بسبب قلة وبساطة تعليمات هذا النوع فقد أصبح بالإمكان تقليل عدد المسجلات الداخلية، والذي يؤدي إلى تقليل عدد الترانزستورات، وبالتالي تخفيض تكلفة التصنيع واستهلاك الطاقة. على النقيض من ذلك، فإن قلة عدد التعليمات وعموميتها ينعكس سلباً على تعقيدات كتابة برنامج المعالج وطوله.

 

مؤخراً ومع وجود لغات برمجية عالية المستوى لم تعد هناك مشكلة في تعقيد برامج المعالجات ذات البنية RISC، وهذه البنية تعتمدها معظم أنواع المتحكمات المصغرة ومعالجات الإشارة الرقمية (DSPs).

 

من أشهر عائلات المعالجات التي تتبنى البنية CISC هي: DEC Alpha و AMD 29k و ARC و ARM و Atmel AVR و MIPS و PA-RISC و PowerPC و SuperH و SPARC.

 

 البنية MISC

تقوم هذه البنية على عدد قليل جداً من التعليمات الأساسية بهدف تقليل عدد المسجلات الداخلية للمعالج، كما أن هذا النوع من التعليمات يعتمد على ما يسمى المكدس (Stack-based) – الذي يستخدم لتخزين عنوان العودة عند القفز إلى البرامج الفرعية في بنى التعليمات التي تستخدم المسجلات – بدلاً من كونه معتمداً على المسجلات (Register-based)، وبالتالي يتم فك تشفير التعليمات بسرعة أكبر غير أن هذا يؤدي إلى كون التنفيذ يعتمد على التسلسل التتابعي للتعليمة.

 

هذا النوع من بنى التعليمات شائع في بيئة الجافا الوهمية (Java Virtual Machine)، ومن أبرز التطبيقات التجارية التي تبنت هذه البنية هو الحاسوب INMOS Transputer المبين في الشكل29.

   الشكل 29: اللوحة الأم للحاسوب Transputer Evaluation IMSB008

  

معالجات CISC

معالجات RISC

عدد كبير جداً من التعليمات البرمجية يصل إلى 3000

عدد قليل من التعليمات البرمجية لا يتجاوز 200

تعليمات برمجية معقدة يستغرق تنفيذها زمناً كبيراً يصل إلى 12 دورة

تعليمات برمجية أساسية بسيطة يمكن تنفيذها بدورة واحدة فقط

التعليمات تحتاج إلى Microcode في المعالج لترجمتها قبل التنفيذ

تنفيذ التعليمات يتم بشكل مباشر دون الحاجة لوحدة ترجمة

كتلة التعليمات تتفاوت في الطول والتعقيد

كتلة التعليمات بسيطة وموحدة الطول (8، 16، 32bit)

تحتاج للوصول إلى الذاكرة أثناء التنفيذ

لا حاجة للوصول للذاكرة (الأوامر في المسجلات)

نادراً ما تستخدم تقنية Pipelining

تستخدم تقنية Pipelining بشكل واسع

ذات تعقيد في الكيان الصلب (Microcode Unit)

ذات تعقيد على مستوى البرمجيات (Compiler)

مجموعة مسجلات وحيدة والنقل يتم من الذاكرة

العديد من مجموعات المسجلات ويتم التنفيذ منها

   الجدول 4: مقارنة بين بنية التعليمات RISC البنية CISC


المتحكمات المصغرة

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

 

تعتبر المتحكمات الرقمية المصغرة القلب النابض في أنظمة التحكم وفي التجهيزات الكهربائية والإلكترونية، وبقدر ازدياد تعقيد الوظائف المطلوبة من هذه الأنظمة، يزداد تعقيد بنية هذه المتحكمات؛ لذلك تتوفر هذه المتحكمات ضمن طيف واسع جداً من العائلات التي تتنوع بتنوع وظائفها وتطبيقاتها، فمنها الخاص ومنها العام.

 

 تعتبر صناعة السيارات القوة المحركة في ازدياد نمو تطوير المتحكمات المصغرة، وتشير الإحصاءات إلى أن 33% من المتحكمات المصنعة تستخدم في أنظمة التحكم في السيارات الحديثة، كما تشير الإحصاءات إلى أن عدد المتحكمات المصغرة التي تستخدم في السيارات ذات الكلفة المنخفضة يتراوح 30~40، في حين يستخدم 70 إلى 100 متحكم في السيارات ذات الكلفة المرتفعة. من الجدير ذكره أن متطلبات قطاع صناعة السيارات دفعت شركات تصنيع المتحكمات المصغرة إلى تطوير وتبني برتوكولات اتصال تسلسلي جديدة ذات وظائف وميزات تستوعب ربط آلاف الحساسات مثل CAN و LIN.

 

تصنف المتحكمات المصغرة بشكل أساسي وفقاً لعرض الناقل الرئيسي (4bit و 8bit و 16bit و 32bit و 64bit) الذي يصل بين وحدة المعالجة المركزية وبين ذاكرة المتحكم. إن معيار اختيار المعالج وفقاً لعرض الناقل الرئيسي يعتمد على درجة تعقيد النظام، فمثلاً: تستخدم معالجات 4bit في أجهزة التحكم عن بعد وألعاب الأطفال، وهذه المعالجات تكون محدودة الميزات، وتعمل عند تردد لا يتجاوز 8MHz. وأما معالجات 8bit فتستخدم في أنظمة التحكم بالغسالات والأجهزة المنزلية، وهي تعمل عند تردد لا يتجاوز 20MHz. وتستخدم معالجات 16bit في أنظمة التحكم الرقمي بالمحركات وهي تعمل عند تردد لا يتجاوز 40MHz، وأما معالجات 32bit فتستخدم في الأنظمة المتقدمة التي تحتاج إلى معالجة بالفاصلة العشرية أو تحوي على نظام تشغيل مدمج (RTOS) مثل Linux، وهي تملك ميزات واسعة لا تملكها المعالجات الأدنى، مثل: إمكانية الربط مع بروتوكولات اتصال تسلسلي عالية السرعة (Ethernet وUSB وWi-Fi وCAN) وتكون بنيتها أقرب إلى بنية الحواسب وتعمل عن ترددات تتراوح من 60MHz إلى 400MHz.


الميزات الوظيفية للمتحكمات المصغرة

تمتلك المتحكمات المصغرة العديد من الميزات الأساسية والميزات المحيطية الوظيفية؛ إن الهدف من تنوع هذه الميزات هو تقليل عدد العناصر الخارجية المحيطية على الدارة المطبوعة (PCB) وذلك بهدف:

  •  
    • الحصول على أداء أعلى.

    • الحصول على وثوقية عالية.
     
  • تخفيض استهلاك الطاقة.

  • تخفيض تكلفة تطوير النظام من خلال تقليص زمن التصميم.

 

إضافةً إلى الميزات الأساسية التي تشترك بها جميع المتحكمات المصغرة، فإن العديد من الميزات ظهرت مؤخراً، وأدت إلى دفع عجلة المتحكمات المصغرة لتكون بديلاً عن استخدام المعالجات المصغرة في العديد من مشاريع الأنظمة المدمجة.


الحقوق الفكرية

حقوق النشر محفوطة م.وليد بليد

Copyright © 2012 Walid Balid All rights reserved


تأليف

 

المؤلف: وليد بليد (سوريا)

البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.


 

التعليقات   

 
abohatem33
0 # abohatem33 2016-09-17 03:58
بارك الله فيك حقا انها لمحة كافية ووافية عن هذه النظم التي نستعملها في حياتنا اليومية
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 

أضف تعليق


كود امني
تحديث


Go to top