أوبن ريسك
| مصمم | في الأصل كان Damjan Lampret، والآن أصبح OpenRISC Community (Stafford Horne وما إلى ذلك) |
|---|---|
| أجزاء | 32 بت ، 64 بت |
| قدَّم | 2000 |
| إصدار | 1.4 [1] |
| تصميم | ريسك |
| الترميز | مُثَبَّت |
| الانديانية | كبير؛ جزء غير مُنفذ لـ Little |
| حجم الصفحة | 8 كيلوبايت |
| الإضافات | ORFPX32/64، [2] ORVDX64 [3] |
| يفتح | نعم (LGPL / GPL)، وبالتالي خالية من حقوق الملكية |
| السجلات | |
| أغراض عامة | 16 أو 32 |
| نقطة عائمة | خياري |
OpenRISC هو مشروع لتطوير سلسلة من وحدات المعالجة المركزية (CPU) القائمة على الأجهزة مفتوحة المصدر على مبادئ الكمبيوتر ذات مجموعة التعليمات المخفضة (RISC). وهو يتضمن بنية مجموعة التعليمات (ISA) باستخدام ترخيص مفتوح المصدر . وهو المشروع الرائد الأصلي لمجتمع OpenCores .
الوصف المعماري الأول (وحتى عام 2019 [تحديث]فقط) مخصص لـ OpenRISC 1000 ("OR1k")، والذي يصف عائلة من المعالجات 32 بت و 64 بت مع دعم اختياري للحسابات ذات الفاصلة العائمة ومعالجة المتجهات . [4] تم تصميم تنفيذ
OpenRISC 1200 لهذه المواصفات بواسطة Damjan Lampret في عام 2000، وكتب بلغة وصف الأجهزة Verilog (HDL). [5] تم تصميم
تنفيذ mor1kx اللاحق، والذي يتمتع ببعض المزايا مقارنة بـ OR 1200، [6] بواسطة Julius Baxter وهو مكتوب أيضًا بلغة Verilog.
بالإضافة إلى ذلك، توجد محاكيات برمجية، [7] تنفذ مواصفات OR1k.
تم إصدار تصميم الأجهزة بموجب ترخيص GNU العمومي العام الأصغر (LGPL)، في حين تم إصدار النماذج والبرامج الثابتة بموجب ترخيص GNU العمومي العام (GPL).
تم تطوير تنفيذ نظام مرجعي على شريحة (SoC) يعتمد على OpenRISC 1200، ويُسمى نظام OpenRISC Reference Platform System-on-Chip (ORPSoC). وقد أظهرت العديد من المجموعات ORPSoC وتصميمات أخرى تعتمد على OR1200 تعمل على مصفوفات بوابات قابلة للبرمجة ميدانيًا (FPGAs)، [8] [9] وتم إنتاج العديد من المشتقات التجارية.
تصميمات SoC اللاحقة، والتي تعتمد أيضًا على تنفيذ وحدة المعالجة المركزية OpenRisc 1000، هي minSoC وOpTiMSoC وMiSoC. [10]
مجموعة التعليمات
مجموعة التعليمات عبارة عن بنية RISC تقليدية بسيطة إلى حد معقول تذكرنا بـ MIPS باستخدام بنية تخزين تحميل ثلاثية المتغيرات، مع 16 أو 32 سجلًا للأغراض العامة وطول تعليمات ثابت يبلغ 32 بت. مجموعة التعليمات متطابقة إلى حد كبير بين إصدارات 32 بت و64 بت من المواصفات، والفرق الرئيسي هو عرض السجل (32 أو 64 بت) وتخطيط جدول الصفحات. تتضمن مواصفات OpenRISC جميع الميزات المشتركة بين معالجات سطح المكتب والخادم الحديثة: وضع المشرف ونظام الذاكرة الافتراضية، والتحكم الاختياري في القراءة والكتابة والتنفيذ لصفحات الذاكرة، والتعليمات الخاصة بالمزامنة ومعالجة المقاطعات بين معالجات متعددة.
من الميزات البارزة الأخرى هي مجموعة غنية من تعليمات التعليمات الفردية والبيانات المتعددة ( SIMD ) المخصصة لمعالجة الإشارات الرقمية .
التنفيذات

تعتمد معظم التنفيذات على مصفوفات بوابات قابلة للبرمجة ميدانيًا (FPGAs)، والتي تتيح إمكانية تكرار التصميم على حساب الأداء.
بحلول عام 2018، اعتُبر OpenRISC 1000 مستقرًا، لذلك بدأت شركة ORSoC (مالكة OpenCores) مشروع تمويل جماعي لبناء دائرة متكاملة مخصصة للتطبيقات (ASIC) فعالة من حيث التكلفة لتحسين الأداء. واجهت شركة ORSoC انتقادات بسبب هذا من المجتمع. [ بحاجة لمصدر ] لم يصل المشروع إلى الهدف.
اعتبارًا من مايو 2024 [تحديث]، لم يتم إنتاج ASIC مفتوح المصدر.
التنفيذات التجارية
طورت العديد من المنظمات التجارية مشتقات من بنية OpenRISC 1000، بما في ذلك ORC32-1208 من ORSoC وBA12 وBA14 وBA22 من Beyond Semiconductor. توفر Dynalith Systems لوحة النماذج الأولية iNCITE FPGA ، والتي يمكنها تشغيل كل من OpenRISC 1000 وBA12. قامت Flextronics (Flex) و Jennic Limited بتصنيع OpenRISC كجزء من دائرة متكاملة خاصة بالتطبيق (ASIC). تستخدم Samsung OpenRISC 1000 في نظام DTV الخاص بها على الرقائق (سلسلة SDP83 B، وسلسلة SDP92 C، وسلسلة SDP1001/SDP1002 D، وسلسلة SDP1103/SDP1106 E). [11] تم الإبلاغ عن استخدام Allwinner Technology لنواة OpenRISC في وحدة التحكم في الطاقة AR100 الخاصة بها، والتي تشكل جزءًا من نظام SoC القائم على ARM A31. [12]
بدأت أنظمة Cadence Design في استخدام OpenRISC كهندسة مرجعية في توثيق تدفقات سلسلة الأدوات (على سبيل المثال، تدفق UVM المرجعي، والذي تم المساهمة فيه الآن في Accellera ). [13]
TechEdSat ، أول حاسوب يعمل بنظام Linux يعتمد على بنية OpenRISC من وكالة ناسا، تم إطلاقه في يوليو 2012، وتم نشره في أكتوبر 2012 في محطة الفضاء الدولية باستخدام الأجهزة التي تم توفيرها وبنائها واختبارها بواسطة ÅAC Microtec وÅAC Microtec North America. [14] [15] [16]
الاستخدام الأكاديمي وغير التجاري
نظرًا لكونه مفتوح المصدر، فقد أثبت OpenRISC شعبيته في الدوائر الأكاديمية والهواة. على سبيل المثال، استخدم ستيفان والنتويتز [17] وفريقه في معهد الأنظمة المتكاملة في جامعة ميونيخ التقنية OpenRISC في البحث في بنيات المعالجات متعددة النواة . [18] قامت مجموعة مستخدمي الأجهزة مفتوحة المصدر (OSHUG) في المملكة المتحدة في مناسبتين [19] [20] بتشغيل جلسات على OpenRISC، بينما كتب الهواة Sven-Åke Andersson مدونة شاملة حول OpenRISC للمبتدئين، [21] والتي جذبت اهتمام Electronic Engineering Times ( EE Times ). [22] نفذ Sebastian Macke jor1k، محاكي OpenRISC 1000 في JavaScript ، يعمل بنظام Linux مع دعم X Window System و Wayland . [23]
دعم سلسلة الأدوات
قام مجتمع OpenRISC بنقل سلسلة أدوات GNU إلى OpenRISC لدعم التطوير بلغات البرمجة C و C++ . باستخدام سلسلة الأدوات هذه، تم نقل المكتبات newlib و uClibc و musl (اعتبارًا من الإصدار 1.1.4) و glibc إلى المعالج. توفر Dynalith OpenIDEA، وهي بيئة تطوير متكاملة رسومية (IDE) تعتمد على سلسلة الأدوات هذه. بدأ مشروع لنقل LLVM إلى بنية OpenRISC 1000 في أوائل عام 2012. [24]
تم إصدار GCC 9 بدعم OpenRISC. [25]
يوفر مشروع OR1K محاكيًا لمجموعة التعليمات ، or1ksim. التنفيذ الرئيسي، OR1200، هو نموذج مستوى نقل السجل (RTL) في Verilog HDL، والذي يمكن من خلاله بناء نموذج دقيق للدورة قائم على SystemC في ORPSoC. يتوفر أيضًا نموذج عالي السرعة لـ OpenRISC 1200 من خلال مبادرة المنصات الافتراضية المفتوحة (OVP) (انظر OVPsim )، التي أنشأتها Imperas.
دعم نظام التشغيل
دعم لينكس
حصل نواة لينكس الرئيسية على دعم OpenRISC في الإصدار 3.1. [26] التنفيذ المدمج في هذا الإصدار هو عائلة OpenRISC 1000 ذات 32 بت (or1k). [27] تم استبدالها سابقًا بهندسة OpenRISC 1000، بمنفذ الخط الرئيسي.
دعم نظام التشغيل في الوقت الحقيقي
تم نقل العديد من أنظمة التشغيل في الوقت الفعلي (RTOS) إلى OpenRISC، بما في ذلك NuttX ، وRTEMS ، و FreeRTOS ، و eCos .
دعم QEMU
منذ الإصدار 1.2، يدعم QEMU محاكاة منصات OpenRISC. [28]
انظر أيضا
- Amber (نواة المعالج) – مشروع OpenCores المتوافق مع ARM
- مؤسسة السيليكون الحرة والمفتوحة المصدر
- أوبن ريسك 1200
- OVPsim ، منصات افتراضية مفتوحة
- أوبن سبارك
- ليون
- شبكة ميكو 32
- ريسك-V
مراجع
- ^ "النسخ المنشورة" . تم الاسترجاع في 2021-03-28 .
- ^ "امتدادات الفاصلة العائمة العاملة على 32 بت/64 بت" . تم الاسترجاع في 2021-03-28 .
- ^ "امتدادات المتجهات/معالجات الإشارة الرقمية (SIMD) التي تعمل على بيانات 8 و16 و32 و64 بت" . تم الاسترجاع في 2021-03-28 .
- ^ "الهندسة المعمارية - OpenRISC". OpenRisc.io . تم الاسترجاع في 2021-04-17 .
- ^ كلارك، بيتر (2000-02-28). "نواة معالج مجانية 32 بت تصل إلى الشبكة". مجلة إلكترونيك إنجينيرنج تايمز ( EE Times ) . سان فرانسيسكو ، كاليفورنيا، الولايات المتحدة: أسبن كور ميديا . تم الاسترجاع في 2019-03-21 .
- ^ "التنفيذات - OpenRISC". OpenRisc.io . تم الاسترجاع في 2021-04-17 .
- ^ "التنفيذات - OpenRISC". OpenRisc.io . تم الاسترجاع في 2021-04-17 .
- ^ Pelgrims, Patrick; Tierens, Tom; Driessens, Dries (2004). "Basic Custom OpenRISC System Hardware Tutorial: Embedded system design based upon Soft- and Hardcore FPGAs" (PDF) . De Nayer Instituut . 1.0. مؤرشف من الأصل (PDF) في 2006-11-27 . تم الاسترجاع في 2009-03-03 .
- ^ لي، شيانغ؛ زو، لين. منصة مفتوحة المصدر مضمنة تعتمد على OpenRISC وDE2-70 (ماجستير). المعهد الملكي للتكنولوجيا (KTH)، السويد. مؤرشف من الأصل في 2011-10-06.برنامج SoC
- ^ "System-on-Chip - OpenRISC". OpenRisc.io . تم الاسترجاع في 2021-04-17 .
- ^ مركز إصدارات Samsung مفتوح المصدر، اتبع الروابط → TV & VIDEO → TV → DTV → ETC → OR1200.zip
- ^ صفحة ويكي مجتمع مشروع Linux-sunxi حول وحدة التحكم AR100. تم الاسترجاع في 20 يوليو 2013.
- ^ UVM Reference Flow، موقع Accellera (بدون تاريخ).
- ^ تم النشر في قوائم البريد الإلكتروني openrisc على lists.openrisc.net في 8 أبريل 2012 بواسطة فريدريك بروهن، الرئيس التنفيذي لشركة ÅAC Microtec
- ^ "اختراق سويدي في الفضاء على قمر صناعي تابع لوكالة ناسا باستخدام إلكترونيات من شركة ÅAC Microtec". ÅAC Microtec (بيان صحفي). 2012-10-11. مؤرشف من الأصل في 2014-01-18 . تم الاسترجاع في 2018-03-17 .
- ^ “Svenskt genombrott i rymden på NASA-satellit med elektronik från ÅAC Microtec” [اختراق سويدي في الفضاء على قمر ناسا الصناعي باستخدام إلكترونيات من ÅAC Microtec] (خبر صحفى) (بالسويدية). 2012-10-11 . تم الاسترجاع 2018/03/16 – عبر Mynewsdesk .[ رابط معطل ] عنوان URL البديل
- ^ "دبلوم مهندس دبلوم مهندس عمل ستيفان والنتويتز". 2009–2013. مؤرشف من الأصل في 13 أبريل 2013.
- ^ Wallentowitz, Stefan; Wild, Thomas; Herkersdorf, Andreas. "Multicore Architecture and Programming Model Co-Optimization (MAPCO)" (PDF) (ملصق بحثي في المدرسة الصيفية الدولية السادسة حول الهندسة المعمارية المتقدمة للحاسوب والتجميع للأنظمة عالية الأداء والمضمنة (ACACES)، 11-17 يوليو 2010). تيراسا (برشلونة)، إسبانيا. مؤرشف من الأصل (PDF) في 10 فبراير 2013. تم الاسترجاع في 2018-10-29 .
- ^ الرقائق (المنطق القابل للبرمجة، وحفظ الكمبيوتر باستخدام FPGAs، وOpenCores وOpenRISC 1000). اجتماع OSHUG رقم 9، Skills Matter، 116-120 Goswell Road، لندن، 21 أبريل 2011.
- ^ نظام عملي على الشريحة (برمج نظام FPGA مفتوح المصدر الخاص بك). اجتماع OSHUG رقم 17، مركز التعاون الإبداعي، 16 شارع أكتون، لندن، 29 مارس 2012.
- ^ معالج OpenRISC 1200 الناعم محفوظ في 2012-05-13 على موقع Wayback Machine . تدوينة كتبها Sven-Åke Andersson، 2 مارس 2012.
- ^ ماكسفيلد، كلايف (2012-05-03). "مقارنة أربع نوى معالجات ناعمة ذات 32 بت". مجلة إلكترونيك إنجينيرنج تايمز ( EE Times ) . سان فرانسيسكو ، كاليفورنيا، الولايات المتحدة: أسبن كور ميديا . تم الاسترجاع في 2019-03-21 .
- ^ محاكي OpenRISC في JavaScript يمكنه تشغيل Wayland
- ^ "llvm-or1k". GitHub . 2018-04-06 . تم الاسترجاع 2019-03-21 .
- ^ "GCC 9 changelog". GNU . تم الاسترجاع في 15 يونيو 2022 .
- ^ "git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/". git.kernel.org. مؤرشف من الأصل في 2012-07-08 . تم الاسترجاع في 2011-10-17 .
- ^ "Linux 3.1". Kernel Newbies . تم الاسترجاع في 2011-10-17 .
- ^ سجل التغييرات QEMU 1.2
روابط خارجية
- الموقع الرسمي
- ترخيص نواة أشباه الموصلات مفتوحة المصدر، مجلة هارفارد للقانون والتكنولوجيا 25، المجلد 131 (2011) مقال يحلل القانون والتكنولوجيا والأعمال المتعلقة بنواة أشباه الموصلات مفتوحة المصدر
- Beyond Semiconductor هي شركة تصنيع أشباه الموصلات التجارية بدون مصانع أسسها مطورو OpenRISC
- الموقع الإلكتروني لشركة Dynalith Systems.
- الموقع الإلكتروني لشركة إمبيراس.
- موقع شركة فليكس
- موقع شركة جينيك
- مقالة في جريدة إيتيمز
- برنامج تعليمي حول OpenRISC
- jor1k على GitHub ، ومحاكي OpenRISC 1000 في JavaScript
