موضوع مقاله: پردازنده بشکه‌ای | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پردازنده بشکه‌ای | مقدمه: یک پردازنده بشکه‌ای یک پردازنده است که در هر چرخه بین ریسمان‌های اجرایی سوئیچ می‌کند. | ## بخش 1: پردازنده بشکه‌ای | این تکنیک طراحی پردازنده با نام‌های چندرشته زمانی «درهم» یا «ریزدانه» نیز شناخته می‌شود. برخلاف چندریسمانی همزمان در معماری‌های سوپراسکالر مدرن، این تکنیک معمولاً اجازه اجرای چندین دستورالعمل در یک چرخه را نمی‌دهد. مانند پیش‌اجرایی، هر رشته اجرا به شمارنده برنامه و سایر ثبات‌های سخت‌افزاری (وضعیت معماری هر رشته) اختصاص داده می‌شود. یک پردازنده بشکه‌ای می‌تواند تضمین کند که هر رشته در هر n چرخه یک دستور را اجرا می‌کند، برخلاف یک ماشین پیش‌اجرایی، که معمولاً یک رشته اجرایی را برای ده‌ها میلیون چرخه در حالی که همه رشته‌ها منتظر نوبت خود هستند، اجرا می‌کند. تکنیکی به نام C-slowing می‌تواند به‌طور خودکار یک طراحی پردازشگر بشکه‌ای متناظر را از طراحی یک پردازنده تک‌وظیفه ایجاد کند. یک پردازنده بشکه ای n- way که به این روش تولید می‌شود، بسیار شبیه به n نسخه چند پردازشی جداگانه از پردازنده اصلی تک وظیفه ای عمل می‌کند که هر کدام تقریباً با سرعت 1/ n سرعت اصلی کار می‌کنند. تاریخچه یکی از اولین نمونه‌های پردازشگر بشکه‌ای، سیستم پردازش ورودی/خروجی در ابررایانه‌های سری CDC 6000 بود. از سری CDC 6000 برداشت می‌شود که «پردازنده‌های جانبی به طور گروهی به عنوان یک پردازنده بشکه ای پیاده سازی می‌شوند. آنها یک نمونهٔ سابق ضعیف برای BUS یا دستیابی مستقیم به حافظه هستند.» یکی از انگیزه‌ها برای ساخت پردازنده‌های بشکه ای کاهش هزینه‌های سخت‌افزاری بود. | ## بخش 2: پردازنده بشکه‌ای | در مورد واحدهای پردازنده فیزیک CDC 6x00، منطق دیجیتال پردازنده بسیار سریعتر از حافظه اصلی بود، بنابراین به جای داشتن ده پردازنده مجزا، ده واحد حافظه اصلی جداگانه برای واحدهای پردازنده فیزیک وجود دارد، اما همه آنها یک مجموعه واحد منطق پردازنده را مشترکاً دارند. مثال دیگر Honeywell ۸۰۰ است که دارای ۸ گروه ثبات بود که اجرای حداکثر ۸ برنامه را به صورت همزمان امکان‌پذیر می‌کرد. پس از هر دستورالعمل، پردازنده (در اکثر موارد) به ترتیب به برنامه فعال بعدی می‌رود. همچنین پردازنده‌های بشکه‌ای به عنوان پردازنده‌های مرکزی در مقیاس‌های بزرگ مورد استفاده قرار گرفته‌اند. Tera MTA (1988) (ترا کامپیوتر) یک پردازشگر بشکه‌ای در مقیاس بزرگ شده بود که با ۱۲۸ رشته در هر هسته طراحی شده بود. علاوه بر این پردازنده‌های بشکه‌ای در سامانه‌های توکار (تعبیه شده) یافت می‌شوند، جایی که آنها به‌ویژه برای عملکرد ریسمان رایانش بی درنگ خود مفید هستند. یک مثال اکسموس اکسور۱ (۲۰۰۷) است که یک پردازنده بشکه ای چهار مرحله ای با هشت رشته در هر هسته می‌باشد. (همچنین پردازنده‌های جدیدتر از اکسموس هم همان نوع معماری را دارند) ایکس اس ۱ای که در اترنت، USB و دستگاه‌های کنترل و سایر برنامه‌هایی که عملکرد ورودی/خروجی حیاتی است، یافت می‌شود. هنگامی که برنامهٔ ایکس اس ۱ در زبان 'XC' نوشته می‌شود، نرم‌افزار کنترل دستیابی مستقیم به حافظه ممکن است اجرا شود. | ## بخش 3: پردازنده بشکه‌ای | پردازنده‌های بشکه‌ای نیز در دستگاه‌های تخصصی مانند پردازنده هشت رشته‌ای Ubicom IP3023 ورودی/ خروجی شبکه (۲۰۰۴) استفاده شده‌است. مقایسه با پردازنده‌های تک رشته‌ای مزایا یک پردازنده تک وظیفه‌ای زمان زیادی را در حالت بیکار سپری می‌کند و هروقت حافظه نهان یا حباب رخ دهد هیچ کار مفیدی انجام نمی‌دهد. مزایای استفاده از پردازنده‌های بشکه ای نسبت به پردازنده‌های تک وظیفه ای عبارتند از: توانایی انجام کار مفید رشته‌های دیگر در حالی که رشتهٔ متوقف شده در انتظار است. طراحی یک پردازنده بشکه ای n طرفه با خط لوله ای با عمق n بسیار ساده‌تر از طراحی یک پردازنده تک وظیفه ای است، زیرا یک پردازنده بشکه ای هرگز دچار حباب نمی‌شود و به مدارهای مخاطره نیاز ندارد. برای کاربردهای رایانش بی درنگ، یک پردازندهٔ بشکه‌ای می‌تواند تضمین کند که یک رشتهٔ «زمان واقعی» می‌تواند با زمان‌بندی دقیق اجرا شود بدون اینکه اهمیتی داشته باشد برای رشته‌های دیگر چه اتفاقی می‌افتد، حتی اگر رشته‌های دیگر در یک حلقه بی‌نهایت به بن‌بست برسند یا به‌طور مداوم توسط وقفه‌های سخت‌افزاری قطع شوند. معمولاً در ثبات‌ها وضعیت هر رشته باید به صورت روی تراشه‌ای نگه داشته شود، تا از تعویض‌های پرهزینهٔ زمینه‌ای خارج از تراشه جلوگیری شود. یا همه رشته‌ها باید حافظه نهان یکسانی داشته باشند که عملکرد کلی سیستم را کند می‌کند، یا باید یک واحد حافظه نهان برای هر رشته اجرایی وجود داشته باشد که باعث بالا رفتن عدد ترانزیستورها و در نتیجه باعث افزایش قابل توجه قیمت چنین پردازنده‌ای می‌شود. | ## جمع‌بندی | با این حال، در سامانه‌های تعبیه شده بی درنگ که اغلب پردازنده‌های بشکه‌ای در آن‌ها یافت می‌شوند، هزینه‌های دسترسی به حافظه معمولاً با فرض بدترین رفتار حافظه پنهان محاسبه می‌شوند، بنابراین این یک نگرانی جزئی است.