معالجة متعددة
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( فبراير 2014 ) |
تعدد المعالجات هو استخدام وحدتي معالجة مركزية (CPU) أو أكثر داخل نظام كمبيوتر واحد . [1] [2] يشير المصطلح أيضًا إلى قدرة النظام على دعم أكثر من معالج واحد أو القدرة على تخصيص المهام بينهما. هناك العديد من الاختلافات في هذا الموضوع الأساسي، ويمكن أن يختلف تعريف تعدد المعالجات حسب السياق، غالبًا كدالة لكيفية تعريف وحدات المعالجة المركزية ( أنوية متعددة على شريحة واحدة ، شرائح متعددة في حزمة واحدة ، حزم متعددة في وحدة نظام واحدة ، إلخ).
وفقًا لبعض القواميس على الإنترنت، فإن المعالج المتعدد هو نظام كمبيوتر يحتوي على وحدتي معالجة أو أكثر (معالجات متعددة) تشترك كل منها في الذاكرة الرئيسية والأجهزة الطرفية، من أجل معالجة البرامج في وقت واحد. [3] [4] وقد عرّف كتاب مدرسي عام 2009 نظام المعالج المتعدد على نحو مماثل، لكنه لاحظ أن المعالجات قد تشترك في "بعض أو كل ذاكرة النظام ومرافق الإدخال/الإخراج"؛ كما أعطى أيضًا نظامًا مقترنًا بإحكام كمصطلح مرادف. [5]
على مستوى نظام التشغيل ، تُستخدم المعالجة المتعددة أحيانًا للإشارة إلى تنفيذ عمليات متعددة متزامنة في نظام، مع تشغيل كل عملية على وحدة معالجة مركزية منفصلة أو نواة، على عكس عملية واحدة في أي لحظة. [6] [7] عند استخدامها مع هذا التعريف، تُقارن المعالجة المتعددة أحيانًا بتعدد المهام ، والذي قد يستخدم معالجًا واحدًا فقط ولكنه يبدله في شرائح زمنية بين المهام (أي نظام تقاسم الوقت ). ومع ذلك، تعني المعالجة المتعددة التنفيذ المتوازي الحقيقي لعمليات متعددة باستخدام أكثر من معالج واحد. [7] لا تعني المعالجة المتعددة بالضرورة أن عملية أو مهمة واحدة تستخدم أكثر من معالج واحد في وقت واحد؛ يُستخدم مصطلح المعالجة المتوازية بشكل عام للإشارة إلى هذا السيناريو. [6] يفضل مؤلفون آخرون الإشارة إلى تقنيات نظام التشغيل على أنها برمجة متعددة ويحتفظون بمصطلح المعالجة المتعددة للجانب المادي المتمثل في وجود أكثر من معالج واحد. [2] [8] يناقش الجزء المتبقي من هذه المقالة المعالجة المتعددة فقط بهذا المعنى المادي.
في تصنيف فلين ، تعد المعالجات المتعددة كما تم تعريفها أعلاه آلات MIMD . [9] [10] نظرًا لأن مصطلح "متعدد المعالجات" يشير عادةً إلى الأنظمة المقترنة بإحكام والتي تشترك فيها جميع المعالجات في الذاكرة، فإن المعالجات المتعددة ليست الفئة الكاملة من آلات MIMD، والتي تحتوي أيضًا على أنظمة متعددة الحواسيب لنقل الرسائل . [9]
المواضيع الرئيسية
تناسق المعالج
في نظام متعدد المعالجات ، قد تكون جميع وحدات المعالجة المركزية متساوية، أو قد يتم حجز بعضها لأغراض خاصة. تحدد مجموعة من الاعتبارات المتعلقة بتصميم الأجهزة وبرامج نظام التشغيل مدى التماثل (أو عدمه) في نظام معين. على سبيل المثال، قد تتطلب الاعتبارات المتعلقة بالأجهزة أو البرامج أن تستجيب وحدة معالجة مركزية واحدة فقط لجميع مقاطعات الأجهزة، في حين قد يتم توزيع جميع الأعمال الأخرى في النظام بالتساوي بين وحدات المعالجة المركزية؛ أو قد يقتصر تنفيذ التعليمات البرمجية في وضع النواة على وحدة معالجة مركزية واحدة فقط، في حين قد يتم تنفيذ التعليمات البرمجية في وضع المستخدم في أي مجموعة من المعالجات. غالبًا ما يكون تصميم أنظمة المعالجة المتعددة أسهل إذا تم فرض مثل هذه القيود، لكنها تميل إلى أن تكون أقل كفاءة من الأنظمة التي يتم فيها استخدام جميع وحدات المعالجة المركزية.
تُسمى الأنظمة التي تعامل جميع وحدات المعالجة المركزية على قدم المساواة بأنظمة المعالجة المتعددة المتماثلة (SMP). في الأنظمة التي لا تكون فيها جميع وحدات المعالجة المركزية متساوية، يمكن تقسيم موارد النظام بعدة طرق، بما في ذلك المعالجة المتعددة غير المتماثلة (ASMP)، والمعالجة المتعددة ذات الوصول غير المنتظم للذاكرة (NUMA)، والمعالجة المتعددة المجمعة .
نظام متعدد المعالجات رئيسي/تابع
في نظام متعدد المعالجات رئيسي/تابع، تتحكم وحدة المعالجة المركزية الرئيسية في الكمبيوتر بينما تقوم وحدات المعالجة المركزية التابعة بأداء المهام الموكلة إليها. يمكن أن تختلف وحدات المعالجة المركزية تمامًا من حيث السرعة والهندسة المعمارية. يمكن لبعض (أو كل) وحدات المعالجة المركزية مشاركة ناقل مشترك، ويمكن لكل منها أيضًا أن يكون لها ناقل خاص (للموارد الخاصة)، أو قد تكون معزولة باستثناء مسار اتصالات مشترك. وبالمثل، يمكن لوحدات المعالجة المركزية مشاركة ذاكرة وصول عشوائي مشتركة و/أو الحصول على ذاكرة وصول عشوائي خاصة لا يمكن للمعالجات الأخرى الوصول إليها. يمكن أن تتغير أدوار وحدة المعالجة المركزية الرئيسية والتابعة من وحدة معالجة مركزية إلى أخرى.
من الأمثلة المبكرة لمعالجات متعددة رئيسية وتابعة للحاسب المركزي، Bull Gamma 60 و Burroughs B5000 . [11]
من الأمثلة المبكرة لنظام المعالجات المتعددة الرئيسية/التابعة للمعالجات الدقيقة هو جهاز الكمبيوتر المكتبي Tandy/Radio Shack TRS-80 Model 16 الذي صدر في فبراير 1982 وكان يعمل بنظام التشغيل Xenix متعدد المستخدمين/متعدد المهام ، وهو إصدار Microsoft من UNIX (يسمى TRS-XENIX). يحتوي الطراز 16 على معالجين دقيقين: وحدة معالجة مركزية Zilog Z80 ذات 8 بت تعمل بتردد 4 ميجاهرتز، ووحدة معالجة مركزية Motorola 68000 ذات 16 بت تعمل بتردد 6 ميجاهرتز. عند تشغيل النظام، يكون Z-80 هو المعالج الرئيسي وتقوم عملية تشغيل Xenix بتهيئة المعالج الثانوي 68000، ثم تنقل التحكم إلى 68000، وعندها تتغير الأدوار بين وحدات المعالجة المركزية ويصبح Z-80 معالجًا تابعًا مسؤولاً عن جميع عمليات الإدخال/الإخراج بما في ذلك القرص والاتصالات والطابعة والشبكة، بالإضافة إلى لوحة المفاتيح والشاشة المتكاملة، بينما يعمل نظام التشغيل والتطبيقات على وحدة المعالجة المركزية 68000. يمكن استخدام Z-80 للقيام بمهام أخرى.
يمكن أيضًا اعتبار الطراز TRS-80 Model II الأقدم ، والذي تم إصداره في عام 1979، نظامًا متعدد المعالجات لأنه كان يحتوي على وحدة معالجة مركزية Z-80 ووحدة تحكم دقيقة Intel 8021 [12] في لوحة المفاتيح. جعل 8021 الطراز II أول نظام كمبيوتر مكتبي مزود بلوحة مفاتيح خفيفة الوزن قابلة للفصل متصلة بسلك مرن رفيع واحد، ومن المحتمل أن يكون أول لوحة مفاتيح تستخدم وحدة تحكم دقيقة مخصصة، وكلا السمتين سيتم نسخهما لاحقًا بعد سنوات بواسطة Apple وIBM.
تدفقات التعليمات والبيانات
في المعالجة المتعددة، يمكن استخدام المعالجات لتنفيذ تسلسل واحد من التعليمات في سياقات متعددة ( تعليمات متعددة، بيانات متعددة أو SIMD، تستخدم غالبًا في معالجة المتجهات )، أو تسلسلات متعددة من التعليمات في سياق واحد ( تعليمات متعددة، بيانات متعددة أو MISD، تستخدم للتكرار في أنظمة آمنة من الفشل وتُطبق أحيانًا لوصف المعالجات المتصلة أو المعالجة المتعددة الخيوط )، أو تسلسلات متعددة من التعليمات في سياقات متعددة ( تعليمات متعددة، بيانات متعددة أو MIMD).
اقتران المعالج
نظام متعدد المعالجات مقترن بإحكام
تحتوي أنظمة المعالجات المتعددة المقترنة بإحكام على وحدات معالجة مركزية متعددة متصلة على مستوى الناقل. قد يكون لهذه الوحدات إمكانية الوصول إلى ذاكرة مشتركة مركزية (SMP أو UMA )، أو قد تشارك في تسلسل هرمي للذاكرة مع كل من الذاكرة المحلية والمشتركة (SM) ( NUMA ). يعد IBM p690 Regatta مثالاً على نظام SMP عالي الأداء. سيطرت معالجات Intel Xeon على سوق المعالجات المتعددة لأجهزة الكمبيوتر التجارية وكانت الخيار الرئيسي الوحيد لـ x86 حتى إصدار مجموعة معالجات Opteron من AMD في عام 2004. كان لكلا النطاقين من المعالجات ذاكرة تخزين مؤقتة خاصة بهما ولكنها وفرت إمكانية الوصول إلى الذاكرة المشتركة؛ معالجات Xeon عبر أنبوب مشترك ومعالجات Opteron عبر مسارات مستقلة إلى ذاكرة الوصول العشوائي للنظام .
تتضمن المعالجات المتعددة على الرقاقة، والمعروفة أيضًا باسم الحوسبة متعددة النواة ، أكثر من معالج واحد موضوع على رقاقة واحدة ويمكن اعتبارها الشكل الأكثر تطرفًا للمعالجات المتعددة المقترنة بإحكام. غالبًا ما تكون أنظمة الحواسيب المركزية ذات المعالجات المتعددة مقترنة بإحكام.
نظام متعدد المعالجات مقترن بشكل فضفاض
تعتمد أنظمة المعالجات المتعددة المقترنة بشكل فضفاض (والتي يشار إليها غالبًا باسم العناقيد ) على أجهزة كمبيوتر متعددة مستقلة ذات عدد معالجات منخفض نسبيًا ومتصلة ببعضها البعض عبر نظام اتصالات عالي السرعة ( Gigabit Ethernet هو النظام الشائع). تعتبر مجموعة Linux Beowulf مثالاً على نظام مقترن بشكل فضفاض .
إن الأنظمة المقترنة بإحكام تعمل بشكل أفضل وتكون أصغر حجمًا ماديًا من الأنظمة المقترنة بشكل فضفاض، ولكنها تتطلب تاريخيًا استثمارات أولية أكبر وقد تنخفض قيمتها بسرعة؛ وعادةً ما تكون العقد في النظام المقترن بشكل فضفاض عبارة عن أجهزة كمبيوتر سلعية غير مكلفة ويمكن إعادة تدويرها كأجهزة مستقلة عند التقاعد من المجموعة.
يعد استهلاك الطاقة أيضًا أحد الاعتبارات. تميل الأنظمة المقترنة بإحكام إلى أن تكون أكثر كفاءة في استخدام الطاقة من المجموعات. وذلك لأن تقليل استهلاك الطاقة بشكل كبير يمكن تحقيقه من خلال تصميم المكونات للعمل معًا منذ البداية في الأنظمة المقترنة بإحكام، في حين تستخدم الأنظمة المقترنة بشكل فضفاض مكونات لم تكن مخصصة بالضرورة للاستخدام على وجه التحديد في مثل هذه الأنظمة.
تتمتع الأنظمة المرتبطة بشكل فضفاض بالقدرة على تشغيل أنظمة تشغيل مختلفة أو إصدارات نظام تشغيل مختلفة على أنظمة مختلفة.
انظر أيضا
- هندسة نظام متعدد المعالجات
- المعالجة المتعددة المتماثلة
- المعالجة المتعددة غير المتماثلة
- معالج متعدد النواة
- BMDFM – آلة تدفق البيانات المعيارية الثنائية، بيئة تشغيل SMP MIMD
- قفل البرنامج
- برنامج OpenHMPP
مراجع
- ^ Raj Rajagopal (1999). Introduction to Microsoft Windows NT Cluster Server: Programming and Administration. CRC Press. p. 4. ISBN 978-1-4200-7548-9.
- ^ أب مايك إيبرز. جون كيتنر؛ واين أوبراين؛ بيل أوغدن (2012). مقدمة إلى الحاسب المركزي الجديد: أساسيات z/OS. آي بي إم. ص. 96. ردمك 978-0-7384-3534-3.
- ^ "Multiprocessor dictionary definition - multiprocessor defined". www.yourdictionary.com . مؤرشف من الأصل في 16 مارس 2018 . تم الاسترجاع 16 مارس 2018 .
- ^ "multiprocessor". مؤرشف من الأصل في 16 مارس 2018. اطلع عليه بتاريخ 16 مارس 2018 – عبر القاموس الحر.
- ^ إيرف إنجلاندر (2009). بنية أجهزة الكمبيوتر وبرامج الأنظمة. نهج تكنولوجيا المعلومات (الطبعة الرابعة). وايلي. ص 265. رقم ISBN 978-0471715429.
- ^ من تأليف ديبوراه مورلي؛ تشارلز باركر (13 فبراير 2012). فهم الحاسبات: اليوم والغد، كتاب شامل. سينجيج ليرنينج. ص 183. رقم ISBN 978-1-133-19024-0.
- ^ أ ب شيبو KV مقدمة للأنظمة المدمجة. تاتا ماكجرو هيل التعليم. ص. 402. ردمك 978-0-07-014589-4.
- ^ أشوك أرورا (2006). أساسيات علوم الكمبيوتر. منشورات لاكشمي. ص 149. ISBN 978-81-7008-971-1.
- ^ ab Ran Giladi (2008). Network Processors: Architecture, Programming, and Implementation. Morgan Kaufmann. p. 293. ISBN 978-0-08-091959-1.
- ^ Sajjan G. Shiva (20 سبتمبر 2005). Advanced Computer Architectures. CRC Press. ص 221. ISBN 978-0-8493-3758-1.
- ^ الخصائص التشغيلية للمعالجات الخاصة بـ Burroughs B5000 (PDF) . المراجعة أ. بوروز . 1963. 5000-21005A. مؤرشف من الأصل (PDF) في 30 مايو 2023 . تم الاسترجاع في 27 يونيو 2023 .
- ^ دليل مرجعي تقني للطراز الثاني TRS-80 . راديو شاك. 1980. ص 135.
