RISC-V، سرآغاز دوره ی جدید نوآوری برای طراحی تعبیه شده
در این مقاله به شرح و بررسی مزایای مدل سخت افزار متن باز RISC-V صحبت در مورد طول عمر آن، قابلیت انتقال و جابه جایی و همچنین اعتبارش پرداخته ایم. قبل از شروع مقاله باید از شما بخواهم، در صورتیکه به دنبال یادگیری تخصصی FPGA هستید حتما از سرفصل های دوره آموزش FPGA فنی پویان دیدن کنید.
RISC-V چیست؟
نیروی حرکت پشت RISC-V برای برنامه های تعبیه شده انکار ناپذیر است. امروزه، موسسه ی RISC-V بیشتر از 100 شرکت در مجموعه معماری دستور العمل باز و آزاد RISC-V دارد و عضویت در آن با ورود هر چه بیشتر ابزار، نرم افزار ها، سخت افزار ها و سیستم های عملیاتی به میدان به سرعت در حال افزایش است. RISC-V با گسترش اکوسیستم خود، به طراحان سخت افزار و نرم افزار، انتخاب قانع کننده ای برای پردازنده های تعبیه شده ی لازم میدهد، دوره ی جدیدی در نوآوری پردازنده ها در طراحی تعبیه شده آغاز کرده است.
مقر بازاریابی موسسه ی RISC-V، مزایای RISC-V را تد مارنا بیان میکند.
دلایل آغاز یک دوره ی جدید RISC-V در سه عامل مهم خلاصه میشوند: طول عمر، قابلیت انتقال و اعتبار آن.
هر سه دلیل با موردی که RISC-V را قانع کننده میسازد گره خورده اند. برعکس معماری های پردازنده ی موجود که معمولا به هر تولید، دستورالعمل هایی اضافه میکند، طراحان میتوانند با تکیه و اعتماد بر یک ISA معین با RISC-V، از ماندگاری سرمایه گذاری های نرم افزارشان مطمئن شوند. این ماندگاری مخصوصا برای برنامه های تعبیه شده، که ایمنی کارکرد، گواهی، و چرخه ی طولانی عمر محصول در آن مهم هستند، سودمند و مفید است.
ISA بی حرکت
برای استفاده ی وسیع از RISC-V و توانا کردن بازار در دیکته ی معماری های پردازنده، تیم مهندسی UC برکلی، مدت کمی قبل از اینکه این تکنولوژی را در 25 امین نشست چیپ های داغ در سال 2014 معرفی کنند، ISA را بی حرکت کردند. با تاسیس موسسه ی غیر انتفاعی RISC-V در سال 2015، اعضا موظف به نظارت و اداره ی پیشرفت های آینده ی مشخصات HW/SW و اکوسیستم شدند و همچنین به سمت قبول ISA رفتند.
طراحان با استفاده از این ISA های سنگی میتوانند پردازشگر هایی بنا به سلیقه و نیاز خود طراحی کنند و دیگر مجبور به استفاده از پردازنده های استاندارد که قابلیت سفارش پذیری پایین دارند نیستند.
در حال حاضر RTOS ها و سیستم عامل های متعددی از RISC-V پشتیبانی میکنند. RISC-V به خاطر استفاده ی رو به رشد از Linux OS، برای برنامه های تعبیه شده به طور ویژه ای جذاب و جالب توجه است. این کار طراحان را قادر میسازد تا ISA را به عنوان یک معماری استاندارد باز جدید برای اجرای مستقیم سخت افزار های بومی، به سرعت بپذیرند. با این حال حتی در صورت عدم استفاده از لینوکس، معماری بی حرکت، طول عمر، قابلیت جا به جایی و انتقال، و اعتبار و قابلیت اطمینانی که ISA برای خود قائل میشود، عوامل کلیدی در نظر گرفته شده هستند.
بسط های RISC-V
ISA بی حرکت یعنی اینکه یک نرم افزار یک بار قابل توسعه است و به طور نامحدودی بر روی هر دستگاه RISC-V که در صورت وجود از بسط های استفاده شده پشتیبانی میکند، اجرا میشود. بسط ها تنها روش هایی هستند که میتوان توسط آنها دستور العمل های جدیدی اضافه کرد. در حال حاضر 5 بسط وجود دارد که آنها هم بی حرکت هستند. این بسط ها شامل:
- M برای عدد تام ضرب و تقسیم
- A برای دستورالعمل های اتمی و هسته ای
- F برای یک نقطه ی متغیر دقیق
- D برای دقت دوبرابر نقطه ی متغیر
- C برای دستورالعمل های فشرده
مزایای پردازنده ی RISC-V
این سطح از قابلیت پیش بینی و سادگی، مزایای زیادی برای طراحی پردازنده و توسعه نرم افزار دارد. بیایید با هم نگاهی به تک تک آنها بیاندازیم.
طول عمر
به دلیل اینکه ISA ثابت و معین است و کمتر از 50 دستورالعمل را در بردارد، RISC-V ISA یک پلتفرم طراحی پایدار و تکرار دوباره ی کار بدون توجه به نتیجه ی گذشته ی آن با یک تفکیک امن و شفاف بین کاربر و حالت های خاص عرضه میکند. اگر همه ی بسط های استاندارد چندگانه اجرا شوند، عدد کلی هنوز کمتر از 200 است. به جای معرفی ورژن های جدید ISA، ضمیمه های مجموع دستورالعمل های استاندارد از طریق بسط ها، ساخته میشود و ثبات بیشتر در طراحی های آینده را آسان میکند. تعداد کمی از دستورالعمل ها نشان دهنده ی این هستند که میتوان معماری های ساده تری ساخت که به مقرون به صرفه بودن و بازده ی انرژی در اجرای پردازشگر منجر شود. این امر برای توسعه دهندگان نرم افزار به معنای حفظ سرمایه گذاری هاست. نرم افزار را یک بار بنویسید و تا ابد روی هر هسته ی RISC-V اجرایش کنید. این موضوع اغلب برای محصولاتی که طول عمر زیادی دارند و باید چندین دهه پشتیبانی شوند و همچنین برای برنامه هایی که باید به الزامات گواهی دقیق برای عدم اصلاح و تغییر پایبند باشد، بسیار بحرانی و مهم است.
قابلیت انتقال و جا به جایی
RISC-V باعث آسان تر شدن طراحی ها در حجم های بالا و زیاد میشود. به عنوان مثال، یک طرح میتواند با اجرای یک هسته ی نرم RISC-V، حمل و نقل انجام بدهد. به خاطر اینکه این نرم افزار در میان هر دستگاهی که هسته ی RISC-V دارد به طور کامل قابل حمل و انتقال است، طراحان چیزی که اساسا یک کد پردازنده ی RTL سیستم زیرمجموعه پردازنده ی بدون عضویت، و آماده برای اجرا در سخت افزار است را دارند. طراحان میتوانند طرح خود را از بهترین پلتفرم محصول خود جدا کنند، آنها را با هم تطبیق دهند و یا اصلاحش کنند. اگر FPGA انتخاب شده، نیاز به جایگزینی با دستگاه های نسل بعد داشته باشند، نیازی به بازنویسی کد نرم افزار ندارد. منبع RTL موجود فقط نیاز به هدف گیری دوباره به FPGA دیگر دارد. به علاوه اگر حجم به سطح کافی برسد، همان منبع RTL میتواند بدون نیار به پرداخت حق عضویت به یک ASIC هدف گیری کند. این کار با یک پردازنده ی x86 یا ARM ممکن نیست.
چارت هسته ی RISC-V IP
امنیت و قابلیت اعتماد
انعطاف پذیری RISC-V راه حل های منحصر به افراد، مخصوصا برای طرح های تعبیه شده ای که به امنیت عملکرد نیاز دارند، ارائه میدهد. برای مثال سیستم هایی که هسته های متعدد و کاربرد برابر دارند، به طور خودکار برای نهایی در افزونگی طراحی شده اند. یکی از هسته ها میتواند میکروسمی Mi-V RV32IM باشد و دیگری کاربرد برابری داشته باشد؛ ولی در طراحی داخلی کاملا با یکدیگر متفاوت باشند. همچنین RISC-V اجازه ی انعطاف پذیری کامل به میکرو معماری را میدهد، بنابراین هسته میتواند مقیاس های حفاظتی آشفتگی تک موردی را برای اطلاعات و دستورالعمل های حافظه ی کش تولید کند. بسیاری از تکنیک های جلوگیری از امنیت به خاطر اجازه ی دسترسی RISC-V به RTL قابل استفاده هستند.
با اینکه بعید است تغییرات مثبت و خوب معماری های پردازنده ی Intel x86 و ARM به این زودی ها از بین برود اما، اکوسیستم پردازنده ی RISC-V که برای رشد سریع در بازار تعبیه شده ثابت شده اند، اختیار داشتن مشتری به طراحان را میدهند. طراحی معماری پردازنده اساسا انعطاف پذیر است طوری که یک اجرا میتواند به بعضی از انتخاب ها در سخت افزار سرعت دهد و یا به عنوان مثال برای مصرف کم، بهینه شوند. همچنین طراحان به جای اینکه فقط به رابط هایی فروشندگان پردازنده پیشنهاد میکنن بسنده کنند، انعطاف پذیری ضمیمه شدن به هر خط اتصالی که میخواهند را دارند. هر تغییر و دگرگونی در میکرومعماری های RISC-V به دلیل ذات و ماهیت ثابت ISA، قابل قبول است.
منابع RISC-V
به منظور اینکه با RISC-V برای طراحی های بعدی، بیشتر آشنا شوید میتوانید از چندین منبع و مکان آغاز کنید.
برای اطلاعات زمینه ای در مورد RISC-V میتوانید وبسایت بنیاد RISC-V مراجعه کنید. اگر میخواهید در کار خود را به یکباره شروع کنید و کدنویسی C برای RISC-V انجام دهید، به سایت Github میکروسمی مراجعه کرده و برد توسعه خلاق IGLOO2 برای پروژه های RISC-V را بررسی کنید. میکروسمی اولین فروشنده ی FPGA بود که هسته IP معماری باز RISC-V و یک راه حل جامع نرم افزار IDE را ارائه داد. طراحان میتوانند از هسته IP RISC-V در بسیاری از FPGAهای متبنی بر فلش مانند PGAهای PolarFire، IGLOO2 و دستگاه های RTG4 استفاده کنند. صفحه خلاقیت Mi-V (تصویر 2) حاوی یک IGLOO2 FPGA با هسته RISC-V که عبارت “سلام دنیا” به صورت پیش فرض در آن برنامه نویسی شده، است.
برای توسعه کد نرم افزار، محیط توسعه یکپارچه کنسول نرم(IDE) مبتنی بر Eclipse که بر روی سیستم عامل لینوکس یا ویندوز پشتیبانی میشود، برخی برنامه ها را به طور توسعه یافته ، مانند کامپایلر C یا ++ C و قابلیت اشکال زدایی، ارائه می دهد. هسته ی IP RISC-V میکروسمی، نرم افزار توسعه Libero SoC، و کنسول نرم IDE را میتوانید به طور رایگان از سایت میکروسمی Github دانلود کنید.
برد خلاق M2GL025 با هسته ی RISC-V
RISC-V با ISA پرقدرت، سادگی، قابلیت حمل، و قابل اعتماد بودنش یک الگوی پردازنده کاملا جدید را به طراحان ارائه می دهد تا به وسیله ی آن محدودیت های موجود در شرایط پردازنده ها را کمتر کنند و مرزهای نوآوری و خلاقیت را جابجا کنند.
امیدوارم این آموزش برای شما عزیزان مفید بوده باشد. درصورتیکه به تخصص FPGA علاقمند هستید و تمایل دارید ازین تخصص کسب درآمد کنید از آموزش FPGA آموزشگاه فنی پویان استفاده کنید.