افزودن به معماری RISC-V با شتابدهندههای مخصوص دامنه

هنگامی که بازار RISC-V برای اولین بار شروع شد، تمرکز اولیه کاهش هزینه طرحهایی بود که از معماری مجموعه دستورالعملهای اختصاصی سی پی یو (ISAها) در کاربردهای عمیقا نهفته استفاده میکردند. هنگامی که این سیستم بر تراشه ها (SoC) در تکنولوژی فرآیند نیمه رسانای FinFET شروع به ساخته شدن کردند، هزینه ماسک سیلیکون به حدی افزایش یافت که بسیاری از ماشینهای حالت متناهی با دستگاههای کوچک قابلبرنامهریزی مبتنی بر مجموعه دستورالعمل RISC-V جایگزین شدند. اینها هیجان اولیه و بعدها کالایی شدن هستههای RISC ساده را از سال ۲۰۱۴ تا ۲۰۱۸ ایجاد کردند.
در مرور زمان که معماری RISC-V بالغ تر شد و طراحان SoC با ISA آشنا شدند، در برنامههای کاربردی زمان واقعی که مستلزم عملکرد بالا بودند به کار گرفته شدند: به طور خاص، به عنوان یک رابط سطح بالاتر برای شتابدهنده های بسیار تخصصی برای کاربردهایی مانند هوش مصنوعی. یک دلیل کلیدی برای این کاربرد این است که، RISC-V یک معماری باز برای کاربران است تا بتوانند به ISA آن دستورالعمل اضافه کنند، بنابراین پردازشگرهای RISC-V مجبور نبودند که با شتابدهندهها به عنوان دستگاههای ورودی و خروجی نگاشت شده در حافظه برخورد کنند. در عوض، آنها میتوانند از یک کمک پردازنده دارای زمان تاخیر پایین استفاده کنند.
در دسترس بودن پردازندههایی با گسترش برداری، شتابدهندههای تخصصی را قادر میسازد تا لایههای بین حلقههای داخلی هسته را برای کاربردهایی مانند هوش مصنوعی (AI)، واقعیت تقویتشده / واقعیت مجازی (AR/VR)، و بینایی کامپیوتری پردازش کنند. اما این کار بدون پسوندهای هدفمند مانند یک دستورالعمل load سفارشی برای آوردن دادهها از یک شتابدهنده خارجی به رجیسترهای برداری داخلی امکان پذیر نیست.
حرکت با این تغییر، مدل برنامهنویسی مورد نیاز این برنامهها است. شتابدهنده ویژه، که یک آرایه بزرگ از ضربکنندهها است، بسیار کارآمد است، اگر چه در عمل و برای حرکت دادهها بسیار غیرقابلانعطاف است.
تصویر: گسترش بردار استاندارد در RISC-V تقویتشده با دستورالعملهای تخصصی سفارشی، یک همراه ایدهآل برای شتابدهنده است
این را با یک پردازنده چند منظوره مانند x86 مقایسه کنید که به برنامهنویس امکان انعطافپذیری نهایی برنامه را بدون توجه به محدودیتهای موتور محاسباتی میدهد. البته این در صورتی است که طراحی دارای توان ۱۰۰ وات برای مصرف باشد، که اکثراً این طور نیست.
راهحل واضح، ترکیب انعطافپذیری یک CPU با کاربرد عمومی با یک شتابدهنده است که میتواند یک کار بسیار خاص را انجام دهد (شکل بالا را ببینید). در RISC-V، توسعه بردار استاندارد در حال تکامل تقویتشده با دستورالعملهای تخصصی سفارشی، یک همراه ایدهآل برای شتابدهنده است، و این اقتباس در ۱۸ ماه گذشته به عنوان راهحلهای شتاب ویژه دامنه (DSA) که بر روی پلتفرمهای RISC-V به هم میپیوندند، آشکار شدهاست.
برای ممکن ساختن این چشمانداز، مشاهده کردیم که شتابدهنده باید قادر به اجرای مجموعه دستورها خود با استفاده از منابع خود از جمله حافظه باشد.
برای ساده و مؤثر کردن اجرای شتاب دهنده، RISC-V همچنین باید بتواند میکروکد را تا حد لازم کش بدهد و تمام اطلاعات کنترل مورد نیاز را در یک دستور به شتابدهنده بدهد. علاوه بر این، این مجموعه دستور شتابدهنده باید از رجیسترهای اسکالر پردازنده RISC-V و رجیسترهای برداری و همچنین منابع خود مانند فایلهای ثبت کنترل و حافظه آگاه باشد.
هنگامی که شتابدهنده نیاز به کمک برای مرتب کردن یا دستکاری دادهها به روشهای خاص داشت، معماری Andes با یک واحد پردازش برداری (VPU) برای کنترل کار های پیچیدهای مثل جایگشت، شیفتدادن،جمعآوری، فشردهسازی و گسترش دادهها سر و کار دارد. در بین لایهها، هستههایی وجود دارند که شامل پیچیدگیهایی هستند. در اینجا VPU انعطافپذیری لازم برای کمک به رفع این نیاز را فراهم میکند.
بیشتر بخوانید: محققان یک برچسب شناسایی تایید هویت کوچک میسازند
در این سوکت ها، شتابدهنده و VPU هر دو حجم عظیمی از محاسبات موازی را انجام میدهند. از این رو سختافزار را به گونهای اضافه کردیم تا پهنای باند زیر سیستم حافظه را به گونهای چشمگیر افزایش دهیم که با نیاز به محاسبات مطابقت داشته باشد.
اولین پردازشگر برداری RISC-V ساخت NX27V ،Andes، محاسبات را در واحدهای اعداد صحیح ۸ بیتی، ۱۶ بیتی و ۳۲ بیتی به نقاط شناور ۱۶ بیتی و ۳۲ بیتی انجام میدهد. همچنین از فرمت Bfloat16 و Int4 برای کاهش پهنای باند ذخیرهسازی و انتقال برای مقادیر وزنی الگوریتم های یادگیری ماشین پشتیبانی میکند. مشخصات بردار RISC-V در اجازه دادن به طراحان برای پیکربندی پارامترهای کلیدی طراحی مانند طول بردار، تعداد بیتها در هر ثبت بردار، و عرض شبیهسازی، تعداد بیتهای پردازششده توسط موتور بردار در هر چرخه بسیار انعطافپذیر است.
طول بردار NX27V تا ۵۱۲ بیت است و میتواند تا ۴۰۹۶ بیت را با ترکیب هشت رجیستر برداری گسترش دهد. با اضافه شدن چندین واحد عملکردی که در خطوط لوله موازی (pipeline) عمل میکنند، این سیستم میتواند محاسبات مورد نیاز در کاربردهای متنوع را حفظ کند. در یک پیادهسازی پیکربندی شده با طول برداری ۵۱۲ بیتی و عرض مشابه، تحت شرایط بدترین حالت در مساحت ۰.۳ میلی متر مربع به سرعت ۱ گیگاهرتز در ۷ نانومتر میرسد. برای پشتیبانی از توسعه نرمافزار، علاوه بر کامپایلر، دیباگر، کتابخانههای برداری و شبیهساز چرخه، یک ابزار تجسم برای خط لوله NX27V، به نام Clarity، به تحلیل و بهینهسازی عملکرد حلقههای بحرانی کمک میکند. این راهحل در برنامه دسترسی اولیه ما موجود شده است.
در ۱۵ ماه گذشته، ما تقاضای زیادی برای عملکرد بالا با افزودن یک پردازنده RISC-V قدرتمند، تطبیق آن با یک زیرسیستم حافظه پهنای باند بالا، و نزدیک کردن شتابدهنده به CPU مشاهده کردهایم.
دیدگاهتان را بنویسید