محاسبات قابل بازپیکربندی

**پردازش قابل بازپیکربندی**، معماری رایانه‌ای است که انعطاف‌پذیری نرم‌افزار را با عملکرد بالای سخت‌افزار ترکیب می‌کند و این کار را با پردازش پلتفرم‌های سخت‌افزاری انعطاف‌پذیر مانند آرایه‌های دروازه قابل برنامه‌ریزی میدانی انجام می‌دهد. تفاوت اصلی استفاده از پردازش قابل بازپیکربندی با استفاده از ریزپردازندههای معمولی، امکان اضافه کردن بلوک‌های پردازشی سفارشی با استفاده از آرایه‌های دروازه قابل برنامه‌ریزی میدانی است. از سوی دیگر، تفاوت اصلی آن با سخت‌افزار سفارشی، یعنی مدارهای مجتمع با کاربر خاص، امکان تطبیق سخت‌افزار در طول زمان اجرا با «بارگذاری» یک مدار جدید روی ساختار قابل بازپیکربندی است، و در نتیجه بلوک‌های پردازشی جدیدی را بدون نیاز به ساخت و افزودن تراشههای جدید به سیستم موجود فراهم می‌کند.

## تاریخچه
مفهوم پردازش قابل بازپیکربندی از دهه ۱۹۶۰ وجود داشته است، زمانی که مقاله جرالد استرین مفهوم رایانه‌ای ساخته شده از یک پردازنده استاندارد و آرایه‌ای از سخت‌افزارهای «قابل بازپیکربندی» را پیشنهاد کرد. پردازنده اصلی رفتار سخت‌افزار قابل بازپیکربندی را کنترل می‌کند. پس مورد دوم برای انجام یک کار خاص، مانند پردازش تصویر یا تطبیق الگو، به سرعت یک قطعه سخت‌افزار اختصاصی، تنظیم می‌شود. پس از انجام کار، سخت‌افزار می‌توانست برای انجام کار دیگری تنظیم شود. این منجر به یک ساختار رایانه‌ای ترکیبی شد که انعطاف‌پذیری نرم‌افزار را با سرعت سخت‌افزار ترکیب کرد.

در دهه‌های ۱۹۸۰ و ۱۹۹۰، یک رسانس در این حوزه پژوهش رخ داد و بسیاری از معماری‌های قابل بازپیکربندی در صنعت و دانشگاه پیشنهاد شدند، مانند: کوپاکابانا، ماتریکس، گارپ، الیکسنت، ان‌جن، پولیپ، میرژن، پکت ایکس‌پی‌پی، سیلیکون هایو، مونتیوم، پی‌آدز، مورفورسیس و پای‌کوگا (همهٔ موارد گفته شده اسم برند، شرکت یا محصول هستند). چنین طرح‌هایی به دلیل پیشرفت مداوم فناوری سیلیکون که امکان پیاده‌سازی طرح‌های پیچیده را روی یک تراشه فراهم می‌کرد، امکان‌پذیر بودند. برخی از این رایانه‌های عظیم موازی با قابلیت بازپیکربندی، در درجه اول برای زیردامنه‌های خاص مانند تکامل مولکولی، پردازش عصبی یا تصویر ساخته شده‌اند. اولین رایانه تجاری قابل بازپیکربندی جهان، Algotronix CHS2X4، در سال ۱۹۹۱ تکمیل شد. این یک موفقبت تجاری نبود، اما به اندازه کافی امیدوارکننده بود که زای‌لی‌نکس (مخترع آرایه گیت قابل برنامه‌ریزی میدانی) این فناوری را خریداری و کارکنان Algotronix را استخدام کرد. ماشین‌های بعدی اولین نمایش‌های اصول علمی، مانند خودسازماندهی فضایی خودبه‌خودی کدگذاری ژنتیکی با میرژن را ممکن ساختند.

## نظریه‌ها
### طبقه‌بندی تردنیک
مدل بنیادی الگوی ماشین پردازشی قابل بازپیکربندی، یعنی ضدماشین مبتنی بر جریان داده، به خوبی با تفاوت‌های آن با سایر الگوهای ماشینی که قبلاً معرفی شده‌اند، نشان داده شده است؛ همان‌طور که در طرح طبقه‌بندی زیر از الگوهای محاسباتی نیک تردنیک نشان داده شده است (به «جدول ۱: طرح طبقه‌بندی نیک تردنیک» مراجعه کنید).

### ایکس‌پیوتر هارتنشتاین
مقاله اصلی: Xputer

راینر هارتنشتاین، دانشمند علوم کامپیوتر، پردازش بازپیکربندی را به عنوان یک ضدماشین توصیف می‌کند که به گفته او، نشان دهنده یک تغییر الگوی اساسی از ماشین فون نیومان مرسوم‌تر است. هارتنشتاین آن را پارادوکس پردازش قابل بازپیکربندی می‌نامد، که در آن مهاجرت از نرم‌افزار به ابزار پیکربندی (سخت‌افزار) منجر به افزایش سرعت تا بیش از چهار مرتبه بزرگی و همچنین کاهش مصرف برق تا تقریباً چهار مرتبه بزرگی می‌شود؛ اگرچه پارامترهای تکنولوژی آرایه‌های دروازه قابل برنامه‌ریزی میدانی حدود چهار مرتبه بزرگی از منحنی گوردون مور عقب‌تر هستند و فرکانس کلاک آنها به‌طور غیرقابل توجهی کمتر از ریزپردارنده است. این پارادوکس تا حدودی توسط سندرم فون نیومان توضیح داده می‌شود.

## پردازش بازپیکربندی شده با عملکرد بالا
پردازش قابل بازپیکربندی با عملکرد بالا یک معماری رایانه است که شتاب‌دهنده‌های مبتنی بر پردازش بازپیکربندی مانند آرایه دروازه قابل برنامه‌ریزی میدانی را با واحد پردازش مرکزی یا پردازنده‌های چند هسته‌ای ترکیب می‌کند.

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

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

این تکنیک سیستم‌های ناهمگن در تحقیقات پردازشی و به ویژه در ابررایانه‌ها استفاده می‌شود. مقاله‌ای در سال ۲۰۰۸، ضرایب افزایش سرعت بیش از مرتبه ۴ بزرگی و ضرایب صرفه‌جویی در انرژی را تا تقریباً ۴ مرتبه بزرگی گزارش کرد. برخی از شرکت‌های ابررایانه، بلوک‌های پردازش ناهمگن از جمله آرایه‌های دروازه قابل برنامه‌ریزی میدانی را به عنوان شتاب‌دهنده ارائه می‌دهند. یکی از زمینه‌های تحقیقاتی، بهره‌وری جریان ابزار برنامه‌نویسی دو الگویی است که برای چنین سیستم‌های ناهمگنی به دست می‌آید.

بنیاد ملی علوم ایالات متحده مرکزی برای پردازش با عملکرد بالا و قابل بازپیکربندی دارد. در آوریل ۲۰۱۱، چهارمین کنفرانس ابرپردازش چندهسته‌ای و قابل بازپیکربندی در اروپا برگزار شد.

با اعلان ادغام آرایه‌های دروازه قابل برنامه‌ریزی میدانی با ریزپردازنده‌های پاور آی‌بی‌ام توسط شرکت بین‌المللی ماشین‌های اداری، سیستم‌های پردازشی قابل بازپیکربندی با عملکرد بالا و تجاری در حال ظهور هستند.

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

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

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

یک مثال رایج برای زمانی که بازپیکربندی جزئی مفید خواهد بود، مورد یک دستگاه ارتباطی است. اگر دستگاه چندین اتصال را کنترل می‌کند که برخی از آنها نیاز به رمزگذاری دارند، مفید خواهد بود که بتوانیم هسته‌های رمزگذاری مختلف را بدون از کار انداختن کل کنترلر بارگذاری کنیم.

پیکربندی مجدد جزئی در همه آرایه‌های دروازه قابل برنامه‌ریزی میدانی پشتیبانی نمی‌شود. یک جریان نرم‌افزاری ویژه با تأکید بر طراحی ماژولار مورد نیاز است. معمولاً ماژول‌های طراحی در امتداد مرزهای کاملاً تعریف‌شده درون آرایه دروازه قابل برنامه‌ریزی میدانی ساخته می‌شوند که نیاز به نگاشت ویژه طراحی به سخت‌افزار داخلی دارد.

از نظر عملکرد طراحی، بازپیکربندی جزئی را می‌توان به دو گروه تقسیم کرد:
* *بازپیکربندی جزئی پویا*، که به عنوان بازپیکربندی جزئی فعال نیز شناخته می‌شود - امکان تغییر بخشی از دستگاه را در حالی که بقیه آرایه دروازه قابل برنامه‌ریزی میدانی هنوز در حال اجرا است، فراهم می‌کند.
* *بازپیکربندی جزئی ایستا* - دستگاه در طول فرایند بازپیکربندی فعال نیست. در حالی که داده‌های جزئی به آرایه دروازه قابل برنامه‌ریزی میدانی ارسال می‌شوند، بقیه دستگاه متوقف می‌شود (در حالت خاموش شدن) و پس از تکمیل پیکربندی، فعال می‌شود.

## سیستم‌های فعلی
### شبیه‌سازی رایانه‌ای
با ظهور بردهای آرایه دروازه قابل برنامه‌ریزی میدانی مقرون به صرفه، پروژه‌های دانشجویی و علاقه‌مندان به دنبال بازسازی رایانه‌های قدیمی یا پیاده‌سازی معماری‌های جدیدتر هستند. چنین پروژه‌هایی با سخت‌افزارهای قابل بازپیکربندی (آرایه دروازه قابل برنامه‌ریزی میدانی) ساخته می‌شوند و برخی از دستگاه‌ها از شبیه‌سازی چندین رایانه قدیمی با استفاده از یک سخت‌افزار قابل بازپیکربندی (C-One) پشتیبانی می‌کنند.
بندانگشتی|از یک برد آرایه دروازه قابل برنامه‌ریزی میدانی برای بازسازی رایانهٔ Vector-06C استفاده می‌شود.

### کوپاکابانا
یک رایانه کاملاً مبتنی بر آرایه دروازه قابل برنامه‌ریزی میدانی، کوپاکابانا، کدشکن و تحلیلگر هزینه بهینه‌شده و جانشین آن ریویرا است. یک شرکت اسپین‌آف SciEngines GmbH از پروژه کوپاکابانا دانشگاه‌های بوخوم و کیل در آلمان، توسعه رایانه‌های کاملاً مبتنی بر آرایه دروازه قابل برنامه‌ریزی میدانی را ادامه می‌دهد.

### میتریونیکس
شرکت میتریونیکس یک بسته توسعه نرم‌افزاری توسعه داده است که امکان کامپایل و اجرای نرم‌افزارهای نوشته شده با استفاده از یک زبان تخصیص واحد را بر روی رایانه‌های مبتنی بر آرایه دروازه قابل برنامه‌ریزی میدانی فراهم می‌کند. زبان نرم‌افزاری میتریون-سی و پردازنده میتریون به توسعه‌دهندگان نرم‌افزار این امکان را می‌دهند که برنامه‌ها را بر روی رایانه‌های مبتنی بر آرایه دروازه قابل برنامه‌ریزی میدانی به همان روشی که با سایر فناوری‌های پردازشی مانند واحدهای پردازش گرافیکی ("واحد پردازش گرافیکی")، پردازنده‌های مبتنی بر سلول، واحدهای پردازش موازی ("واحد پردازش فیزیک")، پردازنده‌های چند هسته‌ای و خوشه‌های پردازنده تک هسته‌ای سنتی نوشته و اجرا می‌کنند، بنویسند. (غیرفعال)

### نشنال اینسترومنتز
شرکت نشنال اینسترومنتز یک سیستم پردازشی تعبیه‌شده هیبریدی به نام کامپکت‌آرای‌او توسعه داده است. این سیستم شامل شاسی قابل بازپیکربندی است که آرایه دروازه قابل برنامه‌ریزی میدانی قابل برنامه‌ریزی توسط کاربر، ماژول‌های ورودی/خروجی قابل تعویض در حین کار، کنترل‌کننده بلادرنگ برای ارتباط و پردازش قطعی و نرم‌افزار گرافیکی لب‌ویو برای برنامه‌نویسی سریع بلادرنگ و آرایه دروازه قابل برنامه‌ریزی میدانی را در خود جای داده است.

### زای‌لی‌نکس
شرکت زای‌لی‌نکس دو سبک برای بازپیکربندی جزئی دستگاه‌های آرایه دروازه قابل برنامه‌ریزی میدانی توسعه داده است: مبتنی بر ماژول و مبتنی بر تفاوت. بازپیکربندی جزئی مبتنی بر ماژول امکان بازپیکربندی بخش‌های ماژولار مجزای طراحی را فراهم می‌کند، در حالی که بازپیکربندی جزئی مبتنی بر تفاوت می‌تواند زمانی استفاده شود که تغییر کوچکی در یک طراحی ایجاد شود.

### اینتل
اینتل از بازپیکربندی جزئی دستگاه‌های ارایه دروازه قابل برنامه‌ریزی میدانی خود در دستگاه‌های ۲۸ نانومتری مانند استراتیکس ۵ و در دستگاه‌های ۲۰ نانومتری آریا ۱۰ پشتیبانی می‌کند. جریان پیکربندی مجدد جزئی آرایه دروازه قابل برنامه‌ریزی میدانی اینتل برای آریا ۱۰ بر اساس روش طراحی سلسله مراتبی در نرم‌افزار کوارترس حرفه‌ای پیشرفته است که در آن کاربران پارتیشن‌های فیزیکی آرایه دروازه قابل برنامه‌ریزی میدانی را ایجاد می‌کنند که می‌توانند در زمان اجرا پیکربندی مجدد شوند در حالی که بقیه طراحی همچنان به کار خود ادامه می‌دهد. نرم‌افزار کوارترس حرفه‌ای پیشرفته همچنین از پیکربندی مجدد جزئی سلسله مراتبی و شبیه‌سازی پیکربندی مجدد جزئی پشتیبانی می‌کند.

## طبقه‌بندی سیستم‌ها
به عنوان یک حوزه نوظهور، طبقه‌بندی معماری‌های قابل بازپیکربندی همچنان در حال توسعه و اصلاح است، زیرا معماری‌های جدید توسعه می‌یابند؛ تا به امروز هیچ طبقه‌بندی واحدی پیشنهاد نشده است. با این حال، می‌توان از چندین پارامتر تکرارشونده برای طبقه‌بندی این سیستم‌ها استفاده کرد.

### دانه‌بندی
دانه‌بندی منطق قابل بازپیکربندی به عنوان اندازه کوچک‌ترین واحد عملکردی (بلوک منطقی قابل پیکربندی) تعریف می‌شود که توسط ابزارهای نگاشت مورد بررسی قرار می‌گیرد. دانه‌بندی بالا، که می‌توان آن را ریزدانه نیز نامید، اغلب به معنای انعطاف‌پذیری بیشتر هنگام پیاده‌سازی الگوریتم‌ها در سخت‌افزار است. با این حال، به دلیل مقدار بیشتر مسیریابی مورد نیاز در هر محاسبه، از نظر افزایش توان، مساحت و تأخیر، با این موضوع همراه است. معماری‌های ریزدانه در سطح دستکاری بیت کار می‌کنند؛ در حالی که عناصر پردازش دانه‌بندی درشت (واحد مسیر داده قابل بازپیکربندی) برای کاربردهای مسیر داده استاندارد بهینه‌تر هستند. یکی از معایب معماری‌های دانه‌بندی درشت این است که اگر نیاز به انجام پردازش کوچکتر از آنچه دانه‌بندی آنها فراهم می‌کند، داشته باشند، تمایل دارند بخشی از کاربرد و عملکرد خود را از دست بدهند، به عنوان مثال برای اضافه کردن یک بیت به یک واحد عملکردی چهار بیتی، سه بیت هدر می‌رود. این مشکل را می‌توان با داشتن یک آرایه دانه‌بندی درشت (آرایه مسیر داده قابل بازپیکربندی) و یک آرایه دروازه قابل برنامه‌ریزی میدانی روی یک تراشه حل کرد.

معماری‌های دانه‌درشت (آرایه مسیر داده قابل بازپیکربندی) برای پیاده‌سازی الگوریتم‌هایی که به مسیرهای داده در عرض کلمه (واحد مسیر داده قابل بازپیکربندی) نیاز دارند، در نظر گرفته شده‌اند. از آنجایی که بلوک‌های عملکردی آنها برای پردازش بزرگ بهینه شده‌اند و معمولاً شامل واحدهای منطق حسابی در سطح کلمه هستند، این پردازش را سریع‌تر و با بازدهی انرژی بیشتری نسبت به مجموعه‌ای از واحدهای عملکردی کوچک‌تر به هم پیوسته انجام می‌دهند. این به دلیل کوتاه‌تر بودن سیم‌های اتصال است که منجر به ظرفیت خازنی سیم کمتر و در نتیجه طراحی‌های سریع‌تر و کم‌مصرف‌تر می‌شود. یک پیامد نامطلوب بالقوه داشتن بلوک‌های پردازشی بزرگتر این است که وقتی اندازه عملوندها با الگوریتم مطابقت نداشته باشد، می‌تواند منجر به استفاده ناکارآمد از منابع شود. اغلب نوع برنامه‌هایی که باید اجرا شوند از قبل مشخص است که به منطق، حافظه و منابع مسیریابی اجازه می‌دهد تا برای افزایش عملکرد دستگاه تنظیم شوند و در عین حال سطح خاصی از انعطاف‌پذیری را برای سازگاری‌های آینده فراهم کنند. نمونه‌هایی از این موارد، آرایه‌های خاص دامنه هستند که با کاهش انعطاف‌پذیری آنها، عملکرد بهتری از نظر قدرت، مساحت و توان عملیاتی نسبت به پسرعموهای آرایه دروازه قابل برنامه‌ریزی میدانی دانه‌درشت‌تر عمومی خود به دست می‌آورند.

### نرخ بازپیکربندی
پیکربندی این سیستم‌های قابل بازپیکربندی می‌تواند در زمان استقرار، بین مراحل اجرا یا در حین اجرا اتفاق بیفتد. در یک سیستم قابل پیکربندی مجدد معمولی، از یک جریان بیتی برای برنامه‌ریزی دستگاه در زمان استقرار استفاده می‌شود. سیستم‌های ریزدانه به دلیل ماهیت خود به زمان پیکربندی بیشتری نسبت به معماری‌های درشت‌دانه نیاز دارند، زیرا عناصر بیشتری نیاز به آدرس‌دهی و برنامه‌ریزی دارند؛ بنابراین، معماری‌های درشت‌دانه‌تر از نیازهای بالقوه انرژی پایین‌تر بهره‌مند می‌شوند، زیرا اطلاعات کمتری منتقل و استفاده می‌شود. به‌طور شهودی، هرچه سرعت بازپیکربندی کندتر باشد، مصرف برق کمتر است زیرا هزینه انرژی مرتبط با بازپیکربندی در مدت زمان طولانی‌تری مستهلک می‌شود. هدف از بازپیکربندی جزئی این است که به بخشی از دستگاه اجازه داده شود در حالی که بخش دیگری هنوز در حال انجام پردازش فعال است، برنامه‌ریزی مجدد شود. بازپیکربندی جزئی امکان جریان‌های بیتی قابل بازپیکربندی کوچکتر را فراهم می‌کند و در نتیجه انرژی را برای انتقال اطلاعات اضافی در جریان بیتی هدر نمی‌دهد. فشرده‌سازی جریان بیت امکان‌پذیر است، اما باید تجزیه و تحلیل دقیقی انجام شود تا اطمینان حاصل شود که انرژی صرفه‌جویی شده با استفاده از جریان‌های بیت کوچک‌تر، از پردازش مورد نیاز برای خارج کردن داده‌ها از حالت فشرده، بیشتر نشود.

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

### مسیریابی / اتصالات
انعطاف‌پذیری در دستگاه‌های قابل بازپیکربندی عمدتاً از اتصالات مسیریابی آنها ناشی می‌شود. یکی از سبک‌های اتصالات که توسط فروشندگان آرایه‌های دروازه قابل برنامه‌ریزی میدانی، زای‌لی‌نکس و آلترا، محبوب شده است، طرح‌بندی سبک جزیره‌ای است که در آن بلوک‌ها در یک آرایه با مسیریابی عمودی و افقی چیده شده‌اند. یک طرح‌بندی با مسیریابی ناکافی ممکن است از انعطاف‌پذیری و استفاده از منابع ضعیف رنج ببرد، بنابراین عملکرد محدودی را ارائه می‌دهد. اگر اتصالات بیش از حد فراهم شود، به ترانزیستورهای بیشتری از حد لازم و در نتیجه مساحت سیلیکون بیشتر، سیم‌های طولانی‌تر و مصرف برق بیشتر نیاز است.

## چالش‌های سیستم‌عامل‌ها در معماری قابل پیکربندی
یکی از چالش‌های کلیدی پردازش قابل بازپیکربندی، افزایش بهره‌وری طراحی و ارائه روشی آسان‌تر برای استفاده از سیستم‌های پردازشی قابل بازپیکربندی برای کاربرانی است که با مفاهیم اساسی آن آشنا نیستند. یکی از راه‌های انجام این کار، ارائه استانداردسازی و انتزاع است که معمولاً توسط یک سیستم عامل پشتیبانی و اجرا می‌شود.

یکی از وظایف اصلی یک سیستم عامل، پنهان کردن سخت‌افزار و ارائه برنامه‌ها (و برنامه‌نویسان آنها) با انتزاع‌های زیبا، تمیز، زیبا و سازگار برای کار است. به عبارت دیگر، دو وظیفه اصلی یک سیستم عامل، انتزاع و مدیریت منابع است.

انتزاع، مکانیزمی قدرتمند برای مدیریت وظایف پیچیده و متفاوت (سخت‌افزاری) به شیوه‌ای کاملاً تعریف‌شده و رایج است. یکی از ابتدایی‌ترین انتزاع‌های سیستم عامل، فرایند است. یک فرایند، یک برنامه در حال اجرا است که این درک (که توسط سیستم عامل ارائه می‌شود) را دارد که به تنهایی روی سخت‌افزار مجازی زیرین اجرا می‌شود. این امر می‌تواند با مفهوم نخ‌ها تسهیل شود و به وظایف مختلف اجازه دهد تا به‌طور همزمان روی این سخت‌افزار مجازی اجرا شوند تا از موازی‌سازی سطح وظیفه بهره‌برداری شود. برای اینکه فرایندها و نخ‌های مختلف بتوانند کار خود را هماهنگ کنند، باید روش‌های ارتباطی و همگام‌سازی توسط سیستم عامل ارائه شود.

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

## منابع

# استرین، جی (2002). «ریشه‌های کامپیوترهای بازپیکربندی‌شدنی: کامپیوتر ساختار ثابت-به‌علاوه‌متغیر UCLA (F+V)». IEEE Ann. Hist. Comput. 24 (4): 3–9. doi:10.1109/MAHC.2002.1114865.
# استرین، جی. «سازماندهی سیستم‌های کامپیوتری — کامپیوتر ساختار ثابت به‌علاوه متغیر»، Proc. Western Joint Computer Conf. , نیویورک، 1960، صفحات 33–40.
# بابدا، سی. مقدمه‌ای بر کامپیوترهای بازپیکربندی‌شدنی: معماری‌ها؛ اسپرینگر، 2007.
# هاوزر، جان و وارژینک، جان. «Garp: پردازنده MIPS با هم‌پردازنده بازپیکربندی‌شدنی»، Proceedings of IEEE FCCM '97، 16–18 آوریل 1997، صفحات 24–33.
# مک‌کاسکیل، جان اس و همکاران (1994). «NGEN — سخت‌افزار قابل پیکربندی برای شبیه‌سازی خودسازماندهی بلندمدت بیوپلیمرها». Berichte der Bunsengesellschaft für Physikalische Chemie. 98 (9): 1114. doi:10.1002/bbpc.19940980906.
# سیپر، موشه و همکاران. سیستم‌های قابل تحول: از زیست‌شناسی تا سخت‌افزار، ICES 98، لوزان، سوئیس، سپتامبر 1998. اسپرینگر، 1998. ISBN 978-3-540-64954-0.
# هوفمن، کارل-هاینز. پیوند سیستم‌های زیستی و الکترونیکی: مجموعه مقالات Caesarium دوم، بن، نوامبر 2000. برلین: اسپرینگر، 2002. ISBN 978-3-540-43699-7.
# کمپی، اف و همکاران. «پردازنده VLIW با مجموعه دستورالعمل بازپیکربندی‌شدنی برای کاربردهای جاسازی‌شده»، IEEE ISSCC 2003، صفحات 250–491.
# آلگوترونیکس. تاریخچه [وب‌سایت رسمی]
# فوشلین، رودولف و مک‌کاسکیل، جان. «خودسازماندهی تکاملی کدگذاری ژنتیکی بدون سلول». PNAS. 98 (16): 9185–9190. doi:10.1073/pnas.151253198.
# ترِدِنیک، ن. «مورد استفاده از کامپیوترهای بازپیکربندی‌شدنی»؛ Microprocessor Report, Vol. 10 No. 10، ۵ آگوست ۱۹۹۶، صفحات ۲۵–۲۷.
# هارتنشتاین، آر. یک دهه کامپیوترهای بازپیکربندی‌شدنی: مرور آینده‌نگرانه. DATE 2001، مونیخ، آلمان، صفحات 642–649. IEEE Press.
# ووروس، نیکولاس و همکاران (ویرایشگران). بازپیکربندی دینامیک سیستم‌ها در پلتفرم‌های ناهمگون – رویکرد MORPHEUS; Springer، ۲۰۰۹.
# الغزاوی، طارق و همکاران (فوریه ۲۰۰۸). «پتانسیل کامپیوترهای بازپیکربندی‌شدنی با کارایی بالا». IEEE Computer. 41 (2): 69–76. doi:10.1109/MC.2008.65.
# ال-عربی، اسام؛ گونزالز، ایوان؛ الغزاوی، طارق (ژانویه ۲۰۰۹). «استفاده از بازپیکربندی جزئی در زمان اجرا برای کامپیوترهای بازپیکربندی‌شدنی با کارایی بالا». ACM Transactions on Reconfigurable Technology and Systems. 1 (4): 1–23. doi:10.1145/1462586.1462590.
# مرکز NSF برای کامپیوترهای بازپیکربندی‌شدنی با کارایی بالا. وب‌سایت رسمی. بازیابی ۱۹ آگوست ۲۰۱۱.
# کنفرانس Many-Core و Reconfigurable Supercomputing. وب‌سایت رسمی، ۲۰۱۱. آرشیو ۱۲ اکتبر ۲۰۱۰. بازیابی ۱۹ آگوست ۲۰۱۱.
# آلتره و IBM سیستم‌های FPGA-شتاب‌دهنده POWER را رونمایی کردند. HPCwire. 17 نوامبر ۲۰۱۴. بازیابی ۱۴ دسامبر ۲۰۱۴.
# وانتا، دامیان و همکاران (۲۰۲۲). «روش بازپیکربندی زمان اجرا برای سیستم توموگرافی ظرفیت الکتریکی مبتنی بر FPGA". Electronics. 11 (4): 545. doi:10.3390/electronics11040545.
# ویسنیوسکی، رمیگیوش (۲۰۰۹). سنتز واحدهای کنترل میکروپروگرام ترکیبی برای دستگاه‌های برنامه‌پذیر. دانشگاه Zielona Góra، ص 153. ISBN 978-83-7481-293-1.
# Apple2 FPGA. بازیابی ۶ سپتامبر ۲۰۱۲.
# نیکلاس ویرث. «طراحی معماری RISC و پیاده‌سازی آن با FPGA" (PDF). بازیابی ۶ سپتامبر ۲۰۱۲.
# یان گری. «طراحی پردازنده ساده RISC بهینه‌شده برای FPGA و سیستم روی تراشه» (PDF). بازیابی ۶ سپتامبر ۲۰۱۲.
# Intel، خرید Altera را تکمیل کرد. Intel Newsroom. بازیابی ۱۵ نوامبر ۲۰۱۶.
# FPGAهای Stratix V: انعطاف‌پذیری نهایی از طریق بازپیکربندی جزئی و دینامیک. بازیابی ۱۵ نوامبر ۲۰۱۶.
# ابزارها و ویژگی‌های نرم‌افزار Intel Quartus Prime. بازیابی ۱۵ نوامبر ۲۰۱۶.
# Quartus Prime Standard Edition Handbook Volume 1: Design and Synthesis (PDF). Intel. صفحات ۴–۱. بازیابی ۱۵ نوامبر ۲۰۱۶.
# اکرت، مارسِل و همکاران (۲۰۱۶). «مفاهیم سیستم‌عامل برای کامپیوترهای بازپیکربندی‌شدنی: مرور و بررسی». International Journal of Reconfigurable Computing. 1–11. doi:10.1155/2016/2478907.


## مطالعه پیشرفته
* کاردوسو، ژوآو ام. پی و هوبنر، مایکل (ویرایشگران)، کامپیوترهای بازپیکربندی‌شدنی: از FPGAها تا طراحی مشترک سخت‌افزار/نرم‌افزار، Springer 2011.
* هاوک، اس. و ده‌هون، آ. کامپیوترهای بازپیکربندی‌شدنی: نظریه و عمل پردازش مبتنی بر اف‌پی‌جی‌ای Morgan Kaufmann، ۲۰۰۸.
* هنکل، جی. و پارامسواران، اس. (ویرایشگران)، طراحی پردازنده‌های جاسازی‌شده: دیدگاه کم‌مصرف، Springer Verlag، مارس ۲۰۰۷.
* تیچ، جی. و همکاران (ویرایشگر)، سیستم‌های کامپیوتر بازپیکربندی‌شدنی، شماره ویژه مجله *it — Information Technology*, Oldenbourg Verlag، مونیخ، جلد ۴9 (2007)، شماره ۳.
* تودمن، تی.جی. کنستانتینیدس، جی.آ. ویلتون، اس.جی.ای. منسر، او. لوک، دبلیو. و چونگ، پی. وای. کی. کامپیوترهای بازپیکربندی‌شدنی: معماری‌ها و روش‌های طراحی، IEEE Proceedings: Computer & Digital Techniques، جلد ۱۵۲، شماره ۲، مارس ۲۰۰۵، صفحات ۱۹۳–۲۰۸.
* زومایا، آ. (ویرایشگر)، دفترچه پردازش الهام‌گرفته از طبیعت و نوآورانه: ادغام مدل‌های کلاسیک با فناوری‌های نوظهور، Springer Verlag، ۲۰۰۶.
* آرنولد، جی. ام و بویل، د.آ. برنامه‌نویسی VHDL روی Splash 2، در *More FPGAs*، ویلی مور و وین لوک (ویرایشگران)، Abingdon EE & CS Books، آکسفورد، انگلستان، ۱۹۹۴، صفحات ۱۸۲–۱۹۱. (کارگاه بین‌المللی Field-Programmable Logic، آکسفورد، ۱۹۹۳)
* آرنولد، جی. ام و همکاران، Splash 2 و کاربردهای آن، Proceedings, International Conference on Computer Design، کمبریج، ۱۹۹۳، صفحات ۴۸۲–۴۸۶.
* بویل، د.آ. و پوچک، کنت ال. ماشین‌های پردازشی سفارشی: مقدمه، *The Journal of Supercomputing*، جلد ۹، ۱۹۹۵، صفحات ۲۱۹–۲۳۰.

## یادداشت‌ها
* سرفصل‌های درس‌های کامپیوتر بازپیکربندی‌شدنی در دانشگاه براون
* مقدمه‌ای بر بازپیکربندی جزئی پویا
* پروژه ReCoBus-Builder برای پیاده‌سازی آسان سیستم‌های بازپیکربندی‌شده پیچیده
* پروژه تحقیقاتی DRESD (آرشیو ۲۰۰۸-۰۷-۱۵)

رده:الکترونیک دیجیتال