logo

logo

logo

logo

logo

المعالج الصغري

معالج صغري

Microprocessor - Microprocesseur

المعالج الصغري

 

المعالج الصغري microprocessor هو وحدة وظيفية نصف ناقلة تتألف من دارات منطقية إلكترونية مصنَّعة باستخدام تقنية التكامل واسع النطاق (larg - scale integration (LSI أو التكامل الوسيع النطاق very - large scale integration (VLSI)، وهو يمثّل وحدة معالجة مركزية central processing unit (CPU)  متوضعة على دارة متكاملة واحدة، ويملك القدرة على تنفيذ الوظائف الحسابية والمنطقية واتخاذ القرارات التي تؤدي إلى تغيير تتابع تنفيذ البرنامج.

لمحة تاريخية

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

وفي عام 2002 كان أكثر من 260  مليون حاسوب شخصي يعتمد على معالجات إنتل بالمقارنة مع 6 ملايين حاسوب شخصي يستخدم معالجات موتورولا، ويوضح الجدول (2) التطور التاريخي لأهم معالجات إنتل وأهم مواصفاتها:

مكونات المعالج الصغري

الجدول (2)

تتألف معظم المعالجات الصغرية البسيطة من الوحدات الآتية:

1- وحدة الحساب والمنطق ALU: وتنجز العمليات الرياضية مثل الجمع، الطرح، الضرب، القسمة، والعمليات المنطقية، مثل AND، OR، NOT... التي يحددها البرنامج على المعطيات Data. ويمكن تمييز حالتين: في الأولى يستطيع المعالج تنفيذ بعض العمليات البدائية فقط مما يجبر المبرمج على برمجة العمليات الأكثر تعقيداً بنفسه انطلاقاً من هذه الإمكانات البدائية، وفي الثانية يستطيع المعالج تنفيذ عمليات أكثر تعقيداً عندما يتلقى الأمر بذلك. تخزن نتائج العمليات إما في السجلات وإما الذاكرة، أو تُرسل إلى وحدات الإخراج؛ وفقاًَ لتعليمات البرنامج.

2 - وحدة السجلات registers unit: تتألف من سجلات لها وظائف مختلفة، وهي الآتية:

- السجلات ذات الأغراض العامة: وتستعمل أساساً لحفظ المعطيات المتعلقة بالعملية التي يجري تنفيذها بدلاً من حفظها في الذاكرة لزيادة سرعة تنفيذها التعليمة وأحد هذه السجلات هو المراكم accumulator الذي يعدّ أكثر السجلات الموجودة في المعالج عمومية واستخداماً.

- السجلات التخصصية وأهمها:

أـ سجل عداد البرنامج (program counter (PC الذي يشير إلى التعليمة التالية التي يجب جلبها من الذاكرة لتنفيذها.

ب ـ سجل التعليمة (instruction regsiter (IR ويقوم بحفظ التعليمة المطلوب تنفيذها، وذلك في أثناء عملية تفسيرها وفك ترميزها.

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

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

3- وحدة التحكم control unit: مهمتها ترجمة التعليمات إلى إشارات منطقية تتحكم بسير العمليات في وحدة الحسابات والمنطق، وبانتقال المعطيات بين أجزاء المعالج الصغري وكذلك بين المعالج الصغري والطرفيات بما في ذلك الذاكرة ووحدات الإدخال والإخراج. كما تقوم هذه الوحدة بإرسال إشارات التوقيت التي تحدد الزمن المخصص لكل عملية ضمن التعليمة، ولكل تعليمة ضمن البرنامج.              

4- يتواصل المعالج الصغري مع وحدة الذاكرة ووحدات الإدخال والإخراج I/O عبر مسرى النظام system bus، ويتألف هذا المسرى من ثلاثة مسارات جزئية، الأول منها هو مسرى العنوان address bus، وهو مجموعة من الخطوط الكهربائية أحادية الاتجاه تنطلق من المعالج، وتحمل عنوان موقع الذاكرة أو وحدة الدخل والخرج المطلوب التخاطب معها، ويحدد عدد هذه الخطوط الحجم الأعظمي للذاكرة الرئيسية التي يمكن عنونتها. المسرى الثاني هو مسرى المعطيات data bus، ويتألف من عدد من الخطوط الكهربائية ثنائية الاتجاه التي تستخدم لإدخال المعطيات إلى المعالج الصغري وإخراجها منه، المسرى الثالث هو مسرى التحكم control bus، ويتألف من مجموعة من خطوط الخرج التي تحمل إشارات التحكم من المعالج الصغري إلى وحدة الذاكرة أو وحدة الإدخال والإخراج كأوامر القراءة والكتابة، إضافة إلى مجموعة من خطوط الدخل تحمل معلومات عن حالة الأجهزة المربوطة مع المعالج الصغري، مثل جاهزيتها لاستقبال المعلومات أو انتهائها من إنجاز العمل المطلوب أو طلبها لمقاطعة المعالج الصغري، وغير ذلك.

مجموعة التعليمات instruction set للمعالج الصغري

يتحدد عمل المعالج الصغري بالتعليمات المرمزة ثنائياً التي ينفذها والتي تسمى تعليمات الآلة machine instructions أو تعليمات الحاسوب computer instructions، ويسمى مجموع تعليمات الآلة المختلفة التي يستطيع المعالج الصغري تنفيذها بمجموعة  تعليمات المعالج الصغرى microprocessor‘s instruction set. يملك كل معالج صغري مجموعة ثابتة من التعليمات الخاصة به التي تُحدَّد بناءً على تصميمه. ينبغي أن تحوي كل تعليمة المعلومات الضرورية لقيام المعالج الصغري بالتنفيذ وهذه المعلومات هي: رمز العملية operation code الذي يحدد العملية الواجب أداؤها (مثلاً: جمع، مقارنة، دخل/خرج...)، مدلال معامل المصدر source operand  reference حيث تحتاج العملية إلى معامل مصدر واحد أو أكثر، وتمثل هذه المعاملات دخل العملية، وقد لاتحتاج العملية إلى أي معامل مصدر مدلال معامل النتيجة result operand  reference حيث من الممكن أن تولد العملية نتيجة ما، يمكن أن تقع معاملات المصدر والنتيجة في الذاكرة الرئيسية أو الافتراضية أو سجلات المعالج الصغري أو في أجهزة الدخل/الخرج.

تُمثل كل تعليمة بمتتالية بتات bits، وتقسم التعليمة إلى حقول تبعاً للعناصر المؤلفة للتعليمة. ويكون المعالج الصغري قادراً على استخلاص المعطيات من حقول التعليمات المختلفة لإجراء العملية المطلوبة. يصعب على المبرمج التعامل مع التمثيل الثنائي لتعليمات الآلة، لذلك يُستعمل تمثيل رمزي symbolic لتعليمات الآلة حيث تُمثَّل رموز العمليات باختصارات تسمى الرموز التذكارية mnemonics وهي تشير إلى العملية المطلوبة (مثلاً: ADD، SUB،  LOAD .....) كما تمثل المعاملات أيضاً رمزياً (مثلاً التعليمة Y و  ADD Rتعني جمع  القيمة المخزنة في العنوان Y في الذاكرة مع محتوى المسجل R في المعالج الصغري ووضع النتيجة في السجل R). وباستخدام الرموز ظهر ما يسمح بلغة التجميع assembly language، وتُترجم البرامج المكتوبة بهذه اللغة إلى لغة الآلة بوساطة المجمع assembler.

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

تصنَّف التعليمات حسب عدد العنوانات المحتواة في التعليمة إلى تعليمات ثلاثية العنوانات، ثنائية العنوانات، أحادية العنوانات، وعديمة العنوانات.

إن تصميم مجموعة التعليمات تعتمد على : العمليات الواجب توفيرها وعددها ومدى تعقيدها، وأنواع المعطيات التي تجري عليها العمليات، طول التعليمة وعدد العنوانات، وعدد سجلات المعالج الصغرى الممكن للتعليمات الدلالة عليها، وأنماط العنونة التي يحدد بها عنوان معامل ما.

الميزات الأساسية للمعالجات الصغرية والتقنيات المعتمدة في المعالجات المعاصرة

- تردد الساعة: هو التردد الذي يُغذي المعالج مقدراً بالميغا هيرتز MHz أو الغيغا هيرتز GHz، ويُولِّده مولد نبضات الساعة المغذى من بلورة الكريستال الموجودة على اللوحة الأم، وتعد نبضة الساعة أصغر عنصر زمني يتعامل معه المعالج. يختلف الزمن اللازم لتنفيذ تعليمة معينة بحسب التعليمة نفسها، فمثلاً تحتاج تعليمة MOV في معالج Pentium إلى نبضة ساعة واحدة في حين تحتاج تعليمة MOVS للمعالج نفسه إلى 4 نبضات ساعة. كما يختلف هذا الزمن بحسب نوع المعالج، فالمعالجان إنتل 8086/8088 يحتاجان إلى معدل وسطي مقداره 12 نبضة ساعة لتنفيذ تعليمة ما، في حين يحتاج المعالج إنتل 80486 إلى معدل وسطي مقداره نبضتا ساعة، ويستطيع المعالج Pentium II تنفيذ ما مقداره ثلاث تعليمات كل نبضة ساعة، وتعد سرعة المعالج عدة أمثال من سرعة اللوحة الأم.

- مسرى المعطيات: ويعبر عنه أحياناً بمسرى المعطيات الخارجي، ويراوح طوله من 8 بت  في المعالج إنتل 8080  إلى 64 بت في المعالج Pentium.

- السجلات الداخلية أو مسرى المعالج الداخلي: توجد معالجات بسجلات طولها 16 بت، مثل إنتل 8086، ومعالجات بسجلات طولها 32 بت، مثل المعالجات إنتل 89386 فما فوق، ومعالجات بسجلات طولها 64 بت، مثل المعالج Intel Itanium، وقد يكون طول السجلات أكبر من طول مسرى المعطيات الخارجي، كما في المعالج إنتل 8088، أو يكون طول السجلات يساوي طول مسرى المعطيات الخارجي مثل المعالج إنتل c80486DX، أو يكون مسرى المعطيات الخارجي أكبر من طول السجلات كما في المعالج بنتيوم Pentium.

- مسرى العنوانات: يُحدّد عرضه حجم الذاكرة الرئيسية التي يمكن للمعالج عنونتها.

- الذاكرة الخابية من المستوى الأول (cache memory) (L1): تطلق هذه التسمية على الذاكرة السريعة ذات النفاذ العشوائي الساكنة SRAM الموجودة داخل الدارة المتكاملة للمعالج، وتعمل بسرعة المعالج، حيث يتم فيها تخزين مجموعة من المعلومات التي سيتم معالجتها قريباً. تعاني هذه الذاكرة مما يسمى بخطأ الذاكرة الخابية حيث إن احتمال ألا تكون التعليمات أو المعطيات المطلوب معالجتها موجودة في الذاكرة الخابية مما يضطر المعالج إلى طلبها من الذاكرة الرئيسية البطيئة السرعة.

- الذاكرة الخابية من المستوى الثاني (L2): تستخدم لتخفيض الأثر الناتج من خطأ الذاكرة الخابية من المستوى الأول، ويمكن أن تكون موجودة على اللوحة الأم motherboard خارج الدارة المتكاملة للمعالج حيث تعمل بسرعة اللوحة الأم، أو تكون موجودة داخل الدارة المتكاملة للمعالج حيث تعمل بكامل سرعة المعالج أو بنصفها أو ثلثها.

- الذاكرة الافتراضية: وهي فضاء التخزين الذي يمكن عده وحدة تخزين قابلة للعنونة من قبل المستخدم في النظام الحاسوبي، وتُقابَل فيه العنوانات الافتراضية مع العنوانات الحقيقية. يُحدَّد حجم الذاكرة الافتراضية بطريقة عنونة النظام الحاسوبي، وبكمية التخزين الثانوي المتاح، ولايُحدَّد بالعدد الفعلي لمواقع التخزين في الذاكرة الرئيسية.

- نمط التحكم بالنظام system management mode: هي مجموعة من الدارات الإلكترونية الموجودة مع المعالج بهدف توفير استهلاكه من الطاقة، وذلك عن طريق تخفيض نشاط هذا المعالج في فترات الراحة. وقد طُرحت في أول الأمر في النسخ المحمولة من المعالجات mobile versions إلا أنها صارت متوافرة منذ ظهور معالج Pentium.

- التنفيذ السلمي الفائق superscalar execution : هي قدرة المعالج على تنفيذ أكثر من تعليمة في الوقت نفسه.

- مجموعة تعليمات multimedia extension (MMX): مجموعة من التعليمات الإضافية تختص في مجالات الوسائط المتعددة، وتتميز بكونها مدعومة بتقنية تعليمة وحيدة - مجموعة معطيات (SIMD)، حيث تُفيد هذه التقنية في حالات تكرار تنفيذ التعليمة، كالحلقات مثلاً، Y‘ إن التنفيذ المتكرر للتعليمة نفسها ولمجموعة مختلفة من المعطيات يتم في آن واحد.

- مجموعة تعليمات SSE) streaming SIMD extension): تعد تحديثاً لتعليمات MMX، ويستفاد من هذه التعليمات في المعالجة المتقدمة للصورة، وتحسين أداء الصوت والصورة  وعمليات تعرف الصوت، وغيرها.

- التنفيذ الديناميكي dynamic  execution: هو ثلاث تقانات بدأت من المعالج Pentium II، وهي:

أ- التنبؤ بالتفريع branch prediction: تقوم هذه التقانة بالتوقع بالتفريعات التالية للبرنامج مستخدمة لذلك خوارزميات خاصة، وهذا مايسمح بالتنبؤ بمواقع التعليمات التالية في الذاكرة، وعندئذٍ سيجلب المعالج التعليمات المناسبة جلباً مسبقاً ويخزنها داخلياً.

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

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

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

- وحدة الفاصلة العائمة floating- point unit: التي كانت في الماضي تشكل المعالج الرياضي المساعد math coprocessor لكنها صارت منذ المعالج 80486 جزءاً منه. تعمل هذه الوحدة على تنفيذ عمليات الفاصلة العائمة من جمع وضرب وتقسيم وجذر ولوغاريتم والتوابع المثلثية بوساطة مجموعة مستقلة من التعليمات.

المعالجات الحديثة

 دخلت شركة إنتل في نيسان/أبريل 2005 عصراً جديداً بالنسبة لمعمارية المعالج الصغري تجلت بإصدار أول معالج صغري ثنائي النواة dual core، الذي كان خطوة أولى للدخول في الحوسبة المتعددة النواة.

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

من الأمثلة على معالجات إنتل الثنائية النواة Dual-Core -Intel-Xeon للمخدمات وIntel Pentium D (الذي يضم نواتين لكل منها ذاكرة «كاش» خاصة بها بسعة 1MB لكل نواة) للحواسب المكتبية و Intel Centrino للحواسب المحمولة، ستستخدم إنتل في عام 2007 معالجاً رباعي النواة للحواسيب المكتبية.

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

تطبيقات المعالج الصغري

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

مازن محايري

الموضوعات ذات الصلة:

الحاسوب ـ الذاكرة الخبيئة ـ الذاكرة في الحاسوب ـ المعالج السلمي الفائق.

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

- MOHAMED RAFIQUZZAMAN, Microprocessors and Microcomputer- Based System Design (CRC Press, Florida 1990).

- RAMESH S. GONKAR, Microprocessor Architecture, Programming and Applications (Prentice Hall, NJ 1996).

Intel Microprocessor Handbook 2004.


التصنيف : التقنيات (التكنولوجية)
النوع : تقانة
المجلد: المجلد التاسع عشر
رقم الصفحة ضمن المجلد : 18
مشاركة :

اترك تعليقك



آخر أخبار الهيئة :

البحوث الأكثر قراءة

هل تعلم ؟؟

عدد الزوار حاليا : 1114
الكل : 40863502
اليوم : 98234

النترو (مركبات-)

المزيد »