واحد پردازش مرکزی یا Central processing unit (CPU) در کامپیوتر شما همهی کارهای محاسباتی را انجام میدهد، به طور کلی اجرای همهی برنامهها. اما یک CPU تکهستهای فقط یک کار را در آن واحد انجام میدهد، و این جاییاست که CPUهای ترکیبی، فراریسمانی و چندهستهای وارد عمل میشوند.
داشتن بیش از یک CPU اجازه میدهد که چندین برنامه به صورت همزمان اجرا شوند، و از پاسخگو ماندن کامپیوتر اطمینان حاصل شود، بهخصوص زمانی که در حال انجام چند کار به صورت همزمان یا اجرای عملیاتی پرمحاسبه مثل تبدیل ویدئو هستید.
CPUهای چندگانه
اکثر کامپیوترها یک CPU دارند. این CPU ممکن است چند هسته و یا فناوری فراریسمانی (hyper-threading) داشته باشد، اما باز هم فقط یک واحد فیزیکی CPU است که به یک سوکت CPU روی مادربرد متصل شده است.
پیش از اینکه فراریسمانی و پردازندههای چندهستهای رایج شوند، کاربران سعی میکردند با اضافه کردن CPUهای اضافی، قدرت پردازشی کامپیوتر را بالا ببرند. این نیازمند مادربردی با چند سوکت CPU است تا هر کدام از CPUها به یکی از سوکتها متصل شوند. مادربرد همچنین به یک سختافزار دیگر برای مرتبط کردن این سوکتها با رم و دیگر منابع هم نیاز دارد. این روش، پیچیدگیهای زیادی دارد، اگر CPUها نیاز به ارتباط با هم داشته باشند، یک تأخیر اضافی به وجود میآید، و اینگونه سیستمها انرژی بیشتری مصرف میکنند و مادربرد آنها هم نیاز به سوکتها و سختافزارهای بیشتری دارد.
این روش امروزه در میان کاربران خانگی رایج نیست. حتی سیستمهای بسیار قدرتمند مخصوص بازی با چندین کارت گرافیک هم عموما فقط یک CPU دارند. سیستمهایی با چند پردازنده را در ابررایانهها، سرورها، و سیستمهای پیشرفته اینچنینی میبینید که نیاز به قدرت پردازش بسیار بالایی دارند.
فناوری فراریسمانی
تکنولوژی فراریسمانی یا hyper-threading اولین تلاش اینتل در جهت به ارمغان آوردن محاسبات موازی برای کاربران کامپیوترهای شخصی بود. پنتیوم ۴های اولیه فقط یک هسته داشتند و در نتیجه فقط قادر به انجام یک کار در آن واحد بودند، اما فراریسمانی تلاش کرد که این موضوع را جبران کند.
یک پردازنده تکهستهای فراریسمانی، برای کامپیوتر به صورت پردازندهای با دو هسته منطقی نمایش داده میشود. پردازنده همچنان یک هسته دارد، پس این به نوعی یک کلک است، در حالی که سیستم عامل دو CPU به ازای هر هسته میبیند، اما سختافزار پردازنده فقط یک منبع اجرایی برای هر هسته دارد. پردازنده وانمود میکند که تعداد هستههای بیشتری دارد، و از روش خاص خود برای سرعت بخشیدن به اجرای برنامهها استفاده میکند. فراریسمانی به دو هسته مجازی امکان میدهد که از یک منبع فیزیکی مشترک استفاده کنند. این کار تا حدودی سرعت را افزایش میدهد، اگر یک هسته مجازی دچار تأخیر شده باشد، هسته مجازی دیگر میتواند منابع اجرایی را قرض بگیرد. Hyper-threading میتواند سرعت سیستم شما را بالاتر ببرد، اما به هیچ وجه به خوبی داشتن چند هسته اضافی واقعی نیست.
خوشبختانه فراریسمانی امروز به عنوان اشانتیون عرضه میگردد. در حالی که CPUهای اولیهای که از فراریسمانی استفاده میکردند، فقط یک هسته واقعی داشتند، اما پردازندههای مدرن اینتل اکنون هم فراریسمانی و هم چندین هسته واقعی را به طور همزمان دارند. پردازنده دوهستهای شما به لطف فراریسمانی برای سیستم عامل چهار هستهای به نظر میرسد، و پردازنده چهار هستهای شما، هشت هستهای به نظر خواهد رسید. فراریسمانی به هیچ وجه جایگزینی برای چند هستهایها نیست، اما پردازنده دوهستهای با فراریسمانی بهتر از یک پردازنده دو هستهای بدون آن عمل میکند.
CPUهای چند هستهای
CPUها در ابتدا تنها یک هسته داشتند. که به این معنا بود که CPU فیزیکی فقط دارای یک واحد پردازشی درون خود بود. برای افزایش کارایی، تولیدکنندهها هستههای اضافی را به واحد مرکزی پردازش افزودند. یک پردازنده دو هستهای دارای دو واحد پردازشی است، بنابراین سیستم عامل آن را به صورت دو CPU میبیند. پروسههای مختلف میتوانند از هر دو هسته به صورت همزمان استفاده کند. این میتواند سرعت سیستم را بالا ببرد، چون کامپیوتر میتواند چند کار را به صورت همزمان انجام دهد.
برخلاف فراریسمانی، در اینجا هیچ کلکی در کار نیست. یک CPU دو هستهای، واقعاً دو واحد پردازشی دارد. یک CPU چهار هستهای هم ۴ و یک پردازنده هشت هستهای هم ۸ واحد پردازشی دارد.
این موضوع به صورت معناداری کارایی پردازنده را افزایش میدهد، اما در عین حال اندازه آن را بهقدری کوچک نگه میدارد که تنها به یک سوکت روی مادربرد متصل شود. فقط یک سوکت برای اتصال یک CPU کفایت میکند، نه ۴ سوکت برای ۴ پردازنده مختلف که هر کدام خود نیازمند برق، خنککننده و دیگر سختافزارها هستند. تأخیر کمتری وجود دارد، چون هستهها به این دلیل که روی یک چیپ قرار دارند، سریعتر با هم ارتباط برقرار میکنند.
برنامه مدیریت منابع ویندوز ۸ این موضوع را به خوبی نمایش میدهد. اینجا ما یک CPU چهارهستهای با فناوری فراریسمانی داریم، بنابراین به صورت ۸ هسته نمایش داده میشود.
هماکنون اکثر کامپیوترها دارای پردازندههای چند هستهای هستند که کارآمدترین گزینه موجود هستند. هر چند که پردازندههای اینتل، فراریسمانی را هم به عنوان اشانتیون ارائه میدهند. کامپیوترهایی که نیاز به قدرت بسیار بالایی دارند از چندین CPU استفاده میکنند، که البته آن قدری که به نظر میرسد کارآمد نیستند. پردازندههای چند هستهای در گوشیها و تبلتها هم دیده میشوند که باز هم به دلایل مشابهی در آنجا هم کارآمد هستند.
هر چه یک کامپیوتر، CPU یا هسته بیشتری داشته باشد، کارهای بیشتری را میتواند به صورت همزمان انجام دهد. این موضوع کارایی را به طور کلی افزایش میدهد، حتی اگر در حال انجام فقط یک کار هم باشید، کامپیوتر باید در پسزمینه کارهای دیگری هم انجام دهد. با یک پردازنده چند هستهای، کامپیوتر میتواند هستههای دیگر را به این کارهای پسزمینهای اختصاص دهد، تا از کند شدن برنامه مورد نیاز شما جلوگیری شود. ظهور پردازندههای دو هستهای تجربه بسیار بهتری را برای کاربران کامپیوترهای شخصی به ارمغان آورد.