از اسباببازیهای ساده تا سیستمهای بزرگ، همگی یک بخش اصلی به نام واحد پردازش مرکزی یا همان CPU دارند که وظیفه آن، پردازش دستورالعملها و انجام کارهاست. اندازه CPU بسته به هر دستگاهی میتواند متفاوت باشد و البته، به همان نسبت، عملکرد هم تغییر خواهد کرد. اما CPU چگونه کار میکند و شیوه کار پردازنده در کامیپوتر و موبایل چگونه است؟ عملکرد CPU به چه مواردی بستگی دارد؟ در ادامه این مقاله سعی میکنیم پاسخی روشن به این سوالات بدهیم.
نحوه و شیوه عملکرد CPU و فرآیندهای مهم آن + اجزای CPU
در پاسخ به سوال CPU چیست به زبان ساده میتوان گفت که پردازنده یا CPU، مغز متفکر یک کامپیوتر حساب میشود و به جای آنکه مثل ذهن انسان فکر کند، دادههای مختلف را به شیوهای که برنامهنویسان کامپیوتر تعریف کردند، برای بخشهای مختلف ارسال و از این طریق، سیستم را مدیریت میکند. اساسا یک پردازنده، سه کار اساسی را انجام میدهد:
- قبول کردن داده
- پردازش اطلاعات
- فراهم کردن خروجی
در واقع، این بخشها برای اینکه هر سیستمی بتواند درست کار کند، بسیار مهم هستند.
منظور از ورودی، پروسهای است که دادههای خارجی از روشهای مختلف وارد یک کامیپوتر میشوند؛ این دادهها معمولا توسط دستگاههای ورودی مرسوم مثل کیبورد، ماوس، اسکنر یا مودم ایجاد و در اختیار پردازنده قرار میگیرند. به محض اینکه کامپیوتر اقدام به تحلیل دادهها میکند، تمامی اطلاعات پردازش و سپس به خروجی تبدیل میشوند. خروجی در انتهای این چرخه است و به پروسهای مربوط میشود که CPU، دادهها را به دستگاههای متصلشده روی سیستم مثل مانیتور، پرینتر و حتی نرمافزارهای در حال اجرا ارسال میکند و ما میتوانیم تغییرات مختلف را ببینیم. البته، این موارد صرفا مربوط به حالت کلی پردازشها هستند و یک پردازنده، در ثانیه حتی ممکن است میلیاردها داده را در یک ثانیه جابجا کند.
برای اینکه بتوانیم به صورت دقیقتر در مورد روش کار پردازنده صحبت کنیم، لازم است با یک سری مفاهیم آشنا شویم. توجه داشته باشید مواردی که در ادامه میگوییم، فقط بعضی از قسمتهای یک پردازنده هستند. با مطالعه این بخش میتوانید درک بهتری از ساختار و عملکرد CPU در کامپیوتر و دیگر وسایل هوشمند پیدا کنید.
دستورالعمل ها
تمام پردازندهها برای انجام کارهای خودشان، مجموعهای از دستورالعملها را دارند تا بتوانند کارها را با ترتیب خاصی انجام بدهند. این دستورالعملها معمولا به صورت لیستی از کارهایی هستند که CPU موظف به انجام آنهاست؛ مثل اضافه کردن اعداد، مقایسه کردن بخشهای مختلف دادهها و انتقال آنها به پردازنده.
به عنوان مثال، نرمافزاری که شما روی کامپیوتر اجرا میکنید، میلیونها دستورالعمل برای CPU دارد که در یک توالی مشخص در اختیارش قرار میگیرند. این دستورالعملها در حقیقت عملیاتهای سادهای به حساب میآیند که برای هر پلتفرمی به صورت جداگانه طراحی شدهاند. مثلا دستورالعملهایی که برای پردازندههای کامپیوترهای ویندوزی طراحی میشود، مخصوص همانهاست و توسط CPU دستگاههایی مثل آیپد پشتیبان نمیشود.
واحد حساب و منطق (ALU) ؛ یکی از بخش های مهم برای عملکرد CPU به شکل درست
در ادامه بررسی عملکرد CPU، جالب است بدانید که پردازندهها یک مدار اختصاصی دارند که با عنوان «واحد حساب و منطق» یا “ALU” شناخته میشود و وظیفهاش، انتقال محاسبات است؛ ALU همچنین با انجام مقایسههای مختلف، تعیین میکند که کدامیک از دادهها ارزش بیشتری دارند یا مهمتر هستند.
واحد کنترل
اگر این سوال که CPU چکونه کار میکند و چه بخشهای مهم دیگری هم در انجام پردازشها هستند که در ذهن شما وجود دارد، باید بگوییم داخل پردازنده، یک واحد کنترل هم هست که وظیفه آن، ایجاد هماهنگی بین بخشهای مختلف CPU است. واحد کنترل با شکستن و تبدیل هر دستورالعمل به مجموعهای از وظایف، آنها را برای پردازش و انجام کارها به بخشهای مختلف ارسال میکند؛ مثلا، واحد کنترل میتواند ALU را به شکلی برنامهریزی کند که دو عدد تکثیر شده و سپس یک عدد سوم هم به نتیجه نهایی اضافه شود تا دستورات مختلف، قابل انجام باشند.
حافظه کش
یکی از مهمترین مسائل در مورد پردازنده که تاثیر زیادی روی عملکرد CPU و شیوه کار آن دارد، حافظه کش (cache) است. کش در واقع یک حافظه پرسرعت کوچک به حساب میآید که میتواند دادهها را داخل خودش ذخیره کند. هدف کلی از ایجاد چنین حافظهای، افزایش سرعت پردازش دادهها است و میزان آن بسته به مدل پردازنده میتواند کاملا متفاوت باشد.
پردازنده چگونه کار میکند؟ بررسی وظایف CPU
حالا که با مفاهیم اصلی در رابطه با نحوه کار CPU آشنا شدیم، بهتر است بگوییم که CPU چگونه کار میکند. فرآیند پردازش در تمام پردازندهها، شامل چهار بخش اصلی هست که هر کدام از اونها، نقشی حیاتی دارند.
- دریافت اطلاعات (Fetch)
- رمزگشایی (Decode)
- اجرا (Execute)
- ذخیرهسازی (Store)
دریافت اطلاعات
در ابتداییترین مرحله از سازوکار و همچنین عملکرد CPU، دستورالعملهای لازم از سمت حافظه رم در قالب اعداد باینری (صفر و یک) که در واقع زبان اصلی کامپیوترها هستند، برای پرازنده ارسال میشود تا کار پردازش اطلاعات آغاز شود. هر دستورالعملی که به CPU میرسد، فقط بخشی از کل کاری است که پردازنده انجام خواهد داد؛ این یعنی CPU به صورت چشمبسته این دستورالعملها را دریافت نمیکند و باید دقیقا توالی و ترتیبی که دستورات مختلف دارند را بداند.
برای مدیریت این موضوع، یک بخش به صورت اختصاصی مسئولیت ذخیرهسازی دستورات رم را بر عهده میگیرد تا توالی کارها، مشخص و پردازنده بتواند با کنار هم قرار دادن آنها، دستورات را به درستی انجام دهد. جالب است بدانید بخشی که این دستورات در آن ذخیره میشوند، Instruction Register نام دارد.
رمزگشایی
بعد از اینکه کامپیوتر توانست دستورالعملهای مختلف را با موفقیت دریافت و ذخیره کند، نوبت به رمزگشایی آنها میرسد؛ در اثر این کار، دستورات به مجموعهای از سیگنالها تبدیل و به بخشهای مختلف CPU ارسال میشوند تا پردازنده بتواند برای انجام کارها از آنها استفاده کند. این یکی از مهمترین بخشها در عملکرد CPU در کامپیوتر یا سایر وسایل به حساب میآید.
اجرا
اجرای دستورات دریافتی، یکی دیگر از بخشهای اثرگذار روی نحوه کار CPU است. در این مرحله، دستورالعملهایی که رمزگشایی شده بودند، به بخشهای مختلف پردازنده ارسال میشوند تا بعد از اجرا، دادههایی را در قالب خروجی ایجاد کنند که روی بخش دیگری به نام CPU Register ذخیره میشوند؛ از اینجا، دستورات مربوطه به بخشهای مختلفی مثل حافظه رم، هارد یا هر کدام از دستگاههای خروجی دیگر نصبشده روی کامپیوتر مثل مانیتور، اسپیکر و … ارسال میشوند تا ما بتوانیم نتیجه کار را مشاهده کنیم.
در برخی مواقع البته بار پردازشی زیادی روی پردازنده اعمال شده و باعث میشود تا سرعت آن کاهش پیدا کند. در این صورت بهتر است با راهکارهای کاهش میزان استفاده از CPU آشنا شوید.
ذخیره سازی ؛ یکی از بخش های مهم در عملکرد CPU
همزمان با فرآیند ارسال دادهها به رم، هارد و … و ذخیره اطلاعات بر روی آنها، خود CPU هم توانایی ذخیرهسازی دادهها را دارد و میتواند دادههای مربوط به هر نرمافزار، دستورالعملها یا برنامهای را در خودش ذخیره کند. البته، باید توجه داشته باشید که این یک حافظ موقت است و به محض قطع شدن منبع برق، تمام این اطلاعات هم از روی حافظه پردازنده حذف خواهند شد.
شیوه کار پردازنده در حالت مالتی تسکینگ
حالا که متوجه شدید CPU چگونه کار میکند، شاید این سوال برای شما مطرح شود که عملکرد پردازنده در حالت مالتیتسکینگ به چه صورتی است؟ در پاسخ باید بگوییم که پردازنده، کارها را به صورت همزمان انجام نمیدهد، بلکه کار دریافت، رمزگشایی و اجرای دستورالعملها را با سرعتی بالا و یکی پس از دیگری انجام میدهد و همین مسئله باعث میشود تا فکر کنیم کارها به صورت همزمان در حال انجام هستند.
هرچند، نباید فراموش کنیم که حتی قویترین پردازندهها هم محدودیتهای خاص خودشان را دارند و این مسئله میتواند تا حد زیادی روی عملکرد CPU اثرگذار باشد. به همین دلیل هم هست که سازندگان با کوچک کردن اندازه پردازندهها و کنار هم قرار دادن آنها (چیزی که تحت عنوان هسته یا core شناخته میشه)، سعی دارند تا قدرت یک CPU و توانایی آن را افزایش دهند؛ به این صورت، یک پردازنده چند هستهای میتواند کارهای مختلف را به صورت همزمان انجام دهد چون هر بخش، در عین تعامل با بقیه قسمتها، در حال انجام دستورات اختصاصی خودش است.
عملکرد CPU واقعا پیچیده است
در این مقاله تلاش کردیم نحوه کار CPU در کامپیوتر، تلفن هوشمند و …. را به صورتی اجمالی و قابل فهم بیان کنیم. واقعیت این است که شیوه کار پردازندهها، بسیار پیچیده و البته گسترده است و بخشهای زیادی را شامل میشود. به علاوه، بخشهای بسیار مختلف دیگری هم در فرآیند پردازش دادهها دخیل هستند که ما از اشاره به آنها صرف نظر کردیم.