ARM Cortex-R وCortex-M: ما هما، والاختلافات بينهما، ومتى يجب اختيار كل منهما

  • تعطي Cortex-R الأولوية للاستجابة الحتمية، وانخفاض زمن الوصول، والأمان للسيارات والتخزين والشبكات.
  • يعمل Cortex-M على تحسين التكلفة واستهلاك الطاقة والتكامل مع المتغيرات من M0+ إلى M85 للتحكم وDSP.
  • تساعد TrustZone وMPU وTCM وThumb-2 وNEON/FP في تخصيص النواة لحالة الاستخدام المحددة.

شرح معالجات ARM Cortex

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

لفهم دورها بشكل كامل، من المفيد مراجعة آلية عمل شركة ARM وهيكليتها، ولماذا يتميز نهج RISC الخاص بها بالكفاءة العالية، وكيف تختلف سلاسل A وR وM. سيساعدك هذا على تحديد الوقت الأمثل لاستخدام معالج Cortex-R باستجابته المحددة، أو معالج Cortex-M خفيف الوزن وفعال من حيث التكلفة، وهو مثالي لدمج الأجهزة الطرفية.

ما هو ARM ولماذا هو مهم؟

شركة ARM هي شركة بريطانية متخصصة في تصميم الملكية الفكرية للمعالجات وترخيصها لأطراف ثالثة، مما يُمكّن شركات تصنيع مثل كوالكوم وسامسونج وآبل وNXP من إنتاج رقائقها الخاصة. على عكس إنتل أو AMD، لا تقوم ARM بالتصنيع؛ بل تكمن قوتها في مجموعة واسعة من النوى والوحدات الإضافية التي تدمجها الشركات الأخرى وتُكيّفها مع منتجاتها.

بدأت قصة معالج ARM في شركة Acorn Computers في ثمانينيات القرن الماضي، حيث قادت صوفي ويلسون وستيف فوربر تطوير أول معالجين من طراز ARM1 وARM2. كانت الفكرة الأساسية هي الحفاظ على تصميم بسيط وفعال، وهو ما ترسخ مع معالج ARM6، ونجاح معالج ARM7TDMI في الأجهزة المحمولة، وظهور معالجات أخرى مثل StrongARM ولاحقًا XScale. أتاح هذا النهج البسيط استهلاكًا منخفضًا جدًا للطاقة وأداءً عاليًا لكل واط في عصر لم يكن فيه ذاكرة تخزين مؤقت كبيرة أو برامج دقيقة معقدة.

تعتمد بنية ARM على معمارية RISC : تعليمات مضغوطة ذات حجم ثابت وتنفيذ بسيط. وهذا يُسهّل إنشاء خطوط أنابيب عميقة، وتقليل زمن الاستجابة، وتصغير حجم الرقاقات. علاوة على ذلك، قدمت ARM أنماطًا مثل Thumb (مجموعة فرعية من 16 بت لزيادة كثافة التعليمات البرمجية)، وتقنيات مثل Jazelle (تنفيذ مُسرّع لرمز بايت جافا على بعض النوى)، و NEON لتقنية SIMD، و TrustZone للعزل الآمن.

مفهوم رئيسي آخر هو big.LITTLE ، وهو بنية غير متجانسة تجمع بين أنوية منخفضة الطاقة وأنوية عالية الأداء: تتولى أنوية LITTLE المهام الخفيفة، بينما تُفعّل الأنوية الكبيرة عند الحاجة إلى الطاقة. ورغم ارتباطها بسلسلة Cortex-A، إلا أنها تُجسّد بوضوح فلسفة ARM في الكفاءة دون التضحية بالأداء عند الضرورة.

سلسلة Cortex: A مقابل R مقابل M

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

  • اللحاء A:ملف تعريف التطبيق، مصمم لأنظمة التشغيل كاملة الميزات مثل Linux أو Android، والأداء العالي، والوسائط المتعددة، ودعم MMU.
  • اللحاء- R: الملف الشخصي في الوقت الحقيقي، يركز على انخفاض زمن الوصول والحتمية، والتسامح مع الأخطاء والتوافر العالي، وهو أمر شائع في السيارات والتخزين.
  • قشرة-M: ملف تعريف متحكم دقيق، فعال للغاية من حيث التكلفة والطاقة، مع الأجهزة الطرفية المتكاملة وتنفيذ الإبهام أو الإبهام 2.

الفرق بين Cortex R و Cortex M

Cortex-R: الوقت الحقيقي والأمان والموثوقية

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

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

عزز معالج Cortex -R5 قدرات معالج R4 بتحسينات في الكفاءة والموثوقية ومعالجة الأخطاء. ويُستخدم بكثرة في تكوينات ثنائية النواة لبناء حلول قوية ومرنة مع خاصية التكرار أو وضع التزامن، مما يضمن استجابات قوية في الوقت الفعلي.

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

عمليًا، تتضمن معالجات Cortex-R عادةً وحدة حماية الذاكرة ( MPU ) لتقسيم المساحة وحماية المهام في الوقت الفعلي، بالإضافة إلى وحدة التحكم في المعاملات (TCM) للوصول المحدد. لا ينصب تركيزها على تشغيل نظام لينكس متطور، بل على ضمان معالجة المقاطعات الحرجة في الوقت المناسب وبنفس زمن الاستجابة دائمًا.

Cortex-M: متحكمات دقيقة 32 بت لكل شيء

لقد ساهمت سلسلة معالجات Cortex-M في توحيد معايير سوق وحدات التحكم الدقيقة 32 بت: فهي معالجات خفيفة الوزن ومنخفضة التكلفة، سهلة التصحيح، وتتمتع بنظام بيئي واسع. يمكنك العثور عليها كوحدات تحكم دقيقة كاملة مزودة بذاكرة ووحدات طرفية مدمجة، أو كمعالجات برمجية مصممة خصيصًا لوحدات FPGA في تطبيقات محددة.

أما في الطرف الأبسط، فتوجد معالجات Cortex-M0 وM0+ ، المبنية على معمارية ARMv6-M، والتي تركز على التكلفة واستهلاك الطاقة. تستخدم هذه المعالجات مجموعة فرعية من معالج Thumb-2، وخطوط أنابيب قصيرة، وفي حالة M0+، منفذ إدخال/إخراج للأغراض العامة (GPIO) أحادي الدورة، ومسار دقيق اختياري. وهي مثالية للانتقال من 8 إلى 32 بت مع الحفاظ على ميزانية محدودة.

يُحقق معالجا Cortex-M3 و Cortex-M4 (ARMv7-M) قفزة نوعية في الأداء . فهما يشتركان في نفس البنية ودعم Thumb-2، بالإضافة إلى ناقلات بيانات متعددة 32 بت، وسرعة ساعة نموذجية تصل إلى 200 ميجاهرتز تقريبًا، فضلًا عن أدوات تصحيح أخطاء متطورة. يُضيف معالج M4 تعليمات معالجة الإشارات الرقمية (DSP)، ووحدة معالجة الفاصلة العائمة (FPU) حسب الإصدار . عند إجراء عمليات ترشيح الإشارات، أو معالجة الصوت، أو عمليات تحكم رياضية أكثر تعقيدًا، يُوفر معالج M4 دورات معالجة مقارنةً بمعالج M3.

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

تم تعزيز الأمان باستخدام معالجات Cortex-M23 و Cortex-M33 (المبنية على معمارية ARMv8-M)، والتي تُقدم تقنية TrustZone لتقسيم النظام إلى بيئات آمنة وغير آمنة ، بالإضافة إلى مكون SAU لتحديد سمات الأمان. يُعد هذا حلاً مثالياً لتطبيقات إنترنت الأشياء التي تتطلب عزل بيانات الاعتماد، وتطبيق التمهيد الآمن، وإدارة حزم الاتصال.

في الآونة الأخيرة، تستهدف معالجات Cortex-M55 و Cortex-M85 تطبيقات التعلم الآلي على الحافة. ​​فهي تتضمن تحسينات في معالجة الإشارات الرقمية، والتحويل إلى متجهات، والتسريع، مما يسهل تشغيل الاستدلال المحلي على أجهزة الاستشعار والأجهزة التي تعمل بالبطاريات، ويزيد من قوة الحوسبة مع الحفاظ على وظائف وحدة التحكم الدقيقة الأساسية.

بحسب نواة النظام، ستجد ميزات اختيارية مثل SysTick 24 بت ، وتقنية bit-banding، ووحدات معالجة مركزية (MPUs) ذات عدد متفاوت من المناطق، ووحدات SAU، وذاكرات تخزين مؤقتة للتعليمات والبيانات، أو وحدات TCM. على مستوى البنية الدقيقة، تعتمد بعض معالجات M بنية هارفارد (M3، M4، M7، M33، M55، M85) لفصل تدفق التعليمات عن تدفق البيانات، بينما تحافظ معالجات أخرى على بنية فون نيومان (M0، M0+، M1، M23)، مما يؤثر على سرعة الوصول وتنفيذ الذاكرة.

التقنيات الرئيسية التي تظهر بشكل متكرر

تعمل تقنيتا Thumb و Thumb-2 على تحسين كثافة التعليمات البرمجية عن طريق تقليل حجم التعليمات إلى 16 بت (أو دمجها مع 32 بت في Thumb-2). وهذا يسمح بتنفيذ المزيد من التعليمات من ذاكرة أصغر حجمًا ويقلل من استهلاك الطاقة. في العديد من معالجات Cortex-M، تُعد Thumb-2 هي الوضع الوحيد، مما يُبسط تصميم المكونات المادية ويوفر المساحة.

في سلسلتي A وR، توفر ARM امتدادات مثل NEON لتقنية SIMD، وVFP لعمليات الفاصلة العائمة، و TrustZone لعزل آمن على مستوى النظام. بالإضافة إلى ذلك، دعمت بعض النوى الكلاسيكية Jazelle لتسريع بايت كود جافا، في إشارة إلى بدايات الحوسبة المتنقلة.

في العمليات الآنية، يُعدّ الجمع بين وحدات المعالجة الرئيسية (MPUs) ووحدات التحكم في نقل البيانات (TCMs) ووحدات التحكم في المقاطعات أمرًا بالغ الأهمية. تقوم وحدات المعالجة الرئيسية بتقسيم الذاكرة ومنع الوصول غير المصرح به؛ وتضمن وحدات التحكم في نقل البيانات الوصول الحتمي دون تأخير؛ وتقوم وحدات التحكم في المقاطعات بضبط الأولويات وزمن الاستجابة بدقة بحيث لا يتم تفويت أي أحداث حرجة.

نبذة تاريخية موجزة عن نظام ARM البيئي

بعد معالجات ARM1 وARM2 الأولية، جاء التطور ليُثمر عن معالج ARM3 بذاكرة تخزين مؤقتة سعتها 4 كيلوبايت، ثم عائلة ARM6، وانتشار واسع النطاق مع معالج ARM7TDMI، الذي أصبح شائع الاستخدام في الهواتف المحمولة وأجهزة الألعاب المحمولة. ثم جاء معالجا ARM9 وARM11، والانتقال إلى معالجات Cortex مع معالجي ARMv7 وARMv8، مما مهد الطريق لبنية 64 بت في سلسلة A.

في الوقت نفسه، ظهرت تراخيص بارزة مثل DEC StrongARM (التي استحوذت عليها إنتل لاحقًا) وXScale، والتي عززت استخدام أجهزة المساعد الرقمي الشخصي والأجهزة المدمجة. رسخت هذه الفترة فكرة أن معالجات ARM هي الخيار الأمثل لتطبيقات المستهلكين والتطبيقات منخفضة الطاقة، بينما ظلت معالجات x86 سائدة في أجهزة الكمبيوتر المكتبية والخوادم.

اعتمدت آبل معالجات ARM في أجهزة iPhone و iPad، ثم انتقلت لاحقًا إلى أجهزة الكمبيوتر باستخدام معالجات Apple Silicon ، معتمدةً على تقنيات الترجمة الديناميكية مثل Rosetta 2 في عمليات نقل البرمجيات. وقد حسمت كفاءة استهلاك الطاقة وتكامل النظام على شريحة واحدة (SoC) رهانها.

أنظمة التشغيل والنظام البيئي للبرمجيات

يدعم معالج ARM مجموعة واسعة من الأنظمة: من أندرويد وiOS وmacOS على معالجات Apple Silicon ، إلى ويندوز بإصداراته CE وRT والإصدارات الحديثة التي تدعم ARM، كما أن شهادة ARM SystemReady تعزز التوافق بشكل أكبر. على أجهزة سطح المكتب، يتوفر نظاما ويندوز 10 و11 لمعالجات ARM، مع وجود قيود تاريخية في تشغيل الملفات الثنائية الأصلية x86، والتي تم التغلب عليها من خلال طبقات الترجمة.

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

الترخيص والمصانع ولماذا تتوسع ARM بهذا القدر

تكمن القيمة المميزة لشركة ARM في السماح لأطراف ثالثة بتخصيص أنظمة على رقاقة (SoCs) . فبدلاً من بيع وحدة معالجة مركزية مغلقة، فإنها توفر النوى، والناقلات، ووحدة معالجة الرسومات Mali ، ووحدات معالجة الشبكات العصبية Ethos ، بحيث يمكن لكل مصنّع تجميع المكونات: يمكنك إضافة مودم 5G، أو ذاكرة مدمجة، أو محركات ذكاء اصطناعي، أو نظام أمان مخصص.

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

المقارنة مع معالجات x86 واضحة: ففي أجهزة الكمبيوتر الشخصية، تُبنى الأنظمة باستخدام مكونات قياسية؛ أما مع معالجات ARM، فيتم تصميم نظام على شريحة (SoC) يناسب المنتج. ولهذا السبب، تتفوق معالجات ARM في الهواتف الذكية والأجهزة اللوحية وإنترنت الأشياء، وتكتسب زخمًا في قطاعي السيارات والخوادم، حيث تُعد الكفاءة والتكامل وتكلفة الميزة من أهم العوامل.

وحدة معالجة الرسومات والذكاء الاصطناعي وأجزاء أخرى من الكتالوج

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

في مجال التعلم الآلي ، تعمل وحدات Ethos-N و Ethos-U على تسريع الشبكات العصبية؛ فالأولى تعمل كوحدات معالجة عصبية أكثر قدرة، والثانية كمعالجات مساعدة خفيفة الوزن ترافق Cortex-A. وعلى الحافة، يتيح Cortex-M الحديث مع تحسينات معالجة الإشارات الرقمية الاستدلال المحلي أيضًا.

خريطة العائلة وأمثلة الشركة المصنعة

يُدمج العديد من الموردين معالجات Cortex-M وA في خطوط إنتاجهم الواسعة. كدليل عملي، إليك بعض الأمثلة على السلاسل الشائعة المتوفرة في السوق لمساعدتك في تحديد نواة ARM التي تشتريها.

  • NXP كينيتيس:تجمع النطاقات L وEA وE وW وK وV بين Cortex-M0+ وM4 وM7 للتحكم في الطاقة المنخفضة والصناعية وRF والمحرك.
  • إن إكس بي إل بي سي: العائلات 800/1100/1200 (M0/M0+)، 1300/1500/1700/1800 (M3) و 4000/4300/54000 (M4).
  • NXP i.MX:تطبيقات SoCs مع Cortex-A7 وA9 وA53 والمتغيرات مع اللحاء M7 الدعم في الوقت الحقيقي.
  • رقاقة ميكروشيب أتميل سام: سلسلة C وD (M0/M0+)، 3x (M3)، 4x (M4)، I/O/V (M7) وA5 في ملف تعريف التطبيق.
  • شركة تكساس إنسترومنتس سيتارا: AM3/AM335x (A8)، AM437x/AM38x/AM1x (A9)، AM57x (A15)؛ OMAP 35xx مع A8.
  • إس تي ميكروإلكترونيكس STM32: L0/F0 (M0/M0+)، L1/F1/F2 (M3)، L4/L4+/F3/F4 (M4)، F7/H7 (M7).
  • ماكسيم MAX32: 600 (M3)، 62x/63x (M4F) و65x/66x (M4).

الاختيار بين Cortex-R وCortex-M

إذا كانت العوامل الحاسمة هي الحتمية الصارمة ، والحد الأدنى من وقت التوقف، وتحمل الأعطال، وشهادات السلامة (مثل ASIL)، فإن عائلة معالجات Cortex-R هي الخيار الأمثل. فكر في أنظمة التحكم في المكابح، والوسائد الهوائية، ووحدات التحكم في الأقراص، أو لوحات التوصيل الخلفية للشبكة التي لا يمكن أن تتعطل.

عندما يكون الهدف هو دمج الأجهزة الطرفية، وتحسين استهلاك الطاقة والتكلفة، وتشغيل أنظمة التحكم والمستشعرات والاتصالات باستخدام أنظمة تشغيل خفيفة الوزن في الوقت الحقيقي (RTOS) ، فإن معالج Cortex-M هو الخيار الأمثل. اختر M0/M0+ لاستهلاك طاقة منخفض للغاية وميزانية محدودة، وM3 للتحكم العام، وM4 إذا كنت بحاجة إلى معالج الإشارات الرقمية/وحدة الفاصلة العائمة (DSP/FPU)، وM7 عندما يكون أداء وحدة التحكم الدقيقة (MCU) بالغ الأهمية. ولأمان المنصة، ضع في اعتبارك M23/M33 مع TrustZone وSAU.

في التصميمات الهجينة، من الشائع العثور على سلسلة Cortex-A SoCs مع Cortex-M صغير مصاحب للمهام في الوقت الحقيقي، أو حتى تركيبات حيث يدير R المستوى الحرج بينما يتولى A مسؤولية واجهة المستخدم والاتصال.

ولإكمال الصورة، يجدر التذكير بأن قوة ARM تكمن في نموذج الترخيص الخاص بها ، وكفاءة معالجات RISC، وقدرتها على إنشاء أنظمة على رقاقة (SoC) مخصصة. يغطي كل من Cortex-R وCortex-M كل شيء بدءًا من التحكم في الوقت الحقيقي الأكثر تطلبًا وصولًا إلى وحدات التحكم الدقيقة (MCU) ذات التكلفة المعقولة التي تتناسب مع أي منتج، مع منظومة متكاملة من الأدوات وأنظمة التشغيل والشركات المصنعة التي تسهل العثور على المكون المناسب لكل حاجة.

ميكروكنترولر
المادة ذات الصلة:
MCUs: تعرف على أهم عائلات المتحكمات الدقيقة

أضف كمصدر مفضل في جوجل