ARM Cortex-M

دوائر التحكم الدقيقة ARM Cortex-M0 و Cortex-M3 من NXP و Silicon Labs ( Energy Micro )
شريحة من دارة متكاملة STM32 F100C4T6B. معالج دقيق ARM Cortex-M3 بتردد 24 ميجاهرتز ، مزود بذاكرة فلاش سعة 16 كيلوبايت وذاكرة وصول عشوائي (RAM) سعة 4 كيلوبايت. من إنتاج شركة STMicroelectronics .   

تُعدّ معالجات ARM Cortex-M مجموعة من أنوية معالجات RISC ARM ذات 32 بت ، مرخصة من شركة ARM Limited . صُممت هذه الأنوية خصيصًا للدوائر المتكاملة منخفضة التكلفة والموفرة للطاقة، والتي تم دمجها في عشرات المليارات من الأجهزة الاستهلاكية. [ 1 ] على الرغم من أنها غالبًا ما تكون المكون الرئيسي لرقائق المتحكمات الدقيقة ، إلا أنها تُدمج أحيانًا داخل أنواع أخرى من الرقائق أيضًا. تتكون عائلة Cortex-M من Cortex-M0، [ 2 ] وCortex-M0+، [ 3 ] و Cortex-M1، [4 ] وCortex-M3، [ 5 ] وCortex -M4 ، [ 6 ] و Cortex-M7، [ 7 ] وCortex-M23، [ 8 ] وCortex-M33، [ 9 ] و Cortex-M35P، [ 10 ] وCortex - M52، [ 11 ] وCortex-M55، [ 12 ] و Cortex-M85. [ 13 ] يتوفر خيار وحدة الفاصلة العائمة (FPU) لنوى Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85، وعند تضمينها في السيليكون، تُعرف هذه النوى أحيانًا باسم "Cortex-MxF"، حيث يمثل "x" نوع النواة.

ملخص

32 بت
سنةجوهر
2004القشرة الدماغية-M3
2007القشرة المخية M1
2009Cortex-M0
2010كورتكس-إم 4
2012Cortex-M0+
2014كورتكس-إم7
2016كورتكس-إم23
2016كورتكس-إم33
2018كورتكس-M35P
2020كورتكس-إم 55
2022كورتكس-إم85
2023كورتكس-إم 52

تُعدّ عائلة معالجات ARM Cortex-M عبارة عن أنوية معالجات دقيقة من ARM مصممة للاستخدام في وحدات التحكم الدقيقة ، ودوائر ASIC ، ودوائر ASSP ، ودوائر FPGA ، وأنظمة SoC . تُستخدم أنوية Cortex-M عادةً كرقائق مخصصة لوحدات التحكم الدقيقة، ولكنها تُستخدم أيضًا "مخفية" داخل رقائق SoC كوحدات تحكم في إدارة الطاقة، ووحدات تحكم في الإدخال/الإخراج، ووحدات تحكم في النظام، ووحدات تحكم في شاشة اللمس، ووحدات تحكم في البطاريات الذكية، ووحدات تحكم في المستشعرات.

يتمثل الاختلاف الرئيسي بين معالجات Cortex-M ومعالجات Cortex-A في أن معالجات Cortex-M لا تحتوي على وحدة إدارة الذاكرة (MMU) للذاكرة الافتراضية ، والتي تُعتبر ضرورية لأنظمة التشغيل "الكاملة" . وبدلاً من ذلك، تعمل برامج Cortex-M مباشرةً على النظام الأساسي أو على أحد أنظمة التشغيل العديدة التي تدعم معالجات Cortex-M في الوقت الحقيقي .

رغم شيوع استخدام المتحكمات الدقيقة ذات 8 بت في الماضي، إلا أن معالجات Cortex-M بدأت تستحوذ تدريجياً على حصة من سوقها مع انخفاض أسعار رقائق Cortex-M منخفضة التكلفة. وقد أصبحت Cortex-M بديلاً شائعاً لرقائق 8 بت في التطبيقات التي تستفيد من العمليات الحسابية ذات 32 بت، كما أنها حلت محل معالجات ARM القديمة مثل ARM7 و ARM9 .

وعلى وجه الخصوص، فإن وحدة التحكم المدمجة لتسوية التآكل داخل معظم بطاقات SD أو محركات أقراص الفلاش هي وحدة تحكم دقيقة 8051 (8 بت) أو وحدة معالجة مركزية ARM. [ 14 ]

رخصة

لا تقوم شركة ARM Limited بتصنيع أو بيع وحدات المعالجة المركزية (CPU) المصممة وفقًا لتصاميمها الخاصة، بل تُرخّص بنية المعالج للجهات المهتمة. وتقدم ARM مجموعة متنوعة من شروط الترخيص، تختلف في التكلفة والمخرجات. وتُزوّد ​​ARM جميع المرخص لهم بوصف متكامل للأجهزة الخاصة بنواة ARM، بالإضافة إلى مجموعة أدوات تطوير برمجيات كاملة، وحق بيع رقائق السيليكون المصنّعة التي تحتوي على وحدة المعالجة المركزية ARM.

تخصيص السيليكون

تتلقى شركات تصنيع الأجهزة المتكاملة (IDM) ملكية معالج ARM الفكرية ( IP) على شكل RTL قابل للتصنيع (مكتوب بلغة Verilog ). وبهذه الصيغة، يصبح بإمكانها إجراء تحسينات وتوسعات على مستوى البنية. وهذا يُمكّن الشركة المصنعة من تحقيق أهداف تصميم مخصصة، مثل سرعة ساعة أعلى، واستهلاك طاقة منخفض للغاية، وتوسيعات لمجموعة التعليمات (بما في ذلك الفاصلة العائمة)، وتحسينات في الحجم، ودعم تصحيح الأخطاء، وما إلى ذلك. لتحديد المكونات المُضمنة في شريحة معالج ARM معينة، يُرجى الرجوع إلى ورقة بيانات الشركة المصنعة والوثائق ذات الصلة.

بعض خيارات السيليكون لنوى Cortex-M هي:

  • مؤقت SysTick: مؤقت نظام 24 بت يُوسّع وظائف كلٍّ من المعالج ووحدة التحكم في المقاطعات المتجهة المتداخلة (NVIC). عند وجوده، يُوفّر أيضًا مقاطعة SysTick إضافية قابلة للتكوين ذات أولوية. [ 15 ] [ 16 ] [ 17 ] على الرغم من أن مؤقت SysTick اختياري في معالجات M0/M0+/M1/M23، إلا أنه من النادر جدًا العثور على متحكم دقيق Cortex-M بدونه. إذا كان لدى متحكم دقيق Cortex-M33/M35P/M52/M55/M85 خيار امتداد الأمان، فإنه يُمكن أن يحتوي اختياريًا على مؤقتَي SysTick (أحدهما آمن والآخر غير آمن).
  • نطاق البتات: يربط كلمة كاملة من الذاكرة ببت واحد في منطقة نطاق البتات. على سبيل المثال، الكتابة إلى كلمة اسم مستعار ستؤدي إلى ضبط أو مسح البت المقابل في منطقة نطاق البتات. يتيح ذلك الوصول المباشر إلى كل بت في منطقة نطاق البتات من عنوان محاذٍ للكلمة. على وجه الخصوص، يمكن ضبط البتات الفردية أو مسحها أو تبديلها من لغة C/C++ دون تنفيذ تسلسل تعليمات القراءة والتعديل والكتابة. [ 15 ] [ 16 ] [ 17 ] على الرغم من أن نطاق البتات اختياري، إلا أنه من النادر العثور على متحكمات دقيقة من نوع Cortex-M3 وCortex-M4 بدونه. بعض المتحكمات الدقيقة من نوع Cortex-M0 وCortex-M0+ مزودة بنطاق البتات.
  • وحدة حماية الذاكرة (MPU): توفر هذه الوحدة دعمًا لحماية مناطق الذاكرة من خلال تطبيق قواعد الامتيازات والوصول. وهي تدعم ما يصل إلى ست عشرة منطقة مختلفة، يمكن تقسيم كل منها إلى مناطق فرعية متساوية الحجم. [ 15 ] [ 16 ] [ 17 ]
  • ذاكرة الاقتران الوثيق (TCM): ذاكرة SRAM منخفضة زمن الوصول (بدون حالة انتظار ) تُستخدم لتخزين مكدس الاستدعاءات ، وهياكل التحكم في نظام التشغيل في الوقت الحقيقي (RTOS)، وهياكل بيانات المقاطعات، ورمز معالج المقاطعات ، والرموز الحساسة للسرعة. تُعد TCM، إلى جانب ذاكرة التخزين المؤقت لوحدة المعالجة المركزية (CPU) ، أسرع ذاكرة في متحكم ARM Cortex-M الدقيق. ولأن TCM لا تُخزن مؤقتًا ولا يمكن الوصول إليها بنفس سرعة المعالج وذاكرة التخزين المؤقت، يُمكن وصفها نظريًا بأنها "ذاكرة تخزين مؤقت قابلة للعنونة". يوجد نوعان من ذاكرة TCM: ITCM (ذاكرة TCM للتعليمات) وDTCM (ذاكرة TCM للبيانات)، مما يسمح لمعالج بنية هارفارد بالقراءة من كليهما في آنٍ واحد. لا يمكن أن تحتوي DTCM على أي تعليمات، بينما يمكن أن تحتوي ITCM على بيانات. ونظرًا لارتباط TCM الوثيق بنواة المعالج، قد لا تتمكن محركات الوصول المباشر إلى الذاكرة (DMA) من الوصول إلى TCM في بعض التطبيقات.
مكونات اختيارية لمعالج ARM Cortex-M
معالج ARMالقشرة M0 [ 18 ]القشرة M0+ [ 19 ]القشرة المخية M1 [ 20 ]القشرة المخية M3 [ 21 ]القشرة المخية M4 [ 22 ]القشرة M7 [ 23 ]القشرة المخية M23 [ 24 ]القشرة M33 [ 25 ]Cortex M35P [ 10 ]القشرة M52 [ 26 ]Cortex M55 [ 27 ]Cortex M85 [ 28 ]
مؤقت SysTick ذو 24 بتاختياري (0،1)اختياري (0، 1)اختياري (0،1)نعم (1)نعم (1)نعم (1)اختياري (0، 1، 2)نعم (1، 2)نعم (1، 2)نعم (1، 2)نعم (1، 2)نعم (1، 2)
منفذ إدخال/إخراج أحادي الدورةلاخياريلالالالاخياريلالالالالا
ذاكرة النطاق البتلا [ 29 ]لا [ 29 ]لا*خياريخياريخياريلالالالالالا
وحدة حماية الذاكرة ( MPU )لااختياري (0، 8)لااختياري (0.8)اختياري (0، 8)اختياري (0، 8، 16)اختياري (0، 4، 8، 12، 16)اختياري (0، 4، 8، 12، 16)اختياري (حتى 16)*اختياري (0، 4، 8، 12، 16)اختياري (0، 4، 8، 12، 16)اختياري (0، 4، 8، 12، 16)
وحدة إسناد الأمان (SAU) وحدود المكدسلالالالالالااختياري (0، 4، 8)اختياري (0، 4، 8)اختياري (حتى 8)*اختياري (0، 4، 8)اختياري (0، 4، 8)اختياري (0، 4، 8)
ذاكرة التخزين المؤقت للتعليماتلا [ 30 ]لا [ 30 ]لا [ 30 ]لا [ 30 ]لا [ 30 ]اختياري (حتى 64  كيلوبايت)لالااختياري (حتى 16  كيلوبايت)اختياري (حتى 64  كيلوبايت)اختياري (حتى 64  كيلوبايت)اختياري (حتى 64  كيلوبايت)
ذاكرة التخزين المؤقت للبياناتلا [ 30 ]لا [ 30 ]لا [ 30 ]لا [ 30 ]لا [ 30 ]اختياري (حتى 64  كيلوبايت)لالالااختياري (حتى 64  كيلوبايت)اختياري (حتى 64  كيلوبايت)اختياري (حتى 64  كيلوبايت)
ذاكرة تعليمات TCM (ITCM)لالااختياري (حتى 1  ميجابايت)لالااختياري (حتى 16  ميجابايت)لالالااختياري (حتى 16  ميجابايت)اختياري (حتى 16  ميجابايت)اختياري (حتى 16  ميجابايت)
ذاكرة بيانات TCM (DTCM)لالااختياري (حتى 1  ميجابايت)لالااختياري (حتى 16  ميجابايت)لالالااختياري (حتى 16  ميجابايت)اختياري (حتى 16  ميجابايت)اختياري (حتى 16  ميجابايت)
نظام تصحيح الأخطاء ECC لـ TCM وذاكرة التخزين المؤقتلالالالالالالالاخياريخياريخياريخياري
سجل إزاحة جدول المتجهات (VTOR)لااختياري (0،1)اختياري (0،1)اختياري (0،1)اختياري (0،1)اختياري (0،1)اختياري (0، 1، 2)نعم (1،2)نعم (1،2)نعم (1،2)نعم (1،2)نعم (1،2)
  • ملاحظة: تحتوي معظم رقاقات Cortex-M3 وM4 على وحدة معالجة بتية ووحدة معالجة مركزية. يمكن إضافة خيار وحدة المعالجة البتية إلى M0/M0+ باستخدام مجموعة أدوات تصميم نظام Cortex-M. [ 29 ]
  • ملاحظة: يجب على البرنامج التحقق من وجود كل ميزة قبل محاولة استخدامها. [ 17 ]
  • ملاحظة: تتوفر معلومات عامة محدودة عن معالج Cortex-M35P حتى يتم إصدار دليل المرجع الفني الخاص به.

خيارات إضافية للسيليكون: [ 15 ] [ 16 ]

  • ترتيب البيانات: إما ترتيب البايتات الصغير أو ترتيب البايتات الكبير. على عكس معالجات ARM القديمة، فإن معالج Cortex-M مُثبّت بشكل دائم في السيليكون على أحد هذين الخيارين.
  • المقاطعات: من 1 إلى 32 (M0/M0+/M1)، من 1 إلى 240 (M3/M4/M7/M23)، من 1 إلى 480 (M33/M35P/M52/M55/M85).
  • وحدة التحكم في مقاطعة التنبيه: اختيارية.
  • سجل إزاحة جدول المتجهات: اختياري. (غير متوفر لـ M0).
  • عرض جلب التعليمات: 16 بت فقط، أو 32 بت في الغالب.
  • دعم المستخدم/الصلاحيات: اختياري.
  • إعادة ضبط جميع السجلات: اختياري.
  • منفذ الإدخال/الإخراج أحادي الدورة: اختياري. (M0+/M23).
  • منفذ الوصول للتصحيح (DAP): لا شيء، SWD ، JTAG وSWD. (اختياري لجميع أنوية Cortex-M)
  • دعم إيقاف التصحيح: اختياري.
  • عدد نقاط المقارنة للمراقبة: من 0 إلى 2 (M0/M0+/M1)، من 0 إلى 4 (M3/M4/M7/M23/M33/M35P/M52/M55/M85).
  • عدد مقارنات نقطة التوقف: من 0 إلى 4 (M0/M0+/M1/M23)، من 0 إلى 8 (M3/M4/M7/M33/M35P/M52/M55/M85).

مجموعات التعليمات

تُطبّق معالجات Cortex-M0 / M0+ / M1 بنية ARMv6-M ، [ 15 ] بينما تُطبّق معالجات Cortex-M3 بنية ARMv7-M ، [ 16 ] وتُطبّق معالجات Cortex-M4 / Cortex-M7 بنية ARMv7E-M ، [ 16 ] وتُطبّق معالجات Cortex-M23 / M33 / M35P بنية ARMv8-M ، [ 31 ] وتُطبّق معالجات Cortex-M52 / M55 / M85 بنية ARMv8.1-M . [ 31 ] وتتوافق هذه البنى مع التعليمات الثنائية التصاعدية من ARMv6-M إلى ARMv7-M إلى ARMv7E-M. ويمكن تنفيذ التعليمات الثنائية المتاحة لمعالجات Cortex-M0 / Cortex-M0+ / Cortex-M1 دون تعديل على معالجات Cortex-M3 / Cortex-M4 / Cortex-M7. يمكن تنفيذ التعليمات الثنائية المتاحة لمعالج Cortex-M3 دون تعديل على معالجات Cortex-M4 / Cortex-M7 / Cortex-M33 / Cortex-M35P. [ 15 ] [ 16 ] تدعم بنية Cortex-M مجموعتي تعليمات Thumb-1 و Thumb-2 فقط؛ أما مجموعة تعليمات ARM القديمة ذات 32 بت فلا تدعمها.

تُنفّذ جميع نوى Cortex-M مجموعة فرعية مشتركة من التعليمات، تتألف في معظمها من تعليمات Thumb-1، وبعضها من تعليمات Thumb-2، بما في ذلك عملية ضرب ناتج 32 بت. صُممت معالجات Cortex-M0 / Cortex-M0+ / Cortex-M1 / Cortex-M23 لإنتاج أصغر شريحة سيليكون، وبالتالي تحتوي على أقل عدد من التعليمات في عائلة Cortex-M.

تتضمن معالجات Cortex-M0 / M0+ / M1 تعليمات Thumb-1، باستثناء التعليمات الجديدة (CBZ، CBNZ، IT) التي أُضيفت في بنية ARMv7-M. كما تتضمن مجموعة فرعية صغيرة من تعليمات Thumb-2 (BL، DMB، DSB، ISB، MRS، MSR). [ 15 ] أما معالجات Cortex-M3 / M4 / M7 / M33 / M35P فتتضمن جميع تعليمات Thumb-1 وThumb-2 الأساسية. ويضيف معالج Cortex-M3 ثلاث تعليمات Thumb-1، وجميع تعليمات Thumb-2، وقسمة عددية صحيحة على مستوى الأجهزة، وتعليمات حسابية تشبعية . ويضيف معالج Cortex-M4 تعليمات معالجة الإشارات الرقمية (DSP ) ووحدة اختيارية للفاصلة العائمة أحادية الدقة (VFPv4-SP). ويضيف معالج Cortex-M7 وحدة اختيارية للفاصلة العائمة مزدوجة الدقة (VFPv5). [ 23 ] [ 16 ] إضافة تعليمات TrustZone إلى Cortex-M23 / M33 / M35P / M52 / M55 / M85 .

تنوعات التعليمات في معالج ARM Cortex-M
أرم كورالقشرة M0 [ 18 ]القشرة M0+ [ 19 ]القشرة المخية M1 [ 20 ]القشرة المخية M3 [ 21 ]القشرة المخية M4 [ 22 ]القشرة M7 [ 23 ]القشرة المخية M23 [ 24 ]القشرة M33 [ 25 ]كورتكس M35Pالقشرة M52 [ 26 ]Cortex M55 [ 27 ]Cortex M85 [ 28 ]
معمارية ARMARMv6-M [ 15 ]ARMv6-M [ 15 ]ARMv6-M [ 15 ]ARMv7-M [ 16 ]ARMv7E-M [ 16 ]ARMv7E-M [ 16 ]ARMv8-M Baseline [ 31 ]ARMv8-M Mainline [ 31 ]ARMv8-M Mainline [ 31 ]Armv8.1-M Mainline [ 31 ]Armv8.1-M Mainline [ 31 ]Armv8.1-M Mainline [ 31 ]
هندسة الحاسوبفون نيومانفون نيومانفون نيومانهارفاردهارفاردهارفاردفون نيومانهارفاردهارفاردهارفاردهارفاردهارفارد
خط أنابيب التعليمات3 مراحلمرحلتان3 مراحل3 مراحل3 مراحل6 مراحلمرحلتان3 مراحل3 مراحلأربع مراحل4-5 مراحل7 مراحل
زمن استجابة المقاطعة ( ذاكرة حالة انتظار صفرية)16 دورة15 دورة23 لـ NMI، 26 لـ IRQ12 دورة12 دورة12 دورة، 14 أسوأ حالة15 دورة، 24 آمنة لـ NS IRQ12 دورة، 21 آمنة لمقاطعة NSسيتم تحديده لاحقاًسيتم تحديده لاحقاًسيتم تحديده لاحقاًسيتم تحديده لاحقاً
تعليمات الإبهام-1معظممعظممعظمكاملكاملكاملمعظمكاملكاملكاملكاملكامل
تعليمات الإبهام-2بعضبعضبعضكاملكاملكاملبعضكاملكاملكاملكاملكامل
تعليمات الضرب 32×32 = نتيجة 32 بتنعمنعمنعمنعمنعمنعمنعمنعمنعمنعمنعمنعم
تعليمات الضرب 32×32 = نتيجة 64 بتلالالانعمنعمنعملانعمنعمنعمنعمنعم
تعليمات القسمة 32/32 = ناتج قسمة 32 بتلالالانعمنعمنعمنعمنعمنعمنعمنعمنعم
تعليمات رياضية مشبعةلالالابعضنعمنعملانعمنعمنعمنعمنعم
تعليمات معالج الإشارات الرقميةلالالالانعمنعملاخياريخيارينعمنعمنعم
تعليمات الفاصلة العائمة بنصف الدقة (HP)لالالالالالالالالاخياريخياريخياري
تعليمات الفاصلة العائمة أحادية الدقة (SP)لالالالاخياريخياريلاخياريخياريخياريخياريخياري
تعليمات الفاصلة العائمة ذات الدقة المزدوجة (DP)لالالالالاخياريلالالاخياريخياريخياري
تعليمات ناقل الهيليوملالالالالالالالالاخياريخياريخياري
تعليمات أمان TrustZoneلالالالالالاخياريخياريخياريخياريخيارينعم
تعليمات المعالج المساعدلالالالالالالاخياريخياريخياريخياريخياري
تعليمات ARM المخصصة (ACI)لالالالالالالاخياريلاخياريخياريخياري
تعليمات التحقق من صحة المؤشر وتحديد هدف التفرع (PACBTI)لالالالالالالالالاخياريلاخياري
  • ملاحظة: يفترض حساب عدد دورات زمن استجابة المقاطعة ما يلي: 1) وجود مكدس البيانات في ذاكرة الوصول العشوائي (RAM) ذات حالة انتظار صفرية، 2) عدم وجود دالة مقاطعة أخرى قيد التنفيذ حاليًا، 3) عدم وجود خيار امتداد الأمان، لأنه يُضيف دورات إضافية. تتميز أنوية Cortex-M ذات بنية حاسوب هارفارد بزمن استجابة مقاطعة أقصر من أنوية Cortex-M ذات بنية حاسوب فون نيومان.
  • ملاحظة: تتضمن سلسلة Cortex-M ثلاث تعليمات جديدة من نوع Thumb-1 ذات 16 بت لوضع السكون: SEV و WFE و WFI.
  • ملاحظة: لا تتضمن معالجات Cortex-M0 / M0+ / M1 تعليمات Thumb-1 ذات 16 بت التالية : CBZ، CBNZ، IT. [ 15 ] [ 16 ]
  • ملاحظة: لا تتضمن معالجات Cortex-M0 / M0+ / M1 سوى تعليمات Thumb-2 ذات 32 بت التالية : BL، DMB، DSB، ISB، MRS، MSR. [ 15 ] [ 16 ]
  • ملاحظة: تحتوي معالجات Cortex-M0 / M0+ / M1 / ​​M23 على تعليمات ضرب 32 بت فقط ، بنتيجة 32 بت دنيا (32  بت × 32  بت = 32  بت دنيا)، بينما تتضمن معالجات Cortex-M3 / M4 / M7 / M33 / M35P تعليمات ضرب 32 بت إضافية بنتيجة 64 بت (32  بت × 32  بت = 64  بت). وتتضمن معالجات Cortex-M4 / M7 (واختياريًا M33 / M35P) تعليمات معالجة الإشارات الرقمية (DSP) لعمليات الضرب (16  بت × 16  بت = 32  بت)، و(32  بت × 16  بت = 32 بت عليا  )، و(32  بت × 32  بت = 32  بت عليا). [ 15 ] [ 16 ]
  • ملاحظة: يختلف عدد الدورات اللازمة لتنفيذ تعليمات الضرب والقسمة باختلاف تصميمات معالجات ARM Cortex-M. بعض المعالجات مزودة بخيار في السيليكون يتيح اختيار سرعة عالية أو حجم صغير (سرعة منخفضة)، مما يسمح باستخدام كمية أقل من السيليكون مع زيادة عدد الدورات. في حال حدوث مقاطعة أثناء تنفيذ تعليمة قسمة أو تعليمة ضرب بطيئة التكرار، سيتوقف المعالج عن تنفيذ التعليمة، ثم يعيد تشغيلها بعد عودة المقاطعة.
    • تعليمات الضرب "نتيجة 32 بت" - Cortex-M0/M0+/M23 هو خيار السيليكون 1 أو 32 دورة، Cortex-M1 هو خيار السيليكون 3 أو 33 دورة، Cortex-M3/M4/M7/M33/M35P هو دورة واحدة. 
    • تعليمات الضرب "نتيجة 64 بت" - Cortex-M3 هي 3-5 دورات (حسب القيم)، Cortex-M4/M7/M33/M35P هي دورة واحدة. 
    • تعليمات التقسيم Cortex-M3/M4 هي 2-12 دورة (حسب القيم)، Cortex-M7 هي 3-20 دورة (حسب القيم)، Cortex-M23 هو خيار 17 أو 34 دورة، Cortex-M33 هي 2-11 دورة (حسب القيم)، Cortex-M35P لم يتم تحديده بعد. 
  • ملاحظة: تحتوي بعض أنوية Cortex-M على خيارات سيليكون لأنواع مختلفة من وحدات الفاصلة العائمة ( FPU ). يتوفر في Cortex-M55 / M85 خيار الدقة النصفية ( HP )، وفي Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 خيار الدقة المفردة ( SP )، وفي Cortex-M7 / M52 / M55 / M85 خيار الدقة المزدوجة ( DP ). عند تضمين وحدة FPU، يُشار إلى النواة أحيانًا باسم "Cortex-MxF"، حيث يُمثل الحرف "x" نوع النواة، مثل Cortex- M4 F. [ 15 ] [ 16 ]
مجموعات تعليمات ARM Cortex-M
مجموعةبتات الآلةتعليماتالقشرة M0،  M0+،  M1القشرة المخية M3القشرة المخية M4القشرة M7القشرة المخية M23القشرة M33كورتكس M35Pكورتكس إم 52كورتكس إم 55كورتكس إم 85
الإبهام-116ADC، ADD، ADR، AND، ASR، B، BIC، BKPT، BLX، BX، CMN، CMP، CPS، EOR، LDM، LDR، LDRB، LDRH، LDRSB، LDRSH، LSL، LSR، MOV، MUL، MVN، NOP، ORR، POP، PUSH، REV، REV16، REVSH، ROR، RSB، SBC، SEV، STM، STR، STRB، STRH، SUB، SVC، SXTB، SXTH، TST، UXTB، UXTH، WFE، WFI، YIELDنعمنعمنعمنعمنعمنعمنعمنعمنعمنعم
الإبهام-116CBNZ، CBZلانعمنعمنعمنعمنعمنعمنعمنعمنعم
الإبهام-116هو - هيلانعمنعمنعملانعمنعمنعمنعمنعم
الإبهام-232BL، DMB، DSB، ISB، MRS، MSRنعمنعمنعمنعمنعمنعمنعمنعمنعمنعم
الإبهام-232SDIV، UDIV، MOVT، MOVW، BW، LDREX، LDREXB، LDREXH، STREX، STREXB، STREXHلانعمنعمنعمنعمنعمنعمنعمنعمنعم
الإبهام-232ADC، ADD، ADR، AND، ASR، B، BFC، BFI، BIC، CDP، CLREX، CLZ ، CMN، CMP، DBG، EOR، LDC، LDM، LDR، LDRB، LDRBT، LDRD، LDRH، LDRHT، LDRSB، LDRSBT، LDRSH، LDRSHT، LDRT، LSL، LSR، MCR، MCRR، MLA، MLS، MRC، MRRC، MUL، MVN، NOP، ORN، ORR، PLD، PLDW، PLI، POP، PUSH، RBIT، REV، REV16، REVSH، ROR، RRX، RSB، SBC، SBFX، SEV، SMLAL، SMULL، SSAT، STC، STM، STR، STRB، STRBT، STRD، STRH، STRHT، STRT، SUB، SXTB، SXTH، TBB، TBH، TEQ، TST، UBFX، UMLAL، UMULL، USAT، UXTB، UXTH، WFE، WFI، YIELDلانعمنعمنعملانعمنعمنعمنعمنعم
معالجة الإشارات الرقمية32PKH، QADD، QADD16، QADD8، QASX، QDADD، QDSUB، QSAX، QSUB، QSUB16، QSUB8، SADD16، SADD8، SASX، SEL، SHADD16، SHADD8، SHASX، SHSAX، SHSUB16، SHSUB8، SMLABB، SMLABT، SMLATB، SMLATT، SMLAD، SMLALBB، SMLALBT، SMLALTB، SMLALTT، SMLALD، SMLAWB، SMLAWT، SMLSD، SMLSLD، SMMLA، SMMLS، SMMUL، SMUAD، SMULBB، SMULBT، SMULTT، SMULTB، SMULWT، SMULWB، SMUSD، SSAT16، SSAX، SSUB16، SSUB8، SXTAB، SXTAB16، SXTAH، SXTB16، UADD16, UADD8, UASX, UHADD16, UHADD8, UHASX, UHSAX, UHSUB16, UHSUB8, UMAAL, UQADD16, UQADD8, UQASX, UQSAX, UQSUB16, UQSUB8, USAD8, USADA8, USAT16, USAX, USUB16, USUB8, UXTAB, UXTAB16، أوكستاه، UXTB16لالانعمنعملاخياريخيارينعمنعمنعم
عائم SP32VABS، VADD، VCMP، VCMPE، VCVT، VCVTR، VDIV، VLDM، VLDR، VMLA، VMLS، VMOV، VMRS، VMSR، VMUL، VNEG، VNMLA، VNMLS، VNMUL، VPOP، VPUSH، VSQRT، VSTM، VSTR، VSUBلالاخياريخياريلاخياريخياريخياريخياريخياري
DP Float32VCVTA، VCVTM، VCVTN، VCVTP، VMAXNM، VMINNM، VRINTA، VRINTM، VRINTN، VRINTP، VRINTR، VRINTX، VRINTZ، VSELلالالاخياريلالالاخياريخياريخياري
الاستحواذ/الإفراج32LDA، LDAB، LDAH، LDAEX، LDAEXB، LDAEXH، STL، STLB، STLH، STLEX، STLEXB، STLEXHلالالالانعمنعمنعمنعمنعمنعم
منطقة الثقة16BLXNS، BXNSلالالالاخياريخياريخياريخياريخيارينعم
32SG, TT, TTT, TTA, TTAT
المعالج المساعد16CDP، CDP2، MCR، MCR2، MCRR، MCRR2، MRC، MRC2، MRRC، MRRC2لالالالالاخياريخياريخياريخياريخياري
معهد الكيمياء الأمريكي32CX1، CX1A، CX2، CX2A، CX3، CX3A، CX1D، CX1DA، CX2D، CX2DA، CX3D، CX3DA، VCX1، VCX1A، VCX2، VCX2A، VCX3، VCX3Aلالالالالاخياريلاخياريخياريخياري
PACBTI32AUT، AUTG، BTI، BXAUT، PAC، PACBTI، PACGلالالالالالالاخياريلاخياري
  • ملاحظة: MOVW هو اسم بديل يعني تعليمات MOV "العريضة" ذات 32 بت.
  • ملاحظة: BW هو فرع غير مشروط بعيد المدى (مشابه في التشفير والتشغيل والنطاق لـ BL، باستثناء إعداد سجل LR).
  • ملاحظة: بالنسبة لـ Cortex-M1، توجد تعليمات WFE / WFI / SEV، ولكنها تُنفذ كتعليمات NOP.
  • ملاحظة: تعليمات وحدة الفاصلة العائمة ذات الدقة النصفية (HP) صالحة في Cortex-M52 / M55 / M85 فقط عندما يكون خيار HP FPU موجودًا في السيليكون.
  • ملاحظة: تعليمات وحدة الفاصلة العائمة أحادية الدقة (SP) صالحة في Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 فقط عندما يكون خيار SP FPU موجودًا في السيليكون.
  • ملاحظة: تعليمات FPU ذات الدقة المزدوجة (DP) صالحة في Cortex-M7 / M52 / M55 / M85 فقط عندما يكون خيار DP FPU موجودًا في السيليكون.

الإهمال

أزالت بنية ARM لسلسلة ARM Cortex-M بعض الميزات من النوى القديمة القديمة: [ 15 ] [ 16 ]

  • لا تتضمن نوى Cortex-M مجموعة تعليمات ARM ذات 32 بت.
  • يتم تحديد ترتيب البايتات أثناء تنفيذ السيليكون في معالجات Cortex-M. كانت المعالجات القديمة تسمح بتغيير وضع ترتيب البايتات للبيانات أثناء التشغيل .
  • لم تكن المعالجات المساعدة مدعومة على أنوية Cortex-M، حتى تم إعادة تقديم خيار السيليكون في "ARMv8-M Mainline" لأنوية ARM Cortex-M33/M35P.

تتكرر إمكانيات مجموعة تعليمات ARM ذات 32 بت في العديد من النواحي بواسطة مجموعتي تعليمات Thumb-1 و Thumb-2، ولكن بعض ميزات ARM لا تحتوي على ميزة مماثلة:

  • لا تحتوي تعليمات SWP و SWPB (التبديل) ARM على ميزة مماثلة في Cortex-M.

تطورت مجموعة تعليمات Thumb-1 ذات الـ 16 بت بمرور الوقت منذ إصدارها لأول مرة في معالجات ARM7T القديمة مع بنية ARMv4T. أُضيفت تعليمات Thumb-1 جديدة مع كل بنية من بنى ARMv5 وARMv6 وARMv6T2 القديمة. كما أُزيلت بعض تعليمات Thumb-1 ذات الـ 16 بت من معالجات Cortex-M.

  • لا توجد تعليمة "BLX <immediate>" لأنها كانت تُستخدم للانتقال من مجموعة تعليمات Thumb-1 إلى مجموعة تعليمات ARM. أما تعليمة "BLX <register>" فلا تزال متاحة في Cortex-M.
  • لا يوجد أمر SETEND لأن التبديل الفوري لوضع ترتيب البايتات للبيانات لم يعد مدعومًا.
  • لم تكن تعليمات المعالج المساعد مدعومة على أنوية Cortex-M، حتى تم إعادة تقديم خيار السيليكون في "ARMv8-M Mainline" لأنوية ARM Cortex-M33/M35P.
  • تمت إعادة تسمية تعليمة SWI إلى SVC، على الرغم من أن ترميزها الثنائي هو نفسه. ومع ذلك، يختلف رمز معالج SVC عن رمز معالج SWI، بسبب التغييرات التي طرأت على نماذج الاستثناءات.

Cortex-M0

رقم زر أمازون داش : CYBL10563-68FNXI
nRF51822

تم تحسين نواة Cortex-M0 لتناسب حجم رقاقة السيليكون الصغيرة واستخدامها في الرقائق ذات الأسعار المنخفضة. [ 2 ]

الميزات الرئيسية لنواة Cortex-M0 هي: [ 18 ]

  • بنية ARMv6-M [ 15 ]
  • خط أنابيب من ثلاث مراحل
  • مجموعات التعليمات:
    • الإبهام-1 (معظمها)، مفقود CBZ، CBNZ، IT
    • الإبهام-2 (بعضها)، فقط BL، DMB، DSB، ISB، MRS، MSR
    • عملية ضرب عدد صحيح ذي 32 بت في نتيجة ذات 32 بت
  • من 1 إلى 32 مقاطعة ، بالإضافة إلى NMI

خيارات السيليكون:

  • سرعة ضرب الأعداد الصحيحة في الجهاز: دورة واحدة أو 32 دورة.

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M0:

تحتوي الرقاقات التالية على معالج Cortex-M0 كنواة ثانوية:

Cortex-M0+

لوحة NXP ( فري سكيل ) FRDM-KL25Z مع KL25Z128VLK (كينيتيس L)
لوحة NXP LPC800-MAX مع LPC812

يُعدّ معالج Cortex-M0+ نسخةً مُحسّنةً من معالج Cortex-M0. يتميّز Cortex-M0+ بتوافق كامل مع مجموعة تعليمات Cortex-M0، مما يسمح باستخدام نفس المُصرّف وأدوات التصحيح. تمّ تقليص عدد مراحل خط أنابيب Cortex-M0+ من 3 إلى 2، مما يُقلّل من استهلاك الطاقة ويُحسّن الأداء (زيادة متوسط ​​عدد التعليمات لكل دورة تنفيذية نظرًا لأنّ التفرّعات تستغرق دورةً واحدةً أقل). بالإضافة إلى ميزات التصحيح الموجودة في Cortex-M0، يُمكن إضافة خيار سيليكوني إلى Cortex-M0+ يُسمّى مُخزن التتبع الدقيق (MTB)، والذي يُوفّر مُخزنًا بسيطًا لتتبع التعليمات. كما حصل Cortex-M0+ على ميزات Cortex-M3 وCortex-M4، والتي يُمكن إضافتها كخيارات سيليكونية، مثل وحدة حماية الذاكرة (MPU) ونقل جدول المتجهات. [ 19 ]

الميزات الرئيسية لنواة Cortex-M0+ هي: [ 19 ]

  • بنية ARMv6-M [ 15 ]
  • خط أنابيب من مرحلتين (أقل بمرحلة واحدة من Cortex-M0)
  • مجموعات التعليمات: (نفس مجموعة تعليمات Cortex-M0)
    • الإبهام-1 (معظمها)، مفقود CBZ، CBNZ، IT
    • الإبهام-2 (بعضها)، فقط BL، DMB، DSB، ISB، MRS، MSR
    • عملية ضرب عدد صحيح ذي 32 بت في نتيجة ذات 32 بت
  • من 1 إلى 32 مقاطعة ، بالإضافة إلى NMI

خيارات السيليكون:

  • سرعة ضرب الأعداد الصحيحة في المعالج: دورة واحدة أو 32 دورة
  • وحدة حماية الذاكرة ذات 8 مناطق (MPU) (نفس M3 و M4)
  • نقل جدول المتجهات (كما هو الحال في M3 وM4)
  • منفذ إدخال/إخراج أحادي الدورة (متوفر في M0+/M23)
  • مخزن التتبع الدقيق (MTB) (متوفر في M0+/M23/M33/M35P)

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M0+:

تحتوي الرقاقات التالية على معالج Cortex-M0+ كنواة ثانوية:

  • Cypress PSoC 6200 (معالج Cortex-M4F واحد + معالج Cortex-M0+ واحد)
  • ST WB (واحد Cortex-M4F + واحد Cortex-M0+)

أصغر وحدات التحكم الدقيقة ARM هي من نوع Cortex-M0+ (اعتبارًا من عام 2014، أصغرها بحجم 1.6  مم × 2  مم في حزمة بحجم الشريحة هو Kinetis KL03). [ 33 ]

في 21 يونيو 2018، أعلن باحثون من جامعة ميشيغان، خلال ندوة تقنية الدوائر المتكاملة واسعة النطاق (VLSI) لعام 2018، عن " أصغر حاسوب في العالم "، أو جهاز حاسوبي ، يعتمد على معالج ARM Cortex-M0+ (ويتضمن ذاكرة وصول عشوائي وأجهزة إرسال واستقبال لاسلكية تعمل بالطاقة الشمسية ) . وقد نُشرت ورقة بحثية بعنوان "نظام استشعار لاسلكي بدون بطارية بحجم 0.04 مم³ واستهلاك طاقة 16 نانوواط، مزود بمعالج Cortex-M0+ مدمج واتصال بصري لقياس درجة حرارة الخلايا". يُذكر أن هذا الجهاز يُعادل عُشر حجم الحاسوب الذي ادّعت شركة IBM سابقًا أنه الأكبر في العالم، والذي كان أصغر من حبة ملح.  

القشرة المخية M1

يُعدّ معالج Cortex-M1 نواة مُحسّنة مصممة خصيصًا ليتم تحميلها في رقائق FPGA . [ 4 ]

تتمثل السمات الرئيسية لنواة Cortex-M1 فيما يلي: [ 20 ]

  • بنية ARMv6-M [ 15 ]
  • خط أنابيب من ثلاث مراحل .
  • مجموعات التعليمات:
    • الإبهام-1 (معظمها)، مفقود CBZ، CBNZ، IT.
    • الإبهام-2 (بعضها)، فقط BL، DMB، DSB، ISB، MRS، MSR.
    • عملية ضرب عدد صحيح ذي 32 بت في جهاز ذي نتيجة 32 بت.
  • من 1 إلى 32 مقاطعة ، بالإضافة إلى NMI .

خيارات السيليكون:

  • سرعة ضرب الأعداد الصحيحة في الجهاز: 3 أو 33 دورة.
  • ذاكرة مترابطة بإحكام اختيارية (TCM): من 0 إلى 1  ميجابايت للتعليمات-TCM، من 0 إلى 1  ميجابايت للبيانات-TCM، كل منها مزود بـ ECC اختياري.
  • المقاطعات الخارجية: 0، 1، 8، 16، 32.
  • تصحيح الأخطاء: لا شيء، مخفّض، كامل.
  • ترتيب البيانات: little-endian أو BE-8 big-endian.
  • امتداد نظام التشغيل: موجود أو غير موجود.

رقائق البطاطس

يدعم الموردون التاليون معالج Cortex-M1 كمعالجات برمجية على رقائق FPGA الخاصة بهم:

القشرة الدماغية-M3

لوحة أردوينو ديو مع وحدة تحكم دقيقة Atmel ATSAM3X8E (معالج ARM Cortex-M3 )
لوحة تطوير NXP LPCXpresso مع LPC1343

الميزات الرئيسية لنواة Cortex-M3 هي: [ 21 ] [ 36 ]

  • بنية ARMv7-M [ 16 ]
  • خط أنابيب من ثلاث مراحل مع تكهنات فرعية .
  • مجموعات التعليمات:
    • الإبهام-1 (كامل).
    • الإبهام-2 (كامل).
    • تُجري عملية ضرب عدد صحيح ذي 32 بت على معالجات الأجهزة، بحيث يكون الناتج 32 بت أو 64 بت، سواء كان العدد مُوقّعًا أو غير مُوقّع، ثم تُجرى عملية جمع أو طرح بعد الضرب. تستغرق عملية الضرب ذات 32 بت دورة واحدة، بينما تتطلب عمليات الضرب ذات 64 بت وتعليمات MAC دورات إضافية.
    • قسمة الأعداد الصحيحة للأجهزة ذات 32 بت (2-12 دورة).
    • دعم حسابي للتشبع .
  • من 1 إلى 240 مقاطعة ، بالإضافة إلى NMI .
  • زمن استجابة المقاطعة 12 دورة.
  • أوضاع نوم مدمجة.

خيارات السيليكون:

  • وحدة حماية الذاكرة الاختيارية (MPU): 0 أو 8 مناطق.

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M3:

ملخص AIR1 E205: MAX32550
ميكروتيك RB260GS r2: STM32F107RBT6

تحتوي الرقاقات التالية على معالج Cortex-M3 كنواة ثانوية:

تتضمن معالجات FPGA التالية نواة Cortex-M3:

يدعم الموردون التاليون معالج Cortex-M3 كمعالجات برمجية على رقائق FPGA الخاصة بهم:

  • ألترا سايكلون-2، سايكلون-3، ستراتيكس-2، ستراتيكس-3
  • Xilinx Spartan-3، Virtex-2، Virtex-3، Virtex-4، Artix-7 [ 38 ]

كورتكس-إم 4

لوحة Silicon Labs ( Energy Micro ) Wonder Gecko STK مع EFM32 WG990
لوحة إطلاق TI Stellaris مع LM4F120

من الناحية النظرية، يُعدّ معالج Cortex-M4 معالج Cortex-M3 مُضافًا إليه تعليمات معالجة الإشارات الرقمية ( DSP ) ووحدة حساب الفاصلة العائمة (FPU) اختيارية. ويُعرف المعالج الذي يحتوي على وحدة حساب الفاصلة العائمة باسم Cortex-M4F.

الميزات الرئيسية لنواة Cortex-M4 هي: [ 22 ]

  • بنية ARMv7E-M [ 16 ]
  • خط أنابيب من ثلاث مراحل مع تكهنات فرعية .
  • مجموعات التعليمات:
    • الإبهام-1 (كامل).
    • الإبهام-2 (كامل).
    • عملية ضرب عدد صحيح ذي 32 بت مع ناتج ذي 32 بت أو 64 بت، سواء كان موقّعًا أو غير موقّع، ثم إضافة أو طرح بعد الضرب. تستغرق عملية الضرب وMAC في نظام 32 بت دورة واحدة.
    • قسمة الأعداد الصحيحة للأجهزة ذات 32 بت (2-12 دورة).
    • دعم حسابي للتشبع .
    • امتداد DSP: دورة واحدة 16/32 بت MAC ، دورة واحدة مزدوجة 16 بت MAC، حساب SIMD 8/16 بت .
  • من 1 إلى 240 مقاطعة ، بالإضافة إلى NMI .
  • زمن استجابة المقاطعة 12 دورة.
  • أوضاع نوم مدمجة.

خيارات السيليكون:

  • وحدة الفاصلة العائمة الاختيارية (FPU): أحادية الدقة فقط، متوافقة مع معيار IEEE-754 . تُسمى امتداد FPv4-SP.
  • وحدة حماية الذاكرة الاختيارية (MPU): 0 أو 8 مناطق.

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M4:

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M4F (M4 + FPU ):

nRF52833 على جهاز مايكروبت الإصدار 2
STM32F407IGH6

تحتوي الرقاقات التالية إما على معالج Cortex-M4 أو M4F كنواة ثانوية:

كورتكس-إم7

لوحة Arduino GIGA R1 WiFi مزودة بمعالج دقيق STM32H747XIH6 ثنائي النواة (ARM Cortex-M7 + ARM Cortex-M4)
لعبة جيم آند واتش: سوبر ماريو بروس : STM32H7B0VBT6

يُعدّ معالج Cortex-M7 نواةً عالية الأداء، تتميّز بكفاءة طاقة تقارب ضعف كفاءة معالج Cortex-M4 الأقدم. [ 7 ] ويحتوي على خط أنابيب فائق القياس بست مراحل مع إمكانية التنبؤ بالتفرعات ، ووحدة حسابية اختيارية للفاصلة العائمة قادرة على إجراء عمليات أحادية الدقة، وعمليات مزدوجة الدقة اختيارياً . [ 7 ] [ 39 ] وقد تمّ توسيع ناقلي التعليمات والبيانات إلى 64 بت بدلاً من 32 بت. إذا احتوت النواة على وحدة حسابية للفاصلة العائمة، تُعرف باسم Cortex-M7F، وإلا فهي تُعرف باسم Cortex-M7.

الميزات الرئيسية لنواة Cortex-M7 هي: [ 23 ]

  • معمارية ARMv7E-M.
  • خط أنابيب من 6 مراحل مع إمكانية التكهن بالتفرع . ثاني أطول خط أنابيب بين جميع أنوية ARM Cortex-M، حيث يأتي Cortex-M85 في المرتبة الأولى.
  • مجموعات التعليمات:
    • الإبهام-1 (كامل).
    • الإبهام-2 (كامل).
    • عملية ضرب عدد صحيح ذي 32 بت مع ناتج ذي 32 بت أو 64 بت، سواء كان موقّعًا أو غير موقّع، ثم إضافة أو طرح بعد الضرب. تستغرق عملية الضرب وMAC في نظام 32 بت دورة واحدة.
    • قسمة الأعداد الصحيحة للأجهزة ذات 32 بت (2-12 دورة).
    • دعم حسابي للتشبع .
    • امتداد DSP: دورة واحدة 16/32 بت MAC ، دورة واحدة مزدوجة 16 بت MAC، حساب SIMD 8/16 بت .
  • من 1 إلى 240 مقاطعة ، بالإضافة إلى NMI .
  • زمن استجابة المقاطعة 12 دورة.
  • أوضاع نوم مدمجة.

خيارات السيليكون:

  • وحدة الفاصلة العائمة الاختيارية (FPU): (دقة مفردة) أو (دقة مفردة ومزدوجة)، وكلاهما متوافق مع معيار IEEE-754-2008. ويُطلق عليها اسم امتداد FPv5.
  • ذاكرة التخزين المؤقت الاختيارية لوحدة المعالجة المركزية : من 0 إلى 64  كيلوبايت لذاكرة التعليمات، ومن 0 إلى 64  كيلوبايت لذاكرة البيانات، كل منها مزود بخاصية تصحيح الأخطاء الاختيارية (ECC) .
  • ذاكرة مترابطة بإحكام اختيارية (TCM): من 0 إلى 16  ميجابايت للتعليمات-TCM، ومن 0 إلى 16  ميجابايت للبيانات-TCM، كل منها مزود بـ ECC اختياري.
  • وحدة حماية الذاكرة الاختيارية (MPU): 8 أو 16 منطقة.
  • وحدة تتبع الماكرو المضمنة الاختيارية (ETM): تعليمات فقط، أو تعليمات وبيانات.
  • وضع الاحتفاظ الاختياري (مع مجموعة إدارة طاقة الذراع) لأوضاع النوم.
  • تشغيل متزامن مزدوج احتياطي اختياري .

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M7:

تحتوي الرقاقات التالية على معالج Cortex-M7 كنواة ثانوية:

كورتكس-إم23

أُعلن عن نواة Cortex-M23 في أكتوبر 2016 [ 40 ] ، وهي مبنية على معمارية ARMv8-M التي أُعلن عنها سابقًا في نوفمبر 2015. [ 41 ] من الناحية المفاهيمية، تُشبه Cortex-M23 نواة Cortex-M0+ بالإضافة إلى تعليمات قسمة الأعداد الصحيحة وميزات أمان TrustZone، كما أنها تحتوي على مسار تعليمات ثنائي المراحل . [ 8 ]

الميزات الرئيسية لنواة Cortex-M23 هي: [ 24 ] [ 40 ]

  • بنية ARMv8-M الأساسية. [ 31 ]
  • خط أنابيب من مرحلتين. (مشابه لـ Cortex-M0+)
  • تعليمات أمان TrustZone .
  • قسمة الأعداد الصحيحة على مستوى الأجهزة 32 بت (17 أو 34 دورة). (أبطأ من القسمة في جميع النوى الأخرى)
  • حدود الحد الأقصى للتراكم. (متوفر فقط مع خيار SAU)

خيارات السيليكون:

  • سرعة ضرب الأعداد الصحيحة في الجهاز: دورة واحدة أو 32 دورة.
  • سرعة قسمة الأعداد الصحيحة في المعالج: 17 أو 34 دورة كحد أقصى. اعتمادًا على المقسوم عليه، قد تكتمل التعليمات في عدد أقل من الدورات.
  • وحدة حماية الذاكرة الاختيارية (MPU): 0، 4، 8، 12، 16 منطقة.
  • وحدة إسناد الأمان الاختيارية (SAU): 0، 4، 8 مناطق.
  • منفذ إدخال/إخراج أحادي الدورة (متوفر في M0+/M23).
  • مخزن التتبع الدقيق (MTB)

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M23:

كورتكس-إم33

سبارك فن ثينج بلس: RP2350

تم الإعلان عن نواة Cortex-M33 في أكتوبر 2016 [ 40 ] وهي مبنية على معمارية ARMv8-M التي تم الإعلان عنها سابقًا في نوفمبر 2015. [ 41 ] من الناحية المفاهيمية، تشبه Cortex-M33 مزيجًا من Cortex-M4 وCortex-M23، كما أنها تحتوي على خط أنابيب تعليمات من 3 مراحل . [ 9 ]

الميزات الرئيسية لنواة Cortex-M33 هي: [ 25 ] [ 40 ]

  • بنية ARMv8-M الرئيسية. [ 31 ]
  • خط أنابيب من ثلاث مراحل.
  • تعليمات أمان TrustZone .
  • قسمة عدد صحيح للأجهزة 32 بت (11 دورة كحد أقصى).
  • حدود الحد الأقصى للتراكم. (متوفر فقط مع خيار SAU)

خيارات السيليكون:

  • وحدة الفاصلة العائمة الاختيارية (FPU): أحادية الدقة فقط، متوافقة مع معيار IEEE-754 . تُسمى امتداد FPv5.
  • وحدة حماية الذاكرة الاختيارية (MPU): 0، 4، 8، 12، 16 منطقة.
  • وحدة إسناد الأمان الاختيارية (SAU): 0، 4، 8 مناطق.
  • مخزن التتبع الدقيق (MTB)

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M33:

تحتوي الرقاقات التالية على معالج Cortex-M33 أو M33F كنواة ثانوية:

كورتكس-M35P

أُعلن عن نواة Cortex-M35P في مايو 2018، وهي مبنية على معمارية Armv8-M . وهي من حيث المفهوم نواة Cortex-M33 مزودة بذاكرة تخزين مؤقتة جديدة للتعليمات، بالإضافة إلى مفاهيم جديدة للأجهزة المقاومة للتلاعب مستوحاة من عائلة ARM SecurCore، وميزات قابلة للتكوين للتكافؤ وتصحيح الأخطاء. [ 10 ]

المعلومات المتوفرة حاليًا حول جهاز Cortex-M35P محدودة، لأن دليل المرجع التقني ودليل المستخدم العام لم يتم إصدارهما بعد.

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M35P:

كورتكس-إم 52

أُعلن عن نواة Cortex-M52 في نوفمبر 2023، وهي مبنية على معمارية Armv8.1-M . من الناحية النظرية، يمكن اعتبارها مزيجًا بين Cortex-M33 وCortex-M55. تتمثل الاختلافات الرئيسية في أن معالجها المساعد Helium أحادي النبضة (بينما M55 ثنائي النبضة)، كما أنها مزودة بناقل رئيسي 32 بت مشابه لـ M33 لتسهيل نقل التطبيقات. وتحتوي على مسار تعليمات من أربع مراحل. [ 11 ]

تشمل الميزات الرئيسية لنواة Cortex-M52 ما يلي:

  • معمارية ARMv8.1-M الرئيسية/الهيليوم. [ 31 ]
  • خط أنابيب من أربع مراحل.
  • حدود التراكم (متوفرة فقط مع خيار SAU).
  • ناقل رئيسي 32 بت (AHB أو AXI) [ 11 ]

خيارات السيليكون:

  • الهيليوم (امتداد متجه الملف الشخصي M، MVE)
  • مصادقة المؤشر وتوسيع تحديد هدف الفرع
  • الفاصلة العائمة أحادية الدقة وثنائية الدقة
  • دعم امتداد معالجة الإشارات الرقمية (DSP)
  • دعم ملحقات أمان TrustZone
  • دعم السلامة والموثوقية (RAS)
  • دعم المعالج المساعد
  • وحدات إدارة الذاكرة الآمنة وغير الآمنة مع 0 أو 4 أو 8 أو 12 أو 16 منطقة
  • SAU مع 0 أو 4 أو 8 مناطق
  • ذاكرة تخزين مؤقتة للتعليمات بحجم يصل إلى 64 كيلوبايت
  • ذاكرة تخزين مؤقتة للبيانات بحجم يصل إلى 64 كيلوبايت
  • تصحيح الأخطاء ECC على ذاكرة التخزين المؤقت ووحدات التحكم في نقل البيانات
  • المقاطعات من 1 إلى 480
  • 3-8 بتات أولوية الاستثناء
  • خيارات WIC الداخلية والخارجية، وCTI وITM وDWT الاختيارية
  • تعليمات ARM المخصصة

رقائق البطاطس

تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex M52

  • Geehy Semiconductor G32R5, G32R430 [ 43 ]

كورتكس-إم 55

أُعلن عن معالج Cortex-M55 في فبراير 2020، وهو مبني على معمارية Armv8.1-M . ويحتوي على مسار تعليمات من 4 أو 5 مراحل. [ 12 ]

تشمل الميزات الرئيسية لنواة Cortex-M55 ما يلي:

  • معمارية ARMv8.1-M الرئيسية/الهيليوم. [ 31 ]
  • خط أنابيب من أربع مراحل.
  • حدود التراكم (متوفرة فقط مع خيار SAU).
  • ناقل AXI الرئيسي 64 بت [ 12 ]

خيارات السيليكون:

  • الهيليوم (امتداد متجه الملف الشخصي M، MVE)
  • الفاصلة العائمة أحادية الدقة وثنائية الدقة
  • دعم امتداد معالجة الإشارات الرقمية (DSP)
  • دعم ملحقات أمان TrustZone
  • دعم السلامة والموثوقية (RAS)
  • دعم المعالج المساعد
  • وحدات إدارة الذاكرة الآمنة وغير الآمنة مع 0 أو 4 أو 8 أو 12 أو 16 منطقة
  • SAU مع 0 أو 4 أو 8 مناطق
  • ذاكرة تخزين مؤقتة للتعليمات بحجم 4 كيلوبايت، 8 كيلوبايت، 16 كيلوبايت، 32 كيلوبايت، 64 كيلوبايت
  • ذاكرة تخزين مؤقتة للبيانات بأحجام 4 كيلوبايت، 8 كيلوبايت، 16 كيلوبايت، 32 كيلوبايت، 64 كيلوبايت
  • تصحيح الأخطاء ECC على ذاكرة التخزين المؤقت ووحدات التحكم في نقل البيانات
  • المقاطعات من 1 إلى 480
  • 3-8 بتات أولوية الاستثناء
  • خيارات WIC الداخلية والخارجية، وCTI وITM وDWT الاختيارية
  • تعليمات ARM المخصصة

رقائق البطاطس

كورتكس-إم85

تم الإعلان عن نواة Cortex-M85 في أبريل 2022، وهي مبنية على معمارية Armv8.1-M . وتحتوي على خط أنابيب تعليمات من 7 مراحل. [ 13 ]

خيارات السيليكون:

  • ذاكرة التخزين المؤقت الاختيارية لوحدة المعالجة المركزية : من 0 إلى 64  كيلوبايت لذاكرة التعليمات، ومن 0 إلى 64  كيلوبايت لذاكرة البيانات، كل منها مزود بخاصية تصحيح الأخطاء الاختيارية (ECC) .
  • ذاكرة مترابطة بإحكام اختيارية (TCM): من 0 إلى 16  ميجابايت للتعليمات-TCM، ومن 0 إلى 16  ميجابايت للبيانات-TCM، كل منها مزود بـ ECC اختياري.
  • وحدة حماية الذاكرة الاختيارية (MPU): 16 منطقة. يمكن أن تحتوي على مناطق منفصلة للوضع الآمن وغير الآمن في حالة تطبيق TrustZone .
  • ما يصل إلى 480 مقاطعة و NMI
  • 3-8 بتات أولوية الاستثناء
  • تشغيل متزامن مزدوج احتياطي اختياري .

رقائق البطاطس

أدوات التطوير

الوثائق

تُعدّ وثائق رقائق ARM شاملة. في الماضي، كانت وثائق المتحكمات الدقيقة ذات 8 بت تُختصر عادةً في وثيقة واحدة، ولكن مع تطور المتحكمات الدقيقة، تطورت معها جميع المتطلبات اللازمة لدعمها. تتألف حزمة وثائق رقائق ARM عادةً من مجموعة وثائق من مُصنِّع الدوائر المتكاملة، بالإضافة إلى وثائق من مُورِّد نواة المعالج ( ARM Limited ).

شجرة توثيق نموذجية من أعلى إلى أسفل هي:

شجرة التوثيق (من الأعلى إلى الأسفل)
  1. موقع الشركة المصنعة للدوائر المتكاملة.
  2. شرائح تسويقية لمصنّع الدوائر المتكاملة.
  3. بيانات الشركة المصنعة للدوائر المتكاملة (IC) الخاصة بالشريحة المادية المحددة.
  4. دليل مرجعي لمصنعي الدوائر المتكاملة يصف الأجهزة الطرفية الشائعة وجوانب عائلة الرقائق المادية.
  5. موقع ARM الأساسي.
  6. دليل المستخدم العام لنواة ARM.
  7. دليل مرجعي تقني لنواة ARM.
  8. دليل مرجعي لبنية ARM.

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

انظر أيضاً

مراجع

  1. موقع ARM Cortex-M الإلكتروني؛ شركة ARM المحدودة.
  2. 1 2 "Cortex-M0 Home" . ARM Limited .
  3. "Cortex-M0+ Home" . ARM Limited .
  4. 1 2 "Cortex-M1 Home" . ARM Limited .
  5. "Cortex-M3 Home" . شركة ARM المحدودة .
  6. "Cortex-M4 Home" . شركة ARM المحدودة .
  7. 1 2 3 "Cortex-M7 Home" . شركة ARM المحدودة .
  8. 1 2 "Cortex-M23 Home" . ARM Limited .
  9. 1 2 "Cortex-M33 Home" . ARM Limited .
  10. 1 2 3 "Cortex-M35P Home" . ARM Limited .
  11. 1 2 3 "Cortex-M52 Home" . ARM Limited .
  12. 1 2 3 "Cortex-M55 Home" . ARM Limited .
  13. 1 2 "Cortex-M85 Home" . ARM Limited .
  14. "حول اختراق بطاقات الذاكرة الصغيرة" .
  15. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 "دليل مرجعي لبنية ARMv6-M" . شركة ARM المحدودة .
  16. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 "دليل مرجعي لبنية ARMv7-M" . شركة ARM المحدودة .
  17. 1 2 3 4 تطوير البرمجيات المدمجة Cortex-M3؛ ملاحظة التطبيق 179؛ شركة ARM المحدودة.
  18. 1 2 3 "دليل المرجع التقني لـ Cortex-M0" . شركة ARM المحدودة .
  19. 1 2 3 4 "دليل المرجع التقني لـ Cortex-M0+" . شركة ARM المحدودة .
  20. 1 2 3 "دليل المرجع الفني لـ Cortex-M1" . شركة ARM المحدودة .
  21. 1 2 3 "دليل المرجع التقني لمعالج Cortex-M3" . شركة ARM المحدودة .
  22. 1 2 3 "دليل المرجع الفني لمعالج Cortex-M4" . شركة ARM المحدودة .
  23. 1234"Cortex-M7 Technical Reference Manual". ARM Limited.
  24. 123"Cortex-M23 Technical Reference Manual". ARM Limited.
  25. 123"Cortex-M33 Technical Reference Manual". ARM Limited.
  26. 12"Cortex-M52 Technical Reference Manual". ARM Limited.
  27. 12"Cortex-M55 Technical Reference Manual". ARM Limited.
  28. 12"Cortex-M85 Technical Reference Manual". ARM Limited.
  29. 123"Cortex-M System Design Kit (CMSDK)". Arm Holdings. Archived from the original on March 4, 2016.
  30. 12345678910ARM Cortex-M Programming Guide to Memory Barrier Instructions; Section 3.6 System implementation requirements; AppNote 321; ARM Limited.
  31. 123456789101112"ARMv8-M Architecture Reference Manual". ARM Limited.
  32. 32-bit PIC and SAM Microcontrollers; Microchip.
  33. Fingas, Jon (25 February 2014). "Freescale makes the world's smallest ARM controller chip even tinier". Retrieved 2 October 2014.
  34. GOWIN Semiconductor joins ARM DesignStart offering free ARM Cortex-M1 Processors for its FPGA product families
  35. Cortex-M1 DesignStart FPGA XilinxEdition; ARM Limited.
  36. Sadasivan, Shyam. "An Introduction to the ARM Cortex-M3 Processor"(PDF). ARM Limited. Archived from the original(PDF) on July 26, 2014.
  37. "Samsung Exynos 7420 Deep Dive - Inside a Modern 14nm SoC". AnandTech. Archived from the original on June 30, 2015. Retrieved 2015-06-15.
  38. Cortex-M3 DesignStart FPGA XilinxEdition
  39. "ARM Supercharges MCU Market with High Performance Cortex-M7 Processor". ARM Limited (Press release). September 24, 2014.
  40. 1234New ARM Cortex-M processors offer the next industry standard for secure IoT; ARM Limited; October 25, 2016.
  41. 1 2 بنية ARMv8-M تبسط الأمن للأجهزة المدمجة الذكية؛ ARM المحدودة؛ 10 نوفمبر 2015.
  42. "nRF54H20 - Nordic Semiconductor" . www.nordicsemi.com . تاريخ الاسترجاع: 30 أكتوبر 2024 .
  43. "تم الكشف عن أول وحدة تحكم دقيقة ثنائية النواة في العالم تعمل في الوقت الحقيقي وتتميز بمعالج Cortex-M52 في معرض إلكترونيكا الصين 2024" .
  44. https://newsroom.st.com/media-center/press-item.html/p4733.html

للمزيد من القراءة

  • دليل المصمم لعائلة معالجات Cortex-M ؛ الطبعة الثالثة؛ تريفور مارتن؛ 648 صفحة؛ 2022؛ رقم ISBN 978-0323854948.
  • الدليل الشامل لمعالجات ARM Cortex-M0 و Cortex-M0+ ؛ الطبعة الثانية؛ جوزيف يو؛ 784 صفحة؛ 2015؛ رقم ISBN 978-0128032770.
  • الدليل الشامل لمعالجات ARM Cortex-M3 و Cortex-M4 ؛ الطبعة الثالثة؛ جوزيف يو؛ 864 صفحة؛ 2013؛ رقم ISBN 978-0124080829.
  • الدليل الشامل لمعالجات ARM Cortex-M23 و Cortex-M33 ؛ الطبعة الأولى؛ جوزيف يو؛ 928 صفحة؛ 2020؛ رقم ISBN 978-0128207352.
  • المتحكمات الدقيقة بلغة C: Cortex-M وما بعدها ؛ الطبعة الأولى؛ كلاوس إلك؛ ٢٢٧ صفحة؛ ٢٠٢٣؛ رقم ISBN 979-8862003437.
  • الأنظمة المدمجة باستخدام وحدات التحكم الدقيقة ARM Cortex-M بلغة التجميع ولغة C ؛ الطبعة الرابعة؛ ييفنغ تشو؛ 730 صفحة؛ 2023؛ رقم ISBN 978-0982692677.
  • لغة التجميع ARM للتطبيقات المدمجة ؛ الطبعة الخامسة؛ دانيال لويس؛ 379 صفحة؛ 2019؛ رقم ISBN 978-1092542234.
  • برمجة لغة التجميع: ARM Cortex-M3 ؛ الطبعة الأولى؛ فنسنت ماهوت؛ 256 صفحة؛ 2012؛ رقم ISBN 978-1848213296.
  • معالجة الإشارات الرقمية وتطبيقاتها باستخدام معالج ARM Cortex-M4 ؛ الطبعة الأولى؛ دونالد راي؛ 320 صفحة؛ 2015؛ رقم ISBN 978-1118859049.
  • نظام التشغيل في الوقت الحقيقي العملي مع المتحكمات الدقيقة ؛ الطبعة الأولى؛ برايان آموس؛ 496 صفحة؛ 2020؛ رقم ISBN 978-1838826734.
الوثائق الرسمية لمعالج ARM Cortex-M
معالج ARMعرض البتموقع ARM الإلكترونيدليل المستخدم العام لـ ARMدليل مرجعي تقني لشركة ARMدليل مرجعي لبنية ARM
Cortex-M032وصلةوصلةوصلةARMv6-M
Cortex-M0+32وصلةوصلةوصلةARMv6-M
القشرة المخية M132وصلةوصلةوصلةARMv6-M
القشرة الدماغية-M332وصلةوصلةوصلةARMv7-M
كورتكس-إم 432وصلةوصلةوصلةARMv7E-M
كورتكس-إم732وصلةوصلةوصلةARMv7E-M
كورتكس-إم2332وصلةوصلةوصلةARMv8-M
كورتكس-إم3332وصلةوصلةوصلةARMv8-M
كورتكس-M35P32وصلةغير متوفرغير متوفرARMv8-M
كورتكس-إم 5232وصلةوصلةوصلةARMv8.1-M
كورتكس-إم 5532وصلةوصلةوصلةARMv8.1-M
كورتكس-إم8532وصلةوصلةوصلةARMv8.1-M
بطاقات مرجعية سريعة
  • التعليمات: الإبهام-1 ( 1 )، ARM والإبهام-2 ( 2 )، متجه الفاصلة العائمة ( 3 ) arm.com
  • رموز العمليات: Thumb-1 ( 1 ، 2 )، ARM ( 3 ، 4 )، توجيهات GNU Assembler ( 5 ).
الهجرة
آخر