ریسک پنج

ریسک پنج  یک معماری مجموعه دستورالعمل استاندارد باز (ISA) است که بر اساس اصول رایانه تنظیم شده دستورالعمل کاهش یافته (RISC) تنظیم شده‌است. برخلاف بیشتر طرحهای ISA دیگر، ISA ریسک پنج تحت مجوزهای منبع باز (Open-hardware) ارائه می‌شود که استفاده از آنها نیازی به هزینه ندارد. تعدادی از شرکت‌ها سخت‌افزار بر پایه ریسک پنج ارائه می‌دهند، سیستم عامل‌های آزاد با پشتیبانی ریسک پنج در دسترس هستند و مجموعه دستورالعمل‌ها در چندین ابزار نرم‌افزار معروف پشتیبانی می‌شوند.

از ویژگی‌های قابل توجه ISA ریسک پنج می‌توان به الگوهای بیت برای ساده‌سازی مالتی پلکسرها در پردازنده، نقطه شناور IEEE 754، طرحی که از نظر معماری خنثی است و قرار دادن مهمترین بیت‌ها در یک مکان ثابت برای سرعت دادن به افزونه علامت اشاره کرد. این مجموعه دستورالعمل برای طیف وسیعی از کاربردها طراحی شده‌است. دستورهای ریسک پنج طول متغیری دارند و همواره می‌توان با افزونه‌ها کدگذاری جدیدی اضافه کرد. ریسک پنج در سه استاندارد ۳۲، ۶۴ و ۱۲۸ بیتی ارائه می‌شود که از آن در سیستم‌های کوچک جاسازی شده، رایانه‌های شخصی، ابر رایانه‌هایی با پردازنده‌های برداری و رایانه‌های موازی نصب شده در رک ۱۹ اینچی استفاده می‌شود.

این پروژه در سال ۲۰۱۰ در دانشگاه کالیفرنیا، برکلی همراه با بسیاری از مشارکت کنندگان داوطلب که به دانشگاه وابسته نبودند، آغاز شد. برخلاف سایر طرح‌های دانشگاهی که معمولاً فقط برای سادگی در ارائه و آموزش بهینه می‌شوند، طراحان قصد داشتند که مجموعه دستورالعمل‌های ریسک پنج برای رایانه‌های کاربردی قابل استفاده باشد.

از ژوئن ۲۰۱۹، نسخه 2.2 ISA فضای کاربر و نسخه 1.11 ISA ممتاز منجمد شده و اجازه توسعه نرم‌افزار و سخت‌افزار را می‌دهد. فضای کاربر ISA که اکنون به ISA غیرمجاز تغییر نام داده‌است، به عنوان نسخه ۲۰۱۹۱۲۱۳ به روزرسانی، تصویب و منجمد شد. مشخصات اشکال زدایی به عنوان پیش نویس، نسخه ۰٫۱۳٫۲ موجود است.

 ریشه 
بندانگشتی|نمونه اولیه یک پردازنده ریسک پنج، ژانویه ۲۰۱۳

طراحی پردازنده به مهارت طراحی در چندین تخصص نیاز دارد: منطق الکترونیکی دیجیتال، کامپایلرها و سیستم عامل‌ها. برای تأمین هزینه‌های چنین تیمی، فروشندگان تجاری طراحی‌های رایانه ای، مانند ARM Holdings و MIPS Technologies هزینه ای بابت حق استفاده از طرح‌ها، حق ثبت اختراع و حق تکثیر می‌گیرند.
آنها همچنین اغلب قبل از انتشار اسنادی که مزایای دقیق طرحهای آنها را شرح می‌دهد، به توافق‌نامه عدم افشای اطلاعات احتیاج دارند. در بسیاری از موارد، آنها هرگز دلایل انتخاب خود را توضیح نمی‌دهند.

ریسک پنج با هدف ساخت یک ISA عملی آغاز شد که دارای منابع آزاد باشد، از نظر علمی و در هر طراحی سخت‌افزاری یا نرم‌افزاری بدون حق امتیاز قابل استفاده باشد. همچنین، منطق هر قسمت از پروژه، حداقل به‌طور کلی توضیح داده شده‌است. طراحان ریسک پنج دانشگاهی هستند اما در طراحی کامپیوتر تجربه قابل توجهی دارند. ریسک پنج پروژه ای از مجموعه پروژه‌های دانشگاه برکلی در حوزه طراحی رایانه است. بخشی از آن برای کمک به چنین پروژه‌هایی ایجاد شده‌است.

به منظور ایجاد یک جامعه گسترده و مداوم از کاربران و در نتیجه جمع‌آوری طرح‌ها و نرم‌افزارها، طراحان ریسک پنج قصد داشتند از طیف گسترده‌ای از کاربردهای عملی پشتیبانی کنند: پیاده‌سازی‌های کوچک، سریع و کم مصرف.

طراحان می‌گویند که مجموعه دستورالعمل‌ها رابط اصلی رایانه است زیرا بین سخت‌افزار و نرم‌افزار قرار دارد. اگر یک مجموعه دستورالعمل خوب باز باشد، همه برای استفاده در دسترس باشند، باید با اجازه استفاده مجدد بیشتر هزینه نرم‌افزار را به طرز چشمگیری کاهش دهد. همچنین باید رقابت بین ارائه دهندگان سخت‌افزار، که می‌توانند از منابع بیشتری برای طراحی استفاده کنند و هزینه کمتری برای فراهم کردن پشتیبانی نرم‌افزار بپردازند، افزایش یابد.

طراحان ادعا می‌کنند که اصول جدید در طراحی مجموعه دستورالعمل‌ها به مرور نادر شده‌اند، زیرا موفق‌ترین طراحی‌های چهل سال گذشته به‌طور فزاینده ای شبیه به هم شده‌اند. افرادی که شکست خوردند، بیشتر به دلیل این بوده‌است که شرکت‌های حامی مالی آنها از نظر تجاری شکست خوردند، نه به این دلیل که مجموعه دستورالعمل‌ها از نظر فنی ضعیف بودند؛ بنابراین، یک مجموعه دستورالعمل باز کاملاً طراحی شده با استفاده از اصول کاملاً ثابت باید پشتیبانی طولانی مدت بسیاری از فروشندگان را جلب کند.

ریسک پنج همچنین برای کاربردهای علمی و دانشگاهی مناسب است. سادگی زیرمجموعه عدد صحیح اجازه تمرینات پایه دانشجویی را می‌دهد. زیرمجموعه عدد صحیح یک ISA ساده است که قادر است ماشین‌های تحقیق را کنترل کند. ISA با طول متغیر برنامه‌های افزودنی را برای تمرین دانشجویی و تحقیق امکان‌پذیر می‌کند. مجموعه دستورالعمل‌های ممتاز لوازم تحقیق در مورد پشتیبانی سیستم عامل، بدون طراحی مجدد کامپایلرها را فراهم می‌کند. مالکیت معنوی باز ریسک پنج اجازه می‌دهد تا طرح‌های آن منتشر، استفاده مجدد و اصلاح شود.

 طراحی 
 ISA پایه و افزونه‌ها 
ریسک پنج دارای یک طراحی مدولار، متشکل از قطعات پایه متنوع، با افزونه‌های اختیاری اضافه شده‌است. ISA پایه و افزونه‌های آن در یک تلاش جمعی بین صنعت، جامعه تحقیقاتی و موسسات آموزشی توسعه یافته‌است. دستورالعمل‌های پایه (و کدگذاری آنها)، جریان کنترل، رجیسترها (و اندازه آنها)، حافظه و آدرس دهی، منطق (یعنی عدد صحیح) را دستکاری می‌کند و سایر موارد جانبی را مشخص می‌کند. این پایگاه به تنهایی می‌تواند یک رایانه ساده با اهداف عمومی را با پشتیبانی کامل از نرم‌افزار، از جمله یک کامپایلر عمومی، پیاده‌سازی کند.

افزونه‌های استاندارد برای کار با همه پایه‌های استاندارد و بدون تعارض با یکدیگر مشخص شده‌اند.

بسیاری از رایانه‌های ریسک پنج ممکن است افزونه فشرده سازی را برای کاهش مصرف برق، اندازه کد و استفاده از حافظه اجرا کنند. همچنین برنامه‌هایی در آینده برای پشتیبانی از هایپروایزر و مجازی سازی وجود دارد.
+پایه‌ها و افزونه‌های استاندارد (۲۰۱۹۱۲۱۳) نام شرح نسخه وضعیت  پایه RVWMO سفارش حافظه ضعیف ۲٫۰  RV32I مجموعه دستورالعمل پایه، ۳۲ بیتی ۲٫۱  RV32E مجموعه دستورالعمل Base Integer (تعبیه شده)، ۳۲ بیتی، ۱۶ رجیستری ۱٫۹  RV64I مجموعه دستورالعمل پایه، ۶۴ بیتی ۲٫۱  RV128I مجموعه دستورالعمل پایه، ۱۲۸ بیتی ۱٫۷  افزونه M افزونه استاندارد برای ضرب و تقسیم عدد صحیح ۲٫۰  A افزونه استاندارد برای دستورالعمل‌های اتمی ۲٫۱  F افزونه استاندارد برای یک شناور با دقت دقیق ۲٫۲  D افزونه استاندارد برای نقطه شناور دو دقیق ۲٫۲  G خلاصه ای برای مجموعه عدد پایه (I) و افزونه‌های بالا (MAFD)    S افزونه استاندارد برای نقطه شناور چهار دقیق ۲٫۲  L افزونه استاندارد برای نقطه شناور اعشاری ۰٫۰  C افزونه استاندارد برای دستورالعملهای فشرده شده ۲٫۰  B افزونه استاندارد برای عملیات‌های بیتی ۰٫۹۲  J افزونه استاندارد برای زبانهای ترجمه شده به صورت پویا ۰٫۰  T افزونه استاندارد برای حافظه تراکنشی ۰٫۰  P افزونه استاندارد برای دستورالعمل‌های بسته‌بندی شده SIMD ۰٫۲  V افزونه استاندارد برای عملیات برداری ۰٫۹  N افزونه استاندارد برای وقفه‌های سطح کاربر ۱٫۱  H افزونه استاندارد برای Hypervisor ۰٫۴  ZiCSR ثبت کنترل و وضعیت (CSR) ۲٫۰  Zifenci Instruction-Fetch Fence ۲٫۰  Zam Misaligned Atomics ۰٫۱  Ztso Total Store Ordering ۰٫۱ 

 جستارهای وابسته 
 RISC
 معماری ARM
 برکلی ریسک

 منابع 

 مطالعه بیشتر 




 Waterman, Andrew; Lee, Yunsup; Avizienis, Rimas; Cook, Henry; Patterson, David A. ; Asanović, Krste (25–2۷ اوت ۲۰۱۳). The RISC-V Instruction Set (PDF). Hot Chips 25. Stanford University, Palo Alto, California, USA.
 Dabbelt, Palmer (7–1۱ فوریه ۲۰۱۵). RISC-V Software Ecosystem (PDF). High-Performance Computer Architecture (HPCA) 2015. San Francisco, California, USA.
 Lee, Yunsup (7–1۱ فوریه ۲۰۱۵). RISC-V "Rocket Chip" SoC Generator in Chisel (PDF). High-Performance Computer Architecture (HPCA) 2015. San Francisco, California, USA.


 پیوند به بیرون 
 وبسایت رسمی
 مرجع مجموعه دستورالعمل‌های RISC-V




رده:ریزپردازنده‌های باز
رده:ریزکنترل‌گرها
رده:معرفی‌شده‌های مرتبط با رایانه در ۲۰۱۰ (میلادی)
رده:معماری‌های مجموعه دستورالعمل
رده:فهرست‌های ریزپردازنده‌ها