cpu چیست؟
cpu چیست؟ (واحد پردازش مرکزی) در یک کلام مغز کامپیوتر است! قطعهای کوچک با وظیفهای بزرگ؛ پردازش هر دستوری که به آن ارسال میشود. در این مقاله با ما باشید تا به صورت خلاصه با CPU و نحوه کار آن آشنا شوید.
کلمه CPU به معنای چیست؟
کلمه CPU مخفف عبارت Central Processing Unit به معنای “واحد پردازش مرکزی” است. همچنین این قطعه با نامهای زیر نیز شناخته میشود:
کلمهای که معمولا بهجای CPU مورد استفاده قرار میگیرد Processor است. دلیل آنکه از CPU به عنوان مغز کامپیوتر یاد میشود، این است که CPU مهمترین وظیفه یک کامپیوتر را به عهده دارد یعنی پردازش!
CPU چیست؟
هر سیستم اطلاعاتی برای پردازش دستورات (عملکردهای منطقی، ریاضی و …) نیاز به یک پردازنده (Processor) دارد. این وظیفه در کامپیوترها بر عهده CPU است.
CPU تقریبا تمامی دستورات داده شده بوسیله نرمافزارها و سختافزارها را با استفاده از عملکردهای منطقی، محاسبات ریاضی و مقایسات پردازش میکند.cpu چیست؟
CPU با استفاده از یک واحد ALU که مخفف Arithmetic & Logic Unit و به معنای “واحد محاسبه و منطق” است، تمامی دستورات ورودی را محاسبه، مقایسه یا بر طبق عملکردهای منطقی تصمیم گیری کرده و سپس در صورت نیاز، خروجی را تحویل میدهد. این فرایند بر روی ثباتهای پردازنده به عنوان میزکار سی پی یو انجام میشود. منظور از عملکردهای ریاضی، همان چند عمل ساده مثل ضرب، تقسیم، جمع و تفریق است.
برای درک بهتر عملکرد CPU ، میتوانید مغز انسان را به یاد آورید. ممکن است انسان بتواند بدون برخی از اعضای دیگر (در کامپیوتر مانند حافظههای جانبی و…)، به حیات خود ادامه دهد اما بدون مغز، امکان زندگی صفر است. در واقع شما نمیتوانید هیچ تصمیمی بگیرید، اطلاعات را پردازش کنید، تصاویر را درک کنید، به سایر اعضا دستور بدهید و … . مغز یک پردازنده قوی همانند CPU است.cpu چیست؟
مغز، یک پردازنده قوی!
در سیستمهای بزرگ مانند سرورها ممکن است چندین CPU استفاده شود اما در سیستم های شخصی (PC مخفف Personal Computer ) معمولاً فقط یک فضا (Slot) برای CPU بر روی برد اصلی (Motherboard یا Mainboard) وجود دارد.
هر Motherboard معمولاً فقط یک Slot برای اتصال به CPU دارد که محدوده خاصی از انواع CPU ها را پشتیبانی میکند. یکی از مهمترین نکاتی که در هنگام خرید Motherboard یا CPU ویا تعوض و آپگرید (Upgrade) پردازنده باید مورد توجه قرار گیرد، نوع پردازنده پشتیبانی شده توسط Motherboard است. ممکن است پردازندهای که قصد خرید را دارید، توسط مادربرد شما پشتیبانی نشود.cpu چیست؟
پینهای یک پردازنده
شاخصهای یک پردازنده
پردازندهها معمولاً دارای ۳ شاخص مهم هستند که بر روی قیمت آنها نیز تاثیر بسیاری میگذارند. این سه شاخص عبارت اند از:
سرعت پردازنده
یکی از مهمترین عوامل در انتخاب و خرید یک پردازنده سرعت کلاک (Clock Speed) آن است که برای همه هستههای آن معمولاً عددی ثابت است. سرعت پردازنده نشانگر تعداد عملی است که یک هسته میتواند در هر ثانیه انجام دهد و واحد آن هرتز (Hertz) است که معمولاً به صورت مگاهرتز (MHz – میلیون هرتز) یا گیگاهرتز (GHz – میلیارد هرتز) بیان میشود.
برای مثال پردازندهای که سرعت آن ۲.۵ گیگاهرتز است، میتواند در هر ثانیه ۲ میلیارد و نیم (۲۸۰۰۰۰۰۰۰۰) دستور را پردازش کند. درصورتی که پردازنده دارای هستههای بیشتر باشد، هر هسته میتواند بصورت مجزا ۲۸۰۰۰۰۰۰۰۰ دستور را پردازش کند. البته منظور دستورات ساده یک سیکلی هستند (مثلاً در طراحی RISC تقریباً همه دستورات یک سیکلی هستند) که در یک چرخه (Cycle) اجرا میشوند.
حافظه نهان
مورد دیگری که معمولاً از سرعت نیز بیشتر مورد توجه قرار میگیرد، حافظه نهان (Cache) پردازنده است. حافظه نهان میتواند دارای چند لایه باشد که با حرف L نشان داده میشود. معمولاً پردازندهها تا ۳ لایه حافظه نهان دارند که لایه اول (L1) نسبت به دوم (L2) و دوم نیز نسبت به سوم (L3) دارای سرعت بیشتر و حافظه کمتری است. حافظه نهان معمولاً تا چند ده مگابایت میتواند فضا برای ذخیره کردن داشته باشد که هرچه این فضا بیشتر باشد، قیمت پردازنده نیز بالاتر خواهد رفت.
حافظه کش وظیفه حفظ داده را دارد و به دلیل اینکه سرعت آن بسیار بیشتر از حافظه اصلی (RAM) است، بنابراین تاخیر در اجرای دستورات را بسیار میکاهد. پردازنده برای بدست آوردن داده، ابتدا حافظه نهان خود را چک میکند و در صورتی که در آن حافظه، داده مورد نظر وجود نداشته باشد به سراخ حافظه اصلی میرود. به این صورت حافظه نهان بر روی سرعت پردازنده تاثیر زیادی دارد.
برای مثال پردازنده اینتل i7-2600 دارای دو ست ۴ * ۳۲ کیلوبایت برای حافظه نهان لایه اول (L1) که یکی وظیفه حفظ داده و دیگری وظیفه حفظ دستورات را دارد. این پردازنده دارای ۴ * ۲۵۶ کیلوبایت حافظه لایه دوم (L2) بوده و ۸ مگابایت حافظه لایه سوم (L3) دارد.
هستههای پردازشی
هستههای پردازنده، درواقع پردازندههای مستقلی هستند که هر یک به صورت جداگانه دستورات را پردازش میکند. امروزه پردازندهها معمولاً دارای بیش از یک هسته هستند که به کاربران این امکان را فراهم میکنند که مجموعه دستورات یا برنامههای خود را با استفاده از پردازش موازی (Parallel Computing) سریع تر از قبل اجرا کنند. البته داشتن هستههای بیشتر به معنای افزایش کارایی کلی پردازنده نیست. چون بسیاری از برنامهها هنوز از پردازش موازی استفاده نمیکنند. یعنی عملاً سایر هستهها کار به مراتب کمتری نسبت به یک هسته انجام میدهند.
البته با تکنولوژیهایی مثل هایپرتریدینگ (Hyper Threading) یک هسته، خود به جندین ریسمان یا به زبان ساده، هسته مجازی تقسیم میشود. برای مثال پردازندههای i5 دو هستهای اینتل، با استفاده از این تکنولوژی به چهار ریسمان یا هسته مجازی تقسیم میشوند.
CPU چگونه کار میکند؟
در پروسه پردازش دستورات در CPU چهار مرحله اصلی وجود دارد: ۱- فراخوانی ۲- رمزگشایی ۳- پردازش و اجرا ۴- بازنویسی. این چهار مرحله اصلی به ترتیب اجرا شده و فرآیند پردازش دستور به اتمام میرسد.
مرحله اول: فراخوانی
در مرحله اول، پردازنده دستوری که باید پردازش کند را از طرف حافظه مربوط به یک برنامه (از طریق RAM یا به صورت مستقیم) دریافت میکند. این برنامه ممکن است در حداقل شرایط یک دستور و در حداکثر شرایط بینهایت دستور را برای پردازش به CPU ارسال کند. به همین دلیل هر یک از این دستورها باید در محلهای جداگانه آدرس دهی شوند. اما مشکل اینجاست که واحد پردازشی CPU نمیداند کدام دستورات را در کدام یک از آدرس ها باید به ترتیب اجرا کند. برای حل این مشکل یک واحد دیگر به نام PC که مخفف عبارت Program Counter به معنای “شمارنده برنامه” است، وجود دارد. این واحد مسئول حفظ ترتیب و وضعیت دستوراتی است که به پردازنده ارسال میشوند. به طور ساده، واحد پردازشی CPU هر یک از آدرسهایی که برای پردازش نیاز دارد را از طریق این واحد شمارنده بدست میآورد.
مرحله دوم: رمزگشایی
پس از دریافت دستورات، CPU باید بتواند این دستور را درک کند. واحد پردازنده CPU دستورات را در حالت کدهایی OP ( به معنای کدهای پردازشی یا Operation Codes) میتواند پردازش کند. کدهای پردازشی زبان قابل درک ماشین و سخت افزارها هستند.
نوشتن برنامهها به زبان باینری بسیار سخت است به همین خاطر زبانهای برنامه نویسی سطح بالایی وجود دارد که نوشتن برنامه را آسانتر میکند. زبانهای برنامه نویسی مختلفی وجود دارد که سازندگان برنامهها میتوانند از آنها استفاده کنند. به همین دلیل واحدی به نام Assembler (تبدیل کننده به اسمبلی) وجود دارد که ابتدا دستورات را به زبان سطح پایین اسمبلی (Assembly) تبدیل کرده سپس واحد دیگری این دستورات اسمبلی را به کدهای OP تبدیل میکند. حال این دستورات که به صورت کدهای OP در آمده اند، آماده پردازش در واحد پردازنده CPU هستند.
مرحله سوم: پردازش و اجرا
مرحله سوم و البته مهمترین مرحله، پردازش و اجرا است. در این مرحله واحد پردازنده CPU یک دستور باینری را از یک آدرس مخصوص در دست دارد. این واحد تمامی دستورات را به کمک واحد ALU (مخفف Arithmetic & Logic Unit و به معنای “واحد محاسبه و منطق”)، پردازش میکند.
ممکن است درحین پردازش، نیاز به یک دستور دیگر باشد که در این صورت Program counter دستور مورد نیاز را در اختیار واحد پردازنده CPU قرار میدهد یا ممکن است واحد پردازش، دستورات را برای زمان دیگری در ثباتهای (Registers) داخلی خود ذخیره کند.
مرحله چهارم: بازنویسی
معمولا هر دستور یک مقدار خروجی دارد که در این مرحله این مقدار خروجی در حافظه جانبی کامپیوتر (مانند هارد دیسکها، دیسکهای حالت جامد و…) ذخیره یا به سایر قطعات ارسال میشود. برای نمونه فرض کنید که یک دستور برای نشان دادن یک عبارت به CPU برای پردازش ارسال میشود. CPU پس از پردازش این دستور، همان عبارت را به عنوان خروجی بازمیگرداند یا به فرض، یک عمل ریاضی به عنوان مثال ۲ ضرب در ۲ به CPU برای پردازش ارسال میشود. حال CPU پس از پردازش عدد ۴ را به عنوان خروجی برمیگرداند.
در اغلب موارد، CPU این مقدار خروجی را که از مرحله اجرا و پردازش بدست آورده است را در ثباتهای خود ذخیره میکند. با این کار، CPU میتواند از این خروجیها به سرعت در دستورات دیگر استفاده کند. فرض کنید یک عملیات مقایسه به CPU برای پردازش ارسال میشود. در این گونه موارد، CPU از مقادیر خروجی قبلی که در ثباتهای خود ذخیره کرده استفاده میکند تا نتیجه مقایسه را در یکی از ثباتهای دیگر خود، یا به عنوان خروجی باز گرداند.
در این چهار مرحله اصلی، پردازنده فقط یک دستور که از Program Counter ارسال شده را پردازش میکند. پس از اتمام این چهار مرحله، درصورتی که دستور دیگری در صف پردازش وجود داشته باشد، توسط PC به سی پی یو داده میشود و مراحل از اول شروع میشوند تا زمانی که تمامی دستورات پردازش شوند.
پردازنده قدیمی اینتل Core 2
برخی از تولید کنندگان CPU
در لیست زیر نام برخی از معروفترین تولید کنندگان CPU قرار گرفته است:
- Intel (اینتل)
- AMD (اِی اِم دی)
- IBM (آی بی اِم)
- nVidia (اِنویدیا)