هسته در مقابل پردازنده
تفاوت بین پردازنده و هسته می تواند یک موضوع گیج کننده باشد اگر به رایانه تسلط ندارید. پردازنده یا CPU مانند مغز سیستم کامپیوتری است. مسئولیت تمامی توابع اصلی مانند عملیات های حسابی، منطقی و کنترلی را بر عهده دارد. یک پردازنده سنتی مانند پردازنده پنتیوم فقط یک هسته در داخل پردازنده دارد، اما پردازنده های مدرن پردازنده های چند هسته ای هستند. یک پردازنده چند هسته ای دارای چندین هسته در داخل بسته پردازنده است که در آن یک هسته اساسی ترین واحد محاسباتی یک پردازنده است. یک هسته میتواند تنها یک دستور برنامه را در یک زمان اجرا کند (در صورت وجود قابلیت Hyper-threading میتواند چندین دستور را اجرا کند) اما پردازندهای که از چندین هسته ساخته شده است میتواند چندین دستورالعمل را به طور همزمان بسته به تعداد هستهها اجرا کند.
پردازنده چیست؟
پردازنده که به عنوان واحد پردازش مرکزی (CPU) نیز شناخته می شود، مهمترین بخش یک سیستم کامپیوتری است که وظیفه اجرای دستورالعمل های برنامه را بر عهده دارد. این دستورالعمل ها شامل عملیات های حسابی، منطقی، کنترلی و ورودی-خروجی است. به طور سنتی یک پردازنده از یک جزء به نام واحد حسابی و منطقی (ALU) تشکیل شده است که مسئولیت کلیه عملیات های حسابی و منطقی را بر عهده دارد و جزء دیگری به نام واحد کنترل (CU) که مسئولیت کلیه عملیات کنترل را بر عهده دارد. همچنین دارای مجموعه ای از ثبات ها برای ذخیره مقادیر است. به طور سنتی یک پردازنده می تواند تنها یک دستور را در یک زمان اجرا کند. پردازنده هایی که فقط یک هسته در خود دارند، پردازنده های تک هسته ای نامیده می شوند. سری پنتیوم نمونه ای برای پردازنده های تک هسته ای است.
سپس پردازنده های چند هسته ای معرفی شدند که در آن یک پردازنده دارای چندین پردازنده بود که به عنوان هسته شناخته می شوند. بنابراین یک پردازنده دو هسته ای دارای دو هسته در داخل پردازنده و یک پردازنده چهار هسته ای دارای چهار هسته در داخل خود است.بنابراین یک پردازنده چند هسته ای مانند بسته ای است که چندین پردازنده به نام هسته در داخل خود دارد. این پردازنده های چند هسته ای بسته به تعداد هسته ها می توانند چندین دستورالعمل را به طور همزمان اجرا کنند.
یک پردازنده جدا از هسته، رابطی نیز دارد که دستگاه را به دنیای خارج متصل می کند. یک پردازنده چند هسته ای همچنین دارای رابطی است که تمام هسته ها را به دنیای خارج متصل می کند. همچنین، یک کش آخرین سطح دارد که به نام کش L3 شناخته می شود که در همه هسته ها مشترک است. علاوه بر این، یک پردازنده میتواند شامل یک کنترلکننده حافظه و یک کنترلکننده ورودی-خروجی باشد، اما بسته به معماری، گاهی اوقات میتوان آنها را در چیپست خارج از پردازنده قرار داد. برخی دیگر از پردازندهها دارای واحدهای پردازش گرافیکی (GPU) هستند که یک GPU نیز از هستههای کوچک و کمقدرت ساخته شده است.
Core چیست؟
هسته جزء محاسباتی اصلی یک پردازنده است. چندین هسته با هم یک پردازنده را تشکیل می دهند.یک هسته از چندین بخش اساسی تشکیل شده است. واحد حساب و منطق مسئولیت انجام کلیه عملیات حسابی و منطقی را بر عهده دارد. واحد کنترل مسئولیت کلیه عملیات کنترل را بر عهده دارد. مجموعه رجیسترها مقادیر را به طور موقت ذخیره می کند. اگر یک هسته دارای امکاناتی به نام hyper-threading نباشد، میتواند تنها یک دستور برنامه را در یک زمان اجرا کند. با این حال، هستههای مدرن دارای فناوری به نام hyper threading هستند که در آن یک هسته دارای واحدهای عملکردی اضافی است که آنها را قادر میسازد چندین دستورالعمل را به صورت موازی اجرا کنند. در داخل یک هسته، دو سطح کش به نام های کش L1 و کش L2 وجود دارد. L1 نزدیکترین است که سریعترین اما کوچکترین است. کش L2 بعد از کش L1 قرار دارد که کمی بزرگ است اما کندتر از L1 است. این کش ها حافظه های سریع تری هستند که داده ها را به و از حافظه دسترسی تصادفی (RAM) رایانه ذخیره می کنند تا دسترسی سریعتر و کارآمدتری را ارائه دهند.
تفاوت بین پردازنده و هسته چیست؟
• هسته اساسی ترین واحد محاسباتی یک پردازنده است. یک پردازنده از یک یا چند هسته تشکیل شده است. پردازندههای سنتی فقط یک هسته داشتند در حالی که پردازندههای مدرن چندین هسته دارند.
• یک هسته از یک ALU، CU و مجموعه ای از ثبات ها تشکیل شده است.
• یک هسته شامل دو سطح حافظه پنهان به نامهای L1 و L2 است که در هر هسته وجود دارد.
• یک پردازنده از یک حافظه پنهان تشکیل شده است که توسط هسته های فراخوانی به نام کش L3 به اشتراک گذاشته می شود. برای همه هستهها مشترک است.
• یک پردازنده بسته به معماری می تواند از یک کنترل کننده حافظه و یک کنترل کننده ورودی/خروجی تشکیل شده باشد.
• بستههای پردازنده خاصی از واحدهای پردازش گرافیکی (GPU) نیز تشکیل شدهاند.
• هسته ای که hyper-threading ندارد می تواند تنها یک دستور را در یک زمان اجرا کند در حالی که یک پردازنده چند هسته ای متشکل از چندین هسته می تواند چندین دستورالعمل را به صورت موازی اجرا کند. اگر یک پردازنده از 4 هسته تشکیل شده باشد که از hyper threading پشتیبانی نمی کنند، آن پردازنده می تواند 4 دستورالعمل را همزمان اجرا کند.
• هسته ای که دارای فناوری hyper-threading است دارای واحدهای عملکردی اضافی است به طوری که می توانند چندین دستورالعمل را در یک زمان اجرا کنند. به عنوان مثال، یک هسته با 2 رشته می تواند 2 دستورالعمل را همزمان اجرا کند، بنابراین یک پردازنده با 4 هسته می تواند دستورات 2×4 را به صورت موازی اجرا کند. این رشته ها معمولاً هسته های منطقی نامیده می شوند و مدیر وظیفه ویندوز معمولاً تعداد هسته های منطقی را نشان می دهد اما هسته های فیزیکی را نشان نمی دهد.
خلاصه:
پردازنده در مقابل هسته
هسته اساسی ترین واحد محاسباتی یک پردازنده است. یک پردازنده چند هسته ای مدرن از چندین هسته در داخل آنها تشکیل شده است، اما پردازنده های اولیه فقط یک هسته داشتند.یک هسته از ALU، CU و مجموعه رجیسترهای خود تشکیل شده است. یک پردازنده از یک یا چند هسته از این قبیل ساخته شده است. یک بسته پردازنده همچنین شامل اتصالات متقابلی است که هسته ها را به خارج متصل می کند. بسته به معماری، یک پردازنده همچنین می تواند شامل یک GPU یکپارچه، کنترل کننده IO و یک کنترل کننده حافظه باشد. یک پردازنده دو هسته ای 2 هسته ای و یک پردازنده چهار هسته ای 4 هسته ای همانطور که از نام خود پیداست. یک هسته میتواند تنها یک دستور را در یک زمان اجرا کند (در صورت وجود Hyper-threading تعداد کمی از آنها) اما یک پردازنده چند هستهای میتواند دستورالعملها را موازی اجرا کند زیرا هر هسته به عنوان یک CPU مستقل عمل میکند.