در پردازنده های مدرن چند هسته ای ، دو یا چند هسته محاسباتی روی یک کریستال سیلیکون قرار دارند. علاوه بر این ، هر هسته قادر به پشتیبانی از محاسبه دو یا چند رشته است. استفاده از پردازنده های چند هسته ای می تواند عملکرد سیستم عامل ها و برنامه های پشتیبانی از چند رشته را تسریع کند.
پردازنده های چند هسته ای واحد پردازش مرکزی هستند که بیش از دو هسته پردازشی را در خود دارند. چنین هسته هایی را می توان هم در یک بسته و هم در یک قالب پردازنده قرار داد.
پردازنده چند هسته ای چیست؟
بیشتر اوقات ، پردازنده های چند هسته ای به عنوان پردازنده های مرکزی شناخته می شوند که در آنها چندین هسته محاسباتی در یک میکرو مدار ادغام شده اند (یعنی روی یک کریستال سیلیکون قرار دارند).
معمولاً سرعت کلاک در پردازنده های چند هسته ای عمداً دست کم گرفته می شود. این کار به منظور کاهش مصرف برق و در عین حال حفظ عملکرد پردازنده مورد نیاز انجام می شود. در عین حال ، هر هسته یک ریزپردازنده تمام عیار است که مشخصه همه پردازنده های مدرن است - از حافظه نهان چند سطحی استفاده می کند ، از اجرای کد خارج از دستور و دستورالعمل های برداری پشتیبانی می کند.
نخ بیش از حد
هسته های پردازنده های چند هسته ای می توانند از SMT پشتیبانی کنند ، که به شما امکان می دهد چندین رشته محاسبات را اجرا کنید و چندین پردازنده منطقی را بر اساس هر هسته انجام دهید. در پردازنده های تولید شده توسط اینتل ، این فناوری "Hyper-threading" نامیده می شود. به شما امکان می دهد تعداد پردازنده های منطقی را در مقایسه با تعداد تراشه های فیزیکی دو برابر کنید. در ریزپردازنده هایی که از این فناوری پشتیبانی می کنند ، هر پردازنده فیزیکی قادر است حالت دو رشته را به طور همزمان حفظ کند. از نظر سیستم عامل ، به نظر می رسد دو پردازنده منطقی وجود دارد. اگر مکثی در کار یکی از آنها ایجاد شود (به عنوان مثال منتظر دریافت اطلاعات از حافظه است) ، پردازنده منطقی دیگر شروع به اجرای رشته خود می کند.
انواع پردازنده های چند هسته ای
پردازنده های چند هسته ای به چندین نوع طبقه بندی می شوند. آنها ممکن است از استفاده از حافظه پنهان مشترک پشتیبانی کنند یا نکنند. ارتباط بین هسته ها با استفاده از یک گذرگاه مشترک ، یک شبکه نقطه به نقطه ، یک شبکه با یک سوئیچ یا یک حافظه پنهان مشترک اجرا می شود.
اصل عمل
اکثر پردازنده های مدرن چند هسته ای طبق طرح زیر کار می کنند. اگر برنامه در حال اجرا از چند رشته پشتیبانی کند ، می تواند پردازنده را مجبور به انجام همزمان چندین کار کند. به عنوان مثال ، اگر کامپیوتر از پردازنده 4 هسته ای با سرعت کلاک 1.8 گیگاهرتز استفاده می کند ، برنامه می تواند هر چهار هسته را همزمان با کار "بارگیری" کند ، در حالی که کل فرکانس پردازنده 7.2 گیگاهرتز خواهد بود. اگر چندین برنامه به طور هم زمان در حال اجرا باشد ، هر یک از آنها می توانند از بخشی از هسته های پردازنده استفاده کنند که این نیز منجر به افزایش عملکرد رایانه می شود.
بسیاری از سیستم عامل ها از چند رشته ای پشتیبانی می کنند ، بنابراین استفاده از پردازنده های چند هسته ای حتی در مورد برنامه هایی که از چند رشته پشتیبانی نمی کنند ، می تواند سرعت کامپیوتر را افزایش دهد. اگر عملکرد فقط یک برنامه را در نظر بگیریم ، استفاده از پردازنده های چند هسته ای تنها در صورتی توجیه خواهد شد که این برنامه برای چند رشته بهینه شود. در غیر این صورت ، سرعت پردازنده چند هسته ای با پردازنده معمولی تفاوتی نخواهد کرد و حتی گاهی اوقات کندتر کار می کند.