🛤️ مسیر یادگیری این درس

💾 RAM⚡ CPU💿 هارد دیسک

📚 در این بخش یاد می‌گیرید:
  • پردازنده (CPU) چیست و چه نقشی در کامپیوتر دارد
  • مراحل عملکرد CPU: Fetch، Decode، Execute
  • اجزای اصلی CPU: ALU، واحد کنترل، رجیسترها
  • رابطه CPU با RAM و سایر اجزای سیستم
  • چرا CPU «مغز کامپیوتر» نامیده می‌شود

واحد پردازش مرکزی (CPU)

پردازنده چیست؟

پردازنده یا CPU (Central Processing Unit) که به عنوان «مغز کامپیوتر» نیز شناخته می‌شود، یک تراشه الکترونیکی است که دستورالعمل‌های برنامه‌های کامپیوتری را اجرا می‌کند. CPU مسئول انجام محاسبات ریاضی، منطقی، کنترلی و عملیات ورودی/خروجی است که توسط دستورالعمل‌های برنامه مشخص می‌شود.

CPU از میلیون‌ها ترانزیستور میکروسکوپی تشکیل شده است که روی یک تراشه سیلیکونی قرار گرفته‌اند. این ترانزیستورها با هم کار می‌کنند تا دستورالعمل‌ها را پردازش کنند و عملیات مورد نیاز را انجام دهند.

سرعت CPU با واحد هرتز (Hz) اندازه‌گیری می‌شود که نشان‌دهنده تعداد سیکل‌های پردازشی در ثانیه است. پردازنده‌های مدرن با سرعت چندین گیگاهرتز (GHz) کار می‌کنند، به این معنی که می‌توانند میلیاردها دستورالعمل را در هر ثانیه پردازش کنند.

CPU از سه بخش اصلی تشکیل شده است:

  1. واحد کنترل (Control Unit - CU): دستورالعمل‌ها را از حافظه دریافت و تفسیر می‌کند و سیگنال‌های کنترلی را به سایر بخش‌های CPU ارسال می‌کند.
  2. واحد حساب و منطق (Arithmetic Logic Unit - ALU): عملیات ریاضی (جمع، تفریق، ضرب، تقسیم) و منطقی (AND، OR، NOT، XOR) را انجام می‌دهد.
  3. رجیسترها (Registers): حافظه‌های بسیار سریع و کوچک داخل CPU که داده‌ها و دستورالعمل‌ها را به طور موقت ذخیره می‌کنند.

CPU با حافظه اصلی (RAM) در ارتباط است و داده‌ها و دستورالعمل‌ها را از RAM دریافت می‌کند. پس از پردازش، نتایج را دوباره در RAM ذخیره می‌کند یا به دستگاه‌های خروجی ارسال می‌کند.

پردازنده‌های مدرن از معماری چند‌هسته‌ای (Multi-core) استفاده می‌کنند، به این معنی که چندین واحد پردازشی مستقل روی یک تراشه قرار دارند. این معماری امکان پردازش موازی و افزایش کارایی را فراهم می‌کند.

🎬 ویدیو: CPU چیست؟

⚙️ اجزای اصلی CPU
🎮
واحد کنترل (CU)
هماهنگی و مدیریت دستورات
🔢
ALU (واحد حساب و منطق)
عملیات ریاضی و منطقی
📋
رجیسترها (Registers)
حافظه بسیار سریع داخل CPU
💾
کش (Cache L1/L2/L3)
حافظه پنهان برای سرعت بیشتر
⏱️
ساعت (Clock)
ریتم و سرعت پردازش
💡 این اجزا با هم کار می‌کنند تا دستورات را Fetch → Decode → Execute کنند

ساختار CPU

یک CPU شامل بخش‌ها و مؤلفه‌های مختلفی است که هر کدام نقش خاصی در پردازش داده‌ها دارند. در ادامه، مهم‌ترین بخش‌های CPU را بررسی می‌کنیم:

مراحل عملکرد CPU

CPU برای اجرای هر دستورالعمل، یک چرخه مشخص را طی می‌کند که به چرخه دستورالعمل (Instruction Cycle) معروف است. این چرخه شامل مراحل زیر است:

  1. Fetch (واکشی): دستورالعمل بعدی از حافظه (RAM) خوانده می‌شود و در رجیستر دستورالعمل (Instruction Register) ذخیره می‌شود.
  2. Decode (رمزگشایی): واحد کنترل (CU) دستورالعمل را تفسیر می‌کند و مشخص می‌کند که چه عملیاتی باید انجام شود و کدام بخش‌های CPU باید فعال شوند.
  3. Execute (اجرا): عملیات مشخص شده توسط واحدهای مربوطه (مانند ALU) انجام می‌شود. این مرحله ممکن است شامل محاسبات ریاضی، منطقی، یا انتقال داده باشد.
  4. Write-Back (بازنویسی): نتیجه عملیات در رجیستر یا حافظه ذخیره می‌شود.

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

📚 در این بخش یاد می‌گیرید:
  • فرآیند (Process) و رشته (Thread) چیست
  • تفاوت تک‌رشته‌ای و چندرشته‌ای (Multithreading)
  • هسته پردازنده (Core) و چند‌هسته‌ای (Multicore)
  • Hyper-threading و فناوری‌های مشابه
  • نقش هسته‌ها در پردازش موازی

فرآیند / Process چیست؟

به زبان ساده، یک فرآیند برنامه‌ای است که در حال اجرا می‌باشد. وقتی شما یک برنامه (مثل مرورگر وب یا واژه‌پرداز) را باز می‌کنید، سیستم عامل یک فرآیند برای آن ایجاد می‌کند. هر فرآیند شامل کد برنامه، داده‌ها، و منابع مورد نیاز (مانند حافظه و فایل‌ها) است.

ویژگی‌های فرآیند:

  • هر فرآیند فضای حافظه مستقل خود را دارد
  • فرآیندها از یکدیگر جدا هستند و نمی‌توانند مستقیماً به حافظه یکدیگر دسترسی داشته باشند
  • سیستم عامل مسئول مدیریت و زمان‌بندی فرآیندها است

Thread / رشته چیست؟

Thread یک واحد اجرایی کوچک‌تر درون یک فرآیند است. یک فرآیند می‌تواند چندین Thread داشته باشد که همگی فضای حافظه یکسانی را به اشتراک می‌گذارند. Threadها امکان اجرای همزمان بخش‌های مختلف یک برنامه را فراهم می‌کنند.

مزایای Multithreading:

  • اجرای همزمان چندین کار در یک برنامه
  • استفاده بهتر از منابع CPU
  • پاسخگویی بهتر برنامه‌ها (مثلاً رابط کاربری در یک Thread و پردازش در Thread دیگر)

Hyper-Threading یک فناوری اختصاصی Intel است که به هر هسته فیزیکی اجازه می‌دهد به عنوان دو هسته منطقی عمل کند. این فناوری با استفاده از منابع بلااستفاده هسته، کارایی را در برنامه‌های چندرشته‌ای بهبود می‌بخشد.

🎬 ویدیو: Process و Thread

هسته پردازنده چیست؟

 

پردازش واقعی دستورالعمل‌ها در واحدی به نام «هسته» (Core) انجام می‌شود. هر هسته یک واحد پردازشی مستقل است که می‌تواند دستورالعمل‌ها را به طور مستقل اجرا کند.

پردازنده‌های اولیه فقط یک هسته داشتند (Single-Core). اما امروزه اکثر پردازنده‌ها چند هسته‌ای (Multi-Core) هستند — معمولاً ۴، ۶، ۸، ۱۲، ۱۶ یا حتی ۶۴ هسته در پردازنده‌های سرور.

مزایای پردازنده‌های چند‌هسته‌ای:

  • پردازش موازی: چندین کار به طور همزمان اجرا می‌شوند
  • عملکرد بهتر: برنامه‌های بهینه‌سازی شده می‌توانند از تمام هسته‌ها استفاده کنند
  • مصرف انرژی بهینه: هسته‌های بلااستفاده می‌توانند غیرفعال شوند

هر هسته شامل واحدهای اصلی CPU (واحد کنترل، ALU، رجیسترها و کش L1) است و می‌تواند به طور مستقل دستورالعمل‌ها را Fetch، Decode و Execute کند.

📚 در این بخش یاد می‌گیرید:
  • رجیستر (Register) چیست و چه تفاوتی با RAM دارد
  • معماری ۳۲ بیتی و ۶۴ بیتی و تأثیر بر رجیسترها
  • انواع رجیسترها در CPU
  • نقش ALU (واحد حساب و منطق)
  • تعامل رجیسترها، ALU و سایر اجزای CPU

ثبات‌ها یا رجیسترها (Registers)

رجیسترها حافظه‌های بسیار سریع و کوچکی هستند که داخل CPU قرار دارند. آن‌ها داده‌ها و دستورالعمل‌هایی را که CPU در حال حاضر روی آن‌ها کار می‌کند، ذخیره می‌کنند.

تفاوت رجیسترها با RAM:

  • سرعت: رجیسترها بسیار سریع‌تر از RAM هستند (زمان دسترسی ~۱ns در مقابل ~۸۰ns)
  • ظرفیت: رجیسترها بسیار کوچک هستند (چند ده یا صد بایت) در حالی که RAM چندین گیگابایت ظرفیت دارد
  • موقعیت: رجیسترها داخل CPU قرار دارند، RAM روی مادربرد

انواع رجیسترها:

  • رجیسترهای عمومی (General Purpose Registers): برای ذخیره داده‌ها و نتایج موقت استفاده می‌شوند (مانند EAX، EBX در x86)
  • رجیستر دستورالعمل (Instruction Register - IR): دستورالعمل فعلی که در حال اجراست را نگه می‌دارد
  • شمارنده برنامه (Program Counter - PC): آدرس دستورالعمل بعدی که باید اجرا شود را نگه می‌دارد
  • رجیستر آدرس حافظه (Memory Address Register - MAR): آدرس حافظه‌ای که باید خوانده یا نوشته شود را نگه می‌دارد
  • رجیستر داده حافظه (Memory Data Register - MDR): داده‌ای که از حافظه خوانده شده یا باید نوشته شود را نگه می‌دارد
  • ثبات وضعیت (Status Register / Flag Register): وضعیت CPU را نشان می‌دهد (مانند Carry، Zero، Overflow flags)

در معماری ۳۲ بیتی، رجیسترها ۳۲ بیت (۴ بایت) و در معماری ۶۴ بیتی، ۶۴ بیت (۸ بایت) هستند. این تفاوت تأثیر مستقیمی بر میزان حافظه قابل آدرس‌دهی و سرعت پردازش دارد.

۱
📥
Fetch (واکشی)
دستور از RAM خوانده و در رجیستر دستور ذخیره می‌شود
۲
🔓
Decode (رمزگشایی)
واحد کنترل دستور را تفسیر و قطعات لازم را فعال می‌کند
۳
Execute (اجرا)
ALU عملیات را انجام می‌دهد یا داده ذخیره می‌شود
۴
📤
Write-Back (بازنویسی)
نتیجه در رجیستر یا حافظه نوشته می‌شود

🎬 ویدیو: Fetch-Decode-Execute

🎬 ویدیو: CPU Fetch عمیق‌تر

📚 در این بخش یاد می‌گیرید:
  • حافظه کش (Cache) چیست و چرا مهم است
  • سطوح L1، L2 و L3 و تفاوت‌های آن‌ها
  • سیاست‌های Write-Through و Write-Back
  • کش فراگیر (Inclusive) و انحصاری (Exclusive)
  • نحوه بررسی حجم کش در ویندوز

Cache / حافظه پنهان (L1 / L2 / L3)

کش یک حافظه بسیار سریع و کوچک است که بین CPU و RAM قرار دارد. هدف کش کاهش زمان دسترسی به داده‌های پرکاربرد است.

سطوح کش:

  • L1 Cache (Level 1): سریع‌ترین و کوچک‌ترین کش (۳۲-۶۴ KB). داخل هر هسته قرار دارد و به دو بخش L1i (دستورالعمل) و L1d (داده) تقسیم می‌شود.
  • L2 Cache (Level 2): بزرگ‌تر از L1 (۲۵۶ KB - ۱ MB). معمولاً به هر هسته اختصاص دارد.
  • L3 Cache (Level 3): بزرگ‌ترین کش (۴-۳۲ MB). بین تمام هسته‌ها به اشتراک گذاشته می‌شود.

سیاست‌های نوشتن در کش:

  • Write-Through: داده همزمان در کش و RAM نوشته می‌شود (امن‌تر اما کندتر)
  • Write-Back: داده ابتدا فقط در کش نوشته می‌شود و بعداً در RAM به‌روزرسانی می‌شود (سریع‌تر اما پیچیده‌تر)

انواع کش از نظر اشتراک:

  • Inclusive (فراگیر): L3 شامل تمام داده‌های L2 و L1 است
  • Exclusive (انحصاری): هر سطح کش داده‌های منحصر به فرد خود را دارد
💾 سلسله‌مراتب حافظه کش
L1 Cache
۳۲-۶۴ KB · ~۱ns
L2 Cache
۲۵۶ KB-۱MB · ~۴ns
L3 Cache
۴-۳۲ MB · ~۱۲ns
RAM
۸-۶۴ GB · ~۸۰ns
SSD/HDD
۵۱۲GB-۲TB · ~۱۰۰μs
💡 هرچه بالاتر — سریع‌تر و کوچک‌تر. هرچه پایین‌تر — کندتر و بزرگ‌تر

🎬 ویدیو: CPU Cache

🧠 بررسی یادگیری
  1. ؟سه مرحله اصلی عملکرد CPU (Fetch-Decode-Execute) را توضیح دهید.
  2. ؟رجیستر چه تفاوتی با RAM و Cache دارد؟
  3. ؟ALU چه عملیاتی انجام می‌دهد و چه نقشی در CPU دارد؟
  4. ؟معماری ۳۲ بیتی و ۶۴ بیتی چه تأثیری بر رجیسترها دارد؟
💡 نکته کلیدی
CPU از طریق Fetch (واکشی دستور از RAM)، Decode (تفسیر توسط واحد کنترل) و Execute (اجرا توسط ALU) کار می‌کند. رجیسترها سریع‌ترین حافظه داخل CPU هستند. ۶۴ بیتی امکان آدرس‌دهی حافظه بیشتر و رجیسترهای بزرگ‌تر را فراهم می‌کند.

اندازه حافظه کش پردازنده را در ویندوز 11/10 بررسی کنید

برای بررسی اندازه حافظه پنهان پردازنده از طریق Task Manager در ویندوز 11/10، مراحل زیر را دنبال کنید:

  1. Task Manager را باز کنید (Ctrl + Shift + Esc)
  2. به تب Performance بروید
  3. روی CPU کلیک کنید
  4. اطلاعات کش در پایین پنجره نمایش داده می‌شود (L1، L2، L3)

همچنین می‌توانید از نرم‌افزارهای شخص ثالث مانند CPU-Z یا HWiNFO برای اطلاعات دقیق‌تر استفاده کنید.

ساعت (Clock) در پردازنده (CPU)

ساعت پردازنده یا فرکانس کاری CPU، سرعت اجرای دستورالعمل‌ها را تعیین می‌کند. این سرعت با واحد هرتز (Hz) اندازه‌گیری می‌شود و نشان‌دهنده تعداد سیکل‌های پردازشی در ثانیه است.

پردازنده‌های مدرن با سرعت چندین گیگاهرتز (GHz) کار می‌کنند. به عنوان مثال، یک پردازنده ۳.۵ GHz می‌تواند ۳.۵ میلیارد سیکل در ثانیه انجام دهد.

ساعت CPU توسط یک کریستال کوارتز روی مادربرد تولید می‌شود و به عنوان «ضربان قلب» سیستم عمل می‌کند. هر سیکل ساعت، یک پالس الکتریکی است که فعالیت‌های CPU را هماهنگ می‌کند.

عوامل مؤثر بر سرعت CPU:

  • فرکانس پایه (Base Clock): سرعت پایه‌ای که CPU در شرایط عادی کار می‌کند
  • فرکانس Boost: حداکثر سرعتی که CPU می‌تواند در شرایط خاص به آن برسد
  • تعداد هسته‌ها: هسته‌های بیشتر امکان پردازش موازی را فراهم می‌کنند
  • معماری: معماری جدیدتر معمولاً کارایی بیشتری در هر سیکل دارد

🎬 ویدیو: CPU Clock

📚 در این بخش یاد می‌گیرید:
  • معماری ۳۲ بیتی و ۶۴ بیتی و تفاوت‌ها
  • مجموعه دستورات (ISA) و انواع آن
  • تفاوت RISC و CISC
  • معماری چند‌هسته‌ای و پایپ‌لاینینگ
  • آدرس‌دهی حافظه و مجازی‌سازی

معماری پردازنده‌ها (CPU Architectures) و انواع مختلف آن‌ها

معماری پردازنده (CPU Architecture) به طراحی داخلی و نحوه عملکرد یک پردازنده اشاره دارد. این معماری تعیین می‌کند که CPU چگونه دستورالعمل‌ها را پردازش کند، با حافظه ارتباط برقرار کند و داده‌ها را مدیریت کند.

معماری ۳۲ بیتی و ۶۴ بیتی

تفاوت اصلی بین معماری ۳۲ بیتی و ۶۴ بیتی در اندازه رجیسترها و عرض گذرگاه داده است:

  • ۳۲ بیتی (x86): رجیسترهای ۳۲ بیتی، حداکثر ۴ GB RAM قابل آدرس‌دهی
  • ۶۴ بیتی (x64/x86-64): رجیسترهای ۶۴ بیتی، حداکثر ۱۶ EB (اگزابایت) RAM قابل آدرس‌دهی

مجموعه دستورات (ISA - Instruction Set Architecture)

ISA مجموعه دستوراتی است که یک پردازنده می‌تواند اجرا کند. دو نوع اصلی ISA وجود دارد:

  • RISC (Reduced Instruction Set Computer): مجموعه دستورات کوچک و ساده. هر دستور معمولاً در یک سیکل کلاک اجرا می‌شود. مثال: ARM (موبایل‌ها، Raspberry Pi، Apple M1/M2)
  • CISC (Complex Instruction Set Computer): مجموعه دستورات بزرگ و پیچیده. یک دستور می‌تواند چندین عملیات را انجام دهد. مثال: x86/x64 (Intel، AMD)

پایپ‌لاینینگ (Pipelining)

پایپ‌لاینینگ تکنیکی است که در آن مراحل مختلف اجرای دستورالعمل‌ها (Fetch، Decode، Execute) به صورت هم‌پوشان انجام می‌شوند. در حالی که یک دستور در مرحله Execute است، دستور بعدی می‌تواند در مرحله Decode و دستور بعد از آن در مرحله Fetch باشد. این کار باعث افزایش چشمگیر کارایی CPU می‌شود.

معماری چند‌هسته‌ای (Multi-Core)

پردازنده‌های چند‌هسته‌ای دارای چندین هسته پردازشی مستقل روی یک تراشه هستند. هر هسته می‌تواند به طور همزمان دستورالعمل‌های متفاوتی را اجرا کند. این معماری امکان پردازش موازی واقعی را فراهم می‌کند.

حافظه مجازی (Virtual Memory)

حافظه مجازی تکنیکی است که به سیستم عامل اجازه می‌دهد از فضای دیسک به عنوان RAM استفاده کند. این کار امکان اجرای برنامه‌های بزرگ‌تر از RAM فیزیکی را فراهم می‌کند.

ویژگی⚡ RISC (کاهش‌یافته)🔧 CISC (پیچیده)
مجموعه دستوراتکم و ساده (۱۰۰↓)زیاد و پیچیده (۳۰۰↑)
اندازه دستوراتثابت (معمولاً ۳۲ بیت)متغیر (۱۶-۶۴ بیت)
زمان اجرامعمولاً ۱ سیکل کلاکچند سیکل کلاک
پیچیدگی پردازندهساده‌تر — سخت‌افزار کمترپیچیده‌تر — سخت‌افزار بیشتر
کاربردموبایل، ARM، IoTPC، Intel/AMD x86
مصرف انرژیپایینبالا

🎬 ویدیو: معماری CPU - قسمت ۱

🎬 ویدیو: معماری CPU - قسمت ۲

🧠 بررسی یادگیری
  1. ؟تفاوت اصلی RISC و CISC چیست؟
  2. ؟حافظه کش L1، L2 و L3 چه تفاوتی دارند؟
  3. ؟پایپ‌لاینینگ (Pipelining) چه مزیتی دارد؟
  4. ؟معماری چند‌هسته‌ای چگونه سرعت پردازش را افزایش می‌دهد؟
💡 نکته کلیدی
RISC دستورات ساده و سریع دارد (ARM/موبایل)، CISC دستورات پیچیده (Intel/AMD PC). Cache L1 سریع‌ترین و کوچک‌ترین است. Pipelining هم‌پوشانی مراحل را ممکن می‌کند و Multicore پردازش موازی را فراهم می‌کند.