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