وبلاگ
- ارشیا دوستی
- فروردین ۳۰, ۱۴۰۲
- ۱۱:۵۸ ق٫ظ
- بدون نظر
هسته پردازندهها چگونه کار میکنند؟
داخل پردازندههایی که امروزه در کامپیوترهای شما است، هسته یا Core وجود دارد. درواقع کامپیوتر شما بدون وجود این هستهها نمیتواند کار کند. اما واقعا هسته پردازنده چگونه کار میکند؟ پردازندههای امروزی تقریباً همه حداقل دو هستهای هستند، به این معنی که کل پردازنده خود شامل دو هسته جداگانه است که می تواند اطلاعات را با آنها پردازش کند. اما هستههای پردازنده چیست و دقیقا چه کاری انجام می دهند؟
در این مقاله به این موضوع میپردازیم که هستههای پردازنده شما چه نقشی دارند و چگونه کار میکنند. پاسخ به این سوال میتواند برای انتخاب پردازنده مناسب کمکتان کند.
هسته پردازنده چیست؟
هسته پردازنده یک واحد پردازشی است که دستورالعملها را برای انجام یک سری کارهای خاص میخواند. دستورالعملها به صورت زنجیرهای به هم متصل شدهاند و به صورت Real-Time اجرا میشوند. هرکاری که شما در کامپیوترتان انجام میدهید باید توسط پردازنده پردازش شود.
شما حتی وقتی یک فولدر را باز میکند، به پردازنده نیاز دارید. وقتی نوتپد را باز میکنید تا چیزی را تایپ کنید، باز هم به پردازنده نیاز دارید. یک سری کارهای دیگر هم مانند طراحی گرافیکی یا گیم ها هستند که وابسته به کارت گرافیک شما هستند. اما این کارها نیز همچنان به پردازنده نیاز دارند.
به طور کلی می توان یک هسته را به سه بخش اصلی تقسیم کرد:
- واحد کنترل – Control Unit
- واحد محاسبات و منطق – Arithmetic-Logic Unit
- حافظه – Memory
هر بخش از هسته مسئول وظایف خاصی نیز است.
واحد کنترل
این واحد ارتباط هسته را با سایر اجزای یک سیستم امکانپذیر می کند. برای مثال وقتی به پردازش دستورالعملها نیاز دارد، سیگنالهایی را برای سختافزار سیستم ارسال میکند و دادههای سیستم را مدیریت میکند. به این ترتیب واحد کنترل هم با واحد حسابی-منطقی و هم با حافظه ارتباط برقرار می کند.
واحد محاسبه و منطق
این واحد از مدارهای الکترونیکی تشکیل شده است که عملیات حسابی و منطقی را انجام می دهند. معمولاً ALU چهار عمل حسابی جمع، تفریق، ضرب و تقسیم را اجرا میکند. عملیاتهای منطقی نیز شامل مساوی، کوچکتر بودن و بزرگتر بودن است.
حافظه
حافظه هسته شامل ثباتها و کش است. ثباتها بخشهایی از حافظه هستند که برای نگهداری آدرسها، دستورالعملها و نتایج محاسبات برای پردازش هسته استفاده میشوند. کش هم یک حافظه با دسترسی تصادفی با سرعت بالا است که دادههایی را که احتمالاً هسته از آنها دوباره استفاده میکند نگهداری میکند.
برای درک بهتر از معماری یک هسته، به عکس زیر نگاه کنید:
هسته پردازنده چگونه کار می کند؟
طراحی پردازندهها بسیار پیچیده است و بسته به سازنده (اینتل و AMD) و مدلها بسیار متفاوت است. معماری پردازندهها به طور مداوم در حال تکامل است تا بیشترین عملکرد را در کمترین میزان فضا و مصرف انرژی داشته باشند. اما با وجود تمام تفاوتها در معماری، پردازندهها هر زمان که دستورالعملها را پردازش میکنند، چهار مرحله اصلی را انجام میدهند:
- Fetch
- Decode
- Execute
- WriteBack
در ادامه به این میپردازیم که هرکدام از این چهار عمل اصلی چه کاری انجام میدهند.
Fetch:
مرحله Fetch همان چیزی است که از اسماش (واکشی) انتظار داریم باشد. در این مرحله، هسته پردازنده دستورالعملهایی را که در انتظار آن هستند، از حافظه بازیابی میکند. این حافظه میتواند RAM هم باشد، اما در پردازندههای امروزی و مدرن، این دستورالعملها در کش خود پردازنده قرار دارند.
پردازنده بخشی به نام “شمارنده (Program Counter)” دارد که به عنوان پوینتر یا نشانهگر عمل میکند و به پردازنده اجازه میدهد بداند آخرین دستورالعمل کجا به پایان رسیده است و دستور بعدی از کجا شروع میشود.
Decode:
وقتی پردازنده دستورات را دریافت کرد، به رمزگشایی آن میپردازد. دستورالعملها اغلب شامل چندین بخش از هسته پردازنده هستند – مانند محاسبات – و هسته پردازنده باید این را بفهمد. هر قسمت دارای چیزی به نام Opcode است که به هسته پردازنده میگوید با اطلاعاتی که به دنبال آن میآید چه کاری باید انجام دهد (مثلا باید عمل جمع را انجام دهد یا تفریق). وقتی هسته پردازنده همه اینها را فهمید، بخشهای مختلف خود هسته می توانند کار خود را شروع کنند.
Execute:
مرحله Execute جایی است که پردازنده میداند چه کاری باید انجام دهد و شروع به کار میکند تا آن را انجام دهد. آنچه در اینجا اتفاق میافتد بسته به اون بخشی از درگیر شده است و اطلاعاتی که در آن قرار داده شده است، متفاوت است.
به عنوان مثال، پردازنده میتواند محاسبات را در داخل ALU (Arithmetic Logic Unit) انجام دهد. این بخش میتواند به ورودیها و خروجیهای مختلف وصل شود تا اعداد را پردازش کند و نتیجه دلخواه را بگیرد.
WrtieBack:
مرحله آخر که WriteBack نامیده میشود، نتیجه کاری که انجام شده است را داخل حافظه ذخیره میکند. اینکه خروجی دقیقاً کجا میرود به نیازهای برنامه در حال اجرا بستگی دارد، اما اغلب برای دسترسی سریع در رجیسترهای پردازنده باقی میمانند، چراکه این دستورالعمل معمولا پرکاربرد هستند.
هر هسته، همزمان و به طور جداگانه
کل این فرآیند یک چرخه دستورالعمل نامیده میشود. این چرخههای دستورالعمل به طرز فوقالعادهای سریع اتفاق میافتند، به خصوص الان که پردازندههای قدرتمندی با فرکانسهای بالا داریم. علاوه بر این، CPU های چند هستهای این کار را روی هر هسته انجام میدهد، بنابراین دادهها میتوانند تقریبا به همان تعداد هستههای CPU شما سریعتر از زمانی که تنها با یک هسته کار میکند، پردازش شوند.
البته فراموش نکنید که این یک توصیف بسیار ساده از نحوه عملکرد یک هسته پردازنده است. در واقعیت، آنها بسیار پیچیدهتر هستند و بیش از آنچه که ما تصور میکنیم کار میکنند. امروزه ترند پردازندهها این است که سازندگان میخواهند تراشههای خود را تا حد امکان کارآمد کنند، از جمله با کوچک کردن ترانزیستورها. این منجر به افزایش تراکم ترانزیستور و مصرف انرژی بهتر میشود.
بنابراین اکنون میدانید که هرچه تعداد هسته پردازنده بیشتر باشد، پردازنده قویتر در اختیار دارید.
بیشتر بخوانید: AMD یا Intel؟ کدام یک پردازندههای بهتری تولید میکنند؟
همین حالا بخرید: