پردازنده (CPU) مغز متفکر کامپیوتر محسوب میشود و بخش مهمی از وظایف سیستم بر عهدهی این قطعه دارد. اما پردازنده به زبان ساده چیست و بهعنوان یک عضو مهم کامپیوتر چگونه انجام وظیفه میکند؟ باید خاطرنشان کنیم در این مطلب بیشتر به پردازندههای کامپیوترها میپردازیم. همانطور که احتمالا میدانید انواع و اقسام گجتها از پردازنده بهره میبرند که در عین شباهت به پردازندهی کامپیوترها، تفاوتهایی هم با آنها دارند.
صفر و یکها
به لطف پردازندههای قویتر، کامپیوترها که روزی روزگاری به سختی میتوانستند یک عکس ساده را نمایش دهند، حالا از پس انجام کارهای مختلف و جذابی برمیآیند. پردازنده یک شگفتی مهندسی محسوب میشود اما در نهایت مبنای آن مبتنی بر مفهوم سیگنالهای باینری یا همان صفر و یک معروف است.
کامپیوترهای اولیه برای انجام پردازشهای بسیار ساده متکی به کارتهای پانج و لامپهای خلأ بودند ولی حالا به لطف پردازندههایی که از میلیاردها ترانزیستور بهره میبرند، با سرعت زیادی میتوانند در هر ثانیه میلیاردها پردازش را انجام دهند.
مبانی پردازنده
ساخت پردازنده به هیچ عنوان کار سادهای نیست. روی هم رفته ساختار زیربنایی یک پردازنده که ترانزیستورها روی آن قرار میگیرند، از جنس سیلیکون است. سیلیکون یک فلز نیمههادی محسوب میشود زیرا نه جریان را به طور کامل عبور میدهد و نه عایق جریان است.
ترانزیستورها به زبان ساده نوعی سوئیچ هستند که با اعمال یا قطع ولتاژ خاموش و روشن میشوند و بدین ترتیب حالات صفر و یک منطقی مربوط به زبان ماشین را بیان میکنند. از آنجایی که میلیاردهای ترانزیستور در پردازنده وجود دارد، آنها میتوانند وظایف پیچیده را با سرعت زیادی انجام دهند.
البته تعداد بیشتر ترانزیستورها لزوما به معنای سرعت بالاتر پردازنده نیست. با این حال، این موضوع اهمیت زیادی دارد؛ یکی از مهمترین دلایلی که گوشی موجود در جیب شما قدرت پردازشی بسیار بیشتری نسبت به کل کامپیوترهای فعال در دوران سفر اولین انسان به کرهی ماه دارد، به همین موضوع برمیگردد.
قبل از اینکه بیشتر با مفاهیم اساسی پردازنده بپردازیم، باید به این موضوع اشاره کنیم که یک پردازنده دستورالعملهای مبتنی بر کد ماشین موسوم به مجموعه دستورالعمل (Instruction Set) را اجرا میکند.
بهعنوان مثال، تقریبا تمام کامپیوترهای ویندوزی و مک فعلی فارغ از اینکه از پردازندهی اینتل یا AMD استفاده میکنند، مبتنی بر مجموعه دستورالعملهای x86-64 هستند. با این حال، اپل مدتی قبل اعلام کرد که بهزودی روند مهاجرت به سمت تراشههای مبتنی بر معماری ARM را آغاز میکند که از مجموعه دستورالعملهای متفاوتی بهره میبرند. تراشههای ARM قلب تپندهی گوشیها و بسیاری از گجتهای دیگر محسوب میشوند و البته برخی از کامپیوترهای ویندوزی هم همراه با این نوع تراشهها راهی بازار شدهاند.
حالا بهتر است به بخشهای مختلف پردازنده بپردازیم. تصویر بالا مربوط به پردازندهی Core i7-4770S اینتل است و نشان میدهد که این پردازنده از چه بخشهایی تشکیل شده است. گفتنی است این چینش مربوط به پردازندهی موردنظر است و پردازندههای دیگر از چیدمانهای متفاوتی بهره میبرند.
همانطور که میتوانید ببینید، این پردازنده از ۴ هسته تشکیل شده است و مدتها قبل پردازندهها مجهز به فقط یک هسته بودند. حالا که با پردازندههای مجهز به چند هسته روبرو هستیم، آنها دستورالعملها را سریعتر پردازش میکنند.
به غیر از موضوع هستهها، باید به رشته (Thread) هم اشاره کنیم. رشتهها در واقع مجموعهای از دستورالعملها هستند که به سمت هستهها فرستاده میشوند. همچنین هستهها از قابلیتی به نام hyper-threading یا simultaneous multi-threading (با توجه به اینتل یا AMD بودن پردازنده) بهره میبرند که به زبان ساده باعث میشود یک هسته برای کامپیوتر بهعنوان دو هسته در نظر گرفته شود. به لطف این مشخصه، سرعت انجام پردازشها بیش از پیش بهبود پیدا میکند.
همچنین در این تصویر، میتوانید بخشی به نام L3 cache یا حافظهی کش L3 را مشاهده کنید. این نوع حافظه که به آن حافظه پنهان هم گفته میشود، سریعترین حافظهای است که پردازنده به آن دسترسی دارد. پردازندهها معمولا از ۳ سطح حافظهی کش بهره میبرند. کش سطح ۱ (L1) کوچکترین و سریعترین حافظهی کش موجود در پردازنده است، کش سطح ۲ معمولا از L1 سرعت کمتری دارد ولی از ظرفیت بیشتری بهره میبرد. حافظهی کش سطح ۳ یا L3 بزرگتر و کندتر از دو حافظهی کش قبلی است اما همچنان سرعت بالاتری نسبت به حافظهی رم دارد. معمولا هرکدام از هستهها از حافظههای کش سطح یک و دو بهره میبرند و کش سطح ۳ بین تمام هستهها به اشتراک گذاشته میشود و به همین خاطر ظرفیت بیشتری دارد.
در نهایت باید به پردازنده گرافیکی مجتمع اشاره کنیم که بهعنوان بخشی از CPU یا پردازنده مرکزی انجام وظیفه میکند. اگرچه این نوع پردازندههای گرافیکی معمولا ضعیفتر از کارتهای گرافیک هستند، اما در هر صورت تا حد زیادی میتوانند نیازهای کاربران را برطرف کنند. گفتنی است تمام پردازندهها از چنین بخشی بهره نمیبرند. بهعنوان مثال پردازندههای دسکتاپ Zen ساخت AMD فاقد این مشخصه هستند و به همین خاطر کامپیوترهای مبتنی بر آن برای نمایش هرگونه گرافیک بر روی نمایشگر به کارت گرافیک نیاز دارند. همچنین برخی از پردازندههای دسکتاپ اینتل هم از این مشخصه بهره نمیبرند.
بعد از ارائهی توضیحات مربوط به برخی ویژگیهای پردازنده، حالا بهتر است به نحوهی اتصال آن به مادربورد بپردازیم. پردازندهها برای این که روی مادربورد نصب شوند، از اتصالدهندهای استفاده میکنند که به اصطلاح به آن سوکت گفته میشود.
وقتی که پردازنده بر روی سوکت قرار میگیرد، دیگر قسمتهای کامپیوتر از طریق چیزی به نام گذرگاه (bus) میتوانند به پردازندهی موردنظر وصل شوند. بهعنوان مثال، حافظهی رم از گذرگاه اختصاصی خود بهره میبرد ولی بسیاری از قطعات کامپیوتر از نوع خاصی از گذرگاه به نام PCIe استفاده میکنند.
هرکدام از پردازندهها از تعداد مشخصی از مسیرهای PCIe بهره میبرند. بهعنوان مثال پردازندهی AMD Zen 2 دارای ۲۴ مسیر است که تولیدکنندگان مادربردها با راهنمایی AMD این مسیرها را تفکیک میکنند.
مثلا ۱۶ مسیر معمولا برای یک اسلات کارت گرافیک x16 استفاده میشود. سپس ۴ مسیر برای حافظهی سریع مانند M.2 SSD اختصاص داده میشود. البته میتوان این چهار مسیر را تقسیم کرد و ۲ مسیر به M.2 SSD اختصاص داده شود و ۲ مسیر دیگر برای درایو کندتر مبتنی بر SATA مانند هارد درایو یا حافظهی ۲.۵ اینچی SSD استفاده شود.
این یعنی ۲۰ مسیر مورد استفاده قرار گرفتند و ۴ مسیر باقی مانده هم مختص خود پردازنده است که قرار است بهعنوان مغز متفکر سیستم انجام وظیفه کند. همانطور که میبینید، بخشهایی که وظایف سنگینتری بر عهده دارند مسیرهای بیشتری را به خود اختصاص میدهند. البته پردازنده تنها بخش مربوط به پردازش سیستم محسوب نمیشود و تعدادی از بخشهای مختلف سیستم مانند کارت گرافیک از قسمتهای مربوط به پردازش بهره میبرند.
اما در نهایت بسیاری از این پردازندههای تعبیه شده در بخشهای مختلف معمولا وظایف مشخصی را انجام میدهند. با این حال، پردازنده مرکزی یا CPU یک بخش همهفنحریف به حساب میآید که قادر به انجام هر کار محاسباتی است که از آن خواسته میشود. به همین دلیل پردازنده مرکزی در داخل کامپیوتر شما بیشترین قدرت را دارد و بقیهی سیستم برای انجام وظایف خود به آن متکی هستند.