ریزمعماری
مفاهیم ریزمعماری > چند فرایندی و چند ریسمانی

رشد ناسازگاری بین فرکانس‌های اجرایی پردازنده و زمان‌های دسترسی به DRAM، مانعی بر سر راه معماران کامپیوتر شده‌است. هیچ‌کدام از تکنیک‌هایی که از روش موازی گرایی در سطح دستورالعمل در داخل یک برنامه بهره‌گیری می‌کنند، نمی‌توانند مشکل معطلی طولانی مدت را که ناشی از زمان لازم برای واکشی داده از حافظه اصلی است برطرف کنند. علاوه بر این، تعداد زیاد ترانزیستورها و فرکانس‌های اجرایی بالا که برای تکنیک‌های موازی گرایی پیشرفته تر در سطح دستورالعمل لازم است، موجب ایجاد گرمای بیشتر می‌شود، که دیگر قابل خنک کردن با روش‌های ارزان نیست. به این دلایل، نسل‌های جدید کامپیوتر شروع به بهره‌گیری از سطوح بالاتری از موازی گرایی کردند که خارج از یک برنامه منفرد یا ریسمان برنامه است.
این روش را گاهی رایانش بازدهی می‌نامند. این ایده از بازار رایانه‌های بزرگ نشات گرفت که برای پردازش‌های تراکنش آنلاین در آن‌ها، نه تنها سرعت اجرای یک تراکنش اهمیت داشت، بلکه قابلیت پاسخ دهی به تعداد بسیار زیادی از تراکنش‌ها هم اهمیت داشت. از آنجایی که عملیات مبتنی بر تراکنش، نظیر مسیریابی شبکه و خدمات دهی وبسایت، به میزان زیادی در دهه گذشته افزایش پیدا کرده‌است، لذا، صنعت کامپیوتر مجدداً روی ظرفیت و مشکلات بازدهی متمرکز شده‌است.
یک روش برای دستیابی به این موازی گرایی، استفاده از سیستم‌های چند پردازنده ای است، یعنی سیستم‌های کامپیوتری که دارای چندین پردازنده هستند. سرورهای چند پردازنده ای کوچک-مقیاس (۲ تا ۸)، که زمانی فقط در رایانه‌های بزرگ و ابررایانه‌ها وجود داشتند، هم‌اکنون به وفور، در بازار کسب و کارهای کوچک وجود دارند. در شرکت‌های بزرگ، چند پردازنده‌های بزرگ-مقیاس (۱۶ تا ۲۵۶) رایج هستند. حتی کامپیوترهای شخصی با چندین پردازنده، از دهه ۱۹۹۰، ظهور یافتند.
با کاهش بیشتر اندازه ترانزیستور که مرهون پیشرفت تکنولوژی نیمه هادی بوده‌است، پردازنده‌های چند هسته ای که در آن چندین پردازنده روی یک چیپ سیلیکونی پیاده‌سازی می‌شوند، ظاهر شدند و در ابتدا در بازار چیپ‌های نهفته استفاده شدند، که در آن پردازنده‌های ساده‌تر و کوچکتر، این امکان را فراهم می‌آوردند تا تعداد زیادی را بتوان روی یک قطعه از سیلیکون پیاده‌سازی کرد. در سال ۲۰۰۵، فناوری نیمه هادی این امکان را فراهم آورد تا چیپ‌های پردازنده‌های رومیزی دوگانهٔ پیشرفته، در حجم بالایی تولید شوند. برخی طراحی‌ها، نظیر UltraSPARC T1 از شرکت Sun Microsystems، به طراحی‌های ساده‌تر (اسکالر، in-order) برگشتند تا بتوانند پردازنده‌های بیشتری را روی یک قطعه از سیلیکون جا دهند.
تکنیک دیگری که اخیراً رایج‌تر شده‌است، چند ریسمانی است. در تکنیک چند ریسمانی، زمانی که پردازنده مجبور است تا داده‌ها را از حافظهٔ کند سیستم واکشی کند، به جای معطل ماندن برای رسیدن این داده، به سراغ برنامهٔ دیگر یا ریسمان دیگری می‌رود که آماده اجرا است. اگرچه این روش موجب افزایش سرعت یک برنامه/ریسمان خاص نمی‌شود، اما باعث افزایش بازدهی کلی سیستم، از طریق کاهش زمان بیکاری پردازنده می‌شود.
به‌طور مفهومی، چند ریسمانی معادل است با تعویض زمینه در سطح سیستم عامل. تفاوت در این است که یک پردازندهٔ چند هسته ای می‌تواند یک تعویض ریسمان را در یک چرخهٔ پردازنده انجام دهد، در حالیکه یک تعویض زمینه، به‌طور معمول نیازمند صدها یا هزاران چرخهٔ پردازنده است. این کار از طریق افزایش تعداد سخت‌افزار وضعیت (مثلاً فایل رجیستر و شمارندهٔ برنامه) برای هر ریسمان فعال انجام می‌شود.
ارتقای بیشتر در این زمینه از طریق چند ریسمانی همزمان انجام می‌شود. این تکنیک این امکان را فراهم می‌کند تا پردازنده‌های سوپر اسکالر، دستورالعمل‌هایی را از چندین برنامه/ریسمان، به‌طور همزمان در یک چرخه اجرا کنند.
یک ریزمعماری که حول یک گذرگاه سازماندهی شده‌است