هسته پردازنده واحد پردازشی است که دستورالعملهای مربوط به انجام کارها را میخواند. دستورالعملها به صورت زنجیره وار به هم وصل شده اند و وقتی به شکل بلادرنگ اجرا میشوند، تجربیات کاربری شما را شکل میدهند. در واقع هر کاری که روی کامپیوترتان انجام میدهید باید توسط پردازنده پردازش شود.
باز کردن پوشه، تایپ کردن و همه کارها نیاز به فعالیت پردازنده دارند. کارهایی مثل رسم پنجرهها، ترسیم محیط دسکتاپ و به تصویر کشیدن گرافیک بازیها، کار کارت گرافیک هستند – کارت گرافیک حاوی صدها پردازنده است که همزمان روی دادهها کار میکنند اما چنین کارهایی هم تا حدی به پردازنده نیاز دارند.
هسته پردازنده چگونه کار میکند؟
طراحی پردازندهها به شدت پیچیده است و هر شرکت و مدلی طراحی متفاوتی دارد. معماری پردازندهها دائماً پیشرفته تر میشود تا با کمترین میزان مصرف انرژی و فضا به بیشترین سطح کارایی برسند.
با وجود همه این تفاوتها، پردازندهها برای اجرای دستورالعمل چهار مرحله زیر را طی میکنند.
واکشی
در مرحله واکشی همانطور که از نام آن پیداست، هسته پردازنده دستورالعملهایی که منتظر آنها بوده را (معمولاً از یک نوع حافظه) استخراج میکند. این حافظه شامل حافظه رم نیز هست اما در هستههای پردازندههای امروزی معمولاً دستورالعملها داخل کش پردازنده منتظر اجرا شدن میمانند.
پردازنده دارای بخشی به اسم شمارنده برنامه است که به نوعی مثل یک بوکمارک کار میکند تا به پردازنده اعلام کند چه زمان آخرین دستورالعمل پایان یافته و بعدی شروع میشود.
کدگشایی
پس از واکشی دستورالعمل، مرحله کدگشایی شروع میشود. معمولاً این دستورالعملها بخشهای مختلف هسته پردازنده را در بر میگیرند – مثل واحد محاسبات – و هسته پردازنده باید این موضوع را تشخیص دهد.
هر بخش چیزی به اسم opcode دارد که به پردازنده اعلام میکند با اطلاعاتی که به دنبال آن میآید چه کارهایی باید انجام دهد. وقتی هسته پردازنده همه این اطلاعات را جمع کرد، قسمتهای مختلف هسته میتوانند با هم آن را اجرا کنند.
اجرا
مرحله اجرا جایی است که در آن پردازنده آنچه که باید انجام بدهد را میداند و اجرا را انجام میدهد. آنچه که در این مرحله انجام میشود بستگی به حوزه هسته مورد استفاده و اطلاعات آن دارد.
مثلاً پردازنده میتواند در واحد محاسبه و منطق (ALU) کارهای محاسباتی انجام دهد. این واحد قابلیت اتصال به ورودی و خروجیهای مختلف برای هضم اعداد و رسیدن به نتیجه مطلوب را دارد.
بازنویسی
مرحله آخر که بازنویسی نام دارد، نتایج کارهای انجام شده را بر روی حافظه مینویسد. اینکه خروجی دقیقاً کجا نوشته شود بستگی به نیازهای اپلیکیشن در حال اجرا دارد اما همیشه برای دسترسی فوری در ثباتهای پردازنده باقی میماند چون معمولاً دستورالعملهای بعدی به آن نیاز پیدا میکنند.
تنها یک سیکل
کل این فرایند، یک چرخه دستورالعمل بود. چرخههای دستورالعمل با سرعت فوق العاده زیادی رخ میدهند به خصوص حالا که پردازندههایی پرقدرت با فرکانس بالا داریم. بعلاوه یک پردازنده چند هسته ای این کار را روی هر هسته انجام میدهد بنابراین افزایش تعداد هستهها به اجرای چندین دستورالعمل به صورت همزمان و افزایش سرعت اجرا کمک میکند.
همچنین پردازندهها یکسری مجموعه دستورالعمل بهینه سازی شده دارند که در مدار آنها به صورت ثابت پیاده سازی شده تا سرعت اجرای دستورالعملهای پرکاربرد افزایش پیدا کند.
جمع بندی
در نظر داشته باشید که در این مطلب ما یک توضیح بسیار ساده از طرز کار هستههای پردازنده ارائه کردیم. در واقع طرز کار پردازنده به شدت پیچیده تر است. در حال حاضر تولیدکنندگان پردازنده سعی دارند تراشهها را تا حد ممکن با انجام کارهایی مثل فشرده سازی ترانزیستورها مقرون به صرفه طراحی کنند. این کار به افزایش تراکم ترانزیستورها و کاهش مصرف انرژی هم کمک میکند.