منو

صفحه ی اصلیدرباره ماتماس
Bitkade
CPU

سی پی یو چیست؟ به زبان ساده

CPU مخفف Central Processing Unit یا «واحد پردازش مرکزی» است و در واقع مغز کامپیوتر محسوب می‌شود. تمام کارهایی که در کامپیوتر انجام می‌دهیم، از باز کردن یک برنامه ساده تا اجرای بازی‌های سنگین، در نهایت به دستوراتی تبدیل می‌شوند که CPU باید آن‌ها را اجرا کند.

وظیفه CPU

CPU وظیفه دارد این دستورها را در یک چرخه مداوم پردازش کند:

1.دریافت دستورالعمل :CPU دستورالعمل‌های برنامه را از حافظه اصلی (RAM) دریافت می‌کند.

2.رمزگشایی دستورالعمل :CPU دستورالعمل دریافت شده را می‌فهمد و تشخیص می‌دهد که چه کاری باید انجام شود.

3.اجرای دستورالعمل :CPU عملیات مورد نیاز را با استفاده از اجزای داخلی خود مانند ALU و FPU انجام می‌دهد.
این عملیات می‌تواند شامل محاسبات ریاضی، انتقال داده، یا تصمیم‌گیری‌های منطقی باشد.

4. ذخیره‌سازی نتایج: نتایج حاصل از اجرای دستورالعمل‌ها در حافظه کش یا RAM ذخیره می‌شوند تا برای دستورالعمل‌های بعدی قابل دسترسی باشند.

این چرخه میلیون‌ها یا حتی میلیاردها بار در ثانیه تکرار می‌شود.

History_CPU

تاریخچه

پردازنده Intel 4004 که در سال 1971 معرفی شد، اولین ریزپردازنده‌ی تجاری تک‌تراشه‌ای جهان بود.مشخصات کلیدی:معماری: 4 بیتیفرکانس: 740 کیلوهرتز (kHz)تعداد ترانزیستور: حدود 2,300 عددلیتوگرافی: 10 میکرومتر (µm) که معادل 10,000 نانومتر است. این فناوری ساخت، با مقیاس‌های امروزی بسیار بزرگ محسوب می‌شود.این پردازنده، با قرار دادن تمام منطق پردازشی روی یک تراشه، انقلابی در صنعت الکترونیک ایجاد کرد و راه را برای ساخت کامپیوترهای کوچک‌تر و قدرتمندتر باز نمود.

مشخصات CPU

1.فرکانس (Clock Speed)

فرکانس که با واحد گیگاهرتز (GHz) سنجیده می‌شود، نشان می‌دهد که CPU در هر ثانیه چند چرخه کاری را می‌تواند انجام دهد.
مثال:
فرکانس را می‌توان به سرعت واکنش و عمل یک فرد تشبیه کرد. فرض کنید دو نفر را داریم که وظیفه‌ای را باید انجام دهند:
نفر اول: فرکانس پایین فقط یک کار را در دقیقه انجام می‌دهد
نفر دوم فرکانس بالا همان کار را در 30 ثانیه انجام می‌دهد، یعنی در همان زمان دو برابر نفر اول کار می‌کند.
CPU هم همین‌طور است؛ هرچه فرکانس بالاتر باشد،CPU در هر ثانیه چرخه‌های کاری بیشتری را انجام می‌دهد و سریع‌تر دستورات را پردازش می‌کند.
نکته مهم:فرکانس بالا به‌تنهایی کافی نیست؛ سرعت واقعی CPU به عوامل دیگری مانند تعداد هسته‌ها، میزان کش و معماری کلی آن نیز بستگی دارد.


2. تعداد هسته‌ها (Cores)

هر هسته مانند یک واحد پردازشی مستقل در CPU عمل می‌کند. اگر CPU چند هسته داشته باشد، می‌تواند چند کار را به صورت همزمان انجام دهد.مثال:تعداد هسته‌ها را می‌توان به تعداد کارمندان یک تیم تشبیه کرد.CPU تک‌هسته‌ای مثل یک کارمند است که فقط می‌تواند یک کار را در هر لحظه انجام دهد.CPU چند‌هسته‌ای مثل یک تیم با چند کارمند است. هر کارمند می‌تواند روی وظیفه متفاوتی کار کند. مثلاً:- یک نفر پاسخگوی تماس‌هاست.- نفر دوم ایمیل‌ها را چک می‌کند.- نفر سوم در حال انجام محاسبات سنگین است.- نفر چهارم گزارش تهیه می‌کند.هرچه تعداد هسته‌ها بیشتر باشد، CPU در انجام چند وظیفه به طور همزمان و پردازش‌های سنگین مانند بازی، رندر ویدیو، یا اجرایماشین‌های مجازی کارآمدتر خواهد بود.


3. تعداد رشته‌ها Threads

رشته ها مسیر پردازشی است که CPU می‌تواند آن را مدیریت کند. فناوری‌هایی مانند Hyper-Threading در پردازنده‌های اینتل یا SMT در پردازنده‌های AMD به هر هسته فیزیکی اجازه می‌دهند تا دو یا چند رشته را به صورت همزمان پردازش کند.
مثال:اگر هسته را یک کارمند در نظر بگیریم، رشته‌ها مثل این هستند که همان کارمند بتواند همزمان دو وظیفه سبک را با هم مدیریت کند مثلاً همزمان که نامه‌ای را تایپ می‌کند، به تلفن هم پاسخ دهد این کار باعث افزایش بهره‌وری در حالت چندوظیفه‌ای می‌شود.


4.حافظه کش (Cache Memory)


حافظه کش، یک حافظه بسیار سریع و کوچک است که در داخل CPUقرار دارد. وظیفه آن نگهداری داده‌ها و دستورالعمل‌هایی است که CPU به طور مکرر به آن‌ها نیاز دارد یا احتمالاً در آینده نزدیک به آن‌ها نیاز پیدا خواهد کرد.
چرا مهم است؟
حافظه اصلی (RAM) نسبت به CPU کندتر است. کش با نگهداری داده‌های پرکاربرد، نیاز CPU به مراجعه مداوم به RAM را کاهش می‌دهد و در نتیجه سرعت پردازش را به شدت افزایش می‌دهد. کش مانند یک "میز کار" دم‌دستی برای CPU عمل می‌کند.
لایه‌های کش:
L1 Cache: سریع‌ترین و کوچک‌ترین کش است. معمولاً مخصوص هر هسته CPU است و داده‌هایی را نگه می‌دارد که همان لحظه برای اجرای دستور لازم هستند مثل میز کار یک کارمند که وسایل ضروریش روی اون هست
L2 Cache: کمی کندتر از L1 و ظرفیت بیشتری دارد. مخصوص هر هسته است و داده‌هایی را که کمتر مورد نیاز هستند اما احتمال استفاده مجددشان بالاست، نگه می‌دارد مثل کشوی کنار میز کار یک کارمند که وسایل مورد نیازش توی اونه
L3 Cache:بزرگ‌ترین و کندترین کش در بین این لایه‌هاست. معمولاً بین تمام هسته‌های CPU مشترک است و برای هماهنگی بین هسته‌ها و ذخیره داده‌هایی که کل CPU به آن‌ها نیاز دارد، استفاده می‌شود مثل قفسه مشترک بین تمام کارمندها


5. لیتوگرافی (Nanometer / nm)

این عدد مثلاً 7 nm یا 5 nm به اندازه ترانزیستورها ی موجود در CPU اشاره دارد. ترانزیستورها قطعات بسیار ریز الکترونیکی هستند که بلوک‌های سازنده پردازنده محسوب می‌شوند و محاسبات را انجام می‌دهند.
چرا کوچک‌تر بودن ترانزیستورها مهم است؟
مصرف انرژی کمتر: ترانزیستورهای کوچک‌تر انرژی کمتری مصرف می‌کنند.
تولید گرمای کمتر: گرمای کمتری تولید می‌کنند که به پایداری سیستم کمک می‌کند.
افزایش سرعت: امکان قرار دادن تعداد بیشتری ترانزیستور در یک تراشه و افزایش سرعت کلی پردازش را فراهم می‌کند.
فشرده‌سازی بیشتر: اجازه می‌دهد تا CPUهای قدرتمندتر در اندازه‌های کوچک‌تر ساخته شوند.

6.TDPتوان حرارتی

TDP حداکثر میزان گرمایی را که CPU در شرایط کاری سنگین تولید می‌کند، نشان می‌دهد. این معیار به تعیین نوع سیستم خنک‌کننده مورد نیاز فن، هیت‌سینک، یا خنک‌کننده مایع و همچنین میزان مصرف برق کمک می‌کند. TDP بالاتر معمولاً به معنای نیاز به خنک‌کننده قوی‌تر است.


اجزای داخلی CPU


1. واحد کنترل (Control Unit - CU)

CU مانند مدیر و هماهنگ‌کننده اصلیدر CPU عمل می‌کند. وظایف آن عبارتند از:دریافت دستورالعمل دستورالعمل‌ها را از حافظه دریافت می‌کند.رمزگشایی دستورالعمل‌ها را می‌فهمد و مشخص می‌کند چه عملیاتی باید انجام شود.هدایت جریان داده‌ها اطمینان حاصل می‌کند که داده‌ها بین بخش‌های مختلف CPU و حافظه به درستی جابجا می‌شوند.هماهنگی فعالیت‌ها: بر تمام اجزای داخلی CPU نظارت می‌کند تا دستورالعمل‌ها به ترتیب صحیح و بدون خطا اجرا شوند.

2.واحد حساب و منطق ALU

ALU بخشی است که محاسبات واقعی را انجام می‌دهد. این محاسبات شامل:عملیات ریاضی: جمع، تفریق، ضرب، تقسیم.عملیات منطقی:مقایسه (بزرگتر، کوچکتر، مساوی)، و عملیات منطقی بیتی مانند AND, OR, NOT.

3.واحد اعداد اعشاری Floating-Point Unit - FPU

این واحد به طور تخصصی برای پردازش اعداد اعشاری (اعداد با علامت اعشار، مانند 3.14 یا 0.005) طراحی شده است. FPU نقش حیاتی در کارهایی مانند گرافیک سه‌بعدی، بازی‌ها، شبیه‌سازی‌های علمی، و پردازش سیگنال دارد و سرعت انجام این محاسبات را به طور چشمگیری افزایش می‌دهد.

3.ریجستر

همانطور که اشاره شد، رجیسترها سریع‌ترین و کوچک‌ترین حافظه‌های موجود در CPU هستند که مستقیماً در هسته پردازنده قرار دارند. آن‌ها برای نگهداری موقت داده‌ها و دستورالعمل‌هایی که CPU در همان لحظه برای اجرای یک عملیات نیاز دارد، استفاده می‌شوند.انواع مختلفی از رجیسترها وجود دارند، مانند:رجیسترهای عمومی برای نگهداری انواع داده‌ها و نتایج میانی استفاده می‌شوند.شمارنده برنامه آدرس دستورالعمل بعدی که باید از حافظه FETCH شود را نگه می‌دارد.اشاره‌گر پشته آدرس بالای پشته حافظه را که برای ذخیره موقت داده‌ها در توابع استفاده می‌شود، نگه می‌دارد.
تفاوت کش با رجیستر :
رجیسترها : این‌ها سریع‌ترین و کوچک‌ترین حافظه‌های CPU هستند که مستقیماً در هسته پردازنده قرار دارند. رجیسترها داده‌ها و دستورالعمل‌هایی را نگه می‌دارند که CPU در همان لحظه برای انجام محاسبات یا پردازش جاری به آن‌ها نیاز دارد. دسترسی به رجیسترها آنی و فوق‌العاده سریع است.کش: کندتر از رجیسترها، اما بسیار سریع‌تر از RAM است. کش به عنوان یک حافظه میانی عمل می‌کند و داده‌هایی را نگه می‌دارد که CPU ممکن است در آینده نزدیک به آن‌ها نیاز پیدا کند. این باعث می‌شود CPU مجبور نباشد به طور مداوم به RAM کندتر مراجعه کند.

چرخه اجرای یک برنامه در کامپیوتر

فرآیند اجرای یک برنامه از لحظه کلیک کاربر تا پردازش نهایی در سی‌پی‌یو، از طریق سلسله‌مراتب حافظه و مدیریت سیستم‌عامل به شرح زیر انجام می‌شود:
1. بارگذاری از حافظه ثانویه به حافظه اصلی (HDD/SSD به RAM):از آنجایی که سرعت خواندن از حافظه ثانویه (هارد) بسیار پایین است و نمی‌تواند سرعت پردازش سی‌پی‌یو را تامین کند و باعث تاخیر بسیار بالا میشود ابتدا به وسیله ی سیستم‌عامل پردازنده داده‌های مورد نیاز برنامه از هارد به حافظه اصلی (RAM) منتقل میکند. برنامه برای اینکه بتواند در حافظه باقی بماند و به صورت مداوم پردازش شود، باید در RAM مستقر باشد.
2. چرخه Fetch-Decode-Execute (فراخوانی، رمزگشایی، اجرا):پس از قرارگیری داده‌ها در رم، سی‌پی‌یو شروع به اجرای چرخه اصلی خود می‌کند:فراخوانی (Fetch): دستورالعمل بعدی از رم به داخل سی‌پی‌یو آورده می‌شود.
رمزگشایی (Decode): واحد کنترل در سی‌پی‌یو، دستور را تحلیل می‌کند تا بفهمد چه عملیاتی باید انجام شود.
اجرا (Execute): واحد محاسبه و منطق (ALU)، عملیات مورد نظر را انجام می‌دهد.
3. نقش حافظه کش (Cache) در کاهش تأخیر:زمانی که یک بخش از داده‌ها یا دستورالعمل‌ها به صورت مکرر و پشت‌سرهم مورد نیاز سی‌پی‌یو هستند، برای جلوگیری از اتلاف وقت در جابه‌جایی مداوم میان رم و سی‌پی‌یو، آن بخش از داده‌ها به حافظه کش (Cache) منتقل می‌شود. حافظه کش با سرعت بسیار بالاتر از رم قرار دارد و با نگهداری داده‌های پرتکرار در نزدیکی هسته‌ی پردازنده، میزان تأخیر (Latency) را به حداقل و تقریباً به صفر می‌رساند.

جمع‌بندی:
اگر CPU را مثل یک کارگاه ساختمانی در نظر بگیریم:
فرکانس: سرعت کارگر اصلی چقدر سریع می‌تواند ابزار را بردارد و استفاده کند.
هسته‌ها: تعداد کارگرانی که همزمان مشغول کار هستند.
Threadها: توانایی هر کارگر برای مدیریت همزمان دو یا چند وظیفه سبک.
کش میز کار و قفسه‌های دم‌دستی که ابزار و مصالح پرکاربرد در آن‌ها قرار دارد.
رجیسترها: ابزارهایی که در دست کارگر هستند و همین الان استفاده می‌شوند.
CU (واحد کنترل) ناظر یا سرکارگر که دستورات را می‌خواند و هماهنگ می‌کند.
ALU (واحد حساب و منطق): کارگری که کارهای اصلی بنایی (مثل چیدن آجر، برش دادن) را انجام می‌دهد.
FPU (واحد ممیز شناور): کارگر متخصصی که کارهای دقیق‌تر و محاسبات پیچیده‌تر (مثل اندازه‌گیری زاویه‌ها) را انجام می‌دهد.
Fetch، Decode، Execute، Writeback مراحل کلی ساخت یک قسمت ساختمان (از برداشتن نقشه تا تکمیل آن قسمت)