دليل كامل لـ Felix86: محاكي x86-64 لـ RISC-V الذي يُحدث ثورة في التوافق

  • يقوم Felix86 بترجمة تطبيقات x86-64 لتشغيلها على أنظمة RISC-V باستخدام إعادة التجميع JIT.
  • إنه يسمح لك بتشغيل ألعاب وتطبيقات Linux وبعض تطبيقات Windows (عبر Wine) على أجهزة RISC-V.
  • لا يزال الأداء جاريًا، ولكن تم بالفعل تشغيل العديد من العناوين وظيفيًا.

محاكي Felix86

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

يبدو Felix86 وكأنه نسمة من الهواء النقي. في مجال المحاكاة، نقدم حلولاً مبتكرة لمشكلة شائعة بشكل متزايد: الكمية الضخمة من برامج x86-64 التي لا يمكن تشغيلها بشكل أصلي على أجهزة RISC-V. لم يعد الأمر يتعلق فقط بفتح الألعاب على Linux، بل يتعلق أيضًا بالوصول إلى جزء من كتالوج Windows بفضل Wine، كل ذلك على بنية أصبحت موجودة بشكل متزايد في السوق بسبب طبيعتها المفتوحة وإمكانيات التخصيص.

ما هو Felix86 ولماذا هو مهم؟

Felix86 هو محاكي قيد التطوير مُصمم لتشغيل تطبيقات وألعاب x86-64، تم إنشاؤه في الأصل لمعالجات Intel وAMD، على الأجهزة المجهزة بـ RISC-V التي تعمل بنظام Linux. ينشأ هذا الاقتراح من الحاجة إلى الاستفادة من النظام البيئي الكامل للتطبيقات الموجودة لـ x86-64 دون الاعتماد على أجهزة محددة. على عكس المحاكاة الافتراضية التقليدية الموجودة في حلول مثل VMware، يختار Felix86 الترجمة الديناميكية في الوقت الفعلي (التنفيذ في الوقت المناسب أو JIT)، مما يسمح للبرامج بالعمل بكفاءة أكبر من خلال الاستفادة من ملحقات RISC-V، مثل تعليمات المتجهات لعمليات SIMD.

صعود RISC-V في عالم التكنولوجيا، يشهد الاهتمام بالمحاكاة نموًا كبيرًا، وخاصة بين المستخدمين والشركات التي تتطلع إلى كسر الحواجز التقليدية بين المعماريات. وُلِد Felix86 في هذا السياق، مما سهّل عملية الانتقال وقرّب هذين العالمين المختلفين للغاية من بعضهما البعض بشكل أكبر.

الهيكل الفني: هكذا يعمل Felix86

جوهر Felix86 حد ذاته أساس أون الأمم المتحدة مُعيد التجميع الديناميكي JIT، المسؤول عن ترجمة تعليمات x86-64 أثناء التنفيذ إلى نظيرتها في RISC-V. هذه الاستراتيجية ضرورية للحفاظ على الأداء المقبول، لأنها لا تترجم بكفاءة فحسب، بل أيضًا استفد من الإضافات المتقدمة لأجهزة RISC-V:

  • تمديد المتجه:ضروري لمعالجة تعليمات SSE الموجودة في العديد من الألعاب والتطبيقات، وتسريع عمليات SIMD.
  • الامتداد ب (التلاعب بالبت):تستخدم لترجمة التعليمات المعقدة مثل BSR، مهم في عمليات معالجة البتات والرياضيات المتقدمة في المحاكاة.
  • دعم الامتدادات الاختياريةيأخذ Felix86 في الاعتبار مجموعة متنوعة من الملحقات مثل XThead (تستخدم في الأنظمة المتقدمة للمهام المخصصة) التي قد تكون موجودة على أجهزة RISC-V الحديثة.

بالإضافة إلى ذلك، يحافظ المحاكي على طبقة التجريد لإدارة الاختلافات في تخصيص الذاكرة ومكالمات النظام بين المعماريات، يعد هذا أحد أكبر تحديات المحاكاة المتبادلة، نظرًا لأن x86-64 وRISC-V لديهما نماذج مختلفة للذاكرة ونداء النظام. تعتبر هذه الطبقة الإضافية أساسية لدعم التطبيقات المعقدة وضمان قدر معين من الاستقرار في التنفيذ.

التوافق: ما الذي يمكنك أن تتوقع تشغيله مع Felix86؟

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

  • سوبيرتوكس كارت
  • عالم جوو
  • مجرفة فارس: شبح من تورمنت
  • سماوي
  • بالاترو
  • VVVVVV
  • لا تجوع
  • الربط إسحاق: ولادة جديدة
  • الخط الساخن Miami 2: رقم خاطئ

وبالإضافة إلى ذلك، بفضل التكامل مع Wine، يتمتع Felix86 بالقدرة على تشغيل تطبيقات وألعاب Windows البسيطة في بيئة Linux على RISC-V، على الرغم من مستوى التوافق المحدود.

أما بالنسبة للأجهزة، فقد تم إجراء الاختبارات الأولى على لوحات مثل بانانا باي BPI-F3 مزودًا بـ SpacemIT K1 SoC، بالإضافة إلى بطاقات رسوميات مختلفة (AMD HD 7350، NVIDIA GTX 1050 Ti، AMD Radeon HD 7790). يؤثر اختيار الأجهزة بشكل كبير على التجربة؛ على سبيل المثال، يبدو أن HD 7350 يوفر نتائج أفضل، في حين أن دعم برامج التشغيل على توزيعات Linux المختلفة قد يؤثر على أداء الرسومات.

الأداء والتحديات الرئيسية

على الرغم من التقدم، فإن أحد التحديات الأكثر وضوحًا التي تواجه Felix86 هو أداء. تظهر الاختبارات المبكرة معدلات بين 0,5 و 10 إطارًا في الثانية في ألعاب مثل World of Goo أو SuperTuxKart، تظهر الأرقام، على الرغم من كونها واعدة بالنسبة لمثل هذه النسخة المبكرة، أن الطريق لا يزال طويلاً.

يقع عنق الزجاجة بشكل رئيسي في ترجمة JIT (والتي يجب أن تجد التوازن بين سرعة التجميع والتحسين) وفي إدارة الذاكرة، نظرًا للتعقيد المتضمن في تكييف نموذج ذاكرة x86-64 مع RISC-V دون المساس بالاستقرار. علاوة على ذلك، يعتمد التوافق الرسومي إلى حد كبير على توفر برامج التشغيل المناسبة في توزيع Linux المستخدم والتكامل المناسب مع الأجهزة.

يهدف التحسين إلى الاستفادة الكاملة من ملحقات SIMD الخاصة بمعالجات RISC-V للتنافس مع حلول المحاكاة الأخرى. ومع ذلك، فإنها لا تزال غير قادرة على مطابقة الحلول الأكثر نضجًا، وخاصة على ARM، حيث كانت البدائل الأخرى قيد التطوير لفترة أطول.

بدائل لـ Felix86: rv8 و Box64 و Box32

Felix86 ليس المشروع الوحيد الذي يتناول محاكاة x86-64 على الأجهزة غير الأصلية. ومن الأدوات الأخرى الجديرة بالملاحظة في هذا المجال: rv8 y Box64 مع Box32، والتي على الرغم من أنها تشترك في هدف مشترك، إلا أنها تقدم نهجًا مختلفًا:

  • rv8:هذا هو محاكي RISC-V الذي لا يترجم الثنائيات x86-64 فحسب، بل يقدم أيضًا أدوات لتحليل وتصحيح أخطاء الكود في ثنائيات ELF. تجمع طريقتهم بين تفسير وتجميع المسارات المتكررة، مما يؤدي إلى تحسين الأداء فقط في الأجزاء الأكثر طلبًا من قبل التطبيق. مثالي للمطورين والمستخدمين المتقدمين الذين يبحثون عن نظام محاكاة كامل.
  • الصندوق 64 والصندوق 32:هذه الأدوات، التي تحظى بشعبية كبيرة على ARM، وسعت نطاق دعمها إلى RISC-V. يتيح لك Box64 تشغيل البرامج ذات 64 بت، بينما يوفر Box32 الدعم للتطبيقات ذات 32 بت.. يستخدم كلا البرنامجين الترجمة الديناميكية ويتميزان بالتكامل المتقدم مع Wine، مما يجعل تشغيل برامج Windows أمرًا سهلاً. كما أنها تتميز بتكاملها المحسّن مع OpenGL وVulkan، وهو أمر ضروري للألعاب الحديثة.

يعتمد الاختيار بين أحد البدائل أو الآخر على احتياجات كل مستخدم. في حين أن rv8 أكثر قوة في المحاكاة منخفضة المستوى، فإن Box64 وBox32 أكثر عملية لـ المستخدمون الذين يريدون فقط تشغيل تطبيقات x86 على Linux على ARM أو RISC-V، دون الكثير من التعقيدات الفنية. من جانبها، لا تزال Felix86 تركز على تحسين تجربة RISC-V، على الرغم من أنها لا تزال بحاجة إلى النضج للوصول إلى مستوى التكامل الرسومي والتوافق مع البدائل الأكثر رسوخًا.

Felix86 مقابل Box64/Box32: جدول المقارنة

Característica Felix86 Box64 مع Box32
الهندسة المعمارية المدعومة RISC-V ARM، RISC-V
نوع المحاكاة ترجمة JIT x86-64 إلى RISC-V الترجمة الديناميكية x86-64 إلى ARM/RISC-V
التوافق مع Windows جزئيًا عبر النبيذ متوافق مع Wine على Linux
الأداء في الألعاب منخفض (0,5-10 إطارًا في الثانية) أفضل على ARM، محدود على RISC-V
دعم الجرافيك الاختبارات مع AMD HD 7350 و NVIDIA GTX 1050 Ti تكامل أفضل مع OpenGL/Vulkan
الاقوي ملحقات RISC-V SIMD مُصمم للتنفيذ السريع على ARM وRISC-V
التنمية والمجتمع مشروع ناشئ، اختبار على Banana Pi BPI-F3 مشروع موحد، دعم نشط
استخدم حالات برنامج x86-64 على RISC-V برنامج x86 على Linux على ARM/RISC-V

Felix86 هو رهان شاب ونظرًا لأن Box64 وBox32 طموحان، ويركزان بنسبة XNUMX% على RISC-V، فإنهما يتمتعان بسجل أطول من الدعم على ARM، مما يمنحهما ميزة معينة في التكامل والأداء، على الأقل في الوقت الحالي.

منظور التنمية والمشاركة المجتمعية

Felix86 هو مشروع مفتوح المصدر، على الرغم من أنه في مراحله الأولية، لديه بالفعل مجتمع نشط على GitHub ويدعم المساهمات من المطورين المهتمين بالمحاكاة وتحسين المترجم والبحث في الهندسة المعمارية غير المتجانسة. وتتراوح أسباب تطويرها من التعلم العميق لـ x86-64 وRISC-V وLinux، إلى الرغبة في إنشاء حل فعال وممتع للمجتمع.

يعتمد المشروع على مبادرات مماثلة مثل Panda3DS، وshadPS4، وChonkyStation3، والتي مهدت الطريق في عالم المحاكاة المتقاطعة وألهمت البنية المعيارية لـFelix86. بجانب، يتم نشر المعاينات وقوائم التوافق بشكل متكرر، مما يجعل من السهل على أي شخص مهتم بالمساهمة أو اختبار المحاكي على أجهزته الخاصة أن يتبع ذلك.

لمن يرغب في تجربة أو المشاركة في التطوير، كود المصدر الخاص بـ Felix86 مفتوح ومتاح على GitHub، بالإضافة إلى قائمة التوافق المحدثة والوثائق الفنية.

يعد الاختراق الذي حققته Felix86 بمثابة أخبار رائعة لمجتمع RISC-V وعشاق المحاكاة. وعلى الرغم من استمرار التحديات المتعلقة بالأداء والتوافق، فإن التطور المستمر للمشروع يعد بنتائج محسنة في المستقبل القريب. قطاع hardware libre وتوفر الهندسة المعمارية الجديدة في Felix86 أداة رئيسية لإضفاء الطابع الديمقراطي على الوصول إلى البرامج المصممة للمنصات التقليدية، مما يمهد الطريق لمزيد من اعتماد RISC-V في البيئات المنزلية والمهنية والتعليمية.

ستظل محاكاة الهندسة المعمارية المتقاطعة تشكل تحديًا تقنيًا رائعًا، وتقود أدوات مثل Felix86 الطريق نحو حوسبة أكثر مرونة وقابلية للتشغيل المتبادل وسهولة الوصول. مع كل تحسين، يقترب مستخدمو RISC-V من تجربة مستخدم كاملة وسلسة.


ابدأ المحادثة

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.