چندریسمانی همزمان: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ابرابزار |
|||
(۳۲ نسخهٔ میانی ویرایش شده توسط ۱۶ کاربر نشان داده نشد) | |||
خط ۱:
'''
پردازندههای سوپراسکالر به گونهای طراحی شدهاند که میتوانند چندین دستورالعمل را در هر چرخه ساعت اجرا کنند. با این حال، در عمل، بسیاری از واحدهای اجرایی پردازنده ممکن است در هر چرخه به طور کامل مورد استفاده قرار نگیرند، زیرا همه دستورالعملها به منابع یکسانی نیاز ندارند. اینجاست که فناوری SMT وارد عمل میشود و بهبودهای قابل توجهی را ارائه میدهد.
در فناوری SMT، چندین ریسه (thread) یا فرآیند (process) میتوانند به طور همزمان بر روی یک پردازنده اجرا شوند. این ریسهها از منابع سختافزاری مشترک پردازنده، مانند واحدهای محاسباتی، ثباتها (registers)، و حافظه نهان (cache) استفاده میکنند. هدف اصلی SMT بهبود بهرهوری از منابع پردازنده است که به طور معمول ممکن است در یک ریسه منفرد به طور کامل استفاده نشوند.
فناوری SMT این امکان را فراهم میکند که اگر یک ریسه به دلیل انتظار برای دسترسی به حافظه یا سایر منابع معطل باشد، ریسههای دیگر بتوانند از منابع بیکار استفاده کنند و به اجرا ادامه دهند. این ویژگی به بهبود بازدهی کلی پردازنده و کاهش زمان تأخیر کمک میکند.
یکی از مثالهای برجسته استفاده از فناوری SMT در پردازندههای مدرن، پردازندههای سری Intel Hyper-Threading است. این پردازندهها با استفاده از فناوری SMT قادرند دو ریسه را به طور همزمان بر روی هر هسته فیزیکی اجرا کنند. این به معنای این است که یک پردازنده چهار هستهای با Hyper-Threading میتواند به طور همزمان هشت ریسه را اجرا کند. این موضوع منجر به بهبود چشمگیر عملکرد در برنامههایی میشود که قابلیت اجرای موازی دارند.
پردازندههای AMD نیز از فناوری مشابهی به نام Simultaneous Multi-Threading بهره میبرند. این فناوری در پردازندههای Ryzen این شرکت به کار گرفته شده و عملکرد بالاتری را در برنامههای چندریسمانی ارائه میدهد.
فناوری SMT نیازمند تغییرات و بهبودهای قابل توجهی در طراحی سختافزاری پردازندهها است. از جمله این تغییرات میتوان به مدیریت پیچیدهتر ثباتها، افزایش تعداد واحدهای اجرایی، و بهبود سیستم حافظه نهان اشاره کرد. علاوه بر این، نرمافزار نیز باید به گونهای طراحی شود که بتواند از مزایای SMT بهرهبرداری کند. این به معنای برنامهنویسی برای اجرای موازی و بهینهسازی الگوریتمها برای استفاده از چندین ریسه به طور همزمان است.
یکی از چالشهای اصلی SMT مدیریت منابع مشترک بین ریسهها است. اگرچه این فناوری میتواند بهبودهای بزرگی در عملکرد ایجاد کند، اما در صورت مدیریت نادرست منابع، ممکن است به کاهش عملکرد یا تداخل بین ریسهها منجر شود. به عنوان مثال، اگر دو ریسه به طور همزمان به یک منبع خاص نیاز داشته باشند، ممکن است باعث ایجاد تأخیر در اجرا شوند.
مزایای استفاده از SMT شامل افزایش بازدهی پردازنده، بهبود عملکرد در برنامههای چندریسمانی، و کاهش زمان تأخیر است. این فناوری به ویژه در برنامههایی که به شدت به پردازش موازی متکی هستند، مانند شبیهسازیها، محاسبات علمی، و پردازش دادههای بزرگ، بسیار مؤثر است.
با این حال، همه برنامهها نمیتوانند از مزایای SMT بهرهبرداری کنند. برنامههایی که به صورت ترتیبی اجرا میشوند و نیاز به پردازش موازی ندارند، ممکن است بهبود قابل توجهی در عملکرد مشاهده نکنند. به همین دلیل، توسعهدهندگان نرمافزار باید به طور دقیق نیازها و الگوهای کاری برنامههای خود را بررسی کنند تا بتوانند از فناوری SMT بهرهبرداری کنند.
در نتیجه، فناوری چندریسمانی همزمان یک ابزار قدرتمند برای بهبود عملکرد پردازندهها و افزایش بازدهی سیستمهای کامپیوتری است. این فناوری با به کارگیری همزمان چندین ریسه در یک پردازنده، میتواند بهرهوری از منابع سختافزاری را به حداکثر برساند و عملکرد سیستم را در برنامههای چندریسمانی بهبود بخشد. با این حال، بهرهبرداری بهینه از این فناوری نیازمند طراحی دقیق سختافزار و نرمافزار و مدیریت مؤثر منابع مشترک بین ریسهها است.
== جزئیات ==
نام ''چند رشتگی'' مبهم است چون چندین رشته و وظیفه (با جداول صفحهٔ مختلف، سطحهای وضعیت وظیفهٔ مختلف، [[حلقه حفاظتی|حلقههای حفاظت]] مختلف، اجازههای ورود و خروج مختلف و …) میتوانند بهطور همزمان روی یک هستهٔ [[واحد پردازش مرکزی|سیپییو]] اجرا شوند. علیرغم اجرا شدن روی یک
چند رشتگی همزمان یکی از دو مورد از پیادهسازی اصلی چند رشتگی
به دلیل آن که روش فنی راهحل بسیار سودمندی
برخی از محققان نشان دادند که رشتههای اضافی میتواند به عنوان عنصری فعال منبع اشتراکگذاری همانند مخزن مورد استفاده قرار بگیرند. برای بهبود کارایی تک رشته دیگر و این ادعا نشان میدهد که اسامتی تنها یک راه حل مفید نیست. استفاده دیگر از اسامتی ارائه محاسبات اضافی برای برخی سطوح کشف خطا و ترمیم آن است.
در هرحال، در بسیاری از موارد متداول، اسامتی (SMT) برای پوشاندن تأخیر در کار حافظه، افزایش کارایی و افزایش توان محاسبات در هر مدت استفاده از سختافزار میباشد.
== طبقهبندی ==
در طراحی پردازنده، دو روش برای تقارن [[آیسی|تراشه]] با کمترین منابع مورد نیاز وجود دارد: یک روش سوپر
سوپر به معنای اجرای چندین دستورالعمل
* قرار دادن چند رشته در یک لایه: این عمل در چند دستورالعمل از چندین رشته، به چند رشته زمانی نیز اشاره دارد که بیشتر میتواند به ریز و درشت بخشهای چند رشتگی مربوط به فرکانس عمل در یک لایه قرار دادن تقسیم شود. چند رشتگی ریز بخش -برای مثال در پردازنده در بسته – دستورالعملها را برای رشتههای مختلف بعد از هر دوره زمانی انجام میدهد، در حالی که چند رشتگی درشت بخش تنها زمانی برای انجام دستورالعمل از دیگر رشته تغییر میکند که رشته عملیاتی فعلی باعث ایجاد تأخیر زیادی شدهباشد (مانند صفحه گسل و غیره). چند رشتگی درشت بیشتر برای حداقل تغییرات زمینه بر روی رشتهها بهکار برده میشود. برای مثال پردازنده مُنتسیتو [[اینتل|شرکت اینتل]] از چند رشتگی درشت استفاده میکند در حالی که UltraSPARC T1 شرکت سان از چند رشتگی ریز استفاده میکند. برای چنین پردازندههایی که تنها یک خط لوله (pipeline) در هر هسته دارد، قرار دادن چند رشته در یک لایه تنها راه ممکن است، به دلیل آن که میتواند بر روی حداکثر یک دستورالعمل در دوره زمانی کار کند.
* چند رشتگی همزمان (SMT): عملیات چند دستورالعملی را از چندین رشته در یک
* چندپردازشگری در سطح تراشه (CMP یا چند هستهای): دو یا چند پردازنده را در یک تراشه ادغام میکند. در این حالت هر عملیات بهطور مستقل انجام میدهد.
* هر صورت دیگری از ترکیب چند رشتگیSMT/CMP.
سطر ۲۳ ⟵ ۴۳:
== پیادهسازی در طول تاریخ ==
مادامی که چندرشتگی CPUها که از حدود سال ۱۹۵۰ وجود دارند، چندرشتگی همزمان اولین [[تحقیق]] شرکت IBM به عنوان بخشی از پروژهٔ ACS-360 در سال ۱۹۶۸ بود. اولین [[تجارت]] بزرگ [[ریزپردازنده]]ها توسعه یافته توسط SMT, Alpha 21464 (EV8) میباشد. این ریزپردازنده توسط DEC با هماهنگی دین تُلسن از[[دانشگاه کالیفرنیا]] در سندیگو و سوزان ایگرز و هنری لِوی از [[دانشگاه واشینگتن]] توسعه یافت. از زمانی که خط Alpha ریز پردازندهها بهمدت کوتاهی متوقف شد، ریزپردازنده هیچگاه عرضه نشد؛ قبل از اینکه [[هیولت پاکارد|HP]], Compaq را بهدستآورد DEC را بهدست آورده بود. کار دین تُلسن همچنین توسعه دادن نسخههای فوق رشتهای (تکنولوژی فوق رشتهای یا HTT) [[ریزپردازنده|ریز پردازنده]]<nowiki/>های [[پنتیوم ۴]] شرکت [[اینتل]] بود، به عنوان مثال"Northwood" و "Prescott ".{{مدرک}}
== پیادهسازی مدرن تجاری ==
سطر ۲۹ ⟵ ۴۹:
آخرین طراحی در معماری MIPS شامل سیستم اسامتی است که با عنوان MIPS MT شناخته شده است.
MIPS MT، وزن سنگین عناصر پردازش مجازی و وزن کم ریزرشتههای [[سختافزار رایانه|سختافزار]] بهبود داد. RMI، راه انداز برپایهٔ کوپرتینو، اولین فروشنده MIPS برای بهبود پردازنده برپایهٔ SOC بر روی ۸ هسته میباشد که هرکدام ۴ رشته را اجرا میکند. رشتهها میتوانند در حالت ریز بخش اجرا شوند که یک سری رشته مختلف میتوانند در یک دوره زمانی انجام شوند. رشتهها میتوانند به یک سری اولویتها اختصاص داده شوند. تکنولوژی تصوری MIPS در CPU دارای 2 SMT رشته در یک هسته میباشند. {{چه زمانی}}
IBM [[ژن آبی]] / Q دارای ۴ راه SMT است.
سطر ۵۶ ⟵ ۷۶:
== معایب این سیستم ==
همچنین در مورد پیادهسازی چند رشتگی همزمان کنونی، نگرانیهای امنیتی وجود دارد. پیادهسازی فوق رشتهای شرکت اینتل این آسیبپذیری را دارد که یک نرمافزار ممکن است [[کلید (رمزنگاری)|کلید رمزنگاری]] آن از اجرای یک نرمافزار دیگر با پردازندهای مشابه توسط نظارت بر استفاده تراشه دزدیده شود.
|