ریسک پنج

از ویکی‌پدیا، دانشنامهٔ آزاد
ریسک پنج (RISC-V)
طراحدانشگاه_کالیفرنیا،_برکلی
بیت‌ها
  • ۳۲
  • ۶۴
  • ۱۲۸
تاریخ معرفی۲۰۱۰
نسخه
  • unprivileged ISA 20191213,[۱]
  • privileged ISA 20190608[۲]
طرحRISC
گونهذخیره-بار
کدگذاریمتغیر
اندیانکوچک[۱][۳]
اندازه صفحه4 KiB
افزونه‌ها
  • M: Multiplication
  • A: Atomic
  • F: Floating point (32-bit)
  • D: FP Double (64-bit)
  • Q: FP Quad (128-bit)
آزاد بودنبله
ثبّات‌ها
هدف اصلی
  • ۱۶
  • ۳۲
(شامل یک رجیستر همواره صفر)
ممیز شناور۳۲ (اختیاری)

ریسک پنج (به انگلیسی: RISC-V) یک معماری مجموعه دستورالعمل استاندارد باز (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 پایه و افزونه‌های آن در یک تلاش جمعی بین صنعت، جامعه تحقیقاتی و موسسات آموزشی توسعه یافته‌است. دستورالعمل‌های پایه (و کدگذاری آنها)، جریان کنترل، رجیسترها (و اندازه آنها)، حافظه و آدرس دهی، منطق (یعنی عدد صحیح) را دستکاری می‌کند و سایر موارد جانبی را مشخص می‌کند. این پایگاه به تنهایی می‌تواند یک رایانه ساده با اهداف عمومی را با پشتیبانی کامل از نرم‌افزار، از جمله یک کامپایلر عمومی، پیاده‌سازی کند.

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

بسیاری از رایانه‌های ریسک پنج ممکن است افزونه فشرده سازی را برای کاهش مصرف برق، اندازه کد و استفاده از حافظه اجرا کنند. همچنین برنامه‌هایی در آینده برای پشتیبانی از hypervisors و مجازی سازی وجود دارد.[۹]

پایه‌ها و افزونه‌های استاندارد (۲۰۱۹۱۲۱۳)
نام شرح نسخه وضعیت [الف]
پایه
RVWMO سفارش حافظه ضعیف ۲٫۰ تصویب شده
RV32I مجموعه دستورالعمل پایه، ۳۲ بیتی ۲٫۱ تصویب شده
RV32E مجموعه دستورالعمل Base Integer (تعبیه شده)، ۳۲ بیتی، ۱۶ رجیستری ۱٫۹ Open
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 ۰٫۱ یخ زده
  1. انتظار می‌رود قسمت‌های یخ زده تغییری نکنند و تنها یک اطلاع‌رسانی برای تصویبشان باقی مانده باشد

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام isa وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  2. ۲٫۰ ۲٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام priv-isa وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  3. Big and bi-endianness supported as extensions
  4. Demerjian, Chuck (August 7, 2013). "A long look at how ARM licenses chips: Part 1". SemiAccurate.
  5. Demerjian, Chuck (August 8, 2013). "How ARM licenses its IP for production: Part 2". SemiAccurate.
  6. "Wave Computing Closes Its MIPS Open Initiative with Immediate Effect, Zero Warning". 2019-11-15.
  7. ۷٫۰ ۷٫۱ ۷٫۲ ۷٫۳ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام isasbfree وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  8. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام rocketsspeed وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  9. ۹٫۰ ۹٫۱ Waterman, Andrew; Lee, Yunsup; Avizienas, Rimas; Patterson, David; Asanović, Krste. "Draft Privileged ISA Specification 1.9". RISC-V. RISC-V International. Archived from the original on 26 August 2018. Retrieved 30 August 2016.

مطالعه بیشتر[ویرایش]

پیوند به بیرون[ویرایش]