30فروردین
داخل پردازنده هایی که امروزه در کامپیوتر های شما است، هسته یا 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؟ کدام یک پردازنده های بهتری تولید میکنند؟
منبع: TAVPC
- ۰۲/۰۱/۳۰