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 الخاص بها فعالاً للغاية، وكيف تختلف السلسلة. أ، ر، و مسيساعدك هذا في تحديد الوقت الأفضل لاستخدام Cortex-R مع استجابة حتمية أو Cortex-M خفيف الوزن وفعال من حيث التكلفة ومثالي لدمج الأجهزة الطرفية.

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

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

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

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

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

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

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

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

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

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

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

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

El كورتيكس-R5 وسّع قدرات R4 مع تحسينات في الكفاءة والموثوقية ومعالجة الأخطاء. غالبًا ما يُرى ذلك في التكوينات ثنائي النواة لبناء حلول قوية ومرنة مع التكرار أو وضع الخطوة المتطابقة، مع الحفاظ على الاستجابات الصعبة في الوقت الحقيقي.

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

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

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

سلسلة قشرة-M لقد وحدت سوق وحدات التحكم الدقيقة (MCU) ذات 32 بت: أنوية خفيفة الوزن، وبأسعار معقولة، وسهلة التصحيح، مع نظام بيئي واسع. يمكنك العثور عليها كوحدات تحكم دقيقة كاملة مزودة بذاكرة وملحقات مدمجة، أو كنوى برمجية مخصصة لوحدات FPGA في حالات محددة.

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

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

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

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

في الآونة الأخيرة، اللحاء M55 y اللحاء M85 إنها تستهدف التعلم الآلي على الحافة. ​​فهي تتضمن تحسينات في معالجة الإشارات الرقمية، والتوجيه، والتسريع، مما يُسهّل تشغيلها. الاستدلال يتمحور هذا النهج حول تحسين أداء الحوسبة في أجهزة الاستشعار والأجهزة التي تعمل بالبطاريات، مع الحفاظ على جوهر وحدة التحكم الدقيقة (MCU).

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

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

الإبهام والإبهام-2 تُحسّن هذه المعالجات كثافة الشيفرة بتقليل حجم التعليمات إلى ١٦ بت (أو دمجها مع ٣٢ بت في Thumb-2). يسمح هذا بتنفيذ المزيد من التعليمات من ذاكرة محدودة، ويُقلل من استهلاك الطاقة. في العديد من معالجات Cortex-M، يكون Thumb-2 هو الوضع الوحيد، مما يُبسط الأجهزة ويوفر المساحة.

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

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

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

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

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

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

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

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

في العالم الحر، عائلة BSD (فري بي إس دي، نت بي إس دي، أوبن بي إس دي) يعمل على ARM، وعلى Linux يوجد دعم واسع النطاق مع توزيعات مثل Debian أو Ubuntu أو Arch أو Kali أو Manjaro أو Gentoo أو Oracle Linux. في الوضع المضمن والوقت الحقيقي، القائمة طويلة: FreeRTOS، ChibiOS، eCos، ThreadX، QNX، VxWorks، Nucleus، RTEMS، Integrity وغيرها الكثير، والتي تغطي كل شيء بدءًا من وحدات التحكم الدقيقة الصغيرة وحتى التحكم الصناعي الحرج.

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

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

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

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

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

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

إلى التعلم التلقائي، الكتل إيثوس-ن y إيثوس-يو تسريع الشبكات العصبية؛ الأولى كوحدات معالجة عصبية أكثر كفاءة، والثانية كمعالجات مساعدة خفيفة الوزن تُرافق 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)، والأسرة اللحاء- R يناسب بشكل أفضل. فكّر في أنظمة التحكم بالفرامل، والوسائد الهوائية، ووحدات التحكم بالأقراص، أو لوحات الشبكة الخلفية التي لا تتعطل.

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

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

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

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