در این مرحله، RISC V غیرقابل توقف به نظر می رسد. اون چیز خوبیه. اما این یک راه حل مناسب برای همه نیست، و با دردسرهای فزاینده خود مواجه خواهد شد و بسیاری از آن ها در سازگاری نرم افزاری و در اطراف آن اتفاق می افتد. این همان مانعی را که قبلا وجود داشت ایجاد نمی کند.
این بدان معنی است که پیاده سازی از طراحان تراشه مستقل RISC V مانند SiFive، Andes و CodaSIP ممکن است کمی متفاوت باشد. همه به طور کامل از همه قوانین پیروی می کنند، اما برخی افراد به طور کامل تری رعایت می کنند. و در بسیاری از شرکتهای بزرگ تولید تراشه با طراحیهای RISC V، چه کسی میداند چه اتفاقی در حال رخ دادن است.
احتمالاً این بدان معناست که نرم افزار نوشته شده برای یک تراشه RISC V روی تراشه RISC V دیگر اجرا نمی شود یا حداقل به خوبی اجرا نمی شود.
همچنین کاملاً ممکن است که روزی محیط نرم افزار RISC V بر روی راه حل های سازگارتر همگرا شود. این کار سالها طول میکشد و پر از مشکلات است — کسی ناسازگاری درایور چاپگر و GPU را به خاطر دارد؟ — اما هنوز احتمال دارد.
اما همه اینها یک مشکل دارد. RISC V منبع باز است، به این معنی که هر کسی که میخواهد یک تراشه RISC V طراحی کند تا حد زیادی این انعطافپذیری را دارد که بتواند انواع تغییرات را در پیادهسازی خاص خود از ISA ایجاد کند. این بدان معناست که RISC V همه کمی متفاوت است. سازمان RISC V این مشکل را پیشبینی کرد و مجموعهای از الزامات سازگاری را تعیین کرد، و در حالی که همه میخواهند از آنها پیروی کنند، هیچ مکانیسم اجرایی واقعی برای جلوگیری از وقوع آن وجود ندارد.
منبع: Cadence
سعی کنید برخی از زبان های برنامه نویسی محبوب را در مک بوک جدید مجهز به Apple M1 دانلود کنید و احتمالاً متوجه خواهید شد که این نرم افزار روی M1 کار نمی کند یا به نسخه بتای جایگزین نیاز دارد. این در واقع بسیار مهم است زیرا به این معنی است که هر کسی که کد قدیمی را اجرا می کند باید برای تغییر به یک ISA جدید اصطکاک قابل توجهی را تحمل کند.
اول اینکه روش استفاده از نرم افزار تغییر کرده است. سیستمهای عامل به دلیل اینترنت و رایانش ابری نسبت به گذشته اهمیت کمتری دارند (هنوز اهمیت دارند، اما به یک شکل نیستند.) تا زمانی که آن پردازنده زیربنایی بتواند ترافیک اولیه وب را مدیریت کند، راهی برای اجرای نرمافزار بر روی آن وجود خواهد داشت. احتمالاً مشکلاتی در انتقال بسیاری از برنامه های کاربردی نرم افزاری رایج به RISC V وجود خواهد داشت، و همانطور که اغلب اشاره کردیم، این عاملی است که Arm را از مرکز داده دور نگه داشته است، اما این تنها بخش کوچکی از بازار است.
ISA ها فوق العاده چسبناک هستند، تغییر به یک جدید چیزی است که اکثر شرکت های تراشه از انجام آن بیزارند. به عنوان مثال، کوالکام چندین دهه است که تراشههای مبتنی بر Arm میسازد، و حتی با وجود اینکه Arm از آنها شکایت میکند، بعید است که کوالکام هرگز محصولات اصلی خود را به RISC V منتقل کند، زیرا تمام نرمافزارهای نوشته شده برای تراشههای مبتنی بر کوالکام را ناکارآمد نشان میدهد. ، اگر غیر قابل اجرا نباشد. ما نمی خواهیم در این مورد اغراق کنیم، تغییر غیرممکن نیست، فقط سخت است. همانطور که در بالا گفتیم، اصطکاک زیادی دارد.
روزی روزگاری میتوانست جلوباز نمایش باشد. دهه 1980 شاهد جنگ کامل سیستمهای عامل بود که نتیجه آن به شدت به تراشهها و ISAهای زیربنایی بستگی داشت. این نوع مشکل نرم افزاری جذابیت RISC V را به شدت کاهش می دهد، به خصوص برای برخی از پروژه های جاه طلبانه تر مانند CPU برای سرورها. اما این بار متفاوت خواهد بود. واقعاً دو دلیل وجود دارد که چرا این تکه تکه شدن نرم افزار RISC V ممکن است در نهایت اهمیت چندانی نداشته باشد.
دلیل دوم اینکه چرا این ممکن است اهمیت چندانی نداشته باشد این است که بسیاری از مواردی که RISC V برای آن استفاده می شود به نرم افزار رایج متکی نیست – صدها تراشه RISC V برای IoT، صنعتی و سایر برنامه های کاربردی تعبیه شده طراحی شده اند. ما فکر می کنیم RISC V بر این بازار مسلط خواهد شد. اگر کسی سیستم عامل اینترنت اشیا (IoT) را ارائه ندهد، واقعاً نیازی به معماری تراشه مشترک برای این دستگاه ها نیست. و ما معتقدیم که هرگز یک سیستم عامل برای IoT وجود نخواهد داشت.
تمام هدف پردازنده ها اجرای نوعی نرم افزار است. و حتی اگر ISA و توسعهدهنده نرمافزار چندین لایه از هم فاصله دارند، ISAها برای تراشهها بسیار اساسی هستند که تغییرات در یک ISA مشکلات نرمافزاری واقعی را ایجاد میکند.
این می توانست مشکل بزرگی برای پذیرش RISC V باشد. با این حال، در یک لحظه تقریبا عالی وارد بازار شد. درست زمانی که Arm در آغوش کودبانک سافت بانک به خواب زمستانی رفت و انگیزه خود را برای جذب مشتریان جدید از دست داد، استارت آپ های نیمه استارتاپی برای اولین بار در یک دهه اخیر دوباره شروع به جوانه زدن کردند. این شامل رشد نوپا استارتآپهای نیمهآمریکا و انفجار مطلق آنها در چین است. هیچ یک از آن شرکتها چندین دهه وابستگی قدیمی به Arm نداشتند و از راهحلی که هیچ هزینهای نداشت راضی بودند.
ابتدا مقداری پس زمینه RISC V یک معماری مجموعه دستورالعمل منبع باز (ISA) است که جایگزینی «رایگان» برای Arm است. ISA ها مجموعه ای از “طرح های” رایج، مهم اما غیر جذاب را برای پردازنده ها ارائه می دهند. هر پردازنده ای برای انجام برخی ریاضیات اولیه به آنچه یک ISA ارائه می دهد نیاز دارد. طراحی و نگهداری آنها کار زیادی میطلبد، اما تمایز چندانی در محصول نهایی ایجاد نمیکنند، به این معنی که شرکتهای تراشهای که از آنها استفاده میکنند، مزیت بزرگی را در برونسپاری این کار به شخص ثالثی مانند Arm میبینند.
برداشت سردبیر: به طور کلی، ما طرفداران بزرگ RISC V هستیم. برخی از کارها را به خوبی انجام می دهد، بسیاری از موارد دیگر را به اندازه کافی خوب انجام می دهد و نشانه های واضحی از پذیرش و جذابیت دارد. این نیاز واقعی بازار را به شیوه ای نوآورانه برآورده می کند، دقیقاً همان چیزی که ما دوست داریم از فناوری خود ببینیم. بنابراین ما این را از موضع عشق می گوییم – RISC V یک مشکل نرم افزاری بزرگ خواهد داشت. خبر خوب این است که ممکن است مهم نباشد.