اینترنت اشیا

استفاده از سخت افزار متن باز در محیط های آکادمیک: سیستم PUPL

استفاده از سخت افزار متن باز در محیط های آکادمیک: سیستم PUPL

نویسنده ی این مقاله، فرانک گورکایناک از دانشگاه صنعتی زوریخ، روند انتخاب و استفاده پلتفرم RISC-V سخت افزار متن باز تیمش در محیط های آکادمیک را توضیح داده است.

ما پنج سال پیش پروژه ی قدرت خیلی کم موازی (PULP) را در دانشگاه صنعتی زوریخ همراه با دانشگاه بولونیا تحت مدیریت لوکا بنینی شروع کردیم. هدف ما بررسی معماری ها محاسباتی جدید بود که قادرند از انرژی سیستم در طیف وسیعی از عملیات، از سیستم های کوچک که در اینترنت اشیا (IoT) گرفته تا برنامه هایی که با کارایی محاسباتی بالا (HPC) استفاده کنند. معلوم بود که ما برای ساخت همچین سیستمی به یک هسته ی پردازنده ی کوچک ولی موثر نیاز داریم. ولی کجا میتوانیم همچین هسته ی پردازنده ای را پیدا کنیم؟

کشف پردازنده های تجاری در برابر پردازنده های متن باز

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

 

اینترنت اشیا

یک سیستم PULP شامل هسته های موثر، لوازم جانبی، راه حل های اتصال و شتاب دهنده

به همین دلیل به بررسی پردازنده های متن باز پرداختیم. در حالی که تعداد زیادی از کد های Verilog و VHDL تحت نظر مجوز های متفاوت برای هسته های پردازشی گوناگون موجود بودند، مثل بیشتر خواننده های حال حاضر، ما از میزان خوب بودن طراحی و تایید این کد ها و اینکه آیا واقعا مورد استفاده قرار گرفته اند یا نه مطمئن نبودیم.

پردازشگر RISC-V در پروژه ی PULP

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

پروژه ی سیستم PULP در سال های اول از یک پردازنده ی OpenRISC 32 بیتی، با موفقیت استفاده کرد. توانستیم عملکرد اجرای هسته های OpenRISC را برای رقابت با حالت پردازنده های هنری 32 بیتی بهتر کنیم و این کار باعث ایجاد ستون و اساس سیستم های چند هسته ای موفق ما به سمت عملیات های خیلی کم قدرت شد.

اینترنت اشیا

پردازنده ی IoT 9 هسته

استفاده از پردازشگرRISC-V  به عنوان یک راه حل

در همان زمان دیدیم که  RISC-V ISA در حال محبوب شدن است. مهم ترین موضوع در مورد تصمیم گیری این مورد که در پروژه هایتان چه پردازنده ای استفاده کنید، قابلیت دسترسی به آن در یک محیط در حال توسعه، در صورت امکان با ابزار استفاده شده و شناخته شده است.مهم نیست که در توسعه ی معماری خود چقدر حرفه ای هستید، اگر نمیتوانید برای بردن آسان برنامه ها به سیستم های خود توسعه دهنده بدست آورید، نمیتوانید نتیجه ای که به دنبال آن هستید را بدست آورید. به عقیده ی من دقیقا همین نکته است که باعث میشود RISC-V ISA بیشترین سهم را در جامعه ی سخت افزار متن باز داشته باشد. با توجه به تعریف خوبی از ISA که توسط موسسه ی RISC-V (که دانشگاه صنعتی زوریخ هم از اعضای موسس آن است) ارائه شده است، تهیه ی پورت های مولف و ابزار های پشتیبانی از RISC-V برای یک جامعه ی بزرگ ممکن بود. در ضمن بیشتر این پورت ها مخالف جریان بودند و بیرون جعبه موجود هستند. ( به عنوان مثال ورژن 7.1 GCC که در آپریل سال 2017 منتشر شد.)

 

چیپ RISC-V متن باز

به همین دلیل در اوایل سال 2015، ما برای RISC-V سوییچ هم درست کردیم. توانستیم از بیشترین رشد و توسعه برای هسته ی OR10N استفاده کنیم و اجرای اولین هسته ی خود، RISC-V ISA که به اسم RI5CYشناخته شده است بدست بیاوریم و به استفاده و توسعه ی این هسته، بیش از ده ASIC در طول پروژه ادامه داده و آن را توسعه دادیم. همچنین هسته های RISC-V را برای استفاده های مختلف تطبیق داده و تعدیل کردیم و هسته های تخصصی و ویژه را برای کاربرهایی که محدودیت شدید منابع دارند اضافه کردیم. همچنین یک هسته ی 62 بیتی به نام Ariane که توانایی بوت کردن سیستم عامل لینوکس را دارد اضافه کردیم.

پس از گذشت بیش از 5 سال از اجرای این پروژه، پروژه ی سیستم PULP منجر به تولید ASIC 26 شد. این نتیجه با استفاده از تکنولوژی های متنوعی از آزمایشات اولیه با تکنولوژی های 180 نانومتری تا طراحی های اخیر به نام پوسیادن که از تکنولوژی Globalfoundries نانو متری استفاده میکرده، به دست آمده است. و هنوز کارمان تمام نشده است، در حال حاضر مشغول پروژه ها و همکاری های زیادی هستیم که از تکنولوژی سیستم PULP ما استفاده میکند و این امکان را به ما میدهند که آن را در آینده توسعه دهیم.

اینترنت اشیا

چیپ های ارائه شده در 5 سال گذشته

دستیابی به پروژه های متن باز در سیستم PULP

از همان ابتدا مشخص بود که میخواهیم پروژه متن باز سیستم PULP را، که به ما انعطاف پذیری همکاری با گروه ها و کمپانی های دیگر را میدهد، ادامه دهیم. همانطور که میبینیم در نهایت اجازه میدهد که از سراسر دنیا کمک بگیریم. ما مجوز لایه ی لحیم کاری، اقتباس مجوز آپاچی که توسط پروژه ی  LowRISC معرفی شده است را گرفتیم. پروژه یLowRISC  توسط دانشگاه کمبریج شروع شد که به پذیرش پروژه های گوناگون و مختلف کمک کرد. مخزن GitHub  ما شامل کد منبع سخت افزارهای گوناگونی است که به عنوان بخشی از پروژه ی PULP توسعه دادیم، نه تنها پردازنده های RISC-V بلکه دستگاه های جانبی( SPI، I2C، GPIO، JTAG) و سیستم های کامل از میکروکنتلر های ساده گرفته، بلکه بر پلتفرم های IoT حالت چند هسته ی هنری، همه در سیستم Verilog نوشته شده است.

اما تاکنون، بهترین قسمت این پروژه این بوده که چطور کارمان نه تنها توسط آکادمی ها بلکه توسط صنعت هم پذیرفته شود. در آخرین کنفرانس RISC-V در بارسلونا متوجه شدیم که گوگل، IBMوMXB هسته های ما را استفاده و ارزیابی کرده اند و بر  طبق کار ما طرح جدید ارائه دادند. شرکت های EDA مثل Cadence و Mentor از طرح های ما به عنوان بخشی از آموزش و ارزیابی خود استفاده کرده اند و تکنولوژی های امواج سبز، یک بیزنس تازه تاسیس کوچک در گرونوبل فرانسه، اولین محصول خود، پردازنده ی GAP8، را کاملا متکی بر معماری سیستم pulp باز چندین هسته ای کرده اند که همیشه در صفحه ی GitHub ما برای همه موجود است.

 

اینترنت اشیا

سخت افزار متن باز

وقتی مردم از پروژه های متن باز حرف میزنند، معمولا به رایگان بودن آن اشاره میکنند. بیشتر مردم فکر میکنند که این حرف یعنی هیچ هزینه ای بابت آن پرداخت نمیکنند اما آزادی و استقلال واقعی ای که از پروژه های متن باز بدست میاورید خیلی بیشتر و به نظر خود من مهم تر هم هست. کسانی که از سیستم های RISC-V ما استفاده میکنند، هر وقت که خواستند میتوانند از هر منبع دیگری به RISC-V سوییچ کنند. گذشته از آن، همان سیستم های باینری بر روی همه ی اجرا های RISC-V مطابق با استاندارد کار میکنند.

محققان میتوانند چیزی که ارائه میدهیم را بردارند و آزادانه آن را برای آزمایشات خود تغییر دهند. به خوبی میدانند که سیستم های مورد استفاده ی ایشان یک نمونه ی اسباب بازی نیست، بلکه چیزی است که در برنامه های سناریو های دنیا واقعی هم پیدا میشود. شرکت های تازه تاسیس میتوانند به عنوان نقطه ی شروع بر چیزی که ما تهیه کرده ایم تکیه کنند و زمان و انرژی خود را متمرکز بر ابداعات و نوآوری های واقعی کنند که میخواهند ارائه دهند. افرادی که به خاطر حمله های گوناگون به سیستم های خود آشفته شده اند، شانس و فرصت بررسی درون آن و دانستن اینکه در سیستم هایشان دقیقا چه چیزهایی وجود دارد را دارند. این کار شاید به طور خودکار مشکلات امنیتی را حل نکند اما یه قدم مهم برای افزایش ایمنی با دادن دسترسی به جامعه بزرگتر برای بررسی دقیق سیستمی است که با آن کار میکنید. و تمام این معافیت ها و آزادی ها هیچ هزینه ای در پی ندارد در حالی که موضوع اجرای RISC-V تجاری هم در میان است، سیستم های RISC-V سیلیکونی ما رایگان و آزادانه در GitHub در دسترس باقی مانده است.

اینترنت اشیا

نمونه هایی از سخت افزار های متن باز

مزایای RISC-V در آکادمی

وقتی که پنج سال پیش پروژه ی سیستم PULP را شروع کردیم، سخت افزار متن باز در مراحل ابتدایی خود بود. امروزه هنوز شک و تردید هایی وجود دارد، اما پروژه ی ما توسط شرکت های بزرگ و کوچک قضاوت شد و به عنوان یک گزینه ی با دوام و همچنین الگوی همکاری آزادی ثبت شد. ما با شرکای خود در دانشگاه بولونیا به خاطر مشارکت فعالانه در جامعه ی RISC-V بسیار سرافراز و مفتخریم و به عنوان حامی اصلی سخت افزار متن باز در آکادمی ادامه میدهیم.

 

پاسخی را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *