**چندریسمانی همزمان** (به انگلیسی:Simultaneous Multithreading یا SMT)، روشی برای افزایش بازدهی کل سیستم است. این روش به ساختار پردازنده‌هایی می‌پردازد که بیشتر از یک دستورالعمل را به‌صورت هم‌زمان اجرا می‌کنند؛ 

این مجموعه از پردازنده‌ها به سوپراسکالر (به انگلیسی: superscalar) معروف هستند. این پردازنده‌ها در کنار سخت‌افزار با قابلیت «چندریسمانی سخت‌افزاری» کار می کنند. این فناوری به ریسه‌های مستقل، اجازه می‌دهد از منابعی که در طراحیِ پردازنده در اختیارِ آن‌ها قَرار داده شده است، بهتر استفاده کنند.

جزئیات
------

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

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

به دلیل آن که روش فنی راه‌حل بسیار سودمندی است و درگیری رو به افزایش اجتناب‌ناپذیر در اشتراک‌گذاری منابع، اندازه‌گیری یا تأیید اثربخشی راه‌حل می‌تواند دشوار باشد. به هر حال اندازه‌گیری اثربخشی انرژی اس‌ام‌تی توسط بومی موازی و مدیریت میزان کار در تاریخ از nm130 به nm32 در پیاده‌سازی اس‌ام‌تی شرکت اینتل به این رسیدند که در پیاده‌سازی در nm45 و nm32 ،SMT در انرژی بسیار کارآمد است. حتی در مورد پردازنده‌های اتمی در سیستم‌های مدرن، اس‌ام‌تی به‌طور هم‌زمان همراه با یک نیروی پویای کوچک اضافی کار می‌کند و حتی زمانی که بازده حداقل است، می‌توان به صرفه‌جویی در مصرف برق توجه داشت.

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

در هرحال، در بسیاری از موارد متداول، اس‌ام‌تی برای پوشاندن تأخیر در کار حافظه، افزایش کارایی و افزایش توان محاسبات در هر مدت استفاده از سخت‌افزار می‌باشد.

طبقه‌بندی
---------

در طراحی پردازنده، دو روش برای تقارن تراشه با کمترین منابع مورد نیاز وجود دارد: یک روش سوپر است که سعی بر به‌کارگیری سطح دستورالعمل به‌طور موازی (ILP) و دیگر رویکرد چندرشتگی در به‌کارگیری سطح رشته به‌طور موازی است (TLP).

سوپر به معنای اجرای چندین دستورالعمل می‌باشد در حالی که سطح رشته موازی (TLP) اجرای دستورالعمل‌ها در چندین رشته همراه با یک تراشه پردازنده به‌طور هم‌زمان می‌باشد.

* قرار دادن چند رشته در یک لایه: این عمل در چند دستورالعمل از چندین رشته، به چند رشته زمانی نیز اشاره دارد که بیشتر می‌تواند به ریز و درشت بخش‌های چند رشتگی مربوط به فرکانس عمل در یک لایه قرار دادن تقسیم شود. چند رشتگی ریز بخش -برای مثال در پردازنده در بسته – دستورالعمل‌ها را برای رشته‌های مختلف بعد از هر دوره زمانی انجام می‌دهد، در حالی که چند رشتگی درشت بخش تنها زمانی برای انجام دستورالعمل از دیگر رشته تغییر می‌کند که رشته عملیاتی فعلی باعث ایجاد تأخیر زیادی شده‌باشد (مانند صفحه گسل و غیره). چند رشتگی درشت بیشتر برای حداقل تغییرات زمینه بر روی رشته‌ها به‌کار برده می‌شود. برای مثال پردازنده مُنتسیتو شرکت اینتل از چند رشتگی درشت استفاده می‌کند در حالی که UltraSPARC T1 شرکت سان از چند رشتگی ریز استفاده می‌کند. برای چنین پردازنده‌هایی که تنها یک خط لوله (pipeline) در هر هسته دارد، قرار دادن چند رشته در یک لایه تنها راه ممکن است، به دلیل آن که می‌تواند بر روی حداکثر یک دستورالعمل در دوره زمانی کار کند.
* چند رشتگی هم‌زمان (SMT): عملیات چند دستورالعملی را از چندین رشته در یک دوره زمانی انجام می‌دهد. پردازنده باید بسیار بزرگ (سوپر) باشد تا بتواند انجام دهد.
* چندپردازشگری در سطح تراشه (CMP یا چند هسته‌ای): دو یا چند پردازنده را در یک تراشه ادغام می‌کند. در این حالت هر عملیات به‌طور مستقل انجام می‌دهد.
* هر صورت دیگری از ترکیب چند رشتگیSMT/CMP.

فاکتور کلیدی تشخیص دادن آن‌ها، توجه به تعداد دستورالعمل‌هایی که یک پردازنده می‌تواند در یک دوره زمانی انجام دهد و تعداد رشته‌هایی که از هر دستورالعمل به عمل می‌آید. ریزسیستم UltraSPARC T1 شرکت سان (شناخته شده با عنوان «نیاگارا» تا زمان پخش آن در ۱۴ نوامبر ۲۰۰۵) یک پردازنده چندهسته‌ای است که به جای چندرشتگی هم‌زمان با روش چندرشتگی درشت ترکیب شده است به دلیل آن که هر هسته در یک لحظه تنها می‌تواند یک دستورالعمل را انجام دهد.

پیاده‌سازی در طول تاریخ
-----------------------

مادامی که چندرشتگی CPUها که از حدود سال ۱۹۵۰ وجود دارند، چندرشتگی همزمان اولین تحقیق شرکت IBM به عنوان بخشی از پروژهٔ ACS-360 در سال ۱۹۶۸ بود. اولین تجارت بزرگ ریزپردازنده‌ها توسعه یافته توسط SMT, Alpha 21464 (EV8) می‌باشد. این ریزپردازنده توسط DEC با هماهنگی دین تُلسن ازدانشگاه کالیفرنیا در سندیگو و سوزان ایگرز و هنری لِوی از دانشگاه واشینگتن توسعه یافت. از زمانی که خط Alpha ریز پردازنده‌ها به‌مدت کوتاهی متوقف شد، ریزپردازنده هیچگاه عرضه نشد؛ قبل از اینکه HP, Compaq را به‌دست‌آورد DEC را به‌دست آورده بود. کار دین تُلسن همچنین توسعه دادن نسخه‌های فوق رشته‌ای (تکنولوژی فوق رشته‌ای یا HTT) ریز پردازندههای پنتیوم ۴ شرکت اینتل بود، به عنوان مثال"Northwood" و "Prescott ".

پیاده‌سازی مدرن تجاری
---------------------

پنتیوم ۴ شرکت اینتل اولین پردازنده میزی مدرن برای پیاده‌سازی چندرشتگی هم‌زمان بود، که با ۳٫۰۶ گیگاهرتز در سال ۲۰۰۲ به‌دست آمد و در آن زمان تعدادی از پردازنده‌هایشان را معرفی کردند. اینتل آن را عملکرد فوق رشته‌ای می‌نامد و موتور دو رشته‌ای اس‌ام‌تی را تدارک دید. اینتل تا افزایش ۳۰ درصدی سرعت در مقایسه با موارد یکسان در پنتیوم بدون SMT پیش رفت. دید نسبت به بهبود عملکرد بسیار وابسته به نرم‌افزار است؛ درحالی که دو برنامه را اجرا می‌کنید که به توجه کامل پردازنده نیاز دارید که امکان دارد بنظر برسد یک یا هر دو برنامه زمانی که فوق رشته‌ای روشن شده، به‌طور محسوسی (سرعتشان) پایین آمده است؛ که این ناشی از بسته شدن منابع اجرایی ارزشمند سیستم پاسخ‌دهی پنتیوم ۴ است. افزایش مغایرت منابع مثل پهنای باند، مخزن (cache), TLBها، دوباره مرتب کردن ورودی‌های بافر، تساوی منابع پردازنده بین دو برنامه که میزان زمان متغیر برای اجرا را اضافه می‌کند. پنتیوم ۴ با هسته پرساکت صف پاسخگویی به‌دست‌آورد، که زمان اجرا مورد نیاز برای سیستم پاسخگویی را افزایش می‌دهد. این کافی است تا به‌طور کامل در برابر عملکرد تصادم‌ها غلبه کند.

آخرین طراحی در معماری MIPS شامل سیستم اس‌ام‌تی است که با عنوان MIPS MT شناخته شده است.
MIPS MT، وزن سنگین عناصر پردازش مجازی و وزن کم ریزرشته‌های سخت‌افزار بهبود داد. RMI، راه انداز برپایهٔ کوپرتینو، اولین فروشنده MIPS برای بهبود پردازنده برپایهٔ SOC بر روی ۸ هسته می‌باشد که هرکدام ۴ رشته را اجرا می‌کند. رشته‌ها می‌توانند در حالت ریز بخش اجرا شوند که یک سری رشته مختلف می‌توانند در یک دوره زمانی انجام شوند. رشته‌ها می‌توانند به یک سری اولویت‌ها اختصاص داده شوند. تکنولوژی تصوری MIPS در CPU دارای 2 SMT رشته در یک هسته می‌باشند. [*چه زمانی؟*]

IBM ژن آبی / Q دارای ۴ راه SMT است.

5 IBM POWER، معرفی شده در ماه مه سال ۲۰۰۴، هم به عنوان ماژول دو هسته‌ای دو تراشه‌ای (DCM) و هم به عنوان ماژول چهار یا هشت هسته‌ای دو تراشه‌ای (MCM)، همراه هر هسته دو رشته موتور SMT است. پیاده‌سازی IBM بسیار پیچیده‌تر از قبلی‌هایش است، به دلیل اینکه می‌تواند عملیات مختلفی را به رشته‌های متفاوت اعمال کند، بیشتر ریز بخش است و موتور SMT به صورت پویا می‌تواند خاموش و روشن شود تا بهتر آن ظرفیت کاری را که پردازندهSMT نمی‌تواند افزایش کارایی دهد، اجرا کند. این دومین پیاده‌سازی چندرشتگی سخت‌افزاری در دسترس عموم شرکت IBM است. در ۲۰۱۰، شرکت **آی‌بی‌ام** سیستمی بر پایهٔ پردازنده 7POWER با هشت هسته معرفی کرد که هر هسته دارای ۴ رشته هوشمند هم‌زمان می‌باشد. این جابه‌جایی‌ها (تغییرات) در رشته‌ها بین یک رشته، دو رشته و چهار رشته به تعداد رشته‌های فرایند (پروسه) ای که زمان‌بندی شده‌اند بستگی دارد. این کار، استفاده از هسته را در پاسخگویی درحداقل زمان یا برای حداکثر خروجی بهینه می‌کند. 8IBM POWER دارای ۸ رشتهٔ هم‌زمان هوشمند می‌باشد. (SMT8).

IBM Z13 دارای ۲ رشته در هر هسته می‌باشد (SMT-2).

همچنین بسیاری از مردم گزارش کرده‌اند که ریزسیستم UltraSPARC T1 شرکت سان (که در ۱۴ نوامبر سال ۲۰۰۵ با نام "نیاگاراً شناخته شد) و در حال حاضر پردازنده موسوم به "راک" که از بین رفته است (که در سال ۲۰۰۵ به معرف عموم رسید اما بعدی کلی تأخیر در سال ۲۰۰۹ تعطیل شد) پیاده‌سازی SPARC اغلب بر بهره‌برداری از روش SMT و CMP متمرکز شده است، در حالی که "نیاگاراً از SMT استفاده نمی‌کند. شرکت سان تمایل به این رویکرد ترکیبی با نام "CMT" و مفهوم کلی "توان محاسباتی" دارد.
"نیاگاراً دارای ۸ هسته می‌باشد، اما هر هسته تنها یک خط لوله (pipeline) داراست، در واقع از چندرشتگی ریزبخش استفاده می‌کند. برخلاف SMT که دستورالعمل‌های چندرشتگی که پنجره عملیات را در هر دوره زمانی به اشتراک می‌گذارد، پردازنده از سیاست دور رابین برای اعمال دستورالعمل‌ها از رشته فعال بعدی در هر دوره زمانی استفاده می‌کند. این باعث می‌شود تا بیشتر شبیه به پردازنده بسته باشد. پردازنده "راک" شرکت سان متفاوت است، دارای چند هسته پیچیده است که دارای بیش از یک خط لوله (pipeline) می‌باشد.

محصول SPARC T3 شرکت اوراکل (Oracle) دارای ۸ رشته ریزبخش در هر هسته می‌باشد ،4 SPARC T ،5 SPARC T،5M SPARC و 6Sparc M دارای ۸ رشته درشت بخش در هر هسته می‌باشد که هر دو می‌توانند به‌طور هم‌زمان عملیات انجام دهند.

شرکت فوجیتسو (FUJITSO) مدل SPARC 64VI دارای چندرشتگی درشت بخش عمودی(VMT) و SPARCVII و جدیدتر دارای اس‌ام‌تی دو روشی هستند.

شرکت اینتل (Intel) در مونتسیتو ایتانیوم خود از چندرشتگی درشت بخش استفاده کرده است و توکویلا و جدیدتر از اس‌ام‌تی دو روشی استفاده می‌کند (همراه با چندرشتگی دو-دامنه‌ای).

شرکت اینتل در زیئون فای از SMT 4-روشی (همراه با چندرشتگی زمان تسهیم شده) با سخت‌افزاری که برپایهٔ رشته‌ها است برخلاف فوق رشته‌ای منظم نمی‌تواند غیرفعال شود.

اتمِ اینتل، در سال ۲۰۰۸ معرفی شد، اولین محصول برای آیندهٔ SMT دو روشی (فروخته‌شده به عنوان فوق رشته‌ای) بدون معین کردن مرتب‌سازی دستورالعمل، اجرای حدسی یا تغییر نام رجیستر است.
اینتل فوق رشته‌ای را همراه با ریزساختار «نهالم» بعد از غیاب آن در معماری هسته بازمعرفی کرد.

معماری بولدوزر AMD، تراشه FLEXFPU و Shared L2 چند رشتگی هستند اما هسته‌های عدد صحیح ماژول، تک‌رشته‌ای هستند، بنابراین این تنها یک پیاده‌سازی جزئی از اس‌ام‌تی می‌باشد.

ریز ساختار «زِن» AMD, SMT دو روشی دارد.

معایب این سیستم
---------------

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

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

جستارهای وابسته
---------------

* چندریسمانی
* الگوریتم‌های چندریسمانی
* فراریسمانی

منابع
-----

1. ↑  Wikipedia contributors, "Simultaneous multithreading,", December 16, 2012.

| * ن
* ب
* و
فناوری‌های واحد پردازش مرکزی |
| --- |
| مدل‌های محاسبه | 
* ماشین تورینگ
	+ ماشین تورینگ جهانی
	+ ماشین پست-تورینگ
	+ ماشین تورینگ کوانتومی
* Belt machine
* ماشین پشته‌ای
* ماشین حالات متناهی
	+ with datapath
	+ ماشین حالت یو.ام.ال
	+ ماشین صف
* Register machines
	+ Counter
	+ Pointer
	+ Random-access
	+ ماشین برنامه ذخیره‌شده با دسترسی تصادفی

 |
| معماری رایانه | 
* ریزمعماری
* معماری فون نویمان
* معماری هاروارد
	+ modified
* معماری جریان داده
* Transport-triggered
* Cellular
* اندیان
* ذخیره‌سازی داده رایانه
	+ حافظه دسترسی غیریکپارچه
	+ HUMA
	+ Load/store
	+ معماری حافظه ثبات
* Cache hierarchy
* سلسله‌مراتب حافظه
	+ حافظه مجازی
	+ ذخیره‌سازی داده رایانه
* Heterogeneous
* Fabric
* چندپردازشی
* رایانش شناختی
* نورومورفیک

 |
| مجموعه دستورالعمل‌ها | 

|  |  |
| --- | --- |
| انواع | 
* رایانه با دستورهای پیچیده
* رایانه کم دستور
* Application-specific
* EDGE
	+ TRIPS
* کلمه دستورالعمل بسیار طولانی
	+ رایانش موازی صریح دستورالعمل‌ها
* MISC
* OISC
* NISC
* ZISC
* comparison
	+ حالت‌های آدرس‌دهی

 |

* اکس۸۶
* معماری آرم
* معماری میپس
* Power ISA
* اسپارک
* ایتانیوم
* Unicore
* MicroBlaze
* RISC-V
* others
 |
| Execution | 

|  |  |
| --- | --- |
| خط لوله | 
* حباب
* Operand forwarding
* Classic RISC pipeline

 |
| مخاطره‌ها | 
* وابستگی داده
* مخاطره
* مخاطره
* False sharing

 |
| خروج از دستور در حال اجرا | 
* Tomasulo algorithm
	+ Reservation station
	+ Re-order buffer
* تغییر نام ثبات

 |
| Speculative | 
* پیش‌بینی‌کننده پرش
* Memory dependence prediction

 |

 |
| رایانش موازی | 

|  |  |
| --- | --- |
| سطح | 
* موازی‌سازی بیتی
	+ Bit-serial
	+ کلمه
* دستورالعمل
* خط لوله (رایانه)
	+ Scalar
	+ سوپراسکالر
* Task
	+ ریسه
	+ فرایند
* Data
	+ پردازنده برداری
* Memory
* رایانش توزیع‌شده

 |
| چندریسمانی | 
* چندرشته زمانی
* چندریسمانی همزمان
	+ فراریسمانی
* Speculative
* پیش‌اجرایی
* چند وظیفه‌ای بدون قبضه‌ای

 |
| طبقه‌بندی فلین | 
* یک دستور یک داده
* یک دستور چند داده
	+ SWAR
* SIMT
* چند دستور یک داده
* چند دستور چند داده
	+ یک برنامه چند داده

 |

 |
| Processorperformance | 
* Transistor count
* Instructions per cycle (IPC)
	+ Cycles per instruction (CPI)
* Instructions per second (IPS)
* فلاپس (FLOPS)
* تراکنش بر ثانیه (TPS)
* Synaptic updates per second (SUPS)
* Performance per watt (PPW)
* Cache performance metrics
* Computer performance by orders of magnitude

 |
| انواع | 
* واحد پردازش مرکزی (CPU)
* واحد پردازش گرافیکی (GPU)
	+ محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی
* پردازنده برداری
* Barrel
* پردازش جریان
* Coprocessor
* مدارهای مجتمع با کاربرد خاص
* مدار مجتمع دیجیتال برنامه‌پذیر
* CPLD
* Multi-chip module (MCM)
* System in package (SiP)

|  |  |
| --- | --- |
| By application | 
* ریزپردازنده
* ریزکنترل‌گر
* Mobile
* Notebook
* Ultra-low-voltage
* ASIP

 |
| Systemson chip | 
* سامانه روی یک تراشه (SoC)
* Multiprocessor (MPSoC)
* Programmable (PSoC)
* شبکه درون یک تراشه (NoC)

 |
| شتاب‌دهنده سخت‌افزاری | 
* AI accelerator
* Vision processing unit (VPU)
* Physics processing unit (PPU)
* پردازشگر سیگنال دیجیتال (DSP)
* واحد پردازشی تنسور (TPU)
* Secure cryptoprocessor
* پردازنده‌های شبکه‌ای
* Baseband processor

 |

 |
| کلمه | 
* معماری ۱-بیتی
* بیت برش
* ۴-بیت
* ۸ بیتی
* ۱۶ بیتی
* ۳۲-بیت
* 48-bit
* 64-bit
* ۱۲۸-بیت
* 256-bit
* 512-bit
* کلمه (معماری رایانه)
	+ کلمه (معماری رایانه)

 |
| تعداد هسته | 
* Single-core
* پردازنده چندهسته‌ای
* Manycore
* Heterogeneous architecture

 |
| اجزاء | 
* واحد پردازش مرکزی
* حافظه نهان (رایانش)
	+ حافظه نهان سی‌پی‌یو
	+ الگوریتم حافظه پنهان
	+ انسجام حافظه نهان
* گذرگاه
* سرعت ریزپردازنده
* سیگنال ساعت
* خروج به ترتیب ورود

|  |  |
| --- | --- |
| Functional units | 
* واحد محاسبه و منطق (ALU)
* Address generation unit (AGU)
* واحد ممیز شناور (FPU)
* واحد مدیریت حافظه (MMU)
	+ Load–store unit
	+ تی‌ال‌بی (TLB)
* کنترلگر حافظه (IMC)

 |
| دروازه منطقی | 
* مدار ترکیبی
* مدارهای ترتیبی
* Glue
* دروازه منطقی
	+ دروازه‌های منطقی کوانتومی
	+ دروازه آرایه

 |
| ثبات سخت‌افزاری | 
* ثبات
* ثبات وضعیت
* ثبات پشته‌ای
* Register file
* Memory buffer
* شمارنده برنامه

 |
| واحد کنترل | 
* Instruction unit
* حافظه میانگیر
* Write buffer
* ریزبرنامه‌سازی تصویر رام
* شمارنده

 |
| دیتاپد | 
* تسهیم‌کننده
* تسهیم‌کننده
* جمع‌کننده
* ضرب‌کننده دودویی
	+ پردازنده چندبرابر
* رمزگشا
	+ Address decoder
	+ Sum addressed decoder
* شیفت دهنده بشکه‌ای

 |
| مدار الکترونیکی | 
* مدار مجتمع
	+ 3D
	+ Mixed-signal
	+ Power management
* مدار بولی
* الکترونیک دیجیتال
* الکترونیک آنالوگ
* Quantum
* کلید

 |

 |
| مدیریت نیرو | 
* PMU
* APM
* رابط قدرت و تنظیمات پیشرفته
* درجه‌بندی پویای بسامد
* Dynamic voltage scaling
* Clock gating
* Performance per watt (PPW)
* Race to sleep

 |
| مرتبط | 
* History of general-purpose CPUs
* Microprocessor chronology
* طراحی پردازنده
* الکترونیک دیجیتال
* ماژول امنیتی سخت‌افزاری
* Semiconductor device fabrication
* Tick–tock model

 |

| * ن
* ب
* و
رایانش موازی |
| --- |
| عمومی | 
* رایانش ابری
* ابررایانه
* خوشه کامپیوتری
* رایانش توزیع‌شده
* رایانش مشبک

 |  |
| سطوح | 
* بیت
* دستوری
* داده
* وظیفه

 |
| ریسه‌ها | 
* Superthreading
* فراریسمانی

 |
| نظریه | 
* قانون امدال
* قانون گوستافسون
* کارایی هزینه
* استاندارد کرپ-فلت
* کاهش‌سرعت
* افزایش‌سرعت

 |
| عناصر | 
* فرآیند
* ریسه
* فیبر
* PRAM
* Instruction window

 |
| هماهنگی | 
* چندپردازشی
* چندریسمانی
* Memory coherency
* انسجام حافظه نهان
* Cache invalidation
* Barrier
* همزمانی
* حالت‌برداری برنامه‌ای

 |
| برنامه‌نویسی | 
* مدل‌ها
	+ موازی‌سازی تلویحی
	+ موازی‌سازی آشکار
	+ هم‌روندی
* طبقه‌بندی فلین
	+ اس‌آی‌اس‌دی
	+ اس‌آی‌ام‌دی
	+ ام‌آی‌اس‌دی
	+ ام‌آی‌ام‌دی
		- اس‌پی‌ام‌دی
* الگوریتم‌های چندریسمانی
* الگوریتم‌های غیرمسدودکننده

 |
| سخت‌افزار | 
* چندپردازشگر
	+ متقارن
	+ نامتقارن
* حافظه
	+ نوما
	+ کوما
	+ توزیع‌شده
	+ مشترک
	+ مشترک توزیع‌شده
* چندریسمانی همزمان
* ام‌پی‌پی
* سوپراسکالر
* پردازنده برداری
* ابررایانه
* *بیوولف*

 |
| رابط‌های برنامه‌نویسی | 
* Ateji PX
* ریسه‌های پازیکس
* OpenMP
* OpenHMPP
* OpenACC
* PVM
* MPI
* UPC
* Intel Threading Building Blocks
* بوست (کتابخانه‌های سی++)
* Global Arrays
* Charm++
* Cilk
* Co-array Fortran
* اپن‌سی‌ال
* کودا
* Dryad

 |
| مشکلات | 
* Embarrassingly parallel
* Software lockout
* مقیاس‌پذیری
* وضعیت رقابتی
* بن‌بست (علوم رایانه)
* بن‌بست
* الگوریتم قطعی
* Parallel slowdown

 |
| 
* **رده**
* **داده**

 |