المعالج المساعد: العمارة ، العمل ، أنواعه وتطبيقاته

جرب أداة القضاء على المشاكل





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


ما هو المعالج المساعد؟

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



  معالج مساعد
معالج مساعد

هندسة المعالج المساعد

يظهر المعالج الثانوي مثل معمارية 8087 أدناه. بشكل عام ، يعمل هذا المعالج المشترك مع المعالج الدقيق المتوازي. تم تطوير هذا المعالج المشترك بواسطة Intel واستخدامه مع معالجات عائلة 16 بت 8086. عندما يعمل المعالج مع المعالج الدقيق ، يتم التعامل مع جزء الحساب ببساطة بواسطة المعالج وهذا يسمح لوحدة المعالجة المركزية باستخدام الموارد لتنفيذ أنشطة أخرى مختلفة.

يمثل الشكل التالي بنية المعالج 8087. تتضمن هذه البنية وحدتين رئيسيتين مثل وحدة التحكم ووحدة تنفيذ رقمية تسمى أيضًا NEU.



  8087 هندسة المعالجات المشتركة
8087 هندسة المعالجات المشتركة

في وحدة التحكم ، توجد وحدات مختلفة مثل مخزن البيانات المؤقت والتحكم وسجل كلمات الحالة وقائمة انتظار المعاملات المشتركة ومؤشر الاستثناء ووحدة العنونة وتتبع الناقل. تشتمل وحدة التنفيذ الرقمي أو NEU بشكل أساسي على وحدة تحكم في الرمز الصغير ، ومكدس سجل ، ومبدل قابل للبرمجة ، ومؤقت السجلات ، وحدة حسابية ، وحدة الأس وقائمة انتظار المعاملات المشتركة.

وحدة التحكم في المعالج هو التحكم في تنفيذ التعليمات (IE) التي تكون وحدة التنفيذ الرقمي مسؤولة عنها. في الغالب ، تحصل وحدة التحكم في الرمز الصغير (CU) لوحدة التنفيذ الرقمي على التعليمات الرقمية من وحدة التحكم في المعالج الثانوي. يحتوي هذا المعالج المشترك على 8 سجلات كاملة من 80 بت ويتم استخدام كل منها في مكدس LIFO. المعاملات التي ستحدث عليها تعليمات المعالج المشترك موجودة في مكدس السجل.

  PCBWay

يتم توجيه المكدس الحالي من خلال SP 3 بت (مؤشر المكدس) الذي يحمل القيم الثنائية التي تتراوح من 000-111 لإظهار سجلات المكدس الثمانية. إنه يعمل بطريقة تكديس دائرية في وضع LIFO. ولكن بمجرد حدوث إجراء إعادة التعيين ، يمكن تهيئة المؤشر بالقيمة الثنائية '000'.

تصنيفات البيانات الرقمية الثلاثة التي يتم فيها تجميع وظائف المعالج المشترك بأرقام عشرية وأرقام حقيقية وأعداد صحيحة ثنائية. الأعداد الثنائية هي ثلاثة أنواع من الأعداد الصحيحة ذات 16 بت ، وعدد صحيح قصير 32 بت وعدد صحيح طويل 64 بت. يشير تنسيق BCD 80 بت إلى الأرقام العشرية المعبأة بينما الأرقام الحقيقية هي 3 أنواع ؛ 32 بت قصير حقيقي ، 64 بت حقيقي طويل ، و 80 بت حقيقي مؤقت.

لنقل البيانات الرقمية في المعالج إما أ يتم استخدام ناقل الأس 16 بت أو ناقل الجزء العشري 64 بت . يتضمن المعالج المشترك كلمة تحكم 16 بت وكلمة حالة من 16 بت.

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

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

كيف يعمل المعالج المساعد؟

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

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

أنواع المعالجات

تتوفر معالجات مشتركة مختلفة بناءً على الشركات المصنعة مثل ما يلي.

معالج مشترك إنتل 8087

Intel 8087 هو معالج مشترك مصمم خصيصًا يستخدم لإجراء عمليات حسابية تتضمن قيم الفاصلة العائمة والأعداد الصحيحة. في بعض الأحيان ، يُعرف أيضًا بمعالج البيانات الرقمية ومعالج الرياضيات. هذا معالج رقمي مشترك لمعالجات Intel 80188 و 8086 و 80186 و 8088. يشتمل المعالج المساعد 8087 على ثمانية سجلات عامة من 80 بت يتم تنفيذها كمكدس. لذلك ، يتم تنفيذ جميع عمليات النقطة العائمة ببساطة باستخدام بيانات من المكدس ومن الذاكرة الخارجية.

  معالج مشترك إنتل 8087
معالج مشترك إنتل 8087

يدعم المعالج المشترك Intel 8087 ببساطة BCD ، والأعداد الصحيحة ، وأرقام الفاصلة العائمة ذات الدقة الفردية والمزدوجة وأيضًا أرقام الفاصلة العائمة ذات الدقة الموسعة. بمجرد أن يقوم المعالج 8087 بتحميل البيانات من الذاكرة ، فإنه يتحول داخليًا لتوسيع رقم الدقة ويتم إجراء جميع العمليات الحسابية من خلال هذا الرقم.

لذا ، فإن التبديل من رقم مزدوج الدقة إلى رقم أحادي الدقة بخلاف ذلك من عدد صحيح 64 بت - الأرقام الصحيحة 32 بت / 16 بت لا تعطي أي تعزيز كبير للأداء. 8087 لم يتم تصنيع المعالجات المساعدة من قبل Intel فقط ولكن AMD و Cyrix & IBM تقوم أيضًا بتصنيع هذه المعالجات المساعدة.

موتورولا 68881

Motorola 68881 هو معالج مساعد يستخدم بشكل أساسي مع الجيل الثاني من Motorola 68K المعالجات الدقيقة مثل Motorola 68030 & 68020. نظريًا ، يتم استخدام هذا المعالج المساعد مع وحدات المعالجة المركزية (CPU) السابقة 68000 أو 68010 كجهاز طرفي.

  موتورولا 68881
موتورولا 68881

يعمل المعالج المشترك Motorola 68881 ببساطة مثل جهاز الذاكرة المعين. بمجرد أن تقوم وحدة المعالجة المركزية الرئيسية بتحميل تعليمات المعالج المشترك ، فإنها تكتب رمز التعليمات في CIR (سجلات واجهة المعالج المشترك) ، والتي يتم تعيينها داخل مساحة عنوان وحدة المعالجة المركزية ، وبعد ذلك ، تقرأ استجابة معالج مشترك من أحد مسجلات CIR.

تم استخدام المعالجات المساعدة Motorola 68881/68882 في محطات عمل IBM RT PC ومحطات عمل Sun Microsystems Sun-3 و NeXT Computer وعائلة Apple Computer Macintosh II و Amiga 3000 و Sharp X68000 و Convergent Technologies MightyFrame و TT و Atari Mega STE و Falcon. تُستخدم هذه المعالجات أيضًا في بعض منتجات Atari & Amiga التابعة لجهات خارجية مثل جهاز تم تعيين ذاكرة له إلى 68000.

معالجات Apple Motion المشتركة

تُعرف المعالجات المشتركة M-series من Apple باسم المعالجات المشتركة للحركة والتي تُستخدم في أجهزة Apple المحمولة. تم تصميم أول معالج مساعد في عام 2013 ، حيث تم استخدامه لجمع بيانات المستشعر من الجيروسكوبات المدمجة ومقاييس التسارع والبوصلة وتفريغ بيانات المستشعر المجمعة باستخدام وحدة المعالجة المركزية الرئيسية.

  معالجات Apple Motion المشتركة
معالجات Apple Motion المشتركة

تقوم معالجات Apple من السلسلة M-series ببساطة بجمع بيانات المستشعر وتخزينها حتى إذا كان الجهاز نائمًا ويمكن للتطبيقات استعادة البيانات بمجرد تشغيل الجهاز مرة أخرى. لذلك يقلل هذا من الطاقة المستمدة من الجهاز ويوفر عمر البطارية.

الفرق بين المعالج والمعالج المساعد

يشمل الاختلاف بين المعالج والمعالج الثانوي ما يلي.

المعالج

معالج مساعد

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

يتولى المعالج جميع الأعمال الرئيسية

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

مزايا

تشمل مزايا المعالج المساعد ما يلي.

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

سلبيات

تشمل عيوب المعالجات المساعدة ما يلي.

  • المعالج غير قادر على استعادة التعليمات من الذاكرة ، وتنفيذ التعليمات مباشرة ، وإدارة الذاكرة ، وتنفيذ عمليات الإدخال / الإخراج
  • يعتمد الأمر على المعالج الرئيسي لاستعادة تعليمات المعالج الثانوي والعناية بجميع العمليات الأخرى غير المتعلقة بالمعالج الثانوي.
  • هذا ليس المعالج الرئيسي للنظام.
  • لا يمكن للمعالج المشترك العمل بدون المعالج الدقيق الرئيسي.

التطبيقات

تشمل تطبيقات المعالجات المساعدة ما يلي.

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

وهكذا ، هذا هو نظرة عامة على المعالج المساعد - العمل وتطبيقاته. يُعرف هذا المعالج أيضًا باسم معالج الرياضيات. يقوم المعالج الثانوي بأداء مهام مختلفة بشكل أسرع مقارنة بوحدة المعالجة المركزية الأساسية. وبالتالي ، تزداد السرعة الإجمالية لنظام الكمبيوتر. يمكن توصيل هذا المعالج بمعالج ARM. بمجرد إضافته ، نحتاج إلى زيادة مجموعة تعليمات Core CPU أو تضمين سجلات قابلة للتكوين لزيادة قوة المعالجة. إليك سؤال لك ، ما هو المعالج الدقيق؟