ARM Cortex-M


تُعدّ معالجات 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 |
| 2009 | Cortex-M0 |
| 2010 | كورتكس-إم 4 |
| 2012 | Cortex-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 | القشرة 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 .
| أرم كور | القشرة 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 ] |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| معمارية ARM | ARMv6-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 لـ IRQ | 12 دورة | 12 دورة | 12 دورة، 14 أسوأ حالة | 15 دورة، 24 آمنة لـ NS IRQ | 12 دورة، 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 ]
| مجموعة | بتات الآلة | تعليمات | القشرة M0، M0+، M1 | القشرة المخية M3 | القشرة المخية M4 | القشرة M7 | القشرة المخية M23 | القشرة M33 | كورتكس M35P | كورتكس إم 52 | كورتكس إم 55 | كورتكس إم 85 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| الإبهام-1 | 16 | ADC، 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 | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| الإبهام-1 | 16 | CBNZ، CBZ | لا | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| الإبهام-1 | 16 | هو - هي | لا | نعم | نعم | نعم | لا | نعم | نعم | نعم | نعم | نعم |
| الإبهام-2 | 32 | BL، DMB، DSB، ISB، MRS، MSR | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| الإبهام-2 | 32 | SDIV، UDIV، MOVT، MOVW، BW، LDREX، LDREXB، LDREXH، STREX، STREXB، STREXH | لا | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| الإبهام-2 | 32 | ADC، 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 | لا | نعم | نعم | نعم | لا | نعم | نعم | نعم | نعم | نعم |
| معالجة الإشارات الرقمية | 32 | PKH، 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 | لا | لا | نعم | نعم | لا | خياري | خياري | نعم | نعم | نعم |
| عائم SP | 32 | VABS، 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 Float | 32 | VCVTA، VCVTM، VCVTN، VCVTP، VMAXNM، VMINNM، VRINTA، VRINTM، VRINTN، VRINTP، VRINTR، VRINTX، VRINTZ، VSEL | لا | لا | لا | خياري | لا | لا | لا | خياري | خياري | خياري |
| الاستحواذ/الإفراج | 32 | LDA، LDAB، LDAH، LDAEX، LDAEXB، LDAEXH، STL، STLB، STLH، STLEX، STLEXB، STLEXH | لا | لا | لا | لا | نعم | نعم | نعم | نعم | نعم | نعم |
| منطقة الثقة | 16 | BLXNS، BXNS | لا | لا | لا | لا | خياري | خياري | خياري | خياري | خياري | نعم |
| 32 | SG, TT, TTT, TTA, TTAT | |||||||||||
| المعالج المساعد | 16 | CDP، CDP2، MCR، MCR2، MCRR، MCRR2، MRC، MRC2، MRRC، MRRC2 | لا | لا | لا | لا | لا | خياري | خياري | خياري | خياري | خياري |
| معهد الكيمياء الأمريكي | 32 | CX1، CX1A، CX2، CX2A، CX3، CX3A، CX1D، CX1DA، CX2D، CX2DA، CX3D، CX3DA، VCX1، VCX1A، VCX2، VCX2A، VCX3، VCX3A | لا | لا | لا | لا | لا | خياري | لا | خياري | خياري | خياري |
| PACBTI | 32 | AUT، 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


تم تحسين نواة 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:
- ABOV AC30M1x64
- معالجات Cypress PSoC 4000، 4100، 4100M، 4200، 4200DS، 4200L، 4200M
- Infineon XMC1100 ، XMC1200، XMC1300، XMC1400، TLE984x
- Dialog DA1458x، DA1468x
- نورديك nRF51
- NXP LPC1100 ، LPC1200
- نوفوتون نوميكرو
- سونيكس SN32F700
- ST STM32 F0
- توشيبا TX00
- Vorago VA10800 (درجات حرارة قصوى)، VA10820 (مقاومة للإشعاع)
تحتوي الرقاقات التالية على معالج Cortex-M0 كنواة ثانوية:
- NXP LPC4300 (معالج Cortex-M4F واحد + معالج Cortex-M0 واحد)
- وحدات التحكم الدقيقة اللاسلكية SimpleLink من شركة Texas Instruments CC1310 و CC2650 (معالج شبكة Cortex-M3 قابل للبرمجة + معالج شبكة Cortex-M0 + محرك تحكم في المستشعر خاص)
Cortex-M0+

يُعدّ معالج 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+:
- شركة ABOV لأشباه الموصلات A31G11x، A31G12x، A31G314
- معالجات Cypress PSoC 4000S، 4100S، 4100S+، 4100PS، 4700S، FM0+
- إبسون S1C31W74، S1C31D01، S1C31D50
- Holtek HT32F52000
- Microchip SAM C2، D0، D1، D2، DA، L2، R2، R3؛ و PIC32CM JH و MC [ 32 ]
- NXP LPC800 ، LPC11E60، LPC11U60
- NXP ( فري سكيل ) كينيتيس E، EA، L، M، V1، W0، S32K11x
- بويا PY32F0xx، PY32L0xx، PY32T0xx
- Raspberry Pi RP2040 (نواة M0+ مزدوجة)
- رينيساس S124، S128، RE، RE01
- شركة سيليكون لابز ( إنرجي مايكرو ) EFM32 Zero، سعيد
- ST STM32 L0 , G0 , C0 , WL (واحد Cortex-M4 + واحد 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


الميزات الرئيسية لنواة 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:
- ABOV AC33Mx128، AC33Mx064
- أكتيل / مايكروسيمي / مايكروشيب سمارت فيوجن، سمارت فيوجن 2 (FPGA)
- أجهزة Analog ADUCM360، ADUCM361، ADUCM3029
- شريحة واي فاي من برودكوم BCM4319XKUBG
- Cypress PSoC 5000، 5000LP، FM3
- هولتك HT32F
- Infineon TLE9860، TLE987x

- ماكسيم إنتجريتد MAX32550
- رقاقة (اتميل) SAM 3A, 3N, 3S, 3U, 3X
- NXP LPC1300 ، LPC1700 ، LPC1800
- ON Q32M210
- Realtek RTL8710
- شركة Silicon Labs Precision32
- مختبرات السيليكون ( إينرجي مايكرو ) EFM32 تايني، جيكو، ليوبارد، جاينت

- ST STM32 F1، F2، L1، W
- TDK-Micronas HVC4223F
- Texas Instruments F28، LM3، TMS470، OMAP 4 ، SimpleLink Wireless MCUs (CC1310 Sub-GHz و CC2650 BLE + Zigbee + 6LoWPAN )
- توشيبا TX03
- مايند موشن مايند موشن MM32
تحتوي الرقاقات التالية على معالج Cortex-M3 كنواة ثانوية:
- معالج Apple A9 ( معالج الحركة المساعد المدمج M9 من نوع Cortex-M3 )
- CSR Quatro 5300 (Cortex-M3 كمعالج مساعد)
- سامسونج إكسينوس 7420 (كورتكس-إم3 كوحدة تحكم دقيقة DVS ) [ 37 ]
- Texas Instruments F28، LM3، TMS470، OMAP 4470 ( معالج Cortex-A9 واحد + معالجين Cortex-M3)
- XMOS XS1-XA (سبعة أنوية xCORE + واحد Cortex-M3)
تتضمن معالجات FPGA التالية نواة Cortex-M3:
- نظام Microsemi SmartFusion2 SoC
يدعم الموردون التاليون معالج Cortex-M3 كمعالجات برمجية على رقائق FPGA الخاصة بهم:
كورتكس-إم 4
من الناحية النظرية، يُعدّ معالج 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:
- أمبيك أبولو، أبولو 2، أبولو 3، أبولو 4
- معالج الإشارات التناظرية ADSP-CM40x
- رقاقة (اتميل) SAM 4L، 4N، 4S
- إن إكس بي ( فري سكيل ) كينيتيس كيه، دبليو 2
- ST ( STM32 ) WL (واحد Cortex-M4 + واحد Cortex-M0+)
- Texas Instruments SimpleLink Wi-Fi CC32xx, CC32xxMOD
تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M4F (M4 + FPU ):
- Analog Devices ADUCM4050
- Cypress 6200 (معالج Cortex-M4F واحد + معالج Cortex-M0+ واحد)، FM4
- إنفينون XMC4000
- ماكسيم داروين
- معالجات Microchip (Atmel) SAM4C (ثنائي النواة: نواة Cortex-M4F واحدة + نواة Cortex-M4 واحدة)، وSAM4E، وSAM4L، وSAM4N، وSAM4S، وSAMG5، وSAMD5/E5x
- نورديك nRF52
- Nuvoton NuMicro M480
- NXP LPC4000 ، LPC4300 (معالج Cortex-M4F واحد + معالج Cortex-M0 واحد)، LPC54000
- NXP ( فري سكيل ) كينيتيس K، V3، V4، S32K14x
- بويا PY32F4xx، PY32E4xx
- رينيساس S3، S5، S7، RA4، RA6
- شركة سيليكون لابز ( إنرجي مايكرو ) EFM32 وندر

- ST STM32 F3, F4, L4, L4+, G4, WB (واحد Cortex-M4F + واحد Cortex-M0+)
- Texas Instruments LM4F، TM4C، MSP432 ، CC13x2R، CC1352P، CC26x2R
- توشيبا TX04
تحتوي الرقاقات التالية إما على معالج Cortex-M4 أو M4F كنواة ثانوية:
- NXP ( فري سكيل ) فايبريد VF6 (معالج واحد Cortex-A5 + معالج واحد Cortex-M4F)
- NXP ( Freescale ) i.MX 6 SoloX (معالج Cortex-A9 واحد + معالج Cortex-M4F واحد)
- NXP ( Freescale ) i.MX 7 Solo/Dual (واحد أو اثنين Cortex-A7 + واحد Cortex-M4F)
- NXP ( Freescale ) i.MX 8 (اثنان Cortex-A72 + أربعة Cortex-A53 + اثنان Cortex-M4F)
- NXP ( Freescale ) i.MX 8M و 8M Mini (أربعة Cortex-A53 + واحد Cortex-M4F)
- NXP ( Freescale ) i.MX 8X (أربعة Cortex-A35 + واحد Cortex-M4F)
- ST STM32MP1 (واحد أو اثنين من Cortex-A7 + واحد من Cortex-M4)
- Texas Instruments OMAP 5 (اثنان من Cortex-A15s + اثنان من Cortex-M4)
- Texas Instruments Sitara AM5700 (وحدة واحدة أو وحدتين من Cortex-A15s + وحدتين من Cortex-M4s كوحدات معالجة الصور + وحدتين من Cortex-M4s كوحدات للأغراض العامة)
كورتكس-إم7


يُعدّ معالج 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 كنواة ثانوية:
- NXP ( Freescale ) i.MX 95 (حتى 6 معالجات Cortex-A55 + معالج Cortex-M7 واحد + معالج Cortex-M33 واحد)
كورتكس-إم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:
- GigaDevice GD32E2xx
- Microchip SAM L10 و L11 و PIC 32CM-LE 32CM-LS
- عائلة Nuvoton M23xx، عائلة M2xx، NUC1262، M2L31
- رينيساس S1JA، RA0xx، RA2xx
كورتكس-إم33

تم الإعلان عن نواة 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:
- Analog Devices ADUCM4
- Dialog DA1469x
- GigaDevice GD32E5، GD32W5
- Nordic nRF91، nRF5340، nRF54، nRF54H20 [ 42 ]
- NXP LPC5500، i.MX RT600، MCX N94x/54x (ثنائي النواة)
- على RSL15
- رينيساس RA4، RA6
- ST STM32 C5، H5، L5، U3، U5، WBA
- سلسلة جيكو اللاسلكية من شركة سيليكون لابز 2
- تكساس إنسترومنتس CC3501E ، CC3551E
- راسبيري باي RP2350
تحتوي الرقاقات التالية على معالج Cortex-M33 أو M33F كنواة ثانوية:
- إنفينون بي إس أو سي إيدج
- ST STM32MP2 (واحد أو اثنين من Cortex-A35 + واحد من Cortex-M33)
كورتكس-M35P
أُعلن عن نواة Cortex-M35P في مايو 2018، وهي مبنية على معمارية Armv8-M . وهي من حيث المفهوم نواة Cortex-M33 مزودة بذاكرة تخزين مؤقتة جديدة للتعليمات، بالإضافة إلى مفاهيم جديدة للأجهزة المقاومة للتلاعب مستوحاة من عائلة ARM SecurCore، وميزات قابلة للتكوين للتكافؤ وتصحيح الأخطاء. [ 10 ]
المعلومات المتوفرة حاليًا حول جهاز Cortex-M35P محدودة، لأن دليل المرجع التقني ودليل المستخدم العام لم يتم إصدارهما بعد.
رقائق البطاطس
تعتمد وحدات التحكم الدقيقة التالية على نواة Cortex-M35P:
- STMicroelectronics ST33K
كورتكس-إم 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 المخصصة
رقائق البطاطس
- توفر عائلات وحدات التحكم الدقيقة Alif Semiconductor Ensemble و Balletto نوى Cortex-M55 أحادية أو ثنائية، كل منها مقترن بوحدات معالجة عصبية Ethos-U55.
- أمبيك أبولو 330 بلس، أبولو 510
- إنفينون بي إس أو سي إيدج
- ST STM32 N6
كورتكس-إم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 ).
شجرة توثيق نموذجية من أعلى إلى أسفل هي:
- شجرة التوثيق (من الأعلى إلى الأسفل)
- موقع الشركة المصنعة للدوائر المتكاملة.
- شرائح تسويقية لمصنّع الدوائر المتكاملة.
- بيانات الشركة المصنعة للدوائر المتكاملة (IC) الخاصة بالشريحة المادية المحددة.
- دليل مرجعي لمصنعي الدوائر المتكاملة يصف الأجهزة الطرفية الشائعة وجوانب عائلة الرقائق المادية.
- موقع ARM الأساسي.
- دليل المستخدم العام لنواة ARM.
- دليل مرجعي تقني لنواة ARM.
- دليل مرجعي لبنية ARM.
لدى مصنعي الدوائر المتكاملة وثائق إضافية، مثل: أدلة استخدام لوحات التقييم، وملاحظات التطبيقات، وأدلة البدء، ووثائق مكتبة البرامج، وقوائم الأخطاء، وغيرها. راجع قسم الروابط الخارجية للاطلاع على روابط وثائق Arm الرسمية.
انظر أيضاً
مراجع
- ↑ موقع ARM Cortex-M الإلكتروني؛ شركة ARM المحدودة.
- 1 2 "Cortex-M0 Home" . ARM Limited .
- ↑ "Cortex-M0+ Home" . ARM Limited .
- 1 2 "Cortex-M1 Home" . ARM Limited .
- ↑ "Cortex-M3 Home" . شركة ARM المحدودة .
- ↑ "Cortex-M4 Home" . شركة ARM المحدودة .
- 1 2 3 "Cortex-M7 Home" . شركة ARM المحدودة .
- 1 2 "Cortex-M23 Home" . ARM Limited .
- 1 2 "Cortex-M33 Home" . ARM Limited .
- 1 2 3 "Cortex-M35P Home" . ARM Limited .
- 1 2 3 "Cortex-M52 Home" . ARM Limited .
- 1 2 3 "Cortex-M55 Home" . ARM Limited .
- 1 2 "Cortex-M85 Home" . ARM Limited .
- ↑ "حول اختراق بطاقات الذاكرة الصغيرة" .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 "دليل مرجعي لبنية ARMv6-M" . شركة ARM المحدودة .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 "دليل مرجعي لبنية ARMv7-M" . شركة ARM المحدودة .
- 1 2 3 4 تطوير البرمجيات المدمجة Cortex-M3؛ ملاحظة التطبيق 179؛ شركة ARM المحدودة.
- 1 2 3 "دليل المرجع التقني لـ Cortex-M0" . شركة ARM المحدودة .
- 1 2 3 4 "دليل المرجع التقني لـ Cortex-M0+" . شركة ARM المحدودة .
- 1 2 3 "دليل المرجع الفني لـ Cortex-M1" . شركة ARM المحدودة .
- 1 2 3 "دليل المرجع التقني لمعالج Cortex-M3" . شركة ARM المحدودة .
- 1 2 3 "دليل المرجع الفني لمعالج Cortex-M4" . شركة ARM المحدودة .
- 1234"Cortex-M7 Technical Reference Manual". ARM Limited.
- 123"Cortex-M23 Technical Reference Manual". ARM Limited.
- 123"Cortex-M33 Technical Reference Manual". ARM Limited.
- 12"Cortex-M52 Technical Reference Manual". ARM Limited.
- 12"Cortex-M55 Technical Reference Manual". ARM Limited.
- 12"Cortex-M85 Technical Reference Manual". ARM Limited.
- 123"Cortex-M System Design Kit (CMSDK)". Arm Holdings. Archived from the original on March 4, 2016.
- 12345678910ARM Cortex-M Programming Guide to Memory Barrier Instructions; Section 3.6 System implementation requirements; AppNote 321; ARM Limited.
- 123456789101112"ARMv8-M Architecture Reference Manual". ARM Limited.
- ↑32-bit PIC and SAM Microcontrollers; Microchip.
- ↑Fingas, Jon (25 February 2014). "Freescale makes the world's smallest ARM controller chip even tinier". Retrieved 2 October 2014.
- ↑GOWIN Semiconductor joins ARM DesignStart offering free ARM Cortex-M1 Processors for its FPGA product families
- ↑Cortex-M1 DesignStart FPGA XilinxEdition; ARM Limited.
- ↑Sadasivan, Shyam. "An Introduction to the ARM Cortex-M3 Processor"(PDF). ARM Limited. Archived from the original(PDF) on July 26, 2014.
- ↑"Samsung Exynos 7420 Deep Dive - Inside a Modern 14nm SoC". AnandTech. Archived from the original on June 30, 2015. Retrieved 2015-06-15.
- ↑Cortex-M3 DesignStart FPGA XilinxEdition
- ↑"ARM Supercharges MCU Market with High Performance Cortex-M7 Processor". ARM Limited (Press release). September 24, 2014.
- 1234New ARM Cortex-M processors offer the next industry standard for secure IoT; ARM Limited; October 25, 2016.
- 1 2 بنية ARMv8-M تبسط الأمن للأجهزة المدمجة الذكية؛ ARM المحدودة؛ 10 نوفمبر 2015.
- ↑ "nRF54H20 - Nordic Semiconductor" . www.nordicsemi.com . تاريخ الاسترجاع: 30 أكتوبر 2024 .
- ↑ "تم الكشف عن أول وحدة تحكم دقيقة ثنائية النواة في العالم تعمل في الوقت الحقيقي وتتميز بمعالج Cortex-M52 في معرض إلكترونيكا الصين 2024" .
- ↑ 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 Cortex-M
- كورتكس-إم للمبتدئين arm.com
- ملحقات الأمان ARMv8-M arm.com
- معيار واجهة برمجيات المتحكم الدقيق Cortex (CMSIS) arm.com
معالج ARM عرض البت موقع ARM الإلكتروني دليل المستخدم العام لـ ARM دليل مرجعي تقني لشركة ARM دليل مرجعي لبنية ARM Cortex-M0 32 وصلة وصلة وصلة ARMv6-M Cortex-M0+ 32 وصلة وصلة وصلة ARMv6-M القشرة المخية M1 32 وصلة وصلة وصلة ARMv6-M القشرة الدماغية-M3 32 وصلة وصلة وصلة ARMv7-M كورتكس-إم 4 32 وصلة وصلة وصلة ARMv7E-M كورتكس-إم7 32 وصلة وصلة وصلة ARMv7E-M كورتكس-إم23 32 وصلة وصلة وصلة ARMv8-M كورتكس-إم33 32 وصلة وصلة وصلة ARMv8-M كورتكس-M35P 32 وصلة غير متوفر غير متوفر ARMv8-M كورتكس-إم 52 32 وصلة وصلة وصلة ARMv8.1-M كورتكس-إم 55 32 وصلة وصلة وصلة ARMv8.1-M كورتكس-إم85 32 وصلة وصلة وصلة ARMv8.1-M
- بطاقات مرجعية سريعة
- التعليمات: الإبهام-1 ( 1 )، ARM والإبهام-2 ( 2 )، متجه الفاصلة العائمة ( 3 ) arm.com
- رموز العمليات: Thumb-1 ( 1 ، 2 )، ARM ( 3 ، 4 )، توجيهات GNU Assembler ( 5 ).
- الهجرة
- الانتقال من معالج 8051 إلى معالج Cortex-M3 – arm.com
- الانتقال من معالج PIC إلى معالج Cortex-M3 – arm.com
- الانتقال من معالج ARM7TDMI إلى معالج Cortex-M3 – arm.com
- الانتقال من معالج Cortex-M4 إلى معالج Cortex-M7 – keil.com
- آخر
- معالجات ARM
- معالجات دقيقة 32 بت
