آرایههای دروازهای قابل برنامهریزی میتوانند برنامههای کاربردی را از همترازی ژنومی تا یادگیری عمیق، سرعت بخشند.
مایکل ریزر، همانطور که می گوید، "متعصب به زمان بندی" است. رایزر، یک عصبشناس در پردیس تحقیقاتی جانلیا در موسسه پزشکی هاوارد هیوز در اشبرن، ویرجینیا، بینایی مگس را مطالعه میکند. برخی از آزمایشهای او شامل قرار دادن مگسها در عرصه واقعیت مجازی غوطهور و ترسیم بیوقفه صحنه و ردیابی واکنش حشرات است. رایانههای شخصی مدرن، با سیستمعاملهای پیچیده و واحدهای پردازش مرکزی چندوظیفهای CPU، نمیتوانند دقت زمانی مورد نیاز را تضمین کنند. بنابراین ریزر، همراه با مهندسان Sciotex، یک شرکت فناوری در میدان نیوتاون، پنسیلوانیا، قطعهای از سختافزار محاسباتی را پیدا کردند که میتواند یک FPGA. ( FPGA سرواژهی عبارت{Field Programmable Gate Array }آرایه درگاه قابل برنامهریزی است. FPGAها، دستگاههای شگفتانگیزی هستند که افراد را قادر میسازند، مدارهای دیجیتالی مورد نظر خود را طراحی کنند) باشد.
برونو لوی، دانشمند کامپیوتر و مدیر مرکز تحقیقاتی Inria Nancy Grand-Est در Villers-lès-Nancy، فرانسه، میگوید: یک FPGA یا آرایه دروازه قابل برنامهریزی میدانی، اساساً یک «گل الکترونیکی» است. این مجموعه ای از صدها یا حتی میلیون ها عنصر منطقی پیکربندی نشده بر روی یک تراشه سیلیکونی است که مانند خاک رس، می توان آن را "قالب" - و حتی قالب گیری مجدد - برای سرعت بخشیدن به برنامه های کاربردی از همترازی ژنومی گرفته تا پردازش تصویر تا یادگیری عمیق انجام داد.
فرض کنید که یک محقق باید به سرعت داده های جریان یک دوربین را در تکه های 1000 بیتی پردازش کند. اکثر پردازندههای مدرن دارای پردازندههای 64 بیتی هستند و باید مشکل را به قطعات کوچکتر تقسیم کنند. Sylvain Lefebvre، دانشمند کامپیوتر Inria Nancy، میگوید، اما پیکربندی یک FPGA برای انجام این محاسبات در یک مرحله ممکن است. حتی اگر هر مرحله FPGA کندتر از همتای CPU خود باشد، او میگوید: «در واقع یک برد است، شما سریعتر پیش میروید»، زیرا مشکل از بین نمیرود. او می افزاید که FPGA ها در کاربردهایی که به زمان بندی دقیق، الگوریتم های حیاتی سرعت یا مصرف انرژی پایین نیاز دارند، برتری می یابند.
خاویر سرانو، مدیر طراحی الکترونیک و نرمافزار سطح پایین در سرن، آزمایشگاه فیزیک ذرات اروپا در نزدیکی ژنو، سوئیس، و همکارانش از FPGA بهعلاوه White Rabbit - یک برنامه افزودنی سفارشی برای پروتکل شبکه اترنت - برای ایجاد سیستمی استفاده کردند که میتواند ثبت ناپایداری ها در پرتو ذرات برخورد دهنده بزرگ هادرونی با دقت نانوثانیه.
راجر وودز، متخصص سختافزار کامپیوتر، در دانشگاه کوئینز بلفاست، در حال ساخت یک سیستم دوربین فیبر نوری است که از FPGA برای پردازش تصاویر چندطیفی عروق کرونر با سرعت کافی برای استفاده در حین جراحی استفاده میکند. و در Janelia، Chuntao Dan، دانشمند ارشد، یک سیستم تصویربرداری حلقه بسته ایجاد کرده است که میتواند موقعیت بالهای مگس را در هر 5 میلیثانیه تفسیر و به آن پاسخ دهد. دان میگوید سیستم عامل ویندوز مایکروسافت یک لرزش زمانبندی تا 30 میلیثانیه را معرفی میکند. اما با استفاده از یک FPGA، «ما تمام تحلیلها را در 145 میکروثانیه به دست آوردیم»، به این معنی که با وجود محدودیتهای یک رایانه معمولی، وضوح زمانی هرگز مشکلی نیست.
FPGA ها با استفاده از یک زبان توصیف سخت افزاری (HDL مانند VHDL یا Verilog) پیکربندی می شوند که با آن محققان می توانند هر چیزی از LED های چشمک زن گرفته تا یک CPU تمام عیار را اجرا کنند. گزینه دیگر Silice است، زبانی با نحوی مانند C که Lefebvre، که آن را توسعه داده است، آن را به Verilog پیوند داده است. هر کدام از HDL استفاده شود، یک ابزار سنتز آن را به فهرستی از عناصر منطقی ترجمه میکند، و ابزار مکان و مسیر آنها را با تراشه فیزیکی مطابقت میدهد. سپس جریان بیتی بهدستآمده به FPGA فلش میشود.
کد پیکربندی، یا دروازهافزار، همانطور که Serrano آن را میگوید، لزوماً نوشتن دشوار نیست. اولوف کیندگرن، مدیر و یکی از بنیانگذاران بنیاد سیلیکون رایگان و متن باز مستقر در بریتانیا، می گوید: اما این نیاز به یک ذهنیت متفاوت نسبت به برنامه نویسی سنتی دارد. در حالی که کد نرم افزار رویه ای است، گیت افزار توصیفی است. کیندگرن میگوید: «شما توضیح میدهید که چگونه دادهها بین ثبتها در طراحی شما در هر چرخه ساعت حرکت میکنند، که اینطور نیست که اکثر توسعهدهندگان نرمافزار فکر میکنند». در نتیجه، حتی محققان محاسباتی باهوش ممکن است بخواهند با یک متخصص مشورت کنند تا بیشترین سرعت را از طرحهایشان کم کنند.
فن آوری FPGA به اواسط دهه 1980 باز می گردد، اما پیشرفت در نرم افزار طراحی باعث شده است که به طور فزاینده ای در دسترس باشد. Xilinx متعلق به سازنده تراشه AMDو Altera متعلق به سازنده تراشه اینتل می باشند که بر بازار تسلط دارند و هر دو ابزارهای توسعه و تراشههایی با پیچیدگی و هزینه متفاوت ارائه میدهند. تعدادی ابزار منبع باز نیز وجود دارد، از جمله Yosysیک ابزار ترکیبی و nextpnr مکان و مسیر، که هر دو توسط دانشمند کامپیوتر Claire Wolf، که مدیر ارشد فناوری در شرکت نرم افزاری مستقر در وین YosysHQ است، توسعه یافته اند.
Lefebvre توصیه می کند که با یک برد FPGA آماده استفاده که شامل حافظه و تجهیزات جانبی مانند پورت USB و HDMI است، شروع کنید. Xilinx PYNQ که میتواند با استفاده از پایتون برنامهریزی شود و سختافزار باز iCEBreaker و ULX3S گزینههای خوبی هستند.
همکاران ریزر در Sciotex از یک FPGA از National Instruments مستقر در آستین، تگزاس استفاده کردند که با استفاده از محیط برنامهنویسی گرافیکی LabVIEW این شرکت برنامهنویسی کردند. رایزر میگوید سختافزار، از جمله اجزای جمعآوری دادهها، حدود 5000 دلار آمریکا هزینه دارد. اما با آن، او پاسخ خود را دریافت کرد: او دریافت که مگس ها می توانند به اجسام متحرک در میدان دید خود تقریباً دو برابر سریعتر از افراد واکنش نشان دهند. اثبات این محدودیت مستلزم نمایشی بود که تیم او بتواند ده برابر سریعتر از واکنشهایی که در حال بررسی بودند آن را تازهسازی کنند. ریزر میگوید: "ما دقت زمانی را دوست داریم." این زندگی ما را بسیار آسانتر میکند.»
های فن تک از شما دعوت می کند نظرات خود را در مورد این مقاله به اشتراک بگذارید