ما هو معالج Microblaze: الهندسة المعمارية والعمل وتطبيقاته

جرب أداة القضاء على المشاكل





تم تطوير معالج MicroBlaze في عام 2002 لدمج العديد من الميزات المعقدة لتلبية الطلب الجديد والمتزايد في السوق. لذلك ، يعد معالج MicroBlaze عنصرًا أساسيًا في مجموعة Low-End Portfolio لـ Xilinx لتمكين تطوير أسرع للنظام الذي يحتوي على Artix®-7 FPGAs ، Spartan®-6 ، Zynq®-7000 AP SoCs. هذا المعالج قابل للتكوين للغاية ، لذلك يمكن استخدامه كمعالج مضمن أو متحكم دقيق داخل FPGAs ويستخدم أيضًا كمعالج مشترك في Zynq-7000 AP SoCs استنادًا إلى ARM Cortex-A9. تقدم هذه المقالة معلومات موجزة عن معالج MicroBlaze - الهندسة المعمارية والعمل مع التطبيقات.


ما هو معالج Microblaze؟

يُعرف المعالج الدقيق الناعم المصمم بشكل أساسي لـ FPGAs من Xilinx باسم معالج MicroBlaze. يتم تنفيذ هذا المعالج ببساطة في ذاكرة الأغراض العامة والنسيج المنطقي لـ FPGAs من Xilinx. يشبه هذا المعالج بنية DLX القائمة على RISC ولديه نظام ربط مرن بحيث يدعم التطبيقات المضمنة المختلفة. إن ناقل الإدخال / الإخراج الرئيسي ووصلة AXI البينية الخاصة بـ MicroBlaze عبارة عن ناقل معاملات تم تعيينه على الذاكرة مع مرفق رئيسي تابع.



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

ميزات Microblaze

ال ميزات Microblaz ه تشمل ما يلي. لديها 32 تسجيل للأغراض العامة.



  • يحتوي على كلمات تعليمات 32 بت بما في ذلك وضعان عنونة و 3 معاملات.
  • ناقل العنوان 32 بت.
  • لديها خط أنابيب 3 مراحل أو خط أنابيب من 5 مراحل.
  • وحدة كتلة ALU مع ناقل حركة.
  • تتضمن بنية هارفارد بيانات 32 بت وناقل عنوان.
  • واجهة البيانات و LMB أو تعليمات ناقل الذاكرة المحلية.
  • واجهات دفق AX14 و AX14.
  • وحدة النقطة العائمة ووحدة إدارة الذاكرة.
  • وهو يدعم لوكستيب.
  • واجهة التصحيح والتتبع.

العمارة Microbaze

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

ان نظام مضمن تم تجميعه حول معالج MicroBlaze يشتمل بشكل أساسي على MicroBlaze Soft Processor Core وذاكرة محلية على الرقاقة و Standard Bus Interconnects و OPB Peripheral Bus (On-chip Peripheral Bus). يتراوح نظام معالج MicroBlaze بشكل أساسي من نواة المعالج بواسطة ذاكرة محلية إلى نظام كبير يتضمن العديد من MicroBlaze معالجات والذاكرة الخارجية والعديد من ملحقات OPB.

  بنية المعالج Microblaze
بنية المعالج Microblaze

نواة المعالج اللينة

يعتبر قلب المعالج الناعم لـ MicroBlaze مركزيًا في نظام MicroBlaze المضمن. هذا هو معالج RISC 32 بت سريع وفعال للغاية وله الميزات التالية.

  • مجموعة التعليمات متعامدة.
  • حافلات بيانات وتعليمات منفصلة.
  • 32 بت مسجلات للأغراض العامة.
  • يحتوي على ناقل حركة اختياري كامل سعة 32 بت.
  • واجهات مدمجة لسرعة OCM أو الذاكرة على الرقاقة و OPB المعياري الصناعي لشركة آي بي إم (ناقل محيطي على الرقاقة).

تدعم التطبيقات في Virtex-II والأجهزة التي تليها مضاعفة الأجهزة.

الذاكرة المحلية على الشريحة

الذاكرة المتزامنة هي ذاكرة محلية تُستخدم بشكل أساسي للسماح بذاكرة وصول عشوائي (Block RAM) على الشريحة.

وصلات الحافلات القياسية

تتضمن واجهات الناقل في جانب التعليمات والبيانات واجهة للذاكرة المحلية تسمى LMB (ناقل الذاكرة المحلي) وواجهة إلى الناقل المحيطي على الشريحة لشركة IBM. لذلك يمكننا تصميم أنظمة تلتزم بصرامة بهندسة هارفارد ، وإلا ، لمشاركة الموارد ، يمكننا استخدام OPB واحد ضمن مجموعة من خلال حكم ناقل.

يوفر ناقل الذاكرة المحلي دخولًا مضمونًا لدورة واحدة لذاكرة الوصول العشوائي للكتلة على الشريحة. هذا بروتوكول ناقل فعال للغاية وبسيط وذو ماجستير واحد وهو مثالي لربط الذاكرة المحلية السريعة. OPB أو On-chip Peripheral Bus هو عبارة عن ناقل عريض متعدد الشرائح 32 بت وهو مثالي لتوحيد الأجهزة الطرفية والذاكرة الخارجية في قلب معالج MicroBlaze.

على رقاقة ملحقات الحافلات الطرفية

يكتمل نظام أجهزة MicroBlaze بواسطة الأجهزة الطرفية OPB لتوفير وظائف مختلفة مثل Watchdog Timer أو Timebase ، أو مؤقت أو عدادات للأغراض العامة ، IC (وحدة تحكم المقاطعة) ، وحدات تحكم مختلفة مثل SRAM ، Flash Memory ، ZBT Memory ، BRAM ، DDR ، SDRAM ، UART Lite و SPI و I2C و I / O للأغراض العامة و UART 16450/550 و Ethernet 10/100 MAC. بالإضافة إلى ذلك ، يمكننا أيضًا إضافة وتعريف الأجهزة الطرفية بشكل أساسي للوظائف المخصصة ، وإلا ، فهي واجهة لتصميم موجود في FPGA.

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

مجموعات تعليمات Microblaze هي الحساب والمنطق والفرع والحمل / التخزين وغيرها. حجم جميع التعليمات ثابت. يمكن إعطاء 3 سجلات على الأكثر كمعامِلات. يشتمل Microblaze على نسقي تعليمات هما النوع A والنوع B الموضحان أدناه.

يتم استخدام تنسيق التعليمات من النوع أ بشكل أساسي لإرشادات التسجيل والتسجيل. لذلك فهو يشمل كود التشغيل والوجهة الفردية واثنين من سجلات المصدر. يتم استخدام تنسيق التعليمات من النوع B بشكل أساسي للتعليمات الفورية للتسجيل والتي تتضمن كود التشغيل ، والوجهة الفردية ، وسجلات المصدر الفردي. ومصدر القيمة الفورية 16 بت.

  تنسيقات التعليمات
تنسيقات التعليمات

في تنسيقي التعليمات المذكورين أعلاه ، يكون كود التشغيل هو كود التشغيل ، و Rd هو سجل الوجهة الذي تم ترميزه بـ 5 بتات ، و Ra & Rb عبارة عن سجلات مصدر حيث يتم ترميز كل منها بـ 5 بتات وتكون قيمة فورية 16 بت.

تعليمات حسابية

فيما يلي التعليمات الحسابية من النوع A والنوع B.

نوع أ

شارع ADD، Ra، Rb

يضيف

Rd = Ra + Rb ، تأثرت راية الحمل

ADD K Rd، Ra، Rb

أضف واستمر في الحمل

Rd = Ra + Rb ، علم الحمل لم يتأثر

طريق RSUB ، رع ، Rb

طرح عكسي

Rd = R-Rb ، لم تتأثر علامة الحمل

اكتب ب

ADD I Rd، Ra، Imm

إضافة فورية

Rd = Ra + signExtend32 (Imm)

إضافة طريق IK ، رع ، إيم

إضافة فورية واستمر في الحمل

Rd = Ra + signExtend32 (Imm)
طريق RSUBIK ، رع ، Imm

عكس طرح فوري

Rd = Ra + signExtend32 (Imm) -Ra

طريق اس ار ايه ، رع

التحول الحسابي الصحيح

Rd = (رع >> 1)

تعليمات المنطق

فيما يلي إرشادات المنطق من النوع A والنوع B.

نوع أ

طريق أو آر ، رع ، ر

منطقي أو

Rd = رع | ر

وطريق ، رع ، رب

إضافة منطقية

Rd = Ra & Rb
طريق XOR ، رع ، Rb

xor الشعار

Rd = Rb ^ Rb

طريق ANDN، Ra، Rb

منطقي وغير منطقي

Rd = Ra & (Rb)

اكتب ب

طريق ORI ، رع ، إم

منطقي أو فوري

Rd = رع | SignExtend32 (إم)
طريق ANDI ، رع ، إيم

منطقي وفوري

Rd = Ra & signExtend32 (Imm)
طريق XORI ، رع ، إم

XOR logoical فورًا

Rd = Ra ^ signExtend32 (Imm)

طريق أندني ، رع ، إم

منطقي وليس بشكل فوري

Rd = Ra & (signExtend32 (Imm))

تعليمات الفرع - غير مشروطة

تعديل سجل عداد البرامج

بريد ام

فرع فوري مع تأخير فوري

الكمبيوتر = PC + SignExtend32 (Imm)

السماح بتنفيذ فتحة التأخير

طريق BRLID ، Imm

الفرع والربط الفوري مع تأخير فوري (استدعاء الوظيفة)

RD = الكمبيوتر الشخصي

الكمبيوتر = PC + & SignExtend32 (Imm)

السماح بتنفيذ فتحة التأخير

RTSD Ra، Imm

العودة من الروتين الفرعي

الكمبيوتر = Ra + SignExtend32 (Imm)

السماح بتنفيذ فتحة التأخير

RTID Ra ، Imm

العودة من المقاطعة

الكمبيوتر = Ra + SignExtend32 (Imm)

السماح بتنفيذ فتحة التأخير

تعيين تمكين المقاطعة في MSR

تعليمات الفرع - غير مشروطة 1

قم بتغيير سجل عداد البرامج عند استيفاء أحد الشروط

BEQI Ra، Imm

فرع إذا كان متساويا

الكمبيوتر = PC + SignExtend32 (Imm)

إذا رع = = 0

ماش رع ، إيم

فرع إن لم يكن متساويا

RD = الكمبيوتر الشخصي

الكمبيوتر = PC + & SignExtend32 (Imm)

إذا رع! = 0

تعليمات الفرع - غير مشروطة 2

قم بتغيير سجل عداد البرامج عند استيفاء أحد الشروط

BLTI Ra، Imm

فرع إذا كان أقل من

الكمبيوتر = PC + SignExtend32 (Imm)

إذا رع <0

بلي رع ، إيم

إذا كان الفرع أقل من

RD = الكمبيوتر الشخصي

الكمبيوتر = PC + & SignExtend32 (Imm)

إذا رع!

BGTI Ra ، Imm

فرع إذا كان أكبر من

الكمبيوتر = PC + SignExtend32 (Imm)

إذا رع!> 0

BGEI Ra، Imm

إذا كان الفرع أكبر من

الكمبيوتر = PC + SignExtend32 (Imm)

إذا رع!> = 0

تعليمات التحميل / المتجر - النوع أ

طريق LW ، رع ، Rb

كلمة تحميل

العنوان = Ra + Rb

Rd = * العنوان

طريق SW ، رع ، Rb

كلمة مخزن

العنوان - Ra + Rb

* العنوان = Rd

اكتب ب

طريق LWI ، رع ، إمن

تحميل كلمة فوري

العنوان = Ra + signExtend32 (Imm)

Rd = * العنوان

طريق SW ، رع ، إيم

تخزين كلمة فوري

العنوان = Ra + signExtend32 (Imm)

* العنوان = Rd

تعليمات أخرى

IMM ، Imm

فوري

قم بتمديد قيمة Imm من تعليمات النوع B السابقة إلى 32 بت.
طريق ام اف اس ، سا

الانتقال من سجل الأغراض الخاصة

Rd = Sa

Sa- سجل الأغراض الخاصة ، عامل المصدر

MTS Sd، Ra

الانتقال إلى سجل الأغراض الخاصة

SD = رع

SD - سجل الأغراض الخاصة ومعامل الوجهة

السجلات

إن بنية معالج MicroBlaze متعامد تمامًا والذي يتضمن سجلات للأغراض العامة 32 بت وسجلات للأغراض الخاصة 32 بت مثل Program Counter & Machine Status Register.

هندسة خطوط الأنابيب

تستخدم MicroBlaze بنية خطوط أنابيب من 3 مراحل بما في ذلك الجلب وفك الشفرة والمراحل الكاملة. تلقائيًا ، يتم تحديد إعادة توجيه البيانات والفروع وكشك خط الأنابيب داخل الأجهزة.

تحميل أو تخزين العمارة

يدعم MicroBlaze الذاكرة بثلاثة أحجام بيانات 8 بت (بايت) و 16 بت (Halfword) و 32 بت (Word). لذلك ، يتم محاذاة الوصول إلى الذاكرة دائمًا مع حجم البيانات. هذا معالج Big-Endian يستخدم عنوان Big-Endian بالإضافة إلى اصطلاحات العلامات بمجرد الوصول إلى الذاكرة.

المقاطعات

بمجرد حدوث المقاطعة ، سينهي هذا المعالج التنفيذ الحالي لإدارة طلب المقاطعة من خلال التفرع لمقاطعة عنوان المتجه وتخزين عنوان التعليمات الذي يجب تنفيذه. سيوقف هذا المعالج المقاطعات المستقبلية عن طريق مسح علامة IE (تمكين المقاطعة) داخل MSR (سجل حالة الجهاز).

كيف يعمل Microblaze؟

يدعم معالج MicroBlaze عرض ناقل 32 بت وهذا المعالج هو محرك قائم على RISC يتضمن ملف تسجيل يعتمد على 32 بت LUT RAM من خلال تعليمات منفصلة للذاكرة والوصول إلى البيانات.
يدعم هذا المعالج ببساطة كلاً من BlockRAM على الرقاقة والذاكرة الخارجية. على غرار IBM PowerPC ؛ تستخدم جميع الأجهزة الطرفية ناقل CoreConnect OPB المماثل لذلك ؛ تتوافق الأجهزة الطرفية للمعالج جيدًا مع PowerPC في Virtex-II Pro.

يوفر معالج MicroBlaze مرونة كاملة لاختيار مزيج من ميزات الذاكرة والأجهزة الطرفية والواجهة التي ستوفر لك النظام الدقيق الذي تحتاجه على FPGA واحد بتكلفة أقل.

الفرق بين B / W Microblaze مقابل Risc-V

ال الفرق بين MicroBlaze و RISC v تشمل ما يلي.

ميكروبلازي

Risc-V

إنه معالج دقيق ناعم مصمم بشكل أساسي لـ Xilinx FPGA.

RISC-V هي بنية مجموعة تعليمات متجذرة في مبادئ RISC.

يستخدم هندسة Harvard RISC. يستخدم بنية مجموعة التعليمات.
ترخيصه ملكية (Xilinx) ترخيصه مفتوح المصدر.
عمق خط الأنابيب هو 3 أو 5. عمق خط الأنابيب 5.
أداؤها هو 280 DMIPs. أدائها هو 250 DMIPs.
سرعته 235 ميجا هرتز. سرعته 250 ميغا هرتز.
لديها 1027 طرفية طرفية. لديها 4125 طرفية طرفية.
تطبيق التكنولوجيا المستخدمة هو Xilinx FPGA. تطبيق التكنولوجيا المستخدمة هو FPGA / ASIC.

مزايا Microblaze

ال مزايا MicroBlaze تشمل ما يلي.

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

تطبيقات Microblaze

ال تطبيقات MicroBlaze تشمل ما يلي.

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

وبالتالي ، هذا كل شيء عن نظرة عامة على Microblaze المعالج. هذا هو معالج RISC اللين ذو المواصفات الكاملة والقابل للبرمجة 32 بت. يلبي هذا المعالج المتطلبات المختلفة في مجالات مختلفة مثل أسواق البنية التحتية الاستهلاكية والطبية والصناعية والسيارات والاتصالات. إنه قابل للتكوين للغاية ، لذلك يستخدم كمعالج مضمن أو متحكم دقيق داخل FPGAs بخلاف ذلك مثل المعالج المشترك لـ ARM. إليك سؤال لك ، ما هو FPGA؟