اختبر الصحفي التقني إيغور أوسكولكوف من
3DNews.ru مؤخرًا نسخة متاحة للجمهور من لوحة التقييم أو ، كما يسميها البائع ، مجمع برامج الأجهزة المطور ، تحت الاسم الرمزي BFK 3.1 مع Russian SoC Baikal-T1 بناءً على MIPS P5600 المحارب العمارة. إليكم الترجمة الإنجليزية
لنصه ، والتي
نشرت لأول مرة باللغة الروسية عن طريق servernews.ru .
بادئ ذي بدء ، يجب التأكيد على أن BFK 3.1 عبارة عن مجمع مطور للأجهزة البرمجية (سنظل نسميها لوحة) وليس الأساس لبناء المنتجات النهائية. لن يستخدم أي شخص عاقل هذه اللوحة لإنشاء نظام. أولاً ، سيكون هذا النظام مكلفاً بشكل غير معقول. ثانيا ، هذه الفكرة لا معنى لها إلى حد ما. هذه اللوحة مطلوبة لتطوير البرامج وتصحيحها وتقييم أداء المعالج وتوافقه مع الأجهزة الأخرى. من الخطأ مقارنة BFK 3.1 بأجهزة الكمبيوتر الصغيرة ذات اللوحة الواحدة مثل Raspberry Pi أو Cubieboard ، رغم أنها قريبة جدًا منها رسميًا.

يتم تقديم لوحات تطوير مماثلة من قبل بائعي المعالجات الآخرين. اعتمادًا على النوع والمعدات المدمجة ، قد تختلف أسعار هذه اللوحات من مئات إلى آلاف الدولارات الأمريكية. ما هو مهم في BFK 3.1 board ، أنه أول لوحة مع Baikal-T1 SoC ، وهي متاحة عملياً للجميع ، ولا تقتصر على دائرة ضيقة من الأفراد والمنظمات ، حيث كانت تستخدم مع المعالجات الروسية قبل . تكلف ثروة كبيرة - 650 دولارًا - إنها باهظة الثمن ، لكن البائع لا يمكنه تقديم سعر أقل ، مع الأخذ بعين الاعتبار الحجم الصغير نسبيًا لإنتاج الألواح.
ما يحصل عليه العملاء بعد تسجيل المنتج هو الوصول إلى مكتبة الوثائق الهندسية ذات الوصول المحدود وتصميم لوحة الدوائر المطبوعة بتنسيق مصمم Altium. سيؤدي هذا إلى تسريع وتبسيط عملية إنشاء حلول الأجهزة والبرامج الخاصة بالاعتماد على لوحات BFK 3.1 و Baikal-T1 SoCs.
اللوحة نفسها مجهزة بمعالج أساسي. جميع واجهات المعالج تقريبًا بها مخرجات على اللوحة ، فقط منفذ 10GbE لم يفعل ذلك. يبلغ قياس اللوحة نفسها 229 × 191 مم (FlexATX). يحتوي على منفذي SATA-3 (إصدار 3.1 من وحدة التحكم) ، وفتحة SO-DIMM لوحدة ذاكرة DDR3-1600 ، ومنفذان جيجابت إيثرنت RJ-45 ، وموصل USB 2.0 من النوع A ، ومنافذ USB Mini-B اللازمة لتصحيح الأخطاء ، موصل PCI-E 3.0 x4 واحد. يوجد أيضًا GPIO من 40 سنًا (وحدة التحكم الرئيسية به 32 بت).


بالنسبة لمصدر الطاقة ، يحتاج المرء إلى أي وحدة ATX 2.0 بقدرة 200 واط أو أعلى. يتم إعطاء هذه القيمة بشكل كبير بهامش كبير ، حتى مع مراعاة استهلاك أجهزة PCI-E و SATA. تحتوي اللوحة على أزرار "تشغيل / إيقاف" منفصلة و "إعادة ضبط الطاقة". إن بدء تشغيل اللوحة بسيط للغاية: قم بتثبيت وحدة الذاكرة وتوصيل وحدة PSU وتوصيل الكمبيوتر بمنفذ mini-USB العلوي وتشغيل المحاكي الطرفي المفضل لديك بدعم من منافذ COM (
قد تحتاج إلى برنامج تشغيل للجسر نفسه - استخدم هذا الرابط ). حسنًا ، هذا كل شيء ، اضغط على الزر "تشغيل" وحدد العنصر المطلوب في قائمة التمهيد.


تحتوي اللوحة على وحدتي ذاكرة NOR: 16 ميجابايت و 32 ميجابايت. أول واحد هو للتمهيد ، ويحتوي على البرامج الثابتة نفسها. هنا كل شيء قياسي: U-Boot + Linux-kernel + الحد الأدنى من صورة BusyBox. يمكن بدء التشغيل من الشبكة عبر خادم NFS أو TFTP. بالنسبة للأنظمة المدمجة ، ستكون كافية. في مثل هذه الحالات ، يكون المنتج النهائي عبارة عن لوحة مضغوطة نسبيًا تحتوي على ذاكرة الوصول العشوائي (RAM) وذاكرة الوصول العشوائي (ROM) الملحومة بالفعل من وحدة التخزين المطلوبة وبيئة برمجية مُحسّنة مسبقًا ومُحسَّنة لمجموعة من المهام المحددة. كمثال ، يمكن للمرء أن يفكر في أجهزة التوجيه SOHO.

الخيار الثاني لاستخدام هذه اللوحة هو إطلاق نظام تشغيل كامل. هذا ما سنفعله للاختبارات.
يقدم البائع نسخة معدلة قليلاً من دبيان 9 مع نواة من SDK. يرجى ملاحظة أنهم لا يعيدون تجميع كل البرامج بأنفسهم. يتم استخدام مستودعات الجاهزة من فروع دبيان mipsel ، لذلك لا توجد تحسينات لهذا المعالج بالذات. ومع ذلك ، هناك أيضًا مجموعات Astra Linux Special Edition لأجهزة Tavolga Terminal 2BT1 مع نفس Baikal-T1 SoC. لكنها ، للأسف ، ليست متاحة علنًا. أيضًا ، من المتوقع دعم Alt Linux و Buildroot وهناك إمكانية لتشغيل OpenWRT / LEDE.

لبدء تشغيل نظام التشغيل Debian ، يحتاج المرء إلى التقاط صور kernel والبرامج الثابتة و ramdisk من SDK. يتضمن SDK نفسه أيضًا أدوات مساعدة للتجميع المتقاطع والبرامج النصية لإنشاء صورة ROM و VM معد لـ QEMU ، حيث يمكنك تصحيح برامجك مسبقًا. لا تزال تجربة Debian 9 على BFK 3.1 غير متجانسة تمامًا: بعد التثبيت سيتعين على المرء البحث في الإعدادات وتثبيت بعض البرامج ، ولكن لا توجد مشاكل خاصة بهذا. إنه لأمر مؤسف أنه لا يوجد وثائق كاملة لهذا المنتدى حتى الآن: على المرء أن يتعرّف على التجربة والخطأ أو يسأل البائع مباشرة.

من أجل إجراء الاختبارات ، قم بتوصيل اللوحة بأخرى قديمة وفقًا لمعايير اليوم Kingston SSDNow V لنظام التشغيل ووحدة ذاكرة Samsung DDR3L-1600 بسعة 4 جيجابايت. هذا يكفي للتعرف على قدرات شركة نفط الجنوب. كان هناك فارق بسيط آخر - نظرًا لميزات وحدة التحكم ، فلن تكون كل ذاكرة وحدة SO-DIMM مرئية. هناك نقطة أخرى مهمة تتعلق بالبنيات الأساسية لبرامج الاختبار من الكود المصدري: لقد تم كل ذلك مباشرة على BFK 3.1. عند الضرورة ، يتم تحديد مفاتيح برنامج التحويل البرمجي.

يجب أن نقول إن عملية البناء ليست مؤلمة دائمًا. في مكان ما ، كان علينا البحث في معلمات التحسين من أجل تحقيق نتيجة أفضل. كان هناك شيء ما يسير على ما يرام ، ولكن عند تنفيذه ، فشل أو لم يعمل بشكل صحيح. في بعض الأحيان ، كان هناك شعور عام بأن البائع لم يشك في وجود منصات أخرى غير x86. وهذا لا ينطبق فقط على البرامج. على وجه الخصوص ، في PCI-E ، على الأرجح ، لن تعمل وحدات معالجة الرسومات الحديثة ، وفقًا للبائع ، تتطلب جميعها تقريبًا وجود UEFI / BIOS x86. أيضًا ، قد تكون هناك مشاكل في الأجهزة التي تستخدم ، على سبيل المثال ، جسر PCI PCI-E.
Baikal-T1 شركة نفط الجنوب خصائصدعنا نراجع المعالج لفترة وجيزة للبدء. لدى Baikal-T1 نواة 32 بت تعتمد على بنية P5600 Warrior (MIPS32 الإصدار 5) مع دعم الأجهزة للمحاكاة الافتراضية. تلقى كل نواة 64 كيلوبايت L1- ذاكرة التخزين المؤقت للبيانات والتعليمات. كلا النوى يحتوي على ذاكرة تخزين مؤقت L2 واحدة مشتركة واحدة. أيضا ، كل الأساسية لديها FPU الخاصة بهم دعم 128 بت SIMD. جميع النوى ، L2 و FPU تعمل على نفس التردد 1.2 جيجاهيرتز. المعالج قادر على أداء ما يصل إلى أربع عمليات عدد صحيح ، ما يصل إلى عمليتين على أرقام الفاصلة العائمة مزدوجة الدقة أو أربعة دقة واحدة لكل دورة على مدار الساعة. وهذا يمنحها أداءً نظريًا يبلغ 4.8 GFlops FP64 (2 النوى 1.2 جيجاهرتز × 2 FP64) أو 9.6 GFlops FP32. ومع ذلك ، على المستوى العملي ، لفتح إمكانات شركة نفط الجنوب (كما يحب الناس للنشر في التعليقات) ، والتحسين اليدوي للرمز ، والمترجم ، الذي "يعرف" حول FPU / SIMD الميزات ضرورية.

في الواقع ، على سبيل المثال ، تنتج نسخة غير محسّنة من Linpack ، تم جمعها من قبل مجلس التعاون الخليجي المفتوح ، طريقة أقل من المتوقع. مثل هذا الموقف أمر طبيعي تمامًا للبنى الجديدة أو المحددة (مثل Elbrus). ينبغي أن يؤخذ ذلك في الاعتبار عند تقييم النتائج الواردة أدناه. نقطة أخرى مهمة للاهتمامات هي ثغرات Meltdown و Specter سيئة السمعة. الكتل الحسابية في MIPS32r5 هي فائقة المستوى وقادرة على تنفيذ تعليمات استثنائية ، ولكن من الواضح أنه لا يوجد حديث عن تكهنات عميقة.
أصدر البائع الأساسي تحذيرًا بشأن احتمال وجود Specter (وليس الانهيار) في النوى P5600 / P6600 "النظيفة". وفقًا للبائع ، في حالة Baikal-T1 ، لا ينتج عن رمز التحقق من الثغرات الرسمية نتيجة ، لكن من السابق لأوانه التأكيد بشكل مؤكد أن شركة نفط الجنوب لا تتأثر بالثغرة الأمنية. يخطط البائع لتنظيم hackathon لمضاعفة التحقق من أمان شركة نفط الجنوب.

تتواصل نوى SoC's عبر ناقل AXI مع باقي المكونات. جميع واجهات عالية السرعة لديها دعم DMA. تدعم وحدة التحكم في الذاكرة أحادية القناة نفسها DDR3-1600 مع ECC. الحد الأقصى لدعم وحدة المعالجة المركزية من ذاكرة الوصول العشوائي هو 8 غيغابايت. هناك فارق بسيط آخر - تحتوي وحدة التحكم في الذاكرة على ناقل بيانات من 32 بت و 8 بت من ECC ويدعم العمل مع شرائح الذاكرة بعرض يتراوح بين 8 و 32 بت. بالنسبة للمنتجات النهائية التي تحتوي على وحدات مناسبة ملحومة بالفعل ، لن تواجه أي مشكلة ، ولكن لن ترى اللوحة سوى نصف الحجم المُعلن من خلال SO-DIMMs التقليدية ، نظرًا لأنها عادة ما تبدو "خارجية" من خلال واجهة 64 بت. ومن الواضح أن السرعة ستكون أقل - ما يصل إلى 6.4 جيجابايت / ثانية.
الدواخل من شركة نفط الجنوب يمكن
الإعجاب بها على هذا الرابط .
تتطلب شركة نفط الجنوب جهد كهربي قدره 0.95 فولت لإمداد الطاقة ولا يزيد استهلاك الطاقة المطالب به عن 5 واط. خلال الاختبارات ، ارتفعت درجة حرارة وحدة المعالجة المركزية حتى 60 درجة مئوية صغيرة زائد. التبريد الفعال غير مطلوب ، ولكن في الحالة المغلقة ، لن يكون المبرد زائداً. يتم ضبط تردد النوى ديناميكيًا في النطاق من 200 إلى 1500 ميجاهرتز ، ولكن هذا يتطلب دعم نظام التشغيل ، وحتى الآن في إصدار دبيان الحالي ، يمكن ضبط التردد عند بدء تشغيل النظام. في أي حال ، أثناء عملية التحميل المنخفض ، يمكن لإحدى النواة إيقاف التشغيل تلقائيًا. بسعر 65 USD يتم تصنيع Baikal-T1 في TSMC 28-nm fab.
Coremarkالآن دعنا نذهب مباشرة إلى المعايير. الأول في قائمة الانتظار - CoreMark - هو معيار متخصص ، يستخدم لتقييم أداء المعالجات وشركة نفط الجنوب للأنظمة المدمجة. للتعبير عن ذلك بشكل صريح ، فقد بدأت شركة Imagination Technologies في الإعلان عن سجل CoreMark الجديد عن رواية قصة مزايا MIPS P5600 Warrior. الحقيقة هي أنه في ذلك الوقت كان نواة محاكاة FPGA واحدة تعمل بسرعة 20 ميجاهرتز. ثم كان الأمر كله يتعلق بالسجل بالميغاهرتز لكل قيمة CoreMark الأساسية: 5.61 ، لكن في الواقع ، من المهم الاعتماد على قيمة حوالي 5. وقد أشار البائع الأساسي إلى الكفاءة الأكبر لجهاز P5600 بالمقارنة مع وحدات المعالجة المركزية إنتل المكتبية. . رسميا ، بايكال T1 هي الرائدة من حيث ميغاهيرتز وميغا هرتز لكل جوهر. في الممارسة العملية ، لتحقيق الأداء من حيث القيمة المطلقة ، يستخدم البائع طرقًا شاملة ، مما يزيد من الترددات وعدد النوى.

للأسف ، لا يتم ملء قاعدة نتائج CoreMark بعناية فائقة ، لذلك كان علينا اختيار اختبارات الرقائق ثنائية النواة يدويًا بخصائص تردد قريبة من خصائص Baikal-T1 وأيضًا إشارة صريحة إلى أن الاختبار استخدم دفقين. للمقارنة شملنا عمدا عينة من أربعة نواة. بشكل عام ، يمكن للمرء ترتيب النتائج المرجعية حسب عدة معايير. ومع ذلك ، فإنه ينتج على الفور الكثير من الفروق الدقيقة: أولاً ، يتم ترخيص ARM و MIPS IP-cores لشركات خارجية ، لذلك يمكن أن يختلف تنفيذ التصميم ذاته بشكل كبير ؛ ثانياً ، يعتمد الكثير على تحسين كود البرنامج ، وصيغه ووقت تشغيله.
لاختبارنا الأساسي ، استخدمنا GCC 6.3 مع الخيارات التالية: -O3 -DMULTITHREAD = 2 -DUSE_PTHREAD -funroll-all-loops -fgcse-sm - fgcse-las -finline-limit = 1000 -mhard-float -mtune = p5600 . وشملت
اختبارات البائع أيضا البيئة التجارية Sourcery CodeBench. فيما يلي في الجداول ، يتم قبول التعيينات التالية: "اختبار رسمي" - للنتائج المنشورة على موقع البائع على الويب ؛ "Precomp" - لتشغيل الملفات المرجعية الثنائية التي يوفرها بائع وحدة المعالجة المركزية ؛ "ث / التقيد" - يبني لدينا من شفرة مفتوحة المصدر مع المفاتيح المشار إليها ؛ "التقيد" - تجميع عبر مع SDK والمرافق التجارية من قبل البائع "وصفات". يسمح التحسين اليدوي بتحقيق أداء أفضل ، وهو مرئي بوضوح في جدول النتائج. ومع ذلك ، لا نحتاج إلى الفرز بين المفاتيح والحفر في الكود ، في حين يتعين على مطوري برمجيات Baikal-T1 التعامل معه بشكل منتظم.
المعايير الكلاسيكيةمن
نفس المستند ، يمكن للمرء اختيار نتائج المعايير الكلاسيكية "المدرسة القديمة". تم تصنيف اختبار الدفق لعرض النطاق الترددي للذاكرة لمؤشر ترابط واحد باستخدام المفاتيح التالية: -mtune = p5600 -O2 -funroll-all-loops. نتيجتها تشكل حوالي نصف سرعة RAM النظرية.

ينطبق كل ما ذكر أعلاه حول CoreMark على Dhrystone2 (الذي يتعامل مع الحوسبة الصحيحة) ، والتي تم تجميعها في الأساس مع الحد الأدنى من المفاتيح: -O3 -funroll-all-loops -mtune = p5600. للأسف ، كما في الأمثلة أعلاه ، فإن قاعدة القياسات ليست مثالاً للدقة. للمقارنة ، تم اتخاذ بعض النتائج لحسابات 32 بت مع إشارة واضحة للتحسينات. لسوء الحظ ، فإنها لا تنشر نماذج وحدة المعالجة المركزية محددة أو على الأقل أجيال. بالإضافة إلى ذلك ، فإن الأمر معقد بسبب وجود TurboBoost أو زيادة مماثلة على المدى القصير (وهذا الاختبار هو مجرد اختبار قصير) في زيادة التردد الأساسي للمعالج ، والذي يشحم الصورة الكلية. مرة أخرى ، يتكرر الموقف في الاختبار مع CoreMark - من حيث ميغاهرتز ، فإن أداء P5600 ليس سيئًا.

لكن وحدات المعالجة المركزية الحديثة الأخرى تزيد من الأداء إما عن طريق زيادة التردد ، عن طريق دعم تعليمات 64 بت ، وكذلك عن طريق عدد النوى كلها في نفس الوقت. نتائج المشحذ هي نفسها في الغالب ، فقط الفرق من الزيادة في التدفقات واستخدام تعليمات المتجه أكثر وضوحًا. أوه نعم ، لبناء كل هذه الأشياء ، اضطررنا إلى تعديل الشفرة قليلاً عن طريق إزالة المكالمات غير الضرورية إلى اختبارات x86-assembly و x86-extension ، اللازمة فقط لتحديد وحدة المعالجة المركزية.

لإجراء فحص سريع لمحولات Gigabit Ethernet ، استخدمنا الأداة المساعدة iperf 3.1.3 ، والتي أظهرت أن السرعة في الاتصالات أحادية الاتجاه هي 940 ميجابايت / ثانية المطلوبة ، ولكن في الإرسال المزدوج ، للأسف ، كانت السرعة عند 1.2 جيجابت / ثانية. عند شرح هذه الحقيقة ، لاحظت أن الضبط البسيط على مستوى البرنامج مطلوب للحصول على الأداء الكامل.
جناح اختبار Phoronixنحن نعلم أن هذه الفكرة تنبعث منها رائحة الجنون ، لأن PTS (https://www.phoronix-test-suite.com/) ليست مصممة عمومًا لمثل هذه الأنظمة. يتم البناء مباشرة على جهاز الاختبار ، لذلك في حالة Baikal-T1 ، يكون هذا طويلًا للغاية ، وكذلك مدة معظم الاختبارات. لقد استبعدنا بعض الاختبارات المستبعدة من المجموعة: تلك الإخفاقات في الترجمة ، أو يتم إجراؤها بطريقة غير لائقة لفترة طويلة حتى على أجهزة الكمبيوتر "البالغة". يمكن معالجة المشكلة الأولى ، من الناحية النظرية ، يدويًا ، وتخصيص معلمات الإنشاء. ولكن مرة أخرى ، لم يكن لدينا مثل هذه المهمة وفي كلتا الحالتين من غير المرجح أن تحقق نتائج الاختبار الحد الأقصى للقيم الممكنة.

جميع نتائج الاختبار متاحة على هذا
الرابط . بالمعنى الدقيق للكلمة ، كل هذه بالأحرى احتياطي للمستقبل ، حيث لا يوجد لدينا الآن شيء يمكن مقارنته. بعد ذلك سنكون قادرين على رؤية ، إلى أي مدى تصبح النتائج أفضل (أو لا) بعد إصلاح البنية والتحسين. بالنسبة للفضوليين ، يمكن أن نذكر فقط عدد قليل من تكوينات المعايير المتزامنة بشكل عشوائي من المعالجات الصينية Loongson Godson 3A3000 (4 cores @ 1.5 Hz، L2-cache 1 MB، L3-cache 8 MB، 28 nm، 30 W). تتشابه كلتا وحدات المعالجة المركزية في مشاكل تحسين البرامج والهندسة الجديدة لهذه البنية. حتى الآن ، يتقدم الصينيون بهامش كبير من حيث القيمة المطلقة ، ولكن من حيث النواة ، ميغاهيرتز والاستهلاك ، فإن النتائج أقل وضوحًا.

الخاتمة
يعد Baikal-T1 ملحوظًا باعتباره المنتج الحديث ، فقد استطاع المطورين الروس تنفيذه بواسطة فريق صغير نسبيًا ضمن صناعة مقبولة في الوقت المناسب. هو سعر معقول (مقارنة مع المعالجات الروسية الأخرى) ومتاحة في السوق. ولكن لا يمكن تقييم نجاحها (أو فشلها) فعليًا إلا بعد عام أو عامين - كل هذا يتوقف على من وعلى أي مجلدات ستستخدم هذه الشركة في منتجاتها. الآن ، يتم الإعلان فقط عن عدد قليل من المنتجات النهائية - https://baik.al/sdelano. كل هذه أمثلة نموذجية لمجالات تطبيق Baikal-T1 ، كما نود أن نرى المزيد من حلول NAS / SAN و IoT و SDR. ومع ذلك ، فإنه لم يعد عن الأجهزة. وحدة المعالجة المركزية نفسها جيدة حقًا ، لا سيما عند تقييم أدائها النسبي وليس المطلق. ولكن لا يزال هناك الكثير من مشاكل البرامج والقسوة. عند التحدث على وجه التحديد عن لوحة BFK3.1 ، فهي تحتوي على وثائق ضعيفة جدًا. والسؤال المطروح عالمياً هو: من الذي سيستخدم البرنامج لهذا الهيكل؟ من سيقوم بتطوير الأدوات التي تجعل هذه العملية سهلة قدر الإمكان؟ هل سيكون هناك مجتمع قوي بما فيه الكفاية من مطوري البرمجيات؟ على سبيل المثال ، ظهر دعم محاكاة الأجهزة الافتراضية ، والتي تم ذكرها في وصف وحدة المعالجة المركزية ، فقط في صيف العام الماضي ، مع إصدار Linux kernel 4.12. وبشكل عام ، نتساءل عما سيحدث بجوار MIPS architecture. منذ خمس سنوات ، كان اختيار هذه البنية الخاصة للمنتجات الجديدة معقولًا للغاية. و الان؟ هذا هو السؤال ...