الزعانف السوداء

الزعانف السوداء
مصممالأجهزة التناظرية
أجزاء32 بت
قدَّم2000 ؛ منذ 24 سنة ( 2000 )
تصميمريسك
يكتبتحميل-تخزين
الترميزمتغير (إصدار عام 16 أو 32 بت، أو إصدار موازٍ 64 بت لـ 1 × تعليمات 32 بت + 2 × تعليمات 16 بت)
التفرعكود الحالة
الانديانيةقليل
السجلات
أغراض عامة8 × 32 بت سجلات بيانات (قابلة للعنونة كسجلات نصفية 16 × 16 بت)، 2 × 40 بت مجمعات، 6 × 32 بت سجلات عناوين، مؤشر المكدس، مؤشر الإطار
الزعانف السوداء
شعار ADI Blackfin
معلومات عامة
تم إطلاقه2008
تم إيقافهحاضر
تم تسويقه بواسطةالأجهزة التناظرية
صمم بواسطةالأجهزة التناظرية
الشركة المصنعة المشتركة

Blackfin هي عائلة من المعالجات الدقيقة 16/32 بت التي طورتها وصنعتها وسوقتها شركة Analog Devices . تحتوي المعالجات على وظيفة معالج إشارة رقمية ثابتة مدمجة يتم تنفيذها بواسطة 16 بت مضاعفة-تراكمية (MACs)، مصحوبة على الشريحة بميكروكنترولر . [ 1] تم تصميمها لهندسة معالج موحدة منخفضة الطاقة يمكنها تشغيل أنظمة التشغيل مع التعامل في نفس الوقت مع المهام الرقمية المعقدة مثل ترميز الفيديو H.264 في الوقت الفعلي . [2] [3]

تفاصيل الهندسة المعمارية

تستخدم معالجات Blackfin نموذج برمجة متحكم RISC 32 بت على بنية SIMD ، والتي تم تطويرها بشكل مشترك بواسطة Intel و Analog Devices ، باسم MSA (هندسة الإشارة الدقيقة).

تم الإعلان عن هذه الهندسة المعمارية في ديسمبر 2000، وتم عرضها لأول مرة في مؤتمر الأنظمة المضمنة في يونيو 2001.

إنه يدمج جوانب من بنية SHARC القديمة من ADI وبنية XScale من Intel في نواة واحدة، تجمع بين معالجة الإشارات الرقمية (DSP) ووظائف المتحكم الدقيق. هناك العديد من الاختلافات في بنية النواة بين Blackfin/MSA وXScale/ARM أو SHARC، ولكن تم تصميم هذا المزيج لتحسين الأداء وقابلية البرمجة واستهلاك الطاقة مقارنة بتصميمات بنية DSP أو RISC التقليدية.

تتضمن بنية Blackfin نماذج مختلفة من وحدات المعالجة المركزية، كل منها يستهدف تطبيقات معينة. [4] تتألف سلسلة BF-7xx، التي تم تقديمها في عام 2014، من بنية Blackfin+، والتي توسع بنية Blackfin ببعض ميزات المعالج والتعليمات الجديدة.

مميزات العمارة

الميزات الأساسية

تم تركيب Blackfin BF526 في منظار الذبذبات Agilent

إن ما يعتبر "جوهر" Blackfin يعتمد على السياق. ففي بعض التطبيقات، تكون ميزات DSP أساسية. يحتوي Blackfin على وحدتي MAC للأجهزة 16 بت، ووحدتي ALU ومراكم 40 بت ، ومحول أسطواني 40 بت ، وأربع وحدات ALU للفيديو 8 بت؛ وتضيف معالجات Blackfin+ وحدة MAC 32 بت ومراكم 72 بت. وهذا يسمح للمعالج بتنفيذ ما يصل إلى ثلاث تعليمات لكل دورة ساعة، اعتمادًا على مستوى التحسين الذي يقوم به المترجم أو المبرمج . تم تصميم حلقتين متداخلتين بدون تكلفة إضافية وأربع مولدات عناوين بيانات دائرية للمساعدة في كتابة كود فعال يتطلب تعليمات أقل . تستخدم تطبيقات أخرى ميزات RISC ، والتي تتضمن حماية الذاكرة، وأوضاع التشغيل المختلفة (المستخدم، النواة)، وأكواد التشغيل ذات الدورة الواحدة ، وذاكرة التخزين المؤقت للبيانات والتعليمات، وتعليمات لاختبار البت أو البايت أو الكلمة أو الوصول إلى الأعداد الصحيحة ومجموعة متنوعة من الأجهزة الطرفية الموجودة على الشريحة.

تم تصميم ISA لتحقيق مستوى عالٍ من التعبير ، مما يسمح لمبرمج التجميع (أو المترجم ) بتحسين خوارزمية لميزات الأجهزة الموجودة. تتم كتابة لغة التجميع القياسية Blackfin باستخدام بناء جملة جبري: بدلاً من أوامر البادئة المستخدمة في العديد من لغات التجميع الأخرى .

لغات التجميع الأخرىلغة التجميع Blackfin
ld R0, 8[P0]R0 = [P0 + 8]
add R0, R1, R2R0 = R1 + R2
push R7[SP--] = R7

الذاكرة و DMA

يستخدم Blackfin خريطة ذاكرة مسطحة قابلة للعنونة بالبايتات . توجد الذاكرة الداخلية L1 والذاكرة الداخلية L2 والذاكرة الخارجية وجميع سجلات التحكم المخصصة للذاكرة في مساحة العنوان المكونة من 32 بت، وبالتالي من وجهة نظر البرمجة، يتمتع Blackfin بهندسة فون نيومان .

تعتمد ذاكرة SRAM الداخلية L1 ، التي تعمل بسرعة ساعة الجهاز الأساسية، على بنية هارفارد . ذاكرة التعليمات وذاكرة البيانات مستقلة وتتصل بالنواة عبر حافلات ذاكرة مخصصة، مصممة لمعدلات بيانات مستدامة أعلى بين النواة وذاكرة L1.

يمكن تكوين أجزاء من التعليمات والبيانات L1 SRAM بشكل اختياري كذاكرة تخزين مؤقتة بشكل مستقل.

تحتوي بعض معالجات Blackfin أيضًا على ذاكرة L2 بحجم يتراوح بين 64 كيلوبايت و256 كيلوبايت. تعمل هذه الذاكرة بسرعة أبطأ من سرعة الساعة الأساسية. يمكن خلط التعليمات البرمجية والبيانات في L2.

تدعم معالجات Blackfin مجموعة متنوعة من الذواكر الخارجية بما في ذلك SDRAM و DDR-SDRAM و NOR flash و NAND flash و SRAM . كما تتضمن بعض معالجات Blackfin واجهات تخزين ضخمة مثل ATAPI و SD/SDIO . ويمكنها دعم مئات الميجابايتات من الذاكرة في مساحة الذاكرة الخارجية.

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

مميزات المتحكم الدقيق

تحتوي بنية Blackfin على وحدة المعالجة المركزية والذاكرة ووحدات الإدخال والإخراج المعتادة الموجودة في المعالجات الدقيقة أو وحدات التحكم الدقيقة . تعمل هذه الميزات على تمكين أنظمة التشغيل.

تحتوي جميع معالجات Blackfin على وحدة حماية الذاكرة (MPU). توفر وحدة حماية الذاكرة (MPU) استراتيجيات الحماية والتخزين المؤقت عبر مساحة الذاكرة بالكامل. تسمح وحدة حماية الذاكرة (MPU) لـ Blackfin بدعم أنظمة التشغيل وأنظمة التشغيل في الوقت الفعلي (RTOS) والنوى مثل ThreadX أو μC/OS-II أو NOMMU Linux . على الرغم من الإشارة إلى وحدة حماية الذاكرة (MMU) في وثائق Blackfin، إلا أن وحدة حماية الذاكرة (MPU) الخاصة بـ Blackfin لا توفر ترجمة العناوين مثل وحدة إدارة الذاكرة (MMU) التقليدية، لذلك فهي لا تدعم الذاكرة الافتراضية أو عناوين الذاكرة المنفصلة لكل عملية. هذا هو السبب في أن Blackfin لا يمكنها حاليًا دعم أنظمة التشغيل التي تتطلب ذاكرة افتراضية مثل WinCE أو QNX .

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

يستخدم Blackfin مجموعة تعليمات متغيرة الطول تشبه RISC تتكون من تعليمات بطول 16 و32 و64 بت. يتم ترميز تعليمات التحكم المستخدمة بشكل شائع على هيئة أكواد تشغيل بطول 16 بت، بينما يتم ترميز وظائف DSP المعقدة والوظائف المكثفة رياضيًا على هيئة أكواد تشغيل بطول 32 و64 بت. تم تصميم ترميز التعليمات التشغيلية بطول متغير هذا ليكون مكافئًا لكثافة التعليمات البرمجية لهندسة المعالجات الدقيقة الحديثة.

ميزات معالجة الوسائط

تحتوي مجموعة تعليمات Blackfin على ملحقات معالجة الوسائط للمساعدة في تسريع عمليات معالجة البكسل المستخدمة عادةً في ضغط الفيديو وخوارزميات ضغط وفك ضغط الصور.

الأجهزة الطرفية

تحتوي معالجات Blackfin على مجموعة من الأجهزة الطرفية للاتصال، اعتمادًا على المعالج المحدد:

  • أتابي
  • CAN : ناقل تسلسلي واسع النطاق ومنخفض السرعة يستخدم في بعض الإلكترونيات الصناعية والسيارات
  • DMA مع دعم DMA من ذاكرة إلى ذاكرة وDMA الطرفية
  • EMAC ( وحدة تحكم الوصول إلى الوسائط عبر Ethernet ) مع MII و RMII
  • الذاكرة الخارجية: يمكن أن تتضمن وحدة واجهة الناقل الخارجية (EBIU) وحدة تحكم لـ SDRAM أو Mobile SDRAM أو DDR1 أو DDR2 أو LPDDR، ووحدة تحكم ذاكرة غير متزامنة لـ SRAM وROM وflash EPROM وأجهزة الإدخال/الإخراج المخصصة للذاكرة
  • GPIO بما في ذلك المقاطعات التي يتم تشغيلها على المستوى والمقاطعات التي يتم تشغيلها على الحافة
  • I²C ، والمعروف أيضًا باسم TWI (واجهة ذات سلكين): ناقل تسلسلي مشترك منخفض السرعة
  • MXVR: وحدة تحكم واجهة الشبكة
  • فلاش NAND
  • PPI : منفذ إدخال/إخراج متوازي يمكن استخدامه للاتصال بشاشات LCD ومشفرات الفيديو (محولات الفيديو الرقمية التناظرية) وفك تشفير الفيديو (محولات الفيديو التناظرية الرقمية) وأجهزة استشعار CMOS وأجهزة CCD والأجهزة العامة المتوازية عالية السرعة. يمكن أن يعمل منفذ PPI بتردد يصل إلى 75 ميجا هرتز ويمكن تهيئته بعرض يتراوح من 8 إلى 16 بت.
  • PWM والمؤقتات/العدادات
  • الساعة في الوقت الحقيقي
  • SD/SDIO
  • SPI : ناقل تسلسلي سريع يستخدم في بعض تطبيقات الإلكترونيات المضمنة عالية السرعة
  • SPORT: منفذ تسلسلي متزامن عالي السرعة يمكنه دعم TDM و I²S وعدد من أوضاع التأطير القابلة للتكوين الأخرى للاتصال بـ ADCs و DACs والمعالجات الأخرى و FPGAs وما إلى ذلك.
  • UART : يسمح بالاتصال ثنائي الاتجاه مع أجهزة RS-232 (أجهزة الكمبيوتر، وأجهزة المودم، والأجهزة الطرفية للكمبيوتر الشخصي، وما إلى ذلك)، وأجهزة MIDI ، وأجهزة IRDA
  • USB 2.0 OTG (أثناء التنقل)
  • مؤقت مراقبة

تتم تعيين جميع سجلات التحكم الطرفية في مساحة العنوان العادية في الذاكرة .

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

منصة تقييم Blackfin BF537 EZ-Kit-Lite

توفر ADI سلاسل أدوات تطوير البرامج الخاصة بها . لا يزال برنامج VisualDSP++ IDE الأصلي مدعومًا (كان آخر إصدار له هو 5.1.2 في أكتوبر 2014 ؛ منذ 10 سنوات )، ولكنه يقترب من نهاية عمره ولم تتم إضافة الدعم له لمعالجات BF6xx وBF7xx الجديدة. سلسلة الأدوات الأحدث هي CrossCore Embedded Studio، والتي تدعم جميع معالجات Blackfin وBlackfin+ باستخدام إصدارات مطورة من نفس المترجم والأدوات داخليًا، ولكن مع واجهة مستخدم تعتمد على Eclipse CDT . لا يتوفر إصدار مجاني لأي من الأداتين؛ يكلف ترخيص المستخدم الفردي لـ VisualDSP++ 3500 دولار أمريكي، وCrossCore Embedded Studio 995 دولارًا أمريكيًا.  ( 2014-10 )

تتضمن الخيارات الأخرى برنامج MULTI IDE من Green Hills Software وGNU GCC Toolchain لعائلة معالجات Blackfin. ومع ذلك، مثل VisualDSP++، لم يتم تحديث هذه البرامج لدعم معالجات BF6xx وBF7xx الأحدث. علاوة على ذلك، لا يدعم أي منهما جميع معالجات BF5xx. يفتقر برنامج MULTI من Green Hills إلى دعم معالجات BF50x وBF51x وبعض معالجات BF52x وBF547 وBF59x. يفتقر برنامج GCC إلى دعم معالجات BF50x وBF566 وBF59x، كما أنه لا يدعم معالجات BF561 بشكل كامل.

يتم أيضًا دعم Blackfin بواسطة وحدة LabVIEW Embedded من National Instruments ، والتي تتطلب VisualDSP++.

أنظمة التشغيل وأنظمة التشغيل في الوقت الحقيقي والنوى المدعومة

تدعم العديد من أنظمة التشغيل التجارية والمفتوحة المصدر التشغيل على Blackfin.

أنظمة التشغيل/نظام التشغيل في الوقت الحقيقي/النوى على Blackfin
عنوان رخصة تعليقات
ثريدكس [5] الملكية
نواة الملكية
μC/OS-II [6] الملكية
النزاهة [7] الملكية
آر تي إم إس بند BSD-2 والشرط المسموح به
كوادروس RTXC الملكية
في دي كيه الملكية نواة ADI في الوقت الفعلي. تأتي مع VisualDSP++.
إطار عمل .NET الصغير رخصة أباتشي 2.0 إصدار مستقل من Microsoft. إصدار مدمج من AxiomFount.

كان Blackfin مدعومًا سابقًا بواسطة μClinux ولاحقًا بواسطة Linux مع ميزة NOMMU، ولكن نظرًا لأنه لم يكن مستخدمًا على نطاق واسع ولم يعد لديه صيانته، [8] [9] تمت إزالة الدعم من Linux في 1 أبريل 2018؛ كان الإصدار 4.16 هو الإصدار الأخير الذي يتضمن دعم Blackfin. [10] [11] [12]

انظر أيضا

مراجع

  1. ^ "نظرة عامة على بنية معالج Blackfin | معالجات Blackfin | المعالجات ومعالج الإشارات الرقمية | الأجهزة التناظرية". مؤرشف من الأصل في 17 أبريل 2011. تم الاسترجاع في 9 أبريل 2011 .
  2. ^ "H.264 BP/MP Encoder". Analog Devices . تم الاسترجاع في 2014-09-03 .
  3. ^ "مكتبة فك تشفير H.264 BP/MP". Analog Devices . تم الاسترجاع في 2014-09-03 .
  4. ^ "معالجات Blackfin | Analog Devices". Analog.com . تم الاسترجاع في 2016-06-24 .
  5. ^ "أنظمة التشغيل في الوقت الفعلي للتطوير المضمن، نظام الوقت الفعلي من Express Logic". Rtos.com . مؤرشف من الأصل في 2016-05-23 . تم الاسترجاع في 2016-06-24 .
  6. ^ "Real-Time Kernels". Micrium.com . تم الاسترجاع في 2016-06-24 .
  7. ^ "نظام التشغيل INTEGRITY في الوقت الفعلي". Ghs.com . تم الاسترجاع في 2016-06-24 .
  8. ^ [1] المشرفون: وضع علامة على arch/blackfin/ وgubbins الخاصة به على أنها يتيمة
  9. ^ [2] RE: MAINTAINERS: وضع علامة على arch/blackfin/ وgubbins الخاصة به على أنها يتيمة
  10. ^ [3] arch: إزالة المنافذ المعمارية القديمة
  11. ^ Simon Sharwood (2018-04-03). "Linux 4.16 comes, wipes eight CPUs". theregister.co.uk . تم الاسترجاع في 2018-04-03 .
  12. ^ Arnd Bergmann (2018-04-03). "[GIT PULL] arch: إزالة منافذ الهندسة المعمارية القديمة". LKML . تم الاسترجاع في 2018-04-04 .
  • موقع معالج Blackfin
  • مرجع برمجة معالج Blackfin
  • blackfin.uclinux.org أدوات مفتوحة المصدر ونواة Linux لـ Blackfin
  • T2 SDE نظام بناء يدعم التجميع المتبادل لـ Blackfin
Retrieved from "https://en.wikipedia.org/w/index.php?title=Blackfin&oldid=1253283639"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate