به علت نوسانات نرخ ارز، قیمت‌های سایت فاقد اعتبار می‌باشد. استعلام کنید

راهنمای جامع پردازنده های (Intel و AMD) | تشخیص نسل CPU، معنی پسوندها، مقایسه قدرت، انتخاب بهترین پردازنده و کاربرد هر مدل


کتابخانه دانش سخت افزار استوک شاپ

دانشنامه جامع CPU ؛ کتاب کامل پردازنده از مفاهیم پایه تا معماری، نسل ها و انتخاب حرفه ای

این کتاب یک مقاله کوتاه درباره پردازنده نیست؛
بلکه مرجعی مرحله به مرحله برای شناخت CPU است.
از مفهوم پردازنده، هسته، Thread، فرکانس و Cache
شروع می کنیم و تا معماری داخلی، نسل ها و پسوندهای
Intel و AMD، توان مصرفی، بنچمارک، عملکرد واقعی،
انتخاب پردازنده برای نرم افزارها و خرید لپ تاپ استوک
پیش می رویم.


مبتدی تا مهندسی


Intel و AMD


نسل ها و پسوندها


انتخاب بر اساس کاربرد

خلاصه دانشنامه CPU


CPU در یک نگاه

CPU یا پردازنده مرکزی، واحدی است که دستورهای برنامه ها
را دریافت و اجرا می کند و بخش بزرگی از محاسبات عمومی
سیستم را بر عهده دارد.

  • عبارت هایی مانند Core i5 یا Ryzen 7 به تنهایی
    قدرت واقعی پردازنده را مشخص نمی کنند.
  • نسل، معماری، هسته، Thread، IPC، فرکانس، Cache
    و محدودیت توان باید در کنار یکدیگر بررسی شوند.
  • پسوندهایی مانند U، H، HX و HS نوع طراحی و
    کلاس مصرف پردازنده را نشان می دهند.
  • عملکرد واقعی CPU به خنک کننده، توان قابل استفاده،
    حافظه و نوع نرم افزار نیز وابسته است.
  • در این کتاب نسل ها و پسوندها فقط معرفی نمی شوند؛
    با نسل قبل، نسل بعد و گزینه های هم رده نیز
    مقایسه خواهند شد.

CPU چیست؟ پاسخ کوتاه


تعریف ساده CPU

CPU مخفف

Central Processing Unit

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

CPU به تنهایی تعیین کننده سرعت کل کامپیوتر نیست.
حافظه RAM، کارت گرافیک، فضای ذخیره سازی،
سیستم خنک کننده و خود نرم افزار نیز در عملکرد نهایی
نقش دارند.

چگونه از این کتاب استفاده کنیم؟

اگر هیچ شناختی از CPU ندارید، بهتر است کتاب را از
فصل های ابتدایی مطالعه کنید. مفاهیم به ترتیبی چیده شده اند
که هر فصل پایه لازم برای فصل بعد را ایجاد کند.

اگر برای پاسخ به یک سؤال مشخص وارد این صفحه شده اید،
لازم نیست کل کتاب را از ابتدا بخوانید. فهرست زیر شما را
مستقیماً به فصل موردنظر می برد و در هر فصل نیز لینک هایی
به مفاهیم مرتبط همان کتاب قرار خواهد گرفت.

مسیر پایه

CPU چیست ← هسته و Thread ← فرکانس ← IPC
← Cache ← معماری

مسیر خرید

تشخیص مدل ← نسل ← پسوند ← مقایسه قدرت
← کاربرد ← ارزش خرید

مسیر حرفه ای

معماری ← Pipeline ← Branch Prediction
← Cache Hierarchy ← Power ← Performance


فهرست جامع دانشنامه CPU

بخش 1 — مبانی و اصول پردازنده

  1. فصل 1 — CPU چیست و دقیقاً چه کاری در کامپیوتر انجام می دهد؟

  2. فصل 2 — CPU چگونه دستورهای یک برنامه را اجرا می کند؟

  3. فصل 3 — Core و Thread چیست و چه تفاوتی با یکدیگر دارند؟

  4. فصل 4 — فرکانس CPU چیست و GHz واقعاً چه چیزی را نشان می دهد؟

  5. فصل 5 — IPC چیست و چرا CPU با فرکانس کمتر می تواند سریع تر باشد؟

  6. فصل 6 — Cache چیست و چرا CPU به L1، L2 و L3 نیاز دارد؟

  7. فصل 7 — Architecture، Microarchitecture و ISA چیست؟

  8. فصل 8 — لیتوگرافی و Process Node چیست؟

  9. فصل 9 — TDP، توان مصرفی، دما و Thermal Throttling

  10. فصل 10 — CPU چگونه با RAM، GPU، SSD و سایر قطعات کار می کند؟

بخش 2 — تشخیص مدل، نسل و نام گذاری Intel و AMD

  1. فصل 11 — تشخیص مدل، نسل، خانواده و پسوند CPU

  2. فصل 12 — چگونه نام یک CPU را بخوانیم؟

  3. فصل 13 — تشخیص نسل پردازنده Intel از روی مدل

  4. فصل 14 — مقایسه نسل های پردازنده Intel

  5. فصل 15 — Intel Core Ultra و سیستم نام گذاری جدید

  6. فصل 16 — خواندن مدل AMD Ryzen و تشخیص معماری

  7. فصل 17 — مقایسه معماری های AMD Zen

  8. فصل 18 — AMD Ryzen AI، NPU و معماری XDNA

  9. فصل 19 — پسوندهای AMD Ryzen؛ U، H، HS، HX، X و X3D

  10. فصل 20 — مقایسه Ryzen U، HS، H و HX

  11. فصل 21 — تشخیص نسل Ryzen از روی نام پردازنده

  12. فصل 22 — مقایسه جامع نسل ها و معماری های AMD Ryzen

بخش 3 — مقایسه اولیه، Benchmark، Bottleneck و نسل های Intel

  1. فصل 23 — بنچمارک CPU چیست و چگونه دو پردازنده را مقایسه کنیم؟

  2. فصل 24 — Intel یا AMD؟ مقایسه جامع پردازنده ها

  3. فصل 25 — Bottleneck CPU و تعادل CPU، GPU، RAM و Storage

  4. فصل 26 — GHz، Base Clock، Boost Clock و Turbo

  5. فصل 27 — TDP، Power Limit، PL1، PL2، PPT و Thermal Throttling

  6. فصل 28 — پسوندهای پردازنده لپ تاپ؛ U، P، H، HS و HX

  7. فصل 29 — راهنمای جامع نسل های پردازنده Intel

  8. فصل 30 — مقایسه نسل به نسل پردازنده های Intel

بخش 4 — رمزگشایی عمیق Intel و AMD و انتخاب CPU

  1. فصل 31 — رمزگشایی کامل نام پردازنده Intel

  2. فصل 32 — مقایسه عمیق پسوندهای Intel؛ U، P، H، HK و HX

  3. فصل 33 — رمزگشایی کامل نام پردازنده AMD Ryzen

  4. فصل 34 — مقایسه عمیق معماری AMD Ryzen از Zen تا Zen 5

  5. فصل 35 — Intel یا AMD؛ مقایسه معماری، مصرف و کارایی

  6. فصل 36 — آموزش کامل خواندن Benchmark پردازنده

  7. فصل 37 — چه عواملی قدرت واقعی CPU را محدود می کنند؟

  8. فصل 38 — انتخاب CPU لپ تاپ براساس کاربری

  9. فصل 39 — چک لیست CPU هنگام خرید لپ تاپ استوک

  10. فصل 40 — چگونه دو CPU را واقعاً مقایسه کنیم؟

بخش 5 — عیب یابی، Benchmark حرفه ای و راهنمای Intel و AMD

  1. فصل 41 — تشخیص گلوگاه CPU، GPU، RAM، SSD و Cooling

  2. فصل 42 — علم Benchmark و اندازه گیری Performance واقعی CPU

  3. فصل 43 — مانیتورینگ Clock، Power، Temperature و Load

  4. فصل 44 — Stress Test پردازنده و بررسی پایداری

  5. فصل 45 — عیب یابی Performance پردازنده

  6. فصل 46 — روش مهندسی انتخاب CPU

  7. فصل 47 — راهنمای جامع پردازنده های Intel

  8. فصل 48 — سیر تکامل نسل های Intel

  9. فصل 49 — مقایسه عملی پردازنده های Intel نسل به نسل

  10. فصل 50 — مقایسه نسل های جدید Intel تا Core Ultra

  11. فصل 51 — راهنمای جامع AMD Ryzen

  12. فصل 52 — سیر تکامل معماری Ryzen از Zen تا Zen 5

  13. فصل 53 — مقایسه Ryzen 3000 تا Ryzen 8000 Mobile

  14. فصل 54 — تفاوت U، HS، H و HX در Ryzen Laptop

  15. فصل 55 — Ryzen AI و NPU چیست؟

  16. فصل 56 — مقایسه Ryzen و Intel Core در لپ تاپ

  17. فصل 57 — آموزش حرفه ای خواندن Benchmark پردازنده

  18. فصل 58 — CPU Desktop، Socket، Chipset و مسیر ارتقا

  19. فصل 59 — پسوندهای Intel Desktop؛ K، KF، F، T و KS

  20. فصل 60 — Ryzen Desktop؛ X، X3D، G و مدل های بدون پسوند

بخش 6 — معماری داخلی، Cache، اجرای دستور و Parallelism

  1. فصل 61 — راهنمای کامل Cache؛ L1، L2 و L3

  2. فصل 62 — کنترلر حافظه CPU و ارتباط با RAM

  3. فصل 63 — MMU، TLB و Virtual Memory

  4. فصل 64 — Pipeline، Branch Prediction و Speculative Execution

  5. فصل 65 — Register Renaming و Dependency

  6. فصل 66 — Load، Store و Memory Dependency

  7. فصل 67 — Execution Unit، ALU، FPU و SIMD

  8. فصل 68 — SMT و Hyper-Threading

  9. فصل 69 — Multi-Core Scaling و قانون Amdahl

  10. فصل 70 — معماری Hybrid، Performance Core و Efficiency Core

بخش 7 — توان، ولتاژ، حرارت، VRM و تنظیم CPU

  1. فصل 71 — رابطه توان، ولتاژ، فرکانس و Performance

  2. فصل 72 — انتقال حرارت CPU و سیستم خنک کننده

  3. فصل 73 — سنسورهای دمای CPU و حفاظت حرارتی

  4. فصل 74 — Thermal Throttling و Power Limit

  5. فصل 75 — VRM و Power Delivery پردازنده

  6. فصل 76 — Overclocking و Undervolting

بخش 8 — RAM، DRAM، Memory System، PCIe و Cache Coherence

  1. فصل 77 — Memory Controller، Channel، Frequency، Bandwidth و Latency

  2. فصل 78 — معماری داخلی DRAM و DDR4 / DDR5

  3. فصل 79 — NUMA و Memory Topology

  4. فصل 80 — معماری PCI Express

  5. فصل 81 — Cache Coherence و MESI

  6. فصل 82 — Memory Ordering و Memory Barrier

  7. فصل 83 — Branch Prediction و Speculative Execution

  8. فصل 84 — Hardware Prefetching

  9. فصل 85 — Integrated Memory Controller و Memory Channel

  10. فصل 86 — DRAM؛ Cell، Row Buffer، Refresh و Timing

  11. فصل 87 — DDR3، DDR4، DDR5 و LPDDR

بخش 9 — سیستم عامل، Virtualization، Power، Reliability و ساخت CPU

  1. فصل 88 — User Mode و Kernel Mode

  2. فصل 89 — Virtualization سخت افزاری در CPU

  3. فصل 90 — P-State، C-State، DVFS، Turbo و Boost

  4. فصل 91 — مدیریت حرارتی CPU

  5. فصل 92 — Reliability و فرسودگی CPU

  6. فصل 93 — ساخت CPU، Yield و Binning

  7. فصل 94 — Process Node و Transistor Density

  8. فصل 95 — قانون مور و محدودیت Scaling

  9. فصل 96 — Generation، Architecture، Codename و Model

بخش 10 — تحلیل Performance، Benchmark، Profiling و Reliability

  1. فصل 97 — چگونه مشخصات فنی CPU را بخوانیم؟

  2. فصل 98 — روش انجام و تفسیر Benchmark CPU

  3. فصل 99 — تشخیص CPU Bottleneck

  4. فصل 100 — مانیتورینگ و تحلیل Performance واقعی CPU

  5. فصل 101 — Performance Counter

  6. فصل 102 — Profiling و Performance Optimization

  7. فصل 103 — چگونه Benchmark معتبر CPU انجام دهیم؟

  8. فصل 104 — تفسیر Benchmark براساس کاربری واقعی

  9. فصل 105 — Performance per Watt

  10. فصل 106 — Silicon Binning

  11. فصل 107 — Silicon Aging

  12. فصل 108 — Error Detection و Reliability

بخش 11 — Virtualization، Security، PMU و انتخاب نهایی CPU

  1. فصل 109 — Virtualization، Hypervisor و Hardware Assist

  2. فصل 110 — امنیت پردازنده و حفاظت سیستم

  3. فصل 111 — Performance Monitoring و Hardware Counters

  4. فصل 112 — Benchmark علمی و مقایسه پردازنده ها

  5. فصل 113 — انتخاب CPU براساس نوع Workload

  6. فصل 114 — اشتباهات رایج در خرید و مقایسه CPU

بخش 12 — جمع بندی مهندسی و مرکز مرجع CPU

  1. فصل 115 — جمع بندی مهندسی CPU

  2. فصل 116 — نقشه مفهومی جامع CPU

  3. فصل 117 — واژه نامه جامع CPU

  4. فصل 118 — پایان دانشنامه و مسیر ادامه یادگیری



بخش اول — مبانی پردازنده

CPU از صفر؛ پردازنده چیست و چرا اهمیت دارد؟

پیش از بررسی نسل ها، پسوندها، Intel، AMD یا مقایسه قدرت
پردازنده ها، باید بدانیم CPU اساساً چه قطعه ای است،
چه کاری انجام می دهد و چگونه با سایر اجزای کامپیوتر
همکاری می کند.

این بخش پایه فصل های بعدی کتاب است. اگر مفاهیم CPU،
Core، Thread، Clock، Cache و معماری را از قبل به خوبی
می شناسید، می توانید مستقیماً از فهرست کتاب وارد
فصل موردنظر شوید.

فصل 1

سطح: پایه

پیش نیاز: ندارد

موضوع: تعریف و نقش CPU


شروع مسیر یادگیری CPU

CPU چیست و دقیقاً چه کاری در کامپیوتر انجام می دهد؟

CPU یا واحد پردازش مرکزی یکی از مهم ترین اجزای
پردازشی کامپیوتر است. وظیفه آن دریافت دستورها،
تفسیر آن ها، انجام محاسبات و هماهنگی اجرای بسیاری
از عملیات موردنیاز سیستم عامل و نرم افزارها است.


پاسخ سریع: CPU چیست؟

CPU مخفف

Central Processing Unit

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

CPU را می توان یکی از مراکز اصلی تصمیم گیری و
پردازش کامپیوتر دانست؛ اما برخلاف تصور رایج،
تمام کارهای سیستم فقط توسط CPU انجام نمی شوند.

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU دقیقاً چیست و چه نقشی در سیستم دارد.
  • چرا پردازنده را نباید تنها عامل سرعت کامپیوتر دانست.
  • CPU چه نوع عملیات هایی را انجام می دهد.
  • CPU چگونه با RAM، GPU و فضای ذخیره سازی همکاری می کند.
  • چرا عبارت هایی مانند Core i5 یا Ryzen 7 به تنهایی
    قدرت CPU را مشخص نمی کنند.

نقشه مفهومی فصل


01

برنامه
کاربر یک نرم افزار یا عملیات را اجرا می کند.

02

دستور
برنامه مجموعه ای از دستورهای قابل اجرا تولید می کند.

03

پردازش
CPU دستورها را دریافت، بررسی و اجرا می کند.

04

نتیجه
خروجی برای حافظه، نمایشگر یا بخش دیگر سیستم ارسال می شود.

CPU دقیقاً چه نوع قطعه ای است؟

CPU یک مدار مجتمع بسیار پیچیده است که میلیاردها
ترانزیستور را در خود جای می دهد. این ترانزیستورها
در قالب واحدهای مختلف پردازشی سازمان دهی شده اند
تا عملیات منطقی، ریاضی، کنترلی و انتقال داده انجام شود.

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

بنابراین CPU فقط یک «قطعه سریع» نیست؛ بلکه واحدی است
که بسیاری از دستورهای سطح پایین سیستم را مرحله به مرحله
اجرا می کند.

CPU چه کارهایی انجام می دهد؟

اجرای دستورهای برنامه

دستورهای تولیدشده توسط سیستم عامل و نرم افزارها
در CPU پردازش می شوند.

عملیات منطقی و ریاضی

محاسبه، مقایسه، تصمیم گیری و بسیاری از عملیات
عددی توسط واحدهای داخلی پردازنده انجام می شوند.

مدیریت جریان برنامه

CPU تصمیم می گیرد کدام دستور در چه زمانی
و با چه ترتیبی اجرا شود.

هماهنگی با حافظه

پردازنده دائماً داده ها و دستورها را از
حافظه دریافت و نتیجه عملیات را بازمی گرداند.

مثال واقعی: وقتی مرورگر را باز می کنید چه اتفاقی می افتد؟

تصور کنید روی آیکون مرورگر کلیک می کنید. سیستم عامل
فایل های موردنیاز برنامه را از فضای ذخیره سازی می خواند
و بخش های لازم را وارد RAM می کند. سپس CPU شروع به
اجرای دستورهای برنامه می کند.

پردازنده باید رابط کاربری مرورگر را مدیریت کند،
درخواست های شبکه را هماهنگ کند، کدهای برنامه را اجرا کند،
داده ها را پردازش کند و در بسیاری از مراحل با GPU،
RAM و سایر بخش های سیستم تعامل داشته باشد.

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

آیا CPU به تنهایی تمام کارهای کامپیوتر را انجام می دهد؟

خیر. کامپیوتر یک سیستم متشکل از چندین بخش تخصصی است.
CPU یکی از مهم ترین واحدهای پردازشی سیستم است، اما
عملکرد نهایی به همکاری چند قطعه وابسته است.

RAM

داده ها و برنامه های در حال استفاده را با
سرعت بالا در اختیار پردازنده قرار می دهد.

GPU

برای پردازش گرافیکی و بسیاری از محاسبات
موازی تخصصی استفاده می شود.

SSD

فایل ها، سیستم عامل و برنامه ها را ذخیره می کند
و سرعت خواندن و نوشتن داده ها را تعیین می کند.

سیستم خنک کننده

کمک می کند CPU بتواند عملکرد خود را بدون
رسیدن سریع به محدودیت حرارتی حفظ کند.


ارتباط این فصل با کتاب های دیگر StokShop

در این کتاب فقط مقدار لازم درباره RAM، GPU و
فضای ذخیره سازی توضیح داده می شود. توضیح عمیق
هر قطعه در کتاب تخصصی همان موضوع قرار می گیرد.

برای مثال، زمانی که در فصل های بعدی به گرافیک مجتمع،
CPU Bottleneck یا پردازش موازی می رسیم، بخش های تخصصی
مرتبط به دانشنامه گرافیک متصل خواهند شد.

آیا CPU و Processor یک معنی دارند؟

در گفتگوهای روزمره سخت افزاری، واژه Processor معمولاً
به همان CPU اشاره دارد و این دو عبارت اغلب به جای یکدیگر
استفاده می شوند.

با این حال واژه Processor معنای عمومی تری دارد و می تواند
به واحدهای پردازشی دیگری مانند GPU، NPU یا پردازنده های
تخصصی نیز اشاره کند. بنابراین هر CPU یک Processor است،
اما هر Processor الزاماً CPU نیست.

آیا CPU واقعاً مغز کامپیوتر است؟

تشبیه CPU به مغز کامپیوتر برای توضیح ساده نقش آن مفید است،
اما از نظر فنی کامل نیست. یک سیستم مدرن چندین واحد پردازشی
و کنترل کننده دارد و بسیاری از وظایف بین CPU، GPU، NPU،
کنترل کننده های حافظه و سایر واحدها تقسیم می شوند.

بهتر است CPU را «پردازنده عمومی اصلی سیستم» بدانیم؛
واحدی که بسیاری از وظایف عمومی و جریان اجرای برنامه ها
را مدیریت می کند.

Performance Impact — قدرت CPU کجا احساس می شود؟

قدرت پردازنده می تواند روی سرعت اجرای برنامه ها،
پاسخ دهی سیستم، کامپایل پروژه، فشرده سازی فایل،
محاسبات مهندسی، شبیه سازی، بعضی مراحل تدوین و رندر،
اجرای ماشین مجازی و عملکرد برخی بازی ها اثر مستقیم
داشته باشد.

اما اگر گلوگاه سیستم در RAM، SSD یا GPU باشد،
ارتقای CPU لزوماً باعث افزایش محسوس سرعت نمی شود.

Engineering Insight — قدرت واقعی فقط یک عدد نیست

قدرت CPU حاصل تعامل عوامل مختلفی مانند معماری،
IPC، فرکانس، تعداد هسته، تعداد Thread، Cache،
پهنای باند حافظه، محدودیت توان و نوع Workload است.

به همین دلیل نمی توان تنها با مشاهده عبارت هایی
مانند Core i7، Ryzen 7 یا عدد GHz درباره عملکرد
نهایی پردازنده قضاوت کرد.

Common Mistakes — اشتباهات رایج
  • تصور اینکه Core i7 همیشه از Core i5 سریع تر است.
  • تصور اینکه Ryzen 7 همیشه از Ryzen 5 بهتر است.
  • مقایسه CPUها فقط بر اساس فرکانس GHz.
  • تصور اینکه تعداد هسته بیشتر در همه نرم افزارها
    عملکرد بیشتری ایجاد می کند.
  • نادیده گرفتن نسل، معماری و پسوند پردازنده.
  • فرض اینکه یک CPU یکسان در تمام لپ تاپ ها
    عملکرد دقیقاً یکسانی دارد.


این مفهوم در خرید لپ تاپ چه اهمیتی دارد؟

هنگام خرید لپ تاپ، مخصوصاً لپ تاپ استوک، نباید فقط
عنوان کلی پردازنده را بررسی کنید.

برای مثال دو لپ تاپ ممکن است هر دو عبارت Core i7
داشته باشند، اما یکی پردازنده کم مصرف چند نسل قدیمی
و دیگری پردازنده سری H جدیدتر داشته باشد.
تفاوت عملکرد این دو دستگاه می تواند بسیار زیاد باشد.

در فصل های بعد یاد می گیریم نام کامل CPU را بخوانیم
و نسل، رده، پسوند و معماری آن را تشخیص دهیم.

سوالات متداول فصل CPU چیست؟

CPU مخفف چیست؟

CPU مخفف Central Processing Unit و به معنی
واحد پردازش مرکزی است.

آیا CPU همان پردازنده است؟

در استفاده روزمره معمولاً بله. واژه Processor
اغلب برای CPU استفاده می شود، هرچند Processor
مفهوم عمومی تری دارد و می تواند واحدهای پردازشی
دیگری را نیز شامل شود.

آیا CPU مهم ترین قطعه کامپیوتر است؟

CPU یکی از مهم ترین قطعات است، اما نمی توان
یک قطعه را در تمام کاربردها مهم ترین دانست.
در برخی کارها GPU، RAM یا سرعت Storage نیز
می توانند نقش تعیین کننده داشته باشند.

آیا CPU سریع تر همیشه باعث سریع تر شدن کامپیوتر می شود؟

خیر. اگر محدودیت اصلی سیستم در RAM، GPU،
فضای ذخیره سازی یا نرم افزار باشد، افزایش قدرت CPU
ممکن است تأثیر محدودی داشته باشد.

آیا Core i7 همیشه بهتر از Core i5 است؟

خیر. برای مقایسه باید نسل، سری، پسوند،
معماری، تعداد هسته، توان و نوع Workload
را نیز بررسی کرد.

آیا تعداد هسته بیشتر یعنی CPU سریع تر؟

نه در تمام شرایط. بعضی نرم افزارها از تعداد
هسته زیاد استفاده می کنند، اما برخی دیگر
بیشتر به عملکرد یک یا چند هسته سریع وابسته هستند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • بتوانید CPU را با زبان ساده تعریف کنید.
  • بدانید CPU فقط مسئول «سرعت کامپیوتر» نیست.
  • نقش CPU در اجرای دستورهای برنامه را درک کنید.
  • تفاوت کلی CPU با GPU، RAM و SSD را بدانید.
  • بدانید نام تجاری پردازنده برای قضاوت درباره قدرت
    واقعی آن کافی نیست.


فصل 2

سطح: پایه تا متوسط

پیش نیاز: فصل CPU چیست؟

موضوع: چرخه اجرای دستور


از برنامه تا اجرای واقعی

CPU چگونه دستورهای یک برنامه را اجرا می کند؟

وقتی روی یک برنامه کلیک می کنید، CPU مستقیماً با ظاهر
گرافیکی برنامه سروکار ندارد. در سطح پایین تر، پردازنده
مجموعه ای از دستورهای ماشین را دریافت و مرحله به مرحله
اجرا می کند.

برای درک معماری CPU، هسته، فرکانس، Pipeline و IPC باید
ابتدا بدانیم یک دستور چگونه از حافظه وارد پردازنده می شود
و در نهایت به یک نتیجه تبدیل می شود.


پاسخ سریع

در ساده ترین مدل، CPU یک دستور را از حافظه دریافت می کند،
آن را تفسیر می کند، عملیات موردنیاز را انجام می دهد و نتیجه
را ذخیره می کند.

این چرخه را می توان با چهار مرحله اصلی توضیح داد:
Fetch، Decode، Execute و Retire یا Write Back.

در این فصل چه چیزهایی یاد می گیریم؟

  • برنامه و Instruction چه تفاوتی دارند.
  • CPU چگونه دستور را از حافظه دریافت می کند.
  • مراحل Fetch، Decode، Execute و Retire چیست.
  • Clock چه نقشی در اجرای دستورها دارد.
  • چرا پردازنده های جدید چندین دستور را همزمان مدیریت می کنند.
  • چرا معماری داخلی روی سرعت واقعی CPU اثر زیادی دارد.

نقشه مفهومی اجرای یک دستور


01


Program

برنامه مجموعه ای از دستورها و داده ها است.


02


Fetch

CPU دستور بعدی را از حافظه یا Cache دریافت می کند.


03


Decode

پردازنده مشخص می کند دستور چه عملیاتی را درخواست کرده است.


04


Execute

عملیات توسط واحدهای اجرایی پردازنده انجام می شود.


05


Retire

نتیجه نهایی به صورت صحیح ثبت و قابل استفاده می شود.

برنامه چیست و چه ارتباطی با دستور CPU دارد؟

یک برنامه مانند مرورگر، نرم افزار حسابداری یا نرم افزار
مهندسی شامل حجم بزرگی از کد و داده است. این کد در نهایت
باید به دستورهایی تبدیل شود که پردازنده بتواند آن ها را
تشخیص دهد و اجرا کند.

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

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

Instruction یک فرمان قابل اجرا توسط CPU است. هر دستور
می تواند از پردازنده بخواهد عملیاتی مانند انتقال داده،
جمع کردن دو مقدار، مقایسه دو عدد، خواندن حافظه یا تغییر
مسیر اجرای برنامه را انجام دهد.

مجموعه دستورهایی که یک معماری پردازنده می تواند اجرا کند
به موضوع

Instruction Set Architecture

یا ISA مربوط می شود که در فصل معماری پردازنده به صورت
عمیق بررسی خواهد شد.

مرحله اول: Fetch — دریافت دستور

پردازنده برای اجرای برنامه باید بداند دستور بعدی چیست.
در مرحله Fetch، دستور موردنیاز از حافظه یا یکی از سطوح
Cache دریافت می شود.

اگر دستور موردنیاز در Cache نزدیک CPU موجود باشد،
پردازنده می تواند سریع تر به آن دسترسی پیدا کند.
اگر داده یا دستور در Cache موجود نباشد، ممکن است نیاز باشد
از حافظه اصلی دریافت شود که زمان بیشتری می برد.

مرحله دوم: Decode — پردازنده دستور را تفسیر می کند

پس از دریافت دستور، CPU باید بفهمد آن دستور چه عملیاتی
را درخواست کرده است.

بخش Decode مشخص می کند که دستور مربوط به چه نوع عملیاتی است،
چه داده هایی نیاز دارد و کدام واحد اجرایی داخل CPU باید
آن را پردازش کند.

در پردازنده های مدرن، این مرحله می تواند بسیار پیچیده تر
از یک ترجمه ساده باشد و دستورها ممکن است به عملیات داخلی
کوچک تری تبدیل شوند.

مرحله سوم: Execute — اجرای عملیات

پس از Decode، دستور به واحد اجرایی مناسب فرستاده می شود.
بسته به نوع عملیات، ممکن است ALU، FPU، واحدهای برداری،
Load/Store Unit یا واحد دیگری داخل پردازنده وارد عمل شود.

برای مثال، جمع دو عدد ممکن است در یک واحد محاسبات عدد صحیح
انجام شود، در حالی که عملیات اعشاری سنگین ممکن است توسط
واحدهای Floating Point پردازش شود.

مرحله چهارم: Retire — ثبت نتیجه نهایی

در پردازنده های مدرن ممکن است دستورها الزاماً به همان
ترتیبی که وارد CPU شده اند اجرا نشوند.

پردازنده تلاش می کند از منابع خود به شکل بهینه استفاده کند
و بعضی عملیات مستقل را زودتر انجام دهد. اما نتیجه نهایی باید
به شکلی ثبت شود که رفتار برنامه از دید نرم افزار درست و
قابل پیش بینی باقی بماند.

مرحله Retire یا Commit جایی است که نتیجه دستور به عنوان
یک نتیجه معتبر در جریان برنامه پذیرفته می شود.

مثال ساده: جمع کردن دو عدد در CPU

فرض کنید برنامه نیاز دارد دو مقدار را با یکدیگر جمع کند.
در یک مدل ساده، مسیر می تواند چنین باشد:


01


دریافت دستور

CPU دستور جمع را دریافت می کند.


02


دریافت داده

مقادیر موردنیاز از Register، Cache یا حافظه تأمین می شوند.


03


انجام محاسبه

واحد اجرایی جمع را انجام می دهد.


04


ثبت نتیجه

نتیجه برای ادامه محاسبات ذخیره می شود.

Clock چه نقشی در اجرای دستورها دارد؟

پردازنده برای هماهنگ کردن بسیاری از عملیات داخلی خود
از سیگنال Clock استفاده می کند. فرکانس Clock معمولاً با
واحد GHz بیان می شود.

اما هر چرخه Clock الزاماً برابر با اجرای یک دستور کامل نیست.
پردازنده های جدید می توانند چندین عملیات را در مراحل مختلف
Pipeline به صورت همزمان مدیریت کنند.

همین موضوع یکی از دلایلی است که مقایسه دو CPU فقط بر اساس
GHz می تواند اشتباه باشد.

Under the Hood — CPU در هر لحظه فقط یک دستور اجرا نمی کند

مدل Fetch → Decode → Execute → Retire برای یادگیری
بسیار مفید است، اما پردازنده مدرن این مراحل را
به شکل یک صف ساده و تک دستوری انجام نمی دهد.

چندین دستور می توانند همزمان در بخش های مختلف CPU
قرار داشته باشند. در حالی که یک دستور در مرحله Execute
است، دستور بعدی ممکن است Decode شود و دستور دیگری
همزمان از حافظه دریافت شود.

این تکنیک پایه مفهوم

Pipeline

است.

پردازنده های پیشرفته علاوه بر Pipeline از تکنیک هایی
مانند Out-of-Order Execution، Branch Prediction،
Speculative Execution و چندین واحد اجرایی موازی
استفاده می کنند تا در هر لحظه کار بیشتری انجام شود.

Engineering Insight — چرا معماری مهم تر از ظاهر مشخصات است؟

دو CPU ممکن است فرکانس مشابهی داشته باشند، اما یکی بتواند
در هر واحد زمان تعداد بیشتری از دستورها را پردازش کند.

تعداد Decoderها، عرض Pipeline، تعداد واحدهای اجرایی،
کیفیت Branch Predictor، اندازه Cache و توانایی پردازنده
در پیدا کردن دستورهای مستقل برای اجرای همزمان، همگی
می توانند روی عملکرد واقعی اثر بگذارند.

بخشی از چیزی که بعداً با مفهوم IPC بررسی می کنیم،
نتیجه همین تفاوت های معماری است.

Performance Impact — اجرای بهتر دستورها چه اثری روی سرعت دارد؟

اگر پردازنده بتواند زمان انتظار برای داده را کاهش دهد،
پیش بینی شاخه ها را بهتر انجام دهد و واحدهای اجرایی خود
را بیشتر مشغول نگه دارد، می تواند با فرکانس مشابه
عملکرد بیشتری ارائه دهد.

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

Common Mistakes — اشتباهات رایج
  • تصور اینکه هر چرخه Clock دقیقاً برابر یک دستور است.
  • تصور اینکه CPU همیشه دستورها را یکی یکی و کاملاً
    پشت سر هم اجرا می کند.
  • فرض اینکه GHz بالاتر به تنهایی یعنی اجرای دستور بیشتر.
  • نادیده گرفتن نقش Cache و دسترسی به حافظه.
  • تصور اینکه تمام دستورهای برنامه زمان اجرای یکسانی دارند.


این مفهوم در خرید چه اهمیتی دارد؟

وقتی دو CPU را مقایسه می کنید، فقط تعداد GHz را نبینید.
پردازنده ای با معماری جدیدتر ممکن است بتواند از هر چرخه
پردازشی استفاده مؤثرتری داشته باشد.

به همین دلیل مقایسه نسل، معماری، IPC و عملکرد واقعی
در کنار فرکانس اهمیت دارد.

سوالات متداول فصل اجرای دستور

آیا CPU دستورها را یکی یکی اجرا می کند؟

در مدل ساده آموزشی می توان این طور تصور کرد،
اما پردازنده های مدرن چندین دستور را همزمان
در مراحل مختلف Pipeline مدیریت می کنند.

Fetch در CPU چیست؟

Fetch مرحله ای است که پردازنده دستور موردنیاز
را از Cache یا حافظه دریافت می کند.

Decode چه کاری انجام می دهد؟

Decode مشخص می کند دستور چه عملیاتی را درخواست
کرده و کدام منابع داخلی CPU باید آن را اجرا کنند.

Execute در CPU چیست؟

در مرحله Execute عملیات واقعی دستور توسط واحدهای
اجرایی مانند ALU یا FPU انجام می شود.

آیا GHz بیشتر یعنی دستورهای بیشتری اجرا می شوند؟

نه لزوماً. فرکانس فقط یکی از عوامل است.
معماری، IPC، Cache، Pipeline و نوع دستورها نیز
روی تعداد عملیات انجام شده در واحد زمان اثر دارند.

چرا CPU از Pipeline استفاده می کند؟

Pipeline اجازه می دهد چندین دستور همزمان در
مراحل مختلف پردازش قرار بگیرند و منابع داخلی CPU
بهتر استفاده شوند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • تفاوت برنامه و دستور CPU را توضیح دهید.
  • مراحل Fetch، Decode، Execute و Retire را بشناسید.
  • بدانید CPU مدرن چندین دستور را همزمان مدیریت می کند.
  • نقش Clock را از مفهوم قدرت واقعی CPU جدا کنید.
  • دلیل اهمیت معماری در عملکرد پردازنده را درک کنید.


فصل 3

سطح: پایه تا متوسط

پیش نیاز: فصل اجرای دستور

موضوع: Core، Thread و پردازش موازی


واحدهای اصلی پردازش

Core و Thread چیست و چه تفاوتی با یکدیگر دارند؟

تعداد هسته و Thread از اولین مشخصاتی هستند که هنگام
مقایسه پردازنده ها دیده می شوند. اما بیشتر بودن این اعداد
همیشه به معنی سریع تر بودن CPU نیست.

برای مقایسه صحیح باید بدانیم هسته فیزیکی چیست،
Thread چه مفهومی دارد، پردازنده چگونه چند وظیفه را
همزمان مدیریت می کند و چه زمانی نرم افزار واقعاً از
تعداد هسته بیشتر سود می برد.


پاسخ سریع

Core یا هسته یک واحد پردازشی فیزیکی درون CPU است که
می تواند دستورها را اجرا کند.

Thread یک مسیر منطقی برای اجرای دستورها است.
فناوری هایی مانند SMT یا Hyper-Threading اجازه می دهند
یک هسته فیزیکی در شرایط مناسب بیش از یک Thread نرم افزاری
را به صورت همزمان مدیریت کند.

بنابراین 8 Thread الزاماً به معنی 8 هسته فیزیکی نیست.

در این فصل چه چیزهایی یاد می گیریم؟

  • Core یا هسته فیزیکی چیست.
  • Thread و Logical Processor چه معنایی دارند.
  • SMT و Hyper-Threading چگونه کار می کنند.
  • تفاوت 4 هسته واقعی با 4 Thread چیست.
  • چه نرم افزارهایی از تعداد هسته بیشتر استفاده می کنند.
  • چرا هسته بیشتر همیشه به معنی عملکرد بیشتر نیست.
  • معماری Hybrid چگونه مفهوم تعداد هسته را پیچیده تر کرده است.

نقشه مفهومی Core و Thread


01


CPU

پردازنده می تواند یک یا چند هسته پردازشی داشته باشد.


02


Physical Core

هر هسته منابع اجرایی واقعی برای پردازش دستورها دارد.


03


Thread

نرم افزار وظایف قابل اجرا را در قالب Thread مدیریت می کند.


04


Logical Processor

سیستم عامل هر مسیر پردازشی قابل زمان بندی را
به عنوان پردازنده منطقی می بیند.

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

در پردازنده های چند هسته ای، CPU از چند واحد پردازشی
نسبتاً مستقل تشکیل شده است که هرکدام می توانند جریان
دستورهای خود را اجرا کنند.

به این واحدها Core یا هسته گفته می شود.

وجود چند هسته اجازه می دهد CPU چند وظیفه یا چند بخش
مستقل از یک Workload را به صورت همزمان پردازش کند.
این موضوع در نرم افزارهایی که قابلیت پردازش موازی دارند
اهمیت زیادی پیدا می کند.

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

در پردازنده تک هسته ای، یک هسته باید تمام جریان های کاری
سیستم را مدیریت کند. سیستم عامل می تواند میان برنامه ها
جابه جا شود، اما در هر لحظه منابع همان هسته میان وظایف
مختلف تقسیم می شوند.

در CPU چند هسته ای، چند هسته فیزیکی وجود دارد و در نتیجه
وظایف مستقل بیشتری می توانند همزمان اجرا شوند.

2 Core

دو هسته فیزیکی برای پردازش همزمان وظایف.

4 Core

چهار هسته فیزیکی و ظرفیت بیشتر برای چندوظیفگی
و پردازش موازی.

6 Core

مناسب تر برای Workloadهایی که چند Thread
فعال را همزمان استفاده می کنند.

8 Core و بیشتر

می تواند در رندر، کامپایل، شبیه سازی،
فشرده سازی و برخی پردازش های سنگین مفید باشد.

Thread چیست؟

Thread را می توان یک جریان اجرای دستور در نرم افزار دانست.
یک برنامه ممکن است تنها یک Thread اصلی داشته باشد یا
برای انجام چند وظیفه همزمان از چندین Thread استفاده کند.

برای مثال، یک برنامه می تواند یک Thread را برای رابط کاربری،
Thread دیگری را برای پردازش داده و Thread دیگری را برای
عملیات پس زمینه استفاده کند.

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

Logical Processor یا پردازنده منطقی چیست؟

سیستم عامل لزوماً مستقیماً با مفهوم فیزیکی هسته سروکار ندارد.
آنچه برای زمان بندی Threadها می بیند مجموعه ای از
Logical Processorها یا پردازنده های منطقی است.

اگر یک CPU چهار هسته فیزیکی داشته باشد و هر هسته فقط
یک Thread سخت افزاری را مدیریت کند، سیستم عامل معمولاً
چهار Logical Processor خواهد دید.

اما اگر هر هسته بتواند دو Thread سخت افزاری را همزمان
مدیریت کند، همان پردازنده چهار هسته ای می تواند به صورت
هشت Logical Processor دیده شود.

SMT و Hyper-Threading چیست؟

SMT مخفف

Simultaneous Multithreading

است.

این فناوری اجازه می دهد یک هسته فیزیکی بیش از یک جریان
دستور را در یک بازه زمانی مدیریت کند تا بخش هایی از منابع
هسته که در یک لحظه بلااستفاده مانده اند، بهتر مورد استفاده
قرار گیرند.

Hyper-Threading نامی است که Intel برای پیاده سازی SMT
در بسیاری از پردازنده های خود استفاده کرده است.

AMD نیز در بسیاری از خانواده های Ryzen از SMT استفاده می کند.

عبارت 4 Core / 8 Thread دقیقاً چه معنایی دارد؟

اگر یک CPU دارای 4 هسته و 8 Thread باشد، یعنی چهار
هسته فیزیکی دارد و هر هسته می تواند دو Thread سخت افزاری
را در اختیار سیستم عامل قرار دهد.

این پردازنده از دید سیستم عامل می تواند 8 Logical Processor
داشته باشد، اما هنوز فقط 4 هسته فیزیکی دارد.


نکته مهم

4 Core / 8 Thread را نباید معادل 8 Core / 8 Thread دانست.
Thread اضافی تمام منابع یک هسته فیزیکی مستقل را در اختیار ندارد.

مقایسه چند ساختار رایج هسته و Thread

ساختار هسته فیزیکی Thread کاربرد کلی
2C / 4T 2 4 کاربری سبک و نسل های قدیمی تر
4C / 4T 4 4 پردازش عمومی با چهار هسته واقعی
4C / 8T 4 8 چندوظیفگی و Workloadهای چند Thread
6C / 12T 6 12 تولید محتوا، برنامه نویسی و پردازش سنگین تر
8C / 16T 8 16 پردازش موازی سنگین و Workstation

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

هسته بیشتر چه زمانی واقعاً مفید است؟

افزایش تعداد هسته زمانی بیشترین تأثیر را دارد که نرم افزار
بتواند کار خود را به چند بخش مستقل تقسیم کند.

رندر CPU

بسیاری از موتورهای رندر می توانند چندین هسته را
همزمان درگیر کنند.

فشرده سازی

ابزارهای فشرده سازی مدرن می توانند از پردازش
چند هسته ای استفاده کنند.

کامپایل

پروژه های نرم افزاری بزرگ در برخی شرایط می توانند
بخش های مختلف را همزمان کامپایل کنند.

ماشین مجازی

هسته های بیشتر امکان تخصیص منابع بهتر به چند VM
یا Container را فراهم می کنند.

هسته بیشتر چه زمانی کمک زیادی نمی کند؟

همه نرم افزارها نمی توانند کار خود را به تعداد زیادی
Thread مستقل تقسیم کنند.

بعضی Workloadها دارای یک Thread اصلی بسیار مهم هستند
و سرعت اجرای همان Thread تأثیر بیشتری بر عملکرد دارد.

در چنین شرایطی، عملکرد Single-Core، IPC و فرکانس می توانند
مهم تر از تعداد کل هسته باشند.

4 هسته جدید بهتر است یا 6 هسته قدیمی؟

پاسخ ثابت و عمومی ندارد.

یک CPU شش هسته ای قدیمی ممکن است در پردازش کاملاً
Multi-Core همچنان عملکرد خوبی داشته باشد، اما یک CPU
چهار هسته ای جدیدتر ممکن است IPC بالاتر، فرکانس بهتر،
مصرف پایین تر و عملکرد Single-Core بسیار قوی تری ارائه دهد.

بنابراین مقایسه باید بر اساس Workload واقعی و مدل کامل
CPU انجام شود.

معماری Hybrid چگونه مفهوم تعداد هسته را تغییر داده است؟

در برخی پردازنده های جدید، تمام هسته ها الزاماً ساختار
و توان پردازشی یکسانی ندارند.

برای مثال در معماری های Hybrid اینتل، پردازنده می تواند
ترکیبی از Performance Core و Efficient Core داشته باشد.

در نتیجه عبارت «14 هسته» به تنهایی اطلاعات کافی نمی دهد؛
باید بدانیم چه تعداد از آن ها P-Core و چه تعداد E-Core هستند
و هر گروه چه تعداد Thread را پشتیبانی می کند.


ارجاع به فصل Intel

معماری P-Core و E-Core در بخش دانشنامه Intel
به صورت کامل، همراه با مقایسه نسل ها بررسی خواهد شد.

Under the Hood — چرا SMT برابر دو هسته واقعی نیست؟

یک هسته فیزیکی دارای منابعی مانند واحدهای اجرایی،
Cache، Scheduler و سایر ساختارهای داخلی است.

در SMT، دو Thread سخت افزاری بسیاری از این منابع
فیزیکی را با یکدیگر به اشتراک می گذارند.

هدف این است که اگر Thread اول در یک لحظه نتواند
از تمام منابع هسته استفاده کند، Thread دوم بتواند
بخشی از ظرفیت بلااستفاده را پر کند.

به همین دلیل SMT می تواند Throughput را افزایش دهد،
اما معمولاً توان پردازشی یک هسته فیزیکی دوم را
به طور کامل ایجاد نمی کند.

Engineering Insight — تعداد هسته بدون شناخت Workload معنی کاملی ندارد

افزایش Core Count زمانی مؤثر است که برنامه بتواند
Threadهای مستقل کافی تولید کند و بخش های دیگر سیستم
نیز مانع تغذیه هسته ها نشوند.

اگر Workload به حافظه، GPU یا یک Thread اصلی محدود باشد،
اضافه شدن هسته های بیشتر ممکن است بازده کمی ایجاد کند.

بنابراین Scaling یک نرم افزار با تعداد هسته همیشه
خطی نیست.

Performance Impact — Core و Thread چه اثری بر عملکرد دارند؟

هسته های بیشتر معمولاً ظرفیت پردازش موازی CPU را
افزایش می دهند و در Workloadهای Multi-Core مفید هستند.

Threadهای سخت افزاری اضافی نیز می توانند استفاده از
منابع هسته را بهتر کنند و Throughput را افزایش دهند،
اما میزان سود به نوع Workload وابسته است.

برای برنامه های حساس به یک Thread، کیفیت هر هسته
می تواند مهم تر از تعداد کل هسته ها باشد.

Common Mistakes — اشتباهات رایج
  • یکسان دانستن Core و Thread.
  • تصور اینکه 8 Thread یعنی 8 هسته واقعی.
  • مقایسه CPUها فقط با تعداد هسته.
  • تصور اینکه دو برابر شدن هسته همیشه سرعت را دو برابر می کند.
  • نادیده گرفتن عملکرد Single-Core.
  • فرض اینکه تمام هسته های یک CPU Hybrid قدرت یکسان دارند.


این مفهوم در خرید چه اهمیتی دارد؟

هنگام خرید لپ تاپ استوک، فقط عبارت هایی مانند
«8 هسته» یا «16 Thread» را معیار انتخاب قرار ندهید.

مدل کامل پردازنده، نسل، معماری، نوع هسته ها،
پسوند و نوع استفاده شما اهمیت بیشتری دارند.

برای مثال، برنامه نویسی، رندر CPU و ماشین مجازی
معمولاً از هسته های بیشتر سود می برند؛ اما برخی نرم افزارهای
مهندسی یا بازی ها ممکن است به عملکرد قوی هر هسته
حساس تر باشند.

سوالات متداول فصل Core و Thread

Core و Thread چه تفاوتی دارند؟

Core یک واحد پردازشی فیزیکی است، در حالی که
Thread یک جریان منطقی اجرای دستورها محسوب می شود.

آیا 8 Thread یعنی پردازنده 8 هسته ای؟

خیر. برای مثال یک پردازنده 4 Core / 8 Thread
چهار هسته فیزیکی دارد و از هشت Thread سخت افزاری
پشتیبانی می کند.

Hyper-Threading چیست؟

Hyper-Threading نام فناوری SMT اینتل در بسیاری
از پردازنده ها است که اجازه می دهد یک هسته
بیش از یک Thread سخت افزاری را مدیریت کند.

آیا Thread بیشتر همیشه بهتر است؟

خیر. سود Thread بیشتر به نوع نرم افزار و میزان
قابلیت پردازش موازی آن بستگی دارد.

برای کارهای روزمره چند هسته کافی است؟

پاسخ به نسل و معماری CPU نیز بستگی دارد.
برای کاربری روزمره کیفیت هر هسته و پاسخ دهی سیستم
معمولاً مهم تر از خرید پردازنده ای با تعداد هسته
بسیار بالا است.

برای رندر هسته بیشتر بهتر است؟

در رندر مبتنی بر CPU معمولاً تعداد هسته بیشتر
می تواند مفید باشد، به شرط آنکه موتور رندر
از پردازش چند هسته ای به خوبی استفاده کند.

آیا 6 هسته قدیمی از 4 هسته جدید قوی تر است؟

نه لزوماً. باید معماری، IPC، فرکانس، توان،
نوع Workload و مدل دقیق هر دو CPU مقایسه شود.

P-Core و E-Core هر دو هسته واقعی هستند؟

بله، هر دو هسته فیزیکی هستند، اما برای اهداف
متفاوت طراحی شده اند و مشخصات و توان پردازشی
یکسانی ندارند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • تفاوت Core و Thread را توضیح دهید.
  • Physical Core و Logical Processor را از هم تشخیص دهید.
  • مفهوم SMT و Hyper-Threading را درک کنید.
  • بدانید چرا 4C/8T برابر 8C/8T نیست.
  • تشخیص دهید چه Workloadهایی از هسته بیشتر سود می برند.
  • بدانید تعداد هسته به تنهایی معیار قدرت CPU نیست.
  • مفهوم اولیه معماری Hybrid را بشناسید.


فصل 4
سطح: پایه تا متوسط
پیش نیاز: Core و Thread
موضوع: Clock و فرکانس پردازنده


سرعت چرخه های پردازنده

فرکانس CPU چیست و GHz واقعاً چه چیزی را نشان می دهد؟

فرکانس یکی از شناخته شده ترین مشخصات CPU است و معمولاً
با واحد GHz نمایش داده می شود. با این حال، یکی از
رایج ترین اشتباهات در مقایسه پردازنده ها این است که
عدد GHz را مستقیماً برابر با قدرت پردازنده بدانیم.


پاسخ سریع

فرکانس CPU نشان می دهد Clock پردازنده در هر ثانیه
چند چرخه ایجاد می کند.

برای مثال 3 GHz یعنی حدود سه میلیارد چرخه Clock
در هر ثانیه؛ اما این عدد به تنهایی مشخص نمی کند
CPU در هر چرخه چه مقدار کار انجام می دهد.

در این فصل چه چیزهایی یاد می گیریم؟

  • Clock Cycle چیست.
  • MHz و GHz چه معنایی دارند.
  • Base Clock چیست.
  • Boost Clock یا Turbo چیست.
  • All-Core Clock چه تفاوتی دارد.
  • چرا CPU همیشه با حداکثر فرکانس کار نمی کند.
  • رابطه فرکانس با توان و دما چیست.
  • چرا GHz بالاتر همیشه به معنی CPU سریع تر نیست.

نقشه مفهومی فرکانس CPU

01
Clockسیگنال زمانی برای هماهنگ سازی بخش های داخلی CPU.
02
Cycleهر تکرار سیگنال Clock یک چرخه محسوب می شود.
03
Frequencyتعداد چرخه ها در واحد زمان.
04
Performanceعملکرد واقعی حاصل فرکانس + معماری + IPC + عوامل دیگر است.

Clock Cycle چیست؟

اجزای داخلی پردازنده برای هماهنگی بسیاری از عملیات خود
به یک مرجع زمانی نیاز دارند. Clock این مرجع زمانی را فراهم
می کند و هر تکرار آن یک Cycle یا چرخه نامیده می شود.

با افزایش فرکانس، تعداد چرخه های قابل انجام در هر ثانیه
بیشتر می شود؛ اما این به معنی اجرای یک دستور کامل در هر
چرخه نیست.

Hz، MHz و GHz چه معنایی دارند؟

Hertz یا Hz واحد اندازه گیری فرکانس است.

واحد مفهوم
1 Hz یک چرخه در ثانیه
1 MHz یک میلیون چرخه در ثانیه
1 GHz یک میلیارد چرخه در ثانیه

Base Clock یا فرکانس پایه چیست؟

Base Clock در مشخصات بسیاری از پردازنده ها به سطح پایه
عملکرد اشاره می کند که پردازنده برای شرایط مشخص طراحی شده است.

اما پردازنده های مدرن معمولاً فقط در یک فرکانس ثابت کار نمی کنند.
فرکانس بسته به بار پردازشی، دما، توان در دسترس و سیاست مدیریت
انرژی دائماً تغییر می کند.

Boost Clock یا Turbo چیست؟

Boost یا Turbo اجازه می دهد پردازنده در شرایط مناسب
فرکانس خود را بالاتر از سطح پایه افزایش دهد.

اگر دما مناسب باشد، توان کافی در اختیار CPU قرار بگیرد
و بار پردازشی شرایط لازم را داشته باشد، پردازنده می تواند
برای مدتی در فرکانس بالاتری کار کند.

Maximum Turbo Frequency یعنی چه؟

Maximum Turbo معمولاً بالاترین فرکانسی است که پردازنده
می تواند در شرایط مشخص روی یک یا تعداد محدودی از هسته ها
به آن برسد.

این عدد نباید با فرکانس تمام هسته ها در بار سنگین اشتباه شود.

All-Core Clock چیست؟

وقتی تعداد زیادی از هسته ها همزمان زیر بار قرار می گیرند،
پردازنده معمولاً نمی تواند همه هسته ها را با همان فرکانس
حداکثر تک هسته ای نگه دارد.

فرکانسی که در بار چند هسته ای پایدار می ماند می تواند
پایین تر از Maximum Boost باشد.

مثال: چرا CPU با Boost 4.8 GHz همیشه روی 4.8 کار نمی کند؟

فرض کنید یک CPU حداکثر Boost برابر 4.8 GHz دارد.
این عدد ممکن است فقط در شرایطی خاص و روی یک یا چند هسته
قابل دستیابی باشد.

هنگام رندر یا بار Multi-Core سنگین، مصرف انرژی و دما
افزایش پیدا می کنند. در این شرایط پردازنده ممکن است
فرکانس تمام هسته ها را کاهش دهد تا در محدوده توان و
حرارت باقی بماند.

رابطه فرکانس با توان و دما چیست؟

افزایش فرکانس معمولاً برای حفظ پایداری به ولتاژ و توان
بیشتری نیاز دارد.

افزایش توان مصرفی نیز گرمای بیشتری تولید می کند.
به همین دلیل سیستم خنک کننده می تواند مستقیماً روی
فرکانس پایدار CPU اثر بگذارد.

چرا این موضوع در لپ تاپ مهم تر است؟

لپ تاپ نسبت به دسکتاپ محدودیت بیشتری در فضای خنک کننده
و توان دارد.

بنابراین دو لپ تاپ با CPU یکسان می توانند در پردازش
طولانی مدت عملکرد متفاوتی داشته باشند؛ چون طراحی حرارتی،
Power Limit و تنظیمات سازنده یکسان نیستند.

آیا دو CPU با فرکانس 3 GHz عملکرد یکسانی دارند؟

خیر.

یک CPU جدید ممکن است در هر چرخه دستورهای بیشتری اجرا کند،
Branch Prediction بهتری داشته باشد، Cache مؤثرتری ارائه دهد
و واحدهای اجرایی بیشتری داشته باشد.

بنابراین دو پردازنده با فرکانس برابر می توانند عملکرد
کاملاً متفاوتی داشته باشند.

چرا یک نسل جدید با GHz مشابه می تواند سریع تر باشد؟

اگر معماری جدید IPC بالاتری داشته باشد، CPU می تواند
در هر Cycle کار بیشتری انجام دهد.

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


مقایسه نسل ها در فصل های بعد

در بخش Intel و AMD هر نسل فقط معرفی نمی شود.
تغییرات فرکانس، معماری، تعداد هسته، توان و عملکرد
با نسل قبل و بعد مقایسه خواهند شد.

Under the Hood — Clock با تعداد دستور برابر نیست

پردازنده مدرن دارای Pipeline و چندین واحد اجرایی است
و می تواند در یک بازه زمانی چندین عملیات را همزمان
در مراحل مختلف پردازش کند.

بعضی دستورها نیز ممکن است بیش از یک Cycle زمان
نیاز داشته باشند، در حالی که بعضی معماری ها قادرند
در هر Cycle چندین عملیات را آغاز کنند.

بنابراین رابطه میان Clock و Performance ساده و
یک به یک نیست.

Engineering Insight — Performance تقریباً حاصل Frequency × Work per Cycle است

برای درک ساده می توان عملکرد را حاصل دو عامل اصلی دید:
تعداد Cycleهای قابل انجام در واحد زمان و مقدار کاری که
CPU در هر Cycle انجام می دهد.

بخش دوم همان جایی است که IPC، معماری و طراحی داخلی
پردازنده اهمیت پیدا می کنند.

Performance Impact — فرکانس کجا مهم تر است؟

در Workloadهایی که به یک یا چند Thread سریع وابسته هستند،
فرکانس بالا در کنار IPC مناسب می تواند تأثیر زیادی داشته باشد.

در Workloadهای Multi-Core سنگین، فرکانس پایدار تمام هسته ها
نیز اهمیت زیادی دارد.

Common Mistakes — اشتباهات رایج
  • مقایسه CPU فقط با GHz.
  • فرض اینکه Maximum Boost همیشه فعال است.
  • یکسان دانستن Maximum Turbo و All-Core Clock.
  • نادیده گرفتن دما و توان.
  • مقایسه فرکانس CPUهای معماری متفاوت به صورت مستقیم.


این مفهوم در خرید چه اهمیتی دارد؟

هنگام خرید لپ تاپ استوک فقط عدد GHz نوشته شده در مشخصات
را معیار قرار ندهید.

مدل کامل CPU، نسل، معماری، تعداد هسته، سیستم خنک کننده
و نوع Workload اهمیت بیشتری دارند.

سوالات متداول فرکانس و GHz پردازنده

GHz بیشتر یعنی CPU سریع تر؟

نه لزوماً. معماری، IPC، هسته ها، Cache و توان نیز
باید بررسی شوند.

Base Clock چیست؟

فرکانس پایه سطحی از عملکرد پردازنده است که در
مشخصات آن تعریف می شود، اما CPU مدرن دائماً
فرکانس خود را تغییر می دهد.

Boost Clock چیست؟

Boost فرکانس بالاتری است که CPU در شرایط مناسب
توان و دما می تواند به آن برسد.

آیا CPU همیشه روی Maximum Boost کار می کند؟

خیر. Maximum Boost معمولاً وابسته به تعداد هسته
فعال، دما، توان و نوع بار پردازشی است.

چرا لپ تاپ با CPU یکسان ممکن است کندتر باشد؟

خنک کننده، Power Limit و تنظیمات سازنده می توانند
فرکانس پایدار CPU را محدود کنند.

3 GHz در نسل جدید با 3 GHz در نسل قدیمی برابر است؟

خیر. معماری جدید می تواند در هر Cycle کار بیشتری
انجام دهد و IPC بالاتری داشته باشد.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • مفهوم Clock و Cycle را توضیح دهید.
  • MHz و GHz را درک کنید.
  • Base و Boost Clock را از هم تشخیص دهید.
  • Maximum Boost را با All-Core Clock اشتباه نگیرید.
  • رابطه فرکانس با توان و دما را بفهمید.
  • بدانید GHz به تنهایی معیار قدرت CPU نیست.


فصل 5
سطح: متوسط
پیش نیاز: Clock و فرکانس
موضوع: IPC و بهره وری معماری


چیزی که عدد GHz به شما نمی گوید

IPC چیست و چرا یک CPU با فرکانس کمتر می تواند سریع تر باشد؟

فرکانس نشان می دهد CPU در هر ثانیه چند چرخه Clock دارد،
اما مشخص نمی کند در هر چرخه چه مقدار کار مفید انجام می شود.
اینجاست که مفهوم IPC اهمیت پیدا می کند.

IPC یکی از مهم ترین مفاهیم برای فهم تفاوت نسل ها،
معماری ها و عملکرد واقعی پردازنده ها است.


پاسخ سریع: IPC چیست؟

IPC مخفف

Instructions Per Cycle

است و به صورت ساده نشان می دهد پردازنده در هر چرخه
Clock چه مقدار دستور یا کار مفید می تواند پردازش کند.

هرچه یک معماری بتواند از هر Cycle استفاده مؤثرتری داشته باشد،
برای رسیدن به عملکرد بالا الزاماً به افزایش زیاد فرکانس
نیاز ندارد.

در این فصل چه چیزهایی یاد می گیریم؟

  • IPC دقیقاً چه مفهومی دارد.
  • چرا GHz به تنهایی معیار سرعت نیست.
  • IPC چگونه با معماری مرتبط است.
  • چرا نسل جدید می تواند در فرکانس مشابه سریع تر باشد.
  • چه عواملی IPC را افزایش یا کاهش می دهند.
  • چرا IPC یک عدد ثابت برای تمام نرم افزارها نیست.
  • چگونه IPC را در مقایسه CPUها درست تفسیر کنیم.

نقشه مفهومی عملکرد CPU

01

Frequency

تعداد Cycleهای موجود در هر ثانیه.

02

IPC

میزان کاری که معماری می تواند در هر Cycle انجام دهد.

03

Workload

نوع دستورها و وابستگی های نرم افزار.

04

Performance

نتیجه تعامل فرکانس، IPC، هسته ها و سایر محدودیت ها.

IPC دقیقاً چه چیزی را اندازه می گیرد؟

اگر فقط برای فهم اولیه نگاه کنیم، IPC بیان می کند CPU
در هر Cycle چه مقدار دستور می تواند پردازش کند.

اما در پردازنده های مدرن مفهوم واقعی پیچیده تر است؛
چون انواع مختلف دستورها زمان اجرای متفاوتی دارند و CPU
می تواند چندین دستور را به صورت موازی در بخش های مختلف
Pipeline مدیریت کند.

بنابراین IPC را بهتر است به عنوان یک معیار کلی از
«کار مفید انجام شده در هر Cycle» در یک Workload مشخص
در نظر بگیریم.

رابطه IPC و فرکانس چیست؟

فرکانس و IPC دو مفهوم متفاوت هستند.

فرکانس تعداد Cycleها را مشخص می کند و IPC نشان می دهد
CPU در هر Cycle تا چه اندازه می تواند کار انجام دهد.


مدل ذهنی ساده

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

مثال ساده: دو پردازنده با 3 GHz

فرض کنید دو CPU هر دو در فرکانس 3 GHz کار می کنند.

اگر معماری پردازنده اول بتواند در یک Workload مشخص
از هر Cycle مؤثرتر استفاده کند، همان سه میلیارد Cycle
در هر ثانیه می توانند کار مفید بیشتری نسبت به CPU دوم
انجام دهند.

نتیجه این است که فرکانس یکسان الزاماً عملکرد یکسان
ایجاد نمی کند.

چرا نسل جدید می تواند بدون افزایش زیاد GHz سریع تر شود؟

سازندگان CPU فقط فرکانس را افزایش نمی دهند.
معماری داخلی پردازنده نیز در نسل های مختلف تغییر می کند.

تغییراتی مانند Decoder بهتر، Branch Predictor قوی تر،
Cache مؤثرتر، واحدهای اجرایی بیشتر، Pipeline بهینه تر
و کاهش زمان انتظار برای داده می توانند باعث شوند CPU
در هر Cycle کار بیشتری انجام دهد.

نتیجه می تواند افزایش عملکرد حتی در فرکانس مشابه باشد.

چه چیزهایی می توانند IPC را افزایش دهند؟

Front-End قوی تر

دریافت و Decode سریع تر دستورها کمک می کند
واحدهای اجرایی کمتر منتظر بمانند.

Branch Prediction بهتر

پیش بینی صحیح تر شاخه ها از هدر رفتن کار
Pipeline جلوگیری می کند.

Cache بهتر

دسترسی سریع تر به داده ها می تواند زمان انتظار
هسته را کاهش دهد.

واحدهای اجرایی بیشتر

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

Out-of-Order قوی تر

پردازنده می تواند دستورهای آماده را جلوتر اجرا کند
و کمتر منتظر دستورهای وابسته بماند.

Prefetch بهتر

پیش بینی داده های موردنیاز می تواند زمان انتظار
برای حافظه را کاهش دهد.

آیا هر CPU یک IPC ثابت دارد؟

خیر.

IPC به نوع Workload وابسته است. یک نرم افزار ممکن است
مجموعه دستورها، الگوی دسترسی به حافظه و میزان وابستگی
متفاوتی نسبت به نرم افزار دیگر داشته باشد.

بنابراین نمی توان برای یک CPU یک عدد IPC ثابت تعریف کرد
و انتظار داشت در تمام برنامه ها دقیقاً همان رفتار را داشته باشد.

آیا IPC برای دو CPU با معماری یکسان مشابه است؟

معماری مشترک معمولاً باعث شباهت زیادی در توانایی اجرای
دستورها می شود، اما عملکرد نهایی هنوز می تواند تحت تأثیر
Cache، فرکانس، محدودیت توان، حافظه و پیکربندی هسته ها باشد.

بنابراین حتی پردازنده های یک نسل نیز الزاماً عملکرد
یکسانی ندارند.

IPC چه ارتباطی با تعداد هسته دارد؟

IPC معمولاً برای بررسی بهره وری اجرای دستور در سطح
یک هسته یا یک جریان کاری اهمیت دارد، در حالی که تعداد
هسته روی ظرفیت پردازش موازی CPU اثر می گذارد.

یک پردازنده می تواند هسته های کمتری داشته باشد اما هر هسته
آن بسیار قوی باشد، یا هسته های بیشتری داشته باشد اما
هر هسته قدرت کمتری ارائه دهد.

به همین دلیل Single-Core و Multi-Core باید جداگانه
بررسی شوند.

IPC چگونه باعث می شود یک i5 جدید از i7 قدیمی سریع تر شود؟

نام i5 یا i7 فقط جایگاه یک پردازنده را در خانواده و دوره
خودش نشان می دهد و مقایسه مستقیم نسل های مختلف را ممکن
نمی کند.

اگر معماری نسل جدید IPC بالاتری داشته باشد و همزمان
تعداد هسته، فرکانس یا محدودیت توان مناسبی ارائه کند،
یک Core i5 جدید می تواند در بسیاری از Workloadها از
Core i7 قدیمی سریع تر باشد.

همین اصل درباره Ryzen 5 و Ryzen 7 در نسل های متفاوت
نیز صدق می کند.


قانون مقایسه در این کتاب

هنگام بررسی نسل های Intel و AMD فقط درصد تغییر
فرکانس را نگاه نمی کنیم.

معماری، IPC، تعداد هسته، Cache، گرافیک مجتمع،
مصرف انرژی و عملکرد واقعی هر نسل با نسل قبل و بعد
مقایسه خواهند شد.

Under the Hood — چگونه CPU در یک Cycle چند کار انجام می دهد؟

CPU مدرن تنها یک مسیر اجرای ساده ندارد.
Front-End می تواند چندین دستور را دریافت و Decode کند
و Back-End دارای چندین واحد اجرایی متفاوت است.

اگر دستورها مستقل باشند، Scheduler می تواند
آن ها را به واحدهای مختلف بفرستد تا چند عملیات
در یک بازه زمانی به صورت موازی انجام شوند.

معماری های عریض تر تلاش می کنند تعداد بیشتری
دستور را در هر Cycle وارد و پردازش کنند؛
البته تنها زمانی که Workload و داده های موردنیاز
اجازه این کار را بدهند.

در بخش مهندسی کتاب مفاهیم Decode Width،
Execution Ports، Scheduler، ROB و Superscalar
Execution را به صورت عمیق بررسی خواهیم کرد.

Engineering Insight — IPC محصول کل معماری است

IPC یک قطعه یا قابلیت مستقل داخل CPU نیست.
نتیجه تعامل بخش های مختلف معماری است.

اگر Branch Predictor اشتباه کند، Cache Miss رخ دهد،
دستورها وابستگی زیادی داشته باشند یا واحد اجرایی
موردنیاز اشغال باشد، IPC می تواند کاهش پیدا کند.

بنابراین افزایش IPC یکی از دشوارترین بخش های
طراحی نسل جدید پردازنده است.

Performance Impact — IPC کجا بیشترین اهمیت را دارد؟

IPC بالا در Workloadهای حساس به عملکرد هر هسته
اهمیت زیادی دارد.

بسیاری از عملیات رابط کاربری، بخش هایی از بازی ها،
نرم افزارهای مهندسی و Workloadهایی که Thread اصلی
قدرتمندی دارند می توانند از عملکرد Single-Core بهتر
سود ببرند.

البته عملکرد نهایی همچنان به فرکانس و سایر عوامل
وابسته است.

Common Mistakes — اشتباهات رایج درباره IPC
  • تصور اینکه IPC همان فرکانس است.
  • تصور اینکه هر CPU یک IPC ثابت برای همه نرم افزارها دارد.
  • قضاوت درباره IPC فقط از روی نام i5 یا i7.
  • فرض اینکه تعداد هسته بیشتر به معنی IPC بالاتر است.
  • مقایسه دو معماری فقط با عدد GHz.
  • تصور اینکه IPC بالاتر به تنهایی عملکرد کل CPU را تعیین می کند.


این مفهوم در خرید لپ تاپ چه اهمیتی دارد؟

IPC یکی از دلایلی است که نباید CPU را فقط با نام،
GHz یا تعداد هسته مقایسه کرد.

در بازار لپ تاپ استوک ممکن است پردازنده قدیمی تر
تعداد هسته یا فرکانس ظاهراً بالایی داشته باشد،
اما معماری جدیدتر در استفاده روزمره و برخی نرم افزارها
پاسخ دهی بهتری ارائه کند.

در فصل های مقایسه نسل ها این تفاوت را با مدل های واقعی
بررسی خواهیم کرد.

سوالات متداول فصل IPC

IPC مخفف چیست؟

IPC مخفف Instructions Per Cycle است و به صورت
کلی میزان کار انجام شده در هر چرخه پردازنده
را توصیف می کند.

IPC بیشتر بهتر است؟

در شرایط مشابه، بهره وری بیشتر در هر Cycle
مزیت محسوب می شود؛ اما عملکرد نهایی به فرکانس،
هسته ها و Workload نیز وابسته است.

آیا IPC را می توان از مشخصات CPU فهمید؟

معمولاً نه به صورت یک عدد ساده در جدول مشخصات.
برای ارزیابی تفاوت معماری باید نتایج عملکرد و
بررسی های فنی مناسب را در نظر گرفت.

آیا CPU با IPC بیشتر همیشه سریع تر است؟

خیر. اگر پردازنده دیگر فرکانس بالاتر، هسته بیشتر
یا محدودیت توان متفاوتی داشته باشد، نتیجه نهایی
به نوع Workload بستگی خواهد داشت.

چرا IPC در نسل های جدید افزایش پیدا می کند؟

بهبود Front-End، Branch Prediction، Cache،
واحدهای اجرایی و سایر بخش های معماری می تواند
باعث افزایش کار انجام شده در هر Cycle شود.

آیا IPC روی بازی اثر دارد؟

در بخش هایی از بازی که به عملکرد CPU و به ویژه
Threadهای سریع وابسته هستند، IPC می تواند
یکی از عوامل مهم باشد.

IPC مهم تر است یا تعداد هسته؟

بستگی به Workload دارد. در کارهای حساس به
Single-Core کیفیت هر هسته اهمیت زیادی دارد؛
در پردازش موازی تعداد هسته نیز بسیار مهم است.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • IPC را با زبان ساده تعریف کنید.
  • IPC را از Clock Frequency جدا بدانید.
  • توضیح دهید چرا GHz یکسان یعنی عملکرد یکسان نیست.
  • رابطه IPC و معماری را درک کنید.
  • بدانید IPC به Workload وابسته است.
  • دلیل برتری احتمالی CPU جدیدتر با فرکانس مشابه را توضیح دهید.


فصل 6
سطح: متوسط
پیش نیاز: IPC و فرکانس
موضوع: Cache و دسترسی سریع به داده


حافظه بسیار سریع کنار هسته

Cache چیست و چرا CPU به L1، L2 و L3 نیاز دارد؟

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


پاسخ سریع: Cache چیست؟

Cache حافظه ای بسیار سریع و نزدیک به هسته های CPU است
که داده ها و دستورهای پرتکرار یا موردنیاز آینده نزدیک را
نگه می دارد تا پردازنده مجبور نباشد برای هر دسترسی
به RAM مراجعه کند.

Cache معمولاً در چند سطح L1، L2 و L3 سازمان دهی می شود.
هرچه سطح به هسته نزدیک تر باشد، معمولاً سریع تر و کوچک تر است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Cache چه مشکلی را حل می کند.
  • تفاوت L1، L2 و L3 چیست.
  • Cache Hit و Cache Miss چه معنایی دارند.
  • Latency چرا مهم است.
  • Shared Cache چیست.
  • Cache چگونه روی IPC اثر می گذارد.
  • چرا Cache بیشتر همیشه به معنی CPU سریع تر نیست.
  • 3D V-Cache چرا در بعضی Workloadها مهم است.

نقشه مفهومی مسیر دسترسی CPU به داده

01
Registerسریع ترین فضای ذخیره سازی داخل هسته.
02
L1 Cacheبسیار سریع و بسیار نزدیک به هسته.
03
L2 Cacheبزرگ تر از L1 و کمی کندتر.
04
L3 Cacheبزرگ تر و در بسیاری از معماری ها میان هسته ها مشترک.
05
RAMظرفیت بسیار بیشتر، اما با Latency بالاتر.

چرا CPU به Cache نیاز دارد؟

پردازنده های مدرن می توانند در هر ثانیه حجم بسیار بزرگی از
عملیات را انجام دهند، اما دسترسی به RAM نسبت به عملیات داخلی
هسته زمان بیشتری نیاز دارد.

اگر CPU برای هر دستور یا داده مجبور باشد مستقیماً به RAM
مراجعه کند، Pipeline ممکن است بارها منتظر بماند و عملکرد
واقعی کاهش پیدا کند.

Cache تلاش می کند داده هایی را که احتمال استفاده مجدد دارند
نزدیک پردازنده نگه دارد.

L1 Cache چیست؟

L1 نزدیک ترین سطح Cache به هسته پردازنده است و معمولاً
کمترین Latency را در میان سطوح Cache دارد.

ظرفیت L1 نسبتاً کوچک است، زیرا طراحی حافظه بسیار سریع
و نزدیک به واحدهای اجرایی هزینه و فضای سیلیکونی زیادی دارد.

در بسیاری از معماری ها L1 به بخش دستور و داده تقسیم می شود؛
یعنی بخشی برای نگهداری Instructionها و بخشی برای داده ها.

L2 Cache چیست؟

L2 معمولاً ظرفیت بیشتری از L1 دارد و می تواند حجم بیشتری
از داده ها و دستورها را نزدیک هسته نگه دارد.

در مقابل، Latency آن معمولاً از L1 بیشتر است.

نحوه اتصال L2 به هسته ها در معماری های مختلف متفاوت است.
ممکن است هر هسته L2 اختصاصی داشته باشد یا ساختار دیگری
برای اشتراک منابع استفاده شود.

L3 Cache چیست؟

L3 معمولاً بزرگ ترین سطح Cache عمومی داخل CPU است و
در بسیاری از معماری ها میان چند هسته به اشتراک گذاشته می شود.

این سطح از L1 و L2 کندتر است، اما هنوز می تواند بسیار سریع تر
از مراجعه به RAM باشد.

L3 بزرگ تر می تواند در Workloadهایی که مجموعه داده بزرگ تری دارند
یا میان چند هسته داده مشترک استفاده می شود، مفید باشد.

مقایسه مفهومی L1، L2 و L3

سطح سرعت نسبی ظرفیت نسبی فاصله از هسته نقش کلی
L1 بسیار بالا بسیار کم بسیار نزدیک داده و دستور فوری
L2 بالا بیشتر از L1 نزدیک ذخیره سطح دوم
L3 کمتر از L1/L2 بسیار بیشتر دورتر کاهش مراجعه به RAM

این جدول برای فهم ساختار کلی است. اندازه، سرعت و نحوه اشتراک
Cache در معماری های Intel و AMD و حتی بین نسل های یک شرکت
می تواند متفاوت باشد.

Cache Hit و Cache Miss چیست؟

وقتی CPU به داده ای نیاز دارد و آن داده در سطح Cache موردنظر
وجود داشته باشد، Cache Hit رخ می دهد.

اگر داده وجود نداشته باشد، Cache Miss رخ می دهد و پردازنده
باید سطح بعدی حافظه را بررسی کند.

01
L1 Hitداده خیلی سریع در دسترس قرار می گیرد.
02
L1 MissCPU به L2 مراجعه می کند.
03
L2 Missبررسی L3 یا سطح بعدی انجام می شود.
04
Last-Level Missممکن است داده از RAM تأمین شود.

Latency چیست و چرا اهمیت دارد؟

Latency مدت زمانی است که طول می کشد تا پردازنده به داده
موردنیاز دسترسی پیدا کند.

هرچه داده از هسته دورتر باشد، معمولاً زمان دسترسی بیشتر می شود.
Registerها بسیار سریع هستند، Cache نزدیک هسته کمی کندتر است
و دسترسی به RAM زمان بیشتری می برد.

اگر Workload دائماً دچار Cache Miss شود، CPU ممکن است
بخش زیادی از زمان خود را در انتظار داده بگذراند.

Cache چه تفاوتی با RAM دارد؟

Cache و RAM هر دو داده را نگهداری می کنند، اما برای
هدف های متفاوت طراحی شده اند.

ویژگی Cache RAM
سرعت بسیار بالا کمتر از Cache
ظرفیت کم بسیار بیشتر
مکان داخل یا بسیار نزدیک CPU حافظه اصلی سیستم
مدیریت عمدتاً توسط سخت افزار توسط سیستم و نرم افزار

Shared Cache چیست؟

در برخی معماری ها یک سطح Cache میان چند هسته مشترک است.
این ساختار می تواند به هسته ها اجازه دهد به مجموعه ای
مشترک از داده ها دسترسی داشته باشند.

اشتراک Cache همچنین به طراحی Interconnect، Topology و
نحوه ارتباط هسته ها وابسته است؛ موضوعی که در بخش مهندسی
کتاب عمیق تر بررسی خواهد شد.

Cache چه ارتباطی با IPC دارد؟

حتی اگر Front-End و واحدهای اجرایی CPU بسیار قدرتمند باشند،
نبود داده مناسب می تواند آن ها را بیکار نگه دارد.

Cache مؤثرتر می تواند تعداد دفعات انتظار برای RAM را کاهش دهد
و در نتیجه واحدهای اجرایی زمان بیشتری مشغول کار باشند.

به همین دلیل طراحی Cache یکی از عوامل مهم در عملکرد معماری
و IPC واقعی است.

آیا Cache بیشتر همیشه بهتر است؟

خیر.

ظرفیت Cache فقط یکی از عوامل است. Latency، Bandwidth،
نحوه اتصال Cache، الگوریتم های مدیریت، معماری هسته و
نوع Workload نیز اهمیت دارند.

یک Cache بسیار بزرگ اگر Latency بالایی داشته باشد یا
Workload از آن استفاده مؤثری نکند، الزاماً افزایش عملکرد
بزرگی ایجاد نمی کند.

چرا Cache در بعضی بازی ها مهم است؟

بعضی بازی ها مجموعه بزرگی از داده های مرتبط با منطق بازی،
وضعیت اشیا، Physics و پردازش CPU را دائماً استفاده می کنند.

اگر بخش بیشتری از این داده ها در Cache باقی بماند،
مراجعه به حافظه اصلی کاهش پیدا می کند و در برخی سناریوها
عملکرد CPU و ثبات Frame Time می تواند بهتر شود.

اما تأثیر Cache میان بازی ها و موتورهای مختلف یکسان نیست.

3D V-Cache چیست؟

AMD در برخی پردازنده های خود از فناوری 3D V-Cache استفاده کرده است
که اجازه می دهد ظرفیت بیشتری از Cache با استفاده از ساختار
سه بعدی در اختیار پردازنده قرار گیرد.

این فناوری در برخی Workloadها، به ویژه بعضی بازی ها،
می تواند مزیت قابل توجهی ایجاد کند؛ اما نتیجه به نرم افزار
و مدل پردازنده بستگی دارد.


در بخش AMD چه خواهیم دید؟

در فصل X3D، پردازنده های دارای 3D V-Cache را با مدل های
عادی همان خانواده مقایسه می کنیم و اثر آن بر Gaming،
Productivity، فرکانس و ارزش خرید را جداگانه بررسی خواهیم کرد.

Under the Hood — چرا Cache چند سطح دارد؟

ساخت حافظه ای که هم بسیار سریع، هم بسیار بزرگ و هم
کم مصرف باشد دشوار است.

به همین دلیل CPU از سلسله مراتب حافظه استفاده می کند.
سطح نزدیک تر کوچک و سریع است و سطح دورتر ظرفیت بیشتری دارد.

هدف این است که بیشترین تعداد دسترسی ممکن در سطوح سریع
انجام شود و فقط در صورت نیاز به حافظه های دورتر مراجعه شود.

این ساختار یکی از نمونه های اصلی Trade-off در طراحی
معماری پردازنده است: ظرفیت در برابر Latency و هزینه.

Engineering Insight — CPU سریع بدون Data Supply سریع، سریع نمی ماند

افزایش تعداد واحدهای اجرایی زمانی مفید است که Front-End
و Memory Subsystem بتوانند به اندازه کافی دستور و داده
در اختیار آن ها قرار دهند.

اگر هسته مدام منتظر داده باشد، افزایش فرکانس یا تعداد
واحدهای اجرایی ممکن است بازده محدودی داشته باشد.

به همین دلیل Cache، Prefetcher و Memory Controller
بخش مهمی از طراحی Performance هستند.

Performance Impact — Cache در چه کارهایی مهم تر می شود؟

Workloadهایی که مرتباً به مجموعه داده پرتکرار دسترسی دارند
می توانند از Cache مؤثر سود ببرند.

میزان تأثیر در بازی، کامپایل، شبیه سازی، پایگاه داده،
پردازش مهندسی و سایر نرم افزارها متفاوت است و باید
با Benchmark همان Workload بررسی شود.

Common Mistakes — اشتباهات رایج درباره Cache
  • فرض اینکه Cache بیشتر همیشه CPU را سریع تر می کند.
  • یکسان دانستن L1، L2 و L3.
  • نادیده گرفتن Latency.
  • مقایسه ظرفیت Cache بدون توجه به معماری.
  • تصور اینکه Cache جای RAM را می گیرد.
  • فرض اینکه 3D V-Cache در تمام نرم افزارها یک مزیت ثابت دارد.


این مفهوم در خرید چه اهمیتی دارد؟

هنگام مقایسه CPUها ظرفیت Cache می تواند یک مشخصه مفید باشد،
اما نباید آن را جدا از معماری، نسل و Benchmark واقعی بررسی کرد.

مثلاً دو پردازنده با L3 متفاوت ممکن است در یک بازی اختلاف
محسوسی داشته باشند و در نرم افزاری دیگر تقریباً مشابه عمل کنند.

سوالات متداول درباره حافظه Cache پردازنده

Cache CPU چیست؟

حافظه بسیار سریعی نزدیک CPU است که داده ها و دستورهای
پرتکرار را برای دسترسی سریع تر نگه می دارد.

L1 سریع تر است یا L3؟

L1 معمولاً سریع تر و کوچک تر است؛ L3 ظرفیت بیشتری دارد
اما Latency آن بیشتر است.

Cache Hit چیست؟

زمانی رخ می دهد که داده موردنیاز CPU در Cache پیدا شود.

Cache Miss چیست؟

یعنی داده در سطح Cache موردنظر وجود ندارد و باید
از سطح بعدی یا حافظه اصلی دریافت شود.

Cache بیشتر بهتر است؟

نه همیشه. معماری، Latency، نوع Workload و نحوه طراحی
Cache نیز اهمیت دارند.

آیا Cache همان RAM است؟

خیر. Cache بسیار سریع تر و کوچک تر است و نقش آن
کاهش فاصله سرعت میان CPU و حافظه اصلی است.

آیا Cache بیشتر FPS بازی را افزایش می دهد؟

در بعضی بازی ها می تواند مؤثر باشد، اما اثر آن
به موتور بازی، GPU، معماری CPU و سناریوی اجرا بستگی دارد.

3D V-Cache چیست؟

روشی برای افزایش ظرفیت Cache با ساختار سه بعدی است
که AMD در بعضی پردازنده های X3D استفاده می کند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • دلیل نیاز CPU به Cache را توضیح دهید.
  • L1، L2 و L3 را از یکدیگر تشخیص دهید.
  • Cache Hit و Miss را بفهمید.
  • اهمیت Latency را توضیح دهید.
  • تفاوت Cache و RAM را بدانید.
  • Cache را با IPC و Performance مرتبط کنید.
  • بدانید ظرفیت Cache به تنهایی معیار قدرت CPU نیست.


فصل 7
سطح: متوسط تا پیشرفته
پیش نیاز: IPC و Cache
موضوع: معماری پردازنده و مجموعه دستورها


زبان و طراحی داخلی پردازنده

Architecture، Microarchitecture و ISA چیست و چه تفاوتی با هم دارند؟

هنگام بررسی CPU با واژه هایی مانند معماری، نسل،
x86، x64، Zen، Alder Lake یا Core Ultra روبه رو می شویم.
این اصطلاحات به یک چیز اشاره نمی کنند و اشتباه گرفتن آن ها
می تواند مقایسه پردازنده ها را کاملاً گمراه کننده کند.


پاسخ سریع

ISA مشخص می کند پردازنده چه دستورهایی را از دید نرم افزار
می تواند اجرا کند.

Microarchitecture توضیح می دهد پردازنده در داخل چگونه
همان دستورها را اجرا می کند.

Generation یا نسل معمولاً یک رده زمانی/محصولی است و
الزاماً با یک Microarchitecture واحد برابر نیست.

در این فصل چه چیزهایی یاد می گیریم؟

  • Architecture در CPU چه معنایی دارد.
  • Microarchitecture چیست.
  • ISA چیست.
  • x86 و x86-64 چه تفاوتی دارند.
  • چرا دو CPU با ISA مشابه می توانند بسیار متفاوت باشند.
  • نسل و معماری چرا یکی نیستند.
  • چرا Process Node با Architecture فرق دارد.
  • این مفاهیم چگونه در مقایسه نسل ها استفاده می شوند.

نقشه مفهومی معماری CPU

01
Softwareبرنامه ها دستورهای قابل اجرا تولید می کنند.
02
ISAقرارداد میان نرم افزار و پردازنده.
03
Microarchitectureروش داخلی اجرای همان دستورها.
04
Implementationهسته ها، Cache، Pipeline و واحدهای اجرایی واقعی.
05
Performanceنتیجه طراحی، فرکانس، توان و Workload.

Architecture در CPU یعنی چه؟

واژه Architecture در بحث پردازنده گاهی به شکل عمومی
استفاده می شود و می تواند هم به مجموعه دستورها و هم به
طراحی کلی یک خانواده پردازنده اشاره کند.

برای جلوگیری از ابهام، در این کتاب بین
ISA
و
Microarchitecture
تفاوت مشخصی قائل می شویم.

ISA چیست؟

ISA مخفف

Instruction Set Architecture

است.

ISA را می توان قرارداد میان نرم افزار و سخت افزار دانست.
این قرارداد مشخص می کند پردازنده چه نوع دستورهایی را می شناسد،
چه Registerهایی در اختیار نرم افزار قرار می گیرد و مدل کلی
اجرای دستورها چگونه تعریف شده است.

نرم افزاری که برای یک ISA نوشته یا کامپایل می شود، انتظار دارد
پردازنده همان دستورها و رفتار تعریف شده را پشتیبانی کند.

Microarchitecture چیست؟

Microarchitecture طراحی داخلی پردازنده برای اجرای ISA است.

برای مثال دو CPU می توانند هر دو دستورهای x86-64 را اجرا کنند،
اما یکی Front-End عریض تر، Cache بزرگ تر، Branch Predictor
بهتر و واحدهای اجرایی بیشتری داشته باشد.

این تفاوت ها در سطح Microarchitecture رخ می دهند و می توانند
عملکرد، مصرف انرژی و IPC را تغییر دهند.

تفاوت ISA و Microarchitecture با یک مثال ساده

موضوع ISA Microarchitecture
سؤال اصلی CPU چه دستورهایی را می فهمد؟ CPU چگونه آن دستورها را اجرا می کند؟
دیدگاه نرم افزار / قرارداد طراحی داخلی سخت افزار
نمونه x86-64 Zen، Skylake، Alder Lake و…
اثر مستقیم سازگاری نرم افزاری Performance، IPC، توان و طراحی هسته

x86 چیست؟

x86 نام خانواده ای از ISAها است که ریشه آن به پردازنده های
قدیمی Intel بازمی گردد و در طول زمان گسترش پیدا کرده است.

امروزه بخش بزرگی از کامپیوترهای دسکتاپ و لپ تاپ های Intel
و AMD از نسخه های مدرن این خانواده دستورها استفاده می کنند.

اصطلاح x86 در بعضی گفتگوها برای اشاره کلی به معماری رایج
کامپیوترهای شخصی نیز استفاده می شود.

x86-64 یا x64 چیست؟

x86-64 گسترش 64 بیتی خانواده x86 است و امکان استفاده از
فضای آدرس دهی بسیار بزرگ تر، Registerهای گسترده تر و
قابلیت های مدرن تر را فراهم می کند.

سیستم عامل های 64 بیتی امروزی و بیشتر نرم افزارهای جدید
برای این محیط طراحی شده اند.

در ویندوز معمولاً اصطلاح x64 برای اشاره به محیط 64 بیتی
رایج استفاده می شود.

تفاوت 32 بیتی و 64 بیتی فقط مقدار RAM نیست

یکی از تفاوت های معروف میان محیط 32 بیتی و 64 بیتی
محدودیت فضای آدرس دهی حافظه است، اما تفاوت فقط به RAM
ختم نمی شود.

مدل Registerها، نحوه انتقال داده، Calling Conventionها
و قابلیت های ISA نیز می توانند متفاوت باشند.

چگونه دو CPU با ISA یکسان می توانند قدرت متفاوتی داشته باشند؟

اگر دو پردازنده هر دو x86-64 باشند، این فقط نشان می دهد
زبان پایه مشترکی برای اجرای نرم افزار دارند.

یکی از آن ها ممکن است Microarchitecture بسیار جدیدتری داشته باشد.
همین تفاوت می تواند باعث IPC بالاتر، Cache بهتر، مصرف کمتر،
فرکانس بالاتر و عملکرد واقعی بیشتر شود.

بنابراین عبارت «هر دو 64 بیتی هستند» تقریباً هیچ اطلاعاتی
درباره قدرت نسبی آن ها نمی دهد.

Generation یا نسل با Architecture چه تفاوتی دارد؟

Generation معمولاً یک روش دسته بندی محصولات در یک دوره مشخص است.

اما یک نسل لزوماً همیشه به معنی یک Microarchitecture واحد نیست.
ممکن است در یک نسل چند خانواده با طراحی های متفاوت وجود داشته باشند.

همین نکته هنگام بررسی نسل های Intel و AMD اهمیت زیادی دارد
و یکی از دلایلی است که فقط عدد نسل برای مقایسه کافی نیست.


قانون مقایسه نسل ها در این کتاب

وقتی به بخش نسل های Intel و AMD برسیم، هر نسل را فقط
با نام و سال معرفی نمی کنیم.

برای هر نسل بررسی می کنیم:

  • Microarchitecture اصلی چه بوده است.
  • چه تغییری نسبت به نسل قبل ایجاد شده است.
  • نسل بعد چه چیزی را بهتر کرده است.
  • تعداد هسته و Thread چگونه تغییر کرده است.
  • Cache، IPC، توان و گرافیک مجتمع چه تفاوتی داشته اند.
  • برای خرید لپ تاپ استوک امروز چه جایگاهی دارد.

Architecture با Process Node یا لیتوگرافی چه تفاوتی دارد؟

Microarchitecture درباره طراحی منطقی و ساختار داخلی CPU است،
در حالی که Process Node به فناوری ساخت ترانزیستورها مربوط می شود.

یک معماری می تواند روی فرآیند ساخت مشخصی تولید شود و
نسل بعدی ممکن است با معماری یا فناوری ساخت جدیدی عرضه شود.

کوچک تر بودن عدد nm به تنهایی نشان نمی دهد یک CPU سریع تر است.

چند نمونه از Microarchitectureهای معروف

Intel Skylake

یکی از Microarchitectureهای مهم Intel که پایه
چندین خانواده و نسل محصول شد.

Intel Alder Lake

معماری مهمی که ترکیب P-Core و E-Core را وارد
بسیاری از پردازنده های مصرفی Intel کرد.

AMD Zen

پایه خانواده مدرن Ryzen و آغاز مسیر چند نسل
مهم معماری AMD.

AMD Zen 4 / Zen 5

نسل های جدیدتر Microarchitecture با تغییرات
گسترده در Performance و Efficiency.

چرا Microarchitecture برای عملکرد اهمیت دارد؟

طراحی داخلی هسته تعیین می کند پردازنده چگونه دستورها را
دریافت، Decode، زمان بندی و اجرا کند.

Microarchitecture همچنین روی Cache، Branch Prediction،
Pipeline، واحدهای برداری، Latency و بهره وری انرژی اثر دارد.

به همین دلیل تغییر Microarchitecture می تواند بدون افزایش
شدید فرکانس باعث جهش Performance شود.

ISA چه ارتباطی با سازگاری نرم افزار دارد؟

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

اگر یک برنامه به Instruction Extension خاصی نیاز داشته باشد
و پردازنده آن قابلیت را پشتیبانی نکند، ممکن است برنامه
اجرا نشود یا از مسیر جایگزین کندتر استفاده کند.

در بخش مهندسی کتاب، SSE، AVX، AVX2 و سایر Extensionها
را جداگانه بررسی خواهیم کرد.

Under the Hood — یک ISA، چند طراحی کاملاً متفاوت

ISA رفتار قابل مشاهده پردازنده از دید نرم افزار
را تعریف می کند، اما الزام نمی کند CPU در داخل
دقیقاً چگونه ساخته شود.

سازندگان می توانند برای اجرای همان دستورها
Front-End، Decoder، Scheduler، Cache و واحدهای اجرایی
کاملاً متفاوتی طراحی کنند.

همین جدایی میان ISA و Microarchitecture است که
اجازه می دهد نسل های جدید CPU سازگاری نرم افزاری
را حفظ کنند اما Performance و Efficiency بسیار
متفاوتی ارائه دهند.

Engineering Insight — نسل یک برچسب بازاری است، معماری یک طراحی فنی

عدد نسل برای کاربر بسیار مفید است، اما برای تحلیل مهندسی
نباید آن را جایگزین Microarchitecture کرد.

دو محصول نزدیک از نظر نسل ممکن است طراحی داخلی متفاوتی
داشته باشند و دو محصول با نام گذاری متفاوت نیز ممکن است
بخش زیادی از معماری مشترک را حفظ کرده باشند.

به همین دلیل در این کتاب هر نسل را همراه با معماری واقعی
همان محصول بررسی می کنیم.

Performance Impact — معماری چگونه روی سرعت اثر می گذارد؟

Microarchitecture بهتر می تواند IPC را افزایش دهد،
Latency را کاهش دهد، منابع اجرایی را بهتر استفاده کند
و مصرف انرژی را بهینه تر کند.

به همین دلیل معماری یکی از اصلی ترین عوامل تفاوت
Performance میان نسل های CPU است.

Common Mistakes — اشتباهات رایج
  • یکسان دانستن Generation و Microarchitecture.
  • تصور اینکه x64 یک مدل پردازنده است.
  • فرض اینکه دو CPU 64 بیتی قدرت مشابهی دارند.
  • یکسان دانستن ISA و Process Node.
  • مقایسه CPU فقط بر اساس عدد nm.
  • فرض اینکه یک نسل همیشه فقط یک معماری دارد.


این مفهوم در خرید چه اهمیتی دارد؟

هنگام مقایسه لپ تاپ های استوک، عدد نسل نقطه شروع خوبی است
اما نتیجه نهایی نیست.

باید مدل کامل CPU، Microarchitecture، پسوند، تعداد هسته،
Cache، توان و Benchmark واقعی نیز بررسی شود.

این موضوع مخصوصاً در نسل هایی اهمیت دارد که چند خانواده
متفاوت در بازار وجود دارند.

سوالات متداول فصل معماری CPU

ISA چیست؟

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

Microarchitecture چیست؟

طراحی داخلی پردازنده برای اجرای دستورهای ISA است.

x86 و x64 چه تفاوتی دارند؟

x86 نام خانواده ISA است و x64 معمولاً به نسخه 64 بیتی
مدرن این محیط اشاره می کند.

آیا نسل پردازنده همان معماری است؟

خیر. نسل دسته بندی محصول است و ممکن است شامل
چند Microarchitecture یا خانواده متفاوت باشد.

آیا دو CPU x64 قدرت یکسان دارند؟

خیر. x64 درباره سازگاری ISA است و قدرت واقعی به
طراحی داخلی، فرکانس، هسته ها و عوامل دیگر بستگی دارد.

آیا nm کوچک تر یعنی CPU بهتر؟

نه لزوماً. فناوری ساخت فقط یکی از عوامل است و
معماری، توان و طراحی کل پردازنده نیز باید بررسی شوند.

Zen چیست؟

نام خانواده Microarchitectureهای مدرن AMD است
که نسل های مختلف Ryzen بر پایه نسخه های آن ساخته شده اند.

Alder Lake چیست؟

یک Microarchitecture مهم Intel است که در محصولات
مصرفی ترکیب P-Core و E-Core را گسترش داد.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • ISA و Microarchitecture را از هم تشخیص دهید.
  • x86 و x86-64 را در سطح مفهومی بفهمید.
  • نسل را با معماری اشتباه نگیرید.
  • Process Node را از Architecture جدا بدانید.
  • توضیح دهید چرا دو CPU با ISA یکسان می توانند سرعت متفاوتی داشته باشند.
  • رابطه معماری با IPC و Performance را درک کنید.


فصل 8
سطح: متوسط تا پیشرفته
پیش نیاز: معماری و Microarchitecture
موضوع: لیتوگرافی، ترانزیستور و فناوری ساخت


CPU چگونه روی سیلیکون ساخته می شود؟

لیتوگرافی و Process Node چیست و عدد nm واقعاً چه معنایی دارد؟

یکی از رایج ترین اعداد در مشخصات پردازنده ها عباراتی مانند
14nm، 10nm، 7nm، 5nm یا 3nm است. این اعداد به فناوری ساخت
تراشه مربوط هستند، اما نباید آن ها را به شکل ساده و مستقیم
به اندازه واقعی تمام ترانزیستورها یا قدرت نهایی CPU نسبت داد.


پاسخ سریع: Process Node چیست؟

Process Node نام یک نسل از فناوری ساخت نیمه رسانا است که
ویژگی هایی مانند تراکم ترانزیستور، مصرف انرژی، فرکانس قابل دستیابی
و پیچیدگی ساخت را تحت تأثیر قرار می دهد.

عدد nm در نام Nodeهای مدرن دیگر الزاماً به یک اندازه فیزیکی
واحد و قابل مقایسه مستقیم میان تمام سازندگان اشاره نمی کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • ترانزیستور چیست.
  • Process Node چیست.
  • لیتوگرافی در ساخت CPU چه نقشی دارد.
  • عدد nm در نسل های جدید چگونه تفسیر می شود.
  • چرا Node کوچک تر می تواند مزیت ایجاد کند.
  • چرا Node کوچک تر همیشه به معنی CPU سریع تر نیست.
  • Density چیست.
  • رابطه فناوری ساخت با توان، دما و فرکانس چیست.

نقشه مفهومی فناوری ساخت CPU

01
Siliconبستر اصلی ساخت بسیاری از تراشه های مدرن.
02
Transistorعنصر پایه برای ساخت مدارهای منطقی دیجیتال.
03
Process Nodeنسل فناوری ساخت ترانزیستورها و اتصالات.
04
Density / Efficiencyتراکم، مصرف و قابلیت های طراحی تراشه.
05
Final CPUنتیجه ترکیب فرآیند ساخت با Microarchitecture.

ترانزیستور چیست؟

ترانزیستور یکی از عناصر پایه مدارهای الکترونیکی مدرن است
و در پردازنده ها به عنوان بخش اساسی مدارهای منطقی و حافظه ای
استفاده می شود.

CPU مدرن می تواند شامل میلیاردها ترانزیستور باشد که در کنار
یکدیگر ساختارهایی مانند هسته های پردازشی، Cache، کنترل کننده ها
و واحدهای اجرایی را تشکیل می دهند.

چرا تعداد ترانزیستور بیشتر می تواند مهم باشد؟

فضای ترانزیستوری بیشتر می تواند به سازنده اجازه دهد
واحدهای اجرایی بیشتر، Cache بزرگ تر، کنترل کننده های پیشرفته تر
یا قابلیت های جدیدتری به تراشه اضافه کند.

با این حال تعداد بیشتر ترانزیستور به تنهایی تضمین نمی کند
پردازنده سریع تر یا بهتر باشد. نحوه استفاده از این ترانزیستورها
و معماری کل تراشه اهمیت زیادی دارد.

Process Node چیست؟

Process Node نام یک نسل از فناوری ساخت تراشه است.

در گذشته نام Node ارتباط مستقیم تری با برخی ابعاد فیزیکی
ساخت داشت، اما در فرآیندهای مدرن این نام گذاری بیشتر به
یک برچسب نسل فناوری تبدیل شده است.

بنابراین نمی توان فرض کرد عدد 5nm در دو Foundry مختلف
دقیقاً نشان دهنده ساختار فیزیکی یکسانی است.

Lithography یا لیتوگرافی چیست؟

لیتوگرافی بخشی از فرآیند ساخت تراشه است که برای ایجاد
الگوهای بسیار کوچک مدار روی Wafer استفاده می شود.

ساخت یک CPU شامل مراحل بسیار بیشتری از لیتوگرافی است،
اما این فناوری نقش مهمی در امکان تولید ساختارهای بسیار
ریز و متراکم دارد.

آیا 5nm یعنی ترانزیستور دقیقاً 5 نانومتر است؟

در فناوری های مدرن پاسخ ساده «بله» نیست.

نام Node امروزی معمولاً یک عدد بازاری و نسلی است و
نمی توان آن را معادل طول دقیق یک بخش مشخص از تمام
ترانزیستورهای تراشه دانست.

Common Mistake — برداشت اشتباه از عدد nm

گفتن اینکه «CPU پنج نانومتری یعنی ترانزیستورهای آن دقیقاً
پنج نانومتر هستند» یک ساده سازی نادرست است.

Transistor Density چیست؟

Density یا تراکم نشان می دهد چه تعداد ترانزیستور یا ساختار
منطقی را می توان در مساحت مشخصی از تراشه قرار داد.

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

اما Density واقعی به نوع سلول، طراحی مدار و بخش مورد اندازه گیری
نیز وابسته است.

کوچک تر شدن Process Node چه مزایایی می تواند داشته باشد؟

تراکم بیشتر

امکان قرار دادن ترانزیستورهای بیشتر در مساحت مشابه.

بهره وری انرژی

فناوری ساخت جدید می تواند در برخی شرایط مصرف انرژی
را کاهش دهد.

فرکانس بالقوه

بعضی Nodeها می توانند مشخصات الکتریکی مناسب تری
برای فرکانس بالاتر فراهم کنند.

قابلیت های بیشتر

تراکم بیشتر می تواند فضای بیشتری برای Cache،
GPU، NPU یا واحدهای دیگر فراهم کند.

آیا Process Node کوچک تر همیشه CPU سریع تری می سازد؟

خیر.

Performance نهایی به Microarchitecture، فرکانس، تعداد هسته،
Cache، محدودیت توان، نرم افزار و بسیاری عوامل دیگر بستگی دارد.

ممکن است یک CPU روی Node قدیمی تر اما با معماری قوی تر
یا توان بالاتر در یک Workload مشخص سریع تر باشد.

Process Node مهم تر است یا Microarchitecture؟

این دو را نباید مقابل یکدیگر قرار داد.

فناوری ساخت مشخص می کند طراح چه امکانات فیزیکی و الکتریکی
در اختیار دارد، اما Microarchitecture تعیین می کند
آن امکانات چگونه برای اجرای دستورها استفاده شوند.

بهترین نتیجه زمانی حاصل می شود که فرآیند ساخت مناسب و
معماری خوب در کنار هم قرار گیرند.

Process Node چه ارتباطی با مصرف انرژی دارد؟

Node جدیدتر می تواند در بعضی شرایط امکان کاهش مصرف
یا افزایش Performance در توان مشابه را فراهم کند.

اما مصرف واقعی CPU فقط به Node وابسته نیست.
ولتاژ، فرکانس، تعداد هسته فعال، طراحی تراشه و Power Limit
تأثیر زیادی دارند.

آیا Node کوچک تر یعنی CPU خنک تر؟

نه لزوماً.

تراکم بالاتر می تواند مقدار زیادی توان را در فضای کوچک تر
متمرکز کند و دفع حرارت را دشوارتر کند.

بنابراین دمای پردازنده باید بر اساس طراحی واقعی محصول،
توان مصرفی و سیستم خنک کننده بررسی شود.

آیا می توان 5nm یک شرکت را مستقیم با 5nm شرکت دیگر مقایسه کرد؟

مقایسه مستقیم فقط بر اساس نام Node دقیق نیست.

هر Foundry می تواند معیار نام گذاری، تراکم، طراحی ترانزیستور
و مشخصات الکتریکی متفاوتی داشته باشد.

بنابراین برای مقایسه واقعی باید علاوه بر نام Node، تراکم،
Performance، Efficiency و طراحی محصول نهایی بررسی شود.

چرا این موضوع در Intel و AMD مهم است؟

Intel و AMD در نسل های مختلف از فناوری های ساخت متفاوت
و حتی Foundryهای متفاوت استفاده کرده اند.

به همین دلیل هنگام مقایسه نسل ها نباید فقط عدد nm را
از جدول مشخصات برداریم و بر اساس آن نتیجه گیری کنیم.


در فصل های نسل ها چه کار می کنیم؟

هنگام بررسی هر نسل، Process Node را در کنار
Microarchitecture، IPC، هسته ها، توان و عملکرد واقعی
با نسل قبل و بعد مقایسه خواهیم کرد.

Under the Hood — کوچک تر کردن ترانزیستور ساده نیست

با کوچک شدن ساختارهای نیمه رسانا، کنترل جریان،
نشتی، مقاومت اتصالات و پیچیدگی تولید اهمیت بیشتری
پیدا می کنند.

صنعت برای ادامه افزایش تراکم از ساختارهای ترانزیستوری
جدید، مواد متفاوت و روش های پیشرفته تر ساخت استفاده می کند.

بنابراین پیشرفت Process Node فقط «کوچک کردن یک شکل»
نیست؛ مجموعه بزرگی از نوآوری های مهندسی در مواد،
ترانزیستور، Lithography و Interconnect را شامل می شود.

Engineering Insight — Density، Power و Frequency یک Trade-off هستند

طراح تراشه معمولاً نمی تواند همزمان تمام اهداف را
بدون محدودیت به حداکثر برساند.

افزایش فرکانس می تواند توان را بالا ببرد،
افزایش تراکم می تواند مدیریت حرارت را پیچیده تر کند
و طراحی برای توان بسیار پایین ممکن است سقف Performance
را محدود کند.

به همین دلیل CPU نتیجه مجموعه ای از Trade-offهای مهندسی است.

Performance Impact — Process Node چگونه به Performance کمک می کند؟

فناوری ساخت بهتر می تواند امکان افزایش تعداد ترانزیستور،
بهبود Efficiency یا افزایش فرکانس را فراهم کند.

اما این پتانسیل فقط زمانی به Performance واقعی تبدیل می شود
که طراحی Microarchitecture و محصول نیز از آن استفاده کند.

Common Mistakes — اشتباهات رایج درباره لیتوگرافی
  • فرض اینکه nm اندازه دقیق همه ترانزیستورها است.
  • فرض اینکه Node کوچک تر همیشه CPU سریع تر می سازد.
  • مقایسه Node دو Foundry فقط بر اساس عدد نام آن.
  • یکسان دانستن Process Node و Microarchitecture.
  • فرض اینکه Node کوچک تر همیشه دمای کمتر دارد.
  • قضاوت درباره نسل CPU فقط از روی لیتوگرافی.


این مفهوم در خرید چه اهمیتی دارد؟

در صفحه مشخصات یک لپ تاپ ممکن است عدد لیتوگرافی جذاب به نظر برسد،
اما برای تصمیم خرید باید عملکرد واقعی CPU را ببینید.

نسل، معماری، تعداد هسته، توان، سیستم خنک کننده و
نوع استفاده شما بسیار مهم تر از قضاوت بر اساس یک عدد nm هستند.

سوالات متداول فصل لیتوگرافی و Process Node

Process Node چیست؟

نام یک نسل فناوری ساخت نیمه رسانا است که ویژگی های
ساخت تراشه را مشخص می کند.

آیا 5nm یعنی ترانزیستور دقیقاً 5 نانومتر است؟

در Nodeهای مدرن نه به این شکل ساده. نام Node
الزاماً معادل یک اندازه فیزیکی واحد نیست.

5nm بهتر است یا 7nm؟

فقط از روی نام Node نمی توان درباره CPU نتیجه گرفت.
محصول نهایی و معماری باید مقایسه شوند.

Node کوچک تر مصرف کمتری دارد؟

می تواند Efficiency بهتری فراهم کند، اما مصرف نهایی
به ولتاژ، فرکانس، هسته ها و طراحی CPU نیز وابسته است.

آیا CPU با nm کمتر خنک تر است؟

نه لزوماً. توان و تراکم حرارتی نیز بسیار مهم هستند.

Transistor Density چیست؟

معیاری برای میزان تراکم ترانزیستورها یا ساختارهای
منطقی در مساحت مشخص تراشه است.

معماری مهم تر است یا لیتوگرافی؟

هر دو مهم هستند و نقش متفاوتی دارند. معماری
نحوه استفاده از منابع را تعیین می کند و Node
فناوری فیزیکی ساخت را فراهم می کند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • Process Node را تعریف کنید.
  • ترانزیستور را در سطح مفهومی بشناسید.
  • بدانید عدد nm را نباید به شکل فیزیکی ساده تفسیر کرد.
  • Node و Microarchitecture را از هم جدا بدانید.
  • ارتباط Node با Density و Efficiency را درک کنید.
  • بدانید Node کوچک تر به تنهایی معیار قدرت CPU نیست.


فصل 9
سطح: متوسط تا پیشرفته
پیش نیاز: فرکانس و Process Node
موضوع: توان، دما و محدودیت عملکرد CPU


وقتی قدرت CPU به برق و خنک کننده وابسته می شود

TDP، توان مصرفی، دمای CPU و Thermal Throttling چیست؟

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


پاسخ سریع

TDP و شاخص های توان، به صورت کلی به طراحی حرارتی و
محدوده مصرف پردازنده مربوط هستند، اما مصرف واقعی CPU
می تواند بسته به نسل، سازنده، نوع Workload و محدودیت های
تنظیم شده متفاوت باشد.

اگر CPU به محدودیت دما یا توان برسد، ممکن است فرکانس خود
را کاهش دهد. این کاهش برای کنترل دما یا مصرف می تواند
باعث افت Performance شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • توان مصرفی CPU چه معنایی دارد.
  • TDP چیست و چه چیزی نیست.
  • Power Limit چگونه روی فرکانس اثر می گذارد.
  • PL1 و PL2 در پردازنده های Intel چه مفهومی دارند.
  • Processor Base Power و Maximum Turbo Power چه هستند.
  • PPT، TDC و EDC در AMD چه نقشی دارند.
  • TJMax و دمای مجاز CPU چیست.
  • Thermal Throttling و Power Throttling چه تفاوتی دارند.
  • چرا خنک کننده لپ تاپ روی Performance CPU اثر مستقیم دارد.

نقشه مفهومی توان و دمای CPU

01
Workloadنرم افزار بار پردازشی ایجاد می کند.
02
Frequency / VoltageCPU برای Performance بیشتر توان بیشتری نیاز دارد.
03
Powerمصرف الکتریکی افزایش پیدا می کند.
04
Heatتوان مصرفی به گرما تبدیل می شود.
05
Cooling / Limitsسیستم تصمیم می گیرد چه Performance قابل حفظ است.

توان مصرفی CPU چیست؟

پردازنده برای تغییر وضعیت ترانزیستورها و انجام محاسبات
انرژی الکتریکی مصرف می کند.

مصرف CPU ثابت نیست. در حالت Idle می تواند بسیار پایین باشد،
اما هنگام رندر، کامپایل یا Stress Test ممکن است چندین برابر
افزایش پیدا کند.

توان مصرفی به عواملی مانند فرکانس، ولتاژ، تعداد هسته فعال،
نوع دستورها و محدودیت های تعیین شده توسط سازنده وابسته است.

Watt یا وات چه چیزی را نشان می دهد؟

Watt واحد توان است.

وقتی درباره پردازنده از عددی مانند 15W، 45W یا 65W صحبت می کنیم،
باید بدانیم آن عدد دقیقاً به کدام تعریف مربوط است؛ زیرا ممکن است
TDP، Base Power، Turbo Power یا یک Power Limit مشخص باشد.

TDP چیست؟

TDP مخفف

Thermal Design Power

است.

این مفهوم به طراحی حرارتی و میزان گرمایی که سیستم خنک کننده
باید در شرایط تعریف شده قادر به مدیریت آن باشد مرتبط است.

مهم است که TDP را مستقیماً برابر با «حداکثر مصرف واقعی CPU»
ندانیم.

Common Mistake — TDP با حداکثر مصرف برابر نیست

یک CPU با TDP مشخص ممکن است در حالت Boost یا در Workload خاص
برای مدتی توان بیشتری از عدد TDP مصرف کند.

روش تعریف TDP نیز میان شرکت ها و نسل های مختلف یکسان نیست،
بنابراین مقایسه مستقیم فقط بر اساس این عدد می تواند گمراه کننده باشد.

Power Limit چیست؟

Power Limit محدودیتی است که مشخص می کند CPU در یک شرایط
یا بازه زمانی تا چه سطحی اجازه مصرف توان دارد.

اگر پردازنده به محدودیت توان برسد، ممکن است مجبور شود
فرکانس یا ولتاژ را کاهش دهد تا مصرف در محدوده تعیین شده باقی بماند.

در لپ تاپ این تنظیمات می توانند به شدت تحت تأثیر طراحی سازنده باشند.

PL1 و PL2 در پردازنده های Intel چیست؟

در نسل ها و سیستم های مختلف Intel از Power Limitهایی مانند
PL1 و PL2 برای مدیریت توان پردازنده استفاده شده است.

به صورت مفهومی، PL1 بیشتر به توان قابل حفظ در بازه طولانی تر
و PL2 به سطح توان بالاتر برای بار کوتاه مدت مرتبط بوده است.

جزئیات دقیق این رفتار میان نسل ها و پلتفرم ها متفاوت است
و در بخش نسل های Intel با مشخصات همان دوره بررسی خواهد شد.

Processor Base Power و Maximum Turbo Power چیست؟

Intel در خانواده های جدیدتر از اصطلاحاتی مانند
Processor Base Power و Maximum Turbo Power نیز استفاده می کند.

Base Power به سطح پایه تعریف شده برای پردازنده اشاره دارد،
در حالی که Maximum Turbo Power سطح بالاتری از توان قابل استفاده
در شرایط Turbo را توصیف می کند.

هنگام مقایسه CPUهای نسل های مختلف باید از اصطلاحات رسمی
همان نسل استفاده شود و نباید تمام محصولات را با یک مدل قدیمی
Power Limit تحلیل کرد.

PPT، TDC و EDC در AMD چیست؟

در برخی پردازنده ها و پلتفرم های AMD محدودیت های توان و جریان
با شاخص هایی مانند PPT، TDC و EDC مدیریت می شوند.

اصطلاح مفهوم کلی
PPT محدودیت کلی توان Package
TDC محدودیت جریان پایدارتر در شرایط حرارتی
EDC محدودیت جریان کوتاه مدت یا پیک

تعریف و رفتار دقیق این پارامترها به پلتفرم و نسل محصول وابسته است
و در فصل های AMD با جزئیات همان خانواده بررسی می شود.

دمای CPU چرا بالا می رود؟

بخشی از انرژی الکتریکی مصرف شده توسط پردازنده به گرما تبدیل می شود.

هرچه CPU با توان بیشتر کار کند، معمولاً گرمای بیشتری تولید می کند
و سیستم خنک کننده باید این گرما را از تراشه دور کند.

اگر انتقال حرارت کافی نباشد، دمای CPU افزایش پیدا می کند.

TJMax چیست؟

TJMax یا Maximum Junction Temperature به محدوده دمایی
تعریف شده برای Junction تراشه مربوط است.

وقتی دمای پردازنده به محدوده های بالای طراحی شده نزدیک می شود،
سیستم های حفاظتی می توانند برای کنترل دما وارد عمل شوند.

مقدار دقیق TJMax میان مدل ها متفاوت است و باید از مشخصات رسمی
همان CPU بررسی شود.

Thermal Throttling چیست؟

Thermal Throttling زمانی رخ می دهد که CPU برای جلوگیری از
عبور از محدوده حرارتی، Performance خود را کاهش دهد.

این کاهش معمولاً با پایین آوردن فرکانس و در نتیجه توان مصرفی
انجام می شود.

Thermal Throttling یک مکانیزم حفاظتی است، نه یک خرابی نرم افزاری.

Power Throttling چیست؟

حتی اگر دمای CPU مناسب باشد، پردازنده ممکن است به Power Limit
تعیین شده برسد.

در این حالت سیستم می تواند فرکانس را محدود کند تا CPU
از سقف توان مجاز عبور نکند.

بنابراین افت فرکانس همیشه به معنی داغ شدن بیش از حد نیست.

تفاوت Thermal Throttling و Power Throttling چیست؟

نوع محدودیت علت اصلی نتیجه
Thermal Throttling رسیدن به محدودیت دما کاهش فرکانس برای کنترل حرارت
Power Throttling رسیدن به محدودیت توان کاهش فرکانس برای کنترل مصرف

چرا یک CPU یکسان در دو لپ تاپ عملکرد متفاوتی دارد؟

این یکی از مهم ترین نکات برای بازار لپ تاپ استوک است.

دو دستگاه می توانند دقیقاً یک مدل CPU داشته باشند، اما یکی
سیستم خنک کننده بزرگ تر، فن قوی تر و Power Limit بالاتری داشته باشد.

دستگاه دوم ممکن است طراحی باریک تر، فن کوچک تر یا محدودیت توان
محافظه کارانه تری داشته باشد.

در بار کوتاه هر دو شاید Performance مشابهی نشان دهند،
اما در پردازش طولانی اختلاف می تواند بیشتر شود.

Sustained Performance چیست؟

Sustained Performance یعنی توانایی پردازنده برای حفظ
Performance در بار طولانی مدت.

بعضی لپ تاپ ها در چند ثانیه اول Benchmark فرکانس بسیار بالایی دارند،
اما پس از افزایش دما یا رسیدن به Power Limit فرکانس کاهش پیدا می کند.

برای رندر، کامپایل طولانی و Workloadهای مهندسی این رفتار
اهمیت زیادی دارد.

چرا Benchmark کوتاه ممکن است گمراه کننده باشد؟

اگر تست فقط چند ثانیه طول بکشد، CPU ممکن است تمام مدت
در حالت Boost بالا باقی بماند.

اما در تست طولانی، محدودیت حرارتی و توان خود را نشان می دهند.

به همین دلیل در بخش Benchmarkهای کتاب تفاوت Performance لحظه ای
و Performance پایدار را جداگانه بررسی می کنیم.

سیستم خنک کننده چه نقشی در عملکرد CPU دارد؟

خنک کننده باید گرمای تولید شده در تراشه را به Heat Pipe،
Heatsink و در نهایت هوای محیط منتقل کند.

اگر این مسیر انتقال حرارت ناکارآمد باشد، CPU زودتر به
محدودیت دمایی می رسد.

بنابراین Cooling بخشی از Performance واقعی لپ تاپ است،
نه فقط یک موضوع مربوط به راحتی یا صدای فن.

این موضوع در لپ تاپ استوک چرا اهمیت بیشتری دارد؟

در لپ تاپ استوک علاوه بر طراحی اصلی دستگاه، وضعیت فعلی
سیستم خنک کننده نیز اهمیت دارد.

گرد و غبار، خشک شدن خمیر حرارتی، ضعف فن یا بسته شدن مسیر هوا
می تواند باعث افزایش دما و کاهش Performance شود.

به همین دلیل تست دما و Performance پایدار یکی از مراحل مهم
بررسی لپ تاپ استوک حرفه ای است.

مثال واقعی: دو لپ تاپ با Core i7-11800H

فرض کنید دو لپ تاپ دقیقاً از Core i7-11800H استفاده می کنند.

لپ تاپ اول یک Workstation ضخیم با خنک کننده بزرگ است و
دستگاه دوم یک مدل باریک با سیستم Cooling محدودتر.

ممکن است هر دو در کار سبک تقریباً یکسان باشند، اما در رندر
طولانی دستگاه اول بتواند فرکانس بالاتری را حفظ کند و
نتیجه سریع تری ارائه دهد.

بنابراین نام CPU به تنهایی Performance کامل لپ تاپ را مشخص نمی کند.

Under the Hood — چرا افزایش فرکانس توان را سریع بالا می برد؟

برای افزایش فرکانس معمولاً CPU به ولتاژ بالاتری نیاز دارد.

مصرف توان دینامیکی مدارهای دیجیتال به فرکانس و
به شکل قوی تری به ولتاژ وابسته است.

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

این یکی از دلایلی است که CPU نمی تواند بدون محدودیت
فرکانس را افزایش دهد و چرا Efficiency در فرکانس های
مختلف تغییر می کند.

Engineering Insight — Performance لپ تاپ حاصل CPU + Power Budget + Cooling است

در دسکتاپ می توان خنک کننده بزرگ و منبع تغذیه قدرتمند استفاده کرد،
اما لپ تاپ یک Enclosure محدود دارد.

سازنده باید میان Performance، وزن، ضخامت، صدای فن،
دما و شارژدهی باتری تعادل ایجاد کند.

بنابراین یک مدل CPU می تواند در چند لپ تاپ رفتارهای
Performance متفاوتی داشته باشد.

Performance Impact — محدودیت حرارتی کجا بیشتر دیده می شود؟

بارهای طولانی مانند CPU Rendering، Encoding، Compilation،
Simulation و Stress Test بیشتر از کارهای لحظه ای
تحت تأثیر Cooling و Power Limit قرار می گیرند.

در استفاده روزمره ممکن است CPU فرصت کافی برای خنک شدن
بین بارهای کوتاه داشته باشد و محدودیت کمتر محسوس باشد.

Common Mistakes — اشتباهات رایج درباره توان و دما
  • TDP را برابر حداکثر مصرف CPU دانستن.
  • فرض اینکه CPU با TDP کمتر همیشه خنک تر است.
  • فکر کردن به اینکه هر افت فرکانس Thermal Throttling است.
  • نادیده گرفتن Power Limit در لپ تاپ.
  • مقایسه دو لپ تاپ فقط با نام CPU.
  • استفاده از Benchmark کوتاه برای قضاوت درباره رندر طولانی.
  • نادیده گرفتن سلامت سیستم خنک کننده لپ تاپ استوک.


این مفهوم در خرید لپ تاپ استوک چه اهمیتی دارد؟

برای خرید دستگاه مخصوص Workload سنگین، فقط مشخصات CPU کافی نیست.

باید طراحی بدنه، سیستم خنک کننده، کلاس دستگاه و توانایی آن
در حفظ Performance طولانی نیز بررسی شود.

به همین دلیل Workstationها گاهی با CPU مشابه یک لپ تاپ باریک،
در بار طولانی Performance بالاتری ارائه می دهند.

سوالات متداول فصل توان و دمای CPU

TDP چیست؟

شاخصی مرتبط با طراحی حرارتی پردازنده است و نباید
آن را مستقیماً برابر حداکثر مصرف واقعی CPU دانست.

Thermal Throttling چیست؟

کاهش Performance پردازنده برای جلوگیری از عبور
از محدودیت دمایی است.

Power Throttling چیست؟

محدود شدن Performance به دلیل رسیدن CPU به
سقف توان تعریف شده است.

آیا 90 درجه برای CPU خطرناک است؟

پاسخ به مدل پردازنده و TJMax آن بستگی دارد.
برای قضاوت باید مشخصات رسمی همان CPU و رفتار
دستگاه زیر بار بررسی شود.

چرا CPU لپ تاپ هنگام رندر فرکانسش کم می شود؟

ممکن است به محدودیت دما، توان یا هر دو رسیده باشد.

آیا تعویض خمیر حرارتی Performance را بهتر می کند؟

اگر انتقال حرارت قبلی ضعیف شده باشد، می تواند دما
را کاهش دهد و به حفظ فرکانس بهتر کمک کند.

آیا CPU یکسان در دو لپ تاپ سرعت یکسانی دارد؟

نه لزوماً. Power Limit، Cooling، BIOS و طراحی دستگاه
می توانند Performance پایدار را تغییر دهند.

PL1 و PL2 چه هستند؟

اصطلاحاتی برای محدودیت های توان در برخی نسل های Intel
هستند که رفتار توان پایدار و کوتاه مدت CPU را
مدیریت می کنند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • TDP را از حداکثر مصرف واقعی جدا بدانید.
  • Power Limit را توضیح دهید.
  • Thermal و Power Throttling را از هم تشخیص دهید.
  • نقش TJMax را بدانید.
  • توضیح دهید چرا Cooling روی Performance اثر دارد.
  • بدانید دو لپ تاپ با CPU یکسان الزاماً یکسان عمل نمی کنند.
  • Sustained Performance را از Burst Performance تشخیص دهید.


فصل 10
سطح: پایه تا متوسط
پیش نیاز: فصل های مبانی CPU
موضوع: ارتباط CPU با سایر اجزای سیستم


CPU به تنهایی یک سیستم کامل نیست

CPU چگونه با RAM، GPU، SSD و سایر قطعات کامپیوتر کار می کند؟

حتی قدرتمندترین CPU نیز بدون دسترسی سریع به داده،
حافظه مناسب، گرافیک کافی و مسیر ارتباطی مناسب نمی تواند
حداکثر عملکرد خود را ارائه دهد.

در این فصل می بینیم پردازنده چگونه با RAM، GPU،
Storage، PCIe و Chipset ارتباط برقرار می کند و چرا
گلوگاه یکی از این بخش ها می تواند Performance کل سیستم
را محدود کند.


پاسخ سریع

CPU برای اجرای برنامه ها به داده نیاز دارد.
این داده ها معمولاً از Storage وارد RAM می شوند،
سپس پردازنده آن ها را از طریق Memory Controller
دریافت می کند.

GPU نیز برای پردازش گرافیکی یا محاسبات تخصصی با CPU
تبادل داده دارد و PCIe یکی از مسیرهای مهم این ارتباط است.

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU چگونه به RAM دسترسی پیدا می کند.
  • Memory Controller چیست.
  • CPU و GPU چه وظایفی را بین خود تقسیم می کنند.
  • PCIe چه نقشی در ارتباط قطعات دارد.
  • Chipset چیست و چه کار می کند.
  • SSD چگونه داده را در اختیار سیستم قرار می دهد.
  • Bottleneck چیست.
  • چرا سرعت یک سیستم فقط به CPU وابسته نیست.

نقشه مفهومی جریان داده در سیستم

01
Storageفایل ها و برنامه ها روی SSD یا حافظه ذخیره می شوند.
02
RAMداده های فعال با سرعت بالاتر در حافظه اصلی قرار می گیرند.
03
CPUپردازنده دستورها و داده ها را پردازش می کند.
04
GPUبخشی از پردازش گرافیکی و موازی را انجام می دهد.
05
Outputنتیجه به نمایشگر، فایل یا بخش دیگری از سیستم می رسد.

CPU چه ارتباطی با RAM دارد؟

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

CPU نمی تواند تمام اطلاعات موردنیاز خود را داخل Cache نگه دارد،
بنابراین مرتباً باید به RAM دسترسی داشته باشد.

هرچه Latency حافظه کمتر و پهنای باند مناسب تر باشد،
CPU در برخی Workloadها می تواند داده را سریع تر دریافت کند.

Memory Controller چیست؟

Memory Controller بخشی است که ارتباط میان CPU و RAM را مدیریت می کند.

در بسیاری از پردازنده های مدرن، Memory Controller
داخل خود Package پردازنده قرار دارد.

این کنترل کننده تعیین می کند CPU از چه نوع حافظه،
چه تعداد Channel و چه سرعت هایی پشتیبانی کند.

Single Channel و Dual Channel چه ارتباطی با CPU دارند؟

Memory Channel مسیرهای مستقل ارتباط میان کنترل کننده حافظه
و RAM هستند.

استفاده از دو Channel می تواند پهنای باند حافظه را نسبت به
پیکربندی تک Channel افزایش دهد.

این موضوع در بعضی Workloadها و مخصوصاً گرافیک مجتمع می تواند
Performance قابل توجهی ایجاد کند.


مرتبط در کتابخانه StokShop — کتاب جامع RAM

مفاهیمی مانند DDR، Channel، Frequency، Timing، CL،
Bandwidth و Capacity در کتاب تخصصی RAM به صورت کامل
بررسی خواهند شد.

در این کتاب فقط بخش هایی از RAM را توضیح می دهیم که
برای درک رفتار CPU ضروری هستند.

CPU و GPU چگونه با یکدیگر کار می کنند؟

CPU یک پردازنده عمومی است و وظایف متنوعی را مدیریت می کند،
در حالی که GPU برای انجام حجم بزرگی از عملیات موازی
بهینه شده است.

در بازی یا نرم افزار سه بعدی، CPU ممکن است منطق برنامه،
Physics، AI و آماده سازی دستورهای رندر را مدیریت کند
و GPU پردازش گرافیکی را انجام دهد.

بنابراین اگر یکی از این دو بسیار ضعیف تر از دیگری باشد،
کل سیستم می تواند محدود شود.

CPU Bottleneck چیست؟

CPU Bottleneck زمانی رخ می دهد که پردازنده نتواند
به اندازه کافی سریع داده یا دستور موردنیاز GPU یا
بخش دیگر سیستم را آماده کند.

در این شرایط GPU ممکن است بخشی از زمان منتظر CPU بماند
و استفاده کامل از توان گرافیکی ممکن نشود.

GPU Bottleneck چیست؟

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

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


مرتبط در کتابخانه StokShop — دانشنامه جامع گرافیک

معماری GPU، VRAM، CUDA، Ray Tracing، توان پردازشی،
Bottleneck و انتخاب کارت گرافیک در دانشنامه تخصصی
گرافیک به صورت عمیق بررسی می شوند.

گرافیک مجتمع چه ارتباطی با CPU دارد؟

در بسیاری از پردازنده ها یک GPU مجتمع داخل همان Package
یا ساختار پردازنده قرار دارد.

iGPU معمولاً حافظه اختصاصی بزرگی ندارد و از RAM سیستم
به صورت Shared Memory استفاده می کند.

به همین دلیل سرعت و Channel حافظه می تواند روی Performance
گرافیک مجتمع اثر بیشتری نسبت به سیستم دارای GPU مجزا داشته باشد.

CPU چه ارتباطی با SSD دارد؟

SSD فایل ها و برنامه ها را ذخیره می کند.
هنگام اجرای برنامه، داده های موردنیاز از Storage خوانده
و وارد RAM می شوند.

CPU سپس از داده های موجود در RAM استفاده می کند.

SSD سریع تر می تواند زمان Boot، Load برنامه و انتقال فایل را
کاهش دهد، اما لزوماً Performance محاسباتی خود CPU را افزایش نمی دهد.

Common Mistake — SSD سریع تر یعنی CPU سریع تر نیست

SSD سریع می تواند زمان انتظار برای خواندن یا نوشتن داده را
کم کند، اما در یک محاسبه کاملاً CPU-bound پس از Load شدن داده،
سرعت Storage ممکن است تأثیر کمی داشته باشد.

PCIe چیست؟

PCI Express یا PCIe یکی از مهم ترین استانداردهای ارتباط
پرسرعت میان پردازنده و قطعاتی مانند GPU، NVMe SSD
و برخی کنترل کننده ها است.

PCIe از Laneها استفاده می کند و تعداد Lane و نسل PCIe
روی پهنای باند قابل دستیابی اثر دارند.

PCIe Lane چیست؟

Lane یک مسیر ارتباطی دوطرفه PCIe است.

اتصال هایی مانند x1، x4، x8 یا x16 نشان می دهند
چند Lane در اختیار ارتباط قرار گرفته است.

کارت گرافیک معمولاً از اتصال با Laneهای بیشتر استفاده می کند،
در حالی که NVMe SSD اغلب به تعداد کمتری Lane نیاز دارد.

نسل PCIe چه اهمیتی دارد؟

هر نسل جدید PCIe معمولاً پهنای باند بیشتری برای هر Lane
فراهم می کند.

اما استفاده واقعی از این پهنای باند به قطعه متصل شده
و نوع Workload بستگی دارد.

بنابراین PCIe جدیدتر همیشه Performance روزمره سیستم را
به همان نسبت افزایش نمی دهد.

Chipset چیست؟

Chipset بخشی از پلتفرم سیستم است که ارتباط بسیاری از
ورودی و خروجی ها، Storage، USB، شبکه و سایر قابلیت ها
را مدیریت می کند.

برخی مسیرهای مهم مانند ارتباط GPU یا RAM ممکن است
مستقیماً به CPU متصل باشند، در حالی که بخش دیگری از
I/O از طریق Chipset مدیریت می شود.

اتصال مستقیم به CPU چه تفاوتی با اتصال از طریق Chipset دارد؟

اتصال مستقیم معمولاً Latency کمتر و مسیر اختصاصی تری دارد.

دستگاه هایی که از طریق Chipset متصل هستند ممکن است
پهنای باند مشترکی در مسیر ارتباطی Chipset با CPU داشته باشند.

طراحی دقیق این ارتباط به پلتفرم و نسل سخت افزار وابسته است.

Bottleneck چیست؟

Bottleneck یا گلوگاه ضعیف ترین بخش مؤثر در یک مسیر کاری است؛
بخشی که سرعت کل سیستم را محدود می کند.

گلوگاه ثابت نیست و با تغییر نرم افزار، رزولوشن،
حجم داده و تنظیمات سیستم تغییر می کند.

CPU Bottleneck

CPU نمی تواند کار را به اندازه کافی سریع آماده کند.

GPU Bottleneck

پردازش گرافیکی محدودکننده اصلی Performance است.

RAM Bottleneck

ظرفیت یا پهنای باند حافظه مانع Workload می شود.

Storage Bottleneck

خواندن و نوشتن داده سرعت Workflow را محدود می کند.

سیستم متعادل یعنی چه؟

سیستم متعادل سیستمی نیست که تمام قطعات آن گران ترین مدل باشند.

منظور این است که قطعات متناسب با Workload انتخاب شوند
و هیچ بخش مهمی به شکل غیرمنطقی توان سایر قطعات را محدود نکند.

برای مثال، خرید CPU بسیار قدرتمند در کنار RAM بسیار کم
یا GPU بسیار ضعیف ممکن است برای یک Workload مشخص انتخاب
منطقی نباشد.

مثال واقعی: اجرای Revit روی یک لپ تاپ

CPU می تواند بخش مهمی از منطق برنامه و پردازش های اصلی را انجام دهد،
RAM مدل و داده های فعال پروژه را نگه می دارد و GPU
نمایش سه بعدی Viewport را پردازش می کند.

اگر RAM کافی نباشد، حتی CPU قدرتمند نیز نمی تواند تجربه خوبی ایجاد کند.
اگر GPU بسیار ضعیف باشد، Viewport ممکن است کند شود.
اگر CPU ضعیف باشد، عملیات محاسباتی و بعضی مراحل پروژه محدود می شوند.

بنابراین انتخاب سیستم باید بر اساس کل Workflow انجام شود.

Under the Hood — CPU مرکز یک شبکه ارتباطی است

پردازنده مدرن فقط مجموعه ای از Coreها نیست.

داخل Package ممکن است Memory Controller،
PCIe Controller، GPU مجتمع، NPU و Interconnectهای
مختلف وجود داشته باشند.

داده میان این واحدها از طریق ساختارهای داخلی
و خارجی جابه جا می شود و Latency و Bandwidth
هر مسیر می تواند روی Performance اثر بگذارد.

در بخش مهندسی کتاب، Interconnect، Ring Bus،
Mesh و Infinity Fabric را عمیق تر بررسی می کنیم.

Engineering Insight — Performance یک سیستم، Performance ضعیف ترین قطعه نیست

عبارت «ضعیف ترین قطعه سرعت سیستم را تعیین می کند»
بیش از حد ساده است.

در واقع هر Workload مسیر متفاوتی از CPU، RAM،
Storage و GPU را استفاده می کند و ممکن است در بخش های
مختلف همان برنامه Bottleneck جابه جا شود.

بنابراین Bottleneck باید همیشه در بستر یک Workload
مشخص تحلیل شود.

Performance Impact — هماهنگی قطعات چه اهمیتی دارد؟

CPU سریع در کنار Memory Subsystem ضعیف ممکن است
زمان زیادی در انتظار داده بماند.

GPU قدرتمند در کنار CPU ضعیف ممکن است در بعضی بازی ها
به استفاده کامل نرسد.

به همین دلیل انتخاب متعادل قطعات معمولاً ارزش بیشتری
از تمرکز افراطی روی یک قطعه دارد.

Common Mistakes — اشتباهات رایج
  • تصور اینکه CPU به تنهایی سرعت سیستم را تعیین می کند.
  • نادیده گرفتن RAM در سیستم دارای iGPU.
  • فرض اینکه SSD سریع تر قدرت محاسباتی CPU را بالا می برد.
  • تصور اینکه Bottleneck همیشه ثابت است.
  • مقایسه GPU بدون توجه به CPU و رزولوشن.
  • نادیده گرفتن PCIe و محدودیت های پلتفرم در Workloadهای خاص.


این مفهوم در خرید لپ تاپ چه اهمیتی دارد؟

لپ تاپ را به صورت یک مجموعه بررسی کنید، نه فقط CPU.

برای بسیاری از کاربران ترکیب CPU مناسب، RAM کافی،
SSD مناسب و GPU متناسب با نرم افزار نتیجه بهتری از
هزینه کردن بیش از حد برای یک پردازنده قدرتمند ایجاد می کند.

سوالات متداول فصل ارتباط CPU با سایر قطعات

CPU بدون RAM کار می کند؟

در یک کامپیوتر معمولی، CPU برای اجرای سیستم عامل و
برنامه ها به حافظه اصلی نیاز دارد.

RAM بیشتر CPU را سریع تر می کند؟

اگر سیستم با کمبود RAM مواجه باشد، افزایش ظرفیت می تواند
Performance را بهتر کند؛ اما RAM بیشتر به تنهایی
قدرت محاسباتی هسته CPU را افزایش نمی دهد.

CPU و GPU چه تفاوتی دارند؟

CPU پردازنده عمومی برای وظایف متنوع است و GPU
برای محاسبات موازی و گرافیکی بهینه شده است.

CPU Bottleneck چیست؟

زمانی است که CPU سرعت بخش مهمی از Workload را محدود کند.

PCIe چیست؟

استاندارد ارتباط پرسرعت برای اتصال قطعاتی مانند GPU
و NVMe SSD به پلتفرم است.

Chipset چه کاری انجام می دهد؟

مجموعه ای از قابلیت های I/O و ارتباطات پلتفرم را
مدیریت می کند.

آیا SSD سریع تر FPS را بیشتر می کند؟

معمولاً اثر اصلی SSD روی Loading و انتقال داده است.
افزایش FPS به نوع بازی و گلوگاه سیستم بستگی دارد.

Dual Channel برای گرافیک مجتمع مهم است؟

در بسیاری از سیستم های دارای iGPU، پهنای باند حافظه
می تواند روی Performance گرافیکی اثر قابل توجهی داشته باشد.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • نقش RAM در تغذیه داده CPU را توضیح دهید.
  • Memory Controller را بشناسید.
  • تفاوت نقش CPU و GPU را بدانید.
  • PCIe و Chipset را در سطح مفهومی بفهمید.
  • Bottleneck را وابسته به Workload بدانید.
  • توضیح دهید چرا سیستم باید به صورت یک مجموعه تحلیل شود.

پایان بخش اول — حالا چه چیزهایی درباره CPU می دانید؟

در ده فصل اول، پایه های لازم برای تحلیل پردازنده را ساختیم:
نقش CPU، اجرای دستور، Core و Thread، فرکانس، IPC، Cache،
معماری، Process Node، توان، دما و ارتباط با سایر قطعات.

از بخش بعد دیگر فقط درباره مفهوم CPU صحبت نمی کنیم؛
یاد می گیریم یک مدل واقعی پردازنده را بخوانیم و نسل،
Family، SKU و Suffix آن را تشخیص دهیم.



بخش دوم — شناسنامه و تشخیص نسل CPU

چگونه مدل، نسل، خانواده و پسوند پردازنده را تشخیص دهیم؟

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

هدف این بخش این است که وقتی با نام هایی مانند
Intel Core i7-11800H، Core Ultra، Ryzen 5 یا Ryzen 7
روبه رو می شوید، فقط یک نام تجاری نبینید؛ بلکه بتوانید
اجزای مختلف شناسنامه CPU را از یکدیگر جدا کنید.

مسیر این بخش

01
پیدا کردن مدل کاملابتدا نام دقیق CPU سیستم را پیدا می کنیم.
02
خواندن نام CPUFamily، Tier، Generation، SKU و Suffix را جدا می کنیم.
03
تشخیص نسل Intelساختار نسل های کلاسیک و مدل های جدید را جدا بررسی می کنیم.
04
تشخیص Ryzenسیستم نام گذاری AMD را مرحله به مرحله باز می کنیم.
05
مقایسه قدرت واقعییاد می گیریم چرا تشخیص نسل فقط نقطه شروع مقایسه است.

فصل 11
سطح: پایه
پیش نیاز: ندارد
موضوع: پیدا کردن مدل کامل پردازنده


اولین قدم قبل از مقایسه

چگونه مدل دقیق CPU لپ تاپ یا کامپیوتر را پیدا کنیم؟

برای تشخیص نسل یا مقایسه قدرت CPU، ابتدا باید
مدل کامل پردازنده را بدانید. عبارت هایی مانند
Core i5، Core i7 یا Ryzen 7 به تنهایی کافی نیستند.


پاسخ سریع

در ویندوز می توانید مدل CPU را از Task Manager،
System Information، Settings یا ابزارهایی مانند CPU-Z
مشاهده کنید.

برای مقایسه حتماً نام کامل را یادداشت کنید؛
برای مثال:


Intel Core i7-11800H

نه فقط:
Core i7

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا نام کامل CPU ضروری است.
  • چگونه مدل CPU را در Windows پیدا کنیم.
  • چگونه CPU را با Task Manager بررسی کنیم.
  • System Information چه اطلاعاتی می دهد.
  • CPU-Z چه زمانی مفید است.
  • چگونه از PowerShell یا Command Line مدل را ببینیم.
  • چگونه مدل CPU را در Linux پیدا کنیم.
  • چرا نباید فقط به برچسب روی لپ تاپ اعتماد کرد.

چرا باید مدل کامل CPU را پیدا کنیم؟

نام هایی مانند Core i5 یا Core i7 فقط بخشی از هویت
پردازنده هستند.

برای مثال دو پردازنده می توانند هر دو Core i7 باشند،
اما از نسل، معماری، تعداد هسته و کلاس توان کاملاً متفاوتی
استفاده کنند.

بدون مدل کامل نمی توان نسل، پسوند یا جایگاه واقعی
پردازنده را تشخیص داد.

اطلاعات برای مقایسه کافی است؟
Core i7 خیر
Ryzen 5 خیر
Intel Core i7-11800H بله، نقطه شروع مناسب
AMD Ryzen + مدل کامل بله، برای تحلیل دقیق

روش اول: پیدا کردن مدل CPU از Task Manager ویندوز

یکی از سریع ترین روش ها در Windows استفاده از Task Manager است.

  1. Task Manager را باز کنید.
  2. وارد بخش
    Performance
    شوید.
  3. گزینه
    CPU
    را انتخاب کنید.
  4. نام پردازنده در بالای صفحه نمایش داده می شود.

در همین صفحه معمولاً می توانید تعداد Core و Logical Processor،
فرکانس و میزان استفاده از CPU را نیز مشاهده کنید.

روش دوم: پیدا کردن CPU از Settings ویندوز

در Windows می توانید از بخش اطلاعات سیستم نیز مدل CPU را ببینید.

مسیر کلی معمولاً از بخش
System
و اطلاعات دستگاه قابل دسترسی است.

این روش برای مشاهده سریع نام پردازنده مناسب است،
اما برای اطلاعات فنی عمیق تر ابزارهای دیگر بهتر هستند.

روش سوم: System Information

ابزار System Information اطلاعات گسترده تری درباره
سخت افزار و سیستم عامل ارائه می دهد.

در بخش اصلی آن، گزینه Processor معمولاً نام کامل CPU
را نمایش می دهد.

روش چهارم: استفاده از CPU-Z

CPU-Z یکی از ابزارهای شناخته شده برای مشاهده مشخصات
پردازنده و سایر اجزای سیستم است.

این ابزار می تواند اطلاعاتی مانند:

  • نام پردازنده
  • Code Name
  • Package
  • Core / Thread
  • Clock
  • Cache
  • Instruction Set

را نمایش دهد.


نکته

برای کاربر معمولی نام کامل CPU کافی است،
اما برای تحلیل فنی و تشخیص دقیق معماری،
Code Name و سایر اطلاعات نیز می توانند مفید باشند.

روش پنجم: پیدا کردن مدل CPU با PowerShell

کاربران حرفه ای می توانند مدل CPU را از طریق ابزارهای
خط فرمان نیز مشاهده کنند.

این روش مخصوصاً هنگام مدیریت چند سیستم یا بررسی سریع
مشخصات بدون رابط گرافیکی مفید است.

آیا مدل CPU در BIOS یا UEFI هم نمایش داده می شود؟

بله. در بسیاری از سیستم ها مدل پردازنده در صفحه اصلی
BIOS یا UEFI نمایش داده می شود.

این روش زمانی مفید است که سیستم عامل هنوز نصب نشده
یا به Windows دسترسی ندارید.

در Linux چگونه مدل CPU را پیدا کنیم؟

در سیستم های Linux چندین ابزار خط فرمان برای مشاهده
مشخصات CPU وجود دارد.

دستورهایی مانند
lscpu
می توانند مدل، معماری، تعداد هسته و سایر اطلاعات
پردازنده را نمایش دهند.

آیا برچسب Core i5 یا Core i7 روی لپ تاپ قابل اعتماد است؟

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

برچسب فقط ممکن است نشان دهد دستگاه در زمان عرضه
از خانواده ای مانند Core i5 استفاده کرده است.

همیشه مدل واقعی CPU را از خود سیستم بررسی کنید.

وقتی مدل CPU را پیدا کردیم، چه بخش هایی مهم هستند؟

فرض کنید سیستم این مدل را نمایش می دهد:


نمونه

Intel Core i7-11800H

در فصل بعد یاد می گیریم این نام را به چند بخش تقسیم کنیم:

  • Brand
  • Family
  • Tier
  • Generation
  • SKU
  • Suffix

آیا از روی مدل کامل همیشه می توان نسل را تشخیص داد؟

در بسیاری از خانواده های CPU، نام مدل اطلاعات زیادی درباره
نسل یا جایگاه محصول می دهد.

اما سیستم نام گذاری در طول زمان تغییر کرده و تمام محصولات
Intel و AMD از یک قانون واحد استفاده نمی کنند.

به همین دلیل در فصل های بعد، نسل های کلاسیک Intel،
نام گذاری های جدید Intel و مدل های Ryzen را جداگانه
بررسی می کنیم.

Common Mistakes — اشتباهات رایج در تشخیص مدل CPU
  • یادداشت کردن فقط Core i5 یا Core i7.
  • اعتماد کامل به برچسب روی بدنه لپ تاپ.
  • اشتباه گرفتن نام CPU با نام لپ تاپ.
  • اشتباه گرفتن GPU با CPU در صفحه مشخصات.
  • حذف پسوند انتهای مدل.
  • فرض اینکه عدد بزرگ تر همیشه به معنی نسل جدیدتر است.

Under the Hood — سیستم عامل چگونه CPU را شناسایی می کند؟

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

سیستم عامل و ابزارهای تشخیصی از این اطلاعات
برای نمایش نام، Family، Model، Featureها
و قابلیت های پردازنده استفاده می کنند.

در بخش مهندسی کتاب به مفهوم CPUID و نحوه
شناسایی Featureهای CPU خواهیم رسید.

Engineering Insight — نام تجاری با شناسه فنی یکسان نیست

نامی که روی جعبه یا سایت فروش دیده می شود یک
Product Name است.

در سطح فنی، CPU شناسه های دیگری مانند Family،
Model، Stepping و Feature Flags نیز دارد.

این شناسه ها برای سیستم عامل، توسعه دهندگان
و ابزارهای تشخیصی اهمیت زیادی دارند.

Performance Impact — چرا تشخیص مدل قبل از Benchmark ضروری است؟

اگر مدل کامل CPU را ندانید، ممکن است Benchmark
اشتباهی را با سیستم خود مقایسه کنید.

حتی دو مدل با نام خانوادگی مشابه می توانند
تعداد هسته، توان و Performance کاملاً متفاوتی داشته باشند.


این مفهوم در خرید لپ تاپ استوک چه اهمیتی دارد؟

هنگام خرید، از فروشنده فقط نپرسید «i7 است؟».

مدل کامل CPU را دریافت کنید.
برای مثال تفاوت میان دو Core i7 از نسل ها و سری های
متفاوت می تواند بسیار بیشتر از تفاوت میان یک i5
و i7 هم نسل باشد.

سوالات متداول فصل پیدا کردن مدل CPU

سریع ترین راه دیدن مدل CPU در ویندوز چیست؟

Task Manager و بخش Performance یکی از سریع ترین
روش ها برای مشاهده نام پردازنده است.

آیا Core i7 برای تشخیص CPU کافی است؟

خیر. مدل کامل شامل نسل، SKU و در بسیاری از
محصولات پسوند نیز اهمیت دارد.

CPU-Z چه اطلاعاتی می دهد؟

علاوه بر نام CPU، اطلاعات فنی بیشتری مانند
Clock، Core، Thread، Cache و Code Name را
نمایش می دهد.

آیا می توان قبل از نصب ویندوز مدل CPU را دید؟

در بسیاری از دستگاه ها مدل پردازنده در BIOS
یا UEFI قابل مشاهده است.

آیا برچسب روی لپ تاپ مدل دقیق CPU را نشان می دهد؟

معمولاً فقط خانواده کلی را نشان می دهد.
برای مدل دقیق باید خود سیستم بررسی شود.

چرا پسوند CPU مهم است؟

پسوند می تواند اطلاعات مهمی درباره کلاس توان،
نوع محصول و جایگاه پردازنده ارائه دهد.

آیا از روی نام CPU می توان قدرت آن را فهمید؟

می توان جایگاه تقریبی را فهمید، اما برای
قضاوت واقعی باید معماری، نسل، هسته، توان
و Benchmark را نیز بررسی کرد.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • مدل کامل CPU را در Windows پیدا کنید.
  • بدانید Core i5 یا Ryzen 7 به تنهایی کافی نیست.
  • مدل CPU را از نام لپ تاپ جدا کنید.
  • اهمیت پسوند مدل را بدانید.
  • از ابزارهای تخصصی در صورت نیاز استفاده کنید.
  • قبل از مقایسه Benchmark، مدل دقیق CPU را تأیید کنید.


فصل 12
سطح: پایه تا متوسط
پیش نیاز: پیدا کردن مدل کامل CPU
موضوع: Brand، Family، Tier، Generation، SKU و Suffix


خواندن شناسنامه پردازنده

چگونه نام یک CPU را بخوانیم؟ از Brand تا Generation، SKU و Suffix

نام کامل پردازنده مجموعه ای از چند بخش است و هر بخش
می تواند اطلاعات متفاوتی درباره خانواده، جایگاه، نسل،
مدل و کلاس طراحی CPU بدهد.

اگر این ساختار را یاد بگیرید، نام هایی مانند
Intel Core i7-11800H یا مدل های Ryzen دیگر فقط یک رشته
عدد و حرف نخواهند بود؛ بلکه به یک شناسنامه قابل تحلیل
تبدیل می شوند.


پاسخ سریع

برای خواندن نام CPU معمولاً باید چند بخش را از هم جدا کنیم:


Brand → Family / Product Line → Tier → Generation / Series
→ SKU → Suffix

همه شرکت ها و همه نسل ها دقیقاً از همین الگو استفاده نمی کنند،
اما این مدل ذهنی برای شروع بسیار مفید است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Brand چیست.
  • Family یا Product Line چه معنایی دارد.
  • Tier چیست.
  • Generation و Series چه تفاوتی دارند.
  • SKU چیست.
  • Suffix چیست.
  • چرا عدد بزرگ تر همیشه به معنی CPU سریع تر نیست.
  • چرا سیستم نام گذاری Intel و AMD را باید جداگانه یاد گرفت.

نقشه مفهومی نام یک پردازنده

01
Brandشرکت یا برند اصلی محصول.
02
Family / Lineخانواده یا خط محصول.
03
Tierجایگاه نسبی محصول در خانواده.
04
Generation / Seriesنسل یا سری محصول در سیستم نام گذاری همان خانواده.
05
SKUشناسه دقیق تر مدل در همان خانواده.
06
Suffixاطلاعات تکمیلی درباره کلاس یا ویژگی محصول.

مثال اول: Intel Core i7-11800H

این مدل را می توان برای آموزش به چند بخش تقسیم کرد:

بخش نمونه مفهوم کلی
Brand Intel برند سازنده
Product Family Core خانواده محصول
Tier i7 رده محصول در خانواده Core
Generation 11 نسل در سیستم نام گذاری این خانواده
SKU 800 شناسه دقیق تر مدل
Suffix H رده یا کلاس طراحی پردازنده موبایل

کالبدشکافی سریع مدل


Intel | Core | i7 | 11 | 800 | H

هدف این مثال فقط ساخت یک مدل ذهنی است.
در فصل های بعد می بینیم که سیستم نام گذاری Intel
در خانواده های جدید تغییر کرده و همیشه نمی توان
همین قانون را بدون بررسی استفاده کرد.

Brand چیست؟

Brand نام شرکت یا برند اصلی سازنده پردازنده است.

در بازار کامپیوترهای شخصی، Intel و AMD دو نام بسیار مهم هستند،
اما Brand به تنهایی تقریباً هیچ اطلاعاتی درباره قدرت یک CPU
مشخص نمی دهد.

Family یا Product Line چیست؟

خانواده محصول مشخص می کند CPU در کدام خط کلی محصولات
سازنده قرار دارد.

نمونه هایی مانند Core، Core Ultra، Ryzen، Threadripper
یا Xeon هرکدام به یک خانواده یا رده محصول متفاوت اشاره می کنند.

خانواده محصول معمولاً اطلاعات بیشتری از Brand می دهد،
اما هنوز برای مقایسه دقیق کافی نیست.

Tier چیست؟

Tier جایگاه نسبی محصول را داخل یک خانواده مشخص می کند.

برای مثال در بعضی خانواده ها با رده هایی مانند:

  • Core i3
  • Core i5
  • Core i7
  • Core i9

یا:

  • Ryzen 3
  • Ryzen 5
  • Ryzen 7
  • Ryzen 9

روبه رو می شویم.

Tier معمولاً جایگاه کلی را نشان می دهد، نه قدرت مطلق
در برابر تمام نسل ها.

Common Mistake — i7 همیشه از i5 قوی تر نیست

Core i7 معمولاً در همان نسل و خانواده جایگاه بالاتری
از Core i5 دارد، اما این قانون را نمی توان بدون بررسی
به نسل های متفاوت تعمیم داد.

یک i5 جدید می تواند در بسیاری از کاربردها از یک i7
چند نسل قدیمی سریع تر باشد.

Generation یا نسل چیست؟

Generation یک روش برای مشخص کردن دوره یا نسل محصول است.

در بعضی خانواده های Intel، رقم های ابتدایی مدل به تشخیص
نسل کمک می کنند.

اما همه محصولات Intel، AMD و خانواده های جدید از یک
قانون یکسان پیروی نمی کنند.

به همین دلیل بخش تشخیص نسل این کتاب به چند فصل مستقل
تقسیم شده است.

Series چه تفاوتی با Generation دارد؟

Series می تواند یک خانواده زمانی یا محصولی را مشخص کند،
اما الزاماً همان مفهوم نسل کلاسیک را ندارد.

در سیستم های نام گذاری جدید، ممکن است سازنده به جای الگوی
قدیمی نسل از Series یا نام گذاری متفاوتی استفاده کند.

بنابراین همیشه باید سیستم نام گذاری همان خانواده را بررسی کرد.

SKU چیست؟

SKU یا شماره مدل، جایگاه دقیق تر یک پردازنده را داخل
خانواده و نسل مشخص می کند.

برای مثال دو CPU می توانند هر دو Core i7 نسل مشابه باشند،
اما SKU متفاوت داشته باشند و تعداد هسته، فرکانس، Cache
یا کلاس طراحی متفاوتی ارائه دهند.

SKU معمولاً برای تشخیص مدل دقیق ضروری است.

آیا SKU بزرگ تر همیشه یعنی CPU قوی تر؟

نه همیشه.

داخل یک خانواده نزدیک ممکن است عدد بالاتر معمولاً به مدل
بالاتر اشاره کند، اما نمی توان این قانون را میان نسل ها،
پسوندها یا خانواده های متفاوت بدون بررسی اعمال کرد.

Suffix یا پسوند CPU چیست؟

Suffix حرف یا مجموعه ای از حروف در انتهای مدل است که می تواند
اطلاعات مهمی درباره کلاس محصول، مصرف، عملکرد یا ویژگی خاص
پردازنده ارائه دهد.

نمونه هایی مانند:

U / H / HX / HS / K / F / X3D

بسته به سازنده و خانواده معناهای متفاوتی دارند.

چرا حذف پسوند از نام CPU اشتباه بزرگی است؟

پسوند می تواند کلاس طراحی CPU را تغییر دهد.

برای مثال در پردازنده های لپ تاپ، دو مدل با Tier و نسل
مشابه اما پسوند متفاوت ممکن است برای اهداف کاملاً متفاوت
طراحی شده باشند.

یکی ممکن است روی Efficiency و شارژدهی تمرکز داشته باشد
و دیگری برای Performance بالاتر طراحی شده باشد.


قانون مهم کتاب

در فصل پسوندها هیچ Suffix را به تنهایی تعریف نمی کنیم.

هر پسوند با گزینه های نزدیک خود از نظر Performance،
Power، Heat، Battery، Cooling، Weight و نوع کاربری
مقایسه خواهد شد.

آیا مدل های AMD هم دقیقاً به همین روش خوانده می شوند؟

نه.

AMD سیستم های نام گذاری متفاوتی در دوره های مختلف
استفاده کرده است و بعضی اعداد در نام Ryzen می توانند
اطلاعات متفاوتی از چیزی که کاربر انتظار دارد منتقل کنند.

به همین دلیل AMD Ryzen در فصل مستقل و با مثال های واقعی
آموزش داده می شود.

چرا یاد گرفتن یک فرمول ثابت برای همه CPUها اشتباه است؟

سیستم نام گذاری محصولات با گذشت زمان تغییر می کند.

حتی یک شرکت ممکن است برای خانواده های جدید از ساختاری
متفاوت با مدل های قدیمی استفاده کند.

بنابراین روش صحیح این است که ابتدا Family را تشخیص دهیم
و سپس قانون نام گذاری همان Family را استفاده کنیم.

آیا با خواندن نام CPU می توان قدرت دقیق آن را فهمید؟

خیر.

نام مدل می تواند اطلاعات بسیار مفیدی درباره جایگاه محصول بدهد،
اما Performance واقعی باید با مشخصات فنی و Benchmark
مناسب بررسی شود.

نام CPU کمک می کند بدانیم چه چیزی را باید مقایسه کنیم؛
خودش نتیجه نهایی مقایسه نیست.

بعد از خواندن مدل CPU چه چیزهایی باید بررسی شوند؟

Generation

محصول متعلق به چه نسل یا Series است؟

Architecture

از چه Microarchitecture استفاده می کند؟

Core / Thread

ظرفیت پردازش موازی آن چقدر است؟

Power Class

برای چه محدوده توان و نوع دستگاهی طراحی شده است؟

Cache / Clock

مشخصات اصلی هسته و حافظه چگونه هستند؟

Benchmark

عملکرد واقعی در Workload موردنظر چقدر است؟

Under the Hood — Product Name با Family/Model سخت افزاری فرق دارد

نامی مانند Core i7-11800H برای انسان طراحی شده است
تا محصول قابل شناسایی و بازاریابی باشد.

اما سیستم عامل و نرم افزارهای سطح پایین ممکن است CPU
را با شناسه هایی مانند Family، Model و Stepping
تشخیص دهند.

بنابراین «نام مدل تجاری» و «شناسه Microarchitecture»
الزاماً یک چیز نیستند.

Engineering Insight — نام گذاری برای دسته بندی محصول است، نه توصیف کامل معماری

سیستم نام گذاری باید برای بازار قابل فهم باشد،
اما معماری CPU بسیار پیچیده تر از چیزی است که چند
عدد و حرف بتوانند بیان کنند.

همین دلیل باعث می شود برای تحلیل حرفه ای، نام محصول
را فقط نقطه شروع بدانیم.

Performance Impact — یک حرف در انتهای مدل می تواند مهم باشد

Suffix می تواند نشان دهد CPU برای دستگاه کم مصرف،
لپ تاپ Performance یا کلاس دیگری طراحی شده است.

این تفاوت می تواند روی Power Limit، Cooling موردنیاز،
فرکانس پایدار و Performance واقعی اثر زیادی بگذارد.

Common Mistakes — اشتباهات رایج در خواندن مدل CPU
  • استفاده از یک قانون نام گذاری برای تمام CPUها.
  • فرض اینکه i7 همیشه از i5 قوی تر است.
  • حذف Suffix هنگام مقایسه.
  • فرض اینکه SKU بزرگ تر همیشه CPU سریع تر است.
  • یکسان دانستن Generation و Architecture.
  • فرض اینکه نام مدل Performance دقیق را نشان می دهد.


این مفهوم در خرید لپ تاپ استوک چه اهمیتی دارد؟

در بازار استوک باید مدل CPU را کامل بخوانید.

برای مثال عبارت «لپ تاپ Core i7» اطلاعات کافی برای
قضاوت درباره ارزش خرید ندارد.

مدل کامل، نسل، Suffix، تعداد هسته و کلاس دستگاه
باید در کنار هم بررسی شوند.

سوالات متداول فصل خواندن نام CPU

SKU در CPU چیست؟

بخشی از شماره مدل است که برای مشخص کردن
مدل دقیق تر در یک خانواده استفاده می شود.

Suffix چیست؟

حرف یا حروف انتهای مدل هستند که می توانند
کلاس یا ویژگی محصول را مشخص کنند.

i7 یعنی نسل هفتم؟

خیر. i7 یک Tier در خانواده Core است و
نسل پردازنده از بخش دیگری از مدل تشخیص داده می شود.

آیا عدد بزرگ تر در مدل همیشه بهتر است؟

خیر. ابتدا باید نسل، خانواده و Suffix یکسان
یا قابل مقایسه باشند.

نسل و معماری CPU یک چیز هستند؟

خیر. نسل یک دسته بندی محصولی است و معماری
طراحی فنی داخلی پردازنده است.

آیا H از U قوی تر است؟

H معمولاً برای کلاس Performance بالاتری طراحی می شود،
اما مقایسه دقیق باید مدل، نسل و دستگاه را نیز در نظر بگیرد.

آیا Intel و AMD از یک سیستم نام گذاری استفاده می کنند؟

خیر. حتی سیستم نام گذاری هر شرکت نیز در طول زمان
تغییر کرده است.

برای مقایسه دو CPU چه چیزی از نام آن ها مهم تر است؟

بعد از شناسایی مدل باید Architecture، Core/Thread،
Power Class و Benchmark واقعی بررسی شود.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • Brand، Family و Tier را از یکدیگر جدا کنید.
  • Generation را از SKU تشخیص دهید.
  • اهمیت Suffix را بدانید.
  • نام محصول را با Architecture اشتباه نگیرید.
  • بدانید یک قانون نام گذاری برای همه CPUها وجود ندارد.
  • مدل کامل CPU را به عنوان نقطه شروع تحلیل استفاده کنید.


فصل 13
سطح: پایه تا متوسط
پیش نیاز: خواندن نام CPU
موضوع: تشخیص نسل پردازنده های Intel


یکی از مهم ترین مهارت های خرید لپ تاپ

چگونه نسل پردازنده Intel را از روی مدل CPU تشخیص دهیم؟

تشخیص نسل پردازنده Intel در بسیاری از مدل های Core i
نسبتاً ساده است؛ اما یک قانون واحد برای تمام پردازنده های
قدیمی و جدید Intel وجود ندارد.

سیستم نام گذاری Intel در طول زمان تغییر کرده است.
بنابراین ابتدا باید تشخیص دهیم با Core i کلاسیک،
Intel Core جدید یا Intel Core Ultra روبه رو هستیم
و سپس قانون همان خانواده را استفاده کنیم.


پاسخ سریع

در بسیاری از پردازنده های Intel Core i نسل دوم تا نهم،
اولین رقم شماره مدل بعد از i3، i5، i7 یا i9
نسل پردازنده را نشان می دهد.

برای مثال:

Core i5-8250U → 8th Generation

در نسل های 10 تا 14، معمولاً دو رقم ابتدایی شماره مدل
نسل را مشخص می کنند.

Core i7-10710U → 10th Generation
Core i5-1135G7 → 11th Generation
Core i5-1240P → 12th Generation
Core i7-13700H → 13th Generation
Core i7-14700HX → 14th Generation

اما برای Intel Core و Core Ultra جدید باید
سیستم Series همان خانواده را بررسی کرد.

در این فصل چه چیزهایی یاد می گیریم؟

  • نسل CPU دقیقاً چه مفهومی دارد.
  • چگونه نسل دوم تا نهم Intel Core را تشخیص دهیم.
  • چگونه نسل های 10 تا 14 را از روی مدل بخوانیم.
  • چرا نسل اول Intel استثنا محسوب می شود.
  • چرا Core Ultra را نباید با قانون Core i قدیمی خواند.
  • تفاوت Generation و Series چیست.
  • چرا نسل جدیدتر الزاماً CPU سریع تر را تضمین نمی کند.
  • چگونه یک نسل را با نسل قبل و بعد مقایسه کنیم.

نقشه تشخیص نسل Intel

01

مدل کامل را پیدا کن

مثال: Core i7-11800H

02

خانواده را تشخیص بده

Core i کلاسیک، Core یا Core Ultra؟

03

Generation / Series

قانون نام گذاری همان خانواده را استفاده کن.

04

Suffix را بخوان

U، H، HX، P و سایر پسوندها را حذف نکن.

05

مشخصات را بررسی کن

نسل فقط شروع تحلیل است، نه پایان آن.

نسل پردازنده Intel یعنی چه؟

Generation یا نسل، یکی از روش های Intel برای دسته بندی
دوره های مختلف خانواده Core بوده است.

تغییر نسل می تواند همراه با تغییر Microarchitecture،
Process Node، تعداد هسته، گرافیک مجتمع، حافظه قابل پشتیبانی،
قابلیت های پلتفرم یا ترکیبی از این موارد باشد.

بنابراین عدد نسل اطلاعات مفیدی درباره دوره فنی محصول می دهد،
اما به تنهایی مشخصات کامل پردازنده را بیان نمی کند.

تشخیص نسل دوم تا نهم Intel Core

در بسیاری از پردازنده های Core i این دوره،
اولین رقم شماره مدل پس از نام Tier نشان دهنده نسل است.

نمونه CPU عدد نسل نسل
Core i5-2520M 2 نسل دوم
Core i5-3320M 3 نسل سوم
Core i5-4300M 4 نسل چهارم
Core i5-5300U 5 نسل پنجم
Core i5-6300U 6 نسل ششم
Core i5-7300U 7 نسل هفتم
Core i5-8250U 8 نسل هشتم
Core i7-9750H 9 نسل نهم

نسل اول Intel چرا استثنا است؟

در نسل اول Core، سیستم نام گذاری مانند نسل های دوم به بعد
یک رقم مشخص و واضح برای Generation در ابتدای مدل نداشت.

برای مثال مدل هایی مانند:

Core i5-520M
Core i7-720QM

متعلق به خانواده های اولیه Intel Core هستند، اما نمی توان
صرفاً با قانون «اولین رقم = نسل» آن ها را تشخیص داد.


روش مطمئن برای مدل های بسیار قدیمی

برای پردازنده های نسل اول یا مدل هایی که ساختار نام آن ها
نامطمئن است، بهتر است مدل کامل را در مرجع رسمی مشخصات
پردازنده بررسی کنیم.

نسل دهم Intel چگونه تشخیص داده می شود؟

از نسل دهم به دلیل دو رقمی شدن Generation،
باید دو رقم ابتدایی مدل را بررسی کنیم.

Core i7-10710U

عدد 10 در ابتدای مدل
نشان دهنده نسل دهم است.

Core i7-1065G7

این مدل نیز با 10 شروع می شود
و متعلق به نسل دهم است.

ساختار مدل های نسل دهم نمونه خوبی است از اینکه حتی داخل
یک Generation ممکن است خانواده ها و شیوه های شماره گذاری
متفاوتی دیده شوند.

تشخیص نسل های 11، 12، 13 و 14

در Core iهای این نسل ها، دو رقم ابتدایی شماره مدل
معمولاً نسل را به شکل واضح نشان می دهند.

مدل بخش نسل نتیجه
Core i5-1135G7 11 نسل 11
Core i5-1240P 12 نسل 12
Core i5-1335U 13 نسل 13
Core i7-14700HX 14 نسل 14


قانون سریع برای Core i کلاسیک

  • نسل 2 تا 9 → معمولاً اولین رقم مدل
  • نسل 10 تا 14 → معمولاً دو رقم ابتدایی مدل
  • نسل اول → بهتر است مدل را مستقیماً بررسی کنیم
  • Core / Core Ultra جدید → از سیستم Series استفاده کن

اشتباه مهم: i7 به معنی نسل هفتم نیست

در نام:

Core i7-11800H

عبارت i7 Performance Tier است،
نه Generation.

نسل از عدد 11 تشخیص داده می شود.

تمرین تشخیص نسل

i5-8250U

اولین رقم مدل = 8


نسل هشتم

i7-9750H

اولین رقم مدل = 9


نسل نهم

i5-10210U

دو رقم ابتدایی = 10


نسل دهم

i7-11800H

دو رقم ابتدایی = 11


نسل یازدهم

i5-1240P

دو رقم ابتدایی = 12


نسل دوازدهم

i7-13700H

دو رقم ابتدایی = 13


نسل سیزدهم

آیا نسل بالاتر همیشه یعنی CPU سریع تر؟

خیر.

Generation فقط یکی از عوامل مقایسه است.

برای مثال یک پردازنده سری H از نسل قدیمی تر ممکن است
در Workload چند هسته ای از یک پردازنده U نسل جدیدتر
سریع تر باشد.

همین موضوع یکی از دلایل اهمیت Suffix و Power Class است.

مثال: i7 نسل 8 H در برابر i5 نسل 11 U

فقط از روی عبارت i7 و i5 نمی توان برنده را مشخص کرد.

همچنین فقط از روی نسل 8 و 11 نیز نباید نتیجه نهایی گرفت.

باید موارد زیر را کنار هم قرار دهیم:

  • مدل دقیق
  • Microarchitecture
  • تعداد Core و Thread
  • IPC
  • فرکانس
  • Power Class
  • Cooling لپ تاپ
  • نوع Workload

در مرکز مقایسه کتاب نمونه های واقعی از همین نوع
بررسی خواهند شد.

در این کتاب هر نسل چگونه بررسی خواهد شد؟

صرفاً یک جدول از نسل ها نمی سازیم.

برای هر نسل مهم Intel ساختار زیر اجرا می شود:

01

نسل قبل

نقطه شروع مقایسه.

02

نسل موردنظر

معماری، هسته، Cache، توان و قابلیت ها.

03

تغییر اصلی

چه چیزی واقعاً بهتر یا متفاوت شده است؟

04

نسل بعد

محدودیت های نسل موردنظر چگونه رفع شدند؟

05

ارزش خرید استوک

امروز چه جایگاهی در بازار لپ تاپ استوک دارد؟

مهم: این روش برای تمام CPUهای جدید Intel قابل استفاده نیست

Intel در خانواده های جدید سیستم نام گذاری خود را تغییر داده است.

مدل هایی که با:

Intel Core Ultra

یا برخی خانواده های جدید:

Intel Core

عرضه می شوند از سیستم Series استفاده می کنند و نباید
مستقیماً با قانون Core i نسل 2 تا 14 خوانده شوند.

Intel Core Ultra را چگونه تشخیص دهیم؟

در Core Ultra عدد ابتدای SKU برای مشخص کردن Series
اهمیت دارد.

نمونه آموزشی:

Core Ultra 7 155H

SKU با 1 شروع می شود.


Series 1

Core Ultra 7 258V

SKU با 2 شروع می شود.


Series 2

Seriesهای جدیدتر نیز همین سیستم نسل جدید خانواده Core Ultra
را ادامه می دهند.


Core Ultra فصل مستقل دارد

Core Ultra فقط تغییر نام نیست.
این خانواده را در دانشنامه Intel از نظر معماری،
Tile Design، P-Core/E-Core، GPU، NPU،
Seriesها و پسوندها جداگانه بررسی خواهیم کرد.

Core i کلاسیک و Core Ultra را با هم قاطی نکنید

خانواده نمونه روش کلی شناسایی دوره محصول
Core i کلاسیک i7-11800H Generation
Core Ultra Ultra 7 155H Series
Intel Core جدید وابسته به خانواده Series / سیستم نام گذاری جدید

Under the Hood — چرا Generation الزاماً برابر Microarchitecture نیست؟

نام Generation یک ساختار محصولی است.

ممکن است داخل یک نسل چند Die، خانواده یا
Microarchitecture نزدیک اما متفاوت عرضه شود.

بنابراین متخصص سخت افزار فقط عدد نسل را نمی بیند؛
Code Name، Architecture، Core Configuration
و مشخصات واقعی SKU نیز بررسی می شوند.

Engineering Insight — نسل یک میانبر مفید است، نه Benchmark

Generation به ما کمک می کند جایگاه زمانی و فناوری
یک CPU را سریع تشخیص دهیم.

اما نسل نمی تواند جای Benchmark یا تحلیل Workload را بگیرد.

در یک مقایسه حرفه ای، Generation یکی از ورودی های
تصمیم است، نه نتیجه تصمیم.

Performance Impact — چرا تغییر نسل مهم است؟

تغییر نسل می تواند همراه با IPC بالاتر، Core Count بیشتر،
Cache متفاوت، Memory Support جدید، GPU بهتر یا Efficiency
بالاتر باشد.

اما میزان این تغییر بین دو Generation ثابت نیست.
بعضی جهش های نسلی بسیار بزرگ و برخی کوچک تر هستند.

Common Mistakes — اشتباهات رایج تشخیص نسل Intel
  • تصور اینکه i7 یعنی نسل هفتم.
  • استفاده از قانون نسل دوم تا نهم برای نسل دهم به بعد.
  • استفاده از قانون Core i برای Core Ultra.
  • فرض اینکه نسل جدیدتر همیشه سریع تر است.
  • حذف Suffix هنگام مقایسه دو نسل.
  • یکسان دانستن Generation و Architecture.
  • مقایسه CPU بدون بررسی مدل کامل.


این مفهوم در خرید لپ تاپ استوک چه اهمیتی دارد؟

نسل یکی از اولین اطلاعاتی است که هنگام بررسی لپ تاپ استوک
باید استخراج شود.

اما بعد از تشخیص نسل باید Suffix، Core/Thread،
کلاس دستگاه و Performance واقعی نیز بررسی شوند.

خرید یک لپ تاپ فقط به دلیل نوشته شدن «i7»
بدون دانستن Generation و مدل کامل، روش مناسبی برای
انتخاب نیست.

سوالات متداول تشخیص نسل Intel

نسل Core i5-8250U چیست؟

عدد مدل با 8 شروع می شود؛ بنابراین این پردازنده
از نسل هشتم Core است.

نسل Core i7-9750H چیست؟

اولین رقم مدل 9 است؛ بنابراین نسل نهم است.

نسل Core i5-10210U چیست؟

دو رقم ابتدایی مدل 10 هستند؛ بنابراین
پردازنده نسل دهم است.

نسل Core i7-11800H چیست؟

دو رقم ابتدایی 11 هستند؛ بنابراین نسل یازدهم است.

نسل Core i7-13700H چیست؟

عدد 13 در ابتدای شماره مدل نشان دهنده نسل سیزدهم است.

آیا i7 همان نسل هفتم است؟

خیر. i7 Performance Tier است و Generation
از شماره مدل تشخیص داده می شود.

Core Ultra 7 یعنی نسل هفتم؟

خیر. عدد 7 Performance Tier است.
دوره Core Ultra از Series موجود در SKU
تشخیص داده می شود.

آیا نسل بالاتر همیشه ارزش خرید بیشتری دارد؟

خیر. قیمت، Suffix، Performance، تعداد هسته،
مصرف، Cooling و نوع کاربرد باید بررسی شوند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • نسل دوم تا نهم Core را از مدل تشخیص دهید.
  • نسل 10 تا 14 را درست بخوانید.
  • بدانید نسل اول استثنا است.
  • i5/i7 را با Generation اشتباه نگیرید.
  • Core Ultra را از Core i کلاسیک جدا کنید.
  • Generation و Series را از یکدیگر تشخیص دهید.
  • بدانید نسل فقط یکی از معیارهای Performance است.


فصل 14
سطح: متوسط
پیش نیاز: تشخیص نسل Intel
موضوع: مقایسه نسل های Intel Core


از نسل اول تا پایان دوره Core i کلاسیک

مقایسه نسل های پردازنده Intel؛ هر نسل چه تغییری کرد و امروز چه جایگاهی دارد؟

دانستن شماره نسل فقط اولین قدم است.
برای مقایسه واقعی باید بدانیم هر دوره چه تغییر مهمی
نسبت به نسل قبل ایجاد کرد، چه محدودیت هایی داشت
و نسل بعد چگونه مسیر را ادامه داد.

در این فصل نسل های Core کلاسیک را به صورت یک Timeline
آموزشی بررسی می کنیم و سپس در فصل های تخصصی Intel
خانواده ها و معماری های مهم را با جزئیات بیشتر باز خواهیم کرد.


پاسخ سریع

شماره نسل Intel به تنهایی رتبه Performance نیست.
در بعضی نسل ها تغییر معماری یا تعداد هسته بسیار مهم بوده،
در بعضی دیگر تمرکز بیشتر روی Efficiency، گرافیک مجتمع،
فرکانس یا پلتفرم قرار داشته است.

همچنین یک نسل می تواند شامل چند خانواده پردازنده متفاوت باشد.
بنابراین برای تحلیل حرفه ای باید مدل کامل و Code Name
همان CPU را نیز بررسی کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • مسیر کلی نسل های Intel Core را بشناسیم.
  • جهش های مهم بین نسل ها را تشخیص دهیم.
  • بدانیم کدام نسل ها فقط با یک Code Name خلاصه نمی شوند.
  • نسل قبل و بعد هر دوره را مقایسه کنیم.
  • جایگاه نسل های مهم در بازار لپ تاپ استوک را بفهمیم.
  • تشخیص دهیم چه زمانی عدد نسل برای انتخاب کافی نیست.


قانون مهم قبل از خواندن Timeline

Generation، Architecture و Code Name یک چیز نیستند.

ممکن است یک نسل Intel شامل بیش از یک خانواده فنی باشد؛
مخصوصاً در پردازنده های موبایل.

بنابراین جدول زیر برای درک مسیر تاریخی و تغییرات اصلی است،
نه جایگزین بررسی مدل دقیق CPU.

نقشه کلی نسل های Intel Core

نسل دوره کلی خانواده / معماری شاخص تغییر مهم نسبت به قبل جایگاه امروزی
نسل 1 آغاز Core i Nehalem / Westmere آغاز خانواده مدرن Core i3 / i5 / i7 Legacy
نسل 2 Sandy Bridge Sandy Bridge جهش مهم معماری و یکپارچگی بیشتر CPU و گرافیک بسیار قدیمی
نسل 3 Ivy Bridge Ivy Bridge بهبود فناوری ساخت و Efficiency نسبت به نسل 2 بسیار قدیمی
نسل 4 Haswell Haswell بهبود معماری، Efficiency و قابلیت های موبایل قدیمی
نسل 5 Broadwell Broadwell تمرکز بیشتر بر Process و Efficiency قدیمی
نسل 6 Skylake Skylake پایه معماری مهمی برای چند نسل بعد قدیمی اما هنوز در بازار استوک دیده می شود
نسل 7 Kaby Lake Kaby Lake بهینه سازی فرکانس، Media و Platform اقتصادی / قدیمی
نسل 8 دوره چند خانواده Kaby Lake-R / Coffee Lake / Whiskey Lake در بسیاری از مدل های موبایل جهش مهم تعداد هسته بسیار مهم در بازار استوک
نسل 9 Coffee Lake Refresh Coffee Lake-R افزایش فرکانس و گسترش مدل های Performance مناسب برخی سیستم های Performance قدیمی
نسل 10 دوره دو مسیر مهم Comet Lake / Ice Lake هم ادامه معماری قدیمی تر و هم ورود طراحی جدیدتر در موبایل نیازمند بررسی مدل دقیق
نسل 11 Tiger Lake / Rocket Lake Tiger Lake در موبایل؛ Rocket Lake در دسکتاپ IPC و گرافیک مجتمع بهتر در بخش مهمی از خانواده همچنان قابل توجه در لپ تاپ استوک
نسل 12 Alder Lake Alder Lake ورود گسترده معماری Hybrid با P-Core و E-Core نقطه تحول مهم
نسل 13 Raptor Lake Raptor Lake توسعه Hybrid، هسته های بیشتر در برخی رده ها
و بهبود Performance
قدرتمند و مدرن
نسل 14 آخرین دوره Core i کلاسیک خانواده های مرتبط با Raptor Lake ادامه و بهینه سازی مسیر نسل 13 در بسیاری از محصولات مرز انتقال به نام گذاری جدید

نسل اول Intel Core؛ نقطه شروع خانواده Core i

نسل اول دوره شکل گیری خانواده Core i3، Core i5 و Core i7
به شکلی نزدیک به نام گذاری مدرن بود.

این پردازنده ها امروز بیشتر اهمیت تاریخی و آموزشی دارند
و برای خرید سیستم مدرن معمولاً گزینه هدف محسوب نمی شوند.

قبل از نسل اول

خانواده های قدیمی تر Core و Core 2.

نسل اول

آغاز دوره Core i و پایه نام گذاری جدیدتر.

نسل دوم

جهش معماری مهم با Sandy Bridge.

نسل دوم؛ Sandy Bridge و یک جهش مهم

Sandy Bridge یکی از نسل های مهم تاریخی Intel بود و
نسبت به نسل اول تغییر معماری قابل توجهی ایجاد کرد.

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


مقایسه نسل 1 ← 2 ← 3
نسل دوم بیشتر یک جهش معماری بود؛ نسل سوم مسیر آن را
با Process جدیدتر و بهبود Efficiency ادامه داد.

نسل سوم؛ Ivy Bridge

Ivy Bridge ادامه مسیر Sandy Bridge بود و تغییر فناوری ساخت
یکی از ویژگی های مهم این دوره محسوب می شد.

بنابراین تفاوت نسل 2 و 3 فقط از روی فرکانس قابل توضیح نیست؛
Efficiency و فناوری ساخت نیز تغییر کرده بودند.

نسل چهارم؛ Haswell

Haswell تغییرات مهمی در Microarchitecture و مدیریت توان ایجاد کرد
و برای سیستم های موبایل اهمیت زیادی داشت.

بسیاری از Workstationها و لپ تاپ های حرفه ای قدیمی با
پردازنده های نسل چهارم هنوز در بازار دست دوم دیده می شوند،
اما سن پلتفرم باید در تصمیم خرید لحاظ شود.

نسل پنجم؛ Broadwell

Broadwell بیشتر به عنوان ادامه و تکامل Haswell با فناوری
ساخت جدیدتر شناخته می شود.

این نسل در برخی رده های بازار عمر کوتاه تر یا حضور محدودتری
نسبت به نسل های اطراف خود داشت.

نسل ششم؛ Skylake

Skylake یکی از مهم ترین پایه های معماری Intel در این دوره بود.

اهمیت آن فقط به خود نسل ششم محدود نشد؛ نسل های بعدی برای مدتی
مسیر تکامل طراحی نزدیک به این خانواده را ادامه دادند.


نسل 5 ← 6 ← 7
نسل 6 تغییر معماری مهم تری ایجاد کرد و نسل 7 بیشتر
تکامل و بهینه سازی همان مسیر بود.

نسل هفتم؛ Kaby Lake

Kaby Lake نسبت به Skylake بیشتر روی بهینه سازی،
فرکانس و قابلیت های Media تمرکز داشت.

برای خرید استوک، نسل هفتم باید با قیمت و نوع کاربرد سنجیده شود؛
چون نسل هشتم در بسیاری از مدل های موبایل یک تغییر بسیار مهم
در تعداد هسته ایجاد کرد.

نسل هشتم؛ یکی از مهم ترین نسل ها برای بازار لپ تاپ استوک

نسل هشتم را نباید با یک Code Name واحد خلاصه کرد.
در این نسل خانواده هایی مانند Kaby Lake Refresh،
Coffee Lake و Whiskey Lake دیده می شوند.

یکی از مهم ترین تغییرات برای لپ تاپ های U-Series این بود که
بسیاری از مدل های Core i5 و Core i7 از ساختار دو هسته ای نسل قبل
به چهار هسته رسیدند.

Performance Impact — چرا نسل 8 در استوک مهم است؟

این افزایش Core Count در بسیاری از Workloadهای Multi-Core
تفاوت بزرگی نسبت به تعداد زیادی از مدل های نسل 7 ایجاد کرد.

به همین دلیل در خرید لپ تاپ استوک، فاصله نسل 7 و 8
در بعضی مدل ها مهم تر از یک افزایش شماره ساده نسل است.

مقایسه نسل 7، 8 و 9

نسل ویژگی مهم نکته خرید استوک
7 دوره Kaby Lake؛ بسیاری از U-Seriesهای رایج دو هسته ای بیشتر مناسب خرید اقتصادی
8 جهش Core Count در تعداد زیادی از مدل های موبایل نقطه شروع جذاب تر برای بسیاری از کاربردها
9 توسعه Performance در Coffee Lake Refresh بیشتر در سری های H و سیستم های Performance مهم

نسل نهم؛ Coffee Lake Refresh

نسل نهم در بخش Performance و پردازنده های H و Desktop
اهمیت بیشتری پیدا می کند.

در لپ تاپ های Workstation و Gaming استوک، مدل هایی مانند
Core i7 و Core i9 نسل نهم هنوز می توانند برای برخی Workloadها
قدرت قابل توجهی ارائه دهند.

نسل دهم؛ نسلی که فقط با عدد 10 نمی توان آن را فهمید

نسل دهم نمونه بسیار خوبی از محدودیت مفهوم Generation است.

در این دوره هم خانواده Comet Lake وجود داشت و هم Ice Lake،
که از نظر طراحی و فناوری ساخت یکسان نبودند.

بنابراین هنگام دیدن «نسل 10» حتماً باید مدل کامل و خانواده
پردازنده را بررسی کرد.

Engineering Insight — دو CPU از یک نسل می توانند معماری متفاوت داشته باشند

این دقیقاً همان دلیلی است که در فصل معماری گفتیم
Generation را نباید با Microarchitecture یکی دانست.

نسل 10 در برابر نسل 11

در بخش مهمی از بازار موبایل، نسل 11 با Tiger Lake
تغییرات مهمی در هسته CPU، گرافیک مجتمع و Platform ایجاد کرد.

به همین دلیل مقایسه یک i5 نسل 10 با i5 نسل 11 باید بر اساس
مدل دقیق انجام شود، نه صرفاً اختلاف یک عدد در Generation.

نسل یازدهم؛ Tiger Lake در لپ تاپ

Tiger Lake یکی از خانواده های مهم نسل 11 موبایل بود.

این نسل در بسیاری از لپ تاپ های تجاری و حرفه ای استوک
هنوز جایگاه مناسبی دارد، مخصوصاً وقتی Efficiency،
گرافیک مجتمع و Platform مدرن تر نسبت به نسل های قدیمی تر
اهمیت داشته باشد.

نسل دوازدهم؛ Alder Lake و تغییر بزرگ معماری Hybrid

نسل 12 یکی از مهم ترین نقاط تغییر در تاریخ جدید Intel بود.

Alder Lake ترکیب Performance-core و Efficient-core را
به شکل گسترده وارد محصولات مصرفی کرد.

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


مرتبط در همین کتاب

P-Core، E-Core، Thread Director و معماری Hybrid
در بخش تخصصی Intel به صورت مستقل بررسی خواهند شد.

نسل 11 در برابر نسل 12؛ چرا این گذار مهم است؟

تغییر از نسل 11 به 12 فقط افزایش فرکانس یا شماره مدل نبود.

نحوه سازمان دهی Coreها تغییر کرد و Performance Hybrid Architecture
وارد بخش گسترده تری از محصولات شد.

بنابراین مقایسه مدل های این دو نسل باید Core Configuration
را نیز شامل شود.

نسل سیزدهم؛ توسعه مسیر Raptor Lake

نسل 13 مسیر معماری Hybrid را ادامه داد.

در بسیاری از رده ها تعداد E-Core، Cache یا فرکانس نسبت به
مدل های معادل نسل قبل افزایش پیدا کرد.

اما میزان تفاوت دقیق میان مدل ها یکسان نیست و باید SKU به SKU
مقایسه شود.

نسل چهاردهم؛ پایان دوره نام گذاری کلاسیک Core i

نسل 14 در بسیاری از محصولات ادامه و بهینه سازی مسیر Raptor Lake بود.

به همین دلیل در برخی مقایسه ها تفاوت آن با نسل 13
بسیار کمتر از جهشی مانند نسل 11 به 12 است.

پس از این دوره، خانواده های Intel Core و Core Ultra
با سیستم نام گذاری Series اهمیت بیشتری پیدا کردند.

مقایسه نسل 12، 13 و 14

نسل نقطه اصلی نسبت به قبل
12 ورود گسترده Hybrid Architecture تغییر بنیادی تر
13 توسعه Raptor Lake و افزایش منابع در برخی SKUها تکامل نسل 12
14 بهینه سازی بیشتر خانواده کلاسیک Core i در بسیاری از SKUها تغییر کوچک تر

برای خرید لپ تاپ استوک، نسل ها را چگونه دسته بندی کنیم؟

این دسته بندی مطلق نیست و قیمت، مدل و Workload می توانند
نتیجه را تغییر دهند؛ اما برای ساخت یک مدل ذهنی:

نسل 1 تا 5

بیشتر Legacy و مناسب خریدهای بسیار خاص یا بسیار ارزان.

نسل 6 و 7

هنوز در بازار استوک وجود دارند، اما باید قیمت
و محدودیت های پلتفرم جدی بررسی شود.

نسل 8 و 9

در بسیاری از مدل ها هنوز می توانند برای کاربری عمومی،
اداری و حتی برخی Workloadهای حرفه ای منطقی باشند.

نسل 10 و 11

تعادل مناسب تر میان عمر پلتفرم، Performance و Efficiency،
بسته به مدل دقیق.

نسل 12 به بعد

معماری های جدیدتر و در بسیاری از مدل ها Performance
و Efficiency بالاتر؛ قیمت باید با نیاز سنجیده شود.

Common Mistake — هر نسل جدید یک پله ثابت قوی تر نیست

فاصله نسل 7 تا 8 در بعضی لپ تاپ های U-Series می تواند
بسیار مهم باشد، در حالی که اختلاف نسل 13 و 14
در برخی SKUها ممکن است بسیار کوچک تر باشد.

بنابراین نباید فرض کرد «یک نسل اختلاف» همیشه یک مقدار
ثابت Performance ایجاد می کند.

روش صحیح مقایسه دو CPU از دو نسل متفاوت

01
Tieri5، i7 یا رده مربوطه را مشخص کن.
02
Generationفاصله نسلی را پیدا کن.
03
SuffixU را با H بدون توجه به Power Class مقایسه نکن.
04
Core Configurationتعداد و نوع Coreها را بررسی کن.
05
BenchmarkWorkload واقعی را مقایسه کن.
06
DeviceCooling و Power Limit خود لپ تاپ را هم بررسی کن.

مثال مقایسه ای: نسل 7 U در برابر نسل 8 U

این یکی از مقایسه های مهم بازار استوک است.

بسیاری از مدل های معروف U-Series نسل هفتم دو هسته ای بودند،
در حالی که مدل هایی مانند Core i5-8250U نسل هشتم چهار هسته داشتند.

بنابراین حتی اگر هر دو پردازنده Core i5 و U-Series باشند،
اختلاف Multi-Core می تواند قابل توجه باشد.

مثال مقایسه ای: نسل 11 در برابر نسل 12

در این مقایسه فقط افزایش Generation مطرح نیست.

ورود Hybrid Architecture در نسل 12 باعث شد مفهوم
Core Count و Thread Count نیز تغییر کند.

بنابراین برای فهم اختلاف باید P-Core و E-Core را نیز
وارد تحلیل کرد.

Under the Hood — چرا Intel یک نسل را با چند خانواده عرضه می کند؟

بازار CPU شامل Desktop، Mobile، Ultraportable،
Workstation و رده های توان متفاوت است.

یک طراحی واحد همیشه برای تمام این بازارها
بهترین پاسخ نیست.

همچنین زمان بندی تولید و انتقال به Process جدید
می تواند باعث شود چند خانواده فنی همزمان زیر
یک Generation بازاری قرار بگیرند.

به همین دلیل برای تحلیل دقیق همیشه باید مدل واقعی
پردازنده بررسی شود.

Engineering Insight — بهترین نسل وجود ندارد؛ بهترین SKU برای Workload وجود دارد

Generation ابزار خوبی برای محدود کردن دامنه جستجو است،
اما تصمیم نهایی باید در سطح SKU انجام شود.

یک پردازنده نسل قدیمی H یا HX می تواند در Workload سنگین
از مدل کم مصرف نسل جدیدتر سریع تر باشد، در حالی که
مدل جدیدتر ممکن است Efficiency، iGPU و Battery Life
بهتری ارائه کند.

Performance Impact — جهش نسلی را باید اندازه گرفت، نه فرض

تفاوت نسل ها به Workload وابسته است.

برای برخی نسل ها افزایش Core Count مهم ترین عامل بوده،
برای برخی IPC، برای بعضی iGPU و برای نسل های دیگر
Efficiency یا Platform Featureها.

بنابراین Benchmark فصل های بعد بخشی ضروری از مقایسه
نسل ها خواهد بود.


این فصل در خرید لپ تاپ استوک چه کمکی می کند؟

به جای اینکه صرفاً بگویید «نسل بالاتر می خواهم»،
می توانید بفهمید کدام جهش نسلی واقعاً برای نیاز شما مهم است.

برای مثال ممکن است افزایش تعداد هسته نسل 8 برای شما
مهم تر از تفاوت جزئی دو نسل بسیار جدیدتر باشد.

سوالات متداول مقایسه نسل های Intel

مهم ترین نسل Intel برای لپ تاپ استوک کدام است؟

پاسخ مطلق ندارد، اما نسل هشتم برای بسیاری از لپ تاپ های
U-Series یک نقطه تغییر مهم در تعداد هسته بود.

نسل 8 بهتر است یا نسل 7؟

در بسیاری از مدل های رایج U-Series نسل 8
مزیت مهمی در Core Count دارد، اما مدل دقیق باید بررسی شود.

نسل 10 بهتر است یا 11؟

معمولاً نسل 11 در بسیاری از مدل های موبایل
معماری و گرافیک مجتمع جدیدتری دارد، اما مدل دقیق،
Suffix و Workload تعیین کننده هستند.

چرا نسل 12 مهم است؟

چون معماری Hybrid با ترکیب P-Core و E-Core
به بخش گسترده ای از محصولات Intel وارد شد.

نسل 13 و 14 خیلی با هم فرق دارند؟

میزان اختلاف به SKU بستگی دارد و در بسیاری از مدل ها
تغییر نسل 13 به 14 کوچک تر از بعضی جهش های قبلی است.

آیا i7 نسل 8 بهتر از i5 نسل 11 است؟

بدون مدل کامل قابل پاسخ نیست. Suffix، Core Count،
معماری و Workload باید بررسی شوند.

چرا دو CPU نسل 10 می توانند خیلی متفاوت باشند؟

چون نسل 10 شامل خانواده های فنی متفاوتی مانند
Comet Lake و Ice Lake بوده است.

برای خرید فقط Generation را بررسی کنم؟

خیر. Generation در کنار SKU، Suffix، Core/Thread،
Cooling و Benchmark معنا پیدا می کند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • مسیر کلی نسل های 1 تا 14 Intel را بشناسید.
  • بدانید نسل 8 چرا در بازار استوک مهم است.
  • نسل 10 را یک خانواده فنی واحد تصور نکنید.
  • اهمیت تغییر Hybrid در نسل 12 را درک کنید.
  • نسل 13 و 14 را بدون بررسی SKU مقایسه نکنید.
  • هر نسل را با نسل قبل و بعد مقایسه کنید.
  • نسل را فقط یکی از ورودی های تصمیم خرید بدانید.


فصل 15
سطح: متوسط تا پیشرفته
پیش نیاز: تشخیص نسل Intel
موضوع: Intel Core Ultra و سیستم Series


آغاز دوره جدید نام گذاری Intel

Intel Core Ultra چیست؟ راهنمای کامل Series، مدل ها، پسوندها و تفاوت با Core i

با معرفی خانواده Intel Core Ultra، سیستم نام گذاری قدیمی
Core i دستخوش تغییر مهمی شد. دیگر نمی توان مدل هایی مانند
Core Ultra 7 155H یا Core Ultra 7 258V را با همان قانون
نسل های Core i5 و Core i7 قدیمی تفسیر کرد.

Core Ultra علاوه بر نام گذاری جدید، بخشی از تغییر بزرگ تر
Intel در طراحی پردازنده های مدرن است؛ جایی که CPU،
گرافیک مجتمع، پردازش هوش مصنوعی، مدیریت توان و
ساختارهای پردازشی مختلف باید به صورت یک مجموعه بررسی شوند.


پاسخ سریع: Core Ultra چیست؟

Intel Core Ultra خانواده ای جدیدتر از پردازنده های
Intel است که از نام گذاری Core Ultra 5، Core Ultra 7
و Core Ultra 9 استفاده می کند.

در این خانواده، رقم اول شماره SKU برای تشخیص Series
اهمیت دارد.

Core Ultra 7 155H → Series 1

Core Ultra 7 258V → Series 2

مدل هایی که SKU آن ها با 3 شروع می کند نیز
در خانواده Series 3 قرار می گیرند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Core Ultra چیست.
  • چرا Intel نام Core i را در این خانواده کنار گذاشت.
  • Core Ultra 5، 7 و 9 چه معنایی دارند.
  • Series 1، Series 2 و Series 3 چگونه تشخیص داده می شوند.
  • SKU مدل های Core Ultra چگونه خوانده می شود.
  • پسوندهای H، U، V، HX و مدل های دسکتاپ چه نقشی دارند.
  • NPU چیست و چرا وارد پردازنده های جدید شده است.
  • چرا دو پردازنده از یک Series الزاماً معماری و هدف یکسانی ندارند.
  • Core Ultra را چگونه با Core i نسل های قبل مقایسه کنیم.

نقشه مفهومی Core Ultra

01
IntelBrand
02
Core UltraProduct Family
03
5 / 7 / 9Performance Tier
04
1xx / 2xx / 3xxSeries + SKU
05
SuffixH، U، V، HX یا کلاس دیگر

چه اتفاقی برای نام Core i افتاد؟

در خانواده Core کلاسیک سال ها با نام هایی مانند
Core i3، Core i5، Core i7 و Core i9 روبه رو بودیم.

در Core Ultra حرف i از Performance Tier حذف شد و
ساختارهایی مانند:

Intel Core Ultra 5
Intel Core Ultra 7
Intel Core Ultra 9

جایگزین ساختار Core i در این خانواده شدند.

بنابراین Core Ultra 7 را نباید «Core i7 جدید» به معنای
ساده و مستقیم در نظر گرفت. این یک خانواده نام گذاری
متفاوت است و باید بر اساس Series و SKU خودش خوانده شود.

عدد 5، 7 یا 9 در Core Ultra چه معنایی دارد؟

این عدد Performance Tier یا رده محصول را نشان می دهد.

به صورت کلی:

Core Ultra 5

رده اصلی و متعادل خانواده برای طیف گسترده ای از سیستم ها.

Core Ultra 7

رده بالاتر خانواده با پیکربندی و Performance بالاتر
در بسیاری از مدل ها.

Core Ultra 9

رده بالای خانواده در محصولاتی که برای Performance
بیشتری طراحی شده اند.

Common Mistake — Ultra 7 یعنی Series 7 نیست

عدد 7 در Core Ultra 7 Performance Tier است.

Series از رقم اول SKU تشخیص داده می شود.

Series در Core Ultra چیست؟

در این خانواده، Intel به جای سیستم Generation کلاسیک
Core i از Series برای دسته بندی دوره های محصول استفاده می کند.

مهم ترین قانون سریع این است:

شروع SKU Series نمونه
1 Series 1 Core Ultra 7 155H
2 Series 2 Core Ultra 7 258V
3 Series 3 مدل های 3xx

Intel Core Ultra Series 1 چیست؟

Series 1 اولین دوره اصلی Core Ultra بود.

نمونه های شناخته شده موبایل شامل مدل هایی مانند:

Core Ultra 5 125H
Core Ultra 5 125U
Core Ultra 7 155H
Core Ultra 7 155U
Core Ultra 7 165H

هستند.

اگر SKU با عدد 1 شروع شود، در سیستم نام گذاری Core Ultra
با Series 1 روبه رو هستیم.

چرا Series 1 از نظر معماری مهم است؟

Series 1 دوره مهمی در حرکت Intel به سمت طراحی چندبخشی تر
پردازنده های موبایل بود.

در این دوره CPU، GPU، NPU و سایر بخش های پردازنده
باید به شکل یک مجموعه در نظر گرفته شوند.

این تغییر باعث می شود تحلیل Core Ultra فقط با تعداد
هسته های CPU کامل نباشد.

Intel Core Ultra Series 2 چیست؟

مدل هایی که SKU آن ها با عدد 2 شروع می کند
در Core Ultra Series 2 قرار می گیرند.

نمونه:

Core Ultra 7 258V

در این مدل:

بخش مقدار مفهوم
Family Core Ultra خانواده محصول
Tier 7 Performance Tier
Series 2 Series 2
SKU 258 مدل دقیق
Suffix V کلاس محصول موبایل مربوطه

آیا همه پردازنده های Series 2 شبیه Core Ultra 7 258V هستند؟

خیر.

این یکی از نکات بسیار مهم در فهم نام گذاری جدید Intel است.

Series یک دوره محصول را مشخص می کند، اما داخل همان Series
می توان مدل هایی با Suffix، تعداد هسته، توان، گرافیک و
اهداف طراحی متفاوت داشت.

بنابراین عبارت «Series 2» به تنهایی برای مقایسه Performance
دو CPU کافی نیست.

Intel Core Ultra Series 3 چیست؟

Series 3 ادامه نسل جدید خانواده Core Ultra است و
مدل های آن با SKUهایی که از 3 شروع می شوند
قابل شناسایی هستند.

همان قانون مهم پابرجاست:

Series را نباید به تنهایی با Performance یکی دانست.
مدل دقیق، Suffix، تعداد هسته، GPU، NPU و Power Class
باید بررسی شوند.

مقایسه Series 1، Series 2 و Series 3 چگونه باید انجام شود؟

01
Seriesدوره محصول را مشخص کن.
02
SuffixH، U، V، HX یا کلاس دیگر را بررسی کن.
03
CPU CoresP-Core، E-Core و Threadها را بررسی کن.
04
GPUگرافیک مجتمع و قابلیت های آن را مقایسه کن.
05
NPUتوان پردازش AI را در Workload مربوطه بررسی کن.
06
Benchmarkنتیجه را با کاربرد واقعی بسنج.

مقایسه Series قبل و بعد چه چیزی به ما می گوید؟

درست مانند Generationهای قدیمی، هر Series را با Series
قبل و بعد مقایسه می کنیم.

اما تمرکز فقط روی CPU Performance نیست.

موارد زیر نیز بررسی می شوند:

  • Performance هر هسته
  • Multi-Core Performance
  • Efficiency
  • گرافیک مجتمع
  • NPU و AI Performance
  • Memory Support
  • Battery Life
  • Power Class
  • قابلیت های پلتفرم

چرا در Core Ultra دیگر فقط CPU مهم نیست؟

در سیستم های جدیدتر، پردازش می تواند میان چند Engine
تخصصی تقسیم شود.

CPU

اجرای عمومی برنامه ها، منطق و Workloadهای
مناسب پردازنده مرکزی.

GPU

پردازش گرافیکی و تعداد زیادی از عملیات موازی.

NPU

اجرای برخی Workloadهای هوش مصنوعی با تمرکز
بر Efficiency.

NPU چیست؟

NPU مخفف

Neural Processing Unit

است.

این واحد برای پردازش برخی عملیات مرتبط با شبکه های عصبی
و AI طراحی شده است.

هدف اصلی NPU این نیست که جای CPU یا GPU را بگیرد؛
بلکه Workload مناسب را با Efficiency بیشتری اجرا کند.

NPU چه زمانی اهمیت دارد؟

اهمیت NPU زمانی بیشتر می شود که سیستم عامل یا نرم افزار
بتواند بخشی از AI Workload را به این واحد واگذار کند.

برای مثال برخی عملیات مرتبط با تصویر، صدا،
Video Conference یا AI محلی می توانند از Accelerator
تخصصی استفاده کنند.

اما وجود NPU به تنهایی تضمین نمی کند تمام نرم افزارهای AI
سریع تر اجرا شوند.

TOPS چیست؟

TOPS مخفف

Trillions of Operations Per Second

است و در حوزه AI برای بیان ظرفیت محاسباتی برخی Engineها
استفاده می شود.

اما TOPS نیز مانند GHz نباید بدون توجه به نوع داده،
نرم افزار و معماری به تنهایی برای مقایسه استفاده شود.

پسوندهای Core Ultra چرا مهم هستند؟

حتی در یک Performance Tier و Series مشابه،
Suffix می تواند کلاس طراحی محصول را تغییر دهد.

در مدل های موبایل Core Ultra با پسوندهایی مانند:

H / U / V

و در برخی خانواده های دیگر با پسوندهای متفاوت روبه رو می شویم.

مثال: Core Ultra 7 155H در برابر Core Ultra 7 155U

هر دو:

  • Core Ultra هستند.
  • Tier 7 دارند.
  • از Series 1 هستند.

اما H و U نشان می دهند با دو کلاس طراحی متفاوت روبه رو هستیم.

بنابراین نمی توان صرفاً به دلیل یکسان بودن عدد 155
انتظار Performance، توان یا رفتار حرارتی یکسان داشت.

مثال: Core Ultra 7 155H در برابر Core Ultra 7 258V

این مقایسه حتی پیچیده تر است.

هر دو Core Ultra 7 هستند، اما:

  • یکی Series 1 است.
  • دیگری Series 2 است.
  • Suffix متفاوت دارند.
  • هدف طراحی دستگاه می تواند متفاوت باشد.
  • ساختار CPU، GPU و NPU می تواند متفاوت باشد.

بنابراین عدد Tier مشترک به هیچ وجه برای پیش بینی
Performance کافی نیست.

Core Ultra 7 را چگونه با Core i7 نسل 13 یا 14 مقایسه کنیم؟

نباید تصور کنیم:

Core Ultra 7 = Core i7 + New Name

برای مقایسه باید ابتدا کلاس محصول را برابر کنیم.

مثلاً یک مدل کم مصرف را نباید بدون توجه به Power Class
با یک مدل HX Performance مقایسه کرد.

سپس موارد زیر بررسی می شوند:

  • Single-Core
  • Multi-Core
  • Power Efficiency
  • Integrated GPU
  • NPU
  • Memory
  • Battery
  • Cooling
  • Workload واقعی

آیا هر Core Ultra Series فقط یک Microarchitecture دارد؟

بهتر است Series را به عنوان دسته بندی محصول ببینیم،
نه نام یک Microarchitecture واحد.

داخل یک Series ممکن است خانواده ها و طراحی های مختلف
برای کلاس های متفاوت محصول وجود داشته باشند.

بنابراین برای تحلیل مهندسی باید Code Name و مدل دقیق
همان SKU را نیز بررسی کرد.

Under the Hood — چرا CPU مدرن از چند Engine پردازشی استفاده می کند؟

همه محاسبات ماهیت یکسانی ندارند.

CPU برای کنترل جریان پیچیده و پردازش عمومی مناسب است،
GPU برای حجم بزرگی از محاسبات موازی طراحی شده
و NPU می تواند برخی شبکه های عصبی را با Efficiency
بیشتری اجرا کند.

طراحی مدرن تلاش می کند هر Workload را تا حد امکان
به Engine مناسب خودش بسپارد.

نتیجه این است که Performance یک پردازنده جدید
را دیگر نمی توان فقط با Core Count و GHz
توصیف کرد.

Engineering Insight — Heterogeneous Computing فراتر از P-Core و E-Core است

مفهوم Heterogeneous Computing فقط به وجود چند نوع Core
در CPU محدود نیست.

در یک Platform جدید می توان CPU Coreها، GPU، NPU
و Acceleratorهای دیگر را به عنوان مجموعه ای از
منابع پردازشی تخصصی دید.

سیستم عامل و نرم افزار باید تصمیم بگیرند
هر Task روی کدام Engine اجرا شود.

Performance Impact — Core Ultra را فقط با CPU Benchmark نسنجید

اگر هدف فقط یک Workload کاملاً CPU-bound باشد،
Benchmark پردازنده اهمیت اصلی دارد.

اما برای لپ تاپ مدرن، گرافیک مجتمع، Efficiency،
NPU، Media Engine و Battery Life نیز می توانند
بخش مهمی از تجربه واقعی باشند.

بنابراین تعریف «بهتر» باید بر اساس نوع استفاده انجام شود.

Common Mistakes — اشتباهات رایج درباره Core Ultra
  • تصور اینکه Core Ultra 7 یعنی نسل هفتم.
  • تصور اینکه Ultra 7 مستقیماً همان Core i7 قدیمی است.
  • استفاده از قانون نسل 10 تا 14 برای Core Ultra.
  • نادیده گرفتن رقم اول SKU و Series.
  • حذف Suffix هنگام مقایسه.
  • مقایسه H، U و V فقط با شماره مدل.
  • تصور اینکه NPU جای GPU را می گیرد.
  • مقایسه قدرت AI فقط با TOPS بدون توجه به Workload.
  • یکسان دانستن Series و Microarchitecture.


این مفهوم در خرید لپ تاپ چه اهمیتی دارد؟

در لپ تاپ های Core Ultra فقط به عبارت Ultra 5،
Ultra 7 یا Ultra 9 اکتفا نکنید.

مدل کامل را بررسی کنید.

مثلاً:

Core Ultra 7 155H

اطلاعات بسیار بیشتری از عبارت «Ultra 7» به شما می دهد.

Series، Suffix، تعداد Core، GPU، NPU،
توان دستگاه و Cooling همگی در ارزش خرید نقش دارند.

الگوی ثابت مقایسه Core Ultra در این کتاب

هر Series جدید با Series قبل و بعد خود بر اساس
این معیارها مقایسه می شود:

  • معماری و Code Name
  • ساختار Coreها
  • Single-Core Performance
  • Multi-Core Performance
  • Efficiency
  • گرافیک مجتمع
  • NPU / AI Performance
  • Memory Support
  • توان و دما
  • Battery Life
  • نوع دستگاه هدف
  • ارزش خرید

سوالات متداول Intel Core Ultra

Intel Core Ultra چیست؟

خانواده جدیدتری از پردازنده های Intel است
که از سیستم نام گذاری Core Ultra و Series استفاده می کند.

Core Ultra 7 یعنی نسل هفتم؟

خیر. عدد 7 Performance Tier است.
Series از رقم اول SKU تشخیص داده می شود.

Core Ultra 7 155H چه Seriesی است؟

SKU با عدد 1 شروع می شود؛ بنابراین
Core Ultra Series 1 است.

Core Ultra 7 258V چه Seriesی است؟

SKU با عدد 2 شروع می شود؛ بنابراین
Core Ultra Series 2 است.

Series 3 چگونه تشخیص داده می شود؟

در سیستم نام گذاری Core Ultra،
SKUهای Series 3 با رقم 3 شروع می شوند.

Core Ultra بهتر از Core i است؟

پاسخ کلی ندارد. باید مدل دقیق، Power Class،
Workload و قابلیت های موردنیاز مقایسه شوند.

NPU چیست؟

واحد پردازشی تخصصی برای برخی عملیات مرتبط
با هوش مصنوعی و شبکه های عصبی است.

آیا NPU باعث سریع تر شدن همه برنامه ها می شود؟

خیر. نرم افزار باید بتواند Workload مناسب
را از NPU استفاده کند.

H و U در Core Ultra چه تفاوتی دارند؟

نشان دهنده کلاس های متفاوت محصول موبایل هستند
و در فصل پسوندهای Intel به صورت مستقیم
با یکدیگر مقایسه می شوند.

آیا Series بالاتر همیشه سریع تر است؟

نه لزوماً. Series جدیدتر می تواند فناوری های
جدیدتری داشته باشد، اما مدل، Suffix و Workload
برای Performance واقعی تعیین کننده هستند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • Core Ultra را از Core i کلاسیک تشخیص دهید.
  • Performance Tier را از Series جدا کنید.
  • Series 1، 2 و 3 را از روی SKU تشخیص دهید.
  • اهمیت Suffix را در Core Ultra بدانید.
  • نقش کلی CPU، GPU و NPU را از یکدیگر جدا کنید.
  • Series را با Microarchitecture یکی ندانید.
  • Core Ultra را فقط با نام Tier مقایسه نکنید.


فصل 16
سطح: پایه تا پیشرفته
پیش نیاز: خواندن مدل CPU
موضوع: رمزگشایی نام AMD Ryzen


عدد بزرگ تر همیشه به معنی معماری جدیدتر نیست

چگونه مدل پردازنده AMD Ryzen را بخوانیم و نسل و معماری آن را تشخیص دهیم؟

خواندن نام پردازنده های AMD Ryzen در نگاه اول ساده به نظر
می رسد؛ Ryzen 5، Ryzen 7، عدد مدل و یک پسوند.
اما سیستم نام گذاری AMD در دوره های مختلف تغییر کرده و
مخصوصاً در پردازنده های موبایل، شماره Series به تنهایی
نمی تواند معماری واقعی CPU را مشخص کند.

بنابراین در این فصل یاد می گیریم میان Performance Tier،
Product Series، Architecture، Model Number و Suffix
تفاوت بگذاریم و از اشتباه رایج
«عدد بالاتر = Zen جدیدتر» جلوگیری کنیم.


پاسخ سریع

در نامی مانند:

AMD Ryzen 7 7840U

عبارت Ryzen خانواده محصول است،
عدد 7 رده Performance،
عدد 7840 شماره مدل و حرف U کلاس محصول موبایل را نشان می دهد.

اما برای فهمیدن معماری واقعی پردازنده نباید فقط
عدد 7000 را ببینیم.

برای مثال:

Ryzen 7 7730U → Ryzen 7000 → Zen 3

Ryzen 7 7840U → Ryzen 7000 → Zen 4

بنابراین Series و Zen Architecture دو مفهوم جدا هستند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Ryzen 3، 5، 7 و 9 چه معنایی دارند.
  • عدد Series چه اطلاعاتی به ما می دهد.
  • چرا Series را نباید با Zen Architecture یکی دانست.
  • چگونه مدل هایی مانند 7730U و 7840U را بخوانیم.
  • پسوندهای U، HS، H و HX چه اهمیتی دارند.
  • تفاوت نام گذاری Desktop و Mobile را بشناسیم.
  • Zen، Zen+، Zen 2، Zen 3، Zen 4 و Zen 5 را از Product Series جدا کنیم.
  • چگونه قبل از خرید، معماری واقعی یک Ryzen را پیدا کنیم.

نقشه خواندن نام AMD Ryzen

01
Ryzen

Product Family

02
3 / 5 / 7 / 9

Performance Tier

03
Model Number

مانند 7840

04
Architecture

Zen 3، Zen 4، Zen 5 و…

05
Suffix

U، HS، H، HX و…

Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9 یعنی چه؟

مانند Tierهای Intel، این اعداد جایگاه کلی محصول را
در خانواده Ryzen مشخص می کنند.

Ryzen 3

رده اقتصادی تر خانواده Ryzen برای سیستم های عمومی
و Workloadهای سبک تر.

Ryzen 5

رده میانی و متعادل که در بسیاری از لپ تاپ ها
و دسکتاپ ها جایگاه بسیار مهمی دارد.

Ryzen 7

رده بالاتر با تمرکز بیشتر بر Performance
و Multitasking در بسیاری از خانواده ها.

Ryzen 9

رده High-End خانواده Ryzen در محصولات Performance.

Common Mistake — Ryzen 7 به معنی نسل هفتم نیست

عدد 7 در عبارت Ryzen 7 نشان دهنده Performance Tier است.

برای فهمیدن دوره محصول و معماری باید شماره مدل کامل
پردازنده را بررسی کنیم.

مهم ترین قانون AMD: Series با Zen Architecture یکی نیست

یکی از بزرگ ترین اشتباهات هنگام بررسی پردازنده های AMD
این است که فرض کنیم تمام CPUهای یک Product Series
از یک معماری Zen استفاده می کنند.

این فرض مخصوصاً در Ryzen Mobile 7000 اشتباه است.

پردازنده Product Series معماری CPU Code Name
Ryzen 7 7730U Ryzen 7000 Zen 3 Barcelo-R
Ryzen 7 7840U Ryzen 7000 Zen 4 Phoenix
Ryzen 7 7745HX Ryzen 7000 Zen 4 Dragon Range

هر سه پردازنده عبارت Ryzen 7000 را دارند،
اما از نظر Architecture و هدف طراحی یکسان نیستند.

Performance Impact — چرا این تفاوت بسیار مهم است؟

Architecture روی IPC، Efficiency، قابلیت های پردازنده،
Memory Support، گرافیک مجتمع و بسیاری از ویژگی های
Platform اثر می گذارد.

بنابراین دو لپ تاپ که هر دو با عنوان
«Ryzen 7 7000 Series» فروخته می شوند ممکن است
از نظر فنی فاصله قابل توجهی داشته باشند.

مثال اول: Ryzen 7 7730U

مدل کامل:

AMD Ryzen 7 7730U

Brand AMD
Family Ryzen
Tier Ryzen 7
Series Ryzen 7000 Series
Model 7730
Architecture Zen 3
Code Name Barcelo-R
Suffix U
Core / Thread 8 / 16

مثال دوم: Ryzen 7 7840U

حالا مدلی را ببینیم که ظاهراً بسیار شبیه قبلی است:

AMD Ryzen 7 7840U

Brand AMD
Family Ryzen
Tier Ryzen 7
Series Ryzen 7000 Series
Model 7840
Architecture Zen 4
Code Name Phoenix
Core / Thread 8 / 16
Suffix U

مقایسه Ryzen 7 7730U و Ryzen 7 7840U؛ چرا نام Series کافی نیست؟

ویژگی Ryzen 7 7730U Ryzen 7 7840U
Series 7000 7000
Tier Ryzen 7 Ryzen 7
Architecture Zen 3 Zen 4
Code Name Barcelo-R Phoenix
Core / Thread 8 / 16 8 / 16
Suffix U U

حتی Tier، Series، Core Count و Suffix این دو پردازنده
می تواند در نگاه اول مشابه به نظر برسد؛ اما معماری آنها
متفاوت است.

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

رمز مهم در Ryzen Mobile 7000

AMD برای خانواده Ryzen Mobile 7000 از یک ساختار شماره گذاری
استفاده کرد که بخشی از شماره مدل اطلاعات بیشتری درباره
معماری پردازنده ارائه می دهد.

برای مثال:

7730U

و:

7840U

فقط دو مدل متفاوت از یک Series نیستند؛
معماری CPU آنها نیز متفاوت است.

ارقام مدل Ryzen Mobile را چگونه تحلیل کنیم؟

Example: Ryzen 7 7840U

7

Portfolio / Model Family

بخشی از نام گذاری سری محصول.

8

Market Segment

جایگاه مدل در ساختار محصول.

4

Architecture Indicator

در این سیستم نام گذاری به Zen 4 اشاره می کند.

0

Feature / Model Differentiation

برای تفکیک مدل در همان گروه استفاده می شود.

U

Form Factor / Power Class

کلاس پردازنده موبایل.


نکته طلایی: رقم معماری

در این سیستم شماره گذاری موبایل AMD،
رقم مربوط به Architecture می تواند کمک کند
خانواده Zen را تشخیص دهیم.

…2… → Zen 2

…3… → Zen 3 / Zen 3+

…4… → Zen 4

اما این قانون را نباید بدون توجه به خانواده و دوره
نام گذاری AMD روی تمام پردازنده های Ryzen تاریخ اعمال کرد.

Common Mistake — یک قانون را روی تمام Ryzenها اعمال نکنید

AMD در طول عمر Ryzen چند شیوه نام گذاری داشته است.

بنابراین روش رمزگشایی Ryzen Mobile 7000 را نباید
بدون بررسی روی Ryzen 3000 Desktop، Ryzen 5000،
Ryzen 9000 یا Ryzen AI اعمال کرد.

آیا Ryzen Desktop 7000 هم همین قانون را دارد؟

خیر؛ اینجا یکی از تفاوت های مهم Desktop و Mobile مشخص می شود.

برای مثال:

Ryzen 9 7900

یک پردازنده دسکتاپ Ryzen 7000 با معماری Zen 4 است.

اما نباید روش رمزگشایی Mobile 7000 را مکانیکی روی این مدل
اعمال کنیم.

ابتدا باید Market Segment و خانواده پردازنده را تشخیص دهیم.

نقشه کلی معماری Zen در Ryzen

معماری دوره مهم نکته اصلی
Zen Ryzen اولیه شروع خانواده Ryzen مدرن
Zen+ دوره تکامل Zen بهینه سازی نسل اولیه
Zen 2 Ryzen 3000 Desktop و خانواده های مرتبط جهش معماری و Chiplet در بخش مهمی از محصولات
Zen 3 Ryzen 5000 و برخی مدل های بعدی بهبود مهم IPC و ساختار Core Complex
Zen 3+ Ryzen 6000 Mobile تمرکز بیشتر بر Efficiency موبایل
Zen 4 Ryzen 7000 / 8000 در خانواده های مربوطه معماری جدیدتر و پلتفرم های مدرن تر
Zen 5 Ryzen 9000 / Ryzen AI و خانواده های مربوطه نسل جدید معماری Zen

برای مقایسه Ryzen، Series مهم تر است یا Zen؟

هر دو اطلاعات مهمی می دهند، اما برای فهمیدن
طراحی CPU، Architecture اهمیت بسیار زیادی دارد.

Series بیشتر جایگاه محصول را در Portfolio مشخص می کند،
در حالی که Zen Architecture اطلاعات عمیق تری درباره
طراحی Core به ما می دهد.

در مقایسه حرفه ای باید هر دو را کنار هم ببینیم.

پسوند AMD Ryzen چه چیزی به ما می گوید؟

پسوند انتهای مدل یکی از مهم ترین بخش های نام پردازنده است.

نمونه هایی که در پردازنده های موبایل AMD دیده می شوند:

U / HS / H / HX

این پسوندها به کلاس طراحی و هدف محصول مربوط هستند.

پسوند کلاس کلی کاربری رایج
U کم مصرف موبایل لپ تاپ های باریک، اداری و قابل حمل
HS Performance با تمرکز بیشتر بر Efficiency لپ تاپ های قدرتمندتر با طراحی جمع و جور
H High Performance Mobile لپ تاپ های Performance
HX رده بسیار پرقدرت موبایل Gaming و Mobile Workstation

جزئیات کامل این پسوندها، توان مصرفی، رفتار حرارتی
و مقایسه مستقیم آنها در فصل مستقل Suffixهای AMD
بررسی خواهد شد.

مثال سوم: Ryzen 7 7745HX

مدل:

AMD Ryzen 7 7745HX

این پردازنده نیز Ryzen 7000 است، اما با 7730U
تفاوت بسیار مهمی دارد.

Series Ryzen 7000
Architecture Zen 4
Code Name Dragon Range
Core / Thread 8 / 16
Default TDP 55W
Suffix HX

Ryzen 7 7730U در برابر Ryzen 7 7745HX

اگر فقط عبارت Ryzen 7 7000 را ببینیم،
ممکن است تصور کنیم این دو پردازنده بسیار نزدیک هستند.

اما در واقع:

  • معماری متفاوت دارند.
  • Code Name متفاوت دارند.
  • Power Class کاملاً متفاوت دارند.
  • هدف طراحی لپ تاپ متفاوت است.

یکی برای سیستم های کم مصرف طراحی شده و دیگری
برای لپ تاپ های High Performance.

Ryzen AI چیست و چرا دوباره نام گذاری تغییر کرده است؟

در خانواده های جدیدتر AMD با نام هایی مانند:

Ryzen AI 9 HX 370
Ryzen AI 9 365
Ryzen AI 7 350

روبه رو می شویم.

این سیستم را نباید با قانون Ryzen Mobile 7000
رمزگشایی کرد.

Ryzen AI یک خانواده جدیدتر با ساختار نام گذاری خودش است
و در فصل مستقل AMD Ryzen AI به طور کامل بررسی خواهد شد.


نکته مهم درباره پردازنده های جدید AMD

خانواده Ryzen دیگر فقط با ساختار قدیمی Ryzen 3 / 5 / 7 / 9
و شماره چهار رقمی توضیح داده نمی شود.

در نسل جدید محصولات، خانواده هایی مانند Ryzen AI 300
و Ryzen AI 400 نیز وجود دارند.

بنابراین همیشه ابتدا Family را تشخیص دهید و سپس
قانون نام گذاری همان Family را اجرا کنید.

الگوریتم مطمئن برای تشخیص یک پردازنده AMD

01

نام کامل CPU

فقط «Ryzen 7» کافی نیست.

02

Product Family

Ryzen کلاسیک یا Ryzen AI؟

03

Market Segment

Desktop یا Mobile؟

04

Model Number

شماره کامل مدل را بخوان.

05

Architecture

Zen واقعی مدل را مشخص کن.

06

Suffix

U، HS، H، HX و سایر پسوندها.

07

Specifications

Core، Thread، Cache، GPU و توان را بررسی کن.

Under the Hood — چرا Product Series و Architecture می توانند متفاوت باشند؟

Product Series یک ابزار دسته بندی محصول است،
در حالی که Microarchitecture طراحی داخلی Core را توصیف می کند.

سازنده می تواند برای پوشش چند Price Point،
Power Class و Market Segment، چند طراحی متفاوت را
در یک خانواده بازاری عرضه کند.

به همین دلیل نام تجاری محصول همیشه نقشه مستقیم
معماری سیلیکون نیست.

در تحلیل مهندسی، باید Product Name را به
Architecture، Code Name و مشخصات واقعی SKU متصل کنیم.

Engineering Insight — Model Number یک شناسه تجاری است، نه Benchmark

عدد بزرگ تر در نام CPU می تواند اطلاعات مفیدی درباره
جایگاه محصول بدهد، اما مستقیماً Performance را اندازه نمی گیرد.

Performance حاصل معماری، Core Count، Cache،
Clock، Power Limit، Memory، Cooling و Workload است.

به همین دلیل متخصص سخت افزار ابتدا مدل را Decode می کند
و سپس مشخصات واقعی را بررسی می کند.

Performance Impact — عدد 7000 به تنهایی تقریباً هیچ مقایسه دقیقی نمی سازد

دو پردازنده Ryzen 7000 می توانند از معماری،
Power Class و گرافیک مجتمع متفاوت استفاده کنند.

بنابراین در فروشگاه یا هنگام خرید لپ تاپ،
عبارت «Ryzen 7000» نباید جای مدل کامل CPU را بگیرد.

Common Mistakes — اشتباهات رایج در تشخیص Ryzen
  • تصور اینکه Ryzen 7 یعنی نسل هفتم.
  • تصور اینکه تمام Ryzen 7000ها Zen 4 هستند.
  • مقایسه دو CPU فقط از روی Series.
  • نادیده گرفتن Desktop یا Mobile بودن پردازنده.
  • حذف Suffix از مدل.
  • یکسان دانستن U و HX.
  • اعمال قانون Mobile 7000 روی تمام Ryzenها.
  • یکسان دانستن Zen Generation و Product Series.
  • فرض اینکه عدد مدل بالاتر همیشه CPU سریع تری است.


این موضوع در خرید لپ تاپ استوک چرا بسیار مهم است؟

اگر فروشنده فقط بنویسد:

Ryzen 7 7000 Series

هنوز اطلاعات کافی برای قضاوت درباره CPU نداریم.

باید مدل کامل مانند 7730U، 7840U یا 7745HX
مشخص شود.

همین چند رقم و حرف می توانند معماری، Power Class
و جایگاه واقعی پردازنده را کاملاً تغییر دهند.

چک لیست بررسی Ryzen قبل از خرید

  • نام کامل CPU را پیدا کن.
  • Ryzen Tier را مشخص کن.
  • Series را پیدا کن.
  • Desktop یا Mobile بودن را مشخص کن.
  • Architecture واقعی Zen را بررسی کن.
  • Code Name را در مقایسه های تخصصی بررسی کن.
  • Suffix را حذف نکن.
  • Core و Thread را بررسی کن.
  • توان و Cooling لپ تاپ را بررسی کن.
  • Benchmark متناسب با Workload را ببین.

سوالات متداول تشخیص مدل AMD Ryzen

Ryzen 7 یعنی نسل هفتم؟

خیر. عدد 7 Performance Tier پردازنده است.

آیا تمام Ryzen 7000ها Zen 4 هستند؟

خیر. مخصوصاً در Mobile 7000 مدل هایی با
معماری های متفاوت وجود دارند.

Ryzen 7 7730U چه معماری دارد؟

این پردازنده از معماری Zen 3 استفاده می کند.

Ryzen 7 7840U چه معماری دارد؟

این مدل از معماری Zen 4 استفاده می کند.

پس چرا هر دو Ryzen 7000 هستند؟

چون Product Series و CPU Architecture
دو مفهوم متفاوت هستند.

Ryzen 7 7745HX چه معماری دارد؟

این مدل Dragon Range از معماری Zen 4 استفاده می کند.

U و HX چه تفاوتی دارند؟

دو کلاس متفاوت پردازنده موبایل هستند.
U برای سیستم های کم مصرف تر و HX برای
لپ تاپ های Performance طراحی می شود.

آیا Ryzen 9000 همیشه از Ryzen 7000 سریع تر است؟

نمی توان فقط از روی Series چنین نتیجه ای گرفت.
مدل، معماری، Suffix و Workload باید بررسی شوند.

Ryzen AI را با همین قانون می خوانیم؟

خیر. Ryzen AI سیستم نام گذاری جدیدتری دارد
و باید جداگانه بررسی شود.

مطمئن ترین راه تشخیص معماری Ryzen چیست؟

مدل کامل پردازنده را پیدا کرده و Architecture
و مشخصات رسمی همان SKU را بررسی کنید.

خلاصه فصل

مهم ترین چیزی که باید از این فصل به خاطر بسپارید این است:


در AMD، Product Series را با Zen Architecture یکی ندانید.

Ryzen 7 7730U = Zen 3

Ryzen 7 7840U = Zen 4

با وجود اینکه هر دو Ryzen 7000 هستند.


فصل 17
سطح: متوسط تا پیشرفته
پیش نیاز: تشخیص مدل AMD Ryzen
موضوع: Zen، Zen+، Zen 2، Zen 3، Zen 3+، Zen 4 و Zen 5


مسیر تکامل معماری Ryzen

مقایسه معماری های AMD Zen؛ از Zen تا Zen 5 چه تغییراتی ایجاد شد؟

برای فهم واقعی پردازنده های Ryzen بهتر است فقط شماره هایی
مانند 3000، 5000، 7000 یا 9000 را دنبال نکنیم.
هسته اصلی تحول فنی AMD در خانواده Zen و نسخه های متوالی
این Microarchitecture قرار دارد.

در این فصل مسیر Zen، Zen+، Zen 2، Zen 3، Zen 3+،
Zen 4 و Zen 5 را مرحله به مرحله بررسی می کنیم و هر معماری
را با نسخه قبل و بعد خود مقایسه می کنیم.


پاسخ سریع

Zen نام خانواده Microarchitectureهای مدرن AMD است.

هر نسخه جدید Zen معمولاً روی یکی یا چند محور مانند
IPC، Latency، Cache، Front-End، Execution Engine،
Efficiency، Memory Support یا طراحی Chiplet بهبود ایجاد کرده است.

اما شماره Ryzen و شماره Zen همیشه یکسان نیستند.

Ryzen 5000 → عمدتاً Zen 3

Ryzen 6000 Mobile → Zen 3+

Ryzen 7000 Desktop → Zen 4

Ryzen 9000 Desktop → Zen 5

در این فصل چه چیزهایی یاد می گیریم؟

  • Zen چیست و چرا برای Ryzen مهم است.
  • Zen+ چه تغییری نسبت به Zen داشت.
  • Zen 2 چرا یک نقطه مهم در طراحی Chiplet بود.
  • Zen 3 چگونه IPC و ساختار Cache را بهبود داد.
  • Zen 3+ چرا بیشتر روی Mobile Efficiency تمرکز داشت.
  • Zen 4 چه تغییراتی در پلتفرم و معماری ایجاد کرد.
  • Zen 5 چه چیزهایی را در Core Architecture توسعه داد.
  • چرا Product Series را نباید جای Architecture استفاده کرد.
  • هر معماری امروز چه جایگاهی در بازار استوک دارد.

نقشه تکامل معماری Zen

01
Zenآغاز معماری مدرن Ryzen.
02
Zen+بهینه سازی Zen و بهبود Latency و Efficiency.
03
Zen 2جهش معماری و گسترش طراحی Chiplet.
04
Zen 3IPC بالاتر و ساختار Core Complex یکپارچه تر.
05
Zen 3+بهینه سازی مخصوص Efficiency موبایل.
06
Zen 4پلتفرم جدیدتر، IPC و قابلیت های مدرن تر.
07
Zen 5Front-End، Branch Prediction و اجرای گسترده تر.

جدول مرجع معماری های اصلی Zen

معماری خانواده های شاخص تمرکز اصلی تغییر جایگاه کلی امروز
Zen Ryzen 1000 و خانواده های اولیه بازگشت رقابتی AMD به CPUهای مدرن Legacy
Zen+ Ryzen 2000 در خانواده های مربوطه بهینه سازی Latency، Clock و Efficiency قدیمی
Zen 2 Ryzen 3000 Desktop و خانواده های مرتبط IPC بهتر و معماری Chiplet گسترده تر هنوز قابل استفاده در برخی سیستم ها
Zen 3 Ryzen 5000 و برخی مدل های 7000 Mobile IPC بالاتر و Cache/Core Complex بهتر مهم در بازار استوک
Zen 3+ Ryzen 6000 Mobile Efficiency و قابلیت های موبایل جذاب برای لپ تاپ های کم مصرف تر
Zen 4 Ryzen 7000 Desktop، برخی Mobile 7000/8000 معماری جدیدتر، DDR5 و Platform مدرن تر مدرن و قدرتمند
Zen 5 Ryzen 9000 و Ryzen AI خانواده های مرتبط Front-End و Execution پیشرفته تر نسل جدید معماری

Zen؛ شروع دوره جدید AMD Ryzen

معماری Zen پایه ای بود که خانواده Ryzen مدرن بر آن ساخته شد.

AMD با Zen مسیر طراحی قبلی خود را تغییر داد و دوباره
روی IPC، SMT، Scalability و معماری چند هسته ای رقابتی تمرکز کرد.

Ryzen 1000 Desktop یکی از شناخته شده ترین خانواده های
مبتنی بر نسل اولیه Zen است.


قبل از Zen ← Zen

اهمیت Zen فقط در درصد افزایش Performance نبود؛
این معماری مسیر جدیدی برای طراحی پردازنده های AMD ایجاد کرد
که نسل های بعدی Ryzen بر اساس تکامل آن ساخته شدند.

Zen+؛ تکامل و بهینه سازی نسل اول

Zen+ را می توان بیشتر یک تکامل Zen دانست تا یک بازطراحی کاملاً جدید.

هدف اصلی بهبود رفتار فرکانس، Latency و Efficiency بود.

این نوع ارتقا نشان می دهد هر تغییر نسلی الزاماً یک جهش
Microarchitecture بزرگ نیست.

Zen در برابر Zen+

موضوع Zen Zen+
ماهیت تغییر معماری پایه جدید بهینه سازی معماری پایه
تمرکز IPC و رقابت چند هسته ای Latency، Frequency و Efficiency
ارزش تاریخی بسیار بالا تکمیل نسل اولیه

Zen 2؛ گسترش جدی طراحی Chiplet

Zen 2 یکی از مهم ترین مراحل تکامل Ryzen بود.

AMD در بخش مهمی از محصولات دسکتاپ و سرور طراحی Chiplet
را گسترش داد و Core Complex Die را از I/O Die جدا کرد.

این رویکرد اجازه داد تعداد Core و قابلیت گسترش محصولات
با انعطاف بیشتری افزایش پیدا کند.

در کنار طراحی Chiplet، IPC و Efficiency نیز نسبت به
نسل های قبلی بهبود پیدا کردند.


مرتبط در همین کتاب

CCD، CCX، IOD، Chiplet و Infinity Fabric در بخش
Under the Hood و دانشنامه AMD به طور مستقل بررسی خواهند شد.

Zen+ در برابر Zen 2

تغییر Zen+ به Zen 2 فقط یک بهینه سازی فرکانس نبود.

Zen 2 تغییرات معماری بزرگ تری داشت و در محصولات مهم
از ساختار Chiplet پیشرفته تری استفاده کرد.

Performance Impact — چرا Zen 2 مهم بود؟

ترکیب IPC بهتر، Core Count بالاتر در برخی رده ها
و طراحی Chiplet به AMD اجازه داد طیف گسترده تری از
محصولات چند هسته ای قدرتمند ارائه دهد.

Zen 3؛ جهش مهم IPC و تغییر ساختار Cache

Zen 3 یکی از مهم ترین ارتقاهای معماری AMD بود.

AMD هنگام معرفی Ryzen 5000 Desktop اعلام کرد Zen 3
در PC Workloadهای مورد سنجش، افزایش IPC قابل توجهی
نسبت به نسل قبل ایجاد کرده است.

یکی از تغییرات مهم Zen 3، سازمان دهی Core و Cache بود؛
به شکلی که مجموعه بزرگ تری از Coreها به L3 مشترک
دسترسی مستقیم داشتند.

Zen 2 در برابر Zen 3

موضوع Zen 2 Zen 3
IPC نسل قبلی افزایش قابل توجه
Core Complex تقسیم بندی قدیمی تر ساختار یکپارچه تر
دسترسی L3 ساختار محدودتر در هر Complex دسترسی مستقیم گسترده تر
Single-Core قوی بهبود مهم


Zen 3 در بازار لپ تاپ استوک

Zen 3 هنوز در تعداد زیادی از لپ تاپ های تجاری،
مهندسی و حرفه ای بازار استوک دیده می شود.

مدل دقیق اهمیت زیادی دارد، چون بعضی Product Seriesهای
جدیدتر AMD نیز همچنان از Zen 3 استفاده کرده اند.

Zen 3+؛ چرا AMD برای لپ تاپ یک مرحله میانی ساخت؟

Zen 3+ بیشتر با Ryzen 6000 Mobile شناخته می شود.

تمرکز این دوره فقط افزایش Performance خام نبود؛
Efficiency و رفتار مصرف انرژی در لپ تاپ اهمیت زیادی داشت.

Ryzen 6000 Mobile همچنین با گرافیک مجتمع RDNA 2
یک جهش مهم در iGPU نسبت به بسیاری از نسل های قبلی ایجاد کرد.

Zen 3 در برابر Zen 3+

Zen 3+ را نباید مثل فاصله Zen 2 به Zen 3 تصور کرد.

تمرکز اصلی آن بیشتر روی بهینه سازی Power Management
و Mobile Efficiency بود.

بنابراین در مقایسه لپ تاپ ها باید علاوه بر CPU Performance،
Battery Life و iGPU را هم در نظر گرفت.

Zen 4؛ ورود به دوره جدیدتر پلتفرم AMD

Zen 4 معماری جدیدتری بود که Ryzen 7000 Desktop
یکی از خانواده های مهم مبتنی بر آن محسوب می شود.

AMD هنگام معرفی Ryzen 7000 از افزایش IPC نسبت به Zen 3
و فرکانس های Boost بالاتر در محصولات دسکتاپ صحبت کرد.

پلتفرم AM5، حافظه DDR5 و قابلیت های جدیدتر I/O نیز
بخشی از تغییر این دوره در دسکتاپ بودند.

Zen 3+ در برابر Zen 4

موضوع Zen 3+ Zen 4
ماهیت بهینه سازی Zen 3 Microarchitecture جدیدتر
تمرکز شاخص Mobile Efficiency IPC، Frequency و Platform جدیدتر
حافظه در خانواده های شاخص وابسته به محصول گسترش DDR5 در پلتفرم های جدید
دوره Ryzen 6000 Mobile Ryzen 7000 و خانواده های مرتبط

Common Mistake — Ryzen 7000 الزاماً Zen 4 نیست

در Desktop، Ryzen 7000 خانواده مهمی از Zen 4 است.

اما در Mobile، Ryzen 7000 شامل مدل هایی از Zen 2،
Zen 3، Zen 3+ و Zen 4 نیز بوده است.

بنابراین همیشه مدل کامل را بررسی کنید.

Zen 5؛ نسل جدیدتر معماری Ryzen

Zen 5 نسل بعدی Core Architecture AMD پس از Zen 4 است.

Ryzen 9000 Desktop یکی از خانواده های اصلی مبتنی بر Zen 5 است.

AMD در توضیح رسمی Zen 5 به بهبود Branch Prediction،
Pipeline عریض تر، Vectorهای گسترده تر و Out-of-Order Window
بزرگ تر اشاره می کند.

این تغییرات با هدف افزایش Performance per Clock
و توان اجرای دستور بیشتر طراحی شده اند.

Zen 4 در برابر Zen 5

موضوع Zen 4 Zen 5
نسل معماری نسل قبل نسل جدیدتر
Branch Prediction طراحی Zen 4 بهبود یافته
Pipeline Width نسل قبل عریض تر
Vector Processing توان Zen 4 گسترده تر
Out-of-Order Resources نسل قبل Window بزرگ تر

Zen 5 فقط برای Ryzen 9000 Desktop نیست

خانواده های جدید Ryzen AI نیز از طراحی های مبتنی بر
Zen 5 استفاده می کنند.

در این محصولات علاوه بر CPU Core، GPU و NPU نیز
بخش مهمی از Platform محسوب می شوند.

بنابراین مقایسه Zen 5 Mobile با نسل قبل فقط با
Cinebench کامل نمی شود و Efficiency، GPU و AI Engine
نیز باید بررسی شوند.

مقایسه سریع تمام نسل های Zen

معماری نسبت به قبل تمرکز مهم ارزش امروز
Zen شروع مسیر جدید معماری پایه Ryzen Legacy
Zen+ بهینه سازی Zen Latency / Clock / Efficiency قدیمی
Zen 2 جهش بزرگ تر IPC / Chiplet / Scaling هنوز در بعضی سیستم ها قابل قبول
Zen 3 جهش مهم IPC Core Complex / Cache / Single-Core مهم در بازار استوک
Zen 3+ بهینه سازی Zen 3 Mobile Efficiency خوب برای لپ تاپ های جدیدتر استوک
Zen 4 معماری جدیدتر IPC / Platform / DDR5 مدرن
Zen 5 تکامل جدید Front-End / Execution / IPC نسل جدید

چگونه دو Ryzen با معماری متفاوت را مقایسه کنیم؟

01
ArchitectureZen واقعی هر CPU را مشخص کن.
02
Core / Threadظرفیت پردازش موازی را بررسی کن.
03
Power ClassU را با HX مستقیم مقایسه نکن.
04
Cacheساختار و ظرفیت Cache را بررسی کن.
05
iGPU / NPUبرای لپ تاپ فقط CPU Core مهم نیست.
06
BenchmarkWorkload واقعی را مقایسه کن.

معماری های Zen در بازار لپ تاپ استوک چه جایگاهی دارند؟

Zen / Zen+

بیشتر برای خریدهای ارزان و کاربردهای سبک؛
قیمت باید مزیت اصلی باشد.

Zen 2

هنوز برای بسیاری از کارهای عمومی قابل استفاده است،
اما مدل و قیمت باید دقیق بررسی شوند.

Zen 3

یکی از نقاط جذاب بازار استوک برای ترکیب
Performance و قیمت در بسیاری از مدل ها.

Zen 3+

برای لپ تاپ هایی که Efficiency، iGPU و Battery
اهمیت بیشتری دارند جذاب است.

Zen 4

معماری جدیدتر و مناسب کاربرانی که Platform
و Performance مدرن تر می خواهند.

Zen 5

نسل جدیدتر؛ ارزش خرید آن باید با قیمت
و نیاز واقعی مقایسه شود.

Under the Hood — چرا AMD معماری Zen را مرحله به مرحله گسترش داد؟

طراحی CPU مجموعه ای از Trade-offها میان IPC،
Frequency، Power، Die Area، Cache و Scalability است.

AMD در نسل های مختلف بخشی از این ساختار را تغییر داده
و بخش هایی دیگر را تکامل داده است.

برای مثال یک نسل می تواند تغییر بزرگ تری در
Core Complex داشته باشد و نسل دیگر بیشتر روی
Front-End یا Efficiency تمرکز کند.

به همین دلیل درصد افزایش Performance بین هر دو
نسخه Zen یکسان نیست.

Engineering Insight — نام Zen فقط یک شماره نیست؛ مسیر تغییر Bottleneckهای معماری است

طراح CPU در هر نسل تلاش می کند محدودیت های نسل قبل
را کاهش دهد.

ممکن است Bottleneck در Branch Prediction،
Front-End Width، Cache Topology، Execution Resources
یا Memory Latency باشد.

بنابراین فهم تفاوت Zen 2، Zen 3، Zen 4 و Zen 5
یعنی فهمیدن اینکه AMD در هر مرحله کدام محدودیت های
معماری را هدف قرار داده است.

Performance Impact — معماری جدیدتر چه زمانی واقعاً مهم است؟

اگر دو CPU تعداد هسته و Power Class مشابه داشته باشند،
معماری جدیدتر می تواند با IPC و Efficiency بهتر
Performance بیشتری ارائه دهد.

اما یک CPU Zen 3 سری H می تواند در Workload سنگین
از یک Zen 4 سری U سریع تر باشد، چون Power Class
و تعداد هسته نیز اهمیت دارند.

بنابراین Architecture باید همراه با کل مشخصات مدل تحلیل شود.

Common Mistakes — اشتباهات رایج درباره نسل های Zen
  • یکی دانستن Ryzen Series با Zen Architecture.
  • فرض اینکه Ryzen 7000 همیشه Zen 4 است.
  • فرض اینکه Zen 3+ یک جهش کامل مانند Zen 3 بوده است.
  • مقایسه دو Architecture بدون توجه به Suffix و Power Class.
  • فرض اینکه Zen جدیدتر همیشه در هر Workload سریع تر است.
  • نادیده گرفتن GPU و NPU در لپ تاپ های جدید.
  • مقایسه Desktop و Mobile فقط بر اساس نام Ryzen.


این فصل در خرید لپ تاپ استوک چه کمکی می کند؟

به جای اینکه فقط عبارت Ryzen 5000 یا Ryzen 7000
را ببینید، می توانید معماری واقعی CPU را تشخیص دهید.

این موضوع مخصوصاً در Product Seriesهایی که چند
Architecture را شامل می شوند اهمیت زیادی دارد.

برای خرید، ترکیب Architecture + Suffix + Core Count
+ Cooling + Price را بررسی کنید.

سوالات متداول معماری های AMD Zen

Zen چیست؟

خانواده Microarchitectureهای مدرن AMD است
که Ryzen بر پایه نسخه های مختلف آن ساخته شده است.

Zen 2 بهتر است یا Zen 3؟

Zen 3 معماری جدیدتر و دارای بهبود مهم IPC
و ساختار Cache نسبت به Zen 2 است، اما مدل دقیق
و Power Class همچنان باید بررسی شود.

Zen 3 و Zen 3+ چه تفاوتی دارند؟

Zen 3+ بیشتر یک بهینه سازی برای Efficiency
و پلتفرم موبایل بود تا یک بازطراحی کامل Core.

Ryzen 6000 چه معماری دارد؟

خانواده شناخته شده Ryzen 6000 Mobile بر پایه
Zen 3+ عرضه شد.

Ryzen 7000 چه معماری دارد؟

پاسخ به بخش بازار بستگی دارد.
Ryzen 7000 Desktop بر پایه Zen 4 است،
اما Ryzen 7000 Mobile می تواند چند معماری متفاوت داشته باشد.

Ryzen 9000 چه معماری دارد؟

خانواده اصلی Ryzen 9000 Desktop بر پایه Zen 5 است.

Zen 4 بهتر است یا Zen 5؟

Zen 5 معماری جدیدتر با بهبود بخش هایی مانند
Branch Prediction و Execution است، اما Performance
دقیق باید در SKU و Workload موردنظر مقایسه شود.

برای لپ تاپ استوک Zen 3 هنوز خوب است؟

در بسیاری از مدل ها بله؛ مخصوصاً اگر قیمت مناسب
و مشخصات کلی دستگاه متعادل باشند.

معماری مهم تر است یا تعداد هسته؟

هیچ کدام به تنهایی کافی نیستند.
Workload، IPC، Core Count، Power Class و Cooling
باید همزمان بررسی شوند.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • ترتیب Zen تا Zen 5 را بشناسید.
  • Zen را از Ryzen Product Series جدا بدانید.
  • اهمیت جهش Zen 2 به Zen 3 را بفهمید.
  • Zen 3+ را به عنوان بهینه سازی Mobile بشناسید.
  • Zen 4 را با Platform جدیدتر مرتبط کنید.
  • Zen 5 را به عنوان نسل جدیدتر Core Architecture بشناسید.
  • هر معماری را با معماری قبل و بعد مقایسه کنید.
  • برای خرید فقط شماره Ryzen را معیار قرار ندهید.


فصل 18
سطح: متوسط تا پیشرفته
پیش نیاز: معماری Zen و مفهوم NPU
موضوع: Ryzen AI، XDNA و پردازش هوش مصنوعی


وقتی CPU دیگر تنها پردازنده مهم سیستم نیست

AMD Ryzen AI چیست؟ بررسی NPU، معماری XDNA، Ryzen AI 300 و Ryzen AI 400

Ryzen AI نشان دهنده مرحله جدیدی در طراحی پردازنده های
Client شرکت AMD است؛ جایی که CPU، گرافیک مجتمع و یک
واحد اختصاصی پردازش هوش مصنوعی یا NPU در کنار یکدیگر
برای اجرای Workloadهای مختلف فعالیت می کنند.

بنابراین برای بررسی یک پردازنده Ryzen AI دیگر کافی نیست
فقط تعداد Core، فرکانس یا Cache را بررسی کنیم.
معماری CPU، توان GPU، قدرت NPU، حافظه، توان مصرفی
و پشتیبانی نرم افزاری همگی بخشی از Performance واقعی
سیستم هستند.


پاسخ سریع: AMD Ryzen AI چیست؟

Ryzen AI خانواده ای از پردازنده های AMD است که
علاوه بر CPU و GPU، دارای واحد اختصاصی NPU برای
اجرای برخی Workloadهای هوش مصنوعی روی خود دستگاه است.

در نسل های جدیدتر این خانواده، سه Engine اصلی را
باید همزمان در نظر گرفت:

CPU + GPU + NPU

CPU برای پردازش عمومی، GPU برای پردازش گرافیکی
و محاسبات موازی و NPU برای برخی Workloadهای AI
با تمرکز بر Efficiency استفاده می شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • Ryzen AI چیست.
  • NPU چیست و چه تفاوتی با CPU و GPU دارد.
  • معماری AMD XDNA چیست.
  • XDNA 2 چه نقشی در Ryzen AI دارد.
  • TOPS چیست و چرا نباید به تنهایی معیار خرید باشد.
  • Ryzen AI 300 چگونه نام گذاری می شود.
  • Ryzen AI 400 چه جایگاهی دارد.
  • Zen 5 و Zen 5c چه تفاوتی دارند.
  • چرا Ryzen AI را نباید با قوانین Ryzen 7000 رمزگشایی کرد.
  • چه زمانی وجود NPU واقعاً اهمیت دارد.
  • پردازش Local AI چه تفاوتی با Cloud AI دارد.

نقشه مفهومی Ryzen AI

01
CPU

Zen Architecture

02
GPU

Radeon Integrated Graphics

03
NPU

AI Accelerator

04
XDNA

NPU Architecture

05
Software

Workload Scheduling

چرا اصلاً به NPU نیاز پیدا کردیم؟

CPU یک پردازنده بسیار انعطاف پذیر است و می تواند
طیف گسترده ای از برنامه ها را اجرا کند.

GPU نیز به دلیل ساختار موازی خود برای بسیاری از
محاسبات گرافیکی و AI بسیار قدرتمند است.

اما همیشه منطقی نیست یک Workload کوچک یا دائمی AI
را روی CPU یا GPU اجرا کنیم.

در لپ تاپ، مصرف انرژی اهمیت زیادی دارد.
اگر یک Engine تخصصی بتواند یک عملیات AI مشخص را
با انرژی کمتری اجرا کند، استفاده از آن می تواند
به Efficiency بهتر سیستم کمک کند.

اینجا NPU وارد معماری می شود.

NPU چیست؟

NPU مخفف:

Neural Processing Unit

است.

NPU یک Accelerator تخصصی برای اجرای برخی عملیات
مربوط به Neural Network و Machine Learning است.

هدف اصلی آن جایگزین کردن CPU یا GPU نیست.
NPU قرار است Workload مناسب خودش را با Efficiency
بالاتری اجرا کند.

تفاوت CPU، GPU و NPU چیست؟

Engine نقطه قوت کاربرد کلی هدف اصلی
CPU انعطاف پذیری بالا اجرای عمومی برنامه ها General Purpose Computing
GPU Parallel Processing Graphics و Compute پردازش موازی گسترده
NPU AI Efficiency Neural Network Workloads AI Acceleration کم مصرف تر

Common Mistake — NPU جای کارت گرافیک را نمی گیرد

وجود 40، 50 یا 60 TOPS NPU به این معنی نیست
که دیگر به GPU نیاز نداریم.

GPU و NPU برای Workloadهای متفاوتی بهینه شده اند
و حتی در AI نیز ممکن است بخش های مختلف یک برنامه
روی CPU، GPU و NPU اجرا شوند.

AMD XDNA چیست؟

XDNA نام معماری AMD برای Engineهای تخصصی AI
مورد استفاده در NPUهای Ryzen AI است.

این معماری برای اجرای AI Inference با تمرکز بر
Performance و Efficiency طراحی شده است.

در نسل های جدیدتر Ryzen AI، نسخه XDNA 2
نقش مهمی در پردازش AI محلی دارد.

XDNA 2 چیست؟

XDNA 2 نسل جدیدتر معماری NPU شرکت AMD است.

این معماری در خانواده هایی مانند Ryzen AI 300
و Ryzen AI 400 استفاده شده است.

هدف آن افزایش ظرفیت پردازش AI و بهبود Efficiency
در Workloadهایی است که می توانند از NPU استفاده کنند.

TOPS چیست؟

TOPS مخفف:

Trillions of Operations Per Second

است.

این واحد برای بیان تعداد بسیار زیادی عملیات محاسباتی
در هر ثانیه استفاده می شود و در معرفی NPUها بسیار رایج شده است.

برای مثال یک NPU با 50 TOPS از نظر تئوری می تواند
تا ده ها تریلیون عملیات مشخص در هر ثانیه انجام دهد.

Common Mistake — TOPS را مثل Benchmark واقعی استفاده نکنید

TOPS به تنهایی نمی گوید یک سیستم در تمام برنامه های AI
سریع تر خواهد بود.

Precision، نوع مدل، Memory، Software Stack،
Optimization و اینکه برنامه اصلاً از NPU استفاده می کند
یا نه، روی نتیجه واقعی تأثیر دارند.

بنابراین:

Higher TOPS ≠ Always Faster AI PC

Local AI یا هوش مصنوعی محلی چیست؟

در Cloud AI داده برای پردازش به یک Server یا Data Center
ارسال می شود.

اما در Local AI بخشی یا تمام پردازش روی خود کامپیوتر
کاربر انجام می شود.

CPU، GPU و NPU می توانند بسته به نوع مدل در اجرای
Local AI نقش داشته باشند.

موضوع Local AI Cloud AI
محل پردازش روی دستگاه Server / Data Center
وابستگی به اینترنت در برخی کاربردها کمتر معمولاً ضروری
Latency می تواند بسیار پایین باشد وابسته به شبکه و Server
Privacy داده می تواند روی دستگاه باقی بماند ممکن است داده ارسال شود
قدرت محاسباتی محدود به Hardware دستگاه می تواند از Hardware بسیار بزرگ استفاده کند

چرا Local AI مهم شده است؟

اجرای برخی قابلیت ها روی دستگاه می تواند چند مزیت داشته باشد:

  • Latency کمتر در Workload مناسب.
  • امکان اجرای برخی قابلیت ها بدون اتصال دائمی به Cloud.
  • کاهش انتقال بعضی داده ها به Server.
  • پاسخ سریع تر برای قابلیت های دائمی سیستم.
  • امکان استفاده از AI در سطح Operating System.
  • کاهش بار CPU یا GPU در Workloadهای مناسب NPU.

AMD Ryzen AI 300 Series چیست؟

Ryzen AI 300 یکی از خانواده های مهم AMD در دوره جدید
AI PC است.

این خانواده ترکیبی از معماری CPU نسل Zen 5،
گرافیک مجتمع RDNA 3.5 و NPU مبتنی بر XDNA 2 را ارائه کرد.

در مدل های بالاتر این خانواده، NPU می تواند
تا حدود 50 TOPS توان AI ارائه کند.

ساختار کلی Ryzen AI 300

CPU

Zen 5 / Zen 5c

پردازش عمومی

GPU

RDNA 3.5

Radeon 800M Series

NPU

XDNA 2

AI Acceleration

مثال واقعی: AMD Ryzen AI 9 HX 370

یکی از مدل های مهم Ryzen AI 300:

AMD Ryzen AI 9 HX 370

Series Ryzen AI 300
Code Name Strix Point
CPU Architecture Zen 5 + Zen 5c
CPU Cores 12
Threads 24
Zen 5 Cores 4
Zen 5c Cores 8
Integrated GPU Radeon 890M
Graphics Architecture RDNA 3.5
NPU Architecture XDNA 2
NPU Performance Up to 50 TOPS
Overall AI Performance Up to 80 TOPS
Default TDP 28W
cTDP 15W – 54W

Zen 5c چیست و چرا Ryzen AI 9 HX 370 دو نوع Core دارد؟

حرف c در Zen 5c به نسخه Compact معماری اشاره دارد.

هدف از طراحی Core متراکم تر این است که بتوان تعداد
Core بیشتری را در فضای سیلیکونی محدود قرار داد.

Zen 5 و Zen 5c از یک خانواده ISA و Microarchitecture
هستند، اما Implementation فیزیکی و اهداف طراحی آنها
کاملاً یکسان نیست.

در Ryzen AI 9 HX 370 ترکیب:

4 × Zen 5 + 8 × Zen 5c

مجموعاً 12 Core و 24 Thread ایجاد می کند.

Common Mistake — Zen 5c را معادل مستقیم Intel E-Core ندانید

اگرچه هر دو مفهوم می توانند در طراحی Heterogeneous
یا Density-Oriented سیستم نقش داشته باشند،
Zen 5c را نباید صرفاً «E-Core شرکت AMD» نامید.

معماری، ISA، SMT، هدف طراحی و Implementation آنها
با ساختار Hybrid شرکت Intel یکسان نیست.

نام Ryzen AI 9 HX 370 را چگونه بخوانیم؟

01

Ryzen AI

Product Family

02

9

Performance Tier

03

HX

Performance Class در نام محصول

04

370

Model Number


قانون بسیار مهم

Ryzen AI 9 HX 370 را با سیستم شماره گذاری
Ryzen Mobile 7000 رمزگشایی نکنید.

خانواده Ryzen AI سیستم نام گذاری خودش را دارد.

ابتدا Product Family را تشخیص دهید و سپس
قواعد همان خانواده را بررسی کنید.

نمونه هایی از Ryzen AI 300

مدل رده تمرکز کلی
Ryzen AI 9 HX 370 Ryzen AI 9 رده بالاتر Performance
Ryzen AI 9 365 Ryzen AI 9 رده Premium
Ryzen AI 7 350 Ryzen AI 7 رده میانی رو به بالا
Ryzen AI 5 340 Ryzen AI 5 رده پایین تر خانواده AI 300

AMD Ryzen AI 400 Series چیست؟

Ryzen AI 400 نسل بعدی Portfolio پردازنده های Ryzen AI
است که AMD در سال 2026 خانواده آن را گسترش داد.

این خانواده همچنان بر معماری Zen 5 متکی است
و از Radeon 800M Series Graphics و NPU مبتنی بر
نسل دوم XDNA 2 استفاده می کند.

بنابراین تغییر عدد 300 به 400 را نباید به شکل ساده
«Zen 5 به Zen 6» تفسیر کرد.

Ryzen AI 300 در برابر Ryzen AI 400

ویژگی Ryzen AI 300 Ryzen AI 400
CPU Architecture Zen 5 Family Zen 5 Family
GPU Architecture RDNA 3.5 RDNA 3.5
NPU XDNA 2 Second-Generation XDNA 2
CPU Core Count وابسته به مدل تا 12 Core در خانواده
NPU Performance تا حدود 50+ TOPS بسته به مدل تا 60 TOPS در خانواده معرفی شده
دوره نسل اولیه نام گذاری AI 300 Portfolio جدیدتر 2026

Common Mistake — Ryzen AI 400 یعنی Zen 6 نیست

شماره Product Series و شماره Microarchitecture
دو مفهوم جدا هستند.

Ryzen AI 400 بر اساس Zen 5 معرفی شده است.

بنابراین همان قانون مهم فصل AMD دوباره تکرار می شود:

Product Series ≠ CPU Architecture

چرا یک AI PC به CPU، GPU و NPU همزمان نیاز دارد؟

AI یک Workload واحد نیست.

مدل ها از نظر اندازه، Precision، Memory Requirement،
Latency و نوع عملیات بسیار متفاوت هستند.

ممکن است یک قابلیت کوچک و دائمی سیستم روی NPU اجرا شود،
در حالی که یک Generative AI Model سنگین تر به GPU
و حافظه بیشتری نیاز داشته باشد.

CPU نیز همچنان مسئول بخش بزرگی از منطق برنامه،
Preprocessing، Scheduling و Workload عمومی است.

نقشه ساده اجرای AI Workload

01

Application

برنامه درخواست پردازش می دهد.

02

Runtime

Workload بررسی می شود.

03

CPU / GPU / NPU

Engine مناسب انتخاب می شود.

04

Result

خروجی به Application برمی گردد.

چرا Software Support به اندازه NPU مهم است؟

Hardware بدون Software مناسب نمی تواند تمام ظرفیت خود
را در اختیار کاربر قرار دهد.

برنامه باید بتواند NPU را شناسایی کند،
مدل مناسب را اجرا کند و Workload را به Engine
مربوطه منتقل کند.

بنابراین خرید یک پردازنده با NPU قدرتمند تضمین نمی کند
تمام نرم افزارهای فعلی کاربر از آن استفاده کنند.

Performance Impact — وجود NPU چه زمانی واقعاً تفاوت ایجاد می کند؟

زمانی که نرم افزار از NPU پشتیبانی کند و Workload
برای این Engine مناسب باشد.

در این شرایط NPU می تواند بخشی از پردازش AI را
بدون اشغال دائمی CPU یا GPU اجرا کند.

این موضوع مخصوصاً در لپ تاپ می تواند برای
Efficiency اهمیت داشته باشد.

Under the Hood — چرا یک تراشه به سه نوع Compute Engine نیاز دارد؟

یک معماری General Purpose برای تمام Workloadها
بهترین Efficiency ممکن را ندارد.

CPU در کنترل جریان پیچیده و اجرای کد عمومی
بسیار انعطاف پذیر است.

GPU تعداد زیادی واحد پردازشی موازی دارد و
برای Graphics و Parallel Compute مناسب است.

NPU نیز برای برخی عملیات Neural Network
به صورت تخصصی طراحی شده است.

هدف معماری Heterogeneous این است که هر Workload
تا حد امکان روی Engine مناسب خودش اجرا شود.

Engineering Insight — آینده Performance فقط افزایش سرعت CPU نیست

در معماری های مدرن، افزایش Performance می تواند
از تخصصی تر شدن Hardware نیز حاصل شود.

به جای اینکه CPU تمام عملیات را انجام دهد،
بخش هایی از Workload به GPU، NPU، Media Engine
و Acceleratorهای دیگر منتقل می شوند.

بنابراین مفهوم «پردازنده سریع تر» به تدریج
از یک عدد CPU Benchmark به Performance کل Platform
تبدیل می شود.

حافظه چه نقشی در AI PC دارد؟

AI Modelها برای نگهداری Parameters، Intermediate Data
و Context به حافظه نیاز دارند.

هرچه مدل بزرگ تر باشد، ظرفیت و Bandwidth حافظه
اهمیت بیشتری پیدا می کند.

به همین دلیل هنگام بررسی AI PC نباید فقط TOPS را ببینیم.

RAM Capacity، Memory Bandwidth و در سیستم های خاص
مقدار حافظه قابل استفاده توسط GPU نیز می توانند
بسیار مهم باشند.

آیا NPU برای اجرای LLM کافی است؟

پاسخ به اندازه مدل، Precision و Software بستگی دارد.

NPU می تواند برای برخی مدل ها و عملیات AI بسیار مفید باشد،
اما اجرای یک Large Language Model بزرگ ممکن است
بیشتر به GPU، Memory Capacity و Memory Bandwidth وابسته باشد.

بنابراین:

NPU TOPS ≠ Maximum LLM Capability

هنگام خرید AI PC چه چیزهایی را بررسی کنیم؟

01

CPU

معماری، Core و Performance

02

GPU

iGPU یا dGPU و Compute Capability

03

NPU

Architecture و TOPS

04

RAM

Capacity و Bandwidth

05

Software

آیا برنامه موردنظر NPU را پشتیبانی می کند؟

06

Cooling

Performance پایدار دستگاه

07

Battery

Efficiency واقعی لپ تاپ


Ryzen AI در بازار لپ تاپ استوک

با ورود نسل های جدید لپ تاپ های تجاری و حرفه ای
به بازار دست دوم و استوک، Ryzen AI نیز به تدریج
اهمیت بیشتری پیدا خواهد کرد.

اما وجود عبارت AI روی نام لپ تاپ به تنهایی
دلیل کافی برای پرداخت قیمت بیشتر نیست.

ابتدا باید مشخص شود کاربر واقعاً از Software یا
قابلیت هایی استفاده می کند که از NPU بهره می برند یا خیر.

Common Mistakes — اشتباهات رایج درباره Ryzen AI
  • تصور اینکه Ryzen AI فقط یک Ryzen معمولی با نام جدید است.
  • تصور اینکه NPU جای CPU را می گیرد.
  • تصور اینکه NPU جای GPU را می گیرد.
  • مقایسه AI Performance فقط با TOPS.
  • نادیده گرفتن Software Support.
  • تصور اینکه همه برنامه های AI از NPU استفاده می کنند.
  • اعمال سیستم شماره گذاری Ryzen 7000 روی Ryzen AI.
  • تصور اینکه Ryzen AI 400 یعنی Zen 6.
  • یکسان دانستن Zen 5c با Intel E-Core.
  • نادیده گرفتن RAM و Memory Bandwidth در Local AI.
  • استفاده از Overall TOPS به جای NPU TOPS بدون توضیح.

سوالات متداول AMD Ryzen AI و NPU

Ryzen AI چیست؟

خانواده ای از پردازنده های AMD است که
CPU، GPU و NPU را برای Workloadهای مدرن
در یک Platform ترکیب می کند.

NPU چیست؟

Neural Processing Unit یک Accelerator تخصصی
برای برخی Workloadهای هوش مصنوعی است.

XDNA چیست؟

معماری AMD برای NPU و پردازش تخصصی AI است.

XDNA 2 چیست؟

نسل جدیدتر معماری NPU شرکت AMD است که
در خانواده های جدید Ryzen AI استفاده می شود.

TOPS چیست؟

واحدی برای بیان تریلیون ها عملیات محاسباتی
در هر ثانیه است که در معرفی AI Acceleratorها
استفاده می شود.

آیا TOPS بیشتر همیشه یعنی AI سریع تر؟

خیر. نوع Workload، Precision، Memory،
Software و Optimization نیز بسیار مهم هستند.

Ryzen AI 9 HX 370 چند هسته دارد؟

این مدل 12 Core و 24 Thread دارد که شامل
4 هسته Zen 5 و 8 هسته Zen 5c است.

Ryzen AI 9 HX 370 چه NPUای دارد؟

از NPU مبتنی بر XDNA 2 با توان
تا 50 TOPS استفاده می کند.

آیا Ryzen AI 400 از Zen 6 استفاده می کند؟

خیر. خانواده Ryzen AI 400 معرفی شده توسط AMD
همچنان بر Zen 5 متکی است.

Ryzen AI 300 و 400 چه تفاوتی دارند؟

400 خانواده جدیدتر Portfolio است،
اما برای مقایسه دقیق باید SKU به SKU
بررسی شود و صرف عدد Series کافی نیست.

آیا برای هوش مصنوعی حتماً NPU لازم است؟

خیر. بسیاری از AI Workloadها روی CPU یا GPU
نیز اجرا می شوند. NPU یک Accelerator تخصصی
برای Workloadهای مناسب است.

آیا ChatGPT روی NPU لپ تاپ اجرا می شود؟

استفاده از ChatGPT به شکل سرویس آنلاین معمولاً
به معنی اجرای مدل اصلی در Cloud است.
داشتن NPU به تنهایی باعث اجرای مدل سرویس
روی کامپیوتر کاربر نمی شود.

آیا Local AI خصوصی تر است؟

در سناریویی که پردازش و داده واقعاً روی دستگاه
باقی بمانند، می تواند انتقال داده به Cloud
را کاهش دهد؛ اما رفتار دقیق به نرم افزار بستگی دارد.

برای اجرای LLM رم مهم است یا NPU؟

هر دو می توانند مهم باشند، اما مدل های بزرگ
معمولاً به ظرفیت حافظه قابل توجه نیاز دارند.
TOPS به تنهایی ظرفیت اجرای مدل را مشخص نمی کند.

خلاصه فصل

Ryzen AI نشان دهنده حرکت از نگاه CPU محور
به نگاه Platform محور است.

در این سیستم سه Engine اصلی داریم:

CPU + GPU + NPU

و هیچ کدام به تنهایی Performance کل سیستم
را تعریف نمی کنند.

مهم ترین قانون این فصل:


TOPS، Series و عبارت AI را هرگز بدون بررسی
Architecture، Software و Workload واقعی
به معیار خرید تبدیل نکنید.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • تفاوت CPU، GPU و NPU را توضیح دهید.
  • مفهوم XDNA و XDNA 2 را بشناسید.
  • TOPS را از Benchmark واقعی جدا بدانید.
  • Ryzen AI 300 را از Ryzen کلاسیک تشخیص دهید.
  • Ryzen AI 400 را با Zen 6 اشتباه نگیرید.
  • ساختار Ryzen AI 9 HX 370 را تشخیص دهید.
  • Zen 5 و Zen 5c را از یکدیگر تفکیک کنید.
  • اهمیت Software Support را در NPU بدانید.
  • Local AI را از Cloud AI تشخیص دهید.
  • برای AI PC فقط TOPS را معیار خرید قرار ندهید.


فصل 19
سطح: مقدماتی تا متوسط
موضوع: پسوندهای پردازنده AMD Ryzen
تمرکز: U / H / HS / HX / X / X3D / G / GE / PRO


چند حرف انتهای نام Ryzen می توانند درباره کلاس مصرف، نوع دستگاه و جایگاه محصول اطلاعات مهمی بدهند

پسوندهای پردازنده AMD Ryzen چه معنایی دارند؟ راهنمای U، H، HS، HX، X، X3D و سایر مدل ها

وقتی نام پردازنده ای مانند
Ryzen 7 7840U،
Ryzen 7 7840HS،
Ryzen 9 7945HX
یا Ryzen 7 7800X3D
را می بینیم،
بخش انتهایی نام
فقط یک حرف تزئینی نیست.

پسوند CPU
می تواند به ما کمک کند
بفهمیم پردازنده
برای چه کلاس دستگاهی طراحی شده،
چه نوع Power Envelopeای دارد،
در چه Segmentی قرار می گیرد
و در بعضی خانواده ها
چه ویژگی خاصی دارد.

اما یک نکته بسیار مهم وجود دارد:

CPU Suffix
≠
Complete CPU Specification

پسوند فقط بخشی
از نام پردازنده است
و باید در کنار:

  • نسل،
  • Architecture،
  • مدل کامل،
  • Core Count،
  • Power Class،
  • و طراحی دستگاه

تحلیل شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • Suffix یا پسوند CPU چیست.
  • چرا AMD از پسوندهای مختلف استفاده می کند.
  • پسوند U چه معنایی دارد.
  • H و HS چه تفاوتی دارند.
  • HX چه جایگاهی دارد.
  • X در پردازنده های Desktop چه معنایی دارد.
  • X3D چیست.
  • پسوندهای G و GE در چه مدل هایی دیده می شوند.
  • PRO چیست و آیا واقعاً Suffix محسوب می شود.
  • چرا معنی یک پسوند می تواند بین نسل ها تغییر کند.
  • چرا U همیشه کند و HX همیشه سریع تر نیست.
  • در لپ تاپ استوک چگونه از روی پسوند CPU نتیجه گیری کنیم.
  • چطور پسوند را با نسل و Architecture ترکیب کنیم.

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


CPU Suffix

Suffix
حرف یا مجموعه ای از حروف
در انتهای مدل پردازنده است
که معمولاً اطلاعاتی درباره
کلاس محصول،
Power،
نوع Platform
یا قابلیت خاص مدل
ارائه می کند.

برای مثال:

Ryzen 7 7840U

حرف:

U

پسوند مدل است.

یا در:

Ryzen 7 7800X3D

عبارت:

X3D

بخشی از نام مدل
است که به کلاس
خاصی از محصول اشاره دارد.

چرا AMD از پسوندهای متفاوت استفاده می کند؟

یک Architecture واحد
می تواند در دستگاه های
کاملاً متفاوتی استفاده شود.

برای مثال
ممکن است یک خانواده پردازنده
برای:

  • Ultrabook،
  • Laptop معمولی،
  • Gaming Laptop،
  • Mobile Workstation،
  • Desktop،
  • و سیستم های تجاری

مدل های متفاوت داشته باشد.

این دستگاه ها
محدودیت Power،
Cooling
و Performance Target
یکسانی ندارند.

پسوندها
یکی از ابزارهای
دسته بندی این مدل ها هستند.

جدول کلی پسوندهای رایج AMD Ryzen

پسوند Platform رایج تمرکز کلی برداشت صحیح
U Laptop مصرف پایین و قابلیت حمل تمرکز بیشتر بر Efficiency و Battery Life
H Laptop Performance بالاتر کلاس Mobile Performance در بعضی نسل ها
HS Laptop Performance بالا با Power متعادل تر مناسب Laptopهای Performance باریک تر
HX Laptop Performance بسیار بالا کلاس High-End Mobile با Power و Cooling بیشتر
X Desktop Performance بالاتر در خانواده Desktop مدل Performance-Oriented در برخی نسل ها
X3D Desktop Cache بسیار بیشتر مدل دارای 3D V-Cache
G Desktop / APU در برخی نسل ها گرافیک مجتمع برجسته تر معنی دقیق وابسته به نسل
GE Desktop در برخی نسل ها مدل کم مصرف تر با Graphics مجتمع ترکیب Segment گرافیکی با Power پایین تر
PRO Business قابلیت های مدیریتی و تجاری بیشتر یک Product Class است تا صرفاً یک Suffix ساده

پسوند U در AMD Ryzen چیست؟

U
معمولاً در پردازنده های
Mobile
با تمرکز بیشتر روی
مصرف انرژی پایین تر
و دستگاه های قابل حمل
دیده می شود.

این مدل ها
معمولاً برای:

  • لپ تاپ های سبک،
  • Ultrabookها،
  • Business Laptopها،
  • دانشجویی،
  • کاربری اداری،
  • و سیستم های دارای Battery Life مهم

مناسب هستند.

U
→
Mobility
+
Efficiency
+
Lower Power Envelope

اما:

U به معنی «ضعیف» نیست.

یک پردازنده U
از نسل جدید
می تواند در بسیاری از Workloadها
از پردازنده H
چند نسل قدیمی تر
سریع تر باشد.

پسوند H چیست؟

H
در بعضی نسل های Mobile Ryzen
برای مدل هایی
با Performance و Power Budget
بالاتر استفاده شده است.

این پردازنده ها
بیشتر در:

  • Gaming Laptop،
  • لپ تاپ های Performance،
  • سیستم های مهندسی،
  • و دستگاه های دارای Cooling قوی تر

دیده می شوند.

H
→
Higher Mobile Performance Class

اما معنای دقیق
H در تمام Generationها
الزاماً یکسان نیست.

پسوند HS چیست؟

HS
معمولاً برای پردازنده های Mobile
با Performance بالا
اما با هدف حفظ
تعادل بهتر میان:

  • Performance،
  • Power،
  • Heat،
  • و ابعاد Laptop

استفاده شده است.

این مدل ها
در بسیاری از:

  • Gaming Laptopهای باریک،
  • Creator Laptopها،
  • لپ تاپ های مهندسی Performance،
  • و دستگاه های Premium

دیده می شوند.

HS
→
High Performance
+
More Constrained Power Envelope Than HX

پسوند HX چیست؟

HX
معمولاً در بالاترین
کلاس Performance
پردازنده های Mobile
قرار می گیرد.

این مدل ها
برای Laptopهایی طراحی می شوند
که می توانند:

  • Power بیشتری در اختیار CPU قرار دهند،
  • Cooling قوی تری داشته باشند،
  • Load طولانی سنگین اجرا کنند،
  • و Performance Multi-Core بالاتری هدف بگیرند.

کاربردهای رایج:

  • Gaming Laptop رده بالا،
  • Mobile Workstation،
  • Rendering،
  • Compilation سنگین،
  • Simulation،
  • و Content Creation حرفه ای.

HX
→
Maximum Mobile CPU Performance Class

اما HX بودن
تضمین نمی کند
هر Laptop مجهز به آن
Performance یکسانی داشته باشد.

تفاوت مفهومی U، HS و HX چیست؟

ویژگی U HS HX
تمرکز اصلی Efficiency تعادل Performance و Power Performance حداکثری Mobile
نوع Laptop باریک و سبک Performance / Gaming باریک تر Gaming و Workstation سنگین
Cooling مورد نیاز کمتر متوسط تا بالا بالا
Battery Focus بیشتر متوسط کمتر
Multi-Core Sustained Performance معمولاً محدودتر بالا معمولاً بالاتر در Platform مناسب

این جدول
یک مدل کلی است.

برای مقایسه واقعی
باید مدل دقیق CPU
و Laptop
بررسی شود.

پسوند X در Ryzen Desktop چیست؟

X
در بسیاری از نسل های
Ryzen Desktop
برای مدل هایی
با جایگاه Performance بالاتر
در همان خانواده
استفاده شده است.

معمولاً مدل X
ممکن است:

  • Clock بالاتر،
  • Power Budget بالاتر،
  • Performance Target بالاتر،
  • یا Positioning متفاوت

داشته باشد.

Ryzen X
→
Performance-Oriented Desktop SKU

اما X
در تمام نسل ها
دقیقاً یک معنی فنی ثابت
ندارد.

X3D چیست؟


X3D

نامی است که AMD
برای بعضی پردازنده های
مجهز به 3D V-Cache
استفاده می کند.

در این مدل ها
Cache اضافی
با استفاده از
Packaging سه بعدی
به Processor
اضافه می شود.

Standard Cache
+
Additional 3D-Stacked Cache
→
Much Larger Effective Cache Capacity

Workloadهایی که
به Cache Capacity
حساس هستند
می توانند
از این طراحی
سود زیادی ببرند.

Gaming
یکی از شناخته شده ترین
نمونه هاست،
اما اثر دقیق
به Game و Workload
وابسته است.

آیا X3D همیشه سریع تر است؟

خیر.

اگر Workload
از Cache اضافی
سود زیادی نبرد،
برتری X3D
می تواند محدودتر باشد.

بعضی Workloadها
بیشتر به:

  • Frequency،
  • Core Count،
  • Vector Performance،
  • Memory Bandwidth،
  • یا GPU

وابسته هستند.

More Cache
≠
Universal Performance Gain

پسوند G در Ryzen چیست؟

G
در برخی نسل های
Ryzen Desktop
برای مدل هایی
با Graphics مجتمع
برجسته تر
استفاده شده است.

این مدل ها
در بعضی دوره ها
با مفهوم APU
نیز ارتباط نزدیکی
داشته اند.

Ryzen G
→
CPU
+
More Significant Integrated Graphics

اما نباید
مفهوم G
را در تمام نسل ها
بدون بررسی Platform
یکسان فرض کرد.

پسوند GE چیست؟

GE
در برخی خانواده های Desktop
برای نسخه هایی
با Graphics مجتمع
و Power Target پایین تر
استفاده شده است.

این مدل ها
می توانند برای:

  • Office PC،
  • Small Form Factor،
  • سیستم های کم مصرف،
  • و دستگاه های دارای Cooling محدودتر

مناسب باشند.

AMD Ryzen PRO چیست؟

PRO
بیشتر از آنکه
فقط یک Suffix ساده باشد،
نشان دهنده
Product Family
با تمرکز Business
و Enterprise است.

مدل های PRO
ممکن است
قابلیت هایی مرتبط با:

  • Manageability،
  • Security،
  • Platform Stability،
  • Business Deployment،
  • و Lifecycle مدیریت شده

داشته باشند.

بنابراین:

Ryzen PRO
≠
Automatically Faster Ryzen

تمرکز آن
فقط Performance
نیست.

اگر Ryzen پسوند نداشته باشد چه؟

در بعضی خانواده های Desktop
مدل هایی وجود دارند
که پسوند X
یا پسوند خاص دیگری ندارند.

نبود پسوند
به معنی
ناقص یا ضعیف بودن CPU نیست.

ممکن است مدل
Power،
Clock،
Positioning
یا قیمت متفاوتی
نسبت به مدل X
داشته باشد.

برای تصمیم گیری
باید Specification واقعی
و Benchmark
بررسی شود.

پسوند، نسل پردازنده را مشخص نمی کند

این نکته
بسیار مهم است.

برای مثال:

Ryzen 7 xxxxU

حرف U
فقط کلاس مدل
را توصیف می کند.

U به ما نمی گوید
CPU از چه Architecture
یا چه Generationی است.

Suffix
→
Product Class

Model Number
+
Generation Rules
→
Architecture / Generation Clues

آیا دو CPU با پسوند U مشابه هستند؟

الزاماً خیر.

تصور کنید:

Ryzen 7 Older-U

و:

Ryzen 7 Newer-U

هر دو U هستند،
اما ممکن است:

  • Architecture متفاوت،
  • Core Count متفاوت،
  • Process Node متفاوت،
  • Cache متفاوت،
  • GPU مجتمع متفاوت،
  • Memory Support متفاوت،
  • و Performance بسیار متفاوت

داشته باشند.

Same Suffix
≠
Same Generation
≠
Same Performance

آیا HX همیشه از U سریع تر است؟

اگر دو Processor
از Generation
و Architecture مشابه
باشند،
HX معمولاً
Power و Performance Target
بالاتری دارد.

اما در مقایسه
نسل های متفاوت:

Newer U
vs
Much Older HX

نتیجه نمی تواند
فقط از روی Suffix
تعیین شود.

حتی در Generation یکسان
نیز Model Number
و Core Count
باید بررسی شوند.

چرا پسوند CPU برای پیش بینی Performance لپ تاپ کافی نیست؟

فرض کنید
دو Laptop
یک CPU HS
یکسان دارند.

Laptop اول:

  • Cooling بزرگ تر،
  • Power Limit بالاتر،
  • Fan Profile تهاجمی تر.

Laptop دوم:

  • بدنه باریک تر،
  • Cooling محدودتر،
  • Power Policy محافظه کارانه تر.

نتیجه:

Same CPU
+
Different Laptop Design
=
Different Sustained Performance

در خرید لپ تاپ استوک پسوند Ryzen را چگونه تفسیر کنیم؟

در بازار استوک
پسوند می تواند
یک Filter اولیه
بسیار مفید باشد.

برای مثال:

نیاز کاربر Suffixهایی که معمولاً ارزش بررسی دارند
اداری، دانشگاه، حمل روزانه U
برنامه نویسی و مهندسی متوسط U یا HS بسته به مدل
Gaming و Creator HS / H
Rendering و Mobile Workstation HS / HX
حداکثر Multi-Core Mobile HX در Platform مناسب

اما این جدول
فقط نقطه شروع است.

بعد از آن
مدل دقیق CPU
باید بررسی شود.

روش صحیح خواندن یک Ryzen Mobile

  1. ابتدا نام کامل CPU را ثبت کنید.
  2. سری و Numbering Scheme آن را مشخص کنید.
  3. Generation یا Architecture واقعی را بررسی کنید.
  4. تعداد Core و Thread را بررسی کنید.
  5. Suffix را مشخص کنید.
  6. Power Class مدل را بررسی کنید.
  7. مدل دقیق Laptop را بررسی کنید.
  8. Cooling و Sustained Performance دستگاه را بررسی کنید.
  9. Benchmark مرتبط با Workload واقعی را مقایسه کنید.

Exact Model
→
Architecture
→
Core Configuration
→
Suffix
→
Laptop Design
→
Real Performance

آیا Suffix مقدار دقیق توان CPU را مشخص می کند؟

خیر.

Suffix
می تواند سرنخی
از Power Class
بدهد،
اما مقدار واقعی Power
به:

  • مدل دقیق CPU،
  • Generation،
  • Firmware،
  • Laptop Manufacturer،
  • Performance Mode،
  • Cooling،
  • و Workload

وابسته است.

Suffix
≠
Exact Real-Time Wattage

آیا می توان فقط با Suffix دو CPU را رتبه بندی کرد؟

خیر.

عبارت:

HX > HS > U

فقط در یک Context بسیار محدود
می تواند معنای تقریبی داشته باشد.

برای رتبه بندی واقعی:

Architecture
+
Exact Model
+
Core Count
+
Frequency
+
Power
+
Cooling
+
Workload

باید در نظر گرفته شوند.

آیا پسوند درباره گرافیک مجتمع هم اطلاعات می دهد؟

در بعضی خانواده های AMD
بله،
اما نه همیشه.

برای مثال
در برخی نسل های Desktop
G
نشان دهنده مدل هایی
با تمرکز بیشتر
روی Integrated Graphics
بوده است.

اما در خانواده های جدیدتر
باید Specification واقعی
را بررسی کرد،
زیرا وجود یا توان iGPU
را نمی توان فقط
از یک قاعده قدیمی
نتیجه گرفت.

Ryzen PRO در سیستم های استوک چه اهمیتی دارد؟

بسیاری از Laptopها
و Mini PCهای Business استوک
ممکن است از Ryzen PRO
استفاده کنند.

این موضوع
می تواند نشان دهد
دستگاه از ابتدا
برای بازار سازمانی
طراحی شده است.

اما PRO بودن
به تنهایی
معیار سرعت یا کیفیت
کل دستگاه نیست.

باید همچنان:

  • مدل CPU،
  • نسل،
  • RAM،
  • SSD،
  • Cooling،
  • و شرایط دستگاه

بررسی شوند.

زیرساخت فنی — چرا یک Silicon مشابه می تواند در چند کلاس U، HS یا HX رفتار متفاوتی داشته باشد؟

Performance CPU
فقط از Architecture
نمی آید.

Processor
در یک محدوده
Power و Thermal
کار می کند.

CPU Architecture
↓
Voltage / Frequency Policy
↓
Power Budget
↓
Cooling Capability
↓
Sustainable Operating Point

اگر CPU
در Platform کم مصرف
قرار گیرد،
ممکن است Frequency
و Multi-Core Throughput
محدودتر باشد.

همان خانواده
در Platform
با Cooling بزرگ تر
و Power Headroom بیشتر
می تواند Performance
بالاتری حفظ کند.

Lower Power Envelope
→
Lower Sustained Multi-Core Performance

Higher Power + Better Cooling
→
Higher Sustainable Throughput

Suffix
در بسیاری از موارد
بخشی از Positioning
همین تفاوت ها را
در نام محصول نشان می دهد.

اما Manufacturer Laptop
نیز می تواند
Power Policy
را در محدوده مجاز
تغییر دهد.

نکته مهندسی — پسوند را به عنوان Metadata بخوانید، نه Benchmark

U،
HS،
HX
یا X
اطلاعات ارزشمندی
درباره Positioning محصول
ارائه می دهند.

اما آنها
Score Performance نیستند.

Suffix
→
Product Classification

Benchmark
→
Measured Performance

این دو
نباید جای یکدیگر
استفاده شوند.

تاثیر بر عملکرد — پسوند بیشتر از Peak Performance درباره Sustained Behavior به ما سرنخ می دهد

تفاوت میان U
و HX
فقط در Peak Clock
خلاصه نمی شود.

در Load طولانی:

CPU Workload
↓
Power Consumption
↓
Heat
↓
Cooling Capacity
↓
Sustainable Frequency
↓
Sustained Performance

بنابراین در Workloadهایی مانند:

  • Rendering،
  • Encoding،
  • Compilation طولانی،
  • Simulation،
  • و Multi-Core Processing

Power Class
و طراحی Laptop
می توانند
بسیار مهم باشند.

اشتباهات رایج — Common Mistakes درباره پسوندهای AMD
  • فرض اینکه U یعنی CPU ضعیف.
  • فرض اینکه HX همیشه از هر U یا HS سریع تر است.
  • نادیده گرفتن نسل هنگام مقایسه Suffixها.
  • نادیده گرفتن Architecture.
  • مقایسه Ryzen 7 U و Ryzen 7 HX فقط براساس Ryzen 7 بودن.
  • فرض اینکه Suffix مقدار دقیق Watt را تعیین می کند.
  • فرض اینکه تمام Laptopهای دارای CPU یکسان Performance یکسان دارند.
  • فرض اینکه X3D در تمام نرم افزارها سریع ترین انتخاب است.
  • فرض اینکه X همیشه به معنی Overclocked بودن ساده است.
  • تفسیر G براساس یک قانون ثابت برای تمام Generationها.
  • فرض اینکه PRO فقط یک مدل سریع تر است.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن مدل کامل CPU.
  • استفاده از Suffix به جای Benchmark.

چند مثال برای روش صحیح تحلیل

مثال اول:

Ryzen 7 ….U

برداشت صحیح:
یک Ryzen 7 Mobile
با تمرکز بیشتر
روی Efficiency.

برداشت اشتباه:
«چون U است، ضعیف است.»


مثال دوم:

Ryzen 9 ….HX

برداشت صحیح:
CPU Mobile High-End
که برای Performance بالا
طراحی شده،
اما Performance واقعی آن
به Laptop و Cooling
بستگی دارد.


مثال سوم:

Ryzen 7 ….X3D

برداشت صحیح:
مدل دارای 3D V-Cache
که در Workloadهای حساس
به Cache
می تواند مزیت قابل توجهی داشته باشد.

برداشت اشتباه:
«X3D در هر نرم افزاری سریع ترین CPU است.»

مرجع سریع انتخاب Suffix

Suffix اگر این نیاز را دارید بررسی کنید قبل از خرید حتماً چه چیزی را بررسی کنید؟
U حمل آسان، Battery، Office، دانشگاه نسل، Core Count و Performance واقعی
HS Performance بالا در Laptop نسبتاً متعادل Cooling و Power Limit دستگاه
H Performance Mobile در خانواده های دارای این Segment نسل و مدل دقیق
HX Rendering، Gaming High-End، Workstation Cooling، Adapter، Power و وزن دستگاه
X Desktop Performance اختلاف واقعی با مدل Non-X
X3D Workload حساس به Cache، مخصوصاً Gaming Benchmark نرم افزار واقعی
G / GE سیستم بدون GPU مجزا در خانواده های مرتبط نسل و مشخصات واقعی iGPU
PRO Business و Enterprise Deployment قابلیت های Platform و مدل کامل CPU

سوالات متداول درباره پسوند پردازنده های AMD Ryzen

Ryzen U یعنی چه؟

معمولاً نشان دهنده
پردازنده Mobile
با تمرکز بیشتر
روی Efficiency،
مصرف پایین تر
و Laptopهای قابل حمل است.

Ryzen HS یعنی چه؟

معمولاً کلاس Mobile
با Performance بالا
و Power Envelope متعادل تر
نسبت به مدل های HX است.

Ryzen HX یعنی چه؟

معمولاً به مدل های
High-End Mobile
با تمرکز بر Performance
و Power Budget بالاتر
اشاره دارد.

HX همیشه از U سریع تر است؟

خیر.
نسل،
Architecture،
مدل دقیق
و طراحی Laptop
باید بررسی شوند.

X3D یعنی چه؟

نشان دهنده مدل هایی است
که از فناوری
3D V-Cache
برای افزایش Cache
استفاده می کنند.

آیا X3D برای رندر هم همیشه بهتر است؟

خیر.
مزیت آن
به حساسیت Workload
به Cache
بستگی دارد.

پسوند G چه معنایی دارد؟

در برخی خانواده های Ryzen
به مدل هایی با Graphics مجتمع
برجسته تر اشاره داشته است،
اما معنی دقیق باید
براساس نسل بررسی شود.

Ryzen PRO سریع تر از Ryzen معمولی است؟

الزاماً خیر.
PRO بیشتر
به قابلیت های Business،
Management
و Platform Features
مربوط است.

برای لپ تاپ استوک U بهتر است یا HS؟

به نیاز کاربر بستگی دارد.
U برای Mobility و Efficiency
و HS برای Performance بالاتر
می تواند مناسب تر باشد،
اما مدل دقیق CPU
باید مقایسه شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Suffix: حرف یا مجموعه حروف انتهای مدل CPU که کلاس یا ویژگی محصول را توصیف می کند.
  • U: کلاس Mobile با تمرکز بیشتر روی Efficiency و Mobility.
  • H: کلاس Performance Mobile در برخی خانواده های AMD.
  • HS: کلاس Performance Mobile با Power Target متعادل تر.
  • HX: کلاس High-End Mobile با تمرکز روی Performance بالا.
  • X: پسوند رایج بعضی مدل های Desktop Performance.
  • X3D: مدل دارای 3D V-Cache.
  • G: پسوند مرتبط با مدل های دارای تمرکز بیشتر بر Integrated Graphics در برخی نسل ها.
  • GE: نسخه کم مصرف تر بعضی مدل های Desktop دارای Graphics مجتمع.
  • PRO: خانواده Business و Enterprise پردازنده های AMD با قابلیت های Platform مرتبط.
  • Power Envelope: محدوده عملیاتی توان که طراحی محصول برای آن هدف گذاری شده است.
  • Product Positioning: جایگاه یک محصول در Segment و بازار هدف.

خلاصه فصل

پسوندهای پردازنده AMD
یک ابزار سریع
برای تشخیص
کلاس کلی محصول هستند.

به صورت بسیار خلاصه:

U
→
Efficiency / Mobility

HS
→
Balanced High Performance Mobile

HX
→
High-End Mobile Performance

X
→
Desktop Performance Class

X3D
→
3D V-Cache

G / GE
→
Integrated Graphics-Oriented Models
In Relevant Generations

PRO
→
Business / Enterprise Platform

اما پسوند
هرگز نباید
جدا از مدل کامل
تحلیل شود.

Correct CPU Analysis
=
Model
+
Generation
+
Architecture
+
Suffix
+
Power
+
Laptop Design
+
Benchmark


در بازار لپ تاپ استوک،
پسوند Ryzen را به عنوان یک فیلتر اولیه استفاده کنید،
نه به عنوان حکم نهایی درباره قدرت پردازنده.


فصل 20
سطح: متوسط تا پیشرفته
پیش نیاز: پسوندهای AMD و معماری Zen
موضوع: مقایسه عملی Ryzen Mobile


چرا Ryzen 7 همیشه از Ryzen 5 سریع تر نیست؟

مقایسه Ryzen U، HS، H و HX؛ نسل، معماری یا پسوند، کدام مهم تر است؟

یکی از بزرگ ترین اشتباهات هنگام مقایسه لپ تاپ های AMD
این است که فقط Ryzen 5، Ryzen 7 یا Ryzen 9 بودن
پردازنده را ببینیم.

در عمل، معماری CPU، نسل واقعی، تعداد هسته،
Power Limit، سیستم خنک کننده و پسوند پردازنده
همگی می توانند نتیجه مقایسه را تغییر دهند.

در این فصل به جای حفظ کردن نام ها، یک روش مهندسی
برای مقایسه پردازنده های Ryzen Mobile یاد می گیریم.


قانون طلایی این فصل

این رابطه:

Ryzen 9 > Ryzen 7 > Ryzen 5

فقط در شرایط مقایسه صحیح معنا پیدا می کند.

همین موضوع درباره:

HX > H > HS > U

نیز صدق می کند.

این ترتیب، جایگاه کلی کلاس های محصول را نشان می دهد؛
نه اینکه هر HX موجود در بازار از هر H، HS یا U سریع تر باشد.

در این فصل چه چیزهایی یاد می گیریم؟

  • چگونه دو Ryzen Mobile را اصولی مقایسه کنیم.
  • چرا Ryzen 7 به تنهایی معیار قدرت نیست.
  • چرا نسل جدید U می تواند نسل قدیمی H را به چالش بکشد.
  • چرا تعداد هسته به تنهایی کافی نیست.
  • تفاوت Burst Performance و Sustained Performance چیست.
  • Cooling چگونه نتیجه Benchmark را تغییر می دهد.
  • چرا دو لپ تاپ با CPU یکسان الزاماً سرعت یکسان ندارند.
  • چگونه ارزش خرید CPU را در بازار استوک بررسی کنیم.

برای مقایسه دو پردازنده Ryzen از کجا شروع کنیم؟

مقایسه صحیح باید چند مرحله داشته باشد.
نگاه کردن به یک بخش از نام پردازنده کافی نیست.

01
مدل کاملنام دقیق هر دو CPU را مشخص کنید.
02
Architectureنسل واقعی Zen را پیدا کنید.
03
Core / Threadتعداد هسته و رشته را مقایسه کنید.
04
Power ClassU، HS، H یا HX را بررسی کنید.
05
Cacheظرفیت و ساختار Cache را ببینید.
06
Memoryنوع و سرعت حافظه پشتیبانی شده مهم است.
07
Coolingشاسی و سیستم خنک کننده لپ تاپ را بررسی کنید.
08
WorkloadBenchmark متناسب با کاربرد خودتان را ببینید.

حالت اول: مقایسه پردازنده های هم نسل

مقایسه زمانی ساده تر می شود که دو پردازنده
از یک معماری و یک دوره باشند.

در این حالت تفاوت Power Class، تعداد Core،
Clock و Cache واضح تر دیده می شود.


مثال مفهومی

اگر دو CPU واقعاً از معماری مشابه و تعداد Core نزدیک
استفاده کنند، مدل H یا HX معمولاً فضای بیشتری
برای حفظ Clock در Workload طولانی خواهد داشت.

اما حتی در این شرایط نیز Cooling لپ تاپ
می تواند نتیجه را تغییر دهد.

حالت دوم: مقایسه نسل جدید U با نسل قدیمی H

این یکی از مهم ترین مقایسه ها در بازار لپ تاپ استوک است.

خریدار ممکن است تصور کند چون یک پردازنده H است،
حتماً از پردازنده U سریع تر خواهد بود.

اما اگر چند نسل معماری میان آنها فاصله وجود داشته باشد،
این نتیجه گیری می تواند اشتباه باشد.

Engineering Insight — چگونه U جدید می تواند H قدیمی را شکست دهد؟

معماری جدید می تواند IPC بالاتر داشته باشد.

Process Node جدیدتر می تواند Efficiency را افزایش دهد.

CPU جدید ممکن است Cache بهتر،
Memory Controller جدیدتر و Boost Behavior
پیشرفته تری داشته باشد.

بنابراین Power بیشتر تنها راه دستیابی
به Performance بیشتر نیست.

Performance = Architecture + Cores + Clock + Cache
+ Power + Cooling + Memory + Workload

مثال آموزشی: Ryzen 7 5800H در برابر Ryzen 7 7840U

این مقایسه نشان می دهد چرا فقط H و U بودن
برای پیش بینی نتیجه کافی نیست.

ویژگی Ryzen 7 5800H Ryzen 7 7840U
Architecture Zen 3 Zen 4
Core / Thread 8 / 16 8 / 16
Max Boost Up to 4.4 GHz Up to 5.1 GHz
L3 Cache 16 MB 16 MB
Default TDP 45W 28W
CPU Process TSMC 7nm FinFET TSMC 4nm FinFET
Integrated Graphics Radeon Graphics / Vega generation Radeon 780M / RDNA 3
Memory Generation DDR4 / LPDDR4x DDR5 / LPDDR5x

نکته آموزشی این مقایسه این نیست که بگوییم
7840U در تمام شرایط از 5800H سریع تر است.

نکته این است که U جدیدتر با وجود Power Class پایین تر،
به دلیل پیشرفت معماری می تواند رقیبی بسیار جدی
برای H نسل های قبلی باشد.

Common Mistake — هر دو Ryzen 7 هستند، پس تقریباً یک قدرت دارند

Ryzen 7 یک Performance Tier است،
نه مشخصات فنی کامل پردازنده.

دو Ryzen 7 می توانند معماری،
تعداد Core، GPU، Cache، Power Limit
و Performance کاملاً متفاوتی داشته باشند.

آیا می توان فقط مدل هایی با شماره مشابه را مقایسه کرد؟

حتی شباهت شماره مدل نیز کافی نیست.

باید بررسی کنیم آیا CPUها واقعاً از یک Silicon،
Architecture و Product Family مشابه استفاده می کنند یا خیر.

این موضوع در Ryzen Mobile بسیار مهم است،
زیرا AMD در بعضی دوره ها چند معماری متفاوت را
در یک خانواده نام گذاری بازار قرار داده است.

مثال مهم: Ryzen 7 7730U در برابر Ryzen 7 7840U

این دو پردازنده در نگاه اول بسیار نزدیک به نظر می رسند.

Ryzen 7 7730U

Ryzen 7 7840U

هر دو Ryzen 7 و هر دو سری 7000 و هر دو U هستند.
اما از نظر معماری یکسان نیستند.

ویژگی Ryzen 7 7730U Ryzen 7 7840U
CPU Architecture Zen 3 Zen 4
Core / Thread 8 / 16 8 / 16
Max Boost Up to 4.5 GHz Up to 5.1 GHz
Process TSMC 7nm TSMC 4nm
Graphics Architecture Vega generation RDNA 3
iGPU Radeon Graphics Radeon 780M
Memory DDR4 / LPDDR4x DDR5 / LPDDR5x

Under the Hood — چرا 7730U و 7840U با وجود نام مشابه این قدر متفاوت هستند؟

در سیستم نام گذاری Ryzen Mobile 7000،
بخشی از شماره مدل اطلاعاتی درباره
معماری CPU ارائه می دهد.

بنابراین عدد بزرگ تر را نباید صرفاً
به عنوان «نسخه کمی سریع تر» تفسیر کرد.

در این مثال با دو نسل معماری متفاوت روبه رو هستیم:

7730U → Zen 3

7840U → Zen 4

به همین دلیل تشخیص Architecture قبل از
مقایسه Benchmark اهمیت زیادی دارد.

Burst Performance و Sustained Performance چیست؟

CPU همیشه با یک توان و فرکانس ثابت کار نمی کند.

در یک عملیات کوتاه، پردازنده ممکن است برای مدت کوتاهی
به Clock و Power بالاتری برسد.

این رفتار برای باز کردن برنامه،
اجرای یک دستور کوتاه یا بعضی Benchmarkهای کوتاه
اهمیت دارد.

اما در Rendering یا Compilation طولانی،
CPU باید برای چند دقیقه یا حتی چند ساعت
Performance خود را حفظ کند.

نوع Performance توضیح نمونه کاربرد
Burst Performance کوتاه مدت باز شدن برنامه، عملیات کوتاه
Sustained Performance قابل حفظ در زمان طولانی Rendering، Encoding، Compilation

چرا H و HX در کارهای طولانی اهمیت بیشتری پیدا می کنند؟

Workload سنگین طولانی معمولاً انرژی بیشتری مصرف می کند
و حرارت بیشتری تولید می کند.

اگر CPU و لپ تاپ اجازه Power بالاتر و Cooling کافی داشته باشند،
پردازنده می تواند Performance بیشتری را برای مدت طولانی حفظ کند.

به همین دلیل تفاوت میان U و H/HX در Rendering طولانی
معمولاً مهم تر از یک کار چند ثانیه ای است.

Cooling چگونه نتیجه مقایسه را تغییر می دهد؟

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

CPU موبایل بخشی از یک سیستم حرارتی است.

اندازه Heat Pipe، تعداد Fan، ضخامت Heatsink،
Airflow، تنظیم Firmware و دمای محیط
روی Performance واقعی اثر می گذارند.

Performance Impact — CPU یکسان، Performance متفاوت

دو لپ تاپ می توانند دقیقاً یک مدل CPU داشته باشند
ولی در Benchmark طولانی نتیجه متفاوتی ثبت کنند.

یکی ممکن است اجازه Power بالاتر بدهد،
در حالی که دیگری برای کاهش صدا یا دما
محدودیت شدیدتری اعمال کند.

بنابراین در لپ تاپ:

CPU Benchmark ≠ Laptop Benchmark

Thermal Throttling چیست؟

هنگامی که دما یا محدودیت های طراحی به سطح مشخصی برسند،
سیستم می تواند Clock و Power پردازنده را کاهش دهد.

این رفتار برای حفاظت و کنترل حرارت سیستم ضروری است.

در لپ تاپ استوک، وضعیت سیستم خنک کننده اهمیت بیشتری پیدا می کند؛
زیرا گرد و غبار، خمیر حرارتی فرسوده یا Fan معیوب
می توانند Performance پایدار دستگاه را کاهش دهند.


نکته مهم هنگام خرید لپ تاپ استوک

فقط Benchmark اینترنتی CPU را نبینید.

وضعیت واقعی دستگاه نیز اهمیت دارد:

  • دمای CPU زیر Load
  • عملکرد Fan
  • تمیزی Heatsink
  • وضعیت Thermal Paste
  • Power Adapter صحیح
  • Power Profile سیستم

آیا CPU با هسته بیشتر همیشه سریع تر است؟

خیر.

تعداد Core مخصوصاً در Workloadهای Multi-threaded
اهمیت زیادی دارد، اما قدرت هر Core نیز مهم است.

یک معماری جدید با تعداد Core کمتر ممکن است
در بعضی Workloadها با CPU قدیمی پرهسته رقابت کند.

Single-Core و Multi-Core چه تفاوتی در انتخاب CPU دارند؟

نوع وابستگی بیشتر نمونه کاربرد
Single-Core IPC + Clock + Latency بخش هایی از برنامه ها و Workloadهای کم رشته
Multi-Core Core Count + Architecture + Power Rendering، Encoding، Compilation

هنگام مقایسه لپ تاپ فقط CPU را مقایسه نکنید

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

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

برای مثال Radeon 780M مبتنی بر RDNA 3
نسبت به iGPUهای قدیمی Vega یک جهش معماری مهم محسوب می شود.

مدل ذهنی صحیح برای مقایسه نسل قبل و بعد

01
Architectureآیا Zen تغییر کرده است؟
02
IPCقدرت هر Clock چه تغییری کرده است؟
03
Coresتعداد Core و Thread چقدر است؟
04
Clockفرکانس و Boost چگونه تغییر کرده است؟
05
Cacheظرفیت و ساختار Cache را بررسی کنید.
06
MemoryDDR4، DDR5، LPDDR و Bandwidth را ببینید.
07
iGPUVega، RDNA 2، RDNA 3 یا نسل جدیدتر؟
08
EfficiencyPerformance به ازای Watt را در نظر بگیرید.

Performance per Watt چیست؟

Performance خام تنها معیار مهم در لپ تاپ نیست.

اگر یک CPU بتواند Performance مشابه را
با مصرف انرژی کمتر ارائه دهد،
از نظر Efficiency معماری بهتری دارد.

این موضوع می تواند به کاهش حرارت،
صدای Fan و مصرف باتری کمک کند.

به همین دلیل در لپ تاپ:

Maximum Performance

و

Performance per Watt

دو معیار متفاوت هستند.

مثال خرید: H قدیمی ارزان تر یا U جدیدتر؟

پاسخ به کاربری بستگی دارد.

نیاز اولویت احتمالی
Battery Life U جدیدتر
وزن کمتر U جدیدتر
کار روزانه سریع معماری جدید اهمیت زیادی دارد
Rendering طولانی H قوی با Cooling مناسب می تواند مزیت داشته باشد
iGPU Performance نسل GPU باید جداگانه بررسی شود
قیمت پایین H قدیمی ممکن است ارزش خرید بالایی داشته باشد

Performance مهم تر است یا ارزش خرید؟

در بازار استوک، سریع ترین CPU همیشه بهترین خرید نیست.

اگر یک لپ تاپ 15 درصد سریع تر باشد
ولی قیمت آن 60 درصد بیشتر باشد،
ممکن است برای بسیاری از کاربران ارزش خرید پایین تری داشته باشد.

بنابراین باید دو مفهوم را جدا کنیم:

Absolute Performance

و

Performance per Price

Engineering Insight — سریع ترین CPU الزاماً بهترین CPU برای خرید نیست

انتخاب مهندسی یعنی پیدا کردن Performance مناسب
برای Workload مشخص با بودجه، مصرف و محدودیت های واقعی.

در بازار استوک گاهی یک نسل قدیمی تر با قیمت بسیار پایین تر
می تواند Performance مورد نیاز کاربر را کاملاً تأمین کند.

بنابراین هدف نباید همیشه:

Fastest CPU

باشد؛ بلکه:

Best CPU for the Workload and Budget

معیار منطقی تری است.

ماتریس انتخاب U، HS، H و HX

کاربری U HS H HX
Office عالی بیش از نیاز بسیاری از کاربران بیش از نیاز بسیاری از کاربران معمولاً غیرضروری
دانشجویی عالی عالی برای نیاز سنگین تر بسته به رشته معمولاً سنگین و پرمصرف
Programming خوب تا عالی عالی عالی برای پروژه های بسیار سنگین
AutoCAD پروژه سبک خوب عالی عالی برای Workstation
Revit مدل سبک خوب عالی عالی برای پروژه سنگین
Rendering محدودتر خوب عالی بهترین کلاس برای بررسی
Gaming وابسته به GPU عالی عالی High-End
Battery اولویت بالا متعادل اولویت پایین تر معمولاً پایین تر

Common Mistakes — اشتباهات رایج در مقایسه Ryzen Mobile
  • مقایسه فقط بر اساس Ryzen 5، Ryzen 7 و Ryzen 9.
  • فرض اینکه هر H از هر U سریع تر است.
  • فرض اینکه هر HX از هر H سریع تر است.
  • نادیده گرفتن نسل معماری.
  • مقایسه فقط بر اساس تعداد Core.
  • مقایسه فقط بر اساس GHz.
  • نادیده گرفتن Cache.
  • نادیده گرفتن Memory Generation.
  • نادیده گرفتن iGPU.
  • استفاده از Benchmark کوتاه برای پیش بینی Rendering طولانی.
  • نادیده گرفتن Cooling لپ تاپ.
  • فرض Performance یکسان برای دو لپ تاپ با CPU یکسان.
  • نادیده گرفتن Performance per Watt.
  • انتخاب سریع ترین مدل بدون بررسی قیمت.

سوالات متداول مقایسه پردازنده های AMD Ryzen لپ تاپ

آیا Ryzen 7 همیشه از Ryzen 5 سریع تر است؟

خیر. نسل، معماری، پسوند، تعداد Core و مدل دقیق
باید بررسی شوند.

آیا Ryzen 9 همیشه از Ryzen 7 سریع تر است؟

در یک خانواده و شرایط مشابه معمولاً Ryzen 9
در رده بالاتری قرار دارد، اما مقایسه بین نسل ها
و کلاس های مختلف نیازمند بررسی مشخصات واقعی است.

آیا H همیشه از U سریع تر است؟

خیر. H نشان دهنده کلاس Performance بالاتر در
خانواده مربوطه است، اما U جدیدتر می تواند
با H نسل قدیمی رقابت کند یا در برخی Workloadها
سریع تر باشد.

آیا HX همیشه بهترین انتخاب است؟

خیر. HX برای Performance بالا طراحی شده،
اما وزن، مصرف، حرارت، قیمت و Battery Life
نیز باید در نظر گرفته شوند.

Ryzen 7 7730U و 7840U چه تفاوتی دارند؟

با وجود شباهت نام، 7730U مبتنی بر Zen 3
و 7840U مبتنی بر Zen 4 است و Platform،
Graphics و Memory Support آنها نیز متفاوت است.

Ryzen 7 5800H بهتر است یا Ryzen 7 7840U؟

پاسخ به Workload و لپ تاپ بستگی دارد.
5800H کلاس توان بالاتری دارد،
اما 7840U از معماری جدیدتر Zen 4،
فرکانس بالاتر و Platform جدیدتری استفاده می کند.
Benchmark متناسب با کاربرد باید بررسی شود.

برای Rendering تعداد Core مهم تر است یا پسوند؟

هر دو مهم هستند، اما Architecture،
Core Count، Power و Cooling باید در کنار هم بررسی شوند.

چرا دو لپ تاپ با CPU یکسان سرعت متفاوت دارند؟

تفاوت در Cooling، Power Limit، Memory،
Firmware و تنظیمات سازنده می تواند
Performance واقعی را تغییر دهد.

Thermal Throttling چیست؟

کاهش Clock یا Power برای کنترل دما
و حفظ عملکرد ایمن سیستم است.

آیا GHz بیشتر یعنی CPU سریع تر؟

خیر. Architecture و IPC تعیین می کنند
CPU در هر Clock چه مقدار کار انجام می دهد.

برای خرید لپ تاپ استوک CPU قدیمی H بهتر است یا U جدید؟

به کاربرد و قیمت بستگی دارد.
برای Mobility و Efficiency معمولاً نسل جدید اهمیت زیادی دارد،
در حالی که یک H قدیمی با قیمت مناسب ممکن است
برای Workload سنگین ارزش خرید بالایی داشته باشد.

Benchmark خود CPU برای خرید لپ تاپ کافی است؟

خیر. Benchmark خود مدل لپ تاپ،
Cooling و Performance طولانی مدت نیز مهم است.

برای لپ تاپ استوک کدام مهم تر است؛ CPU یا وضعیت دستگاه؟

هر دو. CPU قوی در دستگاهی با Cooling معیوب،
آداپتور نامناسب یا مشکلات حرارتی ممکن است
Performance واقعی مورد انتظار را ارائه نکند.

خلاصه فصل

برای مقایسه Ryzen Mobile هیچ گاه فقط به
Ryzen 5، Ryzen 7، Ryzen 9 یا پسوند U/H/HX نگاه نکنید.

ترتیب صحیح بررسی:

Model → Architecture → Core/Thread → Power Class
→ Cache → Memory → Cooling → Workload → Price

و مهم ترین نتیجه:


نام CPU جای تحلیل CPU را نمی گیرد.

در پایان این فصل باید چه چیزهایی بلد باشید؟

  • دو Ryzen Mobile را مرحله به مرحله مقایسه کنید.
  • Ryzen 7 را Performance قطعی تلقی نکنید.
  • نسل جدید U را بدون بررسی از H قدیمی ضعیف تر ندانید.
  • Burst و Sustained Performance را تفکیک کنید.
  • تأثیر Cooling را توضیح دهید.
  • Thermal Throttling را بشناسید.
  • Single-Core و Multi-Core را تفکیک کنید.
  • Performance per Watt را در لپ تاپ در نظر بگیرید.
  • GPU مجتمع نسل های مختلف را نیز بررسی کنید.
  • Performance را همراه با Price ارزیابی کنید.


فصل 21
سطح: پایه تا پیشرفته
پیش نیاز: معماری Zen و پسوندهای AMD
موضوع: تشخیص نسل واقعی Ryzen


عدد بزرگ تر همیشه به معنی معماری جدیدتر نیست

چگونه نسل پردازنده AMD Ryzen را از روی نام تشخیص دهیم؟

تشخیص نسل پردازنده های AMD از روی نام در نگاه اول
ساده به نظر می رسد؛ اما Ryzen Mobile در دوره های مختلف
از چند سیستم نام گذاری متفاوت استفاده کرده است.

به همین دلیل نمی توان یک قانون ثابت را روی تمام
پردازنده های Ryzen از ابتدا تا امروز اعمال کرد.

برای تشخیص صحیح باید ابتدا بفهمیم CPU متعلق به
کدام سیستم نام گذاری است و سپس نام آن را رمزگشایی کنیم.


مهم ترین قانون این فصل

سه مفهوم را از هم جدا کنید:

Product Series ≠ CPU Architecture ≠ Release Generation

عددی مانند 7000 می تواند نام خانواده تجاری محصول باشد،
اما الزاماً به این معنی نیست که تمام پردازنده های
آن خانواده از یک معماری Zen استفاده می کنند.

در این فصل چه چیزهایی یاد می گیریم؟

  • تفاوت Product Series و Architecture.
  • تشخیص Ryzen Mobile نسل های اولیه.
  • تشخیص Ryzen 4000 و Ryzen 5000 Mobile.
  • تشخیص Ryzen 6000 Mobile.
  • رمزگشایی Ryzen Mobile 7000.
  • تفاوت 7020، 7030، 7035، 7040 و 7045.
  • تشخیص معماری از رقم سوم در سیستم نام گذاری مربوطه.
  • تفاوت 7730U و 7840U.
  • تفاوت 7530U و 7535U.
  • تشخیص Ryzen 8000 Mobile.
  • تشخیص Ryzen AI 300 بدون استفاده از قوانین Ryzen 7000.
  • روش عملی تشخیص CPU هنگام خرید لپ تاپ استوک.

قبل از خواندن اعداد CPU چه سوالی بپرسیم؟

قبل از اینکه اعداد نام پردازنده را رمزگشایی کنیم،
ابتدا باید مشخص کنیم CPU متعلق به کدام خانواده است.

01

Product Family

Ryzen معمولی، Ryzen AI، Threadripper یا خانواده دیگر؟

02

Platform

Mobile یا Desktop؟

03

Naming Era

این CPU متعلق به کدام دوره نام گذاری است؟

04

Architecture

معماری واقعی Zen را مشخص کنید.

05

Suffix

U، HS، H، HX یا پسوند دیگر را بررسی کنید.

نسل های اولیه Ryzen Mobile

نخستین Ryzen Mobileها با نام هایی مانند:

Ryzen 5 2500U

Ryzen 7 2700U

وارد بازار شدند.

این پردازنده ها از معماری Zen و گرافیک Vega استفاده می کردند.

در این دوره هنوز سیستم شماره گذاری جدیدی که بعداً
در Ryzen Mobile 7000 مشاهده کردیم وجود نداشت.

Common Mistake — قوانین Ryzen 7000 را روی Ryzen 2000 تا 6000 اعمال نکنید

سیستم نام گذاری AMD در طول زمان تغییر کرده است.

بنابراین نمی توان رقم سوم Ryzen 5 2500U
را با همان قانونی تفسیر کرد که برای Ryzen 7 7840U
استفاده می کنیم.

Ryzen 3000، 4000 و 5000 Mobile

در نسل های قبل از سیستم جدید Ryzen Mobile 7000،
نام محصول بیشتر به خانواده بازاری و دوره عرضه اشاره می کرد.

اما حتی در این نسل ها نیز یک شماره Series
الزاماً تضمین نمی کرد تمام مدل ها دقیقاً یک Silicon
یا معماری یکسان داشته باشند.

Ryzen 5000 Mobile؛ یکی از مثال های مهم پیچیدگی نام گذاری

خانواده Ryzen 5000 Mobile اهمیت زیادی در آموزش
نام گذاری AMD دارد، زیرا مدل های مختلف آن می توانند
از طراحی های متفاوتی استفاده کنند.

بنابراین هنگام مشاهده عبارت:

Ryzen 5000 Series

نباید فقط از روی عدد 5000 درباره معماری دقیق نتیجه گیری کنیم.

Engineering Insight — چرا Architecture از Series مهم تر است؟

معماری CPU روی IPC، Front-End، Execution Engine،
Cache، Efficiency و بسیاری از ویژگی های داخلی
پردازنده اثر می گذارد.

به همین دلیل دانستن اینکه CPU واقعاً Zen 2،
Zen 3، Zen 3+، Zen 4 یا Zen 5 است
اطلاعات بسیار بیشتری از دانستن عبارت
«Ryzen 7000» به ما می دهد.

Ryzen 6000 Mobile

Ryzen 6000 Mobile یکی از خانواده های مهم AMD
قبل از تغییر بزرگ نام گذاری Ryzen Mobile 7000 بود.

این خانواده با معماری Zen 3+ و پلتفرم Rembrandt
شناخته می شود و گرافیک مجتمع مبتنی بر RDNA 2
یکی از تغییرات مهم آن نسبت به بسیاری از مدل های قبلی بود.

نمونه:

Ryzen 7 6800U

تغییر بزرگ: Ryzen Mobile 7000

در Ryzen Mobile 7000، AMD چند خانواده با
معماری ها و Platformهای متفاوت را زیر نام تجاری
Ryzen 7000 Mobile قرار داد.

در نتیجه فقط دیدن عدد اول یعنی 7 دیگر برای
تشخیص معماری کافی نبود.

خانواده هایی مانند:

7020

7030

7035

7040

7045

می توانند از معماری ها و طراحی های متفاوتی استفاده کنند.

جدول کلیدی Ryzen Mobile 7000

Series معماری CPU پلتفرم شناخته شده نمونه کلی
7020 Zen 2 Mendocino مدل های اقتصادی Mobile
7030 Zen 3 Barcelo-R U Series
7035 Zen 3+ Rembrandt-R U / HS
7040 Zen 4 Phoenix U / HS
7045 Zen 4 Dragon Range HX

نقشه معماری Ryzen 7000 Mobile

7020
Zen 2Mendocino
7030
Zen 3Barcelo-R
7035
Zen 3+Rembrandt-R
7040
Zen 4Phoenix
7045
Zen 4Dragon Range

چهار رقم Ryzen Mobile 7000 را چگونه بخوانیم؟

در سیستم نام گذاری معرفی شده برای این دوره،
هر موقعیت عددی اطلاعات متفاوتی ارائه می کرد.

7

Model Year / Portfolio

جایگاه زمانی خانواده در سیستم نام گذاری آن دوره.

8

Market Segment

جایگاه کلی محصول در Portfolio.

4

Architecture

در این سیستم، رقم سوم سرنخ بسیار مهم معماری Zen است.

0

Feature / Model Differentiation

تمایز بیشتر میان مدل های همان خانواده.

مهم ترین رقم: رقم سوم

در سیستم نام گذاری Ryzen Mobile مورد استفاده در این دوره،
رقم سوم یکی از مهم ترین سرنخ ها برای تشخیص معماری است.

رقم سوم معماری مثال
2 Zen 2 Ryzen 5 7520U
3 Zen 3 / Zen 3+ 7730U / 7535U
4 Zen 4 7840U / 7940HS / 7745HX

Common Mistake — رقم سوم 3 همیشه جزئیات کامل را نمی گوید

برای مثال 7030 و 7035 هر دو در محدوده معماری
Zen 3 قرار می گیرند، اما یکسان نیستند.

7030 → Zen 3

7035 → Zen 3+

بنابراین برای تشخیص دقیق باید کل Series
و نه فقط یک رقم را بررسی کنید.

رمزگشایی عملی شماره 1: Ryzen 7 7730U

Ryzen 7 7730U

Ryzen 7
Performance Tierرده Ryzen 7.
7
Portfolioخانواده نام گذاری 7000 Mobile.
7
Segmentجایگاه مدل در Portfolio.
3
Architecture ClueZen 3 family.
0
Model Differentiation7030 family.
U
Power ClassMobile Efficiency class.

نتیجه:

Ryzen 7 7730U → 7030 Series → Zen 3

رمزگشایی عملی شماره 2: Ryzen 7 7840U

Ryzen 7 7840U

Ryzen 7
TierRyzen 7.
7
PortfolioRyzen 7000 Mobile.
8
Segmentجایگاه محصول.
4
ArchitectureZen 4.
0
Feature7040 family.
U
ClassMobile U class.

نتیجه:

Ryzen 7 7840U → 7040 Series → Zen 4

چرا 7730U و 7840U مثال بسیار مهمی هستند؟

ویژگی 7730U 7840U
Brand Tier Ryzen 7 Ryzen 7
Marketing Series 7000 7000
Suffix U U
Sub-Series 7030 7040
Architecture Zen 3 Zen 4
Platform Barcelo-R Phoenix

این مثال ثابت می کند:


نام ظاهراً مشابه می تواند Hardware بسیار متفاوتی پنهان کند.

رمزگشایی مهم شماره 3: 7530U در برابر 7535U

این مثال حتی ظریف تر است:

Ryzen 5 7530U

Ryzen 5 7535U

تنها یک رقم متفاوت است، اما این تغییر اهمیت دارد.

مدل Series Architecture Platform
Ryzen 5 7530U 7030 Zen 3 Barcelo-R
Ryzen 5 7535U 7035 Zen 3+ Rembrandt-R

Under the Hood — چرا 7530U و 7535U یک CPU نیستند؟

معماری CPU تنها تفاوت این Platformها نیست.

Platform جدیدتر می تواند Memory Support،
Integrated Graphics، I/O، Process Technology
و Efficiency متفاوتی داشته باشد.

بنابراین حتی وقتی اختلاف نام فقط یک رقم است،
نباید فرض کنیم اختلاف Hardware نیز کوچک است.

7040 و 7045؛ هر دو Zen 4 اما یکسان نیستند

یکی دیگر از دام های نام گذاری این است که دو Series
می توانند از یک نسل Zen استفاده کنند ولی Platform
کاملاً متفاوتی داشته باشند.

7040 → Phoenix

7045 → Dragon Range

هر دو Zen 4 هستند، اما برای کلاس های متفاوتی
از لپ تاپ طراحی شده اند.

موضوع 7040 7045
Architecture Zen 4 Zen 4
Platform Phoenix Dragon Range
تمرکز Mobile Integration / Efficiency High-End Mobile Performance
نمونه پسوند U / HS HX

Ryzen 8000 Mobile را چگونه بخوانیم؟

در خانواده هایی مانند Ryzen 8040 Mobile،
AMD همچنان از معماری Zen 4 استفاده کرده است.

بنابراین تغییر:

7040 → 8040

به معنی:

Zen 4 → Zen 5

نیست.

Ryzen 8040 با نام پلتفرم Hawk Point شناخته می شود
و همچنان در خانواده معماری Zen 4 قرار دارد.

7040 در برابر 8040

موضوع 7040 8040
CPU Architecture Zen 4 Zen 4
Platform Phoenix Hawk Point
Graphics Family RDNA 3 RDNA 3
Ryzen AI نسل اولیه NPU در مدل های مربوطه تمرکز بیشتر بر Ryzen AI

Common Mistake — 8000 یعنی Zen 5

خیر.

شماره Series و شماره معماری Zen مستقل هستند.

برای مثال Ryzen 8040 Mobile همچنان Zen 4 است.

Ryzen AI 300 را چگونه تشخیص دهیم؟

با ورود Ryzen AI، AMD دوباره ساختار نام گذاری
Product Family را تغییر داد.

نمونه:

Ryzen AI 9 HX 370

در اینجا دیگر نباید قواعد عددی Ryzen Mobile 7000
را روی عدد 370 اعمال کنیم.

Ryzen AI یک Product Family جدید با سیستم نام گذاری
خودش است.

Ryzen AI

Product Family

خانواده Ryzen AI.

9

Tier

رده Performance.

HX

Class

جایگاه Performance در نام محصول.

370

Model Number

شماره مدل در خانواده Ryzen AI 300.

Common Mistake — عدد 3 در 370 یعنی Zen 3

کاملاً اشتباه است.

قانون رقم سوم مربوط به سیستم نام گذاری خاص
Ryzen Mobile قبلی بود و نباید روی Ryzen AI اعمال شود.

Ryzen AI 9 HX 370 از خانواده Zen 5 است.

الگوریتم عملی تشخیص نسل هر Ryzen

01

نام کامل را بخوان

هیچ بخشی از نام CPU را حذف نکن.

02

Mobile یا Desktop؟

قوانین این دو را با هم مخلوط نکن.

03

Product Family

Ryzen، Ryzen AI، PRO یا خانواده دیگر؟

04

Naming System

مشخص کن CPU متعلق به کدام دوره نام گذاری است.

05

Architecture

Zen واقعی را استخراج کن.

06

Platform

Phoenix، Rembrandt، Barcelo یا Platform دیگر؟

07

Suffix

U، HS، H یا HX را بررسی کن.

08

Specifications

Core، Thread، Cache، GPU و Memory را تأیید کن.

جدول تشخیص سریع نمونه های مهم

CPU Series Architecture Platform
Ryzen 7 6800U 6000 Zen 3+ Rembrandt
Ryzen 5 7520U 7020 Zen 2 Mendocino
Ryzen 7 7730U 7030 Zen 3 Barcelo-R
Ryzen 5 7535U 7035 Zen 3+ Rembrandt-R
Ryzen 7 7840U 7040 Zen 4 Phoenix
Ryzen 9 7940HS 7040 Zen 4 Phoenix
Ryzen 7 7745HX 7045 Zen 4 Dragon Range
Ryzen 7 8840U 8040 Zen 4 Hawk Point
Ryzen AI 9 HX 370 AI 300 Zen 5 / Zen 5c Strix Point

مثال واقعی هنگام خرید لپ تاپ استوک

فرض کنید دو لپ تاپ مشاهده می کنید:

Laptop A → Ryzen 7 7730U

Laptop B → Ryzen 7 7840U

روش اشتباه:

«هر دو Ryzen 7 نسل 7 هستند و تقریباً یکی هستند.»

روش صحیح:

A
7730U7030 → Zen 3 → Barcelo-R
B
7840U7040 → Zen 4 → Phoenix

سپس Core، Clock، iGPU، Memory، Cooling،
قیمت و کاربرد را مقایسه می کنیم.

Performance Impact — تشخیص اشتباه نسل چه اثری دارد؟

اگر دو CPU را فقط بر اساس عدد Series مقایسه کنیم،
ممکن است اختلاف Architecture، GPU، Memory Support
و Efficiency را نادیده بگیریم.

در بازار استوک این اشتباه می تواند باعث شود
کاربر برای یک نام ظاهراً جدیدتر پول بیشتری بپردازد،
در حالی که Platform مورد انتظار خود را دریافت نمی کند.

Common Mistakes — اشتباهات رایج تشخیص نسل AMD
  • تصور اینکه همه Ryzen 7000ها Zen 4 هستند.
  • تصور اینکه همه Ryzen 8000ها Zen 5 هستند.
  • گفتن «نسل هفتم» بدون مشخص کردن Architecture.
  • یکی دانستن 7030 و 7035.
  • یکی دانستن 7040 و 7045.
  • مقایسه فقط بر اساس Ryzen 5 یا Ryzen 7.
  • نادیده گرفتن پسوند U، HS، H و HX.
  • اعمال قانون رقم سوم روی Ryzen AI.
  • تصور اینکه عدد Series بزرگ تر همیشه یعنی معماری جدیدتر.
  • نادیده گرفتن Platform و Codename.

سوالات متداول تشخیص نسل پردازنده AMD

آیا همه Ryzen 7000ها از Zen 4 استفاده می کنند؟

خیر. در Ryzen Mobile 7000 خانواده هایی با
Zen 2، Zen 3، Zen 3+ و Zen 4 وجود دارند.

Ryzen 7 7730U چه معماری دارد؟

این مدل متعلق به 7030 Series و مبتنی بر Zen 3 است.

Ryzen 7 7840U چه معماری دارد؟

متعلق به 7040 Series و مبتنی بر Zen 4 است.

Ryzen 5 7520U چه معماری دارد؟

متعلق به خانواده 7020 و مبتنی بر Zen 2 است.

7530U و 7535U چه تفاوتی دارند؟

7530U در خانواده 7030 با Zen 3 قرار دارد،
در حالی که 7535U از خانواده 7035 و Zen 3+ است.

Ryzen 7 6800U چه معماری دارد؟

از خانواده Ryzen 6000 Mobile و مبتنی بر Zen 3+ است.

Ryzen 7040 چه معماری دارد؟

خانواده 7040 Mobile یا Phoenix از Zen 4 استفاده می کند.

Ryzen 7045 چه معماری دارد؟

Dragon Range یا 7045 نیز Zen 4 است،
اما Platform و کلاس محصول آن با 7040 متفاوت است.

Ryzen 8040 از Zen 5 استفاده می کند؟

خیر. Ryzen 8040 Mobile یا Hawk Point
همچنان مبتنی بر Zen 4 است.

رقم سوم Ryzen 7000 Mobile چه چیزی را نشان می دهد؟

در سیستم نام گذاری آن دوره، رقم سوم
سرنخ مهمی درباره معماری Zen است؛
اما برای تشخیص دقیق باید کل Series بررسی شود.

آیا رقم سوم 3 همیشه Zen 3 است؟

جزئیات بیشتری لازم است.
7030 از Zen 3 و 7035 از Zen 3+ استفاده می کند.

عدد 3 در Ryzen AI 9 HX 370 یعنی Zen 3؟

خیر. Ryzen AI سیستم نام گذاری دیگری دارد
و HX 370 از خانواده Zen 5 استفاده می کند.

بهترین روش تشخیص نسل AMD چیست؟

نام کامل CPU را مشخص کنید، Product Family
و سیستم نام گذاری را تشخیص دهید و سپس
Architecture و Platform واقعی آن را بررسی کنید.

برای خرید لپ تاپ استوک فقط دانستن نسل کافی است؟

خیر. Architecture، Core Count، Suffix،
GPU، RAM، Cooling، وضعیت دستگاه و قیمت
نیز باید بررسی شوند.

خلاصه فصل

مهم ترین نکته این فصل این است که در AMD:

Series Number ≠ Architecture

مخصوصاً در Ryzen Mobile 7000 باید Sub-Series
واقعی را بررسی کنیم:

7020 → Zen 2

7030 → Zen 3

7035 → Zen 3+

7040 → Zen 4

7045 → Zen 4

و مهم تر از همه:


قبل از مقایسه Performance،
ابتدا معماری واقعی CPU را پیدا کنید.

در پایان این فصل باید بتوانید:

  • Product Series و Architecture را از هم جدا کنید.
  • Ryzen 6000 را از Ryzen 7000 Mobile تشخیص دهید.
  • 7020، 7030، 7035، 7040 و 7045 را تفکیک کنید.
  • 7730U را به Zen 3 نسبت دهید.
  • 7840U را به Zen 4 نسبت دهید.
  • 7530U و 7535U را اشتباه نگیرید.
  • 7040 و 7045 را با وجود Zen 4 بودن یکسان ندانید.
  • 8040 را به اشتباه Zen 5 ننامید.
  • قواعد Ryzen 7000 را روی Ryzen AI اعمال نکنید.
  • از روی نام CPU مسیر صحیح تحقیق را پیدا کنید.


فصل 22
سطح: متوسط تا پیشرفته
پیش نیاز: تشخیص نسل AMD
موضوع: نقشه کامل معماری Zen


از Zen تا Zen 5؛ مسیر تکامل پردازنده های Ryzen

مقایسه جامع نسل های AMD Ryzen؛ Zen، Zen+، Zen 2، Zen 3، Zen 3+، Zen 4 و Zen 5

برای شناخت واقعی پردازنده های AMD، حفظ کردن نام هایی
مانند Ryzen 3000، Ryzen 5000 یا Ryzen 7000 کافی نیست.
چیزی که در لایه مهندسی اهمیت بیشتری دارد،
معماری واقعی هسته پردازنده است.

در این فصل مسیر تکامل معماری Zen را بررسی می کنیم؛
چه چیزی در هر مرحله تغییر کرد، نسل جدید چه مزیتی نسبت
به نسل قبل داشت و چرا یک CPU جدیدتر حتی با تعداد
هسته مشابه می تواند رفتار متفاوتی داشته باشد.


قبل از شروع: «نسل Ryzen» و «نسل Zen» یکی نیستند

وقتی در این فصل از نسل معماری صحبت می کنیم،
منظور خانواده هسته CPU است:

Zen → Zen+ → Zen 2 → Zen 3 → Zen 3+ → Zen 4 → Zen 5

این زنجیره را نباید مستقیماً با شماره های تجاری
Ryzen 1000، 2000، 3000، 5000، 7000 و غیره یکی دانست.

در این فصل چه چیزهایی یاد می گیریم؟

  • Zen چیست و چرا نقطه عطف AMD محسوب می شود.
  • تفاوت Zen و Zen+.
  • چرا Zen 2 جهش مهمی برای Ryzen بود.
  • چه چیزی Zen 3 را سریع تر کرد.
  • Zen 3+ دقیقاً چیست.
  • چه تغییراتی با Zen 4 ایجاد شد.
  • Zen 5 چه تغییرات معماری مهمی دارد.
  • تفاوت Process Node با Architecture.
  • تفاوت IPC و Clock.
  • مقایسه هر معماری با نسل قبل و بعد.
  • تأثیر نسل CPU بر خرید لپ تاپ استوک.

نقشه کلی تکامل معماری AMD Zen

Zen
شروع تحولپایه معماری مدرن Ryzen.
Zen+
Refinementبهبود فرکانس، Latency و فرآیند ساخت.
Zen 2
Major Redesignحرکت بزرگ به 7nm و تغییرات گسترده معماری.
Zen 3
Unified Core Complexبهبود IPC و دسترسی بهتر هسته ها به Cache.
Zen 3+
Mobile Efficiencyتمرکز ویژه بر Performance per Watt.
Zen 4
Modern Platformفرکانس بالاتر و ورود گسترده تر DDR5 و PCIe 5.
Zen 5
Wider ArchitectureFront-End و Execution گسترده تر و نسل جدید طراحی Zen.

جدول مرجع معماری های Zen

معماری دوره معرفی Process شاخص نمونه خانواده تمرکز اصلی
Zen 2017 14nm Ryzen 1000 Desktop بازگشت AMD به رقابت High Performance
Zen+ 2018 12nm Ryzen 2000 Desktop Refinement و بهبود Clock/Latency
Zen 2 2019 7nm CPU Core Ryzen 3000 Desktop / برخی Mobileها IPC، Efficiency و مقیاس پذیری
Zen 3 2020 7nm Ryzen 5000 IPC و طراحی بهتر Core Complex
Zen 3+ 2022 6nm Ryzen 6000 Mobile Efficiency و Mobile
Zen 4 2022 5nm CPU Core Ryzen 7000 Desktop / 7040 Mobile IPC، Clock و Platform جدید
Zen 5 2024 4nm در محصولات شاخص Client Ryzen 9000 / Ryzen AI 300 Front-End و Execution گسترده تر

Zen؛ نقطه شروع Ryzen مدرن

Zen فقط یک نسل جدید CPU نبود؛ بلکه تغییر اساسی
در مسیر طراحی پردازنده های AMD محسوب می شد.

نخستین Ryzenهای دسکتاپ مبتنی بر Zen در سال 2017
وارد بازار شدند و AMD دوباره توانست در پردازنده های
چند هسته ای مصرف کننده رقابت جدی ایجاد کند.

Zen از SMT پشتیبانی می کرد؛ یعنی هر هسته فیزیکی
می توانست بیش از یک Thread را مدیریت کند.

Under the Hood — چرا Zen برای AMD حیاتی بود؟

معماری Zen پایه جدیدی برای Front-End،
Execution Engine، Cache Hierarchy و SMT ایجاد کرد.

اهمیت اصلی Zen این بود که AMD یک معماری
مقیاس پذیر ساخت که بعدها توانست آن را در
Ryzen، Threadripper و EPYC توسعه دهد.

بسیاری از اصولی که در نسل های بعدی Zen می بینیم
ادامه همین پایه معماری هستند.

Zen+؛ نسل جدید کامل یا نسخه بهینه شده Zen؟

Zen+ بیشتر یک Refinement مهم از Zen بود
تا یک بازطراحی کاملاً جدید.

فرآیند ساخت بهینه تر شد و AMD توانست
رفتار Boost، فرکانس و بعضی Latencyها را بهبود دهد.

بنابراین اختلاف Zen و Zen+ معمولاً از اختلاف
Zen+ و Zen 2 بنیادی تر نیست.

موضوع Zen Zen+
Process شاخص 14nm 12nm
ماهیت تغییر معماری پایه Refinement
Clock Behavior نسل اول بهبود یافته
Latency پایه بهبود در بخش هایی از سیستم
جهش معماری بسیار بزرگ نسبت به قبل از Zen محدودتر نسبت به Zen

Zen 2؛ اولین جهش بزرگ پس از Zen

Zen 2 یکی از مهم ترین مراحل تکامل Ryzen بود.

AMD در این معماری تغییرات گسترده ای در Front-End،
Floating Point، Cache و بخش های داخلی هسته ایجاد کرد.

استفاده از فرآیند 7nm برای Coreها نیز امکان
افزایش Efficiency و تراکم ترانزیستور را فراهم کرد.

Engineering Insight — چرا Zen 2 فقط «Zen کوچک تر» نبود؟

کاهش Process Node تنها یکی از تغییرات بود.

Zen 2 تغییراتی در Branch Prediction،
Floating Point، Cache و Data Path داشت.

بنابراین Performance بیشتر نتیجه ترکیب
Microarchitecture و Process Technology بود،
نه صرفاً کوچک تر شدن لیتوگرافی.

Zen+ در برابر Zen 2

موضوع Zen+ Zen 2
ماهیت تغییر Refinement Major Architecture Update
Process شاخص 12nm 7nm Core
Floating Point نسل قبلی توان عملیاتی گسترده تر
Cache طراحی نسل قبل ظرفیت L3 بیشتر در محصولات شاخص
Efficiency خوب بهبود قابل توجه

Zen 3؛ تغییر مهم در Core Complex

Zen 3 یکی دیگر از نقاط مهم تکامل Ryzen بود.

AMD علاوه بر بهبود IPC، نحوه سازمان دهی هسته ها
و Cache را تغییر داد.

این تغییر به هسته های بیشتری اجازه می داد
به مجموعه بزرگ تری از L3 Cache به صورت مستقیم
دسترسی داشته باشند.

Under the Hood — تغییر CCX در Zen 3 چه اهمیتی داشت؟

در طراحی های قبلی، هسته ها در گروه های کوچک تری
سازمان دهی می شدند.

Zen 3 ساختار Core Complex را تغییر داد
و مجموعه بزرگ تری از هسته ها را در یک Domain
با دسترسی مشترک تر به L3 قرار داد.

این موضوع می تواند Latency ارتباط میان هسته ها
و دسترسی به داده های Cache را در بعضی Workloadها
بهبود دهد.

Zen 2 در برابر Zen 3

موضوع Zen 2 Zen 3
Process شاخص 7nm 7nm
Architecture Zen 2 بازطراحی Zen 3
Core Complex طراحی قدیمی تر Unifiedتر
IPC پایه مقایسه بالاتر
Single Thread قوی بهبود یافته

Engineering Insight — Zen 2 و Zen 3 درس مهمی درباره لیتوگرافی می دهند

هر دو معماری با Process شاخص 7nm عرضه شدند،
اما Zen 3 Performance بالاتری ارائه کرد.

این مثال نشان می دهد:

Smaller Node ≠ Only Way To Improve CPU

Microarchitecture می تواند بدون تغییر اساسی
در عدد لیتوگرافی نیز Performance را افزایش دهد.

Zen 3+ چیست؟

Zen 3+ نسخه ای بهینه شده از خانواده Zen 3 بود
که تمرکز ویژه ای بر لپ تاپ و Efficiency داشت.

یکی از معروف ترین خانواده های مبتنی بر Zen 3+،
Ryzen 6000 Mobile است.

این پردازنده ها با فرآیند 6nm و مدیریت توان
پیشرفته تر عرضه شدند.

موضوع Zen 3 Zen 3+
تمرکز Performance عمومی Mobile Efficiency
Process شاخص 7nm 6nm
CPU Core Zen 3 نسخه بهینه شده Zen 3
Power Management نسل قبلی بهینه تر برای Mobile
نمونه مهم Ryzen 5000 Ryzen 6000 Mobile

Performance Impact — اهمیت Ryzen 6000 فراتر از CPU بود

Ryzen 6000 Mobile فقط Zen 3+ را وارد لپ تاپ نکرد.

این Platform گرافیک مجتمع RDNA 2،
حافظه DDR5/LPDDR5 و قابلیت های ارتباطی جدیدتری
را نیز وارد خانواده Mobile کرد.

بنابراین هنگام مقایسه نسل لپ تاپ،
Platform را نیز باید همراه CPU بررسی کرد.

Zen 4؛ ورود Ryzen به نسل جدید Platform

Zen 4 مرحله مهم بعدی معماری AMD بود.

در محصولات شاخص Client، Coreهای Zen 4
از فرآیند 5nm استفاده کردند و امکان دستیابی
به فرکانس های بالاتر و Efficiency بهتر فراهم شد.

در Desktop، Zen 4 همراه با AM5،
DDR5 و PCIe 5.0 شناخته شد.

در Mobile نیز خانواده هایی مانند Phoenix
از Zen 4 استفاده کردند.

Zen 3 در برابر Zen 4

موضوع Zen 3 Zen 4
Process شاخص Client 7nm 5nm
IPC پایه بهبود یافته
Clock Potential نسل قبلی بالاتر در محصولات شاخص
Memory Platform عمدتاً DDR4 در محصولات رایج حرکت به DDR5 در Platformهای اصلی
PCIe Gen 4 در Platformهای مربوطه Gen 5 در Platformهای مربوطه

Zen 4 در لپ تاپ

در لپ تاپ، دیدن عبارت Ryzen 7000 به تنهایی
برای تشخیص Zen 4 کافی نیست.

برای مثال:

Ryzen 7 7730U → Zen 3

Ryzen 7 7840U → Zen 4

بنابراین مطالب فصل قبل درباره تشخیص Sub-Series
در اینجا اهمیت عملی پیدا می کنند.

Zen 5؛ نسل بعدی معماری AMD

Zen 5 ادامه ساده Zen 4 نیست و AMD تغییراتی
در Front-End و Execution Resources ایجاد کرده است.

طراحی گسترده تر Pipeline،
بهبود Branch Prediction و افزایش توان پردازش
در بخش های مختلف از ویژگی های مهم این نسل هستند.

Zen 5 در خانواده هایی مانند Ryzen 9000 Desktop
و Ryzen AI 300 وارد بازار Client شد.

Under the Hood — Wider Architecture یعنی چه؟

CPU برای اجرای Instructionها باید آنها را
Fetch، Decode، Schedule و Execute کند.

اگر بخش های مختلف این مسیر بتوانند
تعداد بیشتری Operation را مدیریت کنند،
CPU در شرایط مناسب می تواند Parallelism
بیشتری در سطح Instruction استخراج کند.

Zen 5 در چند بخش از این مسیر منابع
و قابلیت های بیشتری نسبت به Zen 4 دارد.

Zen 4 در برابر Zen 5

موضوع Zen 4 Zen 5
نسل معماری نسل قبل نسل جدیدتر
Front-End طراحی Zen 4 بهبود و گسترش یافته
Execution نسل قبلی منابع گسترده تر
Branch Prediction پیشرفته بهبود یافته
Client Example Ryzen 7000 Desktop Ryzen 9000 Desktop
Mobile Example Phoenix / Hawk Point Ryzen AI 300 / Strix Point

IPC چیست و چرا برای مقایسه نسل ها مهم است؟

IPC مخفف:

Instructions Per Cycle

است.

به زبان ساده، IPC نشان می دهد یک هسته
در هر چرخه Clock چه مقدار کار مفید می تواند انجام دهد.

بنابراین دو CPU با فرکانس یکسان الزاماً
Performance یکسانی ندارند.

Engineering Insight — چرا GHz به تنهایی معیار Performance نیست؟

یک مدل ذهنی ساده:

Single-Core Performance ≈ IPC × Effective Clock

این فرمول یک مدل آموزشی ساده شده است،
نه معادله کامل Performance.

Cache، Memory Latency، Branch Prediction،
نوع Instruction و Workload نیز روی نتیجه اثر دارند.

مثال ساده IPC

فرض کنید دو پردازنده هر دو در یک Workload
با فرکانس مؤثر مشابه 4GHz کار کنند.

اگر معماری B بتواند در هر Cycle کار بیشتری
نسبت به معماری A انجام دهد، CPU مبتنی بر B
می تواند سریع تر باشد؛ حتی بدون Clock بالاتر.

Process Node یا لیتوگرافی چیست؟

عباراتی مانند:

14nm / 12nm / 7nm / 6nm / 5nm / 4nm

به نسل فرآیند ساخت Semiconductor اشاره دارند.

اما نباید آنها را مستقیماً به عنوان
اندازه فیزیکی یک ترانزیستور خاص تفسیر کرد.

Common Mistake — 5nm یعنی دقیقاً ترانزیستور 5 نانومتری

نام Process Node امروزی بیشتر یک نام فناوری
و نسل فرآیند ساخت است.

بنابراین مقایسه عدد nm میان شرکت ها
بدون شناخت فرآیند ساخت می تواند گمراه کننده باشد.

آیا لیتوگرافی کوچک تر همیشه CPU سریع تری می سازد؟

خیر.

Process جدید می تواند زمینه بهبود Density،
Efficiency یا Frequency را فراهم کند،
اما Performance نهایی به معماری و طراحی CPU نیز وابسته است.

یک CPU با Node قدیمی تر ولی معماری قوی تر
ممکن است در بعضی Workloadها از CPU دیگری
با Node کوچک تر سریع تر باشد.

هر نسل نسبت به نسل قبل چه چیزی را هدف گرفت؟

حرکت نسل تغییر کلیدی اثر اصلی
Zen → Zen+ Refinement + Process Clock / Latency / Efficiency بهتر
Zen+ → Zen 2 Redesign + 7nm IPC و Efficiency بالاتر
Zen 2 → Zen 3 Core Complex Redesign IPC و Single-Core بهتر
Zen 3 → Zen 3+ Mobile Optimization Performance per Watt بهتر
Zen 3/3+ → Zen 4 New Core + New Platform IPC، Clock و Platform پیشرفته تر
Zen 4 → Zen 5 Wider Core Redesign IPC و Execution Capability بیشتر

مقایسه هر معماری با نسل قبل و بعد

نسل قبل معماری مورد بررسی نسل بعد جایگاه
قبل از Ryzen Zen Zen+ شروع معماری مدرن Ryzen
Zen Zen+ Zen 2 نسخه پالایش شده
Zen+ Zen 2 Zen 3 جهش معماری مهم
Zen 2 Zen 3 Zen 3+ / Zen 4 IPC و Cache Domain بهتر
Zen 3 Zen 3+ Zen 4 نسخه Mobile بهینه شده
Zen 3 / Zen 3+ Zen 4 Zen 5 Platform مدرن تر
Zen 4 Zen 5 نسل های آینده بازطراحی گسترده تر Core

این اطلاعات در خرید لپ تاپ استوک چه کاربردی دارد؟

در بازار لپ تاپ استوک معمولاً چند نسل CPU
به صورت همزمان فروخته می شوند.

ممکن است یک لپ تاپ Zen 3 حرفه ای با شاسی و Cooling مناسب
در کنار یک لپ تاپ Zen 4 اقتصادی قرار بگیرد.

بنابراین جدیدتر بودن Architecture فقط یکی
از معیارهای تصمیم گیری است.

عامل چرا مهم است؟
Architecture IPC و Efficiency نسل CPU
Core Count توان Multi-Core
Suffix کلاس توان و کاربری
Cooling Performance پایدار
RAM Platform Bandwidth و قابلیت ارتقا
iGPU / dGPU توان گرافیکی دستگاه
Condition وضعیت واقعی دستگاه استوک
Price ارزش خرید

Common Mistakes — اشتباهات رایج هنگام مقایسه نسل های Ryzen
  • یکی دانستن Ryzen Series و Zen Architecture.
  • تصور اینکه هر Ryzen 7000 از Zen 4 استفاده می کند.
  • تصور اینکه هر Ryzen 8000 معماری جدیدتری از تمام Ryzen 7000ها دارد.
  • مقایسه CPU فقط بر اساس GHz.
  • مقایسه CPU فقط بر اساس تعداد Core.
  • فرض اینکه Node کوچک تر به تنهایی Performance را تعیین می کند.
  • نادیده گرفتن IPC.
  • نادیده گرفتن Cache Architecture.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن Platform و Memory Generation.
  • فرض اینکه جدیدترین CPU همیشه بهترین ارزش خرید را دارد.

سوالات متداول نسل ها و معماری AMD Ryzen

Zen چیست؟

Zen نام خانواده معماری هسته پردازنده های مدرن AMD است
که پایه پردازنده هایی مانند Ryzen، Threadripper
و بسیاری از EPYCها را تشکیل داده است.

Zen و Ryzen چه تفاوتی دارند؟

Ryzen نام خانواده محصول است؛ Zen نام معماری
هسته CPU است.

Zen+ با Zen چه تفاوتی دارد؟

Zen+ نسخه پالایش شده Zen با Process و
رفتار Clock و Latency بهبود یافته بود.

Zen 2 چرا مهم بود؟

Zen 2 یک بازطراحی مهم معماری همراه با حرکت
Coreها به فرآیند 7nm و بهبودهای گسترده
در IPC، Cache و Floating Point بود.

Zen 3 نسبت به Zen 2 چه مزیتی داشت؟

علاوه بر IPC بالاتر، سازمان دهی Core Complex
و دسترسی به L3 Cache بهبود یافت.

Zen 3+ چیست؟

نسخه بهینه شده خانواده Zen 3 با تمرکز ویژه
بر Efficiency و پردازنده های Mobile است.

Ryzen 6000 Mobile چه معماری دارد؟

خانواده اصلی Ryzen 6000 Mobile از Zen 3+
استفاده می کند.

Zen 4 چه تغییر مهمی داشت؟

Zen 4 علاوه بر بهبود Core، در Platformهای اصلی
Client با فناوری هایی مانند DDR5 و PCIe 5
همراه شد.

Zen 5 چه تفاوتی با Zen 4 دارد؟

Zen 5 تغییرات مهمی در Front-End،
Branch Prediction و Execution Resources دارد
و طراحی گسترده تری نسبت به Zen 4 ارائه می کند.

آیا Zen 5 یعنی Ryzen 9000؟

Ryzen 9000 Desktop یکی از خانواده های Zen 5 است،
اما Zen 5 محدود به Ryzen 9000 نیست و در خانواده هایی
مانند Ryzen AI 300 نیز استفاده شده است.

IPC چیست؟

IPC به تعداد Instructionهایی اشاره دارد
که پردازنده می تواند در هر Cycle پردازش کند
و یکی از عوامل مهم Performance هر Core است.

آیا CPU با GHz بیشتر همیشه سریع تر است؟

خیر. IPC، معماری، Cache، Memory و Workload
نیز در Performance نقش دارند.

آیا لیتوگرافی کوچک تر همیشه بهتر است؟

Process جدیدتر می تواند مزایای مهمی ایجاد کند،
اما Performance نهایی فقط توسط عدد nm تعیین نمی شود.

برای خرید لپ تاپ استوک کدام نسل AMD بهتر است؟

پاسخ به بودجه و کاربرد بستگی دارد.
معماری جدیدتر معمولاً مزایایی دارد، اما Core Count،
کلاس توان، Cooling، GPU، وضعیت دستگاه و قیمت
باید همزمان بررسی شوند.

خلاصه فصل

مسیر کلی تکامل معماری Ryzen:

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

اما این مسیر را نباید با شماره Series
محصولات Ryzen یکی دانست.

برای مقایسه نسل ها باید همزمان:

Architecture + IPC + Clock + Core Count + Cache
+ Power + Memory + Cooling + Workload

را در نظر گرفت.

در پایان این فصل باید بتوانید:

  • Zen و Ryzen را از هم تفکیک کنید.
  • Zen تا Zen 5 را به ترتیب بشناسید.
  • Zen+ را یک بازطراحی کاملاً جدید تلقی نکنید.
  • اهمیت Zen 2 را توضیح دهید.
  • تغییر Core Complex در Zen 3 را درک کنید.
  • هدف Zen 3+ را توضیح دهید.
  • Zen 4 و Platform جدید آن را بشناسید.
  • تغییرات کلی Zen 5 را توضیح دهید.
  • IPC و GHz را از یکدیگر تفکیک کنید.
  • Process Node را با Performance یکی ندانید.
  • هر معماری را با نسل قبل و بعد مقایسه کنید.


فصل 23
سطح: پایه تا پیشرفته
پیش نیاز: معماری، IPC، Core و Thread
موضوع: سنجش واقعی قدرت CPU


عدد مدل CPU کافی نیست؛ باید عملکرد واقعی را اندازه بگیریم

بنچمارک CPU چیست و چگونه دو پردازنده را به درستی مقایسه کنیم؟

مشخصات فنی پردازنده اطلاعات بسیار مهمی درباره
معماری، تعداد هسته، Thread، Cache و فرکانس در اختیار ما
قرار می دهد؛ اما این مشخصات به تنهایی نمی توانند
عملکرد واقعی CPU را در تمام کارها نشان دهند.

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

اما Benchmark نیز اگر بدون شناخت روش آزمایش،
شرایط سیستم و نوع Workload تفسیر شود،
می تواند نتیجه ای گمراه کننده ایجاد کند.


قانون طلایی مقایسه CPU

هیچ امتیاز Benchmark به تنهایی نمی تواند
«بهترین CPU» را مشخص کند.

CPU Performance = Workload Dependent

ممکن است یک پردازنده در Rendering سریع تر باشد،
پردازنده دیگر در Single-Core عملکرد بهتری داشته باشد
و مدل دیگری با مصرف انرژی کمتر عملکرد نزدیک به آنها ارائه کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark چیست.
  • تفاوت Synthetic Benchmark و Real-World Benchmark.
  • تفاوت Single-Core و Multi-Core.
  • کاربرد Cinebench.
  • کاربرد Geekbench.
  • کاربرد PassMark CPU Mark.
  • Benchmark با Blender.
  • Benchmark با HandBrake.
  • Benchmark فشرده سازی با 7-Zip.
  • تفاوت Burst Performance و Sustained Performance.
  • اثر Cooling روی نتیجه Benchmark.
  • اثر Power Limit روی Performance.
  • چرا یک CPU در دو لپ تاپ عملکرد متفاوتی دارد.
  • چرا امتیاز نسخه های مختلف Benchmark را نباید مخلوط کرد.
  • روش استاندارد مقایسه CPU برای خرید لپ تاپ استوک.

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

Benchmark آزمایشی استاندارد است که CPU را تحت
یک یا چند Workload مشخص قرار می دهد و عملکرد آن را
به صورت زمان اجرا، نرخ پردازش یا امتیاز گزارش می کند.

هدف اصلی Benchmark این است که امکان مقایسه
پردازنده ها در شرایط نسبتاً کنترل شده فراهم شود.

اما Benchmark خود Performance نیست؛
بلکه نمونه ای اندازه گیری شده از Performance
در یک شرایط مشخص است.

Under the Hood — Benchmark واقعاً چه چیزی را اندازه می گیرد؟

هر Benchmark مجموعه مشخصی از Instructionها،
داده ها و الگوریتم ها را اجرا می کند.

در نتیجه فشار ایجاد شده روی Integer Units،
Floating Point Units، Cache، Memory،
Branch Predictor و تعداد Coreها در هر Benchmark
متفاوت است.

به همین دلیل یک CPU نمی تواند الزاماً
در تمام Benchmarkها جایگاه یکسانی داشته باشد.

Synthetic Benchmark و Real-World Benchmark چه تفاوتی دارند؟

نوع تست روش مزیت محدودیت
Synthetic Workload طراحی شده برای اندازه گیری مقایسه استاندارد و تکرارپذیر ممکن است دقیقاً مشابه کار واقعی کاربر نباشد
Application-Based استفاده از موتور یا نرم افزار واقعی نزدیک تر به کاربرد واقعی نتیجه به همان نوع Workload وابسته است
Real-World Test اجرای پروژه یا وظیفه واقعی بسیار مرتبط با نیاز کاربر استانداردسازی دشوارتر

Engineering Insight — Benchmark خوب الزاماً Benchmark واقعی نیست

یک Benchmark مصنوعی می تواند برای مقایسه
معماری CPUها بسیار مفید باشد، چون شرایط
آزمایش را تا حد زیادی ثابت نگه می دارد.

در مقابل یک تست واقعی می تواند کاربردی تر باشد،
اما عوامل بیشتری روی نتیجه آن اثر می گذارند.

بنابراین روش حرفه ای استفاده از ترکیب چند نوع تست است.

Single-Core Benchmark چیست؟

در Single-Core Benchmark تمرکز اصلی روی عملکرد
یک Core یا تعداد محدودی از منابع پردازنده است.

این نوع تست برای بررسی قدرت هر هسته،
IPC، Clock و Responsiveness پردازنده اهمیت زیادی دارد.

بسیاری از عملیات روزمره و بخش هایی از نرم افزارها
نمی توانند تمام Coreهای CPU را به طور کامل درگیر کنند.

Single-Core قوی کجا اهمیت بیشتری دارد؟

  • پاسخ دهی عمومی سیستم عامل.
  • بخش هایی از نرم افزارهای مهندسی.
  • بسیاری از عملیات CAD.
  • بخش هایی از برنامه نویسی و Compilation.
  • بعضی موتورهای بازی.
  • Web Browsing و اجرای JavaScript.
  • نرم افزارهایی که Parallelization محدودی دارند.

Multi-Core Benchmark چیست؟

در Multi-Core Benchmark تلاش می شود
تعداد بیشتری از Coreها و Threadهای CPU همزمان درگیر شوند.

این نوع Benchmark برای Workloadهایی اهمیت دارد
که قابلیت Parallel Processing بالایی دارند.

Multi-Core قوی کجا اهمیت بیشتری دارد؟

  • CPU Rendering.
  • Video Encoding.
  • Compression و Decompression.
  • بعضی Compilationهای سنگین.
  • Scientific Computing.
  • Virtualization.
  • اجرای همزمان چند Workload سنگین.

Single-Core در برابر Multi-Core

ویژگی Single-Core Multi-Core
تمرکز قدرت هر Core توان مجموع CPU
تأثیر IPC بسیار زیاد زیاد
تأثیر Core Count کم بسیار زیاد
تأثیر Cooling مهم بسیار مهم
تأثیر Power Limit مهم بسیار مهم

Cinebench چیست؟

Cinebench یکی از شناخته شده ترین ابزارهای
Benchmark پردازنده است.

این ابزار توسط Maxon توسعه داده شده و از
Workloadهای Rendering برای ارزیابی Performance
پردازنده استفاده می کند.

Cinebench می تواند برای بررسی Single-Core
و Multi-Core بسیار مفید باشد.

Cinebench برای چه چیزی مناسب است؟

  • مقایسه CPU Rendering.
  • مقایسه Single-Core.
  • مقایسه Multi-Core.
  • بررسی رفتار CPU زیر Load سنگین.
  • بررسی Cooling.
  • بررسی Sustained Performance.
  • شناسایی افت Performance ناشی از Thermal Throttling.

Common Mistake — مقایسه امتیاز نسخه های مختلف Cinebench

امتیاز Cinebench فقط زمانی معنی دار است
که نسخه Benchmark مشخص باشد.

برای مثال امتیاز:

Cinebench R23

را نباید مستقیماً با:

Cinebench 2024

Cinebench 2026

مقایسه کرد.

موتور Rendering، Workload، پیچیدگی صحنه
و سیستم امتیازدهی بین نسخه ها تغییر کرده است.

Geekbench چیست؟

Geekbench مجموعه ای از Workloadهای مختلف
را برای ارزیابی Performance پردازنده اجرا می کند.

خروجی آن معمولاً شامل:

Single-Core Score

Multi-Core Score

است.

یکی از مزایای Geekbench امکان مقایسه
طیف وسیعی از Platformها است.

PassMark CPU Mark چیست؟

PassMark مجموعه ای از تست های CPU را اجرا کرده
و نتایج آنها را در امتیازی به نام CPU Mark ترکیب می کند.

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

اما CPU Mark نباید تنها معیار انتخاب پردازنده باشد.

Common Mistake — CPU Mark بالاتر یعنی CPU در همه چیز سریع تر است

CPU Mark یک امتیاز ترکیبی است.

ممکن است پردازنده ای CPU Mark بالاتری داشته باشد
اما در یک Workload خاص یا Single-Core
از پردازنده دیگری ضعیف تر باشد.

Blender Benchmark

Blender می تواند برای اندازه گیری Performance
واقعی تر CPU در Rendering استفاده شود.

این تست برای کاربرانی که با:

Blender

3D Rendering

CPU Rendering

سروکار دارند، اطلاعات بسیار ارزشمندی ارائه می دهد.

HandBrake Benchmark

HandBrake ابزار Encoding و Transcoding ویدئو است
و می تواند به عنوان یک Workload واقعی
برای سنجش CPU استفاده شود.

در چنین آزمایشی می توان بررسی کرد
یک CPU فایل ویدئویی مشخص را با تنظیمات یکسان
در چه مدت یا با چه سرعتی Encode می کند.

Benchmark پردازنده با 7-Zip

7-Zip دارای Benchmark داخلی برای اندازه گیری
عملکرد پردازنده در Compression و Decompression است.

این نوع تست می تواند رفتار CPU را در Workloadهای
Integer، Memory و Multi-Thread نشان دهد.

هر Benchmark چه چیزی را بهتر نشان می دهد؟

Benchmark تمرکز اصلی کاربرد
Cinebench CPU Rendering Single / Multi / Sustained Load
Geekbench مجموعه Workloadهای عمومی مقایسه Single و Multi
PassMark Composite CPU Score بررسی سریع جایگاه کلی
Blender 3D Rendering Workstation / Rendering
HandBrake Video Encoding تولید محتوا و Encoding
7-Zip Compression Integer / Multi-Core

Burst Performance و Sustained Performance

یکی از مهم ترین مفاهیم Benchmark لپ تاپ،
تفاوت عملکرد کوتاه مدت و بلندمدت است.

CPU ممکن است برای چند ثانیه با Power و Clock
بسیار بالا کار کند.

این حالت می تواند امتیاز بسیار خوبی در تست کوتاه ایجاد کند.

اما پس از گرم شدن دستگاه ممکن است Clock کاهش یابد.

01

Benchmark Start

CPU خنک است.

02

Boost

Clock و Power افزایش پیدا می کند.

03

Heat

دمای CPU افزایش می یابد.

04

Thermal / Power Limit

محدودیت حرارتی یا توان وارد عمل می شود.

05

Sustained Clock

CPU به سرعت پایدار طولانی مدت می رسد.

Performance Impact — چرا تست طولانی برای لپ تاپ مهم است؟

کارهایی مانند Rendering، Encoding،
Compilation سنگین و Simulation ممکن است
چند دقیقه یا چند ساعت ادامه پیدا کنند.

در چنین شرایطی Performance چند ثانیه اول
اهمیت کمتری از Performance پایدار دارد.

به همین دلیل برای لپ تاپ های Workstation،
Sustained Performance یکی از معیارهای بسیار مهم است.

چرا یک CPU یکسان در دو لپ تاپ سرعت متفاوتی دارد؟

این یکی از مهم ترین نکات کل کتاب است.

نام یکسان CPU تضمین نمی کند Performance
دو لپ تاپ کاملاً یکسان باشد.

عوامل ایجاد اختلاف

  • Cooling System.
  • Power Limit.
  • Firmware و BIOS.
  • دمای محیط.
  • Thermal Paste و وضعیت سیستم خنک کننده.
  • RAM Configuration.
  • Single Channel یا Dual Channel بودن RAM.
  • Background Processes.
  • Power Profile سیستم عامل.
  • وضعیت باتری و اتصال Charger.
  • مدت زمان Benchmark.

مثال: یک CPU در لپ تاپ باریک و Workstation

فرض کنید دو لپ تاپ از CPU یکسان استفاده کنند.

Laptop A یک دستگاه بسیار باریک با Cooling محدود است.

Laptop B شاسی بزرگ تر، Heat Pipe بیشتر
و سیستم خنک کننده قدرتمندتری دارد.

در تست کوتاه ممکن است Performance نزدیک باشد.

اما در Rendering طولانی:

Better Cooling
→
Higher Sustained Power
→
Higher Sustained Clock
→
Higher Long-Term Performance

Under the Hood — Thermal Throttling چیست؟

پردازنده دارای محدودیت های حرارتی مشخصی است.

اگر دما به محدوده تعیین شده برسد،
سیستم مدیریت توان می تواند Voltage،
Clock یا Power مصرفی را کاهش دهد.

هدف این کار جلوگیری از افزایش بیش از حد دما
و محافظت از سخت افزار است.

نتیجه می تواند کاهش Performance باشد.

Benchmark در لپ تاپ استوک اهمیت بیشتری دارد

در دستگاه استوک علاوه بر طراحی اولیه لپ تاپ،
وضعیت فعلی دستگاه نیز اهمیت دارد.

گرد و غبار، فن ضعیف، Thermal Paste فرسوده،
تنظیمات BIOS یا مشکلات Cooling می توانند
Performance واقعی دستگاه را کاهش دهند.

بنابراین Benchmark می تواند علاوه بر قدرت CPU،
برای بررسی سلامت عملکرد سیستم نیز مفید باشد.

Engineering Insight — Benchmark می تواند ابزار عیب یابی هم باشد

اگر لپ تاپی با CPU مشخص به طور مداوم
بسیار پایین تر از محدوده معمول همان مدل امتیاز بگیرد،
باید مواردی مانند:

Temperature
/
Clock
/
Power
/
RAM
/
Background Load

بررسی شوند.

امتیاز پایین به تنهایی ثابت نمی کند CPU خراب است.

شرایط یک مقایسه عادلانه CPU

اگر قرار است دو پردازنده را با Benchmark مقایسه کنیم،
باید تا حد ممکن شرایط تست را کنترل کنیم.

01

Same Benchmark

از Benchmark یکسان استفاده کنید.

02

Same Version

نسخه نرم افزار باید یکسان باشد.

03

Same Test

نوع Workload و تنظیمات یکسان باشند.

04

Similar Power State

Power Mode مشخص باشد.

05

Temperature

شرایط حرارتی بررسی شود.

06

Multiple Runs

فقط به یک Run تکی اعتماد نکنید.

07

Real Workload

حداقل یک تست مرتبط با کاربرد واقعی اضافه کنید.

روش استاندارد استوک شاپ برای مقایسه دو CPU

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

01

Architecture

نسل معماری واقعی CPU را مشخص می کنیم.

02

Core / Thread

ساختار پردازشی را بررسی می کنیم.

03

Single-Core

قدرت هر هسته را مقایسه می کنیم.

04

Multi-Core

توان پردازش موازی را بررسی می کنیم.

05

Sustained Performance

رفتار CPU در Load طولانی را بررسی می کنیم.

06

Efficiency

Performance نسبت به Power را در نظر می گیریم.

07

Application Test

Workload مرتبط با کاربرد واقعی را بررسی می کنیم.

08

Device Context

Cooling و محدودیت های خود لپ تاپ بررسی می شوند.

09

Price

Performance را در برابر قیمت قرار می دهیم.

10

Final Recommendation

برنده را برای هر نوع کاربری جداگانه تعیین می کنیم.


از اینجا به بعد «برنده مطلق» نداریم

در مقایسه های این دانشنامه به جای اینکه فقط بگوییم:

«CPU A بهتر از CPU B است»

نتیجه را بر اساس کاربرد تقسیم می کنیم:

Office
/
Engineering
/
Programming
/
Rendering
/
Gaming
/
Battery
/
Value

ممکن است برنده هر بخش متفاوت باشد.

اختلاف درصدی دو CPU را چگونه محاسبه کنیم؟

برای یک Benchmark یکسان می توان اختلاف تقریبی
دو امتیاز را با رابطه زیر محاسبه کرد:

Difference % =
((Score B – Score A) / Score A) × 100

مثال:

CPU A = 10,000

CPU B = 12,000

((12,000 – 10,000) / 10,000) × 100 = 20%

در این Benchmark مشخص، CPU B حدود 20 درصد
امتیاز بالاتری گرفته است.

Common Mistake — 20 درصد Benchmark یعنی همه چیز 20 درصد سریع تر

خیر.

این اختلاف فقط درباره همان Benchmark
و همان نوع Workload معتبر است.

اختلاف واقعی در نرم افزار دیگر می تواند
کمتر، بیشتر یا حتی معکوس باشد.

وقتی یک نتیجه Benchmark می بینیم چه چیزهایی را بررسی کنیم؟

  • نام کامل CPU چیست؟
  • Desktop است یا Laptop؟
  • نام لپ تاپ چیست؟
  • Benchmark کدام است؟
  • نسخه Benchmark چیست؟
  • Single-Core است یا Multi-Core؟
  • Power Limit چقدر بوده؟
  • Cooling چگونه بوده؟
  • تست کوتاه بوده یا طولانی؟
  • RAM چه پیکربندی داشته؟
  • نتیجه یک Run است یا میانگین چند Run؟
  • آیا سیستم Overclock یا Undervolt شده؟
  • آیا نتیجه با کاربرد واقعی ما مرتبط است؟

Common Mistakes — اشتباهات رایج در Benchmark CPU
  • انتخاب CPU فقط بر اساس یک Benchmark.
  • مقایسه Cinebench R23 با Cinebench 2024 یا نسخه دیگر.
  • مقایسه Desktop CPU با Laptop CPU بدون توجه به Power.
  • نادیده گرفتن Single-Core.
  • نادیده گرفتن Multi-Core.
  • نادیده گرفتن Sustained Performance.
  • مقایسه فقط بر اساس PassMark.
  • فرض اینکه CPU Mark عملکرد همه نرم افزارها را نشان می دهد.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن Thermal Throttling.
  • اعتماد به یک Run منفرد.
  • مقایسه نتایج با شرایط تست متفاوت.
  • تبدیل اختلاف Benchmark به اختلاف قطعی در تمام نرم افزارها.

سوالات متداول Benchmark پردازنده

Benchmark CPU چیست؟

آزمایشی برای اندازه گیری Performance پردازنده
تحت یک Workload مشخص است.

بهترین Benchmark CPU کدام است؟

یک Benchmark واحد برای همه کاربردها بهترین نیست.
بهتر است از ترکیب چند Benchmark و تست واقعی استفاده شود.

Cinebench برای چه کاری مناسب است؟

برای ارزیابی CPU Rendering،
Single-Core، Multi-Core و بررسی رفتار CPU
زیر Load سنگین بسیار مفید است.

Geekbench برای چه کاری مناسب است؟

برای مقایسه عملکرد Single-Core و Multi-Core
در مجموعه ای از Workloadهای عمومی مناسب است.

PassMark برای مقایسه CPU خوب است؟

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

Single-Core مهم تر است یا Multi-Core؟

به Workload بستگی دارد. برخی برنامه ها
به قدرت هر Core و برخی به تعداد زیادی Core
و Thread وابسته هستند.

آیا CPU با Multi-Core بالاتر همیشه بهتر است؟

خیر. ممکن است در برنامه هایی که از Coreهای زیاد
استفاده نمی کنند، CPU با Single-Core قوی تر
عملکرد بهتری داشته باشد.

چرا امتیاز یک CPU در دو لپ تاپ متفاوت است؟

Cooling، Power Limit، BIOS، RAM،
دمای محیط و تنظیمات سیستم می توانند
باعث اختلاف Performance شوند.

Thermal Throttling چیست؟

کاهش Clock یا Power پردازنده برای کنترل
دمای بالا را Thermal Throttling می نامند.

آیا امتیاز Cinebench R23 و Cinebench جدید قابل مقایسه است؟

خیر. امتیاز نسخه های متفاوت Cinebench
نباید مستقیماً با یکدیگر مقایسه شود.

آیا Benchmark برای بررسی لپ تاپ استوک مفید است؟

بله. علاوه بر مقایسه Performance،
می تواند در شناسایی عملکرد غیرعادی،
مشکل Cooling یا افت Performance کمک کند.

آیا یک بار اجرای Benchmark کافی است؟

برای مقایسه دقیق بهتر است چند Run انجام شود
و رفتار دما، Clock و Power نیز بررسی شود.

Benchmark کوتاه بهتر است یا طولانی؟

هر دو اطلاعات متفاوتی می دهند.
تست کوتاه Burst Performance و تست طولانی
Sustained Performance را بهتر نشان می دهد.

برای خرید CPU فقط Benchmark را بررسی کنیم؟

خیر. معماری، Core، Thread، مصرف انرژی،
GPU، Platform، Cooling، قیمت و کاربرد
نیز باید بررسی شوند.

خلاصه فصل

Benchmark ابزاری برای اندازه گیری Performance است،
نه پاسخ نهایی برای انتخاب CPU.

برای مقایسه حرفه ای باید ترکیبی از:

Single-Core
+
Multi-Core
+
Sustained Performance
+
Application Benchmark
+
Power
+
Cooling

بررسی شود.

در لپ تاپ، خود دستگاه نیز بخشی از Performance CPU است.

بنابراین:

Same CPU ≠ Always Same Laptop Performance

در پایان این فصل باید بتوانید:

  • Benchmark را تعریف کنید.
  • Synthetic و Real-World Benchmark را تفکیک کنید.
  • Single-Core و Multi-Core را مقایسه کنید.
  • Cinebench را درست تفسیر کنید.
  • Geekbench و PassMark را بشناسید.
  • از Blender، HandBrake و 7-Zip به عنوان تست کاربردی استفاده کنید.
  • Burst و Sustained Performance را تفکیک کنید.
  • اثر Cooling را تشخیص دهید.
  • اثر Power Limit را درک کنید.
  • نسخه های مختلف Benchmark را با هم مخلوط نکنید.
  • دو CPU را با روش چند مرحله ای مقایسه کنید.


فصل 24
سطح: پایه تا پیشرفته
پیش نیاز: معماری، Core، Thread، IPC و Benchmark
موضوع: مقایسه Intel و AMD

مقایسه برند کافی نیست؛ باید معماری، نسل، کلاس توان و کاربرد را مقایسه کنیم

Intel یا AMD؟ مقایسه جامع پردازنده های اینتل و AMD

یکی از رایج ترین سوالات هنگام خرید کامپیوتر یا لپ تاپ این است:
«پردازنده Intel بهتر است یا AMD؟»

این سوال در ظاهر ساده است، اما پاسخ حرفه ای آن نمی تواند فقط
نام یکی از دو شرکت باشد. Intel و AMD خانواده های بسیار متنوعی
از پردازنده ها دارند و نتیجه مقایسه با تغییر نسل، مدل، معماری،
کلاس توان، سیستم خنک کننده و نوع کاربری تغییر می کند.

به همین دلیل در این دانشنامه به جای انتخاب یک «برند برنده»،
یاد می گیریم دو CPU واقعی را بر اساس مشخصات مهندسی و عملکرد
واقعی مقایسه کنیم.


قانون اول: Intel و AMD را به عنوان دو برند مقایسه نکنید

مقایسه صحیح باید میان دو پردازنده مشخص انجام شود.

CPU Model
+
Generation
+
Architecture
+
Power Class
+
Device
+
Workload

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


اصطلاح مهم — Workload یعنی چه؟

Workload را می توان «بار کاری» ترجمه کرد،
اما ترجمه لغوی به تنهایی مفهوم آن را کامل منتقل نمی کند.

Workload یعنی نوع واقعی کاری که از پردازنده می خواهیم انجام دهد.

برای مثال:

Web Browsing
/
Excel
/
AutoCAD
/
Revit
/
Compilation
/
Rendering
/
Video Encoding
/
Gaming

هرکدام Workload متفاوتی هستند و بخش های متفاوتی از CPU
را درگیر می کنند. به همین دلیل ممکن است یک پردازنده
در Rendering برنده باشد اما در کار دیگری مزیت بزرگی نداشته باشد.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا نمی توان گفت Intel همیشه بهتر است یا AMD.
  • تفاوت رویکرد معماری دو شرکت.
  • معماری Hybrid اینتل چیست.
  • P-Core چیست.
  • E-Core چیست.
  • هسته های Zen در AMD چه ساختاری دارند.
  • Single-Core و Multi-Core در مقایسه دو برند.
  • مصرف انرژی و Performance per Watt.
  • تفاوت عملکرد در لپ تاپ.
  • تأثیر Cooling و Power Limit.
  • تفاوت گرافیک مجتمع دو خانواده.
  • مقایسه برای کارهای اداری و دانشجویی.
  • مقایسه برای برنامه نویسی.
  • مقایسه برای AutoCAD، Revit و SolidWorks.
  • مقایسه برای Rendering.
  • مقایسه برای Gaming.
  • روش انتخاب Intel یا AMD در لپ تاپ استوک.

تفاوت معماری Intel و AMD

برای مقایسه دو پردازنده ابتدا باید بدانیم
Architecture یا معماری پردازنده چیست.

معماری در اینجا به نحوه طراحی داخلی CPU اشاره دارد:
اینکه هسته چگونه دستورها را دریافت، تحلیل و اجرا می کند،
Cache چگونه سازمان دهی شده، هسته ها چگونه با یکدیگر ارتباط
دارند و منابع پردازشی چگونه مدیریت می شوند.

بنابراین دو CPU با تعداد هسته و فرکانس مشابه
الزاماً عملکرد مشابهی ندارند.

معماری Hybrid اینتل چیست؟

Hybrid Architecture یا «معماری ترکیبی»
به طراحی ای گفته می شود که در آن از بیش از یک نوع هسته
پردازشی در یک CPU استفاده می شود.

در نسل هایی از پردازنده های Intel Core،
دو گروه مهم هسته دیده می شوند:

P-Core
+
E-Core

این دو نوع هسته برای هدف یکسانی طراحی نشده اند.


P-Core چیست؟

P-Core مخفف
Performance Core
است.

معادل مفهومی مناسب آن «هسته پرقدرت» یا
«هسته مخصوص عملکرد بالا» است.

این هسته ها برای کارهایی طراحی شده اند که
به Performance بالا، Latency پایین و قدرت زیاد
در هر Thread نیاز دارند.

برای مثال بخش هایی از بازی ها، نرم افزارهای مهندسی
و بعضی عملیات سنگین تک رشته ای می توانند
از P-Core قدرتمند سود ببرند.


E-Core چیست؟

E-Core مخفف
Efficient Core
است.

می توان آن را «هسته بهینه» یا
«هسته با تمرکز بر بهره وری» نامید.

هدف E-Core انجام مقدار مناسبی از پردازش
با اشغال فضای کمتر و بهره وری مناسب است.

وجود چند E-Core می تواند توان پردازش چند رشته ای
CPU را افزایش دهد و امکان توزیع بهتر وظایف
میان هسته ها را فراهم کند.

معماری ترکیبی در عمل چه فایده ای دارد؟

تصور کنید سیستم همزمان در حال اجرای یک برنامه اصلی،
مرورگر، سرویس های ویندوز و چند برنامه پس زمینه است.

در یک طراحی Hybrid، سیستم عامل می تواند بسته به شرایط،
Threadهای مختلف را میان هسته های متفاوت توزیع کند.

هدف این است که Workloadهای حساس به Performance
روی منابع مناسب اجرا شوند و سایر وظایف نیز
منابع پردازنده را به شکل مؤثرتری استفاده کنند.


یادآوری مفهوم Thread

Thread یا «رشته پردازشی»
یک مسیر اجرای دستورها در نرم افزار است.

یک برنامه می تواند یک یا چند Thread داشته باشد.
هرچه نرم افزار بتواند کار خود را بهتر میان Threadهای
متعدد تقسیم کند، امکان استفاده از تعداد بیشتری
از منابع CPU فراهم می شود.

Under the Hood — چه کسی تصمیم می گیرد کدام کار روی کدام هسته اجرا شود؟

یکی از وظایف مهم سیستم عامل،
Scheduling است.

Scheduling را می توان «زمان بندی و تخصیص پردازش»
ترجمه کرد.

Scheduler یا زمان بند سیستم عامل تصمیم می گیرد
Threadهای آماده اجرا چه زمانی و روی کدام
Logical Processor اجرا شوند.

در پردازنده های Hybrid این تصمیم اهمیت بیشتری پیدا می کند،
زیرا همه هسته ها الزاماً ویژگی های یکسانی ندارند.

رویکرد AMD در معماری Zen

در بسیاری از خانواده های Ryzen مبتنی بر Zen،
AMD از هسته هایی با ساختار یکسان درون همان نوع
Core Complex استفاده کرده است.

البته نسل های جدید AMD نیز می توانند ترکیب های
متفاوتی از هسته های Zen و نسخه های فشرده تر آنها داشته باشند؛
بنابراین نباید تمام پردازنده های جدید AMD را
صرفاً «هسته های کاملاً یکسان» فرض کرد.


Zen c چیست؟

در نام هایی مانند:

Zen 4c

Zen 5c

حرف c به نسخه ای متراکم تر
از هسته Zen اشاره دارد.

هدف اصلی چنین طراحی ای قرار دادن تعداد بیشتری
هسته در فضای سیلیکونی محدودتر و بهینه سازی
طراحی برای سناریوهای مناسب آن است.

این مفهوم را نباید دقیقاً معادل E-Core اینتل دانست.
طراحی، اهداف مهندسی و نحوه پیاده سازی آنها متفاوت است.

P-Core و E-Core اینتل در برابر Zen و Zen c

موضوع Intel AMD
هسته Performance P-Core Zen Core
هسته متراکم تر E-Core با معماری متفاوت Zen c در برخی خانواده ها
نوع طراحی Hybrid در بسیاری از نسل های جدید بسته به خانواده محصول
هدف ترکیب Performance و Efficiency Performance، Efficiency و Density بسته به محصول


Density در طراحی CPU یعنی چه؟

Density در این زمینه به معنی
«تراکم» است؛ یعنی چه مقدار منابع پردازشی را
می توان در فضای مشخصی از تراشه قرار داد.

هسته کوچک تر می تواند به طراح اجازه دهد
تعداد بیشتری Core را در سطح مشخصی از Silicon
قرار دهد.

Intel و AMD در Single-Core

Single-Core Performance یعنی عملکرد پردازنده
زمانی که سرعت یک هسته یا تعداد محدودی از منابع پردازشی
اهمیت اصلی را دارد.

نتیجه Single-Core به عواملی مانند:

Architecture
+
IPC
+
Effective Clock
+
Cache
+
Memory Latency

وابسته است.

بنابراین نمی توان صرفاً از روی نام Intel یا AMD
برنده Single-Core را مشخص کرد.

Intel و AMD در Multi-Core

Multi-Core Performance زمانی اهمیت پیدا می کند
که نرم افزار بتواند کار خود را میان تعداد زیادی
Core و Thread تقسیم کند.

در اینجا علاوه بر قدرت هر Core،
تعداد هسته، تعداد Thread، Power Limit،
Cooling و توان نرم افزار در Parallel Processing
اهمیت پیدا می کنند.


Parallel Processing چیست؟

Parallel Processing
یعنی «پردازش موازی».

مفهوم آن این است که یک کار بزرگ به بخش های کوچک تر
تقسیم شود و چند بخش آن به صورت همزمان
توسط منابع مختلف CPU پردازش شوند.

اگر نرم افزار بتواند این تقسیم کار را خوب انجام دهد،
CPUهای دارای Core و Thread بیشتر می توانند
مزیت قابل توجهی پیدا کنند.

Performance per Watt چیست؟


Performance per Watt — عملکرد به ازای هر وات

این مفهوم نشان می دهد پردازنده در برابر
مقدار انرژی مصرف شده چه میزان Performance ارائه می کند.

به زبان ساده:

اگر دو CPU عملکرد نزدیک داشته باشند اما یکی برای رسیدن
به آن عملکرد انرژی کمتری مصرف کند، بهره وری انرژی
آن پردازنده بهتر است.

این معیار در لپ تاپ اهمیت زیادی دارد، زیرا
مصرف انرژی می تواند روی شارژدهی باتری،
گرما، صدای فن و Performance پایدار اثر بگذارد.

Common Mistake — مقایسه مصرف Intel و AMD فقط از روی TDP

عدد TDP به تنهایی برای تعیین مصرف واقعی CPU کافی نیست.

پردازنده می تواند در شرایط Boost،
Loadهای مختلف و تنظیمات متفاوت سازنده لپ تاپ
رفتار مصرفی متفاوتی داشته باشد.

بنابراین مقایسه مصرف باید بر اساس اندازه گیری
واقعی و شرایط تست مشخص انجام شود.


Power Limit چیست؟

Power Limit یعنی
«محدودیت توان مصرفی».

سازنده سیستم می تواند مشخص کند CPU تحت شرایط مختلف
اجازه استفاده از چه محدوده ای از توان را داشته باشد.

اگر CPU اجازه مصرف توان بیشتری داشته باشد
و Cooling نیز بتواند گرمای آن را دفع کند،
ممکن است بتواند Clock بالاتری را برای مدت بیشتری حفظ کند.

Intel یا AMD در لپ تاپ؟

مقایسه CPUهای لپ تاپی بسیار پیچیده تر از مقایسه
دو CPU روی کاغذ است.

در لپ تاپ، سازنده دستگاه نقش بزرگی در Performance دارد.

دو دستگاه با پردازنده های نزدیک ممکن است به دلیل
تفاوت در Cooling، Power Profile، RAM و طراحی شاسی
نتایج کاملاً متفاوتی ارائه کنند.


Power Profile چیست؟

Power Profile یا «پروفایل توان»
مجموعه ای از تنظیمات است که مشخص می کند سیستم
میان Performance، مصرف انرژی، دما و صدای فن
چگونه تعادل برقرار کند.

حالت هایی مانند:

Performance
/
Balanced
/
Quiet

می توانند رفتار یک لپ تاپ را تغییر دهند.

هنگام مقایسه لپ تاپ Intel و AMD این موارد را بررسی کنید

  • مدل دقیق CPU.
  • نسل و معماری واقعی.
  • پسوند پردازنده.
  • تعداد Core و Thread.
  • Power Limit واقعی دستگاه.
  • سیستم Cooling.
  • Single-Core Performance.
  • Multi-Core Performance.
  • Sustained Performance.
  • گرافیک مجتمع.
  • نوع RAM.
  • ظرفیت باتری.
  • وزن و ضخامت دستگاه.
  • قیمت.

مقایسه گرافیک مجتمع Intel و AMD

Integrated GPU یا به اختصار
iGPU به «پردازنده گرافیکی مجتمع»
گفته می شود.

این GPU در مجموعه پردازنده یا Package اصلی سیستم
قرار دارد و برخلاف کارت گرافیک مجزا،
معمولاً از حافظه سیستم نیز استفاده می کند.

قدرت iGPU به نسل و مدل دقیق پردازنده بستگی دارد.
بنابراین نمی توان تمام گرافیک های مجتمع Intel
یا تمام گرافیک های مجتمع AMD را یکسان در نظر گرفت.

Performance Impact — در لپ تاپ بدون کارت گرافیک مجزا، iGPU بسیار مهم است

اگر لپ تاپ Dedicated GPU نداشته باشد،
قدرت گرافیکی سیستم تا حد زیادی به iGPU وابسته است.

در این شرایط نوع RAM و پهنای باند حافظه نیز
می تواند روی Performance گرافیکی اثر محسوسی داشته باشد.


Dedicated GPU چیست؟

Dedicated GPU یا
«پردازنده گرافیکی مجزا» تراشه گرافیکی مستقلی است
که معمولاً حافظه گرافیکی اختصاصی خود را نیز دارد.

نمونه های رایج آن کارت های گرافیکی
NVIDIA GeForce، NVIDIA RTX و AMD Radeon
در لپ تاپ ها و کامپیوترها هستند.

Intel یا AMD برای کارهای اداری؟

برای Office، حسابداری، مرور وب، مدیریت سایت،
آموزش آنلاین و کارهای عمومی، معمولاً هر دو شرکت
گزینه های بسیار مناسبی دارند.

در این نوع کاربری بهتر است علاوه بر CPU،
به قیمت دستگاه، RAM، SSD، کیفیت نمایشگر،
شارژدهی و وضعیت لپ تاپ توجه شود.

خرید CPU بسیار قدرتمند برای کاربری سبک
الزاماً ارزش خرید بیشتری ایجاد نمی کند.

Intel یا AMD برای برنامه نویسی؟

پاسخ به نوع برنامه نویسی بستگی دارد.

برای توسعه وب و پروژه های معمولی،
هر دو خانواده می توانند بسیار مناسب باشند.

در پروژه های بزرگ تر، Compilation،
اجرای چند ماشین مجازی یا Container،
تعداد Core، RAM و Sustained Performance
اهمیت بیشتری پیدا می کنند.


Compilation چیست؟

Compilation یا «کامپایل»
فرایندی است که طی آن کد نوشته شده توسط برنامه نویس
به شکل دیگری تبدیل می شود که سیستم بتواند آن را
اجرا یا برای مرحله بعدی آماده کند.

پروژه های بزرگ ممکن است شامل هزاران فایل باشند
و فرآیند Build آنها بتواند تعداد زیادی Core
و Thread را درگیر کند.

Intel یا AMD برای نرم افزارهای مهندسی؟

عبارت «نرم افزار مهندسی» بسیار گسترده است.

AutoCAD، Revit، SolidWorks، MATLAB، ANSYS
و نرم افزارهای مشابه الگوی پردازشی یکسانی ندارند.

بعضی عملیات به Single-Core قوی وابستگی بیشتری دارند
و بعضی Simulationها یا Renderingها می توانند
از تعداد بیشتری Core استفاده کنند.

بنابراین انتخاب برند بدون بررسی نرم افزار مورد استفاده
روش دقیقی نیست.

Intel یا AMD برای Rendering؟

اگر Rendering توسط CPU انجام شود،
Multi-Core Performance اهمیت زیادی پیدا می کند.

اما اگر موتور Render از GPU استفاده کند،
ممکن است کارت گرافیک اهمیت بسیار بیشتری از CPU داشته باشد.


Render Engine چیست؟

Render Engine یا «موتور رندر»
بخش نرم افزاری مسئول محاسبه و تولید تصویر نهایی
از صحنه سه بعدی است.

بعضی موتورهای Render می توانند از CPU،
بعضی از GPU و بعضی از هر دو استفاده کنند.

بنابراین قبل از انتخاب CPU برای Rendering
باید بدانیم نرم افزار و موتور Render مورد استفاده
روی چه سخت افزاری بهتر اجرا می شوند.

Intel یا AMD برای Gaming؟

Performance بازی نتیجه تعامل CPU، GPU،
حافظه، موتور بازی، Resolution و تنظیمات گرافیکی است.

در بعضی بازی ها CPU نقش بسیار مهمی دارد،
اما در بسیاری از سناریوها GPU عامل محدود کننده اصلی است.

بنابراین مشاهده چند FPS بیشتر در یک Benchmark
به معنی برتری مطلق یک برند برای تمام بازی ها نیست.


FPS چیست؟

FPS مخفف
Frames Per Second
و به معنی «تعداد فریم در هر ثانیه» است.

اگر بازی با 60 FPS اجرا شود،
سیستم تقریباً 60 تصویر کامل در هر ثانیه تولید می کند.

FPS بالاتر معمولاً حرکت روان تری ایجاد می کند،
البته نمایشگر نیز باید توان نمایش نرخ مناسب را داشته باشد.


Bottleneck چیست؟

Bottleneck را می توان
«گلوگاه عملکرد» نامید.

گلوگاه بخشی از سیستم است که در یک شرایط مشخص
سرعت کل کار را محدود می کند.

برای مثال اگر GPU با حداکثر توان کار کند
اما CPU هنوز ظرفیت آزاد داشته باشد،
GPU می تواند گلوگاه آن سناریو باشد.

نکته مهم این است که Bottleneck یک ویژگی دائمی
یک قطعه نیست؛ با تغییر برنامه، Resolution،
تنظیمات و Workload می تواند تغییر کند.

در هر کاربری چه چیزی مهم تر است؟

کاربری عامل مهم CPU عامل مکمل
Office Single-Core مناسب + Efficiency SSD و RAM
حسابداری Responsiveness SSD و پایداری سیستم
برنامه نویسی Single + Multi بسته به پروژه RAM
AutoCAD Single-Core قوی در بسیاری از عملیات GPU متناسب با پروژه
Revit Single-Core + Multi در برخی عملیات RAM و GPU
CPU Rendering Multi-Core Cooling
Gaming Single-Core + Latency + CPU کافی GPU بسیار مهم
Virtualization Core / Thread RAM بسیار مهم

Intel یا AMD برای خرید لپ تاپ استوک؟

در بازار لپ تاپ استوک یک عامل مهم دیگر وارد معادله می شود:
ارزش خرید دستگاه واقعی.

ممکن است یک CPU جدیدتر باشد، اما لپ تاپی که از آن استفاده
می کند کیفیت ساخت پایین تر، Cooling ضعیف تر،
RAM کمتر یا قیمت بسیار بالاتری داشته باشد.

از طرف دیگر ممکن است یک Workstation نسل قبل
با CPU قدرتمند، سیستم Cooling مناسب، RAM قابل ارتقا
و قیمت منطقی انتخاب بسیار بهتری برای کاربر حرفه ای باشد.

Engineering Insight — در بازار استوک «بهترین CPU» با «بهترین خرید» یکی نیست

انتخاب لپ تاپ استوک باید حاصل بررسی مجموعه دستگاه باشد:

CPU
+
GPU
+
RAM
+
SSD
+
Display
+
Cooling
+
Battery
+
Upgradeability
+
Condition
+
Price

بنابراین ممکن است CPU یک دستگاه کمی ضعیف تر باشد،
اما مجموعه دستگاه ارزش خرید بسیار بیشتری ایجاد کند.


Upgradeability چیست؟

Upgradeability یعنی
«قابلیت ارتقا».

در لپ تاپ منظور این است که آیا قطعاتی مانند RAM،
SSD یا بعضی تجهیزات دیگر قابل تعویض و ارتقا هستند یا خیر.

این موضوع در خرید لپ تاپ استوک اهمیت زیادی دارد،
زیرا می تواند عمر مفید دستگاه را افزایش دهد.


Condition در لپ تاپ استوک یعنی چه؟

Condition در اینجا به
«وضعیت واقعی دستگاه» اشاره دارد.

سلامت بدنه، نمایشگر، کیبورد، پورت ها،
سیستم Cooling، باتری و وضعیت کلی سخت افزار
بخشی از Condition دستگاه هستند.

دو لپ تاپ با مدل کاملاً یکسان ممکن است
به دلیل Condition متفاوت ارزش خرید یکسانی نداشته باشند.

روش صحیح انتخاب بین Intel و AMD

01
کاربریابتدا مشخص کنید دستگاه برای چه کاری استفاده می شود.
02
مدل دقیقنام کامل دو CPU را استخراج کنید.
03
معمارینسل و معماری واقعی پردازنده ها را مشخص کنید.
04
کلاس توانپسوند و محدوده توان پردازنده را بررسی کنید.
05
Single-Coreقدرت هر هسته را بررسی کنید.
06
Multi-Coreتوان پردازش موازی را بررسی کنید.
07
Efficiencyمصرف انرژی و Performance per Watt را بررسی کنید.
08
PlatformRAM، PCIe، iGPU و امکانات Platform را مقایسه کنید.
09
خود لپ تاپCooling، نمایشگر، باتری و قابلیت ارتقا را بررسی کنید.
10
قیمتدر پایان Performance را در برابر قیمت قرار دهید.

Common Mistakes — اشتباهات رایج در مقایسه Intel و AMD
  • پرسیدن «Intel بهتر است یا AMD؟» بدون مشخص کردن مدل.
  • مقایسه فقط بر اساس Core Count.
  • مقایسه فقط بر اساس GHz.
  • مقایسه فقط بر اساس نسل اسمی.
  • فرض اینکه Coreهای متفاوت قدرت یکسان دارند.
  • یکسان دانستن E-Core و Zen c.
  • مقایسه مصرف فقط با عدد TDP.
  • نادیده گرفتن Power Limit لپ تاپ.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Single-Core.
  • نادیده گرفتن Multi-Core.
  • نادیده گرفتن Performance پایدار.
  • فرض اینکه یک برند در تمام نرم افزارها سریع تر است.
  • انتخاب CPU بدون توجه به GPU.
  • انتخاب لپ تاپ فقط از روی CPU.
  • نادیده گرفتن قیمت و ارزش خرید در بازار استوک.

سوالات متداول Intel و AMD

Intel بهتر است یا AMD؟

بدون مشخص کردن مدل، نسل و کاربرد نمی توان پاسخ دقیقی داد.
هر دو شرکت پردازنده های ضعیف، متوسط و بسیار قدرتمند دارند.

برای لپ تاپ Intel بهتر است یا AMD؟

مدل دقیق CPU و خود لپ تاپ باید مقایسه شوند.
Cooling، باتری، Power Limit، RAM و قیمت می توانند
نتیجه انتخاب را تغییر دهند.

P-Core چیست؟

Performance Core یا هسته پرقدرت اینتل است که
برای عملکرد بالا و Workloadهای حساس به قدرت هر هسته
طراحی شده است.

E-Core چیست؟

Efficient Core یا هسته بهینه اینتل است که با تمرکز
بر بهره وری و افزایش ظرفیت پردازش طراحی شده است.

آیا E-Core همان Zen c در AMD است؟

خیر. هر دو می توانند اهدافی مرتبط با بهره وری و تراکم
داشته باشند، اما معماری و نحوه پیاده سازی آنها یکسان نیست.

برای AutoCAD Intel بهتر است یا AMD؟

باید مدل های مشخص مقایسه شوند. بسیاری از عملیات AutoCAD
به Performance قوی هر هسته اهمیت می دهند؛ بنابراین
Single-Core مدل های مورد نظر باید بررسی شود.

برای Revit Intel بهتر است یا AMD؟

مدل دقیق اهمیت بیشتری از برند دارد. نوع پروژه،
Single-Core، RAM، GPU و بعضی عملیات Multi-Core
باید همزمان بررسی شوند.

برای Rendering کدام بهتر است؟

اگر Render روی CPU انجام شود Multi-Core Performance
اهمیت زیادی دارد. اگر Render مبتنی بر GPU باشد،
کارت گرافیک ممکن است عامل بسیار مهم تری باشد.

برای برنامه نویسی Intel بهتر است یا AMD؟

هر دو می توانند مناسب باشند. نوع پروژه، زمان Compilation،
تعداد ماشین های مجازی، RAM و Performance پایدار
معیارهای مهم تری از نام برند هستند.

برای Gaming Intel بهتر است یا AMD؟

نتیجه به مدل CPU، GPU، بازی، Resolution و تنظیمات بستگی دارد.
یک برند برنده تمام بازی ها و تمام نسل ها نیست.

آیا Core بیشتر همیشه بهتر است؟

خیر. تعداد Core فقط یکی از عوامل Performance است.
معماری، IPC، Clock و توان نرم افزار در استفاده
از Coreهای متعدد نیز اهمیت دارند.

آیا GHz بیشتر یعنی CPU سریع تر است؟

خیر. GHz باید همراه با IPC، معماری، Cache،
Power و Workload بررسی شود.

کدام برند مصرف انرژی کمتری دارد؟

نمی توان یک پاسخ ثابت برای تمام نسل ها داد.
مدل دقیق CPU، معماری، کلاس توان و تنظیمات دستگاه
باید بررسی شوند.

برای لپ تاپ استوک Intel بخریم یا AMD؟

مدلی را انتخاب کنید که برای کاربرد شما بهترین ترکیب
Performance، کیفیت دستگاه، قابلیت ارتقا، سلامت و قیمت
را ارائه می کند؛ نه صرفاً برندی که روی CPU نوشته شده است.

خلاصه فصل

Intel و AMD را نمی توان با یک حکم کلی مقایسه کرد.

روش صحیح:

Exact CPU
→
Architecture
→
Power Class
→
Single-Core
→
Multi-Core
→
Efficiency
→
Platform
→
Device
→
Workload
→
Price

است.

در بازار لپ تاپ استوک نیز بهترین CPU الزاماً
به معنی بهترین خرید نیست؛ کل دستگاه باید بررسی شود.

اصطلاحات جدید این فصل

  • Workload: نوع بار کاری واقعی پردازنده.
  • Hybrid Architecture: معماری دارای انواع متفاوت هسته.
  • P-Core: Performance Core یا هسته پرقدرت.
  • E-Core: Efficient Core یا هسته بهینه.
  • Scheduling: زمان بندی و تخصیص پردازش ها.
  • Scheduler: بخش مسئول زمان بندی اجرای Threadها.
  • Zen c: نسخه متراکم تر برخی هسته های Zen.
  • Density: تراکم منابع پردازشی روی تراشه.
  • Parallel Processing: پردازش همزمان بخش های مختلف یک کار.
  • Performance per Watt: عملکرد به ازای انرژی مصرفی.
  • Power Limit: محدودیت توان قابل استفاده CPU.
  • Power Profile: تنظیم تعادل عملکرد، مصرف، دما و صدا.
  • iGPU: پردازنده گرافیکی مجتمع.
  • Dedicated GPU: پردازنده گرافیکی مجزا.
  • Compilation: فرایند تبدیل و آماده سازی کد برای اجرا.
  • Render Engine: موتور محاسبه تصویر نهایی.
  • FPS: تعداد فریم تولید شده در هر ثانیه.
  • Bottleneck: بخشی که Performance کل سیستم را محدود می کند.
  • Upgradeability: قابلیت ارتقای سخت افزار.
  • Condition: وضعیت واقعی و سلامت دستگاه استوک.


فصل 25
سطح: پایه تا پیشرفته
پیش نیاز: Benchmark، CPU/GPU، RAM و Workload
موضوع: گلوگاه پردازنده و تعادل سیستم


سریع ترین قطعه همیشه سریع ترین سیستم را نمی سازد

Bottleneck یا گلوگاه CPU چیست؟ چگونه تعادل CPU، GPU، RAM و Storage را تشخیص دهیم؟

ممکن است یک سیستم پردازنده بسیار قدرتمندی داشته باشد،
اما در عمل Performance مورد انتظار را ارائه نکند.
دلیل می تواند این باشد که قطعه یا بخش دیگری از سیستم
سرعت کل Workload را محدود می کند.

این محدودیت را Bottleneck یا «گلوگاه عملکرد» می نامیم.
اما گلوگاه یک ویژگی ثابت یک قطعه نیست؛ با تغییر برنامه،
تنظیمات، Resolution، حجم پروژه و نوع استفاده می تواند
از CPU به GPU، RAM، Storage یا حتی Cooling منتقل شود.


Bottleneck یعنی چه؟

Bottleneck در لغت به معنی
«گردن بطری» است، اما در سخت افزار مفهوم درست آن
«گلوگاه عملکرد» است.

گلوگاه بخشی از سیستم است که در یک شرایط مشخص،
سرعت انجام کار را بیش از سایر بخش ها محدود می کند.

اگر CPU توان بیشتری داشته باشد اما GPU نتواند
فریم های بیشتری تولید کند، GPU می تواند گلوگاه باشد.

اگر GPU منتظر آماده شدن داده از CPU بماند،
CPU می تواند گلوگاه باشد.

در این فصل چه چیزهایی یاد می گیریم؟

  • گلوگاه CPU دقیقاً چیست.
  • چرا Bottleneck دائمی نیست.
  • CPU Bottleneck در Gaming چگونه ایجاد می شود.
  • GPU Bottleneck چیست.
  • RAM Bottleneck چیست.
  • Storage Bottleneck چیست.
  • Cooling چگونه به گلوگاه تبدیل می شود.
  • Resolution چگونه محل Bottleneck را تغییر می دهد.
  • Frame Time چیست.
  • 1% Low چیست.
  • Latency چیست.
  • چرا CPU قوی تر همیشه FPS بیشتری نمی دهد.
  • چگونه برای Workstation و لپ تاپ استوک سیستم متعادل انتخاب کنیم.

سیستم کامپیوتری یک زنجیره پردازشی است

برای انجام یک کار، معمولاً بیش از یک قطعه درگیر است.

01
Storageداده از SSD یا حافظه ذخیره سازی خوانده می شود.
02
RAMداده مورد نیاز برنامه در حافظه اصلی نگهداری می شود.
03
CPUمنطق برنامه و محاسبات عمومی اجرا می شوند.
04
GPUدر Workloadهای گرافیکی، پردازش تصویر یا محاسبات موازی انجام می شود.
05
Outputنتیجه به نمایشگر، فایل یا بخش بعدی برنامه منتقل می شود.

اگر یکی از این مراحل نسبت به بقیه بیش از حد کند باشد،
مراحل سریع تر مجبور می شوند منتظر آن بمانند.

Engineering Insight — Bottleneck یک ویژگی ثابت قطعه نیست

یک Core i5 یا Ryzen 5 نمی تواند به طور مطلق
«گلوگاه» یا «بدون گلوگاه» باشد.

باید پرسید:

Bottleneck in which workload,
at what settings,
with which GPU,
at what resolution?

یعنی گلوگاه در کدام بار کاری، با چه تنظیماتی،
در کنار چه GPU و با چه وضوح تصویری؟

CPU Bottleneck چیست؟

CPU Bottleneck زمانی رخ می دهد که پردازنده مرکزی
نتواند داده یا دستورهای مورد نیاز را با سرعت کافی
برای بخش بعدی سیستم آماده کند.

در Gaming ممکن است GPU ظرفیت تولید فریم بیشتری داشته باشد،
اما CPU نتواند منطق بازی، Physics، Draw Callها
یا سایر پردازش ها را با سرعت کافی آماده کند.


Draw Call چیست؟

Draw Call یا «فرمان رسم»
در گرافیک کامپیوتری دستوری است که CPU از طریق API گرافیکی
برای GPU آماده می کند تا بخشی از صحنه را رسم کند.

در یک صحنه پیچیده ممکن است تعداد زیادی Draw Call
وجود داشته باشد و CPU باید آنها را مدیریت کند.

اگر CPU نتواند این دستورات را با سرعت کافی آماده کند،
GPU ممکن است بخشی از زمان منتظر بماند.


Physics در بازی یعنی چه؟

Physics یا «محاسبات فیزیک»
شبیه سازی رفتارهایی مانند حرکت اجسام،
برخورد، جاذبه و واکنش عناصر محیط است.

بعضی از این محاسبات می توانند بار زیادی
روی CPU ایجاد کنند.

نشانه های احتمالی CPU Bottleneck

  • GPU Usage به طور مداوم پایین تر از انتظار است.
  • یک یا چند Core CPU نزدیک حداکثر استفاده هستند.
  • کاهش تنظیمات گرافیکی FPS را خیلی افزایش نمی دهد.
  • افزایش قدرت GPU تأثیر کمی روی Performance دارد.
  • Frame Time ناپایدار است.
  • در صحنه های شلوغ افت Performance بیشتر می شود.


GPU Usage چیست؟

GPU Usage یا «درصد استفاده از GPU»
نشان می دهد پردازنده گرافیکی در آن لحظه
چه مقدار از ظرفیت قابل استفاده خود را درگیر کرده است.

GPU Usage پایین به تنهایی اثبات CPU Bottleneck نیست؛
ممکن است محدودیت FPS، V-Sync، نرم افزار یا عامل دیگری وجود داشته باشد.

GPU Bottleneck چیست؟

GPU Bottleneck زمانی رخ می دهد که پردازنده گرافیکی
عامل اصلی محدود کننده سرعت باشد.

این وضعیت در بازی های سنگین گرافیکی،
Resolution بالا، Ray Tracing و تنظیمات تصویری سنگین
بسیار رایج است.

در چنین شرایطی ارتقای CPU ممکن است
افزایش FPS زیادی ایجاد نکند.


Resolution چیست؟

Resolution یا «وضوح تصویر»
تعداد Pixelهایی است که تصویر از آنها تشکیل شده است.

1920×1080 = Full HD

2560×1440 = QHD

3840×2160 = 4K

هرچه تعداد Pixelها بیشتر شود،
GPU معمولاً باید محاسبات بیشتری برای تولید هر فریم انجام دهد.

چرا Resolution می تواند Bottleneck را تغییر دهد؟

در Resolution پایین، GPU ممکن است بتواند
فریم ها را بسیار سریع تولید کند.

در این حالت CPU باید با سرعت بیشتری
داده و دستورات لازم را آماده کند و احتمال CPU Bottleneck
افزایش می یابد.

در Resolution بالا، بار GPU افزایش پیدا می کند
و احتمال اینکه GPU عامل محدود کننده باشد بیشتر می شود.

شرایط فشار نسبی روی CPU فشار نسبی روی GPU
1080p + GPU قوی + FPS بالا بیشتر متوسط
1440p متعادل تر بیشتر
4K + تنظیمات بالا نسبتاً کمتر بسیار بالا


Frame Time چیست؟

Frame Time یا «زمان تولید هر فریم»
مدت زمانی است که سیستم برای ساخت یک Frame نیاز دارد.

این مقدار معمولاً با میلی ثانیه اندازه گیری می شود.

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

رابطه ساده FPS و Frame Time

Frame Time ≈ 1000 / FPS

مثال:

60 FPS ≈ 16.7 ms per frame

120 FPS ≈ 8.3 ms per frame

144 FPS ≈ 6.9 ms per frame

این رابطه فقط تبدیل ساده میان FPS و زمان متوسط هر فریم است.


1% Low چیست؟

1% Low معیاری برای بررسی
بخش های کندتر تجربه بازی است.

به زبان ساده، به جای اینکه فقط میانگین FPS را ببینیم،
عملکرد پایین ترین بخش های فریم را نیز بررسی می کنیم.

مقدار 1% Low مناسب تر می تواند نشان دهنده
تجربه روان تر و افت های کمتر باشد.

Common Mistake — فقط Average FPS را ببینیم

دو سیستم ممکن است Average FPS مشابه داشته باشند،
اما یکی افت های شدیدتر و Frame Time ناپایدارتر داشته باشد.

برای بررسی تجربه واقعی بهتر است Average FPS،
1% Low و Frame Time کنار هم دیده شوند.


Latency چیست؟

Latency یا «تاخیر»
مدت زمانی است که میان درخواست یک عملیات
و دریافت پاسخ آن وجود دارد.

Latency می تواند در بخش های مختلف سیستم مطرح شود:
حافظه، Storage، شبکه، Input یا ارتباط CPU با سایر اجزا.

Latency کمتر در بسیاری از Workloadها
می تواند Responsiveness بهتری ایجاد کند.


Responsiveness چیست؟

Responsiveness را می توان
«سرعت واکنش سیستم» نامید.

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

باز شدن سریع برنامه، پاسخ سریع رابط کاربری
و کاهش مکث های کوتاه بخشی از این تجربه هستند.

RAM Bottleneck چیست؟

حافظه RAM می تواند از دو مسیر اصلی
به گلوگاه تبدیل شود:

  • ظرفیت ناکافی.
  • پهنای باند یا Latency نامناسب برای Workload.

اگر RAM کافی نباشد، سیستم ممکن است مجبور شود
بخشی از داده ها را بین RAM و Storage جابه جا کند
که بسیار کندتر است.


Memory Bandwidth چیست؟

Memory Bandwidth یا
«پهنای باند حافظه» مقدار داده ای است که
حافظه می تواند در مدت زمان مشخص انتقال دهد.

بعضی Workloadها و به ویژه iGPU
می توانند به پهنای باند حافظه بسیار حساس باشند.


Swap یا Page File چیست؟

وقتی RAM کافی نباشد، سیستم عامل می تواند
بخشی از داده های کم استفاده تر را موقتاً
روی Storage قرار دهد.

در ویندوز این فضای کمکی معمولاً با
Page File شناخته می شود.

چون SSD یا HDD نسبت به RAM بسیار کندتر هستند،
استفاده سنگین از این روش می تواند Performance را کاهش دهد.

Storage Bottleneck چیست؟

اگر برنامه دائماً منتظر خواندن یا نوشتن داده
روی SSD یا HDD باشد، Storage می تواند
عامل محدود کننده Performance شود.

این موضوع در Load پروژه های بزرگ،
انتقال فایل، Database، Cacheهای نرم افزاری
یا سیستم هایی با HDD قدیمی بسیار مهم است.


IOPS چیست؟

IOPS مخفف
Input/Output Operations Per Second
است.

معادل فارسی آن «تعداد عملیات ورودی/خروجی در هر ثانیه» است.

IOPS نشان می دهد Storage در یک شرایط مشخص
چه تعداد عملیات خواندن یا نوشتن را در هر ثانیه
می تواند انجام دهد.

برای کار با فایل های کوچک و عملیات تصادفی،
IOPS می تواند از سرعت ترتیبی مهم تر باشد.


Sequential و Random Access چه تفاوتی دارند؟

Sequential Access یا «دسترسی ترتیبی»
زمانی است که داده ها پشت سر هم خوانده یا نوشته می شوند.

Random Access یا «دسترسی تصادفی»
زمانی است که سیستم باید از بخش های مختلف Storage
داده های کوچک را پیدا و پردازش کند.

کار روزمره سیستم عامل معمولاً فقط به
سرعت ترتیبی SSD وابسته نیست.

آیا Cooling می تواند Bottleneck باشد؟

بله.

اگر سیستم خنک کننده نتواند حرارت تولید شده
توسط CPU یا GPU را دفع کند، قطعه ممکن است
Clock و Power خود را کاهش دهد.

در این شرایط قدرت نظری قطعه وجود دارد،
اما سیستم نمی تواند آن را برای مدت کافی حفظ کند.


Thermal Headroom چیست؟

Thermal Headroom را می توان
«حاشیه حرارتی» نامید.

یعنی چه مقدار فاصله تا رسیدن قطعه
به محدودیت دمایی خود باقی مانده است.

حاشیه حرارتی بیشتر می تواند به CPU یا GPU اجازه دهد
Boost بالاتری را برای مدت بیشتری حفظ کند،
البته اگر محدودیت توان دیگری مانع نباشد.

آیا ممکن است CPU بیش از نیاز قوی باشد؟

بله.

اگر Workload کاربر از توان اضافی CPU استفاده نکند،
پرداخت هزینه بیشتر برای مدل قوی تر
ممکن است Performance محسوس بیشتری ایجاد نکند.

مثلاً برای Office ساده، تفاوت میان یک CPU میان رده مناسب
و یک CPU بسیار قدرتمند ممکن است در تجربه روزمره
بسیار کمتر از اختلاف قیمت آنها باشد.


Diminishing Returns چیست؟

Diminishing Returns را می توان
«بازده نزولی» نامید.

مفهوم آن این است که با افزایش هزینه،
مقدار سود اضافی به تدریج کمتر می شود.

مثال:

ممکن است پرداخت 20 درصد هزینه بیشتر
15 درصد Performance اضافه کند،
اما پرداخت 60 درصد بیشتر فقط 10 درصد
Performance بیشتر نسبت به گزینه میانی ایجاد کند.

سیستم متعادل یعنی چه؟

سیستم متعادل سیستمی نیست که تمام قطعات آن
دقیقاً در یک سطح قیمت باشند.

سیستم متعادل یعنی منابع اصلی دستگاه
متناسب با Workload کاربر انتخاب شده باشند.

برای Gaming ممکن است GPU سهم بیشتری از بودجه بگیرد.

برای CPU Rendering ممکن است CPU و Cooling مهم تر باشند.

برای Virtualization ظرفیت RAM ممکن است
عامل حیاتی تری باشد.

کاربری اولویت اول اولویت دوم گلوگاه رایج
Office SSD + RAM کافی CPU مناسب HDD / RAM کم
Gaming GPU CPU متناسب GPU یا CPU بسته به Resolution
AutoCAD Single-Core CPU RAM / GPU متناسب CPU یا GPU بسته به پروژه
Revit CPU + RAM GPU RAM یا CPU
CPU Rendering Multi-Core CPU Cooling CPU / Thermal Limit
GPU Rendering GPU + VRAM CPU مناسب GPU / VRAM
Virtualization RAM Core / Thread RAM Capacity
Video Editing CPU/GPU بسته به Codec Storage GPU / Decode Engine / Storage


VRAM چیست؟

VRAM به حافظه ای گفته می شود
که GPU برای نگهداری Textureها، Frame Buffer،
داده های هندسی و سایر اطلاعات گرافیکی استفاده می کند.

در کارت گرافیک مجزا معمولاً حافظه گرافیکی اختصاصی وجود دارد.

کمبود VRAM در Workloadهای سنگین می تواند
Performance را کاهش دهد یا محدودیت ایجاد کند.


Codec چیست؟

Codec از مفهوم
Encoder/Decoder یا Compressor/Decompressor می آید
و به روش یا ابزار کدگذاری و رمزگشایی داده های صوتی
و تصویری اشاره دارد.

H.264، H.265/HEVC و AV1 نمونه هایی از
Codecهای ویدیویی هستند.

بعضی CPUها و GPUها دارای واحد سخت افزاری مخصوص
Decode یا Encode این فرمت ها هستند.

چگونه گلوگاه سیستم را پیدا کنیم؟

01
Workload را مشخص کنبدون کار واقعی نمی توان Bottleneck را تعریف کرد.
02
Usage را بررسی کنCPU، GPU، RAM و Storage را زیر Load مشاهده کن.
03
Clock و Powerبررسی کن قطعات در محدودیت توان نیستند.
04
TemperatureThermal Throttling را بررسی کن.
05
Settings را تغییر بدهResolution یا تنظیمات Workload را تغییر بده و اثر را ببین.
06
Benchmark مرتبطاز تست متناسب با همان کاربرد استفاده کن.
07
Upgrade Simulationبررسی کن ارتقای کدام قطعه واقعاً نتیجه را تغییر می دهد.


Upgrade Simulation یعنی چه؟

منظور از Upgrade Simulation
«شبیه سازی اثر ارتقا» است.

لازم نیست همیشه قطعه را واقعاً عوض کنیم.
با تغییر تنظیمات یا مقایسه Benchmarkها می توان
تخمین زد اگر CPU، GPU یا RAM قوی تر شود
چه مقدار Performance تغییر خواهد کرد.

روش ساده تشخیص CPU یا GPU Bottleneck در Gaming

یک روش آموزشی این است که Resolution یا تنظیمات گرافیکی
را به شکل کنترل شده تغییر دهیم.

اگر کاهش سنگین تنظیمات GPU محور
FPS را بسیار افزایش دهد، GPU احتمالاً محدود کننده مهمی بوده است.

اگر با کاهش تنظیمات گرافیکی FPS تغییر کمی کند
و CPU درگیر باشد، احتمال CPU Bottleneck بیشتر می شود.

البته این فقط یک نشانه است و برای نتیجه قطعی
باید Usage، Frame Time، Clock و سایر داده ها نیز بررسی شوند.

Common Mistake — اعتماد به Bottleneck Calculatorهای درصدی

ابزارهایی که بدون مشخص کردن Workload واقعی
می گویند «این CPU دقیقاً 18 درصد Bottleneck ایجاد می کند»
باید با احتیاط بسیار زیاد تفسیر شوند.

Bottleneck یک درصد ثابت میان دو قطعه نیست.

نتیجه با بازی، Resolution، تنظیمات،
RAM، Driver و حتی صحنه داخل بازی تغییر می کند.


Driver چیست؟

Driver یا «راه انداز»
نرم افزاری است که به سیستم عامل اجازه می دهد
با یک سخت افزار ارتباط صحیح برقرار کند.

Driver کارت گرافیک می تواند روی Performance،
سازگاری و رفتار بازی ها و نرم افزارها اثر بگذارد.

Bottleneck در لپ تاپ استوک

در لپ تاپ استوک فقط مشخصات اسمی قطعات مهم نیست.

ممکن است CPU و GPU مناسب باشند،
اما RAM کم، SSD ضعیف یا Cooling فرسوده
عملکرد کل دستگاه را محدود کند.

به همین دلیل بررسی سیستم استوک باید
مجموعه دستگاه را پوشش دهد.

چک لیست تعادل لپ تاپ استوک

  • CPU متناسب با کاربری.
  • GPU متناسب با پروژه.
  • RAM کافی و ترجیحاً پیکربندی مناسب.
  • SSD سالم و با سرعت مناسب.
  • Cooling سالم.
  • آداپتور با توان صحیح.
  • باتری سالم در صورت اهمیت Mobility.
  • عدم Thermal Throttling غیرعادی.
  • Performance نزدیک به محدوده طبیعی مدل.
  • امکان ارتقای RAM یا Storage در صورت نیاز.

Performance Impact — ارتقای اشتباه می تواند تقریباً بی اثر باشد

اگر GPU گلوگاه اصلی یک بازی باشد،
ارتقای CPU از یک مدل خوب به مدل بسیار قوی تر
ممکن است افزایش FPS کمی ایجاد کند.

اگر سیستم فقط 8GB RAM داشته باشد و دائماً
از Page File استفاده کند، ارتقای RAM ممکن است
بیشتر از ارتقای CPU روی تجربه واقعی اثر بگذارد.

ابتدا Bottleneck را پیدا کنید، سپس ارتقا دهید.

Common Mistakes — اشتباهات رایج درباره Bottleneck
  • تصور اینکه Bottleneck دائمی است.
  • گفتن یک CPU همیشه برای یک GPU گلوگاه است.
  • اعتماد به یک درصد ثابت Bottleneck.
  • نادیده گرفتن Resolution.
  • نادیده گرفتن Frame Time.
  • فقط نگاه کردن به Average FPS.
  • نادیده گرفتن 1% Low.
  • نادیده گرفتن RAM Capacity.
  • نادیده گرفتن Memory Bandwidth.
  • نادیده گرفتن SSD.
  • نادیده گرفتن Cooling.
  • فرض اینکه CPU قوی تر همیشه FPS بیشتری می دهد.
  • خرید قوی ترین CPU بدون توجه به Workload.
  • نادیده گرفتن Diminishing Returns.

سوالات متداول Bottleneck و تعادل سیستم

Bottleneck چیست؟

بخشی از سیستم است که در یک Workload مشخص
سرعت کل کار را بیش از سایر اجزا محدود می کند.

CPU Bottleneck چیست؟

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

GPU Bottleneck چیست؟

حالتی است که GPU عامل اصلی محدود کننده
Performance در Workload مورد نظر باشد.

آیا Bottleneck بد است؟

هر سیستم در نهایت یک عامل محدود کننده دارد.
مسئله زمانی مهم می شود که عدم تعادل شدید
باعث هدر رفت هزینه یا Performance شود.

آیا می توان Bottleneck را با درصد ثابت گفت؟

معمولاً خیر. Bottleneck به Workload،
Resolution، تنظیمات و سایر قطعات وابسته است.

چرا در 1080p CPU مهم تر می شود؟

چون GPU ممکن است فریم ها را سریع تر تولید کند
و CPU مجبور باشد با نرخ بیشتری داده و فرمان آماده کند.

چرا در 4K GPU مهم تر می شود؟

چون تعداد Pixelهای بسیار بیشتری باید
برای هر Frame پردازش شود و بار GPU افزایش می یابد.

Frame Time چیست؟

زمانی است که سیستم برای تولید هر فریم نیاز دارد.
پایداری Frame Time برای تجربه روان اهمیت زیادی دارد.

1% Low چیست؟

معیاری برای بررسی بخش های کندتر تجربه بازی است
و می تواند افت های Performance را بهتر از Average FPS نشان دهد.

آیا RAM کم می تواند CPU را کند نشان دهد؟

بله. اگر سیستم حافظه کافی نداشته باشد
و مجبور به استفاده زیاد از Storage شود،
Performance کلی کاهش می یابد.

آیا SSD روی FPS اثر دارد؟

معمولاً اثر مستقیم آن روی Average FPS محدودتر از CPU/GPU است،
اما می تواند روی Load Time، Streaming داده،
Stutter در بعضی سناریوها و Responsiveness اثر بگذارد.

آیا Cooling گلوگاه محسوب می شود؟

اگر محدودیت حرارتی مانع حفظ Clock و Power شود،
بله، سیستم خنک کننده عملاً می تواند Performance را محدود کند.

برای Office CPU خیلی قوی لازم است؟

معمولاً خیر. پس از رسیدن به سطح مناسب CPU،
RAM، SSD، کیفیت دستگاه و قیمت می توانند اهمیت بیشتری پیدا کنند.

بهترین راه ارتقای سیستم چیست؟

ابتدا Workload و عامل محدود کننده واقعی را مشخص کنید،
سپس قطعه ای را ارتقا دهید که بیشترین اثر را روی نیاز شما دارد.

اصطلاحات جدید این فصل

  • Draw Call: فرمان CPU برای رسم بخش هایی از صحنه توسط GPU.
  • Physics: محاسبات شبیه سازی رفتار فیزیکی.
  • GPU Usage: میزان درگیری پردازنده گرافیکی.
  • Resolution: تعداد Pixelهای تشکیل دهنده تصویر.
  • Frame Time: زمان لازم برای تولید هر فریم.
  • 1% Low: معیاری برای بررسی افت های پایین Performance در بازی.
  • Latency: تاخیر بین درخواست و پاسخ.
  • Responsiveness: سرعت واکنش محسوس سیستم.
  • Memory Bandwidth: حجم داده قابل انتقال حافظه در زمان مشخص.
  • Page File: فضای Storage مورد استفاده سیستم عامل به عنوان حافظه کمکی.
  • IOPS: تعداد عملیات ورودی و خروجی Storage در هر ثانیه.
  • Sequential Access: دسترسی ترتیبی به داده ها.
  • Random Access: دسترسی به داده های پراکنده.
  • Thermal Headroom: فاصله باقی مانده تا محدودیت حرارتی.
  • Diminishing Returns: کاهش سود اضافی نسبت به افزایش هزینه.
  • VRAM: حافظه مورد استفاده پردازنده گرافیکی.
  • Codec: روش یا ابزار کدگذاری و رمزگشایی صوت و تصویر.
  • Upgrade Simulation: تخمین اثر ارتقای قطعه پیش از تعویض واقعی.
  • Driver: نرم افزار رابط میان سیستم عامل و سخت افزار.

خلاصه فصل

Bottleneck یعنی عامل محدود کننده Performance
در یک شرایط مشخص.

گلوگاه می تواند:

CPU
/
GPU
/
RAM
/
Storage
/
Cooling

باشد و با تغییر Workload تغییر کند.

بنابراین هدف ساخت سیستم «بدون Bottleneck» نیست؛
هدف ساخت سیستم متعادل برای نیاز مشخص است.


فصل 26
سطح: پایه تا پیشرفته
پیش نیاز: معماری، IPC، Core، Power و Cooling
موضوع: فرکانس، GHz، Boost و Voltage


GHz سرعت CPU را توصیف می کند؛ اما به تنهایی قدرت CPU را تعیین نمی کند

فرکانس CPU چیست؟ مفهوم GHz، Base Clock، Boost Clock و Turbo

عددهایی مانند 2.6GHz، 4.5GHz یا 5.0GHz
از شناخته شده ترین مشخصات پردازنده هستند.
به همین دلیل بسیاری از کاربران تصور می کنند
هر CPU که GHz بیشتری داشته باشد سریع تر است.

اما فرکانس فقط یکی از عوامل تعیین کننده Performance است.
معماری، IPC، تعداد Core، Cache، حافظه، Power Limit،
دما و نوع Workload نیز می توانند نتیجه نهایی را تغییر دهند.

برای درک درست این موضوع ابتدا باید بفهمیم
Clock درون CPU دقیقاً چه کاری انجام می دهد.


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

Clock در اینجا به معنی
«سیگنال زمان بندی پردازنده» است.

مدارهای دیجیتال CPU برای هماهنگ کردن بسیاری از عملیات داخلی
از یک سیگنال منظم زمانی استفاده می کنند.

هر تکرار این سیگنال را یک
Clock Cycle یا «چرخه کلاک»
می نامیم.

بنابراین Clock را نباید صرفاً به معنی
«سرعت پردازنده» ترجمه کرد؛
مفهوم دقیق تر آن ریتم زمانی هماهنگ کننده
بسیاری از عملیات داخلی CPU است.


Clock Cycle چیست؟

Clock Cycle یا «چرخه کلاک»
یک دوره کامل از سیگنال Clock است.

CPU در طول این چرخه ها مراحل مختلف پردازش
دستورها را پیش می برد.

نکته بسیار مهم این است که:


یک Clock Cycle الزاماً برابر با اجرای یک Instruction نیست.

پردازنده های مدرن می توانند چندین دستور را
به صورت همپوشان و در واحدهای مختلف پردازشی مدیریت کنند.

Frequency یا فرکانس CPU چیست؟

Frequency یا «فرکانس»
تعداد چرخه های Clock در واحد زمان است.

واحد پایه اندازه گیری فرکانس:

Hertz = Hz

یک Hertz یعنی یک Cycle در هر ثانیه.

واحد نام تعداد Cycle در ثانیه
Hz Hertz 1
kHz Kilohertz 1,000
MHz Megahertz 1,000,000
GHz Gigahertz 1,000,000,000


GHz یعنی چه؟

GHz مخفف
Gigahertz
یا «گیگاهرتز» است.

یک GHz برابر است با:

1 GHz = 1,000,000,000 Hz

بنابراین CPU با Clock برابر 4GHz
سیگنال Clock با نرخ تقریبی چهار میلیارد
Cycle در هر ثانیه دارد.

اما این به معنی اجرای دقیق چهار میلیارد
Instruction در هر ثانیه نیست.

چرا GHz بیشتر الزاماً به معنی CPU سریع تر نیست؟

فرض کنید دو پردازنده داریم:

CPU A = 4.0 GHz

CPU B = 4.5 GHz

در نگاه اول ممکن است CPU B سریع تر به نظر برسد.

اما اگر CPU A در هر Cycle بتواند کار مفید بیشتری انجام دهد،
ممکن است با وجود Clock کمتر Performance بیشتری داشته باشد.

اینجاست که مفهوم IPC اهمیت پیدا می کند.


یادآوری — IPC چیست؟

IPC مخفف
Instructions Per Cycle
است.

به زبان ساده، IPC نشان می دهد معماری CPU
در هر چرخه کلاک چه مقدار کار دستورالعملی
می تواند انجام دهد؛ البته مقدار واقعی آن
به نوع Workload نیز وابسته است.

بنابراین برای مقایسه دو معماری متفاوت،
Clock به تنهایی کافی نیست.

Engineering Insight — مدل ساده Performance

برای فهم اولیه می توان رابطه Performance
یک Core را به شکل بسیار ساده این طور تصور کرد:

Performance ≈ Clock Frequency × Work per Clock

بخش دوم این رابطه تحت تاثیر IPC،
معماری و نوع Workload قرار دارد.

این یک مدل آموزشی است و معادله کامل Performance
پردازنده های مدرن محسوب نمی شود.

مثال: چرا CPU جدید با GHz کمتر می تواند سریع تر باشد؟

فرض کنید یک CPU قدیمی با فرکانس 4.0GHz
و یک CPU جدید با فرکانس 3.8GHz داریم.

CPU جدید ممکن است:

  • Front-End قوی تری داشته باشد.
  • Branch Prediction دقیق تری داشته باشد.
  • Execution Units بیشتری داشته باشد.
  • Cache سریع تر یا بزرگ تری داشته باشد.
  • Memory Subsystem بهتری داشته باشد.
  • IPC بیشتری ارائه کند.

در نتیجه ممکن است با وجود Clock کمتر،
Workload را سریع تر تمام کند.


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

CPU Front-End یا
«بخش جلویی پردازنده» بخشی از معماری CPU است
که وظیفه آماده کردن Instructionها برای مراحل
اجرایی بعدی را بر عهده دارد.

این بخش می تواند شامل Fetch،
Decode و سازوکارهای پیش بینی مسیر اجرای برنامه باشد.

اگر Front-End نتواند دستور کافی در اختیار
بخش های اجرایی قرار دهد، بخشی از توان CPU
بلااستفاده می ماند.


Fetch چیست؟

Instruction Fetch یا
«واکشی دستور» مرحله ای است که CPU
دستورهای مورد نیاز برای اجرا را از مسیر حافظه
و Cache دریافت می کند.

به زبان ساده، CPU ابتدا باید بداند
دستور بعدی کجاست و آن را برای پردازش دریافت کند.


Decode در CPU چیست؟

Instruction Decode یا
«رمزگشایی دستور» مرحله ای است که CPU
دستور دریافت شده را تحلیل می کند تا مشخص شود
چه عملیات داخلی باید برای اجرای آن انجام شود.

این Decode با Decode ویدئو یک مفهوم نیست؛
هر دو از واژه Decode استفاده می کنند
اما زمینه و وظیفه آنها متفاوت است.

Base Clock چیست؟

اصطلاح Base Clock
بسته به معماری و نحوه اعلام مشخصات توسط سازنده
باید با دقت تفسیر شود.

به طور ساده، این عدد معمولاً یک فرکانس مرجع
برای رفتار پردازنده در محدوده های تعریف شده توان
و شرایط مشخص است.

Base Clock را نباید این طور تفسیر کرد که
CPU همیشه دقیقاً روی همین فرکانس کار می کند.

CPU مدرن می تواند Clock خود را به صورت پویا
و در بازه های بسیار کوتاه تغییر دهد.

Boost Clock چیست؟


Boost Clock — فرکانس افزایشی پردازنده

Boost Clock به فرکانس بالاتری
گفته می شود که CPU در صورت فراهم بودن شرایط
می تواند برای افزایش Performance به آن برسد.

رسیدن به Boost به عوامل مختلفی وابسته است:

  • تعداد Coreهای فعال.
  • نوع Workload.
  • دمای CPU.
  • Power Limit.
  • Voltage.
  • Firmware.
  • طراحی لپ تاپ یا مادربرد.

Turbo چیست؟

Turbo نامی عمومی برای سازوکارهایی است
که CPU با استفاده از ظرفیت حرارتی و توان موجود،
فرکانس خود را بالاتر از سطح پایه افزایش می دهد.

شرکت ها ممکن است برای فناوری های Boost خود
نام های تجاری متفاوتی استفاده کنند.

نکته مهم این است که Turbo یک فرکانس ثابت و دائمی نیست.

Common Mistake — Max Turbo یعنی همه Coreها همیشه روی این فرکانس هستند

خیر.

عدد Max Turbo یا Maximum Boost معمولاً
بیشترین فرکانسی است که تحت شرایط مشخص
برای Core یا Coreهای واجد شرایط ممکن است حاصل شود.

این عدد الزاماً All-Core Frequency نیست
و تضمین نمی کند CPU در Load طولانی
آن فرکانس را حفظ کند.


All-Core Frequency چیست؟

All-Core Frequency
یا «فرکانس هنگام درگیری گسترده هسته ها»
به Clock هسته ها در شرایطی اشاره دارد
که تعداد زیادی از Coreها همزمان زیر Load هستند.

این فرکانس معمولاً می تواند با Maximum Boost
یک Core تفاوت داشته باشد، زیرا درگیری هسته های بیشتر
مصرف انرژی و گرمای بیشتری ایجاد می کند.

تفاوت Single-Core Boost و All-Core Load

شرایط تعداد Core درگیر رفتار معمول Clock
کار سبک کم امکان Boost بالا روی Coreهای محدود
Single-Core Benchmark یک یا چند Core محدود فرکانس بالا ممکن است حفظ شود
Multi-Core Benchmark بسیاری از Coreها Clock به Power و Cooling وابسته تر می شود
Rendering طولانی بسیاری از Coreها Sustained Clock اهمیت بیشتری دارد

Effective Clock چیست؟


Effective Clock — فرکانس موثر

Effective Clock یا «فرکانس موثر»
تلاشی برای نشان دادن Clockی است که واقعاً
در انجام کار مفید طی یک بازه زمانی نقش داشته است.

ممکن است نرم افزار Monitoring عدد Clock بالایی نشان دهد،
اما Core بخشی از زمان در حالت انتظار، Sleep
یا بدون انجام کار مفید باشد.

به همین دلیل در بعضی ابزارهای مانیتورینگ،
Effective Clock می تواند برای تحلیل رفتار واقعی CPU
مفیدتر از نگاه کردن صرف به Peak Clock باشد.


Monitoring یعنی چه؟

Monitoring یا «پایش»
یعنی مشاهده و ثبت رفتار سیستم هنگام کار.

برای CPU می توان مواردی مانند:

Clock
/
Temperature
/
Power
/
Voltage
/
Usage

را هنگام اجرای Workload بررسی کرد.

Voltage یا ولتاژ CPU چیست؟

Voltage یا «ولتاژ»
اختلاف پتانسیل الکتریکی است که برای کار مدارهای
الکترونیکی پردازنده اهمیت دارد.

در CPUهای مدرن Voltage ثابت نیست
و سیستم مدیریت توان می تواند آن را
بر اساس Clock، Load و شرایط کاری تغییر دهد.

رابطه Voltage و Frequency

افزایش Frequency معمولاً می تواند به
Voltage بیشتری برای حفظ پایداری نیاز داشته باشد.

اما افزایش Voltage هزینه دارد:

Higher Voltage
→
Higher Power
→
More Heat

به همین دلیل افزایش Clock در محدوده های بالا
می تواند از نظر مصرف انرژی بسیار پرهزینه شود.

Under the Hood — چرا Voltage روی مصرف انرژی بسیار مهم است؟

در یک مدل ساده از توان دینامیکی مدار CMOS،
رابطه تقریبی زیر استفاده می شود:

P ≈ C × V² × f

در این رابطه:

P = Power

C = Effective Capacitance

V = Voltage

f = Frequency

نکته مهم وجود توان دوم Voltage است.

یعنی افزایش ولتاژ می تواند
اثر قابل توجهی روی توان مصرفی دینامیکی داشته باشد.

این رابطه یک مدل ساده آموزشی است و
تمام مصرف واقعی CPU را توصیف نمی کند؛
Leakage و بخش های دیگر نیز وجود دارند.


CMOS چیست؟

CMOS مخفف
Complementary Metal-Oxide-Semiconductor
است.

CMOS یکی از پایه های اصلی ساخت مدارهای دیجیتال
مدرن از جمله پردازنده ها است.

در این فصل نیازی به ورود عمیق به فیزیک CMOS نداریم؛
فعلاً مهم است بدانیم مصرف انرژی ترانزیستورها
با Voltage و Frequency ارتباط دارد.


Capacitance در این رابطه چیست؟

Capacitance یا «ظرفیت خازنی»
ویژگی الکتریکی مدار است که به توانایی ذخیره بار
الکتریکی مربوط می شود.

در مدل ساده مصرف دینامیکی CPU،
تغییر وضعیت تعداد بسیار زیادی از ترانزیستورها
مستلزم شارژ و تخلیه ظرفیت های الکتریکی داخلی است.


Leakage چیست؟

Leakage Current یا
«جریان نشتی» به جریان الکتریکی ناخواسته ای گفته می شود
که حتی در شرایطی که یک ترانزیستور قرار نیست
جریان اصلی را عبور دهد، می تواند وجود داشته باشد.

Leakage یکی از دلایلی است که مصرف واقعی CPU
فقط با رابطه ساده
C × V² × f
توضیح داده نمی شود.

CPU چگونه Clock و Voltage را دائماً تغییر می دهد؟


DVFS چیست؟

DVFS مخفف
Dynamic Voltage and Frequency Scaling
است.

معادل مفهومی آن
«تنظیم پویا و لحظه ای ولتاژ و فرکانس» است.

CPU می تواند بر اساس میزان Load،
دما، Power Budget و سایر شرایط،
Clock و Voltage خود را افزایش یا کاهش دهد.

هدف این است که هنگام نیاز Performance بالا
و هنگام بیکاری مصرف انرژی کمتر شود.


Power Budget چیست؟

Power Budget یا «بودجه توان»
یعنی مقدار توانی که در یک شرایط مشخص
می تواند میان بخش های مختلف تراشه مصرف شود.

CPU باید Performance را در محدوده
توان، دما و محدودیت های طراحی مدیریت کند.


Idle چیست؟

Idle یا «حالت کم کاری»
زمانی است که CPU کار سنگینی برای انجام دادن ندارد.

در این حالت پردازنده می تواند Clock،
Voltage و فعالیت بخش هایی از تراشه را کاهش دهد
تا مصرف انرژی کمتر شود.


C-State چیست؟

C-State به مجموعه ای از
حالت های کم مصرف CPU گفته می شود.

در C-Stateهای عمیق تر، بخش های بیشتری از Core
می توانند غیرفعال یا کم مصرف شوند.

این موضوع به کاهش مصرف انرژی در زمان بیکاری
کمک می کند.


P-State چیست؟

P-State یا «حالت عملکرد»
به سطوح مختلف عملکرد و مصرف CPU در حالت فعال
اشاره دارد.

سیستم می تواند بسته به نیاز،
میان حالت های مختلف Performance حرکت کند.

C-State بیشتر با میزان فعالیت یا خواب Core مرتبط است،
در حالی که P-State بیشتر به سطح Performance
هنگام فعالیت مربوط می شود.

وقتی یک برنامه سنگین باز می کنیم چه اتفاقی می افتد؟

01
IdleCPU در حالت کم مصرف قرار دارد.
02
Load Arrivesبرنامه درخواست پردازش ایجاد می کند.
03
Frequency IncreaseClock هسته های مورد نیاز افزایش می یابد.
04
Voltage AdjustmentVoltage متناسب با شرایط تنظیم می شود.
05
BoostCPU در صورت وجود حاشیه توان و حرارت Boost می کند.
06
Temperature Risesبا ادامه Load دما افزایش می یابد.
07
Steady Stateسیستم به وضعیت نسبتاً پایدار Clock، Power و Temperature می رسد.


Steady State چیست؟

Steady State را می توان
«وضعیت پایدار کاری» نامید.

در یک Load طولانی، پس از گذشت زمان،
دما، Clock و Power معمولاً به محدوده ای
نسبتاً پایدار می رسند.

برای Workloadهای طولانی، Performance در این مرحله
از Peak Performance چند ثانیه اول مهم تر است.


Peak Performance چیست؟

Peak Performance
یا «حداکثر عملکرد لحظه ای»
بیشترین Performance قابل دستیابی
در شرایط مناسب و معمولاً برای بازه محدود است.

Peak Performance را نباید با Performance پایدار
در کار طولانی اشتباه گرفت.

Burst Performance و Sustained Performance

نوع معنی نمونه کاربرد
Burst Performance عملکرد بالا در مدت کوتاه باز کردن برنامه، عملیات کوتاه
Sustained Performance عملکرد قابل حفظ در زمان طولانی Rendering، Encoding، Compilation طولانی

چرا Clock یک CPU در دو لپ تاپ متفاوت است؟

حتی اگر دو لپ تاپ CPU یکسان داشته باشند،
رفتار Clock آنها می تواند متفاوت باشد.

دلیل این اختلاف می تواند شامل موارد زیر باشد:

  • Cooling متفاوت.
  • Power Limit متفاوت.
  • Firmware متفاوت.
  • BIOS متفاوت.
  • Power Profile متفاوت.
  • دمای محیط.
  • کیفیت تماس Heatsink با CPU.
  • وضعیت Thermal Paste.
  • آداپتور برق.


Heatsink چیست؟

Heatsink یا «گرماگیر»
قطعه ای است که حرارت تولید شده توسط CPU یا GPU
را دریافت کرده و به سطح بزرگ تری برای دفع گرما منتقل می کند.

در لپ تاپ، Heatsink معمولاً همراه با Heat Pipe،
Vapor Chamber یا فن کار می کند.


Thermal Paste چیست؟

Thermal Paste یا «خمیر حرارتی»
ماده ای است که میان سطح تراشه یا Heat Spreader
و سیستم خنک کننده قرار می گیرد.

وظیفه آن پر کردن ناهمواری های بسیار ریز
میان دو سطح و بهبود انتقال حرارت است.

وضعیت نامناسب خمیر حرارتی می تواند
دمای CPU را افزایش دهد و Performance پایدار را کاهش دهد.


Heat Pipe چیست؟

Heat Pipe یا «لوله انتقال حرارت»
وسیله ای برای انتقال سریع گرما
از CPU یا GPU به بخش خنک کننده است.

Heat Pipe از تغییر فاز سیال داخلی
برای انتقال موثر حرارت استفاده می کند.


Vapor Chamber چیست؟

Vapor Chamber یا
«محفظه بخار» نوعی سیستم انتقال و پخش حرارت است
که از اصولی مشابه Heat Pipe استفاده می کند،
اما می تواند گرما را در سطح وسیع تری پخش کند.

Clock در لپ تاپ استوک چرا اهمیت ویژه دارد؟

در لپ تاپ استوک فقط نباید بررسی کنیم
CPU روی کاغذ چه Boost Clockی دارد.

مهم تر این است که دستگاه واقعی
چه Clockی را زیر Load حفظ می کند.

اگر Cooling دستگاه دچار مشکل باشد،
CPU ممکن است به Maximum Boost برسد
اما نتواند Performance خود را حفظ کند.

Engineering Insight — بررسی Clock می تواند سلامت عملکرد لپ تاپ استوک را آشکار کند

هنگام Benchmark یک لپ تاپ استوک بهتر است
فقط Score نهایی ثبت نشود.

همزمان موارد زیر نیز بررسی شوند:

Effective Clock
/
Temperature
/
CPU Package Power
/
Thermal Throttling
/
Benchmark Score

ترکیب این اطلاعات می تواند مشخص کند
دستگاه فقط امتیاز پایین گرفته یا واقعاً
مشکل حرارتی یا محدودیت غیرعادی دارد.


CPU Package Power چیست؟

CPU Package Power
تخمینی از توان مصرفی مجموعه Package پردازنده است.

Package فقط Coreها نیست و می تواند
بخش های دیگری از تراشه را نیز شامل شود.

این عدد برای تحلیل رابطه Power،
Clock، Temperature و Performance مفید است.

Overclock چیست؟


Overclocking — افزایش فرکانس فراتر از تنظیم استاندارد

Overclocking به تغییر تنظیمات
سخت افزار برای دستیابی به Clock بالاتر
از تنظیمات استاندارد تعریف شده گفته می شود.

Overclock می تواند Performance را افزایش دهد،
اما ممکن است مصرف انرژی، دما و نیاز به Cooling
را نیز افزایش دهد.

همه CPUها و لپ تاپ ها امکان Overclock ندارند.

Undervolt چیست؟


Undervolting — کاهش ولتاژ کاری

Undervolting به کاهش Voltage
نسبت به تنظیمات معمول با هدف کاهش مصرف انرژی
و حرارت گفته می شود.

اگر CPU با Voltage کمتر همچنان پایدار بماند،
ممکن است دما و Power کاهش پیدا کند.

در بعضی شرایط این کاهش حرارت حتی می تواند
به حفظ Boost بهتر کمک کند.

اما Undervolt بیش از حد می تواند باعث
ناپایداری، Crash یا خطای محاسباتی شود.


Stability چیست؟

Stability یا «پایداری»
یعنی سیستم بتواند Workload مورد نظر را
بدون Crash، Freeze، خطای محاسباتی یا رفتار غیرعادی اجرا کند.

بالا آمدن ویندوز به تنهایی اثبات پایداری CPU نیست.

روش صحیح مقایسه Clock دو CPU

01
Architectureابتدا معماری دو CPU را مشخص کنید.
02
Generationنسل و طراحی واقعی را بررسی کنید.
03
IPCClock را بدون توجه به کار انجام شده در هر Cycle مقایسه نکنید.
04
Boost Behaviorبررسی کنید Boost تحت چه شرایطی حاصل می شود.
05
All-Coreرفتار CPU زیر Load چند هسته ای را بررسی کنید.
06
Sustained ClockClock قابل حفظ در کار طولانی را بررسی کنید.
07
Powerتوان مصرفی لازم برای دستیابی به Performance را بررسی کنید.
08
Temperatureمطمئن شوید محدودیت حرارتی نتیجه را تغییر نداده است.
09
BenchmarkPerformance واقعی را با تست مرتبط بررسی کنید.

Common Mistakes — اشتباهات رایج درباره GHz و Clock
  • فرض اینکه GHz بیشتر همیشه یعنی CPU سریع تر.
  • مقایسه Clock میان معماری های مختلف بدون توجه به IPC.
  • تصور اینکه یک Cycle برابر یک Instruction است.
  • فرض اینکه Max Boost روی همه Coreها اعمال می شود.
  • فرض اینکه CPU دائماً روی Boost Clock کار می کند.
  • نادیده گرفتن All-Core Frequency.
  • نادیده گرفتن Effective Clock.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Voltage.
  • نادیده گرفتن Cooling.
  • مقایسه Peak Performance با Sustained Performance.
  • فرض اینکه CPU یکسان در تمام لپ تاپ ها Clock یکسانی دارد.
  • Overclock بدون بررسی Temperature و Stability.
  • Undervolt بدون تست پایداری.

سوالات متداول فرکانس و GHz پردازنده

GHz در CPU یعنی چه؟

GHz واحد اندازه گیری Frequency است.
یک GHz برابر یک میلیارد Clock Cycle در هر ثانیه است.

آیا GHz بیشتر یعنی CPU سریع تر است؟

الزاماً خیر. معماری، IPC، Cache، تعداد Core،
Power و Workload نیز باید بررسی شوند.

Clock Cycle چیست؟

یک دوره کامل از سیگنال زمان بندی CPU است.
یک Cycle الزاماً برابر اجرای یک Instruction نیست.

Base Clock چیست؟

فرکانس مرجعی است که باید در چارچوب مشخصات
همان پردازنده و سازنده تفسیر شود و به معنی
Clock ثابت دائمی CPU نیست.

Boost Clock چیست؟

فرکانس بالاتری است که CPU در صورت وجود شرایط
مناسب توان، دما و Load می تواند به آن برسد.

آیا CPU همیشه روی Maximum Boost کار می کند؟

خیر. Maximum Boost به شرایط مختلف وابسته است
و ممکن است فقط روی تعداد محدودی Core حاصل شود.

All-Core Frequency چیست؟

Clock هسته ها زمانی است که تعداد زیادی از Coreها
همزمان زیر Load قرار گرفته اند.

Effective Clock چیست؟

معیاری برای بررسی Clock موثر در انجام کار
طی یک بازه زمانی است و می تواند رفتار واقعی
Core را بهتر نشان دهد.

چرا CPU یکسان در دو لپ تاپ سرعت متفاوتی دارد؟

Cooling، Power Limit، BIOS، Firmware،
Power Profile و طراحی دستگاه می توانند
رفتار Boost و Clock را تغییر دهند.

Voltage بیشتر CPU را سریع تر می کند؟

Voltage بیشتر به خودی خود Performance ایجاد نمی کند.
در بعضی شرایط برای حفظ Clock بالاتر لازم است،
اما مصرف و حرارت را نیز افزایش می دهد.

DVFS چیست؟

فناوری تنظیم پویا و لحظه ای Voltage و Frequency
بر اساس Load، Power و Temperature است.

Overclock چیست؟

افزایش Clock فراتر از تنظیمات استاندارد
با هدف دستیابی به Performance بیشتر است.

Undervolt چیست؟

کاهش Voltage کاری با هدف کاهش Power و Heat است،
به شرط اینکه سیستم همچنان پایدار باقی بماند.

برای لپ تاپ استوک Base Clock مهم تر است یا Boost؟

هیچ کدام به تنهایی کافی نیستند.
رفتار واقعی Clock زیر Workload و Performance پایدار
دستگاه اهمیت بیشتری دارد.

برای مقایسه دو CPU فقط GHz را بررسی کنیم؟

خیر. Benchmark مرتبط، IPC، معماری، تعداد Core،
Power، Temperature و Sustained Performance
نیز باید بررسی شوند.

اصطلاحات جدید این فصل

  • Clock: سیگنال زمان بندی عملیات CPU.
  • Clock Cycle: یک دوره کامل سیگنال Clock.
  • Frequency: تعداد Cycleها در واحد زمان.
  • GHz: یک میلیارد Cycle در هر ثانیه.
  • Base Clock: فرکانس مرجع پردازنده در چارچوب تعریف سازنده.
  • Boost Clock: فرکانس بالاتر قابل دستیابی در شرایط مناسب.
  • Turbo: سازوکار افزایش پویا Performance و Clock.
  • All-Core Frequency: Clock هنگام درگیری گسترده Coreها.
  • Effective Clock: فرکانس موثر در انجام کار واقعی.
  • Monitoring: پایش رفتار سخت افزار هنگام کار.
  • Voltage: اختلاف پتانسیل الکتریکی مدار.
  • CMOS: فناوری پایه ساخت بسیاری از مدارهای دیجیتال مدرن.
  • Capacitance: ظرفیت خازنی مدار.
  • Leakage: جریان نشتی در مدارهای ترانزیستوری.
  • DVFS: تنظیم پویا Voltage و Frequency.
  • Power Budget: بودجه توان قابل استفاده.
  • Idle: حالت کم کاری CPU.
  • C-State: حالت های مختلف کم مصرف CPU.
  • P-State: سطوح مختلف Performance در حالت فعال.
  • Steady State: وضعیت نسبتاً پایدار در Load طولانی.
  • Peak Performance: بیشترین عملکرد لحظه ای.
  • Heatsink: قطعه جذب و دفع حرارت.
  • Thermal Paste: ماده واسط برای بهبود انتقال حرارت.
  • Heat Pipe: لوله انتقال حرارت.
  • Vapor Chamber: محفظه انتقال و پخش حرارت.
  • CPU Package Power: توان مصرفی مجموعه Package پردازنده.
  • Overclocking: افزایش Clock فراتر از تنظیم استاندارد.
  • Undervolting: کاهش Voltage کاری.
  • Stability: اجرای پایدار و بدون خطای Workload.

خلاصه فصل

GHz تعداد Clock Cycleهای CPU در هر ثانیه را بیان می کند،
اما قدرت واقعی پردازنده فقط به Frequency وابسته نیست.

برای تحلیل Performance باید رابطه میان:

Architecture
+
IPC
+
Frequency
+
Core Count
+
Power
+
Voltage
+
Temperature
+
Workload

بررسی شود.

در لپ تاپ نیز عدد Maximum Boost روی صفحه مشخصات
به تنهایی کافی نیست؛ مهم است CPU در دستگاه واقعی
چه Performance و Clockی را می تواند حفظ کند.


فصل 27
سطح: پایه تا پیشرفته
پیش نیاز: Clock، Boost، Voltage و Cooling
موضوع: توان، TDP، دما و محدودیت های CPU


قدرت واقعی CPU فقط روی برگه مشخصات تعیین نمی شود

توان و دمای CPU؛ TDP، Power Limit، PL1، PL2، PPT و Thermal Throttling چیست؟

پردازنده برای تولید Performance به انرژی الکتریکی نیاز دارد
و بخش مهمی از این انرژی در نهایت به گرما تبدیل می شود.
بنابراین توان، دما، سیستم خنک کننده و فرکانس پردازنده
ارتباط مستقیمی با رفتار واقعی CPU دارند.

به همین دلیل ممکن است دو لپ تاپ با CPU یکسان،
در Benchmark یا Rendering طولانی عملکرد متفاوتی داشته باشند.
یکی ممکن است توان بیشتری در اختیار CPU قرار دهد و Cooling قوی تری داشته باشد،
در حالی که دستگاه دیگر برای کنترل دما یا مصرف انرژی
پردازنده را محدود کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Power در CPU چیست.
  • Watt یا وات چه چیزی را اندازه گیری می کند.
  • Energy و Power چه تفاوتی دارند.
  • TDP چیست و چه چیزی نیست.
  • چرا TDP را نباید مستقیماً مصرف واقعی CPU دانست.
  • Processor Base Power و Maximum Turbo Power چیست.
  • PL1 و PL2 در پردازنده های Intel چه مفهومی دارند.
  • Tau چیست.
  • PPT، TDC و EDC در پلتفرم AMD چه مفهومی دارند.
  • Temperature و Junction Temperature چیست.
  • TJmax چیست.
  • Thermal Throttling چیست.
  • Power Throttling چیست.
  • Current Limit چیست.
  • چرا CPU یکسان در دو لپ تاپ عملکرد یکسانی ندارد.
  • چگونه وضعیت حرارتی لپ تاپ استوک را بررسی کنیم.

Power یا توان CPU چیست؟


Power — توان

Power یا «توان»
نرخ مصرف یا انتقال انرژی در واحد زمان است.

واحد رایج اندازه گیری توان:

Watt = W

وقتی می گوییم CPU در یک شرایط مشخص
مثلاً 30 وات توان مصرف می کند،
درباره نرخ مصرف انرژی در آن لحظه صحبت می کنیم.


Watt یا وات چیست؟

Watt واحد اندازه گیری Power است.

1 Watt = 1 Joule / Second

یعنی یک وات برابر انتقال یا مصرف
یک ژول انرژی در هر ثانیه است.


Energy و Power چه تفاوتی دارند؟

Energy یعنی «انرژی»،
در حالی که Power یعنی «نرخ مصرف یا انتقال انرژی».

برای مثال، Watt واحد Power است؛
اما Watt-hour یا Wh واحد Energy است.

این تفاوت هنگام بررسی باتری لپ تاپ بسیار مهم است.


Wh یا Watt-hour چیست؟

Watt-hour یا «وات ساعت»
واحدی برای اندازه گیری مقدار انرژی است.

برای مثال باتری 60Wh در حالت ایده آل
می تواند معادل 60 وات برای یک ساعت
یا 30 وات برای دو ساعت انرژی تامین کند.

در دنیای واقعی، بازده مدارها،
رفتار CPU، نمایشگر، GPU و سایر اجزا
روی زمان واقعی باتری اثر می گذارند.

رابطه مصرف انرژی و گرما چیست؟

CPU هنگام کار انرژی الکتریکی مصرف می کند.
بخش بسیار بزرگی از این انرژی در نهایت
به حرارت تبدیل می شود.

هرچه CPU برای مدت طولانی توان بیشتری مصرف کند،
سیستم Cooling معمولاً باید گرمای بیشتری را دفع کند.

اما یک نکته بسیار مهم وجود دارد:

Engineering Insight — Watt و Temperature یک چیز نیستند

توان مصرفی و دمای CPU به هم مرتبط هستند،
اما یک مفهوم نیستند.

ممکن است دو CPU هر دو 45W مصرف کنند
ولی Temperature متفاوتی داشته باشند.

دلیل می تواند تفاوت در:

Die Size
/
Heat Density
/
Cooling
/
Thermal Interface
/
Ambient Temperature

باشد.


Die چیست؟

Die یا «دای»
قطعه فیزیکی نیمه رسانایی است که مدارهای
پردازنده روی آن ساخته شده اند.

در یک Package ممکن است یک یا چند Die
یا Chiplet وجود داشته باشد.


Heat Density چیست؟

Heat Density یا «چگالی حرارتی»
به مقدار گرمای تولید شده در یک سطح یا حجم محدود اشاره دارد.

اگر مقدار زیادی توان در سطح بسیار کوچکی مصرف شود،
انتقال حرارت از تراشه به سیستم Cooling دشوارتر می شود.

به همین دلیل یک تراشه کوچک می تواند
با وجود مصرف نه چندان بالا دمای زیادی داشته باشد.

TDP چیست؟


TDP — Thermal Design Power

TDP مخفف
Thermal Design Power
است.

ترجمه مفهومی آن را می توان
«توان طراحی حرارتی» دانست.

TDP اساساً شاخصی مرتبط با طراحی و نیاز حرارتی
پردازنده در چارچوب تعریف سازنده است.

اما تعریف دقیق و نحوه استفاده از TDP
میان شرکت ها، نسل ها و محصولات مختلف
می تواند متفاوت باشد.

Common Mistake — TDP همان مصرف واقعی CPU است

این برداشت دقیق نیست.

یک CPU با TDP اسمی مشخص ممکن است
تحت بعضی Workloadها و حالت های Boost
توان متفاوتی مصرف کند.

بنابراین نباید صرفاً از روی عدد TDP نتیجه گرفت
که CPU در تمام شرایط دقیقاً همان مقدار Watt مصرف می کند.

آیا می توان TDP پردازنده های مختلف را مستقیم مقایسه کرد؟

باید با احتیاط این کار را انجام داد.

به ویژه هنگام مقایسه محصولات Intel و AMD
یا نسل های متفاوت، باید ابتدا تعریف رسمی
همان شاخص را بررسی کرد.

دو عدد مشابه روی برگه مشخصات الزاماً
رفتار توان یکسانی در Workload واقعی ندارند.

محدودیت توان در پردازنده های Intel

در نسل های مختلف Intel اصطلاحات متفاوتی
برای توصیف رفتار توان دیده می شود.

در منابع فنی ممکن است با موارد زیر روبه رو شوید:

TDP
/
PL1
/
PL2
/
Tau
/
Processor Base Power
/
Maximum Turbo Power

این اصطلاحات را نباید بدون توجه به نسل CPU
با یکدیگر جایگزین کرد.


Processor Base Power چیست؟

Processor Base Power
یا به اختصار PBP اصطلاحی است که Intel
در مشخصات برخی نسل های جدید پردازنده استفاده می کند.

این عدد یک مشخصه توان پایه در چارچوب تعریف Intel است
و نباید آن را حداکثر مصرف CPU در تمام شرایط دانست.


Maximum Turbo Power چیست؟

Maximum Turbo Power
یا MTP به سطح توان بالاتری اشاره دارد
که پردازنده در شرایط Turbo و در محدوده تعریف شده
می تواند به آن نزدیک شود.

این مقدار با Processor Base Power یکسان نیست.


PL1 چیست؟

PL1 مخفف
Power Limit 1
است.

در مدل سنتی مدیریت توان Intel،
PL1 به محدودیت توان مرتبط با رفتار
طولانی تر پردازنده اشاره می کرد.

نحوه اعمال آن می تواند به نسل،
Firmware و طراحی دستگاه وابسته باشد.


PL2 چیست؟

PL2 مخفف
Power Limit 2
است.

PL2 معمولاً به سطح توان بالاتر
برای Boost کوتاه مدت مرتبط است.

این امکان به CPU اجازه می دهد
برای مدت مشخصی Performance بیشتری ارائه کند،
مشروط بر اینکه سایر محدودیت ها اجازه دهند.


Tau چیست؟

Tau پارامتری زمانی در مدل های
سنتی مدیریت توان Intel است.

به زبان ساده، به پنجره زمانی مرتبط با
نحوه ارزیابی و مدیریت توان Turbo مربوط می شود.

Tau را نباید صرفاً به صورت
«CPU دقیقاً برای X ثانیه روی PL2 می ماند»
تفسیر کرد؛ رفتار واقعی پیچیده تر است.

01
Light LoadCPU توان کمی مصرف می کند.
02
Heavy LoadWorkload سنگین شروع می شود.
03
TurboCPU در صورت امکان Clock و Power را افزایش می دهد.
04
High Power Stateپردازنده ممکن است مدتی در سطح توان بالاتر کار کند.
05
Temperature Risesدمای CPU و سیستم Cooling افزایش پیدا می کند.
06
Limit Managementکنترلرها توان، دما و جریان را مدیریت می کنند.
07
Sustained Stateسیستم به سطح عملکرد قابل حفظ نزدیک می شود.

محدودیت توان در پردازنده های AMD

در اکوسیستم AMD نیز علاوه بر TDP
اصطلاحات دیگری برای محدودیت توان و جریان وجود دارند.

از جمله:

PPT
/
TDC
/
EDC

کاربرد دقیق این پارامترها به خانواده پردازنده
و پلتفرم بستگی دارد.


PPT چیست؟

PPT مخفف
Package Power Tracking
است.

این پارامتر با محدودیت توان قابل استفاده
توسط Package پردازنده ارتباط دارد.

رسیدن CPU به PPT Limit می تواند مانع
افزایش بیشتر Power و در نتیجه Boost شود.


TDC چیست؟

TDC مخفف
Thermal Design Current
است.

این شاخص به محدودیت جریان الکتریکی
در شرایط حرارتی و بار پایدارتر مربوط می شود.


EDC چیست؟

EDC مخفف
Electrical Design Current
است.

این پارامتر بیشتر با محدودیت جریان
در بارهای کوتاه مدت و سنگین ارتباط دارد.


Current یا جریان الکتریکی چیست؟

Current یا «جریان الکتریکی»
نرخ عبور بار الکتریکی است.

واحد اندازه گیری آن Ampere یا «آمپر» است.

Power، Voltage و Current در مدار الکتریکی
با یکدیگر ارتباط دارند.

P = V × I

در این رابطه P توان، V ولتاژ
و I جریان است.

Temperature یا دمای CPU چیست؟

CPU دارای حسگرهای حرارتی داخلی است
که وضعیت دمای بخش های مختلف تراشه را پایش می کنند.

این اطلاعات توسط سیستم مدیریت توان
برای کنترل Clock، Voltage و رفتار حرارتی استفاده می شوند.


Junction Temperature چیست؟

Junction Temperature
یا «دمای پیوند» به دمای بخش فعال
نیمه رسانای تراشه اشاره دارد.

این دما با دمای سطح بدنه لپ تاپ
یا حتی دمای هوای خروجی فن یکسان نیست.


TJmax چیست؟

TJmax یا
Maximum Junction Temperature
به حداکثر دمای Junction تعریف شده
برای پردازنده مربوط است.

نزدیک شدن به این محدوده می تواند
باعث فعال شدن سازوکارهای حفاظتی
و کاهش Performance شود.

مقدار دقیق TJmax برای تمام CPUها یکسان نیست.

Thermal Throttling چیست؟


Thermal Throttling — محدودسازی عملکرد به دلیل دما

Thermal Throttling
زمانی رخ می دهد که سیستم برای جلوگیری
از عبور تراشه از محدوده حرارتی مجاز،
Performance را کاهش می دهد.

این کاهش می تواند از طریق تغییر:

Clock
/
Voltage
/
Power

انجام شود.

01
Heavy LoadCPU وارد بار پردازشی سنگین می شود.
02
Power Risesمصرف توان افزایش می یابد.
03
Heat Risesتولید گرما افزایش پیدا می کند.
04
Cooling Saturatesسیستم Cooling به محدوده ظرفیت خود نزدیک می شود.
05
Thermal LimitCPU به محدودیت حرارتی نزدیک می شود.
06
ThrottlingClock یا Power برای کنترل دما کاهش پیدا می کند.


Cooling Saturation یعنی چه؟

Cooling Saturation
یا «نزدیک شدن سیستم خنک کننده به ظرفیت دفع حرارت»
حالتی است که Cooling دیگر نمی تواند
افزایش بیشتر گرما را به همان خوبی کنترل کند.

در این شرایط دما می تواند سریع تر افزایش پیدا کند
یا CPU مجبور شود Power را کاهش دهد.

Power Throttling چیست؟

همیشه کاهش Clock به دلیل دما نیست.

CPU ممکن است هنوز از نظر Temperature
در وضعیت قابل قبول باشد،
اما به Power Limit تعریف شده برسد.

در این حالت کنترلر برای باقی ماندن
در محدوده توان، اجازه Boost بیشتر را نمی دهد
یا فرکانس را کاهش می دهد.

نوع محدودیت عامل اصلی نتیجه احتمالی
Thermal Limit دما کاهش Clock/Power
Power Limit محدودیت Watt محدود شدن Boost
Current Limit محدودیت جریان محدود شدن توان یا Clock
Voltage Limit محدودیت ولتاژ یا منحنی کاری محدود شدن Frequency


Current Limit چیست؟

Current Limit یا «محدودیت جریان»
سقفی برای مقدار جریان الکتریکی قابل استفاده
توسط پردازنده یا بخش مشخصی از آن است.

این محدودیت می تواند برای حفاظت از CPU،
مدار تغذیه و طراحی الکتریکی دستگاه اعمال شود.


VRM چیست؟

VRM مخفف
Voltage Regulator Module
است.

معادل مفهومی آن «مدار تنظیم ولتاژ» است.

VRM ولتاژ ورودی را به سطح مناسب
و کنترل شده برای CPU تبدیل می کند.

کیفیت و ظرفیت مدار تغذیه می تواند
در سیستم های پرمصرف روی پایداری
و توان قابل ارائه اثر بگذارد.

Thermal Resistance چیست؟


Thermal Resistance — مقاومت حرارتی

Thermal Resistance
یا «مقاومت حرارتی» معیاری برای بیان
میزان دشواری انتقال گرما میان دو نقطه است.

واحد رایج آن:

°C/W

هرچه مقاومت حرارتی کمتر باشد،
انتقال گرما برای مقدار مشخصی از Power
بهتر انجام می شود.

Under the Hood — مدل ساده افزایش دمای CPU

برای فهم اولیه می توان از یک مدل بسیار ساده استفاده کرد:

ΔT ≈ Power × Thermal Resistance

در این رابطه:

ΔT = Temperature Rise

Power = Heat Load

Thermal Resistance = °C/W

اگر CPU توان بیشتری تولید کند
یا مسیر انتقال حرارت مقاومت بیشتری داشته باشد،
اختلاف دمای تراشه با محیط می تواند افزایش پیدا کند.

سیستم واقعی پیچیده تر است و ظرفیت حرارتی،
رفتار فن، Heat Pipe، Vapor Chamber،
تغییر Power و عوامل دیگر نیز دخالت دارند.


Ambient Temperature چیست؟

Ambient Temperature
یا «دمای محیط» دمای هوای اطراف دستگاه است.

یک لپ تاپ در اتاق 20 درجه و همان لپ تاپ
در محیط 35 درجه شرایط حرارتی یکسانی ندارد.

به همین دلیل هنگام مقایسه تست های حرارتی
شرایط محیط نیز اهمیت دارد.


Thermal Capacity چیست؟

Thermal Capacity یا «ظرفیت حرارتی»
بیان می کند یک جسم برای تغییر دمای خود
چه مقدار انرژی حرارتی می تواند جذب کند.

جرم و طراحی سیستم Cooling می تواند باعث شود
یک لپ تاپ برای مدت کوتاهی توان بالایی را تحمل کند،
اما بعد از گرم شدن کامل سیستم،
Performance کاهش پیدا کند.

این یکی از دلایل تفاوت Burst Performance
و Sustained Performance است.

مثال: دو لپ تاپ با CPU یکسان

ویژگی لپ تاپ A لپ تاپ B
CPU یکسان یکسان
Cooling قوی محدود
Power Limit بالاتر پایین تر
Boost اولیه بالا بالا
Sustained Clock بالاتر پایین تر
Rendering طولانی سریع تر کندتر

Performance per Watt چیست؟


Performance per Watt — عملکرد به ازای توان مصرفی

Performance per Watt
معیاری برای بررسی مقدار Performance
نسبت به Power مصرف شده است.

یک CPU ممکن است سریع تر باشد،
اما برای دستیابی به آن سرعت
توان بسیار بیشتری مصرف کند.

در لپ تاپ، Performance per Watt اهمیت زیادی دارد
زیرا مستقیماً با Cooling، باتری،
صدای فن و طراحی دستگاه ارتباط پیدا می کند.


Efficiency چیست؟

Efficiency یا «بهره وری»
در این بحث به میزان کاری اشاره دارد
که سیستم در برابر منابع مصرف شده انجام می دهد.

Performance per Watt یکی از روش های
بررسی بهره وری انرژی است.

حالت های Performance لپ تاپ چه تاثیری دارند؟

بسیاری از لپ تاپ ها دارای حالت هایی مانند:

Silent
/
Balanced
/
Performance
/
Turbo

هستند.

این Profileها ممکن است Power Limit،
رفتار فن، Boost و حتی GPU Power
را تغییر دهند.


Performance Profile چیست؟

Performance Profile
یا «پروفایل عملکرد»
مجموعه ای از تنظیمات برای تعیین تعادل
میان Performance، مصرف انرژی، دما و صدای فن است.

بنابراین Benchmark دو لپ تاپ باید
در Profileهای قابل مقایسه انجام شود.

چرا بررسی حرارتی در لپ تاپ استوک حیاتی است؟

لپ تاپ استوک ممکن است چند سال کار کرده باشد.
بنابراین وضعیت سیستم Cooling باید
جدا از مشخصات CPU بررسی شود.

مواردی مانند گردوغبار، فن ضعیف،
Thermal Paste نامناسب یا نصب نادرست Heatsink
می توانند Performance واقعی دستگاه را کاهش دهند.

چک لیست بررسی CPU در لپ تاپ استوک

  • دمای Idle بررسی شود.
  • دمای CPU زیر Load بررسی شود.
  • Clock اولیه ثبت شود.
  • Sustained Clock پس از چند دقیقه بررسی شود.
  • CPU Package Power ثبت شود.
  • Thermal Throttling بررسی شود.
  • Power Limit Throttling بررسی شود.
  • سرعت و رفتار فن بررسی شود.
  • Benchmark Score با نمونه های طبیعی همان مدل مقایسه شود.
  • تست کوتاه و تست طولانی با یکدیگر مقایسه شوند.


Idle Temperature چیست؟

Idle Temperature
دمای CPU در زمانی است که پردازنده
Workload سنگینی اجرا نمی کند.

این عدد به تنهایی معیار سلامت Cooling نیست؛
دمای محیط، Background Process،
Fan Profile و طراحی دستگاه نیز اثر دارند.


Background Process چیست؟

Background Process
یا «فرایند پس زمینه»
برنامه یا سرویسی است که بدون حضور مستقیم
در جلوی صفحه می تواند از CPU استفاده کند.

Update، Antivirus، Indexing یا Sync
می توانند باعث شوند CPU هنگام تست
واقعاً در حالت Idle نباشد.


Stress Test چیست؟

Stress Test یا «آزمون فشار»
تستی است که سخت افزار را برای بررسی
پایداری، دما یا Cooling زیر بار سنگین قرار می دهد.

Stress Test الزاماً نماینده استفاده روزمره نیست.

هدف آن بررسی رفتار دستگاه
در شرایط بار بالا و کنترل شده است.


Soak Test چیست؟

Soak Test در این زمینه
به اجرای Load برای مدت طولانی تر گفته می شود
تا سیستم Cooling کاملاً گرم شود
و رفتار پایدار دستگاه مشخص شود.

یک تست 30 ثانیه ای ممکن است مشکل Cooling
را نشان ندهد، در حالی که تست طولانی تر
افت Clock را آشکار کند.

Performance Impact — توان بیشتر همیشه Performance متناسب ایجاد نمی کند

افزایش Power می تواند به CPU اجازه دهد
Clock بیشتری حفظ کند،
اما رابطه Power و Performance خطی نیست.

برای مثال ممکن است افزایش قابل توجه Power
فقط مقدار محدودی Performance اضافه کند.

این همان جایی است که Efficiency
و Diminishing Returns اهمیت پیدا می کنند.

Common Mistakes — اشتباهات رایج درباره توان و دمای CPU
  • یکی دانستن TDP و مصرف واقعی CPU.
  • مقایسه مستقیم TDP دو معماری بدون بررسی تعریف سازنده.
  • فرض اینکه Watt بیشتر همیشه Performance بیشتری می دهد.
  • فرض اینکه دمای بیشتر همیشه یعنی مصرف بیشتر.
  • نگران شدن صرفاً با دیدن یک Peak Temperature کوتاه.
  • نادیده گرفتن Ambient Temperature.
  • نادیده گرفتن Power Limit.
  • اشتباه گرفتن Power Throttling با Thermal Throttling.
  • فرض اینکه CPU یکسان در دو لپ تاپ Performance یکسان دارد.
  • بررسی فقط Benchmark کوتاه برای لپ تاپ.
  • نادیده گرفتن Sustained Performance.
  • مقایسه لپ تاپ ها در Performance Profileهای متفاوت.
  • استفاده از دمای Idle به عنوان تنها معیار سلامت Cooling.
  • نادیده گرفتن وضعیت فن و Thermal Paste در لپ تاپ استوک.

سوالات متداول توان، TDP و دمای CPU

TDP چیست؟

TDP یا Thermal Design Power
شاخصی مرتبط با طراحی حرارتی پردازنده
در چارچوب تعریف سازنده است.

آیا TDP همان مصرف برق CPU است؟

خیر. CPU می تواند بسته به Workload،
Boost و محدودیت های توان، مصرف متفاوتی داشته باشد.

Watt چیست؟

Watt واحد اندازه گیری Power است
و یک وات برابر یک ژول انرژی در هر ثانیه است.

PL1 چیست؟

در مدل سنتی مدیریت توان Intel،
PL1 محدودیتی مرتبط با رفتار توان
در بازه طولانی تر است.

PL2 چیست؟

PL2 معمولاً سطح توان بالاتری است
که برای Boost کوتاه مدت استفاده می شود.

Tau چیست؟

Tau پارامتر زمانی مرتبط با مدل مدیریت
توان Turbo در برخی نسل های Intel است.

PPT چیست؟

Package Power Tracking یکی از محدودیت های
مرتبط با توان Package در پلتفرم AMD است.

TDC و EDC چه هستند؟

این دو پارامتر به محدودیت های جریان
در شرایط کاری مختلف پردازنده های AMD مربوط هستند.

TJmax چیست؟

Maximum Junction Temperature
به محدوده حداکثر دمای Junction تعریف شده
برای پردازنده اشاره دارد.

Thermal Throttling چیست؟

کاهش کنترل شده Performance برای جلوگیری
از عبور CPU از محدوده حرارتی مجاز است.

Power Throttling چیست؟

محدود شدن Performance به دلیل رسیدن
CPU به محدودیت توان تعریف شده است.

آیا دمای 90 درجه همیشه خطرناک است؟

نمی توان فقط از روی یک عدد ثابت قضاوت کرد.
مدل CPU، TJmax، مدت زمان Load،
رفتار Clock و وجود یا نبود Throttling
باید همزمان بررسی شوند.

چرا CPU یکسان در دو لپ تاپ سرعت متفاوتی دارد؟

Power Limit، Cooling، BIOS،
Firmware و طراحی دستگاه می توانند
Performance پایدار را تغییر دهند.

برای بررسی لپ تاپ استوک تست کوتاه کافی است؟

خیر. تست طولانی تر می تواند مشکلاتی را نشان دهد
که پس از گرم شدن کامل سیستم Cooling ظاهر می شوند.

آیا توان بیشتر همیشه بهتر است؟

خیر. بعد از یک نقطه ممکن است افزایش Power
فقط Performance کمی اضافه کند
اما دما و مصرف انرژی را به شکل محسوسی افزایش دهد.

اصطلاحات جدید این فصل

  • Power: نرخ مصرف یا انتقال انرژی.
  • Watt: واحد اندازه گیری توان.
  • Energy: انرژی قابل مصرف یا انتقال.
  • Wh: وات ساعت؛ واحد اندازه گیری انرژی.
  • Die: قطعه نیمه رسانای فیزیکی تراشه.
  • Heat Density: چگالی حرارت در سطح یا حجم محدود.
  • TDP: Thermal Design Power یا توان طراحی حرارتی.
  • PBP: Processor Base Power.
  • MTP: Maximum Turbo Power.
  • PL1: Power Limit 1.
  • PL2: Power Limit 2.
  • Tau: پارامتر زمانی مرتبط با مدیریت توان Turbo.
  • PPT: Package Power Tracking.
  • TDC: Thermal Design Current.
  • EDC: Electrical Design Current.
  • Current: جریان الکتریکی.
  • Ampere: واحد اندازه گیری جریان.
  • Junction Temperature: دمای بخش فعال تراشه.
  • TJmax: حداکثر دمای Junction تعریف شده.
  • Thermal Throttling: محدود شدن عملکرد به دلیل دما.
  • Power Throttling: محدود شدن عملکرد به دلیل سقف توان.
  • Current Limit: محدودیت جریان الکتریکی.
  • VRM: مدار تنظیم ولتاژ.
  • Thermal Resistance: مقاومت مسیر انتقال حرارت.
  • Ambient Temperature: دمای محیط.
  • Thermal Capacity: ظرفیت جذب انرژی حرارتی.
  • Performance per Watt: عملکرد به ازای توان مصرفی.
  • Efficiency: بهره وری.
  • Performance Profile: پروفایل تنظیم عملکرد دستگاه.
  • Idle Temperature: دمای CPU در حالت کم کاری.
  • Background Process: فرایند در حال اجرا در پس زمینه.
  • Stress Test: آزمون فشار سخت افزار.
  • Soak Test: تست طولانی برای رسیدن سیستم به وضعیت حرارتی پایدار.

خلاصه فصل

Performance واقعی CPU نتیجه تعامل میان
معماری، Clock، Voltage، Power و Cooling است.

رابطه را می توان به صورت مفهومی چنین دید:

Workload
→
CPU Load
→
Clock / Voltage
→
Power
→
Heat
→
Cooling
→
Temperature
→
Power / Thermal Limits
→
Sustained Performance

بنابراین TDP، Maximum Boost یا تعداد Core
به تنهایی رفتار واقعی یک پردازنده را مشخص نمی کنند.

این موضوع در لپ تاپ اهمیت بیشتری دارد،
زیرا محدودیت فضای Cooling و Power
می تواند باعث شود دو دستگاه با CPU یکسان
Performance متفاوتی ارائه کنند.


فصل 28
سطح: پایه تا پیشرفته
پیش نیاز: نسل، معماری، Core، Clock، Power و TDP
موضوع: پسوندهای پردازنده لپ تاپ


Core i7 بودن کافی نیست؛ باید بدانیم کدام i7؟

راهنمای جامع پسوند پردازنده لپ تاپ؛ تفاوت U، P، H، HS و HX چیست؟

هنگام بررسی مشخصات لپ تاپ ممکن است با پردازنده هایی مانند
Core i5-1235U، Core i5-1240P، Core i5-12500H
یا Ryzen 7 7840HS روبه رو شوید.

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

اما پسوند را نیز نباید به تنهایی معیار Performance دانست.
نسل، معماری، تعداد Core، نوع Core، Cache،
Power Limit و Cooling دستگاه همچنان اهمیت دارند.


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

Suffix در زبان فارسی به معنی «پسوند» است.

در نام پردازنده، Suffix معمولاً حرف یا مجموعه حروفی است
که در بخش انتهایی شماره مدل قرار می گیرد.

Core i5-1235U

Core i7-12700H

Ryzen 7 7840HS

Core i9-14900HX

این حروف به ما کمک می کنند بفهمیم پردازنده
برای چه کلاس کلی از دستگاه طراحی شده است.

Engineering Insight — پسوند بخشی از هویت CPU است

هنگام مقایسه پردازنده لپ تاپ،
فقط عبارت Core i5، Core i7، Ryzen 5 یا Ryzen 7 را نبینید.

مدل کامل باید بررسی شود:

Brand
+
Family
+
Generation
+
Model
+
Suffix

حذف هرکدام از این اطلاعات می تواند
نتیجه مقایسه را تغییر دهد.

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

سری U یکی از شناخته شده ترین
خانواده های پردازنده موبایل است.

این پردازنده ها عموماً برای لپ تاپ هایی طراحی می شوند
که مصرف انرژی، قابلیت حمل، وزن و شارژدهی باتری
اهمیت زیادی دارد.

ویژگی عمومی پردازنده های U

  • مناسب لپ تاپ های باریک و قابل حمل.
  • مصرف انرژی پایین تر نسبت به کلاس های Performance محور.
  • نیاز کمتر به سیستم Cooling بزرگ.
  • مناسب کارهای روزمره و اداری.
  • مناسب بسیاری از کارهای برنامه نویسی.
  • مناسب دانشجویان و کاربران عمومی.
  • امکان شارژدهی بهتر در طراحی مناسب لپ تاپ.

Common Mistake — پردازنده U یعنی CPU ضعیف

این نتیجه گیری درست نیست.

U نشان دهنده کلاس طراحی پردازنده است،
نه اینکه CPU الزاماً ضعیف باشد.

یک پردازنده U جدید می تواند در بسیاری از Workloadها
از پردازنده H قدیمی سریع تر باشد.

بنابراین باید نسل، معماری و مدل دقیق نیز بررسی شوند.

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

سری P در برخی نسل های پردازنده موبایل Intel
برای ایجاد نقطه ای میان خانواده کم مصرف U
و خانواده Performance محور H استفاده شده است.

هدف کلی آن ارائه Performance بالاتر
در لپ تاپ های نسبتاً باریک است.

جایگاه کلی سری P

U
→
P
→
H

این نمودار فقط یک نمایش مفهومی است.
Performance واقعی مدل های مختلف می تواند همپوشانی داشته باشد.

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

خانواده H معمولاً برای لپ تاپ هایی طراحی می شود
که Performance بالاتر نسبت به مصرف پایین
اولویت بیشتری دارد.

این پردازنده ها در لپ تاپ های:

  • Workstation
  • Gaming
  • Engineering
  • Content Creation
  • Rendering

بیشتر دیده می شوند.


Workstation چیست؟

Workstation یا «ایستگاه کاری»
به سیستمی گفته می شود که برای Workloadهای حرفه ای
و نسبتاً سنگین طراحی شده است.

لپ تاپ های Workstation معمولاً برای نرم افزارهای مهندسی،
طراحی سه بعدی، محاسبات، تولید محتوا
و کارهای حرفه ای استفاده می شوند.


Content Creation چیست؟

Content Creation یا «تولید محتوای دیجیتال»
شامل کارهایی مانند:

Video Editing
/
Photo Editing
/
Animation
/
Audio Production
/
3D Content

است.

نوع پردازنده مناسب به نرم افزار
و Workload دقیق بستگی دارد.

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

پسوند HS بیشتر در خانواده
پردازنده های موبایل AMD دیده می شود.

این خانواده معمولاً تلاش می کند
Performance بالای کلاس H را
در طراحی هایی با تمرکز بیشتر بر بهره وری انرژی
و ضخامت کمتر ارائه کند.

در لپ تاپ های Performance باریک،
Gaming سبک تر و دستگاه های حرفه ای قابل حمل
استفاده از پردازنده HS رایج است.

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

HX معمولاً در بالاترین رده
پردازنده های Performance محور لپ تاپ قرار می گیرد.

این پردازنده ها برای دستگاه هایی طراحی می شوند
که توان پردازشی بسیار بالا اهمیت بیشتری
از مصرف انرژی پایین یا ضخامت بسیار کم دارد.

سری HX معمولاً در:

  • لپ تاپ های Gaming قدرتمند
  • Mobile Workstation
  • سیستم های Rendering
  • کارهای مهندسی سنگین
  • Compilation سنگین
  • تولید محتوای حرفه ای

دیده می شود.


Mobile Workstation چیست؟

Mobile Workstation
یا «ایستگاه کاری سیار»
لپ تاپی است که برای Workloadهای حرفه ای
و سنگین طراحی شده است.

این دستگاه ها معمولاً Cooling قوی تر،
توان قابل استفاده بیشتر و امکانات حرفه ای تری
نسبت به لپ تاپ های عمومی دارند.


Compilation چیست؟

Compilation یا «کامپایل»
فرایند تبدیل کد منبع برنامه
به فرم قابل اجرا یا فرم میانی مناسب
برای سیستم است.

پروژه های نرم افزاری بزرگ می توانند
Compilation سنگینی داشته باشند
و از CPU چند هسته ای سریع سود ببرند.

مقایسه U، P، H، HS و HX

پسوند تمرکز طراحی توان پردازشی مصرف Cooling کاربری کلی
U بهره وری و حمل پذیری کم تا بالا بسته به نسل کمتر سبک تر اداری، دانشجویی، روزمره
P تعادل Performance و قابلیت حمل متوسط تا بالا متوسط متوسط حرفه ای سبک، برنامه نویسی
H Performance بالا بالاتر قوی تر مهندسی، Gaming، تولید محتوا
HS Performance + Efficiency بالا کنترل شده تر متوسط تا قوی Performance قابل حمل
HX Maximum Mobile Performance بسیار بالا بالا بسیار مهم Workstation، Rendering، Gaming سنگین

این جدول رتبه بندی مطلق CPUها نیست

نباید نتیجه بگیریم:

HX > H > P > U

در تمام نسل ها و تمام مدل ها.

این ترتیب فقط کلاس طراحی عمومی را نشان می دهد.

یک U جدید ممکن است از H چند نسل قبل سریع تر باشد
و یک H جدید ممکن است در بعضی Workloadها
از HX قدیمی عملکرد بهتری ارائه کند.

آیا Core i7-U از Core i5-H قوی تر است؟

الزاماً خیر.

این یکی از مهم ترین نکاتی است
که هنگام خرید لپ تاپ باید بدانیم.

نام تجاری Core i7 نشان دهنده جایگاه محصول
در خانواده خودش است؛
اما i5-H ممکن است به دلیل کلاس توان بالاتر،
تعداد Core بیشتر یا معماری متفاوت،
در Workload سنگین سریع تر باشد.

Engineering Insight — نام i7 تضمین برتری بر i5 نیست

مقایسه:

Core i7 U-Series

vs

Core i5 H-Series

بدون دانستن شماره مدل و نسل تقریباً بی معنی است.

برای مقایسه صحیح باید حداقل موارد زیر بررسی شوند:

  • نسل
  • Architecture
  • Core Count
  • Thread Count
  • نوع Coreها
  • Cache
  • Power Limit
  • Sustained Clock
  • Cooling لپ تاپ
  • Benchmark مرتبط با کاربری

مقایسه پسوندها در یک نسل

مقایسه مدل های یک نسل معمولاً
اطلاعات مفیدتری درباره تفاوت کلاس های توان می دهد.

برای مثال اگر معماری و نسل مشابه باشند،
مدل H معمولاً اجازه استفاده از Power بیشتری
نسبت به مدل U دارد.

این موضوع می تواند به تعداد Core بیشتر،
Clock پایدارتر یا Performance چند هسته ای بالاتر منجر شود.

با این حال حتی در یک نسل نیز
باید مدل دقیق CPU بررسی شود.

مقایسه پسوندها میان نسل های مختلف

اینجا مسئله پیچیده تر می شود.

فرض کنید پردازنده H قدیمی را
با پردازنده U چند نسل جدیدتر مقایسه می کنیم.

CPU جدید ممکن است:

  • IPC بالاتری داشته باشد.
  • معماری جدیدتری داشته باشد.
  • Cache بهتری داشته باشد.
  • فرایند ساخت پیشرفته تری داشته باشد.
  • Performance per Watt بیشتری داشته باشد.
  • گرافیک مجتمع سریع تری داشته باشد.
  • Memory Controller جدیدتری داشته باشد.

در نتیجه صرف وجود حرف H
تضمین نمی کند CPU قدیمی سریع تر باشد.


Process Node چیست؟

Process Node یا «گره فرایند ساخت»
اصطلاحی برای نسل فناوری ساخت تراشه است.

اعدادی مانند 14nm، 10nm، 7nm یا 5nm
در نسل های مختلف صنعت دیده شده اند.

اما این اعداد را نباید مستقیماً
به عنوان اندازه واقعی یک جزء مشخص
یا معیار مطلق برتری دو کارخانه تفسیر کرد.


Memory Controller چیست؟

Memory Controller
یا «کنترلر حافظه»
بخشی از سیستم است که ارتباط CPU
با حافظه RAM را مدیریت می کند.

در پردازنده های مدرن،
Memory Controller معمولاً
بخشی از خود پردازنده یا Package پردازنده است.

قانون مقایسه نسل قبل و نسل بعد

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

مدل باید حداقل در سه جهت مقایسه شود:

01
نسل قبلمشخص شود CPU نسبت به مدل یا کلاس مشابه نسل قبل
چه پیشرفتی داشته است.
02
هم نسلبا مدل های U، P، H یا HX همان نسل
مقایسه شود.
03
نسل بعدمشخص شود نسل بعد چه تغییر مهمی
در معماری، Efficiency یا Performance ایجاد کرده است.

Under the Hood — چرا مقایسه سه جهته مهم است؟

فرض کنید فقط بدانیم یک CPU متعلق به سری H است.

این اطلاعات به تنهایی نمی گوید
آیا خرید آن منطقی است یا خیر.

ممکن است مدل مورد نظر در نسل خودش بسیار قدرتمند باشد،
اما CPU کم مصرف نسل بعد
Performance مشابهی با مصرف بسیار کمتر ارائه کند.

از طرف دیگر ممکن است مدل قدیمی H
به دلیل قیمت مناسب در بازار استوک
هنوز ارزش خرید بسیار بالایی داشته باشد.

بنابراین:

Technical Performance
+
Generation
+
Power Class
+
Device Quality
+
Price
=
Real Buying Value

کدام پسوند برای چه کاربری مناسب تر است؟

کاربری U P H HS HX
Office عالی عالی بیش از نیاز بیش از نیاز معمولاً غیرضروری
دانشجویی عالی عالی بسته به رشته بسته به رشته کاربری خاص
برنامه نویسی خوب تا عالی عالی عالی عالی عالی برای پروژه سنگین
AutoCAD دو بعدی خوب خوب عالی عالی عالی
Revit بسته به پروژه خوب عالی عالی عالی
Rendering CPU محدودتر متوسط خوب تا عالی عالی بسیار مناسب
Gaming بسته به GPU بسته به GPU مناسب مناسب مناسب سیستم های قدرتمند
شارژدهی باتری اولویت بالا متعادل اولویت کمتر تعادل مناسب اولویت اصلی نیست

Common Mistake — انتخاب CPU قوی بدون توجه به GPU

در Workloadهایی مانند Gaming، Rendering سه بعدی،
هوش مصنوعی و برخی نرم افزارهای مهندسی،
GPU می تواند نقش بسیار مهمی داشته باشد.

بنابراین HX بودن CPU به تنهایی
لپ تاپ را به یک Workstation یا سیستم Rendering مناسب تبدیل نمی کند.

پسوند CPU چه تاثیری روی باتری دارد؟

به طور کلی کلاس های کم مصرف برای دستیابی
به Efficiency بالاتر طراحی می شوند.

اما عمر باتری فقط توسط CPU تعیین نمی شود.

عوامل زیر نیز مهم هستند:

  • ظرفیت باتری
  • نمایشگر
  • روشنایی
  • GPU
  • RAM
  • SSD
  • Firmware
  • Power Profile
  • Background Processes
  • سلامت باتری


Battery Health چیست؟

Battery Health
یا «سلامت باتری»
نشان می دهد ظرفیت فعلی باتری
نسبت به ظرفیت طراحی اولیه آن چه وضعیتی دارد.

این موضوع در لپ تاپ استوک اهمیت ویژه دارد،
زیرا باتری در طول زمان فرسوده می شود.

پسوند CPU و Cooling

هرچه کلاس CPU اجازه مصرف Power بیشتری بدهد،
اهمیت Cooling بیشتر می شود.

یک HX قدرتمند در شاسی با Cooling نامناسب
ممکن است نتواند توان واقعی خود را حفظ کند.

در مقابل یک H یا HS با Cooling مناسب
ممکن است Performance پایدار بسیار خوبی ارائه کند.


Chassis چیست؟

Chassis یا «شاسی»
ساختار فیزیکی اصلی دستگاه است.

ابعاد و طراحی Chassis روی فضای موجود برای:

Fan
/
Heatsink
/
Heat Pipe
/
Vapor Chamber
/
Airflow

تاثیر می گذارد.


Airflow چیست؟

Airflow یا «جریان هوا»
حرکت هوا در سیستم Cooling است.

هوای خنک وارد دستگاه شده،
از بخش های گرم عبور می کند
و هوای گرم از خروجی خارج می شود.

انسداد ورودی هوا یا تجمع گردوغبار
می تواند Cooling را ضعیف کند.

انتخاب پسوند مناسب در لپ تاپ استوک

بازار لپ تاپ استوک با بازار دستگاه نو تفاوت مهمی دارد.

در این بازار ممکن است با بودجه یکسان
میان یک CPU جدید کم مصرف
و یک Workstation قدیمی با CPU سری H
انتخاب داشته باشید.

انتخاب صحیح به نوع استفاده بستگی دارد.

نیاز اصلی انتخاب منطقی تر دلیل
Office و حسابداری U جدیدتر مصرف کمتر و Performance کافی
حمل روزانه U / P / HS تعادل وزن، توان و باتری
برنامه نویسی عمومی U / P / H بسته به اندازه پروژه
مهندسی سنگین H / HS / HX توان پایدار بیشتر
Rendering CPU H / HX توان Multi-Core بالاتر
شارژدهی U تمرکز بیشتر بر Efficiency

Engineering Insight — در بازار استوک «جدیدتر» همیشه بهترین خرید نیست

CPU جدیدتر معمولاً مزایای معماری و Efficiency دارد،
اما ارزش خرید فقط با Performance تعیین نمی شود.

ممکن است یک Mobile Workstation نسل قبل
با قیمت مناسب، Cooling قوی،
RAM قابل ارتقا و GPU حرفه ای
برای مهندس ارزش خرید بیشتری داشته باشد.

در مقابل برای کاربر اداری،
یک لپ تاپ U جدیدتر، سبک تر و کم مصرف تر
انتخاب منطقی تری خواهد بود.

چگونه پسوند مناسب CPU را انتخاب کنیم؟

01
کاربری را مشخص کنیدOffice، Engineering، Gaming، Rendering یا Programming؟
02
نیاز به حمل را مشخص کنیدآیا لپ تاپ هر روز جابه جا می شود؟
03
باتری را بررسی کنیدآیا استفاده طولانی بدون برق مهم است؟
04
Workload را بررسی کنیدکار کوتاه است یا چند ساعت Load سنگین دارد؟
05
نسل CPU را بررسی کنیدپسوند را جدا از نسل مقایسه نکنید.
06
مدل کامل CPU را بررسی کنیدCore، Thread، Cache و Architecture را مقایسه کنید.
07
Cooling دستگاه را بررسی کنیدCPU قوی بدون Cooling مناسب ارزش خود را از دست می دهد.
08
Benchmark مناسب را ببینیدBenchmark باید با Workload واقعی شما مرتبط باشد.
09
قیمت را وارد مقایسه کنیدبهترین CPU الزاماً بهترین خرید نیست.

Performance Impact — پسوند CPU می تواند رفتار کل لپ تاپ را تغییر دهد

انتخاب میان U و H فقط انتخاب میان
«CPU ضعیف و CPU قوی» نیست.

در واقع ممکن است میان دو فلسفه طراحی انتخاب کنیم:

Mobility / Efficiency
↔
Sustained Performance

و کلاس هایی مانند P و HS
تلاش می کنند نقاط مختلفی میان این دو هدف ایجاد کنند.

Common Mistakes — اشتباهات رایج در تشخیص پسوند CPU
  • مقایسه فقط بر اساس Core i5 و Core i7.
  • نادیده گرفتن حرف انتهای مدل CPU.
  • فرض اینکه U همیشه ضعیف است.
  • فرض اینکه H همیشه از U سریع تر است.
  • فرض اینکه HX همیشه بهترین انتخاب است.
  • مقایسه پسوندها بدون توجه به نسل.
  • مقایسه CPUهای Intel و AMD فقط بر اساس نام تجاری.
  • نادیده گرفتن Power Limit لپ تاپ.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Performance پایدار.
  • نادیده گرفتن GPU در Workloadهای گرافیکی.
  • انتخاب CPU پرمصرف برای کاربری کاملاً سبک.
  • انتخاب CPU کم مصرف برای Rendering طولانی بدون بررسی نیاز واقعی.
  • مقایسه فقط Maximum Boost Clock.
  • نادیده گرفتن قیمت و ارزش خرید در بازار استوک.

سوالات متداول پسوندهای پردازنده لپ تاپ

حرف U در CPU یعنی چه؟

U معمولاً به کلاس پردازنده های موبایل
با تمرکز بیشتر بر مصرف انرژی و قابلیت حمل اشاره دارد.

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

H معمولاً خانواده Performance محور
پردازنده های لپ تاپ است که برای Workloadهای
سنگین تر طراحی می شود.

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

P در برخی نسل های Intel کلاس میانی
میان طراحی کم مصرف و Performance محور است.

HS چیست؟

HS عمدتاً در پردازنده های موبایل AMD دیده می شود
و برای ارائه Performance بالا در طراحی های
نسبتاً بهینه تر از نظر مصرف و قابلیت حمل استفاده می شود.

HX چیست؟

HX معمولاً به پردازنده های موبایل
Performance محور رده بالا اشاره دارد
که در لپ تاپ های Gaming و Workstation قدرتمند دیده می شوند.

U بهتر است یا H؟

بستگی به کاربری دارد.
U برای مصرف پایین و قابلیت حمل مناسب تر است،
در حالی که H معمولاً برای Performance پایدار
در Workloadهای سنگین طراحی می شود.

آیا i7-U از i5-H قوی تر است؟

الزاماً خیر. نسل، معماری، مدل،
تعداد Core و Power Limit باید بررسی شوند.

آیا HX همیشه از H سریع تر است؟

در یک خانواده و نسل مشابه معمولاً HX
کلاس Performance بالاتری دارد،
اما این قانون را نمی توان بدون بررسی مدل دقیق
به تمام نسل ها تعمیم داد.

برای برنامه نویسی U کافی است؟

برای بسیاری از پروژه ها بله.
پروژه های Compilation سنگین، ماشین مجازی متعدد
یا Workloadهای حرفه ای می توانند از H یا کلاس های بالاتر سود ببرند.

برای AutoCAD پردازنده U مناسب است؟

برای پروژه های سبک و دو بعدی می تواند کافی باشد.
پروژه های سنگین تر باید بر اساس CPU، GPU،
RAM و پیچیدگی واقعی پروژه بررسی شوند.

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

برای پروژه های حرفه ای معمولاً پردازنده های
Performance محور مانند H یا HS انتخاب مطمئن تری هستند،
اما مدل دقیق CPU و سایر سخت افزارها نیز اهمیت دارند.

برای Rendering کدام سری بهتر است؟

برای CPU Rendering طولانی،
H و HX معمولاً مناسب تر هستند،
زیرا توان Multi-Core پایدار اهمیت زیادی دارد.

برای لپ تاپ استوک فقط پسوند CPU را بررسی کنیم؟

خیر. وضعیت Cooling، نسل CPU،
Benchmark واقعی، سلامت دستگاه،
GPU، RAM و قیمت نیز باید بررسی شوند.

آیا CPU نسل جدید U می تواند از H قدیمی سریع تر باشد؟

بله. پیشرفت معماری، IPC، Cache،
فرایند ساخت و Efficiency می تواند
این اتفاق را ممکن کند.

برای خرید لپ تاپ استوک کدام پسوند بهتر است؟

پسوند «بهتر» به صورت مطلق وجود ندارد.
بهترین انتخاب پسوندی است که با Workload،
بودجه، نیاز به باتری و قابلیت حمل شما هماهنگ باشد.

اصطلاحات جدید این فصل

  • Suffix: پسوند انتهای مدل پردازنده.
  • U-Series: کلاس پردازنده با تمرکز بر بهره وری و قابلیت حمل.
  • P-Series: کلاس میانی برخی پردازنده های موبایل Intel.
  • H-Series: پردازنده موبایل Performance محور.
  • HS-Series: پردازنده Performance محور AMD با تاکید بیشتر بر بهره وری و طراحی قابل حمل.
  • HX-Series: کلاس رده بالای Performance پردازنده موبایل.
  • Workstation: سیستم حرفه ای برای Workloadهای تخصصی.
  • Mobile Workstation: ایستگاه کاری حرفه ای قابل حمل.
  • Content Creation: تولید محتوای دیجیتال.
  • Compilation: فرایند تبدیل کد منبع به فرم قابل اجرا یا میانی.
  • Process Node: نسل فناوری فرایند ساخت تراشه.
  • Memory Controller: کنترلر ارتباط پردازنده با RAM.
  • Battery Health: وضعیت ظرفیت فعلی باتری نسبت به ظرفیت طراحی.
  • Chassis: ساختار فیزیکی اصلی دستگاه.
  • Airflow: جریان هوا در سیستم خنک کننده.

خلاصه فصل

پسوند پردازنده یکی از مهم ترین بخش های نام CPU لپ تاپ است،
اما نباید آن را به یک رتبه بندی ساده
از ضعیف به قوی تبدیل کرد.

برای انتخاب CPU باید مجموعه زیر بررسی شود:

Generation
+
Architecture
+
CPU Model
+
Suffix
+
Core / Thread
+
Cache
+
Power Limit
+
Cooling
+
Workload
+
Price

به همین دلیل عبارت هایی مانند
«i7 بهتر از i5 است»
یا
«H همیشه بهتر از U است»
بدون مشخص کردن مدل و نسل،
معیار مناسبی برای خرید لپ تاپ نیستند.


فصل 29
سطح: پایه تا پیشرفته
موضوع: نسل های پردازنده Intel
تمرکز ویژه: لپ تاپ و بازار استوک


Core i7 به تنهایی تقریباً هیچ چیز درباره نسل CPU نمی گوید

راهنمای جامع نسل های پردازنده Intel؛ از تشخیص نسل تا مقایسه عملکرد

یکی از مهم ترین مهارت ها هنگام بررسی لپ تاپ،
تشخیص نسل پردازنده است. دو لپ تاپ ممکن است هر دو
برچسب Core i7 داشته باشند، اما پردازنده های آنها
چندین نسل با یکدیگر فاصله داشته باشند و از نظر معماری،
تعداد هسته، مصرف انرژی، امکانات و Performance
تفاوت قابل توجهی داشته باشند.

بنابراین عبارت هایی مانند «لپ تاپ Core i5»
یا «لپ تاپ Core i7» برای ارزیابی واقعی دستگاه کافی نیستند.
باید مدل کامل پردازنده مشخص شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • Generation یا نسل پردازنده چیست.
  • چگونه نسل CPUهای Intel را تشخیص دهیم.
  • چرا روش تشخیص نسل در همه پردازنده ها یکسان نیست.
  • تفاوت Family، Generation، Architecture و Model چیست.
  • نسل های مهم Intel در بازار لپ تاپ استوک کدام هستند.
  • چه تغییراتی از یک نسل به نسل دیگر رخ داده است.
  • چرا نسل بالاتر الزاماً در تمام شرایط سریع تر نیست.
  • چگونه نسل قبل، نسل فعلی و نسل بعد را مقایسه کنیم.
  • از چه نسلی به بعد تغییرات مهم در تعداد هسته رخ داد.
  • معماری Hybrid Intel چیست.
  • P-Core و E-Core چه هستند.
  • چگونه ارزش خرید نسل های مختلف را در بازار استوک بررسی کنیم.

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


Generation — نسل پردازنده

Generation یا «نسل»
روشی برای تفکیک دوره ها و خانواده های مختلف
محصولات پردازنده است.

با تغییر نسل ممکن است بخش های مختلف CPU تغییر کنند؛
از جمله:

  • Architecture
  • Microarchitecture
  • تعداد Core
  • تعداد Thread
  • Cache
  • Memory Support
  • Integrated Graphics
  • Power Management
  • Instruction Support
  • فرایند ساخت


Architecture چیست؟

واژه Architecture به معنی «معماری» است.

در بحث CPU این واژه می تواند در سطوح مختلف استفاده شود
و بسته به متن، منظور از آن طراحی کلی پردازنده
یا مجموعه ویژگی های معماری آن باشد.

به همین دلیل Architecture و Generation
را نباید همیشه مترادف در نظر گرفت.


Microarchitecture چیست؟

Microarchitecture
یا «ریزمعماری» به نحوه پیاده سازی داخلی
یک معماری پردازنده اشاره دارد.

طراحی Pipeline، واحدهای اجرایی،
Cache، Branch Prediction و بسیاری از جزئیات داخلی
بخشی از ریزمعماری پردازنده هستند.

Common Mistake — نسل و معماری دقیقاً یک چیز هستند

خیر.

Generation یک طبقه بندی محصول است،
در حالی که Architecture و Microarchitecture
به طراحی پردازنده مربوط می شوند.

ممکن است یک نسل محصول شامل چند نوع Die،
معماری یا پیکربندی متفاوت باشد.

چگونه نام پردازنده Intel را بخوانیم؟

برای شروع یک مثال ساده را بررسی کنیم:

Intel Core i7-8650U

این نام را می توان به چند بخش تقسیم کرد:

Intel
/
Core
/
i7
/
8650
/
U

بخش نمونه مفهوم کلی
Brand Intel برند سازنده
Product Family Core خانواده محصول
Tier i7 رده محصول در خانواده
Processor Number 8650 شماره مدل
Suffix U کلاس یا ویژگی مدل


Tier چیست؟

Tier در اینجا به معنی
«رده یا سطح محصول» است.

نام هایی مانند Core i3، Core i5، Core i7 و Core i9
در دوره های مختلف برای مشخص کردن رده های مختلف
خانواده Core استفاده شده اند.

Tier را نباید به تنهایی معادل Performance دانست.

تشخیص نسل Intel از روی شماره مدل

در بسیاری از پردازنده های کلاسیک Core،
تشخیص نسل از روی ابتدای Processor Number امکان پذیر است.

نمونه CPU نسل روش تشخیص
Core i5-2520M نسل 2 عدد 2 در ابتدای 2520
Core i5-3320M نسل 3 عدد 3 در ابتدای 3320
Core i5-4300U نسل 4 عدد 4 در ابتدای 4300
Core i5-5300U نسل 5 عدد 5 در ابتدای 5300
Core i5-6300U نسل 6 عدد 6 در ابتدای 6300
Core i5-7300U نسل 7 عدد 7 در ابتدای 7300
Core i5-8250U نسل 8 عدد 8 در ابتدای 8250
Core i5-8365U نسل 8 عدد 8 در ابتدای 8365
Core i5-10210U نسل 10 دو رقم اول 10
Core i5-1135G7 نسل 11 دو رقم اول 11
Core i5-1235U نسل 12 دو رقم اول 12
Core i5-1335U نسل 13 دو رقم اول 13
Core i5-14500HX نسل 14 دو رقم اول 14

Common Mistake — این روش برای تمام CPUهای Intel قابل استفاده است

خیر.

Intel در دوره های مختلف Naming Scheme
یا «سامانه نام گذاری» خود را تغییر داده است.

بنابراین قانون «رقم اول = نسل»
را نباید بدون توجه به خانواده و دوره پردازنده
برای تمام محصولات Intel استفاده کرد.


Naming Scheme چیست؟

Naming Scheme
یعنی «سامانه یا الگوی نام گذاری».

شرکت سازنده با این سیستم مشخص می کند
نام محصولات چگونه ساخته شود
و هر بخش از نام چه مفهومی داشته باشد.

تغییر Naming Scheme می تواند باعث شود
روش تشخیص نسل نیز تغییر کند.

Intel Core Ultra و تغییر نام گذاری

با معرفی خانواده Intel Core Ultra
ساختار نام گذاری محصولات جدید Intel تغییر کرد.

نمونه:

Intel Core Ultra 7 155H

در این سیستم دیگر نباید انتظار داشته باشیم
همان قانون قدیمی Core i7-xxxx
بدون تغییر قابل استفاده باشد.

بنابراین هنگام بررسی پردازنده های جدید،
خانواده محصول و ساختار نام گذاری همان دوره
باید جداگانه بررسی شود.


Core Ultra چیست؟

Core Ultra
یکی از خانواده های جدید پردازنده Intel است
که با سیستم نام گذاری متفاوتی نسبت به
Core i کلاسیک عرضه شده است.

بنابراین عباراتی مانند:

Core Ultra 5
/
Core Ultra 7
/
Core Ultra 9

را نباید صرفاً با قواعد نام گذاری قدیمی
Core i5 / i7 / i9 تفسیر کرد.

نقشه کلی نسل های مهم Intel Core

نسل نام شناخته شده دوره تقریبی اهمیت در بازار استوک
2 Sandy Bridge 2011 بسیار قدیمی
3 Ivy Bridge 2012 بسیار قدیمی
4 Haswell 2013–2014 هنوز در برخی دستگاه های ارزان دیده می شود
5 Broadwell 2014–2015 کمتر رایج
6 Skylake 2015–2016 رایج در استوک قدیمی
7 Kaby Lake 2016–2017 رایج در استوک اقتصادی
8 Kaby Lake Refresh / Coffee Lake و خانواده های مرتبط 2017–2019 بسیار مهم در بازار استوک
9 Coffee Lake Refresh و خانواده های مرتبط 2018–2019 مهم در لپ تاپ های Performance
10 Comet Lake / Ice Lake 2019–2020 مهم
11 Tiger Lake و خانواده های مرتبط 2020–2021 مهم
12 Alder Lake 2021–2022 تغییر معماری بسیار مهم
13 Raptor Lake 2022–2023 تکامل معماری Hybrid
14 Raptor Lake Refresh و محصولات مرتبط 2023–2024 ادامه خانواده های Performance

Engineering Insight — هر «نسل» الزاماً یک معماری واحد نیست

جدول بالا برای ایجاد نقشه ذهنی است.

در برخی نسل های Intel چند خانواده متفاوت
به صورت همزمان در بازار حضور داشته اند.

برای مثال نسل دهم فقط یک طراحی واحد نیست
و پردازنده های Comet Lake و Ice Lake
تفاوت های معماری مهمی دارند.

بنابراین در بررسی حرفه ای باید از سطح
«نسل» یک مرحله پایین تر برویم و
مدل و خانواده واقعی CPU را نیز تشخیص دهیم.

نسل دوم Intel Core — Sandy Bridge

Sandy Bridge یکی از نسل های مهم تاریخی Intel بود
و بسیاری از لپ تاپ های تجاری قدیمی
با این پردازنده ها عرضه شدند.

نمونه:

Core i5-2520M

Core i7-2620M

Core i7-2720QM

این نسل امروز برای خرید اصلی لپ تاپ
بسیار قدیمی محسوب می شود،
هرچند برای شناخت روند تکامل CPU اهمیت تاریخی دارد.

نسل سوم — Ivy Bridge

Ivy Bridge نسل بعدی Sandy Bridge بود
و بهبودهایی در فرایند ساخت،
مصرف انرژی و بخش گرافیکی ایجاد کرد.

Core i5-3320M

Core i7-3520M

Core i7-3630QM

این نسل نیز امروز بیشتر ارزش آموزشی
و استفاده های بسیار اقتصادی دارد.

نسل چهارم — Haswell

Haswell در بازار لپ تاپ استوک اهمیت بیشتری دارد،
زیرا هنوز تعداد قابل توجهی لپ تاپ تجاری
مبتنی بر این نسل وجود دارند.

Core i5-4300U

Core i5-4310M

Core i7-4600U

Core i7-4800MQ

وجود پسوندهای مختلف در همین مثال نشان می دهد
حتی در یک نسل نیز همه CPUها
در یک کلاس Performance قرار ندارند.

نسل پنجم — Broadwell

Broadwell ادامه مسیر Haswell بود
و در لپ تاپ ها به ویژه در مدل های کم مصرف دیده شد.

Core i5-5200U

Core i5-5300U

Core i7-5600U

نسل پنجم در برخی بازارها نسبت به نسل چهارم
و ششم کمتر دیده می شود.

نسل ششم — Skylake

Skylake یکی از نسل های بسیار شناخته شده
در لپ تاپ های تجاری استوک است.

Core i5-6200U

Core i5-6300U

Core i7-6600U

Core i7-6820HQ

بسیاری از لپ تاپ های تجاری Dell Latitude،
HP EliteBook، HP ZBook و Lenovo ThinkPad
مربوط به این دوره هستند.

نسل هفتم — Kaby Lake

Kaby Lake ادامه تکامل خانواده Core بود
و در تعداد زیادی از لپ تاپ های اداری
و تجاری استفاده شد.

Core i5-7200U

Core i5-7300U

Core i7-7500U

Core i7-7700HQ

هنگام مقایسه نسل هفتم و هشتم
فقط به فاصله یک نسل نگاه نکنید؛
در برخی بخش های بازار لپ تاپ،
تغییر تعداد هسته اهمیت زیادی پیدا کرد.

نسل هشتم — یکی از نقاط مهم بازار لپ تاپ استوک

نسل هشتم برای خریدار لپ تاپ استوک اهمیت ویژه ای دارد.

یکی از تغییرات بسیار مهم در بخشی از مدل های موبایل،
افزایش تعداد Core نسبت به مدل های نسل قبل بود.

برای مثال:

CPU Core Thread
Core i5-7300U 2 4
Core i5-8250U 4 8
Core i5-8350U 4 8

بنابراین جهش نسل هفتم به هشتم
در این کلاس از CPUها فقط تغییر شماره نسل نبود.

Performance Impact — چرا نسل هشتم در بازار استوک مهم شد؟

افزایش Core Count در مدل هایی مانند
Core i5-8250U و Core i5-8350U
باعث شد ظرفیت Multi-Core نسبت به بسیاری از
مدل های U نسل قبل به شکل محسوسی افزایش پیدا کند.

این موضوع در:

Multitasking
/
Compilation
/
Compression
/
Multi-Core Workloads

اهمیت دارد.


Multitasking چیست؟

Multitasking
یا «چندوظیفگی»
به اجرای چند برنامه یا وظیفه
در یک بازه زمانی گفته می شود.

برای مثال اجرای همزمان مرورگر،
Excel، نرم افزار حسابداری،
پیام رسان و چند برنامه دیگر
نوعی Multitasking است.


Compression چیست؟

Compression
یا «فشرده سازی»
فرایند کاهش حجم داده با استفاده
از الگوریتم های مختلف است.

نرم افزارهایی مانند ابزارهای فشرده سازی فایل
می توانند از Performance چند هسته ای CPU سود ببرند.

نسل نهم — تمرکز بیشتر بر Performance

نسل نهم در لپ تاپ ها بیشتر در مدل های
Performance محور و Gaming دیده می شود.

Core i5-9300H

Core i7-9750H

Core i9-9880H

Core i7-9750H یکی از پردازنده های شناخته شده
این دوره در لپ تاپ های قدرتمند است.

نسل دهم — جایی که فقط دانستن «نسل 10» کافی نیست

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

در لپ تاپ ها با خانواده هایی مانند:

Comet Lake

Ice Lake

روبه رو می شویم.

این خانواده ها تفاوت های معماری
و ویژگی های مهمی با یکدیگر دارند.

مثال مهم نسل دهم

Core i5-10210U

vs

Core i5-1035G1

هر دو Core i5 نسل دهم هستند،
اما از یک طراحی یکسان استفاده نمی کنند.

بنابراین هنگام مقایسه باید
مدل کامل CPU بررسی شود.

نسل یازدهم — Tiger Lake

Tiger Lake یکی از نسل های مهم
در لپ تاپ های باریک و تجاری است.

Core i5-1135G7

Core i7-1165G7

Core i5-1145G7

یکی از تغییرات قابل توجه در بسیاری از مدل های این دوره،
پیشرفت بخش Integrated Graphics بود.


Intel Iris Xe چیست؟

Intel Iris Xe
نام تجاری بخشی از راهکارهای گرافیکی Intel است
که در تعدادی از پردازنده های نسل یازدهم
و محصولات بعدی دیده می شود.

عملکرد واقعی آن به مدل CPU،
پیکربندی حافظه و دستگاه بستگی دارد.

نسل دوازدهم — Alder Lake و تغییر بزرگ معماری

نسل دوازدهم یکی از مهم ترین نقاط تغییر
در تاریخ اخیر پردازنده های Intel است.

در بسیاری از محصولات این نسل
معماری Hybrid وارد خانواده Core شد.

به جای استفاده از یک نوع Core،
پردازنده می تواند ترکیبی از:

Performance-cores
+
Efficient-cores

داشته باشد.


Hybrid Architecture چیست؟

Hybrid Architecture
یا «معماری ترکیبی»
در این زمینه به استفاده از انواع متفاوت Core
در یک پردازنده اشاره دارد.

هدف این است که Coreهای مختلف
برای انواع متفاوت Workload بهینه شوند.


P-Core چیست؟

P-Core
مخفف Performance Core
یا «هسته عملکردی» است.

این هسته ها برای Performance بالا
و اجرای Threadهای سنگین طراحی شده اند.


E-Core چیست؟

E-Core
مخفف Efficient Core
یا «هسته بهره ور» است.

این هسته ها برای ارائه Performance
با بهره وری انرژی مناسب طراحی شده اند
و می توانند در اجرای وظایف موازی
و پس زمینه نقش مهمی داشته باشند.


Intel Thread Director چیست؟

Intel Thread Director
سازوکاری سخت افزاری برای ارائه اطلاعات
درباره رفتار Threadها به سیستم عامل است.

این اطلاعات می تواند به Scheduler سیستم عامل
در تصمیم گیری بهتر درباره اجرای Threadها
روی P-Core یا E-Core کمک کند.


Scheduler چیست؟

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است که تصمیم می گیرد
Threadهای آماده اجرا در چه زمانی
و روی کدام منابع پردازشی اجرا شوند.

نمونه هایی از نسل دوازدهم:

Core i5-1235U

Core i5-1240P

Core i5-12500H

Core i7-1260P

Core i7-12700H

Performance Impact — نسل 11 به 12 فقط افزایش شماره نبود

ورود طراحی Hybrid باعث شد
روش خواندن تعداد Core و Thread نیز مهم تر شود.

دیگر نمی توان همیشه فرض کرد
تمام Coreهای CPU دقیقاً از یک نوع هستند.

بنابراین از نسل دوازدهم به بعد
هنگام بررسی مشخصات باید تعداد:

P-Cores
+
E-Cores
+
Threads

را جداگانه بررسی کنیم.

نسل سیزدهم — Raptor Lake

نسل سیزدهم مسیر معماری Hybrid
را ادامه داد و در بخش های مختلف
تعداد Core، Clock، Cache و Performance
بهبود یافت.

Core i5-1335U

Core i5-1340P

Core i5-13500H

Core i7-1360P

Core i7-13700H

Core i9-13980HX

نسل چهاردهم و پیچیده تر شدن مفهوم «نسل»

در دوره نسل چهاردهم،
بررسی نام دقیق محصول اهمیت بیشتری پیدا می کند.

برخی محصولات Core نسل چهاردهم
ادامه و Refresh خانواده های قبلی هستند،
در حالی که همزمان خانواده های جدیدتر
با نام گذاری Core Ultra وارد بازار شدند.

بنابراین در محصولات جدید،
تکیه صرف بر عبارت «نسل 14»
برای شناخت معماری کافی نیست.


Refresh چیست؟

Refresh
در صنعت سخت افزار معمولاً به نسخه به روز شده
یک خانواده موجود گفته می شود.

Refresh ممکن است شامل افزایش Clock،
تغییر برخی پیکربندی ها یا بهینه سازی محصول باشد،
بدون اینکه الزاماً یک معماری کاملاً جدید ایجاد شده باشد.

مقایسه مفهومی نسل های مهم بازار استوک

نسل نقطه مهم وضعیت کلی امروز
4 Haswell قدیمی و اقتصادی
5 Broadwell قدیمی
6 Skylake استوک اقتصادی
7 Kaby Lake استوک اقتصادی
8 افزایش مهم Core در برخی مدل های U نقطه مهم بازار استوک
9 Performance Mobile مناسب دستگاه های قوی تر قدیمی
10 چند خانواده متفاوت نیازمند بررسی مدل دقیق
11 Tiger Lake / پیشرفت iGPU در بسیاری از مدل ها مناسب لپ تاپ های تجاری جدیدتر
12 Hybrid Architecture جهش مهم معماری
13 تکامل Hybrid Performance بالا
14 Refresh + تغییر دوره نام گذاری نیازمند تشخیص خانواده دقیق

روش صحیح مقایسه هر نسل با نسل قبل و بعد

از این نقطه به بعد در دانشنامه،
هر نسل را با مدل های اطراف خودش بررسی می کنیم.

01
نسل قبلمشخص می کنیم محدودیت های نسل قبلی چه بوده است.
02
نسل مورد بررسیتغییرات معماری، Core، Cache، Graphics و Power بررسی می شوند.
03
نسل بعدبررسی می کنیم آیا نسل بعد جهش واقعی ایجاد کرده یا تغییر آن محدود بوده است.
04
قیمت بازار استوکاختلاف Performance با اختلاف قیمت مقایسه می شود.
05
ارزش خریدمشخص می کنیم ارتقا به نسل بعد برای چه کاربری واقعاً ارزش دارد.

Under the Hood — چرا یک نسل جدید سریع تر می شود؟

افزایش Performance نسل جدید
الزاماً فقط از افزایش GHz حاصل نمی شود.

عوامل مختلف می توانند دخالت داشته باشند:

Microarchitecture
+
IPC
+
Core Count
+
Cache
+
Memory
+
Power Management
+
Process Technology
+
Boost Behavior

بنابراین ممکن است CPU جدید
با Clock مشابه پردازنده قدیمی،
Performance بیشتری ارائه کند.

آیا همیشه باید نسل بالاتر را بخریم؟

خیر.

نسل پردازنده فقط یکی از متغیرهای تصمیم خرید است.

مثال:

Newer U-Series

vs

Older H-Series

انتخاب میان این دو به Workload بستگی دارد.

برای کاربر اداری ممکن است مدل U جدیدتر
به دلیل مصرف کمتر و سیستم جدیدتر انتخاب بهتری باشد.

برای Rendering یا Workload چند هسته ای سنگین،
مدل H قدیمی تر ممکن است همچنان مزیت داشته باشد.

Engineering Insight — نسل را درون یک معادله بزرگ تر ببینید

برای خرید لپ تاپ استوک بهتر است
به جای یک عدد، مجموعه عوامل را بررسی کنیم:

CPU Generation
+
CPU Class
+
Actual Performance
+
RAM
+
Storage
+
GPU
+
Display
+
Cooling
+
Battery Health
+
Upgradeability
+
Device Condition
+
Price

نتیجه این مجموعه است که ارزش خرید واقعی را تعیین می کند.


Upgradeability چیست؟

Upgradeability
یا «قابلیت ارتقا»
نشان می دهد چه بخش هایی از دستگاه
پس از خرید قابل ارتقا یا تعویض هستند.

برای مثال امکان ارتقای RAM و SSD
می تواند ارزش خرید یک لپ تاپ استوک را افزایش دهد.

Common Mistakes — اشتباهات رایج درباره نسل CPU
  • خرید فقط بر اساس عبارت Core i7.
  • فرض اینکه تمام Core i7ها از Core i5ها سریع تر هستند.
  • نادیده گرفتن پسوند CPU.
  • فرض اینکه نسل بالاتر در تمام Workloadها سریع تر است.
  • مقایسه U یک نسل با H نسل دیگر بدون بررسی مشخصات.
  • فرض اینکه تمام CPUهای یک نسل معماری کاملاً یکسان دارند.
  • استفاده از قانون رقم اول برای تمام محصولات Intel.
  • نادیده گرفتن تغییر Naming Scheme.
  • نادیده گرفتن تعداد Core و Thread.
  • نادیده گرفتن P-Core و E-Core در نسل های Hybrid.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن قیمت هنگام مقایسه نسل ها.
  • انتخاب نسل جدیدتر فقط به دلیل عدد بزرگ تر.

سوالات متداول نسل های پردازنده Intel

نسل CPU چیست؟

نسل یک طبقه بندی برای دوره ها و خانواده های مختلف
محصولات پردازنده است که می تواند با تغییرات
معماری و فناوری همراه باشد.

چگونه نسل CPU Intel را بفهمیم؟

در بسیاری از مدل های کلاسیک Core
می توان نسل را از ابتدای Processor Number تشخیص داد،
اما این روش برای تمام خانواده های Intel معتبر نیست.

i5-8250U نسل چند است؟

این پردازنده متعلق به نسل هشتم Intel Core است.

i5-10210U نسل چند است؟

این مدل متعلق به نسل دهم Intel Core است.

i5-1135G7 نسل چند است؟

این پردازنده متعلق به نسل یازدهم Intel Core است.

i5-1235U نسل چند است؟

این پردازنده متعلق به نسل دوازدهم Intel Core است.

آیا نسل 8 خیلی بهتر از نسل 7 است؟

در برخی مدل های موبایل U تغییر مهمی رخ داد
و تعداد Core افزایش یافت؛
بنابراین باید مدل های دقیق مورد مقایسه مشخص شوند.

چرا نسل 10 پیچیده است؟

زیرا در لپ تاپ های نسل دهم
خانواده های متفاوتی مانند Comet Lake
و Ice Lake وجود دارند که طراحی یکسانی ندارند.

نسل 12 چه تفاوت مهمی داشت؟

یکی از مهم ترین تغییرات،
استفاده گسترده از معماری Hybrid
شامل P-Core و E-Core در خانواده Core بود.

P-Core چیست؟

Performance Core یا هسته عملکردی،
هسته ای با تمرکز بر Performance بالاتر است.

E-Core چیست؟

Efficient Core یا هسته بهره ور،
برای ارائه Performance با بهره وری انرژی مناسب طراحی شده است.

آیا نسل جدیدتر همیشه بهتر است؟

خیر. مدل، پسوند، تعداد هسته،
Power Limit، Cooling و Workload
باید همزمان بررسی شوند.

برای خرید لپ تاپ استوک نسل CPU مهم است؟

بله، اما نباید تنها معیار خرید باشد.
وضعیت دستگاه، RAM، SSD، GPU، نمایشگر،
Cooling، باتری و قیمت نیز اهمیت دارند.

اصطلاحات جدید این فصل

  • Generation: نسل محصول.
  • Architecture: معماری پردازنده.
  • Microarchitecture: ریزمعماری و نحوه پیاده سازی داخلی پردازنده.
  • Tier: رده محصول.
  • Processor Number: شماره مدل پردازنده.
  • Naming Scheme: الگوی نام گذاری محصولات.
  • Core Ultra: خانواده جدیدتر پردازنده های Intel با نام گذاری متفاوت.
  • Refresh: نسخه به روز شده یک خانواده موجود.
  • Hybrid Architecture: معماری شامل انواع متفاوت هسته.
  • P-Core: Performance Core یا هسته عملکردی.
  • E-Core: Efficient Core یا هسته بهره ور.
  • Thread Director: فناوری کمک به مدیریت Threadها در معماری Hybrid Intel.
  • Scheduler: زمان بند سیستم عامل.
  • Multitasking: اجرای چند وظیفه در یک بازه زمانی.
  • Compression: فشرده سازی داده.
  • Upgradeability: قابلیت ارتقای سخت افزار.

خلاصه فصل

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

برای ارزیابی صحیح باید مسیر زیر طی شود:

Full CPU Name
→
Product Family
→
Generation
→
Microarchitecture
→
Suffix
→
Core Configuration
→
Power Class
→
Real Performance

مخصوصاً در نسل هایی مانند 8، 10 و 12،
تغییرات مهمی رخ داده که باعث می شود
مقایسه صرفاً بر اساس عبارت Core i5 یا Core i7
نتیجه قابل اعتمادی نداشته باشد.


فصل 30
سطح: متوسط تا پیشرفته
موضوع: مقایسه نسل به نسل Intel
تمرکز ویژه: ارزش خرید لپ تاپ استوک


هر افزایش شماره نسل، یک جهش بزرگ نیست

مقایسه نسل به نسل پردازنده های Intel؛ کدام ارتقا واقعاً مهم بود؟

وقتی دو لپ تاپ استوک را مقایسه می کنیم،
بالاتر بودن نسل CPU به تنهایی پاسخ نمی دهد
که کدام دستگاه انتخاب بهتری است.

بعضی انتقال های نسلی تغییر نسبتاً محدودی ایجاد کرده اند،
در حالی که بعضی نسل ها تعداد هسته، معماری،
گرافیک مجتمع یا ساختار کلی پردازنده را
به شکل قابل توجهی تغییر داده اند.

در این فصل نسل های مهم Intel را
نه به صورت جداگانه،
بلکه مستقیماً در برابر نسل قبل و بعد قرار می دهیم.

Engineering Insight — شماره نسل فقط یکی از متغیرهای مقایسه است

مقایسه صحیح باید تقریباً از این منطق پیروی کند:

Generation
+
CPU Model
+
Architecture
+
Suffix
+
Core Configuration
+
Power
+
Cooling
+
Workload
=
Meaningful Comparison

اگر فقط Generation را مقایسه کنیم،
احتمال نتیجه گیری اشتباه زیاد است.

جهش نسلی چیست؟


Generational Leap چیست؟

Generational Leap
را می توان «جهش نسلی» ترجمه کرد.

منظور شرایطی است که نسل جدید
نسبت به نسل قبلی تغییر قابل توجهی
در یک یا چند بخش مهم ایجاد کند.

این تغییر ممکن است مربوط به:

  • تعداد هسته
  • IPC
  • معماری
  • مصرف انرژی
  • گرافیک مجتمع
  • حافظه
  • پلتفرم
  • قابلیت های جدید

باشد.

نسل 6 در برابر نسل 7 — Skylake vs Kaby Lake

انتقال از نسل ششم به هفتم
در بسیاری از لپ تاپ های تجاری
بیشتر یک تکامل محسوب می شود
تا یک تغییر بنیادی در ساختار CPU.

برای نمونه می توان این دو پردازنده را دید:

Core i5-6300U

vs

Core i5-7300U

ویژگی i5-6300U i5-7300U
نسل 6 7
Core 2 2
Thread 4 4
کلاس U U
تغییر کلی مبنای مقایسه بهبود تکاملی

در چنین مقایسه ای نباید انتظار داشت
فقط به دلیل تغییر عدد 6 به 7،
تجربه کاربری کاملاً متفاوتی ایجاد شود.

Performance Impact — آیا نسل 7 ارزش پرداخت بیشتر از نسل 6 دارد؟

اگر دو لپ تاپ از نظر RAM، SSD،
نمایشگر، سلامت دستگاه و سایر مشخصات مشابه باشند،
نسل هفتم می تواند انتخاب بهتر باشد.

اما اگر اختلاف قیمت زیاد باشد،
صرفاً یک نسل بالاتر بودن
همیشه توجیه اقتصادی ایجاد نمی کند.

نسل 7 در برابر نسل 8 — یکی از مهم ترین جهش ها

این مقایسه بسیار مهم تر است.

در بخشی از پردازنده های کم مصرف لپ تاپ،
نسل هشتم افزایش مهمی در تعداد هسته ایجاد کرد.

Core i5-7300U

vs

Core i5-8350U

ویژگی Core i5-7300U Core i5-8350U
نسل 7 8
Core 2 4
Thread 4 8
کلاس U U
تغییر مهم Dual-Core Quad-Core


Dual-Core و Quad-Core یعنی چه؟

Dual-Core
یعنی پردازنده دارای دو هسته پردازشی است.

Quad-Core
یعنی پردازنده دارای چهار هسته پردازشی است.

افزایش تعداد Core می تواند در Workloadهایی
که قابلیت استفاده از چند هسته را دارند
Performance را افزایش دهد.

Under the Hood — چرا نسل 8 برای لپ تاپ های اداری مهم شد؟

در بسیاری از لپ تاپ های تجاری نسل 6 و 7،
پردازنده های Core i5 سری U
دو هسته و چهار Thread داشتند.

در مدل هایی مانند Core i5-8250U
و Core i5-8350U تعداد هسته
به چهار و تعداد Thread به هشت رسید.

این تغییر ظرفیت پردازنده را
برای Workloadهای چند هسته ای و Multitasking
افزایش داد.

به همین دلیل فاصله نسل 7 و 8
در این بخش از بازار
از بسیاری از تغییرات یک نسل معمولی مهم تر است.

Engineering Insight — نسل 8 یکی از نقاط مهم خرید استوک است

اگر بودجه اجازه دهد،
در بسیاری از لپ تاپ های اداری
عبور از مدل های دو هسته ای نسل 6 و 7
به مدل های چهار هسته ای نسل 8
می تواند ارتقای معناداری باشد.

البته همچنان باید مدل دقیق CPU بررسی شود؛
«نسل 8» به تنهایی تضمین کننده
چهار هسته بودن تمام پردازنده های آن نسل نیست.

نسل 8 در برابر نسل 9

مقایسه نسل هشتم و نهم کمی متفاوت است،
زیرا نسل نهم در بازار لپ تاپ
بیشتر در مدل های Performance محور دیده می شود.

برای مثال:

Core i7-8750H

vs

Core i7-9750H

هر دو در کلاس H قرار دارند
و هر دو برای لپ تاپ های قدرتمند طراحی شده اند.

نسل نهم بهبودهایی در Clock و Performance ایجاد کرد،
اما تفاوت این دو را نباید با جهش
دو هسته به چهار هسته در برخی مدل های U نسل 7 به 8
یکسان تصور کرد.


Incremental Improvement چیست؟

Incremental Improvement
یعنی «بهبود تدریجی».

در این حالت نسل جدید بهتر شده است،
اما تغییر آن الزاماً ساختار کلی محصول
را دگرگون نمی کند.

Performance Impact — نسل 8 یا 9؟

اگر لپ تاپ نسل 9 با اختلاف قیمت کم عرضه شود،
مدل جدیدتر می تواند منطقی باشد.

اما در بازار استوک ممکن است
یک Workstation نسل 8 با Cooling بهتر،
GPU بهتر یا قیمت مناسب تر،
ارزش خرید بیشتری از لپ تاپ نسل 9 داشته باشد.

نسل 9 در برابر نسل 10 — مقایسه ای که باید با احتیاط انجام شود

نسل دهم را نمی توان فقط به عنوان
«نسخه جدیدتر نسل نهم» در نظر گرفت.

در لپ تاپ های نسل دهم
چند خانواده مختلف پردازنده وجود دارند.

Comet Lake

Ice Lake

بنابراین ابتدا باید مشخص شود
درباره کدام خانواده صحبت می کنیم.

نمونه خانواده نکته مهم
Core i5-10210U Comet Lake-U ادامه مسیر طراحی قبلی با بهینه سازی
Core i5-1035G1 Ice Lake-U ریزمعماری و گرافیک متفاوت
Core i7-1065G7 Ice Lake-U گرافیک مجتمع قوی تر در این خانواده

Common Mistake — تمام Core i5های نسل 10 تقریباً یکسان هستند

خیر.

دو CPU می توانند هر دو Core i5 نسل دهم باشند،
اما از خانواده های متفاوتی استفاده کنند.

بنابراین باید شماره کامل مدل
و مشخصات واقعی CPU بررسی شود.

نسل 10 در برابر نسل 11 — اهمیت معماری و گرافیک مجتمع

نسل یازدهم Tiger Lake
در لپ تاپ های باریک و تجاری
تغییرات مهمی ایجاد کرد.

برای مثال:

Core i5-1035G1

vs

Core i5-1135G7

در اینجا فقط Clock را نباید مقایسه کرد.
تغییرات ریزمعماری و بخش گرافیکی
نیز اهمیت دارند.


iGPU چیست؟

iGPU
مخفف Integrated Graphics Processing Unit
یا «پردازنده گرافیکی مجتمع» است.

این GPU درون پردازنده یا Package پردازنده
قرار دارد و برخلاف کارت گرافیک مجزا،
معمولاً از حافظه سیستم نیز استفاده می کند.

Performance Impact — گاهی ارتقای نسل فقط برای CPU نیست

در لپ تاپی که کارت گرافیک مجزا ندارد،
پیشرفت iGPU می تواند بسیار مهم باشد.

بنابراین هنگام مقایسه برخی مدل های نسل 10 و 11،
علاوه بر CPU Performance،
باید Integrated Graphics نیز بررسی شود.

نسل 11 در برابر نسل 12 — یکی از بزرگ ترین تغییرات ساختاری

انتقال از Tiger Lake به Alder Lake
یکی از مهم ترین تغییرات این فهرست است.

دلیل اصلی فقط افزایش Performance نیست.

ساختار CPU تغییر کرد.

Traditional Core Design

↓

Hybrid Core Design

در بسیاری از مدل های نسل دوازدهم
ترکیبی از P-Core و E-Core استفاده شد.

ویژگی Core i5-1135G7 Core i5-1235U
نسل 11 12
طراحی Core هسته های هم نوع در این مدل P-Core + E-Core
ساختار Traditional Hybrid
تغییر مهم مبنای مقایسه تغییر ساختاری در طراحی CPU


Traditional Core Design یعنی چه؟

منظور از Traditional Core Design
در این مقایسه،
ساختاری است که Coreهای اصلی CPU
از یک کلاس هسته استفاده می کنند.

این عبارت در اینجا برای مقایسه مفهومی
با طراحی Hybrid استفاده شده است.

Under the Hood — معماری Hybrid چه چیزی را تغییر داد؟

در معماری Hybrid،
تمام Coreها الزاماً نقش و طراحی یکسان ندارند.

P-Coreها برای Performance بالا طراحی شده اند،
در حالی که E-Coreها بر بهره وری
و اجرای مناسب وظایف موازی تمرکز دارند.

سیستم عامل با کمک Scheduler
و فناوری هایی مانند Intel Thread Director
تلاش می کند Threadها را
روی Core مناسب قرار دهد.

در نتیجه شمارش ساده Coreها
بدون دانستن نوع آنها
دیگر همیشه اطلاعات کافی نمی دهد.

Engineering Insight — نسل 12 یک مرز مهم دیگر در بازار استوک است

همان طور که نسل 8 در بخشی از مدل های U
افزایش مهم تعداد Core ایجاد کرد،
نسل 12 نیز با ورود گسترده معماری Hybrid
نقطه تغییر مهم دیگری ایجاد کرد.

بنابراین هنگام مقایسه لپ تاپ نسل 11 و 12،
اختلاف قیمت باید در کنار
تغییر ساختار پردازنده بررسی شود.

نسل 12 در برابر نسل 13 — تکامل معماری Hybrid

نسل سیزدهم معماری Hybrid را کنار نگذاشت،
بلکه آن را توسعه داد.

بسته به مدل،
تغییراتی در:

  • تعداد Core
  • Clock
  • Cache
  • Power Behavior
  • Performance چند هسته ای

مشاهده می شود.


Power Behavior چیست؟

Power Behavior
یا «رفتار توان»
به نحوه مصرف و مدیریت توان CPU
در شرایط کاری مختلف اشاره دارد.

CPU ممکن است در Load کوتاه،
Load طولانی، حالت Idle یا محدودیت حرارتی
رفتار متفاوتی داشته باشد.

Performance Impact — نسل 13 همیشه ارتقای ضروری نسبت به 12 نیست

اگر دو لپ تاپ از کلاس مشابه باشند،
نسل سیزدهم معمولاً مزایایی دارد.

اما در بازار استوک،
اگر دستگاه نسل دوازدهم
اختلاف قیمت قابل توجهی داشته باشد،
ممکن است Value for Money بهتری ارائه کند.


Value for Money چیست؟

Value for Money
یعنی «ارزش دریافتی در برابر هزینه پرداخت شده».

محصولی که سریع ترین گزینه بازار نیست
می تواند به دلیل قیمت بسیار مناسب تر،
ارزش خرید بیشتری داشته باشد.

نسل 13 در برابر نسل 14 — چرا باید مدل دقیق را بررسی کنیم؟

در برخی خانواده های نسل چهاردهم،
تغییرات ماهیت Refresh دارند.

یعنی الزاماً با یک بازطراحی بنیادی
مشابه انتقال نسل 11 به 12 روبه رو نیستیم.

به همین دلیل صرف مشاهده عدد 14
نباید باعث شود اختلاف قیمت زیاد
به صورت خودکار منطقی فرض شود.

Common Mistake — عدد 14 یعنی جهش بزرگ نسبت به 13

این نتیجه گیری عمومی صحیح نیست.

ابتدا باید مدل دقیق CPU،
خانواده پردازنده و تغییرات همان مدل بررسی شود.

در برخی موارد تفاوت می تواند محدودتر از چیزی باشد
که شماره نسل در نگاه اول القا می کند.

کدام انتقال های نسلی برای خریدار مهم تر هستند؟

انتقال نوع تغییر اهمیت کلی دلیل
6 → 7 تکاملی متوسط بهبود بدون تغییر بنیادی در بسیاری از مدل ها
7 → 8 مهم بسیار بالا در برخی مدل های U افزایش مهم تعداد Core
8 → 9 تکاملی وابسته به مدل بهبود Performance در خانواده های مختلف
9 → 10 پیچیده وابسته به خانواده وجود چند خانواده متفاوت
10 → 11 مهم بالا در برخی لپ تاپ ها تغییر معماری و پیشرفت iGPU
11 → 12 ساختاری بسیار بالا ورود معماری Hybrid
12 → 13 تکامل Hybrid وابسته به مدل Core، Cache، Clock و Performance
13 → 14 در برخی خانواده ها Refresh وابسته به مدل لزوم بررسی مدل دقیق

این جدول برای مقایسه مدل های نامرتبط استفاده نشود

عبارت «نسل 8 به 9» به تنهایی
نمی گوید هر CPU نسل نهم
از هر CPU نسل هشتم سریع تر است.

برای مثال مقایسه یک پردازنده کم مصرف U
با یک پردازنده H یا Xeon
نیازمند بررسی جداگانه است.

Core i5 نسل جدید یا Core i7 نسل قدیمی؟

این یکی از رایج ترین سوالات خریداران است.

پاسخ ثابت ندارد.

مثال:

Core i7-7600U

vs

Core i5-8350U

فقط با دیدن عبارت i7 ممکن است
مدل اول قوی تر به نظر برسد.

اما i7-7600U یک پردازنده
دو هسته ای / چهار Thread است،
در حالی که i5-8350U
چهار هسته و هشت Thread دارد.

در بسیاری از Workloadهای چند هسته ای،
این تفاوت می تواند بسیار مهم باشد.

Engineering Insight — Tier را فقط داخل Context خودش مقایسه کنید

Core i7 بودن نشان می دهد CPU
در خانواده و دوره خودش در چه جایگاهی قرار گرفته،
اما تضمین نمی کند از Core i5 نسل های بعدی سریع تر باشد.

مقایسه صحیح:

Full Model vs Full Model

نه:

i7 vs i5

حتی i5 و i7 هم نسل را نیز باید دقیق مقایسه کرد

حتی اگر دو CPU متعلق به یک نسل باشند،
پسوند آنها می تواند کلاس طراحی را تغییر دهد.

برای مثال:

Core i7 U-Series

vs

Core i5 H-Series

ممکن است مدل H در Workloadهای سنگین
Performance بیشتری ارائه کند.

بنابراین Tier و Generation
هیچ کدام به تنهایی کافی نیستند.

چه زمانی پرداخت پول بیشتر برای نسل جدید منطقی است؟

01
مدل دقیق را پیدا کنیدنام کامل CPU هر دو لپ تاپ را ثبت کنید.
02
Core و Thread را مقایسه کنیدفقط به Core i5 یا Core i7 توجه نکنید.
03
پسوند را بررسی کنیدU، P، H، HS یا HX می تواند کلاس دستگاه را تغییر دهد.
04
معماری را بررسی کنیدببینید تغییر نسل فقط Refresh است یا تغییر معماری مهمی رخ داده است.
05
Benchmark مرتبط را بررسی کنیدBenchmark باید با نوع کاربری شما مرتبط باشد.
06
کل لپ تاپ را مقایسه کنیدRAM، SSD، GPU، Display، Cooling و باتری را وارد مقایسه کنید.
07
اختلاف قیمت را بسنجیدافزایش Performance باید با هزینه بیشتر مقایسه شود.
08
طول عمر کاربری را در نظر بگیریدگاهی نسل جدیدتر برای چند سال استفاده ارزش هزینه بیشتر دارد.

راهنمای سریع انتخاب نسل Intel در لپ تاپ استوک

نسل جایگاه کلی مناسب برای نکته خرید
4–5 قدیمی کاربری بسیار سبک فقط در قیمت بسیار مناسب و نیاز محدود
6 اقتصادی قدیمی Office و کار سبک مدل و قیمت مهم است
7 اقتصادی کاربری عمومی سبک با نسل 8 مقایسه شود
8 نقطه مهم بازار استوک Office، دانشجویی، برنامه نویسی و استفاده عمومی مدل های چهار هسته ای اهمیت ویژه دارند
9 Performance قدیمی تر Gaming و Workstationهای آن دوره Cooling و GPU بررسی شود
10 متنوع عمومی تا حرفه ای خانواده دقیق CPU بسیار مهم است
11 مدرن تر تجاری، روزمره و دستگاه های بدون GPU مجزا iGPU می تواند مزیت مهمی باشد
12 تغییر ساختاری طیف وسیع کاربری ها نوع P-Core و E-Core بررسی شود
13 تکامل Hybrid کاربری مدرن و حرفه ای اختلاف قیمت با نسل 12 بررسی شود
14 جدیدتر وابسته به مدل صرف شماره نسل معیار خرید نباشد

نسل CPU و پشتیبانی نرم افزاری

هنگام خرید سیستم قدیمی،
فقط Performance امروز را بررسی نکنید.

سیستم عامل، Driver،
Firmware، ویژگی های امنیتی
و نرم افزارهای آینده نیز اهمیت دارند.

هرچه پلتفرم قدیمی تر شود،
احتمال محدود شدن پشتیبانی رسمی
در آینده بیشتر می شود.


Driver چیست؟

Driver
یا «راه انداز»
نرم افزاری است که امکان ارتباط
سیستم عامل با سخت افزار را فراهم می کند.


Firmware چیست؟

Firmware
یا «میان افزار»
نرم افزاری سطح پایین است
که برای کنترل و راه اندازی سخت افزار استفاده می شود.

BIOS و UEFI نمونه هایی از بخش هایی هستند
که در این سطح از سیستم اهمیت دارند.


Future-Proof چیست؟

Future-Proof
اصطلاحی غیررسمی برای توصیف سیستمی است
که انتظار می رود برای نیازهای آینده
مدت بیشتری مناسب باقی بماند.

هیچ کامپیوتری واقعاً برای آینده تضمین شده نیست،
بنابراین بهتر است این اصطلاح
به معنی «حاشیه عمر مفید بیشتر» در نظر گرفته شود.

Under the Hood — فرمول واقعی انتخاب بین دو نسل

انتخاب صحیح را نمی توان
فقط با یک ستون Benchmark انجام داد.

برای خرید لپ تاپ استوک:

Real Value
=
Useful Performance
+
Device Quality
+
Upgradeability
+
Software Support
+
Remaining Useful Life
–
Price Premium

یعنی باید ببینیم با پول اضافه ای که
برای نسل جدیدتر پرداخت می کنیم،
دقیقاً چه چیزی به دست می آوریم.

Common Mistakes — اشتباهات مقایسه نسل های Intel
  • نسل جدیدتر را بدون بررسی مدل سریع تر فرض کردن.
  • مقایسه Core i7 قدیمی با Core i5 جدید فقط بر اساس نام.
  • نادیده گرفتن U و H.
  • نادیده گرفتن تعداد Core و Thread.
  • فرض یکسان بودن تمام CPUهای یک نسل.
  • نادیده گرفتن معماری Hybrid.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن Cooling.
  • استفاده از Benchmark نامرتبط.
  • نادیده گرفتن RAM و SSD.
  • نادیده گرفتن GPU مجزا.
  • نادیده گرفتن پشتیبانی نرم افزاری.
  • پرداخت اختلاف قیمت زیاد فقط برای یک شماره نسل بالاتر.
  • نادیده گرفتن سلامت فیزیکی لپ تاپ استوک.

سوالات متداول مقایسه نسل های Intel

نسل 7 بهتر است یا نسل 8؟

در بسیاری از مدل های U،
نسل هشتم به دلیل افزایش تعداد Core
ارتقای مهمی نسبت به نسل هفتم ایجاد کرد.
با این حال مدل دقیق CPU باید بررسی شود.

چرا نسل 8 در لپ تاپ استوک مهم است؟

زیرا برخی پردازنده های بسیار رایج سری U
از دو هسته در نسل قبل
به چهار هسته رسیدند و ظرفیت Multi-Core
به شکل محسوسی افزایش یافت.

نسل 8 بهتر است یا 9؟

پاسخ به مدل و کلاس CPU بستگی دارد.
نسل نهم در لپ تاپ بیشتر در مدل های
Performance محور دیده می شود.

نسل 10 بهتر است یا نسل 11؟

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

نسل 11 بهتر است یا نسل 12؟

نسل دوازدهم تغییر ساختاری مهمی
با معماری Hybrid ایجاد کرد.
با این حال ارزش ارتقا به قیمت
و مدل دقیق دو لپ تاپ بستگی دارد.

نسل 12 بهتر است یا 13؟

نسل سیزدهم معماری Hybrid را توسعه داد،
اما میزان تفاوت بسته به مدل متفاوت است.
اختلاف قیمت باید در تصمیم خرید لحاظ شود.

نسل 13 بهتر است یا 14؟

نمی توان فقط از روی شماره نسل پاسخ داد.
برخی محصولات نسل چهاردهم ماهیت Refresh دارند
و مدل دقیق باید بررسی شود.

i7 نسل 7 بهتر است یا i5 نسل 8؟

مدل دقیق اهمیت دارد؛
اما برای نمونه i5-8350U چهار هسته و هشت Thread دارد،
در حالی که i7-7600U دو هسته و چهار Thread است.
بنابراین نام i7 به تنهایی نشانه برتری نیست.

i7 قدیمی بهتر است یا i5 جدید؟

پاسخ ثابت ندارد.
شماره کامل مدل، نسل، پسوند،
Core، Thread، Power و Benchmark مرتبط
باید بررسی شوند.

برای کار اداری حداقل چه نسلی مناسب است؟

نمی توان فقط بر اساس نسل حداقل مشخص کرد.
نوع نرم افزار، RAM، SSD، بودجه
و مدل دقیق CPU اهمیت دارند.
در بازار استوک، مدل های چهار هسته ای نسل 8
معمولاً نقطه مقایسه مهمی محسوب می شوند.

آیا خرید نسل 6 یا 7 هنوز منطقی است؟

برای کاربری سبک و با قیمت مناسب ممکن است منطقی باشد،
اما باید محدودیت Performance،
عمر پلتفرم و پشتیبانی نرم افزاری آینده را در نظر گرفت.

آیا همیشه باید جدیدترین نسل را بخریم؟

خیر. بهترین انتخاب مدلی است
که Performance مورد نیاز را
با قیمت، کیفیت دستگاه و طول عمر مناسب ارائه کند.

اصطلاحات جدید این فصل

  • Generational Leap: جهش قابل توجه میان دو نسل.
  • Incremental Improvement: بهبود تدریجی بدون تغییر بنیادی.
  • Dual-Core: پردازنده دو هسته ای.
  • Quad-Core: پردازنده چهار هسته ای.
  • iGPU: پردازنده گرافیکی مجتمع.
  • Traditional Core Design: اصطلاح مقایسه ای برای طراحی غیر Hybrid در این بحث.
  • Power Behavior: نحوه رفتار مصرف توان پردازنده در شرایط مختلف.
  • Value for Money: ارزش دریافتی در برابر هزینه.
  • Driver: راه انداز سخت افزار.
  • Firmware: میان افزار سطح پایین سخت افزار.
  • Future-Proof: داشتن حاشیه عمر مفید بیشتر برای نیازهای آینده.

خلاصه فصل

مهم ترین درس این فصل این است که
فاصله تمام نسل های Intel یکسان نیست.

بعضی انتقال ها بیشتر تکاملی هستند،
اما برخی تغییرات اهمیت بیشتری داشته اند.

به ویژه در بازار لپ تاپ استوک،
این دو نقطه باید با دقت بیشتری بررسی شوند:

7th → 8th Generation

Core Count Change in Important U-Series Models

11th → 12th Generation

Hybrid Architecture

اما حتی در این موارد نیز
مدل کامل CPU باید بررسی شود.

قاعده نهایی:

Never Buy the Generation.

Buy the Right Processor
Inside the Right Laptop
for the Right Workload.

یعنی:
«نسل را نخرید؛ پردازنده مناسب را
در لپ تاپ مناسب و برای کاربری مناسب انتخاب کنید.»


فصل 31
سطح: پایه تا پیشرفته
موضوع: رمزگشایی نام پردازنده های Intel
کاربرد: تشخیص نسل، رده و کلاس CPU


نام CPU یک کد تصادفی نیست

رمزگشایی کامل نام پردازنده Intel؛ چگونه مدل، نسل و پسوند CPU را بخوانیم؟

عبارتی مانند Core i7-8650U فقط نام یک محصول نیست.
بخش های مختلف این نام اطلاعاتی درباره خانواده،
رده، نسل، شماره مدل و کلاس پردازنده در اختیار ما قرار می دهند.

اما یک مشکل وجود دارد:
Intel در طول زمان سیستم نام گذاری پردازنده های خود را تغییر داده است.
بنابراین نمی توان یک قانون ساده را برای تمام CPUهای Intel
از گذشته تا امروز استفاده کرد.

هدف این فصل ساختن یک روش مرحله به مرحله است
تا بتوانیم نام پردازنده را بخوانیم،
بخش های مختلف آن را از هم جدا کنیم
و از اشتباهات رایج در تشخیص نسل جلوگیری کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • ساختار کلی نام پردازنده های Intel چیست.
  • Intel، Core، i5، i7 و i9 چه مفهومی دارند.
  • Processor Number چیست.
  • چگونه نسل پردازنده را از شماره مدل تشخیص دهیم.
  • چرا مدل های چهار رقمی و پنج رقمی متفاوت خوانده می شوند.
  • Suffix یا پسوند چه اطلاعاتی می دهد.
  • چرا G7 در i5-1135G7 به معنی نسل هفتم نیست.
  • چرا i5-1035G1 و i5-10210U با وجود نسل یکسان، ساختار نام متفاوتی دارند.
  • چگونه مدل های H، U، P، HX و سایر پسوندها را تشخیص دهیم.
  • ساختار نام گذاری Core Ultra چگونه با Core i کلاسیک تفاوت دارد.
  • چرا همیشه باید مدل کامل CPU را ثبت کنیم.

اولین قانون: همیشه نام کامل پردازنده را پیدا کنید

عبارت های زیر برای مقایسه حرفه ای CPU کافی نیستند:

Intel Core i5

Intel Core i7

Intel Core i9

این نام ها فقط بخشی از هویت پردازنده را مشخص می کنند.

چیزی که به آن نیاز داریم نام کامل مدل است:

Intel Core i5-8350U

Intel Core i7-9750H

Intel Core i5-10210U

Intel Core i5-1135G7

Intel Core i7-12700H


Full Model Name چیست؟

Full Model Name
یا «نام کامل مدل»
به نامی گفته می شود که اطلاعات کافی
برای شناسایی دقیق پردازنده ارائه می کند.

گفتن «Core i7» مانند این است
که درباره یک خودرو فقط بگوییم
متعلق به یک سری مشخص است،
اما مدل، سال و نسخه آن را مشخص نکنیم.

کالبدشکافی نام یک CPU

Intel Core i7-8650U

Intel
|
Core
|
i7
|
8650
|
U

بخش مقدار مفهوم
Brand Intel شرکت و برند پردازنده
Product Family Core خانواده محصول
Tier i7 رده محصول
Processor Number 8650 شماره پردازنده
Generation Indicator 8 در این ساختار نشان دهنده نسل هشتم
SKU Digits 650 بخشی از شماره مدل برای تمایز مدل ها
Suffix U پسوند و کلاس محصول


SKU چیست؟

SKU
مخفف Stock Keeping Unit است.

ترجمه تحت اللفظی آن می تواند
«واحد نگهداری موجودی» باشد،
اما در بحث مدل پردازنده بهتر است آن را
به عنوان بخشی از شناسه یا شماره مدل محصول در نظر بگیریم.

اعداد SKU برای تمایز مدل های مختلف
یک خانواده استفاده می شوند،
اما نباید فقط با بزرگ تر بودن عدد SKU
نتیجه بگیریم یک CPU در تمام شرایط سریع تر است.

تشخیص نسل در مدل های چهار رقمی

در بسیاری از پردازنده های کلاسیک Intel Core
از نسل های قدیمی تر،
شماره مدل چهار رقمی است.

مثال:

i5-2520M

i5-3320M

i5-4300U

i5-5300U

i5-6300U

i5-7300U

i5-8350U

i7-9750H

در این ساختار،
رقم اول شماره پردازنده معمولاً
نسل را نشان می دهد.

مدل عدد نسل نسل پسوند
i5-2520M 2 دوم M
i5-3320M 3 سوم M
i5-4300U 4 چهارم U
i5-5300U 5 پنجم U
i5-6300U 6 ششم U
i5-7300U 7 هفتم U
i5-8350U 8 هشتم U
i7-9750H 9 نهم H

از نسل دهم چه اتفاقی افتاد؟

وقتی Intel به نسل دهم رسید،
دیگر یک رقم برای نمایش شماره نسل کافی نبود.

بنابراین در مدل هایی مانند:

Core i5-10210U

Core i7-10510U

دو رقم اول شماره پردازنده
به نسل دهم اشاره می کنند.

Core i5-10210U

i5
|
10
|
210
|
U

در این مدل:

  • i5 = رده محصول
  • 10 = نسل دهم
  • 210 = بخشی از شماره مدل
  • U = پسوند

خواندن مدل های نسل یازدهم

نمونه معروف:

Core i5-1135G7

i5
|
11
|
35
|
G7

عدد 11 در ابتدای Processor Number
به نسل یازدهم اشاره دارد.

اما بخش G7
نباید با نسل اشتباه گرفته شود.

Common Mistake — G7 یعنی نسل هفتم

خیر.

در مدلی مانند:

Core i5-1135G7

عدد 11 نشان دهنده نسل پردازنده است.

بخش G7
بخشی از سیستم نام گذاری آن خانواده
و مرتبط با سطح گرافیکی مدل است.

بنابراین این CPU نسل یازدهم است،
نه نسل هفتم.


Graphics Level چیست؟

Graphics Level
یعنی «سطح گرافیکی».

در برخی خانواده های Intel،
بخش هایی مانند G1، G4 یا G7
برای مشخص کردن سطح یا پیکربندی گرافیکی
در نام محصول استفاده شده اند.

این عدد را نباید با Generation اشتباه گرفت.

چرا نسل دهم می تواند خریدار را گیج کند؟

این دو مدل را ببینید:

Core i5-10210U

Core i5-1035G1

هر دو Core i5 نسل دهم هستند.

اما ساختار نام آنها متفاوت است
زیرا به خانواده های متفاوتی تعلق دارند.

CPU نسل خانواده بخش پایانی نام
i5-10210U 10 Comet Lake-U U
i5-1035G1 10 Ice Lake-U G1
i7-1065G7 10 Ice Lake-U G7

Under the Hood — چرا فقط شماره نسل کافی نیست؟

وقتی یک نسل شامل چند خانواده متفاوت باشد،
دو CPU با شماره نسل یکسان
ممکن است از طراحی داخلی متفاوتی استفاده کنند.

در نتیجه ممکن است تفاوت هایی در:

CPU Architecture
+
iGPU
+
Memory Support
+
Power Characteristics
+
Platform Features

وجود داشته باشد.

بنابراین «نسل» نقطه شروع شناسایی CPU است،
نه پایان آن.

خواندن نام پردازنده های نسل دوازدهم

در مدل هایی مانند:

Core i5-1235U

Core i5-1240P

Core i5-12500H

Core i7-1260P

Core i7-12700H

عدد 12 در ابتدای Processor Number
نشان دهنده نسل دوازدهم است.

اما پسوند اهمیت بسیار زیادی دارد.

مدل نسل پسوند کلاس کلی
i5-1235U 12 U کم مصرف موبایل
i5-1240P 12 P موبایل با تمرکز بیشتر بر Performance
i5-12500H 12 H Performance Mobile
i7-12800HX 12 HX Performance بسیار بالا در لپ تاپ

پسوندهای چند حرفی چگونه خوانده می شوند؟

همه پسوندهای Intel یک حرفی نیستند.

نمونه:

HX

HK

HQ

این ترکیب ها باید به صورت یک پسوند کامل خوانده شوند.

برای مثال در:

Core i7-12800HX

پسوند HX است،
نه اینکه H و X را بدون توجه به ساختار مدل
جداگانه تفسیر کنیم.

Engineering Insight — پسوند بخشی از هویت CPU است

هنگام ثبت مدل پردازنده،
حذف پسوند می تواند اطلاعات مهمی را از بین ببرد.

برای مثال:

Core i7-12700

Core i7-12700H

Core i7-12700K

نام های مشابهی دارند،
اما برای کلاس های متفاوت محصول طراحی شده اند.

بنابراین در مشخصات محصول
همیشه نام کامل CPU نوشته شود.

خواندن مدل های نسل سیزدهم

نمونه:

Core i5-1335U

Core i5-1340P

Core i5-13500H

Core i7-1365U

Core i7-13700H

Core i9-13980HX

در این مدل ها عدد 13
نشان دهنده نسل سیزدهم است.

Core i7-1365U

Core
|
i7
|
13
|
65
|
U

  • Core = خانواده
  • i7 = رده
  • 13 = نسل
  • 65 = بخشی از شماره مدل
  • U = پسوند

مدل های نسل چهاردهم Core

در بخشی از پردازنده های Core نسل چهاردهم
همچنان ساختاری شبیه مدل های نسل های قبل دیده می شود.

نمونه:

Core i7-14700HX

Core i9-14900HX

عدد 14 در این مدل ها
به نسل چهاردهم Core اشاره دارد.

اما در همین دوره،
سیستم نام گذاری جدیدتری نیز وارد بازار شده است:

Intel Core Ultra

Common Mistake — تمام پردازنده های جدید Intel باید i5، i7 یا i9 داشته باشند

خیر.

Intel سیستم نام گذاری محصولات جدید خود را تغییر داده
و خانواده هایی با نام:

Core

Core Ultra

نیز وجود دارند.

بنابراین نبود حرف i
الزاماً به معنی اشتباه بودن نام CPU نیست.

چگونه نام Intel Core Ultra را بخوانیم؟

نمونه:

Intel Core Ultra 7 155H

Intel
|
Core Ultra
|
7
|
155
|
H

بخش مقدار مفهوم
Brand Intel برند
Product Family Core Ultra خانواده محصول
Tier 7 رده محصول
Processor Number 155 شماره پردازنده در سیستم جدید
Suffix H کلاس محصول


Series در نام گذاری جدید چیست؟

در سیستم نام گذاری Core Ultra،
Intel از مفهوم Series
یا «سری» نیز استفاده می کند.

بنابراین بهتر است پردازنده های Core Ultra
را با قواعد رسمی همان خانواده شناسایی کنیم
و قانون قدیمی «رقم اول = نسل»
را به صورت خودکار روی آنها اعمال نکنیم.

نمونه هایی از این نوع نام گذاری:

Core Ultra 5 125H

Core Ultra 7 155H

Core Ultra 7 165H

Core Ultra 9 185H

تفاوت سیستم قدیمی و جدید نام گذاری Intel

ساختار نمونه روش خواندن
Core i کلاسیک Core i7-8650U i7 + نسل 8 + مدل + U
Core i پنج رقمی Core i5-10210U i5 + نسل 10 + مدل + U
Core i با G Core i5-1135G7 i5 + نسل 11 + مدل + سطح گرافیکی
Core i Hybrid Core i7-12700H i7 + نسل 12 + مدل + H
Core Ultra Core Ultra 7 155H خانواده جدید + Tier + Processor Number + Suffix

Under the Hood — وقتی نام گذاری را نمی شناسیم چه کنیم؟

مهم ترین مهارت یک کاربر حرفه ای
حفظ کردن تمام مدل های CPU نیست.

مهارت مهم تر این است که بداند
چه زمانی نباید از روی نام حدس بزند.

اگر ساختار مدل با الگوهای شناخته شده
تطابق نداشت:

Do Not Guess

نام کامل CPU را ثبت کنید
و مشخصات رسمی همان مدل را بررسی کنید.

الگوریتم عملی تشخیص یک پردازنده Intel

01
نام کامل CPU را پیدا کنیدCore i7 کافی نیست؛ شماره کامل مدل لازم است.
02
خانواده را مشخص کنیدCore i کلاسیک، Core، Core Ultra یا خانواده دیگر؟
03
Tier را مشخص کنیدi3، i5، i7، i9 یا Core Ultra 5، 7 و 9؟
04
Processor Number را جدا کنیداعداد اصلی مدل را از پسوند جدا کنید.
05
سیستم نام گذاری را تشخیص دهیدقبل از استخراج نسل مشخص کنید CPU متعلق به کدام دوره نام گذاری است.
06
نسل یا Series را تعیین کنیداز قانون مناسب همان خانواده استفاده کنید.
07
پسوند را بخوانیدU، P، H، HX، K و سایر پسوندها را نادیده نگیرید.
08
مشخصات واقعی را بررسی کنیدCore، Thread، Cache، Clock، Power و iGPU را ببینید.
09
CPU را در Context لپ تاپ بررسی کنیدCooling، Power Limit و طراحی دستگاه می توانند عملکرد واقعی را تغییر دهند.


Context یعنی چه؟

Context
یعنی «زمینه» یا «شرایطی که یک موضوع در آن بررسی می شود».

در اینجا منظور این است که CPU
جدا از لپ تاپ بررسی نشود.

یک پردازنده یکسان ممکن است
در دو لپ تاپ با سیستم Cooling
و محدودیت توان متفاوت،
Performance کاملاً یکسانی ارائه نکند.

چگونه مدل CPU را در Windows پیدا کنیم؟

اگر لپ تاپ در اختیار شماست،
چند روش ساده برای پیدا کردن مدل پردازنده وجود دارد.

روش اول — Task Manager

Task Manager
→
Performance
→
CPU

معمولاً نام پردازنده در این بخش نمایش داده می شود.

روش دوم — System Information

Win + R
→
msinfo32

در پنجره System Information
می توانید اطلاعات Processor را مشاهده کنید.

روش سوم — Settings

Settings
→
System
→
About

در بخش Device Specifications
مدل Processor قابل مشاهده است.


Task Manager چیست؟

Task Manager
یا «مدیر وظایف»
یکی از ابزارهای Windows برای مشاهده
برنامه ها، Processها و وضعیت منابع سیستم است.


System Information چیست؟

System Information
یا «اطلاعات سیستم»
ابزار داخلی Windows برای مشاهده
اطلاعات سخت افزاری و نرم افزاری سیستم است.

هنگام خرید اینترنتی چه چیزی باید در مشخصات محصول نوشته شده باشد؟

فروشنده بهتر است به جای:

CPU: Core i7

مدل کامل را درج کند:

CPU: Intel Core i7-8650U

و در صورت امکان اطلاعات تکمیلی مانند
نسل، تعداد Core و Thread نیز ارائه شود.

Engineering Insight — استاندارد مناسب ثبت CPU در مشخصات محصول

ساختار مناسب برای معرفی پردازنده:

Manufacturer
+
Product Family
+
Full Processor Number
+
Suffix
+
Generation / Series
+
Core
+
Thread

این روش احتمال ابهام را بسیار کمتر می کند
و امکان مقایسه واقعی محصولات را به خریدار می دهد.

تمرین رمزگشایی نام CPU

Core i5-8350U

پاسخ:

  • Family: Core
  • Tier: i5
  • Generation: 8
  • Processor Number: 8350
  • Suffix: U

Core i7-9750H

پاسخ:

  • Family: Core
  • Tier: i7
  • Generation: 9
  • Processor Number: 9750
  • Suffix: H

Core i5-10210U

پاسخ:

  • Family: Core
  • Tier: i5
  • Generation: 10
  • Processor Number: 10210
  • Suffix: U

Core i5-1135G7

پاسخ:

  • Family: Core
  • Tier: i5
  • Generation: 11
  • Processor Number: 1135
  • Graphics Level: G7

Core i7-12700H

پاسخ:

  • Family: Core
  • Tier: i7
  • Generation: 12
  • Processor Number: 12700
  • Suffix: H

Core i7-1365U

پاسخ:

  • Family: Core
  • Tier: i7
  • Generation: 13
  • Processor Number: 1365
  • Suffix: U

Core Ultra 7 155H

پاسخ:

  • Family: Core Ultra
  • Tier: 7
  • Processor Number: 155
  • Suffix: H
  • از سیستم نام گذاری جدید استفاده می کند.

Common Mistakes — اشتباهات رایج در خواندن نام CPU
  • ثبت فقط Core i5 یا Core i7.
  • حذف پسوند از نام CPU.
  • اشتباه گرفتن G7 با نسل هفتم.
  • فرض اینکه تمام مدل های نسل دهم ساختار یکسان دارند.
  • استفاده از قانون چهار رقمی برای تمام CPUهای Intel.
  • فرض اینکه عدد SKU بزرگ تر همیشه به معنی Performance بیشتر است.
  • اشتباه گرفتن Tier با Generation.
  • اشتباه گرفتن Generation با Architecture.
  • نادیده گرفتن خانواده پردازنده.
  • نادیده گرفتن پسوندهای چند حرفی.
  • اعمال قواعد Core i کلاسیک روی Core Ultra.
  • حدس زدن مشخصات CPU فقط از روی نام.

جدول سریع رمزگشایی چند مدل مهم

CPU نسل / سری رده پسوند نکته
i5-6300U 6 i5 U مدل چهار رقمی کلاسیک
i7-7600U 7 i7 U نسل هفتم
i5-8350U 8 i5 U مدل مهم بازار استوک
i7-9750H 9 i7 H Performance Mobile
i5-10210U 10 i5 U Comet Lake
i5-1035G1 10 i5 G1 Ice Lake
i5-1135G7 11 i5 G7 G7 نسل نیست
i5-1235U 12 i5 U Hybrid
i7-12700H 12 i7 H Performance Mobile
i7-1365U 13 i7 U نسل سیزدهم
i7-14700HX 14 i7 HX پسوند دو حرفی
Core Ultra 7 155H Core Ultra Series 7 H سیستم نام گذاری جدید

سوالات متداول تشخیص مدل و نسل پردازنده Intel

از کجا بفهمیم CPU نسل چند است؟

ابتدا باید نام کامل CPU را پیدا کنیم.
سپس بر اساس خانواده و سیستم نام گذاری همان پردازنده،
نسل یا Series آن را تشخیص دهیم.

i5-8350U نسل چند است؟

نسل هشتم Intel Core است.
عدد 8 در ابتدای Processor Number
نشان دهنده نسل هشتم در این مدل است.

i7-9750H نسل چند است؟

نسل نهم است و H پسوند پردازنده است.

i5-10210U نسل چند است؟

نسل دهم است.
در این ساختار دو رقم اول شماره پردازنده یعنی 10
به نسل اشاره می کنند.

i5-1135G7 نسل 7 است یا 11؟

نسل یازدهم است.
عدد 11 نشان دهنده نسل است
و G7 بخشی از نام گذاری گرافیکی این مدل است.

آیا U جزو شماره مدل CPU است؟

U پسوند مدل است و اطلاعات مهمی
درباره کلاس محصول ارائه می کند؛
بنابراین بهتر است هنگام ثبت نام CPU حذف نشود.

HX یک پسوند است یا H و X جدا هستند؟

در مدل هایی که Intel از HX استفاده کرده،
باید HX را به عنوان پسوند کامل مدل در نظر گرفت.

چرا دو CPU نسل 10 نام متفاوتی دارند؟

زیرا نسل دهم شامل خانواده های متفاوتی مانند
Comet Lake و Ice Lake بوده است
و ساختار نام گذاری آنها می تواند متفاوت باشد.

آیا عدد بزرگ تر مدل همیشه CPU قوی تری است؟

خیر. شماره مدل فقط در Context مناسب قابل مقایسه است.
نسل، خانواده، پسوند، تعداد هسته،
توان و معماری نیز باید بررسی شوند.

Core Ultra 7 همان Core i7 است؟

خیر. Core Ultra خانواده و سیستم نام گذاری متفاوتی دارد
و نباید صرفاً معادل Core i7 در نظر گرفته شود.

آیا قانون رقم اول برای همه CPUهای Intel درست است؟

خیر. این قانون فقط در برخی سیستم های نام گذاری
قابل استفاده است و در خانواده های جدیدتر
باید ساختار رسمی همان خانواده بررسی شود.

برای مقایسه دو CPU چه چیزی را یادداشت کنیم؟

حداقل نام کامل مدل، نسل یا Series،
پسوند، تعداد Core و Thread
و کلاس توان هر دو CPU را ثبت کنید.

اصطلاحات جدید این فصل

  • Full Model Name: نام کامل و دقیق مدل پردازنده.
  • Processor Number: شماره پردازنده یا شماره مدل.
  • Generation Indicator: بخشی از نام که در برخی سیستم های نام گذاری نسل را مشخص می کند.
  • SKU: بخشی از شناسه مدل برای تمایز محصولات.
  • Suffix: پسوند مدل پردازنده.
  • Graphics Level: سطح یا رده گرافیکی در برخی سیستم های نام گذاری.
  • Series: سری یا دوره محصول در برخی سیستم های نام گذاری جدید.
  • Context: زمینه و شرایطی که مقایسه در آن انجام می شود.
  • Task Manager: مدیر وظایف Windows.
  • System Information: ابزار اطلاعات سیستم Windows.

خلاصه فصل

برای شناسایی CPU هیچ گاه فقط به عبارت
Core i5، Core i7 یا Core i9 اکتفا نکنید.

مسیر صحیح شناسایی:

Full CPU Name
→
Product Family
→
Tier
→
Processor Number
→
Naming Scheme
→
Generation / Series
→
Suffix
→
Specifications

در مدل های کلاسیک چهار رقمی،
رقم اول معمولاً نسل را مشخص می کند.
از نسل دهم در بسیاری از مدل ها
دو رقم اول به نسل اشاره می کنند.

اما این قانون را نباید
به تمام پردازنده های Intel تعمیم داد.

مهم ترین اصل:

Identify the Naming Scheme Before Decoding the Name.

یعنی:
«قبل از رمزگشایی نام پردازنده،
ابتدا سیستم نام گذاری آن را تشخیص دهید.»


فصل 32
سطح: متوسط تا پیشرفته
موضوع: پسوندهای پردازنده Intel
تمرکز: لپ تاپ و بازار استوک


یک یا دو حرف کوچک که می تواند ماهیت CPU را تغییر دهد

مقایسه عمیق پسوندهای پردازنده Intel؛ تفاوت U، P، H، HK، HX و سایر مدل ها چیست؟

هنگام مقایسه پردازنده های لپ تاپ،
توجه به Core i5، Core i7، نسل و تعداد هسته کافی نیست.
پسوند انتهای نام CPU یکی از مهم ترین بخش هایی است
که می تواند کلاس طراحی پردازنده را مشخص کند.

پردازنده ای با پسوند U برای همان هدفی طراحی نشده
که یک پردازنده H یا HX طراحی شده است.
بنابراین ممکن است یک Core i5 از کلاس Performance
در بارهای سنگین از یک Core i7 کم مصرف سریع تر باشد.

در این فصل پسوندها را از دید واقعی بررسی می کنیم:
Performance، مصرف انرژی، حرارت، باتری، Cooling،
ضخامت لپ تاپ، عملکرد طولانی مدت و نوع کاربری.

در این فصل چه چیزهایی یاد می گیریم؟

  • Suffix یا پسوند CPU دقیقاً چیست.
  • پسوند U چه مفهومی دارد.
  • پسوند P در چه کلاس پردازنده هایی استفاده شده است.
  • پسوند H برای چه نوع لپ تاپ هایی مناسب است.
  • تفاوت H و HX چیست.
  • HK چه تفاوتی با H دارد.
  • پسوندهای قدیمی M، MQ، HQ و Y چه مفهومی دارند.
  • چرا پسوندها در تمام نسل ها معنای کاملاً یکسانی ندارند.
  • چرا i7-U الزاماً از i5-H سریع تر نیست.
  • پسوند چگونه روی باتری و Cooling اثر می گذارد.
  • چگونه پسوند مناسب کاربری خود را انتخاب کنیم.

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


Suffix چیست؟

Suffix
در فارسی به معنی «پسوند» است.

در نام بسیاری از پردازنده های Intel،
یک یا چند حرف در انتهای شماره مدل قرار می گیرد.

مثال:

Core i5-8350U

Core i7-9750H

Core i7-12800HX

در این نمونه ها:

U

H

HX

پسوند پردازنده هستند.

Engineering Insight — پسوند را بخشی از نام کامل CPU بدانید

این دو عبارت از نظر اطلاعاتی یکسان نیستند:

Core i7-12700

Core i7-12700H

هنگام بررسی یا ثبت مشخصات یک لپ تاپ،
پسوند نباید حذف شود.

بهترین روش این است که
Full Processor Name دقیقاً ثبت شود.

Common Mistake — یک پسوند در تمام نسل ها دقیقاً یک مشخصات ثابت دارد

خیر.

پسوند بیشتر یک سرنخ برای شناخت
Segment یا کلاس طراحی محصول است.

تعداد هسته، توان پایه، توان توربو،
معماری و محدودیت های واقعی
می توانند بین نسل ها و مدل ها تغییر کنند.

بنابراین نباید مثلاً تصور کرد
تمام CPUهای U تاریخ Intel
دقیقاً مصرف انرژی یا تعداد Core یکسانی دارند.


Segment چیست؟

Segment
در اینجا به معنی «بخش یا رده هدف بازار» است.

برای مثال ممکن است یک خانواده پردازنده
برای لپ تاپ های کم مصرف و قابل حمل طراحی شده باشد،
در حالی که خانواده دیگری
برای لپ تاپ های Performance محور ساخته شده باشد.

پسوند U؛ تعادل میان مصرف انرژی و Performance

پردازنده های U در بسیاری از نسل های Intel
یکی از رایج ترین گزینه ها در لپ تاپ های:

  • اداری
  • تجاری
  • دانشجویی
  • قابل حمل
  • باریک

بوده اند.

نمونه های شناخته شده در بازار استوک:

Core i5-6300U

Core i5-7300U

Core i5-8350U

Core i7-8650U

Core i5-10210U

Core i7-10510U

Core i5-1235U

Core i7-1365U

ویژگی کلی کلاس U

  • تمرکز بیشتر بر بهره وری انرژی
  • مناسب لپ تاپ های قابل حمل
  • نیاز حرارتی معمولاً کمتر از کلاس های Performance بالا
  • امکان استفاده در طراحی های باریک تر
  • مناسب بسیاری از کارهای اداری و عمومی
  • در نسل های جدید می تواند Performance قابل توجهی داشته باشد

Common Mistake — U یعنی CPU ضعیف

این برداشت صحیح نیست.

U نشان دهنده کلاس طراحی پردازنده است،
نه اینکه CPU الزاماً ضعیف باشد.

یک پردازنده U جدید
می تواند از بسیاری از پردازنده های قدیمی تر
Performance بیشتری داشته باشد.

پسوند Y؛ تمرکز شدیدتر بر مصرف انرژی پایین

در برخی نسل های Intel،
پردازنده های Y برای دستگاه هایی طراحی شدند
که مصرف انرژی بسیار پایین،
ضخامت کم و قابلیت حمل اهمیت زیادی داشت.

این کلاس را می توان در برخی:

  • Ultrabookها
  • تبلت های Windows
  • دستگاه های بسیار باریک
  • طراحی های کم مصرف

مشاهده کرد.


Ultrabook چیست؟

Ultrabook
اصطلاحی است که برای گروهی از لپ تاپ های
باریک، سبک و قابل حمل استفاده شده است.

در چنین دستگاه هایی معمولاً
مصرف انرژی، وزن، ضخامت و شارژدهی
اهمیت زیادی دارند.

پسوند P؛ میان U و H؟

در برخی نسل های جدیدتر Intel،
سری P در لپ تاپ های باریک
با Performance بالاتر مورد استفاده قرار گرفت.

نمونه:

Core i5-1240P

Core i7-1260P

Core i7-1360P

این کلاس می تواند برای دستگاهی مناسب باشد
که سازنده می خواهد
تعادلی میان قابلیت حمل و Performance بالاتر ایجاد کند.

Engineering Insight — P را فقط «U قوی تر» تعریف نکنید

این تعبیر می تواند برای درک اولیه مفید باشد،
اما از نظر فنی بیش از حد ساده است.

برای مقایسه دقیق باید مدل،
نسل، Core Configuration،
توان و طراحی لپ تاپ بررسی شود.

پسوند H؛ لپ تاپ های Performance محور

پردازنده های H معمولاً در لپ تاپ هایی دیده می شوند
که Performance اهمیت بیشتری دارد.

کاربردهای رایج:

  • لپ تاپ های مهندسی
  • Workstationهای موبایل
  • Gaming
  • رندرینگ
  • تدوین ویدئو
  • برنامه نویسی و Compile سنگین
  • کارهای چند هسته ای سنگین

نمونه:

Core i7-8750H

Core i7-9750H

Core i7-10750H

Core i7-11800H

Core i7-12700H

Core i7-13700H

Performance Impact — Performance بیشتر هزینه دارد

توان پردازشی بالاتر معمولاً بدون هزینه جانبی نیست.

لپ تاپ H-Series ممکن است نسبت به یک دستگاه U-Series:

  • سیستم Cooling بزرگ تری داشته باشد.
  • وزن بیشتری داشته باشد.
  • آداپتور قوی تری نیاز داشته باشد.
  • در بار سنگین گرمای بیشتری تولید کند.
  • شارژدهی متفاوتی ارائه کند.

بنابراین «قوی تر» الزاماً به معنی
«بهتر برای همه کاربران» نیست.

پسوند HX؛ Performance بالا در لپ تاپ

HX در برخی نسل های جدیدتر
برای پردازنده های لپ تاپی Performance محور
در سطح بالاتر استفاده شده است.

نمونه:

Core i7-12800HX

Core i9-12900HX

Core i9-13980HX

Core i9-14900HX

چنین CPUهایی معمولاً در لپ تاپ هایی دیده می شوند
که Performance پردازنده
اولویت بالایی در طراحی آنها دارد.

Under the Hood — چرا HX به شاسی مناسب نیاز دارد؟

CPU قدرتمند زمانی می تواند
Performance بالای خود را حفظ کند
که سیستم بتواند انرژی مورد نیاز را تأمین
و گرمای تولید شده را دفع کند.

بنابراین در لپ تاپ های HX،
کیفیت طراحی موارد زیر اهمیت زیادی دارد:

VRM
+
Cooling System
+
Heat Pipes / Vapor Chamber
+
Fan Capacity
+
Power Limits
+
Firmware Tuning

داشتن CPU قدرتمند
بدون طراحی مناسب لپ تاپ
الزاماً به Performance پایدار منجر نمی شود.


VRM چیست؟

VRM
مخفف Voltage Regulator Module
یا «ماژول تنظیم ولتاژ» است.

وظیفه آن تأمین و تنظیم ولتاژ مناسب
برای قطعاتی مانند CPU است.

کیفیت طراحی بخش تغذیه
در سیستم های Performance بالا اهمیت زیادی دارد.


Vapor Chamber چیست؟

Vapor Chamber
یا «محفظه بخار»
نوعی راهکار انتقال حرارت است
که در برخی سیستم های خنک کننده
برای پخش موثرتر گرما استفاده می شود.

پسوند HK؛ Performance بالا و قابلیت های خاص

HK در برخی پردازنده های موبایل رده بالا
دیده شده است.

نمونه:

Core i7-7820HK

Core i9-8950HK

Core i9-10980HK

Core i9-11980HK

حرف K در نام گذاری Intel
معمولاً با قابلیت Unlocked
ارتباط دارد.


Unlocked Processor چیست؟

Unlocked
در این Context به پردازنده ای اشاره دارد
که محدودیت های معمول ضریب فرکانس
در آن برای تنظیمات Performance
بازتر شده است.

این موضوع می تواند امکان Overclocking
را در پلتفرم و شرایط مناسب فراهم کند.


Overclocking چیست؟

Overclocking
یا «اورکلاک»
به افزایش فرکانس کاری سخت افزار
فراتر از تنظیمات استاندارد آن گفته می شود.

اورکلاک می تواند Performance را افزایش دهد،
اما ممکن است مصرف انرژی و حرارت را نیز بیشتر کند.

پسوند M؛ پردازنده های موبایل قدیمی Intel

در نسل های قدیمی تر لپ تاپ،
حرف M در بسیاری از مدل ها
به پردازنده های Mobile اشاره داشت.

نمونه:

Core i5-2520M

Core i5-3320M

Core i7-3520M

این مدل ها در لپ تاپ های تجاری قدیمی
بسیار رایج بودند.


Mobile Processor یعنی چه؟

Mobile Processor
در اینجا به پردازنده ای گفته می شود
که برای استفاده در کامپیوترهای قابل حمل
مانند لپ تاپ طراحی شده است.

Mobile در این اصطلاح
به معنی تلفن همراه نیست.

MQ و HQ در لپ تاپ های قدیمی تر

در برخی نسل های قدیمی تر
مدل هایی با پسوندهای MQ و HQ
در لپ تاپ های Performance محور دیده می شوند.

نمونه:

Core i7-4700MQ

Core i7-4810MQ

Core i7-6700HQ

Core i7-7700HQ

این مدل ها در بسیاری از لپ تاپ های:

  • Gaming قدیمی
  • Workstation
  • مهندسی
  • Multimedia Performance

دیده می شوند.

Common Mistake — پسوندهای نسل های قدیمی را با قواعد نسل های جدید یکی بدانیم

سیستم نام گذاری Intel در طول زمان تغییر کرده است.

بنابراین هنگام مشاهده پسوندهایی مانند:

M
|
MQ
|
HQ
|
Y
|
U
|
P
|
H
|
HK
|
HX

باید ابتدا نسل و خانواده پردازنده مشخص شود.

U در برابر H؛ یکی از مهم ترین مقایسه های بازار لپ تاپ

این مقایسه را نباید به شکل:

H = Good

U = Bad

انجام داد.

سؤال صحیح این است:

«کدام کلاس برای نوع استفاده من مناسب تر است؟»

ویژگی U-Series H-Series
هدف کلی بهره وری و قابلیت حمل Performance بالاتر
کاربری اداری بسیار مناسب مناسب اما ممکن است بیش از نیاز باشد
کار سنگین طولانی وابسته به مدل معمولاً مناسب تر
Cooling مورد نیاز معمولاً سبک تر معمولاً قوی تر
وزن دستگاه امکان طراحی سبک تر اغلب دستگاه بزرگ تر یا سنگین تر
باتری معمولاً اولویت بالاتر وابسته به طراحی دستگاه
رندرینگ برای بار سبک تا متوسط بسته به مدل معمولاً مناسب تر
مهندسی سنگین وابسته به نرم افزار و مدل اغلب انتخاب منطقی تر

آیا Core i7-U از Core i5-H قوی تر است؟

الزاماً خیر.

یکی از اشتباهات رایج این است که
Tier پردازنده را مهم تر از کلاس طراحی آن بدانیم.

عبارت:

Core i7

به تنهایی تضمین نمی کند
پردازنده از هر Core i5 سریع تر باشد.

اگر Core i5-H دارای توان،
تعداد هسته و ظرفیت Performance بیشتری باشد،
ممکن است در Workloadهای سنگین
از Core i7-U سریع تر عمل کند.


Cross-Segment Comparison چیست؟

Cross-Segment Comparison
یعنی «مقایسه میان دو رده طراحی متفاوت».

مثلاً مقایسه:

U-Series
vs
H-Series

یک مقایسه Cross-Segment است.

در چنین شرایطی نباید فقط
i5 یا i7 بودن پردازنده را معیار قرار داد.

Engineering Insight — ابتدا کلاس پردازنده را ببینید، سپس Tier را

برای مقایسه حرفه ای بهتر است این ترتیب را دنبال کنیم:

Generation
→
Architecture
→
Segment
→
Full Model
→
Core Configuration
→
Power
→
Benchmark

نه اینکه فقط:

i7 > i5

را به عنوان قانون عمومی در نظر بگیریم.

رابطه پسوند با Power Limit

CPU نمی تواند بدون محدودیت
هر مقدار انرژی که می خواهد مصرف کند.

سازنده پردازنده و سازنده لپ تاپ
چارچوب هایی برای مصرف انرژی تعریف می کنند.

این موضوع مستقیماً روی:

  • Clock
  • Performance
  • حرارت
  • صدای فن
  • شارژدهی

اثر دارد.


Power Limit چیست؟

Power Limit
یعنی «محدودیت توان».

سیستم می تواند مقدار توان مصرفی پردازنده
را در شرایط مختلف محدود کند
تا دما، مصرف انرژی و عملکرد
در محدوده طراحی دستگاه باقی بمانند.

چرا یک CPU در دو لپ تاپ Performance یکسانی ندارد؟

فرض کنید دو لپ تاپ دقیقاً
از یک مدل CPU استفاده می کنند.

باز هم Performance واقعی
می تواند متفاوت باشد.

علت می تواند تفاوت در موارد زیر باشد:

  • Cooling System
  • Power Limit
  • Firmware
  • Fan Curve
  • دمای محیط
  • طراحی شاسی
  • تنظیمات Performance Mode


Fan Curve چیست؟

Fan Curve
یا «منحنی عملکرد فن»
مشخص می کند فن در دماها
و شرایط مختلف با چه سرعتی کار کند.

تنظیم Fan Curve می تواند
میان دما، صدا و Performance
تعادل ایجاد کند.

Sustained Performance؛ چیزی که در لپ تاپ بسیار مهم است


Sustained Performance چیست؟

Sustained Performance
یعنی «عملکرد پایدار در مدت زمان طولانی».

ممکن است CPU برای چند ثانیه
Performance بسیار بالایی ارائه دهد،
اما در یک Render سی دقیقه ای
نتواند همان سرعت را حفظ کند.

برای کارهای سنگین،
Sustained Performance
از Burst Performance مهم تر می شود.


Burst Performance چیست؟

Burst Performance
یعنی «عملکرد کوتاه مدت و لحظه ای».

CPU ممکن است برای مدت کوتاهی
با فرکانس بالا کار کند
و سپس به دلیل محدودیت توان یا حرارت
Performance کاهش یابد.

پسوند، Cooling و Thermal Throttling


Thermal Throttling چیست؟

Thermal Throttling
یا «کاهش عملکرد ناشی از محدودیت حرارتی»
زمانی رخ می دهد که سیستم
برای کنترل دمای قطعه،
فرکانس یا توان آن را کاهش دهد.

هرچه CPU ظرفیت مصرف توان بیشتری داشته باشد،
طراحی Cooling اهمیت بیشتری پیدا می کند.

بنابراین خرید لپ تاپ H یا HX
بدون توجه به وضعیت سیستم خنک کننده
تصمیم کاملی نیست.

Performance Impact — در لپ تاپ استوک Cooling را جدی تر بگیرید

در لپ تاپ استوک ممکن است
گرد و غبار، وضعیت فن،
خمیر حرارتی یا شرایط نگهداری قبلی دستگاه
روی عملکرد حرارتی اثر گذاشته باشد.

این موضوع در مدل های H و HX
که تحت بار سنگین گرمای بیشتری تولید می کنند،
اهمیت بیشتری پیدا می کند.

بنابراین بررسی سلامت Cooling
بخشی از ارزیابی Performance واقعی دستگاه است.

پسوند CPU چه اثری روی شارژدهی باتری دارد؟

به صورت کلی،
کلاس طراحی پردازنده می تواند
روی مصرف انرژی لپ تاپ اثر بگذارد.

اما شارژدهی واقعی فقط توسط CPU تعیین نمی شود.

عوامل مهم دیگر:

  • ظرفیت باتری
  • سلامت باتری
  • نوع نمایشگر
  • روشنایی صفحه
  • GPU مجزا
  • RAM
  • SSD
  • تنظیمات سیستم عامل
  • نوع Workload

Common Mistake — هر لپ تاپ U باتری بهتری از هر لپ تاپ H دارد

این قانون مطلق نیست.

U-Series معمولاً با تمرکز بیشتری
بر بهره وری انرژی طراحی می شود،
اما اندازه باتری و طراحی کل لپ تاپ
می توانند نتیجه واقعی را تغییر دهند.

رابطه CPU با شاسی لپ تاپ


Chassis چیست؟

Chassis
یا «شاسی»
به ساختار فیزیکی اصلی دستگاه گفته می شود
که قطعات مختلف در آن قرار می گیرند.

اندازه و طراحی شاسی
می تواند روی ظرفیت Cooling،
تعداد فن، ابعاد Heat Sink
و حتی توان قابل استفاده CPU اثر بگذارد.

Under the Hood — چرا ضخامت لپ تاپ اهمیت دارد؟

لپ تاپ بسیار باریک فضای محدودی
برای Heat Sink، فن و مسیر جریان هوا دارد.

این محدودیت الزاماً به معنی
عملکرد ضعیف نیست،
اما طراحی حرارتی را دشوارتر می کند.

به همین دلیل هنگام مقایسه CPUهای Performance محور،
باید لپ تاپ میزبان CPU نیز بررسی شود.


Heat Sink چیست؟

Heat Sink
یا «گرماگیر»
قطعه ای است که به انتقال و دفع گرمای
تولید شده توسط قطعاتی مانند CPU کمک می کند.

کدام پسوند برای چه کاربری مناسب تر است؟

کاربری کلاس مناسب برای بررسی توضیح
Office U معمولاً Performance کافی همراه با مصرف مناسب
حسابداری U برای بسیاری از نرم افزارهای معمول کافی است
دانشجویی U / بسته به رشته P یا H نوع نرم افزار تعیین کننده است
برنامه نویسی سبک U اغلب کافی است
Compile سنگین H / HX بسته به نیاز Performance چند هسته ای اهمیت بیشتری دارد
AutoCAD دو بعدی U / H بسته به پروژه مدل دقیق و سایر قطعات مهم هستند
Revit H در کارهای سنگین تر CPU و RAM هر دو اهمیت دارند
Rendering H / HX Sustained Performance اهمیت زیادی دارد
Gaming H / HX GPU نیز بسیار مهم است
Workstation H / HX / کلاس مناسب همان نسل Cooling و GPU باید بررسی شوند

جدول جمع بندی پسوندهای مهم Intel در لپ تاپ

پسوند دوره / کاربرد کلی تمرکز طراحی نکته
Y برخی نسل های قدیمی تر مصرف بسیار پایین برای دستگاه های بسیار باریک
U رایج در لپ تاپ بهره وری انرژی اداری، تجاری و قابل حمل
P برخی نسل های جدیدتر تعادل Performance و قابلیت حمل مدل دقیق بررسی شود
H Performance Mobile توان پردازشی بالاتر Cooling مهم است
HK Mobile Performance رده بالا Performance و قابلیت Unlocked در مدل های مربوط پلتفرم تعیین کننده است
HX Mobile Performance رده بالا Performance بالا توان و Cooling اهمیت زیادی دارند
M مدل های قدیمی Mobile لپ تاپ در سیستم های قدیمی رایج
MQ مدل های قدیمی Performance Mobile Quad-Core در دوره مربوط در Workstationهای قدیمی دیده می شود
HQ مدل های قدیمی Performance Performance Mobile در لپ تاپ های Gaming و Workstation رایج بود

الگوریتم انتخاب کلاس CPU برای لپ تاپ

01
کاربری را مشخص کنیدOffice، مهندسی، Gaming، Rendering یا کاربری عمومی؟
02
قابلیت حمل را مشخص کنیدوزن و ضخامت لپ تاپ چقدر برای شما مهم است؟
03
نیاز به باتری را مشخص کنیددستگاه بیشتر روی میز است یا مرتب با باتری استفاده می شود؟
04
مدت Load را مشخص کنیدکارها کوتاه هستند یا CPU برای مدت طولانی تحت بار قرار می گیرد؟
05
مدل کامل CPU را بررسی کنیدپسوند به تنهایی برای تصمیم گیری کافی نیست.
06
Cooling لپ تاپ را بررسی کنیدمخصوصاً در H، HK و HX این مرحله اهمیت زیادی دارد.
07
Benchmark مرتبط را ببینیدنتیجه باید به نرم افزار و Workload واقعی شما مربوط باشد.
08
کل دستگاه را مقایسه کنیدCPU فقط یکی از اجزای لپ تاپ است.

Under the Hood — فرمول بهتر برای انتخاب CPU لپ تاپ

انتخاب CPU لپ تاپ را می توان
به صورت مفهومی این گونه در نظر گرفت:

Suitable CPU
=
Required Performance
+
Workload Duration
+
Portability
+
Battery Requirement
+
Cooling Capacity
+
Price

بنابراین بهترین CPU
الزاماً پردازنده ای نیست
که بیشترین Performance خام را دارد.

بهترین CPU پردازنده ای است
که با نوع استفاده و طراحی لپ تاپ
تناسب بیشتری داشته باشد.

هنگام خرید لپ تاپ استوک H یا HX چه چیزهایی را بررسی کنیم؟

  • مدل کامل CPU
  • دمای CPU زیر Load
  • صدای غیرعادی فن
  • سلامت فن ها
  • تمیزی مسیر خروج هوا
  • ثبات Clock در Load طولانی
  • وجود Thermal Throttling غیرعادی
  • وضعیت آداپتور
  • GPU مجزا در صورت وجود
  • سلامت باتری
  • Performance Mode دستگاه

Common Mistakes — اشتباهات رایج درباره پسوند CPU
  • فرض اینکه i7-U همیشه از i5-H قوی تر است.
  • فرض اینکه U یعنی پردازنده ضعیف.
  • فرض اینکه H برای همه کاربران بهتر است.
  • نادیده گرفتن مصرف انرژی.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Thermal Throttling.
  • مقایسه پسوندها بدون توجه به نسل.
  • فرض یکسان بودن تمام CPUهای U.
  • فرض یکسان بودن تمام CPUهای H.
  • حذف پسوند هنگام ثبت مشخصات محصول.
  • مقایسه Cross-Segment فقط بر اساس Tier.
  • نادیده گرفتن Sustained Performance.
  • نادیده گرفتن طراحی شاسی لپ تاپ.
  • انتخاب HX برای کاربری سبک فقط به دلیل قوی تر بودن.

سوالات متداول پسوندهای پردازنده Intel

U در پردازنده Intel یعنی چه؟

U در بسیاری از خانواده های لپ تاپی Intel
به کلاس هایی با تمرکز بیشتر بر بهره وری انرژی
و دستگاه های قابل حمل مربوط است.
مشخصات دقیق هر مدل باید جداگانه بررسی شود.

H در پردازنده Intel یعنی چه؟

H در بسیاری از پردازنده های لپ تاپی
به مدل های Performance محور مربوط است
که در لپ تاپ های قدرتمند، Gaming
و Workstationها دیده می شوند.

H بهتر است یا U؟

هیچ کدام به صورت مطلق بهتر نیستند.
H معمولاً برای Performance سنگین تر مناسب است
و U برای تعادل Performance،
مصرف انرژی و قابلیت حمل.

آیا i5-H می تواند از i7-U سریع تر باشد؟

بله. Tier به تنهایی تعیین کننده نیست.
نسل، معماری، تعداد Core، توان،
Cooling و Workload باید بررسی شوند.

HX از H قوی تر است؟

HX معمولاً در کلاس Performance بالاتری قرار می گیرد،
اما مقایسه واقعی باید بین مدل های دقیق انجام شود.

P چه تفاوتی با U دارد؟

در نسل هایی که Intel از P-Series استفاده کرده،
این کلاس برای لپ تاپ هایی با تمرکز بیشتر
بر Performance در کنار قابلیت حمل به کار رفته است.
مدل دقیق همچنان تعیین کننده است.

پسوند M در CPUهای قدیمی چیست؟

در بسیاری از پردازنده های قدیمی Intel،
M به مدل های Mobile یا لپ تاپی مربوط بوده است.

HQ چیست؟

HQ در برخی نسل های قدیمی تر
در پردازنده های لپ تاپی Performance محور
دیده می شود و در بسیاری از لپ تاپ های
Gaming و Workstation آن دوره رایج بوده است.

آیا CPU سری U برای برنامه نویسی مناسب است؟

برای بسیاری از کارهای برنامه نویسی بله.
اما برای Compileهای بسیار سنگین،
ماشین های مجازی متعدد یا Workloadهای طولانی،
مدل های Performance محور ممکن است مناسب تر باشند.

برای AutoCAD سری U بهتر است یا H؟

به نوع پروژه بستگی دارد.
برای کارهای سبک و دو بعدی
بسیاری از مدل های U کافی هستند،
اما پروژه های سنگین تر ممکن است
از CPU و سیستم قوی تر سود ببرند.

برای رندرینگ U بخریم یا H؟

برای رندرینگ CPU محور و طولانی،
معمولاً مدل های H یا کلاس های Performance بالاتر
انتخاب مناسب تری هستند،
مشروط به Cooling مناسب.

آیا CPU سری H باتری را سریع تر خالی می کند؟

کلاس H ظرفیت Performance و مصرف توان بالاتری دارد،
اما شارژدهی واقعی به طراحی کل لپ تاپ،
ظرفیت و سلامت باتری، نمایشگر،
GPU و نوع استفاده بستگی دارد.

برای خرید لپ تاپ استوک پسوند CPU مهم است؟

بسیار مهم است.
پسوند کمک می کند کلاس طراحی CPU را بشناسیم
و متوجه شویم دستگاه برای چه نوع استفاده ای
طراحی شده است.

اصطلاحات جدید این فصل

  • Suffix: پسوند انتهای نام مدل پردازنده.
  • Segment: بخش یا رده هدف محصول.
  • Ultrabook: گروهی از لپ تاپ های باریک و قابل حمل.
  • Mobile Processor: پردازنده طراحی شده برای سیستم های قابل حمل.
  • VRM: ماژول تنظیم ولتاژ.
  • Vapor Chamber: محفظه بخار برای انتقال و پخش حرارت.
  • Unlocked: پردازنده دارای قابلیت های بازتر برای تنظیم ضریب فرکانس در مدل های مربوط.
  • Overclocking: افزایش فرکانس کاری فراتر از تنظیمات استاندارد.
  • Cross-Segment Comparison: مقایسه پردازنده های متعلق به دو کلاس طراحی متفاوت.
  • Power Limit: محدودیت توان پردازنده.
  • Fan Curve: الگوی تغییر سرعت فن بر اساس شرایط حرارتی.
  • Sustained Performance: عملکرد قابل حفظ در بار طولانی.
  • Burst Performance: عملکرد بالا در بازه زمانی کوتاه.
  • Thermal Throttling: کاهش عملکرد برای کنترل دما.
  • Chassis: ساختار فیزیکی اصلی دستگاه.
  • Heat Sink: گرماگیر مورد استفاده برای انتقال و دفع حرارت.

خلاصه فصل

پسوند CPU یکی از مهم ترین قسمت های نام پردازنده لپ تاپ است.

اما پسوند به تنهایی
Performance دقیق پردازنده را مشخص نمی کند.

برای مقایسه صحیح باید مجموعه زیر بررسی شود:

Generation
+
Architecture
+
Tier
+
Suffix
+
Core Configuration
+
Power
+
Cooling
+
Workload

U معمولاً با بهره وری انرژی و قابلیت حمل ارتباط دارد،
در حالی که H و HX بیشتر در سیستم های
Performance محور دیده می شوند.

اما مهم ترین قانون این فصل این است:

Suffix Defines the Class,
Not the Final Performance.

یعنی:
«پسوند کلاس طراحی پردازنده را مشخص می کند،
نه نتیجه نهایی عملکرد آن را.»


فصل 33
سطح: پایه تا پیشرفته
موضوع: رمزگشایی نام پردازنده های AMD Ryzen
کاربرد: تشخیص رده، نسل، معماری و پسوند


Ryzen 7 بودن فقط آغاز ماجراست

رمزگشایی کامل نام پردازنده های AMD Ryzen؛ نسل، معماری، شماره مدل و پسوند

هنگام مشاهده نامی مانند Ryzen 5 5600U،
Ryzen 7 5800H یا Ryzen 7 7735HS،
اعداد و حروف فقط برای متفاوت کردن نام محصولات انتخاب نشده اند.
هر بخش می تواند اطلاعاتی درباره جایگاه محصول،
خانواده، معماری یا کلاس طراحی پردازنده در اختیار ما قرار دهد.

مشکل اینجاست که AMD در تمام دوره های Ryzen
از یک سیستم نام گذاری ثابت استفاده نکرده است.
به همین دلیل قانونی که برای Ryzen 5 3500U
مفید است، الزاماً برای Ryzen 7 7730U
یا Ryzen 7 7840HS به همان شکل قابل استفاده نیست.

در نتیجه اولین اصل این فصل همان قانونی است
که درباره Intel نیز یاد گرفتیم:

First Identify the Naming Scheme,
Then Decode the Processor.

یعنی:
«ابتدا سیستم نام گذاری پردازنده را تشخیص دهید
و سپس نام آن را رمزگشایی کنید.»

در این فصل چه چیزهایی یاد می گیریم؟

  • Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9 چه مفهومی دارند.
  • شماره مدل پردازنده AMD چگونه خوانده می شود.
  • چرا عدد اول مدل همیشه اطلاعات کافی درباره معماری نمی دهد.
  • تفاوت نسل بازاری، خانواده محصول و معماری چیست.
  • Zen، Zen+، Zen 2، Zen 3 و Zen 4 چه هستند.
  • پسوندهای U، H، HS و HX چه مفهومی دارند.
  • چرا Ryzen 7 بودن به تنهایی معیار مناسبی برای مقایسه نیست.
  • چرا Ryzen 7000 Mobile می تواند خریدار را دچار اشتباه کند.
  • چگونه سیستم چهار رقمی جدید AMD Mobile را بخوانیم.
  • چرا Ryzen 7 7730U و Ryzen 7 7840U فقط با دیدن «7000» قابل مقایسه نیستند.
  • چگونه مدل دقیق AMD را هنگام خرید لپ تاپ استوک بررسی کنیم.

ساختار پایه نام Ryzen

ابتدا یک مدل ساده و شناخته شده را بررسی کنیم:

AMD Ryzen 5 5600U

AMD
|
Ryzen
|
5
|
5600
|
U

بخش نمونه مفهوم کلی
Brand AMD شرکت سازنده
Product Family Ryzen خانواده پردازنده
Tier 5 رده محصول
Processor Number 5600 شماره مدل پردازنده
Suffix U کلاس طراحی محصول

Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9 یعنی چه؟

این اعداد نشان دهنده Product Tier
یا «رده محصول» هستند.

رده جایگاه کلی کاربری معمول
Ryzen 3 رده پایه کارهای عمومی و سبک
Ryzen 5 میان رده عمومی، اداری، برنامه نویسی و کاربری متنوع
Ryzen 7 رده بالاتر Multitasking و Workloadهای سنگین تر
Ryzen 9 رده Performance بالا کارهای حرفه ای و پردازشی سنگین

Common Mistake — Ryzen 7 همیشه از Ryzen 5 سریع تر است

این نتیجه گیری بدون دانستن مدل کامل CPU صحیح نیست.

یک Ryzen 5 متعلق به معماری یا نسل جدیدتر
ممکن است در برخی Workloadها
از Ryzen 7 قدیمی عملکرد بهتری داشته باشد.

بنابراین:

Ryzen 7 > Ryzen 5

یک قانون جهانی نیست.

Zen چیست و چرا برای فهم Ryzen ضروری است؟


Zen چیست؟

Zen
نام خانواده معماری پردازنده های مدرن AMD است.

معماری را می توان مجموعه ای از تصمیمات مهندسی
درباره نحوه طراحی و اجرای پردازش در CPU دانست.

AMD در طول زمان نسخه های مختلفی از Zen را توسعه داده است.

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

Engineering Insight — نسل محصول با معماری یکی نیست

این دو اصطلاح را نباید مترادف در نظر گرفت:

Product Generation
≠
CPU Architecture

«نسل یا سری محصول» بخشی از جایگاه تجاری
و نام گذاری پردازنده است.

«معماری» به طراحی فنی CPU مربوط می شود.

ممکن است چند محصول با نام های نزدیک
از معماری های متفاوت استفاده کنند.


CPU Architecture یعنی چه؟

CPU Architecture
یا «معماری پردازنده»
در این کتاب به ساختار و طراحی مهندسی
داخلی یک خانواده پردازنده اشاره دارد.

تغییر معماری می تواند روی مواردی مانند:

  • IPC
  • Cache
  • Power Efficiency
  • Clock Behavior
  • Core Design
  • قابلیت های پردازنده

اثر بگذارد.


IPC چیست؟

IPC
مخفف Instructions Per Cycle
و به معنی «تعداد دستورالعمل قابل پردازش در هر چرخه» است.

IPC یکی از عواملی است که
در کنار Clock، تعداد هسته و عوامل دیگر
بر Performance پردازنده اثر می گذارد.

نسل های اولیه Ryzen Mobile

در بازار لپ تاپ استوک
هنوز مدل هایی از نسل های اولیه Ryzen Mobile دیده می شوند.

نمونه:

Ryzen 5 2500U

Ryzen 7 2700U

Ryzen 5 3500U

Ryzen 7 3700U

این مدل ها را نباید فقط
با عدد 2000 یا 3000 با Ryzen Desktop مقایسه کرد،
زیرا زمان بندی عرضه و معماری مدل های Mobile و Desktop
همیشه کاملاً یکسان نبوده است.

Common Mistake — Ryzen 3000 Laptop همان Ryzen 3000 Desktop است

الزاماً خیر.

شماره سری تجاری به تنهایی
تضمین نمی کند معماری مدل لپ تاپی
و دسکتاپی یکسان باشد.

بنابراین همیشه باید
مدل کامل و معماری همان CPU بررسی شود.

چند مدل مهم Ryzen در بازار لپ تاپ

مدل رده کلاس نکته مهم
Ryzen 5 2500U Ryzen 5 U از مدل های اولیه Ryzen Mobile
Ryzen 5 3500U Ryzen 5 U رایج در برخی لپ تاپ های اقتصادی
Ryzen 5 4500U Ryzen 5 U جهش مهم Ryzen Mobile
Ryzen 5 4600H Ryzen 5 H Performance Mobile
Ryzen 5 5600U Ryzen 5 U نسل جدیدتر و کم مصرف
Ryzen 7 5800H Ryzen 7 H مناسب Workloadهای سنگین تر

چرا Ryzen 4000 Mobile مهم بود؟

خانواده Ryzen 4000 Mobile
یکی از نقاط مهم پیشرفت AMD در لپ تاپ ها بود.

مدل هایی مانند:

Ryzen 5 4500U

Ryzen 5 4600U

Ryzen 7 4700U

Ryzen 7 4800U

Ryzen 5 4600H

Ryzen 7 4800H

در لپ تاپ های مختلف عرضه شدند.

اما حتی در یک خانواده،
تعداد Core، Thread و کلاس توان
می تواند متفاوت باشد.

مثال مهم: Ryzen 5 4500U در برابر Ryzen 5 4600U

این دو پردازنده از نظر نام بسیار شبیه هستند،
اما یک تفاوت مهم دارند.

ویژگی Ryzen 5 4500U Ryzen 5 4600U
Core 6 6
Thread 6 12
SMT غیرفعال در این مدل فعال
کلاس U U


SMT چیست؟

SMT
مخفف Simultaneous Multithreading است.

ترجمه مفهومی آن
«چندریسمانی هم زمان» است.

این فناوری اجازه می دهد
یک هسته فیزیکی بتواند
بیش از یک Thread نرم افزاری را مدیریت کند.

بنابراین تعداد Thread می تواند
بیشتر از تعداد Core باشد.

Ryzen 5000 Mobile؛ جایی که فقط دیدن عدد 5000 کافی نیست

خانواده Ryzen 5000 Mobile
مثال بسیار خوبی است که نشان می دهد
شماره سری همیشه معماری را به تنهایی مشخص نمی کند.

برخی مدل های این خانواده
بر پایه Zen 2 و برخی بر پایه Zen 3 بودند.

مدل معماری CPU پسوند
Ryzen 3 5300U Zen 2 U
Ryzen 5 5500U Zen 2 U
Ryzen 7 5700U Zen 2 U
Ryzen 5 5600U Zen 3 U
Ryzen 7 5800U Zen 3 U

Engineering Insight — 5500U و 5600U چرا مثال آموزشی مهمی هستند؟

ممکن است کاربر با دیدن این دو مدل تصور کند:

5600U = Slightly Faster 5500U

اما تفاوت فقط افزایش شماره مدل نیست.

Ryzen 5 5500U
از معماری Zen 2 استفاده می کند،
در حالی که Ryzen 5 5600U
به Zen 3 تعلق دارد.

این مثال نشان می دهد
هنگام مقایسه AMD باید Architecture
را نیز بررسی کنیم.

Ryzen 6000 Mobile

در خانواده Ryzen 6000 Mobile
مدل هایی مانند موارد زیر دیده می شوند:

Ryzen 5 6600U

Ryzen 7 6800U

Ryzen 5 6600H

Ryzen 7 6800H

Ryzen 9 6900HS

Ryzen 9 6900HX

این خانواده با Zen 3+
و تغییرات مهم در پلتفرم موبایل همراه شد.


Zen 3+ چیست؟

Zen 3+
نسخه بهینه شده ای از خانواده Zen 3
برای نسل مربوط از پردازنده های موبایل AMD است.

علامت «+» در این نام
بخشی از نام معماری است
و به معنی اضافه کردن ساده یک ویژگی
توسط کاربر نیست.

Ryzen 7000 Mobile؛ مهم ترین دام نام گذاری AMD

این بخش یکی از مهم ترین قسمت های فصل است.

اگر فقط عبارت:

Ryzen 7000

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

AMD برای بخشی از پردازنده های Mobile
یک سیستم نام گذاری چهار رقمی ساختاریافته معرفی کرد
که هر رقم اطلاعات متفاوتی منتقل می کند.

ساختار مفهومی شماره مدل Ryzen Mobile در این سیستم

ABCD + Suffix

به صورت ساده شده:

  • A: Model Year / Portfolio Year
  • B: Market Segment
  • C: CPU Architecture
  • D: Feature Differentiation
  • Suffix: Form Factor / Power Class


Portfolio Year یعنی چه؟

Portfolio Year
را می توان «سال جایگاه محصول در سبد محصولات»
ترجمه کرد.

این عدد نباید به تنهایی
معادل معماری CPU در نظر گرفته شود.


Market Segment چیست؟

Market Segment
یعنی «رده یا بخش هدف بازار».

این بخش کمک می کند
جایگاه تقریبی محصول در خانواده
مشخص شود.


Feature Differentiation چیست؟

Feature Differentiation
یعنی «تمایز ویژگی».

در سیستم نام گذاری،
از این بخش برای جدا کردن
مدل های نزدیک به یکدیگر استفاده می شود.

مثال: Ryzen 7 7840U را چگونه بخوانیم؟

Ryzen 7 7840U

Ryzen 7
|
7
|
8
|
4
|
0
|
U

نکته مهم برای ما رقم سوم است:

4 → Zen 4

بنابراین در این سیستم نام گذاری،
عدد معماری درون شماره مدل
اطلاعات بسیار مهمی به خریدار می دهد.

رقم معماری در سیستم جدید AMD

رقم معماری معماری مفهوم
1 Zen / Zen+ معماری های اولیه خانواده Zen در این طرح نام گذاری
2 Zen 2 نسل معماری Zen 2
3 Zen 3 / Zen 3+ خانواده معماری Zen 3
4 Zen 4 معماری Zen 4
5 Zen 5 معماری Zen 5 در مدل های مربوط

مثال حیاتی: Ryzen 7 7730U در برابر Ryzen 7 7840U

هر دو نام با عدد 7 شروع می شوند
و هر دو در خانواده نام گذاری Ryzen 7000 Mobile قرار دارند.

اما این موضوع به معنی یکسان بودن معماری آنها نیست.

ویژگی Ryzen 7 7730U Ryzen 7 7840U
رده Ryzen 7 Ryzen 7
خانواده نام گذاری 7000 Mobile 7000 Mobile
رقم سوم 3 4
معماری CPU Zen 3 Zen 4
پسوند U U

Common Mistake — هر Ryzen 7000 یک CPU با معماری Zen 4 است

خیر.

این یکی از مهم ترین اشتباهاتی است
که هنگام خرید لپ تاپ ممکن است رخ دهد.

در سیستم نام گذاری مربوط،
Ryzen 7000 Mobile می تواند
مدل هایی بر پایه معماری های متفاوت داشته باشد.

بنابراین فقط عبارت:

Ryzen 7000 Series

برای تشخیص معماری CPU کافی نیست.

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

مدل رقم سوم معماری CPU پسوند
Ryzen 5 7520U 2 Zen 2 U
Ryzen 5 7530U 3 Zen 3 U
Ryzen 7 7730U 3 Zen 3 U
Ryzen 5 7535U 3 Zen 3+ U
Ryzen 7 7735HS 3 Zen 3+ HS
Ryzen 5 7640HS 4 Zen 4 HS
Ryzen 7 7840U 4 Zen 4 U
Ryzen 7 7840HS 4 Zen 4 HS

چرا حتی Ryzen 5 7530U و 7535U نیز یکسان نیستند؟

در نگاه اول اختلاف عددی بسیار کوچک است:

7530U
vs
7535U

اما این تفاوت فقط یک «5» ساده نیست.

7530U و 7535U
به خانواده های فنی متفاوتی تعلق دارند
و باید مشخصات دقیق هر دو بررسی شود.

Engineering Insight — هر رقم شماره مدل می تواند مهم باشد

در سیستم جدید نام گذاری AMD Mobile،
نگاه کردن فقط به دو رقم اول مدل
می تواند اطلاعات مهمی را پنهان کند.

برای مثال:

7530U
≠
7535U

هنگام مقایسه باید Full Processor Number
بررسی شود، نه فقط Ryzen 5 7000.

پسوندهای AMD Ryzen Mobile

مانند Intel،
در پردازنده های AMD نیز
حروف انتهای نام مدل اهمیت دارند.

نمونه های رایج:

U

H

HS

HX

U در AMD Ryzen

U معمولاً در پردازنده های موبایل
با تمرکز بیشتر بر بهره وری انرژی
و لپ تاپ های قابل حمل دیده می شود.

نمونه:

Ryzen 5 3500U

Ryzen 5 4500U

Ryzen 5 5600U

Ryzen 7 6800U

Ryzen 7 7840U

H در AMD Ryzen

H معمولاً در پردازنده های لپ تاپی
Performance محور دیده می شود.

نمونه:

Ryzen 5 4600H

Ryzen 7 4800H

Ryzen 5 5600H

Ryzen 7 5800H

Ryzen 7 6800H

این مدل ها در لپ تاپ های:

  • Gaming
  • مهندسی
  • Workstation
  • تولید محتوا
  • رندرینگ

بیشتر دیده می شوند.

HS چیست؟

HS در بسیاری از خانواده های Ryzen Mobile
برای پردازنده های Performance محور
با تمرکز بر طراحی لپ تاپ های باریک تر
و مدیریت توان متفاوت استفاده شده است.

نمونه:

Ryzen 7 4800HS

Ryzen 9 4900HS

Ryzen 9 6900HS

Ryzen 7 7735HS

Ryzen 7 7840HS

HX چیست؟

HX در مدل های Performance بالای لپ تاپی AMD
دیده می شود.

این پردازنده ها معمولاً در سیستم هایی استفاده می شوند
که توان پردازشی بالا نسبت به مصرف کم
اولویت بیشتری دارد.

در این کلاس،
Cooling و طراحی توان لپ تاپ
اهمیت بسیار زیادی پیدا می کند.

پسوند کلاس کلی تمرکز کاربری رایج
U Mobile Efficient بهره وری انرژی و قابلیت حمل اداری، دانشجویی، عمومی
H Mobile Performance Performance بالاتر Gaming، مهندسی، تولید محتوا
HS Performance Mobile Performance همراه با تمرکز بیشتر بر طراحی قابل حمل لپ تاپ های Performance باریک تر
HX High Performance Mobile توان پردازشی بالا Gaming و Workstation رده بالا

Common Mistake — پسوند H در AMD و Intel یعنی مشخصات فنی یکسان

خیر.

شباهت حرف پسوند
به معنی یکسان بودن:

  • توان
  • تعداد Core
  • Clock
  • Architecture
  • Performance

نیست.

پسوند بیشتر برای شناخت
کلاس کلی محصول مفید است.

Ryzen U در برابر Ryzen H

ویژگی Ryzen U Ryzen H
تمرکز اصلی Efficiency Performance
قابلیت حمل معمولاً بهتر وابسته به لپ تاپ
Cooling مورد نیاز معمولاً کمتر معمولاً بیشتر
کار اداری بسیار مناسب معمولاً بیش از نیاز
Render طولانی وابسته به مدل معمولاً مناسب تر
Gaming وابسته به مدل و GPU معمولاً انتخاب رایج تر

الگوریتم حرفه ای شناسایی پردازنده AMD

01
نام کامل CPU را پیدا کنیدRyzen 5 یا Ryzen 7 به تنهایی کافی نیست.
02
Product Tier را مشخص کنیدRyzen 3، 5، 7 یا 9؟
03
Processor Number را ثبت کنیدتمام ارقام مدل اهمیت دارند.
04
سیستم نام گذاری را تشخیص دهیدمدل متعلق به کدام دوره نام گذاری AMD است؟
05
Architecture را بررسی کنیدZen 2، Zen 3، Zen 3+، Zen 4 یا معماری دیگر؟
06
Suffix را بررسی کنیدU، H، HS یا HX؟
07
Core و Thread را بررسی کنیداز روی Ryzen 5 یا Ryzen 7 حدس نزنید.
08
iGPU را بررسی کنیدگرافیک مجتمع بین خانواده های مختلف می تواند تفاوت زیادی داشته باشد.
09
توان و Cooling لپ تاپ را بررسی کنیدمخصوصاً برای H، HS و HX.
10
Benchmark مرتبط را بررسی کنیدمقایسه را بر اساس Workload واقعی خود انجام دهید.

Under the Hood — روش صحیح خواندن یک Ryzen

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

AMD CPU Identity
=
Ryzen Tier
+
Full Model Number
+
Naming Scheme
+
Architecture
+
Suffix
+
Core / Thread
+
iGPU
+
Power Configuration

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

در بازار لپ تاپ استوک AMD به چه چیزی توجه کنیم؟

در آگهی یا صفحه محصول ممکن است فقط نوشته شده باشد:

Ryzen 7

این اطلاعات برای تصمیم گیری کافی نیست.

باید حداقل مدل کامل را بدانیم:

Ryzen 7 3700U

Ryzen 7 4700U

Ryzen 7 5700U

Ryzen 7 5800U

Ryzen 7 6800U

Ryzen 7 7730U

Ryzen 7 7840U

عبارت Ryzen 7
می تواند پشت خود پردازنده هایی
از دوره ها و معماری های بسیار متفاوت پنهان کند.

Engineering Insight — استاندارد ثبت AMD در مشخصات محصول

برای جلوگیری از ابهام،
مشخصات پردازنده بهتر است حداقل شامل این موارد باشد:

AMD Ryzen 7 5800H

Architecture: Zen 3

Cores: 8

Threads: 16

Class: H-Series

این روش بسیار دقیق تر از نوشتن:

CPU: Ryzen 7

است.

تمرین رمزگشایی نام پردازنده AMD

Ryzen 5 3500U

  • Brand: AMD
  • Family: Ryzen
  • Tier: Ryzen 5
  • Processor Number: 3500
  • Suffix: U

Ryzen 5 5600U

  • Family: Ryzen
  • Tier: Ryzen 5
  • Processor Number: 5600
  • Architecture: Zen 3
  • Suffix: U

Ryzen 7 5800H

  • Family: Ryzen
  • Tier: Ryzen 7
  • Processor Number: 5800
  • Architecture: Zen 3
  • Suffix: H

Ryzen 7 7730U

  • Family: Ryzen
  • Tier: Ryzen 7
  • Processor Number: 7730
  • Architecture Digit: 3
  • Architecture: Zen 3
  • Suffix: U

Ryzen 7 7735HS

  • Family: Ryzen
  • Tier: Ryzen 7
  • Processor Number: 7735
  • Architecture Family: Zen 3+
  • Suffix: HS

Ryzen 7 7840U

  • Family: Ryzen
  • Tier: Ryzen 7
  • Processor Number: 7840
  • Architecture Digit: 4
  • Architecture: Zen 4
  • Suffix: U

Common Mistakes — اشتباهات رایج در تشخیص Ryzen
  • ثبت فقط Ryzen 5 یا Ryzen 7.
  • فرض اینکه Ryzen 7 همیشه از Ryzen 5 سریع تر است.
  • فرض اینکه شماره سری تجاری مستقیماً معماری را مشخص می کند.
  • یکسان دانستن Ryzen Desktop و Ryzen Mobile فقط به دلیل شماره سری مشابه.
  • فرض اینکه تمام Ryzen 5000 Mobileها از یک معماری استفاده می کنند.
  • فرض اینکه تمام Ryzen 7000 Mobileها Zen 4 هستند.
  • نادیده گرفتن رقم معماری در سیستم نام گذاری جدید.
  • نادیده گرفتن رقم چهارم شماره مدل.
  • نادیده گرفتن پسوند U، H، HS یا HX.
  • مقایسه CPU فقط بر اساس عدد مدل.
  • نادیده گرفتن تعداد Core و Thread.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن Cooling و Power Configuration لپ تاپ.

سوالات متداول تشخیص مدل و نسل AMD Ryzen

Ryzen 3، 5، 7 و 9 نشان دهنده نسل هستند؟

خیر. این اعداد رده یا Tier محصول را مشخص می کنند
و نباید با نسل پردازنده اشتباه گرفته شوند.

آیا Ryzen 7 همیشه بهتر از Ryzen 5 است؟

خیر. مدل کامل، معماری، تعداد Core و Thread،
پسوند، توان و Workload باید بررسی شوند.

Zen چیست؟

Zen نام خانواده معماری پردازنده های مدرن AMD است.
نسخه های مختلف آن شامل Zen، Zen+،
Zen 2، Zen 3، Zen 3+، Zen 4
و نسل های جدیدتر هستند.

آیا Ryzen 5000 یعنی Zen 3؟

نه در تمام مدل های Mobile.
برای مثال برخی Ryzen 5000 Mobileها
بر پایه Zen 2 و برخی بر پایه Zen 3 هستند.

آیا تمام Ryzen 7000 Laptopها Zen 4 هستند؟

خیر.
در سیستم نام گذاری مربوط به Ryzen Mobile،
مدل های خانواده 7000 می توانند
از معماری های متفاوت استفاده کنند.

Ryzen 7 7730U چه معماری دارد؟

این مدل از معماری Zen 3 استفاده می کند.

Ryzen 7 7840U چه معماری دارد؟

این مدل از معماری Zen 4 استفاده می کند.

چرا رقم سوم Ryzen Mobile جدید مهم است؟

در سیستم نام گذاری مربوط،
رقم سوم اطلاعاتی درباره معماری CPU ارائه می کند.
بنابراین برای تشخیص معماری بسیار مهم است.

Ryzen U برای چه کاری مناسب است؟

مدل های U معمولاً با تمرکز بیشتر
بر بهره وری انرژی و قابلیت حمل طراحی می شوند
و برای بسیاری از کارهای عمومی،
اداری و دانشجویی مناسب هستند.

Ryzen H برای چه کاری مناسب است؟

H معمولاً در لپ تاپ های Performance محور
برای Gaming، مهندسی،
تولید محتوا و پردازش های سنگین تر دیده می شود.

HS چه تفاوتی با H دارد؟

HS در بسیاری از نسل ها برای ترکیب
Performance بالا با طراحی های قابل حمل تر
مورد استفاده قرار گرفته است.
برای مقایسه دقیق باید مدل کامل بررسی شود.

HX در AMD چیست؟

HX در مدل های لپ تاپی Performance بالا دیده می شود
و Cooling و طراحی توان لپ تاپ
در استفاده واقعی از ظرفیت آن اهمیت زیادی دارد.

برای خرید لپ تاپ استوک AMD چه اطلاعاتی لازم است؟

حداقل مدل کامل CPU، معماری،
تعداد Core و Thread، پسوند،
گرافیک مجتمع و وضعیت Cooling دستگاه را بررسی کنید.

اصطلاحات جدید این فصل

  • Zen: خانواده معماری پردازنده های مدرن AMD.
  • CPU Architecture: معماری و طراحی فنی داخلی پردازنده.
  • IPC: تعداد دستورالعمل قابل پردازش در هر چرخه.
  • SMT: چندریسمانی هم زمان.
  • Portfolio Year: سال جایگاه محصول در سبد نام گذاری.
  • Market Segment: بخش یا رده هدف بازار.
  • Feature Differentiation: تمایز ویژگی میان مدل های نزدیک.
  • Architecture Digit: رقمی که در سیستم نام گذاری مربوط، معماری CPU را نشان می دهد.
  • Power Configuration: نحوه تنظیم و محدوده توان پردازنده در دستگاه.

خلاصه فصل

نام پردازنده AMD را نباید
فقط بر اساس Ryzen 5 یا Ryzen 7 خواند.

برای تشخیص واقعی CPU باید مسیر زیر طی شود:

Full Model
→
Ryzen Tier
→
Processor Number
→
Naming Scheme
→
Architecture
→
Suffix
→
Core / Thread
→
iGPU
→
Power

یکی از مهم ترین نکات این فصل
تفاوت میان شماره سری تجاری و معماری است.

به ویژه در خانواده هایی مانند Ryzen 5000 Mobile
و سیستم نام گذاری Ryzen 7000 Mobile،
نگاه کردن فقط به عدد بزرگ روی نام محصول
می تواند گمراه کننده باشد.

قانون طلایی:

Never Assume Architecture
From the Marketing Series Alone.

یعنی:
«هیچ وقت معماری CPU را
فقط از روی نام سری تجاری آن حدس نزنید.»


فصل 34
سطح: متوسط تا پیشرفته
موضوع: تکامل معماری AMD Zen
تمرکز: مقایسه نسل قبل و بعد


از Zen تا Zen 5؛ داستان تکامل Ryzen

مقایسه نسل به نسل معماری AMD Ryzen؛ از Zen و Zen+ تا Zen 5

برای شناخت واقعی پردازنده های Ryzen،
دانستن شماره مدل کافی نیست.
باید بدانیم در پشت هر پردازنده
کدام معماری Zen قرار گرفته
و AMD در عبور از یک معماری به معماری بعدی
چه چیزی را تغییر داده است.

اهمیت این موضوع در بازار لپ تاپ استوک بیشتر می شود؛
زیرا ممکن است دو لپ تاپ با قیمت نزدیک،
نام Ryzen 5 یا Ryzen 7 مشابه
اما معماری های کاملاً متفاوت داشته باشند.

در این فصل مسیر تکامل را به صورت زیر دنبال می کنیم:

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

در این فصل چه چیزهایی یاد می گیریم؟

  • معماری Zen چگونه Ryzen را متحول کرد.
  • Zen+ نسبت به Zen چه تغییراتی داشت.
  • چرا Zen 2 یکی از جهش های مهم AMD بود.
  • Zen 3 چگونه Performance تک هسته ای را تقویت کرد.
  • Zen 3+ چه تفاوتی با Zen 3 داشت.
  • Zen 4 چه تغییراتی در پلتفرم ایجاد کرد.
  • Zen 5 چه نوع تکاملی را دنبال می کند.
  • IPC چرا در مقایسه نسل ها اهمیت دارد.
  • چرا فرکانس به تنهایی معیار مقایسه نیست.
  • چرا Process Node به تنهایی Performance را تعیین نمی کند.
  • چگونه ارزش ارتقا از یک نسل به نسل بعد را بسنجیم.
  • کدام جهش ها در بازار لپ تاپ استوک اهمیت بیشتری دارند.

قبل از شروع: معماری، سری محصول و نسل را یکی ندانید

سه مفهوم زیر ممکن است در گفتگوهای روزمره
به جای یکدیگر استفاده شوند،
اما از نظر فنی یکسان نیستند:

Architecture
≠
Product Series
≠
Model Number

اصطلاح معنی نمونه
Architecture معماری داخلی CPU Zen 3
Product Series خانواده تجاری محصول Ryzen 5000
Model Number شماره دقیق مدل 5600U

Under the Hood — چرا معماری مهم تر از چیزی است که روی برچسب می بینیم؟

دو CPU می توانند تعداد هسته مشابه
و حتی فرکانس نزدیک داشته باشند،
اما به دلیل تفاوت معماری
Performance یکسانی ارائه نکنند.

معماری روی بخش هایی مانند:

Front End
+
Branch Prediction
+
Execution Engine
+
Cache Hierarchy
+
Memory Subsystem
+
Power Management

اثر می گذارد.

بنابراین مقایسه CPU فقط با GHz
مانند مقایسه دو خودرو فقط بر اساس دور موتور است.


Front End در CPU چیست؟

Front End
را می توان «بخش ورودی و آماده سازی دستورالعمل ها»
در پردازنده دانست.

این بخش وظایفی مانند
دریافت، پیش بینی، Decode
و آماده سازی دستورها
برای مراحل بعدی پردازش را انجام می دهد.


Branch Prediction چیست؟

Branch Prediction
یا «پیش بینی انشعاب»
مکانیزمی است که CPU تلاش می کند
مسیر احتمالی اجرای برنامه را
پیش از مشخص شدن نتیجه نهایی حدس بزند.

پیش بینی صحیح می تواند
از معطل ماندن Pipeline جلوگیری کند.


Pipeline چیست؟

Pipeline
یا «خط لوله پردازش»
روشی برای تقسیم اجرای دستورها
به چند مرحله است.

در نتیجه چند دستور می توانند
به صورت هم پوشان در مراحل مختلف
پردازش قرار داشته باشند.


Execution Engine چیست؟

Execution Engine
یا «موتور اجرا»
به مجموعه بخش هایی گفته می شود
که عملیات واقعی دستورالعمل ها
را در CPU انجام می دهند.

Zen؛ نقطه شروع Ryzen مدرن

معماری Zen نقطه عطف بزرگی برای AMD بود.

AMD با Zen دوباره تمرکز جدی خود را
روی Performance پردازنده های عمومی،
چند هسته ای و رقابت در بازار CPU افزایش داد.

در بازار لپ تاپ،
نمونه هایی از Ryzen Mobile اولیه را می توان
در مدل هایی مانند:

Ryzen 5 2500U

Ryzen 7 2700U

مشاهده کرد.

Zen چه چیزی را برای AMD تغییر داد؟

  • بازطراحی جدی معماری CPU
  • تمرکز بیشتر بر IPC
  • بازگشت قدرتمند AMD به پردازنده های چند هسته ای
  • استفاده گسترده تر از SMT
  • ایجاد پایه ای برای نسل های بعدی Ryzen

Zen+؛ تکامل و پالایش Zen

Zen+ را نباید یک بازطراحی کاملاً مستقل
در مقیاس Zen 2 یا Zen 3 در نظر گرفت.

این مرحله بیشتر بر پالایش معماری قبلی،
بهبود فرآیند ساخت،
رفتار فرکانسی و برخی تأخیرها تمرکز داشت.

موضوع Zen Zen+
ماهیت تغییر معماری پایه جدید بهینه سازی معماری قبلی
فرآیند ساخت 14nm کلاس مربوط 12nm کلاس مربوط
Clock Behavior نسل اولیه بهبود یافته
Latency پایه بهبود در برخی بخش ها


Latency چیست؟

Latency
یعنی «تأخیر».

در پردازنده،
Latency می تواند مدت زمانی باشد
که برای دسترسی به داده
یا تکمیل یک عملیات خاص لازم است.

Latency کمتر معمولاً مطلوب است،
اما اثر آن به نوع عملیات و Workload بستگی دارد.


Process Node یا لیتوگرافی چیست؟

Process Node
اصطلاحی برای اشاره به نسل
فناوری ساخت نیمه هادی است.

در گفتگوهای عمومی معمولاً
با عباراتی مانند:

14nm
|
12nm
|
7nm
|
5nm

نمایش داده می شود.

nm مخفف Nanometer
یا «نانومتر» است.

Common Mistake — عدد نانومتر کمتر یعنی CPU حتماً سریع تر است

خیر.

فرآیند ساخت یکی از عوامل مهم طراحی CPU است،
اما Performance نهایی
توسط مجموعه بزرگی از عوامل تعیین می شود.

Performance
≠
Process Node Alone

علاوه بر این،
نام گذاری فناوری ساخت شرکت های مختلف
الزاماً مقیاس مستقیم و ساده ای
برای مقایسه فیزیکی آنها نیست.

Zen 2؛ یکی از جهش های بزرگ AMD

Zen 2 مرحله مهمی در تکامل Ryzen بود.

این معماری علاوه بر افزایش Performance،
تغییرات مهمی در طراحی و فرآیند ساخت
خانواده های مربوط ایجاد کرد.

در لپ تاپ ها،
Ryzen 4000 Mobile
یکی از مهم ترین نمودهای Zen 2 بود.

نمونه:

Ryzen 5 4500U

Ryzen 5 4600U

Ryzen 7 4700U

Ryzen 7 4800U

Ryzen 5 4600H

Ryzen 7 4800H

Performance Impact — چرا Ryzen 4000 در لپ تاپ مهم شد؟

Ryzen 4000 Mobile باعث شد
AMD در بسیاری از لپ تاپ ها
ترکیب جذابی از:

Multi-Core Performance
+
Efficiency
+
Integrated Graphics

ارائه کند.

به همین دلیل لپ تاپ های Ryzen 4000
هنوز در بازار استوک
می توانند برای برخی کاربران
ارزش خرید قابل توجهی داشته باشند.

Zen+ در برابر Zen 2

موضوع Zen+ Zen 2
نوع تغییر بهینه سازی Zen تکامل معماری مهم تر
IPC نزدیک تر به Zen بهبود یافته
Efficiency بهبود نسبت به Zen پیشرفت بیشتر
اهمیت در لپ تاپ مرحله انتقالی جهش مهم Ryzen Mobile

Zen 3؛ تمرکز جدی تر بر IPC و Latency

Zen 3 یکی دیگر از نقاط مهم تکامل Ryzen بود.

این معماری علاوه بر بهبود Performance،
تغییرات مهمی در سازماندهی Coreها
و نحوه دسترسی آنها به Cache ایجاد کرد.

نمونه های لپ تاپی:

Ryzen 5 5600U

Ryzen 7 5800U

Ryzen 5 5600H

Ryzen 7 5800H


CCX چیست؟

CCX
اصطلاحی است که در توضیح
سازماندهی گروهی از Coreهای Zen
و منابع مرتبط با آنها استفاده شده است.

تغییر نحوه سازماندهی Core و Cache
می تواند روی ارتباط میان هسته ها
و Latency اثر بگذارد.

Zen 2 در برابر Zen 3

ویژگی Zen 2 Zen 3
IPC قوی بهبود محسوس
Core Organization ساختار نسل قبل بازطراحی مهم
Cache Access طراحی Zen 2 دسترسی یکپارچه تر در ساختار جدید
Single-Core Performance خوب بهبود یافته
Gaming CPU Performance قوی معمولاً بهتر در شرایط CPU محدود


CPU-Limited یعنی چه؟

CPU-Limited
یا «محدود شده توسط پردازنده»
شرایطی است که CPU
عامل اصلی محدود کننده Performance سیستم باشد.

برای مثال در برخی بازی ها،
GPU توان بیشتری دارد
اما CPU نمی تواند داده و دستورها
را با سرعت کافی آماده کند.

مثال بازار استوک: Ryzen 5 5500U در برابر Ryzen 5 5600U

این مقایسه نشان می دهد
چرا دانستن معماری از شماره مدل مهم تر است.

ویژگی Ryzen 5 5500U Ryzen 5 5600U
Core 6 6
Thread 12 12
معماری Zen 2 Zen 3
کلاس U U
تفاوت مهم معماری قدیمی تر IPC و معماری جدیدتر

Engineering Insight — مشخصات مشابه الزاماً Performance مشابه نیست

اگر فقط این اطلاعات را ببینیم:

6 Cores
/
12 Threads

ممکن است 5500U و 5600U
بسیار شبیه به نظر برسند.

اما تغییر معماری می تواند
رفتار CPU را در Workloadهای مختلف تغییر دهد.

این دقیقاً دلیل اهمیت Architecture Awareness
در خرید CPU است.


Architecture Awareness چیست؟

Architecture Awareness
را می توان «آگاهی از معماری»
ترجمه کرد.

یعنی هنگام مقایسه پردازنده،
فقط نام تجاری و تعداد Core را نبینیم
و معماری واقعی CPU را نیز در تصمیم گیری وارد کنیم.

Zen 3+؛ بهینه سازی برای دنیای لپ تاپ

Zen 3+ ادامه تکامل Zen 3 بود
و در خانواده هایی مانند Ryzen 6000 Mobile دیده شد.

نمونه:

Ryzen 5 6600U

Ryzen 7 6800U

Ryzen 5 6600H

Ryzen 7 6800H

Ryzen 9 6900HS

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

یکی از تغییرات مهم Ryzen 6000: گرافیک مجتمع RDNA 2

برخی پردازنده های Ryzen 6000 Mobile
از گرافیک مجتمع مبتنی بر RDNA 2 استفاده کردند.

این موضوع برای لپ تاپ هایی که GPU مجزا ندارند
اهمیت زیادی داشت.


RDNA چیست؟

RDNA
نام خانواده معماری گرافیکی AMD است.

RDNA 2 یکی از نسل های این معماری است
که در محصولات گرافیکی مختلف AMD
و برخی گرافیک های مجتمع پردازنده های Ryzen
مورد استفاده قرار گرفته است.

Zen 3 در برابر Zen 3+

موضوع Zen 3 Mobile Zen 3+ Mobile
CPU Architecture Zen 3 نسخه بهینه شده Zen 3
تمرکز Performance معماری بهینه سازی Mobile و Efficiency
پلتفرم نسل قبلی پلتفرم جدیدتر
iGPU در خانواده شاخص Vega در بسیاری از مدل ها RDNA 2 در Ryzen 6000 Mobile

Zen 4؛ معماری جدیدتر و تغییر پلتفرم

Zen 4 مرحله مهم دیگری در تکامل Ryzen بود.

در پردازنده های لپ تاپی مرتبط،
مدل هایی مانند:

Ryzen 5 7640U

Ryzen 7 7840U

Ryzen 5 7640HS

Ryzen 7 7840HS

از نمونه های شناخته شده هستند.

Zen 4 چه نوع تغییراتی ایجاد کرد؟

  • معماری CPU جدیدتر
  • بهبود Performance در نسل مربوط
  • پشتیبانی از قابلیت های پلتفرمی جدیدتر
  • استفاده از DDR5 / LPDDR5 در پلتفرم های مربوط
  • گرافیک مجتمع جدیدتر در بسیاری از مدل های موبایل مربوط
  • بهبودهای مرتبط با Efficiency


DDR5 چیست؟

DDR5
نسل جدیدتری از حافظه DDR SDRAM
نسبت به DDR4 است.

این استاندارد امکان پهنای باند بالاتر
و تغییرات معماری مختلفی
نسبت به نسل قبل فراهم می کند.


LPDDR5 چیست؟

LPDDR5
نوعی حافظه با تمرکز بر مصرف انرژی پایین
برای دستگاه های قابل حمل است.

LP در نام آن از
Low Power
به معنی «کم مصرف» می آید.

Zen 3 در برابر Zen 4

موضوع Zen 3 Zen 4
معماری نسل قدیمی تر نسل جدیدتر
IPC قوی بهبود یافته
Clock Potential سطح نسل مربوط افزایش در محصولات مربوط
Memory Platform وابسته به محصول پلتفرم های جدیدتر
Efficiency خوب بهبودهای نسل جدید

مثال بسیار مهم: Ryzen 7 7730U در برابر Ryzen 7 7840U

این دو CPU نشان می دهند
چرا عبارت «Ryzen 7 7000»
برای شناخت پردازنده کافی نیست.

ویژگی Ryzen 7 7730U Ryzen 7 7840U
رده Ryzen 7 Ryzen 7
سری تجاری 7000 Mobile 7000 Mobile
معماری CPU Zen 3 Zen 4
پسوند U U
نسل معماری قدیمی تر جدیدتر
پلتفرم کلی قدیمی تر جدیدتر

Common Mistake — هر دو 7000 هستند، پس اختلاف زیادی ندارند

این نتیجه گیری اشتباه است.

شماره سری تجاری مشابه
الزاماً به معنی معماری مشابه نیست.

هنگام خرید باید مدل کامل CPU
رمزگشایی شود.

Zen 5؛ ادامه تکامل معماری Ryzen

Zen 5 نسل جدیدتری از معماری CPUهای AMD است
که پس از Zen 4 معرفی شد.

تمرکز طراحی نسل های جدید معماری
فقط افزایش Clock نیست.

تغییرات می توانند بخش هایی مانند:

  • Front End
  • Branch Prediction
  • Instruction Throughput
  • Execution Resources
  • Data Paths
  • Efficiency

را در بر بگیرند.


Throughput چیست؟

Throughput
را می توان «نرخ انجام کار»
یا «حجم پردازش قابل انجام در واحد زمان»
ترجمه کرد.

Throughput با Latency یکی نیست.

Latency می پرسد:
«انجام یک کار چقدر طول می کشد؟»

Throughput می پرسد:
«در یک بازه زمانی چه مقدار کار می توان انجام داد؟»


Data Path چیست؟

Data Path
یا «مسیر داده»
به مسیرها و واحدهایی در پردازنده گفته می شود
که داده از طریق آنها
میان بخش های مختلف جابه جا و پردازش می شود.

Zen 4 در برابر Zen 5؛ چه چیزی را باید مقایسه کنیم؟

اشتباه است اگر مقایسه را فقط به این شکل انجام دهیم:

Zen 5 > Zen 4

از نظر نسل معماری Zen 5 جدیدتر است،
اما برای تصمیم خرید باید مدل واقعی پردازنده
و Workload مشخص شود.

مقایسه صحیح باید حداقل شامل:

  • Single-Core Performance
  • Multi-Core Performance
  • Power Consumption
  • Sustained Performance
  • iGPU Performance
  • Memory
  • Cooling
  • قیمت دستگاه

باشد.


Single-Core Performance چیست؟

Single-Core Performance
یعنی «عملکرد پردازنده هنگام وابستگی بیشتر
به توان یک هسته یا تعداد کمی هسته».

این معیار در برخی نرم افزارها،
عملیات روزمره و بخش هایی از بازی ها
اهمیت زیادی دارد.


Multi-Core Performance چیست؟

Multi-Core Performance
یعنی «توان پردازنده هنگام استفاده
از چند هسته به صورت هم زمان».

این موضوع در کارهایی مانند:

  • Rendering
  • Encoding
  • Compression
  • Compile
  • برخی شبیه سازی ها

اهمیت زیادی دارد.


Encoding چیست؟

Encoding
در این Context
به فرآیند تبدیل داده،
مخصوصاً صوت یا تصویر،
به قالب یا کدگذاری مشخص اشاره دارد.

برای مثال تبدیل ویدئو
به یک Codec مشخص
نوعی Encoding است.


Codec چیست؟

Codec
روشی یا سامانه ای
برای Encode و Decode کردن
داده های صوتی یا تصویری است.

H.264، H.265 و AV1
نمونه هایی از استانداردهای مرتبط
با فشرده سازی ویدئو هستند.


Compression چیست؟

Compression
یا «فشرده سازی»
فرآیندی برای کاهش حجم داده است.

نرم افزارهایی مانند ابزارهای فشرده سازی فایل
می توانند از Performance چند هسته ای CPU
بهره ببرند.

جدول تکامل معماری Zen

معماری جایگاه تاریخی تغییر مهم اهمیت برای خریدار
Zen آغاز Ryzen مدرن بازطراحی اساسی CPU پایه نسل های بعد
Zen+ تکامل Zen بهینه سازی فرآیند و رفتار فرکانسی بهبود تدریجی
Zen 2 جهش مهم IPC و Efficiency بهتر Ryzen 4000 Mobile بسیار مهم
Zen 3 تکامل بزرگ بعدی IPC و سازماندهی Core/Cache بهتر Performance تک هسته ای قوی تر
Zen 3+ بهینه سازی Mobile Efficiency و پلتفرم جدیدتر Ryzen 6000 Mobile جذاب
Zen 4 نسل معماری جدیدتر CPU و پلتفرم جدیدتر Performance و قابلیت های جدید
Zen 5 نسل بعدی معماری توسعه Front End و Execution باید مدل به مدل بررسی شود

آیا همیشه خرید یک نسل جدیدتر ارزش دارد؟

خیر.

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

باید این سؤال مطرح شود:

«برای هزینه بیشتر، چه مقدار Performance
یا قابلیت جدید دریافت می کنم؟»


Price-to-Performance چیست؟

Price-to-Performance
یعنی «نسبت قیمت به عملکرد».

این مفهوم بررسی می کند
در برابر مبلغی که پرداخت می کنیم
چه مقدار Performance دریافت می کنیم.

در بازار استوک این معیار
گاهی از جدید بودن نسل مهم تر است.

تصمیم گیری نسل به نسل در بازار لپ تاپ استوک

01
مدل کامل CPU را مشخص کنیدعبارت Ryzen 5 یا Ryzen 7 کافی نیست.
02
معماری واقعی را پیدا کنیدZen 2، Zen 3، Zen 3+، Zen 4 یا نسل دیگر؟
03
نسل قبل را پیدا کنیدببینید نسبت به مدل قبلی چه تغییر مهمی ایجاد شده است.
04
نسل بعد را بررسی کنیداختلاف قیمت با مدل جدیدتر چقدر است؟
05
Core و Thread را مقایسه کنیدتعداد هسته تنها معیار نیست، اما مهم است.
06
Single-Core را مقایسه کنیدمخصوصاً برای نرم افزارهای حساس به عملکرد تک هسته ای.
07
Multi-Core را مقایسه کنیدبرای Render، Compile و پردازش سنگین مهم است.
08
iGPU را مقایسه کنیدمخصوصاً اگر لپ تاپ GPU مجزا ندارد.
09
کل لپ تاپ را بررسی کنیدRAM، SSD، نمایشگر، Cooling و باتری نیز مهم هستند.
10
اختلاف قیمت را وارد محاسبه کنیدجدیدتر بودن همیشه ارزش پرداخت اختلاف زیاد را ندارد.

Under the Hood — فرمول مفهومی ارزش ارتقا

ارزش ارتقا فقط با Performance خام تعیین نمی شود.

Upgrade Value
=
Performance Gain
+
Efficiency Gain
+
Platform Improvements
+
Feature Improvements
–
Additional Cost

یعنی ممکن است CPU جدیدتر
15 درصد سریع تر باشد،
اما لپ تاپ مجهز به آن
50 درصد گران تر باشد.

در چنین شرایطی
انتخاب مدل قدیمی تر
می تواند از نظر اقتصادی منطقی تر باشد.

Performance per Watt؛ معیار مهمی که نباید فراموش شود


Performance per Watt چیست؟

Performance per Watt
یعنی «مقدار عملکرد به ازای توان مصرفی».

این معیار کمک می کند بفهمیم
CPU با مصرف انرژی مشخص
چه مقدار کار انجام می دهد.

این موضوع در لپ تاپ ها بسیار مهم است،
زیرا مصرف انرژی روی:

  • Battery Life
  • Heat
  • Fan Noise
  • Cooling Requirement
  • Sustained Performance

اثر می گذارد.


Fan Noise چیست؟

Fan Noise
یعنی «صدای تولید شده توسط فن سیستم خنک کننده».

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

Engineering Insight — نسل جدیدتر را با درصد ثابت تصور نکنید

نمی توان گفت:

Every New Generation = 20% Faster

میزان پیشرفت به مدل،
Workload، توان،
تعداد Core،
فرکانس، Cooling و معماری بستگی دارد.

حتی ممکن است یک CPU رده بالاتر قدیمی
در برخی Workloadها
از یک CPU رده پایین تر جدید سریع تر باشد.

Ryzen 7 قدیمی یا Ryzen 5 جدید؟

این سؤال در بازار استوک بسیار رایج است.

پاسخ عمومی:

مدل دقیق را مقایسه کنید.

Ryzen 7 قدیمی ممکن است:

  • Core بیشتری داشته باشد.
  • Multi-Core Performance خوبی داشته باشد.
  • قیمت پایین تری داشته باشد.

Ryzen 5 جدیدتر ممکن است:

  • IPC بالاتری داشته باشد.
  • Single-Core سریع تری داشته باشد.
  • Efficiency بهتری داشته باشد.
  • iGPU جدیدتری داشته باشد.
  • پلتفرم جدیدتری ارائه کند.

بنابراین هیچ پاسخ ثابتی وجود ندارد.

ماتریس مفهومی مقایسه معماری های Zen

معماری نسبت به قبل نکته مهم جایگاه امروز در خرید
Zen آغاز معماری جدید پایه Ryzen بیشتر برای بودجه محدود
Zen+ بهبود تدریجی پالایش Zen وابسته به قیمت
Zen 2 جهش مهم Ryzen 4000 Mobile مهم هنوز می تواند ارزشمند باشد
Zen 3 جهش معماری دیگر IPC و Single-Core بهتر گزینه جذاب بازار استوک
Zen 3+ بهینه سازی Zen 3 پلتفرم Mobile بهتر و iGPU جدیدتر در خانواده شاخص بسیار جذاب بسته به قیمت
Zen 4 نسل معماری جدید پلتفرم و قابلیت های جدیدتر قوی اما معمولاً گران تر
Zen 5 تکامل بعدی معماری Front End و Execution پیشرفته تر مدل و قیمت باید بررسی شود

Common Mistakes — اشتباهات رایج در مقایسه نسل های Ryzen
  • یکی دانستن نسل تجاری و معماری.
  • مقایسه CPU فقط بر اساس Ryzen 5 یا Ryzen 7.
  • فرض اینکه عدد مدل بزرگ تر همیشه Performance بیشتری دارد.
  • فرض اینکه هر Ryzen 5000 از Zen 3 استفاده می کند.
  • فرض اینکه هر Ryzen 7000 از Zen 4 استفاده می کند.
  • نادیده گرفتن پسوند پردازنده.
  • نادیده گرفتن تعداد Core و Thread.
  • نادیده گرفتن IPC.
  • مقایسه فقط بر اساس GHz.
  • مقایسه فقط بر اساس Process Node.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن Performance per Watt.
  • نادیده گرفتن Cooling لپ تاپ.
  • فرض اینکه نسل جدیدتر همیشه ارزش خرید بیشتری دارد.
  • نادیده گرفتن اختلاف قیمت در بازار استوک.

سوالات متداول مقایسه نسل های AMD Ryzen

Zen چیست؟

Zen نام خانواده معماری CPUهای مدرن AMD است
که پایه اصلی پردازنده های Ryzen را تشکیل می دهد.

Zen+ نسل کاملاً جدیدی نسبت به Zen بود؟

Zen+ بیشتر یک مرحله پالایش و بهینه سازی
معماری Zen بود تا یک بازطراحی کاملاً بنیادی.

چرا Zen 2 مهم است؟

Zen 2 پیشرفت مهمی در معماری،
Efficiency و Performance ایجاد کرد
و در لپ تاپ ها با خانواده مهم Ryzen 4000 Mobile
حضور پررنگی داشت.

Zen 3 چه مزیتی نسبت به Zen 2 دارد؟

Zen 3 تغییرات معماری مهمی
در بخش هایی مانند سازماندهی Core و Cache ایجاد کرد
و IPC و Performance تک هسته ای را بهبود داد.

Zen 3+ با Zen 3 چه تفاوتی دارد؟

Zen 3+ نسخه بهینه شده ای برای پلتفرم های جدیدتر Mobile بود
و در خانواده Ryzen 6000 Mobile
با بهبودهای مرتبط با Efficiency
و گرافیک مجتمع جدیدتر همراه شد.

Zen 4 همیشه از Zen 3 سریع تر است؟

در سطح معماری جدیدتر است،
اما برای مقایسه واقعی باید مدل دقیق،
توان، تعداد Core، Cooling و Workload بررسی شود.

Zen 5 چیست؟

Zen 5 نسل جدیدتری از معماری CPUهای AMD
پس از Zen 4 است
که تغییرات بیشتری در بخش های داخلی پردازنده ایجاد کرده است.

آیا Ryzen 7 قدیمی بهتر از Ryzen 5 جدید است؟

پاسخ به مدل های دقیق بستگی دارد.
Ryzen 7 قدیمی ممکن است Core بیشتری داشته باشد،
در حالی که Ryzen 5 جدید
می تواند IPC، Efficiency و قابلیت های جدیدتری ارائه کند.

برای خرید لپ تاپ استوک Zen 2 هنوز مناسب است؟

بله، بسته به مدل، قیمت و کاربری.
بسیاری از پردازنده های Zen 2
هنوز برای کارهای عمومی،
اداری، برنامه نویسی و حتی برخی کارهای سنگین
قابل استفاده هستند.

آیا Zen 3 برای لپ تاپ استوک انتخاب خوبی است؟

بسیاری از مدل های Zen 3
به دلیل ترکیب مناسب Performance،
Efficiency و قیمت بازار استوک
می توانند گزینه های بسیار خوبی باشند.

آیا عدد نانومتر کمتر یعنی پردازنده بهتر است؟

خیر.
فناوری ساخت یکی از عوامل طراحی CPU است
و نمی توان Performance را فقط با عدد نانومتر مقایسه کرد.

برای مقایسه دو نسل CPU چه Benchmarkی مناسب است؟

Benchmark باید با Workload واقعی شما مرتبط باشد.
برای مثال معیار مناسب Rendering
الزاماً بهترین معیار برای Office یا Gaming نیست.

مهم ترین معیار ارزش ارتقا چیست؟

باید Performance Gain،
Efficiency، قابلیت های جدید،
کل کیفیت لپ تاپ و اختلاف قیمت
هم زمان بررسی شوند.

اصطلاحات جدید این فصل

  • Front End: بخش دریافت و آماده سازی دستورالعمل های CPU.
  • Branch Prediction: پیش بینی مسیر اجرای دستورها.
  • Pipeline: خط لوله پردازش دستورها.
  • Execution Engine: بخش های مسئول اجرای عملیات پردازنده.
  • Latency: تأخیر انجام عملیات یا دسترسی به داده.
  • Process Node: نسل فناوری ساخت نیمه هادی.
  • CCX: اصطلاح مرتبط با سازماندهی گروهی Coreها در معماری های Zen.
  • CPU-Limited: شرایطی که CPU عامل محدود کننده Performance است.
  • Architecture Awareness: در نظر گرفتن معماری واقعی هنگام مقایسه CPU.
  • RDNA: خانواده معماری گرافیکی AMD.
  • DDR5: نسل جدیدتر حافظه DDR نسبت به DDR4.
  • LPDDR5: حافظه DDR کم مصرف برای دستگاه های قابل حمل.
  • Throughput: مقدار کار قابل انجام در واحد زمان.
  • Data Path: مسیر انتقال و پردازش داده در CPU.
  • Single-Core Performance: عملکرد وابسته به یک یا تعداد کمی هسته.
  • Multi-Core Performance: عملکرد هنگام استفاده از چند هسته.
  • Encoding: تبدیل داده به قالب یا کدگذاری مشخص.
  • Codec: روش یا سامانه Encode و Decode داده صوتی یا تصویری.
  • Compression: فشرده سازی داده.
  • Price-to-Performance: نسبت قیمت به عملکرد.
  • Performance per Watt: مقدار عملکرد به ازای توان مصرفی.
  • Fan Noise: صدای تولید شده توسط فن سیستم خنک کننده.

خلاصه فصل

تکامل Ryzen را نباید فقط
با افزایش شماره مدل دنبال کرد.

مسیر واقعی معماری:

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

در این مسیر AMD فقط Clock را افزایش نداده است؛
بخش هایی مانند IPC،
Front End، Cache،
Efficiency، مدیریت توان
و پلتفرم نیز تکامل یافته اند.

اما جدیدتر بودن معماری
به تنهایی برای انتخاب لپ تاپ کافی نیست.

فرمول بهتر:

Real Buying Value
=
Architecture
+
CPU Model
+
Workload Performance
+
Efficiency
+
Laptop Quality
+
Price

بنابراین در بازار استوک،
یک لپ تاپ Zen 3 خوش قیمت
ممکن است انتخاب منطقی تری
از یک دستگاه Zen 4 بسیار گران تر باشد.


فصل 35
سطح: متوسط تا پیشرفته
موضوع: مقایسه Intel و AMD
تمرکز: انتخاب واقعی بر اساس کاربری


Intel یا AMD؟ سؤال درست را بپرسیم

Intel یا AMD؟ مقایسه پردازنده ها بر اساس معماری، نسل، مصرف، کارایی و نوع کاربری

«Intel بهتر است یا AMD؟»
یکی از رایج ترین سؤال ها هنگام خرید لپ تاپ و کامپیوتر است،
اما به تنهایی سؤال دقیقی نیست.

Intel و AMD هر دو خانواده های بسیار متنوعی از پردازنده ها دارند.
بنابراین مقایسه دو برند بدون مشخص کردن مدل CPU،
نسل، معماری، کلاس توان و نوع کاربری
می تواند نتیجه ای کاملاً اشتباه ایجاد کند.

سؤال حرفه ای تر این است:

Which Intel CPU
vs
Which AMD CPU
for
Which Workload
at
Which Price?

یعنی:
«کدام پردازنده Intel در برابر کدام پردازنده AMD،
برای چه نوع کاری و با چه قیمتی؟»

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا مقایسه Intel و AMD فقط بر اساس برند اشتباه است.
  • چگونه پردازنده های هم رده را پیدا کنیم.
  • چرا Core i7 الزاماً از Ryzen 5 جدیدتر سریع تر نیست.
  • تفاوت معماری و نسل در مقایسه دو برند.
  • تفاوت Single-Core و Multi-Core در انتخاب CPU.
  • نقش تعداد Core و Thread.
  • نقش معماری Hybrid در پردازنده های جدید Intel.
  • تفاوت Performance Core و Efficient Core.
  • اهمیت iGPU در لپ تاپ بدون گرافیک مجزا.
  • نقش مصرف انرژی، حرارت و Cooling.
  • Intel و AMD برای Office، برنامه نویسی و کارهای مهندسی.
  • Intel و AMD برای AutoCAD و Revit.
  • Intel و AMD برای Rendering و تولید محتوا.
  • Intel و AMD برای Gaming.
  • روش انتخاب بین Intel و AMD در بازار لپ تاپ استوک.

اولین اشتباه: مقایسه نام برند

عباراتی مانند:

Intel is Better

AMD is Better

بدون مشخص کردن مدل و شرایط مقایسه
ارزش فنی چندانی ندارند.

هر دو شرکت در دوره های مختلف
محصولات بسیار قوی،
متوسط و ضعیف داشته اند.

Under the Hood — قانون طلایی مقایسه Intel و AMD

واحد صحیح مقایسه «برند» نیست.

Correct Comparison
=
Exact CPU Model
vs
Exact CPU Model

و حتی این مقایسه نیز باید
در یک Workload مشخص انجام شود.

CPU A
vs
CPU B
+
Same Workload
+
Comparable Power
+
Comparable Cooling


Workload چیست؟

Workload
را می توان «نوع بار کاری» یا
«مجموعه کاری که از پردازنده خواسته می شود»
ترجمه کرد.

برای مثال:

  • اجرای Excel یک Workload است.
  • Render سه بعدی Workload دیگری است.
  • Compile کردن پروژه برنامه نویسی Workload دیگری است.
  • اجرای بازی نیز نوعی Workload است.

ممکن است یک CPU در یک Workload سریع تر
و در Workload دیگری ضعیف تر باشد.

آیا Core i5 معادل Ryzen 5 و Core i7 معادل Ryzen 7 است؟

فقط در سطح بسیار کلی می توان
این نام ها را نشان دهنده جایگاه تقریبی بازار دانست.

Intel AMD جایگاه کلی
Core i3 Ryzen 3 رده پایه تا عمومی
Core i5 Ryzen 5 میان رده
Core i7 Ryzen 7 رده بالاتر
Core i9 Ryzen 9 Performance بالا

اما این جدول به معنی برابری مستقیم نیست.

برای مثال:

Core i7 ≠ Automatically Ryzen 7 Equivalent

Common Mistake — Core i7 همیشه از Ryzen 5 بهتر است

خیر.

یک Core i7 قدیمی ممکن است
در برخی کارها از Ryzen 5 جدیدتر ضعیف تر باشد.

همین قانون در جهت معکوس نیز برقرار است.

بنابراین عبارت های:

Core i7

Ryzen 7

بدون مدل کامل CPU اطلاعات کافی ارائه نمی کنند.

برای مقایسه صحیح Intel و AMD چه چیزهایی باید هم زمان بررسی شوند؟

01
مدل کامل CPUنام کامل هر دو پردازنده را مشخص کنید.
02
نسل و معماریفقط به i5، i7، Ryzen 5 یا Ryzen 7 نگاه نکنید.
03
کلاس توانCPU کم مصرف را با CPU Performance محور بدون توجه به کلاس محصول مقایسه نکنید.
04
Core و Threadساختار پردازشی دو CPU را بررسی کنید.
05
Single-Core Performanceبرای کارهای حساس به عملکرد تک هسته ای مهم است.
06
Multi-Core Performanceبرای پردازش های موازی اهمیت بیشتری دارد.
07
iGPUمخصوصاً در لپ تاپ فاقد کارت گرافیک مجزا.
08
Efficiencyمصرف انرژی و Performance per Watt را بررسی کنید.
09
Coolingعملکرد CPU لپ تاپ به سیستم خنک کننده وابسته است.
10
قیمت کل دستگاهدر نهایت ارزش خرید مهم تر از لوگوی روی CPU است.

تفاوت رویکرد معماری Intel و AMD

معماری پردازنده های دو شرکت
در طول زمان بارها تغییر کرده است.

بنابراین نمی توان یک تفاوت معماری ثابت
برای تمام CPUهای Intel و AMD تعریف کرد.

با این حال در نسل های جدیدتر،
یکی از تفاوت های قابل توجه
استفاده Intel از معماری Hybrid
در بسیاری از خانواده های پردازنده است.


Hybrid Architecture چیست؟

Hybrid Architecture
یا «معماری ترکیبی»
در این Context به طراحی پردازنده ای اشاره دارد
که از انواع متفاوت هسته ها
برای اهداف مختلف استفاده می کند.

در بسیاری از پردازنده های جدید Intel
این ساختار شامل:

Performance Cores
+
Efficient Cores

است.

P-Core چیست؟


Performance Core

P-Core
مخفف Performance Core
یا «هسته عملکردی» است.

این هسته ها برای Performance بالا
و اجرای وظایف حساس تر به سرعت پردازش
طراحی شده اند.

E-Core چیست؟


Efficient Core

E-Core
مخفف Efficient Core
یا «هسته بهره ور» است.

هدف این هسته ها
ارائه توان پردازشی مناسب
با بهره وری بالا و استفاده مؤثر از فضای تراشه است.

E-Core به معنی «هسته ضعیف و بی اهمیت» نیست.

Engineering Insight — چرا شمارش Core در CPUهای Hybrid نیاز به دقت دارد؟

در یک CPU Hybrid،
همه Coreها الزاماً از یک نوع نیستند.

بنابراین عبارت:

10-Core CPU

به تنهایی توضیح نمی دهد
چند P-Core و چند E-Core وجود دارد.

همچنین تعداد Thread
الزاماً دو برابر تعداد کل Coreها نیست.

هنگام مقایسه باید ساختار دقیق CPU بررسی شود.

Scheduler چیست و چرا در CPUهای Hybrid مهم است؟


Scheduler

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است
که تصمیم می گیرد Threadهای نرم افزاری
در چه زمانی و روی کدام منابع پردازشی اجرا شوند.

در پردازنده های Hybrid،
انتخاب مناسب میان انواع Coreها
می تواند اهمیت بیشتری پیدا کند.


Intel Thread Director چیست؟

Intel Thread Director
مکانیزمی سخت افزاری در برخی نسل های Intel است
که اطلاعاتی درباره وضعیت و نوع Workload
در اختیار سیستم عامل قرار می دهد
تا زمان بندی Threadها روی هسته های مختلف
بهتر انجام شود.

رویکرد AMD در بسیاری از نسل های Ryzen

بسیاری از نسل های Ryzen
از هسته های CPU هم نوع در یک مدل استفاده می کنند.

البته معماری AMD نیز در نسل های جدیدتر
پیچیده تر شده
و نباید یک قانون ساده را
به تمام محصولات آینده تعمیم داد.

نکته مهم این است که:

Intel Core Count
vs
AMD Core Count

همیشه مقایسه مستقیم و ساده ای نیست.

Intel یا AMD در Single-Core؟

پاسخ وابسته به نسل و مدل است.

در دوره های مختلف،
برتری Single-Core میان مدل های دو شرکت تغییر کرده است.

بنابراین جمله ای مانند:

Intel Always Has Better Single-Core

یک قانون معتبر برای تمام نسل ها نیست.

Performance Impact — Single-Core کجا مهم است؟

عملکرد تک هسته ای یا وابستگی به تعداد کمی هسته
می تواند در بخش هایی از این Workloadها اهمیت داشته باشد:

  • کارهای عمومی سیستم
  • برخی عملیات CAD
  • بخش هایی از مدل سازی
  • برخی بازی ها
  • برخی عملیات برنامه نویسی
  • نرم افزارهایی که Parallelism محدودی دارند


Parallelism چیست؟

Parallelism
یا «پردازش موازی»
یعنی تقسیم یک کار
به بخش هایی که بتوانند
به صورت هم زمان پردازش شوند.

هرچه یک نرم افزار بتواند
بهتر از چند Core و Thread استفاده کند،
Performance چند هسته ای CPU
اهمیت بیشتری پیدا می کند.

Intel یا AMD در Multi-Core؟

باز هم پاسخ ثابت وجود ندارد.

Performance چند هسته ای
به عوامل مختلفی بستگی دارد:

Core Count
+
Core Architecture
+
Thread Count
+
Clock
+
Power Limit
+
Cooling
+
Software Scaling


Software Scaling چیست؟

Software Scaling
در اینجا یعنی
نرم افزار با افزایش منابع پردازشی
تا چه اندازه می تواند Performance بیشتری تولید کند.

اگر برنامه نتواند از Coreهای بیشتر استفاده کند،
افزایش تعداد Core الزاماً
افزایش متناسب Performance ایجاد نمی کند.

مصرف انرژی و Efficiency؛ Intel یا AMD؟

نمی توان برای تمام نسل ها
یک برند را برنده دائمی Efficiency دانست.

معماری،
فرآیند ساخت،
Power Limit،
Firmware،
طراحی لپ تاپ
و نوع Workload همگی اثر دارند.


Power Limit چیست؟

Power Limit
یا «محدوده توان»
یکی از محدودیت هایی است
که مشخص می کند پردازنده
تحت شرایط مشخص
چه مقدار توان الکتریکی می تواند مصرف کند.

تنظیم Power Limit می تواند
روی Clock، حرارت
و Sustained Performance اثر بگذارد.

Under the Hood — یک CPU در دو لپ تاپ می تواند متفاوت عمل کند

فرض کنید دو لپ تاپ
دقیقاً از یک مدل CPU استفاده کنند.

باز هم Performance آنها
الزاماً یکسان نیست.

Actual Laptop CPU Performance
=
CPU
+
Power Limits
+
Cooling
+
Firmware
+
Memory
+
Workload Duration

بنابراین Benchmark یک مدل لپ تاپ
را نباید بدون بررسی
به تمام لپ تاپ های دارای همان CPU تعمیم داد.


Firmware چیست؟

Firmware
یا «میان افزار»
نرم افزاری سطح پایین است
که برای کنترل و مدیریت
بخش هایی از سخت افزار استفاده می شود.

تنظیمات Firmware دستگاه
می توانند روی رفتار توان،
فن و Performance اثر داشته باشند.

Sustained Performance؛ سرعتی که بعد از چند دقیقه باقی می ماند


Sustained Performance چیست؟

Sustained Performance
یعنی «عملکرد پایدار در پردازش طولانی».

یک CPU ممکن است برای چند ثانیه
Clock بسیار بالایی داشته باشد،
اما در یک Render بیست دقیقه ای
به دلیل محدودیت حرارتی یا توان
نتواند همان Performance را حفظ کند.


Burst Performance چیست؟

Burst Performance
یعنی Performance بالا
در یک بازه زمانی کوتاه.

این نوع Performance
در عملیات کوتاه و لحظه ای
اهمیت بیشتری دارد.

گرافیک مجتمع Intel و AMD

اگر لپ تاپ کارت گرافیک مجزا نداشته باشد،
قدرت iGPU اهمیت زیادی پیدا می کند.

اما مقایسه را نباید به:

Intel iGPU
vs
AMD iGPU

محدود کرد.

باید نسل و معماری گرافیک مجتمع
نیز مشخص شود.

در محصولات مختلف ممکن است با خانواده هایی مانند:

Intel UHD

Intel Iris Xe

Intel Arc Graphics

AMD Vega

AMD RDNA 2

AMD RDNA 3

روبه رو شویم.

Common Mistake — همه گرافیک های مجتمع AMD یا Intel شبیه هم هستند

خیر.

iGPU نیز مانند CPU
نسل و معماری دارد.

علاوه بر این،
Performance گرافیک مجتمع
می تواند به پهنای باند حافظه سیستم
وابستگی زیادی داشته باشد.


Memory Bandwidth چیست؟

Memory Bandwidth
یا «پهنای باند حافظه»
میزان داده ای است
که حافظه می تواند
در یک بازه زمانی منتقل کند.

چون iGPU معمولاً از RAM سیستم استفاده می کند،
پهنای باند حافظه
می تواند روی Performance آن اثر قابل توجهی داشته باشد.

Intel یا AMD برای کارهای اداری؟

برای Word، Excel،
مرور وب، حسابداری،
مدیریت فروشگاه و نرم افزارهای اداری،
معمولاً برند CPU مهم ترین معیار نیست.

مهم تر است که سیستم:

  • CPU مناسب و نه بیش از حد ضعیف داشته باشد.
  • RAM کافی داشته باشد.
  • از SSD استفاده کند.
  • سیستم خنک کننده سالم داشته باشد.
  • باتری و کیفیت کلی دستگاه مناسب باشد.

Intel یا AMD برای برنامه نویسی؟

«برنامه نویسی» یک Workload واحد نیست.

برنامه نویسی می تواند از:

  • ویرایش ساده کد
  • Web Development
  • اجرای Local Server
  • Compile پروژه های بزرگ
  • اجرای Virtual Machine
  • اجرای Container
  • توسعه نرم افزارهای سنگین

تشکیل شود.

بنابراین انتخاب CPU
باید بر اساس نوع پروژه انجام شود.


Local Server چیست؟

Local Server
یا «سرور محلی»
سرویسی است که روی همان کامپیوتر
یا شبکه محلی اجرا می شود
و معمولاً برای توسعه و آزمایش نرم افزار استفاده می شود.


Virtual Machine چیست؟

Virtual Machine
یا «ماشین مجازی»
محیطی نرم افزاری است
که رفتار یک کامپیوتر مستقل را شبیه سازی می کند.

اجرای چند ماشین مجازی
می تواند به Core، Thread و RAM زیادی نیاز داشته باشد.


Container چیست؟

Container
یا «محیط ایزوله اجرای نرم افزار»
روشی برای اجرای برنامه
همراه با وابستگی های مورد نیاز آن
در یک محیط جداشده است.

Docker یکی از فناوری های شناخته شده
مرتبط با Containerها است.

Intel یا AMD برای AutoCAD؟

AutoCAD شامل عملیات مختلفی است
و همه آنها رفتار پردازشی یکسانی ندارند.

در بسیاری از عملیات تعاملی و طراحی،
Performance تک هسته ای
یا عملکرد تعداد محدودی Core
اهمیت زیادی دارد.

بنابراین هنگام مقایسه Intel و AMD برای AutoCAD،
به جای برند باید:

  • مدل دقیق CPU
  • Single-Core Performance
  • Clock Behavior
  • نسل معماری
  • RAM
  • GPU در پروژه های مربوط

بررسی شوند.

Intel یا AMD برای Revit؟

Revit نیز ترکیبی از Workloadهای مختلف دارد.

بسیاری از عملیات تعاملی آن
از Performance قوی Coreها سود می برند،
در حالی که برخی فرآیندهای دیگر
می توانند از منابع بیشتری استفاده کنند.

بنابراین خرید CPU با Core بسیار زیاد
الزاماً بهترین انتخاب برای تمام کاربران Revit نیست.

Intel یا AMD برای Rendering؟

ابتدا باید مشخص کنیم
Render توسط CPU انجام می شود یا GPU.

در CPU Rendering،
Multi-Core Performance
معمولاً اهمیت بسیار زیادی دارد.

در GPU Rendering،
کارت گرافیک می تواند
عامل اصلی Performance باشد.


CPU Rendering چیست؟

CPU Rendering
یعنی فرآیند Render
عمدتاً توسط پردازنده مرکزی انجام شود.

در این حالت،
تعداد Core و Thread،
معماری،
Clock و Sustained Performance
اهمیت زیادی پیدا می کنند.


GPU Rendering چیست؟

GPU Rendering
یعنی بخش اصلی محاسبات Render
توسط پردازنده گرافیکی انجام شود.

در این حالت انتخاب GPU مناسب
ممکن است از تفاوت میان دو CPU نزدیک
اهمیت بیشتری داشته باشد.

Intel یا AMD برای Gaming؟

پاسخ دوباره وابسته به مدل است.

Performance بازی به ترکیبی از:

CPU
+
GPU
+
RAM
+
Game Engine
+
Resolution
+
Graphics Settings

وابسته است.

بنابراین نمی توان گفت
یک برند همیشه برای Gaming بهتر است.


Game Engine چیست؟

Game Engine
یا «موتور بازی»
مجموعه فناوری ها و سیستم های نرم افزاری
مورد استفاده برای ساخت و اجرای بازی است.

نحوه استفاده موتور بازی از CPU و GPU
می تواند روی Performance سخت افزارهای مختلف اثر بگذارد.

Engineering Insight — چرا Resolution روی مقایسه CPU در بازی اثر دارد؟

در بسیاری از شرایط،
با افزایش Resolution
فشار بیشتری روی GPU وارد می شود.

در نتیجه ممکن است اختلاف دو CPU
کمتر در Frame Rate نهایی دیده شود.

به همین دلیل Benchmarkهای CPU Gaming
باید با شرایط تست خوانده شوند.


Frame Rate چیست؟

Frame Rate
یا «نرخ فریم»
تعداد تصاویر تولید شده
در واحد زمان است.

معمولاً با FPS
یا Frames Per Second
نمایش داده می شود.

چرا مقایسه Intel و AMD در لپ تاپ سخت تر از دسکتاپ است؟

در لپ تاپ،
CPU بخشی از یک سیستم حرارتی و الکتریکی محدود است.

دو لپ تاپ با CPU مشابه
ممکن است:

  • Cooling متفاوت داشته باشند.
  • Power Limit متفاوت داشته باشند.
  • RAM متفاوت داشته باشند.
  • Single Channel یا Dual Channel باشند.
  • Firmware متفاوت داشته باشند.
  • ضخامت و طراحی بدنه متفاوت داشته باشند.

بنابراین:

Laptop Comparison
≠
CPU Comparison Only


Single Channel و Dual Channel چیست؟

این اصطلاحات به نحوه استفاده
کنترلر حافظه از کانال های RAM اشاره دارند.

Single Channel
یعنی استفاده از یک کانال حافظه،
در حالی که
Dual Channel
امکان استفاده از دو کانال را فراهم می کند.

پهنای باند بیشتر حافظه
مخصوصاً برای برخی iGPUها
می تواند اهمیت زیادی داشته باشد.

Intel یا AMD در بازار لپ تاپ استوک؟

در بازار استوک،
پاسخ باید حتی بیشتر بر
«ارزش خرید کل دستگاه» متمرکز باشد.

ممکن است دو لپ تاپ داشته باشیم:

Laptop A:
Intel Core i7

Laptop B:
AMD Ryzen 5

اما بدون دانستن مدل کامل CPU،
RAM، SSD، نمایشگر،
باتری، GPU، کیفیت دستگاه و قیمت،
هیچ انتخاب حرفه ای ممکن نیست.

Under the Hood — فرمول واقعی انتخاب لپ تاپ استوک

Used Laptop Value
=
CPU Performance
+
GPU
+
RAM
+
Storage
+
Display
+
Cooling
+
Battery Condition
+
Physical Condition
+
Upgradeability
+
Price

بنابراین انتخاب میان Intel و AMD
فقط یکی از بخش های تصمیم خرید است.


Upgradeability چیست؟

Upgradeability
یعنی «قابلیت ارتقا».

برای مثال:

  • آیا RAM قابل افزایش است؟
  • آیا SSD قابل تعویض است؟
  • چند Slot حافظه وجود دارد؟
  • چه نوع Storage پشتیبانی می شود؟

Common Mistake — خرید CPU بر اساس تعصب برند

وفاداری به یک برند
نباید جای تحلیل مدل واقعی را بگیرد.

بازار CPU دائماً تغییر می کند.

ممکن است در یک نسل،
یک مدل Intel ارزش خرید بیشتری داشته باشد
و در نسل یا بازه قیمت دیگر
یک Ryzen انتخاب منطقی تری باشد.

ماتریس تصمیم گیری Intel در برابر AMD

کاربری معیار مهم CPU نکته تصمیم گیری
Office Performance مناسب + Efficiency برند معمولاً اولویت اصلی نیست
دانشجویی Efficiency + Battery + Performance کل لپ تاپ را بررسی کنید
برنامه نویسی سبک Single-Core + RAM مدل های میان رده هر دو برند مناسب اند
Compile سنگین Multi-Core + Sustained Performance مدل دقیق CPU مهم است
Virtual Machine Core + Thread + RAM منابع بیشتر اهمیت پیدا می کنند
AutoCAD Single-Core قوی نسل و مدل مهم تر از برند هستند
Revit Performance قوی Coreها Workload واقعی پروژه را بررسی کنید
CPU Rendering Multi-Core Core/Thread و Cooling بسیار مهم اند
GPU Rendering CPU مناسب + GPU قوی GPU ممکن است عامل اصلی باشد
Gaming CPU + GPU Balance بر اساس بازی و GPU انتخاب کنید


System Balance یعنی چه؟

System Balance
یا «تعادل سیستم»
یعنی اجزای سیستم
متناسب با یکدیگر و متناسب با کاربری انتخاب شوند.

CPU بسیار قدرتمند در کنار:

  • RAM ناکافی
  • Storage کند
  • GPU نامناسب
  • Cooling ضعیف

الزاماً تجربه خوبی ایجاد نمی کند.

Bottleneck؛ چرا سریع ترین CPU همیشه بهترین خرید نیست؟


Bottleneck چیست؟

Bottleneck
یا «گلوگاه»
بخشی از سیستم است
که Performance کل سیستم
را محدود می کند.

اگر GPU عامل محدود کننده باشد،
خرید CPU بسیار گران تر
ممکن است افزایش Performance قابل توجهی ایجاد نکند.

اگر RAM ناکافی باشد،
CPU سریع نیز نمی تواند
تمام مشکل را جبران کند.

در نهایت کدام مهم تر است: Performance یا قیمت؟

برای بیشتر خریداران،
هدف پیدا کردن سریع ترین CPU جهان نیست.

هدف پیدا کردن بهترین ترکیب:

Performance
+
Features
+
Quality
+
Price

است.

به همین دلیل
Price-to-Performance
در بازار لپ تاپ استوک
اهمیت ویژه ای دارد.

الگوریتم 12 مرحله ای انتخاب بین Intel و AMD

01
کاربری را مشخص کنیدOffice، Engineering، Gaming، Programming یا Rendering؟
02
بودجه را مشخص کنیدبدون بودجه، مفهوم Value قابل ارزیابی نیست.
03
مدل کامل CPUها را ثبت کنیدفقط i7 و Ryzen 7 ننویسید.
04
نسل و معماری را بررسی کنیدفاصله معماری دو CPU ممکن است بسیار مهم باشد.
05
کلاس CPU را بررسی کنیدU را با H بدون توجه به هدف طراحی مقایسه نکنید.
06
Core و Thread را تحلیل کنیدمخصوصاً ساختار Hybrid را درست بخوانید.
07
Single-Core را بررسی کنیداگر نرم افزار شما به آن حساس است.
08
Multi-Core را بررسی کنیدبرای Workloadهای Parallel مهم است.
09
iGPU یا GPU را بررسی کنیدبسته به نوع دستگاه و نرم افزار.
10
Cooling و Power را بررسی کنیدمخصوصاً برای پردازش های طولانی.
11
کل لپ تاپ را مقایسه کنیدRAM، SSD، نمایشگر، باتری و کیفیت بدنه را فراموش نکنید.
12
قیمت را وارد معادله کنیدبهترین CPU الزاماً بهترین خرید نیست.

Performance Impact — انتخاب CPU بر اساس نوع کار

اگر Workload شما بیشتر Single-Core محور باشد،
افزایش Core بدون افزایش Performance هر Core
ممکن است سود محدودی داشته باشد.

اگر Workload شما Multi-Core محور باشد،
CPU دارای منابع پردازشی بیشتر
می تواند اختلاف بسیار بیشتری ایجاد کند.

اگر Workload شما GPU محور باشد،
اختلاف میان دو CPU نزدیک
ممکن است اهمیت کمتری از انتخاب GPU داشته باشد.

بنابراین:

Best CPU
=
Best CPU for Your Workload

Common Mistakes — اشتباهات رایج Intel در برابر AMD
  • انتخاب فقط بر اساس برند.
  • مقایسه Core i7 با Ryzen 7 بدون مدل کامل.
  • نادیده گرفتن نسل پردازنده.
  • نادیده گرفتن معماری CPU.
  • مقایسه U با H بدون توجه به کلاس توان.
  • مقایسه تعداد Core بدون شناخت نوع Core.
  • فرض اینکه Core بیشتر همیشه سریع تر است.
  • فرض اینکه Clock بیشتر همیشه CPU سریع تری ایجاد می کند.
  • نادیده گرفتن Single-Core Performance.
  • نادیده گرفتن Multi-Core Performance.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن RAM و Memory Bandwidth.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Sustained Performance.
  • مقایسه Benchmarkهای دارای شرایط تست متفاوت.
  • خرید CPU بسیار قوی برای Workload سبک.
  • نادیده گرفتن Price-to-Performance.
  • تعصب روی Intel یا AMD.

سوالات متداول Intel در برابر AMD

Intel بهتر است یا AMD؟

هیچ پاسخ عمومی برای تمام مدل ها وجود ندارد.
باید مدل دقیق CPU، نسل، معماری،
کاربری، لپ تاپ و قیمت مقایسه شود.

Core i5 بهتر است یا Ryzen 5؟

این دو فقط رده های کلی محصول هستند.
بدون دانستن مدل کامل نمی توان نتیجه گیری کرد.

Core i7 بهتر است یا Ryzen 7؟

به مدل و نسل بستگی دارد.
حتی یک Ryzen 5 جدیدتر می تواند
در برخی Workloadها از Core i7 قدیمی سریع تر باشد
و برعکس.

Intel برای AutoCAD بهتر است؟

باید مدل دقیق CPU مقایسه شود.
در بسیاری از عملیات AutoCAD
Performance قوی تک هسته ای مهم است،
اما برند به تنهایی معیار کافی نیست.

AMD برای Rendering بهتر است؟

در CPU Rendering
Multi-Core Performance اهمیت زیادی دارد.
برنده به مدل دقیق CPUها بستگی دارد،
نه صرفاً AMD یا Intel بودن.

برای برنامه نویسی Intel بهتر است یا AMD؟

هر دو می توانند بسیار مناسب باشند.
نوع برنامه نویسی،
Compile، تعداد ماشین های مجازی،
RAM و بودجه تعیین کننده هستند.

برای لپ تاپ بدون کارت گرافیک مجزا کدام بهتر است؟

باید iGPU مدل دقیق بررسی شود.
نسل های مختلف Intel و AMD
گرافیک های مجتمع بسیار متفاوتی دارند.

P-Core چیست؟

Performance Core
یا هسته عملکردی
یکی از انواع Core در معماری Hybrid برخی پردازنده های Intel است.

E-Core چیست؟

Efficient Core
یا هسته بهره ور
برای ارائه توان پردازشی با بهره وری مناسب طراحی شده است.

آیا E-Core هسته واقعی محسوب می شود؟

بله.
E-Core یک هسته پردازشی واقعی است،
اما طراحی و قابلیت های آن
با P-Core یکسان نیست.

چرا یک CPU در دو لپ تاپ Performance متفاوت دارد؟

Cooling، Power Limit،
Firmware، RAM و طراحی دستگاه
می توانند Performance واقعی را تغییر دهند.

برای لپ تاپ استوک Intel بهتر است یا AMD؟

مدل دقیق، قیمت و وضعیت کل لپ تاپ
مهم تر از برند هستند.
هر دو برند مدل های بسیار ارزشمندی
در بازار استوک دارند.

آیا CPU جدیدتر همیشه انتخاب بهتری است؟

خیر.
اختلاف Performance،
قیمت، قابلیت ها و کیفیت کل دستگاه
باید با یکدیگر سنجیده شوند.

مهم ترین قانون مقایسه Intel و AMD چیست؟

مدل دقیق را با مدل دقیق،
در Workload مشابه
و با در نظر گرفتن قیمت مقایسه کنید.

اصطلاحات جدید این فصل

  • Workload: نوع بار کاری اجرا شده روی سیستم.
  • Hybrid Architecture: معماری دارای انواع متفاوت هسته پردازشی.
  • P-Core: Performance Core یا هسته عملکردی.
  • E-Core: Efficient Core یا هسته بهره ور.
  • Scheduler: زمان بند سیستم عامل برای تخصیص Threadها.
  • Intel Thread Director: مکانیزم کمک به زمان بندی Workload در برخی CPUهای Hybrid اینتل.
  • Parallelism: اجرای موازی بخش های یک پردازش.
  • Software Scaling: میزان بهره گیری نرم افزار از افزایش منابع پردازشی.
  • Power Limit: محدوده توان مصرفی تعیین شده برای پردازنده.
  • Firmware: میان افزار کنترل کننده بخش هایی از سخت افزار.
  • Sustained Performance: عملکرد پایدار در پردازش طولانی.
  • Burst Performance: عملکرد بالا در بازه کوتاه.
  • Memory Bandwidth: پهنای باند انتقال داده حافظه.
  • Local Server: سرور اجرا شده روی سیستم یا شبکه محلی.
  • Virtual Machine: ماشین مجازی.
  • Container: محیط ایزوله برای اجرای نرم افزار و وابستگی های آن.
  • CPU Rendering: رندر مبتنی بر پردازنده مرکزی.
  • GPU Rendering: رندر مبتنی بر پردازنده گرافیکی.
  • Game Engine: موتور نرم افزاری اجرای بازی.
  • Frame Rate: تعداد فریم تولید شده در واحد زمان.
  • Upgradeability: قابلیت ارتقای سخت افزار.
  • System Balance: تناسب اجزای سیستم با یکدیگر و با نوع کاربری.
  • Bottleneck: گلوگاهی که Performance کل سیستم را محدود می کند.

خلاصه فصل

سؤال «Intel بهتر است یا AMD؟»
پاسخ ثابت ندارد.

مقایسه حرفه ای باید به شکل زیر انجام شود:

Exact Intel CPU
vs
Exact AMD CPU
+
Workload
+
Power
+
Cooling
+
GPU
+
RAM
+
Device Quality
+
Price

برای Office ممکن است تفاوت دو CPU
اهمیت بسیار کمی داشته باشد.

برای AutoCAD،
Single-Core Performance می تواند مهم تر شود.

برای CPU Rendering،
Multi-Core Performance اهمیت بیشتری پیدا می کند.

برای Gaming،
رابطه CPU و GPU تعیین کننده است.

و در بازار لپ تاپ استوک،
قیمت و وضعیت کل دستگاه
باید وارد معادله شوند.

قانون نهایی:

Do Not Buy a Brand.
Buy the Right Processor
for the Right Workload
at the Right Price.

یعنی:
«برند نخرید؛ پردازنده مناسب برای کار مناسب
و با قیمت مناسب انتخاب کنید.»


فصل 36
سطح: متوسط تا پیشرفته
موضوع: Benchmark پردازنده
تمرکز: تفسیر صحیح نتایج تست


عدد Benchmark را نبین؛ معنی آن را بخوان

بنچمارک CPU چیست؟ آموزش کامل خواندن و مقایسه نتایج تست پردازنده

Benchmark یکی از مفیدترین ابزارهای مقایسه پردازنده هاست،
اما اگر ندانیم هر تست چه چیزی را اندازه می گیرد،
همان Benchmark می تواند باعث انتخاب اشتباه شود.

امتیاز 12000 در یک Benchmark
الزاماً بهتر از امتیاز 9000 در Benchmark دیگری نیست؛
زیرا واحد، روش آزمایش و نوع Workload
ممکن است کاملاً متفاوت باشد.

حتی دو نتیجه از یک Benchmark یکسان
نیز ممکن است به دلیل تفاوت لپ تاپ،
Cooling، Power Limit، RAM،
نسخه نرم افزار و شرایط آزمایش متفاوت باشند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark دقیقاً چیست.
  • تفاوت Synthetic و Real-World Benchmark.
  • تفاوت Single-Core و Multi-Core Score.
  • Cinebench چه چیزی را اندازه می گیرد.
  • Geekbench برای چه نوع مقایسه ای مفید است.
  • PassMark چگونه باید تفسیر شود.
  • چرا UserBenchmark معیار نهایی انتخاب CPU نیست.
  • چگونه Benchmarkهای نرم افزار واقعی را بخوانیم.
  • FPS، Average FPS و 1% Low چیست.
  • چرا دما و Power Limit روی نتیجه Benchmark اثر دارند.
  • چرا یک CPU در دو لپ تاپ امتیاز متفاوت می گیرد.
  • Cold Run و Warm Run چیست.
  • Benchmark Loop چیست.
  • Variance و Margin of Error چیست.
  • چگونه Benchmark جعلی یا گمراه کننده را تشخیص دهیم.
  • چگونه برای خرید لپ تاپ استوک Benchmark را تحلیل کنیم.

Benchmark چیست؟


Benchmark

Benchmark
را می توان «آزمون سنجش عملکرد»
ترجمه کرد.

Benchmark مجموعه ای از عملیات مشخص را اجرا می کند
تا بتوان Performance یک سخت افزار
را اندازه گیری یا با سخت افزار دیگری مقایسه کرد.

Benchmark
=
Defined Test
→
Measurement
→
Comparison

Benchmark Score چیست؟

بسیاری از Benchmarkها
نتیجه را به صورت یک Score
یا «امتیاز» نمایش می دهند.

اما Score یک واحد جهانی نیست.

Common Mistake — مقایسه امتیاز دو Benchmark متفاوت

فرض کنید CPU در یک برنامه
امتیاز 15000 و در برنامه دیگری
امتیاز 9000 بگیرد.

از این اعداد نمی توان نتیجه گرفت
Benchmark اول Performance بیشتری ثبت کرده است.

هر Benchmark سیستم امتیازدهی خودش را دارد.

Cinebench Score
≠
Geekbench Score
≠
PassMark Score

Synthetic Benchmark چیست؟


Synthetic Benchmark

Synthetic Benchmark
یا «بنچمارک مصنوعی»
آزمایشی است که برای اندازه گیری
جنبه های مشخصی از Performance
در یک محیط کنترل شده طراحی شده است.

این تست ها برای مقایسه استاندارد
بسیار مفید هستند،
اما الزاماً رفتار تمام نرم افزارهای واقعی
را بازسازی نمی کنند.

Real-World Benchmark چیست؟


Real-World Benchmark

Real-World Benchmark
یا «آزمون عملکرد در کاربرد واقعی»
از نرم افزارها یا عملیات نزدیک به استفاده واقعی کاربر
برای اندازه گیری Performance استفاده می کند.

مثال:

  • زمان Compile یک پروژه واقعی
  • زمان Render یک Scene
  • زمان Export یک ویدئو
  • زمان Compression یک مجموعه فایل
  • Performance یک پروژه CAD
  • Frame Rate یک بازی واقعی


Scene چیست؟

Scene
در نرم افزارهای سه بعدی
به «صحنه» شامل مدل ها،
نورها، دوربین، متریال ها
و سایر عناصر پروژه گفته می شود.

Synthetic یا Real-World؛ کدام مهم تر است؟

ویژگی Synthetic Real-World
استانداردسازی معمولاً بالا وابسته به تست
تکرارپذیری معمولاً خوب ممکن است پیچیده تر باشد
شباهت به کار واقعی متغیر بیشتر
مناسب مقایسه سریع بله معمولاً زمان برتر
مناسب تصمیم نهایی به تنهایی خیر بسیار مهم

Engineering Insight — Benchmark خوب، مجموعه ای از تست هاست

برای شناخت CPU بهتر است
چند نوع Benchmark را کنار هم قرار دهیم.

Good CPU Evaluation
=
Synthetic Tests
+
Real Applications
+
Sustained Load
+
Power
+
Temperature

یک عدد واحد
نمی تواند شخصیت کامل یک پردازنده را توصیف کند.

Single-Core Benchmark چیست؟

در تست Single-Core
تمرکز اصلی روی Performance
یک هسته یا تعداد بسیار محدودی از منابع پردازشی است.

این تست می تواند برای تخمین
توان پردازنده در Workloadهایی که
Parallelism محدودی دارند مفید باشد.

Multi-Core Benchmark چیست؟

Multi-Core Benchmark
تلاش می کند چند Core و Thread پردازنده
را به صورت هم زمان درگیر کند.

این نوع تست برای Workloadهایی مانند:

  • CPU Rendering
  • Encoding
  • Compression
  • Compileهای سنگین
  • برخی محاسبات علمی

اهمیت بیشتری دارد.

Under the Hood — چرا 8 هسته دو برابر 4 هسته سریع نیست؟

اگر تعداد Core دو برابر شود،
Performance الزاماً دو برابر نمی شود.

بخشی از Workload ممکن است
قابل Parallel شدن نباشد.

علاوه بر آن:

  • Clock ممکن است کاهش یابد.
  • Power Limit وجود دارد.
  • حرارت افزایش پیدا می کند.
  • هسته ها منابع مشترک دارند.
  • Software Scaling کامل نیست.

2 × Core Count
≠
Automatically 2 × Performance

Cinebench چیست؟


Cinebench

Cinebench
یک Benchmark شناخته شده برای ارزیابی
Performance پردازنده در Workloadهای مرتبط
با Rendering است.

بسته به نسخه،
می توان از آن برای بررسی
Single-Core و Multi-Core Performance استفاده کرد.

Cinebench برای چه چیزی مفید است؟

  • مقایسه Performance CPU در بار پردازشی سنگین
  • بررسی Multi-Core Performance
  • مقایسه Single-Core در نسخه های مربوط
  • بررسی رفتار CPU زیر Load
  • بررسی افت Performance در تست های تکراری

Common Mistake — برنده Cinebench بهترین CPU برای همه است

خیر.

Cinebench نوع مشخصی از Workload را اندازه گیری می کند.

CPU برنده Cinebench
الزاماً در:

  • AutoCAD
  • Excel
  • Gaming
  • Web Browsing
  • تمام Compileها

به همان نسبت برتری ندارد.

Geekbench چیست؟


Geekbench

Geekbench
مجموعه ای از Workloadهای مختلف را اجرا می کند
و معمولاً امتیازهایی برای
Single-Core و Multi-Core ارائه می دهد.

این Benchmark می تواند
برای مقایسه سریع پردازنده ها مفید باشد،
اما نتیجه آن نیز نباید
تنها معیار تصمیم گیری باشد.

PassMark CPU Mark چیست؟


CPU Mark

CPU Mark
امتیازی از مجموعه تست های CPU
در نرم افزار PassMark PerformanceTest است.

این امتیاز برای مشاهده سریع
جایگاه تقریبی CPUها مفید است،
اما نباید آن را معادل Performance
در تمام نرم افزارهای واقعی دانست.

Benchmark Database چیست؟


Benchmark Database

Benchmark Database
یا «پایگاه داده بنچمارک»
مجموعه ای از نتایج ثبت شده
برای تعداد زیادی سخت افزار است.

این پایگاه ها برای مقایسه سریع مفید هستند،
اما باید بدانیم نتایج چگونه جمع آوری شده اند.

نتایج User-Submitted چیست؟


User-Submitted Results

یعنی نتایجی که کاربران مختلف
از سیستم های خود ثبت و ارسال کرده اند.

مزیت:
تعداد نمونه ها می تواند زیاد باشد.

محدودیت:
شرایط سیستم ها یکسان نیست.

تفاوت در:

  • Cooling
  • RAM
  • Power Settings
  • Background Applications
  • BIOS
  • Operating System

می تواند روی نتایج اثر بگذارد.

UserBenchmark را چگونه بخوانیم؟

سایت ها و پایگاه های مقایسه خودکار
می توانند برای مشاهده اولیه اطلاعات مفید باشند،
اما نباید رتبه بندی یا درصد نهایی آنها
بدون شناخت روش محاسبه
به عنوان حقیقت مطلق در نظر گرفته شود.

Common Mistake — اعتماد به یک درصد آماده

اگر سایتی بنویسد:

CPU A = 17% Faster Than CPU B

اولین سؤال باید این باشد:

«17 درصد در چه چیزی؟»

Single-Core؟
Multi-Core؟
Gaming؟
Average Score؟
یا فرمول اختصاصی همان سایت؟

نسخه Benchmark چرا مهم است؟

نتایج نسخه های مختلف یک Benchmark
الزاماً قابل مقایسه مستقیم نیستند.

برای مثال:

Cinebench R20

Cinebench R23

Cinebench 2024

تست ها و سیستم امتیازدهی یکسانی ندارند.

بنابراین:

Compare Same Benchmark
+
Same Version

Common Mistake — مقایسه Geekbench 5 با Geekbench 6

امتیازهای نسخه های متفاوت Geekbench
را نباید مستقیماً با یکدیگر مقایسه کرد.

همیشه Version تست را بررسی کنید.

شرایط تست چرا اهمیت دارد؟

Benchmark بدون دانستن شرایط آزمایش
اطلاعات ناقصی است.

حداقل باید بدانیم:

  • مدل دقیق دستگاه چیست.
  • CPU در چه Power Mode کار می کند.
  • RAM چه ظرفیتی و چه ساختاری دارد.
  • دمای محیط چقدر است.
  • دستگاه به برق متصل است یا روی باتری.
  • نسخه BIOS چیست.
  • نسخه سیستم عامل چیست.
  • Benchmark چه نسخه ای دارد.
  • آیا برنامه های پس زمینه فعال هستند.


Background Application چیست؟

Background Application
یا «برنامه پس زمینه»
نرم افزاری است که
هم زمان با Benchmark
در سیستم فعال است
و ممکن است بخشی از CPU، RAM
یا سایر منابع را مصرف کند.

Cold Run و Warm Run چیست؟

اصطلاح معنی
Cold Run اجرای تست زمانی که سیستم هنوز نسبتاً خنک است
Warm Run اجرای تست پس از گرم شدن سیستم

لپ تاپ ممکن است در Cold Run
امتیاز بسیار خوبی ثبت کند،
اما پس از گرم شدن
نتواند همان Performance را حفظ کند.

Benchmark Loop چیست؟


Benchmark Loop

Loop
یعنی «تکرار».

Benchmark Loop یعنی
یک تست چند بار پشت سر هم اجرا شود
تا رفتار سیستم در Load طولانی تر مشخص شود.

Performance Impact — چرا Loop برای لپ تاپ مهم است؟

یک تست کوتاه ممکن است
فقط Burst Performance را نشان دهد.

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

  • آیا CPU پس از گرم شدن افت می کند.
  • Cooling چقدر مؤثر است.
  • Power Limit چگونه تغییر می کند.
  • Performance پایدار دستگاه چقدر است.

Thermal Throttling چگونه Benchmark را تغییر می دهد؟

اگر CPU به محدودیت حرارتی برسد،
سیستم ممکن است برای کنترل دما
Clock یا توان را کاهش دهد.

نتیجه:

Higher Temperature
→
Possible Clock Reduction
→
Lower Sustained Performance

به همین دلیل یک لپ تاپ ضخیم تر
با Cooling بهتر
ممکن است از همان CPU
Performance پایدار بیشتری استخراج کند.


Throttling چیست؟

Throttling
یعنی کاهش کنترل شده Performance
برای رعایت محدودیت هایی مانند
دما یا توان.

Thermal Throttling
به کاهش Performance
در واکنش به محدودیت حرارتی گفته می شود.

امتیاز خود CPU یا امتیاز همان لپ تاپ؟

هنگام خرید لپ تاپ،
اگر امکان داشته باشد
Benchmark همان مدل لپ تاپ
اطلاعات ارزشمندتری
از میانگین عمومی CPU ارائه می دهد.

زیرا:

CPU Database Result
=
General CPU Behavior

Specific Laptop Review
=
CPU
+
Cooling
+
Power Configuration
+
Memory Configuration

Variance چیست؟


Variance

Variance
در مفهوم عمومی Benchmark
به تغییر و پراکندگی نتایج
میان اجراهای مختلف اشاره دارد.

برای مثال اگر یک سیستم
سه بار این نتایج را ثبت کند:

10000
/
10080
/
9970

تغییرات نسبتاً محدود است.

اما:

10000
/
9100
/
8200

می تواند نشانه تغییر جدی شرایط
در طول تست باشد
و نیاز به بررسی بیشتر دارد.

Margin of Error چیست؟


Margin of Error

Margin of Error
یعنی «حاشیه خطا».

در مقایسه عملی Benchmarkها،
اختلاف بسیار کوچک میان دو نتیجه
ممکن است به دلیل تغییرات طبیعی آزمایش باشد
و نه اختلاف واقعی و معنادار Performance.

Engineering Insight — اختلاف 2 درصد همیشه پیروزی واقعی نیست

فرض کنید:

CPU A = 10,200

CPU B = 10,000

اختلاف حدود 2 درصد است.

اگر شرایط تست،
دما، Power Limit
یا Variance مشخص نباشد،
این اختلاف ممکن است
برای تصمیم خرید اهمیت عملی کمی داشته باشد.

اختلاف درصدی Benchmark چگونه محاسبه می شود؟

اگر بخواهیم بدانیم
CPU A نسبت به CPU B
چند درصد امتیاز بیشتری دارد:

Percentage Difference
=
((A – B) / B) × 100

مثال:

A = 12,000

B = 10,000

((12,000 – 10,000) / 10,000) × 100
=
20%

یعنی A در همان Benchmark
حدود 20 درصد امتیاز بیشتری ثبت کرده است.

Common Mistake — 20 درصد Benchmark بیشتر یعنی همه چیز 20 درصد سریع تر است

خیر.

فقط می توان گفت
در همان تست و همان معیار
اختلاف حدود 20 درصد بوده است.

این اختلاف را نمی توان
مستقیماً به تمام نرم افزارها تعمیم داد.

در بعضی Benchmarkها عدد کمتر بهتر است

همیشه Score بیشتر به معنی بهتر بودن نیست.

در تست هایی که «زمان انجام کار»
اندازه گیری می شود،
عدد کمتر بهتر است.

مثال:

CPU A Render Time = 120 Seconds

CPU B Render Time = 150 Seconds

در اینجا CPU A سریع تر است،
چون کار را در زمان کمتری تمام کرده است.

نوع معیار معمولاً بهتر چیست؟
Performance Score بیشتر
FPS بیشتر
Render Time کمتر
Compile Time کمتر
Compression Time کمتر
Power Consumption وابسته به Performance و هدف
Temperature نیازمند Context


Context چیست؟

Context
یعنی «زمینه و شرایطی که یک داده در آن معنا پیدا می کند».

برای مثال دمای 90 درجه
بدون دانستن نوع CPU،
Load، توان، طراحی دستگاه
و محدودیت حرارتی آن
اطلاعات کاملی نیست.

Benchmark پردازنده در بازی چگونه خوانده می شود؟

در تست Gaming معمولاً چند معیار دیده می شود:

  • Average FPS
  • 1% Low
  • گاهی 0.1% Low
  • Frame Time


Average FPS چیست؟

Average FPS
یا «میانگین نرخ فریم»
میانگین تعداد فریم های تولید شده
در هر ثانیه طی تست است.

1% Low چیست؟


1% Low

1% Low
معیاری برای بررسی بخش کندتر تجربه اجرای بازی است
و می تواند دید بهتری از افت های محسوس Performance
نسبت به Average FPS به تنهایی ارائه کند.

اگر Average FPS بالا باشد
اما 1% Low بسیار پایین باشد،
تجربه بازی ممکن است
به اندازه عدد میانگین روان نباشد.

Frame Time چیست؟


Frame Time

Frame Time
یا «زمان تولید هر فریم»
مدت زمانی است
که برای تولید یک Frame نیاز است.

معمولاً با Millisecond
یا «میلی ثانیه» بیان می شود.


Frame Pacing چیست؟

Frame Pacing
به میزان یکنواختی
زمان تولید فریم های متوالی اشاره دارد.

حتی Average FPS بالا
در صورت نوسان شدید Frame Time
می تواند تجربه ناهماهنگی ایجاد کند.

Under the Hood — چرا تست CPU Gaming معمولاً با GPU قوی انجام می شود؟

اگر GPU ضعیف عامل اصلی محدودیت باشد،
اختلاف CPUها پنهان می شود.

بنابراین برای آشکار کردن اختلاف CPU،
بررسی کننده ممکن است
از GPU قدرتمند
و تنظیمات مناسب تست استفاده کند.

Goal:
Reduce GPU Bottleneck
→
Expose CPU Difference

چرا Resolution تست را باید بررسی کنیم؟

Benchmark بازی در:

1080p

1440p

4K

می تواند نتایج متفاوتی ایجاد کند.

با افزایش Resolution
معمولاً بار GPU افزایش پیدا می کند
و در برخی شرایط
اختلاف CPUها کمتر دیده می شود.

برای AutoCAD چه Benchmarkی مهم است؟

اگر هدف خرید لپ تاپ برای AutoCAD باشد،
فقط Cinebench Multi-Core
معیار مناسبی برای تصمیم نهایی نیست.

باید تست هایی را پیدا کرد
که رفتار CPU را در عملیات نزدیک به AutoCAD
یا نرم افزارهای CAD مشابه بررسی کنند.

Single-Core Performance
نیز در بسیاری از عملیات تعاملی
اهمیت دارد.

برای Revit چه Benchmarkی مهم است؟

برای Revit نیز بهتر است
علاوه بر Benchmarkهای عمومی،
نتایج Workloadهای واقعی Revit بررسی شوند.

زمان انجام عملیات پروژه،
Responsiveness
و برخی فرآیندهای محاسباتی
می توانند اطلاعات کاربردی تری ارائه دهند.


Responsiveness چیست؟

Responsiveness
یا «پاسخ دهی سیستم»
بیان می کند سیستم یا نرم افزار
با چه سرعتی به دستور کاربر واکنش نشان می دهد.

Responsiveness همیشه
با Multi-Core Score بالا
رابطه مستقیم ندارد.

برای برنامه نویسی چه Benchmarkی مهم است؟

بسته به نوع برنامه نویسی
می توان معیارهای مختلفی بررسی کرد.

برای پروژه های بزرگ:

  • Compile Time
  • Build Time
  • Multi-Core Performance
  • Memory Performance

می توانند مهم باشند.


Build Time چیست؟

Build Time
یعنی زمانی که برای تبدیل
کد و اجزای پروژه
به خروجی قابل اجرا یا قابل استفاده
نیاز است.

برای Rendering چه Benchmarkی مهم است؟

اگر موتور Render از CPU استفاده کند،
تست های Multi-Core و زمان Render واقعی
اهمیت زیادی دارند.

بهتر است علاوه بر Score،
زمان تکمیل یک Scene مشخص
نیز بررسی شود.

برای کار اداری Benchmark مهم است؟

بله،
اما در بسیاری از سیستم های مدرن
تفاوت CPUهای مناسب
در کارهای ساده اداری
ممکن است کمتر از چیزی باشد
که Scoreهای Benchmark القا می کنند.

در اینجا عواملی مانند:

  • SSD
  • RAM کافی
  • سلامت سیستم عامل
  • Responsiveness کلی
  • Battery Life

نیز بسیار مهم هستند.

سریع ترین CPU یا بیشترین شارژدهی؟

در لپ تاپ،
Performance تنها هدف نیست.

ممکن است CPU سریع تر
مصرف بیشتری داشته باشد
و برای کاربری قابل حمل
انتخاب بهتری نباشد.

بنابراین:

Laptop Evaluation
=
Performance
+
Efficiency
+
Battery Life

Performance Impact — Performance per Watt را کنار Score ببینید

فرض کنید CPU A
فقط کمی سریع تر از CPU B باشد
اما برای رسیدن به آن Performance
توان بسیار بیشتری مصرف کند.

در لپ تاپ،
CPU B ممکن است
از نظر Efficiency،
حرارت، صدا و باتری
انتخاب متعادل تری باشد.

Cherry Picking در Benchmark چیست؟


Cherry Picking

Cherry Picking
در این Context یعنی
انتخاب گزینشی فقط نتایجی
که یک نتیجه از پیش مطلوب را تأیید می کنند.

برای مثال اگر CPU A
در 10 تست مختلف بررسی شود
و فقط دو تستی نمایش داده شوند
که در آنها برنده است،
تصویر کاملی از Performance ارائه نشده است.

Common Mistake — اعتماد به نمودار بدون محور و شرایط تست

هر نمودار Benchmark باید
همراه با Context خوانده شود.

بررسی کنید:

  • Benchmark چیست؟
  • Version چیست؟
  • سیستم های تست چه مشخصاتی دارند؟
  • Power Limit چیست؟
  • عدد بیشتر بهتر است یا کمتر؟
  • محور نمودار از صفر شروع شده یا بریده شده است؟
  • اختلاف واقعی چند درصد است؟


Truncated Axis چیست؟

Truncated Axis
یا «محور بریده شده»
نموداری است که محور آن
از مقدار صفر آغاز نمی شود.

این روش الزاماً اشتباه نیست،
اما می تواند اختلاف های کوچک
را از نظر بصری بسیار بزرگ نشان دهد.

مثال: اختلاف کوچک، نمودار بزرگ

فرض کنید:

CPU A = 102 FPS

CPU B = 100 FPS

اختلاف واقعی حدود 2 درصد است.

اگر محور نمودار از 0 شروع شود،
اختلاف بسیار کوچک دیده می شود.

اما اگر محور از 98 شروع شود،
ستون CPU A ممکن است
چند برابر بلندتر به نظر برسد.

Methodology چیست؟


Benchmark Methodology

Methodology
یعنی «روش شناسی».

Benchmark Methodology
توضیح می دهد آزمایش:

  • با چه سخت افزاری انجام شده است.
  • با چه نرم افزاری انجام شده است.
  • چه تنظیماتی استفاده شده است.
  • چند بار تست تکرار شده است.
  • نتیجه چگونه محاسبه شده است.

یک بررسی حرفه ای
باید Methodology شفاف داشته باشد.

Reproducibility چیست؟


Reproducibility

Reproducibility
را می توان «قابلیت بازتولید نتیجه»
ترجمه کرد.

یعنی اگر آزمایش با روش مشابه
دوباره انجام شود،
آیا نتیجه ای نزدیک به نتیجه قبلی
به دست می آید یا خیر.

چک لیست اعتبار یک Benchmark

01
نام تست چیست؟بدانید دقیقاً چه چیزی اندازه گیری شده است.
02
Version چیست؟نسخه های مختلف را مخلوط نکنید.
03
سیستم تست چیست؟RAM، GPU و دستگاه را بررسی کنید.
04
Power Mode چیست؟حالت توان می تواند نتیجه را تغییر دهد.
05
Cooling چگونه است؟مخصوصاً در لپ تاپ بسیار مهم است.
06
تست چند بار اجرا شده است؟یک Run ممکن است نماینده رفتار پایدار نباشد.
07
Variance چقدر است؟اختلاف کوچک را بیش از حد جدی نگیرید.
08
شرایط دو CPU یکسان است؟مقایسه باید تا حد ممکن کنترل شده باشد.
09
آیا تست با کار شما مرتبط است؟مهم ترین سؤال همین است.
10
منابع دیگر چه می گویند؟نتیجه را با چند بررسی مستقل مقایسه کنید.

چگونه از Benchmark برای خرید لپ تاپ استوک استفاده کنیم؟

برای بازار استوک
Benchmark باید بخشی از تصمیم باشد،
نه تمام تصمیم.

01
مدل دقیق CPU را پیدا کنیدبرای مثال فقط Core i7 کافی نیست.
02
نسل و معماری را مشخص کنیدمقایسه باید در Context معماری انجام شود.
03
Single-Core را بررسی کنیدبرای Responsiveness و Workloadهای مربوط.
04
Multi-Core را بررسی کنیدبرای پردازش های موازی.
05
تست نرم افزار واقعی را پیدا کنیدمخصوصاً اگر دستگاه برای کار تخصصی خریداری می شود.
06
همان مدل لپ تاپ را بررسی کنیدCooling و Power Configuration اهمیت دارند.
07
تست طولانی را بررسی کنیدSustained Performance را ببینید.
08
دمای CPU را بررسی کنیدمخصوصاً برای دستگاه استوک.
09
وضعیت واقعی دستگاه را بررسی کنیدگردوغبار، خمیر حرارتی و فن می توانند نتیجه را تغییر دهند.
10
قیمت را وارد تصمیم کنیدBenchmark بالاتر بدون توجه به اختلاف قیمت کافی نیست.

Engineering Insight — Benchmark برای تست سلامت لپ تاپ استوک

Benchmark فقط برای مقایسه مدل CPU نیست.

در لپ تاپ استوک می توان
نتیجه دستگاه را با محدوده معمول
همان مدل مقایسه کرد.

اگر Performance به شکل غیرعادی پایین باشد،
می توان مواردی مانند:

  • دمای بیش از حد
  • Thermal Throttling
  • مشکل Cooling
  • Power Mode اشتباه
  • برنامه های پس زمینه
  • مشکل Firmware یا Driver

را بررسی کرد.

البته یک نتیجه پایین
به تنهایی اثبات کننده خرابی سخت افزار نیست.


Driver چیست؟

Driver
یا «راه انداز»
نرم افزاری است که
امکان ارتباط مناسب سیستم عامل
با سخت افزار را فراهم می کند.

نشانه های Benchmark ضعیف یا گمراه کننده

  • مدل دقیق CPU ذکر نشده است.
  • نسخه Benchmark مشخص نیست.
  • مشخصات سیستم تست وجود ندارد.
  • Power Limit اعلام نشده است.
  • شرایط لپ تاپ ها متفاوت است ولی توضیح داده نشده.
  • فقط یک تست انتخاب شده است.
  • فقط نتیجه ای که یک برند را برنده می کند نمایش داده شده.
  • اختلاف های کوچک بسیار بزرگ نمایش داده شده اند.
  • محور نمودار گمراه کننده است.
  • Score بدون توضیح Workload نمایش داده شده است.
  • نتیجه Synthetic به تمام کاربردها تعمیم داده شده است.
  • دمای سیستم و Sustained Performance نادیده گرفته شده است.

سلسله مراتب شواهد برای انتخاب CPU

اگر هدف انتخاب CPU برای یک کار مشخص باشد،
می توان شواهد را تقریباً به این شکل اولویت بندی کرد:

01
تست همان نرم افزار و همان Workloadبیشترین ارتباط را با کار واقعی شما دارد.
02
تست های Real-World مشابهرفتار واقعی پردازنده را بهتر نشان می دهند.
03
Benchmarkهای تخصصی مرتبطبرای شناخت یک بخش خاص از Performance مفیدند.
04
Benchmarkهای عمومیبرای شناخت جایگاه کلی CPU مفید هستند.
05
مشخصات روی کاغذبرای توضیح علت تفاوت ها مفیدند، نه تعیین کامل Performance.

Under the Hood — Benchmark را چگونه به تصمیم خرید تبدیل کنیم؟

Buying Decision
≠
Highest Benchmark Score

تصمیم خرید بهتر:

Buying Decision
=
Relevant Benchmark
+
Real-World Performance
+
Sustained Performance
+
Efficiency
+
Laptop Quality
+
Price

Benchmark زمانی ارزشمند است
که پاسخ یک سؤال واقعی را بدهد.

سوالات متداول Benchmark پردازنده

Benchmark CPU چیست؟

آزمونی استاندارد یا مشخص
برای اندازه گیری و مقایسه Performance پردازنده است.

آیا Benchmark بالاتر یعنی CPU بهتر است؟

فقط در همان تست می توان نتیجه را مقایسه کرد.
بهترین CPU برای شما باید بر اساس Workload واقعی انتخاب شود.

Cinebench برای مقایسه CPU مناسب است؟

بله، برای شناخت بخش هایی از Performance CPU بسیار مفید است،
مخصوصاً بارهای مرتبط با Rendering،
اما نباید تنها معیار انتخاب باشد.

Geekbench بهتر است یا Cinebench؟

هدف آنها دقیقاً یکسان نیست.
بهتر است هرکدام به عنوان یک قطعه از اطلاعات
و در کنار تست های دیگر استفاده شوند.

PassMark قابل استفاده است؟

برای مشاهده جایگاه تقریبی CPUها مفید است،
اما CPU Mark نباید جای تست نرم افزار واقعی را بگیرد.

آیا می توان Cinebench R23 و Cinebench 2024 را مقایسه کرد؟

امتیازهای آنها را نباید مستقیماً
به عنوان یک مقیاس واحد مقایسه کرد.

چرا Benchmark یک CPU در سایت های مختلف فرق دارد؟

تفاوت دستگاه، Cooling، RAM،
Power Limit، نسخه نرم افزار
و شرایط تست می تواند نتیجه را تغییر دهد.

برای لپ تاپ تست کوتاه بهتر است یا طولانی؟

هر دو اطلاعات متفاوتی می دهند.
تست کوتاه Burst Performance
و تست طولانی Sustained Performance را بهتر نشان می دهد.

1% Low چیست؟

معیاری برای بررسی بخش کندتر Performance بازی است
و به شناخت افت های محسوس نرخ فریم کمک می کند.

آیا Average FPS برای مقایسه بازی کافی است؟

خیر.
بهتر است 1% Low و Frame Time نیز بررسی شوند.

برای AutoCAD کدام Benchmark مهم تر است؟

تست های مرتبط با Workload واقعی AutoCAD
و Single-Core Performance
معمولاً اطلاعات کاربردی تری
از یک Multi-Core Score عمومی ارائه می دهند.

برای Rendering چه چیزی را بررسی کنیم؟

اگر Render توسط CPU انجام می شود،
Multi-Core Performance،
زمان Render واقعی
و Sustained Performance اهمیت زیادی دارند.

اختلاف 2 یا 3 درصد Benchmark مهم است؟

همیشه نه.
ممکن است در محدوده تغییرات طبیعی تست قرار داشته باشد
یا در استفاده واقعی قابل احساس نباشد.

آیا Benchmark می تواند سلامت لپ تاپ استوک را مشخص کند؟

می تواند به تشخیص رفتار غیرعادی کمک کند،
اما یک Benchmark به تنهایی
ابزار قطعی تشخیص سلامت سخت افزار نیست.

بهترین روش مقایسه دو CPU چیست؟

چند Benchmark معتبر،
تست نرم افزار واقعی،
شرایط توان و Cooling
و قیمت نهایی دستگاه را کنار هم بررسی کنید.

اصطلاحات جدید این فصل

  • Benchmark: آزمون سنجش عملکرد.
  • Benchmark Score: امتیاز حاصل از یک آزمون عملکرد.
  • Synthetic Benchmark: تست مصنوعی و کنترل شده Performance.
  • Real-World Benchmark: تست مبتنی بر کاربرد واقعی.
  • Scene: صحنه سه بعدی شامل اجزای پروژه.
  • Cinebench: Benchmark شناخته شده مرتبط با Performance پردازنده در Rendering.
  • Geekbench: مجموعه Benchmarkهای عمومی Single-Core و Multi-Core.
  • CPU Mark: امتیاز CPU در مجموعه تست PassMark.
  • Benchmark Database: پایگاه داده نتایج Benchmark.
  • User-Submitted: نتایج ارسال شده توسط کاربران.
  • Cold Run: اجرای تست در وضعیت نسبتاً خنک سیستم.
  • Warm Run: اجرای تست پس از گرم شدن سیستم.
  • Benchmark Loop: اجرای تکراری تست.
  • Throttling: کاهش کنترل شده Performance.
  • Thermal Throttling: کاهش Performance به دلیل محدودیت حرارتی.
  • Variance: تغییر و پراکندگی نتایج.
  • Margin of Error: حاشیه خطا.
  • Context: زمینه و شرایط لازم برای تفسیر داده.
  • Average FPS: میانگین نرخ فریم.
  • 1% Low: معیاری برای بخش کندتر تجربه نرخ فریم.
  • Frame Time: زمان لازم برای تولید یک فریم.
  • Frame Pacing: یکنواختی زمان تولید فریم ها.
  • Responsiveness: سرعت پاسخ دهی سیستم یا نرم افزار.
  • Build Time: زمان لازم برای ساخت خروجی پروژه نرم افزاری.
  • Cherry Picking: انتخاب گزینشی نتایج مطلوب.
  • Truncated Axis: محور نمودار بریده شده.
  • Methodology: روش شناسی انجام آزمایش.
  • Reproducibility: قابلیت بازتولید نتیجه آزمایش.

خلاصه فصل

Benchmark ابزار بسیار ارزشمندی است،
اما عدد Benchmark بدون Context
می تواند گمراه کننده باشد.

برای مقایسه CPU باید:

  • Benchmark یکسان را مقایسه کنیم.
  • Version یکسان را بررسی کنیم.
  • شرایط تست را بخوانیم.
  • Single-Core و Multi-Core را از هم جدا کنیم.
  • تست های Real-World را بررسی کنیم.
  • Sustained Performance را در لپ تاپ جدی بگیریم.
  • اختلاف های کوچک را بیش از حد بزرگ نکنیم.
  • چند منبع مستقل را با هم مقایسه کنیم.

مهم ترین قانون این فصل:

Benchmark Score
Without Context
=
Incomplete Information

و برای خرید:

Useful Benchmark
=
Relevant Test
+
Correct Methodology
+
Real Workload
+
Correct Interpretation


فصل 37
سطح: متوسط تا پیشرفته
موضوع: محدودیت های عملکرد CPU
تمرکز: لپ تاپ و سیستم استوک

چرا یک CPU قدرتمند همیشه با تمام قدرت کار نمی کند؟

چه چیزهایی قدرت واقعی CPU را محدود می کنند؟ از دما و توان تا RAM، BIOS و سیستم خنک کننده

مشخصات روی کاغذ فقط توان بالقوه پردازنده را نشان می دهند.
عملکرد واقعی CPU زمانی مشخص می شود که پردازنده
داخل یک لپ تاپ یا کامپیوتر واقعی،
زیر محدودیت های حرارتی، الکتریکی و نرم افزاری کار کند.

ممکن است دو لپ تاپ دقیقاً یک CPU داشته باشند،
اما یکی در پردازش طولانی سریع تر از دیگری باشد.
حتی ممکن است یک پردازنده قوی تر روی کاغذ،
در یک لپ تاپ با Cooling ضعیف
از پردازنده پایین رده تر در دستگاهی بهتر
عملکرد ضعیف تری نشان دهد.

این موضوع در بازار لپ تاپ استوک اهمیت بیشتری دارد؛
زیرا وضعیت فن، گردوغبار، خمیر حرارتی،
آداپتور، باتری و تنظیمات دستگاه
نیز می توانند روی عملکرد واقعی اثر بگذارند.

در این فصل چه چیزهایی یاد می گیریم؟

  • تفاوت قدرت اسمی CPU با Performance واقعی.
  • Thermal Throttling چیست و چگونه ایجاد می شود.
  • Power Throttling چیست.
  • TDP دقیقاً چه مفهومی دارد و چه مفهومی ندارد.
  • PL1 و PL2 در پردازنده های Intel چه هستند.
  • چرا توان مصرفی CPU در همه لحظات ثابت نیست.
  • نقش سیستم خنک کننده لپ تاپ.
  • Heat Pipe و Vapor Chamber چیست.
  • خمیر حرارتی چه کاری انجام می دهد.
  • گردوغبار چگونه Performance را کاهش می دهد.
  • VRM چیست و چه نقشی در CPU دارد.
  • چرا آداپتور نامناسب می تواند Performance را محدود کند.
  • چرا لپ تاپ روی باتری ممکن است کندتر شود.
  • نقش BIOS و Firmware.
  • اثر RAM و Single/Dual Channel.
  • Memory Bottleneck چیست.
  • چگونه افت Performance غیرعادی را در لپ تاپ استوک بررسی کنیم.

قدرت واقعی CPU چگونه شکل می گیرد؟

CPU به تنهایی کار نمی کند.
پردازنده بخشی از یک سیستم کامل است.

Under the Hood — فرمول ساده عملکرد واقعی CPU

Real CPU Performance
=
Architecture
+
Clock
+
Core Resources
+
Power Availability
+
Cooling Capacity
+
Memory Performance
+
Firmware
+
Workload

بنابراین مشخصات خود CPU
فقط بخشی از معادله هستند.

محدودیت حرارتی CPU چیست؟

پردازنده هنگام کار گرما تولید می کند.
هرچه بار پردازشی و مصرف انرژی بیشتر شود،
معمولاً مقدار گرمای تولید شده نیز افزایش پیدا می کند.

این گرما باید توسط سیستم خنک کننده
از تراشه خارج شود.

CPU
→
Heat Transfer
→
Cooling System
→
Environment

اگر سیستم نتواند گرما را با سرعت کافی دفع کند،
دمای پردازنده افزایش پیدا می کند.

Thermal Throttling چیست؟


Thermal Throttling

Thermal Throttling
را می توان «کاهش عملکرد ناشی از محدودیت حرارتی»
ترجمه کرد.

زمانی که پردازنده به محدوده حرارتی تعیین شده نزدیک می شود،
سیستم می تواند برای جلوگیری از افزایش بیشتر دما،
فرکانس، ولتاژ یا توان مصرفی را کاهش دهد.

نتیجه می تواند کاهش Performance باشد.

Under the Hood — زنجیره Thermal Throttling

Heavy Workload
→
Higher Power
→
More Heat
→
Temperature Limit
→
Reduced Clock / Power
→
Lower Performance

به همین دلیل ممکن است CPU
در چند ثانیه اول تست بسیار سریع باشد،
اما پس از مدتی Performance کاهش پیدا کند.

Common Mistake — هر CPU که داغ است خراب است

خیر.

دمای CPU باید با توجه به مدل پردازنده،
طراحی لپ تاپ، نوع Workload،
توان مصرفی و محدوده حرارتی طراحی شده
تفسیر شود.

یک عدد دما بدون Context
برای تشخیص سلامت سیستم کافی نیست.

TjMax چیست؟


TjMax

TjMax
مخفف Maximum Junction Temperature است.

مفهوم ساده آن
«حداکثر دمای اتصال یا Junction تعریف شده برای تراشه»
است.

پردازنده های مختلف
می توانند محدوده های حرارتی متفاوتی داشته باشند؛
بنابراین نباید یک عدد ثابت را
برای تمام CPUها معیار قرار داد.


Junction Temperature چیست؟

Junction Temperature
یا «دمای اتصال»
به دمای ناحیه داخلی تراشه نیمه رسانا اشاره دارد.

این مفهوم با دمای سطح بدنه لپ تاپ
یا هوای خروجی فن یکسان نیست.

Power Throttling چیست؟


Power Throttling

Power Throttling
به محدود شدن Performance
به دلیل محدودیت توان گفته می شود.

CPU ممکن است از نظر دما
هنوز ظرفیت بیشتری داشته باشد،
اما به دلیل محدودیت توان تعیین شده
نتواند Clock بالاتری را حفظ کند.

محدودیت عامل اصلی نتیجه احتمالی
Thermal Throttling رسیدن به محدودیت حرارتی کاهش توان یا Clock
Power Limiting رسیدن به محدودیت توان محدود شدن Performance
Current Limit محدودیت جریان الکتریکی محدود شدن Boost یا توان


Current چیست؟

Current
در الکترونیک به معنی «جریان الکتریکی» است
و معمولاً با واحد آمپر اندازه گیری می شود.

سیستم تغذیه پردازنده
علاوه بر محدودیت توان
می تواند محدودیت های مربوط به جریان نیز داشته باشد.

TDP چیست؟


TDP

TDP
مخفف Thermal Design Power است.

در ترجمه ساده می توان آن را
«توان طراحی حرارتی»
نامید.

این عدد به چارچوب طراحی حرارتی پردازنده مربوط است،
اما نباید آن را به سادگی
برابر با مصرف برق لحظه ای CPU دانست.

Common Mistake — CPU با TDP برابر همیشه مصرف برابر دارد

خیر.

رفتار توان واقعی پردازنده
به معماری، Workload،
تنظیمات Firmware،
Boost و محدودیت های پلتفرم بستگی دارد.

همچنین تعریف و شیوه ارائه
مشخصات توان در نسل ها و سازندگان مختلف
می تواند متفاوت باشد.

PL1 و PL2 چیست؟

در بسیاری از پلتفرم های Intel
ممکن است با اصطلاحات
PL1 و PL2 روبه رو شوید.


PL = Power Limit

PL
مخفف Power Limit
یا «محدودیت توان» است.

به صورت مفهومی،
PL1 معمولاً با سطح توان پایدارتر
و PL2 با سطح توان بالاتر
برای دوره های Boost مرتبط بوده است.

اما رفتار دقیق به نسل،
پلتفرم، Firmware
و تنظیمات سازنده دستگاه بستگی دارد.

Under the Hood — چرا CPU در شروع تست سریع تر است؟

در برخی سیستم ها پردازنده
می تواند برای مدتی
با توان بالاتری کار کند.

Start Heavy Load
→
High Boost
→
Higher Power
→
Temperature / Power Stabilization
→
Lower Sustained Power

به همین دلیل Peak Performance
و Sustained Performance
لزوماً یکسان نیستند.


Peak Performance چیست؟

Peak Performance
یعنی «بالاترین عملکرد قابل دستیابی
در یک شرایط یا بازه زمانی مشخص».

Peak Performance الزاماً
قابل حفظ در پردازش طولانی نیست.

سیستم خنک کننده چگونه Performance CPU را تعیین می کند؟

وظیفه Cooling فقط جلوگیری از خاموش شدن دستگاه نیست.

سیستم خنک کننده بهتر
می تواند به CPU اجازه دهد
برای مدت بیشتری
در محدوده Performance بالاتر کار کند.

سیستم خنک کننده لپ تاپ
ممکن است شامل این اجزا باشد:

  • Cold Plate
  • Thermal Paste
  • Heat Pipe
  • Vapor Chamber در برخی دستگاه ها
  • Heatsink
  • Fan
  • Air Intake
  • Exhaust Vent


Cold Plate چیست؟

Cold Plate
سطح فلزی سیستم خنک کننده است
که با بخش حرارتی تراشه تماس پیدا می کند
و گرما را دریافت می کند.

Heat Pipe چیست؟


Heat Pipe

Heat Pipe
یا «لوله حرارتی»
وسیله ای برای انتقال مؤثر گرما
از بخش داغ سیستم
به قسمت خنک کننده است.

در بسیاری از لپ تاپ ها
Heat Pipe گرمای CPU و GPU
را به سمت Heatsink منتقل می کند.


Heatsink چیست؟

Heatsink
یا «گرماگیر»
ساختاری فلزی با سطح تماس زیاد است
که به انتقال گرما به جریان هوا کمک می کند.

Vapor Chamber چیست؟


Vapor Chamber

Vapor Chamber
یا «محفظه بخار»
نوعی سامانه انتقال حرارت است
که می تواند گرما را
در سطح بزرگ تری پخش کند.

این فناوری در برخی لپ تاپ های
Performance محور استفاده می شود.

فن چه نقشی دارد؟

فن جریان هوا ایجاد می کند
تا گرمای منتقل شده به Heatsink
از دستگاه خارج شود.

اگر:

  • فن آسیب دیده باشد،
  • دور فن مناسب نباشد،
  • پره ها آلوده باشند،
  • مسیر خروج هوا مسدود باشد،

ظرفیت خنک سازی کاهش پیدا می کند.


Airflow چیست؟

Airflow
یعنی «جریان هوا».

در سیستم خنک کننده لپ تاپ،
هوا از ورودی ها وارد شده،
از بخش های خنک کننده عبور می کند
و هوای گرم از خروجی خارج می شود.

گردوغبار چگونه CPU را کند می کند؟

گردوغبار می تواند
روی فن و پره های Heatsink جمع شود
و جریان هوا را کاهش دهد.

Dust
→
Reduced Airflow
→
Higher Temperature
→
Possible Throttling
→
Lower Sustained Performance

این موضوع برای دستگاه های چند سال کارکرده
اهمیت ویژه ای دارد.

Thermal Paste یا خمیر حرارتی چیست؟


Thermal Paste

Thermal Paste
یا «خمیر حرارتی»
ماده ای است که میان سطح تراشه
و سیستم انتقال حرارت قرار می گیرد
تا انتقال گرما بهتر انجام شود.

هدف آن پر کردن ناهمواری های بسیار کوچک
میان دو سطح تماس است.

Common Mistake — هر لپ تاپ استوک باید فوراً خمیر حرارتی اش تعویض شود

چنین قانون عمومی وجود ندارد.

ابتدا باید رفتار حرارتی دستگاه،
Performance پایدار،
وضعیت فن و سابقه سرویس بررسی شود.

باز کردن بی دلیل سیستم خنک کننده
نیز می تواند ریسک ایجاد کند.

VRM چیست و چه ارتباطی با CPU دارد؟


VRM

VRM
مخفف Voltage Regulator Module است.

ترجمه کاربردی آن
«مدار تنظیم ولتاژ» است.

VRM توان ورودی را
به ولتاژ مناسب و کنترل شده
برای بخش هایی مانند CPU تبدیل می کند.

Engineering Insight — CPU فقط به Cooling خودش وابسته نیست

سیستم تغذیه نیز باید بتواند
توان مورد نیاز پردازنده را
به شکل مناسب تأمین کند.

طراحی ضعیف یا محدودیت حرارتی
بخش تغذیه می تواند
روی رفتار Performance سیستم اثر بگذارد.

CPU Performance
Depends On
Thermal Headroom
+
Electrical Headroom


Headroom چیست؟

Headroom
در این Context یعنی
«ظرفیت باقی مانده تا رسیدن به یک محدودیت».

برای مثال Thermal Headroom
یعنی چه مقدار ظرفیت حرارتی
تا رسیدن به محدودیت دما باقی مانده است.

آداپتور چگونه روی Performance لپ تاپ اثر می گذارد؟

لپ تاپ Performance محور
ممکن است هنگام بار سنگین
به توان قابل توجهی نیاز داشته باشد.

استفاده از آداپتور نامناسب،
کم توان یا ناسازگار
در برخی دستگاه ها می تواند
باعث محدود شدن Performance شود.

Under the Hood — آداپتور بخشی از سیستم Performance است

فرض کنید لپ تاپ برای کار سنگین
به توان بیشتری نیاز داشته باشد
اما آداپتور نتواند
توان مورد انتظار سیستم را تأمین کند.

Firmware دستگاه می تواند
برای حفظ پایداری،
توان CPU یا GPU را محدود کند.

بنابراین در لپ تاپ استوک،
بررسی آداپتور صحیح
بخشی از ارزیابی Performance است.


Adapter Wattage چیست؟

Wattage
یعنی توان الکتریکی
که با واحد وات بیان می شود.

برای مثال یک آداپتور
ممکن است توان اسمی 65W،
90W، 130W یا مقدار دیگری داشته باشد.

آداپتور جایگزین باید
با مشخصات مورد نیاز دستگاه سازگار باشد.

چرا لپ تاپ روی باتری ممکن است کندتر باشد؟

بسیاری از لپ تاپ ها
هنگام جدا شدن از برق
رفتار توان خود را تغییر می دهند.

هدف می تواند:

  • کاهش مصرف انرژی
  • افزایش Battery Life
  • کنترل حرارت
  • مدیریت توان باتری

باشد.

بنابراین Benchmark لپ تاپ
بهتر است با وضعیت برق دستگاه مشخص شود.

Power Mode چیست؟


Power Mode

Power Mode
یا «حالت توان»
مجموعه ای از سیاست های مدیریت مصرف انرژی
و Performance سیستم است.

بسته به سیستم عامل و سازنده،
حالت هایی مشابه:

Best Power Efficiency

Balanced

Best Performance

ممکن است وجود داشته باشند.


OEM Performance Mode چیست؟

OEM
در این Context به سازنده دستگاه اشاره دارد.

برخی لپ تاپ ها
نرم افزار یا تنظیمات اختصاصی سازنده دارند
که رفتار:

  • فن
  • توان CPU
  • توان GPU
  • حرارت
  • صدای دستگاه

را تغییر می دهد.

BIOS چگونه روی CPU اثر می گذارد؟

تنظیمات سطح پایین سیستم
می توانند روی رفتار پردازنده اثر داشته باشند.

سازنده ممکن است از طریق BIOS یا Firmware:

  • Power Limits را تنظیم کند.
  • Fan Curve را کنترل کند.
  • رفتار Boost را تغییر دهد.
  • ویژگی های پردازنده را فعال یا محدود کند.


Fan Curve چیست؟

Fan Curve
یا «منحنی عملکرد فن»
مشخص می کند فن
در دماها یا شرایط مختلف
چگونه سرعت خود را تغییر دهد.

Common Mistake — BIOS جدید همیشه Performance را بیشتر می کند

خیر.

Update ممکن است
مشکلات امنیتی، پایداری یا سازگاری را اصلاح کند
و گاهی رفتار توان یا Performance نیز تغییر کند.

اما هدف هر BIOS Update
افزایش سرعت نیست.

RAM چگونه CPU را محدود می کند؟

CPU برای بسیاری از عملیات
باید داده ها را از حافظه دریافت کند.

اگر سیستم حافظه نتواند
داده را با سرعت کافی تأمین کند،
بخشی از توان پردازنده
بلااستفاده می ماند.


Memory Bottleneck چیست؟

Memory Bottleneck
یا «گلوگاه حافظه»
زمانی رخ می دهد که Performance سیستم
به دلیل محدودیت زیرسیستم حافظه
محدود شود.

چه ویژگی هایی از RAM روی Performance اثر دارند؟

  • ظرفیت RAM
  • Memory Frequency
  • Memory Timings
  • تعداد کانال های حافظه
  • پهنای باند حافظه
  • نوع Workload


Memory Frequency چیست؟

Memory Frequency
در استفاده عمومی
به سرعت کاری حافظه اشاره دارد.

در حافظه های DDR
باید میان Clock واقعی
و نرخ انتقال مؤثر داده
تفاوت قائل شد؛
موضوعی که در کتاب جامع RAM
به صورت کامل بررسی خواهد شد.


Memory Timing چیست؟

Memory Timing
به مجموعه زمان بندی های عملیاتی RAM اشاره دارد.

این مقادیر روی Latency حافظه اثر دارند
و باید در کنار سرعت حافظه بررسی شوند.


Latency چیست؟

Latency
یعنی «تأخیر».

در مفهوم ساده،
مدت زمانی است که میان درخواست یک عملیات
و آغاز یا دریافت پاسخ آن وجود دارد.

Single Channel و Dual Channel چقدر مهم هستند؟

استفاده از کانال های بیشتر حافظه
می تواند پهنای باند در دسترس را افزایش دهد.

میزان تأثیر آن به Workload بستگی دارد.

اهمیت آن مخصوصاً زمانی بیشتر می شود
که گرافیک مجتمع از RAM سیستم
به عنوان حافظه گرافیکی استفاده کند.

Performance Impact — RAM می تواند iGPU را شدیداً محدود کند

گرافیک مجتمع معمولاً
حافظه اختصاصی پرسرعت مانند بسیاری از کارت های گرافیک مجزا ندارد
و از حافظه سیستم استفاده می کند.

بنابراین:

iGPU Performance
↔
Memory Bandwidth

در برخی دستگاه ها
تغییر پیکربندی حافظه
می تواند اثر قابل توجهی
بر Performance گرافیک مجتمع داشته باشد.

کمبود ظرفیت RAM چگونه سیستم را کند می کند؟

اگر RAM فیزیکی کافی نباشد،
سیستم عامل ممکن است
بیشتر از حافظه ذخیره سازی
برای مدیریت داده های حافظه استفاده کند.

این فرآیند می تواند
Responsiveness سیستم را کاهش دهد.


Paging چیست؟

Paging
یکی از مکانیزم های مدیریت حافظه
در سیستم عامل است.

در شرایط کمبود RAM،
بخشی از داده ها ممکن است
میان RAM و Storage جابه جا شوند.

Storage حتی اگر SSD باشد،
رفتار و Latency متفاوتی نسبت به RAM دارد.

آیا SSD باعث سریع تر شدن CPU می شود؟

SSD قدرت محاسباتی CPU را افزایش نمی دهد.

اما می تواند زمان انتظار سیستم برای داده
و Responsiveness کلی را بهبود دهد.

بنابراین کاربر ممکن است
سیستم دارای SSD را بسیار سریع تر احساس کند،
حتی اگر CPU تغییر نکرده باشد.

Common Mistake — SSD امتیاز پردازشی CPU را بالا می برد

SSD مستقیماً قدرت محاسباتی Coreهای CPU را افزایش نمی دهد.

تأثیر آن بیشتر در:

  • Boot
  • Load نرم افزار
  • باز کردن فایل ها
  • Paging
  • انتقال داده

دیده می شود.

نرم افزار چگونه CPU قدرتمند را محدود می کند؟

داشتن Coreهای زیاد
فقط زمانی مفید است
که نرم افزار بتواند از آنها استفاده کند.

اگر Workload عمدتاً Single-Threaded باشد،
بخش زیادی از منابع Multi-Core
ممکن است بلااستفاده بماند.


Single-Threaded Workload چیست؟

Single-Threaded Workload
در مفهوم ساده
کاری است که بخش اصلی Performance آن
به یک Thread یا تعداد محدودی Thread وابسته است.


Multi-Threaded Workload چیست؟

Multi-Threaded Workload
کاری است که می تواند
چند Thread پردازشی را
برای انجام محاسبات به کار بگیرد.

برنامه های پس زمینه چگونه Benchmark را خراب می کنند؟

سیستم عامل و نرم افزارهای دیگر
ممکن است هم زمان از CPU استفاده کنند.

برای مثال:

  • Windows Update
  • Antivirus Scan
  • Browser Tabs
  • Cloud Sync
  • Indexing

می توانند منابع سیستم را مصرف کنند.


Indexing چیست؟

Indexing
یا «نمایه سازی»
فرآیندی است که سیستم
اطلاعات فایل ها یا داده ها را سازمان دهی می کند
تا جستجو سریع تر انجام شود.

آیا به روزرسانی های امنیتی روی Performance اثر دارند؟

برخی تغییرات امنیتی
در سیستم عامل، Firmware یا Microcode
می توانند در بعضی Workloadها
روی Performance اثر بگذارند.

میزان اثر به معماری،
نوع آسیب پذیری،
نوع اصلاح و Workload بستگی دارد.


Microcode چیست؟

Microcode
یا «ریزکد»
لایه ای سطح پایین
در کنترل رفتار داخلی پردازنده است.

سازندگان CPU می توانند
برخی اصلاحات پردازنده را
از طریق Microcode Update ارائه کنند.

دمای محیط چه تأثیری دارد؟

Cooling در خلأ کار نمی کند.
سیستم برای دفع گرما
به هوای محیط وابسته است.

اگر دمای هوای ورودی بالاتر باشد،
ظرفیت دفع گرما نیز می تواند کاهش پیدا کند.


Ambient Temperature چیست؟

Ambient Temperature
یعنی «دمای محیط اطراف دستگاه».

هنگام مقایسه تست های حرارتی
باید این متغیر نیز در نظر گرفته شود.

قرار دادن لپ تاپ روی سطح نامناسب چه اثری دارد؟

اگر ورودی هوای لپ تاپ
در بخش زیرین دستگاه باشد،
قرار دادن آن روی سطوح نرم
می تواند جریان هوا را محدود کند.

برای مثال:

  • پتو
  • تشک
  • مبل نرم
  • سطوحی که دریچه را مسدود می کنند

می توانند Cooling را ضعیف کنند.

Cooling Pad همیشه لپ تاپ را سریع تر می کند؟

خیر.

تأثیر Cooling Pad
به طراحی ورودی هوا،
محل فن ها،
ساختار بدنه
و محدودیت اصلی دستگاه بستگی دارد.

اگر CPU از ابتدا
Power-Limited باشد
و Thermal Limit نداشته باشد،
کاهش دما الزاماً Performance زیادی اضافه نمی کند.

Engineering Insight — دمای کمتر همیشه به معنی FPS یا Score بیشتر نیست

اگر CPU در دمای فعلی
بدون Thermal Throttling کار کند،
کاهش بیشتر دما
الزاماً Performance را افزایش نمی دهد.

باید ابتدا مشخص کنیم
محدودیت واقعی چیست:

Thermal?

Power?

Current?

Software?

Memory?

CPU و GPU چگونه می توانند روی دمای یکدیگر اثر بگذارند؟

در بسیاری از لپ تاپ ها
CPU و GPU بخشی از سیستم خنک کننده را
با یکدیگر به اشتراک می گذارند.

ممکن است Heat Pipe یا ظرفیت دفع حرارت
میان هر دو تراشه مشترک باشد.

بنابراین در Workload هم زمان CPU و GPU،
رفتار حرارتی می تواند با تست CPU تنها متفاوت باشد.


Thermal Budget چیست؟

Thermal Budget
را می توان «ظرفیت حرارتی قابل مدیریت سیستم»
در نظر گرفت.

اگر CPU و GPU
از ظرفیت خنک سازی مشترک استفاده کنند،
بار یکی می تواند
روی ظرفیت حرارتی در دسترس دیگری اثر بگذارد.

تقسیم پویا توان بین CPU و GPU چیست؟

در برخی پلتفرم های لپ تاپ،
سیستم می تواند بر اساس Workload
توان موجود را میان CPU و GPU مدیریت کند.

بنابراین Performance CPU
هنگام CPU-only Benchmark
ممکن است با Performance آن
هنگام اجرای هم زمان CPU و GPU متفاوت باشد.


CPU-Only Load چیست؟

CPU-Only Load
یعنی Workloadی که فشار اصلی آن
روی CPU قرار دارد
و GPU بار قابل توجهی ندارد.


Combined Load چیست؟

Combined Load
یعنی شرایطی که چند بخش سیستم،
برای مثال CPU و GPU،
هم زمان تحت بار قابل توجه قرار دارند.

آیا لپ تاپ ضخیم تر همیشه سریع تر است؟

خیر؛ اما فضای بیشتر
می تواند امکان استفاده از:

  • Heatsink بزرگ تر
  • فن بزرگ تر
  • Heat Pipe بیشتر
  • Airflow بهتر

را فراهم کند.

طراحی واقعی دستگاه
مهم تر از ضخامت به تنهایی است.

چرا CPU یکسان در لپ تاپ باریک و Workstation متفاوت عمل می کند؟

یک لپ تاپ باریک
ممکن است محدودیت بیشتری در:

  • فضای Cooling
  • توان پایدار
  • صدای مجاز فن
  • دمای سطح بدنه

داشته باشد.

Mobile Workstation معمولاً
برای Workloadهای طولانی و حرفه ای طراحی می شود
و ممکن است ظرفیت Cooling بیشتری داشته باشد.


Mobile Workstation چیست؟

Mobile Workstation
یا «ایستگاه کاری قابل حمل»
نوعی لپ تاپ حرفه ای است
که برای Workloadهای تخصصی و سنگین
مانند CAD، مهندسی، طراحی و تولید محتوا ساخته می شود.

چگونه افت Performance لپ تاپ استوک را بررسی کنیم؟

01
مدل دقیق CPU را مشخص کنیدابتدا بدانید Performance مورد انتظار چه حدودی دارد.
02
آداپتور را بررسی کنیدتوان و سازگاری آداپتور باید مناسب دستگاه باشد.
03
Power Mode را بررسی کنیددستگاه نباید ناخواسته در حالت کم مصرف تست شود.
04
برنامه های پس زمینه را بررسی کنیدLoad اضافی می تواند نتیجه را منحرف کند.
05
دمای CPU را زیر Load بررسی کنیدرفتار حرارتی مهم تر از دمای Idle به تنهایی است.
06
Clock را زیر Load مشاهده کنیدببینید فرکانس در طول تست چگونه تغییر می کند.
07
توان CPU را بررسی کنیدافت Performance ممکن است Power-Limited باشد.
08
Benchmark را تکرار کنیدتفاوت Run اول و تست های بعدی را ببینید.
09
RAM را بررسی کنیدظرفیت، Channel و پیکربندی حافظه مهم هستند.
10
Cooling را بررسی کنیدمسیر هوا، فن و آلودگی سیستم بررسی شوند.
11
BIOS و Driver را بررسی کنیدتنظیمات یا مشکلات نرم افزاری را حذف کنید.
12
نتیجه را با دستگاه مشابه مقایسه کنیدمقایسه با همان مدل لپ تاپ از مقایسه کور با میانگین CPU بهتر است.


Idle چیست؟

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

دمای Idle به تنهایی
برای ارزیابی Cooling کافی نیست؛
رفتار سیستم زیر Load نیز باید بررسی شود.

Under the Hood — منطق تشخیص CPU کند

اگر CPU کندتر از انتظار است،
مستقیم نتیجه نگیرید که پردازنده خراب است.

Low Performance
→
Check Workload
→
Check Power
→
Check Temperature
→
Check Clock
→
Check Memory
→
Check Software
→
Check Cooling
→
Compare Again

تشخیص حرفه ای یعنی
پیدا کردن عامل محدود کننده،
نه تعویض تصادفی قطعات.

چند الگوی مهم برای تشخیص مشکل

رفتار علت احتمالی بررسی بعدی
شروع سریع، سپس افت حرارت یا محدودیت توان Temperature / Clock / Power
از ابتدا Performance پایین Power Mode یا محدودیت سیستم Adapter / Settings / Load
دمای بالا و Clock پایین احتمال محدودیت حرارتی Cooling / Fan / Airflow
دمای مناسب ولی Clock محدود احتمال Power Limit Power / Firmware
iGPU ضعیف تر از انتظار Memory Configuration Channel / Bandwidth
کندی همراه با RAM پر Memory Pressure / Paging RAM Usage / Storage Activity
Benchmark ناپایدار Background Load یا Thermal Change Repeat Test / Monitor System


Memory Pressure چیست؟

Memory Pressure
به شرایطی گفته می شود
که تقاضای برنامه ها برای حافظه
به ظرفیت در دسترس نزدیک شده
یا از آن عبور می کند.

در چنین شرایطی
سیستم مجبور می شود
مدیریت حافظه تهاجمی تری انجام دهد
و Responsiveness ممکن است کاهش پیدا کند.

Performance Impact — برای خرید لپ تاپ استوک فقط نام CPU را نخرید

دو دستگاه با CPU یکسان
می توانند تجربه بسیار متفاوتی ارائه دهند.

هنگام خرید لپ تاپ استوک،
علاوه بر مدل CPU باید بررسی شوند:

  • طراحی Cooling دستگاه
  • سلامت فن
  • وضعیت مسیر هوا
  • RAM و پیکربندی آن
  • SSD
  • آداپتور
  • باتری
  • Performance زیر Load
  • پایداری Performance در تست طولانی

در نتیجه:

Same CPU
≠
Same Laptop Performance

Common Mistakes — اشتباهات رایج در تحلیل Performance CPU
  • قضاوت فقط بر اساس نام CPU.
  • فرض اینکه Turbo Clock همیشه حفظ می شود.
  • فرض اینکه TDP برابر با مصرف لحظه ای است.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Thermal Throttling.
  • بررسی فقط دمای Idle.
  • قضاوت درباره Cooling فقط بر اساس ضخامت لپ تاپ.
  • تعویض خمیر حرارتی بدون تشخیص مشکل.
  • نادیده گرفتن گردوغبار.
  • نادیده گرفتن توان آداپتور.
  • Benchmark گرفتن روی باتری و مقایسه با تست متصل به برق.
  • نادیده گرفتن Power Mode.
  • نادیده گرفتن BIOS و Firmware.
  • نادیده گرفتن RAM.
  • نادیده گرفتن Single/Dual Channel.
  • فرض اینکه SSD قدرت CPU را افزایش می دهد.
  • نادیده گرفتن Background Processes.
  • تعمیم CPU-only Benchmark به Combined Load.

سوالات متداول محدودیت های عملکرد CPU

چرا CPU من به Turbo Clock نوشته شده در مشخصات نمی رسد؟

Turbo به شرایط مختلفی مانند تعداد Coreهای فعال،
دما، توان، Workload و طراحی دستگاه وابسته است
و الزاماً فرکانسی نیست که CPU همیشه حفظ کند.

Thermal Throttling چیست؟

کاهش کنترل شده Performance
در واکنش به محدودیت حرارتی پردازنده است.

Power Throttling چیست؟

محدود شدن Performance
به دلیل رسیدن پردازنده
به محدودیت های توان تعیین شده است.

TDP همان مصرف برق CPU است؟

خیر.
TDP یک مشخصه مرتبط با طراحی حرارتی است
و نباید آن را مستقیماً برابر مصرف لحظه ای CPU دانست.

PL1 و PL2 چیست؟

اصطلاحاتی مربوط به Power Limit
در بسیاری از پلتفرم های Intel هستند.
رفتار دقیق آنها به نسل و تنظیمات سیستم بستگی دارد.

آیا دمای بالای CPU یعنی پردازنده خراب است؟

خیر.
دما باید در Context مدل CPU،
Workload، توان و طراحی Cooling بررسی شود.

خمیر حرارتی قدیمی باعث کند شدن لپ تاپ می شود؟

اگر انتقال حرارت نامناسب شود
و سیستم به محدودیت حرارتی برسد،
ممکن است Performance پایدار کاهش پیدا کند.
اما ابتدا باید مشکل به درستی تشخیص داده شود.

گردوغبار می تواند Performance CPU را کم کند؟

بله.
اگر گردوغبار Airflow یا عملکرد Heatsink و فن را مختل کند،
می تواند دما را افزایش دهد
و زمینه Thermal Throttling را ایجاد کند.

آداپتور ضعیف می تواند لپ تاپ را کند کند؟

در برخی دستگاه ها بله.
اگر سیستم نتواند توان مورد انتظار را دریافت کند،
ممکن است Performance محدود شود.

چرا لپ تاپ روی باتری کندتر است؟

سیستم ممکن است برای افزایش شارژدهی
و مدیریت توان،
محدودیت های Performance بیشتری اعمال کند.

Dual Channel باعث سریع تر شدن CPU می شود؟

قدرت خود Coreها را تغییر نمی دهد،
اما افزایش پهنای باند حافظه
می تواند Performance برخی Workloadها
و مخصوصاً برخی iGPUها را افزایش دهد.

SSD باعث افزایش سرعت CPU می شود؟

قدرت محاسباتی CPU را افزایش نمی دهد،
اما Responsiveness و سرعت دسترسی به داده
می تواند بسیار بهتر شود.

Cooling Pad برای افزایش Performance مفید است؟

به طراحی لپ تاپ و عامل محدود کننده بستگی دارد.
اگر دستگاه Thermal-Limited باشد
ممکن است مفید باشد،
اما نتیجه برای همه لپ تاپ ها یکسان نیست.

چرا یک CPU در دو لپ تاپ سرعت متفاوتی دارد؟

تفاوت Cooling، Power Limit،
RAM، Firmware، آداپتور
و طراحی دستگاه می تواند
Performance واقعی را تغییر دهد.

چگونه بفهمیم لپ تاپ استوک افت Performance دارد؟

Benchmark کنترل شده،
بررسی دما، Clock و توان زیر Load،
تست تکراری و مقایسه با دستگاه مشابه
می توانند به تشخیص کمک کنند.

اصطلاحات جدید این فصل

  • Thermal Throttling: کاهش عملکرد ناشی از محدودیت حرارتی.
  • TjMax: حداکثر دمای Junction تعریف شده برای تراشه.
  • Junction Temperature: دمای ناحیه داخلی تراشه نیمه رسانا.
  • Power Throttling: محدود شدن Performance بر اثر محدودیت توان.
  • Current: جریان الکتریکی.
  • TDP: توان طراحی حرارتی.
  • PL: Power Limit یا محدودیت توان.
  • Peak Performance: بالاترین Performance قابل دستیابی در شرایط مشخص.
  • Cold Plate: سطح دریافت کننده گرما در سیستم خنک کننده.
  • Heat Pipe: لوله انتقال حرارت.
  • Heatsink: گرماگیر.
  • Vapor Chamber: محفظه بخار برای انتقال و توزیع حرارت.
  • Airflow: جریان هوا.
  • Thermal Paste: خمیر حرارتی.
  • VRM: مدار تنظیم ولتاژ.
  • Headroom: ظرفیت باقی مانده تا رسیدن به محدودیت.
  • Wattage: توان الکتریکی بیان شده با وات.
  • Power Mode: حالت مدیریت توان و Performance.
  • OEM: سازنده اصلی تجهیزات یا دستگاه.
  • Fan Curve: الگوی تغییر سرعت فن بر اساس شرایط سیستم.
  • Memory Bottleneck: گلوگاه ناشی از زیرسیستم حافظه.
  • Memory Frequency: سرعت کاری حافظه.
  • Memory Timing: زمان بندی عملیات حافظه.
  • Latency: تأخیر.
  • Paging: مکانیزم مدیریت صفحات حافظه توسط سیستم عامل.
  • Single-Threaded Workload: بار کاری متکی به یک یا تعداد کمی Thread.
  • Multi-Threaded Workload: بار کاری قابل تقسیم میان چند Thread.
  • Indexing: نمایه سازی داده ها برای دسترسی و جستجوی سریع تر.
  • Microcode: ریزکد سطح پایین پردازنده.
  • Ambient Temperature: دمای محیط اطراف دستگاه.
  • Thermal Budget: ظرفیت حرارتی قابل مدیریت سیستم.
  • CPU-Only Load: بار کاری عمدتاً محدود به CPU.
  • Combined Load: بار هم زمان روی چند بخش مانند CPU و GPU.
  • Mobile Workstation: ایستگاه کاری قابل حمل.
  • Idle: وضعیت بار پردازشی بسیار کم.
  • Memory Pressure: فشار ناشی از نزدیک شدن مصرف حافظه به ظرفیت در دسترس.

خلاصه فصل

Performance واقعی CPU
فقط توسط مدل پردازنده تعیین نمی شود.

دما، توان، Cooling، RAM،
Firmware، آداپتور،
سیستم عامل و Workload
همگی می توانند روی نتیجه اثر بگذارند.

بنابراین:

CPU Specification
≠
Guaranteed Real Performance

به ویژه در لپ تاپ استوک،
باید میان «توان بالقوه CPU»
و «توانی که دستگاه واقعاً می تواند حفظ کند»
تفاوت قائل شویم.

Strong CPU
+
Poor Cooling
=
Potentially Poor Sustained Performance

و مهم ترین اصل عیب یابی این فصل:

Find the Limiting Factor First.
Fix Second.

یعنی:
ابتدا عامل محدود کننده را پیدا کنید؛
سپس برای رفع آن اقدام کنید.


فصل 38
سطح: کاربردی
موضوع: انتخاب CPU بر اساس کاربری
تمرکز: لپ تاپ استوک

به جای خرید Core i7، پردازنده مناسب کارتان را بخرید

راهنمای انتخاب CPU لپ تاپ بر اساس کاربری؛ از کار اداری تا مهندسی، برنامه نویسی، تدوین و رندرینگ

بعد از شناخت نسل، معماری، تعداد هسته، Thread، Cache،
Clock، توان مصرفی و محدودیت های حرارتی،
مهم ترین سوال باقی مانده این است:
برای کاری که من انجام می دهم واقعاً چه CPUای لازم است؟

پاسخ این سوال را نمی توان فقط با عبارت هایی مانند
«Core i5 خوب است» یا «Core i7 قوی تر است» داد.
یک Core i5 جدید می تواند از بعضی Core i7های قدیمی سریع تر باشد
و یک پردازنده سری H ممکن است برای کاربر اداری
فقط مصرف انرژی و هزینه بیشتری ایجاد کند.

در این فصل انتخاب CPU را از دید
نوع Workload یا بار کاری
بررسی می کنیم؛ یعنی ابتدا مشخص می کنیم نرم افزار
چه نوع منابعی می خواهد و سپس CPU مناسب آن را انتخاب می کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا انتخاب CPU باید از نوع کاربری شروع شود.
  • حداقل، پیشنهادی و سطح حرفه ای CPU چه تفاوتی دارند.
  • CPU مناسب کار اداری و حسابداری.
  • CPU مناسب دانش آموز و دانشجو.
  • CPU مناسب برنامه نویسی.
  • CPU مناسب AutoCAD.
  • CPU مناسب Revit.
  • CPU مناسب SolidWorks.
  • CPU مناسب Photoshop.
  • CPU مناسب Premiere Pro و تدوین.
  • CPU مناسب Blender و رندرینگ.
  • CPU مناسب ماشین مجازی و مجازی سازی.
  • CPU مناسب تحلیل داده.
  • CPU مناسب هوش مصنوعی.
  • CPU مناسب Gaming.
  • چه زمانی Core i7 یا Core i9 ارزش خرید ندارد.
  • چه زمانی RAM یا GPU از CPU مهم تر می شود.
  • چگونه برای خرید لپ تاپ استوک CPU را منطقی انتخاب کنیم.

قانون اول: ابتدا Workload، سپس CPU

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

روش مهندسی برعکس است:

Under the Hood — مسیر صحیح انتخاب CPU

Workload
→
Software Behavior
→
CPU Requirements
→
RAM Requirements
→
GPU Requirements
→
Laptop Platform
→
Final Model

یعنی ابتدا باید بدانیم
نرم افزار چگونه از سخت افزار استفاده می کند؛
سپس پردازنده مناسب را انتخاب کنیم.


Workload چیست؟

Workload
را می توان «بار کاری» ترجمه کرد.

منظور مجموعه عملیاتی است
که یک نرم افزار یا وظیفه
از سخت افزار درخواست می کند.

برای مثال باز کردن یک فایل Word،
کامپایل یک پروژه برنامه نویسی،
رندر یک صحنه سه بعدی
و اجرای یک بازی،
Workloadهای کاملاً متفاوتی هستند.

سه سطح انتخاب CPU: حداقل، پیشنهادی و حرفه ای

سطح هدف مناسب برای
حداقل قابل قبول اجرای صحیح کار با هزینه کمتر بودجه محدود و استفاده سبک
پیشنهادی تعادل Performance، قیمت و عمر مفید بیشتر کاربران
حرفه ای کاهش زمان پردازش و تحمل Workload سنگین کاربران حرفه ای و درآمدزا
Engineering Insight — بهترین CPU الزاماً بهترین خرید نیست

اگر نرم افزار شما از قدرت اضافه پردازنده استفاده نکند،
پرداخت هزینه بیشتر برای CPU قوی تر
الزاماً تجربه بهتری ایجاد نمی کند.

Best CPU
≠
Best CPU For You

انتخاب صحیح یعنی پیدا کردن نقطه ای
که بعد از آن افزایش هزینه
نسبت به افزایش Performance
توجیه کمتری پیدا می کند.

CPU مناسب کار اداری چیست؟

کاربری اداری معمولاً شامل مواردی مانند:

  • Word
  • Excel سبک تا متوسط
  • PowerPoint
  • مرور وب
  • ایمیل
  • اتوماسیون اداری
  • نرم افزارهای سازمانی
  • جلسات آنلاین

است.

بیشتر این فعالیت ها
به تعداد بسیار زیاد هسته نیاز ندارند.
Responsiveness مناسب،
معماری نسبتاً جدید،
SSD و RAM کافی
معمولاً اهمیت بیشتری از خرید CPU بسیار گران دارند.

سطح استفاده CPU منطقی توضیح
سبک Core i3 / Ryzen 3 مناسب برای Office و مرور وب معمولی
پیشنهادی Core i5 / Ryzen 5 تعادل مناسب برای چندوظیفگی و عمر کاری بیشتر
سنگین Core i7 / Ryzen 7 در صورت نیاز واقعی برای Excel سنگین، چندوظیفگی زیاد یا نرم افزارهای خاص

CPU مناسب حسابداری چیست؟

بسیاری از نرم افزارهای حسابداری
Workload بسیار سنگینی برای CPU ایجاد نمی کنند.
در چنین سیستم هایی،
سرعت SSD، مقدار RAM مناسب
و پایداری سیستم می تواند از خرید یک Core i7 قدیمی
مهم تر باشد.

Performance Impact — برای حسابداری تعادل سیستم مهم تر از برچسب i7 است

برای بسیاری از کاربران حسابداری،
یک Core i5 مناسب همراه با SSD و RAM کافی
می تواند انتخاب منطقی تری از
Core i7 قدیمی با حافظه کم یا HDD باشد.

CPU مناسب دانش آموز و دانشجو

عبارت «لپ تاپ دانشجویی»
به تنهایی نوع Workload را مشخص نمی کند.

دانشجوی ادبیات،
دانشجوی برنامه نویسی،
دانشجوی معماری
و دانشجوی مهندسی مکانیک
نیازهای پردازشی متفاوتی دارند.

رشته / استفاده سطح CPU پیشنهادی عامل مهم دیگر
عمومی / علوم انسانی Core i3 یا Core i5 مناسب باتری، وزن، SSD
مدیریت / حسابداری Core i5 RAM و SSD
برنامه نویسی Core i5 / Ryzen 5 به بالا RAM
مهندسی وابسته به نرم افزار CPU + GPU + RAM
معماری و رندر CPU Performance محور GPU بسیار مهم

CPU مناسب برنامه نویسی

«برنامه نویسی» نیز یک Workload واحد نیست.
نوشتن کد HTML با توسعه یک پروژه بزرگ،
اجرای چند Container،
کامپایل پروژه سنگین
یا اجرای ماشین مجازی یکسان نیست.

برای برنامه نویسی باید به موارد زیر توجه کرد:

  • سرعت Single-Core
  • تعداد Core و Thread
  • RAM
  • سرعت Storage
  • نوع ابزار توسعه
  • تعداد سرویس های هم زمان


Compilation یا کامپایل چیست؟

Compilation
یا «کامپایل»
فرآیندی است که در آن
کد نوشته شده توسط برنامه نویس
به شکل قابل اجرا یا قابل پردازش
برای سیستم تبدیل می شود.

بعضی فرآیندهای کامپایل
می توانند از چند Core
به خوبی استفاده کنند.


Container چیست؟

Container
یا «محیط محصور نرم افزاری»
روشی برای اجرای برنامه و وابستگی های آن
در یک محیط کنترل شده و نسبتاً مستقل است.

اجرای چند Container به صورت هم زمان
می تواند مصرف CPU و RAM را افزایش دهد.

نوع برنامه نویسی CPU نکته مهم
وب سبک Core i5 / Ryzen 5 مناسب RAM کافی و SSD
IDE سنگین و پروژه بزرگ Core i5 قوی / Core i7 / Ryzen 5 یا 7 Multi-Core و RAM
ماشین مجازی CPU چند هسته ای قوی RAM بسیار مهم
Build و Compilation سنگین CPU با Multi-Core قوی Cooling پایدار

CPU مناسب AutoCAD

AutoCAD یکی از نرم افزارهایی است
که انتخاب CPU برای آن باید
بر اساس نوع پروژه انجام شود.

در بسیاری از عملیات تعاملی و طراحی،
Performance تک هسته ای اهمیت زیادی دارد؛
بنابراین فقط زیاد بودن تعداد Coreها
معیار مناسبی برای انتخاب نیست.


Interactive Performance چیست؟

Interactive Performance
یعنی سرعت پاسخ سیستم
هنگام تعامل مستقیم کاربر با نرم افزار؛
برای مثال انتخاب اشیا،
اجرای دستور،
تغییر View
یا ویرایش مدل.

Engineering Insight — برای AutoCAD فقط Core Count را نگاه نکنید

در بسیاری از سناریوهای AutoCAD،
معماری جدیدتر،
IPC مناسب
و Performance تک هسته ای قوی
می تواند از داشتن تعداد زیادی Core کند
مفیدتر باشد.

CPU مناسب Revit

Revit در بسیاری از عملیات مدل سازی
به Performance قوی تک هسته ای حساس است،
در حالی که برخی وظایف
می توانند از پردازش موازی نیز بهره ببرند.

بنابراین برای Revit
معمولاً باید میان:

  • Single-Core Performance
  • Multi-Core Performance
  • RAM Capacity
  • GPU مناسب
  • Cooling پایدار

تعادل برقرار شود.

CPU مناسب SolidWorks

SolidWorks مجموعه ای از Workloadهای مختلف دارد.
مدل سازی تعاملی،
Assembly،
Simulation
و Rendering
رفتار یکسانی ندارند.


Assembly چیست؟

Assembly
در نرم افزارهای CAD
به مجموعه ای از قطعات گفته می شود
که برای تشکیل یک محصول یا سیستم
در کنار یکدیگر قرار گرفته اند.


Simulation چیست؟

Simulation
یا «شبیه سازی»
فرآیند مدل سازی رفتار یک سیستم
تحت شرایط مشخص است.

برای مدل سازی،
Performance تک هسته ای اهمیت زیادی دارد؛
اما Simulation و بعضی عملیات محاسباتی
می توانند از Coreهای بیشتر بهره ببرند.

CPU مناسب Photoshop

Photoshop فقط به CPU وابسته نیست.
RAM، SSD و GPU نیز
در بخش هایی از تجربه کاربری نقش دارند.

برای بسیاری از عملیات،
Performance تک هسته ای و چند هسته ای متعادل
اهمیت دارد.

افزایش تعداد Core
بعد از یک نقطه مشخص
الزاماً افزایش Performance متناسب ایجاد نمی کند.


Scratch Disk چیست؟

Scratch Disk
فضای ذخیره سازی است
که نرم افزارهایی مانند Photoshop
در صورت نیاز
برای داده های موقت کاری استفاده می کنند.

بنابراین Storage سریع
در پروژه های سنگین می تواند اهمیت پیدا کند.

CPU مناسب Premiere Pro و تدوین ویدئو

تدوین ویدئو
Workload پیچیده تری نسبت به کارهای اداری دارد.

CPU می تواند در:

  • Decode
  • Encode
  • افکت ها
  • Timeline Processing
  • Export

نقش داشته باشد.


Decode چیست؟

Decode
یا «رمزگشایی»
فرآیند تبدیل داده فشرده شده
به اطلاعات قابل پردازش یا نمایش است.


Encode چیست؟

Encode
یا «رمزگذاری»
در این Context
فرآیند تبدیل ویدئو
به یک قالب یا Codec مشخص
برای ذخیره یا انتشار است.


Codec چیست؟

Codec
مجموعه روش ها یا فناوری هایی است
که برای Encode و Decode
داده های صوتی یا تصویری استفاده می شود.

Quick Sync چیست و چرا برای تدوین مهم است؟


Intel Quick Sync Video

Quick Sync
فناوری پردازش رسانه ای Intel است
که از سخت افزار اختصاصی موجود
در برخی پردازنده ها و گرافیک های مجتمع Intel
برای Encode و Decode برخی فرمت های ویدئویی استفاده می کند.

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

Performance Impact — در تدوین فقط Benchmark CPU را نگاه نکنید

پشتیبانی سخت افزاری از Codec،
GPU،
RAM،
Storage
و نرم افزار مورد استفاده
می توانند نتیجه نهایی را به شدت تغییر دهند.

CPU مناسب Blender

Blender چند نوع Workload متفاوت دارد.
مدل سازی، Simulation و Rendering
نیازهای یکسانی ندارند.

برای مدل سازی تعاملی
Single-Core Performance اهمیت دارد،
در حالی که CPU Rendering
می تواند از تعداد زیادی Core و Thread استفاده کند.


CPU Rendering چیست؟

CPU Rendering
یعنی انجام محاسبات تولید تصویر نهایی
با استفاده از پردازنده مرکزی.

این نوع Workload
معمولاً قابلیت استفاده از چند Core
را به شکل مؤثری دارد.


GPU Rendering چیست؟

GPU Rendering
یعنی استفاده از پردازنده گرافیکی
برای انجام محاسبات رندر.

در Workloadهایی که GPU Rendering
به خوبی پشتیبانی می شود،
انتخاب GPU مناسب
می تواند از ارتقای CPU
تأثیر بسیار بیشتری داشته باشد.

برای رندرینگ CPU قوی تر بخریم یا GPU؟

پاسخ به موتور رندر بستگی دارد.

بعضی Render Engineها
از CPU استفاده می کنند،
بعضی از GPU
و بعضی امکان استفاده از هر دو را دارند.


Render Engine چیست؟

Render Engine
یا «موتور رندر»
نرم افزار یا بخشی از نرم افزار است
که محاسبات لازم برای تولید تصویر نهایی
از صحنه سه بعدی را انجام می دهد.

Common Mistake — هر سیستم رندرینگ باید قوی ترین CPU ممکن را داشته باشد

خیر.

اگر موتور رندر شما عمدتاً GPU-Based باشد،
انتقال بودجه از CPU بسیار گران
به GPU قوی تر
می تواند Performance بسیار بیشتری ایجاد کند.

CPU مناسب ماشین مجازی

اجرای ماشین مجازی
می تواند هم CPU
و هم RAM زیادی مصرف کند.


Virtual Machine چیست؟

Virtual Machine
یا «ماشین مجازی»
یک محیط رایانه ای نرم افزاری است
که می تواند سیستم عامل و برنامه های مستقل خود را اجرا کند.

اگر چند ماشین مجازی
به صورت هم زمان اجرا شوند،
تعداد Core و Thread بیشتر
اهمیت بالاتری پیدا می کند.

اما RAM نیز معمولاً
یکی از مهم ترین محدودیت ها است.


Virtualization چیست؟

Virtualization
یا «مجازی سازی»
فناوری ایجاد منابع یا محیط های مجازی
روی سخت افزار فیزیکی است.

CPU مناسب تحلیل داده

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

بسته به نرم افزار،
عوامل مهم می توانند شامل:

  • Single-Core Performance
  • Multi-Core Performance
  • RAM Capacity
  • Memory Bandwidth
  • Storage Performance

باشند.


Dataset چیست؟

Dataset
یا «مجموعه داده»
مجموعه ای سازمان یافته از داده ها است
که برای تحلیل، آموزش مدل
یا پردازش استفاده می شود.

CPU مناسب هوش مصنوعی

عبارت «هوش مصنوعی»
طیف بسیار بزرگی از Workloadها را شامل می شود.

اجرای ابزارهای سبک،
پردازش داده،
برنامه نویسی مدل،
Inference
و Training
نیازهای سخت افزاری یکسانی ندارند.


Inference چیست؟

Inference
یا «استنتاج»
مرحله ای است که مدل آموزش دیده
ورودی جدید را پردازش می کند
و نتیجه تولید می کند.


Training چیست؟

Training
یا «آموزش مدل»
فرآیندی است که طی آن
مدل با استفاده از داده ها
پارامترهای خود را یاد می گیرد.

Engineering Insight — برای AI همیشه CPU مهم ترین قطعه نیست

بسیاری از Workloadهای مدرن هوش مصنوعی
می توانند به شدت به GPU،
ظرفیت VRAM
و شتاب دهنده های تخصصی وابسته باشند.

بنابراین خرید CPU بسیار گران
همراه با GPU نامناسب
ممکن است انتخاب ضعیفی برای AI باشد.

CPU مناسب Gaming

در بازی،
CPU و GPU با یکدیگر همکاری می کنند.
اهمیت هرکدام به بازی،
Resolution،
Frame Rate هدف
و تنظیمات گرافیکی بستگی دارد.


FPS چیست؟

FPS
مخفف Frames Per Second
و به معنی «تعداد فریم در ثانیه» است.

FPS بالاتر معمولاً
به نمایش روان تر حرکت منجر می شود،
البته به شرط آنکه نمایشگر نیز
توان نمایش نرخ مناسب را داشته باشد.

CPU-Bound و GPU-Bound چیست؟


CPU-Bound

CPU-Bound
یعنی Performance برنامه یا بازی
بیشتر توسط محدودیت CPU تعیین می شود.


GPU-Bound

GPU-Bound
یعنی Performance
بیشتر توسط محدودیت GPU تعیین می شود.

Under the Hood — CPU و GPU در بازی

Game Logic
+
Physics
+
Draw Calls
→
CPU
→
GPU Work
→
Rendered Frame

اگر CPU نتواند
داده و فرمان لازم را
با سرعت کافی آماده کند،
GPU ممکن است منتظر CPU بماند.

اگر GPU عامل محدود کننده باشد،
CPU قوی تر الزاماً FPS زیادی اضافه نمی کند.


Draw Call چیست؟

Draw Call
در مفهوم ساده
فرمانی است که CPU
برای پردازش و رسم بخشی از صحنه
به سیستم گرافیکی ارسال می کند.

Resolution چگونه اهمیت CPU و GPU را تغییر می دهد؟

با افزایش Resolution،
تعداد پیکسل هایی که GPU باید پردازش کند
افزایش می یابد.

در بسیاری از بازی ها
این موضوع می تواند فشار بیشتری روی GPU ایجاد کند
و سیستم بیشتر GPU-Bound شود.

در مقابل،
برای دستیابی به Frame Rate بسیار بالا
در Resolution پایین تر،
CPU قوی نیز اهمیت زیادی پیدا می کند.

چه زمانی بودجه را از CPU به GPU منتقل کنیم؟

اگر Workload شما:

  • GPU Rendering دارد،
  • Gaming محور است،
  • CUDA یا شتاب دهنده گرافیکی استفاده می کند،
  • پردازش سه بعدی سنگین دارد،
  • AI وابسته به GPU اجرا می کند،

ممکن است GPU قوی تر
نسبت به ارتقای CPU
بازده سرمایه بیشتری داشته باشد.


CUDA چیست؟

CUDA
پلتفرم و مدل برنامه نویسی محاسبات موازی NVIDIA است
که امکان استفاده از GPUهای سازگار NVIDIA
برای محاسبات عمومی را فراهم می کند.

CUDA فقط یک اصطلاح مربوط به بازی نیست
و در رندرینگ، محاسبات علمی
و برخی Workloadهای هوش مصنوعی کاربرد دارد.

چه زمانی RAM بیشتر از CPU قوی تر اهمیت دارد؟

اگر سیستم دائماً با کمبود حافظه مواجه باشد،
خرید CPU سریع تر
ممکن است مشکل اصلی را حل نکند.

این موضوع در:

  • ماشین مجازی
  • پروژه های بزرگ مهندسی
  • مرورگر با Tabهای زیاد
  • ویرایش تصاویر بزرگ
  • تحلیل Datasetهای بزرگ
  • برنامه نویسی با سرویس های متعدد

اهمیت بیشتری پیدا می کند.

Engineering Insight — سیستم متعادل از یک قطعه بسیار قوی بهتر است

بودجه محدود را نباید
فقط روی نام CPU متمرکز کرد.

Good CPU
+
Enough RAM
+
Fast SSD
+
Suitable GPU
+
Good Cooling
>
Expensive CPU
+
Weak Supporting Hardware

نسل CPU هنگام خرید چقدر مهم است؟

نسل پردازنده مهم است،
اما نباید به تنهایی معیار خرید باشد.

هنگام مقایسه دو CPU باید هم زمان بررسی شوند:

  • Generation
  • Architecture
  • Core / Thread Count
  • IPC
  • Clock
  • Cache
  • Power Class
  • Memory Support
  • Integrated GPU
  • Real Benchmarks

Under the Hood — چرا نسل جدیدتر می تواند با Core i پایین تر سریع تر باشد؟

نام تجاری Core i3، i5، i7 یا i9
جایگاه محصول را در خانواده خودش نشان می دهد؛
نه Performance مطلق در تمام نسل ها.

Newer Architecture
+
Higher IPC
+
Better Efficiency
+
More / Better Cores
=
Potentially Higher Performance

بنابراین ممکن است
Core i5 نسل جدید
از Core i7 چند نسل قبل
سریع تر باشد.

پسوند CPU هنگام خرید چقدر مهم است؟

بسیار مهم.

دو CPU با عنوان Core i7
اما با کلاس توان و پسوند متفاوت
می توانند برای اهداف کاملاً متفاوت طراحی شده باشند.

برای مثال یک پردازنده کم مصرف
و یک پردازنده Performance محور
ممکن است هر دو Core i7 باشند،
اما رفتار حرارتی، توان،
تعداد Core و Performance پایدار آنها متفاوت باشد.

Performance Impact — نام CPU را کامل بخوانید

هنگام خرید لپ تاپ استوک
فقط عبارت «i7» را نپرسید.

مدل کامل پردازنده را بررسی کنید.

Family
+
Generation
+
Model Number
+
Suffix
=
Useful CPU Identity

Core i7 قدیمی بهتر است یا Core i5 جدید؟

پاسخ ثابت ندارد.

باید مدل دقیق دو پردازنده
و نوع Workload مشخص شود.

Core i5 جدیدتر ممکن است:

  • IPC بالاتر داشته باشد،
  • Core بیشتری داشته باشد،
  • مصرف انرژی بهتری داشته باشد،
  • iGPU جدیدتری داشته باشد،
  • از حافظه جدیدتری پشتیبانی کند،
  • قابلیت های رسانه ای جدیدتری داشته باشد.

بنابراین عبارت
«i7 همیشه از i5 بهتر است»
از نظر فنی صحیح نیست.

در لپ تاپ استوک چگونه ارزش خرید CPU را بسنجیم؟

بازار استوک یک مزیت مهم دارد:
اختلاف قیمت نسل ها و کلاس های مختلف
می تواند با بازار دستگاه نو متفاوت باشد.

بنابراین باید به جای
«جدیدترین CPU ممکن»
به دنبال
«بیشترین Performance مناسب کاربری در برابر هزینه»
بود.


Price-to-Performance چیست؟

Price-to-Performance
یا «نسبت قیمت به عملکرد»
روشی برای سنجش مقدار Performance
در برابر هزینه پرداخت شده است.

محصول سریع تر
الزاماً ارزش خرید بیشتری ندارد
اگر افزایش قیمت آن
بسیار بیشتر از افزایش Performance باشد.

ماتریس سریع انتخاب CPU بر اساس کاربری

کاربری اولویت CPU عامل مهم دیگر نیاز به CPU بسیار قوی
Office معماری مناسب + Responsiveness SSD / RAM معمولاً خیر
حسابداری CPU میان رده متعادل SSD / RAM معمولاً خیر
برنامه نویسی Single + Multi-Core RAM / SSD وابسته به پروژه
AutoCAD Single-Core قوی GPU / RAM متوسط
Revit Single-Core قوی + Multi-Core مناسب RAM / GPU متوسط تا بالا
SolidWorks وابسته به مدل سازی / Simulation GPU / RAM وابسته به پروژه
Photoshop Single-Core قوی + Multi-Core متعادل RAM / SSD معمولاً متوسط
Premiere Multi-Core + Media Engine GPU / RAM / SSD اغلب بالا
CPU Rendering Multi-Core بسیار قوی Cooling بله
GPU Rendering CPU متعادل GPU / VRAM نه الزاماً
Virtual Machine Core / Thread زیاد RAM بسیار مهم اغلب بله
Data Analysis وابسته به نرم افزار RAM / Storage وابسته به Dataset
AI وابسته به Workload GPU / VRAM نه همیشه
Gaming Single-Core + Multi-Core مناسب GPU وابسته به FPS هدف

فرآیند عملی انتخاب CPU برای خرید لپ تاپ استوک

01
نرم افزارهای اصلی را مشخص کنیدبه جای عبارت کلی «مهندسی»،
نام AutoCAD، Revit، Blender یا نرم افزار واقعی خود را مشخص کنید.
02
سنگین ترین Workload را پیدا کنیدسیستم باید بر اساس سنگین ترین کار مهم شما انتخاب شود،
نه سبک ترین کار.
03
Single-Core و Multi-Core را اولویت بندی کنیدمشخص کنید نرم افزار بیشتر به کدام نوع Performance وابسته است.
04
نیاز GPU را بررسی کنیدممکن است گلوگاه اصلی اصلاً CPU نباشد.
05
RAM مورد نیاز را تعیین کنیدکمبود RAM می تواند CPU قوی را نیز محدود کند.
06
مدل کامل CPU را بخوانیدFamily، Generation، Model و Suffix را بررسی کنید.
07
نسل قبل و بعد را مقایسه کنیداختلاف Performance و قیمت را بسنجید.
08
مدل هم رده رقیب را مقایسه کنیدفقط به Intel یا AMD محدود نشوید؛
Performance واقعی را مقایسه کنید.
09
Cooling لپ تاپ را بررسی کنیدCPU قوی بدون Cooling مناسب
ممکن است Performance پایدار مورد انتظار را ندهد.
10
Benchmark مرتبط با Workload را ببینیدیک Benchmark عمومی برای تمام کاربری ها کافی نیست.
11
قیمت به Performance را محاسبه کنیدببینید برای افزایش سرعت واقعاً چقدر بیشتر پرداخت می کنید.
12
کل سیستم را ارزیابی کنیدCPU را جدا از RAM، GPU، SSD،
Cooling و کیفیت خود لپ تاپ نخرید.

Common Mistakes — اشتباهات رایج هنگام انتخاب CPU لپ تاپ
  • خرید فقط بر اساس عبارت Core i7.
  • نادیده گرفتن نسل CPU.
  • نادیده گرفتن پسوند پردازنده.
  • فرض اینکه i7 قدیمی همیشه از i5 جدید بهتر است.
  • خرید تعداد Core زیاد برای نرم افزار Single-Threaded.
  • نادیده گرفتن GPU در Workload گرافیکی.
  • نادیده گرفتن RAM در ماشین مجازی و پروژه های بزرگ.
  • پرداخت هزینه زیاد برای CPU و خرید SSD یا RAM ضعیف.
  • انتخاب CPU فقط بر اساس یک Benchmark.
  • نادیده گرفتن Cooling لپ تاپ.
  • مقایسه CPU دسکتاپ و لپ تاپ فقط بر اساس نام.
  • فرض اینکه همه Core i5ها یا همه Core i7ها مشابه هستند.
  • خرید CPU بسیار قوی برای Office ساده.
  • خرید CPU ضعیف برای Rendering طولانی.
  • نادیده گرفتن Performance پایدار در لپ تاپ استوک.

سوالات متداول انتخاب CPU بر اساس کاربری

برای کار اداری Core i5 کافی است؟

در بیشتر سناریوهای اداری بله.
حتی برخی Core i3های مناسب نیز کافی هستند.
SSD و RAM مناسب نیز تأثیر زیادی بر تجربه روزمره دارند.

برای حسابداری Core i7 لازم است؟

در بسیاری از موارد خیر.
نوع نرم افزار، حجم داده،
چندوظیفگی و سایر مشخصات سیستم باید بررسی شوند.

برای برنامه نویسی i5 بهتر است یا i7؟

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

برای AutoCAD تعداد هسته مهم تر است یا سرعت هر هسته؟

در بسیاری از عملیات تعاملی AutoCAD،
Performance تک هسته ای اهمیت زیادی دارد.
اما نوع پروژه و سایر عملیات نیز باید در نظر گرفته شوند.

برای Revit چه CPUای مناسب است؟

پردازنده ای با Single-Core قوی
و Multi-Core مناسب انتخاب خوبی است،
اما RAM و GPU نیز باید متناسب با پروژه انتخاب شوند.

برای Blender CPU مهم تر است یا GPU؟

به نوع کار بستگی دارد.
مدل سازی و Simulation با Rendering یکسان نیستند.
در GPU Rendering، کارت گرافیک می تواند عامل اصلی Performance باشد.

برای Premiere Core i7 لازم است؟

نام Core i7 به تنهایی کافی نیست.
نسل، تعداد Core،
Media Engine، GPU،
Codec، RAM و نوع پروژه اهمیت دارند.

برای هوش مصنوعی CPU قوی بخرم یا GPU؟

به Workload بستگی دارد،
اما در بسیاری از وظایف AI
GPU و VRAM می توانند اهمیت بسیار بالایی داشته باشند.

Core i7 قدیمی بهتر است یا Core i5 جدید؟

هیچ پاسخ عمومی وجود ندارد.
مدل دقیق، نسل، معماری، تعداد Core،
پسوند و Benchmark مرتبط باید مقایسه شوند.

برای Gaming CPU مهم تر است یا GPU؟

هر دو مهم هستند.
اهمیت نسبی آنها به بازی،
Resolution و Frame Rate هدف بستگی دارد.

برای لپ تاپ استوک نسل CPU مهم است؟

بله؛ اما نسل تنها معیار نیست.
مدل کامل CPU و Performance واقعی دستگاه
باید بررسی شوند.

چرا نباید فقط بر اساس i3، i5 و i7 خرید کنیم؟

زیرا این نام ها بدون دانستن نسل،
مدل، پسوند و کلاس توان
اطلاعات کافی درباره Performance واقعی نمی دهند.

آیا CPU قوی تر باعث عمر مفید بیشتر لپ تاپ می شود؟

تا حدی می تواند حاشیه Performance بیشتری ایجاد کند،
اما خرید بیش از نیاز همیشه اقتصادی نیست.
کیفیت دستگاه، RAM قابل ارتقا،
Storage و سایر عوامل نیز مهم هستند.

برای خرید لپ تاپ استوک CPU سری U بهتر است یا H؟

بستگی به کاربری دارد.
سری های کم مصرف معمولاً برای حمل پذیری و مصرف انرژی مناسب ترند،
در حالی که کلاس های Performance محور
برای Workloadهای سنگین تر طراحی می شوند.
نسل و مدل دقیق نیز باید بررسی شود.

مهم ترین قانون انتخاب CPU چیست؟

CPU را بر اساس Workload واقعی انتخاب کنید،
نه صرفاً نام تجاری یا عدد بزرگ تر روی مشخصات.

اصطلاحات جدید این فصل

  • Workload: بار کاری وارد شده به سیستم.
  • Interactive Performance: سرعت پاسخ سیستم هنگام تعامل مستقیم کاربر.
  • Compilation: تبدیل کد برنامه نویسی به شکل قابل اجرا یا پردازش.
  • Container: محیط نسبتاً مستقل برای اجرای نرم افزار و وابستگی های آن.
  • Assembly: مجموعه قطعات یک مدل مهندسی.
  • Simulation: شبیه سازی رفتار یک سیستم.
  • Scratch Disk: فضای ذخیره سازی مورد استفاده برای داده های موقت کاری.
  • Decode: رمزگشایی داده فشرده.
  • Encode: تبدیل داده به قالب رمزگذاری یا فشرده سازی مشخص.
  • Codec: فناوری Encode و Decode صوت یا تصویر.
  • Quick Sync: فناوری پردازش رسانه ای سخت افزاری Intel.
  • CPU Rendering: رندر با پردازنده مرکزی.
  • GPU Rendering: رندر با پردازنده گرافیکی.
  • Render Engine: موتور محاسباتی تولید تصویر نهایی.
  • Virtual Machine: ماشین مجازی.
  • Virtualization: مجازی سازی.
  • Dataset: مجموعه داده.
  • Inference: استنتاج با مدل آموزش دیده.
  • Training: فرآیند آموزش مدل.
  • FPS: تعداد فریم در ثانیه.
  • CPU-Bound: شرایطی که CPU عامل اصلی محدودیت Performance است.
  • GPU-Bound: شرایطی که GPU عامل اصلی محدودیت Performance است.
  • Draw Call: فرمان مرتبط با ارسال عملیات رسم به سیستم گرافیکی.
  • CUDA: پلتفرم محاسبات موازی NVIDIA.
  • Price-to-Performance: نسبت قیمت به عملکرد.

خلاصه فصل

انتخاب CPU نباید از عبارت
Core i5، Core i7 یا Ryzen 7 شروع شود.

نقطه شروع صحیح
Workload واقعی کاربر است.

Workload
→
Requirements
→
CPU Class
→
GPU / RAM / Storage
→
Laptop

برای Office و حسابداری
معمولاً CPU میان رده متعادل کافی است.
برای CAD و مدل سازی،
Single-Core Performance اهمیت زیادی دارد.
برای CPU Rendering و بعضی محاسبات،
Multi-Core Performance بسیار مهم می شود.
در Gaming، GPU Rendering و بسیاری از Workloadهای AI،
ممکن است GPU از ارتقای بیشتر CPU مهم تر باشد.

و در نهایت:

Do Not Buy The CPU Name.
Buy The Performance Your Workload Needs.

یعنی «نام پردازنده» را نخرید؛
عملکردی را بخرید که کار واقعی شما به آن نیاز دارد.


فصل 39
سطح: کاربردی / تخصصی
موضوع: بررسی CPU قبل از خرید
تمرکز: لپ تاپ استوک

از نوشته روی برچسب تا Performance واقعی دستگاه

چک لیست تخصصی بررسی CPU هنگام خرید لپ تاپ استوک

دانستن نام، نسل و مشخصات CPU فقط نیمی از مسیر خرید است.
در یک لپ تاپ استوک باید مطمئن شویم پردازنده ای که واقعاً
داخل دستگاه قرار دارد همان مدلی است که اعلام شده،
در شرایط صحیح کار می کند و به دلیل دما، توان یا مشکلات
سیستم خنک کننده بخش قابل توجهی از Performance خود را از دست نمی دهد.

دو لپ تاپ با CPU کاملاً یکسان ممکن است در استفاده واقعی
Performance یکسانی نداشته باشند. طراحی سیستم خنک کننده،
تنظیمات توان، وضعیت فن و Heat Sink، دمای محیط، BIOS،
نوع آداپتور و حتی شرایط نگهداری قبلی دستگاه می توانند
روی Performance پایدار CPU اثر بگذارند.

بنابراین در این فصل به جای پرسیدن
«این لپ تاپ Core i7 است؟»
یاد می گیریم سوال دقیق تری بپرسیم:


این CPU دقیقاً چه مدلی است، در چه شرایطی کار می کند
و آیا Performance واقعی آن با چیزی که از این مدل انتظار داریم
همخوانی دارد؟

در این فصل چه چیزهایی یاد می گیریم؟

  • چگونه مدل واقعی CPU لپ تاپ را تشخیص دهیم.
  • چگونه اطلاعات فروشنده را با اطلاعات سیستم تطبیق دهیم.
  • چگونه نسل و پسوند CPU را دوباره بررسی کنیم.
  • چرا Task Manager به تنهایی برای بررسی تخصصی کافی نیست.
  • چگونه مشخصات CPU را با منبع رسمی سازنده تطبیق دهیم.
  • BIOS چه اطلاعاتی درباره CPU در اختیار ما قرار می دهد.
  • چگونه Clock واقعی CPU را بررسی کنیم.
  • چگونه Temperature یا دمای پردازنده را ارزیابی کنیم.
  • Thermal Throttling چگونه تشخیص داده می شود.
  • Power Limit چیست و چگونه Performance را محدود می کند.
  • چگونه Benchmark صحیح اجرا کنیم.
  • چرا یک بار Benchmark گرفتن کافی نیست.
  • چگونه Performance پایدار CPU را بررسی کنیم.
  • آداپتور نامناسب چگونه می تواند Performance لپ تاپ را کاهش دهد.
  • چه علائمی در تست CPU مشکوک محسوب می شوند.
  • چگونه قبل از خرید یک گزارش کوتاه از وضعیت CPU تهیه کنیم.

قانون طلایی بررسی CPU لپ تاپ استوک

هیچ مشخصه ای را فقط از روی عنوان آگهی،
برچسب دستگاه یا توضیح فروشنده قطعی فرض نکنید.

Under the Hood — زنجیره صحیح تأیید CPU

Seller Information
→
Operating System
→
CPU Identification Tool
→
BIOS / UEFI
→
Manufacturer Specification
→
Real Performance Test

هرچه اطلاعات این منابع بیشتر با یکدیگر تطابق داشته باشند،
اطمینان ما از مشخصات و وضعیت دستگاه بیشتر می شود.

مرحله اول: مدل کامل CPU را پیدا کنید

عبارت هایی مانند:

  • Core i5
  • Core i7
  • Ryzen 5
  • Ryzen 7

برای ارزیابی پردازنده کافی نیستند.

چیزی که نیاز داریم
مدل کامل پردازنده
است.

برای مثال:

  • Intel Core i5-8350U
  • Intel Core i7-8850H
  • Intel Core i7-10750H
  • AMD Ryzen 5 4500U
  • AMD Ryzen 7 5800H

چند حرف و عدد انتهای نام CPU
می توانند تفاوت بسیار بزرگی
در معماری، تعداد Core، کلاس توان
و Performance ایجاد کنند.

بررسی اولیه CPU با Task Manager

در Windows می توان از Task Manager
برای یک بررسی سریع استفاده کرد.

Task Manager
→
Performance
→
CPU

معمولاً اطلاعاتی مانند:

  • نام CPU
  • Base Speed
  • Speed فعلی
  • تعداد Core
  • تعداد Logical Processor
  • Virtualization
  • Cache

قابل مشاهده هستند.


Logical Processor چیست؟

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

در پردازنده هایی که از فناوری هایی مانند
Hyper-Threading یا SMT استفاده می کنند،
تعداد Logical Processor می تواند
بیشتر از تعداد Core فیزیکی باشد.

Common Mistake — Task Manager همه چیز را به ما می گوید

Task Manager برای بررسی سریع مفید است،
اما ابزار تشخیص تخصصی CPU نیست.

برای بررسی دقیق تر بهتر است
اطلاعات آن را با ابزارهای تخصصی
و مشخصات رسمی سازنده مقایسه کنیم.

استفاده از ابزارهای شناسایی CPU

ابزارهای تخصصی می توانند
اطلاعات بیشتری درباره پردازنده ارائه کنند.

بسته به ابزار، اطلاعاتی مانند:

  • CPU Model
  • Architecture
  • Core / Thread
  • Clock
  • Cache
  • Instruction Set
  • Voltage
  • Package
  • Stepping

قابل مشاهده است.


CPU Stepping چیست؟

Stepping
به بازبینی یا Revision مشخصی
از طراحی یک تراشه اشاره دارد.

سازنده ممکن است در طول عمر یک پردازنده
تغییرات جزئی در طراحی یا فرآیند تولید ایجاد کند
که با Steppingهای مختلف مشخص شوند.

برای خریدار عادی معمولاً Stepping
معیار اصلی خرید نیست،
اما در تحلیل تخصصی CPU
می تواند اطلاعات تکمیلی مفیدی باشد.

مرحله دوم: مشخصات CPU را با منبع رسمی سازنده تطبیق دهید

بعد از مشخص شدن مدل کامل پردازنده،
مشخصات آن باید با اطلاعات رسمی سازنده بررسی شود.

موارد مهم عبارت اند از:

  • تعداد Core
  • تعداد Thread
  • Base Frequency
  • Maximum Turbo Frequency
  • Cache
  • Memory Support
  • Integrated GPU
  • توان یا کلاس مصرف انرژی
  • Instruction Setهای مهم
  • سال یا دوره عرضه
Engineering Insight — مدل CPU مهم تر از برچسب روی بدنه است

برچسب Core i7 یا Ryzen 7 روی لپ تاپ
مدرک فنی کافی برای تشخیص CPU نیست.

اطلاعات واقعی سیستم
و مدل کامل CPU
معیار معتبرتری برای بررسی هستند.

مرحله سوم: بررسی CPU در BIOS یا UEFI

BIOS یا UEFI
می تواند یک منبع مستقل دیگر
برای تأیید اطلاعات سخت افزار باشد.


UEFI چیست؟

UEFI
مخفف Unified Extensible Firmware Interface است.

به زبان ساده،
UEFI رابط Firmware مدرن سیستم است
که پیش از سیستم عامل
سخت افزار را راه اندازی و مدیریت می کند.

UEFI در بسیاری از سیستم های جدید
جایگزین ساختار سنتی BIOS شده است،
هرچند در مکالمات روزمره
همچنان اصطلاح BIOS برای هر دو استفاده می شود.


Firmware چیست؟

Firmware
یا «میان افزار»
نرم افزاری سطح پایین است
که ارتباط و کنترل اولیه سخت افزار
را بر عهده دارد.

مرحله چهارم: نسل CPU را از روی مدل تشخیص دهید

حالا باید همان قوانینی را که
در فصل تشخیص نسل CPU آموختیم
روی دستگاه واقعی اعمال کنیم.

فقط به گفته فروشنده مانند
«نسل هشت» یا «نسل ده»
اکتفا نکنید.

مدل کامل CPU را بخوانید
و سپس نسل آن را با سیستم نام گذاری
همان خانواده پردازنده تطبیق دهید.

Common Mistake — تعداد رقم های مدل همیشه نسل CPU را مشخص می کند

خیر.

سیستم نام گذاری Intel و AMD
در دوره های مختلف تغییر کرده است.
بنابراین قانون تشخیص نسل
باید متناسب با خانواده و دوره پردازنده استفاده شود.

مرحله پنجم: پسوند CPU را بررسی کنید

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

برای مثال:

i7-8650U
≠
i7-8750H

هر دو Core i7 نسل هشتم هستند،
اما برای کلاس های متفاوتی از لپ تاپ
و Workload طراحی شده اند.

Performance Impact — یک حرف می تواند کلاس CPU را تغییر دهد

هنگام مقایسه CPU
نام کامل شامل پسوند را یادداشت کنید.

حذف U، H، HX، P یا سایر پسوندها
می تواند مقایسه را گمراه کننده کند.

مرحله ششم: Core و Thread را بررسی کنید

تعداد Core و Thread نمایش داده شده در سیستم
باید با مشخصات رسمی مدل CPU سازگار باشد.

اگر اختلاف وجود داشت،
قبل از نتیجه گیری باید علت آن بررسی شود.

بعضی تنظیمات Firmware،
تنظیمات Boot،
ماشین مجازی
یا مشکلات نرم افزاری
ممکن است باعث شوند سیستم عامل
تمام منابع CPU را به شکل مورد انتظار نمایش ندهد.

مرحله هفتم: Clock واقعی CPU را بررسی کنید

مشاهده یک عدد Clock در حالت Idle
برای قضاوت درباره CPU کافی نیست.


Idle چیست؟

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

در این حالت پردازنده ممکن است
برای کاهش مصرف انرژی
Frequency و Voltage خود را پایین بیاورد.

بنابراین پایین بودن Clock در Idle
الزاماً نشانه مشکل نیست.

رفتار CPU باید
زیر Load
نیز بررسی شود.


Load چیست؟

Load
یا «بار پردازشی»
مقدار کاری است که در یک بازه زمانی
به CPU تحمیل می شود.

Full Load به شرایطی گفته می شود
که بخش بزرگی از منابع پردازنده
درگیر پردازش هستند.

مرحله هشتم: دمای CPU را بررسی کنید

Temperature یکی از مهم ترین متغیرها
در ارزیابی لپ تاپ استوک است.

دمای CPU باید در چند وضعیت بررسی شود:

  • Idle
  • کار سبک
  • Load متوسط
  • Load سنگین
  • Load طولانی مدت

یک عدد دما به تنهایی
برای نتیجه گیری کافی نیست.


TjMax چیست؟

TjMax
یا Maximum Junction Temperature
به محدوده دمایی مشخصی در طراحی پردازنده اشاره دارد
که سیستم کنترل حرارتی CPU
نسبت به نزدیک شدن به آن واکنش نشان می دهد.

مقدار دقیق آن
به مدل CPU بستگی دارد.

بنابراین نمی توان یک عدد ثابت
برای تمام پردازنده ها تعیین کرد.

مرحله نهم: Thermal Throttling را بررسی کنید

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


Thermal Throttling چیست؟

Thermal Throttling
یا «محدودسازی عملکرد به دلیل دما»
زمانی رخ می دهد که سیستم
برای جلوگیری از عبور پردازنده
از محدودیت های حرارتی،
Frequency یا توان CPU را کاهش می دهد.

Under the Hood — چه اتفاقی هنگام محدودیت حرارتی می افتد؟

Heavy Workload
→
Higher Power
→
More Heat
→
Temperature Limit
→
Frequency Reduction
→
Lower Performance

به همین دلیل یک لپ تاپ
ممکن است در چند ثانیه اول تست بسیار سریع باشد
اما بعد از چند دقیقه
Performance آن کاهش پیدا کند.

چرا Benchmark کوتاه برای لپ تاپ استوک کافی نیست؟

یک Benchmark کوتاه
ممکن است فقط Burst Performance
پردازنده را نشان دهد.


Burst Performance چیست؟

Burst Performance
به Performance بالایی گفته می شود
که پردازنده برای مدت کوتاه
می تواند ارائه کند.

این Performance ممکن است
به دلیل محدودیت توان یا دما
در پردازش طولانی قابل حفظ نباشد.


Sustained Performance چیست؟

Sustained Performance
یا «عملکرد پایدار»
مقدار Performanceای است
که سیستم می تواند
در پردازش طولانی مدت حفظ کند.

برای لپ تاپ های مهندسی،
Rendering،
Compilation،
Simulation
و سایر Workloadهای طولانی،
این معیار بسیار مهم است.

تست تکرارشونده یا Loop Test

یکی از روش های مفید
برای تشخیص Performance پایدار
اجرای چندباره Benchmark است.


Loop Test چیست؟

Loop Test
یعنی اجرای یک تست
چند بار پشت سر هم
یا به صورت پیوسته.

هدف این است که ببینیم
Performance پس از گرم شدن سیستم
تا چه اندازه حفظ می شود.

افت امتیاز در تست های متوالی چه معنایی دارد؟

فرض کنید یک لپ تاپ
پنج بار پشت سر هم Benchmark اجرا کند.

Run Score فرضی وضعیت
1 10000 سیستم هنوز سردتر است
2 9700 افزایش دما
3 9500 نزدیک شدن به حالت پایدار
4 9480 Performance پایدار
5 9460 Performance پایدار

کاهش محدود امتیاز
الزاماً نشانه خرابی نیست.

آنچه اهمیت دارد
میزان افت،
دما،
Clock،
توان
و رفتار پایدار دستگاه است.

Common Mistake — هر افت Benchmark یعنی CPU خراب است

خیر.

CPUهای لپ تاپ
تحت محدودیت های حرارتی و توان کار می کنند
و تفاوت میان Performance اولیه
و Performance پایدار طبیعی است.

افت شدید یا غیرعادی
نیاز به بررسی دقیق تر دارد،
اما صرف کاهش Score
برای اعلام خرابی CPU کافی نیست.

مرحله دهم: Power Limit را بررسی کنید


Power Limit چیست؟

Power Limit
محدودیتی است که
میزان توان قابل استفاده توسط پردازنده
را کنترل می کند.

این محدودیت می تواند
برای کنترل مصرف انرژی،
دما و ظرفیت سیستم خنک کننده
استفاده شود.

بنابراین کاهش Clock همیشه
ناشی از Temperature نیست.

CPU ممکن است به دلیل
رسیدن به محدودیت توان نیز
Frequency خود را کاهش دهد.

Under the Hood — دو مسیر متفاوت کاهش Performance

Temperature Limit
→
Thermal Throttling

Power Limit
→
Power Limiting

نتیجه ظاهری هر دو
می تواند کاهش Clock باشد،
اما علت آنها یکسان نیست.

PL1 و PL2 چیست؟


PL1 و PL2

در بسیاری از پردازنده های Intel،
اصطلاحات PL1 و PL2
برای سطوح یا محدودیت های توان
در رفتار پردازنده استفاده شده اند.

به صورت مفهومی،
یک سطح می تواند بیشتر با توان قابل حفظ
در بازه طولانی مرتبط باشد
و سطح بالاتر امکان Performance بیشتر
در بازه کوتاه تر را فراهم کند.

پیاده سازی دقیق این رفتار
می تواند بسته به نسل CPU،
Firmware و سیاست سازنده لپ تاپ متفاوت باشد.

چرا یک CPU در دو لپ تاپ Performance متفاوت دارد؟

این یکی از مهم ترین نکات خرید لپ تاپ است.

دو دستگاه می توانند
دقیقاً CPU یکسان داشته باشند،
اما Performance واقعی متفاوتی ارائه دهند.

عوامل مؤثر شامل:

  • Cooling Design
  • Heat Sink
  • تعداد و اندازه Fan
  • Power Limit
  • BIOS
  • Firmware
  • دمای محیط
  • گردوغبار سیستم خنک کننده
  • Thermal Interface
  • Power Profile

هستند.


Heat Sink چیست؟

Heat Sink
یا «گرماگیر»
بخشی از سیستم خنک کننده است
که گرمای قطعات را دریافت
و به سطح بزرگ تری برای دفع منتقل می کند.


Thermal Interface چیست؟

Thermal Interface Material
یا ماده رابط حرارتی،
ماده ای است که میان سطح تراشه
و سیستم انتقال حرارت قرار می گیرد
تا انتقال گرما بهتر انجام شود.

خمیر حرارتی
یکی از شناخته شده ترین نمونه های آن است.

مرحله یازدهم: رفتار فن را بررسی کنید

هنگام اجرای Load سنگین
به رفتار فن توجه کنید.

مواردی که باید بررسی شوند:

  • آیا سرعت فن با افزایش Load تغییر می کند؟
  • آیا صدای غیرعادی وجود دارد؟
  • آیا فن دائماً با سرعت بسیار بالا کار می کند؟
  • آیا با وجود دمای بالا فن واکنش مناسبی نشان می دهد؟
  • آیا خروجی هوای گرم از Vent احساس می شود؟


Vent چیست؟

Vent
در این Context
به دریچه های ورود یا خروج هوا
در سیستم خنک کننده لپ تاپ گفته می شود.

مرحله دوازدهم: آداپتور لپ تاپ را بررسی کنید

این مرحله اغلب نادیده گرفته می شود.

بعضی لپ تاپ ها در صورت استفاده از
آداپتور نامناسب،
ضعیف،
ناسازگار
یا شناسایی نشده
می توانند Performance CPU یا GPU را محدود کنند.

Performance Impact — آداپتور می تواند روی Benchmark اثر بگذارد

اگر لپ تاپ Performance غیرعادی پایینی دارد،
قبل از نتیجه گیری درباره CPU
وضعیت آداپتور و توان ورودی دستگاه را نیز بررسی کنید.

Benchmark را روی باتری بگیریم یا آداپتور؟

برای بررسی Maximum Performance لپ تاپ،
تست معمولاً باید در شرایطی انجام شود
که دستگاه به آداپتور صحیح متصل باشد
و Power Profile مناسب انتخاب شده باشد.

بسیاری از لپ تاپ ها
هنگام استفاده از Battery
برای افزایش شارژدهی،
Performance را محدود می کنند.


Power Profile چیست؟

Power Profile
یا «پروفایل مصرف انرژی»
مجموعه ای از تنظیمات است
که تعادل میان Performance،
مصرف انرژی،
دما
و صدای فن را تعیین می کند.

مرحله سیزدهم: قبل از Benchmark پردازش های پس زمینه را بررسی کنید

Benchmark زمانی معتبرتر است
که شرایط تست تا حد ممکن کنترل شده باشد.

Windows Update،
Antivirus Scan،
نصب نرم افزار،
Indexing
یا برنامه های متعدد پس زمینه
می توانند نتیجه را تغییر دهند.


Indexing چیست؟

Indexing
یا «نمایه سازی»
فرآیندی است که سیستم
اطلاعات فایل ها یا داده ها را سازمان دهی می کند
تا جستجو و دسترسی سریع تر شود.

این فرآیند می تواند
در برخی مواقع CPU و Storage را درگیر کند.

قوانین Benchmark صحیح لپ تاپ استوک

01
مدل دقیق CPU را ثبت کنیدقبل از تست بدانید دقیقاً چه پردازنده ای را آزمایش می کنید.
02
آداپتور مناسب متصل باشدتست Performance را با منبع تغذیه صحیح انجام دهید.
03
Power Profile را بررسی کنیدحالت کم مصرف می تواند نتیجه Benchmark را کاهش دهد.
04
پردازش های غیرضروری را کنترل کنیدBackground Processها می توانند نتیجه را منحرف کنند.
05
دمای اولیه را ثبت کنیدبدانید سیستم تست را از چه وضعیت حرارتی شروع کرده است.
06
Single-Core را تست کنیدPerformance یک یا تعداد محدودی از Coreها را بررسی کنید.
07
Multi-Core را تست کنیدرفتار CPU در بار پردازشی موازی را بررسی کنید.
08
Temperature را مانیتور کنیدScore بدون اطلاعات دما تصویر کاملی ارائه نمی کند.
09
Clock را مانیتور کنیدبررسی کنید Frequency در طول تست چگونه تغییر می کند.
10
تست را تکرار کنیدفقط اولین Run را ملاک قرار ندهید.
11
Performance پایدار را ثبت کنیدRunهای پایانی معمولاً اطلاعات مهمی درباره رفتار حرارتی می دهند.
12
با دستگاه مشابه مقایسه کنیدنتیجه را با همان CPU و ترجیحاً همان مدل لپ تاپ مقایسه کنید.

Benchmark را با چه چیزی مقایسه کنیم؟

این نکته بسیار مهم است.

Score پردازنده را نباید
بدون مرجع تفسیر کرد.

ترتیب مناسب مقایسه:

  1. همان مدل لپ تاپ با همان CPU
  2. لپ تاپ های مشابه با همان CPU
  3. میانگین تقریبی همان CPU
  4. CPUهای نسل قبل و بعد
  5. رقبای هم رده
Engineering Insight — مقایسه فقط CPU کافی نیست

اگر یک CPU در لپ تاپ باریک
با همان CPU در Workstation بزرگ مقایسه شود،
تفاوت Cooling و Power Limit
می تواند نتیجه را تغییر دهد.

بنابراین بهترین مرجع
دستگاهی با طراحی مشابه است.

نشانه های هشدار هنگام تست CPU لپ تاپ استوک

نشانه علت احتمالی اقدام
مدل CPU با آگهی متفاوت است اطلاعات اشتباه یا دستگاه متفاوت خرید را متوقف و مشخصات را دوباره بررسی کنید
Core / Thread غیرمنتظره تنظیمات، Firmware یا تشخیص اشتباه مدل مشخصات رسمی و BIOS بررسی شود
Clock بسیار پایین زیر Load Power Limit، Thermal Limit یا Power Profile دما، توان و آداپتور بررسی شود
افزایش سریع دما Cooling ضعیف یا انتقال حرارت نامناسب سیستم خنک کننده بررسی شود
افت شدید Score در Runهای بعدی محدودیت حرارتی یا توان Clock، Temperature و Power مانیتور شود
فن صدای غیرعادی دارد فرسودگی، گردوغبار یا مشکل مکانیکی فن بررسی شود
Performance روی آداپتور پایین است آداپتور نامناسب یا Power Profile توان و شناسایی آداپتور بررسی شود
خاموش شدن زیر Load مشکل حرارتی، برق یا سخت افزار نیازمند بررسی جدی قبل از خرید
Restart هنگام Benchmark ناپایداری سیستم دستگاه بدون بررسی بیشتر خریداری نشود

آیا Performance پایین یعنی CPU خراب است؟

معمولاً نمی توان فقط از Performance پایین
نتیجه گرفت که خود CPU خراب است.

عوامل دیگری می توانند علت باشند:

  • دمای بالا
  • Cooling نامناسب
  • Power Limit
  • آداپتور نامناسب
  • Power Profile
  • BIOS یا Firmware
  • Background Process
  • مشکل سیستم عامل
  • تنظیمات Benchmark

تشخیص خرابی CPU
باید پس از حذف سایر عوامل انجام شود.

آیا CPU استوک به مرور زمان کند می شود؟

این سوال در خرید لپ تاپ استوک بسیار مهم است.

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

اگر CPU در شرایط صحیح کار کند،
انتظار نداریم فقط به دلیل «استوک بودن»
Performance آن به شکل قابل توجهی کمتر شود.

اما دستگاه قدیمی ممکن است
به دلایل دیگری Performance کمتری نشان دهد.

  • گردوغبار
  • مشکل فن
  • ضعف انتقال حرارت
  • تنظیمات Power
  • آداپتور نامناسب
  • مشکلات نرم افزاری

Engineering Insight — CPU استوک را با Performance واقعی قضاوت کنید، نه سن دستگاه

سن لپ تاپ به تنهایی
نمی گوید CPU سالم است یا ناسالم.

مشخصات صحیح،
Stability،
Temperature،
Clock
و Sustained Performance
معیارهای مفیدتری هستند.


Stability چیست؟

Stability
یا «پایداری»
به توانایی سیستم برای ادامه کار صحیح
بدون Crash،
Freeze،
Restart
یا خطاهای غیرعادی گفته می شود.


Crash و Freeze چیست؟

Crash
به توقف غیرمنتظره یک برنامه
یا سیستم گفته می شود.

Freeze
یا «هنگ کردن»
شرایطی است که سیستم یا برنامه
پاسخ گویی عادی خود را از دست می دهد.

چک لیست نهایی CPU قبل از خرید لپ تاپ استوک
























بعد از تست چگونه تصمیم بگیریم؟

نتیجه تفسیر تصمیم
مشخصات صحیح + Performance طبیعی + دمای مناسب وضعیت مطلوب CPU از این نظر تأیید اولیه می شود
مشخصات صحیح + دمای بالا احتمال مشکل Cooling نیازمند بررسی سیستم خنک کننده
مشخصات صحیح + Score پایین علت هنوز مشخص نیست Power، Cooling و Software بررسی شود
Score اولیه خوب + افت شدید متوالی Sustained Performance ضعیف Thermal / Power Limit بررسی شود
مشخصات با فروشنده متفاوت عدم تطابق کالا قبل از خرید موضوع روشن شود
Crash / Restart زیر Load ناپایداری دستگاه نیازمند بررسی تخصصی است

سوالات متداول بررسی CPU لپ تاپ استوک

چگونه بفهمیم CPU لپ تاپ دقیقاً چه مدلی است؟

مدل CPU را می توان از Windows،
Task Manager،
ابزارهای شناسایی سخت افزار
و در بسیاری از دستگاه ها BIOS یا UEFI بررسی کرد.
بهتر است بیش از یک منبع را با یکدیگر تطبیق دهید.

آیا اطلاعات Task Manager برای تشخیص CPU کافی است؟

برای بررسی اولیه مفید است،
اما برای ارزیابی تخصصی بهتر است
از ابزارهای سخت افزاری و مشخصات رسمی سازنده نیز استفاده شود.

آیا دمای بالا یعنی CPU خراب است؟

خیر. دمای بالا می تواند
به سیستم خنک کننده،
شرایط محیط،
تنظیمات توان
یا انتقال حرارت مربوط باشد.

آیا Thermal Throttling یعنی لپ تاپ خراب است؟

الزاماً خیر.
کنترل حرارتی بخشی از طراحی CPUهای مدرن است.
میزان، زمان و شرایط وقوع Throttling
باید بررسی شود.

چرا Benchmark اول از تست های بعدی بهتر است؟

یکی از دلایل ممکن این است
که سیستم در ابتدای تست سردتر است
و فضای حرارتی بیشتری برای Boost دارد.
بعد از گرم شدن دستگاه،
Performance ممکن است به سطح پایدار پایین تری برسد.

آیا CPU لپ تاپ استوک به دلیل کارکرد قبلی کند می شود؟

صرف استوک بودن به معنی کند شدن CPU نیست.
اما وضعیت Cooling،
Firmware،
Power و سایر اجزای دستگاه
می توانند Performance واقعی را تحت تأثیر قرار دهند.

آیا آداپتور روی سرعت CPU تأثیر دارد؟

در برخی لپ تاپ ها بله.
آداپتور نامناسب یا شناسایی نشده
می تواند باعث اعمال محدودیت توان شود.

برای تست CPU لپ تاپ باید آن را از برق جدا کنیم؟

برای بررسی Maximum Performance معمولاً خیر.
بسیاری از لپ تاپ ها روی Battery
Performance را برای کاهش مصرف انرژی محدود می کنند.

چرا دو لپ تاپ با CPU یکسان سرعت متفاوت دارند؟

Cooling، Power Limit،
Firmware، RAM، شرایط حرارتی
و طراحی خود لپ تاپ
می توانند باعث تفاوت شوند.

آیا یک Benchmark برای تست CPU کافی است؟

خیر.
بهتر است Single-Core،
Multi-Core،
دما،
Clock
و Performance پایدار بررسی شوند.

اگر Score Benchmark پایین بود دستگاه را نخریم؟

قبل از تصمیم باید علت مشخص شود.
Background Process،
حالت مصرف انرژی،
آداپتور،
دما و Power Limit
همگی می توانند نتیجه را تغییر دهند.

مهم ترین تست CPU در لپ تاپ استوک چیست؟

یک تست واحد کافی نیست.
ترکیب شناسایی مدل صحیح،
بررسی دما،
Clock،
Single-Core،
Multi-Core،
تست تکراری و Stability
تصویر بسیار دقیق تری ایجاد می کند.

اصطلاحات جدید این فصل

  • Logical Processor: مسیر پردازشی منطقی قابل مشاهده توسط سیستم عامل.
  • Stepping: بازبینی مشخصی از طراحی تراشه.
  • UEFI: رابط Firmware مدرن سیستم.
  • Firmware: نرم افزار سطح پایین کنترل سخت افزار.
  • Idle: حالت کم فعالیت سیستم.
  • Load: بار پردازشی وارد شده به سخت افزار.
  • TjMax: محدوده حداکثر دمای Junction تعریف شده برای پردازنده.
  • Thermal Throttling: کاهش Performance برای کنترل دما.
  • Burst Performance: Performance بالا در بازه کوتاه.
  • Sustained Performance: Performance قابل حفظ در پردازش طولانی.
  • Loop Test: اجرای متوالی یک تست برای بررسی رفتار پایدار.
  • Power Limit: محدودیت توان قابل استفاده پردازنده.
  • PL1 / PL2: اصطلاحات مرتبط با سطوح محدودیت توان در برخی پردازنده های Intel.
  • Heat Sink: گرماگیر سیستم خنک کننده.
  • Thermal Interface: ماده یا واسط انتقال حرارت بین قطعه و سیستم خنک کننده.
  • Vent: دریچه ورود یا خروج هوا.
  • Power Profile: مجموعه تنظیمات مدیریت توان و Performance.
  • Indexing: نمایه سازی اطلاعات برای دسترسی سریع تر.
  • Stability: توانایی سیستم برای کار پایدار بدون خطا و توقف غیرعادی.
  • Crash: توقف غیرمنتظره برنامه یا سیستم.
  • Freeze: از دست رفتن پاسخ گویی سیستم یا برنامه.

خلاصه فصل

برای ارزیابی CPU یک لپ تاپ استوک،
خواندن عبارت Core i5 یا Core i7 کافی نیست.

ابتدا مدل کامل CPU،
نسل،
پسوند،
Core و Thread
باید تأیید شوند.

سپس Performance واقعی دستگاه
در کنار Temperature،
Clock،
Power Limit
و رفتار سیستم خنک کننده بررسی می شود.

CPU Identity
→
Specification Verification
→
Temperature
→
Clock
→
Benchmark
→
Sustained Performance
→
Stability
→
Purchase Decision

مهم ترین نتیجه این فصل این است:


در خرید لپ تاپ استوک،
فقط مدل CPU را نخرید؛
وضعیت واقعی اجرای همان CPU در همان لپ تاپ را نیز بررسی کنید.


فصل 40
سطح: کاربردی / تخصصی
موضوع: مقایسه واقعی پردازنده ها
تمرکز: تصمیم گیری صحیح

دو CPU را از روی اسم مقایسه نکنید

چگونه دو CPU را واقعاً مقایسه کنیم؟ از i7 قدیمی و i5 جدید تا U در برابر H

یکی از رایج ترین اشتباهات هنگام خرید لپ تاپ،
مقایسه پردازنده ها با یک مشخصه منفرد است:
یکی i7 است، دیگری i5؛ یکی نسل بالاتری دارد؛
دیگری فرکانس بیشتری دارد؛ یا یکی تعداد هسته بیشتری ارائه می دهد.

هیچ کدام از این اطلاعات به تنهایی
برای تعیین پردازنده بهتر کافی نیستند.

مقایسه واقعی CPU یک مسئله چندمتغیره است.
معماری، نسل، تعداد هسته، نوع هسته،
Thread، IPC، فرکانس، Cache،
کلاس توان، محدودیت حرارتی، نوع حافظه،
Workload و حتی خود لپ تاپ
می توانند نتیجه را تغییر دهند.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا نام Core i3، i5، i7 و i9 معیار مطلق Performance نیست.
  • چگونه نسل قبل و بعد یک CPU را مقایسه کنیم.
  • چگونه پسوندهای مختلف را در مقایسه لحاظ کنیم.
  • چرا مقایسه U و H فقط با نام Core اشتباه است.
  • چگونه IPC و Clock را هم زمان بررسی کنیم.
  • Core بیشتر بهتر است یا Core سریع تر؟
  • Single-Core و Multi-Core چه زمانی مهم هستند.
  • چگونه Cache می تواند نتیجه مقایسه را تغییر دهد.
  • چگونه Intel و AMD را بدون تعصب برند مقایسه کنیم.
  • چرا Benchmark واحد برای تصمیم گیری کافی نیست.
  • چرا همان CPU در دو لپ تاپ می تواند Performance متفاوتی داشته باشد.
  • چگونه قیمت را وارد مقایسه کنیم.
  • چگونه عمر مفید کاربردی یک CPU را تخمین بزنیم.
  • چگونه یک جدول مقایسه حرفه ای CPU بسازیم.

قانون طلایی مقایسه CPU

Under the Hood — CPU بهتر بدون مشخص کردن Workload معنی ندارد

وقتی می پرسیم:
«CPU A بهتر است یا CPU B؟»
یک بخش مهم سوال هنوز مشخص نشده است.

Better For What?

بهتر برای چه کاری؟

ممکن است یک پردازنده در Single-Core سریع تر باشد،
دیگری در Multi-Core،
یکی مصرف انرژی کمتری داشته باشد
و دیگری Performance پایدار بیشتری ارائه کند.

CPU Comparison
=
CPU A
vs
CPU B
+
Workload
+
Laptop
+
Price

مدل جامع مقایسه دو CPU

برای مقایسه حرفه ای دو پردازنده
بهتر است این متغیرها را بررسی کنیم:

عامل چه چیزی را نشان می دهد؟ اهمیت
Architecture طراحی داخلی پردازنده بسیار بالا
Generation دوره و خانواده فناوری بالا
Core منابع پردازشی فیزیکی وابسته به Workload
Thread ظرفیت اجرای Threadها وابسته به Workload
IPC کار انجام شده در هر Clock بسیار بالا
Clock نرخ چرخه های پردازنده مهم، اما نه مستقل
Cache حافظه سریع نزدیک Coreها وابسته به Workload
Power Class محدوده طراحی توان و کاربرد بسیار مهم در لپ تاپ
Memory نوع و سرعت حافظه قابل پشتیبانی متوسط تا بالا
iGPU توان و قابلیت گرافیک مجتمع وابسته به سیستم
Media Engine قابلیت های پردازش رسانه مهم برای ویدئو
Cooling توان حفظ Performance بسیار مهم
Benchmark Performance اندازه گیری شده بسیار مهم
Price هزینه دستیابی به Performance مهم در خرید

آیا Core i7 همیشه از Core i5 سریع تر است؟

خیر.

Core i5 و Core i7
نام رده های محصول هستند.
این نام ها را باید در Context
همان نسل و همان خانواده بررسی کرد.


Product Tier چیست؟

Product Tier
یا «رده محصول»
جایگاه یک محصول را
در خانواده مشخصی از محصولات نشان می دهد.

برای مثال i5 و i7
در بسیاری از نسل های Intel
نشان دهنده دو رده متفاوت هستند؛
اما این رده بندی به معنی
برتری مطلق تمام i7ها نسبت به تمام i5ها نیست.

Common Mistake — چون i7 عدد بزرگ تری دارد، پس همیشه سریع تر است

این مقایسه زمانی می تواند معنی بیشتری داشته باشد
که پردازنده ها متعلق به
نسل، کلاس توان و خانواده مشابه باشند.

مقایسه یک i7 کم مصرف قدیمی
با یک i5 Performance محور جدید
فقط بر اساس عبارت i5 و i7
تقریباً فاقد ارزش فنی است.

سناریوی اول: Core i7 قدیمی در برابر Core i5 جدید

این یکی از رایج ترین مقایسه ها
در بازار لپ تاپ استوک است.

خریدار ممکن است بین دو دستگاه قرار بگیرد:

Older Core i7
vs
Newer Core i5

اولین واکنش نباید این باشد که
«i7 بهتر است»
یا
«نسل جدیدتر بهتر است».

ابتدا باید بررسی کنیم:

  • اختلاف معماری چقدر است؟
  • IPC کدام بیشتر است؟
  • تعداد Core و Thread چقدر است؟
  • هر CPU متعلق به چه کلاس توانی است؟
  • Single-Core Performance کدام بهتر است؟
  • Multi-Core Performance کدام بهتر است؟
  • مصرف انرژی چگونه است؟
  • گرافیک مجتمع چه تفاوتی دارد؟
  • پشتیبانی حافظه چه تفاوتی دارد؟
  • قیمت دو لپ تاپ چقدر متفاوت است؟

مثال آموزشی: i7-8650U در برابر i5-1135G7

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

ویژگی Core i7-8650U Core i5-1135G7
نسل / دوره نسل 8 نسل 11
معماری CPU قدیمی تر جدیدتر
Core / Thread 4 / 8 4 / 8
کلاس کلی Mobile Low Power Mobile Power-Efficient
IPC پایین تر نسبت به معماری جدیدتر بهبود یافته
گرافیک مجتمع نسل قدیمی تر به مراتب جدیدتر
قابلیت های پلتفرم قدیمی تر جدیدتر
Engineering Insight — چهار Core در برابر چهار Core مساوی نیست

اگر تعداد Core و Thread دو CPU یکسان باشد،
هنوز نمی توان نتیجه گرفت Performance آنها یکسان است.

معماری،
IPC،
Clock،
Cache،
Memory Subsystem
و محدودیت توان
می توانند تفاوت قابل توجهی ایجاد کنند.


Memory Subsystem چیست؟

Memory Subsystem
یا «زیرسیستم حافظه»
مجموعه بخش هایی است که
ارتباط CPU با حافظه را مدیریت می کنند.

کنترلر حافظه،
Cacheها،
نوع RAM،
سرعت حافظه
و پهنای باند
از عوامل مرتبط با این زیرسیستم هستند.

سناریوی دوم: نسل قبل در برابر نسل بعد

افزایش یک نسل
همیشه به معنی جهش بزرگ Performance نیست.

در بعضی نسل ها تغییرات محدودتر هستند،
اما در برخی انتقال های معماری
تغییرات بسیار مهمی اتفاق می افتد.

هنگام مقایسه نسل قبل و بعد بررسی کنید:

  • آیا Architecture تغییر کرده است؟
  • IPC چقدر تغییر کرده است؟
  • Core Count تغییر کرده است؟
  • نوع Coreها تغییر کرده است؟
  • Cache تغییر کرده است؟
  • Memory Support تغییر کرده است؟
  • iGPU تغییر کرده است؟
  • Media Engine تغییر کرده است؟
  • Efficiency بهتر شده است؟


Generational Uplift چیست؟

Generational Uplift
را می توان
«میزان بهبود عملکرد نسبت به نسل قبل»
ترجمه کرد.

این بهبود ممکن است
در Single-Core،
Multi-Core،
Efficiency،
گرافیک،
پردازش رسانه
یا مجموعه ای از آنها دیده شود.

Performance Impact — همیشه نسل قبل و بعد را هم ببینید

هنگام بررسی یک CPU،
فقط همان مدل را مطالعه نکنید.

مدل مشابه از نسل قبل
و مدل مشابه از نسل بعد را نیز بررسی کنید.

Previous Generation
←
Target CPU
→
Next Generation

این کار مشخص می کند
CPU مورد نظر در مسیر پیشرفت فناوری
دقیقاً در چه نقطه ای قرار گرفته است.

سناریوی سوم: پردازنده سری U در برابر سری H

مقایسه U و H
بدون در نظر گرفتن هدف طراحی آنها
می تواند بسیار گمراه کننده باشد.

به صورت کلی،
پردازنده های U بیشتر برای
مصرف انرژی کمتر و لپ تاپ های قابل حمل طراحی می شوند،
در حالی که خانواده های H
معمولاً Performance بالاتری را هدف می گیرند.

اما این یک قانون برای اعلام برنده مطلق نیست.
نسل و مدل دقیق همچنان اهمیت دارند.

معیار U Series H Series
هدف اصلی Efficiency و Mobility Performance
مصرف انرژی معمولاً کمتر معمولاً بیشتر
Cooling مورد نیاز معمولاً سبک تر معمولاً قوی تر
Multi-Core Performance وابسته به مدل اغلب بالاتر در مدل هم دوره
شارژدهی معمولاً اولویت بالاتر Performance اولویت بالاتر
کاربری اداری، عمومی، قابل حمل مهندسی، تولید محتوا، Workload سنگین

سری U جدید در برابر سری H قدیمی

اینجا مقایسه جالب تر می شود.

نمی توان گفت چون یک CPU پسوند H دارد،
همیشه از هر CPU سری U سریع تر است.

چند نسل پیشرفت معماری می تواند
بخشی از اختلاف کلاس توان را جبران کند
یا در بعضی Workloadها حتی نتیجه را تغییر دهد.

بنابراین باید Performance واقعی
بررسی شود.

سناریوی چهارم: IPC بیشتر یا Clock بیشتر؟

مقایسه Frequency
بدون توجه به IPC
یکی از اشتباهات قدیمی در مقایسه CPU است.

Under the Hood — Performance فقط GHz نیست

یک مدل ساده مفهومی:

CPU Performance
≈
IPC
×
Effective Clock

این رابطه یک مدل آموزشی ساده شده است
و Performance واقعی
به عوامل بیشتری وابسته است.

اما نشان می دهد چرا
CPU جدیدتر با Clock کمتر
می تواند از CPU قدیمی با Clock بالاتر سریع تر باشد.


Effective Clock چیست؟

Effective Clock
یا «فرکانس مؤثر»
در Context مانیتورینگ Performance
به نرخی اشاره می کند
که بهتر نشان می دهد Core
در عمل چه مقدار فعالیت پردازشی مؤثر داشته است.

این مفهوم می تواند
با Clock لحظه ای گزارش شده
تفاوت داشته باشد.

سناریوی پنجم: Core بیشتر یا Core سریع تر؟

پاسخ کاملاً به Workload وابسته است.

Workload اولویت معمول
Office Core سریع و Responsiveness مناسب
AutoCAD Interactive Single-Core قوی
Revit Modeling Single-Core قوی
CPU Rendering Core / Thread بیشتر + Performance هر Core
Compilation وابسته به Build؛ اغلب Multi-Core مفید است
Virtual Machine Core / Thread بیشتر
Gaming ترکیب Single-Core و تعداد Core کافی


Parallelism چیست؟

Parallelism
یا «پردازش موازی»
یعنی امکان انجام چند بخش از یک کار
به صورت هم زمان.

هرچه یک Workload قابلیت Parallelism بیشتری داشته باشد،
امکان استفاده مؤثر از Coreهای بیشتر
نیز افزایش پیدا می کند.


Scaling چیست؟

Scaling
در این Context
به میزان افزایش Performance
با اضافه شدن منابع پردازشی گفته می شود.

اگر نرم افزار با افزایش تعداد Core
Performance بیشتری به دست آورد،
می گوییم Multi-Core Scaling مناسبی دارد.

آیا دو برابر شدن Core یعنی دو برابر شدن سرعت؟

معمولاً خیر.

اگر پردازنده ای از 4 Core
به 8 Core برسد،
الزاماً Performance تمام نرم افزارها
دو برابر نمی شود.

دلایل مختلفی وجود دارد:

  • همه بخش های برنامه قابل موازی سازی نیستند.
  • Threadها نیاز به هماهنگی دارند.
  • Memory Bandwidth محدود است.
  • Cache می تواند محدودیت ایجاد کند.
  • Power Limit افزایش می یابد.
  • Clock هر Core ممکن است کاهش یابد.


Linear Scaling چیست؟

Linear Scaling
یا «مقیاس پذیری خطی»
حالتی ایده آل است که
افزایش منابع پردازشی
به همان نسبت Performance را افزایش دهد.

برای مثال در حالت کاملاً خطی،
دو برابر شدن منابع
باید Performance را دو برابر کند.

در سیستم های واقعی
چنین رفتاری معمولاً به طور کامل اتفاق نمی افتد.

قانون آمدال؛ چرا Core بیشتر همیشه معجزه نمی کند؟


Amdahl’s Law چیست؟

Amdahl’s Law
یا «قانون آمدال»
یک اصل مهم در محاسبات موازی است.

این قانون نشان می دهد
بخشی از برنامه که قابل موازی سازی نیست
می تواند سقفی برای افزایش Performance
با اضافه کردن پردازنده یا Core بیشتر ایجاد کند.

Under the Hood — یک مثال ساده از قانون آمدال

فرض کنید بخشی از یک برنامه
فقط روی یک Thread قابل اجرا باشد.

حتی اگر تعداد Coreها را بسیار زیاد کنیم،
آن قسمت سریال همچنان باید
به ترتیب اجرا شود.

Parallel Part
→
Faster With More Cores

Serial Part
→
Remains A Bottleneck


Serial Processing چیست؟

Serial Processing
یا «پردازش ترتیبی»
به اجرای عملیات به صورت متوالی گفته می شود؛
یعنی یک بخش باید پیش از بخش بعدی انجام شود.

سناریوی ششم: Cache بیشتر یعنی CPU سریع تر؟

نه به صورت مطلق.

Cache بیشتر می تواند
در برخی Workloadها مفید باشد،
اما Performance به معماری Cache،
Latency،
Bandwidth،
الگوی دسترسی برنامه
و سایر عوامل نیز وابسته است.

بنابراین:

More Cache
≠
Automatically Faster CPU

سناریوی هفتم: Intel در برابر AMD

سوال
«Intel بهتر است یا AMD؟»
بدون تعیین مدل و Workload
سوال دقیقی نیست.

مقایسه صحیح باید میان
دو پردازنده مشخص انجام شود.

Specific Intel CPU
vs
Specific AMD CPU

سپس باید موارد زیر بررسی شوند:

  • Single-Core Performance
  • Multi-Core Performance
  • Efficiency
  • Integrated Graphics
  • Memory Support
  • Media Capabilities
  • Software Compatibility
  • Battery Life
  • Thermal Behavior
  • Price

Common Mistake — انتخاب CPU بر اساس تعصب برند

Performance پردازنده ها
در نسل های مختلف تغییر می کند.

برندی که در یک نسل
در Workload مشخصی برتری دارد،
الزاماً در نسل دیگر
یا Workload دیگری برنده نیست.

مقایسه باید Model-to-Model
و Workload-to-Workload باشد.


Model-to-Model Comparison چیست؟

یعنی به جای مقایسه کلی دو برند یا خانواده،
دو مدل مشخص پردازنده
مستقیماً با یکدیگر مقایسه شوند.

سناریوی هشتم: مقایسه CPUهای Hybrid با پردازنده های سنتی

با ورود معماری های Hybrid،
مقایسه فقط بر اساس تعداد Core
دشوارتر شده است.

برای مثال:

8 Cores
vs
10 Cores

اگر نوع Coreها متفاوت باشد،
این دو عدد اطلاعات کافی ارائه نمی کنند.

باید بدانیم:

  • چند Performance Core وجود دارد؟
  • چند Efficiency Core وجود دارد؟
  • کدام Coreها SMT یا Thread اضافی دارند؟
  • Scheduler چگونه Workload را توزیع می کند؟
  • نرم افزار چگونه از معماری Hybrid استفاده می کند؟


Scheduler چیست؟

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است
که تصمیم می گیرد
Threadهای نرم افزار
چه زمانی و روی کدام منابع پردازشی اجرا شوند.

سناریوی نهم: CPU یکسان در دو لپ تاپ متفاوت

فرض کنید دو لپ تاپ
دقیقاً یک CPU دارند.

آیا Performance آنها حتماً یکسان است؟

خیر.

عواملی مانند:

  • Cooling
  • Power Limit
  • Firmware
  • Memory Configuration
  • Power Profile
  • Chassis Design

می توانند نتیجه را تغییر دهند.


Chassis چیست؟

Chassis
در این Context
به ساختار و بدنه اصلی دستگاه گفته می شود
که قطعات سخت افزاری
و سیستم خنک کننده در آن قرار می گیرند.

اندازه و طراحی Chassis
می تواند روی ظرفیت Cooling
و Performance پایدار اثر بگذارد.

RAM چگونه مقایسه CPU را تغییر می دهد؟

اگر دو لپ تاپ با CPU یکسان
Memory Configuration متفاوت داشته باشند،
Benchmark آنها ممکن است متفاوت باشد.

عواملی مانند:

  • Single Channel / Dual Channel
  • Memory Frequency
  • Memory Timing
  • Memory Capacity

می توانند روی Performance اثر بگذارند.


Memory Timing چیست؟

Memory Timing
مجموعه زمان بندی هایی است
که مشخص می کند حافظه
برای انجام عملیات مختلف
به چند چرخه نیاز دارد.

Timing کمتر در شرایط قابل مقایسه
می تواند به Latency کمتر کمک کند،
اما Performance حافظه
فقط با یک Timing تعیین نمی شود.

سناریوی دهم: کدام Benchmark را ملاک قرار دهیم؟

هیچ Benchmark واحدی
پاسخ تمام سوال ها را نمی دهد.

Benchmarkها باید
متناسب با Workload انتخاب شوند.

نوع Benchmark چه چیزی را بهتر نشان می دهد؟
Single-Core Performance یک یا تعداد محدود Coreها
Multi-Core Performance پردازش موازی
Rendering توان CPU در رندر محاسباتی
Compression فشرده سازی و بازکردن داده
Compilation Build و کامپایل پروژه
Browser Workloadهای وب و JavaScript
Application Benchmark Performance در نرم افزار واقعی


Application Benchmark چیست؟

Application Benchmark
آزمونی است که Performance
را در یک نرم افزار واقعی
یا Workload نزدیک به استفاده واقعی اندازه گیری می کند.

برای تصمیم خرید،
این نوع Benchmark در بسیاری از موارد
از یک تست مصنوعی عمومی کاربردی تر است.


Synthetic Benchmark چیست؟

Synthetic Benchmark
یا «بنچمارک مصنوعی»
آزمونی طراحی شده برای اندازه گیری
بخش یا الگوی مشخصی از Performance سخت افزار است.

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

Engineering Insight — Benchmark باید به سوال شما پاسخ دهد

اگر لپ تاپ را برای Revit می خواهید،
Benchmark مرتبط با Workloadهای Revit
از یک Score عمومی CPU برای شما ارزش بیشتری دارد.

اگر هدف Rendering است،
زمان رندر می تواند
از امتیاز یک تست عمومی مهم تر باشد.

معیار باید با کاربرد واقعی
ارتباط داشته باشد.

اختلاف درصد Performance را چگونه تفسیر کنیم؟

فرض کنید CPU A
در یک Workload امتیاز 100
و CPU B امتیاز 120 کسب کند.

CPU B در آن تست
حدود 20 درصد Performance بیشتری نشان داده است.

اما سوال بعدی مهم تر است:


برای این 20 درصد افزایش Performance
چقدر هزینه بیشتری پرداخت می کنیم؟

Diminishing Returns؛ جایی که CPU گران تر دیگر ارزش خرید ندارد


Diminishing Returns چیست؟

Diminishing Returns
را می توان
«بازده نزولی»
ترجمه کرد.

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

Under the Hood — مثال اقتصادی

فرض کنید:

Laptop A = 100 Performance Units

Laptop B = 115 Performance Units

اما Laptop B
چهل درصد گران تر باشد.

در این حالت باید بررسی کرد
آیا 15 درصد Performance بیشتر
واقعاً برای Workload شما
ارزش 40 درصد هزینه بیشتر را دارد یا خیر.

Performance-per-Cost؛ معیار مهم بازار استوک


Performance-per-Cost چیست؟

Performance-per-Cost
یا «عملکرد به ازای هزینه»
نشان می دهد در برابر پول پرداخت شده
چه مقدار Performance دریافت می کنیم.

این معیار در بازار لپ تاپ استوک
اهمیت بسیار زیادی دارد،
زیرا دستگاه های نسل های مختلف
با قیمت های متفاوت
هم زمان در دسترس هستند.

Future-Proofing؛ آیا CPU قوی تر برای آینده بخریم؟


Future-Proofing چیست؟

Future-Proofing
در خرید سخت افزار
به انتخاب سیستمی گفته می شود
که بتواند نیازهای آینده کاربر
را برای مدت بیشتری پاسخ دهد.

داشتن مقداری Performance اضافه
می تواند منطقی باشد،
اما خرید بسیار بالاتر از نیاز فعلی
همیشه تصمیم اقتصادی مناسبی نیست.

فناوری تغییر می کند
و بودجه ای که امروز
برای Performance بلااستفاده پرداخت می شود
ممکن است در RAM، GPU، SSD
یا کیفیت دستگاه ارزش بیشتری ایجاد کند.


Performance Headroom چیست؟

Performance Headroom
یا «حاشیه عملکرد»
مقدار توان پردازشی اضافه ای است
که فراتر از نیاز فعلی کاربر وجود دارد.

داشتن Headroom معقول
می تواند برای افزایش نیازهای آینده مفید باشد.

چگونه عمر مفید کاربردی CPU را تخمین بزنیم؟

منظور از عمر مفید در اینجا
عمر فیزیکی ترانزیستور نیست.

منظور مدت زمانی است
که CPU هنوز Performance و قابلیت های کافی
برای نیاز کاربر ارائه می کند.

برای تخمین آن بررسی کنید:

  • Performance فعلی نسبت به نیاز شما
  • Performance Headroom
  • تعداد Core و Thread
  • قابلیت های Instruction Set
  • پشتیبانی سیستم عامل
  • Memory Platform
  • Media Capabilities
  • روند افزایش نیاز نرم افزارهای اصلی شما

Performance Impact — Performance تنها عامل عمر کاربردی نیست

یک CPU ممکن است هنوز سریع باشد،
اما محدودیت Platform،
سیستم عامل،
قابلیت های رسانه ای
یا فناوری های مورد نیاز نرم افزار
عمر کاربردی دستگاه را کاهش دهد.

روش 12 مرحله ای مقایسه دو CPU

01
مدل کامل هر دو CPU را بنویسیدنام ناقص مانند Core i7 قابل قبول نیست.
02
نسل هر دو را مشخص کنیدفاصله نسلی و تغییر معماری را بررسی کنید.
03
پسوندها را مقایسه کنیدمطمئن شوید CPUها متعلق به چه کلاس کاری هستند.
04
معماری را بررسی کنیدنسل معماری می تواند از نام تجاری مهم تر باشد.
05
Core و Thread را بررسی کنیددر معماری Hybrid نوع Coreها را نیز مشخص کنید.
06
Single-Core Performance را مقایسه کنیدبرای Workloadهای تعاملی اهمیت زیادی دارد.
07
Multi-Core Performance را مقایسه کنیدبرای Workloadهای موازی و سنگین مهم است.
08
Memory و Platform را مقایسه کنیدCPU بخشی از یک سیستم کامل است.
09
GPU و Media Engine را بررسی کنیدبه ویژه اگر گرافیک مجزا وجود ندارد یا تدوین انجام می دهید.
10
Benchmark مرتبط با کاربری را بررسی کنیدفقط Score عمومی را ملاک قرار ندهید.
11
خود لپ تاپ را مقایسه کنیدCooling، RAM، Power Limit و طراحی دستگاه را در نظر بگیرید.
12
اختلاف Performance را با اختلاف قیمت مقایسه کنیدبرنده Benchmark الزاماً برنده خرید نیست.

جدول نهایی مقایسه CPU

معیار CPU A CPU B برنده
Generation … … …
Architecture … … …
Power Class … … وابسته به نیاز
Core / Thread … … …
Single-Core … … …
Multi-Core … … …
Efficiency … … …
iGPU … … …
Memory Support … … …
Media Engine … … …
Sustained Performance … … …
Workload Performance … … …
Laptop Quality … … …
Price … … …
Performance-per-Cost … … …

Common Mistakes — اشتباهات رایج در مقایسه CPU
  • مقایسه فقط بر اساس i5 و i7.
  • مقایسه فقط بر اساس نسل.
  • مقایسه فقط بر اساس GHz.
  • فرض اینکه Core بیشتر همیشه بهتر است.
  • فرض اینکه Cache بیشتر همیشه سریع تر است.
  • نادیده گرفتن پسوند CPU.
  • مقایسه U و H بدون توجه به کلاس توان.
  • مقایسه CPU دسکتاپ و لپ تاپ فقط از روی نام.
  • نادیده گرفتن معماری Hybrid.
  • نادیده گرفتن نوع Coreها.
  • مقایسه Intel و AMD بر اساس برند به جای مدل.
  • استفاده از فقط یک Benchmark.
  • نادیده گرفتن Workload واقعی.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن RAM و Memory Configuration.
  • نادیده گرفتن Performance پایدار.
  • انتخاب برنده Benchmark بدون بررسی قیمت.

سوالات متداول مقایسه پردازنده ها

آیا Core i7 همیشه از Core i5 بهتر است؟

خیر. نسل، معماری، مدل،
پسوند، تعداد Core و Workload
باید مشخص شوند.

i5 جدید بهتر است یا i7 قدیمی؟

پاسخ به مدل دقیق بستگی دارد.
i5 جدید می تواند در برخی یا حتی بسیاری از Workloadها
از i7 قدیمی سریع تر باشد،
اما مقایسه باید مدل به مدل انجام شود.

آیا نسل بالاتر همیشه سریع تر است؟

خیر. نسل جدیدتر معمولاً پیشرفت هایی دارد،
اما کلاس CPU و مدل دقیق
می توانند نتیجه را تغییر دهند.

سری H همیشه از U سریع تر است؟

در مدل های هم دوره،
H معمولاً برای Performance بالاتر طراحی می شود؛
اما اختلاف نسل و معماری
می تواند مقایسه را تغییر دهد.

GHz بیشتر یعنی CPU سریع تر؟

خیر.
IPC، معماری، Cache،
Workload و عوامل دیگر نیز اهمیت دارند.

Core بیشتر بهتر است؟

فقط اگر Workload بتواند
از Coreهای اضافه استفاده کند.
نرم افزارهای Single-Threaded
ممکن است سود کمی از Core بیشتر ببرند.

Intel بهتر است یا AMD؟

مقایسه برند به برند پاسخ دقیقی ندارد.
باید مدل مشخص Intel
با مدل مشخص AMD
برای Workload مورد نظر مقایسه شود.

برای مقایسه CPU کدام Benchmark بهتر است؟

Benchmark مرتبط با Workload شما
ارزش بیشتری دارد.
بهتر است چند نوع تست
و در صورت امکان نرم افزار واقعی بررسی شود.

چرا دو لپ تاپ با CPU یکسان سرعت متفاوت دارند؟

Cooling،
Power Limit،
RAM،
Firmware
و طراحی دستگاه
می توانند Performance واقعی را تغییر دهند.

چقدر Performance بیشتر ارزش پرداخت دارد؟

عدد ثابت وجود ندارد.
اهمیت زمان پردازش برای کاربر،
بودجه و Workload تعیین می کند
افزایش Performance چه ارزشی دارد.

آیا برای آینده باید قوی ترین CPU ممکن را بخرم؟

الزاماً خیر.
Performance Headroom معقول مفید است،
اما پرداخت هزینه بسیار زیاد
برای توان بلااستفاده همیشه منطقی نیست.

برای خرید لپ تاپ استوک مهم ترین معیار مقایسه CPU چیست؟

یک معیار واحد وجود ندارد.
Workload،
Performance واقعی،
نسل،
کلاس توان،
وضعیت لپ تاپ
و قیمت باید با هم بررسی شوند.

اصطلاحات جدید این فصل

  • Product Tier: رده یک محصول در خانواده مشخص.
  • Memory Subsystem: مجموعه اجزای مرتبط با ارتباط CPU و حافظه.
  • Generational Uplift: میزان پیشرفت نسبت به نسل قبلی.
  • Effective Clock: فرکانسی که فعالیت پردازشی مؤثر Core را بهتر توصیف می کند.
  • Parallelism: اجرای هم زمان بخش های مختلف یک کار.
  • Scaling: میزان افزایش Performance با افزایش منابع.
  • Linear Scaling: افزایش Performance متناسب با افزایش منابع.
  • Amdahl’s Law: اصل محدود شدن شتاب پردازش موازی توسط بخش غیرقابل موازی سازی.
  • Serial Processing: اجرای ترتیبی عملیات.
  • Model-to-Model: مقایسه مستقیم دو مدل مشخص.
  • Scheduler: زمان بند سیستم عامل برای تخصیص Threadها به منابع پردازشی.
  • Chassis: ساختار اصلی بدنه دستگاه.
  • Memory Timing: زمان بندی عملیات حافظه.
  • Application Benchmark: سنجش Performance با نرم افزار یا Workload واقعی.
  • Synthetic Benchmark: تست مصنوعی طراحی شده برای اندازه گیری Performance.
  • Diminishing Returns: بازده نزولی افزایش هزینه نسبت به افزایش Performance.
  • Performance-per-Cost: مقدار عملکرد دریافتی در برابر هزینه.
  • Future-Proofing: انتخاب سخت افزار با هدف پاسخ گویی بهتر به نیازهای آینده.
  • Performance Headroom: ظرفیت عملکرد اضافه نسبت به نیاز فعلی.

خلاصه فصل

هیچ CPUای را نمی توان
فقط با i5، i7، نسل،
GHz یا تعداد Core
به درستی قضاوت کرد.

مقایسه صحیح باید چندبعدی باشد:

Architecture
+
Generation
+
Core Type
+
Core / Thread
+
IPC
+
Clock
+
Cache
+
Power
+
Memory
+
Cooling
+
Workload
+
Price

سپس Performance واقعی
باید با Benchmark مرتبط
با کاربرد مورد نظر بررسی شود.

در بازار لپ تاپ استوک
یک متغیر دیگر نیز اهمیت ویژه ای دارد:
قیمت.

پردازنده ای که 10 درصد کندتر
اما به شکل قابل توجهی ارزان تر است،
ممکن است برای یک کاربر
خرید بسیار منطقی تری باشد.

بنابراین سوال نهایی نباید فقط این باشد:

Which CPU Is Faster?

سوال حرفه ای تر این است:

Which CPU Gives Me
The Right Performance
For My Workload
At The Right Cost?

یعنی:

کدام پردازنده، برای کار واقعی من،
عملکرد مناسب تری را با هزینه منطقی تری ارائه می کند؟


فصل 41
سطح: کاربردی / تخصصی
موضوع: تشخیص گلوگاه سیستم
تمرکز: CPU، GPU، RAM، Storage و دما

وقتی سیستم کند است، مقصر الزاماً CPU نیست

Bottleneck چیست؟ راهنمای جامع تشخیص گلوگاه CPU، GPU، RAM، SSD و سیستم خنک کننده

یکی از رایج ترین اشتباهات در عیب یابی Performance این است
که هر کندی سیستم را به CPU نسبت دهیم.
در حالی که یک پردازنده قدرتمند نیز ممکن است
به دلیل محدودیت GPU، RAM، Storage، دما، توان
یا حتی خود نرم افزار نتواند Performance مورد انتظار را ارائه کند.

برای تشخیص صحیح باید سیستم را
به عنوان مجموعه ای از اجزای وابسته به یکدیگر بررسی کنیم.
سرعت نهایی یک Workload فقط به سریع ترین قطعه وابسته نیست؛
بخشی که در آن شرایط زودتر به محدودیت می رسد
می تواند سرعت کل فرآیند را تعیین کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Bottleneck دقیقاً چیست.
  • چرا هر سیستم در شرایطی می تواند Bottleneck داشته باشد.
  • چرا Bottleneck یک ویژگی ثابت سخت افزار نیست.
  • CPU Bottleneck چیست.
  • GPU Bottleneck چیست.
  • Memory Bottleneck چیست.
  • Storage Bottleneck چیست.
  • Thermal Bottleneck چیست.
  • Power Bottleneck چیست.
  • VRAM Bottleneck چیست.
  • Software Bottleneck چیست.
  • چگونه با Utilization گلوگاه را پیدا کنیم.
  • چرا 100 درصد نبودن CPU به معنی نبود CPU Bottleneck نیست.
  • چگونه Bottleneck تک هسته ای را تشخیص دهیم.
  • Frame Time چه اطلاعاتی درباره Gaming می دهد.
  • چگونه گلوگاه را در نرم افزارهای مهندسی تشخیص دهیم.
  • چگونه یک درخت تشخیص Bottleneck بسازیم.

Bottleneck چیست؟


معنی Bottleneck

Bottleneck
در فارسی معمولاً «گلوگاه» ترجمه می شود.

در Performance کامپیوتر،
گلوگاه به بخشی از سیستم گفته می شود
که در یک Workload مشخص
ظرفیت آن زودتر از سایر بخش ها به محدودیت می رسد
و در نتیجه مانع افزایش بیشتر Performance می شود.

Under the Hood — چرا به آن Bottleneck می گوییم؟

بطری ممکن است بدنه بزرگی داشته باشد،
اما سرعت خروج مایع
تا حد زیادی توسط قسمت باریک گردن بطری محدود می شود.

در سیستم کامپیوتری نیز ممکن است
چند قطعه بسیار سریع داشته باشیم،
اما یک بخش محدودتر
سرعت کل فرآیند را کاهش دهد.

Fast CPU
+
Fast RAM
+
Slow Storage
→
Storage-Limited Workload

نکته بنیادی: Bottleneck یک ویژگی ثابت سیستم نیست

نمی توان درباره یک لپ تاپ گفت:
«این سیستم همیشه CPU Bottleneck دارد»
بدون اینکه Workload مشخص شود.

همان دستگاه ممکن است:

  • در یک بازی GPU-Limited باشد.
  • در یک نرم افزار مهندسی CPU-Limited باشد.
  • در باز کردن پروژه بزرگ RAM-Limited باشد.
  • هنگام انتقال فایل Storage-Limited باشد.
  • پس از چند دقیقه پردازش Thermal-Limited شود.
Engineering Insight — Bottleneck متعلق به Workload است، نه فقط دستگاه

Bottleneck
=
Hardware
+
Software
+
Workload
+
Settings
+
Time

حتی تغییر تنظیمات یک نرم افزار
می تواند گلوگاه را
از یک قطعه به قطعه دیگر منتقل کند.

CPU Bottleneck چیست؟

CPU Bottleneck زمانی رخ می دهد
که Performance پردازنده
عامل محدود کننده اصلی
در Workload مورد نظر باشد.

در این حالت افزایش توان سایر قطعات
الزاماً افزایش قابل توجهی در Performance ایجاد نمی کند،
زیرا CPU نمی تواند داده یا دستور لازم را
با سرعت بیشتری پردازش کند.

نمونه های احتمالی:

  • بازی با نرخ فریم بسیار بالا
  • بعضی عملیات CAD
  • بعضی مراحل Modeling
  • محاسبات Single-Threaded
  • Simulationهای وابسته به CPU
  • Compilation
  • پردازش داده
  • بعضی Workloadهای مرورگر

آیا CPU باید 100 درصد باشد تا CPU Bottleneck داشته باشیم؟

خیر.

این یکی از مهم ترین نکات این فصل است.

فرض کنید یک CPU هشت Core دارد،
اما نرم افزار مورد نظر
عمدتاً از یک Core استفاده می کند.

یک Core می تواند تقریباً کاملاً اشباع شده باشد،
در حالی که Utilization کلی CPU
بسیار پایین تر از 100 درصد نمایش داده شود.


Utilization چیست؟

Utilization
یا «میزان استفاده»
نشان می دهد چه مقدار از ظرفیت یک منبع
در یک بازه زمانی مورد استفاده قرار گرفته است.

CPU Utilization کلی
معمولاً ترکیبی از فعالیت تمام
Logical Processorها را نشان می دهد.

Under the Hood — گلوگاه پنهان یک Core

فرض کنید CPU دارای 8 Core باشد.

اگر Workload عمدتاً
روی یک Core اجرا شود:

Core 1 = 100%

Core 2–8 = Low Usage

CPU Usage کلی ممکن است
بسیار کمتر از 100 درصد باشد،
اما همان Thread اصلی
دیگر ظرفیت بیشتری ندارد.

بنابراین:

Total CPU Usage < 100%
≠
No CPU Bottleneck


Main Thread چیست؟

Main Thread
یا «رشته اصلی»
Thread مهمی در یک برنامه است
که بخشی از منطق اصلی اجرای نرم افزار
روی آن انجام می شود.

اگر Main Thread به محدودیت Performance برسد،
اضافه بودن ظرفیت روی Coreهای دیگر
همیشه نمی تواند مشکل را حل کند.

GPU Bottleneck چیست؟

GPU Bottleneck زمانی رخ می دهد
که پردازنده گرافیکی
عامل اصلی محدود کننده Performance باشد.

این وضعیت در Gaming،
Rendering گرافیکی،
AI،
بعضی عملیات تدوین
و Workloadهای شتاب گرفته با GPU
رایج است.

یک نشانه احتمالی:

GPU Utilization ≈ Very High

در حالی که CPU هنوز
ظرفیت پردازشی قابل توجهی دارد.

اما Utilization بالا به تنهایی
برای تشخیص قطعی کافی نیست.


GPU-Bound چیست؟

GPU-Bound
یعنی Performance یک Workload
عمدتاً توسط ظرفیت GPU محدود شده است.


CPU-Bound چیست؟

CPU-Bound
یعنی Performance یک Workload
عمدتاً توسط CPU محدود شده است.

مثال: چرا تغییر Resolution می تواند گلوگاه را جابه جا کند؟

در Gaming،
افزایش Resolution معمولاً
بار بیشتری روی GPU ایجاد می کند.

1080p
→
1440p
→
4K

با افزایش تعداد Pixelهایی
که باید Render شوند،
GPU ممکن است بیشتر درگیر شود.

بنابراین یک سیستم می تواند
در Resolution پایین CPU-Limited
و در Resolution بالاتر GPU-Limited شود.


Pixel چیست؟

Pixel
یا «پیکسل»
یکی از کوچک ترین واحدهای تشکیل دهنده
تصویر دیجیتال روی نمایشگر است.

Resolution بالاتر معمولاً
به معنی پردازش تعداد بیشتری Pixel در هر Frame است.


Frame چیست؟

Frame
یا «فریم»
یک تصویر کامل از مجموعه تصاویر متوالی
است که حرکت روی نمایشگر را ایجاد می کنند.


FPS چیست؟

FPS
مخفف Frames Per Second
و به معنی «تعداد فریم در ثانیه» است.

برای مثال 60 FPS
یعنی تقریباً 60 Frame
در هر ثانیه تولید یا نمایش داده می شود.

Frame Time چیست و چرا از FPS مهم تر می شود؟


Frame Time چیست؟

Frame Time
یا «زمان تولید فریم»
مدت زمانی است که
تولید یک Frame طول می کشد.

معمولاً با میلی ثانیه
یا ms بیان می شود.

دو سیستم ممکن است
Average FPS مشابهی داشته باشند،
اما تجربه کاربری آنها متفاوت باشد.

اگر Frame Time
نوسان زیادی داشته باشد،
حرکت ممکن است ناپایدار یا همراه با Stutter احساس شود.


Stutter چیست؟

Stutter
به مکث ها یا ناهماهنگی های کوتاه
در نمایش روان Frameها گفته می شود.

Stutter می تواند دلایل مختلفی داشته باشد
و الزاماً فقط از CPU یا GPU ناشی نمی شود.

Memory Bottleneck یا گلوگاه RAM چیست؟

RAM می تواند از چند مسیر
Performance سیستم را محدود کند.

  • ظرفیت ناکافی
  • Bandwidth ناکافی
  • Latency بالا
  • Single Channel بودن
  • Memory Frequency پایین
  • رقابت چند Workload برای حافظه

ظرفیت کم RAM چگونه سیستم را کند می کند؟

اگر حافظه فیزیکی کافی نباشد،
سیستم عامل ممکن است
بخشی از داده ها را میان RAM و Storage جابه جا کند.

از آنجا که SSD
حتی اگر بسیار سریع باشد
معمولاً Latency بسیار بیشتری نسبت به RAM دارد،
این جابه جایی می تواند Performance را کاهش دهد.


Paging چیست؟

Paging
یکی از سازوکارهای مدیریت حافظه است
که در آن سیستم عامل
داده ها را در واحدهایی به نام Page مدیریت می کند.

در شرایط کمبود RAM،
برخی Pageها ممکن است
به فضای ذخیره سازی منتقل شوند.


Memory Page چیست؟

Page
واحدی از حافظه مجازی است
که سیستم عامل برای مدیریت Memory
از آن استفاده می کند.


Swap چیست؟

Swap
اصطلاحی برای استفاده از بخشی از Storage
به عنوان فضای کمکی حافظه است.

پیاده سازی دقیق این مفهوم
میان سیستم عامل ها متفاوت است.

Memory Bandwidth Bottleneck چیست؟

گاهی ظرفیت RAM کافی است،
اما سرعت انتقال داده میان CPU و حافظه
به محدودیت می رسد.

در Workloadهایی که
حجم زیادی داده جابه جا می کنند،
Memory Bandwidth می تواند
عامل مهمی در Performance باشد.


Bandwidth چیست؟

Bandwidth
یا «پهنای باند»
مقدار داده ای است
که در یک بازه زمانی
می تواند منتقل شود.

Bandwidth بیشتر
به معنی امکان انتقال حجم بیشتری از داده
در واحد زمان است.


Latency چیست؟

Latency
یا «تأخیر»
مدت زمانی است که
از درخواست یک عملیات
تا شروع یا دریافت پاسخ آن سپری می شود.

Bandwidth و Latency
دو مفهوم متفاوت هستند.

Under the Hood — تفاوت Bandwidth و Latency

یک مسیر انتقال داده
می تواند Bandwidth بسیار بالایی داشته باشد
اما Latency آن نیز زیاد باشد.

به زبان ساده:

Bandwidth
=
How Much Data?

Latency
=
How Long To Wait?

هر دو می توانند
روی Performance سیستم اثر بگذارند.

Storage Bottleneck چیست؟

Storage زمانی می تواند
عامل محدود کننده باشد
که Workload منتظر خواندن یا نوشتن داده بماند.

نمونه ها:

  • Boot سیستم عامل
  • باز کردن پروژه های بزرگ
  • Load فایل های حجیم
  • انتقال فایل
  • Paging سنگین
  • کار با Database
  • برخی مراحل تدوین ویدئو


I/O چیست؟

I/O
مخفف Input/Output
و به معنی «ورودی/خروجی» است.

در Context ذخیره سازی،
I/O معمولاً به عملیات خواندن
و نوشتن داده اشاره دارد.


I/O-Bound چیست؟

I/O-Bound
یعنی سرعت Workload
بیشتر توسط عملیات ورودی/خروجی
محدود شده است تا قدرت محاسباتی CPU.

چرا تعویض HDD با SSD گاهی سیستم را «خیلی سریع تر» می کند بدون اینکه CPU تغییر کند؟

بسیاری از عملیات روزمره
فقط محاسبات CPU نیستند.

سیستم ممکن است مرتباً
منتظر Storage بماند.

اگر این انتظار کاهش پیدا کند،
Responsiveness سیستم
به شکل محسوسی بهتر می شود
حتی اگر CPU دقیقاً همان پردازنده قبلی باشد.


Responsiveness چیست؟

Responsiveness
یا «سرعت پاسخ گویی»
نشان می دهد سیستم
پس از فرمان کاربر
با چه سرعتی واکنش نشان می دهد.

VRAM Bottleneck چیست؟

در سیستم دارای GPU مجزا،
ظرفیت و رفتار حافظه گرافیکی
می تواند محدودیت ایجاد کند.

اگر Workload
به حافظه گرافیکی بیشتری
از ظرفیت مناسب موجود نیاز داشته باشد،
ممکن است Performance کاهش یابد
یا داده ها مجبور شوند
میان سطوح مختلف حافظه جابه جا شوند.


VRAM چیست؟

VRAM
یا Video Memory
حافظه ای است که GPU
برای نگهداری داده های مورد نیاز پردازش گرافیکی
از آن استفاده می کند.

Texture،
Frame Buffer،
Geometry Data
و سایر داده های گرافیکی
می توانند در این حافظه قرار بگیرند.


Frame Buffer چیست؟

Frame Buffer
بخشی از حافظه است
که اطلاعات مربوط به Frameهای تصویری
برای پردازش یا نمایش
در آن نگهداری می شود.

Thermal Bottleneck چیست؟

گاهی سخت افزار از نظر معماری
توان Performance بیشتری دارد،
اما سیستم خنک کننده
نمی تواند شرایط لازم برای حفظ آن را فراهم کند.

در نتیجه:

Temperature ↑
→
Thermal Limit
→
Clock ↓
→
Performance ↓

این وضعیت مخصوصاً در لپ تاپ ها
اهمیت زیادی دارد.


Thermal Saturation چیست؟

Thermal Saturation
را می توان
«رسیدن سیستم خنک کننده به وضعیت حرارتی پایدار»
در نظر گرفت.

پس از مدتی Load مداوم،
دما و توان دفع حرارت
ممکن است به نقطه ای نزدیک به تعادل برسند.

به همین دلیل تست طولانی
برای ارزیابی لپ تاپ
از تست چندثانیه ای اطلاعات بیشتری می دهد.

Power Bottleneck چیست؟

CPU یا GPU ممکن است
قبل از رسیدن به محدودیت دما،
به محدودیت توان برسد.

در این حالت سخت افزار
برای باقی ماندن در محدوده توان تعیین شده
Frequency یا Voltage خود را تنظیم می کند.

بنابراین:

Low Clock
≠
Always Thermal Problem


Power Budget چیست؟

Power Budget
یا «بودجه توان»
مقدار توانی است که
یک قطعه یا مجموعه ای از قطعات
در شرایط مشخص اجازه مصرف آن را دارند.

CPU و GPU چگونه برای توان رقابت می کنند؟

در لپ تاپ،
CPU و GPU کاملاً مستقل از
محدودیت های توان و حرارت دستگاه نیستند.

در بعضی طراحی ها،
افزایش مصرف یک بخش
می تواند فضای توان یا حرارتی
قابل استفاده برای بخش دیگر را کاهش دهد.

Engineering Insight — لپ تاپ یک سیستم مشترک حرارتی و توانی است

CPU قدرتمندتر روی کاغذ
زمانی ارزش دارد
که لپ تاپ بتواند
توان و حرارت لازم برای استفاده از آن را مدیریت کند.

Software Bottleneck چیست؟

همیشه سخت افزار مقصر نیست.

نرم افزار می تواند
به دلایل مختلف نتواند
از منابع سخت افزاری موجود استفاده کند.

  • Parallelism محدود
  • Optimization ضعیف
  • محدودیت Engine نرم افزار
  • Driver
  • API
  • Scheduler
  • Background Process
  • Bug


Software Optimization چیست؟

Optimization
یا «بهینه سازی»
در این Context
به طراحی و تغییر نرم افزار
برای استفاده مؤثرتر از منابع سخت افزاری گفته می شود.


Software Engine چیست؟

Engine
در بسیاری از نرم افزارها
به مجموعه بخش های اصلی پردازشی گفته می شود
که عملیات بنیادی برنامه را انجام می دهند.


Driver چیست؟

Driver
یا «راه انداز»
نرم افزاری است که
امکان ارتباط سیستم عامل
و نرم افزارها با سخت افزار
را فراهم می کند.


API چیست؟

API
مخفف Application Programming Interface
و به معنی «رابط برنامه نویسی کاربردی» است.

API مجموعه ای از قواعد و رابط هاست
که امکان ارتباط
میان بخش های مختلف نرم افزار
یا نرم افزار و سرویس های دیگر را فراهم می کند.

Bottleneck Shift؛ چرا ارتقای یک قطعه گلوگاه را از بین نمی برد؟

فرض کنید GPU
گلوگاه اصلی یک سیستم است.

GPU را ارتقا می دهیم.

Performance افزایش پیدا می کند،
اما بعد از نقطه ای
CPU ممکن است به محدودیت برسد.

یعنی Bottleneck
لزوماً نابود نشده؛
فقط به بخش دیگری منتقل شده است.


Bottleneck Shift چیست؟

Bottleneck Shift
یا «جابجایی گلوگاه»
زمانی اتفاق می افتد که
با رفع یا کاهش یک محدودیت،
محدودیت دیگری به عامل اصلی Performance تبدیل شود.

Common Mistake — باید سیستمی بسازیم که هیچ Bottleneck نداشته باشد

چنین هدفی در عمل تعریف دقیقی ندارد.

تقریباً همیشه یک عامل
محدود کننده Performance وجود دارد.

هدف مهندسی بهتر این است:


گلوگاه سیستم در Workload مورد نظر
در جایی باشد که با بودجه و هدف کاربر منطقی است.

آیا Bottleneck Calculatorهای اینترنتی قابل اعتماد هستند؟

ابزارهایی که با وارد کردن
فقط مدل CPU و GPU
یک درصد ثابت مانند
«17 درصد Bottleneck»
اعلام می کنند،
نمی توانند تمام شرایط واقعی سیستم را مدل کنند.

زیرا Bottleneck به مواردی مانند:

  • Workload
  • Resolution
  • Graphics Settings
  • RAM
  • Cooling
  • Power Limit
  • Software
  • Driver
  • هدف FPS

وابسته است.

Common Mistake — Bottleneck یک درصد ثابت است

عبارت هایی مانند
«این CPU برای این GPU دقیقاً 12 درصد Bottleneck دارد»
بدون مشخص کردن شرایط تست
از نظر فنی معنای محدودی دارند.

روش عملی تشخیص Bottleneck

برای پیدا کردن گلوگاه،
نباید فقط یک عدد را مشاهده کنیم.

باید رفتار چند منبع
هم زمان بررسی شود.

01
Workload را دقیق تعریف کنیدمشخص کنید کندی دقیقاً
در چه نرم افزار، پروژه یا مرحله ای رخ می دهد.
02
زمان وقوع مشکل را مشخص کنیدآیا سیستم از ابتدا کند است
یا بعد از چند دقیقه؟
03
CPU Usage کلی را بررسی کنیداما فقط به همین عدد اکتفا نکنید.
04
Usage هر Core / Thread را بررسی کنیدیک Thread اشباع شده
می تواند CPU Bottleneck ایجاد کند.
05
CPU Clock را بررسی کنیدآیا CPU Frequency مورد انتظار را حفظ می کند؟
06
CPU Temperature را بررسی کنیدThermal Limit را از Performance Limit جدا کنید.
07
GPU Utilization را بررسی کنیدمخصوصاً در Gaming، Rendering و Workloadهای GPU-Accelerated.
08
VRAM را بررسی کنیدفقط درصد GPU کافی نیست؛
مصرف حافظه گرافیکی نیز مهم است.
09
RAM Usage را بررسی کنیدظرفیت و رفتار Paging را بررسی کنید.
10
Storage Activity را بررسی کنیدActive Time، Latency و Transfer Rate
می توانند اطلاعات مهمی بدهند.
11
Power Limit را بررسی کنیدClock پایین ممکن است ناشی از محدودیت توان باشد.
12
یک متغیر را تغییر دهیدResolution، تنظیمات، RAM یا Power Profile
را تغییر دهید و اثر آن را مشاهده کنید.
13
نتیجه را دوباره اندازه گیری کنیداگر Performance تغییر کرد،
سرنخ مهمی درباره گلوگاه پیدا کرده اید.


Storage Active Time چیست؟

Active Time
نشان می دهد Storage
چه میزان از زمان
درگیر پاسخ دادن به درخواست های I/O است.

Active Time بالا
به تنهایی برای تشخیص قطعی گلوگاه کافی نیست
و باید همراه با Latency،
Transfer Rate و نوع Workload بررسی شود.


Transfer Rate چیست؟

Transfer Rate
یا «نرخ انتقال»
مقدار داده ای است
که در یک بازه زمانی
خوانده یا نوشته می شود.

روش تغییر متغیر؛ یکی از قوی ترین روش های تشخیص گلوگاه

فقط نگاه کردن به نمودارها
همیشه کافی نیست.

گاهی بهترین روش این است
که یک متغیر را عمداً تغییر دهیم
و نتیجه را اندازه گیری کنیم.

Under the Hood — آزمایش علت و معلولی

مثال Gaming:

Lower Resolution
→
GPU Work ↓

اگر FPS تقریباً تغییر نکند،
احتمال اینکه GPU
تنها عامل محدود کننده باشد کمتر می شود.

اگر FPS به شکل محسوسی افزایش یابد،
محدودیت GPU می تواند
نقش مهم تری داشته باشد.

این روش از یک عدد ثابت
اطلاعات بسیار بیشتری ارائه می دهد.


Controlled Variable چیست؟

Controlled Variable
یا «متغیر کنترل شده»
متغیری است که در یک آزمایش
ثابت نگه داشته می شود
تا اثر تغییر عامل دیگر بهتر مشخص شود.

مثال واقعی: تشخیص Bottleneck در AutoCAD

فرض کنید کاربر هنگام کار
با یک Drawing پیچیده
احساس کند بعضی عملیات کند هستند.

اولین نتیجه نباید این باشد:
«RAM بیشتری لازم است»
یا
«GPU ضعیف است».

باید مشخص شود
کدام عملیات کند است.

بعضی عملیات تعاملی
ممکن است بیشتر به Performance یک Thread
وابسته باشند،
در حالی که عملیات دیگر
رفتار متفاوتی دارند.

بنابراین باید هم زمان بررسی شود:

  • Per-Core CPU Usage
  • GPU Usage
  • RAM Usage
  • Storage Activity
  • Clock
  • Temperature

مثال واقعی: Revit

در Revit نیز
تمام مراحل یک پروژه
الزاماً رفتار پردازشی یکسانی ندارند.

Modeling،
باز کردن پروژه،
بعضی محاسبات،
Rendering
و نمایش View
می توانند منابع متفاوتی را درگیر کنند.

بنابراین عبارت
«Revit CPU محور است»
اگر بدون مشخص کردن عملیات استفاده شود،
بیش از حد ساده سازی شده است.

مثال واقعی: Rendering

ابتدا باید مشخص شود
Renderer مورد استفاده چیست
و Rendering روی کدام سخت افزار انجام می شود.

CPU Renderer
→
CPU Performance Important

GPU Renderer
→
GPU + VRAM Important

بنابراین حتی عبارت
«سیستم رندر»
بدون مشخص کردن Render Engine
اطلاعات کافی برای انتخاب سخت افزار نمی دهد.


Render Engine چیست؟

Render Engine
یا «موتور رندر»
بخش نرم افزاری است
که محاسبات لازم برای تولید تصویر نهایی
را انجام می دهد.

موتورهای مختلف
می توانند از CPU،
GPU
یا ترکیبی از آنها استفاده کنند.

مثال واقعی: برنامه نویسی و Compilation

در پروژه های نرم افزاری بزرگ،
Build Time ممکن است
تحت تأثیر چند عامل قرار گیرد:

  • Single-Core Performance
  • Core Count
  • RAM Capacity
  • Memory Performance
  • Storage
  • Build System
  • Parallel Compilation


Build Time چیست؟

Build Time
مدت زمانی است که
فرآیند تبدیل Source Code
و اجزای پروژه
به خروجی قابل اجرا یا قابل استفاده طول می کشد.

چه چیزهایی ممکن است شبیه Bottleneck سخت افزاری به نظر برسند؟

  • Driver خراب یا نامناسب
  • Windows Update
  • Antivirus Scan
  • Background Application
  • Power Saving Mode
  • Battery Mode
  • آداپتور نامناسب
  • Firmware قدیمی یا تنظیمات نامناسب
  • مشکل نرم افزار
  • خرابی Storage
  • کمبود فضای آزاد Storage
  • Malware


Malware چیست؟

Malware
یا «بدافزار»
نرم افزاری است که
با هدف مخرب یا ناخواسته
روی سیستم فعالیت می کند.

بعضی بدافزارها
می توانند منابع CPU،
RAM،
Network
یا Storage را مصرف کنند
و باعث کاهش Performance شوند.

جدول تشخیص سریع گلوگاه

نشانه گلوگاه احتمالی چه چیزی بررسی شود؟
یک Core نزدیک اشباع CPU Single-Thread Per-Core Usage و Clock
تمام Coreها شدیداً درگیر CPU Multi-Core CPU Usage، Clock و Temperature
GPU دائماً بسیار درگیر GPU GPU Usage، Clock، Power و VRAM
VRAM نزدیک ظرفیت Video Memory VRAM Usage و تنظیمات Workload
RAM تقریباً پر Memory Capacity RAM Usage و Paging
Storage Latency بالا Storage Active Time، I/O و سلامت Drive
Performance بعد از چند دقیقه افت می کند Thermal / Power Temperature، Clock و Power Limit
CPU و GPU هر دو کم استفاده می شوند Software / Single Thread / I/O / Limit Threadها، Storage، FPS Cap و Software


FPS Cap چیست؟

FPS Cap
یا «محدودیت نرخ فریم»
سقفی است که
برای تعداد Frame تولید شده در هر ثانیه
تعیین می شود.

اگر FPS عمداً محدود شده باشد،
پایین بودن Utilization
الزاماً نشانه مشکل Performance نیست.

درخت تشخیص Bottleneck

Under the Hood — مسیر مرحله به مرحله عیب یابی

Performance Problem
↓
Define Exact Workload
↓
Check CPU Per-Core Usage
↓
Check GPU Usage
↓
Check RAM Capacity
↓
Check Storage I/O
↓
Check Temperature
↓
Check Clock
↓
Check Power Limits
↓
Change One Variable
↓
Re-Test
↓
Identify Limiting Resource

Bottleneck چه تأثیری روی انتخاب لپ تاپ دارد؟

هدف خرید نباید
جمع کردن قوی ترین قطعات ممکن باشد.

هدف بهتر،
انتخاب یک سیستم متعادل
برای Workload مورد نظر است.

برای مثال اگر نرم افزار شما
به GPU قدرتمند نیاز ندارد،
پرداخت بخش بزرگی از بودجه
برای GPU بسیار قوی
ممکن است نسبت به CPU،
RAM یا SSD بهتر
ارزش کمتری ایجاد کند.

برعکس،
برای GPU Rendering
خرید CPU بسیار گران
همراه با GPU ضعیف
ممکن است انتخاب مناسبی نباشد.


Balanced System چیست؟

Balanced System
یا «سیستم متعادل»
سیستمی است که
منابع سخت افزاری آن
متناسب با Workload و بودجه کاربر انتخاب شده باشند.

تعادل به معنی برابر بودن قدرت تمام قطعات نیست؛
بلکه به معنی تناسب آنها با نیاز واقعی است.

Performance Impact — ارتقای قطعه اشتباه ممکن است تقریباً هیچ نتیجه ای نداشته باشد

اگر Workload توسط CPU محدود شده باشد،
ارتقای SSD از یک مدل سریع
به مدل بسیار سریع تر
ممکن است Performance آن Workload را
تقریباً تغییر ندهد.

اگر Workload توسط GPU محدود شده باشد،
افزایش RAM از 32GB به 64GB
در شرایطی که 32GB کاملاً کافی بوده
ممکن است FPS را افزایش ندهد.

ابتدا Bottleneck را پیدا کنید؛
سپس برای ارتقا هزینه کنید.

Common Mistakes — اشتباهات رایج در تشخیص Bottleneck
  • نسبت دادن هر کندی به CPU.
  • نگاه کردن فقط به CPU Usage کلی.
  • نادیده گرفتن Usage تک Coreها.
  • اعتماد به درصد ثابت Bottleneck Calculatorها.
  • نادیده گرفتن Temperature.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن RAM Capacity.
  • نادیده گرفتن Memory Bandwidth.
  • نادیده گرفتن Storage Latency.
  • نادیده گرفتن VRAM.
  • نادیده گرفتن Driver و Software.
  • تغییر چند متغیر به صورت هم زمان هنگام تست.
  • استفاده از یک Benchmark برای تمام Workloadها.
  • فرض اینکه 100 درصد Utilization همیشه نشانه مشکل است.
  • فرض اینکه Utilization پایین همیشه یعنی سخت افزار اضافی داریم.

سوالات متداول Bottleneck و گلوگاه سیستم

سوالات متداول Bottleneck و گلوگاه سیستم

Bottleneck چیست؟

Bottleneck یا گلوگاه
بخشی از سیستم است که
در یک Workload مشخص
عامل محدود کننده اصلی Performance می شود.

آیا Bottleneck بد است؟

وجود یک عامل محدود کننده طبیعی است.
مسئله زمانی مهم می شود
که گلوگاه با هدف و بودجه سیستم
تناسب نداشته باشد.

چگونه بفهمیم CPU گلوگاه است؟

باید Usage هر Core،
Clock،
Temperature،
GPU Usage،
RAM،
Storage
و رفتار Workload
هم زمان بررسی شوند.

آیا CPU باید 100 درصد باشد تا گلوگاه باشد؟

خیر.
ممکن است فقط یک Thread
یا تعداد محدودی Core
به محدودیت رسیده باشند.

GPU Usage صد درصد یعنی GPU Bottleneck داریم؟

می تواند نشانه مهمی باشد،
اما برای نتیجه گیری قطعی
باید Clock، Power،
VRAM، Frame Time
و Workload نیز بررسی شوند.

RAM کم می تواند CPU را کند نشان دهد؟

بله.
کمبود RAM می تواند Paging را افزایش دهد
و سیستم زمان بیشتری منتظر Storage بماند.

SSD می تواند Bottleneck باشد؟

بله.
مخصوصاً در Workloadهای I/O محور،
بارگذاری داده،
انتقال فایل
یا Paging سنگین.

آیا دمای بالا Bottleneck ایجاد می کند؟

اگر محدودیت حرارتی باعث کاهش Clock یا Power شود،
Performance می تواند کاهش پیدا کند.

آیا Bottleneck Calculatorهای آنلاین دقیق هستند؟

یک درصد ثابت نمی تواند
تمام Workloadها، تنظیمات،
Resolution، RAM،
Cooling و شرایط واقعی سیستم را توصیف کند.

آیا با ارتقای CPU تمام Bottleneckها حل می شوند؟

خیر.
گلوگاه ممکن است
به GPU، RAM، Storage
یا بخش دیگری منتقل شود.

برای Gaming CPU مهم تر است یا GPU؟

به بازی، Resolution،
تنظیمات گرافیکی
و FPS هدف بستگی دارد.
هیچ پاسخ یکسانی برای تمام بازی ها وجود ندارد.

برای نرم افزارهای مهندسی چگونه گلوگاه را تشخیص دهیم؟

ابتدا عملیات دقیق را مشخص کنید،
سپس CPU Per-Core،
GPU، RAM، Storage،
Clock و Temperature
را هنگام همان عملیات بررسی کنید.

اصطلاحات جدید این فصل

  • Bottleneck: گلوگاه یا عامل محدود کننده Performance.
  • Utilization: میزان استفاده از ظرفیت یک منبع.
  • Main Thread: رشته اصلی اجرای بخشی از برنامه.
  • CPU-Bound: Workload محدود شده توسط CPU.
  • GPU-Bound: Workload محدود شده توسط GPU.
  • Pixel: واحد کوچک تشکیل دهنده تصویر دیجیتال.
  • Frame: یک تصویر از مجموعه تصاویر متوالی.
  • FPS: تعداد Frame در ثانیه.
  • Frame Time: زمان لازم برای تولید یک Frame.
  • Stutter: ناپیوستگی یا مکث کوتاه در نمایش Frameها.
  • Paging: مدیریت و جابه جایی Pageهای حافظه.
  • Memory Page: واحد مدیریت حافظه مجازی.
  • Swap: استفاده از Storage به عنوان فضای کمکی حافظه.
  • Bandwidth: حجم داده قابل انتقال در واحد زمان.
  • Latency: تأخیر میان درخواست و پاسخ.
  • I/O: عملیات ورودی و خروجی.
  • I/O-Bound: Workload محدود شده توسط ورودی/خروجی.
  • Responsiveness: سرعت پاسخ گویی سیستم.
  • VRAM: حافظه مورد استفاده GPU.
  • Frame Buffer: حافظه مرتبط با نگهداری داده Frameها.
  • Thermal Saturation: رسیدن سیستم به وضعیت حرارتی نسبتاً پایدار زیر Load.
  • Power Budget: بودجه یا محدوده توان قابل استفاده.
  • Optimization: بهینه سازی استفاده از منابع.
  • Driver: راه انداز ارتباط سیستم عامل با سخت افزار.
  • API: رابط برنامه نویسی کاربردی.
  • Bottleneck Shift: انتقال عامل محدود کننده به بخش دیگر.
  • Active Time: میزان زمان درگیری Storage با عملیات.
  • Transfer Rate: نرخ انتقال داده.
  • Controlled Variable: متغیری که برای آزمایش کنترل می شود.
  • Render Engine: موتور محاسباتی تولید تصویر.
  • Build Time: مدت زمان ساخت خروجی یک پروژه نرم افزاری.
  • Malware: بدافزار.
  • FPS Cap: سقف تعیین شده برای نرخ فریم.
  • Balanced System: سیستم متناسب با Workload و بودجه.

خلاصه فصل

Bottleneck یک درصد ثابت
یا ویژگی دائمی یک CPU نیست.

گلوگاه باید در Context
یک Workload مشخص شناسایی شود.

Slow System
≠
Slow CPU

برای تشخیص صحیح باید
CPU،
GPU،
RAM،
VRAM،
Storage،
Temperature،
Clock،
Power
و Software
در کنار یکدیگر بررسی شوند.

همچنین CPU Usage کلی
نباید به تنهایی ملاک قرار گیرد؛
زیرا اشباع یک Main Thread
می تواند حتی در CPU Usage کلی پایین
گلوگاه ایجاد کند.

روش حرفه ای تشخیص:

Observe
→
Form Hypothesis
→
Change One Variable
→
Measure Again
→
Identify Bottleneck

یعنی:

مشاهده کن، علت احتمالی را مشخص کن،
فقط یک متغیر را تغییر بده،
دوباره اندازه گیری کن
و سپس درباره عامل محدود کننده تصمیم بگیر.


فصل 42
سطح: تخصصی / مهندسی
موضوع: Benchmark پردازنده
تمرکز: اندازه گیری و تفسیر Performance

عدد Benchmark بدون روش آزمایش، فقط یک عدد است

علم Benchmark پردازنده؛ چگونه Performance واقعی CPU را درست اندازه گیری و تفسیر کنیم؟

Benchmark یکی از مهم ترین ابزارهای مقایسه پردازنده هاست،
اما فقط زمانی ارزش دارد که بدانیم چه چیزی اندازه گیری شده،
تست چگونه اجرا شده، شرایط دو سیستم چقدر مشابه بوده
و نتیجه دقیقاً چه معنایی دارد.

دو عدد Benchmark ممکن است در ظاهر قابل مقایسه باشند،
اما تفاوت در RAM، سیستم خنک کننده، Power Limit،
نسخه نرم افزار، سیستم عامل، دمای محیط
یا حتی مدت زمان اجرای تست
می تواند نتیجه را تغییر دهد.

بنابراین هدف این فصل حفظ کردن امتیاز چند Benchmark نیست.
هدف، یادگیری روش فکر کردن درباره Benchmark است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark چیست و چه چیزی را اندازه گیری می کند.
  • تفاوت Synthetic Benchmark و Real-World Benchmark.
  • تفاوت Single-Core و Multi-Core Benchmark.
  • تفاوت Score، Time، Throughput و Latency.
  • چرا عدد بزرگ تر همیشه بهتر نیست.
  • Average، Median، Minimum و Maximum چیست.
  • Variance و Standard Deviation چه مفهومی دارند.
  • Run-to-Run Variation چیست.
  • Outlier چیست و چگونه نتیجه را خراب می کند.
  • Warm-up و Cold Run چه تفاوتی دارند.
  • چرا Benchmark باید چند بار تکرار شود.
  • Thermal Saturation چگونه نتیجه تست لپ تاپ را تغییر می دهد.
  • Benchmark Burst و Sustained چه تفاوتی دارند.
  • چگونه دو لپ تاپ را منصفانه Benchmark کنیم.
  • چگونه نمودار Benchmark را درست بخوانیم.
  • چگونه درصد اختلاف Performance را محاسبه کنیم.
  • چرا اختلاف Benchmark همیشه برابر اختلاف تجربه کاربری نیست.
  • چگونه Benchmark مرتبط با Workload خودمان را انتخاب کنیم.

Benchmark چیست؟


معنی Benchmark

Benchmark
در سخت افزار به آزمون یا مجموعه ای از آزمون ها گفته می شود
که برای اندازه گیری Performance یک سیستم یا قطعه
تحت شرایط مشخص طراحی شده اند.

Benchmark می تواند CPU،
GPU،
RAM،
Storage
یا کل سیستم را ارزیابی کند.

یک Benchmark خوب باید به یک سوال مشخص پاسخ دهد.

برای مثال:

  • این CPU یک Thread را با چه سرعتی اجرا می کند؟
  • در پردازش Multi-Core چه مقدار Throughput دارد؟
  • یک پروژه مشخص در چند ثانیه Compile می شود؟
  • یک Scene در چه مدت Render می شود؟
  • CPU در پردازش داده مشخص چه مقدار عملیات انجام می دهد؟

Benchmark Score چیست؟


Score چیست؟

Score
یا «امتیاز»
عددی است که Benchmark
بر اساس روش داخلی خود
از Performance سیستم تولید می کند.

Score لزوماً یک واحد فیزیکی مانند
ثانیه یا وات نیست.

Common Mistake — مقایسه Score دو Benchmark متفاوت

امتیاز 12000 در یک Benchmark
الزاماً هیچ ارتباط مستقیمی
با امتیاز 12000 در Benchmark دیگری ندارد.

Score فقط در چهارچوب
روش اندازه گیری همان Benchmark
معنا پیدا می کند.

آیا عدد بزرگ تر همیشه بهتر است؟

خیر.

ابتدا باید بدانیم
Benchmark چه چیزی گزارش می کند.

معیار معنی معمولاً بهتر
Score امتیاز Performance بیشتر
Operations / Second عملیات انجام شده در ثانیه بیشتر
Frames / Second فریم تولید شده در ثانیه بیشتر
Render Time زمان تکمیل رندر کمتر
Compile Time زمان تکمیل کامپایل کمتر
Latency زمان انتظار کمتر


Throughput چیست؟

Throughput
یا «نرخ انجام کار»
نشان می دهد سیستم
در یک بازه زمانی
چه مقدار کار می تواند انجام دهد.

Throughput
=
Amount of Work / Time


Latency چیست؟

Latency
یا «تأخیر»
مدت زمانی است که
انجام یا پاسخ به یک عملیات طول می کشد.

Throughput و Latency
دو معیار متفاوت هستند.

Under the Hood — Throughput بالا الزاماً Latency پایین نیست

یک سیستم ممکن است بتواند
حجم زیادی از کار را در مجموع انجام دهد،
اما پاسخ به یک درخواست منفرد
همچنان زمان بیشتری ببرد.

Throughput
→
How Much Work?

Latency
→
How Long For One Result?

به همین دلیل باید بدانیم
Workload ما به کدام معیار حساس تر است.

Synthetic Benchmark در برابر Real-World Benchmark

ویژگی Synthetic Real-World
هدف اندازه گیری کنترل شده اندازه گیری کاربرد واقعی
تکرارپذیری معمولاً بالا می تواند پیچیده تر باشد
کنترل متغیرها معمولاً بهتر گاهی دشوارتر
ارتباط با کار واقعی وابسته به تست معمولاً مستقیم تر
مقایسه معماری مفید مفید
تصمیم خرید بخشی از شواهد اغلب بسیار مهم


Real-World Benchmark چیست؟

Real-World Benchmark
یا «بنچمارک مبتنی بر کاربرد واقعی»
Performance را با استفاده از
نرم افزار، پروژه یا عملیات نزدیک به استفاده واقعی کاربر
اندازه گیری می کند.

Engineering Insight — Synthetic Benchmark بی ارزش نیست

اشتباه دیگری نیز وجود دارد:
اینکه تمام Benchmarkهای مصنوعی را بی ارزش بدانیم.

تست مصنوعی می تواند
برای جداسازی و اندازه گیری
یک ویژگی مشخص سخت افزار بسیار مفید باشد.

مسئله این است که
نتیجه آن نباید بدون Context
به تمام نرم افزارهای واقعی تعمیم داده شود.

Single-Core Benchmark و Multi-Core Benchmark چه تفاوتی دارند؟

Single-Core Benchmark
تلاش می کند Performance
با استفاده از یک Core یا Thread اصلی را اندازه گیری کند.

Multi-Core Benchmark
تلاش می کند از چند Core یا Thread
به صورت هم زمان استفاده کند.

Benchmark بیشتر تحت تأثیر
Single-Core IPC، Clock، Architecture، Cache و Latency
Multi-Core موارد بالا + تعداد Core، Thread، Power و Cooling

Multi-Core Scaling را چگونه بررسی کنیم؟

می توان بررسی کرد
Performance چند هسته ای
نسبت به Performance تک هسته ای
چه مقدار افزایش یافته است.

اما این نسبت نباید
به عنوان یک فرمول جهانی استفاده شود،
زیرا Benchmarkها رفتار متفاوتی دارند.

Multi-Core Performance
≠
Single-Core Performance × Core Count

محدودیت توان،
Clock،
Thread Scheduling،
بخش های سریال برنامه
و اشتراک منابع
مانع Scaling کاملاً خطی می شوند.

چرا یک Benchmark را باید چند بار اجرا کرد؟

اجرای یک بار تست
ممکن است نماینده واقعی Performance سیستم نباشد.

عوامل مختلف می توانند نتیجه یک Run را تغییر دهند:

  • Background Process
  • Temperature
  • Boost Behavior
  • Power Management
  • Cache State
  • Operating System Activity
  • Benchmark Variation


Run چیست؟

Run
در Benchmark
به یک بار اجرای کامل آزمون گفته می شود.


Run-to-Run Variation چیست؟

Run-to-Run Variation
یا «تغییر نتیجه میان اجراهای مختلف»
به اختلاف طبیعی نتایج
میان چند بار اجرای یک Benchmark گفته می شود.

Under the Hood — چرا یک Run کافی نیست؟

فرض کنید پنج بار تست انجام داده ایم:

Run 1 = 100

Run 2 = 101

Run 3 = 99

Run 4 = 100

Run 5 = 114

نتیجه پنجم با سایر نتایج
اختلاف قابل توجهی دارد.

به جای انتخاب دلخواه بهترین یا بدترین عدد،
باید علت اختلاف بررسی شود
و از روش آماری مناسب استفاده کنیم.

Average چیست؟


Average / Mean

Average
یا Mean
به معنی «میانگین حسابی» است.

مجموع مقادیر
بر تعداد مقادیر تقسیم می شود.

Mean
=
Sum of Values / Number of Values

Median چیست و چرا گاهی از Average مفیدتر است؟


Median چیست؟

Median
یا «میانه»
مقدار وسط مجموعه داده
پس از مرتب کردن اعداد است.

Median نسبت به مقادیر بسیار غیرعادی
معمولاً حساسیت کمتری از Mean دارد.

Outlier چیست؟


Outlier چیست؟

Outlier
یا «داده پرت»
مقداری است که
فاصله قابل توجهی
با الگوی معمول سایر داده ها دارد.

وجود Outlier الزاماً به معنی
اشتباه بودن داده نیست.
ابتدا باید علت آن بررسی شود.

Common Mistake — حذف هر نتیجه ای که دوست نداریم

حذف Outlier باید
بر اساس روش مشخص و قابل دفاع انجام شود،
نه برای رسیدن به نتیجه دلخواه.

ممکن است مقدار غیرعادی
نشانه یک مشکل واقعی مانند
Thermal Throttling
یا Background Activity باشد.

Variance چیست؟


Variance چیست؟

Variance
یا «واریانس»
یک معیار آماری برای توصیف
میزان پراکندگی داده ها
در اطراف میانگین است.

Variance بیشتر
معمولاً نشان دهنده پراکندگی بیشتر نتایج است.


Standard Deviation چیست؟

Standard Deviation
یا «انحراف معیار»
یکی دیگر از معیارهای پراکندگی داده هاست
و از ریشه دوم Variance به دست می آید.

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

Performance Impact — Performance پایدار گاهی از Peak Performance مهم تر است

فرض کنید Laptop A
در اولین Run امتیاز بسیار بالایی کسب کند
اما در اجراهای بعدی افت زیادی داشته باشد.

Laptop B ممکن است
Peak Performance کمی پایین تری داشته باشد،
اما Performance خود را
در تمام Runها بهتر حفظ کند.

برای Rendering،
Compilation،
Simulation
و Workloadهای طولانی،
رفتار Laptop B می تواند ارزش بیشتری داشته باشد.


Peak Performance چیست؟

Peak Performance
یا «اوج عملکرد»
بالاترین سطح Performance
قابل دستیابی در شرایط مشخص است.

Peak Performance الزاماً
برای مدت طولانی قابل حفظ نیست.


Sustained Performance چیست؟

Sustained Performance
یا «عملکرد پایدار»
سطح Performanceای است
که سیستم می تواند
در Load طولانی تر حفظ کند.


Burst Performance چیست؟

Burst Performance
یا «عملکرد کوتاه مدت»
توان سیستم برای ارائه Performance بالا
در یک بازه زمانی کوتاه است.

Under the Hood — Burst در برابر Sustained

Short Benchmark
→
Burst Performance

Long Benchmark
→
Thermal Saturation
+
Power Limits
→
Sustained Performance

به همین دلیل
یک تست 20 ثانیه ای
نمی تواند همیشه رفتار CPU
در یک رندر 40 دقیقه ای را پیش بینی کند.

Warm-up چیست؟


Warm-up Run چیست؟

Warm-up Run
اجرای اولیه ای است
که پیش از اندازه گیری اصلی انجام می شود
تا سیستم یا نرم افزار
به شرایط عملیاتی مورد نظر نزدیک شود.

بسته به نوع Benchmark،
Warm-up می تواند
رفتار Cache،
JIT Compilation،
Temperature
یا سایر عوامل را تغییر دهد.


JIT Compilation چیست؟

JIT
مخفف Just-In-Time Compilation
یا «کامپایل در زمان اجرا» است.

در برخی محیط های نرم افزاری،
بخشی از کد هنگام اجرای برنامه
به شکل مناسب برای اجرا ترجمه یا بهینه می شود.

به همین دلیل Run اول
می تواند با Runهای بعدی تفاوت داشته باشد.


Cold Run چیست؟

Cold Run
به اجرای تست در شرایطی گفته می شود
که برخی داده ها یا منابع مورد نیاز
هنوز در Cache یا وضعیت آماده قبلی قرار ندارند.

تعریف دقیق Cold Run
به نوع Benchmark بستگی دارد.


Hot / Warm Run چیست؟

در یک Warm Run
یا در برخی Contextها Hot Run،
بخشی از داده ها، Cacheها
یا محیط اجرای نرم افزار
ممکن است از اجرای قبلی آماده باشند.

بنابراین Cold و Warm
می توانند دو سناریوی متفاوت
از Performance را اندازه گیری کنند.

Cache چگونه Benchmark را تغییر می دهد؟

اگر داده مورد نیاز Benchmark
در Cache موجود باشد،
دسترسی می تواند سریع تر از حالتی باشد
که داده باید از سطح پایین تر حافظه دریافت شود.

بنابراین بعضی Benchmarkها
عمداً Working Set خود را تغییر می دهند
تا رفتار Cache را بررسی کنند.


Working Set چیست؟

Working Set
یا «مجموعه کاری»
مجموعه داده ها و بخش هایی از حافظه است
که یک برنامه در یک بازه زمانی
به طور فعال از آنها استفاده می کند.

شرایط یک Benchmark منصفانه چیست؟

برای مقایسه دو CPU،
تا حد امکان باید متغیرهای غیرضروری کنترل شوند.

متغیر چرا مهم است؟
نسخه Benchmark نسخه های مختلف ممکن است روش تست متفاوتی داشته باشند
Operating System Scheduler و سرویس های سیستم می توانند متفاوت باشند
Power Mode می تواند Clock و Power Limit را تغییر دهد
AC / Battery لپ تاپ ممکن است رفتار توانی متفاوتی داشته باشد
RAM Capacity کمبود RAM می تواند نتیجه را تغییر دهد
RAM Configuration Channel و Frequency روی Performance اثر دارند
Cooling Performance پایدار را تغییر می دهد
Temperature Boost و Throttling را تحت تأثیر قرار می دهد
Background Tasks منابع CPU، RAM و Storage را مصرف می کنند
Software Version Optimization ممکن است تغییر کرده باشد
Driver در Workloadهای مرتبط می تواند Performance را تغییر دهد
Test Duration Burst و Sustained Performance را تغییر می دهد

چرا Benchmark CPU لپ تاپ دشوارتر از چیزی است که به نظر می رسد؟

در لپ تاپ،
CPU را نمی توان کاملاً جدا از دستگاه بررسی کرد.

همان مدل پردازنده
ممکن است در دو لپ تاپ
Performance متفاوتی داشته باشد.

علت می تواند شامل موارد زیر باشد:

  • Cooling متفاوت
  • Power Limit متفاوت
  • Firmware متفاوت
  • RAM متفاوت
  • Chassis متفاوت
  • Fan Profile متفاوت
  • Temperature Target متفاوت


Fan Profile چیست؟

Fan Profile
یا «الگوی کنترل فن»
مشخص می کند فن دستگاه
در دماها و شرایط مختلف
چگونه سرعت خود را تغییر دهد.


Temperature Target چیست؟

Temperature Target
یا «دمای هدف»
محدوده ای است که
سیستم مدیریت توان و حرارت
تلاش می کند رفتار سخت افزار را
حول آن کنترل کند.

Benchmark Loop چیست؟


Benchmark Loop

Loop
یا «اجرای حلقه ای»
یعنی Benchmark
چند بار پشت سر هم اجرا شود.

این روش برای مشاهده
افت Performance در طول زمان
بسیار مفید است.

Under the Hood — نمودار Performance در طول زمان چه می گوید؟

فرض کنید نتیجه Runها چنین باشد:

100
→
98
→
93
→
88
→
87
→
87

این الگو نشان می دهد
سیستم در ابتدا Performance بیشتری ارائه کرده
و سپس به سطح پایین تری رسیده است.

باید بررسی شود
آیا دلیل آن Thermal Saturation،
Power Limit
یا عامل دیگری بوده است.


Steady State چیست؟

Steady State
یا «حالت نسبتاً پایدار»
شرایطی است که
پس از گذشت دوره اولیه،
رفتار سیستم به محدوده نسبتاً ثابتی می رسد.

در تست لپ تاپ،
Performance در Steady State
می تواند برای Workloadهای طولانی
مهم تر از نتیجه اولیه باشد.

اختلاف Performance را چگونه به درصد تبدیل کنیم؟

اگر معیار از نوع
«عدد بیشتر بهتر است» باشد،
می توان اختلاف CPU B نسبت به CPU A را
به صورت زیر محاسبه کرد:

Performance Gain (%)
=
((B – A) / A) × 100

مثال:

CPU A = 1000

CPU B = 1250

((1250 – 1000) / 1000) × 100
=
25%

بنابراین CPU B
در همان Benchmark
25 درصد امتیاز بیشتری کسب کرده است.

در Benchmarkهای زمان محور چگونه مقایسه کنیم؟

در تستی مانند Render Time
عدد کمتر بهتر است.

فرض کنید:

CPU A = 100 seconds

CPU B = 80 seconds

CPU B کار را 20 ثانیه زودتر تمام کرده است،
اما باید میان
«کاهش زمان»
و
«افزایش نرخ انجام کار»
تفاوت قائل شویم.


Speedup چیست؟

Speedup
یا «ضریب افزایش سرعت»
نسبت زمان اجرای سیستم مرجع
به زمان اجرای سیستم سریع تر است.

Speedup
=
Old Time / New Time

در مثال بالا:

100 / 80 = 1.25×

یعنی نرخ انجام آن کار
حدود 1.25 برابر شده است.

Engineering Insight — 20 درصد زمان کمتر با 20 درصد Performance بیشتر یکسان نیست

این اشتباه در نمودارهای Benchmark بسیار رایج است.

اگر زمان انجام کار
از 100 ثانیه به 80 ثانیه برسد،
زمان اجرا 20 درصد کاهش یافته است.

اما نرخ انجام همان کار:

100 / 80 = 1.25

یعنی Throughput متناظر
حدود 25 درصد بیشتر شده است.

بنابراین «درصد کاهش زمان»
و «درصد افزایش سرعت»
نباید با یکدیگر اشتباه گرفته شوند.


Baseline چیست؟

Baseline
یا «خط مبنا»
نتیجه یا سیستم مرجعی است
که سایر نتایج
نسبت به آن مقایسه می شوند.

Relative Performance چیست؟


Relative Performance

Relative Performance
یا «عملکرد نسبی»
Performance محصولات را
نسبت به یک Baseline نشان می دهد.

برای مثال:

CPU A = 100%

CPU B = 115%

CPU C = 132%

در این نمودار CPU A
مرجع 100 درصدی است.

محور نمودار چگونه می تواند برداشت ما را تغییر دهد؟

هنگام مشاهده نمودار Benchmark
فقط طول میله ها را نگاه نکنید.

اعداد محور را بررسی کنید.

Under the Hood — محور بریده شده

فرض کنید دو نتیجه:

CPU A = 100

CPU B = 105

اختلاف فقط 5 درصد است.

اما اگر محور نمودار
از 98 شروع شود،
میله CPU B ممکن است
چند برابر بلندتر به نظر برسد.

نمایش بصری
نباید جای خواندن اعداد واقعی را بگیرد.


Truncated Axis چیست؟

Truncated Axis
یا «محور بریده شده»
محوری است که
از صفر یا نقطه طبیعی مورد انتظار شروع نمی شود.

این روش همیشه اشتباه نیست،
اما می تواند تفاوت های کوچک
را از نظر بصری بسیار بزرگ نشان دهد.

Cherry-Picking در Benchmark چیست؟


Cherry-Picking چیست؟

Cherry-Picking
یا «انتخاب گزینشی داده»
یعنی فقط نتایجی انتخاب شوند
که نتیجه مورد نظر فرد را تأیید می کنند
و سایر داده های مرتبط نادیده گرفته شوند.

برای مثال اگر CPU A
در 10 تست سریع تر
و CPU B در 2 تست سریع تر باشد،
نمایش فقط همان دو تست
می تواند تصویر ناقصی ایجاد کند.

Geometric Mean چیست؟


Geometric Mean چیست؟

Geometric Mean
یا «میانگین هندسی»
نوعی میانگین است
که برای ترکیب برخی نسبت ها
و نتایج نسبی Performance
کاربرد دارد.

در مجموعه Benchmarkها،
استفاده صحیح از میانگین هندسی
می تواند از اثر بیش از حد
بعضی مقادیر بزرگ جلوگیری کند.

1% Low چیست؟


1% Low چیست؟

1% Low
معیاری رایج در Gaming Benchmark است
که تلاش می کند Performance
در بخش کندتر تجربه بازی را بهتر از Average FPS نشان دهد.

روش محاسبه دقیق
می تواند میان ابزارها و روش های تست متفاوت باشد،
بنابراین باید Methodology منبع بررسی شود.

ممکن است دو CPU
Average FPS مشابهی داشته باشند،
اما یکی Frame Time پایدارتر
و 1% Low بهتری ارائه دهد.

در چنین شرایطی
تجربه بازی می تواند روان تر باشد.


Percentile چیست؟

Percentile
یا «صدک»
روشی برای مشخص کردن
موقعیت یک مقدار
در توزیع داده هاست.

Percentileها در تحلیل
Latency و Frame Time
بسیار کاربردی هستند.

چرا Frame Time Graph از Average FPS اطلاعات بیشتری می دهد؟

Average FPS
یک عدد خلاصه است.

اما نمودار Frame Time
نشان می دهد هر Frame
با چه فاصله زمانی تولید شده است.

Spikeهای بزرگ
می توانند نشانه Stutter
یا ناپایداری Performance باشند.


Spike چیست؟

Spike
در نمودار Performance
به افزایش ناگهانی و کوتاه مدت
یک مقدار گفته می شود.

برای مثال Frame Time Spike
یعنی تولید یک یا چند Frame
ناگهان بیشتر از حالت معمول طول کشیده است.

Margin of Error و اختلاف های کوچک


Margin of Error چیست؟

Margin of Error
یا «حاشیه خطا»
محدوده ای برای بیان
عدم قطعیت یک برآورد است.

در Benchmark سخت افزار،
نباید هر اختلاف بسیار کوچک
را الزاماً به عنوان برتری واقعی تفسیر کرد.

اگر CPU A امتیاز 100
و CPU B امتیاز 101 بگیرد،
اما Run-to-Run Variation تست
حدود چند درصد باشد،
اعلام برتری قطعی B
می تواند نادرست باشد.


Statistical Significance چیست؟

Statistical Significance
یا «معناداری آماری»
مفهومی آماری است
که برای بررسی این موضوع استفاده می شود
که آیا یک تفاوت مشاهده شده
احتمالاً فراتر از تغییرات تصادفی است یا خیر.

استفاده دقیق از این مفهوم
نیازمند طراحی آزمایش و تحلیل آماری مناسب است.


Practical Significance چیست؟

Practical Significance
یا «اهمیت عملی»
به این سوال پاسخ می دهد:

آیا اختلاف اندازه گیری شده
در استفاده واقعی
آن قدر بزرگ هست که برای کاربر اهمیت داشته باشد؟

Engineering Insight — قابل اندازه گیری بودن با قابل احساس بودن یکسان نیست

ممکن است یک Benchmark
اختلاف 3 درصدی میان دو CPU نشان دهد.

این اختلاف ممکن است واقعی باشد،
اما در Workload روزمره کاربر
اثر قابل توجهی ایجاد نکند.

بنابراین باید میان:

Measurable Difference
≠
Meaningful Difference

تفاوت قائل شویم.

چرا نسخه و تاریخ Benchmark مهم است؟

نرم افزارها تغییر می کنند.

Compiler،
Scheduler،
Operating System،
Driver
و خود Benchmark
می توانند در طول زمان به روز شوند.

بنابراین مقایسه نتیجه ای مربوط به چند سال قبل
با نتیجه ای که امروز
با نسخه جدید نرم افزار گرفته شده
ممکن است منصفانه نباشد.


Compiler چیست؟

Compiler
یا «کامپایلر»
نرم افزاری است که
کد نوشته شده توسط برنامه نویس
را به شکل مناسب برای اجرا
یا مراحل بعدی ساخت نرم افزار تبدیل می کند.

Compilerهای مختلف
یا نسخه های جدیدتر آنها
می توانند از قابلیت های CPU
به شکل متفاوتی استفاده کنند.

Normalization چیست؟


Normalization چیست؟

Normalization
یا «نرمال سازی»
در ارائه Benchmark
روشی برای تبدیل نتایج
به یک مقیاس مشترک
برای مقایسه آسان تر است.

برای مثال ممکن است
یک CPU به عنوان 100 درصد
در نظر گرفته شود
و بقیه نسبت به آن نمایش داده شوند.

پروتکل پیشنهادی برای Benchmark یک لپ تاپ

01
هدف تست را تعریف کنیدمشخص کنید دقیقاً چه چیزی قرار است اندازه گیری شود.
02
نسخه نرم افزار را ثبت کنیدBenchmark و نسخه آن باید مشخص باشند.
03
مشخصات سیستم را ثبت کنیدCPU، RAM، Storage، GPU و سیستم عامل.
04
Power Mode را ثابت کنیددستگاه های مقایسه شده باید در شرایط توانی مشخص باشند.
05
وضعیت برق را مشخص کنیدAC یا Battery بودن دستگاه را ثبت کنید.
06
Background Tasks را کنترل کنیدفعالیت های غیرضروری می توانند نتیجه را تغییر دهند.
07
شرایط اولیه را مشخص کنیدCold Run، Warm Run یا Steady-State Test را تعیین کنید.
08
Warm-up لازم را انجام دهیددر صورت نیاز Benchmark را پیش از اندازه گیری اصلی آماده کنید.
09
Benchmark را چند بار اجرا کنیدبه یک Run اعتماد نکنید.
10
Temperature، Clock و Power را ثبت کنیدفقط Score نهایی را ذخیره نکنید.
11
پراکندگی نتایج را بررسی کنیدMean، Median و Variation می توانند مفید باشند.
12
Outlierها را بررسی کنیدعلت داده غیرعادی را پیش از حذف پیدا کنید.
13
تست طولانی انجام دهیددر لپ تاپ، Sustained Performance را نیز بررسی کنید.
14
Benchmark واقعی اضافه کنیدنتیجه Synthetic را با Workload واقعی تکمیل کنید.
15
نتیجه را در Context قیمت تفسیر کنیدسریع ترین CPU الزاماً بهترین خرید نیست.

یک گزارش Benchmark حرفه ای چه اطلاعاتی باید داشته باشد؟

اطلاعات ضرورت
مدل کامل CPU ضروری
مدل لپ تاپ / سیستم ضروری برای لپ تاپ
RAM ضروری
GPU وابسته به تست
سیستم عامل مهم
نسخه Benchmark ضروری
Power Mode مهم
تعداد Run مهم
میانگین / میانه مفید
Temperature بسیار مهم در لپ تاپ
Clock بسیار مهم
Power بسیار مهم
Test Duration مهم
تاریخ تست مفید برای مقایسه آینده

چگونه از Benchmark برای خرید لپ تاپ استفاده کنیم؟

Benchmark باید بخشی از تصمیم خرید باشد،
نه تمام آن.

ترتیب منطقی می تواند چنین باشد:

Define Workload
→
Find Relevant Benchmark
→
Compare Real Performance
→
Check Sustained Performance
→
Compare Laptop Quality
→
Compare Price
→
Decide

برای مثال اگر لپ تاپ را
برای AutoCAD خریداری می کنید،
نتیجه یک Benchmark چند هسته ای سنگین
به تنهایی نمی تواند
بهترین CPU برای کار شما را مشخص کند.

باید Benchmarkهایی را پیدا کنید
که رفتار واقعی Workload مورد نظر
را بهتر منعکس می کنند.

هرم اعتبار شواهد Benchmark

Under the Hood — از مشخصات کاغذی تا Workload واقعی

Specifications
↓
Synthetic Benchmark
↓
Application Benchmark
↓
Your Exact Workload

هرچه تست
به Workload واقعی شما نزدیک تر شود،
برای تصمیم شخصی شما
ارزش بیشتری پیدا می کند.

البته این به معنی بی ارزش بودن
سطوح قبلی نیست؛
هر سطح اطلاعات متفاوتی ارائه می دهد.

Common Mistakes — اشتباهات رایج در خواندن Benchmark
  • انتخاب CPU فقط از روی یک Score.
  • مقایسه Score دو Benchmark متفاوت.
  • فرض اینکه عدد بزرگ تر همیشه بهتر است.
  • نادیده گرفتن اینکه بعضی تست ها Time-Based هستند.
  • اعتماد به یک Run.
  • انتخاب بهترین Run و نادیده گرفتن بقیه.
  • حذف Outlier بدون بررسی علت.
  • نادیده گرفتن Run-to-Run Variation.
  • نادیده گرفتن Temperature و Power.
  • مقایسه لپ تاپ های دارای RAM Configuration متفاوت بدون توضیح.
  • مقایسه نسخه های مختلف نرم افزار بدون توجه به تفاوت.
  • استفاده از Burst Test برای نتیجه گیری درباره Workload طولانی.
  • نادیده گرفتن Sustained Performance.
  • اشتباه گرفتن کاهش زمان با افزایش درصد Performance.
  • اعتماد به ظاهر نمودار بدون خواندن محور.
  • Cherry-Picking نتایج.
  • تعمیم Synthetic Benchmark به تمام نرم افزارها.
  • فرض اینکه اختلاف قابل اندازه گیری الزاماً قابل احساس است.
  • نادیده گرفتن قیمت هنگام تصمیم خرید.

سوالات متداول Benchmark پردازنده

Benchmark چیست؟

آزمونی برای اندازه گیری Performance
سخت افزار یا سیستم
در شرایط مشخص است.

آیا Benchmark بالاتر همیشه بهتر است؟

خیر.
باید مشخص شود معیار از نوع Score،
Time، Latency یا Throughput است.

Benchmark مصنوعی بهتر است یا واقعی؟

هیچ کدام به صورت مطلق بهتر نیست.
Synthetic برای اندازه گیری کنترل شده مفید است
و Real-World ارتباط مستقیم تری
با بعضی کاربردهای واقعی دارد.

Single-Core مهم تر است یا Multi-Core؟

به Workload بستگی دارد.
بعضی برنامه ها به Performance یک یا چند Thread
حساس تر هستند و بعضی از تعداد Core بیشتر بهره می برند.

چند بار Benchmark را اجرا کنیم؟

عدد ثابت جهانی وجود ندارد.
باید به اندازه ای Run انجام شود
که بتوان پایداری و پراکندگی نتایج را ارزیابی کرد.

چرا Benchmark لپ تاپ در اجرای دوم کمتر می شود؟

افزایش دما،
محدودیت توان
و رسیدن سیستم به شرایط پایدار حرارتی
می توانند Performance را کاهش دهند.

Average بهتر است یا Median؟

هر کدام کاربرد متفاوتی دارند.
Median نسبت به بعضی داده های پرت حساسیت کمتری دارد،
اما انتخاب معیار باید متناسب با داده و روش آزمایش باشد.

Outlier را باید حذف کنیم؟

نه به صورت خودکار.
ابتدا باید مشخص شود
چرا نتیجه غیرعادی ایجاد شده است.

اختلاف 2 درصدی Benchmark مهم است؟

ممکن است اختلاف در محدوده Variation تست باشد
یا در استفاده واقعی اهمیت کمی داشته باشد.
باید پایداری نتایج و اهمیت عملی بررسی شود.

چرا دو سایت برای یک CPU نتایج متفاوت دارند؟

مدل لپ تاپ،
RAM،
Cooling،
Power Limit،
نسخه نرم افزار،
سیستم عامل
و روش تست می توانند متفاوت باشند.

آیا Benchmark کوتاه برای لپ تاپ کافی است؟

برای بررسی Burst Performance مفید است،
اما برای Workload طولانی
باید Sustained Performance نیز آزمایش شود.

برای خرید لپ تاپ کدام Benchmark مهم تر است؟

Benchmarkی که بیشترین شباهت
به Workload واقعی شما داشته باشد
معمولاً اطلاعات کاربردی تری ارائه می دهد.

اصطلاحات جدید این فصل

  • Benchmark: آزمون اندازه گیری Performance.
  • Score: امتیاز تولید شده توسط Benchmark.
  • Throughput: مقدار کار انجام شده در واحد زمان.
  • Latency: زمان انتظار برای انجام یا پاسخ به یک عملیات.
  • Real-World Benchmark: آزمون نزدیک به کاربرد واقعی.
  • Run: یک بار اجرای Benchmark.
  • Run-to-Run Variation: تغییر نتیجه میان اجراهای مختلف.
  • Mean: میانگین حسابی.
  • Median: میانه مجموعه داده.
  • Outlier: داده پرت یا غیرعادی.
  • Variance: معیار پراکندگی داده ها.
  • Standard Deviation: انحراف معیار.
  • Peak Performance: بیشترین Performance قابل دستیابی.
  • Sustained Performance: Performance قابل حفظ در Load طولانی.
  • Burst Performance: Performance کوتاه مدت.
  • Warm-up Run: اجرای آماده سازی پیش از اندازه گیری.
  • JIT Compilation: کامپایل در زمان اجرا.
  • Cold Run: اجرا بدون وضعیت آماده حاصل از Run قبلی.
  • Warm Run: اجرا در شرایط آماده تر ناشی از فعالیت قبلی.
  • Working Set: مجموعه داده های فعال مورد استفاده برنامه.
  • Fan Profile: الگوی کنترل سرعت فن.
  • Temperature Target: دمای هدف سیستم کنترل حرارتی.
  • Benchmark Loop: اجرای چندباره و متوالی Benchmark.
  • Steady State: وضعیت نسبتاً پایدار سیستم پس از مرحله اولیه.
  • Speedup: نسبت افزایش سرعت اجرای یک کار.
  • Baseline: خط مبنای مقایسه.
  • Relative Performance: Performance بیان شده نسبت به یک مرجع.
  • Truncated Axis: محور نمودار بریده شده.
  • Cherry-Picking: انتخاب گزینشی داده ها.
  • Geometric Mean: میانگین هندسی.
  • 1% Low: معیاری برای بررسی بخش کندتر Performance بازی.
  • Percentile: صدک آماری.
  • Spike: جهش کوتاه مدت یک مقدار در نمودار.
  • Margin of Error: حاشیه خطا یا عدم قطعیت برآورد.
  • Statistical Significance: معناداری آماری.
  • Practical Significance: اهمیت عملی یک تفاوت.
  • Compiler: نرم افزار تبدیل و پردازش کد برای ساخت برنامه.
  • Normalization: تبدیل داده ها به مقیاس مشترک برای مقایسه.

خلاصه فصل

Benchmark زمانی ارزش علمی دارد
که بدانیم چه چیزی،
تحت چه شرایطی
و با چه روشی اندازه گیری شده است.

یک Score منفرد
نمی تواند تمام Performance یک CPU را توصیف کند.

Good Benchmarking
=
Controlled Conditions
+
Repeated Runs
+
Relevant Workload
+
Statistical Analysis
+
Correct Interpretation

همچنین در لپ تاپ
باید میان Burst Performance
و Sustained Performance تفاوت قائل شویم.

یک CPU ممکن است
در چند ثانیه اول بسیار سریع باشد،
اما پس از افزایش دما
و رسیدن به محدودیت توان
رفتار متفاوتی نشان دهد.

مهم تر از همه:


Benchmark باید به سوال واقعی کاربر پاسخ دهد.

اگر هدف شما Rendering است،
زمان Render مهم است.
اگر هدف Compilation است،
Build Time اهمیت دارد.
اگر هدف کار تعاملی است،
Latency و Single-Thread Performance
می توانند مهم تر باشند.

بنابراین Benchmark حرفه ای
مسابقه جمع کردن عددهای بزرگ تر نیست؛
بلکه فرآیند اندازه گیری صحیح
Performance مرتبط با یک مسئله واقعی است.


فصل 43
سطح: تخصصی / عملی
موضوع: CPU Monitoring
تمرکز: دما، فرکانس، توان و Throttling

عدد Benchmark می گوید چه اتفاقی افتاده؛ سنسورها کمک می کنند بفهمیم چرا

مانیتورینگ CPU؛ چگونه دما، Clock، Power، Load و محدودیت های پردازنده را بخوانیم؟

وقتی یک لپ تاپ کند می شود، امتیاز Benchmark افت می کند
یا پردازنده به Performance مورد انتظار نمی رسد،
فقط نگاه کردن به درصد استفاده CPU کافی نیست.
برای پیدا کردن علت باید چند داده را هم زمان بررسی کنیم.

Temperature، Clock، Effective Clock، CPU Utilization،
Package Power، Power Limit و Thermal Limit
هر کدام فقط بخشی از رفتار پردازنده را نشان می دهند.

قدرت واقعی مانیتورینگ زمانی آشکار می شود که
رابطه میان این داده ها
را در طول زمان بررسی کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU Monitoring چیست.
  • Sensor چیست و داده سنسور چگونه خوانده می شود.
  • تفاوت Core Temperature و CPU Package Temperature.
  • CPU Utilization دقیقاً چه چیزی را نشان می دهد.
  • تفاوت Clock و Effective Clock.
  • CPU Package Power چیست.
  • VID و Vcore چه تفاوتی دارند.
  • Thermal Limit چیست.
  • Power Limit چیست.
  • Current / Electrical Limit چیست.
  • Thermal Throttling را چگونه تشخیص دهیم.
  • Power Limit Throttling چیست.
  • چرا 100 درصد CPU Usage الزاماً به معنی حداکثر Performance نیست.
  • چرا فرکانس بالا الزاماً به معنی Performance بالا نیست.
  • Average، Minimum و Maximum سنسورها چگونه تفسیر می شوند.
  • Sampling Interval و Polling Rate چیست.
  • چگونه یک Log از رفتار CPU تهیه کنیم.
  • چگونه از روی سنسورها علت افت Performance را پیدا کنیم.

CPU Monitoring چیست؟


معنی Monitoring

Monitoring
یعنی «پایش» یا «نظارت پیوسته».

در بحث CPU،
منظور مشاهده و ثبت متغیرهایی مانند
دما، فرکانس، مصرف توان، میزان استفاده
و وضعیت محدودیت های پردازنده در طول زمان است.

یک Snapshot یا مشاهده لحظه ای
ممکن است اطلاعات مفیدی بدهد،
اما برای بسیاری از مشکلات کافی نیست.

برای مثال ممکن است در لحظه ای که شما نرم افزار مانیتورینگ را نگاه می کنید
CPU روی 3.8 GHz باشد،
در حالی که چند ثانیه قبل هنگام افت Performance
به 2.4 GHz رسیده بوده است.

به همین دلیل در عیب یابی حرفه ای،
رفتار CPU در طول زمان
اهمیت زیادی دارد.

Sensor چیست؟


Sensor چیست؟

Sensor
یا «حسگر»
مکانیزمی برای اندازه گیری یا گزارش یک وضعیت فیزیکی
یا عملیاتی سیستم است.

در ابزارهای مانیتورینگ،
واژه Sensor گاهی به صورت گسترده تر
برای داده های گزارش شده توسط سخت افزار،
Firmware یا سیستم نیز استفاده می شود.

مهم ترین داده هایی که باید هم زمان بررسی شوند

داده چه چیزی نشان می دهد؟
CPU Utilization میزان مشغول بودن منابع پردازشی
Core Temperature دمای گزارش شده برای هسته ها
CPU Package Temperature دمای گزارش شده برای مجموعه پردازنده
Core Clock فرکانس گزارش شده هسته
Effective Clock فرکانس مؤثر در بازه اندازه گیری
CPU Package Power توان گزارش شده برای Package پردازنده
Voltage اطلاعات مرتبط با ولتاژ
Thermal Limit وجود محدودیت مرتبط با دما
Power Limit وجود محدودیت مرتبط با توان
Current / Electrical Limit وجود محدودیت الکتریکی یا جریان

CPU Utilization چیست؟


Utilization چیست؟

Utilization
در این Context
به معنی «میزان استفاده» یا «درگیری» منابع پردازشی است.

CPU Utilization معمولاً به صورت درصد نمایش داده می شود،
اما تفسیر دقیق آن به سیستم عامل،
ابزار مانیتورینگ و معماری CPU بستگی دارد.

مشاهده 100 درصد CPU Usage
به تنهایی به این معنی نیست که پردازنده
حتماً در بالاترین Performance ممکن کار می کند.

ممکن است CPU کاملاً درگیر باشد،
اما به دلیل محدودیت توان یا دما
نتواند Clock بالاتری حفظ کند.

Under the Hood — چرا 100% CPU Usage می تواند همراه Performance پایین باشد؟

High Utilization
+
Low Effective Clock
=
CPU Busy
But Not Necessarily Fast

فرض کنید یک CPU
تحت Load کامل قرار دارد،
اما به دلیل رسیدن به Power Limit
فرکانس خود را کاهش داده است.

Task Manager ممکن است همچنان
استفاده بسیار بالای CPU را نشان دهد،
اما Performance واقعی کمتر شده باشد.

Core Temperature چیست؟


Core Temperature

Core Temperature
یا «دمای هسته»
دمای گزارش شده مرتبط با هسته های پردازنده است.

در یک CPU چند هسته ای
ممکن است دمای هسته ها دقیقاً یکسان نباشد.

CPU Package Temperature چیست؟


Package Temperature

CPU Package Temperature
دمایی است که ابزار مانیتورینگ
برای Package یا مجموعه پردازنده گزارش می کند.

این مقدار نباید به صورت ساده
«میانگین دمای تمام Coreها» فرض شود؛
نحوه گزارش آن به CPU و ابزار مانیتورینگ بستگی دارد.

Hottest Core چیست؟


Hottest Core

Hottest Core
یعنی «داغ ترین هسته»
در میان Coreهای پردازنده
در لحظه یا بازه مورد بررسی.

اختلاف چند درجه میان Coreها
الزاماً نشانه خرابی نیست.

Workload، محل قرارگیری هسته ها،
رفتار Boost و طراحی داخلی CPU
می توانند باعث اختلاف دما شوند.

TjMax چیست؟


TjMax

TjMax
مخفف Maximum Junction Temperature است.

در فارسی می توان آن را
«حداکثر دمای اتصال یا Junction»
در نظر گرفت.

این مفهوم به محدوده دمایی مربوط است
که مکانیزم های مدیریت حرارتی پردازنده
بر اساس طراحی آن عمل می کنند.

Common Mistake — استفاده از یک عدد ثابت برای دمای مجاز تمام CPUها

نمی توان گفت مثلاً «تمام CPUها در دمای X خطرناک هستند».

حدود حرارتی میان مدل ها،
نسل ها و طراحی های مختلف متفاوت است.

برای تحلیل دقیق باید مشخصات همان پردازنده بررسی شود.


Distance to TjMax چیست؟

Distance to TjMax
یعنی فاصله دمای فعلی
تا حد مرجع TjMax.

هرچه این فاصله کمتر شود،
CPU به محدوده حرارتی بالاتری نزدیک تر شده است.

Clock در ابزار مانیتورینگ چه معنایی دارد؟

Clock یا «فرکانس کلاک»
نشان دهنده نرخ چرخه های زمانی پردازنده است.

اما عددی که یک ابزار به عنوان Clock نمایش می دهد
همیشه به تنهایی بیانگر میزان واقعی کار انجام شده نیست.

Effective Clock چیست؟


Effective Clock

Effective Clock
یا «فرکانس مؤثر»
تلاش می کند فعالیت واقعی Core
را در یک بازه زمانی بهتر منعکس کند.

یک Core ممکن است
Clock اسمی بالایی گزارش کند،
اما بخشی از زمان در حالت انتظار یا Sleep باشد.

Under the Hood — Clock بالا الزاماً یعنی Core تمام مدت با همان سرعت کار نکرده است

تصور کنید ابزار مقدار زیر را نشان دهد:

Reported Clock = 4.0 GHz

اما Core در تمام بازه اندازه گیری
مشغول اجرای Instruction نبوده باشد.

Effective Clock می تواند
تصویر دقیق تری از فعالیت مؤثر
در آن بازه ارائه دهد.

به همین دلیل هنگام تحلیل رفتار CPU،
مخصوصاً در Loadهای متغیر،
نگاه کردن هم زمان به Clock،
Effective Clock و Utilization مفید است.

Residency چیست؟


Residency

Residency
در این Context
به مدت یا درصد زمانی اشاره دارد
که CPU یا Core در یک وضعیت مشخص
مانند یکی از C-Stateها قرار داشته است.

بررسی Residency می تواند کمک کند بفهمیم
CPU چه مقدار از زمان را فعال
و چه مقدار را در حالت های کم مصرف سپری کرده است.


C-State چیست؟

C-State
به حالت های مختلف بیکاری و کاهش مصرف پردازنده گفته می شود.

به طور کلی،
ورود به حالت های عمیق تر می تواند مصرف انرژی را کاهش دهد،
اما جزئیات رفتار به معماری و پلتفرم وابسته است.

CPU Package Power چیست؟


CPU Package Power

CPU Package Power
تخمینی یا گزارشی از توان مصرفی بخش های مرتبط با
Package پردازنده است.

مقدار و نحوه محاسبه دقیق آن
به معماری CPU و روش گزارش ابزار بستگی دارد.

Package Power
یکی از مهم ترین داده ها
برای تحلیل Performance لپ تاپ است.

اگر دو لپ تاپ CPU یکسانی داشته باشند
ولی یکی اجازه دهد پردازنده
توان بیشتری را برای مدت طولانی حفظ کند،
ممکن است Performance چند هسته ای متفاوتی داشته باشند.

Power Limit چیست؟


Power Limit

Power Limit
یا «محدودیت توان»
محدودیتی است که سیستم
برای میزان یا الگوی مصرف توان پردازنده اعمال می کند.

رسیدن به Power Limit
الزاماً نشانه خرابی نیست.

این محدودیت می تواند
بخشی طبیعی از طراحی مدیریت توان دستگاه باشد.

PL1 و PL2 چه هستند؟


PL1 / PL2

در بسیاری از پردازنده ها و پلتفرم های Intel،
اصطلاحات PL1 و PL2
برای محدودیت های مرتبط با توان استفاده شده اند.

به صورت مفهومی،
یکی می تواند با رفتار توانی طولانی تر
و دیگری با اجازه توان بالاتر در بازه کوتاه تر مرتبط باشد،
اما پیاده سازی دقیق در نسل ها و دستگاه های مختلف
می تواند متفاوت باشد.

Engineering Insight — TDP را با Power Limit یکی ندانید

TDP، Package Power و Power Limit
مفاهیم مرتبط اما یکسانی نیستند.

یک CPU ممکن است در بخشی از Load
توانی متفاوت از عدد TDP اسمی خود داشته باشد.

برای فهم رفتار واقعی،
باید داده های همان دستگاه
در همان Workload بررسی شوند.

Thermal Limit چیست؟


Thermal Limit

Thermal Limit
یا «محدودیت حرارتی»
به شرایطی اشاره دارد که
کنترل Performance تحت تأثیر
محدودیت های دمایی قرار گرفته است.

Thermal Throttling را چگونه تشخیص دهیم؟


Thermal Throttling

Thermal Throttling
یا «کاهش عملکرد ناشی از محدودیت حرارتی»
زمانی رخ می دهد که سیستم
برای کنترل شرایط حرارتی،
Performance پردازنده را محدود کند.

تشخیص آن نباید فقط بر اساس
مشاهده یک دمای بالا انجام شود.

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

High Temperature
+
Thermal Limit Flag
+
Clock / Effective Clock Reduction
+
Performance Drop


Flag چیست؟

Flag
در نرم افزارهای مانیتورینگ
به یک نشانگر وضعیت گفته می شود
که فعال یا غیرفعال بودن یک شرایط خاص را گزارش می کند.

برای مثال Thermal Throttling Flag
می تواند نشان دهد
یک محدودیت حرارتی ثبت شده است.

Power Limit Throttling چیست؟


Power Limit Throttling

Power Limit Throttling
به محدود شدن Performance
در اثر رسیدن سیستم
به یکی از محدودیت های توان گفته می شود.

در این حالت ممکن است CPU
هنوز از نظر دما فاصله قابل توجهی
با سقف حرارتی خود داشته باشد،
اما نتواند Clock بیشتری حفظ کند.

وضعیت Thermal Limited Power Limited
عامل اصلی محدودیت حرارتی محدودیت توان
دمای بالا اغلب مرتبط الزاماً نه
Clock ممکن است کاهش یابد؟ بله بله
نشانه خرابی است؟ الزاماً نه الزاماً نه
نیاز به بررسی Cooling دارد؟ اغلب مهم ممکن است عامل اصلی نباشد

Current Limit و Electrical Limit چیست؟


Current / Electrical Limit

این اصطلاحات به محدودیت هایی مربوط می شوند
که با جریان، توان رسانی یا شرایط الکتریکی
پلتفرم ارتباط دارند.

نام دقیق Flagها
و نحوه عملکرد آنها
میان معماری ها و ابزارهای مختلف متفاوت است.

Voltage در مانیتورینگ CPU چه معنایی دارد؟

Voltage یعنی «ولتاژ».

اما هنگام مشاهده نرم افزار مانیتورینگ
باید دقیقاً بدانیم
کدام نوع Voltage نمایش داده شده است.

تمام اعداد Voltage
معنای یکسانی ندارند.

VID چیست؟


VID

VID
معمولاً به Voltage Identification
و مقدار ولتاژ درخواستی یا هدف
در سازوکار کنترل ولتاژ اشاره دارد.

VID را نباید بدون توجه به پلتفرم
دقیقاً معادل ولتاژ واقعی تحویلی به CPU دانست.

Vcore چیست؟


Vcore

Vcore
اصطلاحی برای ولتاژ Core پردازنده است.

مقدار نمایش داده شده تحت عنوان Vcore
می تواند به روش اندازه گیری،
مادربرد، Controller
و نرم افزار مانیتورینگ وابسته باشد.

Common Mistake — VID و Vcore را یک عدد فرض نکنید

ممکن است در یک ابزار
VID و Vcore هم زمان نمایش داده شوند
و مقادیر آنها یکسان نباشد.

این اختلاف الزاماً نشانه مشکل نیست،
زیرا این دو داده ممکن است
مفاهیم و نقاط اندازه گیری متفاوتی داشته باشند.

Current، Minimum، Maximum و Average چه هستند؟

ستون معنی
Current مقدار فعلی یا آخرین مقدار ثبت شده
Minimum کمترین مقدار ثبت شده در بازه
Maximum بیشترین مقدار ثبت شده در بازه
Average میانگین مقادیر ثبت شده طبق روش ابزار
Engineering Insight — Maximum به تنهایی داستان را تعریف نمی کند

فرض کنید Maximum Temperature برابر 96°C باشد.

از این عدد به تنهایی نمی دانیم
CPU فقط برای کسری از زمان به 96 درجه رسیده
یا برای مدت طولانی در آن محدوده بوده است.

برای تحلیل بهتر باید Duration،
Average Temperature،
Clock،
Power
و وضعیت Limitها را نیز بررسی کنیم.

Sampling Interval چیست؟


Sampling Interval

Sampling Interval
یا «فاصله نمونه برداری»
مدت زمان میان دو بار ثبت یا خواندن داده است.

برای مثال اگر ابزار
هر یک ثانیه داده را ثبت کند،
فاصله نمونه برداری تقریباً یک ثانیه است.


Polling چیست؟

Polling
در این Context
به فرآیند پرس و جو یا خواندن دوره ای
وضعیت سنسورها گفته می شود.

Polling Rate
بیان می کند این خواندن
با چه نرخ یا تناوبی انجام می شود.

Under the Hood — فاصله نمونه برداری می تواند Spikeها را پنهان کند

فرض کنید یک جهش دمایی
فقط 200 میلی ثانیه طول بکشد،
اما ابزار هر دو ثانیه
یک بار داده ثبت کند.

ممکن است آن رویداد کوتاه
اصلاً در Log دیده نشود.

بنابراین داده مانیتورینگ
همیشه باید در Context
روش نمونه برداری تفسیر شود.

Logging چیست و چرا برای عیب یابی مهم است؟


Logging

Logging
یا «ثبت داده»
یعنی ذخیره مقادیر سنسورها
در طول زمان برای بررسی بعدی.

Logging بسیار مفید است،
زیرا هنگام اجرای Benchmark
نمی توان ده ها Sensor را
به صورت هم زمان با چشم دنبال کرد.

بعد از تست می توان بررسی کرد:

  • افت Performance دقیقاً چه زمانی اتفاق افتاده است.
  • در همان لحظه Temperature چقدر بوده است.
  • Package Power چگونه تغییر کرده است.
  • Clock و Effective Clock چه رفتاری داشته اند.
  • آیا Thermal یا Power Limit فعال شده است.

Correlation در تحلیل سنسورها چیست؟


Correlation

Correlation
یا «همبستگی»
به وجود رابطه یا تغییر هم زمان
میان متغیرها اشاره دارد.

مشاهده همبستگی
به تنهایی اثبات نمی کند
که یک متغیر علت دیگری بوده است.


Causation چیست؟

Causation
یا «رابطه علت و معلولی»
یعنی تغییر یک عامل
واقعاً موجب تغییر عامل دیگری شده باشد.

Common Mistake — Correlation را با Causation اشتباه نگیرید

اگر هم زمان با افزایش دما
Clock کاهش پیدا کند،
احتمال ارتباط وجود دارد،
اما برای نتیجه گیری بهتر
باید Thermal Limit Flag،
Power Limit و سایر داده ها نیز بررسی شوند.

روش Timeline برای عیب یابی CPU

یکی از بهترین روش های تحلیل،
قرار دادن داده ها روی یک خط زمانی مشترک است.

Time
→
Performance
+
Temperature
+
Effective Clock
+
Package Power
+
Limit Flags

حالا می توانیم ببینیم
قبل، هنگام و بعد از افت Performance
چه اتفاقی افتاده است.

سناریو 1: افت Performance ناشی از محدودیت حرارتی

Under the Hood — الگوی احتمالی Thermal Limitation

CPU Load ↑
→
Package Power ↑
→
Temperature ↑
→
Thermal Limit
→
Effective Clock ↓
→
Benchmark Performance ↓

این زنجیره داده
بسیار مفیدتر از مشاهده صرف
یک عدد دمای بالا است.

سناریو 2: افت Performance ناشی از Power Limit

Under the Hood — الگوی احتمالی Power Limitation

CPU Load ↑
→
Power Reaches Limit
→
Power Limit Flag
→
Effective Clock Stabilizes Lower
→
Sustained Performance Stabilizes

در این سناریو
Temperature الزاماً به سقف حرارتی نمی رسد.

سناریو 3: CPU سریع است اما Utilization پایین مانده

اگر CPU Utilization پایین باشد،
ولی برنامه کند اجرا شود،
نباید فوراً CPU را مقصر بدانیم.

ممکن است Workload:

  • Single-Thread Limited باشد.
  • منتظر Storage باشد.
  • منتظر RAM یا Memory Access باشد.
  • منتظر GPU باشد.
  • منتظر Network باشد.
  • به دلیل ساختار نرم افزار نتواند از تمام Coreها استفاده کند.


Wait State در تحلیل Performance

به زبان ساده،
ممکن است CPU آماده انجام کار باشد
اما برای دریافت داده یا تکمیل یک رویداد دیگر منتظر بماند.

بنابراین Utilization پایین
همیشه به معنی «CPU بیش از حد قدرتمند است» نیست.

چگونه محدودیت Single-Thread را تشخیص دهیم؟

یکی از اشتباهات رایج این است که فقط
Total CPU Usage را نگاه کنیم.

فرض کنید یک CPU هشت Thread داشته باشد
و نرم افزار عمدتاً فقط یک Thread را سنگین کند.

Total Usage ممکن است پایین به نظر برسد،
در حالی که یک Logical Processor
تقریباً کاملاً درگیر است.

Engineering Insight — Total CPU Usage می تواند Bottleneck تک Thread را پنهان کند

هنگام بررسی برنامه هایی که
Scaling چند هسته ای محدودی دارند،
Utilization هر Core یا Thread
را جداگانه بررسی کنید.

Low Total CPU Usage
≠
CPU Is Not The Bottleneck


Logical Processor چیست؟

Logical Processor
یا «پردازنده منطقی»
واحد اجرایی است که سیستم عامل
برای زمان بندی Threadها مشاهده می کند.

در پردازنده های دارای SMT یا Hyper-Threading،
تعداد Logical Processorها
می تواند بیشتر از تعداد Coreهای فیزیکی باشد.

چرا قبل از Benchmark باید Min/Max سنسورها Reset شوند؟

اگر Maximum Temperature
مربوط به فعالیتی قبل از Benchmark باشد،
ممکن است تحلیل اشتباهی انجام دهیم.

بنابراین بهتر است پیش از تست:

Reset Sensor Statistics
→
Start Logging
→
Start Benchmark
→
Stop Benchmark
→
Stop Logging
→
Analyze

پروتکل عملی مانیتورینگ CPU

01
Workload را مشخص کنیدبدانید قرار است چه مشکل یا Performanceای بررسی شود.
02
Power Mode را ثبت کنیدحالت توان می تواند رفتار CPU را تغییر دهد.
03
AC یا Battery را مشخص کنیدتست لپ تاپ بدون ثبت این مورد ناقص است.
04
سنسورهای قبلی را Reset کنیدMin و Max مربوط به تست قبلی نباشند.
05
Logging را فعال کنیدداده ها باید در طول تست ثبت شوند.
06
Temperature را ثبت کنیدCore و Package Temperature را بررسی کنید.
07
Clock را ثبت کنیدClock و در صورت امکان Effective Clock را بررسی کنید.
08
Package Power را ثبت کنیدرفتار توان را در طول تست مشاهده کنید.
09
Utilization را ثبت کنیدTotal و در صورت نیاز Per-Core را بررسی کنید.
10
Limit Flags را ثبت کنیدThermal، Power و Electrical Limitها را بررسی کنید.
11
Benchmark را اجرا کنیدPerformance و Sensor Data باید مربوط به یک بازه زمانی باشند.
12
Timeline را بررسی کنیدزمان افت Performance را با تغییر سنسورها تطبیق دهید.
13
علت احتمالی را مشخص کنیدThermal، Power، Single-Thread، Memory یا عامل دیگر.
14
فرضیه را دوباره آزمایش کنیدیک تغییر کنترل شده انجام دهید و تست را تکرار کنید.

چرا در عیب یابی باید هر بار فقط یک متغیر را تغییر دهیم؟

فرض کنید هم زمان:

  • خمیر حرارتی را عوض کنیم،
  • Power Mode را تغییر دهیم،
  • RAM اضافه کنیم،
  • BIOS را Update کنیم،
  • و Windows را نیز تغییر دهیم.

اگر Performance بهتر شود،
دیگر نمی دانیم کدام تغییر علت اصلی بوده است.

Engineering Insight — One Variable at a Time

One Variable at a Time
یعنی «هر بار یک متغیر».

در عیب یابی کنترل شده،
بهتر است یک عامل تغییر کند،
تست تکرار شود
و اثر آن اندازه گیری گردد.

مانیتورینگ CPU در لپ تاپ استوک چه کاربردی دارد؟

در یک لپ تاپ استوک،
فقط دانستن مدل CPU کافی نیست.

دو دستگاه هم مدل
می توانند به دلیل وضعیت نگهداری،
سیستم خنک کننده،
گردوغبار،
Fan،
Thermal Interface
یا تنظیمات Firmware
رفتار متفاوتی داشته باشند.


Thermal Interface چیست؟

Thermal Interface
یا «رابط انتقال حرارت»
ماده یا ساختاری است که
انتقال حرارت میان سطح تراشه
و سیستم خنک کننده را بهبود می دهد.

Thermal Paste یا «خمیر حرارتی»
یکی از نمونه های رایج آن است.

Performance Impact — تست حرارتی می تواند کیفیت عملکرد واقعی لپ تاپ استوک را آشکار کند

اگر لپ تاپی در تست کوتاه
Performance خوبی داشته باشد،
اما پس از چند دقیقه
Clock و Performance آن به شدت افت کند،
بررسی Cooling اهمیت پیدا می کند.

در مقابل،
دستگاهی که Performance را
در Load طولانی بهتر حفظ می کند
می تواند برای کارهای مهندسی،
Rendering و پردازش های طولانی
انتخاب مناسب تری باشد.

ماتریس سریع تشخیص رفتار CPU

مشاهده احتمال قابل بررسی
دما بالا + Thermal Flag + افت Clock محدودیت حرارتی
دما متوسط + Power Flag + افت/تثبیت Clock Power Limit
Total Usage پایین + یک Thread بسیار درگیر Single-Thread Bottleneck
CPU Usage پایین + GPU Usage بسیار بالا احتمال GPU Bottleneck
CPU Usage پایین + Storage Activity بالا احتمال انتظار برای Storage
Clock بالا + Effective Clock پایین نیاز به بررسی فعالیت واقعی Core و Idle State
Performance خوب در ابتدا + افت تدریجی بررسی Thermal / Power Sustainability
Performance ناپایدار بین Runها بررسی دما، Background Task، Power و شرایط تست

این جدول ابزار تشخیص قطعی نیست.
هر ردیف یک فرضیه برای بررسی ایجاد می کند،
نه یک حکم نهایی.

Common Mistakes — اشتباهات رایج در مانیتورینگ CPU
  • نگاه کردن فقط به Temperature.
  • نگاه کردن فقط به CPU Usage.
  • فرض اینکه 100% Usage یعنی حداکثر Performance.
  • فرض اینکه Clock بالا همیشه یعنی Performance بالا.
  • نادیده گرفتن Effective Clock.
  • مقایسه VID با Vcore بدون شناخت تفاوت آنها.
  • برابر دانستن TDP و Package Power.
  • برابر دانستن TDP و Power Limit.
  • فرض اینکه هر Power Limit نشانه خرابی است.
  • فرض اینکه هر دمای بالا Thermal Throttling است.
  • نادیده گرفتن Thermal Flag.
  • نادیده گرفتن Power Limit Flag.
  • استفاده از Maximum Temperature بدون Timeline.
  • استفاده از Sensor Data مربوط به قبل از Benchmark.
  • Reset نکردن Min/Max قبل از تست.
  • تغییر چند عامل به صورت هم زمان هنگام عیب یابی.
  • استفاده از یک Run برای نتیجه گیری.
  • نادیده گرفتن Per-Core Utilization.
  • فرض اینکه Total CPU Usage پایین یعنی CPU Bottleneck وجود ندارد.

سوالات متداول مانیتورینگ CPU

برای بررسی CPU فقط دما را نگاه کنیم؟

خیر. Temperature باید همراه Clock،
Effective Clock، Power، Utilization
و Limit Flags بررسی شود.

CPU Usage صد درصد یعنی پردازنده با حداکثر قدرت کار می کند؟

الزاماً خیر.
CPU می تواند کاملاً درگیر باشد
اما تحت محدودیت توان یا حرارت
Performance کمتری ارائه دهد.

Core Temperature و Package Temperature یکی هستند؟

خیر.
این دو داده مفاهیم متفاوتی دارند
و نحوه گزارش آنها نیز به پلتفرم وابسته است.

آیا رسیدن به Power Limit نشانه خرابی لپ تاپ است؟

خیر.
Power Limit می تواند
بخشی طبیعی از طراحی مدیریت توان دستگاه باشد.

Thermal Throttling را فقط از روی دما می توان تشخیص داد؟

بهتر است خیر.
دما باید همراه Thermal Flag،
Clock و افت Performance بررسی شود.

چرا Clock و Effective Clock متفاوت هستند؟

زیرا Clock گزارش شده
لزوماً میزان فعالیت مؤثر Core
در تمام بازه نمونه برداری را نشان نمی دهد.

VID همان Vcore است؟

الزاماً خیر.
VID معمولاً با ولتاژ درخواستی یا هدف مرتبط است،
در حالی که Vcore به ولتاژ Core اشاره دارد
و روش گزارش آن می تواند متفاوت باشد.

چرا Maximum Temperature به تنهایی کافی نیست؟

زیرا مشخص نمی کند CPU
چه مدت در آن دما بوده
و در همان زمان Clock، Power
و Performance چه وضعیتی داشته اند.

Logging چه فایده ای دارد؟

امکان بررسی رفتار سنسورها در طول زمان
و تطبیق آنها با لحظه افت Performance را فراهم می کند.

چرا Total CPU Usage پایین است ولی برنامه کند اجرا می شود؟

ممکن است برنامه به یک Thread محدود باشد
یا منتظر GPU، Storage، Memory،
Network یا منبع دیگری باشد.

آیا دمای CPU دو لپ تاپ با پردازنده یکسان باید برابر باشد؟

خیر.
Cooling، Power Limit، طراحی بدنه،
Fan Profile و شرایط محیط می توانند متفاوت باشند.

برای بررسی لپ تاپ استوک تست کوتاه کافی است؟

خیر.
تست کوتاه Burst Performance را نشان می دهد،
اما برای بررسی Cooling و Performance پایدار
تست طولانی نیز ارزش زیادی دارد.

اصطلاحات جدید این فصل

  • Monitoring: پایش و نظارت بر رفتار سیستم در طول زمان.
  • Sensor: حسگر یا منبع گزارش یک وضعیت.
  • Utilization: میزان استفاده یا درگیری منبع پردازشی.
  • Core Temperature: دمای گزارش شده مرتبط با هسته CPU.
  • Package Temperature: دمای گزارش شده برای Package پردازنده.
  • Hottest Core: داغ ترین Core در میان هسته ها.
  • TjMax: حداکثر دمای Junction مرجع پردازنده.
  • Distance to TjMax: فاصله دمای فعلی تا TjMax.
  • Clock: فرکانس کلاک پردازنده.
  • Effective Clock: فرکانس مؤثر در بازه اندازه گیری.
  • Residency: مدت یا درصد حضور در یک وضعیت مشخص.
  • C-State: حالت های بیکاری و مدیریت مصرف CPU.
  • Package Power: توان گزارش شده برای Package پردازنده.
  • Power Limit: محدودیت اعمال شده بر رفتار توانی پردازنده.
  • PL1 / PL2: اصطلاحات مرتبط با محدودیت های توان در بسیاری از پلتفرم های Intel.
  • Thermal Limit: محدودیت مرتبط با شرایط حرارتی.
  • Thermal Throttling: کاهش Performance برای کنترل محدودیت حرارتی.
  • Power Limit Throttling: محدود شدن Performance در اثر محدودیت توان.
  • Current Limit: محدودیت مرتبط با جریان.
  • Electrical Limit: محدودیت مرتبط با شرایط الکتریکی.
  • Voltage: ولتاژ.
  • VID: داده مرتبط با ولتاژ درخواستی یا هدف CPU.
  • Vcore: ولتاژ مرتبط با Core پردازنده.
  • Sampling Interval: فاصله زمانی بین نمونه برداری ها.
  • Polling: خواندن دوره ای داده ها.
  • Polling Rate: نرخ خواندن دوره ای داده ها.
  • Logging: ثبت داده در طول زمان.
  • Correlation: همبستگی میان متغیرها.
  • Causation: رابطه علت و معلولی.
  • Flag: نشانگر فعال یا غیرفعال بودن یک وضعیت.
  • Logical Processor: واحد پردازشی منطقی قابل مشاهده برای سیستم عامل.
  • Thermal Interface: رابط انتقال حرارت میان تراشه و سیستم خنک کننده.
  • One Variable at a Time: روش تغییر یک متغیر در هر مرحله آزمایش.

خلاصه فصل

مانیتورینگ CPU
فقط نگاه کردن به یک عدد دما یا فرکانس نیست.

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

CPU Diagnosis
=
Workload
+
Utilization
+
Temperature
+
Effective Clock
+
Package Power
+
Limit Flags
+
Timeline

اگر Performance کاهش پیدا کند،
سؤال درست این نیست که
«دمای CPU چقدر بود؟»

سؤال دقیق تر این است:


در لحظه افت Performance،
دما، توان، Clock، Effective Clock،
Utilization و Limit Flags
چه تغییری کردند؟

این طرز نگاه،
مانیتورینگ را از مشاهده چند عدد
به یک ابزار واقعی برای
عیب یابی مهندسی
تبدیل می کند.


فصل 44
سطح: تخصصی / عملی
موضوع: CPU Stress Test
تمرکز: Stability، Cooling و تشخیص خطا

عبور از Benchmark؛ آیا سیستم می تواند Performance خود را بدون خطا حفظ کند؟

Stress Test پردازنده؛ چگونه پایداری، حرارت و سلامت عملکرد CPU را بررسی کنیم؟

Benchmark معمولاً برای اندازه گیری Performance طراحی می شود،
اما Stress Test هدف متفاوتی دارد:
قرار دادن CPU یا بخش مشخصی از سیستم تحت فشار کنترل شده
برای بررسی پایداری، رفتار حرارتی، محدودیت توان
و احتمال بروز خطا.

یک لپ تاپ ممکن است Benchmark کوتاهی را با موفقیت تمام کند،
اما پس از چند دقیقه Load سنگین
دچار افت شدید Performance، Error، Freeze
یا حتی خاموش شدن شود.

بنابراین در ارزیابی حرفه ای CPU،
مخصوصاً در لپ تاپ استوک،
Benchmark و Stress Test دو ابزار مکمل هستند،
نه جایگزین یکدیگر.

در این فصل چه چیزهایی یاد می گیریم؟

  • Stress Test چیست.
  • تفاوت Stress Test و Benchmark.
  • Stability یا پایداری سیستم دقیقاً چیست.
  • Stress Workload چیست.
  • چرا همه Stress Testها فشار یکسانی ایجاد نمی کنند.
  • تفاوت CPU Stress و Thermal Stress.
  • Power Stress چیست.
  • Combined Load چیست.
  • چرا تست CPU+GPU برای لپ تاپ اهمیت دارد.
  • Crash، Freeze و BSOD چه هستند.
  • WHEA چیست و چرا در عیب یابی اهمیت دارد.
  • Calculation Error چیست.
  • Hardware Error چیست.
  • Thermal Throttling در Stress Test چگونه بررسی می شود.
  • Power Limit در تست طولانی چه معنایی دارد.
  • چگونه Cooling لپ تاپ استوک را آزمایش کنیم.
  • چرا عبور از یک Stress Test سلامت کامل سیستم را ثابت نمی کند.
  • چه زمانی باید Stress Test را متوقف کرد.
  • چگونه گزارش استاندارد Stress Test تهیه کنیم.

Stress Test چیست؟


معنی Stress Test

Stress Test
را می توان «آزمون فشار» ترجمه کرد.

در این روش،
سخت افزار با یک Workload سنگین و کنترل شده
برای مدتی مشخص تحت بار قرار می گیرد
تا رفتار آن در شرایط دشوار بررسی شود.

هدف Stress Test می تواند یکی یا چند مورد باشد:

  • بررسی Stability پردازنده.
  • بررسی Cooling.
  • مشاهده Sustained Performance.
  • بررسی Thermal Throttling.
  • بررسی Power Limit.
  • کشف خطاهایی که در استفاده کوتاه ظاهر نمی شوند.
  • بررسی رفتار سیستم پس از تعمیر یا سرویس.

Stability چیست؟


Stability

Stability
یعنی «پایداری».

در این Context،
سیستم پایدار سیستمی است که
Workload مورد نظر را
در شرایط تعریف شده
بدون خطای غیرمنتظره اجرا کند.

اما عبارت «این سیستم Stable است»
بدون Context ناقص است.

بهتر است بگوییم:


این سیستم در فلان تست،
با فلان تنظیمات،
برای فلان مدت،
بدون خطای مشاهده شده کار کرده است.

Engineering Insight — Pass شدن Stress Test اثبات سلامت مطلق نیست

هیچ Stress Test منفردی
تمام حالت های ممکن استفاده از یک سیستم را پوشش نمی دهد.

ممکن است دستگاه
یک تست سنگین CPU را بدون مشکل اجرا کند،
اما در Workload دیگری
که Memory، GPU یا بخش دیگری را متفاوت درگیر می کند
دچار خطا شود.

Pass One Stress Test
≠
Proof Of Perfect Hardware

نتیجه صحیح این است:

در شرایط همان آزمایش،
خطایی مشاهده نشد.

تفاوت Benchmark و Stress Test چیست؟

ویژگی Benchmark Stress Test
هدف اصلی اندازه گیری Performance بررسی رفتار تحت فشار و پایداری
خروجی رایج Score / Time / Throughput Pass / Error / رفتار سیستم
مدت اجرا اغلب مشخص و محدود می تواند طولانی تر باشد
فشار حرارتی وابسته به Benchmark اغلب یکی از اهداف تست است
بررسی Stability هدف اصلی نیست یکی از اهداف اصلی
مقایسه سرعت CPUها مناسب تر هدف اصلی نیست

Stress Workload چیست؟


Stress Workload

Stress Workload
یعنی بار کاری طراحی شده
برای ایجاد فشار قابل توجه
روی یک یا چند بخش سیستم.

نوع Workload تعیین می کند
کدام قسمت پردازنده بیشتر تحت فشار قرار بگیرد.

برای مثال دو تستی که هر دو
100 درصد CPU Usage نشان می دهند
الزاماً فشار یکسانی ایجاد نمی کنند.

Under the Hood — چرا دو Load صددرصدی رفتار متفاوت دارند؟

CPU Usage فقط میزان درگیری را نشان می دهد،
نه نوع Instructionهایی که اجرا می شوند.

دو Workload می توانند
هر دو تمام Coreها را درگیر کنند،
اما مصرف توان،
دما،
Memory Traffic
و فشار وارد شده به Execution Unitها
متفاوت باشد.

100% Utilization
≠
Same Workload
≠
Same Power
≠
Same Temperature

Instruction Mix چیست؟


Instruction Mix

Instruction Mix
یا «ترکیب دستورها»
به نوع و نسبت Instructionهایی گفته می شود
که یک برنامه هنگام اجرا استفاده می کند.

Workloadهای مختلف
ترکیب دستورهای متفاوتی دارند
و بنابراین می توانند
رفتار توان و حرارت متفاوتی ایجاد کنند.

چرا بعضی Stress Testها CPU را بسیار داغ تر می کنند؟

یکی از دلایل می تواند
نوع Instruction مورد استفاده باشد.

برخی Workloadهای برداری سنگین
می توانند بخش بزرگی از منابع محاسباتی CPU را درگیر کنند
و مصرف توان بالایی ایجاد کنند.


AVX چیست؟

AVX
مخفف Advanced Vector Extensions
یا «افزونه های پیشرفته برداری» است.

این مجموعه دستورها
برای انجام برخی محاسبات برداری
روی چند داده به صورت موازی طراحی شده است.


Vector Operation چیست؟

Vector Operation
یا «عملیات برداری»
عملیاتی است که می تواند
یک دستور را روی مجموعه ای از داده ها
به شکل موازی اعمال کند.

Common Mistake — داغ ترین Stress Test الزاماً واقعی ترین تست نیست

ایجاد بیشترین دمای ممکن
همیشه هدف صحیح نیست.

Workload بسیار سنگین می تواند
برای بررسی محدوده های حرارتی مفید باشد،
اما ممکن است رفتار نرم افزارهای روزمره کاربر را
به خوبی نمایندگی نکند.

بنابراین باید میان
Worst-Case Stress
و
Realistic Sustained Load
تفاوت قائل شویم.


Worst-Case Stress چیست؟

Worst-Case Stress
یعنی آزمونی که تلاش می کند
شرایط بسیار سنگین یا نزدیک به بدترین حالت
برای بخش مورد نظر ایجاد کند.


Realistic Sustained Load چیست؟

Realistic Sustained Load
یا «بار پایدار نزدیک به استفاده واقعی»
Workload سنگینی است که
رفتار کاربرد واقعی مورد نظر را
بهتر شبیه سازی می کند.

Thermal Stress چیست؟


Thermal Stress

Thermal Stress
یا «فشار حرارتی»
شرایطی است که در آن
سیستم خنک کننده باید
گرمای تولید شده تحت Load را دفع کند.

در این تست سؤال اصلی فقط این نیست که
«CPU چند درجه شد؟»

بلکه باید بررسی کنیم:

  • دمای اولیه چقدر بود؟
  • دما با چه سرعتی افزایش یافت؟
  • در چه محدوده ای تثبیت شد؟
  • Fan چگونه واکنش نشان داد؟
  • Clock چگونه تغییر کرد؟
  • Package Power چگونه تغییر کرد؟
  • Thermal Limit فعال شد یا خیر؟
  • Performance در طول تست حفظ شد یا افت کرد؟

Thermal Equilibrium چیست؟


Thermal Equilibrium

Thermal Equilibrium
را می توان در این Context
«تعادل حرارتی نسبی» نامید.

در تست عملی،
زمانی به این وضعیت نزدیک می شویم
که دما دیگر مانند ابتدای تست
به سرعت افزایش پیدا نکند
و رفتار حرارتی سیستم نسبتاً پایدار شود.

رسیدن به این وضعیت
برای ارزیابی Cooling لپ تاپ مهم است،
زیرا یک تست بسیار کوتاه
ممکن است قبل از اشباع حرارتی پایان یابد.

Heat Soak چیست؟


Heat Soak

Heat Soak
به گرم شدن تدریجی بخش های مختلف سیستم
در اثر ادامه Load گفته می شود.

Heatpipe، Heatsink، بدنه
و هوای داخل لپ تاپ
به مرور گرما جذب می کنند.

به همین دلیل ممکن است
لپ تاپ در دو دقیقه اول عالی عمل کند،
اما پس از 15 دقیقه
رفتار متفاوتی داشته باشد.


Heatsink چیست؟

Heatsink
یا «گرماگیر»
قطعه ای است که
برای دریافت و انتقال گرما از تراشه
و افزایش سطح دفع حرارت استفاده می شود.


Heatpipe چیست؟

Heatpipe
یا «لوله حرارتی»
قطعه انتقال حرارت است
که در بسیاری از سیستم های خنک کننده لپ تاپ
برای انتقال گرما از CPU یا GPU
به بخش پره های خنک کننده استفاده می شود.

Power Stress چیست؟

در بعضی تست ها هدف این است که
رفتار سیستم در شرایط مصرف توان بالا بررسی شود.

در این شرایط
فقط CPU اهمیت ندارد؛
سیستم تغذیه،
Firmware،
Cooling
و محدودیت های طراحی لپ تاپ
هم وارد معادله می شوند.

Combined Load چیست؟


Combined Load

Combined Load
یا «بار ترکیبی»
یعنی بیش از یک بخش اصلی سیستم
به صورت هم زمان تحت بار قرار بگیرد.

نمونه مهم در لپ تاپ:

CPU Load
+
GPU Load

Under the Hood — چرا CPU+GPU Test برای لپ تاپ مهم است؟

در بسیاری از لپ تاپ ها،
CPU و GPU کاملاً مستقل از یکدیگر نیستند.

ممکن است بخشی از سیستم Cooling،
فضای حرارتی
یا محدودیت توان دستگاه
میان آنها مشترک باشد.

CPU Load Only
≠
CPU Behavior During CPU + GPU Load

بنابراین لپ تاپی که در CPU Stress Test
رفتار بسیار خوبی دارد
ممکن است هنگام Gaming یا Rendering ترکیبی
رفتار متفاوتی نشان دهد.


Shared Power Budget چیست؟

Shared Power Budget
یا «بودجه توان مشترک»
به شرایطی اشاره دارد که
چند بخش سیستم باید در چهارچوب
محدودیت توان کلی دستگاه فعالیت کنند.

در چنین شرایطی افزایش مصرف یک بخش
می تواند بر توان قابل استفاده بخش دیگر اثر بگذارد.

در Stress Test دنبال چه خطاهایی هستیم؟

نشانه معنی کلی
Calculation Error نتیجه محاسبه با مقدار مورد انتظار سازگار نیست
Application Crash برنامه تست متوقف یا بسته می شود
System Freeze سیستم پاسخ گویی عادی خود را از دست می دهد
BSOD Windows با خطای بحرانی متوقف می شود
Restart سیستم به صورت غیرمنتظره راه اندازی مجدد می شود
Shutdown سیستم به صورت غیرمنتظره خاموش می شود
WHEA Error Windows خطای سخت افزاری گزارش می کند
Severe Throttling Performance به علت محدودیت شدید کاهش پیدا می کند

Calculation Error چیست؟


Calculation Error

Calculation Error
یا «خطای محاسباتی»
زمانی است که نتیجه محاسبه
با نتیجه مورد انتظار تست مطابقت ندارد.

بعضی Stress Testها
می توانند خروجی محاسبات را بررسی کنند
و در صورت مشاهده ناسازگاری
Error گزارش دهند.

Crash چیست؟


Crash

Crash
یعنی برنامه یا سیستم
به صورت غیرعادی متوقف شود.

Crash به تنهایی مشخص نمی کند
CPU خراب است.

RAM، Driver، Software،
Power، Storage و عوامل دیگر
نیز می توانند دخیل باشند.

Freeze چیست؟


System Freeze

Freeze
یا «هنگ کردن»
وضعیتی است که سیستم
پاسخ گویی عادی خود را
برای مدتی طولانی یا کامل از دست می دهد.

BSOD چیست؟


BSOD

BSOD
مخفف Blue Screen of Death است
و به صفحه خطای بحرانی Windows گفته می شود.

در فارسی معمولاً
«صفحه آبی ویندوز»
گفته می شود.

مشاهده BSOD هنگام Stress Test
نیازمند بررسی Error Code و سایر شواهد است.

نباید صرفاً از وجود BSOD
نتیجه بگیریم که CPU معیوب است.

WHEA چیست؟


WHEA

WHEA
مخفف Windows Hardware Error Architecture است.

در فارسی می توان آن را
«معماری گزارش خطاهای سخت افزاری ویندوز»
توصیف کرد.

Windows از این سازوکار
برای دریافت و ثبت برخی خطاهای سخت افزاری
استفاده می کند.

Corrected Hardware Error چیست؟


Corrected Hardware Error

Corrected Hardware Error
یعنی خطای سخت افزاری گزارش شده ای
که سازوکار سخت افزار یا سیستم
توانسته آن را مدیریت یا تصحیح کند.

وجود چنین خطایی
لزوماً باعث Crash نمی شود،
اما در بررسی Stability
نباید بدون تحلیل نادیده گرفته شود.

Machine Check چیست؟


Machine Check

Machine Check
مکانیزمی سخت افزاری
برای گزارش برخی خطاهای داخلی
پردازنده و زیرسیستم های مرتبط است.

جزئیات Machine Check
به معماری CPU بستگی دارد
و تفسیر دقیق آن
نیازمند بررسی اطلاعات خطا است.

Common Mistake — هر Error در Stress Test یعنی CPU خراب است

خیر.

یک Error می تواند
از CPU، RAM، Motherboard،
Power Delivery، Driver،
Firmware، Overclock،
Undervolt
یا حتی خود نرم افزار ناشی شود.

Stress Test محل کشف مشکل است؛
تشخیص قطعه معیوب
مرحله جداگانه ای از عیب یابی است.

Reproducibility چیست؟


Reproducibility

Reproducibility
در این Context
یعنی «قابلیت بازتولید نتیجه یا خطا».

اگر یک Error
در شرایط مشخص
بارها به شکل مشابه تکرار شود،
اطلاعات بسیار ارزشمندتری
برای عیب یابی در اختیار داریم.


Intermittent Error چیست؟

Intermittent Error
یا «خطای متناوب»
خطایی است که
دائماً و در هر بار تست رخ نمی دهد.

این نوع خطاها
معمولاً عیب یابی دشوارتری دارند.

Stress Test باید چند دقیقه یا چند ساعت اجرا شود؟

پاسخ واحدی برای تمام اهداف وجود ندارد.

مدت تست باید بر اساس
سؤالی که می خواهیم پاسخ دهیم
انتخاب شود.

هدف نوع تست مورد نیاز
بررسی واکنش اولیه CPU تست کوتاه
مشاهده Burst Power تست کوتاه
بررسی Cooling تا نزدیک شدن به وضعیت حرارتی پایدار
بررسی Sustained Performance تست طولانی تر
کشف خطای متناوب ممکن است نیازمند تست طولانی و تکرار باشد
تست لپ تاپ برای فروش ترکیبی از تست کوتاه، پایدار و کاربردی

بنابراین عبارت هایی مانند
«Stress Test حتماً باید یک ساعت باشد»
بدون مشخص کردن هدف تست
بیش از حد ساده سازی شده اند.

چه زمانی Stress Test را متوقف کنیم؟

Stress Test نباید به مسابقه ای برای
آسیب زدن به سیستم تبدیل شود.

در صورت مشاهده رفتار غیرعادی،
تست باید متوقف و علت بررسی شود.

نمونه شرایط توقف و بررسی

  • Crash مکرر.
  • Freeze سیستم.
  • Restart یا Shutdown غیرمنتظره.
  • گزارش خطای محاسباتی.
  • WHEA یا Hardware Error تکرارشونده.
  • رفتار حرارتی غیرعادی.
  • افت Performance شدید و غیرمنتظره.
  • مشکل آشکار در عملکرد Fan.
  • صدای مکانیکی غیرعادی.
  • بوی غیرعادی یا نشانه فیزیکی مشکل.

چگونه سیستم خنک کننده یک لپ تاپ استوک را آزمایش کنیم؟

01
شرایط محیط را ثبت کنیددمای محیط و محل قرارگیری دستگاه روی نتیجه اثر دارند.
02
لپ تاپ را روی سطح مناسب قرار دهیدمسیر ورودی و خروجی هوا نباید مسدود باشد.
03
Power Mode را ثبت کنیدتنظیمات توان در تمام تست ثابت باشد.
04
دستگاه را به آداپتور مناسب متصل کنیدوضعیت منبع تغذیه باید مشخص و ثابت باشد.
05
دمای Idle را ثبت کنیدنقطه شروع تست مشخص شود.
06
Sensor Statistics را Reset کنیدداده های قبلی وارد تحلیل نشوند.
07
Logging را آغاز کنیدTemperature، Clock، Effective Clock، Power و Limitها ثبت شوند.
08
CPU Load را آغاز کنیداز Workload مشخص و تکرارپذیر استفاده شود.
09
رفتار چند دقیقه اول را بررسی کنیدBurst Performance و سرعت افزایش دما را مشاهده کنید.
10
اجازه دهید سیستم گرم شودتست باید برای ارزیابی Sustained Behavior ادامه پیدا کند.
11
Fan Behavior را بررسی کنیدواکنش سیستم خنک کننده به افزایش Load ثبت شود.
12
Clock و Power پایدار را بررسی کنیدببینید سیستم پس از گرم شدن در چه سطحی تثبیت می شود.
13
Limit Flags را بررسی کنیدمشخص کنید محدودیت حرارتی یا توان فعال شده است یا خیر.
14
تست را پایان دهیدرفتار سیستم هنگام کاهش Load نیز قابل بررسی است.
15
Log را تحلیل کنیدفقط Maximum Temperature را گزارش نکنید؛ Timeline را بخوانید.


Idle چیست؟

Idle
یعنی شرایطی که سیستم
بار کاری سنگینی انجام نمی دهد
و فعالیت پردازشی نسبتاً کم است.

Idle به معنی صفر بودن کامل فعالیت CPU نیست،
زیرا سیستم عامل و سرویس های پس زمینه
همچنان می توانند فعالیت داشته باشند.

Thermal Recovery چیست؟


Thermal Recovery

Thermal Recovery
یا «بازگشت حرارتی»
به رفتار سیستم پس از کاهش یا حذف Load اشاره دارد.

بررسی سرعت کاهش دما
و رفتار Fan بعد از پایان تست
می تواند اطلاعات تکمیلی
درباره سیستم خنک کننده بدهد.

در لپ تاپ استوک دقیقاً دنبال چه چیزی هستیم؟

هدف فقط رسیدن به پایین ترین دمای ممکن نیست.

یک سیستم سالم و درست تنظیم شده
ممکن است عمداً اجازه دهد CPU
در دمای نسبتاً بالا کار کند
تا Performance بیشتری ارائه دهد.

بنابراین باید مجموعه رفتار را بررسی کنیم:

Temperature
+
Clock
+
Effective Clock
+
Power
+
Fan Behavior
+
Performance
+
Errors

Under the Hood — کدام لپ تاپ خنک کننده بهتری دارد؟

فرض کنید دو لپ تاپ با CPU مشابه داریم.

Laptop A:

80°C
|
20W
|
2.5 GHz

Laptop B:

88°C
|
35W
|
3.5 GHz

از روی Temperature به تنهایی
ممکن است Laptop A بهتر به نظر برسد.

اما Laptop B
توان بیشتری را دفع می کند
و Performance بالاتری ارائه می دهد.

بنابراین:

Lower Temperature
≠
Automatically Better Cooling

Cooling Capacity چیست؟


Cooling Capacity

Cooling Capacity
یا «ظرفیت خنک کنندگی»
به توان سیستم خنک کننده
برای انتقال و دفع گرما اشاره دارد.

ارزیابی عملی Cooling Capacity
فقط از روی دمای CPU ممکن نیست؛
مقدار توان دفع شده و Performance حفظ شده نیز مهم هستند.

Delta T چیست؟


Delta T

Delta T
یا ΔT
یعنی «اختلاف دما».

در تحلیل Cooling
می توان اختلاف دمای CPU
نسبت به دمای محیط را بررسی کرد.

ΔT
=
CPU Temperature
–
Ambient Temperature

این روش کمک می کند
مقایسه دو تست که در دمای محیط متفاوت انجام شده اند
تا حدی معنی دارتر شود.


Ambient Temperature چیست؟

Ambient Temperature
یعنی «دمای محیط».

دمای هوای اطراف دستگاه
می تواند مستقیماً روی رفتار سیستم خنک کننده اثر بگذارد.

آیا صدای فن هم بخشی از ارزیابی است؟

بله.

دو لپ تاپ ممکن است
Performance و Temperature مشابهی داشته باشند،
اما یکی برای رسیدن به آن نتیجه
Fan را با سرعت بسیار بیشتری اجرا کند.

بنابراین ارزیابی کامل دستگاه می تواند شامل:

  • Performance
  • Temperature
  • Power
  • Fan Speed
  • Noise

باشد.


Noise-Normalized Performance چیست؟

Noise-Normalized Performance
یا «عملکرد در سطح نویز کنترل شده»
روشی برای مقایسه سیستم ها
در شرایطی است که میزان صدای تولیدی
تا حد امکان هم سطح نگه داشته می شود.

این روش در بررسی کیفیت طراحی Cooling
می تواند اطلاعات بیشتری
از مقایسه صرف دما ارائه دهد.

Stress Test بعد از سرویس لپ تاپ

پس از باز کردن سیستم Cooling،
تعویض Thermal Paste،
تعمیر Fan
یا سرویس کامل دستگاه،
اجرای تست کنترل شده اهمیت زیادی دارد.

باید نتیجه قبل و بعد
تحت شرایط مشابه مقایسه شود.

Before Service
→
Controlled Test
→
Service
→
Same Controlled Test
→
Compare

در غیر این صورت ممکن است
بهبود یا بدتر شدن سیستم
صرفاً ناشی از تفاوت شرایط تست باشد.

Baseline چرا اهمیت دارد؟

اگر دستگاه قبل از سرویس
تست و ثبت شده باشد،
یک Baseline برای مقایسه داریم.

سپس می توانیم بررسی کنیم:

  • Temperature چه مقدار تغییر کرده است.
  • Package Power چه مقدار تغییر کرده است.
  • Effective Clock بهتر حفظ می شود یا خیر.
  • Performance افزایش یافته یا خیر.
  • Fan Behavior تغییر کرده یا خیر.

ماتریس پیشنهادی تست CPU در لپ تاپ استوک

مرحله هدف چه چیزی بررسی شود؟
Idle Check بررسی وضعیت پایه دما، Background Load، Fan
Short CPU Load بررسی Burst Clock، Power، Temperature
Sustained CPU Load بررسی Cooling Steady Clock، Power، Thermal Limit
Stability Test بررسی Error Calculation Error، Crash، WHEA
Combined CPU+GPU Load بررسی رفتار مشترک سیستم Power Sharing، Cooling، Clock
Real-World Workload بررسی کاربرد واقعی Performance واقعی نرم افزار
Recovery بررسی بازگشت حرارتی کاهش دما و رفتار Fan

معیار Pass شدن یک Stress Test چیست؟

Pass Criteria
یا «معیار قبولی»
باید قبل از تست تعریف شود.

نمونه معیارها:

  • تست برای مدت مورد نظر کامل شود.
  • Calculation Error ثبت نشود.
  • Crash یا Freeze رخ ندهد.
  • Restart یا Shutdown غیرمنتظره رخ ندهد.
  • Hardware Error مرتبط ثبت نشود.
  • رفتار حرارتی در محدوده مورد انتظار همان دستگاه باشد.
  • Performance به شکل غیرعادی سقوط نکند.


Fail Criteria چیست؟

Fail Criteria
یا «معیار شکست آزمون»
شرایطی است که در صورت وقوع آنها
تست ناموفق در نظر گرفته می شود
یا نیاز به بررسی بیشتر دارد.

گزارش حرفه ای Stress Test چه اطلاعاتی دارد؟

اطلاعات چرا مهم است؟
مدل کامل لپ تاپ شناسایی دستگاه
مدل CPU شناسایی پردازنده
RAM Configuration شرایط سیستم
Power Mode تکرارپذیری
AC / Battery رفتار توان
Ambient Temperature مقایسه حرارتی
Stress Workload شناخت نوع فشار
Test Duration شناخت مدت فشار
Maximum Temperature ثبت اوج دما
Sustained Temperature رفتار پایدار حرارتی
Package Power تحلیل توان
Effective Clock تحلیل Performance واقعی
Thermal / Power Flags تشخیص محدودیت
Error بررسی Stability
نتیجه نهایی Pass / نیازمند بررسی

Performance Impact — کاربرد مستقیم برای فروش لپ تاپ استوک

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

استاندارد بهتر این است که
دستگاه طبق یک پروتکل مشخص بررسی شود
و نتیجه قابل تکرار داشته باشد.

چنین روشی می تواند
تفاوت میان یک ادعای بازاریابی
و یک فرآیند واقعی کنترل کیفیت باشد.

آیا Stress Test عمر آینده لپ تاپ را تضمین می کند؟

خیر.

Stress Test وضعیت سیستم
در زمان و شرایط آزمایش را بررسی می کند.

نمی توان از موفقیت یک تست محدود
نتیجه گرفت که قطعه
برای چند سال آینده قطعاً بدون خرابی کار خواهد کرد.

Common Mistake — «Stress Test پاس شد، پس قطعه صددرصد سالم است»

نتیجه دقیق تر این است:


در تست انجام شده و شرایط ثبت شده،
خطای مورد نظر مشاهده نشد.

این جمله از نظر فنی
بسیار دقیق تر و قابل دفاع تر است.

سوالات متداول Stress Test پردازنده

Stress Test چیست؟

آزمونی است که CPU یا بخش دیگری از سیستم
را برای بررسی پایداری، حرارت
و رفتار تحت فشار
در Load سنگین قرار می دهد.

Stress Test با Benchmark چه تفاوتی دارد؟

Benchmark عمدتاً Performance را اندازه گیری می کند،
در حالی که Stress Test
بیشتر برای بررسی پایداری و رفتار سیستم تحت فشار استفاده می شود.

آیا 100 درصد CPU Usage برای Stress Test کافی است؟

خیر.
نوع Workload و Instruction Mix
می تواند مصرف توان و فشار حرارتی
بسیار متفاوتی ایجاد کند.

آیا داغ ترین تست بهترین Stress Test است؟

الزاماً خیر.
نوع تست باید متناسب با هدف آزمایش انتخاب شود.

Stress Test باید چند ساعت اجرا شود؟

زمان ثابت جهانی وجود ندارد.
مدت تست باید بر اساس هدف،
نوع Workload و نوع خطایی که بررسی می شود تعیین شود.

آیا Pass شدن Stress Test یعنی CPU کاملاً سالم است؟

خیر.
فقط نشان می دهد در شرایط همان تست
خطای مورد نظر مشاهده نشده است.

WHEA Error چیست؟

خطایی است که از طریق
Windows Hardware Error Architecture
به سیستم عامل گزارش می شود
و می تواند برای تشخیص مشکلات سخت افزاری مفید باشد.

اگر Stress Test Crash کند یعنی CPU خراب است؟

الزاماً خیر.
RAM، Power، Firmware، Driver
و عوامل دیگر نیز باید بررسی شوند.

چرا CPU+GPU را هم زمان تست کنیم؟

زیرا در لپ تاپ
Cooling و Power Budget
می توانند میان CPU و GPU مشترک باشند.

دمای کمتر یعنی Cooling بهتر؟

الزاماً خیر.
باید Temperature را همراه
Package Power و Performance بررسی کرد.

Heat Soak چیست؟

گرم شدن تدریجی اجزای سیستم خنک کننده و بدنه
در اثر ادامه Load است.

آیا Stress Test برای لپ تاپ استوک مهم است؟

بله.
می تواند در کنار سایر آزمون ها
برای بررسی Cooling،
Performance پایدار
و کشف برخی مشکلات پنهان استفاده شود.

اصطلاحات جدید این فصل

  • Stress Test: آزمون فشار سخت افزار.
  • Stability: پایداری سیستم در شرایط مشخص.
  • Stress Workload: بار کاری طراحی شده برای ایجاد فشار.
  • Instruction Mix: ترکیب دستورهای اجرا شده توسط Workload.
  • AVX: افزونه های پیشرفته برداری.
  • Vector Operation: عملیات برداری روی چند داده.
  • Worst-Case Stress: آزمون نزدیک به شرایط بسیار سنگین.
  • Realistic Sustained Load: بار پایدار نزدیک به کاربرد واقعی.
  • Thermal Stress: فشار حرارتی وارد بر سیستم.
  • Thermal Equilibrium: وضعیت نسبتاً پایدار حرارتی.
  • Heat Soak: گرم شدن تدریجی اجزای سیستم در Load طولانی.
  • Heatsink: گرماگیر.
  • Heatpipe: لوله انتقال حرارت.
  • Power Stress: فشار ناشی از شرایط مصرف توان بالا.
  • Combined Load: بار هم زمان روی چند بخش سیستم.
  • Shared Power Budget: بودجه توان مشترک بخش های سیستم.
  • Calculation Error: خطای محاسباتی.
  • Crash: توقف غیرعادی برنامه یا سیستم.
  • Freeze: از دست رفتن پاسخ گویی سیستم.
  • BSOD: صفحه خطای بحرانی Windows.
  • WHEA: معماری گزارش خطاهای سخت افزاری Windows.
  • Corrected Hardware Error: خطای سخت افزاری تصحیح یا مدیریت شده.
  • Machine Check: مکانیزم سخت افزاری گزارش برخی خطاها.
  • Reproducibility: قابلیت بازتولید نتیجه یا خطا.
  • Intermittent Error: خطای متناوب.
  • Idle: وضعیت بار پردازشی پایین.
  • Thermal Recovery: رفتار بازگشت حرارتی پس از Load.
  • Cooling Capacity: ظرفیت سیستم برای دفع گرما.
  • Delta T: اختلاف میان دو دما.
  • Ambient Temperature: دمای محیط.
  • Noise-Normalized Performance: مقایسه Performance در سطح نویز کنترل شده.
  • Pass Criteria: معیارهای قبولی آزمون.
  • Fail Criteria: معیارهای شکست آزمون.

خلاصه فصل

Stress Test ابزاری برای
«داغ کردن CPU» نیست؛
یک آزمایش کنترل شده برای بررسی رفتار سیستم تحت فشار است.

Proper Stress Testing
=
Defined Goal
+
Controlled Conditions
+
Relevant Workload
+
Sensor Logging
+
Error Monitoring
+
Correct Interpretation

برای لپ تاپ،
فقط Peak Temperature مهم نیست.

باید بررسی کنیم دستگاه
پس از Heat Soak
چه مقدار Power و Effective Clock را حفظ می کند
و آیا Error یا محدودیت غیرعادی مشاهده می شود.

همچنین دمای پایین تر
همیشه به معنی Cooling بهتر نیست؛
زیرا ممکن است دستگاه سردتر
به دلیل Power Limit شدیدتر
Performance کمتری ارائه دهد.

در نهایت Stress Test
باید به یک سؤال مشخص پاسخ دهد:


آیا این سیستم می تواند Workload مورد نظر را
برای مدت مورد نیاز،
با Performance قابل انتظار
و بدون خطای مشاهده شده اجرا کند؟


فصل 45
سطح: تخصصی / عملی
موضوع: CPU Performance Diagnostics
تمرکز: تشخیص علت واقعی کندی سیستم

کند بودن سیستم یک نشانه است، نه تشخیص

عیب یابی Performance پردازنده؛ چگونه علت واقعی کندی سیستم را پیدا کنیم؟

وقتی یک لپ تاپ یا کامپیوتر کند است،
یکی از اولین جملاتی که شنیده می شود این است:
«CPU ضعیف است».
اما کندی سیستم می تواند از ده ها عامل مختلف ناشی شود
و پردازنده فقط یکی از آنهاست.

RAM ناکافی، Storage کند،
Thermal Throttling،
Power Limit،
GPU Bottleneck،
Background Process،
Driver،
تنظیمات Power Management
و حتی خود نرم افزار
می توانند تجربه ای ایجاد کنند
که کاربر آن را «ضعیف بودن CPU» تصور کند.

بنابراین عیب یابی حرفه ای باید از
نشانه
به
شواهد
و سپس از شواهد به
علت احتمالی
حرکت کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Performance Problem چیست.
  • فرق Symptom و Root Cause چیست.
  • چرا «سیستم کند است» تشخیص محسوب نمی شود.
  • Bottleneck چیست.
  • چگونه CPU Bottleneck را تشخیص دهیم.
  • چگونه CPU را از RAM Bottleneck تفکیک کنیم.
  • چگونه CPU را از Storage Bottleneck تفکیک کنیم.
  • چگونه CPU را از GPU Bottleneck تفکیک کنیم.
  • Single-Thread Bottleneck چگونه تشخیص داده می شود.
  • Memory Pressure چیست.
  • Paging و Page File چه نقشی در کندی دارند.
  • Disk Queue چیست.
  • I/O Wait چیست.
  • Background Process چیست.
  • چگونه Thermal Throttling را از ضعف CPU جدا کنیم.
  • چگونه Power Limit را تشخیص دهیم.
  • چرا عملکرد روی Battery ممکن است متفاوت باشد.
  • چگونه مشکل نرم افزاری را از مشکل سخت افزاری جدا کنیم.
  • Baseline و A/B Test چگونه در عیب یابی استفاده می شوند.
  • چگونه یک Diagnostic Tree بسازیم.

Performance Problem چیست؟


Performance Problem

Performance Problem
یا «مشکل عملکرد»
زمانی است که سیستم یا نرم افزار
نسبت به Performance مورد انتظار
کندتر یا نامناسب تر عمل می کند.

عبارت «مورد انتظار» بسیار مهم است.

اگر یک CPU دو هسته ای قدیمی
در Rendering سنگین کند باشد،
الزاماً مشکلی در سیستم وجود ندارد؛
ممکن است سخت افزار اساساً برای آن Workload مناسب نباشد.

اما اگر همان CPU
در کاری که قبلاً به خوبی انجام می داده
ناگهان نصف Performance قبلی را ارائه کند،
احتمال وجود مشکل بیشتر می شود.

تفاوت Symptom و Root Cause چیست؟


Symptom چیست؟

Symptom
یعنی «نشانه».

چیزی است که کاربر مشاهده می کند؛
مانند کند شدن نرم افزار،
افت FPS،
تأخیر در اجرای دستور
یا طولانی شدن Rendering.


Root Cause چیست؟

Root Cause
یعنی «علت ریشه ای» یا «علت اصلی».

عاملی است که واقعاً
باعث ایجاد مشکل شده است.

Under the Hood — یک Symptom می تواند چندین Root Cause داشته باشد

Symptom:

«برنامه دیر باز می شود.»

Root Causeهای احتمالی:

Slow Storage
/
RAM Pressure
/
Background Load
/
CPU Limitation
/
Antivirus Scan
/
Software Problem

بنابراین مشاهده نشانه
به تنهایی برای تعیین علت کافی نیست.

Bottleneck چیست؟


Bottleneck

Bottleneck
در فارسی می تواند
«گلوگاه عملکرد» ترجمه شود.

Bottleneck بخشی از سیستم است
که در شرایط و Workload مشخص،
بیشترین محدودیت را بر Performance نهایی ایجاد می کند.

Bottleneck یک ویژگی دائمی قطعه نیست.

یک سیستم ممکن است
در یک Workload به CPU محدود باشد
و در Workload دیگری به GPU یا Storage.

Bottleneck
=
Workload Dependent

Engineering Insight — Bottleneck می تواند جابه جا شود

فرض کنید GPU را ارتقا دهیم.

ممکن است محدودیت GPU کاهش پیدا کند
و حالا CPU به گلوگاه اصلی تبدیل شود.

Remove One Bottleneck
→
Another Bottleneck May Become Visible

بنابراین هدف مهندسی
«حذف تمام Bottleneckها» نیست؛
بلکه ایجاد تعادل مناسب
برای Workload مورد نظر است.

اولین سؤال: دقیقاً چه چیزی کند است؟

قبل از باز کردن Task Manager
یا اجرای Benchmark،
باید مشکل را دقیق تعریف کنیم.

گزارش مبهم تعریف قابل بررسی
لپ تاپ کند است Windows بعد از روشن شدن دیر آماده می شود
CPU ضعیف است Rendering نسبت به سیستم مشابه 40٪ طولانی تر است
AutoCAD کند است در فایل مشخص هنگام Pan و Zoom تأخیر وجود دارد
بازی لگ دارد Frame Time در صحنه های مشخص افزایش پیدا می کند
سیستم هنگ می کند هنگام پر شدن RAM پاسخ گویی شدیداً کاهش می یابد

مرحله دوم: مشکل را Reproduce کنید


Reproduce

Reproduce
در عیب یابی یعنی
«بازتولید کردن مشکل».

یعنی شرایطی پیدا کنیم
که مشکل در آن
به شکل قابل تکرار ظاهر شود.

اگر مشکل قابل تکرار باشد،
می توان قبل و بعد از هر تغییر
همان سناریو را دوباره اجرا کرد.

چگونه CPU Bottleneck را تشخیص دهیم؟

CPU Bottleneck را نباید
فقط با مشاهده 100 درصد CPU Usage تشخیص داد.

باید بررسی کنیم
آیا Performance مورد نظر
واقعاً به ظرفیت پردازشی CPU محدود شده است یا خیر.

شواهد احتمالی می توانند شامل موارد زیر باشند:

  • یک یا چند Thread پردازنده دائماً بسیار درگیر هستند.
  • GPU ظرفیت آزاد دارد اما CPU نمی تواند داده کافی به آن برساند.
  • افزایش Performance تک هسته ای باعث بهبود Workload می شود.
  • کاهش بار CPU باعث افزایش Performance می شود.
  • Storage و RAM نشانه واضحی از محدودیت ندارند.
  • Clock و Power CPU در محدوده مورد انتظار هستند.

Common Mistake — CPU Usage باید حتماً 100٪ باشد تا CPU Bottleneck داشته باشیم

خیر.

اگر برنامه فقط از تعداد محدودی Thread استفاده کند،
ممکن است یک یا دو Core کاملاً اشباع شوند
در حالی که Total CPU Usage
بسیار کمتر از 100 درصد است.

Single-Thread Bottleneck چیست؟


Single-Thread Bottleneck

یعنی Performance برنامه
عمدتاً توسط سرعت اجرای
یک Thread یا تعداد کمی Thread محدود شده باشد.

در چنین شرایطی
اضافه کردن Coreهای بیشتر
الزاماً Performance را به همان نسبت افزایش نمی دهد.

Under the Hood — چرا Total CPU Usage می تواند گمراه کننده باشد؟

فرض کنید CPU دارای
16 Logical Processor باشد.

یک Thread بسیار سنگین
می تواند یک Logical Processor را اشباع کند،
اما بسیاری از Threadهای دیگر بیکار باشند.

در نتیجه Total CPU Usage
ممکن است پایین دیده شود،
در حالی که Performance برنامه
واقعاً به همان Thread محدود شده است.

چگونه RAM Bottleneck را از CPU Bottleneck جدا کنیم؟

کمبود RAM می تواند
سیستم را به شدت کند کند
بدون اینکه CPU مشکل خاصی داشته باشد.


Memory Pressure چیست؟

Memory Pressure
یا «فشار حافظه»
شرایطی است که
نیاز برنامه ها به حافظه
به ظرفیت RAM موجود نزدیک یا از آن بیشتر می شود
و سیستم مجبور به مدیریت شدیدتر حافظه می شود.

Paging چیست؟


Paging

Paging
بخشی از مدیریت حافظه مجازی است
که در آن سیستم عامل
داده ها را در واحدهایی به نام Page مدیریت می کند.

در شرایط فشار حافظه،
بخشی از داده ها ممکن است
میان RAM و Storage جابه جا شوند.


Page چیست؟

Page
یا «صفحه حافظه»
واحدی با اندازه مشخص
در سیستم مدیریت حافظه مجازی است.

Page File چیست؟


Page File

Page File
فایلی روی Storage است
که Windows می تواند
در مدیریت حافظه مجازی از آن استفاده کند.

Storage حتی در نوع SSD
از نظر Latency و رفتار دسترسی
جایگزین مستقیم RAM نیست.

Hard Page Fault چیست؟


Hard Page Fault

Hard Page Fault
زمانی رخ می دهد که
Page مورد نیاز در RAM موجود نباشد
و سیستم مجبور شود
آن را از Storage یا منبع مربوط دریافت کند.

وجود Page Fault
به خودی خود به معنی خرابی نیست.

Under the Hood — الگوی احتمالی کمبود RAM

RAM Usage ↑
→
Memory Pressure ↑
→
Paging Activity ↑
→
Storage Activity ↑
→
Response Time ↑

کاربر ممکن است این وضعیت را
«CPU ضعیف» توصیف کند،
در حالی که CPU
منتظر داده یا مدیریت حافظه است.

چگونه Storage Bottleneck را تشخیص دهیم؟

Storage کند
می تواند روی Boot،
باز شدن برنامه،
Load پروژه،
جستجو،
Copy،
نصب نرم افزار
و پاسخ گویی کلی سیستم اثر بگذارد.

CPU سریع نمی تواند
داده ای را که هنوز از Storage دریافت نشده
پردازش کند.


I/O چیست؟

I/O
مخفف Input/Output
یعنی «ورودی/خروجی» است.

در بحث Storage،
به عملیات خواندن و نوشتن داده
اشاره دارد.

I/O Wait چیست؟


I/O Wait

I/O Wait
به زمانی اشاره دارد که
اجرای کار برای تکمیل عملیات ورودی/خروجی
منتظر می ماند.

مفهوم و نحوه گزارش دقیق آن
میان سیستم عامل ها متفاوت است،
بنابراین باید در Context ابزار مورد استفاده تفسیر شود.

Disk Queue چیست؟


Disk Queue

Queue
یعنی «صف».

Disk Queue به درخواست های I/O
در حال انتظار یا پردازش
در زیرسیستم Storage مربوط می شود.

عدد Queue باید همراه
نوع Storage، Latency، Throughput
و Workload تفسیر شود.


Storage Latency چیست؟

Storage Latency
یا «تاخیر ذخیره سازی»
مدت زمانی است که
تکمیل یک درخواست Storage طول می کشد.

Under the Hood — الگوی احتمالی Storage Bottleneck

Application Requests Data
→
Storage Response Slow
→
CPU Waits
→
CPU Utilization May Drop
→
Application Feels Slow

بنابراین CPU Usage پایین
الزاماً نشان نمی دهد
که CPU قدرت اضافه دارد؛
ممکن است منتظر Storage باشد.

چگونه GPU Bottleneck را از CPU Bottleneck جدا کنیم؟

در Gaming، Rendering،
پردازش سه بعدی
و برخی نرم افزارهای مهندسی،
GPU می تواند عامل اصلی محدودیت باشد.

اگر GPU نزدیک ظرفیت کامل خود کار کند
و CPU هنوز ظرفیت آزاد داشته باشد،
احتمال GPU Bottleneck افزایش پیدا می کند.

اما Utilization به تنهایی کافی نیست
و باید رفتار نرم افزار،
Frame Time،
Clock و سایر داده ها نیز بررسی شوند.


Frame Time چیست؟

Frame Time
یا «زمان فریم»
مدت زمان لازم برای تولید یک Frame است.

در Gaming،
Frame Time می تواند
اطلاعاتی درباره روان بودن واقعی نمایش
ارائه دهد که Average FPS به تنهایی نشان نمی دهد.

Engineering Insight — تغییر Resolution می تواند سرنخ Bottleneck بدهد

در یک سناریوی گرافیکی،
کاهش Resolution معمولاً
بار GPU را کاهش می دهد.

اگر با کاهش شدید Resolution
Performance تقریباً تغییر نکند،
احتمال وجود محدودیت دیگری
مانند CPU افزایش پیدا می کند.

این یک سرنخ است،
نه اثبات قطعی.

چگونه Thermal Throttling را با CPU ضعیف اشتباه نگیریم؟

فرض کنید لپ تاپ دارای CPU قدرتمندی است،
اما Cooling نمی تواند
Performance آن را در Load طولانی حفظ کند.

در چند ثانیه اول:

High Clock
→
High Performance

پس از گرم شدن:

Temperature ↑
→
Thermal Limit
→
Effective Clock ↓
→
Sustained Performance ↓

در این وضعیت
مشکل الزاماً «مدل CPU» نیست؛
مسئله می تواند
حفظ Performance در شرایط حرارتی باشد.

چگونه Power Limit را تشخیص دهیم؟

اگر CPU تحت Load
در دمای غیر بحرانی
به سطح مشخصی از Package Power برسد
و Power Limit Flag فعال شود،
محدودیت توان یکی از فرضیه های اصلی است.

در این حالت ممکن است
افزایش ظرفیت Cooling
به تنهایی Performance را افزایش ندهد،
زیرا محدودیت اصلی توان است.

مشاهده Thermal Limit Power Limit
دمای بسیار بالا سرنخ مهم الزامی نیست
Thermal Flag سرنخ قوی معمولاً عامل اصلی نیست
Power Limit Flag ممکن است هم زمان رخ دهد سرنخ قوی
افت Clock ممکن است ممکن است
Cooling بهتر همیشه مشکل را حل می کند؟ ممکن است کمک کند الزاماً خیر

چرا لپ تاپ روی Battery کندتر می شود؟

بسیاری از لپ تاپ ها
هنگام کار با Battery
رفتار Performance متفاوتی دارند.

Firmware،
سیستم عامل
و Power Management
می توانند برای کاهش مصرف انرژی
محدودیت های متفاوتی اعمال کنند.

بنابراین مقایسه Benchmark
باید در وضعیت منبع تغذیه یکسان انجام شود.

آیا آداپتور می تواند روی Performance اثر بگذارد؟

بله، در برخی لپ تاپ ها
نوع، توان یا شناسایی آداپتور
می تواند بر سیاست Performance اثر بگذارد.

بنابراین هنگام عیب یابی لپ تاپ
باید بررسی شود که
دستگاه با آداپتور مناسب و شناخته شده کار می کند.

Common Mistake — آداپتور فقط باتری را شارژ می کند

در لپ تاپ،
آداپتور بخشی از شرایط Power Delivery سیستم است.

در برخی طراحی ها،
آداپتور نامناسب یا ناکافی
می تواند موجب محدود شدن Performance شود.

Background Process چیست؟


Background Process

Background Process
یا «فرآیند پس زمینه»
برنامه یا سرویسی است
که بدون تعامل مستقیم کاربر
در پس زمینه سیستم اجرا می شود.

نمونه ها می توانند شامل:

  • Windows Update
  • Antivirus Scan
  • Search Indexing
  • Cloud Synchronization
  • Backup
  • Browser Processها
  • برنامه های Startup

باشند.


Indexing چیست؟

Indexing
یا «نمایه سازی»
فرآیندی است که
سیستم اطلاعات فایل ها یا محتوا را
برای جستجوی سریع تر سازمان دهی می کند.

Process و Service چه تفاوتی دارند؟


Process

Process
یا «فرآیند»
نمونه در حال اجرای یک برنامه یا بخش اجرایی نرم افزار است.


Service

Service
یا «سرویس»
برنامه یا جزء نرم افزاری است
که معمولاً در پس زمینه
برای ارائه یک وظیفه مشخص اجرا می شود.

Task Manager چه اطلاعاتی برای عیب یابی می دهد؟

Task Manager ابزار تشخیص کامل نیست،
اما نقطه شروع بسیار مفیدی است.

می توان مواردی مانند:

  • CPU Usage
  • Memory Usage
  • Disk Activity
  • GPU Activity
  • Processهای پرمصرف
  • Startup Applicationها

را مشاهده کرد.

برای تحلیل عمیق تر
ممکن است ابزارهای مانیتورینگ تخصصی تر لازم باشند.

چگونه مشکل نرم افزاری را از ضعف CPU جدا کنیم؟

اگر فقط یک برنامه خاص کند است
اما Benchmarkهای CPU
و سایر Workloadها رفتار طبیعی دارند،
باید خود نرم افزار نیز بررسی شود.

موارد احتمالی:

  • تنظیمات نرم افزار.
  • نسخه برنامه.
  • Plugin یا Extension.
  • Driver.
  • فایل پروژه.
  • Compatibility.
  • Bug نرم افزاری.
  • محدودیت Engine برنامه.


Plugin و Extension چیست؟

Plugin
یا «افزونه»
و
Extension
یا «گسترش دهنده»
اجزایی هستند که
قابلیت های جدیدی به نرم افزار اصلی اضافه می کنند.

Performance Regression چیست؟


Performance Regression

Performance Regression
یا «پسرفت عملکرد»
زمانی است که
Performance سیستم یا نرم افزار
پس از یک تغییر نسبت به قبل کاهش پیدا کند.

مثال:

Driver Update
→
Performance Drops

یا:

Software Update
→
Same Project
→
Longer Render Time

Baseline در عیب یابی چیست؟


Baseline

Baseline
یعنی «خط مبنا»
یا نتیجه مرجعی که
اندازه گیری های بعدی با آن مقایسه می شوند.

بهترین Baseline
همیشه نتیجه دستگاه دیگری نیست.

گاهی بهترین مرجع
عملکرد همان دستگاه
قبل از ایجاد مشکل است.

A/B Test در عیب یابی چیست؟


A/B Test

در این Context،
A/B Test یعنی مقایسه دو وضعیت
که ترجیحاً فقط در یک متغیر اصلی تفاوت دارند.

مثال:

A = Battery Mode
B = AC Power

یا:

A = Before Cooling Service
B = After Cooling Service

یا:

A = 8GB RAM
B = 16GB RAM

Control Variable چیست؟


Control Variable

Control Variable
یا «متغیر کنترل شده»
عاملی است که هنگام مقایسه
ثابت نگه داشته می شود
تا اثر متغیر مورد آزمایش بهتر مشخص شود.

برای مثال هنگام مقایسه
Performance قبل و بعد از سرویس Cooling،
بهتر است:

  • Benchmark یکسان باشد.
  • نسخه نرم افزار یکسان باشد.
  • Power Mode یکسان باشد.
  • وضعیت AC یکسان باشد.
  • دمای محیط تا حد امکان مشابه باشد.

درخت تشخیص کندی سیستم

Under the Hood — Diagnostic Tree

System Feels Slow
↓
Define Exact Symptom
↓
Reproduce Problem
↓
Monitor CPU / RAM / Storage / GPU
↓
Identify Resource Under Pressure
↓
Check Temperature / Clock / Power
↓
Form Hypothesis
↓
Change One Variable
↓
Repeat Same Test
↓
Compare Results
↓
Confirm Or Reject Hypothesis

ماتریس تشخیص سریع کندی سیستم

نشانه اولین فرضیه های قابل بررسی
یک Core اشباع، Total Usage پایین Single-Thread Bottleneck
تمام Coreها درگیر و Clock طبیعی CPU Compute Bottleneck
RAM تقریباً پر + Disk Activity بالا Memory Pressure / Paging
CPU پایین + Disk Activity شدید Storage Bottleneck
GPU بسیار درگیر + CPU ظرفیت آزاد GPU Bottleneck
دما بالا + Thermal Flag + افت Clock Thermal Limitation
دما قابل قبول + Power Flag + Clock محدود Power Limit
فقط روی Battery کند است Power Management
فقط یک برنامه کند است Software / Configuration / Workload
بعد از Update کند شده Performance Regression
چند دقیقه اول سریع، سپس کند Thermal یا Sustained Power Limitation
Performance بین Runها شدیداً متفاوت Background Load / Thermal State / Power State

این جدول تشخیص قطعی ارائه نمی کند؛
بلکه نقطه شروع برای ساخت فرضیه است.

Hypothesis چیست؟


Hypothesis

Hypothesis
یعنی «فرضیه».

در عیب یابی،
توضیحی موقت و قابل آزمایش
برای علت مشکل است.

مثال:

«احتمالاً افت Performance
به دلیل Thermal Throttling است.»

سپس باید شواهدی پیدا کنیم
که این فرضیه را تأیید یا رد کنند.

Confirmation Bias چیست و چرا در عیب یابی خطرناک است؟


Confirmation Bias

Confirmation Bias
یا «سوگیری تأییدی»
تمایل انسان به توجه بیشتر
به شواهدی است که
باور قبلی او را تأیید می کنند.

مثال:

از قبل تصور کرده ایم
مشکل از خمیر حرارتی است.

دمای بالا را می بینیم
و فوراً نتیجه می گیریم
فرضیه درست بوده است،
بدون اینکه Package Power،
Thermal Flag
یا رفتار دستگاه مشابه را بررسی کنیم.

Engineering Insight — دنبال شواهدی بگردید که فرضیه شما را رد کنند

عیب یابی خوب فقط جمع کردن
شواهد موافق نیست.

باید بپرسیم:


چه مشاهده ای نشان می دهد
فرضیه من اشتباه است؟

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

پروتکل تشخیص Performance در لپ تاپ استوک

01
مدل دقیق دستگاه را ثبت کنیدمدل لپ تاپ و Configuration سخت افزاری مشخص شود.
02
CPU را شناسایی کنیدمدل، نسل، Core/Thread و پسوند پردازنده ثبت شود.
03
RAM را بررسی کنیدظرفیت، Channel Configuration و میزان مصرف بررسی شود.
04
Storage را بررسی کنیدنوع Drive، سلامت و رفتار I/O بررسی شود.
05
Power Condition را ثبت کنیدAC/Battery، آداپتور و Power Mode مشخص شوند.
06
Background Load را حذف کنیدتا حد امکان شرایط تست کنترل شود.
07
Baseline Benchmark اجرا کنیدPerformance اولیه ثبت شود.
08
Sensor Logging را فعال کنیدTemperature، Clock، Effective Clock و Power ثبت شوند.
09
Sustained Load اجرا کنیدرفتار دستگاه پس از گرم شدن بررسی شود.
10
Limit Flags را بررسی کنیدThermal و Power Limitation مشخص شوند.
11
RAM و Storage را هم زمان بررسی کنیدمشکل CPU با Memory یا Storage اشتباه نشود.
12
Workload واقعی اجرا کنیدنرم افزار مرتبط با کاربرد مشتری نیز آزمایش شود.
13
فرضیه بسازیدعلت احتمالی مشکل بر اساس داده ها مشخص شود.
14
یک متغیر را تغییر دهیداز تغییر هم زمان چند عامل خودداری شود.
15
تست را تکرار کنیدنتیجه جدید با Baseline مقایسه شود.
16
نتیجه را ثبت کنیدتشخیص باید بر اساس داده قابل تکرار باشد.

مثال عملی: لپ تاپ استوک بعد از چند دقیقه کند می شود

شکایت کاربر:

«لپ تاپ اول سریع است،
ولی بعد از چند دقیقه Rendering کند می شود.»

این جمله هنوز تشخیص نیست.

Under the Hood — مسیر تشخیص

Symptom
↓
Reproduce Rendering
↓
Log CPU Sensors
↓
Compare First Minute vs Minute 15
↓
Temperature ↑
+
Effective Clock ↓
+
Thermal Limit Active
↓
Thermal Limitation Hypothesis

حالا می توان Cooling را بررسی کرد
و بعد از سرویس
همان تست را با شرایط مشابه تکرار کرد.

Same Workload
+
Same Power Mode
+
Similar Ambient Temperature
→
Valid Before / After Comparison

مثال عملی دوم: لپ تاپ هنگام باز کردن چند برنامه شدیداً کند می شود

بررسی نشان می دهد:

CPU = 35%
RAM = Nearly Full
Storage Activity = High
Paging = High

در این حالت
تعویض CPU الزاماً راه حل مناسبی نیست.

افزایش RAM
می تواند اثر بسیار بیشتری
بر تجربه واقعی کاربر داشته باشد.

مثال عملی سوم: CPU خوب است اما Windows کند احساس می شود

فرض کنید CPU
در Benchmark نتیجه طبیعی دارد،
RAM نیز کافی است،
اما:

Application Launch = Slow
Boot = Slow
File Search = Slow
Disk Response Time = High

این الگو می تواند
Storage را به یکی از اولین بخش های قابل بررسی تبدیل کند.

در چنین دستگاهی
ارتقای HDD به SSD
ممکن است تجربه کاربری را
بسیار بیشتر از تغییر جزئی CPU بهبود دهد.

Performance Impact — «CPU قوی تر» همیشه بهترین ارتقا نیست

اگر سیستم به RAM محدود باشد،
CPU قوی تر مشکل را حل نمی کند.

اگر Storage عامل اصلی کندی باشد،
CPU قوی تر ممکن است
تغییر محسوسی در تجربه روزمره ایجاد نکند.

اگر GPU عامل اصلی محدودیت باشد،
هزینه بیشتر برای CPU
ممکن است بازده کمی داشته باشد.

بنابراین ارتقای صحیح
باید پس از شناسایی Bottleneck انجام شود.

Common Mistakes — اشتباهات رایج در تشخیص کندی سیستم
  • نسبت دادن هر کندی به CPU.
  • استفاده از Total CPU Usage به عنوان تنها معیار.
  • نادیده گرفتن Per-Core Usage.
  • نادیده گرفتن RAM Pressure.
  • نادیده گرفتن Paging.
  • نادیده گرفتن Storage Latency.
  • نادیده گرفتن GPU Bottleneck.
  • نادیده گرفتن Background Processها.
  • تست روی Battery و مقایسه با نتیجه AC.
  • نادیده گرفتن Power Mode.
  • فرض اینکه Temperature بالا الزاماً مشکل است.
  • فرض اینکه Temperature پایین الزاماً Cooling بهتر است.
  • تعویض قطعه قبل از ساخت Hypothesis.
  • تغییر چند متغیر به صورت هم زمان.
  • استفاده از یک Benchmark برای تشخیص تمام مشکلات.
  • مقایسه دستگاه ها در شرایط متفاوت.
  • نادیده گرفتن Performance Regression بعد از Update.
  • اشتباه گرفتن Correlation با Causation.
  • تأیید فرضیه اولیه بدون تلاش برای رد کردن آن.

سوالات متداول عیب یابی Performance پردازنده

اگر لپ تاپ کند باشد یعنی CPU ضعیف است؟

خیر.
RAM، Storage، GPU، Cooling،
Power Management و نرم افزار
نیز می توانند عامل کندی باشند.

CPU Bottleneck یعنی چه؟

یعنی در Workload مورد نظر،
ظرفیت پردازشی CPU
یکی از عوامل اصلی محدود کننده Performance باشد.

آیا CPU باید 100 درصد باشد تا Bottleneck باشد؟

خیر.
یک برنامه ممکن است
به یک یا چند Thread محدود باشد
و Total Usage پایین بماند.

چگونه بفهمیم مشکل از RAM است؟

میزان RAM مصرف شده،
Memory Pressure،
Paging و Storage Activity
باید در زمان وقوع مشکل بررسی شوند.

Page File چیست؟

فضایی روی Storage است
که Windows می تواند
در سیستم حافظه مجازی از آن استفاده کند.

آیا SSD می تواند جای RAM را بگیرد؟

خیر.
Storage و RAM
ویژگی های عملکردی بسیار متفاوتی دارند
و Page File جایگزین مستقیم RAM نیست.

چرا CPU Usage پایین است ولی سیستم کند است؟

CPU ممکن است منتظر Storage،
Memory، GPU، Network
یا رویداد دیگری باشد.

چرا لپ تاپ بعد از چند دقیقه کند می شود؟

Thermal Limitation،
Power Limitation
یا عوامل دیگری ممکن است دخیل باشند.
Sensor Logging می تواند به تشخیص کمک کند.

چرا لپ تاپ روی باتری کندتر است؟

سیاست های Power Management
می توانند روی Battery
Performance پردازنده را محدود کنند.

آیا آداپتور روی سرعت CPU اثر دارد؟

در برخی لپ تاپ ها بله.
توان یا شناسایی آداپتور
می تواند روی سیاست Performance اثر بگذارد.

اگر فقط یک نرم افزار کند باشد مشکل از CPU است؟

الزاماً خیر.
تنظیمات برنامه، Plugin،
Driver، فایل پروژه
یا محدودیت خود نرم افزار نیز باید بررسی شوند.

بهترین روش پیدا کردن علت کندی چیست؟

مشکل را دقیق تعریف کنید،
آن را بازتولید کنید،
داده ها را ثبت کنید،
یک فرضیه بسازید،
فقط یک متغیر را تغییر دهید
و همان تست را دوباره اجرا کنید.

اصطلاحات جدید این فصل

  • Performance Problem: مشکل عملکرد نسبت به سطح مورد انتظار.
  • Symptom: نشانه قابل مشاهده مشکل.
  • Root Cause: علت ریشه ای مشکل.
  • Bottleneck: گلوگاه محدود کننده Performance.
  • Reproduce: بازتولید مشکل در شرایط مشخص.
  • Single-Thread Bottleneck: محدودیت Performance توسط یک یا تعداد کمی Thread.
  • Memory Pressure: فشار وارد بر ظرفیت حافظه.
  • Paging: مدیریت و جابه جایی Pageهای حافظه.
  • Page: واحد مدیریت حافظه مجازی.
  • Page File: فایل مورد استفاده Windows در مدیریت حافظه مجازی.
  • Hard Page Fault: نیاز به دریافت Page از خارج RAM.
  • I/O: ورودی/خروجی.
  • I/O Wait: انتظار برای تکمیل عملیات ورودی/خروجی.
  • Disk Queue: صف درخواست های Storage.
  • Storage Latency: تاخیر پاسخ Storage.
  • Frame Time: زمان لازم برای تولید یک Frame.
  • Background Process: فرآیند در حال اجرا در پس زمینه.
  • Indexing: نمایه سازی اطلاعات برای دسترسی یا جستجوی سریع تر.
  • Process: نمونه در حال اجرای برنامه.
  • Service: سرویس نرم افزاری پس زمینه.
  • Plugin: افزونه نرم افزاری.
  • Extension: جزء گسترش دهنده نرم افزار.
  • Performance Regression: کاهش Performance پس از یک تغییر.
  • Baseline: خط مبنای مقایسه.
  • A/B Test: مقایسه دو وضعیت کنترل شده.
  • Control Variable: متغیری که هنگام آزمایش ثابت نگه داشته می شود.
  • Diagnostic Tree: درخت تصمیم برای عیب یابی مرحله ای.
  • Hypothesis: فرضیه قابل آزمایش درباره علت مشکل.
  • Confirmation Bias: سوگیری تأییدی.

خلاصه فصل

کندی سیستم یک Diagnosis نیست؛
فقط یک Symptom است.

برای پیدا کردن علت واقعی
باید رفتار CPU را در کنار
RAM، Storage، GPU،
Temperature، Power
و Software بررسی کنیم.

Good Diagnosis
=
Define Symptom
+
Reproduce
+
Measure
+
Form Hypothesis
+
Change One Variable
+
Retest

CPU Usage بالا به تنهایی
CPU Bottleneck را ثابت نمی کند
و CPU Usage پایین نیز
آن را رد نمی کند.

مهم تر از همه،
قبل از پیشنهاد ارتقا باید بدانیم:


کدام قطعه یا محدودیت
واقعاً Performance همان Workload را محدود کرده است؟

این تفاوت میان
«حدس زدن مشکل»
و
عیب یابی مهندسی
است.


فصل 46
سطح: کاربردی / تخصصی
موضوع: CPU Selection
تمرکز: انتخاب پردازنده بر اساس Workload

از نام تجاری CPU عبور کنیم؛ انتخاب پردازنده باید از Workload شروع شود

id=”cpu-workload-selection-methodology-title”
روش مهندسی انتخاب CPU؛ چگونه پردازنده مناسب نیاز خود را انتخاب کنیم؟

یکی از رایج ترین اشتباهات هنگام خرید لپ تاپ یا کامپیوتر،
انتخاب CPU فقط بر اساس عبارت هایی مانند
Core i5، Core i7، Ryzen 5 یا Ryzen 7 است.

این نام ها به تنهایی برای قضاوت درباره Performance کافی نیستند.
نسل، معماری، تعداد Core و Thread، توان قابل استفاده،
سیستم خنک کننده، پسوند پردازنده، نوع دستگاه
و مهم تر از همه Workload
می توانند نتیجه را کاملاً تغییر دهند.

روش صحیح انتخاب از این سؤال شروع نمی شود:

«i5 بخرم یا i7؟»

سؤال صحیح این است:


«قرار است چه کاری انجام دهم و آن Workload
از کدام منابع سخت افزاری بیشتر استفاده می کند؟»

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا نام Core i5 یا Core i7 برای انتخاب کافی نیست.
  • چرا نسل CPU اهمیت دارد.
  • چرا پسوند پردازنده اهمیت دارد.
  • چگونه Workload را تحلیل کنیم.
  • Single-Thread Performance چه زمانی مهم است.
  • Multi-Thread Performance چه زمانی مهم است.
  • Latency و Throughput چه تفاوتی دارند.
  • چگونه نیاز CPU و GPU را از یکدیگر جدا کنیم.
  • چگونه RAM و Storage روی انتخاب CPU اثر می گذارند.
  • چرا Cooling بخشی از انتخاب CPU است.
  • چرا CPU لپ تاپ را نباید جدا از خود لپ تاپ خریداری کرد.
  • چگونه نسل قبل و بعد پردازنده را مقایسه کنیم.
  • چگونه پسوندهای مختلف یک نسل را مقایسه کنیم.
  • چگونه Minimum، Recommended و Ideal Requirement تعریف کنیم.
  • چگونه برای نرم افزارهای مختلف CPU انتخاب کنیم.
  • چگونه Overkill را تشخیص دهیم.
  • چگونه بودجه را میان CPU، GPU، RAM و SSD تقسیم کنیم.
  • چگونه برای لپ تاپ استوک CPU مناسب انتخاب کنیم.

روش اشتباه انتخاب CPU

این مدل تصمیم گیری بسیار رایج است:

i3 < i5 < i7 < i9

یا:

Ryzen 3 < Ryzen 5 < Ryzen 7 < Ryzen 9

این طبقه بندی برای شناخت جایگاه تقریبی محصولات
در یک خانواده مشخص مفید است،
اما نباید آن را به یک قانون مطلق Performance تبدیل کرد.

Common Mistake — هر Core i7 از هر Core i5 سریع تر است

خیر.

یک Core i5 جدیدتر
می تواند در بسیاری از Workloadها
از Core i7 قدیمی تر سریع تر باشد.

حتی در یک نسل،
یک پردازنده سری H
و یک پردازنده سری U
می توانند رفتار Performance بسیار متفاوتی داشته باشند.

بنابراین:

Brand Tier
≠
Absolute Performance

برای انتخاب CPU باید هویت کامل پردازنده را بخوانیم

به جای خواندن فقط عبارت Core i7،
باید مدل کامل CPU بررسی شود.

هویت CPU را به چند بخش تقسیم کنید

Manufacturer
+
Family
+
Tier
+
Generation
+
Model
+
Suffix
+
Architecture
+
Core Configuration

برای مثال دو پردازنده که هر دو
نام Core i7 دارند
ممکن است از نظر نسل، تعداد هسته،
توان و هدف طراحی کاملاً متفاوت باشند.

قانون اول: ابتدا Workload را مشخص کنید


Workload چیست؟

Workload
یا «بار کاری»
مجموعه عملیاتی است که
نرم افزار یا کاربر از سیستم می خواهد انجام دهد.

عبارت هایی مانند
«لپ تاپ مهندسی»،
«لپ تاپ دانشجویی»
یا «سیستم حرفه ای»
هنوز برای انتخاب دقیق CPU کافی نیستند.

باید بدانیم نرم افزار و نوع پروژه چیست.

برای مثال:

Engineering
→
AutoCAD?
Revit?
SolidWorks?
MATLAB?
ANSYS?

هر یک از این Workloadها
می توانند الگوی استفاده متفاوتی
از CPU، GPU و RAM داشته باشند.

Workload Profile چیست؟


Workload Profile

Workload Profile
یا «پروفایل بار کاری»
توصیفی از نوع منابع مورد نیاز
یک کار مشخص است.

برای مثال بررسی می کنیم:

  • آیا کار بیشتر Single-Thread است؟
  • آیا Multi-Thread Scaling خوبی دارد؟
  • آیا GPU اهمیت زیادی دارد؟
  • چه مقدار RAM لازم است؟
  • آیا Storage Performance مهم است؟
  • آیا کار کوتاه و Burst است یا طولانی و Sustained؟

Latency و Throughput؛ دو نیاز متفاوت


Latency

Latency
یعنی «تاخیر».

در این Context،
به مدت زمانی اشاره دارد که
انجام یا پاسخ به یک عملیات طول می کشد.


Throughput

Throughput
یا «توان عملیاتی»
مقدار کاری است که
در یک بازه زمانی انجام می شود.

Under the Hood — چرا این تفاوت در انتخاب CPU مهم است؟

بعضی Workloadها نیاز دارند
یک عملیات مشخص خیلی سریع تمام شود.

در این حالت Latency اهمیت زیادی دارد.

بعضی Workloadها می توانند
حجم بزرگی از کار را
میان تعداد زیادی Core تقسیم کنند.

در این حالت Throughput
اهمیت بیشتری پیدا می کند.

چه زمانی Single-Thread Performance مهم است؟

اگر بخش مهمی از Workload
به یک Thread یا تعداد کمی Thread وابسته باشد،
Performance هر Core اهمیت زیادی پیدا می کند.

در چنین شرایطی عواملی مانند:

  • معماری CPU
  • IPC
  • Clock
  • Cache
  • Memory Latency
  • رفتار Boost

می توانند روی Performance اثر بگذارند.

چه زمانی Multi-Thread Performance مهم است؟

Workloadهایی که می توانند
وظایف خود را میان تعداد زیادی Thread تقسیم کنند،
معمولاً از CPUهای چند هسته ای قدرتمندتر
استفاده بیشتری می کنند.

نمونه های احتمالی:

  • CPU Rendering
  • Encoding
  • Compression
  • برخی Simulationها
  • Compilation پروژه های بزرگ
  • اجرای چند ماشین مجازی

Multi-Thread Scaling چیست؟


Scaling

Scaling
یا «مقیاس پذیری»
در این Context نشان می دهد
یک Workload با افزایش منابع پردازشی
تا چه اندازه سریع تر می شود.

اگر تعداد Core دو برابر شود،
الزاماً Performance دو برابر نمی شود.

2× Cores
≠
Automatically 2× Performance

Engineering Insight — چرا افزایش Core بازده نزولی دارد؟

تقریباً هر Workload
بخش هایی دارد که
موازی سازی آنها محدود است.

هرچه تعداد Core افزایش پیدا کند،
بخش غیرقابل موازی سازی
می تواند سهم بیشتری از زمان کل اجرا را تشکیل دهد.

بنابراین برای انتخاب CPU
باید Scaling واقعی نرم افزار بررسی شود،
نه فقط تعداد Core.

نسل CPU چقدر در انتخاب اهمیت دارد؟

نسل پردازنده می تواند تغییراتی در:

  • Architecture
  • IPC
  • Core Count
  • Cache
  • Memory Support
  • Integrated GPU
  • Power Efficiency
  • Instruction Support
  • Platform Features

ایجاد کند.

بنابراین مقایسه CPUها
باید مدل و نسل کامل را در نظر بگیرد.

چرا باید نسل قبل و نسل بعد را هم مقایسه کنیم؟

انتخاب CPU نباید در خلأ انجام شود.

برای هر گزینه بهتر است حداقل سه سطح بررسی شود:

Previous Generation
↔
Target Generation
↔
Next Generation

این مقایسه نشان می دهد
آیا افزایش قیمت برای نسل جدیدتر
واقعاً ارزش دارد
یا نسل قبلی Value بهتری ارائه می دهد.

چارچوب مقایسه نسل ها

معیار نسل قبل نسل هدف نسل بعد
Single-Core بررسی شود بررسی شود بررسی شود
Multi-Core بررسی شود بررسی شود بررسی شود
Core / Thread مقایسه مقایسه مقایسه
Efficiency مقایسه مقایسه مقایسه
Platform مقایسه مقایسه مقایسه
قیمت واقعی مقایسه مقایسه مقایسه
Performance / Price محاسبه محاسبه محاسبه

پسوند CPU چرا در انتخاب اهمیت زیادی دارد؟

دو CPU از یک خانواده و نسل
می توانند پسوندهای متفاوتی داشته باشند
و برای دستگاه های کاملاً متفاوت طراحی شده باشند.

برای مثال در پردازنده های لپ تاپی
ممکن است با خانواده هایی روبه رو شویم
که برای مصرف پایین،
لپ تاپ های باریک،
Performance بالاتر
یا کلاس های کاری متفاوت طراحی شده اند.

Common Mistake — مقایسه CPU بدون خواندن پسوند

مقایسه فقط بر اساس
Core i7 یا Ryzen 7
می تواند بسیار گمراه کننده باشد.

مدل کامل و Suffix
باید بخشی از مقایسه باشد.

مقایسه پسوندهای مختلف در یک نسل

هنگام بررسی دو پردازنده هم نسل،
این سؤال ها را بپرسید:

  • هر CPU برای چه کلاس دستگاهی طراحی شده است؟
  • محدوده توان واقعی آنها چگونه است؟
  • تعداد Core و Thread چگونه است؟
  • رفتار Boost چگونه است؟
  • Sustained Performance چگونه است؟
  • چه Cooling برای آنها در نظر گرفته شده است؟
  • هدف طراحی Battery Life است یا Performance؟

بنابراین:

Same Generation
+
Same Tier
≠
Same Performance Class

در لپ تاپ، CPU را جدا از Chassis انتخاب نکنید


Chassis چیست؟

Chassis
در این Context
به ساختار فیزیکی و بدنه اصلی دستگاه
و محدودیت های طراحی مرتبط با آن اشاره دارد.

همان CPU می تواند
در دو لپ تاپ مختلف
Performance متفاوتی داشته باشد.

علت می تواند شامل:

  • Cooling متفاوت
  • Power Limit متفاوت
  • Firmware متفاوت
  • Fan Profile متفاوت
  • Memory Configuration متفاوت
  • Shared Power Budget متفاوت

باشد.

Under the Hood — شما در لپ تاپ فقط CPU نمی خرید

Performance واقعی لپ تاپ حاصل همکاری
مجموعه ای از اجزاست.

CPU
+
Cooling
+
Power Delivery
+
Firmware
+
RAM
+
Storage
+
GPU
+
Chassis
=
Real Laptop Performance

به همین دلیل
بررسی Benchmark خود مدل لپ تاپ
در کنار مشخصات CPU اهمیت دارد.

سطح معنی
Minimum حداقل سطح قابل استفاده برای اجرای کار
Recommended سطح پیشنهادی برای تجربه مناسب و منطقی
Ideal سطح مطلوب برای نیاز، بودجه و آینده مورد انتظار کاربر


Minimum Requirement

Minimum Requirement
یعنی «حداقل نیاز».

این سطح الزاماً
تجربه سریع یا مطلوبی ارائه نمی دهد؛
فقط ممکن است انجام کار را ممکن کند.


Recommended Requirement

Recommended Requirement
یا «نیاز پیشنهادی»
سطحی است که برای استفاده معمول
از Workload مورد نظر
تجربه مناسب تری ارائه می دهد.


Ideal Configuration

Ideal Configuration
یا «پیکربندی مطلوب»
بهترین گزینه مطلق بازار نیست.

بلکه ترکیبی است که
با نیاز، بودجه، مدت استفاده
و اولویت های کاربر
تناسب بالایی داشته باشد.

Overkill چیست؟


Overkill

Overkill
در انتخاب سخت افزار
یعنی خرید سطحی از Performance
که نسبت به نیاز واقعی کاربر
بسیار بیشتر است
و منفعت عملی متناسبی ایجاد نمی کند.

مثال ساده:

برای کاربری که فقط
Browser، Word، Excel سبک
و نرم افزارهای اداری معمولی اجرا می کند،
هزینه بسیار بالا برای CPU پرچمدار
ممکن است نسبت به افزایش RAM،
SSD بهتر یا نمایشگر مناسب
ارزش کمتری داشته باشد.

Performance Headroom چیست؟


Headroom

Performance Headroom
یا «حاشیه توان عملکردی»
ظرفیت اضافه ای است
که سیستم فراتر از نیاز فعلی در اختیار دارد.

مقداری Headroom می تواند مفید باشد،
زیرا Workload آینده ممکن است سنگین تر شود.

اما Headroom بسیار زیاد
می تواند به Overkill تبدیل شود.

Future-Proof چیست؟


Future-Proof

Future-Proof
اصطلاحی برای انتخاب سیستمی است
که انتظار می رود
در برابر افزایش نیازهای آینده
مدت بیشتری مناسب باقی بماند.

اما هیچ CPU واقعاً
«ضد آینده» نیست.

بهتر است به جای این عبارت
درباره Expected Useful Life
یا «عمر مفید مورد انتظار برای نیاز کاربر»
صحبت کنیم.


Expected Useful Life

مدت زمانی است که انتظار داریم
سیستم برای نیاز مشخص کاربر
Performance قابل قبول ارائه دهد.

Balanced System چیست؟


Balanced System

Balanced System
یا «سیستم متعادل»
سیستمی است که منابع آن
متناسب با Workload هدف انتخاب شده باشند.

برای مثال:

Powerful CPU
+
Insufficient RAM
=
Poor Balance

یا:

Expensive CPU
+
Weak GPU
+
GPU-Heavy Workload
=
Poor Budget Allocation

Budget Allocation چیست؟


Budget Allocation

Budget Allocation
یعنی «تخصیص بودجه».

یعنی تصمیم بگیریم
چه سهمی از بودجه
به CPU، GPU، RAM، Storage،
نمایشگر و سایر اجزای سیستم اختصاص پیدا کند.

Engineering Insight — بهترین CPU لزوماً بهترین سیستم را نمی سازد

هدف خرید،
بیشینه کردن نام CPU نیست.

هدف باید بیشینه کردن
Performance و کیفیت تجربه
در Workload واقعی
با بودجه موجود باشد.

Best Purchase
≠
Maximum CPU Tier

Best Purchase
=
Best System Balance For The Workload

انتخاب CPU برای کارهای اداری

Workloadهای اداری معمولاً شامل:

  • Word
  • Excel
  • Browser
  • Email
  • PDF
  • حسابداری سبک تا متوسط
  • جلسات آنلاین

هستند.

در بسیاری از این کاربردها
Responsiveness،
RAM کافی
و SSD مناسب
اهمیت زیادی دارند.

خرید CPU بسیار پرمصرف و قدرتمند
برای استفاده اداری معمول
غالباً ضروری نیست.

انتخاب CPU برای دانش آموز و دانشجو

عبارت «دانشجویی»
به تنهایی Workload را مشخص نمی کند.

دانشجوی حقوق،
معماری،
مهندسی مکانیک
و علوم کامپیوتر
می توانند نیازهای سخت افزاری کاملاً متفاوتی داشته باشند.

بنابراین:

Field Of Study
→
Software
→
Project Complexity
→
Hardware Requirement

انتخاب CPU برای برنامه نویسی

نیاز برنامه نویسی
به نوع Development بستگی دارد.

مواردی مانند:

  • IDE مورد استفاده
  • اندازه پروژه
  • Compilation
  • Containerها
  • Virtual Machineها
  • Local Database
  • Browser Tabs

می توانند نیاز CPU و RAM را تغییر دهند.


Compilation چیست؟

Compilation
یا «کامپایل»
فرآیندی است که طی آن
کد منبع به شکل دیگری
برای اجرا یا مراحل بعدی ساخت نرم افزار
تبدیل می شود.


Container چیست؟

Container
در توسعه نرم افزار
محیطی ایزوله برای اجرای برنامه
همراه با وابستگی های مورد نیاز آن است.


Virtual Machine چیست؟

Virtual Machine
یا «ماشین مجازی»
محیط کامپیوتری نرم افزاری است
که می تواند مانند یک سیستم مستقل
سیستم عامل و برنامه اجرا کند.

انتخاب CPU برای AutoCAD

نیاز دقیق AutoCAD
به نوع پروژه و عملیات بستگی دارد.

در بسیاری از عملیات تعاملی،
Performance هر Core اهمیت زیادی دارد،
در حالی که بعضی عملیات دیگر
می توانند الگوی متفاوتی داشته باشند.

بنابراین برای AutoCAD
نباید فقط تعداد Core را معیار قرار داد.

همچنین GPU و RAM
بر اساس پیچیدگی پروژه
اهمیت پیدا می کنند.

انتخاب CPU برای Revit

Revit شامل مجموعه ای از عملیات مختلف است
و همه آنها رفتار پردازشی یکسانی ندارند.

Performance تک هسته ای قوی
در بسیاری از تعاملات اهمیت دارد،
اما باید RAM،
GPU،
اندازه Model
و نوع عملیات نیز در نظر گرفته شوند.


Model در نرم افزارهای مهندسی چیست؟

Model
یا «مدل»
نمایش دیجیتال پروژه،
قطعه، ساختمان
یا سیستم مورد طراحی است.

هرچه Model پیچیده تر شود،
نیاز به CPU، RAM و GPU
می تواند افزایش پیدا کند.

انتخاب CPU برای SolidWorks

در SolidWorks نیز
نوع عملیات تعیین کننده است.

Modeling تعاملی،
Assembly،
Simulation
و Rendering
الزاماً نیاز پردازشی یکسانی ندارند.

بنابراین جمله
«بهترین CPU برای SolidWorks»
بدون مشخص کردن نوع استفاده
سؤال کاملی نیست.


Assembly چیست؟

Assembly
در نرم افزارهای CAD
به مجموعه ای از قطعات
گفته می شود که
در کنار یکدیگر یک سیستم یا محصول را تشکیل می دهند.

انتخاب CPU برای Photoshop

Photoshop می تواند
بسته به نوع عملیات
از CPU، RAM، GPU
و Storage استفاده کند.

Performance بالا در تعداد محدودی Core
در بسیاری از عملیات اهمیت دارد،
اما فایل های بزرگ و Layerهای متعدد
می توانند RAM و Storage را نیز بسیار مهم کنند.


Layer چیست؟

Layer
یا «لایه»
بخش مستقلی از یک تصویر یا پروژه گرافیکی است
که می تواند جداگانه ویرایش شود.

انتخاب CPU برای تدوین ویدئو

تدوین ویدئو
یک Workload چندبعدی است.

CPU، GPU، RAM،
Storage
و Media Engine
همگی می توانند اهمیت داشته باشند.

Resolution،
Codec،
Effectها،
تعداد Trackها
و نوع Export
روی نیاز سخت افزاری اثر دارند.


Codec چیست؟

Codec
سازوکاری برای
Encode و Decode کردن
داده های صوتی یا تصویری است.

در فارسی می توان آن را
«رمزگذار/رمزگشا» توصیف کرد.


Media Engine چیست؟

Media Engine
یا «موتور رسانه ای»
بخش سخت افزاری تخصصی
برای شتاب دادن برخی عملیات
Encode و Decode ویدئو است.

انتخاب CPU برای Rendering

اولین سؤال این است:

Rendering با CPU انجام می شود یا GPU؟

اگر Render Engine
عمدتاً CPU-Based باشد،
Multi-Core Performance
اهمیت بسیار زیادی پیدا می کند.

اگر Render Engine
GPU-Based باشد،
سرمایه گذاری بیش از حد روی CPU
ممکن است نسبت به GPU
بازده کمتری داشته باشد.


Render Engine چیست؟

Render Engine
یا «موتور رندر»
بخش نرم افزاری است که
محاسبات لازم برای تولید تصویر نهایی
از Scene را انجام می دهد.

انتخاب CPU برای Gaming

در Gaming،
CPU و GPU به یکدیگر وابسته اند.

CPU بخشی از منطق بازی،
آماده سازی داده،
Simulation
و ارسال Work به GPU را انجام می دهد.

نیاز CPU می تواند
با موارد زیر تغییر کند:

  • نوع Game
  • Target FPS
  • Resolution
  • GPU
  • Graphics Settings
  • Engine بازی


Target FPS چیست؟

Target FPS
یعنی نرخ فریمی که
کاربر قصد دارد سیستم
به صورت مطلوب به آن برسد.

برای مثال نیاز CPU
برای هدف 60 FPS
می تواند با هدف 144 FPS متفاوت باشد.

Performance per Price چیست؟


Performance per Price

Performance per Price
یا «عملکرد نسبت به قیمت»
روشی برای بررسی
مقدار Performance دریافتی
در برابر هزینه پرداخت شده است.

این معیار مخصوصاً
در بازار لپ تاپ استوک اهمیت زیادی دارد،
زیرا اختلاف قیمت نسل ها
می تواند بسیار بیشتر یا کمتر
از اختلاف Performance آنها باشد.

Value چیست؟


Value

Value
در خرید سخت افزار
فقط به معنی «ارزان بودن» نیست.

Value یعنی
میزان منفعت واقعی دریافت شده
نسبت به هزینه پرداخت شده
برای نیاز مشخص کاربر.

انتخاب CPU در لپ تاپ استوک

در بازار استوک
یک مزیت مهم وجود دارد:
نسل های مختلف با اختلاف قیمت قابل توجه
در کنار یکدیگر قرار می گیرند.

اما همین موضوع
مقایسه را دشوارتر می کند.

ممکن است انتخاب میان:

Older i7
vs
Newer i5

یا:

Older H-Series
vs
Newer U-Series

مطرح باشد.

در این شرایط
نام i7 یا i5
تقریباً آخرین چیزی است که باید به تنهایی مبنای تصمیم قرار گیرد.

چک لیست انتخاب CPU در لپ تاپ استوک

معیار سؤال
Workload کاربر دقیقاً چه نرم افزارهایی اجرا می کند؟
Generation پردازنده متعلق به چه نسل و معماری است؟
Suffix CPU برای چه کلاس مصرفی طراحی شده است؟
Core / Thread تعداد منابع پردازشی برای Workload کافی است؟
Single-Core Performance تک هسته ای مناسب است؟
Multi-Core Performance چند هسته ای مناسب است؟
Cooling لپ تاپ می تواند Performance را حفظ کند؟
RAM ظرفیت و Configuration مناسب است؟
GPU Workload به GPU قوی نیاز دارد؟
Storage SSD و Performance ذخیره سازی مناسب است؟
Previous Gen نسل قبلی با قیمت کمتر چه Performance دارد؟
Next Gen نسل بعد با اختلاف قیمت موجود چه مزیتی دارد؟
Price اختلاف قیمت متناسب با منفعت واقعی است؟
Condition وضعیت واقعی دستگاه استوک چگونه است؟

الگوریتم مرحله به مرحله انتخاب CPU

01
کاربرد را مشخص کنید«مهندسی» یا «دانشجویی» کافی نیست؛
نرم افزار و نوع پروژه را مشخص کنید.
02
Workload Profile بسازیدمشخص کنید CPU، GPU، RAM و Storage
چه نقشی در کار دارند.
03
Single یا Multi-Thread را بررسی کنیدمشخص کنید نرم افزار از Coreهای بیشتر
تا چه اندازه استفاده می کند.
04
حداقل Performance لازم را تعیین کنیدMinimum Requirement را از نیاز واقعی استخراج کنید.
05
سطح Recommended را تعیین کنیدگزینه ای انتخاب کنید که فقط «اجرا» نکند،
بلکه تجربه مناسبی ارائه دهد.
06
مدل کامل CPU را بخوانیدنسل، مدل و Suffix بررسی شود.
07
نسل قبل را مقایسه کنیدشاید با هزینه کمتر Value بسیار خوبی ارائه دهد.
08
نسل بعد را مقایسه کنیدبررسی کنید افزایش قیمت چه مزیت واقعی ایجاد می کند.
09
پسوندها را مقایسه کنیدCPUهای هم نسل می توانند کلاس عملکردی متفاوتی داشته باشند.
10
Benchmark مرتبط را بررسی کنیدBenchmark باید تا حد امکان به Workload واقعی نزدیک باشد.
11
Sustained Performance را بررسی کنیدمخصوصاً در لپ تاپ،
Performance طولانی مدت اهمیت دارد.
12
خود لپ تاپ را بررسی کنیدCooling، Power Limit و Chassis
می توانند نتیجه CPU را تغییر دهند.
13
RAM و GPU را بررسی کنیدCPU قدرتمند در سیستم نامتعادل
الزاماً خرید خوبی نیست.
14
Performance per Price را محاسبه کنیدافزایش قیمت باید منفعت عملی قابل توجیه داشته باشد.
15
Headroom منطقی اضافه کنیدبرای رشد پروژه و نیاز آینده مقداری ظرفیت اضافه در نظر بگیرید.
16
Overkill را حذف کنیدهزینه ای که منفعت عملی ندارد
به بخش مهم تری از سیستم منتقل شود.
17
انتخاب را در سطح سیستم نهایی کنیدCPU به تنهایی انتخاب نمی شود؛
کل Configuration باید مناسب Workload باشد.

Under the Hood — فرمول ذهنی انتخاب CPU

انتخاب پردازنده را می توان
به شکل یک رابطه مفهومی خلاصه کرد:

CPU Choice
=
Workload
+
Required Performance
+
Generation
+
Architecture
+
Suffix
+
Core Configuration
+
Sustained Performance
+
Platform
+
Budget

و در لپ تاپ باید این موارد را نیز اضافه کنیم:

Laptop CPU Choice
=
CPU Choice
+
Cooling
+
Power Limits
+
Chassis
+
Device Condition

Common Mistakes — اشتباهات رایج هنگام انتخاب CPU
  • انتخاب فقط بر اساس i5 یا i7.
  • نادیده گرفتن نسل پردازنده.
  • نادیده گرفتن Suffix.
  • مقایسه CPU دسکتاپ و لپ تاپ فقط بر اساس نام.
  • مقایسه CPU سری U و H فقط بر اساس Tier.
  • فرض اینکه Core بیشتر همیشه بهتر است.
  • نادیده گرفتن Single-Thread Performance.
  • نادیده گرفتن Multi-Thread Scaling نرم افزار.
  • انتخاب CPU بدون بررسی GPU.
  • انتخاب CPU بدون بررسی RAM.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن Sustained Performance.
  • خرید CPU بسیار قوی برای Workload سبک.
  • خرید بر اساس Benchmark نامرتبط.
  • نادیده گرفتن نسل قبل.
  • نادیده گرفتن نسل بعد.
  • ندیدن اختلاف قیمت واقعی بازار.
  • اشتباه گرفتن Minimum با Recommended.
  • اشتباه گرفتن Future-Proof با Overkill.
  • تمرکز روی CPU به جای Balanced System.

سوالات متداول انتخاب CPU

Core i5 بهتر است یا Core i7؟

بدون مشخص کردن مدل کامل،
نسل، پسوند و Workload
نمی توان پاسخ دقیقی داد.

آیا i5 نسل جدید از i7 نسل قدیمی بهتر است؟

ممکن است در بسیاری از Workloadها بهتر باشد،
اما باید مدل های دقیق
و نوع کاربرد مقایسه شوند.

نسل CPU مهم تر است یا Core i5 و i7 بودن؟

هیچ کدام به تنهایی کافی نیستند.
مدل کامل، معماری، نسل،
Suffix و Performance واقعی
باید با هم بررسی شوند.

آیا Core بیشتر همیشه بهتر است؟

خیر.
میزان استفاده نرم افزار از Threadهای متعدد
تعیین می کند Coreهای اضافه
چه مقدار منفعت ایجاد کنند.

برای AutoCAD CPU چند هسته ای لازم است؟

نوع پروژه و عملیات مهم است.
در بسیاری از عملیات تعاملی
Performance هر Core اهمیت بالایی دارد
و فقط تعداد Core معیار مناسبی نیست.

برای Rendering CPU مهم تر است یا GPU؟

به Render Engine بستگی دارد.
برخی موتورهای رندر CPU-Based
و برخی GPU-Based هستند.

برای برنامه نویسی چه CPUای مناسب است؟

نوع پروژه، Compilation،
Virtual Machine،
Container
و حجم Multitasking تعیین کننده هستند.

برای کار اداری i7 لازم است؟

در بسیاری از کاربردهای اداری معمول خیر.
سیستم متعادل با RAM و SSD مناسب
می تواند اهمیت بیشتری داشته باشد.

Suffix پردازنده مهم است؟

بله.
پسوند می تواند اطلاعات مهمی
درباره کلاس و هدف طراحی CPU ارائه کند.

آیا CPU یکسان در دو لپ تاپ Performance یکسان دارد؟

الزاماً خیر.
Cooling، Power Limit،
Firmware و Memory Configuration
می توانند نتیجه را تغییر دهند.

Future-Proof یعنی قوی ترین CPU را بخریم؟

خیر.
بهتر است Headroom منطقی
متناسب با رشد نیازهای واقعی در نظر گرفته شود.

برای خرید لپ تاپ استوک نسل مهم تر است یا سری CPU؟

هر دو مهم هستند،
اما هیچ کدام به تنهایی کافی نیستند.
باید نسل، معماری، مدل کامل،
پسوند، Performance واقعی
و قیمت دستگاه با هم بررسی شوند.

اصطلاحات جدید این فصل

  • CPU Selection: فرآیند انتخاب پردازنده متناسب با نیاز.
  • Workload Profile: پروفایل نیازهای پردازشی یک بار کاری.
  • Latency: تاخیر انجام یا پاسخ یک عملیات.
  • Throughput: حجم کار انجام شده در واحد زمان.
  • Scaling: میزان استفاده Workload از منابع پردازشی بیشتر.
  • Minimum Requirement: حداقل نیاز سخت افزاری.
  • Recommended Requirement: سطح پیشنهادی برای تجربه مناسب.
  • Ideal Configuration: پیکربندی مطلوب متناسب با نیاز و بودجه.
  • Overkill: Performance بیش از حد نیاز با منفعت عملی کم.
  • Performance Headroom: حاشیه توان عملکردی اضافه.
  • Future-Proof: تلاش برای حفظ مناسب بودن سیستم در نیازهای آینده.
  • Expected Useful Life: عمر مفید مورد انتظار برای نیاز مشخص.
  • Balanced System: سیستم متعادل نسبت به Workload.
  • Budget Allocation: نحوه تقسیم بودجه میان اجزای سیستم.
  • Performance per Price: میزان Performance نسبت به هزینه.
  • Value: منفعت واقعی نسبت به هزینه پرداخت شده.
  • Chassis: ساختار فیزیکی و بدنه اصلی دستگاه.
  • Compilation: فرآیند تبدیل کد منبع برای ساخت یا اجرای نرم افزار.
  • Container: محیط ایزوله اجرای نرم افزار و وابستگی های آن.
  • Virtual Machine: محیط کامپیوتری مجازی.
  • Assembly: مجموعه قطعات در نرم افزارهای CAD.
  • Layer: لایه مستقل در پروژه گرافیکی.
  • Codec: سازوکار رمزگذاری و رمزگشایی رسانه.
  • Media Engine: سخت افزار تخصصی پردازش رسانه.
  • Render Engine: موتور محاسباتی تولید تصویر نهایی.
  • Target FPS: نرخ فریم هدف.

خلاصه فصل

انتخاب CPU
نباید با نام Core i5،
Core i7، Ryzen 5 یا Ryzen 7 آغاز شود.

نقطه شروع صحیح
Workload واقعی کاربر است.

Workload
→
Resource Requirements
→
CPU Performance Requirement
→
Generation / Architecture / Suffix
→
System Configuration
→
Price Comparison
→
Final Choice

هنگام انتخاب پردازنده
باید نسل قبل و نسل بعد،
پسوندهای مختلف،
Single-Core و Multi-Core Performance،
Cooling و Sustained Performance
نیز بررسی شوند.

در لپ تاپ استوک،
این موضوع اهمیت بیشتری دارد؛
زیرا ممکن است چند نسل و چند کلاس پردازنده
با قیمت های نزدیک
هم زمان در دسترس باشند.

هدف نهایی این نیست که
«قوی ترین CPU ممکن» را پیدا کنیم.

هدف این است که:


مناسب ترین CPU را در مناسب ترین سیستم
برای Workload واقعی و بودجه واقعی کاربر پیدا کنیم.


فصل 47
سطح: کاربردی / تخصصی
موضوع: Intel CPU Guide
تمرکز: نسل، نام گذاری، سری و پسوند

عددها و حروف روی نام پردازنده تصادفی نیستند

راهنمای جامع پردازنده های Intel؛ چگونه نسل، سری، مدل و پسوند CPU را بخوانیم؟

برای مقایسه پردازنده های Intel،
دانستن عبارت Core i5 یا Core i7 کافی نیست.
نام کامل پردازنده اطلاعات مهمی درباره
خانواده، نسل، جایگاه مدل و کلاس طراحی آن ارائه می دهد.

برای مثال:

Intel Core i7-11800H

را نباید فقط «Core i7» بخوانیم.

در این نام،
i7
خانواده عملکردی،
11
نسل پردازنده
و
H
کلاس پردازنده موبایلی Performance-Oriented
را مشخص می کند.

البته ساختار نام گذاری Intel
در طول سال ها ثابت نمانده است.
به همین دلیل باید ابتدا بدانیم
پردازنده متعلق به کدام دوره نام گذاری است.

در این فصل چه چیزهایی یاد می گیریم؟

  • ساختار کلی نام پردازنده های Intel چیست.
  • Core i3، Core i5، Core i7 و Core i9 چه مفهومی دارند.
  • Generation یا نسل CPU چیست.
  • چگونه نسل پردازنده های Intel را از روی مدل تشخیص دهیم.
  • چرا روش تشخیص نسل در همه CPUهای Intel یکسان نیست.
  • Model Number چیست.
  • Suffix چیست.
  • پسوندهای U، Y، P، H، HK و HX چه مفهومی دارند.
  • پسوندهای K، KF، F و T در دسکتاپ چه مفهومی دارند.
  • چرا CPUهای یک نسل می توانند Performance بسیار متفاوتی داشته باشند.
  • چگونه نسل قبل، نسل هدف و نسل بعد را مقایسه کنیم.
  • چگونه پردازنده های سری U و H را مقایسه کنیم.
  • چرا i7 قدیمی الزاماً از i5 جدید بهتر نیست.
  • چرا تعداد Core به تنهایی معیار کافی نیست.
  • تغییر نام گذاری Intel Core و Core Ultra چه معنایی دارد.
  • چگونه CPU لپ تاپ استوک را از روی نام اولیه تحلیل کنیم.

خانواده Intel Core چیست؟

Intel Core
نام یکی از خانواده های اصلی پردازنده های مصرفی Intel است
که طی نسل های مختلف
در لپ تاپ ها و کامپیوترهای دسکتاپ استفاده شده است.

نام هایی مانند:

Core i3
/
Core i5
/
Core i7
/
Core i9

طبقه بندی محصول را نشان می دهند،
نه Performance مطلق در تمام نسل ها و دستگاه ها.

Core i3، i5، i7 و i9 دقیقاً چه هستند؟


Product Tier چیست؟

Product Tier
را می توان «رده محصول» یا «سطح جایگاه محصول»
ترجمه کرد.

Tier نشان می دهد
یک مدل در ساختار محصولات همان دوره
تقریباً در چه سطحی قرار گرفته است.

رده جایگاه کلی برداشت صحیح
Core i3 رده ورودی خانواده Core نباید با i3 نسل های دیگر فقط از روی نام مقایسه شود
Core i5 رده میانی در بسیاری از نسل ها تعادل مناسبی میان Performance و هزینه دارد
Core i7 رده بالاتر معمولاً منابع یا Performance بیشتری در همان خانواده ارائه می دهد
Core i9 رده بالای خانواده مصرفی برای Workloadهای سنگین تر یا Performance بالاتر هدف گذاری می شود

کلمه مهم در جدول بالا
«همان خانواده و همان دوره»
است.

نمی توان از این جدول نتیجه گرفت:

Every i7
>
Every i5

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


Generation

Generation
یعنی «نسل».

در خانواده های مختلف Intel،
نسل برای تفکیک دوره های مختلف محصولات
و تغییرات معماری و پلتفرم استفاده شده است.

تغییر نسل می تواند همراه با تغییر در:

  • Microarchitecture
  • IPC
  • Core Count
  • Cache
  • Memory Support
  • Integrated Graphics
  • Power Efficiency
  • Platform Features

باشد.


Microarchitecture چیست؟

Microarchitecture
یا «ریزمعماری»
نحوه پیاده سازی داخلی یک معماری پردازنده است.

دو CPU می توانند
مجموعه دستورهای مشابهی اجرا کنند،
اما به دلیل ریزمعماری متفاوت
Performance، مصرف انرژی
و رفتار متفاوتی داشته باشند.

ساختار سنتی نام گذاری Intel Core

برای سال های زیادی
یکی از رایج ترین ساختارهای نام گذاری
به شکل زیر بود:

Intel Core i7-11800H

می توان آن را به صورت مفهومی شکست:

Intel
|
Core
|
i7
|
11
|
800
|
H

بخش مفهوم
Intel سازنده
Core خانواده محصول
i7 Product Tier
11 نسل یازدهم در این الگوی نام گذاری
800 بخشی از شناسه مدل در همان خانواده
H Suffix یا پسوند

مثال تشخیص نسل Intel

CPU نسل نکته
Core i5-8250U نسل 8 عدد 8 ابتدای 8250 نشان دهنده نسل است
Core i7-9750H نسل 9 عدد 9 ابتدای 9750
Core i5-10210U نسل 10 دو رقم 10 در ابتدای شماره مدل
Core i7-1165G7 نسل 11 11 در ابتدای شماره مدل
Core i5-1235U نسل 12 12 در ابتدای شماره مدل
Core i7-13700H نسل 13 13 در ابتدای شماره مدل
Core i7-14700HX نسل 14 14 در ابتدای شماره مدل

Common Mistake — همیشه اولین رقم مدل Intel نسل را نشان می دهد

این قانون عمومی و همیشگی نیست.

ساختار نام گذاری Intel
در دوره ها و خانواده های مختلف تغییر کرده است.

حتی در برخی نسل های موبایلی قدیمی تر
ساختار مدل ها می تواند باعث سردرگمی شود.

بنابراین روش صحیح این است:

Identify Product Family
→
Identify Naming Scheme
→
Decode Model Number

چرا نسل دهم Intel مثال خوبی برای پیچیدگی نام گذاری است؟

در نسل دهم موبایلی Intel
پردازنده هایی با ساختار نام گذاری متفاوت
در بازار وجود داشتند.

برای مثال:

Core i5-10210U

و:

Core i5-1035G1

هر دو می توانند در خانواده محصولات نسل دهم قرار بگیرند،
اما ساختار نام آنها یکسان نیست.

این مثال نشان می دهد
که تشخیص CPU فقط با حفظ یک فرمول عددی
همیشه قابل اعتماد نیست.

Suffix یا پسوند CPU چیست؟


Suffix

Suffix
یعنی «پسوند».

در نام پردازنده،
حرف یا مجموعه حروف انتهای مدل
می تواند اطلاعاتی درباره
ویژگی یا کلاس محصول ارائه دهد.

مثال:

i7-11800H
→
H

i5-1235U
→
U

i9-13980HX
→
HX

مهم ترین پسوندهای پردازنده های موبایلی Intel

پسوند مفهوم کلی کاربرد معمول
Y کلاس بسیار کم مصرف در برخی نسل های قدیمی تر دستگاه های بسیار باریک و کم مصرف
U کلاس کم مصرف موبایلی لپ تاپ های اداری، تجاری و باریک
P کلاس موبایلی میان U و H در نسل هایی که این رده استفاده شده لپ تاپ های باریک با Performance بالاتر
H کلاس Performance موبایلی Workstation، Gaming و لپ تاپ های Performance-Oriented
HK مدل Performance موبایلی با قابلیت های بیشتر برای تنظیم فرکانس در مدل های مربوط لپ تاپ های رده بالا
HX کلاس بسیار قدرتمند موبایلی در نسل های مربوط Mobile Workstation و Gaming رده بالا

معنی دقیق هر پسوند
باید در Context همان نسل بررسی شود.

Intel U-Series چیست؟

سری U
در بسیاری از نسل های Intel
برای پردازنده های موبایلی
با تمرکز بیشتر بر بهره وری انرژی
استفاده شده است.

این CPUها در بسیاری از:

  • لپ تاپ های تجاری
  • Ultrabookها
  • لپ تاپ های اداری
  • دستگاه های سبک

دیده می شوند.


Ultrabook چیست؟

Ultrabook
نامی است که برای گروهی از لپ تاپ های
باریک، سبک و با تمرکز بر بهره وری انرژی
به کار رفته است.

Intel H-Series چیست؟

سری H
معمولاً در لپ تاپ هایی دیده می شود
که Performance پردازشی بالاتر
نسبت به کلاس های کم مصرف
یکی از اهداف اصلی طراحی آنهاست.

نمونه کاربرد:

  • Mobile Workstation
  • Gaming Laptop
  • Rendering
  • Engineering Workload
  • تدوین و تولید محتوا

مقایسه Intel U و H

معیار U-Series H-Series
هدف طراحی بهره وری انرژی و قابلیت حمل Performance بالاتر
توان قابل استفاده معمولاً پایین تر معمولاً بالاتر
Cooling مورد نیاز معمولاً سبک تر معمولاً قوی تر
Battery Life اغلب اولویت بیشتری دارد معمولاً Performance اولویت بالاتری دارد
Sustained Heavy Load وابسته به مدل و دستگاه معمولاً مناسب تر
کار اداری اغلب مناسب معمولاً بیش از نیاز کار سبک
Rendering سنگین معمولاً انتخاب اصلی نیست معمولاً مناسب تر

Engineering Insight — H قدیمی در برابر U جدید

یکی از مهم ترین مقایسه ها
در بازار لپ تاپ استوک همین است.

فرض کنید یک لپ تاپ
CPU سری H قدیمی تر دارد
و دستگاه دیگری
CPU سری U جدیدتر.

نمی توان فقط گفت:

H > U

یا:

Newer > Older

باید بررسی کنیم:

  • Single-Core Performance
  • Multi-Core Performance
  • Core Configuration
  • Power Limits
  • Sustained Performance
  • Cooling
  • Workload

Hybrid Architecture در نسل های جدیدتر Intel چیست؟


Hybrid Architecture

Hybrid Architecture
یا «معماری ترکیبی»
در این Context
به استفاده از انواع متفاوت Core
در یک پردازنده اشاره دارد.

در برخی نسل های جدید Intel
دو مفهوم مهم مطرح شدند:

P-core
+
E-core


P-core چیست؟

Performance Core
یا
P-core
هسته ای با تمرکز بر Performance بالا
برای Workloadهای نیازمند قدرت پردازشی بیشتر است.


E-core چیست؟

Efficient Core
یا
E-core
هسته ای با تمرکز بر بهره وری
و اجرای کارها با طراحی متفاوت نسبت به P-core است.

Common Mistake — مقایسه تعداد Core بدون توجه به نوع Core

در معماری های Hybrid،
عبارت «14 Core»
به تنهایی اطلاعات کافی نمی دهد.

باید بدانیم:

How Many P-cores?
+
How Many E-cores?
+
How Many Threads?

سپس رفتار آنها را
در Workload مورد نظر بررسی کنیم.

Intel Thread Director چیست؟


Thread Director

Intel Thread Director
مکانیزمی سخت افزاری برای ارائه اطلاعات
درباره رفتار Threadها به سیستم عامل است
تا Scheduling در معماری Hybrid بهتر انجام شود.


Scheduling چیست؟

Scheduling
یا «زمان بندی پردازشی»
فرآیندی است که طی آن
سیستم عامل تصمیم می گیرد
Threadها در چه زمانی
و روی کدام منابع پردازشی اجرا شوند.

پسوندهای رایج Intel در پردازنده های دسکتاپ

پسوند مفهوم کلی
K مدل Unlocked برای تنظیم Multiplier در پلتفرم های پشتیبانی شده
KF ویژگی K همراه با نبود گرافیک مجتمع فعال در مدل مربوط
F مدلی که برای خروجی گرافیکی به GPU مجزا نیاز دارد
T مدل با هدف توان مصرفی پایین تر در خانواده مربوط


Unlocked چیست؟

Unlocked
یعنی برخی محدودیت های تنظیم Multiplier پردازنده
در مدل و پلتفرم مربوط
بازتر از مدل های Locked هستند.


Multiplier چیست؟

Multiplier
یا «ضریب پردازنده»
یکی از عوامل تعیین کننده
فرکانس کاری CPU است.

Core i7 قدیمی در برابر Core i5 جدید

این یکی از مهم ترین مقایسه ها
برای خریداران لپ تاپ استوک است.

فرض کنید دو گزینه داریم:

Older Core i7
vs
Newer Core i5

برای تصمیم گیری باید حداقل موارد زیر بررسی شوند:

  • نسل
  • معماری
  • پسوند
  • Core Count
  • Thread Count
  • Single-Core Performance
  • Multi-Core Performance
  • Power Efficiency
  • Integrated GPU
  • Memory Support
  • Cooling لپ تاپ
  • قیمت

بنابراین:

Older i7
≠
Automatically Better

روش مقایسه نسل قبل، نسل هدف و نسل بعد

01
مدل کامل را ثبت کنیدفقط i5 یا i7 کافی نیست.
02
نسل را مشخص کنیدNaming Scheme همان خانواده بررسی شود.
03
پسوند را مشخص کنیدU، P، H، HX یا سایر کلاس ها را تفکیک کنید.
04
نسل قبلی معادل را پیدا کنیدمدل هم کلاس از نسل قبل بررسی شود.
05
نسل بعدی معادل را پیدا کنیدمدل هم کلاس از نسل بعد بررسی شود.
06
Core Configuration را مقایسه کنیدفقط عدد Core را مقایسه نکنید.
07
Single-Core را مقایسه کنیدبرای Workloadهای حساس به سرعت هر Thread مهم است.
08
Multi-Core را مقایسه کنیدبرای Rendering، Encoding و Workloadهای موازی مهم است.
09
Efficiency را مقایسه کنیدمخصوصاً در لپ تاپ اهمیت زیادی دارد.
10
Platform را بررسی کنیدRAM، I/O و قابلیت های نسل جدیدتر را بررسی کنید.
11
قیمت واقعی را مقایسه کنیدPerformance بدون Price Context برای خرید کافی نیست.
12
Value را تعیین کنیدببینید کدام نسل برای Workload کاربر ارزش خرید بیشتری دارد.

ماتریس استاندارد مقایسه سه نسل Intel

معیار نسل قبل نسل هدف نسل بعد
Architecture ثبت شود ثبت شود ثبت شود
P-core / E-core در صورت وجود در صورت وجود در صورت وجود
Threads مقایسه مقایسه مقایسه
Single-Core Benchmark Benchmark Benchmark
Multi-Core Benchmark Benchmark Benchmark
iGPU مقایسه مقایسه مقایسه
Memory Support مقایسه مقایسه مقایسه
Efficiency مقایسه مقایسه مقایسه
قیمت دستگاه ثبت شود ثبت شود ثبت شود
Performance / Price محاسبه محاسبه محاسبه

تغییر نام گذاری Intel؛ Core و Core Ultra

در محصولات جدیدتر،
Intel ساختار نام گذاری برخی پردازنده ها را تغییر داده است.

بنابراین کاربری که فقط
ساختار قدیمی:

Core i7-xxxx

را می شناسد،
ممکن است با نام هایی مانند:

Intel Core 7

و:

Intel Core Ultra 7

روبه رو شود.

در این ساختار جدید،
حرف
i
در نام Tier حذف شده است.

Intel Core Ultra چیست؟

Core Ultra
نام گذاری جدیدی برای بخشی از پردازنده های Intel است
و نباید صرفاً آن را
همان Core i7 با اسم جدید تصور کرد.

برای تحلیل این پردازنده ها
باید معماری، Series،
مدل، Core Configuration،
GPU و قابلیت های پلتفرم
به صورت مستقل بررسی شوند.

NPU چیست؟


NPU

NPU
مخفف
Neural Processing Unit
و به معنی «واحد پردازش عصبی» است.

این واحد برای شتاب دادن
برخی Workloadهای مرتبط با
هوش مصنوعی و پردازش های عصبی
طراحی می شود.

وجود NPU
به معنی بی اهمیت شدن CPU یا GPU نیست.

هر واحد پردازشی
برای انواع مشخصی از Workload
مناسب تر است.

Under the Hood — CPU، GPU و NPU سه نقش متفاوت دارند

CPU
→
General Purpose Processing

GPU
→
Highly Parallel Graphics / Compute

NPU
→
Specialized AI Acceleration

معنی ساده:

CPU پردازنده عمومی،
GPU پردازنده مناسب عملیات گرافیکی و موازی گسترده
و NPU واحد تخصصی برای برخی محاسبات هوش مصنوعی است.

روش سریع خواندن CPU لپ تاپ استوک Intel

01
نام کامل CPU را پیدا کنیدمثال: Core i7-11800H، نه فقط Core i7.
02
خانواده را مشخص کنیدCore، Core Ultra یا خانواده دیگر.
03
Tier را بخوانیدi3، i5، i7، i9 یا ساختار جدید.
04
نسل یا Series را مشخص کنیدبر اساس Naming Scheme همان خانواده.
05
Suffix را بخوانیدU، H، HX یا سایر پسوندها.
06
Core Configuration را بررسی کنیدتعداد و نوع Coreها و Threadها مشخص شود.
07
نسل قبل و بعد را مقایسه کنیداختلاف Performance و قیمت مشخص شود.
08
Benchmark مرتبط را بررسی کنیدBenchmark باید با Workload کاربر ارتباط داشته باشد.
09
خود لپ تاپ را بررسی کنیدCooling و Power Limit را فراموش نکنید.
10
قیمت را وارد تصمیم کنیدبهترین CPU روی کاغذ الزاماً بهترین خرید نیست.

مثال عملی: Core i7-11800H

Intel Core i7-11800H

تحلیل اولیه:

  • Intel = سازنده
  • Core = خانواده
  • i7 = Tier
  • 11 = نسل یازدهم
  • 800 = شناسه مدل در خانواده
  • H = کلاس موبایلی Performance-Oriented

اما این اطلاعات هنوز برای خرید کافی نیست.

قدم بعدی:

Specifications
→
Benchmarks
→
Laptop Cooling
→
Workload
→
Price

مثال عملی: Core i5-1235U

Intel Core i5-1235U

  • Core = خانواده
  • i5 = Tier
  • 12 = نسل دوازدهم
  • 35 = بخشی از شناسه مدل
  • U = کلاس موبایلی کم مصرف

در اینجا مقایسه مستقیم آن
با یک i5 سری H
فقط بر اساس عبارت Core i5
اشتباه خواهد بود.

مثال عملی: Core i7-9750H

Intel Core i7-9750H

  • i7 = Tier
  • 9 = نسل نهم
  • H = کلاس Performance موبایلی

اگر این CPU را با
یک Core i5 نسل جدیدتر مقایسه کنیم،
نمی توانیم فقط از روی i7 بودن
برنده را تعیین کنیم.

Performance Impact — نام CPU فقط نقطه شروع تحلیل است

نام مدل کمک می کند
پردازنده را شناسایی کنیم،
اما Performance واقعی
باید با داده های بیشتری بررسی شود.

CPU Name
→
Identification

Specifications
+
Architecture
+
Benchmark
+
Power
+
Cooling
+
Workload
→
Performance Evaluation

Common Mistakes — اشتباهات رایج در خواندن نام CPUهای Intel
  • دیدن فقط عبارت Core i7.
  • نادیده گرفتن شماره کامل مدل.
  • نادیده گرفتن نسل.
  • نادیده گرفتن پسوند.
  • فرض اینکه i7 همیشه از i5 سریع تر است.
  • فرض اینکه نسل جدید همیشه در تمام Workloadها سریع تر است.
  • فرض اینکه H همیشه از U بهتر است.
  • مقایسه تعداد Core بدون بررسی نوع Core.
  • مقایسه P-core و E-core فقط با شمارش ساده.
  • نادیده گرفتن Power Limit لپ تاپ.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن نسل قبل هنگام خرید.
  • نادیده گرفتن نسل بعد هنگام خرید.
  • استفاده از یک Benchmark برای تمام کاربردها.
  • فرض اینکه Core Ultra فقط نام جدید Core i است.
  • فرض اینکه وجود NPU به تنهایی CPU را برای AI بهتر می کند.

سوالات متداول پردازنده های Intel

چگونه نسل CPU Intel را بفهمیم؟

ابتدا مدل کامل CPU و خانواده آن را مشخص کنید.
در بسیاری از مدل های Core سنتی،
ارقام ابتدایی شماره مدل نسل را نشان می دهند،
اما این قانون برای تمام خانواده ها و دوره های نام گذاری
یکسان نیست.

مثلاً Core i5-8250U نسل چند است؟

این مدل متعلق به نسل هشتم Intel Core است.
عدد 8 ابتدای 8250
در این Naming Scheme نسل را نشان می دهد.

Core i5-10210U نسل چند است؟

نسل دهم.
در مدل های پنج رقمی این ساختار،
دو رقم 10 نشان دهنده نسل دهم هستند.

حرف U آخر CPU یعنی چه؟

در بسیاری از نسل های موبایلی Intel،
U برای کلاس پردازنده های کم مصرف
و مناسب لپ تاپ های باریک و تجاری استفاده شده است.

حرف H آخر CPU یعنی چه؟

H معمولاً نشان دهنده
یک کلاس موبایلی با تمرکز بیشتر بر Performance است.

H بهتر است یا U؟

«بهتر» به Workload بستگی دارد.
H معمولاً برای Performance سنگین تر مناسب تر است،
در حالی که U معمولاً بر بهره وری انرژی
و قابلیت حمل تمرکز بیشتری دارد.

i7 نسل 8 بهتر است یا i5 نسل 11؟

بدون مدل کامل و پسوند نمی توان پاسخ دقیقی داد.
باید مدل دقیق،
Single-Core،
Multi-Core،
کلاس توان و Workload مقایسه شوند.

آیا نسل بالاتر همیشه سریع تر است؟

خیر.
کلاس CPU، تعداد Core،
Power Limit، Cooling
و نوع Workload نیز اهمیت دارند.

P-core و E-core چه تفاوتی دارند؟

P-core برای Performance بالاتر
و E-core با طراحی متفاوت
برای بهره وری و انواع دیگری از بار پردازشی استفاده می شود.

Intel Core Ultra چیست؟

Core Ultra بخشی از ساختار جدیدتر محصولات Intel است
و برای مقایسه آن با Coreهای قدیمی
باید مدل و معماری دقیق بررسی شود.

NPU چیست؟

Neural Processing Unit
یا واحد پردازش عصبی،
واحد تخصصی برای شتاب دادن
برخی عملیات مرتبط با هوش مصنوعی است.

برای خرید لپ تاپ استوک Intel به چه چیزی نگاه کنیم؟

مدل کامل CPU،
نسل، پسوند،
Core Configuration،
Benchmark مرتبط،
Cooling،
RAM، GPU،
وضعیت دستگاه
و قیمت باید با هم بررسی شوند.

اصطلاحات جدید این فصل

  • Product Tier: رده یا جایگاه محصول در خانواده مربوط.
  • Generation: نسل پردازنده.
  • Microarchitecture: ریزمعماری و نحوه پیاده سازی داخلی پردازنده.
  • Model Number: شماره مدل برای شناسایی پردازنده.
  • Suffix: پسوند انتهای مدل پردازنده.
  • U-Series: کلاس موبایلی با تمرکز بیشتر بر بهره وری انرژی.
  • H-Series: کلاس موبایلی با تمرکز بیشتر بر Performance.
  • HX: کلاس Performance بالای موبایلی در نسل های مربوط.
  • Ultrabook: دسته ای از لپ تاپ های باریک و سبک با تمرکز بر بهره وری.
  • Hybrid Architecture: معماری ترکیبی با انواع متفاوت Core.
  • P-core: Performance Core.
  • E-core: Efficient Core.
  • Thread Director: مکانیزم کمکی Intel برای Scheduling در معماری Hybrid.
  • Scheduling: زمان بندی اجرای Threadها.
  • Unlocked: پردازنده با امکان تنظیم بازتر Multiplier در پلتفرم مربوط.
  • Multiplier: ضریب مؤثر در تعیین فرکانس پردازنده.
  • Core Ultra: یکی از خانواده های نام گذاری جدیدتر Intel.
  • NPU: واحد پردازش عصبی برای برخی Workloadهای هوش مصنوعی.

خلاصه فصل

برای شناخت پردازنده Intel
هیچ وقت فقط عبارت
Core i3، Core i5، Core i7 یا Core i9
را نخوانید.

مدل کامل را بررسی کنید:

Family
→
Tier
→
Generation / Series
→
Model
→
Suffix
→
Architecture
→
Core Configuration

سپس برای انتخاب واقعی:

Previous Generation
↔
Target Generation
↔
Next Generation

و:

U
↔
P
↔
H
↔
HX

را در صورت مرتبط بودن
با Workload و کلاس دستگاه مقایسه کنید.

مهم ترین قانون این فصل:


نام CPU برای شناسایی پردازنده است؛
نه برای صدور حکم نهایی درباره Performance.


فصل 48
سطح: متوسط / تخصصی
موضوع: Intel Generations
تمرکز: مقایسه نسل به نسل

همه تغییر نسل ها به یک اندازه مهم نیستند

سیر تکامل نسل های پردازنده Intel؛ از نسل های قدیمی Core تا Core Ultra

وقتی درباره لپ تاپ استوک صحبت می کنیم،
ممکن است در یک بازار واحد با دستگاه هایی از چندین نسل مختلف
پردازنده Intel روبه رو شویم.
اما فاصله میان دو نسل متوالی همیشه یکسان نیست.

گاهی یک نسل بیشتر یک بهبود تدریجی است؛
اما گاهی تغییر معماری، افزایش تعداد هسته،
تغییر ساختار Coreها، بهبود گرافیک مجتمع،
پشتیبانی از حافظه جدید یا تغییرات پلتفرم
باعث ایجاد یک جهش مهم می شود.

بنابراین سؤال درست فقط این نیست:

«این CPU نسل چند است؟»

سؤال مهم تر این است:


«این نسل نسبت به نسل قبل چه چیزی را تغییر داد
و نسل بعد چه مزیتی نسبت به آن ایجاد کرد؟»

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا شماره نسل به تنهایی معیار Performance نیست.
  • نسل ششم Intel چه جایگاهی در تاریخ Core دارد.
  • نسل هفتم نسبت به نسل ششم چه تغییراتی داشت.
  • چرا نسل هشتم برای بسیاری از لپ تاپ ها نقطه مهمی بود.
  • نسل نهم چه جایگاهی داشت.
  • چرا نسل دهم از نظر معماری و نام گذاری پیچیده است.
  • نسل یازدهم چه تغییراتی ایجاد کرد.
  • چرا نسل دوازدهم یکی از نقاط عطف مهم Intel بود.
  • نسل سیزدهم چگونه مسیر نسل دوازدهم را توسعه داد.
  • نسل چهاردهم در چه Contextی باید بررسی شود.
  • Core Ultra چه تغییری در مسیر پردازنده های موبایلی Intel ایجاد کرد.
  • چگونه نسل قبل و بعد یک CPU را مقایسه کنیم.
  • چرا مقایسه باید در یک کلاس توان و Suffix انجام شود.
  • چگونه جهش نسلی واقعی را از تغییر نام بازاریابی تشخیص دهیم.

شماره نسل با Performance یکی نیست

Generation
یکی از مهم ترین اطلاعات CPU است،
اما نباید آن را معادل Performance در نظر گرفت.

برای مثال:

10th Gen H-Series
vs
11th Gen U-Series

مقایسه صرف شماره نسل
برای تعیین CPU سریع تر کافی نیست،
زیرا این دو پردازنده ممکن است
برای دو کلاس کاملاً متفاوت طراحی شده باشند.

Common Mistake — نسل بالاتر یعنی CPU قوی تر

این نتیجه گیری همیشه صحیح نیست.

نسل فقط یکی از متغیرهاست.

Real Performance
=
Architecture
+
Core Configuration
+
Clock
+
Cache
+
Power
+
Cooling
+
Workload

مقایسه منصفانه نسل ها چگونه انجام می شود؟

تا حد امکان باید CPUهایی را مقایسه کنیم
که از نظر جایگاه محصول و کلاس دستگاه
به یکدیگر نزدیک باشند.

مثلاً:

i5 U-Series
↔
i5 U-Series

یا:

i7 H-Series
↔
i7 H-Series

مقایسه:

Old H-Series
↔
New U-Series

نیز می تواند بسیار مفید باشد،
اما دیگر یک مقایسه خالص «نسل به نسل» نیست؛
بلکه مقایسه دو کلاس طراحی متفاوت است.

نسل ششم Intel Core؛ Skylake


Skylake چیست؟

Skylake
نام رمز یکی از ریزمعماری های Intel است
که با بخش مهمی از پردازنده های
نسل ششم Core شناخته می شود.

نسل ششم در بسیاری از لپ تاپ های تجاری و Workstation قدیمی
هنوز در بازار استوک دیده می شود.

مدل هایی مانند:

Core i5-6300U
/
Core i7-6600U
/
Core i7-6700HQ

نمونه هایی آشنا از این دوره هستند.

اهمیت نسل ششم فقط در Performance نیست؛
این نسل بخشی از دوره ای است که
DDR4 در تعداد زیادی از سیستم های تجاری
و حرفه ای رایج تر شد.


DDR4 چیست؟

DDR4
نسل چهارم خانواده
Double Data Rate SDRAM
است.

به زبان ساده،
نوعی استاندارد حافظه RAM است
که پس از DDR3 در بسیاری از کامپیوترها
و لپ تاپ ها رایج شد.

نسل هفتم Intel Core؛ Kaby Lake


Kaby Lake چیست؟

Kaby Lake
نام رمز خانواده ای از پردازنده های Intel
است که با بخش مهمی از نسل هفتم Core مرتبط است.

نسل هفتم در بسیاری از مدل ها
ادامه و بهینه سازی مسیر نسل ششم بود
و تغییر آن را نباید در تمام کاربردها
یک جهش بنیادی تلقی کرد.

نمونه ها:

Core i5-7300U
/
Core i7-7600U
/
Core i7-7700HQ

در خرید استوک،
مقایسه نسل 6 و 7 باید بیشتر بر
مدل دقیق، قیمت، وضعیت دستگاه
و Workload متمرکز باشد
تا صرفاً یک عدد نسل بالاتر.

نسل 6 در برابر نسل 7

معیار نسل 6 نسل 7
دوره معماری Skylake Kaby Lake در بخش مهمی از خانواده
نوع تغییر پایه مقایسه بیشتر تکامل و بهینه سازی
Performance وابسته به مدل معمولاً بهبود نسبت به مدل هم رده قبلی
ارزش خرید استوک وابسته به قیمت وابسته به اختلاف قیمت با نسل 6 و 8

نسل هشتم Intel Core؛ یکی از نقاط مهم بازار لپ تاپ استوک

نسل هشتم را نمی توان با یک نام معماری واحد
برای تمام محصولات خلاصه کرد،
اما برای خریدار لپ تاپ استوک
یک اتفاق بسیار مهم در بخشی از پردازنده های موبایلی رخ داد:

افزایش قابل توجه تعداد Core در برخی سری های پرکاربرد.

برای مثال در کلاس U:

Core i5-7200U
→
2 Cores / 4 Threads

Core i5-8250U
→
4 Cores / 8 Threads

این فقط افزایش شماره نسل نبود.

در Workloadهایی که از Threadهای بیشتر استفاده می کردند،
افزایش منابع پردازشی می توانست
تفاوت بسیار مهمی ایجاد کند.


Generational Jump چیست؟

Generational Jump
یا «جهش نسلی»
اصطلاحی برای زمانی است که
تغییر از یک نسل به نسل دیگر
در یک یا چند معیار مهم
بسیار بیشتر از یک بهبود جزئی باشد.

Engineering Insight — چرا نسل 7 به 8 در لپ تاپ های U مهم است؟

در برخی مدل های رایج U-Series،
تعداد Core از دو به چهار افزایش پیدا کرد.

این موضوع می توانست
Multi-Thread Performance
و Multitasking را به شکل محسوسی تغییر دهد.

بنابراین هنگام مقایسه:

i5-7200U
↔
i5-8250U

با یک تغییر نسلی معمولی روبه رو نیستیم.

این مثال نشان می دهد
چرا باید تغییرات داخلی نسل ها را شناخت
و فقط شماره مدل را نگاه نکرد.

نسل هشتم در سری H

افزایش Core فقط به سری U محدود نبود.

برای نمونه:

Core i7-7700HQ
→
4 Cores / 8 Threads

Core i7-8750H
→
6 Cores / 12 Threads

برای Workloadهای Multi-Threaded،
این تغییر می توانست بسیار مهم باشد.

Performance Impact — افزایش Core چه زمانی دیده می شود؟

بیشترین منفعت زمانی دیده می شود
که نرم افزار بتواند
Coreها و Threadهای اضافه را به کار بگیرد.

در Workloadهای محدود به یک یا چند Thread،
افزایش Core به تنهایی
همان میزان افزایش Performance را ایجاد نمی کند.

نسل نهم Intel Core

نسل نهم در بسیاری از لپ تاپ های Gaming
و Mobile Workstation
بازار استوک دیده می شود.

مدل شناخته شده:

Core i7-9750H

هنگام مقایسه آن با:

Core i7-8750H

باید انتظار متفاوتی نسبت به جهش
7700HQ به 8750H داشته باشیم.

یعنی هر تغییر نسل
الزاماً همان میزان پیشرفت را تکرار نمی کند.

نسل 8 در برابر نسل 9؛ چرا عدد نسل کافی نیست؟

اگر دو لپ تاپ با:

i7-8750H
vs
i7-9750H

داشته باشیم،
اختلاف قیمت باید در کنار اختلاف Performance،
Cooling،
GPU،
RAM،
SSD
و وضعیت دستگاه بررسی شود.

ممکن است لپ تاپ نسل هشتم
با قیمت مناسب تر
Value بالاتری ارائه دهد.

نسل دهم Intel؛ نسلی که باید با دقت بیشتری خوانده شود

نسل دهم موبایلی
نمونه بسیار خوبی است که نشان می دهد
یک شماره نسل می تواند شامل
طراحی های متفاوت باشد.

دو نام معروف:

Core i5-10210U

و:

Core i5-1035G1

هر دو در نسل دهم قرار می گیرند،
اما از خانواده های فنی یکسانی نیستند.

Comet Lake و Ice Lake؛ چرا نسل دهم پیچیده است؟


Comet Lake

Comet Lake
نام رمز یکی از خانواده های پردازنده Intel است
که بخشی از محصولات نسل دهم را تشکیل می دهد.


Ice Lake

Ice Lake
خانواده دیگری از پردازنده های Intel
در دوره نسل دهم است
که تغییرات معماری متفاوتی داشت.

نتیجه مهم:


دو CPU با برچسب «نسل 10»
الزاماً از یک طراحی داخلی یکسان استفاده نمی کنند.

Process Node چیست؟


Process Node

Process Node
یا «گره ساخت»
اصطلاحی برای نسل یا کلاس فناوری ساخت نیمه هادی است.

اعدادی مانند 14nm و 10nm
در دوره های مختلف برای معرفی فناوری ساخت استفاده شده اند،
اما نباید آنها را به شکل ساده
اندازه مستقیم تمام اجزای ترانزیستور تفسیر کرد.

نسل یازدهم Intel Core؛ Tiger Lake در بخش مهم موبایلی


Tiger Lake چیست؟

Tiger Lake
نام رمز خانواده مهمی از پردازنده های موبایلی Intel
در نسل یازدهم است.

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

نمونه:

Core i7-1165G7

Intel Xe Graphics چیست؟


Intel Xe

Xe
نام یک خانواده معماری گرافیکی Intel است.

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

این موضوع مخصوصاً برای لپ تاپ هایی
که GPU مجزا ندارند
اهمیت پیدا می کند.

نسل 10 در برابر نسل 11

این مقایسه باید با توجه به خانواده دقیق CPU انجام شود،
اما در بخش هایی از بازار موبایلی
نسل یازدهم می تواند مزایایی در:

  • Performance هر Core
  • گرافیک مجتمع
  • Efficiency
  • قابلیت های پلتفرم

ایجاد کند.

با این حال،
یک CPU نسل دهم H-Series
را نباید صرفاً به دلیل قدیمی تر بودن
ضعیف تر از یک نسل یازدهم U-Series دانست.

نسل دوازدهم Intel Core؛ Alder Lake و تغییر بزرگ معماری


Alder Lake چیست؟

Alder Lake
نام رمز خانواده مهمی از پردازنده های
نسل دوازدهم Intel Core است.

نسل دوازدهم یکی از مهم ترین نقاط تغییر
در مسیر پردازنده های Core بود.

یکی از دلایل اصلی:

Hybrid Architecture

یعنی استفاده از:

P-cores
+
E-cores

در بسیاری از مدل های این خانواده.

Engineering Insight — چرا نسل 11 به 12 یک مقایسه مهم است؟

در بسیاری از بخش های محصول،
نسل دوازدهم فقط افزایش Clock یا تغییر جزئی نبود.

ساختار Hybrid،
تعداد Coreهای متفاوت
و تغییرات پلتفرم
روش مقایسه CPUها را نیز تغییر داد.

از این نقطه به بعد
سؤال:

“How many cores?”

دیگر کافی نیست.

باید بپرسیم:

How many P-cores?
+
How many E-cores?
+
How many Threads?

DDR5 چیست و چرا در این دوره مهم شد؟


DDR5

DDR5
نسل پنجم خانواده حافظه
Double Data Rate SDRAM است.

نسبت به DDR4،
نسل جدیدتری از فناوری حافظه را ارائه می کند
و در پلتفرم های جدیدتر وارد بازار شد.

البته وجود پشتیبانی از DDR5
به این معنی نیست که
هر سیستم نسل دوازدهم الزاماً DDR5 دارد.

Configuration واقعی دستگاه باید بررسی شود.

PCI Express و تغییر نسل پلتفرم


PCI Express چیست؟

PCI Express
یا
PCIe
یک رابط پرسرعت برای ارتباط
اجزایی مانند GPU، SSD
و سایر دستگاه های توسعه با سیستم است.

هنگام مقایسه نسل های CPU،
فقط خود Coreها را نبینید.

تغییر نسل می تواند
قابلیت های کل Platform را نیز تغییر دهد.

نسل سیزدهم Intel Core؛ Raptor Lake


Raptor Lake چیست؟

Raptor Lake
نام رمز خانواده مهمی از پردازنده های
نسل سیزدهم Intel Core است.

نسل سیزدهم مسیر معماری Hybrid
را ادامه داد
و در بخش هایی از خانواده
تعداد Core، Cache،
Clock و Performance را افزایش داد.

اما مانند همیشه،
میزان پیشرفت
به مدل دقیق و Workload بستگی دارد.

نسل 12 در برابر نسل 13

در مقایسه دو CPU هم رده،
این موارد را بررسی کنید:

  • P-core Count
  • E-core Count
  • Thread Count
  • Cache
  • Clock
  • Power Limit
  • Single-Core Benchmark
  • Multi-Core Benchmark
  • Cooling دستگاه
  • قیمت

افزایش نسل به تنهایی
پاسخ خرید را مشخص نمی کند.

نسل چهاردهم Intel Core

در بخش هایی از محصولات دسکتاپ و موبایلی،
نام نسل چهاردهم برای ادامه خانواده Core
استفاده شد.

اما برای تحلیل آن
باید مدل دقیق را بررسی کرد،
زیرا همه محصولات دارای برچسب نسل چهاردهم
را نمی توان صرفاً یک جهش معماری کاملاً جدید
نسبت به نسل سیزدهم دانست.

Common Mistake — هر شماره نسل جدید یعنی معماری کاملاً جدید

خیر.

شماره تجاری نسل
الزاماً به معنی
بازطراحی کامل معماری نیست.

باید Codename،
Architecture،
Core Configuration
و مشخصات مدل بررسی شوند.

نسل 13 در برابر نسل 14

این مقایسه نمونه خوبی برای فهم
Incremental Improvement
است.


Incremental Improvement چیست؟

Incremental Improvement
یعنی «بهبود تدریجی».

یعنی نسل جدید
بدون ایجاد تغییر بنیادی در همه بخش ها،
برخی ویژگی ها یا Performance را بهبود دهد.

در چنین شرایطی
اختلاف قیمت اهمیت بیشتری پیدا می کند.

اگر:

Price Increase
>>
Real Workload Improvement

نسل قبلی ممکن است
Value بهتری داشته باشد.

ورود به دوره Intel Core Ultra

پس از ساختار سنتی Core i،
Intel در بخشی از محصولات جدیدتر
نام گذاری Core Ultra را معرفی کرد.

این تغییر فقط حذف حرف
i
از نام محصول نیست.

در نسل های جدیدتر موبایلی،
تغییرات مهمی در طراحی Package،
گرافیک مجتمع،
Efficiency
و شتاب دهنده های تخصصی AI
دیده می شود.

Tile-Based Design چیست؟


Tile

Tile
را در این Context
می توان «بخش سخت افزاری مجزا در طراحی پردازنده»
توصیف کرد.

به جای اینکه همه عملکردها
الزاماً در یک بخش یکپارچه ساخته شوند،
وظایف مختلف می توانند
میان Tileهای تخصصی تقسیم شوند.

Meteor Lake چیست؟


Meteor Lake

Meteor Lake
نام رمز خانواده ای از پردازنده های موبایلی Intel
است که با نسل اولیه محصولات Core Ultra
شناخته می شود.

یکی از تغییرات مهم این دوره
استفاده گسترده تر از طراحی چندبخشی
و حضور NPU در این خانواده است.

چرا NPU یک تغییر نسلی مهم محسوب می شود؟

پیش از این،
بسیاری از Workloadهای AI
عمدتاً روی CPU یا GPU اجرا می شدند.

اضافه شدن NPU
یک واحد پردازشی تخصصی دیگر
در اختیار سیستم قرار می دهد.

CPU
+
GPU
+
NPU

اما وجود NPU
به خودی خود نشان نمی دهد
یک لپ تاپ در تمام کاربردهای AI
سریع تر است.

نرم افزار باید بتواند
از سخت افزار مربوط استفاده کند.


Hardware Acceleration چیست؟

Hardware Acceleration
یا «شتاب دهی سخت افزاری»
یعنی استفاده از واحد سخت افزاری تخصصی
برای اجرای سریع تر یا بهینه تر
یک نوع عملیات مشخص.

Engineering Insight — سخت افزار جدید بدون پشتیبانی نرم افزار چه ارزشی دارد؟

قابلیت سخت افزاری
فقط زمانی ارزش کامل خود را نشان می دهد
که Software Stack
بتواند از آن استفاده کند.

Hardware Capability
+
Software Support
=
Practical Benefit

بنابراین هنگام ارزیابی NPU،
Codec Engine،
Instruction Set
یا هر Accelerator دیگری،
پشتیبانی نرم افزار هدف نیز باید بررسی شود.


Software Stack چیست؟

Software Stack
یا «پشته نرم افزاری»
مجموعه لایه های نرم افزاری،
Driverها،
Libraryها،
Runtimeها
و برنامه هایی است که
برای استفاده از یک قابلیت سخت افزاری
با یکدیگر کار می کنند.

نقشه کلی تحول نسل های Intel

دوره نمونه خانواده نکته کلیدی برای خریدار
نسل 6 Skylake پلتفرم قدیمی تر؛ هنوز در بازار استوک دیده می شود
نسل 7 Kaby Lake بیشتر تکامل نسل 6 در بسیاری از مدل ها
نسل 8 چند خانواده افزایش مهم Core در برخی کلاس های موبایلی
نسل 9 Coffee Lake Refresh و خانواده های مرتبط تکامل Performance در مدل های مختلف
نسل 10 Comet Lake / Ice Lake نسلی با خانواده های فنی متفاوت
نسل 11 Tiger Lake در موبایل بهبود معماری و گرافیک مجتمع در بخش مهمی از لپ تاپ ها
نسل 12 Alder Lake ورود گسترده معماری Hybrid
نسل 13 Raptor Lake توسعه مسیر Hybrid و افزایش منابع در برخی مدل ها
نسل 14 خانواده های مرتبط با این نام گذاری مدل دقیق باید بررسی شود؛ شماره نسل کافی نیست
Core Ultra Meteor Lake و نسل های بعدی Core Ultra نام گذاری جدید و تمرکز بیشتر بر طراحی چندبخشی و AI Acceleration

کدام تغییر نسل ها ارزش بررسی ویژه دارند؟

نقاطی که نباید مثل یک تغییر نسل معمولی دیده شوند

  • نسل 7 → 8:
    افزایش تعداد Core در برخی CPUهای بسیار رایج موبایلی.
  • نسل 10 → 11:
    تغییرات مهم معماری و گرافیک مجتمع در بخش هایی از محصولات موبایلی.
  • نسل 11 → 12:
    ورود معماری Hybrid به بخش مهمی از خانواده Core.
  • Core سنتی → Core Ultra:
    تغییر در نام گذاری و طراحی سیستم پردازشی در محصولات جدیدتر.

این به معنی بی اهمیت بودن
سایر تغییر نسل ها نیست.

بلکه نشان می دهد
شدت و نوع تغییرات نسلی یکسان نیست.

Generation Gap چیست؟


Generation Gap

Generation Gap
یا «فاصله نسلی»
در این کتاب به فاصله میان
دو نسل پردازنده مورد مقایسه اشاره دارد.

برای مثال:

8th Gen
→
11th Gen

یک فاصله سه نسلی دارد،
اما میزان تفاوت واقعی Performance
باید از روی مدل های دقیق بررسی شود.

نسل CPU با سن واقعی دستگاه یکی نیست

این نکته در بازار استوک بسیار مهم است.

نسل CPU
اطلاعاتی درباره دوره پردازنده می دهد،
اما وضعیت واقعی لپ تاپ
به موارد دیگری نیز بستگی دارد:

  • تاریخ تولید دستگاه
  • میزان استفاده
  • وضعیت Battery
  • وضعیت Cooling
  • سلامت SSD
  • وضعیت نمایشگر
  • سلامت پورت ها
  • شرایط نگهداری

بنابراین:

CPU Generation
≠
Device Condition

ماتریس تصمیم گیری نسل ها برای لپ تاپ استوک

سؤال چرا مهم است؟
CPU دقیق چیست؟ Tier به تنهایی کافی نیست
نسل چیست؟ دوره معماری و پلتفرم را مشخص می کند
Suffix چیست؟ کلاس طراحی CPU را مشخص می کند
نسل قبل چه گزینه ای دارد؟ ممکن است Value بالاتری داشته باشد
نسل بعد چقدر گران تر است؟ برای سنجش ارزش ارتقا
آیا جهش معماری رخ داده؟ شماره نسل به تنهایی شدت تغییر را نشان نمی دهد
Core Count تغییر کرده؟ ممکن است Multi-Core Performance شدیداً تغییر کند
نوع Core تغییر کرده؟ در معماری Hybrid بسیار مهم است
iGPU تغییر کرده؟ برای سیستم بدون GPU مجزا مهم است
RAM Platform تغییر کرده؟ روی قابلیت های کل سیستم اثر دارد
Cooling دستگاه چگونه است؟ Performance واقعی را محدود یا حفظ می کند
اختلاف قیمت چقدر است؟ برای Performance per Price ضروری است

قانون سه نسل؛ روش استاندارد این دانشنامه برای مقایسه CPU

از این نقطه به بعد
در تمام راهنماهای انتخاب پردازنده،
یک CPU را تا حد امکان
به صورت منفرد بررسی نمی کنیم.

ساختار مقایسه:

Previous Generation
↔
Target Generation
↔
Next Generation

برای مثال اگر موضوع:

Core i5 8th Gen

باشد،
حداقل باید:

7th Gen
↔
8th Gen
↔
9th Gen

نیز در Context مناسب بررسی شوند.

پنج محور اصلی مقایسه نسل ها

01
Architectureچه چیزی در طراحی داخلی CPU تغییر کرده است؟
02
Core Configurationتعداد و نوع Coreها و Threadها چه تغییری کرده است؟
03
PlatformRAM، PCIe، iGPU و قابلیت های جانبی چه تغییری کرده اند؟
04
Real PerformanceBenchmark مرتبط با Workload چه می گوید؟
05
Valueآیا اختلاف قیمت متناسب با اختلاف واقعی است؟

مثال تصمیم گیری؛ آیا فقط برای یک نسل جدیدتر پول بیشتری بدهیم؟

فرض کنید دو لپ تاپ تقریباً مشابه داریم.

گزینه A:

Previous Generation CPU
+
Lower Price

گزینه B:

Newer Generation CPU
+
Higher Price

سؤال درست این نیست:

«کدام نسل جدیدتر است؟»

بلکه:


«برای مبلغ اضافه،
چه Performance، Efficiency،
Platform Feature
یا عمر مفید بیشتری دریافت می کنم؟»

Under the Hood — ارزش ارتقا میان دو نسل

می توانیم تصمیم را
به صورت مفهومی این گونه ببینیم:

Upgrade Value
=
Performance Gain
+
Efficiency Gain
+
Platform Gain
+
Useful-Life Gain
–
Additional Cost

این یک فرمول ریاضی دقیق نیست؛
بلکه چارچوب ذهنی برای تصمیم گیری است.

Common Mistakes — اشتباهات رایج در مقایسه نسل های Intel
  • فرض اینکه هر نسل جدید همیشه سریع تر است.
  • مقایسه U-Series با H-Series و نسبت دادن تفاوت فقط به نسل.
  • نادیده گرفتن تعداد Core.
  • نادیده گرفتن نوع Core در معماری Hybrid.
  • نادیده گرفتن Cooling لپ تاپ.
  • مقایسه فقط با یک Benchmark.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن قابلیت های Platform.
  • فرض اینکه نسل 10 یک معماری واحد دارد.
  • فرض اینکه نسل 14 در همه مدل ها یک جهش معماری بزرگ است.
  • اشتباه گرفتن شماره نسل با سن و سلامت دستگاه.
  • ندیدن اختلاف قیمت نسل قبل.
  • ندیدن قیمت نسل بعد.
  • خرید نسل جدیدتر بدون منفعت واقعی برای Workload.
  • نادیده گرفتن جهش مهم نسل 7 به 8 در برخی CPUهای موبایلی.
  • نادیده گرفتن تغییر مهم نسل 11 به 12.

سوالات متداول درباره نسل های Intel

آیا نسل 8 خیلی بهتر از نسل 7 است؟

در برخی پردازنده های بسیار رایج موبایلی،
مخصوصاً سری U،
افزایش تعداد Core باعث شد
تفاوت مهمی ایجاد شود.
اما مدل دقیق CPU باید بررسی شود.

چرا i5-8250U مهم است؟

زیرا در مقایسه با برخی مدل های رایج i5 U-Series نسل قبل،
تعداد Core از دو به چهار افزایش یافت
و این موضوع در Workloadهای چند رشته ای اهمیت زیادی داشت.

نسل 8 بهتر است یا نسل 9؟

به مدل دقیق و قیمت بستگی دارد.
تفاوت میان بعضی مدل های نسل 8 و 9
ممکن است بسیار کمتر از اختلاف میان نسل 7 و 8 باشد.

چرا نسل 10 Intel گیج کننده است؟

زیرا محصولات موبایلی نسل دهم
شامل خانواده های فنی متفاوتی مانند
Comet Lake و Ice Lake بودند.

نسل 11 چه مزیتی نسبت به نسل 10 دارد؟

بسته به مدل،
تغییرات معماری،
Performance هر Core،
گرافیک مجتمع
و Platform می توانند مهم باشند.

چرا نسل 12 مهم است؟

یکی از دلایل اصلی،
ورود گسترده معماری Hybrid
با P-core و E-core
در خانواده Core است.

نسل 13 خیلی بهتر از نسل 12 است؟

پاسخ به مدل دقیق بستگی دارد.
نسل 13 مسیر Hybrid را توسعه داد،
اما ارزش ارتقا باید با Benchmark و اختلاف قیمت سنجیده شود.

نسل 14 بهتر است یا Core Ultra؟

این دو نام به تنهایی برای مقایسه کافی نیستند.
خانواده، کلاس دستگاه، مدل CPU،
معماری و Workload باید مشخص شوند.

Core Ultra نسل 15 است؟

بهتر است Core Ultra را با ساختار نام گذاری خودش بررسی کنیم
و آن را صرفاً ادامه ساده شماره گذاری قدیمی Core i
در نظر نگیریم.

برای لپ تاپ استوک کدام نسل Intel مناسب است؟

پاسخ ثابت ندارد.
Workload، بودجه، مدل کامل CPU،
GPU، RAM، Cooling،
وضعیت دستگاه و اختلاف قیمت نسل ها
باید هم زمان بررسی شوند.

آیا نسل قدیمی تر ارزش خرید دارد؟

بله.
اگر Performance مورد نیاز را تأمین کند
و اختلاف قیمت مناسبی داشته باشد،
نسل قدیمی تر می تواند Value بسیار خوبی ارائه دهد.

آیا برای خرید فقط سه نسل را مقایسه کنیم؟

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

اصطلاحات جدید این فصل

  • Skylake: نام رمز خانواده مهمی مرتبط با نسل ششم Intel Core.
  • Kaby Lake: نام رمز خانواده مهمی مرتبط با نسل هفتم.
  • Generational Jump: جهش قابل توجه میان دو نسل.
  • Comet Lake: یکی از خانواده های پردازنده نسل دهم Intel.
  • Ice Lake: خانواده دیگری از پردازنده های نسل دهم با طراحی متفاوت.
  • Process Node: نسل یا کلاس فناوری ساخت نیمه هادی.
  • Tiger Lake: خانواده مهم موبایلی نسل یازدهم Intel.
  • Intel Xe: خانواده معماری گرافیکی Intel.
  • Alder Lake: خانواده مهم نسل دوازدهم و دوره معماری Hybrid.
  • DDR5: نسل پنجم حافظه DDR SDRAM.
  • PCIe: رابط پرسرعت اتصال اجزای سیستم.
  • Raptor Lake: خانواده مهم نسل سیزدهم Intel.
  • Incremental Improvement: بهبود تدریجی به جای تغییر بنیادی.
  • Tile: بخش تخصصی در طراحی چندبخشی پردازنده.
  • Meteor Lake: خانواده مرتبط با نسل اولیه Core Ultra.
  • Hardware Acceleration: شتاب دهی عملیات توسط سخت افزار تخصصی.
  • Software Stack: مجموعه لایه های نرم افزاری لازم برای استفاده از سخت افزار.
  • Generation Gap: فاصله میان نسل های مورد مقایسه.
  • Upgrade Value: ارزش واقعی حاصل از ارتقا به نسل جدیدتر.

خلاصه فصل

نسل پردازنده یکی از مهم ترین اطلاعات
برای شناخت CPU است،
اما شماره نسل به تنهایی
Performance را مشخص نمی کند.

سیر کلی مورد بررسی ما:

6th
→
7th
→
8th
→
9th
→
10th
→
11th
→
12th
→
13th
→
14th
→
Core Ultra

در این مسیر،
بعضی تغییرها تدریجی
و بعضی تغییرها بنیادی تر بوده اند.

به همین دلیل
در این دانشنامه
برای ارزیابی هر نسل از قانون زیر استفاده می کنیم:

Previous Generation
↔
Target Generation
↔
Next Generation

و هر سه را از نظر:

Architecture
+
Core Configuration
+
Platform
+
Real Performance
+
Price

مقایسه می کنیم.

مهم ترین نتیجه:


ارزش یک نسل جدید با عدد روی نام آن تعیین نمی شود؛
بلکه با تغییری که در Workload واقعی کاربر ایجاد می کند
و هزینه ای که برای آن تغییر پرداخت می شود تعیین می شود.


فصل 49
سطح: کاربردی / تحلیلی
موضوع: Intel Model Comparison
تمرکز: مقایسه مدل های واقعی نسل به نسل

از مشخصات روی کاغذ تا تصمیم واقعی خرید

مقایسه عملی پردازنده های Intel نسل به نسل؛ کدام ارتقا واقعاً ارزش دارد؟

دانستن اینکه یک پردازنده نسل هشتم
و پردازنده دیگر نسل هفتم است،
فقط آغاز مقایسه است.
برای تصمیم گیری واقعی باید مدل های مشخص
را در یک زنجیره نسلی قرار دهیم
و ببینیم دقیقاً چه چیزی تغییر کرده است.

در این فصل چند زنجیره مهم از پردازنده های Intel
را بررسی می کنیم؛ زنجیره هایی که
نمونه های آنها در لپ تاپ های تجاری،
مهندسی، Workstation و Gaming
بسیار دیده شده اند.

در این فصل چه چیزهایی یاد می گیریم؟

  • چگونه سه CPU از نسل های متوالی را مقایسه کنیم.
  • چرا i5-8250U نسبت به i5-7200U تغییر مهمی بود.
  • i5-8250U و i5-8265U چه تفاوت مفهومی دارند.
  • چرا i7-8750H نسبت به i7-7700HQ جهش مهمی محسوب می شود.
  • i7-9750H نسبت به i7-8750H چقدر تغییر بنیادی دارد.
  • چرا تعداد Core باید همراه Architecture بررسی شود.
  • چگونه U-Series و H-Series را جداگانه تحلیل کنیم.
  • چرا Benchmark یک لپ تاپ ممکن است با لپ تاپ دیگر متفاوت باشد.
  • چگونه ارزش خرید نسل قبل و بعد را محاسبه کنیم.
  • چگونه از دام «i7 بهتر از i5 است» خارج شویم.

روش استاندارد مقایسه مدل های CPU

برای هر مقایسه از ساختار زیر استفاده می کنیم:

Previous Model
↔
Target Model
↔
Next Model

سپس این متغیرها را بررسی می کنیم:

معیار سؤال اصلی
Generation هر CPU متعلق به چه نسلی است؟
Architecture آیا تغییر معماری مهمی رخ داده است؟
Core Count تعداد هسته ها تغییر کرده است؟
Thread Count ظرفیت پردازش همزمان چه تغییری کرده است؟
Clock فرکانس پایه و Turbo چه تغییری دارند؟
Cache حافظه Cache چه تغییری کرده است؟
iGPU گرافیک مجتمع تغییر مهمی داشته است؟
Power CPU در چه کلاس توانی کار می کند؟
Real Performance در Workload واقعی چه تفاوتی دیده می شود؟
Price برای افزایش Performance چقدر بیشتر پرداخت می کنیم؟

مقایسه Core i5-7200U، Core i5-8250U و Core i5-8265U

این یکی از آموزنده ترین مقایسه ها
در بازار لپ تاپ های تجاری استوک است.

ویژگی i5-7200U i5-8250U i5-8265U
نسل 7 8 8
هسته 2 4 4
Thread 4 8 8
کلاس U U U
جهت تغییر مبنای مقایسه افزایش بزرگ منابع پردازشی بهینه سازی مدل نسل هشتم

i5-7200U در برابر i5-8250U؛ چرا این ارتقا مهم است؟

مهم ترین تغییر قابل مشاهده:

2 Cores / 4 Threads
→
4 Cores / 8 Threads

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

این موضوع مخصوصاً در:

  • Multitasking
  • فشرده سازی فایل
  • برخی عملیات برنامه نویسی
  • برخی پردازش های مهندسی
  • تولید محتوا
  • Workloadهای Multi-Threaded

اهمیت زیادی دارد.


Multitasking چیست؟

Multitasking
یعنی «اجرای چند کار به صورت همزمان».

برای مثال:
اجرای مرورگر با چندین Tab،
Excel،
نرم افزار حسابداری،
پیام رسان
و یک برنامه دیگر به صورت همزمان.


Multi-Threaded Workload چیست؟

Multi-Threaded Workload
یا «بار کاری چند رشته ای»
کاری است که نرم افزار می تواند
آن را میان چند Thread پردازشی تقسیم کند.

در چنین برنامه هایی،
Core و Thread بیشتر
در صورت مناسب بودن سایر شرایط
می تواند Performance را افزایش دهد.

Performance Impact — نسل 7 به 8 در این زنجیره

اینجا افزایش نسل فقط تغییر عدد:

7
→
8

نیست.

ساختار منابع CPU
نیز به شکل مهمی تغییر کرده است.

به همین دلیل،
در خرید لپ تاپ استوک،
اختلاف قیمت منطقی میان
دستگاه مجهز به i5-7200U
و i5-8250U
می تواند ارزش پرداخت داشته باشد.

i5-8250U در برابر i5-8265U؛ چرا داستان متفاوت است؟

حالا مقایسه:

i5-8250U
↔
i5-8265U

از جنس دیگری است.

هر دو:

4 Cores
/
8 Threads

دارند.

بنابراین برخلاف جهش 7200U به 8250U،
اینجا افزایش تعداد Core اتفاق نیفتاده است.

تفاوت ها بیشتر در بهینه سازی ها،
فرکانس و جزئیات خانواده محصول دیده می شوند.

Engineering Insight — دو ارتقا با ارزش یکسان نداریم

7200U
→
8250U

و:

8250U
→
8265U

هر دو تغییر مدل هستند،
اما از نظر معماری تصمیم خرید
اهمیت یکسانی ندارند.

این دقیقاً دلیل ناکافی بودن
مقایسه صرف شماره CPU است.

مقایسه Core i7-7700HQ، Core i7-8750H و Core i7-9750H

حالا همین منطق را
در پردازنده های Performance موبایلی بررسی می کنیم.

ویژگی i7-7700HQ i7-8750H i7-9750H
نسل 7 8 9
هسته 4 6 6
Thread 8 12 12
کلاس HQ H H
ماهیت تغییر مبنای مقایسه افزایش مهم Core تکامل مدل شش هسته ای


HQ در پردازنده های قدیمی Intel چیست؟

HQ
پسوندی است که در برخی نسل های قدیمی تر
پردازنده های موبایلی Intel استفاده می شد.

این مدل ها معمولاً در لپ تاپ های
Performance-Oriented،
Gaming
و Mobile Workstation
دیده می شدند.

i7-7700HQ در برابر i7-8750H

تغییر مهم:

4 Cores / 8 Threads
→
6 Cores / 12 Threads

یعنی:

+50% Physical Core Count

البته افزایش 50 درصدی تعداد Core
به معنی افزایش دقیق 50 درصدی Performance نیست.

Performance واقعی به:

  • Workload
  • Clock
  • Power Limit
  • Cooling
  • Memory
  • Software Scaling

بستگی دارد.


Software Scaling چیست؟

Software Scaling
در این Context
یعنی اینکه یک نرم افزار
تا چه اندازه می تواند
از افزایش تعداد Core یا Thread استفاده کند.

اگر برنامه فقط از تعداد محدودی Thread استفاده کند،
اضافه شدن Coreهای بیشتر
الزاماً Performance را به همان نسبت افزایش نمی دهد.

i7-8750H در برابر i7-9750H

هر دو پردازنده:

6 Cores
/
12 Threads

دارند.

بنابراین اینجا مانند انتقال:

7700HQ
→
8750H

با افزایش بزرگ تعداد Core روبه رو نیستیم.

تفاوت Performance
بیشتر از ترکیب فرکانس،
Cache،
تنظیمات توان
و طراحی دستگاه حاصل می شود.

مثال تصمیم خرید

فرض کنید سه لپ تاپ Workstation
با شرایط فیزیکی تقریباً مشابه داریم:

Laptop A
→
i7-7700HQ

Laptop B
→
i7-8750H

Laptop C
→
i7-9750H

اگر اختلاف قیمت A و B منطقی باشد،
افزایش Core از 4 به 6
می تواند برای Workloadهای چند رشته ای
دلیل مهمی برای انتخاب B باشد.

اما اگر C بسیار گران تر از B باشد،
باید بررسی کنیم آیا Performance اضافه
واقعاً هزینه بیشتر را توجیه می کند یا خیر.

Value Curve چیست؟


Value Curve

Value Curve
یا «منحنی ارزش»
در این کتاب برای توضیح رابطه میان:

Price
↔
Performance

استفاده می شود.

ممکن است با پرداخت 20 درصد هزینه بیشتر،
30 درصد Performance بیشتر دریافت کنیم.

یا برعکس،
برای 10 درصد Performance بیشتر
مجبور به پرداخت 30 درصد هزینه بیشتر شویم.

Diminishing Returns چیست؟


Diminishing Returns

Diminishing Returns
را می توان «بازده نزولی» ترجمه کرد.

یعنی از نقطه ای به بعد،
برای افزایش کوچک Performance
باید هزینه بسیار بیشتری پرداخت کنیم.

این مفهوم در انتخاب CPU
بسیار مهم است.

More Expensive
≠
Proportionally Faster

i5 و i7 در یک نسل؛ آیا i7 همیشه ارزش هزینه بیشتر دارد؟

حتی در یک نسل
نباید فقط Tier را مقایسه کنیم.

باید مدل کامل بررسی شود.

ممکن است دو CPU:

Core i5
vs
Core i7

تعداد Core مشابه داشته باشند
و تفاوت اصلی آنها در:

  • Clock
  • Cache
  • Turbo Behavior
  • GPU Configuration
  • Feature Set

باشد.


Feature Set چیست؟

Feature Set
یعنی «مجموعه قابلیت ها».

دو پردازنده می توانند
Performance نزدیک داشته باشند،
اما در قابلیت های سخت افزاری،
امنیتی، مدیریتی،
گرافیکی یا پلتفرمی
تفاوت داشته باشند.

یک CPU یکسان در دو لپ تاپ؛ آیا Performance یکسان است؟

خیر.

فرض کنید هر دو لپ تاپ دارای:

Core i7-9750H

هستند.

یکی ممکن است
سیستم Cooling قدرتمند،
Power Limit مناسب
و بدنه ضخیم تر داشته باشد.

دیگری ممکن است
باریک تر باشد
و در بار پردازشی طولانی
سریع تر به محدودیت حرارتی برسد.


Laptop Implementation چیست؟

Laptop Implementation
یعنی نحوه پیاده سازی یک سخت افزار
توسط سازنده لپ تاپ.

CPU یکسان می تواند
در دو دستگاه مختلف
با Cooling،
Power Limit،
Firmware
و تنظیمات متفاوت کار کند.

Under the Hood — چرا Benchmark یک CPU در دو لپ تاپ متفاوت است؟

CPU تلاش می کند
در محدوده توان و دمای مجاز
بیشترین Performance ممکن را ارائه دهد.

اما رفتار واقعی آن
به طراحی دستگاه بستگی دارد.

Same CPU
+
Better Cooling
+
Higher Sustainable Power
=
Potentially Higher Sustained Performance

بنابراین Benchmark مربوط به CPU
را باید همراه Context دستگاه خواند.

Sustained Performance چیست؟


Sustained Performance

Sustained Performance
یعنی «عملکرد پایدار در بار پردازشی طولانی».

ممکن است CPU
برای چند ثانیه فرکانس بسیار بالایی داشته باشد،
اما پس از گرم شدن دستگاه
نتواند همان Performance را حفظ کند.

برای Rendering،
Encoding،
Simulation
و Compileهای طولانی،
Sustained Performance
اهمیت بسیار بیشتری از Burst کوتاه دارد.


Burst Performance چیست؟

Burst Performance
یعنی Performance بالا
در یک بازه زمانی کوتاه.

برای باز کردن برنامه،
اجرای فرمان کوتاه
یا پردازش لحظه ای
می تواند اهمیت داشته باشد.

یک اشتباه مهم؛ مقایسه مستقیم U جدید با H قدیمی

فرض کنید:

Newer i5 U-Series
vs
Older i7 H-Series

داریم.

CPU جدیدتر U
ممکن است:

  • معماری جدیدتری داشته باشد.
  • Single-Core قوی تری داشته باشد.
  • Efficiency بهتری داشته باشد.
  • iGPU جدیدتری داشته باشد.

در مقابل CPU قدیمی تر H
ممکن است:

  • Power Budget بالاتری داشته باشد.
  • در بار طولانی Performance بالاتری حفظ کند.
  • در لپ تاپ با Cooling قوی تر استفاده شده باشد.

پس سؤال:

«کدام بهتر است؟»

بدون مشخص کردن Workload
ناقص است.


Power Budget چیست؟

Power Budget
یا «بودجه توان»
مقدار توانی است که طراحی سیستم
برای فعالیت قطعه در اختیار آن قرار می دهد.

توان قابل استفاده بیشتر
می تواند امکان Performance بالاتر را ایجاد کند،
اما نیاز به Cooling مناسب نیز افزایش پیدا می کند.

ماتریس عملی مقایسه CPU برای خرید لپ تاپ استوک

معیار اهمیت چگونه بررسی کنیم؟
مدل کامل بسیار زیاد نام کامل CPU را ثبت کنید
نسل زیاد نسل و معماری را مشخص کنید
Suffix بسیار زیاد U/H/HX و غیره را بررسی کنید
Core / Thread بسیار زیاد تعداد و نوع هسته ها را مقایسه کنید
Single-Core وابسته به کاربرد Benchmark مرتبط
Multi-Core وابسته به کاربرد Benchmark مرتبط
Cooling بسیار زیاد در بار سنگین بررسی مدل لپ تاپ و تست طولانی
Power Limit زیاد بررسی رفتار واقعی دستگاه
iGPU زیاد بدون GPU مجزا نسل و مدل گرافیک مجتمع
قیمت بسیار زیاد مقایسه اختلاف قیمت با Performance
وضعیت دستگاه حیاتی در استوک بررسی فنی دستگاه

درخت تصمیم ساده برای انتخاب بین دو CPU

01
مدل کامل هر دو CPU را بنویسیدمقایسه «i5 با i7» را قبول نکنید.
02
کلاس آنها را بررسی کنیدU با U و H با H مقایسه ساده تری دارد.
03
نسل و معماری را مشخص کنیدببینید آیا جهش مهمی میان نسل ها رخ داده است.
04
Core Configuration را بررسی کنیدافزایش Core یا تغییر نوع Core می تواند تعیین کننده باشد.
05
Workload را مشخص کنیدOffice، CAD، Rendering، Programming یا Gaming؟
06
Benchmark مرتبط را بررسی کنیدنه صرفاً یک امتیاز عمومی.
07
خود لپ تاپ را بررسی کنیدCooling و Power Limit می توانند نتیجه را تغییر دهند.
08
اختلاف قیمت را حساب کنیدPerformance بیشتر باید در Context هزینه دیده شود.
09
نسل قبل را بررسی کنیدشاید با هزینه کمتر نیاز شما را کامل پوشش دهد.
10
نسل بعد را بررسی کنیدشاید با اختلاف قیمت کم، جهش مهمی ارائه دهد.

CPU بهتر برای هر Workload لزوماً یکسان نیست

کاربرد موارد مهم در CPU
Office Single-Core مناسب، Efficiency، پاسخ دهی سریع
برنامه نویسی Single-Core + Multi-Core بسته به پروژه و Compile
AutoCAD Performance مناسب هر Core در بسیاری از عملیات
Rendering Multi-Core Performance در رندر CPU-Based
Video Encoding Multi-Core + Hardware Acceleration بسته به Codec
Gaming Single-Core، Latency، GPU و تعادل کل سیستم
Multitasking سنگین Core/Thread، RAM و Sustained Performance


CPU-Based چیست؟

CPU-Based
یعنی عملیاتی که بخش اصلی محاسبات آن
توسط CPU انجام می شود.

برای مثال،
یک Render Engine ممکن است
CPU-Based،
GPU-Based
یا دارای هر دو حالت باشد.


Latency چیست؟

Latency
یا «تأخیر»
مدت زمانی است که
میان درخواست یک عملیات
و دریافت پاسخ یا آغاز نتیجه آن وجود دارد.

Latency پایین تر
در بسیاری از Workloadهای حساس به پاسخ سریع
مطلوب است.

Common Mistakes — اشتباهات خرید CPU بر اساس مدل و نسل
  • خرید i7 فقط به دلیل i7 بودن.
  • رد کردن i5 جدیدتر بدون بررسی Benchmark.
  • مقایسه نسل ها بدون توجه به Suffix.
  • مقایسه U و H به عنوان CPUهای هم کلاس.
  • فرض اینکه دو برابر شدن Core یعنی دو برابر شدن Performance.
  • نادیده گرفتن Software Scaling.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Sustained Performance.
  • استفاده از Benchmark کوتاه برای Workload طولانی.
  • مقایسه CPU بدون بررسی GPU.
  • مقایسه CPU بدون توجه به RAM.
  • پرداخت هزینه زیاد برای افزایش Performance کوچک.
  • ندیدن نسل قبل به عنوان گزینه اقتصادی.
  • ندیدن نسل بعد به عنوان گزینه ارتقای منطقی.
  • خرید بر اساس امتیاز Benchmark بدون شناخت Workload.

سوالات متداول مقایسه پردازنده های Intel

i5-7200U بهتر است یا i5-8250U؟

در بسیاری از Workloadهای چند رشته ای،
i5-8250U به دلیل داشتن
4 Core و 8 Thread
نسبت به ساختار 2 Core و 4 Thread
در i5-7200U مزیت مهمی دارد.
Performance واقعی دستگاه همچنان
به Cooling و تنظیمات توان بستگی دارد.

i5-8250U بهتر است یا i5-8265U؟

i5-8265U مدل جدیدتری در همان دوره نسل هشتم است
و بهبودهایی دارد،
اما اختلاف این دو از جنس جهش
i5-7200U به i5-8250U نیست.
قیمت و وضعیت لپ تاپ اهمیت زیادی دارد.

i7-7700HQ بهتر است یا i7-8750H؟

i7-8750H دارای 6 Core و 12 Thread است،
در حالی که i7-7700HQ
4 Core و 8 Thread دارد.
در Workloadهای چند رشته ای
این تفاوت می تواند بسیار مهم باشد.

i7-8750H بهتر است یا i7-9750H؟

i7-9750H جدیدتر است،
اما هر دو 6 Core و 12 Thread دارند.
اختلاف واقعی باید با Benchmark،
Cooling، قیمت و مدل لپ تاپ بررسی شود.

آیا i7 نسل 7 از i5 نسل 8 بهتر است؟

بدون مدل کامل نمی توان پاسخ داد.
i7 و i5 فقط Tier هستند.
مدل، Suffix، Core Count و Workload باید مشخص شوند.

آیا CPU نسل بالاتر همیشه ارزش پول بیشتر را دارد؟

خیر.
اگر افزایش قیمت بسیار بیشتر از منفعت واقعی باشد،
نسل قبلی می تواند Value بهتری داشته باشد.

چرا Benchmark یک CPU در دو سایت متفاوت است؟

روش تست، نسخه نرم افزار،
RAM، Cooling، Power Limit،
BIOS، سیستم عامل و مدل لپ تاپ
می توانند روی نتیجه اثر بگذارند.

برای Rendering تعداد Core مهم تر است یا نسل؟

هیچ کدام به تنهایی کافی نیستند.
در رندر CPU-Based،
Multi-Core Performance واقعی
معیار مناسب تری از صرفاً نسل یا تعداد Core است.

برای AutoCAD کدام CPU بهتر است؟

نوع پروژه و عملیات مهم است،
اما بسیاری از عملیات AutoCAD
از Performance قوی هر Core سود می برند.
GPU، RAM و نوع پروژه نیز باید بررسی شوند.

چرا لپ تاپ با CPU یکسان می تواند سریع تر باشد؟

زیرا Cooling،
Power Limit،
RAM،
Firmware
و طراحی کلی دستگاه
می توانند Performance پایدار CPU را تغییر دهند.

برای خرید استوک نسل قبل را هم بررسی کنیم؟

بله.
یکی از اصول این دانشنامه
مقایسه نسل قبل، مدل هدف و نسل بعد است
تا Value واقعی مشخص شود.

بهترین CPU همیشه بهترین خرید است؟

خیر.
بهترین خرید CPUای است
که Performance مورد نیاز را
با هزینه منطقی و در یک لپ تاپ مناسب ارائه دهد.

اصطلاحات جدید این فصل

  • Multitasking: اجرای چند کار به صورت همزمان.
  • Multi-Threaded Workload: کاری که میان چند Thread قابل تقسیم است.
  • Software Scaling: توان نرم افزار در استفاده از منابع پردازشی بیشتر.
  • HQ: یکی از پسوندهای قدیمی تر پردازنده های Performance موبایلی Intel.
  • Value Curve: رابطه میان هزینه پرداختی و Performance دریافتی.
  • Diminishing Returns: بازده نزولی؛ افزایش هزینه زیاد در برابر منفعت کوچک تر.
  • Feature Set: مجموعه قابلیت های یک محصول.
  • Laptop Implementation: نحوه پیاده سازی سخت افزار در یک مدل لپ تاپ.
  • Sustained Performance: عملکرد قابل حفظ در بار پردازشی طولانی.
  • Burst Performance: عملکرد بالا در بازه زمانی کوتاه.
  • Power Budget: بودجه توانی در اختیار قطعه.
  • CPU-Based: عملیاتی که بخش اصلی محاسبات آن روی CPU انجام می شود.
  • Latency: تأخیر میان درخواست و پاسخ.

خلاصه فصل

مقایسه واقعی CPU
با خواندن i5، i7
یا شماره نسل تمام نمی شود.

مثال اول نشان داد:

i5-7200U
→
i5-8250U

می تواند یک تغییر بسیار مهم باشد،
زیرا تعداد Core از 2 به 4 افزایش یافته است.

در حالی که:

i5-8250U
→
i5-8265U

بیشتر یک تکامل در همان ساختار کلی است.

در کلاس Performance نیز:

i7-7700HQ
→
i7-8750H

با افزایش:

4C / 8T
→
6C / 12T

تغییر مهمی ایجاد می کند،
در حالی که:

i7-8750H
→
i7-9750H

همان افزایش تعداد Core را تکرار نمی کند.

بنابراین قانون اصلی:


اهمیت یک ارتقا را از تغییر واقعی معماری،
منابع پردازشی و Performance بسنجید؛
نه از فاصله اعداد روی نام CPU.


فصل 50
سطح: متوسط / پیشرفته
موضوع: Modern Intel Generations
تمرکز: نسل 10 تا Core Ultra

جایی که مفهوم «نسل پردازنده» پیچیده تر می شود

مقایسه نسل های جدید Intel؛ از نسل دهم تا Core Ultra

از نسل دهم به بعد،
مقایسه پردازنده های Intel دیگر فقط با نگاه کردن
به عدد نسل، تعداد Core و فرکانس امکان پذیر نیست.
معماری CPU، نوع هسته ها، گرافیک مجتمع،
حافظه، توان مصرفی، شتاب دهنده های سخت افزاری
و در نسل های جدید حتی NPU
وارد تصمیم گیری می شوند.

به همین دلیل ممکن است دو لپ تاپ
که فقط یک نسل با یکدیگر فاصله دارند،
از نظر معماری تفاوت قابل توجهی داشته باشند؛
در حالی که میان دو نسل دیگر
تغییرات بیشتر حالت تکاملی داشته باشند.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا نسل دهم Intel یک نسل ساده و یکپارچه نیست.
  • تفاوت مفهومی Comet Lake و Ice Lake چیست.
  • نسل یازدهم چه تغییراتی در CPU و iGPU ایجاد کرد.
  • چرا نسل دوازدهم یک نقطه عطف معماری است.
  • P-core و E-core دقیقاً چه هستند.
  • Intel Thread Director چه کاری انجام می دهد.
  • نسل سیزدهم چه چیزی را نسبت به نسل دوازدهم توسعه داد.
  • چرا نسل چهاردهم را نباید در همه مدل ها یک جهش بزرگ دانست.
  • Core Ultra چه تفاوتی با نام گذاری قدیمی Core i دارد.
  • Tile-Based Design چیست.
  • NPU چیست و چه کاری انجام می دهد.
  • DDR4 و DDR5 چه ارتباطی با تغییر پلتفرم دارند.
  • چرا گرافیک مجتمع در نسل های جدید اهمیت بیشتری پیدا کرده است.
  • چگونه نسل قبل، نسل هدف و نسل بعد را مقایسه کنیم.

نسل دهم Intel؛ یک شماره نسل، چند مسیر متفاوت

یکی از مهم ترین نکاتی که هنگام بررسی نسل دهم
باید بدانیم این است که:


«نسل دهم» به تنهایی اطلاعات کافی درباره معماری CPU نمی دهد.

در لپ تاپ های این دوره
خانواده هایی مانند:

Comet Lake
/
Ice Lake

را مشاهده می کنیم.

هر دو ممکن است تحت عنوان
پردازنده نسل دهم Intel Core
فروخته شوند،
اما مسیر فنی آنها یکسان نیست.


Comet Lake چیست؟

Comet Lake
نام رمز یکی از خانواده های پردازنده Intel است
که در بخشی از محصولات نسل دهم استفاده شد.

این خانواده ادامه تکامل مسیر معماری
نسل های قبلی Intel در آن دوره بود
و در مدل های مختلف لپ تاپ
از سری های کم مصرف تا مدل های قدرتمندتر دیده می شود.


Ice Lake چیست؟

Ice Lake
نام رمز خانواده دیگری از پردازنده های
موبایلی نسل دهم Intel است.

Ice Lake از معماری CPU متفاوتی نسبت به Comet Lake
استفاده می کرد و همچنین تغییرات مهمی
در بخش گرافیک مجتمع ایجاد کرد.

Engineering Insight — یک نسل الزاماً یک معماری نیست

اگر روی دو لپ تاپ نوشته شده باشد:

Intel Core 10th Gen

هنوز اطلاعات کافی برای مقایسه نداریم.

باید مدل کامل CPU را بدانیم.

برای مثال:

Core i5-10210U

و:

Core i5-1035G1

هر دو نسل دهم هستند،
اما فقط از روی عبارت
«Core i5 نسل 10»
نمی توان آنها را یکسان دانست.

چرا نام مدل در نسل دهم اهمیت بیشتری پیدا می کند؟

در برخی مدل های نسل دهم،
ساختار نام گذاری نیز سرنخ هایی
درباره خانواده پردازنده ارائه می دهد.

برای مثال:

i5-10210U

با:

i5-1035G1

فقط از نظر چند رقم آخر متفاوت نیست.

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

Common Mistake — گفتن «این لپ تاپ i5 نسل 10 است» و تمام

این توصیف برای ارزیابی فنی کافی نیست.

حداقل باید مدل کامل CPU نوشته شود:

Intel Core i5-10210U

نه فقط:

Intel Core i5 10th Gen

نسل یازدهم؛ Tiger Lake و تغییر مهم در لپ تاپ های باریک

در بخش مهمی از پردازنده های موبایلی نسل یازدهم،
خانواده Tiger Lake را می بینیم.

این نسل در لپ تاپ های سبک،
تجاری و Ultrabookها
اهمیت زیادی پیدا کرد.


Ultrabook چیست؟

Ultrabook
اصطلاحی است که برای دسته ای از لپ تاپ های
باریک، سبک و کم مصرف
با تمرکز بر قابلیت حمل و عمر باتری
رایج شد.

امروزه این واژه در گفتار عمومی
گاهی برای توصیف لپ تاپ های باریک و سبک نیز استفاده می شود،
حتی اگر دستگاه الزاماً تحت برنامه رسمی Ultrabook عرضه نشده باشد.


Tiger Lake چیست؟

Tiger Lake
نام رمز خانواده مهمی از پردازنده های
موبایلی نسل یازدهم Intel است.

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

Intel Iris Xe چیست؟


Iris Xe Graphics

Intel Iris Xe Graphics
نامی است که برای برخی از گرافیک های مجتمع
Intel مبتنی بر معماری گرافیکی Xe
استفاده شده است.

گرافیک مجتمع یا
Integrated Graphics
پردازنده گرافیکی ای است که
به صورت یک GPU مجزای مستقل با حافظه گرافیکی اختصاصی
در لپ تاپ نصب نشده است.

پیشرفت iGPU
برای لپ تاپی که کارت گرافیک مجزا ندارد
بسیار مهم است.

زیرا GPU مجتمع در کارهایی مانند:

  • نمایش رابط گرافیکی سیستم عامل
  • پخش ویدئو
  • پردازش های گرافیکی سبک
  • برخی نرم افزارهای تولید محتوا
  • برخی بازی های سبک
  • Hardware Acceleration

نقش دارد.

نسل 10 در برابر نسل 11

معیار نسل 10 نسل 11
ساختار خانواده چند خانواده متفاوت Tiger Lake در بخش مهم موبایلی
CPU Architecture وابسته به خانواده تغییر معماری در Tiger Lake
iGPU وابسته به مدل پیشرفت مهم در بسیاری از مدل ها
ارزش ارتقا مبنای مقایسه بسیار وابسته به مدل و کاربرد

نسل دوازدهم؛ Alder Lake و تغییر قواعد بازی

نسل دوازدهم یکی از مهم ترین تغییرات معماری
در تاریخ مدرن پردازنده های Intel Core است.

دلیل اصلی:

Hybrid Architecture

یا:

معماری هیبریدی یا ترکیبی.


Hybrid Architecture چیست؟

Hybrid Architecture
در این Context
یعنی استفاده از انواع متفاوت Core
در یک پردازنده.

در بسیاری از پردازنده های جدید Intel
این ساختار شامل:

Performance Cores
+
Efficient Cores

است.

P-core چیست؟


Performance Core — P-core

P-core
مخفف
Performance Core
است.

ترجمه مفهومی آن:
هسته عملکردی یا هسته پرقدرت.

این هسته ها برای ارائه Performance بالا
در Workloadهای حساس به سرعت پردازش طراحی شده اند.

E-core چیست؟


Efficient Core — E-core

E-core
مخفف
Efficient Core
است.

ترجمه مفهومی:
هسته بهینه یا کم مصرف.

هدف آن ارائه توان پردازشی مناسب
با Efficiency بالا
و کمک به اجرای Workloadهای موازی و پس زمینه است.


Efficiency چیست؟

Efficiency
در بحث پردازنده
معمولاً به «بهره وری» اشاره دارد.

یعنی پردازنده
برای مقدار مشخصی از انرژی مصرفی
چه میزان کار مفید انجام می دهد.

Efficiency
≠
Low Performance

یک هسته Efficient
الزاماً به معنی یک هسته «ضعیف و بی استفاده» نیست.

Under the Hood — چرا Intel از دو نوع Core استفاده کرد؟

همه Workloadها نیاز یکسانی ندارند.

بعضی Taskها به Performance بسیار بالا
در یک یا چند Thread نیاز دارند.

بعضی Taskها را می توان
روی تعداد بیشتری Core با بهره وری بالا اجرا کرد.

بنابراین معماری Hybrid تلاش می کند
منابع متفاوت را برای وظایف متفاوت
در اختیار سیستم قرار دهد.

High-Priority / Performance-Sensitive Tasks
→
P-cores

Suitable Parallel / Background Tasks
→
P-cores + E-cores

نحوه توزیع واقعی کار
به سیستم عامل، Scheduler،
نرم افزار و شرایط بار بستگی دارد.

Scheduler چیست؟


Scheduler

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است
که تصمیم می گیرد
Threadهای نرم افزاری
چه زمانی و روی کدام منابع پردازشی اجرا شوند.

Intel Thread Director چیست؟


Intel Thread Director

Intel Thread Director
یک سازوکار سخت افزاری برای ارائه اطلاعات
درباره رفتار Workloadها و وضعیت Coreها
به سیستم عامل است.

سیستم عامل می تواند از این اطلاعات
برای تصمیم گیری بهتر Scheduler
در معماری Hybrid استفاده کند.

Common Mistake — E-core فقط برای کارهای پس زمینه است

این توضیح بیش از حد ساده است.

E-coreها می توانند
در Workloadهای Multi-Threaded نیز
در پردازش اصلی مشارکت کنند.

بهتر است آنها را
«هسته هایی با تمرکز بر Efficiency»
بدانیم،
نه صرفاً Coreهایی برای اجرای Background Task.


Background Task چیست؟

Background Task
یا «وظیفه پس زمینه»
پردازشی است که بدون قرار داشتن
در مرکز تعامل مستقیم کاربر
در سیستم اجرا می شود.

برای مثال برخی سرویس های سیستم عامل،
همگام سازی،
Indexing
و Updateها
می توانند در پس زمینه اجرا شوند.

دام تعداد Core در نسل های Hybrid

در نسل های قدیمی تر،
دیدن عبارت:

8-Core CPU

معمولاً ساده تر قابل تفسیر بود.

اما در معماری Hybrid
باید بدانیم این هشت Core
از چه نوعی هستند.

برای مثال دو پردازنده می توانند
هر دو تعداد Core یکسانی داشته باشند،
اما ترکیب:

P-core / E-core

آنها متفاوت باشد.

Engineering Insight — از نسل 12 به بعد «تعداد Core» را تنها ننویسید

ساختار دقیق تر:

Total Cores
=
P-cores
+
E-cores

و Thread Count نیز باید جداگانه بررسی شود.

بنابراین هنگام معرفی یک CPU جدید Intel،
بهتر است مشخصات به شکل زیر نوشته شود:

P-core Count
/
E-core Count
/
Total Threads

نسل 11 در برابر نسل 12؛ چرا این جهش مهم است؟

معیار نسل 11 نسل 12
ساختار Core ساختار سنتی تر در خانواده های مورد بحث Hybrid در بسیاری از مدل ها
P-core / E-core ساختار مورد استفاده نسل 12 را ندارد در بسیاری از مدل ها وجود دارد
Scheduling ساده تر از Hybrid اهمیت بیشتر Scheduler و Thread Director
Memory Platform وابسته به مدل ورود DDR5 در بخشی از پلتفرم ها
نوع تغییر مبنای مقایسه تغییر معماری مهم

DDR4 در برابر DDR5؛ چرا نسل RAM را هم باید بررسی کنیم؟

با ورود پلتفرم های جدیدتر،
DDR5 نیز وارد بخش بیشتری از بازار شد.

اما:


نسل CPU به تنهایی نوع RAM دستگاه را تضمین نمی کند.

باید مشخصات همان لپ تاپ بررسی شود.

ویژگی کلی DDR4 DDR5
نسل فناوری قدیمی تر جدیدتر
پهنای باند بالقوه کمتر بالاتر
ساختار داخلی نسل قبلی تغییرات معماری حافظه
سازگاری DDR4 و DDR5 قابل جایگزینی مستقیم در یک Slot یکسان نیستند


Memory Bandwidth چیست؟

Memory Bandwidth
یا «پهنای باند حافظه»
مقدار داده ای است که
حافظه می تواند در یک بازه زمانی
منتقل کند.

Bandwidth بالاتر
در Workloadهایی که به انتقال حجم زیاد داده
وابسته هستند می تواند مفید باشد.

نسل سیزدهم؛ توسعه معماری Hybrid

نسل سیزدهم در بخش مهمی از خانواده Core
مسیر Hybrid نسل دوازدهم را ادامه داد.

بنابراین انتقال:

12th Gen
→
13th Gen

را نباید دقیقاً مانند انتقال:

11th Gen
→
12th Gen

تفسیر کرد.

در مدل های مختلف،
تغییراتی مانند:

  • افزایش تعداد E-core
  • افزایش Cache
  • تغییر Clock
  • بهبود Performance
  • بهبودهای پلتفرمی

می توانند دیده شوند.

Engineering Insight — نسل 12 به 13 را مدل به مدل بررسی کنید

این که هر دو CPU
از معماری Hybrid استفاده می کنند
به معنی Performance یکسان نیست.

ممکن است مدل نسل سیزدهم
E-core بیشتر،
Cache بیشتر،
Clock متفاوت
یا تنظیمات توان متفاوت داشته باشد.

بنابراین:

Same Hybrid Concept
≠
Same CPU Configuration

نسل چهاردهم؛ چرا باید مدل دقیق را ببینیم؟

عبارت «نسل چهاردهم»
نباید به صورت خودکار
به معنی یک معماری کاملاً جدید
نسبت به نسل سیزدهم تفسیر شود.

بسته به بخش بازار و مدل،
نوع تغییر می تواند متفاوت باشد.

بنابراین در مقایسه:

13th Gen
↔
14th Gen

باید به جای شماره نسل
به مدل واقعی نگاه کنیم.

Refresh در دنیای CPU یعنی چه؟


Refresh

Refresh
در صنعت سخت افزار
معمولاً به نسخه جدید یا به روزشده
یک خانواده محصول گفته می شود
که ممکن است نسبت به نسل قبلی
بهبودهایی داشته باشد،
اما الزاماً یک طراحی کاملاً جدید نیست.

ترجمه مفهومی مناسب:
نسخه به روزشده یا بازنگری شده.

Common Mistake — Refresh یعنی محصول بی ارزش

خیر.

Refresh می تواند
Performance بالاتر،
Clock بهتر،
Configuration متفاوت
یا قابلیت های اصلاح شده داشته باشد.

نکته این است که
نباید صرف تغییر شماره نسل
انتظار یک جهش معماری بنیادی داشته باشیم.

Core Ultra؛ آغاز یک ساختار نام گذاری جدید

در نسل جدیدتر محصولات موبایلی،
Intel ساختار نام گذاری:

Core Ultra

را وارد بازار کرد.

برای مثال:

Intel Core Ultra 5
/
Intel Core Ultra 7
/
Intel Core Ultra 9

بنابراین خواننده نباید
انتظار داشته باشد
تمام پردازنده های جدید Intel
همچنان دقیقاً با الگوی:

Core i5
/
Core i7
/
Core i9

نام گذاری شوند.

Common Mistake — Core Ultra یعنی فقط Core i با اسم جدید

تغییر نام گذاری بخشی از ماجراست،
اما در خانواده های جدیدتر
تغییرات معماری و پلتفرمی نیز وجود دارد.

بنابراین برای مقایسه
باید نسل Core Ultra،
مدل کامل،
Configuration هسته ها،
GPU،
NPU
و کلاس توان را بررسی کرد.

Tile-Based Design؛ پردازنده به صورت چند بخش تخصصی

یکی از مفاهیم مهم در برخی طراحی های جدید Intel:

Tile-Based Design

است.


Tile-Based Design چیست؟

Tile-Based Design
یا «طراحی مبتنی بر بخش های سخت افزاری»
روشی است که در آن
اجزای مختلف پردازنده
در بخش های تخصصی یا Tileهای متفاوت
سازمان دهی می شوند.

Monolithic Design چیست؟


Monolithic Design

Monolithic Design
یا «طراحی یکپارچه»
در این Context
به طراحی ای اشاره دارد که
بخش های اصلی تراشه
روی یک Die یکپارچه قرار گرفته اند.


Die چیست؟

Die
قطعه فیزیکی نیمه هادی
حاصل از Wafer است
که مدارهای پردازنده روی آن ساخته شده اند.

در فارسی می توان آن را
«قطعه سیلیکونی تراشه»
توضیح داد،
هرچند در متون فنی معمولاً همان واژه Die استفاده می شود.


Wafer چیست؟

Wafer
یا «ویفر نیمه هادی»
صفحه بسیار نازکی از ماده نیمه هادی،
معمولاً سیلیکون،
است که تعداد زیادی مدار مجتمع
طی فرایند ساخت روی آن ایجاد می شوند.

Package چیست؟


Processor Package

Package
یا «بسته فیزیکی پردازنده»
ساختاری است که Die یا بخش های مختلف پردازنده
در آن قرار می گیرند
و ارتباط الکتریکی و مکانیکی
با سیستم برقرار می شود.

در طراحی های چندبخشی،
یک Package می تواند
شامل چند بخش پردازشی متفاوت باشد.

NPU؛ واحد پردازشی جدید در معادله لپ تاپ


NPU چیست؟

NPU
مخفف:

Neural Processing Unit

است.

ترجمه مفهومی:
واحد پردازش عصبی.

NPU یک واحد پردازشی تخصصی
برای برخی Workloadهای مرتبط با
شبکه های عصبی و هوش مصنوعی است.

AI Workload چیست؟


AI Workload

AI Workload
یا «بار کاری هوش مصنوعی»
به پردازشی گفته می شود
که برای اجرای الگوریتم ها
یا مدل های مرتبط با هوش مصنوعی انجام می شود.

برای مثال:

  • تشخیص تصویر
  • پردازش صدا
  • حذف نویز هوشمند
  • تشخیص پس زمینه
  • برخی قابلیت های تولیدی AI
  • برخی پردازش های مدل های Machine Learning


Machine Learning چیست؟

Machine Learning
یا «یادگیری ماشین»
شاخه ای از هوش مصنوعی است
که در آن سیستم ها
با استفاده از داده و مدل های محاسباتی
الگوها را یاد می گیرند
و برای پیش بینی، دسته بندی
یا انجام وظایف مختلف استفاده می کنند.

Engineering Insight — وجود NPU به معنی سریع تر بودن همه برنامه های AI نیست

نرم افزار باید بتواند
از NPU استفاده کند.

اگر Workload مورد نظر
فقط برای GPU یا CPU پیاده سازی شده باشد،
وجود NPU الزاماً باعث افزایش Performance آن نمی شود.

NPU Present
≠
Automatic AI Acceleration Everywhere

CPU، GPU و NPU چه تفاوتی دارند؟

واحد نقش عمومی نوع طراحی
CPU پردازش عمومی سیستم انعطاف پذیری بالا برای انواع دستورها
GPU پردازش موازی و گرافیکی مناسب حجم زیادی از عملیات موازی
NPU برخی عملیات AI شتاب دهنده تخصصی برای Workloadهای سازگار


Accelerator چیست؟

Accelerator
یا «شتاب دهنده سخت افزاری»
واحدی است که برای اجرای
نوع خاصی از محاسبات
به شکل کارآمدتر طراحی شده است.

GPU و NPU
در برخی Contextها
می توانند نقش Accelerator داشته باشند.

Common Mistake — Core Ultra همیشه از Core i قدیمی سریع تر است

چنین مقایسه ای بدون مدل کامل
معتبر نیست.

برای مثال یک پردازنده کم مصرف Core Ultra
را نباید فقط بر اساس جدیدتر بودن
با یک پردازنده H یا HX قدرتمند نسل قبلی مقایسه کرد.

کلاس توان،
تعداد و نوع Core،
Cooling
و Workload همچنان تعیین کننده هستند.

نقشه مفهومی نسل های جدید Intel

دوره تغییر مهم نکته خرید
نسل 10 وجود خانواده های متفاوت در یک نسل مدل کامل CPU را بررسی کنید
نسل 11 تغییرات CPU و پیشرفت مهم iGPU در بخش موبایلی برای سیستم بدون GPU مجزا مهم است
نسل 12 Hybrid Architecture P-core و E-core را جداگانه ببینید
نسل 13 توسعه معماری Hybrid Configuration مدل دقیق مهم است
نسل 14 تغییرات وابسته به خانواده و مدل انتظار جهش یکسان در همه مدل ها نداشته باشید
Core Ultra نام گذاری جدید، طراحی چندبخشی در خانواده های مرتبط و NPU CPU + GPU + NPU + Efficiency را با هم ببینید

اجرای قانون نسل قبل، نسل هدف و نسل بعد

برای نسل های جدید نیز
همان قانون اصلی کتاب حفظ می شود.

اگر نسل هدف:

12th Gen

است،
حداقل باید:

11th Gen
↔
12th Gen
↔
13th Gen

را مقایسه کنیم.

اما این بار مقایسه فقط:

Clock
+
Core Count

نیست.

بلکه:

Architecture
+
P-core
+
E-core
+
Threads
+
Cache
+
iGPU
+
Memory Platform
+
Power
+
Cooling
+
Price

نیز وارد تحلیل می شوند.

مثال واقعی تصمیم گیری بین سه نسل

فرض کنید سه لپ تاپ تجاری
با کیفیت ساخت و شرایط تقریباً مشابه
پیدا کرده ایم:

Laptop A
→
11th Gen

Laptop B
→
12th Gen

Laptop C
→
13th Gen

اشتباه این است که فوراً بگوییم:

C > B > A

تصمیم واقعی باید شامل:

  • مدل کامل هر CPU
  • Suffix
  • P-core و E-core
  • Thread Count
  • RAM
  • iGPU
  • Cooling
  • Battery
  • وضعیت فیزیکی لپ تاپ
  • قیمت
  • Workload کاربر

باشد.

Performance per Watt چیست؟


Performance per Watt

Performance per Watt
یعنی میزان Performance
در برابر مقدار انرژی مصرف شده.

ترجمه مفهومی:
کارایی پردازشی به ازای مصرف انرژی.

این معیار در لپ تاپ
اهمیت زیادی دارد،
زیرا مصرف انرژی
مستقیماً با:

  • Battery Life
  • Heat
  • Cooling
  • Noise
  • Performance Sustainability

ارتباط دارد.


Battery Life چیست؟

Battery Life
در این Context
یعنی مدت زمانی که لپ تاپ
می تواند با انرژی باتری
بدون اتصال به برق کار کند.

در فارسی معمولاً
«شارژدهی باتری»
ترجمه مناسب تری برای این مفهوم است.

Future-Proof بودن CPU یعنی چه؟


Future-Proof

Future-Proof
اصطلاحی است برای محصولی که
انتظار می رود برای مدت بیشتری
پاسخگوی نیازهای آینده باشد.

ترجمه مفهومی مناسب:
آمادگی بیشتر برای نیازهای آینده.

این اصطلاح به معنی
«تضمین عدم قدیمی شدن»
نیست.

Common Mistake — خرید گران ترین CPU برای Future-Proof شدن

پرداخت هزینه بسیار بیشتر
الزاماً بهترین راه برای افزایش عمر مفید سیستم نیست.

RAM قابل ارتقا،
Storage،
GPU،
کیفیت Cooling،
کیفیت ساخت
و قابلیت تعمیر
نیز روی عمر مفید دستگاه تأثیر دارند.

Common Mistakes — اشتباهات رایج درباره نسل های جدید Intel
  • فرض اینکه همه CPUهای نسل 10 معماری یکسان دارند.
  • نادیده گرفتن مدل کامل CPU.
  • نادیده گرفتن پیشرفت iGPU در نسل های جدیدتر.
  • فرض اینکه تمام Coreها در معماری Hybrid یکسان هستند.
  • تصور اینکه E-core فقط برای Background Task است.
  • جمع کردن P-core و E-core بدون بررسی نوع آنها.
  • مقایسه Thread Count بدون بررسی معماری.
  • فرض اینکه نسل 13 یک تغییر کاملاً بنیادی نسبت به نسل 12 است.
  • فرض اینکه نسل 14 در همه مدل ها یک جهش بزرگ است.
  • فرض اینکه Core Ultra صرفاً تغییر نام Core i است.
  • فرض اینکه وجود NPU تمام برنامه های AI را سریع تر می کند.
  • نادیده گرفتن Software Support برای NPU.
  • نادیده گرفتن نوع RAM.
  • فرض اینکه هر لپ تاپ نسل 12 از DDR5 استفاده می کند.
  • نادیده گرفتن Performance per Watt.
  • خرید بر اساس Future-Proof بدون توجه به قیمت.

سوالات متداول نسل های جدید Intel

نسل 10 Intel بهتر است یا نسل 11؟

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

چرا نسل 12 Intel مهم است؟

یکی از دلایل اصلی
ورود معماری Hybrid
شامل P-core و E-core
در بسیاری از مدل های این خانواده است.

P-core بهتر است یا E-core؟

این دو برای نقش های متفاوت طراحی شده اند.
P-core بر Performance بالا تمرکز دارد
و E-core بر Efficiency و افزایش ظرفیت پردازش موازی.
بنابراین مقایسه آنها به صورت «خوب یا بد»
ساده سازی بیش از حد است.

آیا E-core واقعاً Core محسوب می شود؟

بله.
E-core یک هسته پردازشی واقعی است،
اما معماری و هدف طراحی آن
با P-core متفاوت است.

Thread Director چه کاری انجام می دهد؟

اطلاعاتی درباره وضعیت Coreها
و نوع Workload در اختیار سیستم عامل قرار می دهد
تا Scheduler بتواند
تصمیم های مناسب تری برای زمان بندی Threadها بگیرد.

نسل 12 بهتر است یا نسل 13؟

نسل سیزدهم در مدل های مختلف
می تواند Core بیشتر،
Cache بیشتر،
Clock متفاوت
یا Performance بالاتر داشته باشد،
اما مدل کامل و اختلاف قیمت باید بررسی شود.

نسل 13 بهتر است یا نسل 14؟

فقط از روی شماره نسل نمی توان پاسخ داد.
مدل دقیق، Configuration،
کلاس توان، Cooling
و قیمت باید مقایسه شوند.

Core Ultra چیست؟

Core Ultra بخشی از ساختار جدیدتر نام گذاری
پردازنده های Intel است
و خانواده های مرتبط با آن
تغییرات معماری و پلتفرمی جدیدی نیز دارند.

NPU چیست؟

Neural Processing Unit
یا واحد پردازش عصبی،
شتاب دهنده ای تخصصی
برای برخی Workloadهای هوش مصنوعی است.

آیا NPU جای GPU را می گیرد؟

خیر.
CPU، GPU و NPU
برای انواع متفاوتی از پردازش طراحی شده اند
و می توانند در یک سیستم مکمل یکدیگر باشند.

آیا برای خرید لپ تاپ حتماً NPU لازم است؟

خیر.
اهمیت NPU به نرم افزارها
و کاربرد مورد نظر شما بستگی دارد.
برای بسیاری از کارهای سنتی،
CPU، GPU، RAM و Storage
همچنان معیارهای اصلی هستند.

DDR5 یعنی لپ تاپ حتماً سریع تر است؟

خیر.
حافظه فقط یکی از اجزای سیستم است.
CPU، GPU، ظرفیت RAM،
Channel Configuration،
Storage و Cooling
نیز بر Performance واقعی اثر دارند.

آیا Core Ultra برای لپ تاپ استوک مهم است؟

با ورود تدریجی نسل های جدیدتر به بازار استوک،
اهمیت آن بیشتر خواهد شد.
بنابراین شناخت ساختار نام گذاری،
NPU و معماری های جدید
برای یک مرجع بلندمدت ضروری است.

اصطلاحات جدید این فصل

  • Ultrabook: اصطلاح مرتبط با لپ تاپ های باریک، سبک و کم مصرف.
  • Hybrid Architecture: معماری ترکیبی با انواع متفاوت Core.
  • P-core: Performance Core؛ هسته با تمرکز بر Performance بالا.
  • E-core: Efficient Core؛ هسته با تمرکز بر بهره وری.
  • Efficiency: میزان کار مفید نسبت به منابع یا انرژی مصرفی.
  • Scheduler: بخش زمان بندی اجرای Threadها.
  • Thread Director: سازوکار سخت افزاری Intel برای کمک به زمان بندی بهتر Workloadها.
  • Background Task: وظیفه ای که در پس زمینه سیستم اجرا می شود.
  • Memory Bandwidth: حجم داده قابل انتقال توسط حافظه در یک بازه زمانی.
  • Refresh: نسخه به روزشده یک خانواده سخت افزاری.
  • Tile-Based Design: طراحی پردازنده با بخش های سخت افزاری تخصصی.
  • Monolithic Design: طراحی یکپارچه تراشه.
  • Die: قطعه نیمه هادی حاوی مدارهای تراشه.
  • Wafer: صفحه نیمه هادی مورد استفاده در فرایند ساخت تراشه.
  • Package: بسته فیزیکی پردازنده و اجزای مرتبط.
  • NPU: Neural Processing Unit؛ واحد پردازش عصبی.
  • AI Workload: بار پردازشی مرتبط با الگوریتم ها و مدل های هوش مصنوعی.
  • Machine Learning: یادگیری ماشین.
  • Accelerator: واحد سخت افزاری تخصصی برای شتاب دادن به نوع خاصی از محاسبات.
  • Performance per Watt: Performance به ازای انرژی مصرفی.
  • Battery Life: شارژدهی باتری.
  • Future-Proof: آمادگی بیشتر برای پاسخگویی به نیازهای آینده.

خلاصه فصل

از نسل دهم به بعد،
خواندن مشخصات CPU
نیازمند توجه بیشتری به معماری است.

10th Gen
→
Multiple Architectural Paths

11th Gen
→
CPU + iGPU Improvements

12th Gen
→
Hybrid Architecture

13th Gen
→
Hybrid Architecture Evolution

14th Gen
→
Model-Specific Evolution

Core Ultra
→
CPU + GPU + NPU + Tile-Based Design

مهم ترین تغییر در روش تحلیل این است که
دیگر نمی توان فقط پرسید:

«این CPU چند هسته دارد؟»

بلکه باید پرسید:

What Architecture?
+
How Many P-cores?
+
How Many E-cores?
+
How Many Threads?
+
What iGPU?
+
What Memory?
+
What Power Class?
+
What Cooling?
+
What Workload?

و با ورود Core Ultra:

What NPU?
+
Does My Software Use It?

نیز به این پرسش ها اضافه می شود.


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


فصل 51
سطح: پایه تا پیشرفته
موضوع: AMD Ryzen
تمرکز: نام گذاری، نسل، معماری و پسوندها

چگونه نام یک Ryzen را واقعاً بخوانیم؟

راهنمای جامع پردازنده های AMD Ryzen؛ از Ryzen 3 تا Ryzen 9

دیدن عبارت Ryzen 5 یا Ryzen 7
برای شناخت یک پردازنده AMD کافی نیست.
برای تحلیل صحیح باید خانواده،
مدل کامل، معماری Zen،
تعداد Core و Thread،
پسوند، کلاس توان
و در پردازنده های موبایلی جدیدتر
ساختار نام گذاری را همزمان بررسی کنیم.

این موضوع در بازار لپ تاپ استوک اهمیت زیادی دارد؛
زیرا دستگاه هایی با Ryzen 3000، 4000، 5000،
6000، 7000 و خانواده های جدیدتر
می توانند از نظر معماری و Performance
تفاوت هایی بسیار بیشتر از چیزی داشته باشند
که فقط از روی شماره مدل تصور می کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • AMD Ryzen چیست.
  • Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9 چه مفهومی دارند.
  • Zen چیست و چه تفاوتی با شماره سری Ryzen دارد.
  • چرا «سری»، «نسل» و «معماری» را نباید یک مفهوم بدانیم.
  • چگونه نام پردازنده های قدیمی تر Ryzen را بخوانیم.
  • چگونه نام پردازنده های موبایلی Ryzen 7000 را تحلیل کنیم.
  • چرا دو Ryzen 7000 می توانند معماری متفاوت داشته باشند.
  • پسوندهای U، HS، H و HX چه مفهومی دارند.
  • چرا پسوند CPU در انتخاب لپ تاپ اهمیت زیادی دارد.
  • چگونه Ryzen نسل قبل، مدل هدف و نسل بعد را مقایسه کنیم.
  • چرا تعداد Core به تنهایی معیار Performance نیست.
  • چگونه یک Ryzen مناسب لپ تاپ استوک انتخاب کنیم.

AMD Ryzen چیست؟

Ryzen
نام خانواده ای از پردازنده های AMD است
که مدل های متنوعی برای:

  • کامپیوترهای Desktop
  • لپ تاپ های کم مصرف
  • لپ تاپ های حرفه ای
  • سیستم های Gaming
  • Mobile Workstationها

در بر می گیرد.

درست مانند Intel Core،
واژه Ryzen به تنهایی
مدل دقیق پردازنده را مشخص نمی کند.


AMD چیست؟

AMD
مخفف:

Advanced Micro Devices

است.

AMD یک شرکت طراحی نیمه هادی است
که پردازنده های CPU،
پردازنده های گرافیکی
و محصولات محاسباتی مختلف تولید و طراحی می کند.

Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9 یعنی چه؟

یکی از اولین بخش های نام پردازنده AMD
سطح یا Tier محصول است.

خانواده جایگاه عمومی کاربری رایج
Ryzen 3 رده پایه کاربری عمومی، اداری و سبک
Ryzen 5 میان رده عمومی، حرفه ای متوسط، برنامه نویسی و برخی کارهای سنگین تر
Ryzen 7 رده بالاتر کاربری حرفه ای، Multitasking و پردازش های سنگین تر
Ryzen 9 رده Performance بالا Workloadهای سنگین، تولید محتوا، Gaming و پردازش حرفه ای

Common Mistake — Ryzen 7 همیشه از Ryzen 5 سریع تر است

این گزاره بدون دانستن مدل کامل صحیح نیست.

یک Ryzen 5 جدیدتر
می تواند در برخی Workloadها
از یک Ryzen 7 قدیمی تر سریع تر باشد.

بنابراین:

Ryzen Tier
≠
Complete Performance Ranking

Zen چیست؟


Zen Architecture

Zen
نام خانواده معماری های CPU شرکت AMD است
که پایه بسیاری از پردازنده های Ryzen را تشکیل می دهد.

نسخه های مختلف این معماری
در طول زمان توسعه یافته اند:

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

تفاوت Series و Architecture در Ryzen

این یکی از مهم ترین مفاهیم کل بخش AMD است.

Series
یا «سری محصول»
بخشی از نام تجاری و طبقه بندی محصول است.

Architecture
یا «معماری»
به طراحی داخلی CPU اشاره دارد.

این دو الزاماً یک چیز نیستند.

Engineering Insight — عدد سری را با معماری اشتباه نگیرید

ممکن است دو پردازنده
هر دو در خانواده ای با عدد:

Ryzen 7000

قرار بگیرند،
اما از معماری CPU یکسان استفاده نکنند.

بنابراین:

Same 7000 Series
≠
Same Zen Architecture

خواندن نام Ryzenهای موبایلی قدیمی تر

برای مثال پردازنده:

AMD Ryzen 5 3500U

را در نظر بگیرید.

بخش های اصلی نام:

AMD
|
Ryzen 5
|
3500
|
U

بخش مفهوم
AMD سازنده
Ryzen خانواده محصول
5 Tier محصول
3500 شماره مدل
U کلاس موبایلی کم مصرف

چند نمونه رایج در لپ تاپ های استوک

CPU Core / Thread معماری CPU کلاس
Ryzen 5 3500U 4 / 8 Zen+ U
Ryzen 5 4500U 6 / 6 Zen 2 U
Ryzen 5 4600U 6 / 12 Zen 2 U
Ryzen 5 5500U 6 / 12 Zen 2 U
Ryzen 5 5600U 6 / 12 Zen 3 U
Ryzen 7 5700U 8 / 16 Zen 2 U
Ryzen 7 5800U 8 / 16 Zen 3 U

Ryzen 5 5500U و Ryzen 5 5600U؛ یک مثال بسیار مهم

این دو مدل نمونه خوبی هستند
برای اینکه بفهمیم چرا
نباید فقط به دو رقم اول مدل نگاه کنیم.

Ryzen 5 5500U
→
Zen 2

Ryzen 5 5600U
→
Zen 3

هر دو در خانواده Ryzen 5000 Mobile قرار دارند،
اما معماری CPU آنها یکسان نیست.

بنابراین حتی در یک سری محصول نیز
ممکن است تفاوت معماری وجود داشته باشد.

Ryzen 7 5700U و Ryzen 7 5800U

نمونه مشابه دیگری:

Ryzen 7 5700U
→
Zen 2

Ryzen 7 5800U
→
Zen 3

هر دو:

8 Cores
/
16 Threads

دارند،
اما یکسان بودن تعداد Core و Thread
به معنی یکسان بودن معماری و Performance نیست.

Under the Hood — چرا AMD در یک سری از چند معماری استفاده می کند؟

شماره سری محصول
الزاماً فقط برای معرفی یک معماری خاص ساخته نشده است.

یک خانواده تجاری می تواند
مدل هایی با طراحی،
بازار هدف،
توان مصرفی
و معماری های متفاوت داشته باشد.

به همین دلیل هنگام تحلیل Ryzen:

Product Series
→
Exact Model
→
Architecture

مسیر مطمئن تری از قضاوت مستقیم
بر اساس شماره سری است.

نام گذاری Ryzen 7000 Mobile؛ جایی که باید اعداد را دقیق بخوانیم

AMD برای بخش مهمی از پردازنده های موبایلی
Ryzen 7000
از یک ساختار چهار رقمی استفاده کرد
که هر رقم اطلاعات مشخصی ارائه می دهد.

نمونه:

Ryzen 5 7530U

شماره:

7530

را می توان به صورت:

7 | 5 | 3 | 0

تجزیه کرد.

رقم نقش کلی
رقم اول Model Year / خانواده زمانی محصول
رقم دوم Market Segment
رقم سوم Zen Architecture
رقم چهارم Feature / Model Differentiation


Model Year چیست؟

Model Year
در این Context
به دوره یا سال مدل محصول
در ساختار نام گذاری اشاره دارد.

این عدد را نباید
مستقیماً با معماری Zen برابر بدانیم.


Market Segment چیست؟

Market Segment
یعنی «بخش بازار».

سازنده محصولات مختلف را
بر اساس سطح Performance،
قیمت، کاربرد و مخاطب
در بخش های متفاوت بازار قرار می دهد.

مهم ترین رقم برای تشخیص معماری در این سیستم

در این ساختار نام گذاری،
رقم سوم اهمیت ویژه ای دارد،
زیرا به معماری Zen اشاره می کند.

رقم سوم معماری
2 Zen 2
3 Zen 3 / Zen 3+
4 Zen 4
5 Zen 5

مثال: Ryzen 5 7530U را رمزگشایی کنیم

Ryzen 5 7530U

در بخش شماره مدل:

7 | 5 | 3 | 0

رقم سوم:

3
→
Zen 3

بنابراین عدد 7 ابتدای مدل
به این معنی نیست که CPU دارای:

Zen 7

است.

همچنین نباید صرفاً از عبارت:

Ryzen 7000

نتیجه بگیریم که همه اعضای این خانواده
از یک معماری استفاده می کنند.

چند مثال بسیار مهم از خانواده Ryzen 7000 Mobile

نمونه خانواده رقم معماری معماری CPU
7020 Series 2 Zen 2
7030 Series 3 Zen 3
7035 Series 3 Zen 3+
7040 Series 4 Zen 4
7045 Series 4 Zen 4

Performance Impact — «Ryzen 7000» به تنهایی مشخصات CPU نیست

عبارت:

Ryzen 7000 Series

می تواند خانواده هایی با:

Zen 2
/
Zen 3
/
Zen 3+
/
Zen 4

را در بازار موبایل شامل شود.

در نتیجه فروشنده ای که فقط می گوید:

«این لپ تاپ Ryzen 7 نسل 7000 دارد»

هنوز اطلاعات کافی برای ارزیابی پردازنده
در اختیار خریدار نگذاشته است.

پسوند پردازنده های موبایلی AMD

حرف یا حروف انتهای مدل CPU
یکی از مهم ترین قسمت های نام پردازنده هستند.

نمونه:

Ryzen 7 7840U

حرف:

U

بخشی از هویت پردازنده است
و نباید حذف شود.

پسوند مفهوم کلی کاربرد رایج
U تمرکز بیشتر بر Efficiency و لپ تاپ های باریک تجاری، اداری، قابل حمل
HS Performance بالا با تمرکز بیشتر بر طراحی موبایلی بهینه لپ تاپ های Performance باریک تر
H کلاس Performance موبایلی Gaming، حرفه ای و پردازش سنگین
HX کلاس Performance بسیار بالا لپ تاپ های قدرتمند و Desktop Replacement


Desktop Replacement چیست؟

Desktop Replacement
به لپ تاپی گفته می شود
که با تمرکز بر Performance بالا
طراحی شده و می تواند
در برخی کاربردها جایگزین یک سیستم Desktop شود.

این دستگاه ها معمولاً
ضخیم تر، سنگین تر
و دارای Cooling قدرتمندتری هستند.

Ryzen U-Series چیست؟

مدل های U
معمولاً برای لپ تاپ هایی طراحی می شوند
که میان:

Performance
↔
Power Consumption
↔
Battery Life

تعادل ایجاد کنند.

این مدل ها در لپ تاپ های:

  • Business
  • Office
  • Student
  • Portable

بسیار رایج هستند.


Portable یعنی چه؟

Portable
یعنی «قابل حمل».

در لپ تاپ،
این مفهوم معمولاً به دستگاه هایی اشاره دارد
که وزن، ابعاد و مصرف انرژی آنها
برای جابه جایی مداوم مناسب تر است.

Ryzen HS-Series چیست؟

HS معمولاً در لپ تاپ هایی دیده می شود
که Performance بالا اهمیت دارد،
اما سازنده همچنان
محدودیت های ضخامت، وزن و مصرف انرژی
را جدی در نظر گرفته است.

بنابراین HS را می توان
یکی از کلاس های جذاب
برای لپ تاپ های Performance قابل حمل دانست.

Ryzen H-Series چیست؟

H نشان دهنده خانواده ای
با تمرکز بیشتر بر Performance است
و معمولاً در لپ تاپ های:

  • Gaming
  • Creator
  • Engineering
  • Performance-Oriented

دیده می شود.


Creator Laptop چیست؟

Creator Laptop
یا «لپ تاپ مخصوص تولید محتوا»
دستگاهی است که برای کارهایی مانند:

  • تدوین ویدئو
  • طراحی گرافیک
  • مدل سازی سه بعدی
  • تولید محتوای دیجیتال
  • پردازش عکس

طراحی یا بهینه شده است.

Ryzen HX-Series چیست؟

HX در بخش بالاتر Performance
پردازنده های موبایلی AMD دیده می شود.

این پردازنده ها معمولاً
در لپ تاپ هایی استفاده می شوند
که توان پردازشی بالا
بر مصرف انرژی پایین و وزن کم
اولویت بیشتری دارد.

Common Mistake — مقایسه Ryzen U با Ryzen HX فقط بر اساس عدد مدل

این دو پردازنده
برای محدودیت های طراحی متفاوتی ساخته شده اند.

برای مثال:

Ryzen 7 U-Series

و:

Ryzen 7 HX-Series

حتی اگر از یک دوره محصول باشند،
الزاماً رقیب مستقیم یکدیگر نیستند.

TDP و کلاس توان در Ryzen

پسوند پردازنده
سرنخی درباره کلاس طراحی آن می دهد،
اما برای تحلیل واقعی
باید توان قابل استفاده در همان لپ تاپ
را نیز بررسی کنیم.


TDP چیست؟

TDP
مخفف:

Thermal Design Power

است.

این مفهوم با طراحی حرارتی
و توان مورد انتظار برای مدیریت گرمای قطعه
ارتباط دارد.

TDP را نباید در تمام شرایط
معادل دقیق مصرف لحظه ای برق CPU در نظر گرفت.

چرا یک Ryzen در دو لپ تاپ Performance متفاوتی دارد؟

همان قانونی که برای Intel گفتیم
در AMD نیز برقرار است.

Performance واقعی فقط تابع CPU نیست.

CPU
+
Power Configuration
+
Cooling
+
Memory
+
Firmware
=
Real Laptop Performance


Firmware چیست؟

Firmware
یا «میان افزار»
نرم افزاری سطح پایین است
که برای کنترل و مدیریت
بخش های سخت افزاری دستگاه استفاده می شود.

BIOS و UEFI
نمونه هایی از محیط هایی هستند
که تنظیمات سطح پایین سخت افزار
از طریق آنها مدیریت می شود.

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


SMT

SMT
مخفف:

Simultaneous Multithreading

است.

ترجمه مفهومی:
چند رشته ای همزمان.

این فناوری اجازه می دهد
یک Core فیزیکی سازگار
بیش از یک Thread نرم افزاری
را مدیریت کند.

برای مثال:

6 Cores
+
SMT
→
12 Threads

در یک پیاده سازی متداول SMT.

اما همه مدل های Ryzen
الزاماً ترکیب Core و Thread یکسانی ندارند.

برای نمونه:

Ryzen 5 4500U
→
6C / 6T

Ryzen 5 4600U
→
6C / 12T

Engineering Insight — 4500U و 4600U چرا مثال مهمی هستند؟

هر دو از خانواده Ryzen 4000 Mobile
و معماری Zen 2 هستند.

هر دو شش Core دارند.

اما:

4500U
→
6 Threads

4600U
→
12 Threads

بنابراین حتی:

Same Series
+
Same Architecture
+
Same Core Count

نیز برای نتیجه گیری کافی نیست.

قانون نسل قبل، مدل هدف و نسل بعد در AMD

همان قانون اصلی Framework
برای AMD نیز اجرا می شود.

اگر مدل هدف:

Ryzen 5 5600U

باشد،
فقط خود آن را بررسی نمی کنیم.

باید مدل های نزدیک از دوره قبل و بعد
را نیز بررسی کنیم.

برای مثال:

Ryzen 5 4600U
↔
Ryzen 5 5600U
↔
Ryzen 5 6600U

سپس بررسی می کنیم:

  • Architecture
  • Core / Thread
  • IPC
  • Clock
  • Cache
  • iGPU
  • Memory Support
  • Efficiency
  • Real Performance
  • Price


IPC چیست؟

IPC
مخفف:

Instructions Per Cycle

است.

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

IPC یکی از عوامل مهم Performance CPU است.

دو CPU با Clock یکسان
الزاماً Performance یکسانی ندارند،
زیرا معماری آنها می تواند
در هر Cycle مقدار متفاوتی کار انجام دهد.

Under the Hood — چرا GHz به تنهایی سرعت CPU را مشخص نمی کند؟

فرکانس نشان می دهد
CPU در چه نرخ Clock کار می کند.

اما مقدار کاری که
در هر Cycle انجام می شود
به معماری وابسته است.

به شکل بسیار ساده شده:

Performance
≈
Clock
×
Work Per Cycle

البته Performance واقعی
پیچیده تر از این رابطه ساده است
و عوامل متعدد دیگری نیز دخالت دارند.

هنگام دیدن یک لپ تاپ Ryzen چه چیزهایی را بررسی کنیم؟

01
نام کامل CPUفقط Ryzen 5 یا Ryzen 7 کافی نیست.
02
شماره کامل مدلبرای مثال 5600U یا 7530U.
03
معماری ZenZen 2، Zen 3، Zen 4 و غیره را مشخص کنید.
04
پسوندU، HS، H یا HX را نادیده نگیرید.
05
Core / Threadتعداد Core و Thread واقعی مدل را بررسی کنید.
06
iGPUمخصوصاً اگر لپ تاپ GPU مجزا ندارد.
07
RAM Platformنوع، ظرفیت، Channel و قابلیت ارتقا را بررسی کنید.
08
CoolingPerformance واقعی به طراحی لپ تاپ وابسته است.
09
نسل یا مدل قبلشاید با قیمت کمتر Value بیشتری داشته باشد.
10
مدل بعدیشاید با اختلاف قیمت کم، جهش معماری مهمی ارائه کند.

Common Mistakes — اشتباهات رایج در تشخیص پردازنده Ryzen
  • قضاوت فقط بر اساس Ryzen 3، 5، 7 یا 9.
  • فرض اینکه Ryzen 7 همیشه از Ryzen 5 سریع تر است.
  • یکی دانستن Series و Architecture.
  • فرض اینکه تمام Ryzen 5000ها از یک معماری هستند.
  • فرض اینکه تمام Ryzen 7000 Mobileها Zen 4 هستند.
  • نادیده گرفتن رقم معماری در سیستم نام گذاری مربوطه.
  • نادیده گرفتن پسوند U، HS، H یا HX.
  • مقایسه مستقیم U با HX بدون توجه به کلاس طراحی.
  • قضاوت فقط بر اساس Core Count.
  • قضاوت فقط بر اساس GHz.
  • نادیده گرفتن SMT و Thread Count.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن نوع RAM و Memory Bandwidth.
  • نادیده گرفتن Cooling لپ تاپ.
  • فرض اینکه مدل جدیدتر همیشه Value بیشتری دارد.

سوالات متداول پردازنده های AMD Ryzen

Ryzen چیست؟

Ryzen خانواده ای از پردازنده های AMD
برای Desktop و Laptop است
که مدل ها و کلاس های Performance مختلفی دارد.

Ryzen 5 بهتر است یا Ryzen 7؟

بدون مدل کامل نمی توان پاسخ داد.
Ryzen 7 Tier بالاتری است،
اما معماری، نسل، پسوند،
Core Count و مدل دقیق
باید بررسی شوند.

Zen چیست؟

Zen نام خانواده معماری های CPU شرکت AMD است.
Zen، Zen 2، Zen 3، Zen 4 و Zen 5
نسخه های مختلف این مسیر معماری هستند.

آیا Ryzen 5000 یعنی Zen 3؟

خیر.
در Ryzen 5000 Mobile
مدل هایی با Zen 2
و مدل هایی با Zen 3 وجود دارند.
بنابراین مدل کامل باید بررسی شود.

Ryzen 5 5500U و 5600U چه تفاوت مهمی دارند؟

هر دو از خانواده Ryzen 5000 Mobile هستند،
اما 5500U از معماری Zen 2
و 5600U از Zen 3 استفاده می کند.

آیا تمام Ryzen 7000ها Zen 4 هستند؟

خیر.
در خانواده موبایلی Ryzen 7000
مدل هایی با معماری های متفاوت وجود دارند.
مدل کامل پردازنده باید بررسی شود.

چگونه معماری Ryzen 7000 Mobile را تشخیص دهیم؟

در سیستم نام گذاری چهار رقمی مورد استفاده
برای این خانواده،
رقم سوم شماره مدل
یکی از سرنخ های اصلی معماری Zen است.

Ryzen U بهتر است یا H؟

«بهتر» به کاربرد بستگی دارد.
U معمولاً بر Efficiency و قابلیت حمل تمرکز بیشتری دارد،
در حالی که H برای Performance بالاتر
در لپ تاپ های مناسب طراحی شده است.

HS بهتر است یا H؟

الزاماً یکی بهتر نیست.
کلاس طراحی، مدل دقیق،
توان قابل استفاده، Cooling
و Workload تعیین کننده هستند.

HX چیست؟

HX یکی از کلاس های Performance بالای
پردازنده های موبایلی AMD است
که معمولاً در لپ تاپ های قدرتمندتر دیده می شود.

SMT چیست؟

Simultaneous Multithreading
فناوری چند رشته ای همزمان است
که امکان مدیریت بیش از یک Thread
توسط یک Core سازگار را فراهم می کند.

آیا GHz بیشتر یعنی Ryzen سریع تر؟

خیر.
Architecture، IPC، Core Count،
Cache، Power و Cooling
نیز بر Performance تأثیر دارند.

برای خرید لپ تاپ استوک Ryzen چه چیزی مهم تر است؟

مدل کامل CPU،
معماری Zen،
پسوند،
Core و Thread،
iGPU،
RAM،
Cooling،
وضعیت دستگاه
و قیمت باید در کنار یکدیگر بررسی شوند.

اصطلاحات جدید این فصل

  • AMD: Advanced Micro Devices؛ شرکت طراح پردازنده و محصولات نیمه هادی.
  • Ryzen: خانواده پردازنده های AMD.
  • Zen: خانواده معماری های CPU شرکت AMD.
  • Series: سری یا خانواده تجاری محصول.
  • Architecture: معماری و ساختار طراحی داخلی پردازنده.
  • Tier: سطح یا رده محصول در یک خانواده.
  • Model Year: دوره زمانی محصول در سیستم نام گذاری.
  • Market Segment: بخش هدف بازار.
  • U: کلاس موبایلی با تمرکز بیشتر بر بهره وری و مصرف انرژی.
  • HS: کلاس Performance موبایلی با توجه بیشتر به بهره وری و طراحی قابل حمل.
  • H: کلاس پردازنده موبایلی با تمرکز بر Performance.
  • HX: کلاس Performance بسیار بالای موبایلی.
  • Desktop Replacement: لپ تاپ قدرتمندی که می تواند در برخی کاربردها جایگزین Desktop شود.
  • Portable: قابل حمل.
  • Creator Laptop: لپ تاپ مناسب تولید محتوای حرفه ای.
  • TDP: Thermal Design Power؛ مفهوم مرتبط با طراحی توان حرارتی.
  • Firmware: میان افزار سطح پایین برای مدیریت سخت افزار.
  • SMT: Simultaneous Multithreading؛ چند رشته ای همزمان.
  • IPC: Instructions Per Cycle؛ میزان دستور قابل پردازش در هر چرخه.

خلاصه فصل

مهم ترین چیزی که درباره AMD Ryzen
باید به خاطر بسپاریم این است:

Ryzen 7
≠
Exact CPU

و حتی:

Ryzen 7000
≠
One Architecture

برای شناخت واقعی پردازنده
باید مسیر زیر طی شود:

Ryzen Tier
→
Exact Model
→
Architecture
→
Suffix
→
Core / Thread
→
iGPU
→
Power Class
→
Laptop Implementation

مثال هایی مانند:

Ryzen 5 5500U
↔
Ryzen 5 5600U

نشان می دهند که حتی دو CPU
از یک سری تجاری
می توانند معماری متفاوت داشته باشند.

و خانواده Ryzen 7000 Mobile
اهمیت این موضوع را بیشتر می کند،
زیرا شماره سری به تنهایی
معماری پردازنده را مشخص نمی کند.


در AMD نیز مانند Intel،
هیچ گاه پردازنده را فقط با
Ryzen 5، Ryzen 7 یا شماره سری قضاوت نکنید؛
مدل کامل CPU مهم ترین نقطه شروع تحلیل است.


فصل 52
سطح: متوسط / پیشرفته
موضوع: AMD Zen Architecture
تمرکز: Zen تا Zen 5

از بازگشت AMD به رقابت تا معماری های مدرن Ryzen

سیر تکامل معماری AMD Ryzen؛ از Zen تا Zen 5

برای فهم واقعی پردازنده های Ryzen،
فقط شناخت Ryzen 3، Ryzen 5، Ryzen 7
یا شماره هایی مانند 4000، 5000 و 7000 کافی نیست.
لایه مهم تر در زیر این نام ها،
معماری Zen قرار دارد.

در این فصل مسیر:

Zen
→
Zen+
→
Zen 2
→
Zen 3
→
Zen 3+
→
Zen 4
→
Zen 5

را بررسی می کنیم و می بینیم
هر مرحله نسبت به مرحله قبل
چه تغییراتی داشته است.

در این فصل چه چیزهایی یاد می گیریم؟

  • معماری Zen دقیقاً چیست.
  • چرا Zen برای AMD نقطه عطف محسوب می شود.
  • Zen+ چه تفاوتی با Zen داشت.
  • Zen 2 چرا تغییر مهم تری بود.
  • Chiplet چیست.
  • CCD و I/O Die چه هستند.
  • Zen 3 چگونه ساختار Cache را بهبود داد.
  • CCX چیست.
  • Zen 3+ چه هدفی داشت.
  • Zen 4 چه تغییراتی در پلتفرم ایجاد کرد.
  • AVX-512 چیست.
  • Zen 5 چه نوع پیشرفت معماری ایجاد کرد.
  • چرا Process Node به تنهایی Performance را تعیین نمی کند.
  • چگونه معماری های قبل و بعد را مقایسه کنیم.
  • این تغییرات برای خریدار لپ تاپ استوک چه معنایی دارند.

قبل از شروع؛ Architecture دقیقاً یعنی چه؟

وقتی می گوییم:

Zen Architecture

درباره طراحی داخلی پردازنده صحبت می کنیم،
نه فقط نام تجاری آن.

معماری می تواند روی مواردی مانند:

  • نحوه اجرای دستورها
  • IPC
  • Cache
  • Latency
  • Branch Prediction
  • توان مصرفی
  • Performance
  • قابلیت های پردازنده

اثر بگذارد.


Latency چیست؟

Latency
یا «تاخیر»
مدت زمانی است که
بین درخواست یک عملیات
و دریافت پاسخ یا شروع نتیجه آن
سپری می شود.

در پردازنده،
Cache،
RAM
و ارتباط میان بخش های مختلف تراشه،
Latency اهمیت زیادی دارد.


Branch Prediction چیست؟

Branch Prediction
یا «پیش بینی انشعاب»
سازوکاری در CPU است
که تلاش می کند مسیر احتمالی
اجرای دستورهای برنامه را
پیش بینی کند.

پیش بینی صحیح می تواند
از توقف های غیرضروری در Pipeline
جلوگیری کند.


Pipeline چیست؟

Pipeline
یا «خط لوله پردازشی»
روشی برای تقسیم اجرای دستور
به چند مرحله است.

به جای اینکه CPU
منتظر تکمیل کامل یک دستور بماند،
مراحل مختلف چند دستور
می توانند به صورت هم پوشان
در بخش های مختلف Pipeline پردازش شوند.

Zen؛ نقطه شروع Ryzen مدرن

معماری Zen پایه نسل جدیدی
از پردازنده های AMD شد
و Ryzen را وارد دوره جدیدی کرد.

یکی از اهداف مهم Zen
افزایش قابل توجه Performance
و بهبود بهره وری نسبت به طراحی های قدیمی تر AMD بود.

Zen همچنین SMT را
در ساختار پردازنده های Ryzen
به شکل گسترده مورد استفاده قرار داد.

Engineering Insight — چرا Zen فقط یک «نسل جدید» نبود؟

اهمیت Zen فقط در افزایش Clock
یا تعداد Core خلاصه نمی شد.

AMD طراحی CPU خود را
به شکل گسترده بازنگری کرد
و پایه ای ایجاد کرد
که نسل های بعدی Ryzen
روی آن توسعه یافتند.

بنابراین:

Zen
=
Architectural Foundation

و نه صرفاً:

Higher Clock

Zen+؛ بهینه سازی مرحله اول

Zen+
ادامه و بهینه سازی معماری Zen بود.

در این مرحله AMD
به جای تغییر کامل فلسفه معماری،
روی بهبود بخش هایی مانند:

  • Latency
  • Clock Behavior
  • Power Efficiency
  • فرایند ساخت

تمرکز کرد.

Process Node چیست؟


Process Node

Process Node
یا «گره فرایند ساخت»
اصطلاحی برای اشاره به نسل فناوری
ساخت تراشه های نیمه هادی است.

نمونه هایی مانند:

14nm
/
12nm
/
7nm
/
5nm

در مشخصات پردازنده ها دیده می شوند.


nm یا Nanometer چیست؟

nm
مخفف Nanometer
یا «نانومتر» است.

یک نانومتر برابر است با:

10⁻⁹ Meter

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

Common Mistake — نانومتر کمتر یعنی CPU حتماً سریع تر است

خیر.

Process Node
فقط یکی از عوامل طراحی پردازنده است.

Performance واقعی به:

Architecture
+
IPC
+
Clock
+
Core Count
+
Cache
+
Memory
+
Power
+
Cooling

وابسته است.

Zen در برابر Zen+

معیار Zen Zen+
نقش پایه معماری جدید بهینه سازی Zen
فرایند ساخت رایج 14nm 12nm
Latency مبنای مقایسه بهبود در بخش هایی از طراحی
Clock مبنای اولیه بهبود شرایط فرکانسی در محصولات مرتبط
نوع تغییر معماری پایه تکاملی

Zen 2؛ جهش مهم بعدی

Zen 2
نسبت به Zen+
تغییر مهم تری محسوب می شود.

این معماری علاوه بر بهبود Performance،
در محصولات مختلف AMD
با تغییرات مهمی در طراحی داخلی
و استفاده گسترده تر از ساختار Chiplet
همراه شد.

Chiplet چیست؟


Chiplet

Chiplet
به یک بخش کوچک تر و تخصصی
از یک طراحی پردازنده گفته می شود
که می تواند همراه با بخش های دیگر
در یک Package قرار گیرد.

به زبان ساده،
به جای ساخت تمام بخش های پردازنده
به صورت یک Die بسیار بزرگ،
می توان بعضی اجزا را
در Dieهای جداگانه سازمان دهی کرد.

Common Mistake — همه Ryzenهای Zen 2 لپ تاپی Chiplet هستند

خیر.

استفاده از معماری Zen 2
به این معنی نیست که
تمام محصولات مبتنی بر آن
ساختار فیزیکی یکسانی دارند.

بسیاری از APUهای موبایلی Ryzen
طراحی یکپارچه متفاوتی
نسبت به برخی پردازنده های Desktop
داشته اند.

بنابراین باید میان:

CPU Architecture

و:

Physical Die Organization

تفاوت قائل شویم.

APU چیست؟


APU

APU
اصطلاحی است که AMD
برای برخی پردازنده هایی به کار برده
که CPU و پردازنده گرافیکی مجتمع
را در یک محصول ترکیب می کنند.

در لپ تاپ ها،
چنین طراحی هایی بسیار رایج هستند.

CCD چیست؟


CCD

CCD
مخفف:

Core Complex Die

است.

CCD بخشی از برخی طراحی های AMD است
که هسته های پردازشی CPU
و Cache مرتبط
در آن قرار می گیرند.

I/O Die چیست؟


I/O Die

I/O
مخفف:

Input / Output

یعنی «ورودی / خروجی».

I/O Die
بخشی از برخی طراحی های چند Die است
که وظایفی مانند
ارتباطات حافظه و بخش هایی از ورودی و خروجی
را مدیریت می کند.

Under the Hood — چرا Chiplet اهمیت پیدا کرد؟

ساخت یک Die بسیار بزرگ
می تواند از نظر تولید پیچیده و پرهزینه باشد.

طراحی Chiplet
اجازه می دهد بخش های مختلف
به صورت ماژولارتر طراحی شوند.

این رویکرد می تواند مزایایی مانند:

  • انعطاف بیشتر در طراحی
  • امکان ساخت مدل هایی با Core Count متفاوت
  • استفاده از Dieهای تخصصی
  • بهبود برخی جنبه های اقتصادی تولید

داشته باشد.

Performance Impact — Zen 2 چه چیزی را برای لپ تاپ تغییر داد؟

در پردازنده های موبایلی مبتنی بر Zen 2،
AMD توانست در بسیاری از مدل ها
تعداد Core بیشتری را
در کلاس های مصرف انرژی مناسب لپ تاپ ارائه کند.

نمونه مهم:

Ryzen 5 3500U
→
4 Cores / 8 Threads

Ryzen 5 4500U
→
6 Cores / 6 Threads

Ryzen 5 4600U
→
6 Cores / 12 Threads

این تغییر برای Workloadهای چند رشته ای
اهمیت زیادی داشت.

Zen 3؛ تغییر مهم در سازمان دهی هسته ها و Cache

Zen 3
فقط یک افزایش ساده Clock نبود.

یکی از تغییرات مهم آن
بازطراحی سازمان دهی Core Complex
و دسترسی هسته ها به Cache بود.

CCX چیست؟


CCX

CCX
مخفف:

Core Complex

است.

CCX به گروهی از هسته های CPU
و منابع Cache مرتبط با آنها
در طراحی های Zen اشاره دارد.

Under the Hood — Zen 3 و تغییر ساختار Core Complex

در طراحی Zen 2،
سازمان دهی هسته ها
به گروه های کوچک تر CCX
انجام می شد.

در Zen 3،
AMD ساختار را تغییر داد
تا گروه بزرگ تری از Coreها
بتوانند به یک مجموعه بزرگ تر
از L3 Cache دسترسی داشته باشند.

نتیجه این تغییر
می تواند کاهش برخی ارتباطات غیرضروری
و بهبود Latency
در بعضی Workloadها باشد.


L3 Cache چیست؟

L3 Cache
یکی از سطوح حافظه Cache پردازنده است.

این حافظه
نسبت به RAM بسیار نزدیک تر به CPU است
و برای نگهداری داده هایی استفاده می شود
که پردازنده احتمالاً
به آنها نیاز خواهد داشت.

ساختار و نحوه اشتراک L3 Cache
می تواند بر Performance
و Latency تأثیر بگذارد.

Common Mistake — Cache بیشتر همیشه یعنی CPU سریع تر

مقدار Cache مهم است،
اما Performance فقط با ظرفیت Cache تعیین نمی شود.

معماری،
Latency،
نحوه دسترسی Coreها،
Clock
و نوع Workload
نیز اهمیت دارند.

Zen 2 در برابر Zen 3

معیار Zen 2 Zen 3
IPC مبنای مقایسه بهبود معماری
Core Organization ساختار CCX قدیمی تر سازمان دهی بازطراحی شده
L3 Access تقسیم شده تر دسترسی یکپارچه تر در Core Complex جدید
Single-Thread Performance خوب بهبود یافته
نوع تغییر جهش مهم قبلی بهبود معماری قابل توجه


Single-Thread Performance چیست؟

Single-Thread Performance
یا «کارایی تک رشته ای»
نشان می دهد پردازنده
هنگام اجرای یک جریان پردازشی اصلی
چه سطحی از Performance ارائه می کند.

این معیار در برنامه هایی
که امکان تقسیم کامل کار
میان تعداد زیادی Thread ندارند
اهمیت زیادی دارد.


Multi-Thread Performance چیست؟

Multi-Thread Performance
یا «کارایی چند رشته ای»
توان پردازنده در اجرای Workloadهایی است
که می توانند از چند Thread
به طور همزمان استفاده کنند.

Render،
Encoding،
Compilation
و برخی محاسبات مهندسی
می توانند از Multi-Threading
بهره ببرند.


Encoding چیست؟

Encoding
یا «کدگذاری»
فرایند تبدیل داده،
برای مثال ویدئو،
به یک قالب یا Codec مشخص است.


Compilation چیست؟

Compilation
یا «کامپایل»
فرایند تبدیل کد منبع برنامه
به شکلی است که
سیستم بتواند آن را اجرا
یا برای اجرای بعدی آماده کند.

Zen 3+؛ تمرکز بیشتر بر لپ تاپ و Efficiency

Zen 3+
را می توان نسخه تکامل یافته Zen 3
با تمرکز ویژه بر پلتفرم های موبایلی دانست.

این معماری در خانواده هایی مانند:

Ryzen 6000 Mobile

دیده شد.

در این دوره،
فقط CPU مهم نبود.

پلتفرم موبایلی AMD
تغییرات مهم دیگری نیز تجربه کرد.

یکی از تغییرات مهم Ryzen 6000؛ گرافیک مجتمع RDNA 2

یکی از نقاط مهم این خانواده
استفاده از گرافیک مجتمع
مبتنی بر معماری:

RDNA 2

در مدل های مربوطه بود.


RDNA چیست؟

RDNA
نام خانواده ای از معماری های گرافیکی AMD است.

همان طور که Zen
به معماری CPU مربوط است،
RDNA به معماری GPU مربوط می شود.

Zen
→
CPU Architecture

RDNA
→
GPU Architecture

Zen 3 در برابر Zen 3+

معیار Zen 3 Zen 3+
پایه معماری Zen 3 تکامل Zen 3
تمرکز Performance معماری بهینه سازی موبایلی و Efficiency
پلتفرم شاخص موبایلی Ryzen 5000 Mobile در مدل های مربوطه Ryzen 6000 Mobile
iGPU در خانواده شاخص وابسته به محصول RDNA 2 در Ryzen 6000 Mobile

Zen 4؛ ورود به مرحله جدید پلتفرم

Zen 4
مرحله مهم بعدی معماری Ryzen است.

در این دوره،
علاوه بر پیشرفت CPU،
فناوری های پلتفرمی جدیدتری نیز
در محصولات مربوطه اهمیت بیشتری پیدا کردند.

از جمله:

  • DDR5
  • LPDDR5 / LPDDR5X در محصولات موبایلی مربوطه
  • PCI Express نسل جدیدتر در پلتفرم های مربوطه
  • بهبود Performance
  • بهبود Efficiency
  • قابلیت های جدید پردازشی


LPDDR چیست؟

LPDDR
مخفف:

Low Power Double Data Rate

است.

ترجمه مفهومی:
حافظه DDR کم مصرف.

این نوع حافظه
برای دستگاه هایی که مصرف انرژی اهمیت زیادی دارد،
از جمله بسیاری از لپ تاپ های باریک،
استفاده می شود.

Common Mistake — LPDDR جدیدتر یعنی لپ تاپ حتماً قابل ارتقا است

خیر.

در بسیاری از لپ تاپ ها
حافظه LPDDR
به صورت Onboard
روی برد قرار می گیرد
و قابل تعویض مانند یک SO-DIMM معمولی نیست.

بنابراین هنگام خرید لپ تاپ استوک،
ظرفیت RAM اولیه اهمیت بیشتری پیدا می کند.


Onboard RAM چیست؟

Onboard RAM
یعنی حافظه ای که
مستقیماً روی مادربرد دستگاه نصب شده است.

در بسیاری از طراحی ها
این حافظه توسط کاربر
مانند ماژول RAM معمولی
قابل جدا کردن و ارتقا نیست.

AVX-512 چیست؟


AVX-512

AVX-512
خانواده ای از دستورهای پردازشی
برای انجام برخی محاسبات برداری است.

نرم افزارهایی که برای استفاده
از این دستورها طراحی شده باشند
می توانند در برخی Workloadها
از آنها بهره ببرند.


Vector Processing چیست؟

Vector Processing
یا «پردازش برداری»
روشی است که در آن
یک دستور می تواند
روی مجموعه ای از داده ها
عملیات انجام دهد.

این روش در برخی محاسبات:

  • علمی
  • مهندسی
  • رسانه ای
  • هوش مصنوعی

اهمیت دارد.

Zen 3 در برابر Zen 4

معیار Zen 3 Zen 4
معماری نسل قبلی معماری جدیدتر
IPC مبنای مقایسه بهبود یافته
Memory Platform وابسته به محصول پلتفرم های جدیدتر در محصولات مربوطه
Instruction Capabilities نسل قبلی گسترش قابلیت ها از جمله AVX-512 در پیاده سازی مربوطه
Efficiency خوب بهبودهای نسلی

Zen 5؛ ادامه تکامل معماری Ryzen

Zen 5
نسل بعدی معماری CPU شرکت AMD
پس از Zen 4 است.

در این مرحله،
AMD بخش های مختلف معماری داخلی CPU
را برای افزایش توان پردازشی
و بهبود اجرای Workloadها توسعه داد.

برای فهم اهمیت Zen 5
نباید فقط به Clock نگاه کنیم.

تغییرات معماری می توانند
باعث شوند پردازنده
در هر Cycle کار بیشتری انجام دهد.

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


CPU Front-End

Front-End
بخش ابتدایی مسیر پردازش دستورها در CPU است.

وظایفی مانند:

  • دریافت Instruction
  • پیش بینی مسیر اجرای برنامه
  • Decode کردن دستورها
  • آماده سازی آنها برای مراحل بعدی

در این بخش انجام می شوند.


Decode چیست؟

Decode
یا «رمزگشایی دستور»
مرحله ای است که در آن
دستورهای ماشین
به عملیات داخلی قابل پردازش توسط CPU
تبدیل می شوند.

Execution Engine چیست؟


Execution Engine

Execution Engine
یا «موتور اجرای پردازنده»
مجموعه منابعی است
که عملیات واقعی دستورها
را اجرا می کند.

این منابع می توانند شامل
واحدهای محاسبات صحیح،
Floating Point،
Load / Store
و بخش های دیگر باشند.


Floating Point چیست؟

Floating Point
یا «ممیز شناور»
روشی برای نمایش و محاسبه
اعداد اعشاری و دامنه بزرگی از اعداد است.

محاسبات Floating Point
در بسیاری از برنامه های:

  • مهندسی
  • سه بعدی
  • علمی
  • رندرینگ

اهمیت دارند.


Load / Store چیست؟

Load
یعنی انتقال داده
از حافظه به منابع پردازشی.

Store
یعنی نوشتن نتیجه یا داده
از پردازنده به حافظه.

توانایی CPU در مدیریت مؤثر
این عملیات
روی Performance بسیاری از Workloadها اثر دارد.

Zen 4 در برابر Zen 5

معیار Zen 4 Zen 5
جایگاه نسل معماری قبلی نسل معماری جدیدتر
Front-End طراحی Zen 4 بازطراحی و توسعه بیشتر
Execution Resources نسل قبلی گسترش منابع اجرایی
IPC Potential مبنای مقایسه بهبود معماری
Vector Workloads پشتیبانی مدرن توان پردازشی توسعه یافته در Workloadهای مناسب

نقشه کامل تکامل Zen

معماری ماهیت تغییر نکته مهم
Zen شروع معماری جدید پایه Ryzen مدرن
Zen+ بهینه سازی Latency، Clock و Efficiency بهتر
Zen 2 جهش معماری IPC بهتر و توسعه طراحی های جدید
Zen 3 بازطراحی مهم Core Complex IPC و Cache Access بهتر
Zen 3+ بهینه سازی موبایلی Efficiency و پلتفرم موبایلی قوی تر
Zen 4 معماری و پلتفرم جدیدتر DDR5 و قابلیت های پردازشی جدیدتر
Zen 5 توسعه عمیق معماری Front-End و Execution گسترده تر

قانون مقایسه نسل قبل، هدف و بعد

اگر معماری هدف:

Zen 3

باشد،
نباید آن را جداگانه تحلیل کنیم.

باید حداقل:

Zen 2
↔
Zen 3
↔
Zen 3+

را ببینیم.

اگر هدف:

Zen 4

باشد:

Zen 3 / Zen 3+
↔
Zen 4
↔
Zen 5

تصویر بسیار کامل تری
از ارزش ارتقا ایجاد می کند.

این معماری ها برای خریدار لپ تاپ استوک چه معنایی دارند؟

فرض کنید دو لپ تاپ استوک
قیمت نزدیک به یکدیگر دارند.

یکی:

Ryzen 7 5700U
→
Zen 2

و دیگری:

Ryzen 7 5800U
→
Zen 3

هر دو:

8 Cores / 16 Threads

هستند.

اگر فقط تعداد Core و Thread را ببینیم،
ممکن است تصور کنیم تفاوت مهمی وجود ندارد.

اما معماری متفاوت است.

در نتیجه مواردی مانند:

  • IPC
  • Single-Thread Performance
  • Cache Organization
  • Latency
  • Performance واقعی

می توانند متفاوت باشند.

Performance Impact — Ryzen 6000 چرا فقط «یک عدد بالاتر» نیست؟

مقایسه:

Ryzen 5000 Mobile
↔
Ryzen 6000 Mobile

فقط مقایسه شماره سری نیست.

در مدل های مربوطه،
انتقال به Zen 3+
همراه با تغییرات پلتفرمی
و گرافیک مجتمع RDNA 2
می تواند اهمیت زیادی داشته باشد.

بنابراین برای لپ تاپی
بدون کارت گرافیک مجزا،
اختلاف iGPU
ممکن است حتی بیشتر از چیزی باشد
که خریدار از اختلاف CPU انتظار دارد.

Generation Jump چیست؟


Generation Jump

Generation Jump
اصطلاحی غیررسمی برای بیان
میزان پیشرفت میان دو نسل یا معماری است.

ترجمه مفهومی:
جهش نسلی.

همه انتقال ها
جهش یکسانی ندارند.

گاهی تغییر:

Evolutionary

یعنی «تکاملی» است.

و گاهی:

Major Architectural Change

یعنی «تغییر معماری عمده».

جدیدترین معماری یا بهترین ارزش خرید؟

معماری جدیدتر
معمولاً مزایای فنی دارد،
اما خرید لپ تاپ استوک
یک مسئله چند متغیره است.

باید:

Performance
/
Price

را نیز بررسی کنیم.


Price-to-Performance چیست؟

Price-to-Performance
یا «نسبت قیمت به کارایی»
مفهومی برای سنجش مقدار Performance
دریافتی در برابر هزینه پرداخت شده است.

در بازار استوک،
این معیار اهمیت ویژه ای دارد؛
زیرا یک نسل قدیمی تر
ممکن است با قیمت بسیار پایین تر
هنوز Performance مناسبی ارائه کند.

Engineering Insight — معماری جدیدتر همیشه خرید بهتر نیست

فرض کنید:

Zen 3 Laptop
=
Price X

و:

Zen 4 Laptop
=
Price 1.8X

اگر Workload کاربر
از مزایای نسل جدید
استفاده زیادی نکند،
ممکن است مدل Zen 3
ارزش خرید بیشتری داشته باشد.

بنابراین:

Newer
≠
Automatically Better Value

Common Mistakes — اشتباهات رایج درباره معماری Zen
  • یکی دانستن Ryzen Series و Zen Architecture.
  • فرض اینکه شماره Ryzen مستقیماً نسخه Zen را نشان می دهد.
  • فرض اینکه تمام پردازنده های یک سری معماری یکسان دارند.
  • فرض اینکه Zen+ یک معماری کاملاً مستقل از Zen است.
  • فرض اینکه تمام محصولات Zen 2 ساختار Chiplet یکسان دارند.
  • نادیده گرفتن تفاوت APU موبایلی و CPU دسکتاپ.
  • قضاوت فقط بر اساس Process Node.
  • فرض اینکه nm کمتر همیشه Performance بیشتر دارد.
  • قضاوت فقط بر اساس Core Count.
  • نادیده گرفتن IPC.
  • نادیده گرفتن Cache Organization.
  • نادیده گرفتن Single-Thread Performance.
  • نادیده گرفتن Multi-Thread Performance.
  • نادیده گرفتن تغییر iGPU میان نسل ها.
  • فرض اینکه Zen 3+ فقط تغییر نام Zen 3 است.
  • فرض اینکه LPDDR حتماً قابل ارتقا است.
  • فرض اینکه AVX-512 تمام برنامه ها را سریع تر می کند.
  • خرید جدیدترین معماری بدون بررسی Price-to-Performance.

سوالات متداول درباره معماری AMD Zen

Zen چیست؟

Zen نام خانواده معماری های CPU شرکت AMD
و پایه پردازنده های مدرن Ryzen است.

Zen و Ryzen چه تفاوتی دارند؟

Ryzen نام خانواده تجاری پردازنده است،
در حالی که Zen
معماری داخلی CPU را توصیف می کند.

Zen+ بهتر است یا Zen؟

Zen+ نسخه بهینه شده مسیر Zen است
و در محصولات مربوطه
بهبودهایی در فرکانس، Latency
و Efficiency ایجاد شد.

Zen 2 چه اهمیتی داشت؟

Zen 2 یک پیشرفت مهم معماری بود
و در خانواده های مختلف
افزایش Performance،
بهبود Efficiency
و توسعه طراحی های جدید AMD را به همراه داشت.

Chiplet چیست؟

Chiplet یک بخش تخصصی کوچک تر
از طراحی پردازنده است
که می تواند همراه بخش های دیگر
در یک Package قرار گیرد.

آیا همه Ryzenهای Zen 2 از Chiplet استفاده می کنند؟

خیر.
معماری CPU و سازمان دهی فیزیکی Dieها
دو مفهوم متفاوت هستند.
بسیاری از پردازنده های موبایلی
طراحی متفاوتی دارند.

Zen 3 چه تفاوت مهمی با Zen 2 دارد؟

Zen 3 علاوه بر بهبود IPC،
سازمان دهی Core Complex و دسترسی به L3 Cache
را تغییر داد
که می تواند Latency و Performance را بهبود دهد.

Zen 3+ چیست؟

Zen 3+ نسخه تکامل یافته Zen 3
با تمرکز ویژه بر Efficiency
و پلتفرم های موبایلی است
و در Ryzen 6000 Mobile اهمیت زیادی داشت.

Zen 4 چه تغییر مهمی دارد؟

Zen 4 معماری جدیدتری است
که علاوه بر بهبود CPU،
در محصولات مربوطه
با فناوری های پلتفرمی جدیدتر
مانند DDR5 همراه شد.

Zen 5 چیست؟

Zen 5 نسل بعدی معماری AMD پس از Zen 4 است
که بخش هایی مانند Front-End
و منابع اجرای پردازنده
در آن توسعه یافته اند.

آیا نانومتر کمتر همیشه بهتر است؟

خیر.
Process Node فقط یکی از عوامل است.
Architecture، IPC، Clock،
Cache، Power و Cooling
نیز باید بررسی شوند.

برای لپ تاپ استوک Zen 2 هنوز مناسب است؟

می تواند مناسب باشد.
ارزش خرید به مدل دقیق CPU،
نوع کاربری،
قیمت،
RAM،
Storage،
وضعیت لپ تاپ
و گزینه های جایگزین بستگی دارد.

Zen 3 بهتر است یا Zen 4؟

از نظر معماری Zen 4 جدیدتر است،
اما برای تصمیم خرید
مدل دقیق CPU،
کلاس توان،
iGPU،
RAM،
Cooling
و اختلاف قیمت نیز اهمیت دارند.

چرا معماری CPU برای خرید لپ تاپ مهم است؟

چون دو پردازنده با Core Count
و حتی Clock مشابه
می توانند به دلیل تفاوت معماری،
IPC، Cache و Efficiency
Performance متفاوتی داشته باشند.

اصطلاحات جدید این فصل

  • Latency: تاخیر میان درخواست و پاسخ.
  • Branch Prediction: پیش بینی مسیر احتمالی اجرای برنامه.
  • Pipeline: خط لوله پردازشی برای اجرای مرحله ای و هم پوشان دستورها.
  • Process Node: نسل فناوری فرایند ساخت نیمه هادی.
  • Nanometer: نانومتر؛ یک میلیاردیم متر.
  • Chiplet: بخش تخصصی کوچک تر در یک طراحی چندبخشی.
  • APU: اصطلاح AMD برای برخی پردازنده های دارای CPU و گرافیک مجتمع.
  • CCD: Core Complex Die؛ Die حاوی هسته های پردازشی در برخی طراحی های AMD.
  • I/O Die: بخش مرتبط با ورودی، خروجی و ارتباطات در برخی طراحی های چند Die.
  • CCX: Core Complex؛ گروهی از هسته ها و منابع مرتبط.
  • L3 Cache: یکی از سطوح حافظه Cache پردازنده.
  • Single-Thread Performance: کارایی تک رشته ای.
  • Multi-Thread Performance: کارایی چند رشته ای.
  • Encoding: کدگذاری داده یا رسانه.
  • Compilation: فرایند کامپایل کد برنامه.
  • RDNA: خانواده معماری گرافیکی AMD.
  • LPDDR: حافظه DDR کم مصرف.
  • Onboard RAM: حافظه نصب شده مستقیم روی مادربرد.
  • AVX-512: خانواده دستورهای پردازش برداری.
  • Vector Processing: پردازش برداری مجموعه ای از داده ها.
  • Front-End: بخش ابتدایی پردازش دستور در CPU.
  • Decode: تبدیل دستور ماشین به عملیات داخلی پردازنده.
  • Execution Engine: منابع داخلی اجرای عملیات پردازنده.
  • Floating Point: محاسبات ممیز شناور.
  • Load / Store: خواندن داده از حافظه و نوشتن داده در حافظه.
  • Generation Jump: میزان جهش میان دو نسل یا معماری.
  • Price-to-Performance: نسبت قیمت به کارایی.

خلاصه فصل

مسیر معماری AMD را می توان
به صورت زیر خلاصه کرد:

Zen
→
Foundation

Zen+
→
Refinement

Zen 2
→
Major Architectural Evolution

Zen 3
→
Core / Cache Organization Improvement

Zen 3+
→
Mobile Efficiency Evolution

Zen 4
→
New Architecture + Newer Platform Capabilities

Zen 5
→
Deeper Front-End + Execution Evolution

اما مهم ترین نتیجه فصل این است:


معماری جدیدتر معمولاً مزایای فنی دارد،
اما بهترین خرید همیشه جدیدترین معماری نیست.

برای خرید لپ تاپ استوک
باید:

Architecture
+
Exact CPU
+
Core / Thread
+
iGPU
+
RAM
+
Cooling
+
Laptop Condition
+
Price

را همزمان بررسی کنیم.

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


فصل 53
سطح: متوسط / کاربردی
موضوع: AMD Ryzen Mobile
تمرکز: Ryzen 3000 تا Ryzen 8000

عدد بزرگ تر همیشه به معنی معماری جدیدتر نیست

مقایسه Ryzen 3000 تا Ryzen 8000 Mobile؛ راهنمای تشخیص نسل و مدل پردازنده لپ تاپ

یکی از سخت ترین بخش های انتخاب لپ تاپ مجهز به پردازنده AMD،
تشخیص تفاوت واقعی میان سری های مختلف Ryzen Mobile است.
شماره هایی مانند 3500U، 4500U، 5500U، 5600U،
6800U، 7530U، 7840U و 8840U
در نگاه اول یک مسیر ساده و صعودی به نظر می رسند،
اما واقعیت بسیار پیچیده تر است.

برای مقایسه صحیح باید
شماره مدل،
معماری Zen،
تعداد Core و Thread،
نوع گرافیک مجتمع،
پسوند،
کلاس توان
و مشخصات خود لپ تاپ
را کنار یکدیگر قرار دهیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • Ryzen 3000 Mobile چه جایگاهی دارد.
  • چرا Ryzen 4000 Mobile یک جهش مهم بود.
  • چرا Ryzen 5000 Mobile از نظر معماری یکدست نیست.
  • Ryzen 6000 Mobile چه تغییر مهمی در iGPU ایجاد کرد.
  • چرا Ryzen 7000 Mobile را نباید فقط از روی عدد 7 قضاوت کرد.
  • Ryzen 8000 Mobile چه نسبتی با Ryzen 7000 دارد.
  • تفاوت 3500U، 4500U، 4600U، 5500U و 5600U.
  • تفاوت 5700U و 5800U.
  • تفاوت 6600U و 6800U.
  • تفاوت 7530U، 7730U و 7840U.
  • چرا مدل قدیمی تر گاهی از مدل ظاهراً جدیدتر جذاب تر است.
  • چگونه ارزش خرید CPU را در لپ تاپ استوک ارزیابی کنیم.

ابتدا تصویر کلی Ryzen Mobile را ببینیم

خانواده معماری های مهم CPU نکته کلیدی
Ryzen 3000 Mobile Zen+ نسل قدیمی تر و رایج در بازار استوک
Ryzen 4000 Mobile Zen 2 جهش مهم در تعداد هسته و بهره وری
Ryzen 5000 Mobile Zen 2 / Zen 3 شماره سری به تنهایی معماری را مشخص نمی کند
Ryzen 6000 Mobile Zen 3+ بهبود Efficiency و ورود RDNA 2 به iGPU این خانواده
Ryzen 7000 Mobile چند معماری مختلف مدل کامل باید رمزگشایی شود
Ryzen 8000 Mobile عمدتاً Zen 4 در خانواده شاخص تمرکز بیشتر بر قابلیت های AI در مدل های مربوطه

Common Mistake — 7000 حتماً از 6000 سریع تر است

این نتیجه گیری اشتباه است.

برای مثال یک مدل Ryzen 7000 Mobile
می تواند بر اساس معماری قدیمی تری ساخته شده باشد،
در حالی که یک Ryzen 6000 Mobile
از Zen 3+ استفاده کند.

بنابراین:

Bigger Series Number
≠
Automatically Newer Architecture

Ryzen 3000 Mobile؛ نقطه شروع مهم بازار استوک

پردازنده های Ryzen 3000 Mobile
هنوز در برخی لپ تاپ های استوک دیده می شوند.

یکی از مدل های شناخته شده:

Ryzen 5 3500U

است.

مدل Ryzen 5 3500U
معماری CPU Zen+
Core 4
Thread 8
کلاس U
گرافیک مجتمع Radeon Vega


Vega چیست؟

Vega
نام یکی از خانواده های معماری گرافیکی AMD است.

نسخه های گرافیک مجتمع مبتنی بر Vega
در چندین نسل از APUهای Ryzen Mobile
مورد استفاده قرار گرفته اند.

نام Vega به تنهایی
برای تعیین قدرت گرافیکی کافی نیست؛
زیرا تعداد واحدهای پردازشی،
Clock،
Memory Bandwidth
و نسل پیاده سازی نیز اهمیت دارند.

Ryzen 4000 Mobile؛ یکی از مهم ترین جهش ها

Ryzen 4000 Mobile
با معماری Zen 2
تغییر بزرگی در پردازنده های لپ تاپی AMD ایجاد کرد.

نمونه مهم:

Ryzen 5 4500U
→
6 Cores / 6 Threads

و:

Ryzen 5 4600U
→
6 Cores / 12 Threads

Ryzen 5 3500U در برابر Ryzen 5 4500U

ویژگی Ryzen 5 3500U Ryzen 5 4500U
معماری Zen+ Zen 2
Core 4 6
Thread 8 6
نسل معماری قدیمی تر جدیدتر
جمع بندی مناسب کاربری سبک با قیمت مناسب جهش مهم در توان CPU نسبت به نسل قبل

Engineering Insight — چرا 6 Core / 6 Thread می تواند از 4 Core / 8 Thread سریع تر باشد؟

Thread بیشتر به تنهایی
به معنی Performance بیشتر نیست.

Ryzen 5 4500U
علاوه بر داشتن Core فیزیکی بیشتر،
از معماری جدیدتر Zen 2 استفاده می کند.

بنابراین برای مقایسه:

Physical Cores
+
Architecture
+
IPC
+
Clock
+
Threads

باید همزمان بررسی شوند.

Ryzen 5 4500U در برابر Ryzen 5 4600U

ویژگی 4500U 4600U
معماری Zen 2 Zen 2
Core 6 6
Thread 6 12
SMT خیر بله
مزیت مهم 4600U — توان چند رشته ای بیشتر در Workloadهای مناسب

Ryzen 5000 Mobile؛ نسلی که باید با دقت بیشتری خوانده شود

Ryzen 5000 Mobile
مثال بسیار خوبی برای اثبات این قانون است:

Same Series
≠
Same Architecture

زیرا در این خانواده
هم مدل های Zen 2
و هم مدل های Zen 3 وجود دارند.

Ryzen 5 5500U در برابر Ryzen 5 5600U

ویژگی Ryzen 5 5500U Ryzen 5 5600U
معماری Zen 2 Zen 3
Core 6 6
Thread 12 12
گرافیک مجتمع Vega Vega
تفاوت بنیادی معماری قدیمی تر معماری Zen 3

Performance Impact — چرا 5600U با وجود Core / Thread یکسان مهم است؟

اگر فقط:

6 Cores / 12 Threads

را ببینیم،
ممکن است 5500U و 5600U
تقریباً یکسان به نظر برسند.

اما Zen 3
تغییرات معماری مهمی
در مسیر اجرای دستور،
IPC
و سازمان دهی Cache
نسبت به Zen 2 دارد.

در نتیجه،
تعداد Core و Thread مشابه
به معنی Performance مشابه نیست.

Ryzen 7 5700U در برابر Ryzen 7 5800U

ویژگی Ryzen 7 5700U Ryzen 7 5800U
معماری Zen 2 Zen 3
Core 8 8
Thread 16 16
گرافیک مجتمع Vega Vega
نکته اصلی Core Count بالا با Zen 2 Core Count مشابه با Zen 3 جدیدتر

Common Mistake — تمام Ryzen 5000ها Zen 3 هستند

خیر.

برای نمونه:

5500U
→
Zen 2

5600U
→
Zen 3

5700U
→
Zen 2

5800U
→
Zen 3

بنابراین هنگام خرید لپ تاپ استوک
باید مدل کامل CPU نوشته شود.

Ryzen 6000 Mobile؛ Zen 3+ و تغییر مهم گرافیک مجتمع

Ryzen 6000 Mobile
یکی از خانواده های مهم AMD برای لپ تاپ است.

در این خانواده،
Zen 3+
با تغییرات مهم پلتفرمی همراه شد.

یکی از مهم ترین آنها:

Radeon 600M
+
RDNA 2

در بخش گرافیک مجتمع بود.

مدل معماری Core / Thread iGPU
Ryzen 5 6600U Zen 3+ 6 / 12 Radeon 660M
Ryzen 7 6800U Zen 3+ 8 / 16 Radeon 680M

Radeon 660M و Radeon 680M چیستند؟

این نام ها به GPUهای مجتمع
در برخی پردازنده های Ryzen 6000 Mobile
اشاره دارند.

Radeon 680M
در کلاس بالاتری نسبت به 660M قرار دارد
و منابع گرافیکی بیشتری در اختیار دارد.

اما Performance واقعی iGPU
به Memory Bandwidth
و تنظیمات توان لپ تاپ نیز وابسته است.


Memory Bandwidth چیست؟

Memory Bandwidth
یا «پهنای باند حافظه»
میزان داده ای است که
در یک بازه زمانی
می تواند میان حافظه و پردازنده
منتقل شود.

این موضوع برای iGPU اهمیت زیادی دارد،
زیرا گرافیک مجتمع معمولاً
از حافظه اصلی سیستم استفاده می کند.


Shared Memory چیست؟

Shared Memory
یا «حافظه اشتراکی»
در این Context
یعنی گرافیک مجتمع
بخشی از RAM اصلی سیستم را
برای پردازش گرافیکی استفاده می کند.

به همین دلیل
نوع RAM،
پهنای باند
و پیکربندی حافظه
می توانند روی Performance گرافیک مجتمع اثر بگذارند.

Ryzen 5000 در برابر Ryzen 6000؛ آیا ارتقا مهم است؟

پاسخ به مدل دقیق بستگی دارد،
اما Ryzen 6000 Mobile
فقط یک تغییر شماره نیست.

در مدل های مربوطه،
ترکیب:

Zen 3+
+
DDR5 / LPDDR5
+
RDNA 2 iGPU

باعث می شود این خانواده
مخصوصاً برای لپ تاپ های بدون GPU مجزا
جذاب باشد.

Ryzen 5 5600U در برابر Ryzen 5 6600U

ویژگی 5600U 6600U
معماری CPU Zen 3 Zen 3+
Core / Thread 6 / 12 6 / 12
iGPU Vega Radeon 660M / RDNA 2
Memory Platform نسل قدیمی تر DDR5 / LPDDR5 در پلتفرم مربوطه
تغییر مهم CPU قدرتمند Zen 3 پلتفرم موبایلی جدیدتر و iGPU مدرن تر

Ryzen 7 5800U در برابر Ryzen 7 6800U

ویژگی 5800U 6800U
معماری Zen 3 Zen 3+
Core / Thread 8 / 16 8 / 16
iGPU Vega Radeon 680M / RDNA 2
تفاوت مهم CPU قوی نسل قبل پلتفرم و گرافیک مجتمع جدیدتر

Performance Impact — چرا Ryzen 6000 برای لپ تاپ بدون GPU مجزا مهم است؟

در مقایسه برخی مدل های Ryzen 5000 و 6000،
ممکن است اختلاف تعداد Core
اصلاً وجود نداشته باشد.

اما تغییر معماری گرافیک مجتمع
از Vega به RDNA 2
می تواند برای کاربرانی که
کارت گرافیک مجزا ندارند
بسیار مهم باشد.

بنابراین:

CPU Upgrade
≠
Only CPU Core Upgrade

گاهی بخش مهم ارتقا
در iGPU یا پلتفرم حافظه اتفاق افتاده است.

Ryzen 7000 Mobile؛ عدد 7 را فراموش کنید و مدل کامل را بخوانید

این خانواده یکی از مهم ترین مثال ها
برای ضرورت شناخت نام گذاری AMD است.

در Ryzen 7000 Mobile
ممکن است با مدل هایی مبتنی بر:

  • Zen 2
  • Zen 3
  • Zen 3+
  • Zen 4

روبه رو شویم.

خانواده معماری نمونه
7020 Zen 2 Ryzen 5 7520U
7030 Zen 3 Ryzen 5 7530U / Ryzen 7 7730U
7035 Zen 3+ Ryzen 7 7735U
7040 Zen 4 Ryzen 7 7840U
7045 Zen 4 مدل های HX مربوطه

Ryzen 5 7520U؛ مثال عالی برای خطر قضاوت از روی نام

در نگاه اول:

Ryzen 5 7520U

ممکن است بسیار جدیدتر از:

Ryzen 5 6600U

به نظر برسد.

اما 7520U
از معماری Zen 2 استفاده می کند،
در حالی که 6600U
مبتنی بر Zen 3+ است.

همچنین 7520U
چهار Core و هشت Thread دارد،
در حالی که 6600U
شش Core و دوازده Thread دارد.

ویژگی Ryzen 5 7520U Ryzen 5 6600U
سری اسمی 7000 6000
معماری Zen 2 Zen 3+
Core / Thread 4 / 8 6 / 12
iGPU Radeon 610M Radeon 660M
نتیجه آموزشی عدد 7000 به تنهایی دلیل بر برتری نسبت به 6000 نیست.

Ryzen 5 7530U؛ عدد جدید، معماری Zen 3

Ryzen 5 7530U
دارای:

6 Cores
/
12 Threads
/
Zen 3

است.

بنابراین از نظر معماری CPU
باید آن را در Context خانواده Zen 3 بررسی کنیم،
نه اینکه صرفاً به دلیل عدد 7
آن را یک CPU کاملاً جدید بدانیم.

Ryzen 7 7730U؛ هشت هسته اما همچنان Zen 3

Ryzen 7 7730U
دارای:

8 Cores
/
16 Threads
/
Zen 3

است.

این CPU می تواند Performance مناسبی ارائه کند،
اما نام 7730U
نباید باعث شود آن را
با مدل Zen 4 مانند 7840U
هم نسل معماری تصور کنیم.

Ryzen 7 7840U؛ ورود واقعی Zen 4 در این مقایسه

Ryzen 7 7840U
از معماری:

Zen 4

استفاده می کند
و دارای:

8 Cores / 16 Threads

است.

یکی از نقاط مهم آن
گرافیک مجتمع:

Radeon 780M

مبتنی بر معماری RDNA 3 است.


RDNA 3 چیست؟

RDNA 3
نسل جدیدتری از معماری گرافیکی AMD
پس از RDNA 2 است.

در برخی APUهای موبایلی،
این معماری برای گرافیک مجتمع
مورد استفاده قرار گرفته است.

Ryzen 7 7730U در برابر Ryzen 7 7840U

ویژگی 7730U 7840U
خانواده اسمی Ryzen 7000 Ryzen 7000
معماری CPU Zen 3 Zen 4
Core / Thread 8 / 16 8 / 16
iGPU Vega Radeon 780M / RDNA 3
پلتفرم ریشه در نسل قدیمی تر پلتفرم جدیدتر
نتیجه دو Ryzen 7 از سری 7000 می توانند از نظر معماری و گرافیک مجتمع بسیار متفاوت باشند.

Performance Impact — مهم ترین درس Ryzen 7000 Mobile

اگر فروشنده فقط بنویسد:

«Ryzen 7 سری 7000»

هنوز اطلاعات کافی نداریم.

ممکن است CPU:

7730U

باشد،
یا:

7840U

در حالی که این دو
معماری CPU
و iGPU متفاوتی دارند.

بنابراین در مشخصات لپ تاپ استوک
همیشه مدل کامل CPU را بخواهید.

Ryzen 8000 Mobile؛ چرا دوباره باید مدل دقیق را بررسی کنیم؟

Ryzen 8000 Mobile
در خانواده شاخص Hawk Point
ادامه مسیر Zen 4
و گرافیک مجتمع RDNA 3 است.

یکی از تغییرات مهم
در برخی مدل های این خانواده
تاکید بیشتر بر پردازش های AI
و استفاده از NPU است.


Hawk Point چیست؟

Hawk Point
نام رمز خانواده ای از
پردازنده های موبایلی AMD است
که در بخش مهمی از Ryzen 8000 Mobile
استفاده شده است.

نام رمز یا:

Codename

نام داخلی یک پروژه یا خانواده تراشه است
و با نام تجاری نهایی محصول تفاوت دارد.

NPU چیست؟


NPU

NPU
مخفف:

Neural Processing Unit

است.

ترجمه مفهومی:
واحد پردازش عصبی.

NPU سخت افزاری تخصصی
برای اجرای برخی عملیات مرتبط با
Machine Learning
و Artificial Intelligence است.


Machine Learning چیست؟

Machine Learning
یا «یادگیری ماشین»
شاخه ای از هوش مصنوعی است
که در آن مدل های محاسباتی
از داده ها برای تشخیص الگو
و انجام وظایف استفاده می کنند.


Artificial Intelligence چیست؟

Artificial Intelligence
یا:

هوش مصنوعی

اصطلاحی گسترده برای فناوری هایی است
که سیستم های کامپیوتری را قادر می سازند
وظایفی مانند تشخیص الگو،
پردازش زبان،
تحلیل تصویر
یا تصمیم گیری محاسباتی را انجام دهند.

Ryzen 7 7840U در برابر Ryzen 7 8840U

ویژگی 7840U 8840U
معماری CPU Zen 4 Zen 4
Core / Thread 8 / 16 8 / 16
iGPU Radeon 780M Radeon 780M
معماری GPU RDNA 3 RDNA 3
تمرکز نسل جدیدتر پلتفرم Phoenix Hawk Point و AI Engine بهبود یافته


Phoenix چیست؟

Phoenix
نام رمز خانواده ای از
پردازنده های موبایلی AMD است
که ترکیبی از:

Zen 4 CPU
+
RDNA 3 GPU
+
Ryzen AI

را در مدل های مربوطه ارائه می کند.

Engineering Insight — 8840U الزاماً یک جهش بزرگ CPU نسبت به 7840U نیست

یکی از مهم ترین درس های این فصل
همین مقایسه است.

هر دو CPU
از Zen 4 استفاده می کنند
و تعداد Core و Thread مشابهی دارند.

بنابراین رفتن از:

7840U
→
8840U

را نباید مانند:

Zen 3
→
Zen 4

یک جهش کامل معماری CPU تصور کرد.

چند مسیر واقعی برای مقایسه نسل قبل و بعد

برای Ryzen 5 می توان این مسیر آموزشی را بررسی کرد:

3500U
→
4500U / 4600U
→
5500U / 5600U
→
6600U
→
7530U / 7640U
→
8640U

برای Ryzen 7:

3700U
→
4700U / 4800U
→
5700U / 5800U
→
6800U
→
7730U / 7840U
→
8840U

اما این فلش ها
به معنی جانشینی معماری مستقیم
میان تمام مدل ها نیستند.

هدف آنها نشان دادن مدل هایی است
که خریدار ممکن است
هنگام مقایسه لپ تاپ های چند دوره مختلف
در بازار مشاهده کند.

جدول مقایسه مدل های مهم Ryzen Mobile

CPU Architecture Core / Thread iGPU Family نکته مهم
3500U Zen+ 4 / 8 Vega مدل قدیمی تر و اقتصادی
4500U Zen 2 6 / 6 Vega افزایش Core نسبت به 3500U
4600U Zen 2 6 / 12 Vega SMT و Multi-Thread قوی تر
5500U Zen 2 6 / 12 Vega 5000 اما همچنان Zen 2
5600U Zen 3 6 / 12 Vega معماری جدیدتر از 5500U
5700U Zen 2 8 / 16 Vega هشت Core اما Zen 2
5800U Zen 3 8 / 16 Vega Zen 3 با هشت Core
6600U Zen 3+ 6 / 12 Radeon 660M RDNA 2 iGPU
6800U Zen 3+ 8 / 16 Radeon 680M iGPU قدرتمندتر
7520U Zen 2 4 / 8 Radeon 610M 7000 اما معماری قدیمی تر
7530U Zen 3 6 / 12 Vega Zen 3 در خانواده 7000
7730U Zen 3 8 / 16 Vega هشت Core Zen 3
7840U Zen 4 8 / 16 Radeon 780M Zen 4 + RDNA 3
8840U Zen 4 8 / 16 Radeon 780M ادامه Zen 4 با تمرکز بیشتر بر AI

روش عملی مقایسه دو لپ تاپ Ryzen

01
مدل کامل CPU را پیدا کنیدRyzen 5 یا Ryzen 7 به تنهایی کافی نیست.
02
معماری Zen را مشخص کنیدشماره سری را با معماری اشتباه نگیرید.
03
Core و Thread را مقایسه کنیدمخصوصاً برای Workloadهای Multi-Thread.
04
پسوند را بررسی کنیدU را با H یا HX فقط بر اساس شماره مدل مقایسه نکنید.
05
iGPU را بررسی کنیدVega، RDNA 2 و RDNA 3 می توانند تفاوت مهمی ایجاد کنند.
06
RAM را بررسی کنیدظرفیت، نوع و پهنای باند حافظه مخصوصاً برای iGPU مهم هستند.
07
Cooling را بررسی کنیدCPU مشابه در دو لپ تاپ می تواند Performance متفاوتی داشته باشد.
08
نسل قبل را مقایسه کنیدممکن است با قیمت کمتر ارزش خرید بالاتری داشته باشد.
09
نسل بعد را مقایسه کنیدگاهی اختلاف قیمت کم، یک جهش معماری مهم می خرد.
10
قیمت کل لپ تاپ را وارد تصمیم کنیدCPU را جدا از قیمت و کیفیت کل دستگاه انتخاب نکنید.

چند تصمیم نمونه برای بازار لپ تاپ استوک

3500U یا 4500U؟

اگر اختلاف قیمت منطقی باشد،
4500U به دلیل Zen 2
و شش Core فیزیکی
ارتقای مهمی نسبت به 3500U محسوب می شود.

5500U یا 5600U؟

هر دو 6 Core و 12 Thread دارند،
اما 5600U از Zen 3 استفاده می کند.
بنابراین مدل کامل CPU اهمیت دارد.

5700U یا 5800U؟

هر دو 8 Core و 16 Thread دارند،
اما 5800U مبتنی بر Zen 3 است
و باید مزیت معماری آن
در کنار اختلاف قیمت بررسی شود.

5800U یا 6800U؟

اگر گرافیک مجتمع اهمیت داشته باشد،
6800U به دلیل Radeon 680M مبتنی بر RDNA 2
می تواند ارتقای بسیار مهم تری باشد.

6600U یا 7520U؟

صرفاً به دلیل عدد 7000
سراغ 7520U نروید.
6600U دارای Zen 3+،
Core بیشتر
و گرافیک مجتمع قوی تری است.

7730U یا 7840U؟

این مقایسه فقط میان دو Ryzen 7 نیست.
Zen 3 در برابر Zen 4
و Vega در برابر Radeon 780M مبتنی بر RDNA 3
قرار دارد.

7840U یا 8840U؟

هر دو از Zen 4
و Radeon 780M استفاده می کنند.
بنابراین صرف عدد 8000
نباید باعث شود اختلاف Performance CPU
را بسیار بزرگ تصور کنیم.

Common Mistakes — اشتباهات رایج هنگام خرید Ryzen Mobile
  • انتخاب CPU فقط بر اساس Ryzen 5 یا Ryzen 7.
  • فرض اینکه شماره سری بزرگ تر همیشه سریع تر است.
  • فرض اینکه تمام Ryzen 5000ها Zen 3 هستند.
  • فرض اینکه تمام Ryzen 7000ها Zen 4 هستند.
  • نادیده گرفتن مدل کامل CPU.
  • نادیده گرفتن پسوند U، H، HS یا HX.
  • قضاوت فقط بر اساس تعداد Core.
  • قضاوت فقط بر اساس Thread.
  • نادیده گرفتن معماری Zen.
  • نادیده گرفتن iGPU.
  • نادیده گرفتن Memory Bandwidth.
  • فرض اینکه تمام Vegaها Performance یکسان دارند.
  • فرض اینکه Radeon 610M به دلیل جدیدتر بودن نام از 660M قوی تر است.
  • فرض اینکه 8840U یک نسل معماری کامل جلوتر از 7840U است.
  • نادیده گرفتن Cooling لپ تاپ.
  • نادیده گرفتن اختلاف قیمت نسل قبل و بعد.

سوالات متداول درباره نسل های Ryzen Mobile

Ryzen 3000 Mobile هنوز ارزش خرید دارد؟

در کاربری های سبک و با قیمت مناسب
می تواند قابل استفاده باشد،
اما مدل های Ryzen 4000 و جدیدتر
در بسیاری از موارد پیشرفت مهمی ارائه می کنند.

3500U بهتر است یا 4500U؟

4500U از معماری Zen 2
و شش Core فیزیکی استفاده می کند
و در بسیاری از پردازش ها
ارتقای مهمی نسبت به 3500U است.

4500U بهتر است یا 4600U؟

هر دو شش Core دارند،
اما 4600U از SMT بهره می برد
و 12 Thread ارائه می کند؛
بنابراین در پردازش های چند رشته ای مناسب
می تواند مزیت داشته باشد.

5500U و 5600U چه تفاوتی دارند؟

هر دو 6 Core و 12 Thread دارند،
اما 5500U مبتنی بر Zen 2
و 5600U مبتنی بر Zen 3 است.

5700U بهتر است یا 5800U؟

هر دو 8 Core و 16 Thread دارند،
اما 5800U از معماری Zen 3
در برابر Zen 2 در 5700U استفاده می کند.

Ryzen 6000 چه مزیت مهمی نسبت به 5000 دارد؟

در مدل های مربوطه،
Zen 3+،
پلتفرم حافظه جدیدتر
و گرافیک مجتمع RDNA 2
از مهم ترین تغییرات هستند.

6800U چرا برای لپ تاپ بدون کارت گرافیک مجزا جذاب است؟

یکی از دلایل مهم
Radeon 680M مبتنی بر RDNA 2 است
که گرافیک مجتمع قدرتمندی برای کلاس خود محسوب می شود.

آیا تمام Ryzen 7000ها Zen 4 هستند؟

خیر.
Ryzen 7000 Mobile
شامل چند معماری مختلف است
و باید مدل کامل پردازنده بررسی شود.

7520U بهتر است یا 6600U؟

عدد سری به تنهایی معیار مناسبی نیست.
6600U از Zen 3+،
شش Core و Radeon 660M استفاده می کند،
در حالی که 7520U مبتنی بر Zen 2
و چهار Core است.

7530U چه معماری دارد؟

Ryzen 5 7530U
مبتنی بر Zen 3 است.

7730U چه معماری دارد؟

Ryzen 7 7730U
نیز مبتنی بر Zen 3 است
و 8 Core و 16 Thread دارد.

7840U چه معماری دارد؟

Ryzen 7 7840U
از Zen 4 استفاده می کند
و دارای Radeon 780M
مبتنی بر RDNA 3 است.

7840U و 8840U تفاوت معماری CPU دارند؟

هر دو از Zen 4 استفاده می کنند.
بنابراین افزایش شماره سری
به معنی تغییر کامل معماری CPU نیست.

NPU چیست؟

NPU یا Neural Processing Unit
واحد سخت افزاری تخصصی
برای اجرای برخی پردازش های
هوش مصنوعی و یادگیری ماشین است.

برای خرید لپ تاپ Ryzen مهم ترین مشخصه چیست؟

یک مشخصه به تنهایی کافی نیست.
مدل کامل CPU،
معماری،
Core و Thread،
پسوند،
iGPU،
RAM،
Cooling
و قیمت دستگاه
باید همزمان بررسی شوند.

اصطلاحات جدید این فصل

  • Vega: خانواده ای از معماری های گرافیکی AMD که در چند نسل از گرافیک های مجتمع Ryzen استفاده شده است.
  • Radeon 600M: خانواده ای از گرافیک های مجتمع AMD در محصولات مربوطه.
  • Radeon 660M: گرافیک مجتمع RDNA 2 در برخی Ryzen 6000 Mobile.
  • Radeon 680M: گرافیک مجتمع قدرتمندتر RDNA 2 در برخی Ryzen 6000 Mobile.
  • Radeon 780M: گرافیک مجتمع مبتنی بر RDNA 3 در برخی APUهای جدیدتر AMD.
  • Memory Bandwidth: پهنای باند انتقال داده حافظه.
  • Shared Memory: استفاده گرافیک مجتمع از RAM اصلی سیستم.
  • RDNA 3: نسل جدیدتر معماری گرافیکی AMD پس از RDNA 2.
  • Codename: نام رمز داخلی یک تراشه یا خانواده محصول.
  • Phoenix: نام رمز خانواده ای از APUهای موبایلی AMD.
  • Hawk Point: نام رمز خانواده ای از پردازنده های Ryzen 8000 Mobile.
  • NPU: واحد پردازش عصبی برای برخی محاسبات AI.
  • Machine Learning: یادگیری ماشین.
  • Artificial Intelligence: هوش مصنوعی.

خلاصه فصل

اگر بخواهیم کل این فصل را
در یک قانون خلاصه کنیم:


در پردازنده های AMD Ryzen Mobile،
هرگز از روی عدد بزرگ تر
درباره جدیدتر بودن معماری یا سریع تر بودن CPU
نتیجه گیری نکنید.

نمونه های مهم:

5500U
→
Zen 2

5600U
→
Zen 3

6600U
→
Zen 3+

7520U
→
Zen 2

7530U
→
Zen 3

7840U
→
Zen 4

8840U
→
Zen 4

پس مسیر صحیح تحلیل چنین است:

Exact CPU Model
→
Zen Architecture
→
Core / Thread
→
Suffix
→
iGPU
→
Memory
→
Cooling
→
Real Performance
→
Price

این روش مخصوصاً در بازار لپ تاپ استوک
جلوی یکی از بزرگ ترین اشتباهات خرید را می گیرد:


پرداخت پول بیشتر فقط به دلیل بزرگ تر بودن شماره پردازنده.


فصل 54
سطح: متوسط / کاربردی
موضوع: AMD Ryzen Mobile Suffixes
تمرکز: U / HS / H / HX

حرف آخر نام پردازنده را دست کم نگیرید

راهنمای کامل پسوندهای AMD Ryzen؛ تفاوت U، HS، H و HX در لپ تاپ چیست؟

هنگام بررسی پردازنده های Ryzen لپ تاپ،
فقط Ryzen 5 یا Ryzen 7 بودن و حتی شماره مدل کامل کافی نیست.
حروفی که در انتهای نام پردازنده قرار می گیرند
اطلاعات مهمی درباره کلاس طراحی آن پردازنده می دهند.

برای مثال:

Ryzen 7 6800U
/
Ryzen 7 6800HS
/
Ryzen 7 6800H

هر سه نام بسیار شبیه هستند،
اما برای یک نوع لپ تاپ و یک هدف کاملاً یکسان طراحی نشده اند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Suffix یا پسوند پردازنده چیست.
  • پسوند U چه مفهومی دارد.
  • پسوند HS برای چه نوع لپ تاپ هایی استفاده می شود.
  • پسوند H چه جایگاهی دارد.
  • پسوند HX چه مفهومی دارد.
  • تفاوت کلاس توان با مصرف واقعی CPU چیست.
  • TDP چیست و چرا نباید آن را ساده تفسیر کرد.
  • Processor Power Limit چیست.
  • Performance Sustained چیست.
  • چرا سیستم خنک کننده روی نتیجه Benchmark اثر دارد.
  • تفاوت Burst Performance و Sustained Performance چیست.
  • چگونه پسوندهای یک نسل را با یکدیگر مقایسه کنیم.
  • چگونه نسل قبل و بعد هر کلاس را بررسی کنیم.
  • کدام پسوند برای کار اداری، مهندسی، رندرینگ و استفاده روزمره مناسب تر است.

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


Suffix

Suffix
در زبان فارسی به معنی «پسوند» است.

در نام پردازنده،
پسوند حرف یا مجموعه حروفی است
که معمولاً در انتهای شماره مدل قرار می گیرد.

برای مثال در:

Ryzen 7 6800U

حرف:

U

پسوند پردازنده است.

مقایسه کلی U، HS، H و HX

پسوند تمرکز کلی نوع لپ تاپ رایج توان پردازشی پایدار مصرف و گرما
U Efficiency و مصرف کمتر باریک، اداری، قابل حمل متناسب با کلاس کم مصرف معمولاً کمتر
HS Performance بالا با توجه بیشتر به Efficiency Performance Thin-and-Light بالاتر از بسیاری از مدل های U متوسط تا بالا
H High Performance گیمینگ، ورک استیشن و لپ تاپ قدرتمند بالا بالاتر
HX Maximum Mobile Performance Desktop Replacement و لپ تاپ های بسیار قدرتمند بسیار بالا در طراحی مناسب معمولاً بالا


Efficiency چیست؟

Efficiency
یا «بهره وری»
در این Context
به رابطه میان Performance
و انرژی مصرف شده اشاره دارد.

یک پردازنده Efficient
می تواند با مصرف انرژی کمتر
مقدار مناسبی از Performance ارائه کند.

این ویژگی در لپ تاپ
روی مواردی مانند:

  • Battery Life
  • Heat
  • Fan Noise
  • ابعاد سیستم خنک کننده

اثر می گذارد.


Battery Life چیست؟

Battery Life
یا «شارژدهی باتری»
مدت زمانی است که دستگاه
می تواند با انرژی ذخیره شده در باتری
کار کند.

ظرفیت باتری،
CPU،
نمایشگر،
GPU،
تنظیمات توان
و نوع Workload
همگی روی شارژدهی اثر دارند.

پسوند U؛ تمرکز بر لپ تاپ های کم مصرف و قابل حمل

پردازنده های دارای پسوند U
معمولاً برای لپ تاپ هایی طراحی می شوند
که تعادل میان:

Performance
+
Efficiency
+
Battery Life
+
Portability

اهمیت زیادی دارد.

نمونه ها:

Ryzen 5 4500U

Ryzen 5 5600U

Ryzen 7 5800U

Ryzen 7 6800U

Ryzen 7 7840U


Portability چیست؟

Portability
یعنی «قابلیت حمل».

در لپ تاپ،
این مفهوم معمولاً با:

  • وزن کمتر
  • ضخامت کمتر
  • شارژدهی مناسب
  • آداپتور کوچک تر

ارتباط دارد.

Common Mistake — پسوند U یعنی CPU ضعیف

خیر.

U بیشتر درباره کلاس طراحی
و تمرکز پردازنده صحبت می کند،
نه اینکه پردازنده الزاماً ضعیف باشد.

یک پردازنده U جدید
می تواند از یک پردازنده H
متعلق به چند نسل قبل
در بعضی Workloadها سریع تر باشد.

بنابراین:

U
≠
Weak CPU

پسوند HS؛ Performance بالا در بدنه جمع و جورتر

HS در خانواده های مربوطه AMD
برای پردازنده های Performance محور
با توجه بیشتر به محدودیت های توان
و طراحی لپ تاپ های باریک تر استفاده شده است.

این کلاس را می توان
در بسیاری از محصولات
میان U و کلاس های پرمصرف تر H
در نظر گرفت،
اما مشخصات دقیق هر نسل باید جداگانه بررسی شود.

نمونه:

Ryzen 7 6800HS


Thin-and-Light چیست؟

Thin-and-Light
اصطلاحی برای لپ تاپ های:

باریک و سبک

است.

البته Thin-and-Light
یک استاندارد واحد سخت افزاری نیست
و شرکت های مختلف
طراحی های متفاوتی دارند.

پسوند H؛ برای Performance بالاتر

پردازنده های H
معمولاً در لپ تاپ هایی استفاده می شوند
که Performance پردازشی
نسبت به مصرف پایین انرژی
اولویت بیشتری دارد.

نمونه:

Ryzen 7 5800H

Ryzen 7 6800H

این پردازنده ها در لپ تاپ های:

  • Gaming
  • Engineering
  • Content Creation
  • Mobile Workstation

بیشتر دیده می شوند.


Content Creation چیست؟

Content Creation
یا «تولید محتوا»
در Context سخت افزار
می تواند شامل کارهایی مانند:

  • تدوین ویدئو
  • ویرایش تصویر
  • ساخت انیمیشن
  • رندرینگ
  • تولید محتوای صوتی

باشد.


Mobile Workstation چیست؟

Mobile Workstation
یا «ورک استیشن موبایل»
لپ تاپی حرفه ای است
که برای Workloadهای سنگین تر
مهندسی، طراحی، محاسبات،
تولید محتوا یا کاربردهای تخصصی ساخته می شود.

پسوند HX؛ وقتی Performance اولویت اصلی است

HX در خانواده های جدید AMD
معمولاً در بالاترین کلاس
پردازنده های لپ تاپی Performance محور قرار می گیرد.

این پردازنده ها
در دستگاه هایی دیده می شوند
که سیستم خنک کننده بزرگ تر،
توان مصرفی بالاتر
و تمرکز بیشتری بر Performance دارند.

نمونه:

Ryzen 9 7945HX


Desktop Replacement چیست؟

Desktop Replacement
یعنی:

لپ تاپی که با هدف جایگزینی سیستم دسکتاپ طراحی شده است.

این دستگاه ها معمولاً:

  • سنگین تر هستند.
  • سیستم خنک کننده قوی تری دارند.
  • مصرف انرژی بیشتری دارند.
  • Performance بالاتری ارائه می کنند.
  • شارژدهی باتری اولویت اصلی آنها نیست.

TDP چیست؟


TDP

TDP
مخفف:

Thermal Design Power

است.

ترجمه مفهومی آن:

توان طراحی حرارتی

است.

این شاخص برای توصیف
الزامات حرارتی و طراحی سیستم
استفاده می شود،
اما نباید آن را مستقیماً
با مصرف لحظه ای برق CPU
یکسان دانست.

Common Mistake — TDP همان مصرف برق دقیق CPU است

این برداشت دقیق نیست.

CPU می تواند بسته به:

  • Workload
  • Boost
  • Power Limit
  • Temperature
  • Firmware
  • تنظیمات سازنده لپ تاپ

رفتار مصرف انرژی متفاوتی داشته باشد.


Firmware چیست؟

Firmware
یا «سفت افزار»
نرم افزار سطح پایینی است
که در سخت افزار دستگاه قرار دارد
و بخشی از نحوه کنترل و راه اندازی
قطعات را مدیریت می کند.

BIOS و UEFI
نمونه هایی از محیط های مرتبط
با Firmware سیستم هستند.

Power Limit چیست؟


Power Limit

Power Limit
یا «محدودیت توان»
مشخص می کند پردازنده
تحت شرایط مشخص
تا چه سطحی اجازه استفاده از توان
برای حفظ Performance را دارد.

در لپ تاپ،
سازنده دستگاه می تواند
رفتار پردازنده را
متناسب با طراحی حرارتی،
باتری
و هدف دستگاه تنظیم کند.

Under the Hood — چرا یک CPU یکسان در دو لپ تاپ سرعت یکسانی ندارد؟

تصور کنید دو لپ تاپ
هر دو دارای:

Ryzen 7 6800H

باشند.

این موضوع تضمین نمی کند
Performance طولانی مدت آنها یکسان باشد.

عوامل مهم عبارتند از:

  • Power Limit
  • Cooling Capacity
  • Fan Profile
  • Temperature Limit
  • BIOS / Firmware
  • RAM Configuration
  • دمای محیط

بنابراین:

Same CPU
≠
Same Laptop Performance


Cooling Capacity چیست؟

Cooling Capacity
یا «ظرفیت خنک کنندگی»
توان سیستم خنک کننده
برای دفع حرارت تولید شده توسط قطعات است.

Heatpipe،
Vapor Chamber،
فن،
هیت سینک
و طراحی مسیر هوا
می توانند روی آن اثر بگذارند.


Heatpipe چیست؟

Heatpipe
یا «لوله انتقال حرارت»
قطعه ای برای انتقال گرما
از CPU یا GPU
به سمت هیت سینک است.


Vapor Chamber چیست؟

Vapor Chamber
یا «محفظه بخار»
نوعی سیستم انتقال حرارت
برای پخش کردن گرما
روی سطح بزرگ تر است.


Fan Profile چیست؟

Fan Profile
یا «پروفایل فن»
الگویی است که مشخص می کند
فن در دماها و شرایط مختلف
با چه سرعتی کار کند.

Burst Performance و Sustained Performance چیست؟

اصطلاح معنی فارسی مفهوم
Burst Performance کارایی کوتاه مدت Performance بالایی که سیستم
برای مدت کوتاهی می تواند ارائه کند.
Sustained Performance کارایی پایدار Performance قابل حفظ
در پردازش طولانی مدت.

Engineering Insight — برای رندرینگ کدام Performance مهم تر است؟

فرض کنید یک Benchmark
فقط چند ثانیه طول بکشد.

لپ تاپ ممکن است
در این مدت کوتاه
Clock بالایی حفظ کند.

اما یک Render
ممکن است:

10 Minutes
/
30 Minutes
/
1 Hour

یا بیشتر طول بکشد.

در این شرایط:

Sustained Performance

اهمیت بیشتری پیدا می کند.

به همین دلیل برای Workstation
فقط نتیجه یک تست کوتاه
معیار کافی نیست.

Thermal Throttling چیست؟


Thermal Throttling

Thermal Throttling
یا «کاهش عملکرد ناشی از محدودیت حرارتی»
زمانی رخ می دهد که
سیستم برای کنترل دما
Performance یا فرکانس قطعه را کاهش دهد.

این مکانیزم
بخشی از مدیریت حرارتی دستگاه است.

Performance در طول زمان چگونه تغییر می کند؟

به صورت مفهومی ممکن است رفتار یک لپ تاپ چنین باشد:

Start Workload
↓
High Boost
↓
Temperature Rises
↓
Power / Thermal Limits
↓
Stable Clock
↓
Sustained Performance

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

مقایسه یک نسل واقعی؛ 6800U، 6800HS و 6800H

CPU Core / Thread Architecture کلاس هدف کلی
Ryzen 7 6800U 8 / 16 Zen 3+ U Efficiency و قابلیت حمل
Ryzen 7 6800HS 8 / 16 Zen 3+ HS Performance بالا در طراحی جمع و جورتر
Ryzen 7 6800H 8 / 16 Zen 3+ H Performance محور

Performance Impact — سه CPU با 8 Core / 16 Thread، اما سه هدف متفاوت

در مثال خانواده 6800،
تعداد Core و Thread
و معماری CPU مشابه است.

اما کلاس توان و دستگاه هدف
متفاوت است.

در یک Workload کوتاه
فاصله ممکن است محدود باشد،
اما در پردازش طولانی:

Cooling
+
Power Budget
+
Sustained Clock

اهمیت بیشتری پیدا می کنند.


Power Budget چیست؟

Power Budget
یا «بودجه توان»
مقدار توانی است
که طراحی سیستم می تواند
در شرایط مشخص
به یک قطعه یا مجموعه ای از قطعات اختصاص دهد.

مقایسه U با نسل قبل و بعد

برای درک کلاس U
بهتر است یک مسیر چند نسلی را ببینیم:

Ryzen 7 5800U
→
Ryzen 7 6800U
→
Ryzen 7 7840U

CPU Architecture Core / Thread iGPU
5800U Zen 3 8 / 16 Vega
6800U Zen 3+ 8 / 16 Radeon 680M / RDNA 2
7840U Zen 4 8 / 16 Radeon 780M / RDNA 3

این مثال نشان می دهد
که حتی وقتی Core / Thread ثابت می ماند،
معماری CPU،
گرافیک مجتمع
و پلتفرم می توانند پیشرفت کنند.

مقایسه H با نسل قبل و بعد

نمونه آموزشی:

Ryzen 7 4800H
→
Ryzen 7 5800H
→
Ryzen 7 6800H

CPU Architecture Core / Thread نکته مهم
4800H Zen 2 8 / 16 جهش مهم Ryzen 4000
5800H Zen 3 8 / 16 پیشرفت معماری با Core Count مشابه
6800H Zen 3+ 8 / 16 پلتفرم جدیدتر و RDNA 2 iGPU

چرا HX را باید نسل به نسل بررسی کنیم؟

پسوند HX
در طول نسل های مختلف AMD
الزاماً به معنی ساختار داخلی یکسان نیست.

برای مثال:

Ryzen 9 6900HX

و:

Ryzen 9 7945HX

هر دو HX هستند،
اما از نظر معماری،
تعداد Core
و طراحی داخلی
تفاوت بزرگی دارند.

ویژگی Ryzen 9 6900HX Ryzen 9 7945HX
Architecture Zen 3+ Zen 4
Core 8 16
Thread 16 32
ماهیت محصول High Performance Mobile Extreme Mobile Performance
نتیجه پسوند یکسان به معنی ساختار یا Performance یکسان میان نسل ها نیست.

U بهتر است یا H؟

پاسخ صحیح:

به نوع استفاده بستگی دارد.

کاربری کلاس مناسب تر به طور معمول دلیل
Office U مصرف مناسب و Performance کافی
دانشجویی U / HS تعادل Performance و قابلیت حمل
برنامه نویسی عمومی U / HS / H بسته به پروژه و نیاز به Compilation
AutoCAD سبک U / HS وابسته به پروژه و GPU
Revit سنگین HS / H Performance پایدار مهم تر می شود
Rendering H / HX Sustained Performance اهمیت بالا دارد
Gaming HS / H / HX وابسته به GPU و طراحی حرارتی
Workstation H / HX توان پردازشی پایدار و Cooling قوی تر

Engineering Insight — برای AutoCAD همیشه HX لازم نیست

بسیاری از کاربران
تصور می کنند نرم افزار مهندسی
الزاماً به قوی ترین کلاس CPU نیاز دارد.

این موضوع به:

  • اندازه پروژه
  • نوع مدل سازی
  • نوع Render
  • GPU
  • RAM
  • نحوه استفاده واقعی

بستگی دارد.

برای بسیاری از پروژه های سبک تا متوسط،
یک CPU مدرن U یا HS
ممکن است کاملاً کافی باشد.

آیا U همیشه شارژدهی بیشتری از H دارد؟

معمولاً کلاس U
برای Efficiency بیشتر طراحی شده است،
اما Battery Life واقعی
فقط توسط CPU تعیین نمی شود.

فرمول مفهومی:

Battery Life
=
Battery Capacity
+
CPU Efficiency
+
Display Efficiency
+
GPU Usage
+
Power Management
+
Workload

بنابراین یک لپ تاپ U
با باتری کوچک
ممکن است شارژدهی کمتری
از یک لپ تاپ دیگر با CPU پرمصرف تر
و باتری بزرگ تر داشته باشد.


Battery Capacity چیست؟

Battery Capacity
یا «ظرفیت باتری»
در لپ تاپ معمولاً با:

Wh

یا Watt-hour
بیان می شود.

Watt-hour
یا «وات ساعت»
واحدی برای بیان مقدار انرژی ذخیره شده است.

Common Mistake — مقایسه مستقیم 5800U و 5800H فقط با Clock

این دو CPU
در کلاس های طراحی متفاوتی قرار دارند.

برای مقایسه صحیح باید:

CPU Architecture
+
Core / Thread
+
Power Class
+
Cooling
+
Laptop Design
+
Workload

بررسی شود.

اهمیت پسوند در خرید لپ تاپ استوک

در بازار لپ تاپ استوک،
پسوند می تواند اطلاعات بسیار مهمی
درباره شخصیت کلی دستگاه بدهد.

برای مثال اگر ببینیم:

Ryzen 7 5800U

احتمالاً با لپ تاپی روبه رو هستیم
که قابلیت حمل و Efficiency
اهمیت بیشتری در طراحی آن داشته است.

اما:

Ryzen 7 5800H

بیشتر ما را به سمت
یک لپ تاپ Performance محور هدایت می کند.

البته این یک نشانه اولیه است
و مشخصات کامل خود لپ تاپ
همچنان باید بررسی شود.

Performance Impact — در لپ تاپ استوک Cooling حتی مهم تر می شود

یک لپ تاپ H یا HX
ممکن است در زمان نو
Performance بسیار خوبی داشته باشد،
اما در دستگاه استوک
وضعیت سیستم خنک کننده نیز باید بررسی شود.

عواملی مانند:

  • گرد و غبار
  • سلامت فن
  • وضعیت خمیر حرارتی
  • مسیر هوای ورودی و خروجی
  • دمای غیرعادی دستگاه

می توانند Performance پایدار
را تحت تاثیر قرار دهند.

بنابراین در لپ تاپ استوک:

Powerful CPU
+
Poor Cooling
=
Lost Performance


Thermal Paste چیست؟

Thermal Paste
یا «خمیر حرارتی»
ماده ای است که
میان سطح تراشه و سیستم انتقال حرارت
قرار می گیرد
تا انتقال گرما بهتر انجام شود.

برای انتخاب پسوند مناسب این مسیر را طی کنید

01
نوع کاربری را مشخص کنیدOffice، Engineering، Gaming، Rendering یا استفاده عمومی؟
02
نیاز به حمل روزانه را بررسی کنیداگر لپ تاپ دائماً حمل می شود،
وزن و Battery Life اهمیت بیشتری پیدا می کند.
03
مدت Workload را بررسی کنیدپردازش چند ثانیه ای با Render یک ساعته متفاوت است.
04
GPU را بررسی کنیدبرای Gaming و Render فقط CPU تعیین کننده نیست.
05
Cooling لپ تاپ را بررسی کنیدمخصوصاً برای H و HX اهمیت زیادی دارد.
06
نسل معماری را مشخص کنیدیک U جدید را صرفاً به دلیل پسوند با H قدیمی ضعیف تر فرض نکنید.
07
نسل قبل را بررسی کنیدشاید اختلاف Performance کم اما اختلاف قیمت زیاد باشد.
08
نسل بعد را بررسی کنیدشاید با هزینه کمی بیشتر، معماری یا iGPU بسیار بهتری دریافت شود.
09
قیمت کل دستگاه را مقایسه کنیدارزش خرید لپ تاپ مهم تر از قوی ترین پسوند است.

سوالات متداول درباره پسوندهای AMD Ryzen

پسوند U در Ryzen یعنی چه؟

U معمولاً به کلاس پردازنده های موبایلی
با تمرکز بیشتر بر Efficiency،
قابلیت حمل و مصرف مناسب اشاره دارد.

پسوند H در Ryzen یعنی چه؟

H معمولاً برای پردازنده های لپ تاپی
Performance محور استفاده می شود
که در دستگاه های قدرتمندتر رایج هستند.

HS چیست؟

HS در خانواده های مربوطه
برای ارائه Performance بالا
با توجه بیشتر به Efficiency
و طراحی لپ تاپ های جمع و جورتر استفاده شده است.

HX چیست؟

HX معمولاً در کلاس بالای
پردازنده های Performance محور موبایلی AMD قرار دارد
و در لپ تاپ های قدرتمندتر دیده می شود.

H همیشه از U سریع تر است؟

خیر.
نسل معماری، مدل دقیق،
تعداد Core،
Cooling
و Workload اهمیت دارند.
یک U جدید می تواند در برخی پردازش ها
از H قدیمی سریع تر باشد.

U برای کار مهندسی مناسب است؟

بسته به نرم افزار و اندازه پروژه،
بله.
برای پروژه های سبک و متوسط
بسیاری از پردازنده های U مدرن
Performance مناسبی دارند.

برای رندرینگ H بهتر است یا U؟

برای Render طولانی،
کلاس H معمولاً ظرفیت بیشتری
برای Performance پایدار دارد،
به شرط اینکه لپ تاپ
سیستم خنک کننده مناسبی داشته باشد.

HX برای چه کسی مناسب است؟

برای کاربرانی که Performance بالا
در پردازش های سنگین
اولویت اصلی آنهاست
و وزن، گرما و شارژدهی
اهمیت کمتری دارد.

TDP همان مصرف برق CPU است؟

خیر.
TDP یک شاخص طراحی حرارتی است
و نباید آن را با مصرف لحظه ای واقعی CPU
یکسان در نظر گرفت.

چرا دو لپ تاپ با CPU یکسان سرعت متفاوت دارند؟

به دلیل تفاوت در Cooling،
Power Limit،
RAM،
Firmware،
دما
و تنظیمات سازنده.

Sustained Performance چیست؟

Performance یا کارایی پایداری است
که دستگاه می تواند
در پردازش طولانی مدت حفظ کند.

Thermal Throttling چیست؟

کاهش Performance یا فرکانس
برای کنترل دمای قطعه است.

برای لپ تاپ استوک U بهتر است یا H؟

برای حمل روزانه، کار اداری و شارژدهی،
U معمولاً انتخاب منطقی تری است.
برای Render، پردازش سنگین و Workstation،
H یا HX می تواند مناسب تر باشد.
مدل دقیق و قیمت دستگاه همچنان باید مقایسه شوند.

آیا پسوند CPU برای انتخاب لپ تاپ کافی است؟

خیر.
پسوند فقط یکی از قطعات پازل است.
معماری، Core و Thread،
GPU، RAM، Cooling،
باتری، کیفیت دستگاه و قیمت
نیز باید بررسی شوند.

اصطلاحات جدید این فصل

  • Suffix: پسوند انتهای نام پردازنده.
  • Efficiency: بهره وری؛ رابطه Performance با انرژی مصرفی.
  • Battery Life: شارژدهی باتری.
  • Portability: قابلیت حمل دستگاه.
  • Thin-and-Light: لپ تاپ باریک و سبک.
  • Content Creation: تولید محتوای تصویری، ویدئویی، صوتی و مشابه.
  • Mobile Workstation: ورک استیشن قابل حمل.
  • Desktop Replacement: لپ تاپ قدرتمند طراحی شده برای جایگزینی سیستم دسکتاپ.
  • TDP: توان طراحی حرارتی.
  • Firmware: سفت افزار؛ نرم افزار سطح پایین کنترل سخت افزار.
  • Power Limit: محدودیت توان پردازنده.
  • Cooling Capacity: ظرفیت سیستم برای دفع حرارت.
  • Heatpipe: لوله انتقال حرارت.
  • Vapor Chamber: محفظه بخار برای انتقال و پخش حرارت.
  • Fan Profile: الگوی کنترل سرعت فن.
  • Burst Performance: کارایی کوتاه مدت.
  • Sustained Performance: کارایی پایدار در پردازش طولانی.
  • Thermal Throttling: کاهش عملکرد برای کنترل دما.
  • Power Budget: بودجه توان قابل اختصاص به قطعات.
  • Battery Capacity: ظرفیت ذخیره انرژی باتری.
  • Wh: وات ساعت؛ واحد بیان انرژی ذخیره شده.
  • Thermal Paste: خمیر حرارتی برای کمک به انتقال گرما.

خلاصه فصل

در ساده ترین شکل:

U
→
Efficiency / Portability

HS
→
Performance + Efficiency Balance

H
→
High Performance

HX
→
Maximum Mobile Performance Class

اما این فقط نقطه شروع تحلیل است.

برای انتخاب واقعی باید:

Exact CPU
+
Architecture
+
Suffix
+
Power Limits
+
Cooling
+
GPU
+
RAM
+
Workload
+
Price

را کنار یکدیگر قرار دهیم.

مهم ترین قانون:


پسوند قوی تر روی کاغذ،
بدون سیستم خنک کننده مناسب
تضمین کننده Performance بهتر نیست.

و در لپ تاپ استوک،
سلامت سیستم خنک کننده
بخشی از ارزیابی Performance واقعی دستگاه است.


فصل 55
سطح: متوسط تا پیشرفته
موضوع: Ryzen AI / NPU
تمرکز: CPU vs GPU vs NPU

وجود AI در نام پردازنده الزاماً به معنی سریع تر بودن CPU نیست

Ryzen AI و NPU چیست؟ تفاوت CPU، GPU و NPU و واقعیت AI PC

در نسل های جدید پردازنده های لپ تاپ،
اصطلاحاتی مانند Ryzen AI،
NPU،
AI Engine،
TOPS
و AI PC
بیشتر دیده می شوند.
اما وجود این عبارات در مشخصات یک لپ تاپ
به تنهایی نشان نمی دهد که دستگاه
در تمام برنامه ها سریع تر است.

برای ارزیابی صحیح باید ابتدا بدانیم
CPU، GPU و NPU
چه وظایفی دارند،
نرم افزار مورد استفاده ما
کدام واحد را به کار می گیرد
و اضافه شدن NPU
در عمل چه مزیتی ایجاد می کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • NPU چیست.
  • Ryzen AI چیست.
  • AI PC به چه معناست.
  • CPU، GPU و NPU چه تفاوتی دارند.
  • AI Accelerator چیست.
  • Inference چیست.
  • Training و Inference چه تفاوتی دارند.
  • TOPS چیست.
  • چرا TOPS به تنهایی معیار کافی نیست.
  • چه برنامه هایی می توانند از NPU استفاده کنند.
  • چرا وجود NPU الزاماً باعث سریع تر شدن Photoshop، AutoCAD یا بازی نمی شود.
  • تفاوت نسل های اولیه Ryzen AI با نسل های بعدی چیست.
  • چگونه لپ تاپ AI را با نسل قبل و بعد مقایسه کنیم.
  • آیا برای خرید لپ تاپ استوک باید به NPU اهمیت بدهیم.

NPU چیست؟


NPU — Neural Processing Unit

NPU
مخفف:

Neural Processing Unit

است که می توان آن را
«واحد پردازش عصبی»
ترجمه کرد.

NPU یک واحد پردازشی تخصصی است
که برای اجرای برخی محاسبات مرتبط با
شبکه های عصبی،
یادگیری ماشین
و هوش مصنوعی
طراحی شده است.

هدف اصلی آن این نیست
که جای CPU یا GPU را بگیرد؛
بلکه برخی Workloadهای مناسب AI
را با بهره وری انرژی بالاتر اجرا کند.


Neural Network چیست؟

Neural Network
یا «شبکه عصبی»
نوعی مدل محاسباتی در یادگیری ماشین است
که از مجموعه ای از لایه ها
و عملیات ریاضی برای پردازش داده
و تشخیص الگو استفاده می کند.

عبارت «عصبی»
به معنی وجود مغز واقعی در کامپیوتر نیست؛
بلکه نامی برای یک خانواده
از مدل های محاسباتی است.


AI Accelerator چیست؟

AI Accelerator
یا «شتاب دهنده هوش مصنوعی»
به سخت افزاری گفته می شود
که برای اجرای سریع تر یا کم مصرف تر
برخی محاسبات هوش مصنوعی
بهینه شده است.

NPU یکی از انواع
AI Accelerator است.

تفاوت CPU، GPU و NPU چیست؟

واحد نام ماهیت کلی کاربرد معمول
CPU Central Processing Unit پردازنده عمومی و انعطاف پذیر سیستم عامل، برنامه ها، منطق عمومی و انواع محاسبات
GPU Graphics Processing Unit پردازش موازی گسترده گرافیک، رندر، بازی و بسیاری از محاسبات موازی و AI
NPU Neural Processing Unit شتاب دهنده تخصصی AI برخی Workloadهای یادگیری ماشین و AI با تمرکز بر Efficiency

CPU در پردازش AI چه نقشی دارد؟

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

CPU می تواند
بسیاری از محاسبات AI را نیز انجام دهد،
اما همیشه Efficient ترین سخت افزار
برای اجرای حجم بزرگی
از عملیات موازی AI نیست.

GPU چرا در هوش مصنوعی مهم است؟

بسیاری از Workloadهای هوش مصنوعی
شامل تعداد زیادی عملیات ریاضی
هستند که می توانند
به صورت موازی اجرا شوند.

GPU به دلیل داشتن
منابع پردازشی موازی فراوان
می تواند برای بسیاری از این عملیات
بسیار مناسب باشد.

به همین دلیل GPUها
سال ها قبل از فراگیر شدن NPU در لپ تاپ ها
در Machine Learning
و AI استفاده می شدند.


Parallel Processing چیست؟

Parallel Processing
یا «پردازش موازی»
یعنی چند عملیات
به جای اجرای کاملاً پشت سرهم،
به صورت همزمان یا موازی
پردازش شوند.

بسیاری از محاسبات گرافیکی
و هوش مصنوعی
قابلیت موازی سازی بالایی دارند.

وقتی GPU داریم چرا NPU ساخته شد؟

پاسخ مهم در یک کلمه است:

Efficiency

یا «بهره وری».

برای بعضی عملیات AI،
استفاده از GPU قدرتمند
می تواند انرژی بیشتری مصرف کند
در حالی که یک NPU تخصصی
قادر است همان نوع Workload مناسب را
با مصرف انرژی پایین تری اجرا کند.

این موضوع مخصوصاً در لپ تاپ
اهمیت دارد؛
زیرا انرژی باتری محدود است.

Under the Hood — تقسیم کار CPU، GPU و NPU

در یک سیستم مدرن
می توان به صورت مفهومی چنین تقسیم کاری داشت:

General Computing
→
CPU

Graphics / Massive Parallel Work
→
GPU

Supported AI Workloads
→
NPU

اما این مرزبندی مطلق نیست.

یک Workload هوش مصنوعی
ممکن است بین CPU،
GPU
و NPU تقسیم شود
یا اصلاً از NPU استفاده نکند.

Inference چیست؟


Inference

Inference
در هوش مصنوعی
به مرحله ای گفته می شود
که یک مدل از قبل آماده شده
برای پردازش ورودی جدید
و تولید نتیجه استفاده می شود.

ترجمه مفهومی آن می تواند:

«استنتاج یا اجرای مدل آموزش دیده»

باشد.

برای مثال،
مدلی که قبلاً برای تشخیص اشیا آموزش دیده،
هنگام دریافت یک تصویر جدید
عملیات Inference انجام می دهد.

Training چیست؟


Training

Training
یا «آموزش مدل»
مرحله ای است که در آن
مدل Machine Learning
با استفاده از داده ها
پارامترهای داخلی خود را تنظیم می کند.

Training مدل های بزرگ
می تواند به قدرت پردازشی
و حافظه بسیار زیادی نیاز داشته باشد.

Training و Inference چه تفاوتی دارند؟

مرحله معنی هدف
Training آموزش مدل یادگیری و تنظیم پارامترهای مدل
Inference اجرای مدل آموزش دیده پردازش ورودی جدید و تولید نتیجه

Engineering Insight — NPU لپ تاپ بیشتر برای چه چیزی اهمیت دارد؟

در بسیاری از کاربردهای مصرف کننده،
NPU بیشتر برای اجرای
Workloadهای سازگار با AI
روی خود دستگاه
و با مصرف انرژی مناسب اهمیت دارد.

این موضوع با آموزش
یک مدل عظیم هوش مصنوعی
روی لپ تاپ یکسان نیست.

بنابراین:

Having an NPU
≠
AI Training Workstation

Local AI یا هوش مصنوعی محلی چیست؟


Local AI / On-device AI

Local AI
یا:
On-device AI
به اجرای پردازش هوش مصنوعی
روی خود دستگاه کاربر اشاره دارد.

ترجمه مفهومی:

هوش مصنوعی محلی یا پردازش AI روی دستگاه.

در این حالت
تمام یا بخشی از پردازش
بدون ارسال محاسبه اصلی
به سرور ابری انجام می شود.


Cloud AI چیست؟

Cloud AI
یا «هوش مصنوعی ابری»
به حالتی گفته می شود
که بخش اصلی پردازش AI
روی سرورهای راه دور انجام شود
و دستگاه کاربر
از طریق شبکه با آن سرویس ارتباط برقرار کند.

اجرای AI روی خود لپ تاپ چه مزیتی دارد؟

بسته به نرم افزار و نوع پردازش،
مزایای احتمالی می توانند شامل:

  • کاهش وابستگی به اینترنت
  • Latency کمتر در بعضی عملیات
  • کاهش ارسال برخی داده ها به Cloud
  • امکان پردازش مداوم با مصرف انرژی مناسب تر
  • استفاده از قابلیت های AI در پس زمینه سیستم


Latency چیست؟

Latency
یا «تاخیر»
مدت زمانی است
که میان ارسال درخواست
و دریافت یا آغاز نتیجه وجود دارد.

Latency کمتر
معمولاً به معنی پاسخ سریع تر سیستم است.

TOPS چیست؟


TOPS

TOPS
مخفف:

Trillions of Operations Per Second

است.

ترجمه ساده:

تریلیون ها عملیات در ثانیه.

این واحد برای بیان
ظرفیت محاسباتی برخی شتاب دهنده های AI
استفاده می شود.

Common Mistake — TOPS بیشتر یعنی لپ تاپ سریع تر

خیر.

TOPS بیشتر
به تنهایی نشان نمی دهد
لپ تاپ در:

  • Windows
  • AutoCAD
  • Revit
  • Photoshop
  • Gaming
  • Rendering

سریع تر خواهد بود.

TOPS باید در Context
یک Workload AI سازگار
بررسی شود.

چرا TOPS به تنهایی کافی نیست؟

Performance واقعی AI
فقط به یک عدد وابسته نیست.

عوامل مهم می توانند شامل:

  • نوع مدل AI
  • نوع عملیات ریاضی
  • Precision
  • Memory Bandwidth
  • Software Support
  • Driver
  • Runtime
  • توان و محدودیت حرارتی


Precision چیست؟

Precision
در این Context
به قالب و دقت عددی
مورد استفاده برای محاسبات اشاره دارد.

قالب های عددی مختلف
می توانند از نظر:

  • دقت محاسبه
  • حجم حافظه
  • سرعت اجرا
  • مصرف انرژی

رفتار متفاوتی داشته باشند.


Runtime چیست؟

Runtime
در این Context
لایه نرم افزاری یا محیط اجرایی است
که به برنامه کمک می کند
عملیات مورد نظر را
روی سخت افزار مناسب اجرا کند.

مهم ترین سؤال: آیا نرم افزار اصلاً از NPU استفاده می کند؟

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

اگر برنامه مورد نظر
تمام پردازش خود را
روی CPU یا GPU انجام دهد،
وجود یک NPU قدرتمند
الزاماً Performance آن برنامه را افزایش نمی دهد.


API چیست؟

API
مخفف:

Application Programming Interface

است.

ترجمه رایج:
رابط برنامه نویسی کاربردی.

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

Under the Hood — مسیر اجرای یک قابلیت AI

به صورت ساده،
مسیر می تواند چیزی شبیه این باشد:

Application
↓
AI Framework / API
↓
Runtime
↓
Driver
↓
CPU / GPU / NPU

بنابراین وجود سخت افزار
فقط یکی از بخش های زنجیره است.

اگر Software Stack
یا «زنجیره نرم افزاری»
از سخت افزار استفاده نکند،
بخشی از توان آن
بلااستفاده باقی می ماند.

Ryzen AI چیست؟

Ryzen AI
نامی است که AMD
برای مجموعه قابلیت های پردازشی AI
در پلتفرم های مربوطه خود استفاده کرده است.

یکی از اجزای مهم آن
NPU مبتنی بر فناوری:

XDNA

است.


XDNA چیست؟

XDNA
نام معماری AMD
برای شتاب دهنده های پردازش AI
در محصولات مربوطه است.

این معماری
در NPU برخی پردازنده های Ryzen
برای اجرای Workloadهای AI
استفاده می شود.

نسل اولیه Ryzen AI در لپ تاپ ها

خانواده هایی مانند
Ryzen 7040 Mobile
از نخستین پردازنده های Ryzen
با NPU اختصاصی Ryzen AI
در این مسیر بودند.

نمونه مهم:

Ryzen 7 7840U

که ترکیبی از:

Zen 4 CPU
+
RDNA 3 GPU
+
XDNA NPU

را ارائه می کند.

مقایسه نسل قبل؛ Ryzen 7 6800U در برابر Ryzen 7 7840U

ویژگی Ryzen 7 6800U Ryzen 7 7840U
CPU Architecture Zen 3+ Zen 4
Core / Thread 8 / 16 8 / 16
iGPU Radeon 680M Radeon 780M
GPU Architecture RDNA 2 RDNA 3
Ryzen AI NPU خیر بله
جهش اصلی — CPU جدیدتر + GPU جدیدتر + NPU

Engineering Insight — برتری 7840U فقط به دلیل NPU نیست

اگر 7840U
در یک Workload عادی
از 6800U سریع تر باشد،
نباید تمام اختلاف را
به Ryzen AI نسبت دهیم.

زیرا همزمان:

  • معماری CPU از Zen 3+ به Zen 4 تغییر کرده است.
  • گرافیک از RDNA 2 به RDNA 3 تغییر کرده است.
  • فرکانس ها و پلتفرم نیز تغییر کرده اند.
  • NPU نیز اضافه شده است.

بنابراین برای تحلیل مهندسی:

Performance Gain
≠
NPU Gain

Ryzen 7 7840U در برابر Ryzen 7 8840U؛ نسل بعد چه چیزی تغییر کرد؟

ویژگی 7840U 8840U
CPU Architecture Zen 4 Zen 4
Core / Thread 8 / 16 8 / 16
iGPU Radeon 780M Radeon 780M
GPU Architecture RDNA 3 RDNA 3
NPU Generation XDNA XDNA
تغییر مهم نسل اولیه Phoenix Hawk Point با تمرکز و توان AI بالاتر

Performance Impact — 8840U را فقط به خاطر عدد 8000 نخرید

7840U و 8840U
از نظر CPU و iGPU
شباهت زیادی دارند.

بنابراین اگر Workload شما
از قابلیت AI جدیدتر
استفاده نکند،
افزایش شماره مدل
الزاماً به معنی جهش بزرگ
در Performance عمومی نیست.

در بازار استوک،
اگر لپ تاپ مجهز به 7840U
اختلاف قیمت قابل توجهی
با دستگاه 8840U داشته باشد،
باید کاربرد واقعی NPU
را قبل از پرداخت هزینه بیشتر بررسی کرد.

نسل بعد؛ Ryzen AI 300 Series

در نسل جدیدتر،
AMD نام گذاری Ryzen AI را
برجسته تر کرد
و خانواده هایی مانند:

Ryzen AI 9 HX 370

وارد بازار شدند.

اینجا دیگر فقط با
تغییر عدد 7000 به 8000
روبه رو نیستیم؛
بلکه ساختار نام گذاری نیز تغییر کرده است.


Strix Point چیست؟

Strix Point
نام رمز خانواده ای از
پردازنده های موبایلی جدیدتر AMD است.

در این خانواده
نسل های جدیدتر CPU،
GPU
و NPU
در کنار یکدیگر قرار گرفته اند.


XDNA 2 چیست؟

XDNA 2
نسل جدیدتر معماری NPU شرکت AMD
پس از XDNA است.

هدف آن افزایش توان
و قابلیت های پردازش AI
در محصولات مربوطه است.

مسیر تکامل Ryzen AI

نمونه خانواده CPU GPU NPU جایگاه
Ryzen 6000 Mobile Zen 3+ RDNA 2 Ryzen AI NPU ندارد نسل قبل از Ryzen AI داخلی
Ryzen 7040 Zen 4 RDNA 3 XDNA ورود Ryzen AI
Ryzen 8040 Zen 4 RDNA 3 XDNA بهبود تمرکز بر AI
Ryzen AI 300 نسل جدیدتر Zen نسل جدیدتر Radeon XDNA 2 جهش مهم تر در NPU

AI PC چیست؟

عبارت:

AI PC

به طور کلی برای رایانه هایی استفاده می شود
که قابلیت های سخت افزاری و نرم افزاری
برای اجرای برخی پردازش های AI
روی خود دستگاه دارند.

اما باید توجه داشت
که AI PC
یک عبارت گسترده است
و به تنهایی Performance دقیق دستگاه
را مشخص نمی کند.

Common Mistake — AI PC یعنی لپ تاپ از همه لپ تاپ های قبلی سریع تر است

خیر.

یک AI PC ممکن است
NPU مدرن داشته باشد،
اما در یک Workload سنتی
مانند Render،
Compile
یا بازی،
دستگاه قدیمی تر مجهز به
CPU یا GPU قدرتمندتر
سریع تر باشد.

بنابراین:

AI Capability
≠
Universal Performance


Compile چیست؟

Compile
یا «کامپایل»
فرایندی است که در آن
کد برنامه نویسی
به فرم قابل اجرا
یا فرم میانی مناسب برای سیستم
تبدیل می شود.

NPU در چه نوع قابلیت هایی می تواند مفید باشد؟

بسته به سیستم عامل،
نرم افزار
و پشتیبانی سخت افزاری،
NPU می تواند برای قابلیت هایی مانند:

  • پردازش تصویر مبتنی بر AI
  • برخی افکت های دوربین
  • حذف یا کاهش نویز
  • تشخیص سوژه
  • برخی پردازش های صوتی
  • برخی قابلیت های مولد AI
  • پردازش مدل های AI سبک روی دستگاه

استفاده شود.

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


Generative AI چیست؟

Generative AI
یا «هوش مصنوعی مولد»
به مدل هایی گفته می شود
که می توانند محتوای جدید
مانند متن،
تصویر،
صدا
یا انواع دیگر داده
تولید کنند.

آیا NPU باعث سریع تر شدن AutoCAD می شود؟

صرف وجود NPU:

خیر.

Performance اصلی AutoCAD
به نوع پروژه
و بخش هایی از سیستم مانند:

  • CPU Performance
  • Single-Thread Performance
  • GPU
  • RAM
  • Storage

وابسته است.

اگر قابلیت مشخصی از نرم افزار
برای یک عملیات AI
از NPU پشتیبانی کند،
آن قابلیت می تواند از NPU استفاده کند؛
اما NPU به صورت خودکار
تمام AutoCAD را سریع تر نمی کند.

آیا NPU برای Revit مهم است؟

برای Performance عمومی Revit،
همچنان CPU،
RAM،
GPU
و مشخصات پروژه
عوامل اصلی هستند.

بنابراین خرید یک CPU
صرفاً به دلیل NPU قوی تر
بدون بررسی Performance اصلی پردازنده
تصمیم کاملی نیست.

Photoshop و نرم افزارهای تولید محتوا چطور؟

نرم افزارهای تولید محتوا
به مرور قابلیت های AI بیشتری دریافت می کنند،
اما همه این قابلیت ها
الزاماً روی NPU اجرا نمی شوند.

بعضی عملیات ممکن است
از GPU،
CPU،
Cloud
یا شتاب دهنده های دیگر استفاده کنند.

بنابراین باید
قابلیت مشخص نرم افزار
و سخت افزار پشتیبانی شده
بررسی شود.

آیا NPU باعث افزایش FPS بازی می شود؟

وجود NPU
به تنهایی به معنی
افزایش FPS نیست.

Performance بازی
عمدتاً تحت تاثیر:

  • GPU
  • CPU
  • RAM
  • Resolution
  • Graphics Settings
  • Cooling

قرار دارد.


FPS چیست؟

FPS
در این Context
مخفف:

Frames Per Second

یعنی «تعداد فریم در ثانیه».

FPS یکی از شاخص های
سنجش نرخ تولید تصاویر
در بازی و محتوای متحرک است.

آیا NPU برای اجرای مدل زبانی محلی مناسب است؟

پاسخ به مدل،
اندازه آن،
فرمت،
Runtime
و پشتیبانی نرم افزاری بستگی دارد.

برخی مدل های کوچک تر
می توانند از شتاب دهنده های AI
استفاده کنند،
اما برای مدل های بزرگ
عواملی مانند:

  • RAM Capacity
  • Memory Bandwidth
  • GPU / VRAM
  • Model Size
  • Quantization

نیز بسیار مهم هستند.


LLM چیست؟

LLM
مخفف:

Large Language Model

است.

ترجمه:
مدل زبانی بزرگ.

این مدل ها
برای پردازش و تولید زبان
با استفاده از حجم زیادی
از پارامترهای محاسباتی طراحی می شوند.


Quantization چیست؟

Quantization
یا «کوانتیزه سازی»
در AI روشی برای
کاهش دقت عددی برخی پارامترها
و عملیات مدل است.

هدف می تواند کاهش:

  • مصرف حافظه
  • حجم مدل
  • هزینه محاسبات

باشد،
البته ممکن است
روی دقت خروجی نیز اثر بگذارد.

آیا در خرید لپ تاپ استوک NPU مهم است؟

بستگی دارد.

اگر کاربر:

  • به قابلیت های AI محلی نیاز دارد،
  • نرم افزارهای او از NPU پشتیبانی می کنند،
  • شارژدهی هنگام اجرای قابلیت های AI اهمیت دارد،
  • و قصد استفاده بلندمدت از قابلیت های جدید سیستم عامل را دارد،

وجود NPU می تواند مزیت محسوب شود.

اما اگر هدف اصلی:

  • کار اداری ساده،
  • حسابداری،
  • وب گردی،
  • AutoCAD معمولی،
  • کارهای آموزشی،

باشد،
نباید فقط برای عبارت AI
هزینه بسیار بیشتری پرداخت کرد.

Engineering Insight — یک مثال واقعی برای تصمیم خرید

فرض کنید دو لپ تاپ داریم:

Laptop A
→
Ryzen 7 7840U
+
16GB RAM

Laptop B
→
Ryzen 7 8840U
+
16GB RAM

اگر قیمت مدل B
به شکل قابل توجهی بالاتر باشد،
سؤال صحیح این نیست:

«کدام عدد بزرگ تری دارد؟»

سؤال صحیح این است:


آیا Workload من از مزیت AI مدل جدیدتر
آن قدر استفاده می کند
که اختلاف قیمت توجیه شود؟

لپ تاپ قدیمی قدرتمند یا لپ تاپ جدید AI؟

این یکی از مقایسه های مهم
بازار استوک آینده خواهد بود.

برای مثال ممکن است
یک Mobile Workstation قدیمی تر
دارای:

Powerful H / HX CPU
+
Dedicated GPU
+
High RAM Capacity

باشد،
در حالی که یک لپ تاپ جدیدتر
NPU دارد
اما CPU یا GPU آن
برای Workload سنگین
در کلاس پایین تری قرار گرفته است.

برای Render یا Workstation:


NPU جدید الزاماً جای CPU و GPU قدرتمند را نمی گیرد.


Dedicated GPU چیست؟

Dedicated GPU
یا «کارت گرافیک مجزا»
پردازنده گرافیکی مستقلی است
که معمولاً منابع پردازشی
و حافظه گرافیکی اختصاصی خود را دارد.

این مفهوم در مقابل
Integrated GPU
یا «گرافیک مجتمع»
قرار می گیرد.

قبل از پرداخت پول بیشتر برای AI PC چه چیزهایی را بررسی کنیم؟

01
مدل کامل CPU را پیدا کنیدعبارت Ryzen AI به تنهایی کافی نیست.
02
نسل CPU را بررسی کنیدمعماری CPU هنوز برای Performance عمومی بسیار مهم است.
03
GPU را بررسی کنیدمخصوصاً برای Gaming، Render و برنامه های گرافیکی.
04
NPU را مشخص کنیدوجود، نسل و توان NPU را بررسی کنید.
05
Software Support را بررسی کنیدآیا برنامه مورد استفاده شما واقعاً از NPU پشتیبانی می کند؟
06
RAM را بررسی کنیدبرای بسیاری از Workloadهای AI ظرفیت و پهنای باند حافظه مهم است.
07
نسل قبل را مقایسه کنیدشاید اختلاف قیمت زیاد و اختلاف Performance عمومی کم باشد.
08
نسل بعد را مقایسه کنیدگاهی نسل بعد NPU بسیار قدرتمندتری ارائه می کند.
09
کاربرد واقعی خود را مشخص کنیدAI روی جعبه مهم نیست؛ AI مورد استفاده شما مهم است.
10
ارزش خرید را محاسبه کنیدمزیت واقعی را با اختلاف قیمت مقایسه کنید.

Common Mistakes — اشتباهات رایج درباره Ryzen AI و NPU
  • تصور اینکه NPU جای CPU را می گیرد.
  • تصور اینکه NPU جای GPU را می گیرد.
  • تصور اینکه AI PC در تمام برنامه ها سریع تر است.
  • قضاوت فقط بر اساس TOPS.
  • نادیده گرفتن Software Support.
  • تصور اینکه تمام قابلیت های AI روی NPU اجرا می شوند.
  • تصور اینکه NPU الزاماً FPS بازی را افزایش می دهد.
  • تصور اینکه NPU به صورت خودکار AutoCAD را سریع تر می کند.
  • یکی دانستن Training و Inference.
  • نادیده گرفتن RAM و Memory Bandwidth در Local AI.
  • پرداخت هزینه بیشتر فقط به دلیل عبارت AI.
  • مقایسه 7840U و 8840U فقط بر اساس شماره سری.
  • نادیده گرفتن نسل NPU.
  • نادیده گرفتن CPU و GPU هنگام خرید AI PC.

سوالات متداول درباره Ryzen AI و NPU

NPU چیست؟

NPU یا Neural Processing Unit
واحد پردازشی تخصصی
برای اجرای برخی محاسبات
هوش مصنوعی و شبکه های عصبی است.

Ryzen AI چیست؟

Ryzen AI نام مجموعه قابلیت های AI
در پلتفرم های مربوطه AMD است
که یکی از اجزای مهم آن
NPU اختصاصی است.

آیا NPU جای CPU را می گیرد؟

خیر.
CPU همچنان پردازنده عمومی اصلی سیستم است.
NPU برای Workloadهای تخصصی AI طراحی شده است.

آیا NPU جای کارت گرافیک را می گیرد؟

خیر.
GPU و NPU اهداف متفاوتی دارند
و بسیاری از پردازش های گرافیکی
همچنان توسط GPU انجام می شوند.

TOPS چیست؟

TOPS مخفف
Trillions of Operations Per Second
و معیاری برای بیان
ظرفیت اجرای تعداد زیادی عملیات
در هر ثانیه است.

TOPS بیشتر یعنی CPU سریع تر؟

خیر.
TOPS مربوط به نوع مشخصی
از ظرفیت محاسبات AI است
و Performance عمومی CPU را تعیین نمی کند.

آیا NPU باعث افزایش FPS بازی می شود؟

صرف وجود NPU خیر.
FPS عمدتاً به CPU،
GPU،
RAM،
تنظیمات بازی
و عوامل دیگر بستگی دارد.

آیا NPU برای AutoCAD لازم است؟

برای Performance عمومی AutoCAD
NPU جزء اصلی الزامات نیست.
CPU، GPU و RAM
همچنان اهمیت بیشتری دارند.

Inference چیست؟

استفاده از یک مدل آموزش دیده
برای پردازش ورودی جدید
و تولید نتیجه است.

Training چیست؟

فرایند آموزش مدل
و تنظیم پارامترهای آن
با استفاده از داده ها است.

Local AI چیست؟

اجرای تمام یا بخشی
از پردازش هوش مصنوعی
روی خود دستگاه کاربر است.

7840U بهتر است یا 8840U؟

پاسخ به قیمت و کاربرد بستگی دارد.
هر دو از Zen 4
و Radeon 780M استفاده می کنند؛
بنابراین برای کاربری که
از مزیت AI مدل جدیدتر استفاده نمی کند،
اختلاف Performance عمومی
ممکن است مهم ترین دلیل ارتقا نباشد.

آیا برای لپ تاپ استوک NPU ضروری است؟

برای بیشتر کاربری های سنتی ضروری نیست.
ارزش آن زمانی بیشتر می شود
که نرم افزارها و Workloadهای کاربر
واقعاً از NPU استفاده کنند.

آیا AI PC همیشه ارزش خرید بیشتری دارد؟

خیر.
ارزش خرید باید با توجه به
CPU، GPU، RAM، نمایشگر،
باتری، کیفیت دستگاه،
کاربرد واقعی AI
و قیمت نهایی تعیین شود.

اصطلاحات جدید این فصل

  • NPU: واحد پردازش عصبی برای برخی محاسبات AI.
  • Neural Network: شبکه عصبی؛ نوعی مدل محاسباتی در یادگیری ماشین.
  • AI Accelerator: شتاب دهنده سخت افزاری هوش مصنوعی.
  • Parallel Processing: پردازش موازی چند عملیات.
  • Training: فرایند آموزش مدل.
  • Inference: اجرای مدل آموزش دیده برای تولید نتیجه.
  • Local AI: اجرای پردازش AI روی خود دستگاه.
  • Cloud AI: اجرای پردازش AI روی سرورهای راه دور.
  • Latency: تاخیر میان درخواست و پاسخ.
  • TOPS: تریلیون ها عملیات در ثانیه.
  • Precision: قالب و دقت عددی محاسبات.
  • Runtime: محیط یا لایه نرم افزاری اجرای عملیات.
  • API: رابط برنامه نویسی کاربردی.
  • XDNA: معماری شتاب دهنده AI شرکت AMD.
  • XDNA 2: نسل جدیدتر معماری XDNA.
  • AI PC: رایانه دارای قابلیت های سخت افزاری و نرم افزاری برای پردازش های AI.
  • Compile: تبدیل کد برنامه نویسی به فرم مناسب اجرا.
  • Generative AI: هوش مصنوعی مولد.
  • FPS: تعداد فریم در ثانیه.
  • LLM: مدل زبانی بزرگ.
  • Quantization: کاهش دقت عددی برای کاهش هزینه محاسبات یا حافظه.
  • Dedicated GPU: کارت گرافیک مجزا.
  • Strix Point: نام رمز خانواده ای از پردازنده های موبایلی جدیدتر AMD.

خلاصه فصل

سه واحد اصلی را این گونه به خاطر بسپارید:

CPU
→
General Purpose Computing

GPU
→
Graphics + Parallel Computing

NPU
→
Efficient AI Acceleration

اما وجود NPU
به معنی سریع تر شدن تمام برنامه ها نیست.

مسیر صحیح ارزیابی:

Application
→
AI Feature
→
Software Support
→
CPU / GPU / NPU Usage
→
Real Performance

و برای خرید:

CPU
+
GPU
+
NPU
+
RAM
+
Software Support
+
Battery
+
Price
=
Real Value

مهم ترین قانون این فصل:


برای عبارت «AI» پول ندهید؛
برای قابلیتی پول بدهید که واقعاً از آن استفاده می کنید.


فصل 56
سطح: متوسط تا پیشرفته
موضوع: AMD Ryzen vs Intel Core
تمرکز: مقایسه نسل، معماری و کاربری واقعی

AMD بهتر است یا Intel؟ سؤال درست این نیست

مقایسه AMD Ryzen و Intel Core در لپ تاپ؛ چرا باید نسل به نسل مقایسه کنیم؟

یکی از رایج ترین سؤال ها هنگام خرید لپ تاپ این است:
«AMD بهتر است یا Intel؟»
اما از نظر فنی این سؤال بیش از حد کلی است.
هیچ کدام از این دو برند را نمی توان بدون مشخص کردن
مدل پردازنده، نسل، کلاس توان و نوع کاربری
به صورت مطلق برنده اعلام کرد.

مقایسه صحیح باید چیزی شبیه این باشد:

Exact CPU
→
Generation
→
Architecture
→
Power Class
→
Laptop Design
→
Workload

یعنی ابتدا باید بدانیم دقیقاً کدام دو پردازنده
و در چه نوع لپ تاپ هایی با یکدیگر مقایسه می شوند.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا مقایسه AMD و Intel فقط بر اساس برند اشتباه است.
  • چگونه پردازنده های هم دوره را پیدا کنیم.
  • چرا Ryzen 5 الزاماً معادل Core i5 نیست.
  • چرا Ryzen 7 الزاماً معادل Core i7 نیست.
  • تفاوت معماری پردازنده با نام تجاری چیست.
  • Single-Core و Multi-Core Performance چه تفاوتی دارند.
  • چرا تعداد Core به تنهایی معیار مناسبی نیست.
  • تفاوت طراحی هسته های Hybrid اینتل با طراحی برخی Ryzenها چیست.
  • P-core و E-core چه هستند.
  • Thread Director چیست.
  • چرا مصرف انرژی و Cooling روی نتیجه مقایسه اثر دارند.
  • چگونه CPU مناسب Office، AutoCAD، Revit، Programming، Rendering و Gaming را انتخاب کنیم.
  • چگونه دو لپ تاپ استوک Intel و AMD را واقعاً مقایسه کنیم.

قانون اول: برند پردازنده را مقایسه نکنید؛ مدل پردازنده را مقایسه کنید

عبارت هایی مانند:

Intel is better

یا:

AMD is better

از نظر فنی اطلاعات کافی در اختیار ما قرار نمی دهند.

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

بنابراین سؤال بهتر این است:

Ryzen 5 5600U
vs
Core i5-1135G7

یا مثلاً:

Ryzen 7 5800H
vs
Core i7-11800H

آیا Ryzen 5 دقیقاً معادل Core i5 است؟

نه به صورت مطلق.

Ryzen 5 و Core i5
نام هایی برای مشخص کردن جایگاه تقریبی محصول
در خانواده مربوط به هر شرکت هستند.

به صورت بسیار کلی ممکن است چنین دسته بندی ای ببینیم:

AMD Intel جایگاه تقریبی بازار
Ryzen 3 Core i3 / Core 3 اقتصادی و عمومی
Ryzen 5 Core i5 / Core 5 میان رده
Ryzen 7 Core i7 / Core 7 رده بالا
Ryzen 9 Core i9 / Core 9 رده بسیار قدرتمند

اما این جدول فقط جایگاه بازاری تقریبی را نشان می دهد.
دو پردازنده هم رده ممکن است
تعداد هسته، معماری، مصرف انرژی
و عملکرد بسیار متفاوتی داشته باشند.


رده محصول — Product Tier

Product Tier
یعنی «رده یا سطح محصول در یک خانواده».

برای مثال Ryzen 3، Ryzen 5، Ryzen 7 و Ryzen 9
رده های مختلف یک خانواده محصول را نشان می دهند.

رده بالاتر معمولاً به محصول قوی تر اشاره دارد،
اما مقایسه میان نسل های متفاوت
همچنان باید بر اساس مدل دقیق انجام شود.

گاهی نسل مهم تر از عدد Ryzen 5 یا Core i7 است

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

برای مثال ممکن است
یک پردازنده Core i7 قدیمی
در برابر یک Core i5 جدیدتر
برتری مطلق نداشته باشد.

همین موضوع درباره Ryzen نیز وجود دارد.

بنابراین:

Product Tier
≠
Generation
≠
Architecture
≠
Real Performance

Single-Core Performance چیست؟


عملکرد تک هسته ای — Single-Core Performance

Single-Core Performance
یا «عملکرد تک هسته ای»
نشان می دهد یک هسته پردازنده
در اجرای یک جریان کاری
چه سطحی از Performance ارائه می کند.

این موضوع برای برنامه ها
یا بخش هایی از برنامه ها
که قابلیت استفاده کامل
از تعداد زیادی Core ندارند
اهمیت زیادی دارد.

Multi-Core Performance چیست؟


عملکرد چند هسته ای — Multi-Core Performance

Multi-Core Performance
یا «عملکرد چند هسته ای»
توان پردازنده هنگام استفاده
از چندین Core و Thread را نشان می دهد.

Workloadهایی که قابلیت Parallel Processing دارند
معمولاً می توانند
از تعداد هسته های بیشتر
بهتر استفاده کنند.

نوع Performance معنی کاربرد مهم
Single-Core قدرت یک هسته یا Thread اصلی بخش هایی از نرم افزارهای تعاملی، بعضی عملیات مهندسی و برنامه های کم رشته
Multi-Core توان مجموع چند هسته رندر CPU، Encoding، Compilation و پردازش موازی


کدگذاری — Encoding

Encoding
یا «کدگذاری»
در پردازش رسانه
به تبدیل داده هایی مانند ویدئو یا صدا
به یک قالب مشخص اشاره دارد.

برخی عملیات Encoding
می توانند از CPU،
GPU
یا واحدهای سخت افزاری اختصاصی استفاده کنند.

چرا تعداد Core به تنهایی کافی نیست؟

فرض کنید پردازنده A دارای 8 Core
و پردازنده B دارای 6 Core باشد.

نمی توان فقط از این اطلاعات نتیجه گرفت
که پردازنده A سریع تر است.

باید موارد زیر نیز بررسی شوند:

  • Architecture
  • IPC
  • Clock Frequency
  • Cache
  • Core Type
  • Power Limit
  • Cooling
  • Workload


دستورالعمل در هر سیکل — IPC

IPC
مخفف:

Instructions Per Cycle

است.

ترجمه مفهومی آن:
«تعداد دستورهایی که پردازنده می تواند در هر چرخه پردازشی انجام دهد»
است.

دو CPU با فرکانس مشابه
ممکن است به دلیل تفاوت معماری و IPC
Performance یکسانی نداشته باشند.

اشتباه رایج — Common Mistake: مقایسه CPU فقط با GHz

اگر دو پردازنده
فرکانس 4.5GHz داشته باشند،
الزاماً Performance یکسانی ندارند.

معماری،
IPC،
Cache،
تعداد Core
و نوع Workload
همگی روی نتیجه اثر دارند.

بنابراین:

Same GHz
≠
Same Performance

معماری Hybrid اینتل چیست؟

در برخی نسل های جدید Intel،
پردازنده از دو نوع Core
با اهداف متفاوت استفاده می کند:

P-core
+
E-core


معماری ترکیبی — Hybrid Architecture

Hybrid Architecture
یا «معماری ترکیبی»
در این Context
به طراحی پردازنده ای اشاره دارد
که از انواع متفاوتی از هسته ها
برای اهداف متفاوت استفاده می کند.


هسته عملکردی — Performance Core / P-core

P-core
مخفف Performance Core
و به معنی «هسته عملکردی» است.

این هسته ها برای Performance بالا
و اجرای Workloadهای سنگین تر
طراحی شده اند.


هسته بهره ور — Efficient Core / E-core

E-core
مخفف Efficient Core
و به معنی «هسته بهره ور» است.

هدف آن ارائه Performance مناسب
با توجه بیشتر به بهره وری
و استفاده بهینه از فضای تراشه و توان است.

پشت صحنه فنی — Under the Hood: چرا Core Count اینتل می تواند گمراه کننده باشد؟

در یک CPU Hybrid اینتل،
همه Coreها الزاماً
از یک نوع نیستند.

برای مثال ممکن است پردازنده دارای:

6 P-cores
+
8 E-cores
=
14 Cores

باشد.

این 14 Core را نباید
دقیقاً معادل 14 هسته یکسان
در معماری دیگری فرض کرد.

نوع هسته،
Performance هر هسته
و نحوه استفاده نرم افزار
از آنها اهمیت دارد.

Intel Thread Director چیست؟


هدایت کننده رشته ها — Intel Thread Director

Thread Director
مکانیزمی سخت افزاری در برخی پردازنده های Hybrid اینتل است
که اطلاعاتی درباره نوع و رفتار Workload
در اختیار سیستم عامل قرار می دهد.

هدف این است که Scheduler سیستم عامل
بتواند تصمیم مناسب تری بگیرد
که Threadهای مختلف
روی چه نوع Core اجرا شوند.


زمان بند — Scheduler

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است
که تصمیم می گیرد
Threadهای آماده اجرا
چه زمانی و روی کدام Core
پردازش شوند.


رشته پردازشی — Thread

Thread
یا «رشته پردازشی»
یک مسیر اجرای دستورها
در یک برنامه است.

یک برنامه می تواند
یک یا چند Thread داشته باشد.

AMD Ryzen در برابر طراحی Hybrid اینتل

بسیاری از نسل های Ryzen لپ تاپی
از هسته هایی با ساختار متقارن تر استفاده کرده اند،
در حالی که Intel در نسل های Hybrid
ترکیبی از P-core و E-core را به کار گرفته است.

بنابراین مقایسه ای مانند:

8-Core Ryzen
vs
12-Core Intel

بدون دانستن نوع هسته های Intel
و معماری دو پردازنده
اطلاعات کاملی ارائه نمی کند.

نکته مهندسی — Engineering Insight: تعداد هسته را بعد از معماری بخوانید

هنگام مقایسه CPU
بهتر است ابتدا معماری و نوع Coreها را مشخص کنیم
و سپس Core Count را بررسی کنیم.

ترتیب تحلیل بهتر:

Architecture
→
Core Type
→
Core Count
→
Thread Count
→
Clock
→
Cache
→
Power
→
Benchmark

نقشه تقریبی نسل های مهم AMD و Intel در لپ تاپ

دوره تقریبی AMD Intel نکته مهم
2020 Ryzen 4000 Mobile Core نسل 10 Ryzen 4000 جهش مهمی در لپ تاپ ایجاد کرد
2021 Ryzen 5000 Mobile Core نسل 11 رقابت جدی Zen 3 و Tiger Lake
2022 Ryzen 6000 Mobile Core نسل 12 RDNA 2 در AMD و Hybrid Architecture در Intel
2023 Ryzen 7000 Mobile Core نسل 13 نام گذاری AMD پیچیده تر شد
2024 Ryzen 8000 Mobile Core Ultra AI و NPU اهمیت بیشتری پیدا کردند

این جدول برای پیدا کردن دوره زمانی محصولات مفید است،
اما به معنی هم سطح بودن تمام CPUهای هر ردیف نیست.

Ryzen 4000 در برابر Intel نسل 10

Ryzen 4000 Mobile
یکی از نسل های مهم AMD در بازار لپ تاپ بود.

معماری Zen 2
و افزایش تعداد Core
باعث شد مدل هایی مانند:

Ryzen 5 4600H

Ryzen 7 4800H

در پردازش های Multi-Core
بسیار قابل توجه باشند.

در سمت Intel نیز
مدل های نسل دهم سری H
در لپ تاپ های قدرتمند
حضور گسترده ای داشتند.

Ryzen 5000 در برابر Intel نسل 11

با Ryzen 5000،
معماری Zen 3
در بخش مهمی از خانواده
باعث پیشرفت Performance شد.

Intel نیز در نسل 11
خانواده های مختلف موبایلی
با معماری های جدیدتر ارائه کرد.

در این دوره
دیگر انتخاب بر اساس نام برند
بسیار دشوارتر شد
و مدل دقیق لپ تاپ اهمیت بیشتری پیدا کرد.

مثال واقعی: Ryzen 7 5800H در برابر Core i7-11800H

ویژگی Ryzen 7 5800H Core i7-11800H
Core 8 8
Thread 16 16
معماری Zen 3 Tiger Lake-H
کلاس H H
نتیجه صحیح مقایسه باید با توجه به لپ تاپ، توان، Cooling و Workload واقعی انجام شود.

تاثیر بر عملکرد — Performance Impact: CPU یکسان روی دو لپ تاپ نتیجه یکسان نمی دهد

هنگام مقایسه AMD و Intel
نباید فقط نتیجه CPU را
جدا از خود لپ تاپ بررسی کرد.

سیستم خنک کننده،
Power Limit،
RAM
و تنظیمات سازنده
می توانند اختلاف بزرگی ایجاد کنند.

بنابراین:

CPU Benchmark
≠
Complete Laptop Benchmark

Ryzen 6000 در برابر Intel نسل 12؛ دو مسیر متفاوت

این دوره از نظر معماری بسیار جالب است.

AMD در Ryzen 6000
از Zen 3+
و گرافیک مجتمع RDNA 2 استفاده کرد.

Intel در نسل 12
معماری Hybrid را وارد بخش بزرگی
از محصولات لپ تاپی کرد.

یعنی مقایسه دیگر فقط:

Core vs Core

نبود.

مثال: Ryzen 7 6800H در برابر Core i7-12700H

ویژگی Ryzen 7 6800H Core i7-12700H
ساختار Core 8 Core 6 P-core + 8 E-core
Thread 16 20
معماری کلی Zen 3+ Alder Lake Hybrid
iGPU Radeon 680M Intel Iris Xe-class integrated graphics
نکته اصلی تعداد Core به دلیل تفاوت نوع هسته ها مستقیماً قابل مقایسه نیست.


آلدر لیک — Alder Lake

Alder Lake
نام رمز خانواده نسل دوازدهم
پردازنده های Core اینتل است.

یکی از مهم ترین تغییرات آن
استفاده گسترده از معماری Hybrid
شامل P-core و E-core بود.

Ryzen 7000 در برابر Intel نسل 13؛ مراقب نام گذاری باشید

مقایسه این دوره
از نسل های قبل پیچیده تر است.

دلیل مهم این است که
عبارت Ryzen 7000 Mobile
به تنهایی معماری CPU را مشخص نمی کند.

مدل های مختلف این خانواده
می توانند از معماری های متفاوتی استفاده کنند.

بنابراین:

Ryzen 7000
≠
One Architecture

این همان دلیلی است که در فصل نام گذاری AMD
یاد گرفتیم رقم های کامل مدل را بخوانیم.

در سمت Intel نیز
نسل سیزدهم شامل کلاس های مختلف:

U
/
P
/
H
/
HX

است و مقایسه باید
میان کلاس های نزدیک انجام شود.

اشتباه رایج — Common Mistake: مقایسه CPUهای دو کلاس متفاوت

مقایسه یک پردازنده U کم مصرف
با یک HX قدرتمند
برای تعیین اینکه AMD بهتر است یا Intel،
مقایسه منصفانه ای نیست.

باید تا حد امکان:

Similar Generation
+
Similar Power Class
+
Similar Laptop Category

انتخاب شود.

AMD یا Intel برای کار اداری؟

برای Word،
Excel،
مرور وب،
حسابداری
و نرم افزارهای اداری معمول،
بسیاری از پردازنده های مدرن هر دو شرکت
Performance کافی دارند.

در این کاربری گاهی عوامل دیگری
مهم تر از اختلاف کوچک CPU هستند:

  • RAM کافی
  • SSD
  • سلامت باتری
  • کیفیت نمایشگر
  • وزن
  • کیبورد
  • قیمت

AMD یا Intel برای برنامه نویسی؟

برای برنامه نویسی عمومی
هر دو برند گزینه های بسیار مناسبی دارند.

اگر پروژه شامل Compilation سنگین باشد،
Multi-Core Performance،
RAM
و سیستم خنک کننده
اهمیت بیشتری پیدا می کنند.

برای پروژه های سبک تر،
Single-Core Performance
و پاسخگویی کلی سیستم
ممکن است مهم تر باشد.

AMD یا Intel برای AutoCAD؟

در AutoCAD
نباید انتخاب را صرفاً
بر اساس برند CPU انجام داد.

بسیاری از عملیات تعاملی
به Performance قوی هر هسته
حساس هستند.

همچنین برای پروژه های سه بعدی
GPU نیز اهمیت پیدا می کند.

بنابراین معیار بهتر:

Strong Single-Core Performance
+
Suitable GPU
+
Enough RAM

AMD یا Intel برای Revit؟

Revit نیز در بسیاری از عملیات
از Performance قوی CPU بهره می برد،
اما نوع پروژه
و عملیات مورد استفاده اهمیت دارد.

برای پروژه های بزرگ تر:

  • CPU قوی
  • RAM کافی
  • SSD سریع
  • GPU مناسب

باید در کنار یکدیگر بررسی شوند.

AMD یا Intel برای Rendering؟

ابتدا باید مشخص کنیم
Render توسط چه سخت افزاری انجام می شود.

CPU Rendering
?
GPU Rendering
?

اگر موتور Render از CPU استفاده کند،
Multi-Core Performance
و Sustained Performance
اهمیت زیادی دارند.

اگر GPU Renderer باشد،
کارت گرافیک می تواند
بسیار مهم تر از اختلاف CPU باشد.


رندرکننده مبتنی بر GPU — GPU Renderer

GPU Renderer
موتور یا حالت رندرینگی است
که بخش اصلی محاسبات Render را
روی GPU انجام می دهد.

در چنین شرایطی
نوع GPU،
VRAM
و پشتیبانی نرم افزار
می تواند اهمیت بسیار زیادی داشته باشد.

AMD یا Intel برای Gaming؟

در Gaming
CPU فقط یکی از عوامل تعیین کننده است.

نتیجه نهایی تحت تاثیر:

CPU
+
GPU
+
RAM
+
Resolution
+
Game Engine
+
Cooling

قرار دارد.

بنابراین انتخاب لپ تاپ Gaming
فقط بر اساس Ryzen یا Core بودن
تصمیم صحیحی نیست.


موتور بازی — Game Engine

Game Engine
یا «موتور بازی»
مجموعه ای از فناوری ها و ابزارهای نرم افزاری است
که بخش های مختلف یک بازی
مانند Rendering،
Physics،
Animation
و منطق بازی
روی آن ساخته یا اجرا می شوند.

AMD یا Intel برای خرید لپ تاپ استوک؟

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

زیرا علاوه بر مشخصات فنی،
باید وضعیت واقعی دستگاه را نیز بررسی کنیم.

برای مثال:

  • سلامت باتری
  • وضعیت Cooling
  • سلامت فن
  • کیفیت بدنه
  • نمایشگر
  • RAM قابل ارتقا
  • SSD
  • GPU
  • قیمت نهایی

ممکن است ارزش خرید یک دستگاه را
کاملاً تغییر دهند.

نکته مهندسی — Engineering Insight: در بازار استوک CPU را داخل لپ تاپ ببینید

فرض کنید لپ تاپ A
پردازنده ای حدود 10 درصد سریع تر دارد،
اما:

  • سیستم خنک کننده ضعیف تری دارد،
  • RAM کمتری دارد،
  • باتری آن ضعیف تر است،
  • نمایشگر کیفیت پایین تری دارد،
  • و قیمت آن بسیار بیشتر است.

در چنین شرایطی
CPU سریع تر الزاماً
به معنی لپ تاپ بهتر نیست.

معیار نهایی باید:

Total System Value

یعنی «ارزش کلی سیستم»
باشد.

Benchmark را چگونه برای AMD و Intel بخوانیم؟

Benchmark یا «آزمون سنجش عملکرد»
ابزار مفیدی برای مقایسه است،
اما باید بدانیم هر Benchmark
چه چیزی را اندازه گیری می کند.

بهتر است چند نوع تست را کنار هم ببینیم:

  • Single-Core Benchmark
  • Multi-Core Benchmark
  • Application Benchmark
  • Long-duration Test
  • Battery Test
  • Thermal Test


آزمون برنامه واقعی — Application Benchmark

Application Benchmark
یا «آزمون عملکرد در برنامه واقعی»
به تستی گفته می شود
که Performance سیستم
در یک نرم افزار یا Workload واقعی
اندازه گیری می شود.

این نوع تست
برای تصمیم خرید
معمولاً از یک امتیاز مصنوعی منفرد
کاربردی تر است.


بنچمارک مصنوعی — Synthetic Benchmark

Synthetic Benchmark
یا «بنچمارک مصنوعی»
تستی است که برای اندازه گیری
بخش مشخصی از Performance
با Workload طراحی شده
و کنترل شده اجرا می شود.

این تست ها مفید هستند،
اما نتیجه آنها الزاماً
با تمام برنامه های واقعی یکسان نیست.

اشتباه رایج — Common Mistake: انتخاب CPU با یک عدد Benchmark

اگر CPU A در یک Benchmark
امتیاز بیشتری از CPU B بگیرد،
نمی توان نتیجه گرفت
در تمام Workloadها بهتر است.

بهتر است:

Multiple Benchmarks
+
Real Applications
+
Power
+
Temperature
+
Price

همزمان بررسی شوند.

ماتریس تصمیم گیری AMD یا Intel

نیاز مهم ترین معیار آیا برند به تنهایی تعیین کننده است؟
اداری Efficiency + قیمت + کیفیت دستگاه خیر
دانشجویی Battery + وزن + Performance کافی خیر
برنامه نویسی CPU + RAM + نوع پروژه خیر
AutoCAD Single-Core + GPU مناسب خیر
Revit CPU + RAM + GPU + پروژه خیر
CPU Rendering Multi-Core + Sustained Performance خیر
GPU Rendering GPU + VRAM + Software Support خیر
Gaming GPU + CPU + Cooling خیر

روش صحیح مقایسه دو لپ تاپ AMD و Intel

01
مدل کامل CPU را یادداشت کنیدRyzen 7 یا Core i7 به تنهایی کافی نیست.
02
نسل و معماری را مشخص کنیدابتدا بفهمید هر CPU متعلق به چه نسل و معماری است.
03
کلاس توان را مقایسه کنیدU را مستقیماً با HX مقایسه نکنید.
04
Core و Thread را تحلیل کنیددر Intel Hybrid نوع Core را نیز بررسی کنید.
05
Single-Core Performance را بررسی کنیدمخصوصاً برای Workloadهای حساس به قدرت هر هسته.
06
Multi-Core Performance را بررسی کنیدمخصوصاً برای Render و پردازش موازی.
07
GPU را فراموش نکنیدممکن است تفاوت GPU مهم تر از تفاوت CPU باشد.
08
Cooling را بررسی کنیدPerformance پایدار به طراحی لپ تاپ وابسته است.
09
نسل قبل و بعد را مقایسه کنیدممکن است مدل نسل قبل ارزش خرید بسیار بیشتری داشته باشد.
10
قیمت کل دستگاه را وارد تصمیم کنیدسریع ترین CPU الزاماً بهترین خرید نیست.

تاثیر بر عملکرد — Performance Impact: اختلاف 10 درصدی CPU همیشه 10 درصد اختلاف تجربه کاربر نیست

اگر CPU یک لپ تاپ
در Benchmark حدود 10 درصد سریع تر باشد،
به این معنی نیست که کاربر
تمام کارهای خود را 10 درصد سریع تر انجام خواهد داد.

ممکن است Workload
به GPU،
Storage،
RAM،
Network
یا حتی سرعت کار خود کاربر محدود باشد.

بنابراین باید مشخص کنیم:

What is the Bottleneck?

یعنی:
گلوگاه واقعی سیستم چیست؟


گلوگاه — Bottleneck

Bottleneck
یا «گلوگاه»
بخشی از سیستم است
که محدودیت آن
مانع استفاده کامل
از توان سایر بخش ها می شود.

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

7 قانون طلایی مقایسه AMD و Intel

  1. هیچ برند پردازنده ای همیشه برنده نیست.
  2. مدل کامل CPU را مقایسه کنید، نه فقط Ryzen 7 و Core i7.
  3. نسل و معماری را قبل از Core Count بررسی کنید.
  4. CPUهای کلاس توان متفاوت را مستقیماً مقایسه نکنید.
  5. برای لپ تاپ، Cooling و Power Limit بخشی از Performance هستند.
  6. Benchmark مرتبط با Workload خودتان را انتخاب کنید.
  7. در نهایت ارزش کل لپ تاپ را با قیمت آن مقایسه کنید.

سوالات متداول مقایسه AMD Ryzen و Intel Core

AMD بهتر است یا Intel؟

هیچ پاسخ مطلقی وجود ندارد.
مدل دقیق CPU، نسل، کلاس توان،
لپ تاپ و نوع کاربری باید مشخص شوند.

Ryzen 5 بهتر است یا Core i5؟

فقط با این نام ها نمی توان تصمیم گرفت.
باید مدل کامل و نسل دو پردازنده مقایسه شود.

Ryzen 7 بهتر است یا Core i7؟

بسته به مدل و نسل می تواند متفاوت باشد.
Ryzen 7 و Core i7 فقط رده تقریبی محصول را نشان می دهند.

تعداد Core بیشتر یعنی CPU بهتر؟

خیر.
معماری، نوع Core، IPC،
فرکانس، توان و Workload نیز اهمیت دارند.

P-core چیست؟

Performance Core یا هسته عملکردی
برای Performance بالاتر طراحی شده است.

E-core چیست؟

Efficient Core یا هسته بهره ور
با تمرکز بیشتر بر بهره وری طراحی شده است.

Single-Core Performance چیست؟

عملکرد یک هسته پردازنده
در اجرای Workload است.

Multi-Core Performance چیست؟

Performance پردازنده هنگام استفاده
از چندین Core و Thread است.

برای AutoCAD AMD بهتر است یا Intel؟

مدل دقیق مهم تر از برند است.
Single-Core Performance،
GPU، RAM
و نوع پروژه باید بررسی شوند.

برای Rendering کدام بهتر است؟

ابتدا باید مشخص شود Render
روی CPU یا GPU انجام می شود.
برای CPU Rendering
Multi-Core و Sustained Performance اهمیت زیادی دارند.

برای لپ تاپ استوک AMD بهتر است یا Intel؟

انتخاب باید بر اساس
مدل CPU، کیفیت دستگاه،
RAM، SSD، GPU، Cooling،
باتری و قیمت انجام شود.
برند CPU به تنهایی کافی نیست.

GHz بیشتر یعنی پردازنده سریع تر؟

الزاماً خیر.
معماری و IPC
باعث می شوند دو CPU با GHz مشابه
Performance متفاوتی داشته باشند.

Benchmark برای انتخاب CPU کافی است؟

یک Benchmark کافی نیست.
بهتر است چند Benchmark
و تست برنامه واقعی
در کنار مصرف، دما و قیمت بررسی شوند.

اصطلاحات جدید این فصل

  • Product Tier: رده یا سطح محصول در خانواده پردازنده.
  • Single-Core Performance: عملکرد تک هسته ای.
  • Multi-Core Performance: عملکرد چند هسته ای.
  • Encoding: کدگذاری داده مانند ویدئو یا صدا.
  • IPC: تعداد دستورهای قابل پردازش در هر چرخه.
  • Hybrid Architecture: معماری ترکیبی با انواع متفاوت Core.
  • P-core: هسته عملکردی.
  • E-core: هسته بهره ور.
  • Thread Director: مکانیزم کمک به مدیریت Threadها در برخی CPUهای Intel.
  • Scheduler: زمان بند سیستم عامل.
  • Thread: رشته پردازشی.
  • Alder Lake: نام رمز خانواده نسل دوازدهم Core اینتل.
  • GPU Renderer: موتور رندر مبتنی بر GPU.
  • Game Engine: موتور نرم افزاری اجرای بخش های مختلف بازی.
  • Application Benchmark: آزمون Performance در برنامه واقعی.
  • Synthetic Benchmark: آزمون مصنوعی و کنترل شده Performance.
  • Bottleneck: گلوگاه محدود کننده Performance سیستم.

خلاصه فصل

برای پاسخ به سؤال «AMD بهتر است یا Intel؟»
ابتدا باید خود سؤال را دقیق تر کنیم.

روش صحیح:

Exact CPU
→
Generation
→
Architecture
→
Core Design
→
Power Class
→
Cooling
→
Workload
→
Price

سپس باید مشخص کنیم
کاربر واقعاً چه کاری با لپ تاپ انجام می دهد.

برای یک کاربر ممکن است
Single-Core مهم تر باشد؛
برای کاربر دیگر Multi-Core؛
و برای شخص دیگری GPU
عامل اصلی Performance باشد.

مهم ترین قانون این فصل:


AMD یا Intel بودن را انتخاب نکنید؛
پردازنده و لپ تاپی را انتخاب کنید
که برای کار شما بیشترین ارزش واقعی را ایجاد می کند.


فصل 57
سطح: متوسط تا پیشرفته
موضوع: CPU Benchmark
تمرکز: تفسیر صحیح نتایج Benchmark

یک عدد Benchmark بدون Context می تواند بیشتر گمراه کننده باشد تا مفید

آموزش حرفه ای خواندن Benchmark پردازنده؛ از امتیاز تا عملکرد واقعی

Benchmark یکی از مهم ترین ابزارهای مقایسه پردازنده است،
اما فقط زمانی ارزش دارد
که بدانیم دقیقاً چه چیزی را اندازه گیری می کند.
یک CPU ممکن است در یک Benchmark بسیار سریع باشد
و در برنامه واقعی مورد استفاده شما
اختلاف بسیار کمتری ایجاد کند.

بنابراین هدف این فصل
حفظ کردن امتیاز پردازنده ها نیست.
هدف این است که یاد بگیریم
هر عدد Benchmark را در Context صحیح بخوانیم.

Benchmark Score
+
Test Method
+
Workload
+
Power
+
Cooling
+
Platform
=
Meaningful Result

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark چیست.
  • Synthetic Benchmark و Real-World Benchmark چه تفاوتی دارند.
  • Single-Core Score چیست.
  • Multi-Core Score چیست.
  • چرا امتیاز Multi-Core مستقیماً از تعداد Core پیروی نمی کند.
  • Benchmark کوتاه و طولانی چه تفاوتی دارند.
  • Burst Performance و Sustained Performance چیست.
  • چرا Cooling نتیجه Benchmark را تغییر می دهد.
  • چرا CPU دسکتاپ و لپ تاپ با نام مشابه ممکن است عملکرد متفاوتی داشته باشند.
  • چرا نتایج دو سایت مختلف همیشه برابر نیستند.
  • چرا نسخه نرم افزار Benchmark اهمیت دارد.
  • چگونه Cinebench، Geekbench و PassMark را تفسیر کنیم.
  • چرا Benchmark برنامه واقعی از امتیاز کلی مهم تر است.
  • چگونه Benchmark مناسب Workload خود را انتخاب کنیم.
  • چگونه از اعداد Benchmark برای خرید اشتباه استفاده نکنیم.

Benchmark چیست؟


آزمون سنجش عملکرد — Benchmark

Benchmark
یا «آزمون سنجش عملکرد»
روشی برای اندازه گیری و مقایسه
Performance سخت افزار است.

Benchmark می تواند
یک CPU،
GPU،
RAM،
Storage
یا حتی کل سیستم را بررسی کند.

هدف Benchmark این است که
شرایط مشخصی ایجاد کند
تا بتوان عملکرد چند قطعه
یا چند سیستم را با یکدیگر مقایسه کرد.

اما نتیجه فقط در Context همان تست
معنا دارد.

Benchmark مصنوعی و Benchmark واقعی چه تفاوتی دارند؟

نوع Benchmark مفهوم مزیت محدودیت
Synthetic Benchmark تست طراحی شده برای اندازه گیری بخش مشخصی از Performance قابل تکرار و مناسب مقایسه کنترل شده ممکن است دقیقاً رفتار برنامه واقعی را نشان ندهد
Real-World Benchmark تست با برنامه یا Workload واقعی نزدیک تر به استفاده واقعی کاربر نتیجه ممکن است به تنظیمات برنامه و پروژه وابسته باشد


بنچمارک مصنوعی — Synthetic Benchmark

Synthetic Benchmark
تستی است که
Workload مشخص و کنترل شده ای
برای اندازه گیری Performance ایجاد می کند.

هدف آن لزوماً شبیه سازی کامل
یک برنامه واقعی نیست؛
بلکه ایجاد شرایطی استاندارد
برای مقایسه سخت افزارها است.


آزمون واقعی — Real-World Benchmark

Real-World Benchmark
یا «آزمون دنیای واقعی»
از نرم افزار،
پروژه،
بازی
یا Workload واقعی
برای اندازه گیری Performance استفاده می کند.

برای مثال می توان
زمان Encode یک ویدئو،
زمان Compile یک پروژه،
زمان Render یک Scene
یا Performance یک نرم افزار مهندسی را اندازه گیری کرد.

Single-Core Score چیست؟


امتیاز تک هسته ای — Single-Core Score

Single-Core Score
امتیازی است که
Performance یک Core
یا یک مسیر پردازشی محدود
را در Benchmark اندازه گیری می کند.

این معیار
برای Workloadهایی مهم است
که نمی توانند به طور موثر
از تعداد زیادی Core استفاده کنند.

Single-Core Performance
در بسیاری از عملیات:

  • رابط کاربری نرم افزارها
  • برخی عملیات CAD
  • بعضی مراحل Simulation
  • بعضی بازی ها
  • برخی عملیات برنامه نویسی
  • پردازش هایی با Parallelism محدود

اهمیت دارد.


قابلیت اجرای موازی — Parallelism

Parallelism
یا «قابلیت اجرای موازی»
نشان می دهد یک Workload
تا چه اندازه می تواند
به بخش های مستقل تقسیم شود
و همزمان روی منابع متعدد اجرا شود.

Multi-Core Score چیست؟


امتیاز چند هسته ای — Multi-Core Score

Multi-Core Score
Performance پردازنده
هنگام استفاده همزمان
از چندین Core و Thread را می سنجد.

این معیار برای Workloadهایی مانند:

  • CPU Rendering
  • Video Encoding
  • Compilation
  • Scientific Computing
  • برخی Simulationها
  • فشرده سازی و Decompression

اهمیت بیشتری دارد.


محاسبات علمی — Scientific Computing

Scientific Computing
یا «محاسبات علمی»
به استفاده از رایانه
برای حل مسائل عددی،
علمی،
مهندسی
و مدل سازی محاسباتی گفته می شود.


فشرده سازی — Compression

Compression
یا «فشرده سازی»
فرایند کاهش حجم داده است.

Decompression
یا «باز کردن داده فشرده»
فرایند بازگرداندن داده
از حالت فشرده است.

چرا دو برابر شدن Core به معنی دو برابر شدن امتیاز نیست؟

فرض کنید یک CPU چهار Core
و CPU دیگری هشت Core دارد.

نمی توان نتیجه گرفت:

8 Cores
=
2 × Performance of 4 Cores

زیرا Scaling نرم افزار
کامل نیست.


مقیاس پذیری — Scaling

Scaling
یا «مقیاس پذیری»
در این Context
نشان می دهد Performance یک Workload
با اضافه شدن Core یا Thread
تا چه اندازه افزایش پیدا می کند.

اگر برنامه نتواند
Coreهای بیشتر را به خوبی به کار بگیرد،
افزایش Core
اثر محدودتری خواهد داشت.

پشت صحنه فنی — Under the Hood: چرا Multi-Core همیشه خطی افزایش پیدا نمی کند؟

بسیاری از برنامه ها
ترکیبی از بخش های Parallel
و بخش های Sequential هستند.

اگر بخشی از برنامه
فقط روی یک Thread اجرا شود،
اضافه کردن Core بیشتر
نمی تواند آن قسمت را سریع تر کند.

بنابراین:

More Cores
→
Potentially More Performance

اما نه:

More Cores
→
Guaranteed Linear Performance


پردازش ترتیبی — Sequential Processing

Sequential Processing
یا «پردازش ترتیبی»
به حالتی گفته می شود
که مراحل عملیات
باید به ترتیب مشخصی انجام شوند
و امکان اجرای همزمان همه بخش ها وجود ندارد.

Benchmark کوتاه و طولانی چه تفاوتی دارند؟

CPU می تواند برای مدت کوتاه
فرکانس و توان بالاتری حفظ کند،
اما در Workload طولانی
شرایط حرارتی و Power Limit
اهمیت بیشتری پیدا می کنند.

نوع تست چه چیزی را بیشتر نشان می دهد؟
Short Test Burst Performance و Boost کوتاه مدت
Long Test Sustained Performance و رفتار حرارتی واقعی


عملکرد لحظه ای — Burst Performance

Burst Performance
یعنی Performance بالایی
که پردازنده می تواند
برای مدت کوتاهی ارائه کند.


عملکرد پایدار — Sustained Performance

Sustained Performance
یا «عملکرد پایدار»
Performance قابل حفظ
در مدت زمان طولانی تر است.

چرا CPU دسکتاپ و لپ تاپ با نام مشابه می توانند Performance متفاوتی داشته باشند؟

پلتفرم اهمیت بسیار زیادی دارد.

CPU دسکتاپ معمولاً
فضای بیشتری برای:

  • Cooling
  • Power Delivery
  • Heat Dissipation
  • فرکانس پایدار

در اختیار دارد.

در مقابل،
لپ تاپ باید محدودیت هایی مانند:

  • ضخامت
  • وزن
  • باتری
  • گرما
  • صدای فن

را نیز مدیریت کند.


دفع حرارت — Heat Dissipation

Heat Dissipation
یا «دفع حرارت»
فرایند انتقال گرمای تولید شده
از قطعات
به محیط اطراف است.

Benchmark پردازنده Workstation را چگونه بخوانیم؟

در Workstation
امتیاز عمومی CPU
به تنهایی کافی نیست.

باید Workload تخصصی را نیز بررسی کرد.

برای مثال:

  • Rendering
  • Simulation
  • CAD / CAM
  • Scientific Computing
  • Compilation
  • Virtualization

ممکن است رفتار متفاوتی
روی یک CPU داشته باشند.


مجازی سازی — Virtualization

Virtualization
یا «مجازی سازی»
فناوری ای است که امکان اجرای
چند محیط یا ماشین مجازی
روی یک سیستم فیزیکی
را فراهم می کند.

Benchmark پردازنده Server چرا متفاوت است؟

در Server،
معیارهایی مانند:

  • Throughput
  • Latency
  • Core Density
  • Memory Bandwidth
  • Power Efficiency
  • Scalability

اهمیت بیشتری پیدا می کنند.

بنابراین Benchmark مناسب Desktop
الزاماً معیار کامل
برای Server نیست.


توان عملیاتی — Throughput

Throughput
یا «توان عملیاتی»
مقدار کاری است
که سیستم می تواند
در یک بازه زمانی انجام دهد.

برای مثال:
تعداد درخواست قابل پردازش
در یک ثانیه.


تراکم هسته — Core Density

Core Density
یا «تراکم هسته»
به تعداد Core قابل ارائه
در یک تراشه،
Package
یا فضای مشخص
اشاره دارد.

Cinebench را چگونه تفسیر کنیم؟

Cinebench
یک Benchmark شناخته شده
برای سنجش Performance CPU
در Workload رندرینگ است.

معمولاً دو نوع نتیجه مهم دارد:

Single-Core
/
Multi-Core

نتیجه Single-Core
برای قدرت یک هسته
و Multi-Core
برای توان پردازشی مجموع Coreها
اطلاعات مفیدی می دهد.

اشتباه رایج — Common Mistake: Cinebench بالاتر یعنی CPU در همه برنامه ها سریع تر است

Cinebench یک Workload مشخص
را اندازه گیری می کند.

CPUای که در Cinebench قوی تر است
الزاماً در:

  • Gaming
  • AutoCAD
  • Excel
  • Web Browsing
  • Compression

به همان نسبت سریع تر نیست.

Geekbench را چگونه بخوانیم؟

Geekbench
مجموعه ای از Workloadهای مختلف
برای سنجش Performance CPU ارائه می کند.

نتایج آن معمولاً شامل:

Single-Core Score
+
Multi-Core Score

هستند.

مزیت چنین تستی
ارائه یک نگاه عمومی تر است،
اما باز هم یک امتیاز واحد
جای Benchmark برنامه واقعی را نمی گیرد.

PassMark چه اطلاعاتی می دهد؟

PassMark CPU Mark
یک امتیاز ترکیبی
برای مقایسه Performance CPUها ارائه می دهد.

این امتیاز برای:

  • بررسی سریع اختلاف کلی CPUها
  • مرتب کردن تعداد زیادی مدل
  • پیدا کردن محدوده تقریبی Performance

می تواند مفید باشد.

اما برای تصمیم نهایی
بهتر است Benchmarkهای مرتبط با Workload
نیز بررسی شوند.


امتیاز ترکیبی — Composite Score

Composite Score
یا «امتیاز ترکیبی»
عددی است که
از ترکیب نتایج چند تست
یا چند Workload ساخته می شود.

این عدد برای مقایسه سریع مفید است،
اما جزئیات رفتار CPU
در هر نوع Workload را پنهان می کند.

چرا نسخه Benchmark اهمیت دارد؟

امتیاز نسخه های مختلف
یک نرم افزار Benchmark
الزاماً قابل مقایسه مستقیم نیست.

ممکن است در نسخه جدید:

  • Workload تغییر کند.
  • الگوریتم امتیازدهی تغییر کند.
  • Instruction Set جدید استفاده شود.
  • مدت تست تغییر کند.
  • پشتیبانی سخت افزاری جدید اضافه شود.

بنابراین:

Score from Version A
≠
Score from Version B


مجموعه دستورها — Instruction Set

Instruction Set
یا «مجموعه دستورها»
مجموعه عملیات پایه ای است
که پردازنده
برای اجرای برنامه ها پشتیبانی می کند.

چرا نتایج دو سایت متفاوت یکی نیست؟

حتی اگر CPU یکسان باشد،
شرایط تست ممکن است متفاوت باشد.

عوامل تاثیرگذار:

  • Motherboard
  • BIOS
  • Power Limit
  • RAM Speed
  • RAM Timings
  • Cooling
  • Operating System
  • Background Processes
  • Benchmark Version
  • Ambient Temperature


دمای محیط — Ambient Temperature

Ambient Temperature
یا «دمای محیط»
دمای هوای اطراف سیستم
هنگام اجرای تست است.

دمای بالاتر محیط
می تواند روی Cooling
و فرکانس پایدار پردازنده
اثر بگذارد.

RAM چگونه روی Benchmark CPU اثر می گذارد؟

بعضی Workloadها
به Memory Bandwidth
و Memory Latency
حساس هستند.

بنابراین یک CPU یکسان
با دو پیکربندی RAM متفاوت
ممکن است نتیجه متفاوتی ایجاد کند.


تاخیر حافظه — Memory Latency

Memory Latency
یا «تاخیر حافظه»
زمان مورد نیاز
برای دسترسی پردازنده
به داده موجود در حافظه است.


زمان بندی حافظه — Memory Timings

Memory Timings
یا «زمان بندی حافظه»
مجموعه پارامترهایی هستند
که تاخیر عملیات مختلف RAM
را مشخص می کنند.


پردازش پس زمینه — Background Process

Background Process
یا «پردازش پس زمینه»
برنامه یا سرویسی است
که همزمان با Benchmark
در سیستم اجرا می شود.

این پردازش ها
می توانند بخشی از CPU،
RAM
یا Storage
را مصرف کنند
و نتیجه تست را تغییر دهند.

Power Mode چگونه نتیجه را تغییر می دهد؟

بسیاری از سیستم ها
چند حالت Performance دارند.

برای مثال:

Quiet
/
Balanced
/
Performance

این حالت ها می توانند:

  • Power Limit
  • Fan Speed
  • Boost Behavior
  • Temperature Target

را تغییر دهند.


افزایش فرکانس موقت — Boost

Boost
حالتی است که پردازنده
در صورت وجود محدودیت حرارتی و توان مناسب
فرکانس خود را
بالاتر از فرکانس پایه افزایش می دهد.

Benchmark در حالت Stock و Overclocked چه تفاوتی دارد؟


تنظیمات کارخانه — Stock Settings

Stock Settings
یعنی اجرای سخت افزار
با تنظیمات استاندارد
و تعریف شده توسط سازنده
بدون Overclock دستی.


اورکلاک — Overclocking

Overclocking
یا «اورکلاک»
به افزایش فرکانس یا تنظیمات Performance
فراتر از مقادیر استاندارد
برای دستیابی به Performance بیشتر گفته می شود.

هنگام مقایسه دو نتیجه
باید مشخص باشد
سیستم ها در چه شرایطی تست شده اند.

اشتباه رایج — Common Mistake: مقایسه CPU محدود شده با CPU بدون محدودیت توان

اگر یک CPU
با Power Limit استاندارد
و دیگری با تنظیمات بازتر
آزمایش شود،
مقایسه ممکن است
تصویر دقیقی از رفتار استاندارد دو CPU ندهد.

دما را کنار Benchmark بخوانید

Performance بالا
بدون توجه به دما
تصویر کاملی از سیستم ارائه نمی کند.

یک CPU ممکن است
امتیاز بسیار بالایی تولید کند
اما همزمان:

  • مصرف انرژی بالایی داشته باشد.
  • دمای زیادی ایجاد کند.
  • فن ها با صدای بالا کار کنند.

در سیستم Desktop
شاید Cooling بزرگ تر
این مسئله را بهتر مدیریت کند،
اما در Mini PC،
All-in-One
یا Laptop
محدودیت فضا اهمیت بیشتری دارد.


مینی کامپیوتر — Mini PC

Mini PC
یا «مینی کامپیوتر»
سیستم کامپیوتری کوچک و فشرده ای است
که قطعات اصلی کامپیوتر
در بدنه ای بسیار کوچک تر از کیس Desktop معمولی
قرار می گیرند.


کامپیوتر یکپارچه — All-in-One

All-in-One
یا «کامپیوتر یکپارچه»
سیستمی است که
اجزای اصلی کامپیوتر
در بدنه نمایشگر
یا ساختاری یکپارچه قرار گرفته اند.

Performance per Watt را فراموش نکنید


عملکرد به ازای وات — Performance per Watt

Performance per Watt
یعنی مقدار Performance
در برابر انرژی مصرف شده.

این معیار
برای لپ تاپ،
سرور،
Mini PC
و سیستم های کم مصرف
اهمیت زیادی دارد.

دو CPU ممکن است
Performance مشابهی ارائه کنند،
اما یکی با توان بسیار کمتر.

در چنین شرایطی
Efficiency می تواند
مزیت مهمی باشد.

مهم ترین قانون: Benchmark مرتبط با کار خودتان را پیدا کنید

اگر هدف شما AutoCAD است،
فقط Benchmark رندر CPU
معیار کافی نیست.

اگر هدف شما Rendering است،
فقط Single-Core Score کافی نیست.

اگر هدف Server است،
امتیاز Gaming CPU
ارزش زیادی ندارد.

بنابراین:

Correct Benchmark
=
Benchmark Closest to Your Workload

برای هر کاربری چه Benchmarkی مهم تر است؟

کاربری معیارهای مهم تر
Office Single-Core، پاسخگویی سیستم، مصرف انرژی
Programming Single-Core + Multi-Core + Compile Test
AutoCAD Single-Core + Application Test + GPU
Revit Single-Core، RAM، Application Test و برخی Multi-Core Workloadها
CPU Rendering Multi-Core + Long-duration Test
GPU Rendering GPU Benchmark + VRAM + CPU Support
Gaming Game Benchmark + 1% Low + Average FPS
Scientific Computing Application Benchmark + Vector Performance + Memory
Server Throughput + Latency + Efficiency + Scalability
Virtualization Core / Thread + RAM Capacity + Sustained Multi-Core


یک درصد پایین — 1% Low

1% Low
در Benchmark بازی
معیاری برای بررسی
Performance در بخش های کندتر تجربه بازی است.

Average FPS
فقط میانگین را نشان می دهد،
اما 1% Low
می تواند اطلاعات بیشتری درباره
افت های محسوس Performance ارائه کند.

پایگاه داده Benchmark را چگونه استفاده کنیم؟

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

اما داده ها ممکن است
از سیستم های مختلف
با تنظیمات متفاوت آمده باشند.

بنابراین بهتر است
یک نتیجه واحد را
حقیقت مطلق در نظر نگیریم.


اندازه نمونه — Sample Size

Sample Size
یا «اندازه نمونه»
تعداد نتایج یا آزمایش هایی است
که برای تولید یک میانگین
یا تحلیل آماری استفاده شده اند.

نتیجه ای که بر اساس
صدها نمونه تولید شده
معمولاً تصویر عمومی تری
نسبت به یک تست منفرد ارائه می کند.


پراکندگی نتایج — Variance

Variance
یا «پراکندگی»
نشان می دهد نتایج مختلف
تا چه اندازه
از یکدیگر فاصله دارند.

پراکندگی زیاد
می تواند نشان دهد
عوامل محیطی یا تنظیمات سیستم
تاثیر زیادی روی نتیجه دارند.

Benchmark در سیستم استوک چه کاربردی دارد؟

Benchmark فقط برای مقایسه مدل CPU نیست.
در سیستم استوک
می تواند ابزار تشخیص نیز باشد.

اگر یک دستگاه
به شکل غیرعادی
پایین تر از محدوده متعارف همان مدل
Performance داشته باشد،
ممکن است لازم باشد مواردی مانند:

  • Temperature
  • Cooling
  • Power Mode
  • RAM Configuration
  • Background Process
  • Firmware
  • Thermal Paste

بررسی شوند.

نکته مهندسی — Engineering Insight: Benchmark می تواند ابزار عیب یابی باشد

اگر یک CPU
در شرایط مشابه
معمولاً امتیاز مشخصی دارد
اما سیستم مورد بررسی
بسیار پایین تر عمل می کند،
این اختلاف می تواند
نشانه یک مشکل باشد.

Benchmark در این حالت
فقط برای Ranking نیست؛
بلکه برای:

Diagnosis

یعنی:
تشخیص مشکل
نیز کاربرد دارد.


رتبه بندی — Ranking

Ranking
یا «رتبه بندی»
یعنی مرتب کردن پردازنده ها
بر اساس یک معیار یا امتیاز مشخص.

اختلاف 10 درصد در Benchmark چه معنایی دارد؟

اگر CPU A
ده درصد امتیاز بیشتری از CPU B داشته باشد،
این فقط یعنی
در همان Benchmark
اختلافی در این محدوده ثبت شده است.

به معنی این نیست که:

Every Task
=
10% Faster

در یک برنامه واقعی
اختلاف می تواند:

  • بیشتر باشد.
  • کمتر باشد.
  • تقریباً صفر باشد.
  • در بعضی شرایط حتی جهت متفاوتی داشته باشد.

تاثیر بر عملکرد — Performance Impact: درصد Benchmark را با زمان واقعی اشتباه نگیرید

فرض کنید CPU جدید
20 درصد سریع تر باشد.

اگر کاری روی CPU قدیمی
فقط 10 ثانیه طول بکشد،
زمان صرفه جویی شده
ممکن است برای کاربر
اهمیت زیادی نداشته باشد.

اما اگر Render
دو ساعت طول بکشد،
همان درصد اختلاف
می تواند بسیار مهم شود.

بنابراین:

Performance Difference
×
Workload Duration
=
Practical Time Impact


تاثیر زمانی واقعی — Practical Time Impact

Practical Time Impact
یعنی میزان زمانی که
افزایش Performance
در کار واقعی کاربر
صرفه جویی می کند.

Benchmark را با قیمت ترکیب کنید

قوی ترین CPU
الزاماً بهترین خرید نیست.

باید:

Performance Gain
vs
Price Increase

بررسی شود.

اگر CPU جدید
فقط 8 درصد سریع تر
اما 40 درصد گران تر باشد،
ممکن است مدل قبلی
Value بیشتری داشته باشد.


ارزش خرید — Value

Value
یا «ارزش خرید»
رابطه میان مزایای واقعی محصول
و هزینه ای است
که برای آن پرداخت می شود.

قانون سه نسل را در Benchmark هم اجرا کنید

هنگام بررسی یک CPU،
فقط آن را با یک مدل مقایسه نکنید.

ساختار بهتر:

Previous Generation
↔
Target CPU
↔
Next Generation

سپس سه سؤال بپرسید:

  1. نسل قبل چقدر کندتر است؟
  2. نسل هدف چقدر گران تر است؟
  3. نسل بعد با چه افزایش قیمت و Performanceی عرضه می شود؟

روش استاندارد تحلیل Benchmark پردازنده

01
مدل کامل CPU را مشخص کنیدنام تجاری کلی کافی نیست.
02
Platform را مشخص کنیدDesktop، Laptop، Workstation، Mini PC یا Server؟
03
نوع Benchmark را پیدا کنیدSynthetic یا Real-World؟
04
Single-Core و Multi-Core را جدا کنیدهر کدام کاربرد متفاوتی دارند.
05
مدت تست را بررسی کنیدShort Burst یا Sustained Load؟
06
Power و Cooling را بررسی کنیدمخصوصاً در Laptop، Mini PC و All-in-One.
07
RAM و Platform Configuration را بررسی کنیدRAM می تواند نتیجه برخی Workloadها را تغییر دهد.
08
نسخه Benchmark را یکسان کنیدامتیاز نسخه های مختلف را مستقیم مقایسه نکنید.
09
Application Benchmark را پیدا کنیدنتیجه نزدیک به کار واقعی شما مهم تر است.
10
قیمت را وارد تحلیل کنیدPerformance بدون Price-to-Performance ناقص است.

اشتباهات رایج — Common Mistakes: خطاهای خواندن Benchmark
  • انتخاب CPU فقط بر اساس یک امتیاز.
  • مقایسه نسخه های متفاوت Benchmark.
  • مقایسه Single-Core با Multi-Core.
  • فرض اینکه Core بیشتر همیشه امتیاز متناسب بیشتری می دهد.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Power Limit.
  • مقایسه Desktop و Laptop بدون توجه به کلاس توان.
  • نادیده گرفتن RAM.
  • نادیده گرفتن سیستم عامل و Background Process.
  • تفسیر Benchmark کوتاه به عنوان Performance طولانی مدت.
  • انتخاب CPU برای AutoCAD فقط با Cinebench.
  • انتخاب CPU برای Gaming فقط با Multi-Core Score.
  • انتخاب CPU برای Server با Benchmark دسکتاپ.
  • فرض اینکه 10 درصد امتیاز بیشتر یعنی تمام کارها 10 درصد سریع تر هستند.
  • نادیده گرفتن قیمت.
  • نادیده گرفتن نسل قبل و بعد.
  • نادیده گرفتن Workload واقعی کاربر.

سوالات متداول درباره Benchmark پردازنده

Benchmark چیست؟

Benchmark آزمونی برای سنجش
و مقایسه Performance سخت افزار است.

Single-Core Score چیست؟

امتیازی برای اندازه گیری
Performance یک Core
یا Workload محدود به یک مسیر پردازشی است.

Multi-Core Score چیست؟

امتیازی برای سنجش
Performance پردازنده
هنگام استفاده از چند Core و Thread است.

آیا Core بیشتر یعنی Multi-Core سریع تر؟

معمولاً Core بیشتر
ظرفیت پردازش بالاتری ایجاد می کند،
اما معماری،
Clock،
نوع Core
و Scaling نرم افزار نیز مهم هستند.

Cinebench برای مقایسه CPU مناسب است؟

بله، برای Workload رندر CPU
ابزار مفیدی است،
اما نباید تنها معیار انتخاب CPU باشد.

Geekbench برای چه کاری خوب است؟

برای ارائه یک دید عمومی
از Single-Core و Multi-Core Performance مفید است،
اما Benchmark برنامه واقعی همچنان اهمیت دارد.

PassMark CPU Mark چیست؟

یک امتیاز ترکیبی
برای مقایسه کلی Performance CPUها است.

چرا نتایج Benchmark دو سایت فرق دارند؟

تفاوت در RAM،
Cooling،
BIOS،
Power Limit،
نسخه Benchmark،
سیستم عامل
و شرایط تست
می تواند نتیجه را تغییر دهد.

آیا 20 درصد Benchmark بیشتر یعنی برنامه من 20 درصد سریع تر می شود؟

خیر.
اختلاف واقعی به Workload
و گلوگاه های سیستم بستگی دارد.

برای Rendering چه Benchmarkی مهم است؟

اگر Render مبتنی بر CPU باشد،
Multi-Core و تست طولانی مدت
اهمیت زیادی دارند.

برای AutoCAD چه Benchmarkی مهم است؟

Application Benchmark،
Single-Core Performance
و GPU
از معیارهای مهم هستند.

برای Gaming چه Benchmarkی مهم است؟

تست بازی واقعی،
Average FPS،
1% Low،
GPU
و CPU
باید کنار هم بررسی شوند.

Benchmark CPU دسکتاپ و لپ تاپ قابل مقایسه است؟

می توان آنها را مقایسه کرد،
اما کلاس توان،
Cooling
و محدودیت های Platform
باید در تفسیر نتیجه لحاظ شوند.

Benchmark برای سیستم استوک چه کاربردی دارد؟

علاوه بر مقایسه Performance،
می تواند برای تشخیص
عملکرد غیرعادی،
مشکل Cooling
یا تنظیمات نامناسب سیستم
مفید باشد.

بهترین Benchmark CPU کدام است؟

Benchmark واحدی برای همه کاربردها
بهترین نیست.
بهترین تست
تستی است که به Workload واقعی شما
نزدیک تر باشد.

اصطلاحات جدید این فصل

  • Benchmark: آزمون سنجش عملکرد.
  • Synthetic Benchmark: بنچمارک مصنوعی و کنترل شده.
  • Real-World Benchmark: تست مبتنی بر برنامه یا Workload واقعی.
  • Single-Core Score: امتیاز عملکرد تک هسته ای.
  • Multi-Core Score: امتیاز عملکرد چند هسته ای.
  • Parallelism: قابلیت اجرای موازی.
  • Scaling: مقیاس پذیری Performance با افزایش منابع.
  • Sequential Processing: پردازش ترتیبی.
  • Scientific Computing: محاسبات علمی.
  • Compression: فشرده سازی.
  • Decompression: باز کردن داده فشرده.
  • Burst Performance: عملکرد کوتاه مدت.
  • Sustained Performance: عملکرد پایدار.
  • Heat Dissipation: دفع حرارت.
  • Virtualization: مجازی سازی.
  • Throughput: توان عملیاتی.
  • Core Density: تراکم هسته.
  • Composite Score: امتیاز ترکیبی.
  • Instruction Set: مجموعه دستورهای پردازنده.
  • Ambient Temperature: دمای محیط.
  • Memory Latency: تاخیر حافظه.
  • Memory Timings: زمان بندی حافظه.
  • Background Process: پردازش پس زمینه.
  • Boost: افزایش موقت فرکانس پردازنده.
  • Stock Settings: تنظیمات استاندارد کارخانه.
  • Overclocking: افزایش فرکانس یا Performance فراتر از تنظیمات استاندارد.
  • Performance per Watt: عملکرد به ازای توان مصرفی.
  • 1% Low: معیاری برای بررسی افت های Performance در بازی.
  • Sample Size: اندازه نمونه.
  • Variance: پراکندگی نتایج.
  • Diagnosis: تشخیص مشکل.
  • Ranking: رتبه بندی.
  • Practical Time Impact: تاثیر واقعی اختلاف Performance بر زمان انجام کار.

خلاصه فصل

Benchmark ابزار بسیار قدرتمندی است،
اما فقط زمانی که
بدانیم چه چیزی را اندازه گیری می کند.

یک روش تحلیل صحیح:

CPU Model
→
Platform
→
Benchmark Type
→
Single / Multi Core
→
Test Duration
→
Power
→
Cooling
→
Real Application
→
Price

همچنین باید به خاطر داشت:

Benchmark Score
≠
Universal Performance

یعنی یک امتیاز
نمی تواند رفتار CPU
در تمام برنامه ها را توضیح دهد.

مهم ترین قانون این فصل:


Benchmark را برای پاسخ دادن به سؤال خودتان انتخاب کنید؛
نه اینکه سؤال خودتان را با Benchmark موجود تطبیق دهید.


فصل 58
سطح: پایه تا پیشرفته
موضوع: Desktop CPU Platform
تمرکز: Socket / Chipset / Motherboard / Upgrade Path

در دسکتاپ فقط CPU نمی خرید؛ یک Platform انتخاب می کنید

راهنمای جامع پردازنده های Desktop؛ سوکت، چیپست، مادربرد و مسیر ارتقا

در سیستم Desktop،
انتخاب پردازنده فقط انتخاب یک مدل CPU نیست.
پردازنده باید با Socket مادربرد،
Chipset،
BIOS،
نوع حافظه،
سیستم خنک کننده
و توان قابل ارائه توسط مادربرد سازگار باشد.

به همین دلیل مفهوم مهم تری به نام:

Platform

وارد بحث می شود.

Platform را می توان مجموعه ای از CPU،
Socket،
Chipset،
Motherboard،
Memory Standard
و قابلیت های مرتبط دانست
که با یکدیگر یک اکوسیستم سخت افزاری می سازند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Platform چیست.
  • Socket چیست.
  • Chipset چیست.
  • Motherboard چه نقشی در Performance و Compatibility دارد.
  • چرا یک CPU با هر مادربردی سازگار نیست.
  • BIOS و Microcode چه هستند.
  • VRM چیست.
  • چرا توان مادربرد برای CPUهای قدرتمند مهم است.
  • تفاوت نسل CPU با نسل Platform چیست.
  • Upgrade Path چیست.
  • چرا برخی Socketها عمر بیشتری دارند.
  • پسوندهای مهم Intel Desktop مانند K، KF و F چه هستند.
  • پسوندهای مهم AMD مانند X، X3D و G چه هستند.
  • iGPU در CPU دسکتاپ چه اهمیتی دارد.
  • چگونه CPU مناسب Desktop را انتخاب کنیم.

Platform چیست؟


پلتفرم سخت افزاری — Platform

Platform
یا «پلتفرم سخت افزاری»
مجموعه ای از قطعات و استانداردهای سازگار
است که یک سیستم
بر پایه آنها ساخته می شود.

در Desktop،
Platform معمولاً شامل مواردی مانند:

  • CPU Family
  • Socket
  • Chipset
  • Motherboard
  • Memory Generation
  • PCI Express Support
  • BIOS Support

Socket چیست؟


سوکت پردازنده — CPU Socket

CPU Socket
محل اتصال فیزیکی و الکتریکی
پردازنده به مادربرد است.

Socket مشخص می کند
چه پردازنده هایی از نظر شکل،
تعداد اتصال ها
و استاندارد الکتریکی
می توانند روی مادربرد نصب شوند.

اشتباهات رایج — Common Mistakes: یکسان بودن Socket یعنی سازگاری کامل

خیر.

حتی اگر دو CPU
از یک Socket فیزیکی استفاده کنند،
ممکن است مادربرد
برای یکی از آنها:

  • BIOS مناسب نداشته باشد.
  • Chipset سازگار نداشته باشد.
  • Power Delivery کافی نداشته باشد.
  • به صورت رسمی توسط سازنده پشتیبانی نشود.

بنابراین:

Same Socket
≠
Guaranteed Compatibility

Chipset چیست؟


چیپست — Chipset

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

بسته به Platform،
Chipset می تواند روی مواردی مانند:

  • تعداد خطوط PCI Express
  • تعداد پورت های USB
  • تعداد Storage Deviceهای قابل اتصال
  • قابلیت Overclocking
  • قابلیت های شبکه
  • Expansion

اثر بگذارد.


قابلیت توسعه — Expansion

Expansion
یا «قابلیت توسعه»
به امکان افزودن سخت افزارهای جدید
مانند:

  • GPU
  • SSD
  • Network Card
  • Capture Card
  • Sound Card

اشاره دارد.

مادربرد فقط یک برد اتصال نیست

کیفیت مادربرد
می تواند روی:

  • پایداری سیستم
  • توان قابل ارائه به CPU
  • RAM Support
  • Storage Support
  • Overclocking
  • تعداد Expansion Slotها
  • اتصالات شبکه و USB

اثر بگذارد.

VRM چیست؟


مدار تنظیم ولتاژ — VRM

VRM
مخفف:

Voltage Regulator Module

است.

ترجمه مفهومی:
مدار تنظیم ولتاژ.

VRM وظیفه دارد
ولتاژ مناسب و پایدار
برای CPU و برخی قطعات دیگر
فراهم کند.

تاثیر بر عملکرد — Performance Impact: چرا VRM برای CPU قدرتمند مهم است؟

یک CPU پرمصرف
می تواند جریان زیادی از مادربرد طلب کند.

اگر VRM ضعیف باشد
یا Cooling مناسبی نداشته باشد،
ممکن است:

  • دمای VRM بالا برود.
  • Power Limit محدود شود.
  • فرکانس CPU کاهش پیدا کند.
  • پایداری سیستم کاهش یابد.

بنابراین CPU قدرتمند
باید روی مادربردی نصب شود
که توان مدیریت آن را داشته باشد.


تامین توان — Power Delivery

Power Delivery
یا «تامین توان»
به مجموعه مسیرها و مدارهایی گفته می شود
که انرژی الکتریکی
را به قطعات سیستم می رسانند.

BIOS چه ارتباطی با سازگاری CPU دارد؟


سیستم ورودی و خروجی پایه — BIOS

BIOS
نرم افزار سطح پایین مادربرد است
که در راه اندازی سخت افزار
و تنظیمات اولیه سیستم نقش دارد.

در مادربردهای جدیدتر
معمولاً از UEFI استفاده می شود،
اما واژه BIOS همچنان به شکل عمومی
بسیار رایج است.

Microcode چیست؟


میکروکد — Microcode

Microcode
لایه ای از کنترل داخلی پردازنده است
که می تواند
نحوه اجرای برخی دستورها
و رفتارهای CPU را مدیریت کند.

سازندگان پردازنده
در بعضی موارد
از طریق Updateهای BIOS یا سیستم عامل
Microcode جدید ارائه می کنند.

نکته مهندسی — Engineering Insight: گاهی مادربرد CPU را می پذیرد اما قبل از نصب باید BIOS آپدیت شود

یک مادربرد ممکن است
از نظر Platform
با نسل جدید CPU سازگار باشد،
اما نسخه BIOS نصب شده روی آن
پردازنده جدید را نشناسد.

در چنین شرایطی
ممکن است قبل از نصب CPU جدید
نیاز به Update BIOS باشد.


رابط میان افزار یکپارچه توسعه پذیر — UEFI

UEFI
مخفف:

Unified Extensible Firmware Interface

است.

UEFI نسل جدیدتر
محیط راه اندازی و Firmware
سیستم های مدرن است
و جایگزین بسیاری از محدودیت های BIOS قدیمی شده است.

Upgrade Path چیست؟


مسیر ارتقا — Upgrade Path

Upgrade Path
یا «مسیر ارتقا»
نشان می دهد
یک Platform تا چه اندازه
امکان نصب CPUها یا قطعات جدیدتر را
در آینده فراهم می کند.

فرض کنید دو سیستم
Performance مشابهی دارند.

اما Platform اول
فقط از همان نسل CPU پشتیبانی می کند،
در حالی که Platform دوم
امکان نصب چند نسل بعدی را نیز دارد.

در این شرایط،
حتی اگر Performance امروز نزدیک باشد،
Platform دوم می تواند
ارزش بلندمدت بیشتری داشته باشد.

نکته مهندسی — Engineering Insight: بهترین CPU امروز همیشه بهترین Platform نیست

هنگام ساخت Desktop
فقط CPU امروز را نبینید.

باید بپرسید:

Can I Upgrade the CPU Later?

یعنی:
آیا در آینده می توان CPU را بدون تعویض مادربرد ارتقا داد؟

DDR4 یا DDR5؛ بخشی از تصمیم Platform

بعضی Platformها
فقط از یک نسل RAM پشتیبانی می کنند،
در حالی که برخی دوره های انتقالی
ممکن است مادربردهای مختلفی
با DDR4 یا DDR5 داشته باشند.

انتخاب حافظه روی:

  • هزینه سیستم
  • Memory Bandwidth
  • قابلیت ارتقا
  • Performance برخی Workloadها

اثر می گذارد.

پسوندهای مهم Intel Desktop

مدل کامل CPU
می تواند حروفی در انتها داشته باشد.

این حروف را نباید نادیده گرفت.

پسوند مفهوم کلی
K مدل دارای ضریب باز برای Overclocking در Platformهای سازگار
KF K با گرافیک مجتمع غیرفعال یا بدون iGPU قابل استفاده
F مدل بدون گرافیک مجتمع قابل استفاده
بدون پسوند مدل استاندارد خانواده

Multiplier چیست؟


ضریب پردازنده — CPU Multiplier

CPU Multiplier
یا «ضریب پردازنده»
یکی از عوامل تعیین فرکانس کاری CPU است.

به شکل ساده:

CPU Frequency
=
Base Clock
×
Multiplier


ضریب باز — Unlocked Multiplier

Unlocked Multiplier
یعنی کاربر
در Platform مناسب
امکان تغییر ضریب CPU
برای Overclocking را دارد.

اشتباهات رایج — Common Mistakes: K یعنی CPU همیشه سریع تر است

پسوند K
نشان دهنده قابلیت های مرتبط با Overclocking
و جایگاه مدل است،
اما Performance واقعی
همچنان به:

  • مدل CPU
  • Power Limit
  • Cooling
  • Motherboard
  • Workload

وابسته است.

پسوند F چه اهمیتی دارد؟

CPUهای Intel دارای پسوند F
برای خروجی تصویر
به GPU مجزا نیاز دارند.

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


گرافیک مجتمع — Integrated GPU / iGPU

iGPU
یا «گرافیک مجتمع»
پردازنده گرافیکی داخلی
در CPU یا Package پردازنده است.

وجود iGPU می تواند
برای:

  • خروجی تصویر بدون کارت گرافیک مجزا
  • عیب یابی سیستم
  • برخی عملیات Encode / Decode
  • سیستم های اداری

بسیار مفید باشد.

Intel Quick Sync چیست؟


شتاب دهنده ویدئو اینتل — Intel Quick Sync Video

Intel Quick Sync Video
فناوری شتاب دهی سخت افزاری
برای برخی عملیات Decode و Encode ویدئو
در گرافیک مجتمع Intel است.

این قابلیت
در بعضی Workloadهای ویدئویی
می تواند کاربرد زیادی داشته باشد.

پسوندها و نام های مهم AMD Desktop

پسوند / نام مفهوم کلی
X مدل Performance بالاتر در خانواده مربوطه
X3D مدل دارای فناوری 3D V-Cache در محصولات مربوطه
G در خانواده های مربوطه نشان دهنده تمرکز بیشتر بر گرافیک مجتمع بوده است
بدون پسوند مدل استاندارد خانواده

3D V-Cache چیست؟


کش سه بعدی AMD — 3D V-Cache

3D V-Cache
فناوری AMD
برای افزودن Cache بیشتر
با استفاده از ساختارهای سه بعدی
در برخی پردازنده ها است.

این فناوری
مخصوصاً در Workloadهای حساس به Cache
می تواند Performance را افزایش دهد.

تاثیر بر عملکرد — Performance Impact: چرا X3D در Gaming اهمیت پیدا کرده است؟

بعضی بازی ها
به Latency حافظه
و حجم Cache حساس هستند.

Cache بزرگ تر
می تواند باعث شود
داده های بیشتری نزدیک CPU باقی بمانند
و مراجعه به RAM کاهش پیدا کند.

اما:

More Cache
≠
Faster in Every Workload

یعنی X3D
در تمام نرم افزارها
به یک اندازه مزیت ایجاد نمی کند.


برخورد موفق کش — Cache Hit

Cache Hit
زمانی رخ می دهد
که داده مورد نیاز CPU
داخل Cache پیدا شود
و نیازی به مراجعه به حافظه کندتر نباشد.


عدم یافتن داده در کش — Cache Miss

Cache Miss
زمانی رخ می دهد
که داده مورد نیاز
در سطح Cache مورد بررسی وجود نداشته باشد
و CPU مجبور شود
به سطح پایین تر حافظه مراجعه کند.

پسوند G در AMD چیست؟

در برخی نسل های Ryzen Desktop،
مدل های G
با تمرکز بر پردازنده های دارای
گرافیک مجتمع قوی تر عرضه شده اند.

این مدل ها برای سیستم هایی که:

  • GPU مجزا ندارند،
  • سیستم اداری یا خانگی هستند،
  • Mini PC یا سیستم کم حجم هستند،

می توانند کاربردی باشند.

CPU و APU چه تفاوتی دارند؟


واحد پردازش شتاب یافته — APU

APU
اصطلاحی است که AMD
برای برخی پردازنده هایی استفاده کرده
که CPU و GPU مجتمع
را در یک محصول ترکیب می کنند.

در عمل،
بسیاری از CPUهای مدرن نیز
نوعی گرافیک مجتمع دارند،
بنابراین تفاوت نام گذاری
باید در Context همان نسل بررسی شود.

Cooling در Desktop چقدر اهمیت دارد؟

CPUهای Desktop
به دلیل توان بالاتر
می توانند حرارت زیادی تولید کنند.

نوع Cooler
می تواند روی:

  • Boost Clock
  • Sustained Performance
  • Temperature
  • Noise
  • Overclocking Headroom

اثر بگذارد.


ظرفیت باقی مانده — Headroom

Headroom
یا «ظرفیت باقی مانده»
مقدار فضای موجود
قبل از رسیدن سیستم
به یک محدودیت مشخص است.

برای مثال:

Thermal Headroom
یعنی ظرفیت حرارتی باقی مانده
قبل از رسیدن CPU
به محدوده دمایی محدود کننده.

Air Cooling و Liquid Cooling چیست؟

نوع معنی ویژگی کلی
Air Cooling خنک کننده هوایی هیت سینک + فن
Liquid Cooling خنک کننده مایع انتقال گرما با مدار مایع


خنک کننده مایع یکپارچه — AIO Liquid Cooler

AIO
مخفف:

All-in-One Liquid Cooler

است.

این نوع خنک کننده
یک مدار مایع از پیش مونتاژ شده
برای CPU فراهم می کند.

TDP و مصرف واقعی CPU Desktop

یکی از اشتباهات رایج
این است که عدد TDP
به عنوان بیشترین مصرف واقعی CPU
در نظر گرفته شود.

CPUهای مدرن
می توانند بسته به:

  • Boost
  • Motherboard Settings
  • Power Limit
  • Workload
  • Temperature

مصرف متفاوتی داشته باشند.


مصرف کل سیستم — Total System Power

Total System Power
یا «مصرف کل سیستم»
شامل مصرف:

  • CPU
  • GPU
  • Motherboard
  • RAM
  • Storage
  • Fans
  • سایر قطعات

است.

PSU چیست؟


منبع تغذیه — PSU

PSU
مخفف:

Power Supply Unit

است.

PSU یا «منبع تغذیه»
برق مورد نیاز قطعات سیستم
را تامین می کند.

هنگام انتخاب CPU و GPU قدرتمند
باید توان و کیفیت PSU
نیز بررسی شود.

منبع تغذیه ضعیف
می تواند باعث:

  • ناپایداری
  • خاموش شدن سیستم
  • عدم امکان ارتقای GPU
  • کارکرد نامناسب در بار سنگین

شود.

PCI Express چرا بخشی از Platform است؟


رابط PCI Express — PCIe

PCI Express
یا:

PCIe

رابط پرسرعتی برای اتصال
قطعاتی مانند:

  • GPU
  • NVMe SSD
  • Network Card
  • Expansion Card

به سیستم است.

PCIe Lane چیست؟


مسیر ارتباطی PCIe — PCIe Lane

Lane
یا «مسیر ارتباطی»
یک کانال انتقال داده
در PCI Express است.

رابط هایی مانند:

x1
/
x4
/
x8
/
x16

نشان می دهند
چند Lane برای اتصال
در اختیار قطعه قرار گرفته است.

اشتباهات رایج — Common Mistakes: مادربرد فقط چون Slot دارد پس همه مسیرها کامل هستند

ظاهر Slot
همیشه تعداد Lane واقعی
را مشخص نمی کند.

ممکن است یک Slot
از نظر فیزیکی x16 باشد
اما از نظر الکتریکی:

x4

کار کند.

مشخصات مادربرد
باید بررسی شود.

چرا نصب SSD می تواند روی Laneهای سیستم اثر بگذارد؟

در برخی مادربردها
Laneهای PCIe
میان Slotها و M.2ها
Share می شوند.

در نتیجه نصب یک SSD
ممکن است:

  • یک SATA Port را غیرفعال کند.
  • سرعت یک Slot را تغییر دهد.
  • Laneهای یک Expansion Slot را کاهش دهد.


اشتراک مسیرها — Lane Sharing

Lane Sharing
یا «اشتراک مسیرها»
زمانی است که چند اتصال
از منابع ارتباطی مشترک
استفاده می کنند.

Laneهای CPU و Chipset چه تفاوتی دارند؟

بعضی Laneها
مستقیماً از CPU می آیند
و برخی دیگر
از Chipset تامین می شوند.

ارتباط Chipset با CPU
نیز ظرفیت مشخصی دارد.

بنابراین در سیستم هایی
با تعداد زیادی:

  • SSD
  • Network Adapter
  • Capture Card
  • Expansion Device

طراحی Platform اهمیت بیشتری پیدا می کند.

Platform دسکتاپ معمولی و Workstation چه تفاوتی دارند؟

Workstation Platform
معمولاً برای نیازهای حرفه ای تر
طراحی می شود.

بسته به خانواده محصول،
می تواند مزایایی مانند:

  • Core Count بیشتر
  • Memory Capacity بیشتر
  • Memory Channel بیشتر
  • PCIe Lane بیشتر
  • ECC Support
  • Expansion بیشتر

ارائه کند.


حافظه با تصحیح خطا — ECC Memory

ECC
مخفف:

Error-Correcting Code

است.

ECC Memory
می تواند برخی خطاهای حافظه
را شناسایی و اصلاح کند.

این قابلیت در:

  • Server
  • Workstation
  • سیستم های علمی
  • سیستم های حساس به پایداری

اهمیت بیشتری دارد.

Memory Channel چیست؟


کانال حافظه — Memory Channel

Memory Channel
مسیر مستقل ارتباط
میان Memory Controller
و RAM است.

افزایش تعداد Channel
می تواند Memory Bandwidth
بیشتری فراهم کند.

برای مثال:

Dual Channel
→
2 Memory Channels

Quad Channel
→
4 Memory Channels

البته تعداد ماژول RAM
و تعداد Memory Channel
یک مفهوم کاملاً یکسان نیستند.


کنترلر حافظه — Memory Controller

Memory Controller
بخش سخت افزاری مسئول
مدیریت ارتباط CPU
با حافظه اصلی سیستم است.

ارزش Platform را چگونه بسنجیم؟

هنگام انتخاب CPU Desktop،
بهتر است هزینه کل Platform
محاسبه شود.

نه فقط قیمت CPU.

Platform Cost
=
CPU
+
Motherboard
+
RAM
+
Cooler
+
Possible PSU Upgrade


هزینه کل پلتفرم — Total Platform Cost

Total Platform Cost
یا «هزینه کل پلتفرم»
مجموع هزینه هایی است
که برای استفاده عملی
از یک CPU جدید
باید پرداخت شود.

نکته مهندسی — Engineering Insight: CPU ارزان تر ممکن است Platform گران تری بخواهد

فرض کنید CPU A
کمی ارزان تر از CPU B باشد.

اما برای CPU A
مجبور باشیم:

  • مادربرد گران تر بخریم،
  • RAM جدید بخریم،
  • Cooler قوی تر تهیه کنیم.

در این شرایط
قیمت خود CPU
معیار کاملی برای Value نیست.

Upgrade یا Rebuild؟


بازسازی کامل سیستم — Rebuild

Rebuild
در این Context
یعنی تعویض بخش بزرگی از Platform
برای استفاده از نسل جدید سخت افزار.

گاهی ارتقای CPU
فقط نیازمند تعویض خود CPU است.

اما گاهی نسل جدید
نیاز به:

New CPU
+
New Motherboard
+
New RAM

دارد.

در این حالت
هزینه ارتقا
بسیار بیشتر می شود.

برای هر کاربری در Desktop چه چیزی مهم تر است؟

کاربری معیارهای مهم CPU / Platform
Office قیمت، iGPU، مصرف، قابلیت ارتقا
Gaming Single-Core، Cache، GPU Balance، Platform Cost
Streaming CPU Threads، Hardware Encoder، GPU
Programming Single + Multi-Core، RAM Capacity، Storage
CPU Rendering Core Count، Multi-Core، Cooling، Power
3D / GPU Rendering PCIe، GPU Support، PSU، CPU کافی
Workstation Core Count، RAM Capacity، PCIe Lanes، ECC
Virtualization Core / Thread، RAM، I/O، Platform Stability

Balanced System چیست؟


سیستم متعادل — Balanced System

Balanced System
یا «سیستم متعادل»
سیستمی است که
CPU، GPU، RAM، Storage
و سایر قطعات
متناسب با نیاز کاربر انتخاب شده اند.

هدف این است که
هزینه زیادی روی بخشی
که استفاده نمی شود
هدر نرود.

تاثیر بر عملکرد — Performance Impact: CPU خیلی قوی کنار GPU ضعیف همیشه منطقی نیست

برای مثال در Gaming
اگر GPU گلوگاه اصلی باشد،
ارتقای CPU
از یک مدل قوی
به یک مدل بسیار قوی تر
ممکن است FPS زیادی اضافه نکند.

بنابراین:

Best CPU
≠
Best Balanced System

روش استاندارد انتخاب CPU برای Desktop

01
Workload را مشخص کنیدGaming، Office، Render، Programming یا Workstation؟
02
بودجه کل Platform را تعیین کنیدفقط بودجه CPU را مشخص نکنید.
03
CPUهای مناسب را پیدا کنیدIntel و AMD را بر اساس مدل واقعی مقایسه کنید.
04
Socket و Chipset را بررسی کنیدسازگاری Platform را تایید کنید.
05
مادربرد مناسب انتخاب کنیدVRM، Expansion، Storage و شبکه را بررسی کنید.
06
RAM Platform را بررسی کنیدDDR4 یا DDR5 و ظرفیت مورد نیاز را مشخص کنید.
07
Cooler را متناسب با CPU انتخاب کنیدمخصوصاً در CPUهای Performance بالا.
08
PSU را بررسی کنیدCPU و GPU آینده را نیز در نظر بگیرید.
09
Upgrade Path را بررسی کنیدببینید Platform در آینده چه گزینه هایی دارد.
10
نسل قبل و بعد را مقایسه کنیدشاید نسل قبل Value بهتر یا نسل بعد Upgrade Path بهتری داشته باشد.

اشتباهات رایج — Common Mistakes: انتخاب CPU Desktop
  • خرید CPU بدون بررسی Socket.
  • فرض اینکه Socket یکسان یعنی سازگاری کامل.
  • نادیده گرفتن BIOS Support.
  • نادیده گرفتن VRM مادربرد.
  • انتخاب CPU قدرتمند روی مادربرد بسیار ضعیف.
  • انتخاب مادربرد بسیار گران برای CPU ارزان بدون نیاز واقعی.
  • نادیده گرفتن Upgrade Path.
  • خرید CPU F بدون داشتن GPU مجزا.
  • خرید K بدون نیاز یا Platform مناسب Overclocking.
  • فرض اینکه X3D در تمام Workloadها سریع تر است.
  • نادیده گرفتن RAM Generation.
  • نادیده گرفتن Cooler.
  • نادیده گرفتن PSU.
  • نادیده گرفتن PCIe Laneها.
  • نادیده گرفتن Total Platform Cost.
  • خرید قوی ترین CPU بدون توجه به تعادل سیستم.

سوالات متداول درباره CPU و Platform دسکتاپ

Socket چیست؟

محل اتصال فیزیکی و الکتریکی CPU
به مادربرد است.

Chipset چیست؟

مجموعه قابلیت ها و کنترلرهای Platform
روی مادربرد است
که امکانات ارتباطی و توسعه سیستم را مدیریت می کند.

آیا هر CPU با Socket یکسان روی مادربرد کار می کند؟

خیر.
BIOS، Chipset،
پشتیبانی سازنده
و توان مادربرد
نیز باید بررسی شوند.

VRM چیست؟

Voltage Regulator Module
مدار تنظیم ولتاژ مادربرد
برای تامین توان پایدار CPU است.

CPU با پسوند K یعنی چه؟

در Intel Desktop
معمولاً به مدل دارای ضریب باز
برای Overclocking در Platform سازگار اشاره دارد.

پسوند F در Intel چیست؟

معمولاً به مدلی اشاره دارد
که گرافیک مجتمع قابل استفاده ندارد
و برای خروجی تصویر به GPU مجزا نیاز دارد.

KF چیست؟

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

X3D در AMD چیست؟

به مدل هایی با فناوری
3D V-Cache اشاره دارد
که Cache بیشتری در اختیار CPU قرار می دهند.

آیا X3D فقط برای Gaming است؟

خیر،
اما بسیاری از بازی های حساس به Cache
می توانند از آن مزیت زیادی بگیرند.
تاثیر در سایر Workloadها متفاوت است.

Upgrade Path چیست؟

میزان امکان ارتقای CPU
یا سایر اجزای Platform
در آینده است.

DDR4 بهتر است یا DDR5؟

DDR5 فناوری جدیدتری است
و Bandwidth بالقوه بیشتری دارد،
اما هزینه، Latency،
Platform
و نوع Workload
نیز باید بررسی شوند.

آیا CPU قوی به مادربرد گران نیاز دارد؟

الزاماً گران ترین مادربرد نه،
اما مادربرد باید VRM،
Cooling
و قابلیت های لازم
برای CPU مورد نظر را داشته باشد.

آیا Cooler روی سرعت CPU اثر دارد؟

بله.
Cooling بهتر
می تواند به CPU کمک کند
Boost و Sustained Performance
بالاتری حفظ کند.

برای سیستم اداری CPU بدون iGPU مناسب است؟

فقط اگر GPU مجزا وجود داشته باشد.
برای بسیاری از سیستم های اداری
داشتن iGPU ساده تر و اقتصادی تر است.

قیمت CPU یا هزینه Platform مهم تر است؟

برای تصمیم خرید
Total Platform Cost
معیار کامل تری است.

اصطلاحات جدید این فصل

  • Platform: مجموعه سخت افزارها و استانداردهای سازگار یک سیستم.
  • CPU Socket: محل اتصال پردازنده به مادربرد.
  • Chipset: مجموعه کنترلرها و قابلیت های Platform.
  • Expansion: قابلیت توسعه سخت افزار سیستم.
  • VRM: مدار تنظیم ولتاژ.
  • Power Delivery: سیستم تامین توان قطعات.
  • BIOS: Firmware سطح پایین مادربرد.
  • Microcode: لایه کنترل داخلی پردازنده.
  • UEFI: رابط Firmware مدرن سیستم.
  • Upgrade Path: مسیر ارتقای آینده Platform.
  • CPU Multiplier: ضریب تعیین کننده فرکانس CPU.
  • Unlocked Multiplier: ضریب قابل تغییر برای Overclocking.
  • iGPU: گرافیک مجتمع پردازنده.
  • Intel Quick Sync: شتاب دهنده سخت افزاری ویدئو Intel.
  • 3D V-Cache: فناوری افزایش Cache سه بعدی AMD.
  • Cache Hit: یافتن موفق داده مورد نیاز در Cache.
  • Cache Miss: نبود داده مورد نیاز در Cache.
  • APU: پردازنده دارای CPU و GPU مجتمع در نام گذاری AMD.
  • Headroom: ظرفیت باقی مانده پیش از رسیدن به محدودیت.
  • Air Cooling: خنک کننده هوایی.
  • Liquid Cooling: خنک کننده مایع.
  • AIO Liquid Cooler: خنک کننده مایع از پیش مونتاژ شده.
  • Total System Power: مصرف توان کل سیستم.
  • PSU: منبع تغذیه سیستم.
  • PCIe: رابط پرسرعت اتصال قطعات.
  • PCIe Lane: مسیر انتقال داده PCI Express.
  • Lane Sharing: اشتراک منابع PCIe میان چند اتصال.
  • ECC: حافظه دارای قابلیت تشخیص و اصلاح برخی خطاها.
  • Memory Channel: مسیر مستقل ارتباط حافظه با کنترلر.
  • Memory Controller: کنترلر ارتباط CPU و RAM.
  • Total Platform Cost: هزینه کل CPU، مادربرد، RAM و ملزومات Platform.
  • Rebuild: تعویض بخش عمده Platform برای نسل جدید.
  • Balanced System: سیستم با قطعات متناسب با Workload.

خلاصه فصل

در Desktop،
CPU را نباید
به صورت یک قطعه مستقل دید.

مسیر صحیح تحلیل:

CPU
→
Socket
→
Chipset
→
Motherboard
→
RAM
→
Cooling
→
PSU
→
Expansion
→
Upgrade Path

و هنگام مقایسه قیمت:

CPU Price
≠
Platform Cost

مهم ترین قانون این فصل:


در سیستم Desktop،
بهترین CPU الزاماً بهترین انتخاب نیست؛
بهترین انتخاب CPUای است
که روی Platform مناسب،
با هزینه منطقی
و مسیر ارتقای مناسب قرار بگیرد.


فصل 59
سطح: پایه تا پیشرفته
موضوع: Intel Desktop CPU Suffixes
تمرکز: K / KF / F / T / KS

چند حرف کوچک در انتهای نام CPU می توانند مشخصات مهم آن را تغییر دهند

راهنمای کامل پسوندهای پردازنده Intel Desktop؛ تفاوت K، KF، F، T و KS چیست؟

هنگام مقایسه پردازنده های Intel Desktop،
فقط عبارت هایی مانند Core i5،
Core i7
یا شماره مدل کافی نیستند.
حروفی که در انتهای نام پردازنده قرار می گیرند
می توانند اطلاعات مهمی درباره
قابلیت Overclocking،
گرافیک مجتمع،
کلاس توان
و جایگاه آن مدل در خانواده پردازنده ارائه کنند.

برای مثال،
مدل های زیر ممکن است
در نگاه اول بسیار شبیه به نظر برسند:

Core i7-13700
/
Core i7-13700F
/
Core i7-13700K
/
Core i7-13700KF
/
Core i7-13700T

اما این مدل ها
دقیقاً یک محصول با نام متفاوت نیستند.

شناخت پسوندها
به ما کمک می کند بفهمیم
هر مدل برای چه نوع سیستم و کاربری طراحی شده است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Suffix یا پسوند پردازنده چیست.
  • پردازنده Intel بدون پسوند چه مفهومی دارد.
  • پسوند K چیست.
  • پسوند KF چیست.
  • پسوند F چیست.
  • پسوند T چیست.
  • پسوند KS چیست.
  • Unlocked CPU چیست.
  • Overclocking دقیقاً چه کاری انجام می دهد.
  • چرا CPU سری K معمولاً Cooling قوی تری می خواهد.
  • چرا خرید مدل F بدون GPU مجزا می تواند مشکل ساز شود.
  • Quick Sync چه ارتباطی با انتخاب F و KF دارد.
  • چرا مدل T الزاماً CPU ضعیفی نیست.
  • چرا KS همیشه بهترین خرید نیست.
  • چگونه پسوند مناسب را بر اساس نوع سیستم انتخاب کنیم.

Suffix یا پسوند CPU چیست؟


پسوند پردازنده — CPU Suffix

Suffix
در زبان فارسی به معنی
«پسوند» است.

در نام گذاری CPU،
پسوند حرف یا مجموعه حروفی است
که معمولاً بعد از شماره مدل قرار می گیرد
و ویژگی خاصی از آن مدل را مشخص می کند.

برای مثال:

Core i5-13600K

حرف:

K

پسوند این مدل است.

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

در بسیاری از خانواده های Intel Desktop،
مدلی که پسوند خاصی ندارد
نسخه استاندارد آن مدل محسوب می شود.

برای مثال:

Core i7-13700

در برابر:

Core i7-13700K

مدل بدون K
معمولاً ضریب باز برای Overclocking سنتی CPU ندارد.

اما این موضوع
به معنی ضعیف بودن آن نیست.

برای بسیاری از کاربران،
مدل استاندارد می تواند
ترکیب بسیار مناسبی از:

  • Performance
  • مصرف انرژی
  • Cooling Requirement
  • قیمت

ارائه کند.

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


سری K — پردازنده دارای ضریب باز

در پردازنده های Desktop مربوطه،
پسوند:

K

معمولاً نشان دهنده
Unlocked Multiplier
یا «ضریب باز» است.

این ویژگی امکان
تنظیم فرکانس پردازنده
از طریق Multiplier
را در پلتفرم های سازگار
فراهم می کند.

Overclocking دقیقاً چیست؟


اورکلاک — Overclocking

Overclocking
یا «اورکلاک»
به تنظیم سخت افزار
برای کار در فرکانس یا شرایط عملکردی
بالاتر از تنظیمات استاندارد آن
گفته می شود.

هدف معمولاً
افزایش Performance است.

اما Performance بیشتر
بدون هزینه نیست.

Overclocking می تواند باعث افزایش:

  • مصرف انرژی
  • حرارت
  • نیاز به Cooling
  • فشار روی VRM مادربرد

شود.

Voltage چه ارتباطی با Overclocking دارد؟


ولتاژ — Voltage

Voltage
یا «ولتاژ»
یکی از پارامترهای الکتریکی مهم
در عملکرد پردازنده است.

در برخی شرایط،
دستیابی به فرکانس بالاتر
ممکن است به ولتاژ بیشتری نیاز داشته باشد.

اما افزایش ولتاژ
معمولاً مصرف انرژی و حرارت را نیز افزایش می دهد
و باید با دقت انجام شود.

چرا دو CPU کاملاً هم مدل ممکن است دقیقاً یکسان Overclock نشوند؟

تراشه های تولید شده
حتی اگر یک مدل تجاری یکسان داشته باشند،
از نظر ویژگی های الکتریکی
می توانند تفاوت های جزئی داشته باشند.


تفاوت طبیعی تراشه ها — Silicon Variation

Silicon Variation
یا «تفاوت طبیعی تراشه های سیلیکونی»
به اختلاف های کوچک
میان تراشه هایی گفته می شود
که از یک طراحی ساخته شده اند.

به همین دلیل
دو CPU هم مدل
الزاماً با ولتاژ،
فرکانس
و دمای کاملاً یکسان کار نمی کنند.

Binning چیست؟


دسته بندی تراشه ها بر اساس کیفیت عملکرد — Binning

Binning
فرایندی است
که طی آن سازنده
تراشه های تولید شده را
بر اساس ویژگی هایی مانند:

  • فرکانس قابل دستیابی
  • مصرف انرژی
  • ولتاژ مورد نیاز
  • سلامت بخش های مختلف تراشه

آزمایش و دسته بندی می کند.

تاثیر بر عملکرد — Performance Impact: خرید K بدون Cooling مناسب

اگر CPU سری K
قابلیت Performance بالایی داشته باشد
اما Cooler نتواند حرارت را دفع کند،
پردازنده ممکن است
نتواند فرکانس بالا را
برای مدت طولانی حفظ کند.

در نتیجه:

Powerful CPU
+
Weak Cooling
=
Limited Sustained Performance

Thermal Throttling چیست؟


کاهش عملکرد برای کنترل دما — Thermal Throttling

Thermal Throttling
یا «کاهش عملکرد ناشی از محدودیت حرارتی»
زمانی رخ می دهد
که پردازنده برای جلوگیری از افزایش بیش از حد دما،
فرکانس یا توان خود را کاهش دهد.

پسوند KF چیست؟

مدل های:

KF

در خانواده های مربوطه
ویژگی اصلی سری K
یعنی ضریب باز را دارند،
اما گرافیک مجتمع آنها
برای استفاده در دسترس نیست.

بنابراین:

KF
=
K Characteristics
+
No Usable Integrated Graphics

اشتباه رایج — Common Mistake: خرید KF و انتظار خروجی تصویر از مادربرد

وجود HDMI یا DisplayPort
روی مادربرد
به تنهایی به معنی
امکان دریافت تصویر نیست.

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

در سیستم دارای CPU سری KF
معمولاً به کارت گرافیک مجزا نیاز داریم.


خروجی تصویر مادربرد — Motherboard Video Output

پورت هایی مانند HDMI یا DisplayPort
روی مادربرد
معمولاً خروجی تصویر
گرافیک مجتمع پردازنده را منتقل می کنند.

خود وجود این پورت ها
به معنی وجود GPU داخل مادربرد نیست.

پسوند F چیست؟


سری F — بدون گرافیک مجتمع قابل استفاده

پسوند:

F

در مدل های Desktop مربوطه Intel
نشان می دهد
گرافیک مجتمع پردازنده
برای استفاده در دسترس نیست.

بنابراین برای خروجی تصویر
معمولاً به:

Discrete GPU

یا «کارت گرافیک مجزا»
نیاز داریم.


کارت گرافیک مجزا — Discrete GPU

Discrete GPU
یا «پردازنده گرافیکی مجزا»
یک GPU مستقل از CPU است
که معمولاً روی کارت گرافیک اختصاصی قرار دارد.

پس چرا کسی مدل F می خرد؟

اگر سیستم از ابتدا
کارت گرافیک مجزا داشته باشد،
ممکن است کاربر
نیازی به خروجی تصویر iGPU نداشته باشد.

اگر مدل F
با قیمت مناسب تری عرضه شود،
می تواند از نظر هزینه
گزینه منطقی باشد.

اما این تصمیم
فقط زمانی درست است
که مزایای iGPU
برای کاربر اهمیت نداشته باشند.

iGPU فقط برای سیستم بدون کارت گرافیک نیست

حتی در سیستمی
که GPU قدرتمند مجزا دارد،
iGPU می تواند مفید باشد.

یکی از کاربردهای مهم آن:

Troubleshooting

است.


عیب یابی — Troubleshooting

Troubleshooting
یا «عیب یابی»
فرایند پیدا کردن علت
یک مشکل سخت افزاری یا نرم افزاری است.

برای مثال اگر GPU مجزا خراب شود،
وجود iGPU
می تواند برای گرفتن تصویر
و بررسی سیستم بسیار مفید باشد.

مدل F چه ارتباطی با Quick Sync دارد؟

Intel Quick Sync Video
از بخش رسانه ای
گرافیک مجتمع Intel استفاده می کند.

بنابراین در پردازنده ای
که iGPU قابل استفاده ندارد،
قابلیت های وابسته به آن
نیز در دسترس نخواهند بود.

این موضوع برای افرادی که با:

  • Video Editing
  • Video Encoding
  • Streaming
  • Media Transcoding

کار می کنند
می تواند مهم باشد.


تبدیل قالب رسانه — Transcoding

Transcoding
یا «تبدیل قالب رسانه»
فرایند تبدیل فایل صوتی یا تصویری
از یک Codec،
Format
یا مشخصات فنی
به حالت دیگری است.


کدک — Codec

Codec
روش یا فناوری
رمزگذاری و رمزگشایی
داده های صوتی و تصویری است.

نمونه های شناخته شده شامل:

H.264
/
H.265
/
AV1

هستند.

پسوند T چیست؟


سری T — مدل بهینه شده برای توان پایین تر

پسوند:

T

در خانواده های مربوطه Intel Desktop
معمولاً به مدل هایی اشاره دارد
که برای کار در محدوده توان پایین تر
تنظیم شده اند.

این پردازنده ها
می توانند برای سیستم هایی مانند:

  • Small Form Factor PC
  • Mini PC
  • سیستم اداری کم مصرف
  • سیستم با Cooling محدود
  • برخی All-in-Oneها

مناسب باشند.


کامپیوتر با فرم فاکتور کوچک — Small Form Factor / SFF

Small Form Factor
که به اختصار:

SFF

گفته می شود،
به کامپیوترهایی با بدنه کوچک تر
از کیس های Desktop معمولی اشاره دارد.

فضای کمتر
می تواند محدودیت بیشتری
برای Cooling،
PSU
و Expansion ایجاد کند.

اشتباه رایج — Common Mistake: حرف T یعنی پردازنده ضعیف

هدف سری T
صرفاً ساخت CPU «ضعیف» نیست.

این مدل ها
برای محدودیت توان متفاوتی
طراحی یا تنظیم می شوند.

در Workloadهای کوتاه
ممکن است Performance بسیار خوبی ارائه کنند،
اما در بار پردازشی طولانی
محدودیت توان می تواند
اختلاف بیشتری ایجاد کند.

پسوند KS چیست؟


سری KS — مدل ویژه با فرکانس بالا

پسوند:

KS

در برخی نسل های Intel
برای مدل های ویژه
با فرکانس های بالاتر
و جایگاه Performance بالا
استفاده شده است.

این مدل ها معمولاً
برای کاربری هایی عرضه می شوند
که حداکثر Performance
در اولویت بالاتری قرار دارد.

پشت صحنه فنی — Under the Hood: چرا مدل KS می تواند فرکانس بالاتری داشته باشد؟

در فرایند تولید،
همه تراشه ها
دقیقاً ویژگی های الکتریکی یکسانی ندارند.

سازنده می تواند
با Testing و Binning،
تراشه هایی را که
شرایط مناسب تری برای فرکانس بالاتر دارند
انتخاب کند.

به چنین انتخابی
گاهی در زبان فنی:

Higher-Binned Silicon

گفته می شود.

مفهوم فارسی آن:

تراشه ای است که در فرایند دسته بندی،
قابلیت عملکرد در سطح بالاتری نشان داده است.

آیا KS همیشه ارزش خرید بیشتری دارد؟

خیر.

باید بررسی شود:

Performance Gain
/
Price Premium
/
Power
/
Cooling

یعنی:

  • چقدر Performance بیشتر دریافت می کنیم؟
  • چقدر پول بیشتر پرداخت می کنیم؟
  • مصرف انرژی چقدر بیشتر است؟
  • چه Coolingای لازم داریم؟


مبلغ اضافه برای مدل بالاتر — Price Premium

Price Premium
یعنی مبلغ اضافه ای
که برای دریافت
نسخه یا مدل بالاتر یک محصول
پرداخت می شود.

Diminishing Returns چیست؟


بازده نزولی — Diminishing Returns

Diminishing Returns
یا «بازده نزولی»
یعنی با افزایش هزینه،
مقدار منفعت اضافه ای که دریافت می کنیم
به تدریج کمتر شود.

برای مثال ممکن است
برای دریافت آخرین چند درصد Performance،
مجبور شویم هزینه،
توان مصرفی
و Cooling بسیار بیشتری تحمل کنیم.

نکته مهندسی — Engineering Insight: سریع ترین CPU ممکن است بدترین انتخاب اقتصادی باشد

در بالاترین بخش بازار،
گاهی افزایش Performance
بسیار کمتر از افزایش قیمت است.

فرض کنید به صورت فرضی:

+5% Performance
=
+25% Platform Cost

برای کاربری که
آن 5 درصد Performance
درآمد یا زمان قابل توجهی ایجاد نمی کند،
مدل ارزان تر
می تواند انتخاب منطقی تری باشد.

K یا مدل معمولی؛ کدام را بخریم؟

نیاز انتخاب قابل بررسی دلیل
سیستم اداری مدل استاندارد معمولاً نیازی به هزینه اضافی سری K نیست
Gaming قدرتمند K یا مدل استاندارد قوی باید اختلاف Performance و قیمت بررسی شود
Overclocking K ضریب باز در Platform سازگار
سیستم کم مصرف T یا مدل مناسب محدودیت توان تمرکز بیشتر روی مصرف و حرارت
سیستم حرفه ای با GPU مجزا F / KF قابل بررسی در صورت عدم نیاز به iGPU
Video Editing مدل دارای iGPU قابل بررسی Quick Sync ممکن است کاربردی باشد
حداکثر Performance بدون تمرکز بر Value KS در نسل های دارای این مدل مدل ویژه Performance بالا

اگر Overclock نکنیم، خرید K بی فایده است؟

الزاماً خیر.

مدل K
ممکن است علاوه بر قابلیت Overclocking،
در همان خانواده
تنظیمات فرکانسی و توان متفاوتی
نسبت به مدل استاندارد داشته باشد.

بنابراین باید
مشخصات همان نسل و همان مدل
بررسی شود.

اما اگر کاربر
از قابلیت های اضافی استفاده نمی کند،
باید بررسی کند
آیا اختلاف Performance
ارزش هزینه بیشتر CPU،
مادربرد
و Cooling را دارد یا خیر.

تاثیر بر عملکرد و هزینه — Performance Impact: قیمت K فقط قیمت خود CPU نیست

برای استفاده کامل از یک CPU قدرتمند K
ممکن است به:

Better Motherboard
+
Better VRM
+
Better Cooler
+
Higher-Capacity PSU

نیاز داشته باشیم.

بنابراین باید
هزینه کل Platform
محاسبه شود.

Power Limit چیست؟


محدودیت توان — Power Limit

Power Limit
یا «محدودیت توان»
چارچوبی است که
میزان توان قابل استفاده CPU
را در شرایط مختلف
کنترل می کند.

تنظیمات توان
می توانند روی:

  • Clock Frequency
  • Temperature
  • Sustained Performance
  • Power Consumption

اثر بگذارند.

چرا یک CPU روی دو مادربرد می تواند رفتار متفاوتی داشته باشد؟

تنظیمات BIOS،
Power Limit،
VRM
و Cooling
می توانند رفتار CPU را تغییر دهند.

بنابراین حتی اگر:

CPU Model A
=
CPU Model A

باشد،
نتیجه Benchmark دو سیستم
الزاماً دقیقاً یکسان نیست.


عملکرد استاندارد — Stock Operation

Stock Operation
یعنی استفاده از پردازنده
در محدوده تنظیمات استاندارد
تعریف شده برای آن،
بدون Overclock دستی.

معنی پسوند را از نسل پردازنده جدا نکنید

یکی از مهم ترین قوانین
خواندن نام CPU این است:

پسوند فقط یک بخش
از هویت پردازنده است.

برای تحلیل صحیح باید:

Brand
+
Family
+
Generation
+
Model
+
Suffix

را کنار یکدیگر بخوانیم.

مثال: چگونه نام یک Intel CPU را بخوانیم؟

Intel Core i7-13700KF

بخش مفهوم
Intel سازنده
Core خانواده محصول
i7 رده محصول در سیستم نام گذاری مربوطه
13 در این الگوی نام گذاری، نسل سیزدهم
700 شماره مدل در خانواده
K ضریب باز
F گرافیک مجتمع قابل استفاده ندارد

اشتباه رایج — Common Mistake: خواندن نام CPU به جای بررسی Performance واقعی

نام CPU
اطلاعات زیادی می دهد،
اما Benchmark نیست.

برای مثال نمی توان
فقط از روی:

i5
/
i7
/
i9

نتیجه گرفت
کدام CPU در Workload واقعی سریع تر است.

نسل،
معماری،
تعداد Core،
فرکانس،
Cache،
توان
و Workload
باید بررسی شوند.

قانون سه نسل در خرید Intel Desktop

قبل از خرید یک CPU،
بهتر است مدل هدف
با نسل قبل و نسل بعد
مقایسه شود.

برای مثال ساختار تحلیل:

Previous Generation
↔
Target Generation
↔
Next Generation

سپس موارد زیر بررسی شوند:

  • Performance
  • قیمت CPU
  • قیمت مادربرد
  • نوع RAM
  • Cooling Requirement
  • Upgrade Path
  • مصرف انرژی

راهنمای سریع انتخاب پسوند Intel Desktop

01
آیا کارت گرافیک مجزا دارید؟اگر ندارید،
مدل های F و KF معمولاً انتخاب مناسبی نیستند.
02
آیا Quick Sync برای شما مهم است؟اگر بله،
وجود iGPU را بررسی کنید.
03
آیا قصد Overclocking دارید؟اگر بله،
K یا KF و Platform سازگار را بررسی کنید.
04
آیا سیستم محدودیت توان یا Cooling دارد؟مدل های کم مصرف مانند T
می توانند ارزش بررسی داشته باشند.
05
آیا حداکثر Performance مهم تر از Value است؟مدل های ویژه مانند KS
در نسل های مربوطه قابل بررسی هستند.
06
هزینه کل Platform را محاسبه کنیدCPU تنها هزینه تصمیم شما نیست.
07
Benchmark واقعی را بررسی کنیدپسوند به تنهایی Performance را تعیین نمی کند.

جدول خلاصه پسوندهای Intel Desktop

پسوند ویژگی اصلی iGPU قابل استفاده کاربری قابل بررسی
بدون پسوند مدل استاندارد خانواده بسته به مدل کاربری عمومی، اداری، حرفه ای
K ضریب باز معمولاً بله، بسته به مدل Performance بالا و Overclocking
KF ضریب باز + بدون iGPU قابل استفاده خیر سیستم دارای GPU مجزا
F بدون iGPU قابل استفاده خیر سیستم دارای GPU مجزا
T مدل با تمرکز بر توان پایین تر بسته به مدل SFF، Office، سیستم کم مصرف
KS مدل ویژه Performance بالا در نسل های مربوطه بسته به مدل سیستم High-End و Performance محور


رده بالای بازار — High-End

High-End
یا «رده بالای بازار»
به محصولاتی گفته می شود
که معمولاً در بخش بالاتر
از نظر Performance،
امکانات
و قیمت قرار می گیرند.

سوالات متداول درباره پسوندهای Intel Desktop

K در CPU اینتل یعنی چه؟

در مدل های مربوطه Desktop،
K معمولاً نشان دهنده
ضریب باز برای Overclocking
روی Platform سازگار است.

F در پردازنده Intel یعنی چه؟

در مدل های مربوطه،
گرافیک مجتمع قابل استفاده ندارد
و برای خروجی تصویر
معمولاً به GPU مجزا نیاز است.

KF چیست؟

مدلی با ویژگی ضریب باز سری K
و بدون گرافیک مجتمع قابل استفاده است.

T در CPU اینتل یعنی چه؟

معمولاً به مدل Desktop
بهینه شده برای محدوده توان پایین تر اشاره دارد.

KS چیست؟

در نسل هایی که Intel این مدل را عرضه کرده،
KS معمولاً نسخه ویژه Performance بالا
با فرکانس های بالاتر است.

آیا K همیشه از مدل بدون K بهتر است؟

نه برای همه کاربران.
Performance،
قیمت،
Cooling،
مصرف
و نوع Workload
باید مقایسه شوند.

آیا برای CPU سری K حتماً باید Overclock انجام دهیم؟

خیر.
CPU بدون Overclock نیز کار می کند.
مسئله این است که آیا مزایای مدل K
ارزش هزینه بیشتر را برای کاربر دارد یا خیر.

آیا CPU سری F ضعیف تر است؟

حرف F به خودی خود
به معنی ضعیف بودن CPU نیست.
ویژگی مهم آن
نبود گرافیک مجتمع قابل استفاده است.

اگر کارت گرافیک دارم، iGPU دیگر فایده ای ندارد؟

خیر.
iGPU می تواند برای عیب یابی،
خروجی تصویر پشتیبان
و قابلیت هایی مانند Quick Sync
مفید باشد.

آیا پورت HDMI مادربرد با CPU سری F کار می کند؟

در حالت معمول خیر،
زیرا خروجی های تصویر مادربرد
به گرافیک مجتمع قابل استفاده CPU وابسته هستند.

برای سیستم اداری K بخریم؟

معمولاً نیازی نیست،
مگر اینکه دلیل مشخصی
برای انتخاب آن مدل وجود داشته باشد.

برای تدوین ویدئو F بخریم؟

باید با دقت بررسی شود.
اگر نرم افزار و Workflow شما
از Intel Quick Sync استفاده می کند،
وجود iGPU می تواند مزیت مهمی باشد.

آیا T برای سیستم کوچک مناسب است؟

در بسیاری از سیستم های دارای محدودیت توان و Cooling،
مدل های T می توانند گزینه مناسبی باشند،
اما مشخصات دستگاه باید بررسی شود.

آیا KS بهترین CPU Intel است؟

«بهترین» به معیار بستگی دارد.
KS ممکن است Performance بسیار بالایی ارائه دهد،
اما Value،
مصرف انرژی،
Cooling
و Workload نیز مهم هستند.

اصطلاحات جدید این فصل

  • Suffix: پسوند انتهای نام پردازنده که اطلاعاتی درباره نوع مدل می دهد.
  • Unlocked Multiplier: ضریب باز و قابل تنظیم پردازنده.
  • Overclocking: تنظیم سخت افزار برای Performance بالاتر از شرایط استاندارد.
  • Voltage: ولتاژ الکتریکی.
  • Silicon Variation: تفاوت طبیعی میان تراشه های سیلیکونی هم مدل.
  • Binning: آزمایش و دسته بندی تراشه ها بر اساس ویژگی های عملکردی.
  • Thermal Throttling: کاهش عملکرد برای کنترل دمای پردازنده.
  • Motherboard Video Output: خروجی تصویر مادربرد که معمولاً به iGPU وابسته است.
  • Discrete GPU: پردازنده گرافیکی یا کارت گرافیک مجزا.
  • Troubleshooting: فرایند عیب یابی و پیدا کردن علت مشکل.
  • Transcoding: تبدیل رسانه از یک قالب یا Codec به قالب دیگر.
  • Codec: فناوری رمزگذاری و رمزگشایی صوت یا تصویر.
  • SFF: کامپیوتر دارای فرم فاکتور کوچک.
  • Higher-Binned Silicon: تراشه انتخاب شده با قابلیت عملکرد در سطح بالاتر.
  • Price Premium: مبلغ اضافه پرداختی برای نسخه بالاتر محصول.
  • Diminishing Returns: بازده نزولی؛ افزایش کمتر منفعت در برابر افزایش بیشتر هزینه.
  • Power Limit: محدودیت توان قابل استفاده پردازنده.
  • Stock Operation: عملکرد پردازنده با تنظیمات استاندارد.
  • High-End: رده بالای بازار از نظر Performance، امکانات یا قیمت.

خلاصه فصل

هنگام خواندن نام پردازنده Intel Desktop،
پسوند را نادیده نگیرید.

K
→
Unlocked

KF
→
Unlocked + No Usable iGPU

F
→
No Usable iGPU

T
→
Power-Optimized Desktop Model

KS
→
Special High-Performance Model

اما پسوند
به تنهایی برای انتخاب CPU کافی نیست.

روش صحیح:

Generation
+
CPU Model
+
Suffix
+
Benchmark
+
Workload
+
Motherboard
+
Cooling
+
Total Platform Cost

مهم ترین قانون این فصل:


حروف انتهای نام CPU
را به عنوان اطلاعات فنی بخوانید،
نه به عنوان رتبه بندی ساده خوب و بد.


فصل 60
سطح: پایه تا پیشرفته
موضوع: AMD Ryzen Desktop
تمرکز: X / X3D / G / Standard Models

در Ryzen Desktop، پسوند فقط یک حرف نیست؛ می تواند نوع کاربرد CPU را تغییر دهد

راهنمای کامل پردازنده های AMD Ryzen Desktop؛ تفاوت X، X3D، G و مدل های بدون پسوند

در خانواده Ryzen Desktop،
مدل هایی با شماره نزدیک
می توانند ویژگی ها و هدف طراحی متفاوتی داشته باشند.
برای مثال یک Ryzen دارای پسوند X،
یک مدل X3D،
یک مدل G
و یک مدل بدون پسوند
لزوماً برای یک نوع سیستم ساخته نشده اند.

هنگام انتخاب پردازنده AMD،
فقط تعداد Core،
فرکانس
یا عدد Ryzen 5 و Ryzen 7 را نگاه نمی کنیم.
باید مدل کامل،
معماری،
Cache،
گرافیک مجتمع،
توان،
Platform
و نوع Workload را کنار یکدیگر قرار دهیم.

Exact Model
→
Architecture
→
Suffix
→
Cache
→
iGPU
→
Power
→
Workload
→
Platform Cost

در این فصل چه چیزهایی یاد می گیریم؟

  • مدل بدون پسوند Ryzen چه جایگاهی دارد.
  • پسوند X در Ryzen Desktop چه مفهومی دارد.
  • پسوند X3D چیست.
  • 3D V-Cache چگونه کار می کند.
  • چرا Cache بیشتر می تواند Gaming را سریع تر کند.
  • چرا X3D در همه Workloadها برنده نیست.
  • پسوند G چیست.
  • APU چیست و چه تفاوتی با CPU معمولی دارد.
  • گرافیک مجتمع Ryzen چگونه در نسل های مختلف تغییر کرده است.
  • چرا وجود iGPU برای عیب یابی مهم است.
  • Eco Mode چیست.
  • Performance per Watt چیست.
  • چگونه X3D را با مدل معمولی و X مقایسه کنیم.
  • چگونه نسل قبل، مدل هدف و نسل بعد را کنار هم قرار دهیم.
  • برای Gaming، Office، Rendering، Workstation و سیستم بدون GPU مجزا کدام نوع Ryzen مناسب تر است.

Ryzen بدون پسوند چه معنایی دارد؟

در بسیاری از خانواده های Ryzen Desktop،
مدل بدون پسوند خاص
نسخه استاندارد خانواده محسوب می شود.

نمونه:

Ryzen 5 5600

یا:

Ryzen 7 7700

چنین مدل هایی
الزاماً «نسخه ضعیف» خانواده نیستند.

در بسیاری از سیستم ها
مدل استاندارد می تواند
ترکیب بسیار مناسبی از:

  • Performance
  • مصرف انرژی
  • حرارت
  • قیمت
  • نیاز کمتر به Cooling بسیار سنگین

ارائه کند.

پسوند X در AMD Ryzen چیست؟


مدل Performance بالاتر — Ryzen X

پسوند:

X

در بسیاری از خانواده های Ryzen Desktop
برای مدلی با تنظیمات Performance بالاتر
در همان خانواده استفاده شده است.

بسته به نسل،
مدل X می تواند
فرکانس،
محدوده توان
یا تنظیمات عملکردی متفاوتی
نسبت به مدل استاندارد داشته باشد.

اشتباه رایج — Common Mistake: X همیشه به معنی ارزش خرید بیشتر است

خیر.

ممکن است مدل X
Performance بیشتری ارائه کند،
اما باید بررسی شود
این اختلاف در برابر:

  • قیمت بیشتر
  • مصرف بالاتر
  • حرارت بیشتر
  • Cooler گران تر

چقدر ارزش دارد.

Higher Performance
≠
Higher Value

Ryzen X یا مدل استاندارد؟

پاسخ را نباید فقط از روی نام داد.

باید بررسی شود:

Performance Difference
/
Price Difference
/
Power Difference
/
Cooling Cost

اگر اختلاف Performance کم
ولی اختلاف قیمت و توان زیاد باشد،
مدل استاندارد ممکن است
انتخاب منطقی تری باشد.

X3D چیست؟


پردازنده دارای کش سه بعدی — Ryzen X3D

پسوند:

X3D

در مدل های مربوطه AMD
نشان دهنده استفاده از فناوری:

3D V-Cache

است.

هدف این فناوری
افزایش ظرفیت Cache پردازنده
با استفاده از ساختار بسته بندی سه بعدی است.

3D V-Cache دقیقاً چیست؟

در طراحی عادی،
بخش های تراشه عمدتاً
در سطح دو بعدی Die
کنار یکدیگر قرار می گیرند.

در 3D V-Cache،
AMD می تواند
Cache اضافی را
به صورت عمودی
روی بخشی از طراحی قرار دهد.

به زبان ساده:

Traditional Layout
→
Side-by-Side

3D V-Cache
→
Vertical Cache Stacking


روی هم قرار دادن عمودی تراشه ها — Die Stacking

Die Stacking
یا «روی هم قرار دادن Dieها»
روشی است که در آن
بخش های نیمه هادی
به صورت عمودی
روی یکدیگر قرار می گیرند.

این روش
می تواند امکان افزودن منابع بیشتر
بدون افزایش شدید سطح افقی تراشه
را فراهم کند.

چرا Cache بیشتر می تواند Gaming را سریع تر کند؟

CPU دائماً به داده نیاز دارد.

اگر داده مورد نیاز
داخل Cache باشد،
دسترسی معمولاً بسیار سریع تر
از مراجعه به RAM است.

بنابراین افزایش Cache
می تواند در Workloadهای حساس
تعداد مراجعه به حافظه اصلی را کاهش دهد.


سلسله مراتب حافظه — Memory Hierarchy

Memory Hierarchy
یا «سلسله مراتب حافظه»
به لایه های مختلف ذخیره و دسترسی داده
در سیستم گفته می شود.

به شکل ساده:

Registers
→
L1 Cache
→
L2 Cache
→
L3 Cache
→
RAM
→
Storage

هرچه از CPU دورتر می شویم،
معمولاً ظرفیت بیشتر
اما Latency نیز بیشتر می شود.


ثبات پردازنده — Register

Register
یا «ثبات»
یکی از کوچک ترین
و سریع ترین محل های نگهداری داده
در داخل CPU است.

پردازنده
برای اجرای مستقیم بسیاری از عملیات
از Registerها استفاده می کند.

Cache Hit و Cache Miss چرا مهم هستند؟

اگر CPU
داده مورد نیاز را
در Cache پیدا کند:

Cache Hit

رخ داده است.

اگر داده موجود نباشد:

Cache Miss

رخ می دهد
و CPU باید به سطح دیگری
از Memory Hierarchy مراجعه کند.

افزایش Cache
در Workload مناسب
می تواند احتمال Cache Hit
را افزایش دهد.

پشت صحنه فنی — Under the Hood: چرا Cache بزرگ تر همیشه CPU را سریع تر نمی کند؟

مزیت Cache
به رفتار Workload وابسته است.

اگر داده های فعال برنامه
بتوانند از Cache بزرگ تر استفاده کنند،
Performance ممکن است به شکل قابل توجهی بهتر شود.

اما اگر Workload:

  • به Cache حساس نباشد،
  • بیشتر به توان محاسباتی خام وابسته باشد،
  • به GPU محدود باشد،
  • یا داده بسیار بزرگ تری از Cache داشته باشد،

افزایش Cache
ممکن است تاثیر بسیار کمتری ایجاد کند.

More Cache
≠
Universal Performance Gain

Working Set چیست؟


مجموعه داده فعال — Working Set

Working Set
یا «مجموعه داده فعال»
به بخشی از داده و کد گفته می شود
که یک برنامه
در یک بازه زمانی
به طور مکرر به آن نیاز دارد.

اگر بخش بیشتری از Working Set
در Cache جا شود،
ممکن است مراجعه به RAM کاهش پیدا کند.

چرا X3D در Gaming اهمیت زیادی دارد؟

بسیاری از بازی ها
شامل مجموعه بزرگی از:

  • Game Logic
  • Physics Data
  • Object Data
  • Draw Call Information
  • AI State

هستند.

در بعضی موتورهای بازی،
Cache بزرگ تر
می تواند دسترسی CPU
به این داده ها را سریع تر کند.


فرمان ترسیم — Draw Call

Draw Call
فرمانی است که CPU
برای درخواست ترسیم
بخشی از صحنه
به GPU ارسال می کند.

تعداد زیاد Draw Call
می تواند بار قابل توجهی
روی CPU ایجاد کند.

CPU-Limited یعنی چه؟


محدودیت توسط پردازنده — CPU-Limited

CPU-Limited
یعنی Performance سیستم
بیشتر توسط CPU محدود شده است
تا GPU.

در چنین شرایطی
ارتقای CPU
می تواند FPS را افزایش دهد.


محدودیت توسط کارت گرافیک — GPU-Limited

GPU-Limited
یعنی GPU
عامل اصلی محدود کننده Performance است.

در این حالت
ارتقای CPU
ممکن است تاثیر کمی روی FPS داشته باشد.

Resolution چه ارتباطی با مزیت X3D دارد؟

در بسیاری از بازی ها،
با افزایش Resolution
بار پردازش GPU بیشتر می شود.

بنابراین ممکن است سیستم
از حالت CPU-Limited
به سمت GPU-Limited حرکت کند.

به همین دلیل
اختلاف CPUهای بسیار قدرتمند
در بعضی تست های:

1080p

بیشتر از:

4K

دیده شود.

تاثیر بر عملکرد — Performance Impact: X3D را با GPU مناسب آزمایش کنید

اگر Benchmark Gaming
با GPU بسیار ضعیف انجام شود،
GPU ممکن است قبل از CPU
به Bottleneck تبدیل شود.

در نتیجه مزیت CPU قدرتمندتر
به طور کامل دیده نمی شود.

برای مقایسه CPU در Gaming،
Benchmark باید طوری طراحی شود
که محدودیت CPU
تا حد امکان قابل مشاهده باشد.

آیا X3D برای Workstation و Rendering هم بهترین است؟

الزاماً خیر.

برخی Workloadهای حرفه ای
بیشتر به:

  • Core Count
  • Clock
  • Instruction Throughput
  • Memory Bandwidth
  • GPU

وابسته هستند.

در چنین برنامه هایی
Cache اضافه
ممکن است به اندازه Gaming
مزیت ایجاد نکند.


توان اجرای دستورها — Instruction Throughput

Instruction Throughput
یا «توان عملیاتی اجرای دستورها»
نشان می دهد پردازنده
در یک بازه زمانی
چه حجم از عملیات
را می تواند پردازش کند.

اشتباه رایج — Common Mistake: X3D چون در Gaming قوی است پس برای همه چیز بهترین CPU است

چنین نتیجه ای صحیح نیست.

Workload باید بررسی شود.

یک CPU X3D
ممکن است در Gaming فوق العاده باشد،
اما CPU دیگری
با Core بیشتر
یا Clock متفاوت
در Rendering،
Encoding
یا بعضی Workloadهای علمی
سریع تر باشد.

پسوند G در Ryzen چیست؟


مدل دارای تمرکز بیشتر بر گرافیک مجتمع — Ryzen G

پسوند:

G

در برخی خانواده های Ryzen Desktop
برای مدل هایی استفاده شده
که دارای گرافیک مجتمع
با اهمیت بیشتر در طراحی محصول هستند.

نمونه شناخته شده:

Ryzen 5 5600G

اشتباه رایج — Common Mistake: 5600G همان 5600 با GPU اضافه است

این برداشت ساده سازی بیش از حد است.

مدل های G
در برخی نسل ها
می توانند از نظر:

  • Die Design
  • Cache
  • PCIe Support
  • Clock
  • گرافیک مجتمع

با مدل غیر G
همان شماره تفاوت داشته باشند.

بنابراین:

Same Number
≠
Same CPU + Added GPU


طراحی فیزیکی تراشه — Die Design

Die Design
یا «طراحی Die»
به نحوه سازمان دهی
بخش های مختلف تراشه
روی سیلیکون اشاره دارد.

APU چیست؟


واحد پردازش شتاب یافته — APU

APU
مخفف:

Accelerated Processing Unit

است.

این اصطلاح توسط AMD
برای برخی پردازنده هایی استفاده شده
که CPU و GPU مجتمع
را در یک محصول ترکیب می کنند.

APU برای چه سیستم هایی مفید است؟

APU می تواند برای:

  • سیستم اداری
  • کامپیوتر خانگی
  • سیستم اقتصادی
  • Mini PC
  • All-in-One
  • سیستم بدون GPU مجزا
  • سیستم پشتیبان

گزینه جذابی باشد.

نکته مهندسی — Engineering Insight: سرعت RAM در APU اهمیت بیشتری پیدا می کند

گرافیک مجتمع
حافظه اختصاصی مشابه بسیاری از کارت های گرافیک مجزا ندارد
و از RAM سیستم استفاده می کند.

بنابراین:

Faster / Better Configured RAM
→
Higher Memory Bandwidth
→
Potentially Better iGPU Performance

به همین دلیل
نوع و پیکربندی RAM
در سیستم دارای iGPU
اهمیت ویژه ای دارد.

Dual Channel چرا برای گرافیک مجتمع مهم است؟

اگر پلتفرم و پیکربندی حافظه
امکان استفاده از چند کانال حافظه را فراهم کند،
پهنای باند بیشتری
در اختیار CPU و iGPU قرار می گیرد.

این موضوع
مخصوصاً برای GPU مجتمع
می تواند تاثیر مهمی داشته باشد.


گلوگاه حافظه — Memory Bottleneck

Memory Bottleneck
زمانی ایجاد می شود
که سرعت یا پهنای باند حافظه
نتواند داده را
با سرعت کافی
در اختیار پردازنده قرار دهد.

تمام گرافیک های مجتمع Ryzen یکسان نیستند

وجود iGPU
به تنهایی
قدرت گرافیکی را مشخص نمی کند.

باید مواردی مانند:

  • GPU Architecture
  • Compute Units
  • Clock
  • Memory Bandwidth
  • Power Limit

بررسی شوند.


واحد محاسباتی گرافیک — Compute Unit

Compute Unit
یا «واحد محاسباتی»
یکی از بلوک های پردازشی
در معماری های گرافیکی AMD است.

تعداد Compute Unit
یکی از عوامل موثر
در ظرفیت پردازشی GPU است،
اما به تنهایی Performance را تعیین نمی کند.

در نسل های جدیدتر، وجود iGPU فقط مخصوص G نیست

در بعضی پلتفرم ها و نسل های جدیدتر AMD،
برخی Ryzenهای Desktop بدون پسوند G
نیز دارای گرافیک مجتمع پایه هستند.

بنابراین قانون:

No G
=
No iGPU

را نمی توان برای تمام نسل های Ryzen
به صورت عمومی استفاده کرد.

همیشه مشخصات همان مدل
باید بررسی شود.

تاثیر بر انتخاب — Performance Impact: معنی پسوندها را نسل به نسل بررسی کنید

نام گذاری سازندگان
در طول زمان تغییر می کند.

یک قانون مربوط به Ryzen 3000
الزاماً نباید بدون بررسی
روی Ryzen 7000 یا نسل های دیگر اعمال شود.

بنابراین:

Suffix Meaning
+
Generation Context
=
Correct Interpretation

Eco Mode چیست؟


حالت اقتصادی توان — Eco Mode

Eco Mode
در پلتفرم های پشتیبانی شده AMD
روشی برای کاهش محدوده توان مصرفی پردازنده
با هدف کاهش:

  • مصرف انرژی
  • حرارت
  • صدای فن

است.

در مقابل،
ممکن است بخشی از Performance
در Workloadهای سنگین کاهش پیدا کند.

پشت صحنه فنی — Under the Hood: چرا کاهش توان همیشه Performance را به همان نسبت کم نمی کند؟

رابطه Power و Performance
خطی نیست.

برای رسیدن به آخرین بخش
از فرکانس و Performance CPU،
گاهی توان بسیار بیشتری لازم است.

بنابراین کاهش توان
ممکن است مقدار زیادی از مصرف را کم کند
اما درصد کمتری از Performance را از بین ببرد.

Large Power Reduction
≠
Equally Large Performance Reduction

Performance per Watt چیست؟


عملکرد به ازای وات — Performance per Watt

Performance per Watt
معیاری برای سنجش
مقدار Performance دریافت شده
در برابر توان مصرفی است.

این معیار برای:

  • سیستم کم مصرف
  • Workstation طولانی مدت
  • Server
  • Mini PC
  • سیستم با محدودیت Cooling

اهمیت زیادی دارد.

Precision Boost Overdrive یا PBO چیست؟


افزایش خودکار محدوده Boost — Precision Boost Overdrive / PBO

PBO
مخفف:

Precision Boost Overdrive

است.

در Platformهای پشتیبانی شده،
PBO می تواند
محدوده های مرتبط با توان،
جریان
و Boost پردازنده را
برای دستیابی به Performance بیشتر
تغییر دهد.

PBO و Manual Overclock چه تفاوتی دارند؟

روش مفهوم کلی
PBO گسترش رفتار Boost خودکار در محدوده های قابل تنظیم
Manual Overclock تنظیم دستی پارامترهایی مانند فرکانس و ولتاژ


اورکلاک دستی — Manual Overclock

Manual Overclock
یا «اورکلاک دستی»
زمانی است که کاربر
پارامترهای عملکردی CPU
را به صورت مستقیم تنظیم می کند.

Curve Optimizer چیست؟


بهینه سازی منحنی ولتاژ و فرکانس — Curve Optimizer

Curve Optimizer
قابلیتی در برخی پلتفرم های AMD است
که امکان تنظیم رفتار
منحنی ولتاژ و فرکانس پردازنده
را فراهم می کند.

هدف می تواند
بهبود Efficiency،
دما
یا رفتار Boost باشد.

Undervolting چیست؟


کاهش ولتاژ — Undervolting

Undervolting
یا «کاهش ولتاژ»
به تنظیم CPU
برای کار با ولتاژ کمتر
در شرایط مناسب گفته می شود.

در صورت تنظیم موفق
ممکن است:

  • مصرف کاهش یابد.
  • دما کاهش یابد.
  • صدای فن کمتر شود.
  • گاهی Boost پایدارتر شود.

اما تنظیم نامناسب
می تواند باعث ناپایداری شود.


پایداری سیستم — Stability

Stability
یا «پایداری»
یعنی سیستم بتواند
بدون Crash،
Error
یا رفتار غیرعادی
در شرایط مختلف کار کند.

Stress Test چیست؟


آزمون فشار — Stress Test

Stress Test
یا «آزمون فشار»
تستی است که
سخت افزار را
برای مدت مشخص
تحت بار پردازشی سنگین قرار می دهد.

از این تست
برای بررسی:

  • Stability
  • Temperature
  • Cooling
  • Power Behavior

استفاده می شود.

برای Gaming مدل X3D بهتر است یا X؟

در بسیاری از بازی های حساس به Cache،
مدل X3D می تواند مزیت قابل توجهی داشته باشد.

اما تصمیم نهایی باید با توجه به:

  • GPU
  • Resolution
  • نوع بازی
  • Refresh Rate
  • قیمت
  • کارهای غیر Gaming

انجام شود.


نرخ نوسازی نمایشگر — Refresh Rate

Refresh Rate
یا «نرخ نوسازی»
تعداد دفعاتی است
که نمایشگر
در هر ثانیه تصویر خود را تازه می کند.

معمولاً با:

Hz

یا «هرتز»
بیان می شود.

برای Office و سیستم عمومی کدام Ryzen مناسب تر است؟

در سیستم اداری
معمولاً نیازی به
CPU X3D یا مدل بسیار پرقدرت نیست.

مواردی مانند:

  • قیمت مناسب
  • iGPU
  • مصرف پایین
  • SSD
  • RAM کافی
  • قابلیت ارتقا

معمولاً اهمیت بیشتری دارند.

برای CPU Rendering چه چیزی مهم تر است؟

برای Rendering مبتنی بر CPU،
معمولاً:

  • Core Count
  • Thread Count
  • Architecture
  • Sustained Clock
  • Cooling
  • Power

اهمیت زیادی دارند.

بنابراین X3D
فقط به دلیل Cache بیشتر
الزاماً انتخاب اول CPU Rendering نیست.

برای Workstation چه چیزی مهم است؟

ابتدا باید نوع Workload حرفه ای
مشخص شود.

Workstation می تواند برای:

  • CAD
  • CAE
  • Rendering
  • Video Editing
  • Compilation
  • Scientific Computing
  • Virtualization

استفاده شود.

هر کدام
به منابع متفاوتی حساس هستند.


مهندسی به کمک رایانه — CAE

CAE
مخفف:

Computer-Aided Engineering

است.

ترجمه:
مهندسی به کمک رایانه.

این حوزه شامل
ابزارهای تحلیل،
Simulation
و محاسبات مهندسی
با استفاده از رایانه است.

اگر نمی خواهیم کارت گرافیک مجزا بخریم چه کنیم؟

در این حالت
قدرت iGPU اهمیت زیادی پیدا می کند.

باید بررسی شود:

CPU Performance
+
iGPU Performance
+
RAM Bandwidth
+
Output Support
+
Platform Cost

یک APU مناسب
می تواند هزینه خرید GPU مجزا
را حذف کند،
اما برای Gaming سنگین
یا Rendering حرفه ای
محدودیت هایی خواهد داشت.

iGPU به عنوان راه حل موقت

بعضی کاربران
سیستم را بدون GPU مجزا می سازند
و کارت گرافیک را بعداً اضافه می کنند.

در چنین شرایطی
CPU یا APU دارای iGPU
می تواند
امکان استفاده از سیستم
تا زمان خرید GPU مجزا را فراهم کند.

قانون نسل قبل، مدل هدف و نسل بعد

همان قانون اصلی Framework
در AMD Desktop نیز اجرا می شود.

هنگام انتخاب یک CPU
بهتر است:

Previous Generation
↔
Target CPU
↔
Next Generation

را بررسی کنیم.

سپس مقایسه شود:

  • Architecture
  • Core / Thread
  • Cache
  • Gaming Performance
  • Productivity Performance
  • Power Consumption
  • Platform Cost
  • Upgrade Path


کارهای تولیدی و حرفه ای — Productivity Workload

Productivity Workload
در Context بررسی سخت افزار
به کارهای غیر Gaming
مانند:

  • Rendering
  • Encoding
  • Compilation
  • ویرایش تصویر
  • کارهای مهندسی

اشاره دارد.

جدول انتخاب نوع Ryzen Desktop بر اساس کاربری

نوع CPU نقطه قوت اصلی کاربری قابل بررسی
بدون پسوند تعادل Performance، توان و قیمت عمومی، Gaming، حرفه ای، بسته به مدل
X Performance بالاتر در خانواده مربوطه سیستم Performance محور
X3D Cache بسیار بیشتر در مدل های مربوطه Gaming و Workloadهای حساس به Cache
G تمرکز بیشتر بر گرافیک مجتمع در خانواده های مربوطه سیستم بدون GPU مجزا، Office، Budget PC


سیستم اقتصادی — Budget PC

Budget PC
یا «سیستم اقتصادی»
کامپیوتری است
که با هدف ارائه
بیشترین کارایی مورد نیاز
در محدوده بودجه مشخص ساخته می شود.

روش استاندارد انتخاب AMD Ryzen Desktop

01
نوع Workload را مشخص کنیدGaming، Rendering، Office، Engineering یا Workstation؟
02
مدل کامل CPU را بخوانیدRyzen 7 به تنهایی کافی نیست.
03
معماری را مشخص کنیدZen Generation را بررسی کنید.
04
پسوند را بررسی کنیدStandard، X، X3D یا G؟
05
Cache را بررسی کنیدمخصوصاً برای Gaming و مدل های X3D.
06
iGPU را بررسی کنیدوجود G یا نبود آن را به تنهایی معیار قرار ندهید؛ مشخصات مدل را ببینید.
07
Motherboard Platform را بررسی کنیدSocket، Chipset و BIOS Support را تایید کنید.
08
Cooling را انتخاب کنیدCPU باید بتواند Performance پایدار خود را حفظ کند.
09
نسل قبل و بعد را مقایسه کنیدفقط مدل هدف را بررسی نکنید.
10
Total Platform Cost را محاسبه کنیدCPU ارزان تر الزاماً سیستم ارزان تری نمی سازد.

اشتباهات رایج — Common Mistakes: انتخاب Ryzen Desktop
  • فرض اینکه X همیشه ارزش خرید بیشتری دارد.
  • فرض اینکه X3D در تمام نرم افزارها سریع ترین است.
  • انتخاب CPU فقط بر اساس Cache.
  • انتخاب Gaming CPU بدون توجه به GPU.
  • نادیده گرفتن Resolution هنگام مقایسه CPUهای Gaming.
  • فرض اینکه مدل G فقط همان CPU معمولی با GPU اضافه است.
  • فرض اینکه تمام مدل های بدون G فاقد iGPU هستند.
  • نادیده گرفتن Memory Bandwidth در APU.
  • استفاده از RAM نامناسب برای iGPU.
  • نادیده گرفتن Platform Cost.
  • نادیده گرفتن Cooling.
  • فرض اینکه TDP برابر مصرف واقعی است.
  • استفاده از PBO یا Overclock بدون تست Stability.
  • Undervolt بدون بررسی پایداری.
  • خرید CPU گران برای سیستم GPU-Limited.
  • نادیده گرفتن نسل قبل و بعد.

سوالات متداول درباره AMD Ryzen Desktop

پسوند X در Ryzen چیست؟

در بسیاری از خانواده های Ryzen Desktop،
X برای مدل Performance بالاتر
در همان خانواده استفاده شده است.
مشخصات دقیق هر نسل باید جداگانه بررسی شود.

X3D چیست؟

مدل های X3D
از فناوری 3D V-Cache
برای افزایش ظرفیت Cache
در محصولات مربوطه استفاده می کنند.

آیا X3D همیشه برای Gaming بهتر است؟

در بسیاری از بازی های حساس به Cache
مزیت زیادی دارد،
اما نتیجه به بازی،
GPU،
Resolution
و مدل دقیق CPU بستگی دارد.

آیا X3D برای Rendering هم بهترین است؟

الزاماً خیر.
Rendering ممکن است بیشتر
به Core Count،
Clock
و توان چند هسته ای وابسته باشد.

3D V-Cache چیست؟

فناوری افزودن Cache بیشتر
با استفاده از ساختار بسته بندی سه بعدی
در بعضی پردازنده های AMD است.

پسوند G در Ryzen یعنی چه؟

در برخی نسل های Ryzen Desktop
برای مدل هایی با تمرکز بیشتر
بر گرافیک مجتمع استفاده شده است.

آیا Ryzen بدون G گرافیک مجتمع ندارد؟

این قانون برای تمام نسل ها صحیح نیست.
باید مشخصات دقیق همان CPU بررسی شود.

APU چیست؟

اصطلاح AMD برای برخی پردازنده هایی است
که CPU و GPU مجتمع
را در یک محصول ترکیب می کنند.

برای APU چه RAMی مهم است؟

ظرفیت کافی،
Memory Bandwidth
و پیکربندی مناسب کانال حافظه
اهمیت زیادی دارند،
زیرا iGPU از RAM سیستم استفاده می کند.

Eco Mode چیست؟

حالتی برای کاهش محدوده توان CPU
با هدف کاهش مصرف،
حرارت و صدای سیستم است.

PBO چیست؟

Precision Boost Overdrive
قابلیتی در Platformهای پشتیبانی شده AMD
برای گسترش رفتار Boost
در چارچوب تنظیمات مربوطه است.

Curve Optimizer چیست؟

قابلیتی برای تنظیم رفتار
منحنی ولتاژ و فرکانس CPU
در پلتفرم های پشتیبانی شده است.

Undervolting چیست؟

کاهش ولتاژ کاری پردازنده
با هدف بهبود دما یا Efficiency است،
اما باید Stability سیستم آزمایش شود.

برای Office مدل X3D بخریم؟

معمولاً نیازی نیست.
در سیستم اداری
قیمت، مصرف،
iGPU،
RAM و SSD
اهمیت بیشتری دارند.

برای Gaming CPU گران تر بهتر است؟

نه همیشه.
اگر GPU گلوگاه باشد،
ارتقای CPU ممکن است
افزایش FPS کمی ایجاد کند.

X یا مدل بدون X؟

اختلاف Performance،
قیمت،
توان،
Cooling
و نوع Workload
باید با یکدیگر مقایسه شوند.

اصطلاحات جدید این فصل

  • Ryzen X: مدل Performance بالاتر در خانواده های مربوطه.
  • Ryzen X3D: مدل دارای فناوری 3D V-Cache.
  • 3D V-Cache: فناوری افزایش Cache با بسته بندی سه بعدی.
  • Die Stacking: روی هم قرار دادن عمودی بخش های نیمه هادی.
  • Memory Hierarchy: سلسله مراتب لایه های حافظه سیستم.
  • Register: ثبات بسیار سریع داخل CPU.
  • Working Set: مجموعه داده فعال مورد استفاده مکرر برنامه.
  • Draw Call: فرمان CPU برای ترسیم بخشی از صحنه توسط GPU.
  • CPU-Limited: شرایطی که CPU گلوگاه اصلی Performance است.
  • GPU-Limited: شرایطی که GPU گلوگاه اصلی Performance است.
  • Instruction Throughput: توان اجرای دستورها در بازه زمانی.
  • Ryzen G: در نسل های مربوطه، مدل با تمرکز بیشتر بر گرافیک مجتمع.
  • Die Design: طراحی فیزیکی و سازمان دهی اجزای تراشه.
  • APU: Accelerated Processing Unit؛ پردازنده دارای CPU و GPU مجتمع در نام گذاری AMD.
  • Memory Bottleneck: محدودیت Performance ناشی از حافظه.
  • Compute Unit: واحد محاسباتی در GPUهای AMD.
  • Eco Mode: حالت کاهش توان برای بهبود مصرف و حرارت.
  • Performance per Watt: عملکرد به ازای توان مصرفی.
  • PBO: Precision Boost Overdrive؛ گسترش رفتار Boost در Platformهای پشتیبانی شده.
  • Manual Overclock: اورکلاک دستی.
  • Curve Optimizer: ابزار تنظیم رفتار منحنی ولتاژ و فرکانس.
  • Undervolting: کاهش ولتاژ کاری پردازنده.
  • Stability: پایداری سیستم در شرایط مختلف.
  • Stress Test: آزمون فشار برای بررسی پایداری، دما و رفتار توان.
  • Refresh Rate: نرخ نوسازی نمایشگر.
  • CAE: مهندسی به کمک رایانه.
  • Productivity Workload: کارهای حرفه ای و تولیدی غیر Gaming.
  • Budget PC: سیستم اقتصادی با تمرکز بر ارزش خرید.

خلاصه فصل

ساده ترین برداشت اولیه:

Standard Ryzen
→
Balanced Model

X
→
Higher Performance Focus

X3D
→
Large Cache / 3D V-Cache

G
→
Stronger iGPU Focus in Relevant Generations

اما مهم ترین نکته این است که
هیچ پسوندی به تنهایی
«بهترین CPU» را مشخص نمی کند.

برای Gaming:

CPU
+
Cache
+
GPU
+
Resolution
+
Game Engine

مهم هستند.

برای Productivity:

Architecture
+
Core / Thread
+
Clock
+
Memory
+
Sustained Performance

اهمیت بیشتری پیدا می کنند.

و برای انتخاب نهایی:

CPU Performance
+
Platform
+
Cooling
+
Power
+
Upgrade Path
+
Price
=
Real Value


X، X3D یا G را به عنوان رتبه «خوب، بهتر، بهترین» نخوانید؛
هرکدام را بر اساس کاری که برای آن ساخته شده است ارزیابی کنید.


فصل 61
سطح: پایه تا پیشرفته
موضوع: CPU Cache
تمرکز: L1 / L2 / L3 / Cache Line / Latency / Hit / Miss

پردازنده سریع است؛ اما اگر داده به موقع به آن نرسد، بخشی از این سرعت هدر می رود

حافظه Cache پردازنده چیست؟ بررسی کامل L1، L2، L3 و تاثیر کش بر عملکرد CPU

Cache یا «حافظه نهان»
یکی از مهم ترین بخش های معماری پردازنده است.
وظیفه اصلی آن
نگهداری داده ها و دستورهایی است
که CPU احتمالاً به زودی به آنها نیاز خواهد داشت،
تا پردازنده مجبور نباشد
برای هر درخواست به حافظه اصلی سیستم مراجعه کند.

برای درک اهمیت Cache
باید یک واقعیت اساسی را بدانیم:


سرعت محاسبات CPU
بسیار بیشتر از سرعت دسترسی آن
به حافظه اصلی است.

Cache بخشی از این فاصله سرعت را جبران می کند.

Fast CPU
+
Slow Data Access
=
CPU Waiting

Fast CPU
+
Effective Cache
=
Less Waiting

در این فصل چه چیزهایی یاد می گیریم؟

  • Cache چیست و چرا CPU به آن نیاز دارد.
  • تفاوت Cache با RAM چیست.
  • Memory Hierarchy یا سلسله مراتب حافظه چیست.
  • L1 Cache چیست.
  • L2 Cache چیست.
  • L3 Cache چیست.
  • Instruction Cache و Data Cache چه تفاوتی دارند.
  • Cache Hit چیست.
  • Cache Miss چیست.
  • Hit Rate چه مفهومی دارد.
  • Cache Line چیست.
  • Spatial Locality و Temporal Locality چیست.
  • Cache Associativity چیست.
  • Private Cache و Shared Cache چه تفاوتی دارند.
  • Cache Coherence چیست.
  • Latency چه تاثیری بر Cache دارد.
  • چرا Cache بزرگ تر همیشه سریع تر نیست.
  • چرا Gaming می تواند به Cache حساس باشد.
  • Cache در Server و Workstation چه اهمیتی دارد.
  • 3D V-Cache چگونه ظرفیت Cache را افزایش می دهد.
  • چرا مقایسه CPU فقط با تعداد مگابایت Cache اشتباه است.

Cache چیست؟


حافظه نهان پردازنده — CPU Cache

Cache
که در فارسی معمولاً
«حافظه نهان» گفته می شود،
حافظه ای بسیار سریع
در ساختار پردازنده است.

CPU اطلاعاتی را که
احتمال استفاده مجدد از آنها زیاد است
در Cache نگهداری می کند.

هدف اصلی:

Reduce Memory Access Delay

یعنی:
کاهش تاخیر دسترسی به داده ها.

چرا CPU نمی تواند مستقیماً فقط از RAM استفاده کند؟

پردازنده های مدرن
می توانند میلیاردها عملیات را
در هر ثانیه مدیریت کنند.

اما RAM
از نظر زمان دسترسی
بسیار کندتر از منابع داخلی CPU است.

اگر CPU برای هر داده
مجبور باشد منتظر RAM بماند،
واحدهای پردازشی
بخشی از زمان خود را
بدون انجام کار مفید سپری می کنند.

Cache بین CPU و RAM
قرار می گیرد
تا داده های پرکاربرد را
نزدیک تر به پردازنده نگه دارد.

Latency چیست؟


تاخیر — Latency

Latency
یا «تاخیر»
مدت زمانی است
که از لحظه درخواست یک داده
تا زمان قابل استفاده شدن آن
طول می کشد.

Latency کمتر
معمولاً به معنی
دسترسی سریع تر است.

در سیستم حافظه،
ظرفیت بیشتر
الزاماً به معنی سرعت بیشتر نیست.

به طور مفهومی:

Smaller / Closer Memory
→
Lower Latency

Larger / Farther Memory
→
Higher Latency

سلسله مراتب حافظه چیست؟


سلسله مراتب حافظه — Memory Hierarchy

Memory Hierarchy
یا «سلسله مراتب حافظه»
ساختاری است که
منابع ذخیره داده را
بر اساس عواملی مانند:

  • سرعت
  • Latency
  • ظرفیت
  • هزینه
  • فاصله منطقی از واحدهای پردازشی

در سطوح مختلف قرار می دهد.

نمای ساده این سلسله مراتب:

Registers
→
L1 Cache
→
L2 Cache
→
L3 Cache
→
RAM
→
SSD
→
HDD

هرچه به CPU نزدیک تر می شویم،
معمولاً حافظه:

  • سریع تر است،
  • Latency کمتری دارد،
  • ظرفیت کمتری دارد،
  • و ساخت آن به ازای هر واحد ظرفیت گران تر است.

Register کجای این ساختار قرار دارد؟


ثبات پردازنده — CPU Register

Register
یا «ثبات پردازنده»
محل بسیار کوچک و بسیار سریعی
در داخل CPU است
که داده های مورد نیاز
برای اجرای مستقیم دستورها
در آن نگهداری می شوند.

Register معمولاً
حتی از Cache نیز
به واحدهای اجرایی نزدیک تر است.

L1، L2 و L3 یعنی چه؟

حرف:

L
=
Level

یعنی «سطح».

بنابراین:

L1
=
Level 1 Cache

L2
=
Level 2 Cache

L3
=
Level 3 Cache

این سطوح
از نظر ظرفیت،
Latency،
محل قرارگیری
و نحوه اشتراک میان Coreها
می توانند متفاوت باشند.

L1 Cache چیست؟

L1 معمولاً
کوچک ترین و سریع ترین
سطح اصلی Cache پردازنده است.

در بسیاری از معماری ها
هر Core
منابع L1 مخصوص خود را دارد.

L1 معمولاً
به دو بخش مهم تقسیم می شود:

L1 Instruction Cache

و:

L1 Data Cache


حافظه نهان دستورها — Instruction Cache

Instruction Cache
یا «حافظه نهان دستورها»
بخشی از Cache است
که دستورهای برنامه
را نزدیک واحدهای پردازشی نگهداری می کند.

CPU برای اجرای برنامه
باید دائماً دستورهای بعدی
را دریافت کند.


حافظه نهان داده — Data Cache

Data Cache
یا «حافظه نهان داده»
برای نگهداری داده هایی استفاده می شود
که دستورهای پردازنده
با آنها کار می کنند.

برای مثال:

  • اعداد
  • متغیرها
  • بخش هایی از آرایه ها
  • داده های موقت برنامه

L2 Cache چیست؟

L2 معمولاً
ظرفیت بیشتری نسبت به L1 دارد،
اما دسترسی به آن
معمولاً کمی کندتر است.

بسته به معماری،
L2 می تواند
برای هر Core خصوصی باشد
یا ساختار متفاوتی داشته باشد.

اگر داده در L1 پیدا نشود،
یکی از مراحل بعدی جستجو
می تواند L2 باشد.

L3 Cache چیست؟

L3 معمولاً
از L1 و L2 بزرگ تر است.

در بسیاری از CPUهای چند هسته ای،
L3 به شکلی میان چند Core
یا گروهی از Coreها
به اشتراک گذاشته می شود.

L3 می تواند
آخرین سطح بزرگ Cache
پیش از مراجعه به حافظه اصلی باشد.

سطح ظرفیت معمول نسبی سرعت نسبی کاربرد کلی
L1 بسیار کم بسیار سریع داده و دستور بسیار نزدیک به Core
L2 بیشتر از L1 سریع لایه میانی Cache
L3 معمولاً بسیار بیشتر کندتر از L1/L2 Cache بزرگ تر برای Coreها یا گروهی از آنها
RAM بسیار بیشتر کندتر از Cache حافظه اصلی سیستم

Cache Hit چیست؟


برخورد موفق در کش — Cache Hit

وقتی CPU
داده مورد نیاز خود را
در سطح Cache مورد بررسی پیدا کند،
به این اتفاق:

Cache Hit

گفته می شود.

مفهوم ساده فارسی:

داده در Cache موجود بوده و نیازی به مراجعه به حافظه دورتر نیست.

Cache Miss چیست؟


عدم یافتن داده در کش — Cache Miss

اگر داده مورد نیاز
در Cache مورد بررسی موجود نباشد،
Cache Miss رخ می دهد.

در این شرایط
پردازنده باید
به سطح دیگری از Memory Hierarchy
مراجعه کند.

این کار
معمولاً Latency بیشتری ایجاد می کند.

Hit Rate چیست؟


نرخ موفقیت کش — Cache Hit Rate

Hit Rate
یا «نرخ موفقیت Cache»
نشان می دهد
چه نسبتی از درخواست های حافظه
از Cache پاسخ داده شده اند.

به صورت مفهومی:

Hit Rate
=
Cache Hits
/
Total Cache Accesses

Miss Penalty چیست؟


هزینه زمانی خطای کش — Miss Penalty

Miss Penalty
به زمان یا هزینه اضافی
ناشی از پیدا نشدن داده در Cache
گفته می شود.

هرچه CPU مجبور شود
به حافظه دورتر مراجعه کند،
هزینه زمانی می تواند بیشتر شود.

Cache Line چیست؟


خط کش — Cache Line

Cache معمولاً
داده را یک Byte در هر بار
جابه جا نمی کند.

داده ها در بلوک هایی
با اندازه مشخص
میان سطوح حافظه منتقل می شوند
که به آنها:

Cache Line

گفته می شود.

ترجمه مفهومی:
بلوک پایه انتقال داده در Cache.

Locality چیست و چرا Cache کار می کند؟

Cache بر یک ویژگی مهم
در رفتار بسیاری از برنامه ها تکیه دارد:

Locality

Locality
در اینجا به معنی
«محلی بودن الگوی دسترسی به داده»
است.

یعنی برنامه ها
اغلب به داده هایی مراجعه می کنند
که اخیراً استفاده شده اند
یا در نزدیکی داده های قبلی قرار دارند.


محلی بودن زمانی — Temporal Locality

Temporal Locality
یا «محلی بودن زمانی»
یعنی اگر داده ای
اخیراً استفاده شده باشد،
احتمال دارد
در آینده نزدیک
دوباره مورد استفاده قرار گیرد.


محلی بودن مکانی — Spatial Locality

Spatial Locality
یا «محلی بودن مکانی»
یعنی اگر برنامه
به یک محل از حافظه دسترسی داشته باشد،
احتمال دارد
به داده های نزدیک آن نیز
به زودی نیاز پیدا کند.

نکته مهندسی — Engineering Insight: چرا ترتیب دسترسی به داده ها مهم است؟

فرض کنید برنامه
یک Array بزرگ
یا «آرایه بزرگ»
را پردازش می کند.

اگر عناصر آرایه
به ترتیب در حافظه خوانده شوند،
Cache Lineهای وارد شده
می توانند شامل داده هایی باشند
که پردازنده
در مرحله بعد به آنها نیاز دارد.

اما دسترسی پراکنده و تصادفی
می تواند تعداد Cache Missها را افزایش دهد.

Sequential Access
→
Better Locality

Random Access
→
Potentially More Cache Misses


دسترسی ترتیبی — Sequential Access

Sequential Access
یا «دسترسی ترتیبی»
یعنی داده ها
با ترتیب منظم
و معمولاً پشت سر هم
خوانده یا نوشته شوند.


دسترسی تصادفی — Random Access

Random Access
یا «دسترسی تصادفی»
در این بحث
به الگوی دسترسی
به محل های پراکنده حافظه اشاره دارد.

Cache Associativity چیست؟


میزان انعطاف جای گذاری داده در کش — Cache Associativity

Cache Associativity
مشخص می کند
یک بلوک از حافظه
در چند محل ممکن
داخل Cache
می تواند قرار بگیرد.

این ویژگی
بر احتمال برخورد داده ها
و کارایی Cache
تاثیر می گذارد.

Direct-Mapped Cache چیست؟


کش با جای گذاری مستقیم — Direct-Mapped Cache

در ساختار:

Direct-Mapped Cache

هر بلوک حافظه
فقط یک محل مشخص
برای قرار گرفتن در Cache دارد.

این طراحی ساده است،
اما می تواند
Conflict Miss بیشتری ایجاد کند.


خطای ناشی از تداخل جایگاه — Conflict Miss

Conflict Miss
زمانی رخ می دهد
که چند داده
برای محل های یکسان یا محدود
در Cache رقابت کنند.

Set-Associative Cache چیست؟


کش مجموعه ای چند مسیره — Set-Associative Cache

در این طراحی،
Cache به مجموعه هایی تقسیم می شود
و هر داده
می تواند در یکی از چند جایگاه
داخل مجموعه مربوطه قرار گیرد.

برای مثال:

8-Way Set Associative

یعنی هر Set
دارای هشت جایگاه ممکن
برای نگهداری خطوط Cache است.

Private Cache و Shared Cache چیست؟

نوع معنی ویژگی کلی
Private Cache کش خصوصی به یک Core یا بخش مشخص اختصاص دارد
Shared Cache کش اشتراکی میان چند Core یا واحد پردازشی مشترک است

Shared Cache
می تواند امکان استفاده انعطاف پذیرتر
از ظرفیت Cache
میان چند Core را فراهم کند.

اما طراحی آن
نیازمند مدیریت پیچیده تر
دسترسی و هماهنگی داده ها است.

Cache Coherence چیست؟


سازگاری داده میان کش ها — Cache Coherence

Cache Coherence
یا «سازگاری داده میان Cacheها»
مجموعه سازوکارهایی است
که کمک می کند
Coreهای مختلف
نسخه های ناسازگار
از یک داده مشترک
را استفاده نکنند.

پشت صحنه فنی — Under the Hood: اگر دو Core یک داده را Cache کنند چه می شود؟

فرض کنید Core 1 و Core 2
هر دو نسخه ای
از یک داده را
در Cache خود داشته باشند.

اگر Core 1
مقدار داده را تغییر دهد،
سیستم باید مطمئن شود
Core 2 از نسخه قدیمی
به عنوان داده معتبر استفاده نمی کند.

این هماهنگی
توسط سازوکارهای Cache Coherence
انجام می شود.

بدون چنین سازوکاری،
سیستم چند هسته ای
می توانست نتایج ناسازگار تولید کند.

Coherence Protocol چیست؟


پروتکل هماهنگی کش — Cache Coherence Protocol

Cache Coherence Protocol
مجموعه قوانینی است
که وضعیت نسخه های مختلف داده
در Cacheهای CPU
را مدیریت می کند.

هدف این است
که Coreها
دید سازگاری از داده مشترک داشته باشند.

False Sharing چیست؟


اشتراک کاذب — False Sharing

False Sharing
یا «اشتراک کاذب»
زمانی رخ می دهد
که چند Thread
روی داده های متفاوتی کار کنند،
اما آن داده ها
داخل یک Cache Line مشترک قرار گرفته باشند.

تغییر داده توسط یک Core
می تواند باعث
جابه جایی یا نامعتبر شدن Cache Line
برای Core دیگر شود،
حتی اگر دو Thread
واقعاً روی یک متغیر کار نکنند.

تاثیر بر عملکرد — Performance Impact: گاهی مشکل CPU کمبود Core نیست، چیدمان بد داده است

در نرم افزارهای Multi-Threaded،
False Sharing
می تواند باعث ایجاد
ترافیک اضافی میان Cacheهای Coreها شود.

در نتیجه
افزایش تعداد Threadها
الزاماً باعث Scaling مناسب نمی شود.

بنابراین Performance
فقط به سخت افزار وابسته نیست؛
نحوه طراحی نرم افزار نیز مهم است.


پردازش چند رشته ای — Multi-Threaded Processing

Multi-Threaded
یا «چند رشته ای»
به نرم افزاری گفته می شود
که می تواند
چند Thread اجرایی را
به طور همزمان یا موازی مدیریت کند.


مقیاس پذیری عملکرد — Performance Scaling

Scaling
در این بحث
به میزان افزایش Performance
هنگام اضافه شدن منابع پردازشی
مانند Core یا Thread اشاره دارد.

اگر دو برابر شدن Core
دقیقاً دو برابر Performance ایجاد نکند،
Scaling کامل اتفاق نیفتاده است.

آیا Cache بزرگ تر همیشه بهتر است؟

خیر.

ظرفیت Cache
فقط یکی از پارامترها است.

Performance واقعی Cache
به مواردی مانند:

  • Latency
  • Bandwidth
  • Associativity
  • Cache Architecture
  • Replacement Policy
  • Workload
  • Core Topology

وابسته است.

Replacement Policy چیست؟


سیاست جایگزینی داده — Cache Replacement Policy

وقتی Cache پر باشد
و داده جدید باید وارد شود،
پردازنده باید تصمیم بگیرد
کدام داده موجود
از Cache خارج شود.

الگوریتم یا منطق این تصمیم:

Replacement Policy

یا «سیاست جایگزینی Cache»
نامیده می شود.

Hardware Prefetcher چیست؟


پیش واکشی سخت افزاری — Hardware Prefetcher

Prefetcher
تلاش می کند
الگوی دسترسی به حافظه را تشخیص دهد
و داده هایی را که احتمالاً
در آینده نزدیک لازم می شوند
پیش از درخواست مستقیم CPU
به Cache منتقل کند.

ترجمه مفهومی:
پیش آوردن داده قبل از آنکه CPU رسماً آن را درخواست کند.

نکته مهندسی — Engineering Insight: Cache فقط منتظر درخواست CPU نمی ماند

اگر Hardware Prefetcher
تشخیص دهد برنامه
در حال خواندن ترتیبی داده است،
ممکن است بلوک های بعدی را
زودتر وارد Cache کند.

اگر پیش بینی درست باشد:

Future Memory Access
→
Cache Hit

و بخشی از Latency
پنهان می شود.

البته Prefetch همیشه مفید نیست.

اگر پیش بینی اشتباه باشد،
داده هایی وارد Cache می شوند
که CPU به آنها نیاز ندارد.

این مسئله می تواند:

  • Bandwidth مصرف کند،
  • فضای Cache را اشغال کند،
  • و داده مفید را کنار بزند.


آلودگی کش — Cache Pollution

Cache Pollution
یا «آلودگی Cache»
زمانی رخ می دهد
که داده های کم فایده
فضای Cache را اشغال کنند
و باعث خروج داده های مفیدتر شوند.

تفاوت Cache و RAM چیست؟

ویژگی CPU Cache RAM
هدف دسترسی بسیار سریع به داده های پرکاربرد حافظه اصلی برنامه ها و سیستم عامل
ظرفیت کم بسیار بیشتر
Latency بسیار کمتر بیشتر
محل در ساختار CPU ماژول های حافظه سیستم
مدیریت مستقیم کاربر عمدتاً خیر ظرفیت و پیکربندی توسط کاربر قابل انتخاب است

اشتباه رایج — Common Mistake: Cache زیاد یعنی RAM کمتری لازم داریم

Cache و RAM
جایگزین یکدیگر نیستند.

یک CPU
حتی اگر Cache بسیار بزرگی داشته باشد،
همچنان برای اجرای سیستم عامل
و برنامه ها
به RAM کافی نیاز دارد.

Cache Bandwidth چیست؟


پهنای باند کش — Cache Bandwidth

Cache Bandwidth
یا «پهنای باند Cache»
میزان داده ای است
که Cache می تواند
در یک بازه زمانی
منتقل کند.

بنابراین دو Cache
با ظرفیت برابر
الزاماً Performance یکسان ندارند.

تفاوت Latency و Bandwidth چیست؟

این دو مفهوم
نباید با هم اشتباه شوند.

Latency
می گوید:

«رسیدن اولین داده چقدر زمان می برد؟»

Bandwidth
می گوید:

«در یک بازه زمانی چه مقدار داده می توان منتقل کرد؟»

Latency
=
How Long?

Bandwidth
=
How Much per Time?

Cache چه تاثیری روی Gaming دارد؟

بازی ها
می توانند مجموعه بزرگی از داده ها
را به صورت مداوم پردازش کنند:

  • وضعیت اشیا
  • Physics
  • AI
  • Animation
  • Game Logic
  • Draw Calls

اگر بخش بیشتری
از Working Set بازی
در Cache قرار بگیرد،
مراجعه به RAM
می تواند کاهش پیدا کند.

به همین دلیل
برخی بازی ها
از Cache بزرگ تر
سود قابل توجهی می برند.

Cache فقط Average FPS را تغییر می دهد؟

خیر.

در بعضی شرایط
Cache و رفتار حافظه
می توانند روی:

Average FPS
/
1% Low
/
Frame Time

اثر بگذارند.


یک درصد پایین فریم ها — 1% Low

1% Low
معیاری برای بررسی
بخش کندتر تجربه اجرای بازی است.

این معیار می تواند
اطلاعات بیشتری درباره
افت های لحظه ای Performance
نسبت به Average FPS
ارائه کند.


زمان تولید هر فریم — Frame Time

Frame Time
یا «زمان فریم»
مدت زمان لازم
برای تولید یک Frame است.

یکنواختی Frame Time
در احساس روان بودن بازی
اهمیت زیادی دارد.

Cache در Server چه اهمیتی دارد؟

Serverها
ممکن است تعداد زیادی:

  • Thread
  • Process
  • Request
  • Virtual Machine
  • Database Operation

را مدیریت کنند.

در چنین محیط هایی،
ظرفیت و معماری Cache
می تواند روی Performance،
Latency
و Scaling
تاثیر مهمی داشته باشد.


عملیات پایگاه داده — Database Operation

Database Operation
یا «عملیات پایگاه داده»
شامل فعالیت هایی مانند:

  • جستجو
  • خواندن
  • نوشتن
  • مرتب سازی
  • پردازش Query

روی داده های پایگاه داده است.


ماشین مجازی — Virtual Machine

Virtual Machine
یا «ماشین مجازی»
محیط نرم افزاری ای است
که مانند یک کامپیوتر مستقل
روی یک سیستم فیزیکی اجرا می شود.

Cache در Workstation چه اهمیتی دارد؟

پاسخ به نوع نرم افزار بستگی دارد.

بعضی Workloadها
از Cache بیشتر
بسیار خوب استفاده می کنند.

بعضی دیگر
بیشتر به:

  • Core Count
  • Clock
  • Memory Bandwidth
  • GPU Performance
  • Storage I/O

وابسته هستند.

بنابراین برای Workstation
نباید CPU را
فقط با Cache Size انتخاب کرد.


ورودی و خروجی — I/O

I/O
مخفف:

Input / Output

و به معنی
«ورودی / خروجی»
است.

در سخت افزار،
به انتقال داده
میان اجزای مختلف سیستم
یا دستگاه های خارجی اشاره دارد.

3D V-Cache چه چیزی را تغییر می دهد؟

فناوری 3D V-Cache
ظرفیت Cache
را در مدل های مربوطه
به شکل قابل توجهی افزایش می دهد.

هدف این است
که Working Set بزرگ تری
نزدیک CPU نگهداری شود
و در Workload مناسب
تعداد مراجعه به RAM کاهش یابد.

اما:

More Cache
≠
Faster in Every Application

اگر Cache خوب است، چرا CPUها چند گیگابایت Cache ندارند؟

چون Cache رایگان نیست.

افزایش Cache می تواند:

  • سطح تراشه را افزایش دهد،
  • تعداد Transistorها را بالا ببرد،
  • هزینه تولید را افزایش دهد،
  • مصرف انرژی ایجاد کند،
  • طراحی را پیچیده تر کند،
  • و مدیریت Latency را دشوارتر کند.


ترانزیستور — Transistor

Transistor
یا «ترانزیستور»
یکی از عناصر بنیادی
مدارهای دیجیتال است.

CPUهای مدرن
از میلیاردها ترانزیستور
برای ساخت واحدهای محاسباتی،
Cache،
کنترلرها
و سایر بخش ها استفاده می کنند.


سطح تراشه — Die Area

Die Area
یا «مساحت Die»
به سطح فیزیکی
تراشه سیلیکونی اشاره دارد.

استفاده از سطح بیشتر
می تواند هزینه تولید
و پیچیدگی طراحی را افزایش دهد.

Cache معمولاً از چه نوع حافظه ای ساخته می شود؟


حافظه ایستا — SRAM

Cacheهای CPU
معمولاً با نوعی حافظه به نام:

SRAM

ساخته می شوند.

SRAM مخفف:

Static Random-Access Memory

و ترجمه آن:
حافظه دسترسی تصادفی ایستا
است.

RAM اصلی معمولاً از چه فناوری استفاده می کند؟


حافظه پویا — DRAM

حافظه اصلی سیستم
معمولاً مبتنی بر:

DRAM

است.

DRAM مخفف:

Dynamic Random-Access Memory

و به معنی:
حافظه دسترسی تصادفی پویا
است.

چرا کل RAM را از SRAM نمی سازیم؟

SRAM سریع است،
اما برای ظرفیت بالا
هزینه و فضای بسیار بیشتری
نسبت به DRAM نیاز دارد.

بنابراین سیستم از ترکیب:

Small + Fast SRAM Cache
+
Large + Cheaper DRAM

استفاده می کند.

این همان منطق اصلی
Memory Hierarchy است.

اشتباه رایج — Common Mistake: تقسیم کل L3 بر تعداد Core

اگر CPU مثلاً
مقدار مشخصی Shared L3 داشته باشد،
نباید همیشه آن را
به تعداد Core تقسیم کنیم
و بگوییم هر Core
دقیقاً این مقدار Cache دارد.

Shared Cache
یک منبع اشتراکی است
و نحوه دسترسی Coreها
به معماری CPU بستگی دارد.

Cache Topology چیست؟


ساختار ارتباط کش و هسته ها — Cache Topology

Cache Topology
یا «ساختار ارتباط Cache»
مشخص می کند
Cacheهای مختلف
چگونه میان Coreها،
Clusterها،
Chipletها
یا سایر بخش های CPU
سازمان دهی شده اند.


تراشه کوچک ماژولار — Chiplet

Chiplet
یا «تراشه کوچک ماژولار»
بخشی از یک پردازنده است
که به جای ساخت تمام CPU
روی یک Die واحد،
در کنار بخش های دیگر
یک محصول کامل را تشکیل می دهد.

پشت صحنه فنی — Under the Hood: همه Coreها الزاماً به همه Cacheها با یک Latency دسترسی ندارند

در معماری های پیچیده
ممکن است CPU
از چند Cluster،
Die
یا Chiplet تشکیل شده باشد.

در چنین شرایطی،
فاصله منطقی یک Core
تا یک بخش Cache
می تواند متفاوت باشد.

بنابراین فقط دانستن:

Total L3 Cache = X MB

برای شناخت کامل رفتار CPU
کافی نیست.

باید Cache Topology
نیز در نظر گرفته شود.

چگونه تاثیر Cache را در Benchmark بررسی کنیم؟

برای مقایسه صحیح،
باید Workload مناسب انتخاب شود.

بهتر است بررسی شامل:

  • Gaming
  • Compilation
  • Compression
  • Rendering
  • Database
  • Scientific Workloads

باشد.

زیرا یک تغییر Cache
ممکن است در یک برنامه
تاثیر بسیار زیاد
و در برنامه دیگر
تاثیر کمی داشته باشد.


فشرده سازی — Compression

Compression
یا «فشرده سازی»
فرایند کاهش حجم داده
با استفاده از الگوریتم های مختلف است.

Synthetic Benchmark چیست؟


بنچمارک مصنوعی — Synthetic Benchmark

Synthetic Benchmark
یا «آزمون مصنوعی»
تستی است که
برای اندازه گیری
یک ویژگی یا رفتار مشخص سخت افزار
طراحی شده است.

این تست ها مفید هستند،
اما همیشه تجربه واقعی نرم افزار
را به تنهایی نشان نمی دهند.

نکته مهندسی — Engineering Insight: Cache Benchmark را با Real-World Benchmark ترکیب کنید

تست Latency و Bandwidth Cache
اطلاعات معماری ارزشمندی می دهد.

اما برای خرید CPU
باید نتیجه نرم افزار واقعی
نیز بررسی شود.

Microbenchmark
+
Real-World Benchmark
=
Better Understanding


آزمون ریزمعماری — Microbenchmark

Microbenchmark
یا «آزمون کوچک و هدفمند»
تستی است
که یک بخش محدود
از عملکرد سیستم
مانند Cache Latency
یا Memory Bandwidth
را اندازه گیری می کند.

هنگام خرید CPU چگونه Cache را بررسی کنیم؟

01
فقط Total Cache را نگاه نکنیدمشخص کنید مقدار مربوط به L2، L3 یا مجموع چند سطح است.
02
معماری CPU را بررسی کنیددو معماری با Cache برابر الزاماً رفتار یکسان ندارند.
03
Cache Topology را در نظر بگیریدShared، Private، Cluster و Chiplet مهم هستند.
04
نوع Workload را مشخص کنیدGaming، Rendering، Server یا Office؟
05
Benchmark همان نرم افزار را ببینیدتاثیر Cache باید در Workload واقعی سنجیده شود.
06
RAM را فراموش نکنیدCache جایگزین ظرفیت و Performance مناسب RAM نیست.
07
کل CPU را مقایسه کنیدCore، Clock، Architecture، Cache، Power و Platform باید کنار هم بررسی شوند.

اشتباهات رایج — Common Mistakes: تحلیل Cache پردازنده
  • فرض اینکه Cache بیشتر همیشه CPU سریع تری می سازد.
  • جمع کردن L1، L2 و L3 و مقایسه مستقیم عدد نهایی.
  • نادیده گرفتن Latency.
  • نادیده گرفتن Cache Bandwidth.
  • نادیده گرفتن Cache Topology.
  • فرض اینکه Shared Cache به صورت مساوی و ثابت بین Coreها تقسیم شده است.
  • مقایسه Cache دو معماری متفاوت فقط بر اساس MB.
  • فرض اینکه Cache جایگزین RAM است.
  • نادیده گرفتن نوع Workload.
  • نتیجه گیری Gaming فقط از روی Cache Size.
  • نادیده گرفتن GPU Bottleneck در تست Gaming.
  • نادیده گرفتن Prefetcher.
  • نادیده گرفتن رفتار نرم افزار و Locality.
  • فرض اینکه X3D در همه برنامه ها سریع تر است.
  • نادیده گرفتن اثر معماری چند Chiplet روی دسترسی به Cache.

سوالات متداول درباره حافظه Cache پردازنده

Cache CPU چیست؟

حافظه بسیار سریعی در ساختار پردازنده است
که داده ها و دستورهای پرکاربرد
را نزدیک CPU نگه می دارد.

L1 Cache چیست؟

معمولاً کوچک ترین
و سریع ترین سطح اصلی Cache
و بسیار نزدیک به Core است.

L2 Cache چیست؟

سطحی با ظرفیت بیشتر از L1
و معمولاً Latency بالاتر از آن است.

L3 Cache چیست؟

Cache بزرگ تری است
که در بسیاری از معماری ها
میان چند Core
یا گروهی از Coreها مشترک است.

Cache Hit چیست؟

یعنی CPU داده مورد نیاز را
در Cache پیدا کرده است.

Cache Miss چیست؟

یعنی داده در Cache مورد بررسی موجود نبوده
و باید از سطح دیگری دریافت شود.

Cache Line چیست؟

بلوک پایه ای از داده است
که میان Cache
و سطوح دیگر حافظه جابه جا می شود.

Cache بیشتر بهتر است؟

نه همیشه.
معماری،
Latency،
Bandwidth،
Topology
و Workload
نیز مهم هستند.

Cache بیشتر FPS را افزایش می دهد؟

در برخی بازی ها بله،
اما مقدار تاثیر
به موتور بازی،
GPU،
Resolution
و معماری CPU بستگی دارد.

آیا Cache جایگزین RAM می شود؟

خیر.
Cache و RAM
نقش های متفاوتی در سیستم دارند.

3D V-Cache چیست؟

فناوری AMD
برای افزایش ظرفیت Cache
با استفاده از ساختار بسته بندی سه بعدی
در پردازنده های مربوطه است.

Shared Cache چیست؟

Cacheای است
که چند Core یا واحد پردازشی
می توانند از آن استفاده کنند.

Cache Coherence چیست؟

سازوکاری برای حفظ سازگاری
نسخه های یک داده
میان Cacheهای مختلف CPU است.

False Sharing چیست؟

شرایطی است
که Threadهای مختلف
روی داده های متفاوت کار می کنند،
اما داده ها در یک Cache Line قرار دارند
و باعث ترافیک اضافی Cache می شوند.

Prefetcher چیست؟

مکانیزمی است
که تلاش می کند
داده های مورد نیاز آینده را
پیش از درخواست مستقیم CPU
وارد Cache کند.

برای مقایسه دو CPU مقدار L3 کافی است؟

خیر.
معماری، Latency، Topology،
Core Count، Clock
و Benchmark واقعی
نیز باید بررسی شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • CPU Cache: حافظه نهان بسیار سریع پردازنده.
  • Latency: تاخیر میان درخواست داده و قابل استفاده شدن آن.
  • Memory Hierarchy: سلسله مراتب حافظه از منابع بسیار سریع و کوچک تا منابع بزرگ تر و کندتر.
  • Register: ثبات بسیار سریع داخل پردازنده.
  • L1 Cache: سطح اول و بسیار سریع Cache.
  • L2 Cache: سطح دوم Cache با ظرفیت بیشتر.
  • L3 Cache: سطح بزرگ تر Cache که اغلب به شکلی اشتراکی استفاده می شود.
  • Instruction Cache: حافظه نهان مخصوص دستورهای برنامه.
  • Data Cache: حافظه نهان مخصوص داده.
  • Cache Hit: پیدا شدن داده مورد نیاز در Cache.
  • Cache Miss: پیدا نشدن داده مورد نیاز در Cache.
  • Hit Rate: نسبت درخواست هایی که از Cache پاسخ داده می شوند.
  • Miss Penalty: هزینه زمانی ناشی از Cache Miss.
  • Cache Line: بلوک پایه انتقال داده در Cache.
  • Locality: محلی بودن الگوی دسترسی به داده.
  • Temporal Locality: احتمال استفاده مجدد از داده ای که اخیراً استفاده شده است.
  • Spatial Locality: احتمال استفاده از داده های نزدیک به محل داده فعلی.
  • Sequential Access: دسترسی ترتیبی به داده.
  • Random Access: دسترسی به محل های پراکنده داده.
  • Cache Associativity: میزان انعطاف محل قرارگیری داده در Cache.
  • Direct-Mapped Cache: Cache با یک جایگاه مشخص برای هر بلوک.
  • Conflict Miss: Cache Miss ناشی از رقابت داده ها برای جایگاه محدود.
  • Set-Associative Cache: Cache دارای چند جایگاه ممکن در هر مجموعه.
  • Private Cache: Cache اختصاصی یک Core یا واحد.
  • Shared Cache: Cache مشترک میان چند Core یا واحد.
  • Cache Coherence: سازگاری نسخه های داده میان Cacheهای مختلف.
  • False Sharing: تداخل عملکردی ناشی از قرارگیری داده های مستقل در یک Cache Line.
  • Performance Scaling: میزان افزایش عملکرد با افزایش منابع پردازشی.
  • Replacement Policy: سیاست انتخاب داده ای که باید از Cache خارج شود.
  • Hardware Prefetcher: مکانیزم پیش واکشی داده پیش از درخواست CPU.
  • Cache Pollution: اشغال Cache توسط داده های کم فایده.
  • Cache Bandwidth: حجم داده قابل انتقال توسط Cache در واحد زمان.
  • 1% Low: معیاری برای نمایش بخش کندتر نرخ فریم بازی.
  • Frame Time: زمان لازم برای تولید هر فریم.
  • I/O: ورودی و خروجی داده.
  • Transistor: عنصر بنیادی مدارهای دیجیتال.
  • Die Area: مساحت فیزیکی تراشه سیلیکونی.
  • SRAM: حافظه دسترسی تصادفی ایستا؛ فناوری رایج برای Cache.
  • DRAM: حافظه دسترسی تصادفی پویا؛ فناوری رایج حافظه اصلی.
  • Cache Topology: نحوه سازمان دهی و ارتباط Cache با Coreها.
  • Chiplet: تراشه کوچک ماژولار که بخشی از پردازنده بزرگ تر را تشکیل می دهد.
  • Synthetic Benchmark: آزمون مصنوعی برای سنجش ویژگی مشخص سخت افزار.
  • Microbenchmark: آزمون محدود و هدفمند یک بخش خاص از عملکرد.

خلاصه فصل

Cache را می توان
یکی از ابزارهای اصلی CPU
برای مقابله با فاصله سرعت
میان پردازنده و حافظه اصلی دانست.

Registers
→
L1
→
L2
→
L3
→
RAM
→
Storage

اما ظرفیت Cache
تنها معیار مهم نیست.

تحلیل صحیح باید شامل:

Cache Size
+
Latency
+
Bandwidth
+
Hit Rate
+
Cache Line
+
Associativity
+
Topology
+
Prefetching
+
Workload

باشد.

به همین دلیل:

64 MB Cache
>
32 MB Cache

به تنهایی
یک نتیجه معتبر درباره
Performance دو CPU نیست.

مهم ترین قانون این فصل:


Cache را با عدد مگابایت قضاوت نکنید؛
Cache بخشی از معماری CPU است
و ارزش آن فقط در ارتباط با معماری و Workload واقعی مشخص می شود.


فصل 62
سطح: پایه تا پیشرفته
موضوع: CPU و RAM
تمرکز: IMC / DDR / Channel / Bandwidth / MT/s / Timing / Rank / ECC

RAM فقط یک قطعه کنار CPU نیست؛ بخشی از مسیر تغذیه داده به پردازنده است

کنترلر حافظه CPU چیست؟ ارتباط پردازنده با RAM، کانال حافظه، پهنای باند و Timing

در فصل قبل دیدیم که Cache
چگونه تلاش می کند داده های مورد نیاز پردازنده
را نزدیک Coreها نگه دارد.
اما همه اطلاعات مورد نیاز CPU
در Cache جا نمی شوند.

زمانی که داده مورد نیاز
در Cache موجود نباشد،
پردازنده ممکن است مجبور شود
آن را از حافظه اصلی سیستم یعنی RAM دریافت کند.

اینجا مجموعه ای از مفاهیم مهم وارد ماجرا می شوند:

CPU
→
Memory Controller
→
Memory Channel
→
RAM

سرعت این مسیر
می تواند روی عملکرد بسیاری از سیستم ها،
از لپ تاپ و کامپیوتر خانگی
تا Workstation و Server،
تاثیر بگذارد.

در این فصل چه چیزهایی یاد می گیریم؟

  • Memory Controller چیست.
  • IMC چیست و چرا داخل CPU قرار گرفته است.
  • Memory Channel چیست.
  • Single Channel و Dual Channel چه تفاوتی دارند.
  • Quad Channel چیست و کجا استفاده می شود.
  • Memory Bandwidth چیست.
  • DDR به چه معناست.
  • MHz و MT/s چه تفاوتی دارند.
  • چرا عبارت DDR4-3200 با «RAM 3200 MHz» دقیقاً یک مفهوم ندارد.
  • Memory Timing چیست.
  • CL و CAS Latency چیست.
  • چرا CL کمتر به تنهایی به معنی RAM سریع تر نیست.
  • DIMM و SO-DIMM چیست.
  • Memory Rank چیست.
  • Single Rank و Dual Rank چه تفاوتی دارند.
  • ECC چیست.
  • Gear Mode چیست.
  • Memory Training چیست.
  • چرا ظرفیت، سرعت، کانال و Timing باید با هم بررسی شوند.

Memory Controller چیست؟


کنترلر حافظه — Memory Controller

Memory Controller
یا «کنترلر حافظه»
بخشی از سیستم است که
ارتباط و تبادل داده
با حافظه اصلی را مدیریت می کند.

این بخش در مدیریت مواردی مانند:

  • درخواست خواندن داده از RAM
  • نوشتن داده در RAM
  • زمان بندی دسترسی ها
  • مدیریت کانال های حافظه
  • هماهنگی با مشخصات حافظه

نقش اساسی دارد.

IMC چیست؟


کنترلر حافظه یکپارچه — Integrated Memory Controller

IMC
مخفف:

Integrated Memory Controller

و به معنی
«کنترلر حافظه یکپارچه»
است.

در بسیاری از پردازنده های مدرن،
کنترلر حافظه
در خود مجموعه پردازنده قرار دارد.

چرا قرار گرفتن Memory Controller داخل CPU مهم شد؟

در برخی معماری های قدیمی تر،
کنترل ارتباط حافظه
در چیپ دیگری از مادربرد انجام می شد.

در معماری های مدرن،
نزدیک تر شدن Memory Controller
به CPU
امکان کنترل مستقیم تر
مسیر حافظه را فراهم کرده است.

CPU
↔
Integrated Memory Controller
↔
RAM

پشت صحنه فنی — Under the Hood: وقتی CPU به داده ای در RAM نیاز دارد چه اتفاقی می افتد؟

فرض کنید یک Core
داده ای را درخواست می کند
که در سطح مورد نیاز Cache موجود نیست.

درخواست در نهایت
باید به زیرسیستم حافظه برسد.

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

داده پس از دریافت
می تواند وارد سلسله مراتب Cache شود
و در اختیار Core قرار گیرد.

Core Request
→
Cache Miss
→
Memory Subsystem
→
DRAM
→
Cache
→
Core

به همین دلیل RAM کند
یا پیکربندی نامناسب حافظه
در Workloadهای حساس به حافظه
می تواند CPU را منتظر نگه دارد.

Memory Channel چیست؟


کانال حافظه — Memory Channel

Memory Channel
یا «کانال حافظه»
مسیر منطقی ارتباط
میان کنترلر حافظه
و حافظه RAM است.

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

Single Channel چیست؟


حافظه تک کاناله — Single Channel

Single Channel
یا «حالت تک کاناله»
یعنی سیستم در پیکربندی مورد نظر
از یک کانال حافظه فعال
برای انتقال داده استفاده می کند.

Dual Channel چیست؟


حافظه دو کاناله — Dual Channel

Dual Channel
یا «حالت دو کاناله»
امکان استفاده از دو کانال حافظه
را فراهم می کند.

در شرایط مناسب،
این کار پهنای باند نظری حافظه
را نسبت به یک کانال افزایش می دهد.

نکته مهندسی — Engineering Insight: دو ماژول RAM فقط برای افزایش ظرفیت نیستند

فرض کنید یک سیستم
به 16GB RAM نیاز دارد.

در بسیاری از سیستم های Dual Channel،
استفاده از:

2 × 8 GB

می تواند امکان استفاده از دو کانال حافظه
را فراهم کند،
در حالی که:

1 × 16 GB

ممکن است فقط یک کانال را درگیر کند.

البته رفتار دقیق
به معماری CPU،
مادربرد
و نحوه سازمان دهی حافظه بستگی دارد.

Quad Channel چیست؟


حافظه چهار کاناله — Quad Channel

Quad Channel
یا «حالت چهار کاناله»
یعنی کنترلر حافظه
چهار کانال مستقل را پشتیبانی می کند.

این ساختار
بیشتر در برخی پلتفرم های:

  • Workstation
  • HEDT
  • Server

دیده می شود.


دسکتاپ رده بالا — HEDT

HEDT
مخفف:

High-End Desktop

و به معنی
«کامپیوتر دسکتاپ رده بالا»
است.

این پلتفرم ها معمولاً
امکانات پردازشی،
حافظه
و توسعه بیشتری
نسبت به دسکتاپ های عادی ارائه می کنند.

اشتباه رایج — Common Mistake: تعداد RAM برابر تعداد Channel است

تعداد ماژول های RAM
الزاماً برابر تعداد کانال های حافظه نیست.

ممکن است مادربرد
چهار اسلات RAM داشته باشد
اما CPU فقط دو کانال حافظه داشته باشد.

بنابراین:

DIMM Slots
≠
Memory Channels

DIMM چیست؟


ماژول حافظه — DIMM

DIMM
مخفف:

Dual Inline Memory Module

و به ماژول حافظه ای گفته می شود
که معمولاً در کامپیوترهای دسکتاپ،
Workstation
و Server استفاده می شود.

SO-DIMM چیست؟


ماژول حافظه کوچک — SO-DIMM

SO-DIMM
فرم کوچک تر ماژول حافظه است
که معمولاً در:

  • لپ تاپ
  • Mini PC
  • All-in-One
  • برخی سیستم های کوچک

استفاده می شود.

SO در این عبارت
به:

Small Outline

اشاره دارد؛
یعنی طراحی با ابعاد کوچک تر.

Memory Bandwidth چیست؟


پهنای باند حافظه — Memory Bandwidth

Memory Bandwidth
یا «پهنای باند حافظه»
نشان می دهد
چه مقدار داده
در یک بازه زمانی
می تواند میان حافظه
و کنترلر حافظه منتقل شود.

پهنای باند معمولاً
با واحدهایی مانند:

GB/s

بیان می شود.

پهنای باند نظری RAM چگونه محاسبه می شود؟

برای یک کانال حافظه 64 بیتی،
می توان به صورت ساده نوشت:

Bandwidth
=
Transfer Rate
×
8 Bytes

مثلاً برای حافظه:

DDR4-3200

نرخ انتقال اسمی:

3200 MT/s

است.

بنابراین پهنای باند نظری یک کانال:

3200 × 8
=
25,600 MB/s
≈
25.6 GB/s

و در یک پیکربندی دو کاناله ایده آل:

25.6 × 2
=
51.2 GB/s


پهنای باند نظری — Theoretical Bandwidth

Theoretical Bandwidth
یا «پهنای باند نظری»
حداکثر نرخ انتقالی است
که از مشخصات رابط حافظه
به صورت محاسباتی به دست می آید.

Performance واقعی
معمولاً دقیقاً برابر این عدد نیست.

DDR یعنی چه؟


نرخ انتقال دوگانه — DDR

DDR
مخفف:

Double Data Rate

و به معنی
«نرخ انتقال داده دوگانه»
است.

مفهوم اصلی این است
که داده در هر چرخه کلاک
در دو لبه سیگنال منتقل می شود.

تفاوت MHz و MT/s چیست؟

این یکی از رایج ترین نقاط اشتباه
در مشخصات RAM است.


مگاهرتز — MHz

MHz
واحد فرکانس است.

یک MHz یعنی:

1,000,000 Cycles per Second

یعنی یک میلیون چرخه در ثانیه.


میلیون انتقال در ثانیه — MT/s

MT/s
مخفف:

Mega Transfers per Second

و به معنی
«میلیون انتقال در ثانیه»
است.

MT/s نرخ انتقال داده را بیان می کند،
نه صرفاً فرکانس کلاک.

پشت صحنه فنی — Under the Hood: آیا DDR4-3200 واقعاً با کلاک 3200MHz کار می کند؟

وقتی روی RAM نوشته می شود:

DDR4-3200

عدد 3200
نرخ موثر انتقال داده را نشان می دهد
و بیان دقیق آن:

3200 MT/s

است.

کلاک پایه مربوط به انتقال DDR
در این مثال حدود:

1600 MHz

است.

چون DDR
در هر چرخه کلاک
دو انتقال انجام می دهد:

1600 MHz
×
2 Transfers per Cycle
=
3200 MT/s

اشتباه رایج — Common Mistake: «RAM 3200MHz»

عبارت «RAM 3200MHz»
در بازار بسیار رایج است
و معمولاً منظور فروشنده و خریدار
DDR4-3200 است.

اما از نظر فنی
بیان دقیق تر:

DDR4-3200
=
3200 MT/s

است،
نه اینکه Clock واقعی حافظه
الزاماً 3200MHz باشد.

Memory Timing چیست؟


زمان بندی حافظه — Memory Timing

Memory Timing
یا «زمان بندی حافظه»
مجموعه ای از مقادیر زمانی
برای عملیات داخلی DRAM است.

ممکن است روی یک کیت RAM
اعدادی مانند این ببینید:

16-18-18-38

این اعداد
Timingهای مختلف حافظه را نشان می دهند.

CL چیست؟


تاخیر CAS — CAS Latency

CL
معمولاً به:

CAS Latency

اشاره دارد.

CAS مخفف:

Column Address Strobe

است.

به زبان ساده،
CL تعداد چرخه هایی را
در یکی از مراحل مهم دسترسی حافظه
نشان می دهد.

اشتباه رایج — Common Mistake: CL16 همیشه سریع تر از CL18 است

عدد CL
تعداد Cycle را بیان می کند،
نه زمان مطلق را به تنهایی.

بنابراین برای مقایسه
باید نرخ حافظه نیز در نظر گرفته شود.

مثلاً:

DDR4-3200 CL16

و:

DDR4-3600 CL18

از نظر CAS Latency واقعی
می توانند بسیار نزدیک باشند.

Latency واقعی CL چگونه محاسبه می شود؟

یک رابطه ساده و بسیار کاربردی:

CAS Latency (ns)
≈
CL × 2000 / Data Rate (MT/s)

برای:

DDR4-3200 CL16

داریم:

16 × 2000 / 3200
=
10 ns

و برای:

DDR4-3600 CL18

18 × 2000 / 3600
=
10 ns

پس فقط نگاه کردن به عدد CL
می تواند گمراه کننده باشد.


نانوثانیه — Nanosecond

ns
مخفف Nanosecond
یا «نانوثانیه» است.

یک نانوثانیه برابر است با:

0.000000001 Second

Memory Rank چیست؟


رنک حافظه — Memory Rank

Memory Rank
به گروهی از تراشه های حافظه
روی یک ماژول گفته می شود
که کنترلر حافظه
آنها را به عنوان یک مجموعه
برای انتقال داده مدیریت می کند.

Rank را نباید
با Channel اشتباه گرفت.

Single Rank و Dual Rank چیست؟

نوع مفهوم
Single Rank ماژول دارای یک Rank قابل انتخاب
Dual Rank ماژول دارای دو Rank قابل انتخاب

Rank Interleaving چیست؟


درهم سازی دسترسی میان رنک ها — Rank Interleaving

Rank Interleaving
یعنی کنترلر حافظه
بتواند دسترسی ها را
میان Rankهای مختلف سازمان دهی کند
تا بخشی از زمان انتظار
بهتر مدیریت شود.

اشتباه رایج — Common Mistake: Dual Rank همان Dual Channel است

این دو کاملاً متفاوت هستند.

Dual Channel
=
Two Memory Channels

Dual Rank
=
Two Ranks on a Memory Module

یک سیستم می تواند
هم Dual Channel باشد
و هم از ماژول های Dual Rank استفاده کند.

ECC چیست؟


کد تصحیح خطا — ECC

ECC
مخفف:

Error-Correcting Code

و به معنی
«کد تصحیح خطا»
است.

حافظه ECC
برای شناسایی
و در شرایط پشتیبانی شده،
اصلاح برخی خطاهای داده
طراحی شده است.

ECC کجا اهمیت بیشتری دارد؟

ECC در سیستم هایی که
صحت داده و پایداری
اهمیت بالایی دارد
بسیار ارزشمند است.

برای مثال:

  • Server
  • Workstationهای حرفه ای
  • محاسبات علمی
  • سیستم های طولانی مدت
  • برخی زیرساخت های سازمانی

نکته مهندسی — Engineering Insight: خرید RAM ECC به تنهایی کافی نیست

برای استفاده واقعی از ECC،
کل زنجیره پلتفرم باید
از نوع حافظه مورد نظر پشتیبانی کند.

این موضوع می تواند شامل:

  • CPU
  • Memory Controller
  • Motherboard
  • Firmware / BIOS
  • Memory Module

باشد.


میان افزار راه اندازی سیستم — BIOS / UEFI

BIOS
و
UEFI
محیط های Firmware
یا «میان افزار»
سیستم هستند
که پیش از بارگذاری سیستم عامل
سخت افزار را آماده و پیکربندی می کنند.

Gear Mode چیست؟


نسبت کاری کنترلر حافظه — Gear Mode

Gear Mode
در برخی پلتفرم ها
به نسبت فرکانسی
میان بخش هایی از کنترلر حافظه
و حافظه مربوط می شود.

استفاده از Gear متفاوت
می تواند امکان دستیابی
به نرخ حافظه بالاتر را فراهم کند،
اما ممکن است
روی Latency نیز تاثیر بگذارد.

Memory Training چیست؟


آموزش حافظه — Memory Training

Memory Training
یا «فرایند آموزش و تنظیم حافظه»
مرحله ای هنگام راه اندازی سیستم است
که در آن پلتفرم
پارامترهای لازم برای ارتباط پایدار
با RAM را تنظیم و آزمایش می کند.

به همین دلیل
در بعضی سیستم ها،
به ویژه پس از تغییر RAM
یا تنظیمات حافظه،
Boot اولیه می تواند
بیشتر طول بکشد.


راه اندازی سیستم — Boot

Boot
یا «راه اندازی»
فرایندی است که
از روشن شدن سیستم آغاز می شود
و تا آماده شدن سیستم عامل
برای استفاده ادامه پیدا می کند.

Memory Profile چیست؟


پروفایل تنظیمات حافظه — Memory Profile

Memory Profile
مجموعه ای از تنظیمات از پیش تعریف شده
برای RAM است
که می تواند شامل:

  • Data Rate
  • Timing
  • Voltage

باشد.

XMP و EXPO چیست؟

اصطلاح مفهوم کلی
XMP پروفایل تنظیمات حافظه که بیشتر با اکوسیستم Intel شناخته می شود
EXPO پروفایل حافظه توسعه یافته برای پلتفرم های AMD مربوطه

JEDEC چیست؟


سازمان استانداردهای حافظه — JEDEC

JEDEC
سازمانی است
که استانداردهای متعددی
در صنعت نیمه هادی و حافظه
تدوین می کند.

استانداردهای DDR
نیز در چارچوب مشخصات JEDEC
تعریف می شوند.

وقتی مشخصات CPU می گوید DDR5-5600 یعنی چه؟

این عدد معمولاً
بخشی از مشخصات رسمی
پشتیبانی حافظه پردازنده است.

اما نرخ قابل دستیابی واقعی
می تواند تحت تاثیر:

  • تعداد DIMMها
  • تعداد Rankها
  • مادربرد
  • BIOS
  • Memory Controller
  • نوع CPU
  • نسل پلتفرم
  • تنظیمات حافظه

قرار گیرد.

Memory Overclocking چیست؟


اورکلاک حافظه — Memory Overclocking

Memory Overclocking
یعنی استفاده از حافظه
با تنظیماتی فراتر از
مشخصات پایه یا رسمی
تعریف شده برای یک پلتفرم.

این تنظیمات می توانند شامل:

  • Data Rate بالاتر
  • Timing متفاوت
  • Voltage متفاوت

باشند.

اشتباه رایج — Common Mistake: اگر سیستم Boot شد، RAM کاملاً پایدار است

Boot شدن سیستم
به تنهایی
پایداری کامل حافظه را ثابت نمی کند.

تنظیمات ناپایدار حافظه
ممکن است در بار کاری سنگین
باعث:

  • Crash
  • Error
  • Restart
  • خرابی محاسبات
  • رفتار غیرقابل پیش بینی نرم افزار

شوند.

چرا سرعت RAM برای گرافیک مجتمع مهم تر می شود؟

بسیاری از GPUهای مجتمع
حافظه ویدیویی مستقل پرسرعت
مانند کارت گرافیک مجزا ندارند
و از حافظه اصلی سیستم استفاده می کنند.

بنابراین CPU و GPU مجتمع
ممکن است هر دو
به پهنای باند RAM نیاز داشته باشند.

System RAM
↔
CPU
+
Integrated GPU


معماری حافظه یکپارچه — Unified Memory Architecture

Unified Memory Architecture
یا در این زمینه
«معماری حافظه مشترک»
به ساختاری اشاره دارد
که واحدهای پردازشی
از یک مجموعه حافظه مشترک استفاده می کنند.

تاثیر بر عملکرد — Performance Impact: Single Channel می تواند GPU مجتمع را محدود کند

اگر GPU مجتمع
به RAM سیستم متکی باشد،
کاهش پهنای باند حافظه
می تواند تاثیر بیشتری
نسبت به برخی کاربردهای عادی CPU داشته باشد.

به همین دلیل
در بسیاری از سیستم های دارای iGPU،
پیکربندی مناسب کانال حافظه
اهمیت ویژه ای دارد.

ظرفیت RAM مهم تر است یا سرعت آن؟

ابتدا باید ظرفیت کافی داشته باشید.

اگر برنامه به 20GB RAM نیاز داشته باشد
و سیستم فقط 8GB داشته باشد،
افزایش Data Rate
مشکل کمبود ظرفیت را حل نمی کند.

یک ترتیب منطقی برای انتخاب:

Enough Capacity
→
Correct Channel Configuration
→
Suitable Data Rate
→
Suitable Timings

وقتی RAM کم می آید چه می شود؟

سیستم عامل می تواند
از بخشی از Storage
برای مدیریت کمبود حافظه
استفاده کند.

اما SSD
حتی اگر بسیار سریع باشد،
جایگزین واقعی DRAM
از نظر Latency و رفتار عملکردی نیست.


صفحه بندی حافظه — Paging

Paging
یکی از سازوکارهای مدیریت حافظه
در سیستم عامل است
که داده ها را در واحدهایی به نام Page
مدیریت می کند.

در شرایط مختلف،
برخی صفحات حافظه
می توانند میان RAM
و فضای ذخیره سازی جابه جا شوند.


صفحه حافظه — Memory Page

Memory Page
یا «صفحه حافظه»
واحدی با اندازه مشخص
برای مدیریت حافظه مجازی
توسط سیستم عامل و سخت افزار است.

Virtual Memory چیست؟


حافظه مجازی — Virtual Memory

Virtual Memory
یا «حافظه مجازی»
سازوکاری است
که به هر Process
فضای آدرس دهی منطقی مخصوص خود
ارائه می دهد.

این آدرس های مجازی
باید به محل های واقعی حافظه
نگاشت شوند.

پشت صحنه فنی — Under the Hood: CPU چگونه آدرس مجازی را به محل واقعی RAM تبدیل می کند؟

برنامه ها معمولاً
مستقیماً با آدرس فیزیکی RAM
کار نمی کنند.

آنها با:

Virtual Address

یا «آدرس مجازی»
کار می کنند.

CPU باید این آدرس را
به:

Physical Address

یا «آدرس فیزیکی»
ترجمه کند.

این کار ما را
به یکی از بخش های مهم معماری CPU می رساند:

MMU
+
Page Table
+
TLB

که موضوع فصل بعدی خواهد بود.

برای انتخاب RAM مناسب CPU چه چیزهایی را بررسی کنیم؟

01
نوع حافظهDDR4، DDR5 یا استاندارد مورد پشتیبانی سیستم را مشخص کنید.
02
ظرفیت کافیابتدا نیاز واقعی نرم افزارها را پوشش دهید.
03
تعداد کانالپیکربندی حافظه را با کانال های پشتیبانی شده CPU هماهنگ کنید.
04
Data Rateنرخ انتقال مناسب پلتفرم را انتخاب کنید.
05
TimingCL و سایر Timingها را همراه Data Rate بررسی کنید.
06
Rankساختار Rank می تواند روی رفتار کنترلر حافظه و Performance تاثیر بگذارد.
07
سازگاری مادربردنوع، ظرفیت و تعداد ماژول های قابل پشتیبانی را بررسی کنید.
08
پایداریبالاترین عدد روی جعبه همیشه بهترین تنظیم عملی نیست.

اشتباهات رایج — Common Mistakes: CPU و RAM
  • گفتن 3200MHz به جای 3200MT/s بدون شناخت تفاوت آنها.
  • فرض اینکه تعداد اسلات RAM همان تعداد Channel است.
  • یکی دانستن Dual Rank و Dual Channel.
  • مقایسه RAM فقط با عدد CL.
  • نادیده گرفتن Data Rate هنگام مقایسه Latency.
  • خرید RAM سریع بدون بررسی پشتیبانی CPU و مادربرد.
  • فرض اینکه فعال شدن XMP یا EXPO در همه سیستم ها تضمین شده است.
  • فرض اینکه Boot شدن سیستم نشانه پایداری کامل RAM است.
  • نادیده گرفتن اهمیت Dual Channel برای GPU مجتمع.
  • اولویت دادن سرعت RAM به ظرفیت مورد نیاز.
  • فرض اینکه SSD می تواند کمبود RAM را بدون افت Performance جبران کند.
  • فرض اینکه همه CPUها تعداد Channel یکسانی دارند.
  • نادیده گرفتن تعداد DIMM و Rank در فرکانس های بالا.
  • فرض اینکه ECC فقط به خود ماژول RAM وابسته است.

سوالات متداول درباره CPU و RAM

Memory Controller چیست؟

بخشی است که ارتباط
و عملیات دسترسی
میان پردازنده و حافظه اصلی
را مدیریت می کند.

IMC چیست؟

Integrated Memory Controller
یا کنترلر حافظه یکپارچه است
که در پردازنده های مدرن
در مجموعه CPU قرار دارد.

Dual Channel چیست؟

پیکربندی ای است
که امکان استفاده از دو کانال حافظه
را فراهم می کند.

آیا دو RAM همیشه Dual Channel می شوند؟

خیر.
CPU، مادربرد،
محل نصب ماژول ها
و سازگاری آنها اهمیت دارد.

DDR4-3200 یعنی 3200MHz؟

بیان دقیق نرخ داده آن
3200MT/s است.
اصطلاح 3200MHz در بازار رایج است
اما از نظر فنی دقیق نیست.

MT/s چیست؟

میلیون انتقال داده در ثانیه است
و نرخ انتقال حافظه را بیان می کند.

CL کمتر بهتر است؟

در شرایط برابر می تواند بهتر باشد،
اما CL باید همراه Data Rate
و سایر ویژگی های حافظه بررسی شود.

Dual Rank همان Dual Channel است؟

خیر.
Rank ساختار داخلی ماژول
و Channel مسیر ارتباط حافظه است.

ECC چیست؟

فناوری مرتبط با شناسایی
و اصلاح برخی خطاهای داده در حافظه است.

Memory Training چیست؟

فرایند تنظیم و آزمایش پارامترهای حافظه
هنگام راه اندازی سیستم است.

چرا RAM برای گرافیک مجتمع مهم است؟

چون بسیاری از GPUهای مجتمع
از RAM سیستم استفاده می کنند
و به پهنای باند آن وابسته هستند.

ظرفیت مهم تر است یا سرعت RAM؟

ابتدا ظرفیت کافی اهمیت دارد؛
سپس Channel، Data Rate
و Timing بهینه می شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Memory Controller: کنترلر مسئول مدیریت ارتباط با حافظه.
  • IMC: کنترلر حافظه یکپارچه در مجموعه پردازنده.
  • Memory Channel: کانال ارتباطی کنترلر حافظه و RAM.
  • Single Channel: پیکربندی تک کاناله حافظه.
  • Dual Channel: پیکربندی دو کاناله حافظه.
  • Quad Channel: پیکربندی چهار کاناله حافظه.
  • HEDT: دسکتاپ رده بالا.
  • DIMM: فرم رایج ماژول RAM در دسکتاپ و سرور.
  • SO-DIMM: فرم کوچک تر ماژول حافظه.
  • Memory Bandwidth: حجم داده قابل انتقال حافظه در واحد زمان.
  • Theoretical Bandwidth: حداکثر پهنای باند محاسباتی رابط.
  • DDR: نرخ انتقال داده دوگانه.
  • MHz: واحد اندازه گیری فرکانس.
  • MT/s: میلیون انتقال در ثانیه.
  • Memory Timing: پارامترهای زمان بندی عملیات حافظه.
  • CAS Latency: یکی از تاخیرهای مهم دسترسی DRAM.
  • CL: مقدار CAS Latency بر حسب چرخه.
  • Nanosecond: یک میلیاردم ثانیه.
  • Memory Rank: گروه منطقی تراشه های حافظه روی ماژول.
  • Single Rank: ماژول دارای یک Rank.
  • Dual Rank: ماژول دارای دو Rank.
  • Rank Interleaving: سازمان دهی دسترسی میان چند Rank.
  • ECC: فناوری تشخیص و اصلاح برخی خطاهای حافظه.
  • Firmware: میان افزار سطح پایین سخت افزار.
  • Gear Mode: نسبت کاری بخش هایی از کنترلر حافظه و حافظه.
  • Memory Training: فرایند تنظیم ارتباط پایدار RAM هنگام راه اندازی.
  • Boot: فرایند راه اندازی سیستم.
  • Memory Profile: مجموعه تنظیمات از پیش تعریف شده RAM.
  • XMP: فناوری پروفایل تنظیمات حافظه شناخته شده در اکوسیستم Intel.
  • EXPO: فناوری پروفایل حافظه AMD برای پلتفرم های مربوطه.
  • JEDEC: سازمان تدوین کننده استانداردهای متعدد حافظه و نیمه هادی.
  • Memory Overclocking: استفاده از تنظیمات حافظه فراتر از مشخصات پایه.
  • Unified Memory Architecture: ساختار استفاده مشترک واحدهای پردازشی از حافظه.
  • Paging: مدیریت حافظه بر اساس واحدهایی به نام Page.
  • Memory Page: واحد مدیریت حافظه مجازی.
  • Virtual Memory: فضای آدرس دهی منطقی مدیریت شده توسط سیستم.
  • Virtual Address: آدرس مجازی مورد استفاده برنامه.
  • Physical Address: آدرس متناظر در حافظه فیزیکی.

خلاصه فصل

ارتباط CPU و RAM
فقط به «سرعت RAM»
خلاصه نمی شود.

مسیر کامل تر شامل:

CPU
+
IMC
+
Memory Channels
+
RAM Configuration
+
Data Rate
+
Timings
+
Ranks

است.

برای همین دو سیستم
با CPU یکسان
و حتی ظرفیت RAM یکسان
می توانند Performance متفاوتی داشته باشند.

قانون مهم این فصل:


RAM را با یک عدد مقایسه نکنید.
ظرفیت، تعداد کانال، نرخ انتقال،
Timing، Rank و سازگاری با کنترلر حافظه
باید در کنار یکدیگر بررسی شوند.


فصل 63
سطح: متوسط تا پیشرفته
موضوع: مدیریت و آدرس دهی حافظه
تمرکز: MMU / TLB / Page Table / Page Fault / Huge Pages

برنامه یک آدرس می بیند؛ RAM آدرس دیگری دارد؛ CPU باید میان این دو ترجمه انجام دهد

MMU و TLB چیست؟ CPU چگونه آدرس مجازی را به آدرس فیزیکی RAM تبدیل می کند؟

در فصل قبل دیدیم که
Memory Controller
چگونه ارتباط CPU و RAM را مدیریت می کند.
اما پیش از دسترسی واقعی به حافظه،
یک مسئله مهم دیگر باید حل شود:
پردازنده باید بداند
آدرس مورد استفاده برنامه
به کدام محل واقعی حافظه مربوط است.

برنامه ها معمولاً
مستقیماً با محل فیزیکی RAM کار نمی کنند.
آنها با فضایی به نام
Virtual Address Space یا «فضای آدرس مجازی»
سروکار دارند.

در سطح ساده:

Virtual Address
→
Address Translation
→
Physical Address

این ترجمه یکی از وظایف مهم
زیرسیستم مدیریت حافظه پردازنده است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Virtual Address چیست.
  • Physical Address چیست.
  • Virtual Address Space چیست.
  • MMU چیست.
  • Address Translation چگونه انجام می شود.
  • Page چیست.
  • Page Table چیست.
  • Page Table Entry چیست.
  • TLB چیست و چرا وجود آن ضروری است.
  • TLB Hit و TLB Miss چه هستند.
  • Page Walk چیست.
  • Page Fault چیست.
  • Minor و Major Page Fault چه تفاوتی دارند.
  • Huge Page چیست.
  • چرا اندازه Page روی TLB تاثیر دارد.
  • Memory Protection چگونه با آدرس دهی حافظه ارتباط دارد.
  • چرا Virtual Memory فقط «استفاده از SSD به جای RAM» نیست.

Virtual Address چیست؟


آدرس مجازی — Virtual Address

Virtual Address
یا «آدرس مجازی»
آدرسی است که برنامه و CPU
در چارچوب فضای آدرس مجازی
برای مراجعه به داده یا دستور
از آن استفاده می کنند.

این آدرس
الزاماً همان شماره محل واقعی
داده در RAM نیست.

Physical Address چیست؟


آدرس فیزیکی — Physical Address

Physical Address
یا «آدرس فیزیکی»
آدرسی در فضای حافظه فیزیکی سیستم است
که سخت افزار حافظه
می تواند بر اساس آن
به محل مربوطه دسترسی پیدا کند.

چرا اصلاً به آدرس مجازی نیاز داریم؟

اگر تمام برنامه ها
مستقیماً با آدرس های فیزیکی RAM کار می کردند،
مدیریت حافظه بسیار پیچیده تر می شد.

Virtual Memory
امکان ایجاد یک فضای آدرس منطقی
برای هر Process را فراهم می کند.

این ساختار مزایایی مانند:

  • جداسازی فضای حافظه Processها
  • حفاظت بهتر از حافظه
  • مدیریت انعطاف پذیر RAM
  • اشتراک کنترل شده برخی نواحی حافظه
  • جابجایی و نگاشت انعطاف پذیر صفحات

را امکان پذیر می کند.


فرایند — Process

Process
یا «فرایند»
نمونه در حال اجرای یک برنامه
همراه با منابع و وضعیت اجرایی آن است.

چند Process
می توانند همزمان در سیستم وجود داشته باشند
و هرکدام فضای آدرس مجازی
مخصوص خود را داشته باشند.

Virtual Address Space چیست؟


فضای آدرس مجازی — Virtual Address Space

Virtual Address Space
یا «فضای آدرس مجازی»
مجموعه آدرس هایی است
که یک Process
می تواند در محیط مجازی خود
از آنها استفاده کند.

دو Process مختلف
می توانند یک Virtual Address یکسان داشته باشند،
اما آن آدرس ها
به Physical Addressهای متفاوتی
نگاشت شوند.

نکته مهندسی — Engineering Insight: یک آدرس یکسان می تواند برای دو برنامه به دو محل متفاوت اشاره کند

فرض کنید Process A
و Process B
هر دو به آدرس مجازی فرضی:

0x1000

دسترسی داشته باشند.

این موضوع به معنی
دسترسی آنها به یک محل فیزیکی مشترک نیست.

سیستم می تواند:

Process A:
0x1000
→
Physical Location A

Process B:
0x1000
→
Physical Location B

را ایجاد کند.

این یکی از پایه های
جداسازی حافظه برنامه ها است.

MMU چیست؟


واحد مدیریت حافظه — Memory Management Unit

MMU
مخفف:

Memory Management Unit

و به معنی
«واحد مدیریت حافظه»
است.

MMU بخش سخت افزاری مهمی
در سیستم پردازنده است
که در ترجمه آدرس های مجازی
به آدرس های فیزیکی
و اعمال برخی قوانین دسترسی حافظه
نقش دارد.

Address Translation چیست؟


ترجمه آدرس — Address Translation

Address Translation
یا «ترجمه آدرس»
فرایند تبدیل:

Virtual Address
→
Physical Address

است.

این فرایند باید بسیار سریع انجام شود،
زیرا دسترسی به حافظه
یکی از عملیات بسیار پرتکرار
در اجرای نرم افزار است.

Page چیست؟


صفحه حافظه — Memory Page

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

به هر یک از این بلوک ها:

Page

یا «صفحه حافظه»
گفته می شود.

اندازه رایج Page
در بسیاری از سیستم ها:

4 KB

است؛
هرچند اندازه های دیگری نیز وجود دارند.

Page Frame چیست؟


قاب صفحه — Page Frame

Page Frame
یا «قاب صفحه»
یک بلوک در حافظه فیزیکی است
که می تواند
یک Page از حافظه مجازی
به آن نگاشت شود.

بنابراین می توانیم
مفهوم اصلی را این گونه ببینیم:

Virtual Page
→
Physical Page Frame

Page Table چیست؟


جدول صفحات — Page Table

Page Table
یا «جدول صفحات»
ساختاری است
که اطلاعات لازم
برای نگاشت صفحات مجازی
به حافظه فیزیکی
را نگهداری می کند.

سیستم عامل
Page Tableها را مدیریت می کند
و سخت افزار پردازنده
از آنها برای ترجمه آدرس
استفاده می کند.

PTE چیست؟


ورودی جدول صفحه — Page Table Entry

PTE
مخفف:

Page Table Entry

و به معنی
«ورودی جدول صفحه»
است.

هر PTE می تواند
اطلاعات مربوط به یک نگاشت
و ویژگی های آن صفحه را نگهداری کند.

برای مثال اطلاعاتی درباره:

  • محل صفحه فیزیکی
  • وضعیت معتبر بودن نگاشت
  • مجوز خواندن یا نوشتن
  • برخی ویژگی های حفاظتی

مشکل Page Table چیست؟

اگر CPU
برای هر دسترسی حافظه
مجبور باشد ابتدا چند دسترسی دیگر
برای پیدا کردن ترجمه آدرس انجام دهد،
هزینه بسیار زیادی ایجاد می شود.

تصور کنید:

Memory Access
→
Address Translation
→
More Memory Accesses
→
Actual Data Access

اینجاست که
یکی از Cacheهای بسیار مهم CPU
وارد عمل می شود:

TLB

TLB چیست؟


حافظه نهان ترجمه آدرس — Translation Lookaside Buffer

TLB
مخفف:

Translation Lookaside Buffer

است.

ترجمه مفهومی مناسب آن:
«حافظه نهان ترجمه آدرس»
است.

TLB ترجمه های اخیر
یا پرکاربرد آدرس های مجازی
به فیزیکی را نگهداری می کند
تا CPU مجبور نباشد
برای هر دسترسی
دوباره Page Table را بررسی کند.

نکته مهندسی — Engineering Insight: TLB در اصل Cache آدرس ها است

در فصل قبل دیدیم
CPU Cache داده و دستورها را
نزدیک پردازنده نگه می دارد.

TLB نیز مفهوم مشابهی دارد،
اما چیزی که Cache می کند
خود داده برنامه نیست.

TLB نتیجه ترجمه:

Virtual Page
→
Physical Page

را نگهداری می کند.

بنابراین:

CPU Cache
=
Cache of Data / Instructions

TLB
=
Cache of Address Translations

TLB Hit چیست؟


یافتن ترجمه در TLB — TLB Hit

اگر ترجمه آدرس مورد نیاز
در TLB موجود باشد،
به این اتفاق:

TLB Hit

گفته می شود.

در این حالت
پردازنده می تواند
ترجمه آدرس را سریع تر
در اختیار داشته باشد.

TLB Miss چیست؟


پیدا نشدن ترجمه در TLB — TLB Miss

اگر ترجمه مورد نیاز
در TLB وجود نداشته باشد،
TLB Miss
رخ می دهد.

در این حالت
باید ترجمه آدرس
از ساختار Page Table
به دست آید.

اشتباه رایج — Common Mistake: TLB Miss همان Page Fault است

خیر.

TLB Miss
فقط یعنی ترجمه آدرس
در TLB پیدا نشده است.

ممکن است Page Table
یک نگاشت کاملاً معتبر داشته باشد.

اما Page Fault
وضعیت دیگری است
که نیازمند رسیدگی سیستم عامل
به دسترسی مورد نظر است.

TLB Miss
≠
Page Fault

Page Walk چیست؟


پیمایش جدول صفحات — Page Walk

Page Walk
یا «پیمایش جدول صفحات»
فرایند بررسی ساختار Page Table
برای پیدا کردن اطلاعات
ترجمه یک Virtual Address است.

در معماری های مدرن،
Page Table
معمولاً ساختاری چند سطحی دارد.

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

Multi-Level Page Table چیست؟


جدول صفحات چند سطحی — Multi-Level Page Table

Multi-Level Page Table
یا «جدول صفحات چند سطحی»
ساختاری سلسله مراتبی
برای مدیریت نگاشت آدرس ها است.

به جای یک جدول بسیار بزرگ و تخت،
اطلاعات در چند سطح
سازمان دهی می شوند.

پشت صحنه فنی — Under the Hood: هنگام TLB Miss چه اتفاقی می افتد؟

فرض کنیم CPU
برای یک Virtual Address
ترجمه موجود در TLB ندارد.

در حالت ساده:

Virtual Address
→
TLB Lookup
→
TLB Miss
→
Page Table Walk

اگر Page Table
نگاشت معتبر را داشته باشد:

Page Table Entry Found
→
Translation Loaded into TLB
→
Memory Access Continues

یعنی TLB Miss
الزاماً باعث مراجعه به SSD
یا حتی Page Fault نمی شود.

آیا CPU برای Page Walk هم بهینه سازی دارد؟

بله.

پردازنده های مدرن
از سازوکارهای مختلفی
برای کاهش هزینه ترجمه آدرس استفاده می کنند.

جزئیات دقیق
میان معماری ها متفاوت است،
اما ممکن است اطلاعات
مربوط به مراحل Page Walk
نیز Cache شوند.

بنابراین Performance ترجمه آدرس
فقط به ظرفیت یک TLB ساده
محدود نیست.

Page Fault چیست؟


خطای صفحه — Page Fault

Page Fault
یا «خطای صفحه»
زمانی رخ می دهد
که دسترسی به یک Virtual Page
نیازمند رسیدگی سیستم عامل باشد.

برخلاف نام آن،
Page Fault همیشه
به معنی خرابی یا خطای خطرناک نیست.

بعضی Page Faultها
بخشی طبیعی
از مدیریت حافظه سیستم عامل هستند.

روند مفهومی:

CPU Memory Access
→
Translation Problem
→
Page Fault
→
Operating System
→
Resolve or Reject Access


سیستم عامل — Operating System

Operating System
یا «سیستم عامل»
نرم افزار پایه ای است
که منابع سخت افزاری سیستم
مانند CPU، RAM، Storage
و دستگاه های ورودی و خروجی
را مدیریت می کند
و محیط اجرای برنامه ها را فراهم می سازد.

Minor Page Fault و Major Page Fault چه تفاوتی دارند؟

نوع معنی مفهومی هزینه نسبی
Minor Page Fault سیستم عامل می تواند مسئله را بدون خواندن صفحه از Storage حل کند کمتر
Major Page Fault برای تامین صفحه، دسترسی به Storage لازم می شود بسیار بیشتر


خطای صفحه جزئی — Minor Page Fault

در Minor Page Fault
سیستم عامل می تواند
نگاشت مورد نیاز را
بدون خواندن داده صفحه
از Storage فراهم کند.


خطای صفحه عمده — Major Page Fault

در Major Page Fault
داده مورد نیاز
باید از Storage
مانند SSD یا HDD
دریافت شود.

این اتفاق می تواند
هزینه زمانی بسیار بیشتری
نسبت به دسترسی عادی RAM داشته باشد.

تاثیر بر عملکرد — Performance Impact: چرا کمبود RAM می تواند سیستم را ناگهان بسیار کند کند؟

اگر Working Set برنامه ها
از ظرفیت قابل استفاده RAM
فراتر رود،
سیستم عامل ممکن است
مجبور شود صفحات بیشتری را
میان RAM و Storage مدیریت کند.

اگر اجرای برنامه
مرتباً منتظر داده ای باشد
که باید از Storage بازگردانده شود،
Latency بسیار افزایش پیدا می کند.

بنابراین تفاوت میان:

Cache Hit
→
RAM Access
→
SSD Access

فقط چند عدد روی کاغذ نیست؛
هر مرحله می تواند
مرتبه متفاوتی از زمان انتظار
ایجاد کند.

Working Set چیست؟


مجموعه داده فعال — Working Set

Working Set
یا «مجموعه داده فعال»
به مجموعه صفحات یا داده هایی گفته می شود
که یک برنامه
در یک بازه زمانی
به طور فعال به آنها نیاز دارد.

اگر Working Set
به خوبی در RAM جا شود،
نیاز به جابه جایی مکرر
با Storage کاهش می یابد.

Swap چیست؟


فضای مبادله — Swap

Swap
یا «فضای مبادله»
فضایی روی Storage است
که سیستم عامل می تواند
در مدیریت حافظه مجازی
از آن استفاده کند.

این مفهوم
در سیستم عامل های مختلف
ممکن است با پیاده سازی ها
و نام های متفاوتی همراه باشد.

Pagefile چیست؟


فایل صفحه بندی — Pagefile

Pagefile
یا «فایل صفحه بندی»
اصطلاحی است
که به ویژه در Windows
برای فایلی روی Storage
که در مدیریت حافظه مجازی
استفاده می شود
شناخته شده است.

اشتباه رایج — Common Mistake: Virtual Memory یعنی بخشی از SSD که نقش RAM را بازی می کند

این تعریف ناقص است.

Virtual Memory
در اصل یک سیستم
برای مدیریت فضای آدرس مجازی،
نگاشت حافظه،
حفاظت
و مدیریت صفحات است.

استفاده از Storage
برای نگهداری برخی صفحات
فقط یکی از قابلیت هایی است
که می تواند در این سیستم وجود داشته باشد.

بنابراین:

Virtual Memory
≠
SSD Used as Fake RAM

Huge Page چیست؟


صفحه بزرگ حافظه — Huge Page

Huge Page
یا «صفحه بزرگ حافظه»
صفحه ای با اندازه بزرگ تر
از Page استاندارد معمول سیستم است.

برای مثال،
به جای تعداد بسیار زیادی
Page کوچک،
می توان بخشی از حافظه را
با Pageهای بزرگ تر نگاشت کرد.

Huge Pages چه فایده ای دارند؟

یکی از مزایای مهم
کاهش تعداد ترجمه های مورد نیاز
برای پوشش یک حجم مشخص از حافظه است.

فرض کنید هر TLB Entry
یک Page را پوشش دهد.

با Page بزرگ تر،
هر Entry می تواند
محدوده بزرگ تری از حافظه
را پوشش دهد.

Larger Page
→
More Memory Covered per TLB Entry

TLB Reach چیست؟


پوشش TLB — TLB Reach

TLB Reach
یا «محدوده پوشش TLB»
مقدار حافظه ای است
که ترجمه های موجود در TLB
می توانند پوشش دهند.

به صورت مفهومی:

TLB Reach
≈
Number of TLB Entries
×
Page Size

نکته مهندسی — Engineering Insight: چرا Page بزرگ می تواند TLB Miss را کاهش دهد؟

فرض کنید برای توضیح ساده،
TLB بتواند 512 ترجمه را نگهداری کند.

اگر Page Size برابر 4KB باشد:

512 × 4 KB
=
2 MB

اما اگر Page Size برابر 2MB باشد:

512 × 2 MB
=
1 GB

بنابراین همان تعداد Entry
می تواند محدوده بسیار بزرگ تری
از حافظه را پوشش دهد.

این مثال صرفاً برای توضیح مفهوم است؛
ساختار واقعی TLB
و تعداد Entryها
به معماری پردازنده بستگی دارد.

آیا Huge Page همیشه بهتر است؟

خیر.

Page بزرگ تر
می تواند مزایایی برای TLB داشته باشد،
اما ممکن است:

  • مدیریت حافظه را کم انعطاف تر کند،
  • هدررفت فضای حافظه را در برخی شرایط افزایش دهد،
  • برای همه Workloadها مفید نباشد،
  • و نیازمند پشتیبانی سیستم عامل و نرم افزار باشد.

Internal Fragmentation چیست؟


هدررفت داخلی حافظه — Internal Fragmentation

Internal Fragmentation
یا «هدررفت داخلی حافظه»
زمانی رخ می دهد
که یک بلوک تخصیص داده شده
بزرگ تر از مقدار واقعی مورد نیاز باشد
و بخشی از فضای داخل آن
بدون استفاده بماند.

Memory Protection چیست؟


حفاظت حافظه — Memory Protection

Memory Protection
یا «حفاظت حافظه»
مجموعه سازوکارهایی است
که مشخص می کند
چه کد یا Processی
اجازه دسترسی
به چه بخش هایی از حافظه را دارد.

این قوانین می توانند
دسترسی هایی مانند:

  • Read
  • Write
  • Execute

را کنترل کنند.


مجوزهای خواندن، نوشتن و اجرا — Read / Write / Execute

Read
یعنی اجازه خواندن داده.

Write
یعنی اجازه تغییر یا نوشتن داده.

Execute
یعنی اجازه اجرای محتوای آن ناحیه
به عنوان دستور پردازنده.

پشت صحنه فنی — Under the Hood: چرا یک برنامه نمی تواند آزادانه RAM برنامه دیگر را بخواند؟

هر Process
در فضای آدرس مجازی خود کار می کند.

Page Table
فقط نگاشت آدرس نیست؛
اطلاعات مربوط به مجوزهای دسترسی
نیز می تواند در ساختارهای مرتبط
ذخیره شود.

MMU هنگام دسترسی
این محدودیت ها را نیز بررسی می کند.

اگر دسترسی مجاز نباشد،
CPU می تواند Exception ایجاد کند
تا سیستم عامل
وضعیت را مدیریت کند.

Exception چیست؟


رویداد استثنایی پردازنده — Exception

Exception
یا «رویداد استثنایی پردازنده»
رویدادی است
که هنگام اجرای دستور
رخ می دهد
و باعث می شود CPU
جریان عادی اجرای برنامه را
برای رسیدگی به وضعیت خاص
تغییر دهد.

Page Fault
یکی از نمونه های مهم
Exceptionهای مرتبط با حافظه است.

Segmentation Fault چیست؟


خطای دسترسی غیرمجاز حافظه — Segmentation Fault

Segmentation Fault
اصطلاحی شناخته شده
برای حالتی است
که یک برنامه
دسترسی حافظه نامعتبری انجام می دهد
و سیستم عامل
اجرای آن را متوقف می کند.

این اصطلاح
بیشتر در سیستم های Unix-like
مشاهده می شود.


سیستم های شبه یونیکس — Unix-like

Unix-like
یا «شبه یونیکس»
به خانواده ای از سیستم عامل ها
و محیط هایی گفته می شود
که طراحی یا رفتار آنها
از Unix تاثیر گرفته است.

Linux
یکی از شناخته شده ترین نمونه ها است.

32-bit و 64-bit چه ارتباطی با حافظه دارند؟

یکی از تفاوت های مهم
معماری های 32 بیتی و 64 بیتی
به فضای آدرس دهی مربوط می شود.

از نظر ریاضی،
یک فضای آدرس 32 بیتی
می تواند:

2^32
=
4,294,967,296
Bytes

آدرس متمایز ایجاد کند
که تقریباً برابر 4GiB است.

اشتباه رایج — Common Mistake: CPU 64-bit یعنی تمام 64 بیت آدرس فیزیکی استفاده می شوند

خیر.

64-bit بودن معماری
الزاماً به این معنی نیست
که تمام 64 بیت
برای آدرس دهی فیزیکی RAM
در یک پردازنده مشخص پیاده سازی شده باشند.

معماری و مدل CPU
می توانند تعداد مشخصی
از بیت های آدرس مجازی
و فیزیکی را پیاده سازی کنند.


گیبی بایت — GiB

GiB
مخفف:

Gibibyte

است.

یک GiB برابر است با:

2^30 Bytes
=
1,073,741,824 Bytes

GiB با GB
از نظر تعریف دقیق
یکسان نیست.

تفاوت GB و GiB چیست؟

واحد مبنای محاسبه تعداد Byte
GB ده دهی 1,000,000,000
GiB توان های 2 1,073,741,824

Memory-Mapped I/O چیست؟


ورودی و خروجی نگاشت شده در فضای حافظه — Memory-Mapped I/O

Memory-Mapped I/O
یا «ورودی و خروجی نگاشت شده در فضای حافظه»
روشی است
که در آن بخشی از فضای آدرس
برای ارتباط با سخت افزار
و Registerهای دستگاه ها
استفاده می شود.

بنابراین هر Physical Address
الزاماً به یک سلول DRAM
اشاره نمی کند.

تاثیر بر عملکرد — Performance Impact: هزینه واقعی دسترسی حافظه فقط Latency خود RAM نیست

برای دسترسی موثر به داده،
عوامل متعددی ممکن است دخیل باشند:

TLB
+
Page Translation
+
Cache Hierarchy
+
Memory Controller
+
DRAM

بنابراین وقتی درباره
Memory Latency صحبت می کنیم،
رفتار واقعی برنامه
می تواند بسیار پیچیده تر
از یک عدد ساده روی مشخصات RAM باشد.

مسیر کامل یک دسترسی حافظه را کنار هم بگذاریم

اکنون می توانیم
بخش مهمی از مطالب سه فصل اخیر
را به هم متصل کنیم.

Program
→
Virtual Address
→
TLB Lookup
→
Address Translation
→
Cache Hierarchy
→
Memory Controller
→
DRAM

البته در CPU واقعی،
اجرای بسیاری از این مراحل
می تواند همپوشانی،
موازی سازی
و بهینه سازی های بسیار پیچیده تری داشته باشد.

اشتباهات رایج — Common Mistakes: آدرس دهی و حافظه مجازی
  • فرض اینکه برنامه مستقیماً آدرس فیزیکی RAM را می بیند.
  • یکی دانستن Virtual Address و Physical Address.
  • تعریف Virtual Memory فقط به عنوان «SSD به جای RAM».
  • یکی دانستن TLB Miss و Page Fault.
  • فرض اینکه هر Page Fault به معنی خرابی سیستم است.
  • فرض اینکه هر Page Fault نیازمند خواندن از SSD است.
  • نادیده گرفتن هزینه Page Table Walk.
  • فرض اینکه Huge Pages در همه برنامه ها Performance را افزایش می دهند.
  • نادیده گرفتن Memory Protection در Page Table.
  • فرض اینکه CPU 64-bit الزاماً از فضای کامل 64 بیتی برای RAM فیزیکی استفاده می کند.
  • یکی دانستن GB و GiB.
  • فرض اینکه تمام فضای Physical Address فقط متعلق به RAM است.

سوالات متداول درباره MMU، TLB و Virtual Memory

MMU چیست؟

Memory Management Unit
یا واحد مدیریت حافظه،
بخش سخت افزاری مهمی است
که در ترجمه آدرس
و اعمال قوانین دسترسی حافظه نقش دارد.

Virtual Address چیست؟

آدرسی است
که برنامه در فضای آدرس مجازی خود
با آن کار می کند
و الزاماً همان آدرس فیزیکی RAM نیست.

Physical Address چیست؟

آدرسی در فضای آدرس فیزیکی سیستم است
که پس از ترجمه آدرس
برای دسترسی سخت افزاری استفاده می شود.

Page Table چیست؟

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

TLB چیست؟

Cache بسیار سریعی
برای نگهداری ترجمه های اخیر
آدرس مجازی به فیزیکی است.

TLB Miss چیست؟

یعنی ترجمه مورد نیاز
در TLB موجود نیست
و باید از ساختارهای Page Table
به دست آید.

Page Walk چیست؟

فرایند پیمایش Page Table
برای پیدا کردن ترجمه
یک آدرس مجازی است.

Page Fault چیست؟

رویدادی است که
هنگام یک دسترسی حافظه
نیازمند رسیدگی سیستم عامل می شود.

آیا Page Fault همیشه بد است؟

خیر.
برخی Page Faultها
بخشی طبیعی از مدیریت حافظه هستند.

Major Page Fault چیست؟

حالتی است
که برای تامین صفحه مورد نیاز
دسترسی به Storage لازم می شود
و معمولاً هزینه زمانی بالایی دارد.

Huge Page چیست؟

صفحه حافظه ای با اندازه بزرگ تر
از Page استاندارد معمول است
که می تواند پوشش موثر TLB
را افزایش دهد.

آیا Virtual Memory همان Pagefile است؟

خیر.
Pagefile فقط یکی از ابزارهایی است
که سیستم عامل می تواند
در چارچوب مدیریت حافظه مجازی
از آن استفاده کند.

چرا TLB برای Performance مهم است؟

چون ترجمه آدرس
در دسترسی های حافظه بسیار پرتکرار است
و TLB می تواند
نیاز به Page Walkهای مکرر را کاهش دهد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Virtual Address: آدرس مجازی مورد استفاده برنامه.
  • Physical Address: آدرس در فضای حافظه فیزیکی سیستم.
  • Virtual Address Space: فضای آدرس مجازی یک Process.
  • Process: نمونه در حال اجرای یک برنامه.
  • MMU: واحد مدیریت حافظه.
  • Address Translation: ترجمه آدرس مجازی به فیزیکی.
  • Page: بلوک پایه مدیریت حافظه مجازی.
  • Page Frame: بلوک متناظر در حافظه فیزیکی.
  • Page Table: ساختار نگاشت صفحات مجازی به حافظه فیزیکی.
  • PTE: ورودی جدول صفحه.
  • TLB: حافظه نهان ترجمه آدرس.
  • TLB Hit: پیدا شدن ترجمه آدرس در TLB.
  • TLB Miss: پیدا نشدن ترجمه آدرس در TLB.
  • Page Walk: پیمایش جدول صفحات برای یافتن ترجمه آدرس.
  • Multi-Level Page Table: جدول صفحات چند سطحی.
  • Page Fault: دسترسی حافظه ای که نیازمند رسیدگی سیستم عامل است.
  • Minor Page Fault: Page Fault بدون نیاز به خواندن صفحه از Storage.
  • Major Page Fault: Page Fault نیازمند دریافت صفحه از Storage.
  • Working Set: مجموعه داده یا صفحات فعال مورد نیاز برنامه.
  • Swap: فضای مبادله مورد استفاده مدیریت حافظه.
  • Pagefile: فایل صفحه بندی مورد استفاده سیستم عامل.
  • Huge Page: صفحه حافظه با اندازه بزرگ تر.
  • TLB Reach: محدوده حافظه قابل پوشش توسط ترجمه های TLB.
  • Internal Fragmentation: هدررفت فضای داخل بلوک تخصیص داده شده.
  • Memory Protection: سازوکار کنترل مجوزهای دسترسی به حافظه.
  • Read: مجوز خواندن.
  • Write: مجوز نوشتن.
  • Execute: مجوز اجرای کد.
  • Exception: رویداد استثنایی پردازنده که جریان اجرای عادی را تغییر می دهد.
  • Segmentation Fault: خطای ناشی از دسترسی نامعتبر به حافظه.
  • Unix-like: سیستم عامل یا محیط شبه یونیکس.
  • GiB: گیبی بایت؛ برابر 2 به توان 30 بایت.
  • Memory-Mapped I/O: نگاشت منابع سخت افزاری در فضای آدرس حافظه.

خلاصه فصل

برنامه ها معمولاً
مستقیماً با محل واقعی داده در RAM
کار نمی کنند.

آنها از Virtual Address استفاده می کنند
و MMU با کمک ساختارهایی مانند
Page Table و TLB
ترجمه آدرس را مدیریت می کند.

Virtual Address
→
TLB
→
Page Table
→
Physical Address

TLB برای کاهش هزینه
ترجمه های مکرر استفاده می شود.

در صورت TLB Miss،
ممکن است Page Walk لازم شود؛
اما این اتفاق
با Page Fault یکسان نیست.

Page Fault نیز همیشه
به معنی خرابی نیست
و می تواند بخشی طبیعی
از مدیریت حافظه باشد.

مهم ترین قانون این فصل:


دسترسی CPU به RAM فقط پیدا کردن یک شماره خانه در حافظه نیست؛
پیش از رسیدن به داده،
ترجمه آدرس، TLB، Page Table،
قوانین حفاظتی و سلسله مراتب حافظه
می توانند در مسیر قرار داشته باشند.


فصل 64
سطح: متوسط تا پیشرفته
موضوع: معماری داخلی CPU
تمرکز: Pipeline / Branch / Prediction / Speculation / Out-of-Order

CPU سریع فقط CPU با فرکانس بالا نیست؛ مهم است پردازنده در هر لحظه چند کار مفید را جلو ببرد

Pipeline و Branch Prediction چیست؟ پردازنده چگونه دستورهای آینده را حدس می زند؟

اگر CPU مجبور بود
یک دستور را از ابتدا تا انتها کامل کند
و فقط بعد از پایان آن
سراغ دستور بعدی برود،
بخش زیادی از منابع داخلی پردازنده
در زمان های مختلف بدون استفاده باقی می ماند.

یکی از راهکارهای بنیادی
برای افزایش کارایی پردازنده
استفاده از:
Pipeline یا «خط لوله پردازشی»
است.

اما Pipeline یک مشکل مهم دارد.
گاهی CPU هنوز نمی داند
دستور بعدی باید از کدام مسیر برنامه خوانده شود.

این وضعیت به ویژه
هنگام دستورهای شرطی یا Branch رخ می دهد.

برای حل این مشکل،
پردازنده تلاش می کند
مسیر آینده برنامه را پیش بینی کند.

Pipeline
→
Branch
→
Prediction
→
Speculation
→
Useful Work or Recovery

در این فصل چه چیزهایی یاد می گیریم؟

  • Pipeline چیست.
  • Pipeline Stage چیست.
  • Instruction Throughput و Latency چه تفاوتی دارند.
  • Branch چیست.
  • Conditional Branch چیست.
  • Branch Prediction چیست.
  • Branch Predictor چیست.
  • Taken و Not Taken چه معنی دارند.
  • Branch Target چیست.
  • BTB چیست.
  • Prediction Accuracy چیست.
  • Branch Misprediction چیست.
  • Misprediction Penalty چیست.
  • Pipeline Flush چیست.
  • Speculative Execution چیست.
  • Out-of-Order Execution چیست.
  • In-Order و Out-of-Order چه تفاوتی دارند.
  • Dependency چیست.
  • Data Dependency چیست.
  • Instruction-Level Parallelism چیست.
  • چرا معماری CPU می تواند از فرکانس مهم تر باشد.

Pipeline چیست؟


خط لوله پردازشی — Pipeline

Pipeline
یا «خط لوله پردازشی»
روشی برای تقسیم پردازش دستور
به چند مرحله است.

در این ساختار،
چند دستور مختلف می توانند
همزمان در مراحل متفاوت پردازش قرار داشته باشند.

Pipeline را با یک مثال ساده بفهمیم

یک خط تولید کارخانه را تصور کنید.

اگر یک کارگر
تمام مراحل ساخت یک محصول را انجام دهد
و سپس سراغ محصول بعدی برود،
تولید محدود خواهد بود.

اما می توان مراحل را تقسیم کرد:

Stage 1
→
Stage 2
→
Stage 3
→
Stage 4

وقتی محصول اول وارد مرحله دوم شد،
محصول دوم می تواند
وارد مرحله اول شود.

CPU نیز با منطق بسیار پیچیده تری
از همین ایده استفاده می کند.

Pipeline Stage چیست؟


مرحله خط لوله — Pipeline Stage

Pipeline Stage
یا «مرحله خط لوله»
یکی از مراحل پردازش دستور
در Pipeline است.

برای توضیح مفهومی،
پردازش دستور می تواند
شامل مراحلی مانند:

  • دریافت دستور
  • رمزگشایی دستور
  • آماده سازی عملیات
  • اجرا
  • ثبت نتیجه

باشد.

ساختار واقعی CPUهای مدرن
بسیار پیچیده تر از این مدل ساده است.

Instruction Fetch چیست؟


واکشی دستور — Instruction Fetch

Instruction Fetch
یا «واکشی دستور»
مرحله ای است
که پردازنده دستورهای مورد نیاز
برای اجرا را دریافت می کند.

این دستورها معمولاً
از ساختارهای حافظه نزدیک پردازنده
مانند Instruction Cache
تامین می شوند.

Decode چیست؟


رمزگشایی دستور — Instruction Decode

Decode
یا «رمزگشایی»
مرحله ای است
که CPU دستور دریافت شده را
تفسیر می کند
تا مشخص شود چه عملیاتی
باید انجام شود.

Execution چیست؟


اجرای دستور — Execution

Execution
یا «اجرا»
بخشی از فرایند است
که عملیات مورد نیاز دستور
توسط منابع اجرایی پردازنده
انجام می شود.

Retirement چیست؟


نهایی سازی دستور — Instruction Retirement

Instruction Retirement
یا «نهایی سازی دستور»
مرحله ای است
که نتیجه یک دستور اجرا شده
به صورت رسمی
جزئی از وضعیت معماری برنامه می شود.

این مفهوم در CPUهای
دارای اجرای خارج از ترتیب
اهمیت زیادی دارد.

پشت صحنه فنی — Under the Hood: چگونه چند دستور همزمان در Pipeline قرار می گیرند؟

برای توضیح ساده
یک Pipeline چهار مرحله ای را تصور کنید:

Fetch
→
Decode
→
Execute
→
Retire

در یک لحظه ممکن است:

Instruction A
=
Retire

Instruction B
=
Execute

Instruction C
=
Decode

Instruction D
=
Fetch

باشد.

بنابراین چند دستور
در یک زمان
در حال پیشروی هستند،
هرچند در مراحل متفاوت قرار دارند.

Latency و Throughput چه تفاوتی دارند؟

مفهوم معنی فارسی سوال اصلی
Latency تاخیر یک عملیات چقدر زمان می برد تا کامل شود؟
Throughput نرخ انجام کار در یک بازه زمانی چند عملیات می توان انجام داد؟


نرخ انجام کار — Throughput

Throughput
یا «نرخ انجام کار»
نشان می دهد
یک سیستم در واحد زمان
چه مقدار کار
می تواند پردازش کند.

Pipeline می تواند
Throughput را افزایش دهد
حتی اگر Latency یک دستور
به همان نسبت کاهش پیدا نکند.

اشتباه رایج — Common Mistake: Pipeline یعنی هر دستور سریع تر تمام می شود

الزاماً خیر.

هدف اصلی Pipeline
افزایش استفاده از منابع
و بالا بردن نرخ پردازش دستورها است.

ممکن است زمان عبور یک دستور
از تمام مراحل
همچنان چندین Cycle باشد،
اما دستورهای بیشتری
به صورت همپوشان پردازش شوند.

Branch چیست؟


انشعاب در مسیر اجرای برنامه — Branch

Branch
یا «انشعاب»
دستوری است
که می تواند مسیر اجرای برنامه
را تغییر دهد.

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

Conditional Branch چیست؟


انشعاب شرطی — Conditional Branch

Conditional Branch
یا «انشعاب شرطی»
یعنی مسیر اجرای برنامه
به نتیجه یک شرط بستگی دارد.

مثلاً:

if (temperature > limit)
{
reduce_speed();
}

پردازنده باید بفهمد
آیا شرط برقرار است یا خیر.

Taken و Not Taken یعنی چه؟


انتخاب یا عدم انتخاب مسیر انشعاب — Taken / Not Taken

اگر Branch باعث شود
اجرای برنامه
به مقصد مشخص شده انشعاب منتقل شود،
معمولاً می گوییم:

Branch Taken

یعنی «مسیر انشعاب انتخاب شده است».

اگر اجرای برنامه
در مسیر بعدی معمول ادامه پیدا کند:

Branch Not Taken

یعنی «مسیر انشعاب انتخاب نشده است».

چرا Branch برای Pipeline مشکل ایجاد می کند؟

Pipeline برای کارایی بالا
نیاز دارد بداند
دستورهای بعدی از کجا باید دریافت شوند.

اما هنگام یک Branch شرطی،
نتیجه شرط ممکن است
هنوز مشخص نشده باشد.

CPU دو انتخاب دارد:

  • صبر کند تا نتیجه Branch مشخص شود.
  • مسیر احتمالی را حدس بزند و کار را ادامه دهد.

CPUهای مدرن
معمولاً گزینه دوم را انتخاب می کنند.

Branch Prediction چیست؟


پیش بینی انشعاب — Branch Prediction

Branch Prediction
یا «پیش بینی انشعاب»
سازوکاری است
که پردازنده با استفاده از آن
تلاش می کند
نتیجه یک Branch را
پیش از مشخص شدن قطعی آن
پیش بینی کند.

Branch Predictor چیست؟


واحد پیش بینی انشعاب — Branch Predictor

Branch Predictor
یا «واحد پیش بینی انشعاب»
بخش سخت افزاری پردازنده است
که تلاش می کند
مسیر احتمالی اجرای آینده برنامه
را پیش بینی کند.

Predictorهای مدرن
می توانند از اطلاعات
و الگوهای مختلفی
برای این پیش بینی استفاده کنند.

نکته مهندسی — Engineering Insight: چرا یک حلقه برای Branch Predictor قابل پیش بینی است؟

یک Loop یا «حلقه تکرار»
را تصور کنید
که 1000 بار اجرا می شود.

در بسیاری از تکرارها،
Branch مربوط به ادامه حلقه
رفتار مشابهی دارد.

Taken
Taken
Taken
Taken
Taken
…
Not Taken

چنین الگوهایی
می توانند برای Predictor
قابل یادگیری باشند.

البته Predictorهای واقعی
بسیار پیچیده تر
از صرفاً نگاه کردن
به آخرین نتیجه Branch هستند.


حلقه تکرار — Loop

Loop
یا «حلقه تکرار»
ساختاری در برنامه نویسی است
که مجموعه ای از دستورها
را بر اساس یک شرط
چند بار اجرا می کند.

Branch Target چیست؟


مقصد انشعاب — Branch Target

Branch Target
یا «مقصد انشعاب»
آدرسی است
که در صورت انتخاب مسیر Branch،
اجرای برنامه باید
از آن محل ادامه پیدا کند.

BTB چیست؟


حافظه مقصد انشعاب — Branch Target Buffer

BTB
مخفف:

Branch Target Buffer

است.

ترجمه مفهومی آن
«حافظه مقصد انشعاب»
است.

BTB اطلاعات مربوط
به مقصد Branchهای شناخته شده را
نگهداری می کند
تا پردازنده بتواند
مسیر Fetch را سریع تر تعیین کند.

Prediction Accuracy چیست؟


دقت پیش بینی — Prediction Accuracy

Prediction Accuracy
یا «دقت پیش بینی»
نشان می دهد
چه سهمی از پیش بینی های پردازنده
درست بوده اند.

دقت بالاتر Predictor
معمولاً باعث کاهش
دفعات بازیابی ناشی از
پیش بینی اشتباه می شود.

Speculative Execution چیست؟


اجرای حدسی — Speculative Execution

Speculative Execution
یا «اجرای حدسی»
یعنی CPU
بر اساس پیش بینی خود
برخی عملیات مسیر احتمالی آینده
را پیش از قطعی شدن آن مسیر
انجام دهد.

اگر پیش بینی درست باشد،
بخش مهمی از کار
از قبل انجام شده است.

پشت صحنه فنی — Under the Hood: CPU چگونه روی یک حدس کار واقعی انجام می دهد؟

CPU به یک Branch می رسد.

Predictor حدس می زند:

Prediction
=
Taken

سپس پردازنده
از مقصد پیش بینی شده
دستورها را Fetch و پردازش می کند.

Branch
→
Prediction
→
Fetch Predicted Path
→
Decode
→
Execute Speculatively

اگر بعداً مشخص شود
پیش بینی درست بوده است،
نتایج معتبر
می توانند طبق سازوکار معماری
نهایی شوند.

Branch Misprediction چیست؟


پیش بینی اشتباه انشعاب — Branch Misprediction

اگر Branch Predictor
مسیر اشتباه را پیش بینی کند،
به آن:

Branch Misprediction

یا «پیش بینی اشتباه انشعاب»
گفته می شود.

Pipeline Flush چیست؟


تخلیه مسیر اشتباه خط لوله — Pipeline Flush

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

بخشی از کار انجام شده
باید کنار گذاشته شود
و پردازنده اجرای مسیر صحیح
را ادامه دهد.

این فرایند
معمولاً با مفهوم:

Pipeline Flush

توضیح داده می شود.

Misprediction Penalty چیست؟


هزینه پیش بینی اشتباه — Misprediction Penalty

Misprediction Penalty
یا «هزینه پیش بینی اشتباه»
هزینه زمانی و پردازشی
ناشی از دنبال کردن مسیر نادرست
و بازگشت به مسیر صحیح است.

این هزینه
می تواند شامل از دست رفتن
چندین Cycle کاری باشد.

پشت صحنه فنی — Under the Hood: یک پیش بینی اشتباه چه چیزی را هدر می دهد؟

فرض کنید CPU
مسیر A را پیش بینی کرده است:

Branch
→
Predict A
→
Fetch A
→
Decode A
→
Execute A

اما نتیجه واقعی:

Correct Path
=
B

حالا کار انجام شده
روی مسیر اشتباه
باید کنار گذاشته شود
و مسیر B تامین شود.

Wrong Path
→
Discard
→
Redirect
→
Fetch Correct Path

هرچه Pipeline عمیق تر
و میزان کار حدسی بیشتر باشد،
هزینه بازیابی
می تواند قابل توجه باشد.

Deep Pipeline چیست؟


خط لوله عمیق — Deep Pipeline

Deep Pipeline
یا «خط لوله عمیق»
به Pipelineای گفته می شود
که پردازش دستور
به تعداد بیشتری Stage
تقسیم شده است.

Pipeline عمیق
می تواند مزایایی داشته باشد،
اما یکی از چالش های آن
افزایش بالقوه هزینه
برخی توقف ها و بازیابی ها است.

اشتباه رایج — Common Mistake: هرچه Pipeline عمیق تر باشد CPU سریع تر است

چنین رابطه ساده ای وجود ندارد.

طراحی Pipeline
مجموعه ای از مصالحه ها
میان فرکانس،
Latency،
Prediction،
مصرف انرژی،
پیچیدگی
و کارایی واقعی است.

به همین دلیل
فقط با تعداد Stageهای Pipeline
نمی توان سرعت یک CPU را تعیین کرد.

Out-of-Order Execution چیست؟


اجرای خارج از ترتیب — Out-of-Order Execution

Out-of-Order Execution
یا «اجرای خارج از ترتیب»
تکنیکی است
که به CPU اجازه می دهد
در صورت امکان
بعضی دستورهای آماده را
پیش از دستور قبلی که منتظر داده است
اجرا کند.

هدف این است
که منابع پردازنده
به دلیل انتظار یک دستور
بی استفاده نمانند.

نکته مهندسی — Engineering Insight: CPU چرا باید ترتیب اجرای داخلی را تغییر دهد؟

سه دستور فرضی را تصور کنید:

Instruction 1
=
Waiting for Memory

Instruction 2
=
Depends on Instruction 1

Instruction 3
=
Independent

اگر CPU کاملاً منتظر بماند،
Instruction 3 نیز
بدون دلیل متوقف می شود.

یک پردازنده Out-of-Order
ممکن است Instruction 3 را
زودتر اجرا کند
و در این فاصله
منتظر آماده شدن Instruction 1 بماند.

In-Order Execution چیست؟


اجرای به ترتیب — In-Order Execution

In-Order Execution
یا «اجرای به ترتیب»
مدلی است
که دستورها با محدودیت بیشتری
بر اساس ترتیب برنامه
پیش می روند.

طراحی In-Order
می تواند ساده تر و کم مصرف تر باشد،
اما فرصت های کمتری
برای پنهان کردن برخی توقف ها
در اختیار پردازنده قرار دهد.

Dependency چیست؟


وابستگی میان دستورها — Instruction Dependency

Dependency
یا «وابستگی»
یعنی اجرای یک دستور
به نتیجه یا وضعیت
مربوط به دستور دیگری وابسته باشد.

Data Dependency چیست؟


وابستگی داده ای — Data Dependency

Data Dependency
یا «وابستگی داده ای»
زمانی رخ می دهد
که یک دستور
برای اجرای صحیح
به داده تولید شده
توسط دستور دیگری نیاز داشته باشد.

مثال:

A = B + C

D = A × 2

دستور دوم
تا زمانی که مقدار A آماده نشده باشد
نمی تواند نتیجه صحیح خود را تولید کند.

Independent Instructions چیست؟


دستورهای مستقل — Independent Instructions

Independent Instructions
یا «دستورهای مستقل»
دستورهایی هستند
که برای اجرای خود
منتظر نتیجه مستقیم
یکدیگر نیستند.

وجود تعداد بیشتری
از عملیات مستقل
فرصت بیشتری برای اجرای موازی
در اختیار CPU قرار می دهد.

ILP چیست؟


موازی سازی در سطح دستور — Instruction-Level Parallelism

ILP
مخفف:

Instruction-Level Parallelism

و به معنی
«موازی سازی در سطح دستور»
است.

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

Superscalar چیست؟


اجرای چند دستور در یک چرخه — Superscalar

Superscalar
به معماری ای گفته می شود
که می تواند در شرایط مناسب
بیش از یک عملیات یا دستور
را در یک Cycle
وارد بخش های مختلف پردازش کند.

این قابلیت
با وجود چندین واحد اجرایی
و سازوکارهای زمان بندی داخلی
ارتباط دارد.

Width در معماری CPU یعنی چه؟


پهنای پردازش داخلی — CPU Width

وقتی در تحلیل معماری CPU
از اصطلاح Width
یا «پهنای پردازش» صحبت می شود،
معمولاً منظور ظرفیت بخش مشخصی
از Pipeline برای رسیدگی
به چند عملیات در هر Cycle است.

برای مثال ممکن است درباره:

  • Fetch Width
  • Decode Width
  • Dispatch Width
  • Retire Width

صحبت شود.

این اعداد لزوماً
با یکدیگر برابر نیستند.

Dispatch چیست؟


ارسال عملیات برای پردازش داخلی — Dispatch

Dispatch
یا «ارسال عملیات»
یکی از مراحل داخلی پردازنده است
که در آن عملیات آماده شده
به ساختارهای مربوط
به زمان بندی و اجرا
تحویل داده می شوند.

Instruction Scheduler چیست؟


زمان بند دستورها — Instruction Scheduler

Instruction Scheduler
یا «زمان بند دستورها»
بخشی از پردازنده است
که آماده بودن عملیات
و منابع مورد نیاز آنها را بررسی می کند
تا عملیات مناسب
برای اجرا انتخاب شوند.

Execution Unit چیست؟


واحد اجرایی — Execution Unit

Execution Unit
یا «واحد اجرایی»
بخشی از CPU است
که نوع مشخصی از عملیات
را انجام می دهد.

پردازنده می تواند
چندین نوع واحد اجرایی
برای عملیات مختلف داشته باشد.

Reorder Buffer چیست؟


بافر مرتب سازی مجدد — Reorder Buffer

Reorder Buffer
که معمولاً با:

ROB

نشان داده می شود،
یکی از ساختارهای مهم
در بسیاری از پردازنده های
Out-of-Order است.

این ساختار به CPU کمک می کند
دستورها را در داخل پردازنده
خارج از ترتیب اجرا کند،
اما نتایج معماری را
با ترتیب صحیح برنامه
نهایی کند.

پشت صحنه فنی — Under the Hood: خارج از ترتیب اجرا کن، اما مرتب تحویل بده

این یکی از ایده های کلیدی
CPU مدرن است.

در داخل پردازنده:

Execute
=
Out of Order

اما در سطح معماری برنامه:

Retire
=
In Program Order

این موضوع کمک می کند
CPU از فرصت های اجرای موازی
استفاده کند،
بدون اینکه رفتار قابل مشاهده برنامه
به شکل نادرست تغییر کند.

CPU Front-End چیست؟


بخش جلویی پردازنده — CPU Front-End

Front-End
یا «بخش جلویی پردازنده»
اصطلاحی برای مجموعه بخش هایی است
که وظایفی مانند
پیش بینی مسیر،
تامین دستور
و Decode را انجام می دهند.

اگر Front-End
نتواند عملیات کافی
برای بخش های بعدی فراهم کند،
واحدهای اجرایی ممکن است
بدون کار بمانند.

CPU Back-End چیست؟


بخش اجرایی پردازنده — CPU Back-End

Back-End
یا «بخش اجرایی پردازنده»
اصطلاحی برای بخش هایی است
که زمان بندی،
اجرا،
دسترسی داده
و نهایی سازی عملیات
را مدیریت می کنند.

به شکل بسیار ساده:

Front-End
→
Find and Prepare Work
→
Back-End
→
Execute Work

Bottleneck در Pipeline چیست؟


گلوگاه — Bottleneck

Bottleneck
یا «گلوگاه»
بخشی از سیستم است
که ظرفیت یا سرعت آن
عملکرد کل مسیر را محدود می کند.

در CPU،
گلوگاه ممکن است
در شرایط مختلف
در بخش های متفاوتی ایجاد شود.

نمونه هایی از محدودیت های احتمالی داخل CPU

  • کمبود دستور در Front-End
  • Branch Misprediction زیاد
  • محدودیت Decode
  • وابستگی زیاد میان دستورها
  • کمبود واحد اجرایی مناسب
  • Cache Miss
  • TLB Miss
  • انتظار برای RAM
  • محدودیت پهنای بخش های داخلی Pipeline

این مفاهیم چه ارتباطی با IPC دارند؟

در فصل های قبلی
با IPC آشنا شدیم.

IPC به شکل ساده
تعداد دستورهای تکمیل شده
در هر Cycle را توصیف می کند.

حالا بهتر می توان فهمید
چرا IPC فقط به یک عامل وابسته نیست.

مواردی مانند:

  • Branch Prediction
  • Pipeline Design
  • Execution Width
  • Out-of-Order Window
  • Cache Performance
  • Memory Latency
  • Instruction Dependencies

می توانند روی IPC واقعی تاثیر بگذارند.

تاثیر بر عملکرد — Performance Impact: چرا 5GHz به تنهایی چیزی درباره سرعت CPU نمی گوید؟

فرکانس مشخص می کند
CPU در هر ثانیه
چند Cycle دارد.

اما باید بدانیم
در هر Cycle
چه مقدار کار مفید انجام می شود.

یک مدل ساده برای درک موضوع:

Performance
∝
Clock Frequency
×
Useful Work per Cycle

اگر یک معماری
Branch Prediction بهتر،
Cache موثرتر،
Pipeline مناسب تر
و اجرای موازی بیشتری داشته باشد،
ممکن است در فرکانس مشابه
کار بیشتری انجام دهد.

چرا بعضی Branchها برای CPU سخت تر هستند؟

Branchهایی که الگوی منظم دارند
معمولاً راحت تر پیش بینی می شوند.

اما اگر نتیجه Branch
به داده ای با رفتار
کم قابل پیش بینی وابسته باشد،
Predictor ممکن است
اشتباه بیشتری داشته باشد.

بنابراین ساختار داده
و رفتار برنامه
می تواند روی کارایی
Branch Prediction تاثیر بگذارد.

نکته مهندسی — Engineering Insight: دو کد با تعداد عملیات مشابه می توانند سرعت متفاوتی داشته باشند

فرض کنید دو الگوریتم
تقریباً تعداد مشابهی
عملیات انجام دهند.

اگر یکی از آنها
Branchهای بسیار قابل پیش بینی داشته باشد
و دیگری Branchهای نامنظم،
رفتار Pipeline
می تواند متفاوت باشد.

بنابراین شمارش ساده
تعداد خطوط کد
یا حتی تعداد عملیات
همیشه Performance واقعی
را مشخص نمی کند.

آیا Speculative Execution فقط مسئله Performance است؟

خیر.

اجرای حدسی
یکی از فناوری های مهم
افزایش Performance CPUهای مدرن است،
اما رفتارهای Microarchitectural
ناشی از اجرای حدسی
در برخی شرایط
می توانند پیامدهای امنیتی نیز داشته باشند.

این موضوع
ما را به خانواده ای
از آسیب پذیری های مهم
مانند Spectre می رساند.

جزئیات امنیتی این موضوع
در فصل جداگانه امنیت CPU
بررسی خواهد شد.


وضعیت ریزمعماری — Microarchitectural State

Microarchitectural State
یا «وضعیت ریزمعماری»
به وضعیت داخلی بخش هایی از CPU
گفته می شود
که الزاماً بخشی از وضعیت رسمی
قابل مشاهده معماری دستورها نیستند.

Cacheها،
Predictorها
و برخی ساختارهای داخلی پردازنده
نمونه هایی مرتبط با این مفهوم هستند.

Architectural State چیست؟


وضعیت معماری — Architectural State

Architectural State
یا «وضعیت معماری»
بخشی از وضعیت پردازنده است
که طبق معماری دستورها
برای نرم افزار قابل مشاهده تعریف شده است.

برای مثال،
وضعیت Registerهای معماری
می تواند بخشی از این مفهوم باشد.


ثبات پردازنده — Register

Register
یا «ثبات»
فضای ذخیره سازی بسیار کوچک
و بسیار نزدیک به واحدهای پردازشی CPU است
که برای نگهداری داده،
آدرس
یا وضعیت مورد نیاز عملیات
استفاده می شود.

اشتباهات رایج — Common Mistakes: Pipeline و Branch Prediction
  • فرض اینکه Pipeline یعنی یک دستور فوراً اجرا می شود.
  • یکی دانستن Latency و Throughput.
  • فرض اینکه CPU هنگام Branch همیشه منتظر نتیجه می ماند.
  • فرض اینکه Branch Prediction فقط یک حدس ساده بر اساس آخرین Branch است.
  • فرض اینکه Speculative Execution یعنی نتیجه حدسی مستقیماً نتیجه نهایی برنامه می شود.
  • فرض اینکه TLB و Branch Predictor یک کار انجام می دهند.
  • نادیده گرفتن هزینه Branch Misprediction.
  • فرض اینکه Pipeline عمیق تر همیشه سریع تر است.
  • فرض اینکه Out-of-Order Execution ترتیب منطقی برنامه را خراب می کند.
  • نادیده گرفتن Data Dependency.
  • فرض اینکه تعداد Core تنها عامل Performance CPU است.
  • مقایسه CPUها فقط بر اساس GHz.
  • فرض اینکه IPC یک عدد ثابت برای هر CPU است.
  • نادیده گرفتن تاثیر Workload بر رفتار Pipeline.

حالا مسیر اجرای دستور در CPU مدرن را کنار هم بگذاریم

با کنار هم گذاشتن مفاهیم این فصل
می توان یک مدل ساده ساخت:

Branch Prediction
→
Instruction Fetch
→
Decode
→
Dispatch
→
Scheduling
→
Out-of-Order Execution
→
Retirement

در کنار این مسیر،
Cache،
TLB،
Memory Subsystem
و Dependencyها
نیز دائماً روی سرعت پیشروی دستورها
تاثیر می گذارند.

سوالات متداول درباره Pipeline و Branch Prediction

Pipeline چیست؟

روشی برای تقسیم پردازش دستور
به چند مرحله است
تا چند دستور بتوانند
به صورت همپوشان
در مراحل مختلف پردازش شوند.

Branch چیست؟

دستوری است
که می تواند مسیر اجرای برنامه
را تغییر دهد.

Branch Prediction چیست؟

سازوکاری است
که CPU با آن
مسیر احتمالی آینده برنامه
را پیش بینی می کند.

Speculative Execution چیست؟

اجرای حدسی عملیات
بر اساس مسیر پیش بینی شده
پیش از قطعی شدن آن مسیر است.

اگر پیش بینی CPU اشتباه باشد چه می شود؟

کار مربوط به مسیر اشتباه
باید کنار گذاشته شود
و پردازنده از مسیر صحیح
ادامه دهد.

Pipeline Flush چیست؟

فرایند کنار گذاشتن
عملیات مسیر نامعتبر
و هدایت Pipeline
به مسیر صحیح است.

Out-of-Order Execution چیست؟

اجرای عملیات آماده
خارج از ترتیب اولیه برنامه
برای استفاده بهتر
از منابع CPU است.

آیا نتیجه دستورها هم خارج از ترتیب ثبت می شود؟

در بسیاری از طراحی های مدرن،
اجرای داخلی می تواند
خارج از ترتیب باشد،
اما نتایج معماری
با ترتیب صحیح برنامه
نهایی می شوند.

ILP چیست؟

Instruction-Level Parallelism
یا موازی سازی در سطح دستور،
فرصت اجرای همزمان
یا همپوشان عملیات مستقل است.

چرا دو CPU با GHz برابر سرعت متفاوتی دارند؟

چون معماری داخلی،
IPC،
Cache،
Branch Prediction،
Pipeline،
واحدهای اجرایی
و عوامل متعدد دیگری
روی مقدار کار مفید
انجام شده در هر Cycle
تاثیر دارند.

آیا Branch Prediction همیشه درست است؟

خیر.
Predictor می تواند اشتباه کند
و این اشتباه
هزینه بازیابی ایجاد می کند.

آیا Speculative Execution خطرناک است؟

خود اجرای حدسی
یک تکنیک بنیادی Performance است،
اما برخی رفتارهای ریزمعماری آن
در شرایط خاص
می توانند زمینه آسیب پذیری های امنیتی شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Pipeline: خط لوله پردازشی.
  • Pipeline Stage: مرحله ای از خط لوله پردازش دستور.
  • Instruction Fetch: واکشی دستور برای پردازش.
  • Decode: رمزگشایی و تفسیر دستور.
  • Execution: اجرای عملیات دستور.
  • Instruction Retirement: نهایی سازی نتیجه دستور در وضعیت معماری.
  • Latency: زمان مورد نیاز برای تکمیل یک عملیات.
  • Throughput: مقدار کار قابل انجام در واحد زمان.
  • Branch: دستور تغییر مسیر اجرای برنامه.
  • Conditional Branch: انشعابی که مسیر آن به یک شرط وابسته است.
  • Taken: انتخاب شدن مسیر Branch.
  • Not Taken: انتخاب نشدن مسیر Branch.
  • Branch Prediction: پیش بینی مسیر انشعاب.
  • Branch Predictor: واحد سخت افزاری پیش بینی انشعاب.
  • Loop: حلقه تکرار در برنامه.
  • Branch Target: مقصد اجرای یک Branch.
  • BTB: ساختار نگهداری اطلاعات مقصد Branch.
  • Prediction Accuracy: میزان صحت پیش بینی ها.
  • Speculative Execution: اجرای حدسی مسیر پیش بینی شده.
  • Branch Misprediction: پیش بینی اشتباه مسیر Branch.
  • Pipeline Flush: تخلیه عملیات مربوط به مسیر نامعتبر.
  • Misprediction Penalty: هزینه ناشی از پیش بینی اشتباه.
  • Deep Pipeline: خط لوله دارای مراحل پردازشی بیشتر.
  • Out-of-Order Execution: اجرای خارج از ترتیب عملیات آماده.
  • In-Order Execution: اجرای عملیات با ترتیب محدودتر مطابق جریان برنامه.
  • Dependency: وابستگی میان عملیات.
  • Data Dependency: وابستگی یک دستور به داده تولید شده توسط دستور دیگر.
  • Independent Instructions: دستورهای مستقل از نتیجه مستقیم یکدیگر.
  • ILP: موازی سازی در سطح دستور.
  • Superscalar: معماری قادر به پیش بردن چند عملیات در یک Cycle.
  • CPU Width: ظرفیت بخش مشخصی از پردازنده برای رسیدگی به چند عملیات در هر Cycle.
  • Dispatch: ارسال عملیات آماده به ساختارهای زمان بندی و اجرا.
  • Instruction Scheduler: زمان بند عملیات و دستورهای آماده اجرا.
  • Execution Unit: واحد سخت افزاری انجام عملیات.
  • ROB: Reorder Buffer یا بافر مرتب سازی مجدد.
  • Front-End: بخش تامین، پیش بینی و آماده سازی دستورهای CPU.
  • Back-End: بخش زمان بندی و اجرای عملیات CPU.
  • Bottleneck: گلوگاهی که عملکرد کل مسیر را محدود می کند.
  • Microarchitectural State: وضعیت داخلی ریزمعماری پردازنده.
  • Architectural State: وضعیت رسمی قابل مشاهده طبق معماری پردازنده.
  • Register: ثبات بسیار سریع داخل پردازنده.

خلاصه فصل

CPU مدرن
منتظر نمی ماند
تا هر دستور کاملاً تمام شود
و بعد سراغ دستور بعدی برود.

Pipeline اجازه می دهد
چند دستور در مراحل مختلف
همزمان در حال پردازش باشند.

Branch Prediction
تلاش می کند
مسیر آینده برنامه را حدس بزند
تا Front-End متوقف نشود.

Speculative Execution
اجازه می دهد
CPU روی مسیر پیش بینی شده
از قبل کار کند.

Out-of-Order Execution نیز
تلاش می کند
عملیات مستقلی را که آماده هستند
جلو بیندازد
تا منابع CPU بیکار نمانند.

Prediction
+
Pipeline
+
Out-of-Order Execution
+
Cache
+
Memory System
=
Modern CPU Performance

مهم ترین قانون این فصل:


فرکانس فقط می گوید CPU چند Cycle در ثانیه دارد؛
معماری پردازنده تعیین می کند
چه مقدار کار مفید می تواند
از آن Cycleها استخراج کند.


فصل 65
سطح: پیشرفته
موضوع: موتور اجرای داخلی CPU
تمرکز: Register Renaming / RAW / WAR / WAW / ROB / Reservation Station

همه وابستگی های میان دستورها واقعی نیستند؛ بعضی فقط به دلیل استفاده از یک نام مشترک ایجاد می شوند

Register Renaming چیست؟ CPU چگونه وابستگی های کاذب میان دستورها را حذف می کند؟

در فصل قبل دیدیم که پردازنده های مدرن
می توانند دستورها را در داخل CPU
خارج از ترتیب اولیه برنامه اجرا کنند.
اما یک سوال مهم باقی ماند:
CPU از کجا می فهمد
کدام دستور واقعاً باید منتظر دستور قبلی بماند
و کدام دستور را می توان زودتر اجرا کرد؟

پاسخ این سوال
ما را به مفاهیمی مانند
Data Dependency یا «وابستگی داده ای»،
Register Renaming یا «نام گذاری مجدد ثبات ها»،
Reservation Station یا «ایستگاه رزرو»
و
Reorder Buffer یا «بافر مرتب سازی مجدد»
می رساند.

این ساختارها کمک می کنند CPU
میان «ترتیب نوشته شده برنامه»
و «ترتیب مناسب برای اجرای داخلی»
تفاوت قائل شود.

Program Order
→
Dependency Analysis
→
Register Renaming
→
Scheduling
→
Out-of-Order Execution
→
In-Order Retirement

در این فصل چه چیزهایی یاد می گیریم؟

  • Architectural Register و Physical Register چه هستند.
  • True Dependency و False Dependency چه تفاوتی دارند.
  • RAW چیست.
  • WAR چیست.
  • WAW چیست.
  • Register Renaming چیست.
  • Rename Table چه کاری انجام می دهد.
  • Physical Register File چیست.
  • Reservation Station چیست.
  • Operand چیست.
  • Issue چیست.
  • Dispatch چیست.
  • Wakeup چیست.
  • Select چیست.
  • Reorder Buffer چیست.
  • Retirement و Commit چه هستند.
  • Precise Exception چیست.
  • CPU چگونه بعد از Branch Misprediction بازیابی می شود.
  • Out-of-Order Window چیست.
  • چرا بزرگ تر بودن پنجره اجرای CPU می تواند مفید باشد.

ابتدا یادآوری کنیم Register چیست


ثبات پردازنده — Register

Register
یا «ثبات»
فضای ذخیره سازی بسیار کوچک
و بسیار سریع داخل پردازنده است.

CPU برای نگهداری موقت
داده ها، آدرس ها، نتایج محاسبات
و برخی اطلاعات مورد نیاز اجرای دستورها
از Registerها استفاده می کند.

Architectural Register چیست؟


ثبات معماری — Architectural Register

Architectural Register
یا «ثبات معماری»
ثباتی است که در معماری مجموعه دستورها
برای نرم افزار تعریف شده است.

برنامه و Compiler
با نام های معماری این Registerها
سروکار دارند.

اما CPU مدرن الزاماً مجبور نیست
در داخل سخت افزار
هر نام معماری را فقط به یک محل فیزیکی ثابت
محدود کند.


کامپایلر — Compiler

Compiler
یا «کامپایلر»
نرم افزاری است که کد نوشته شده
در یک زبان برنامه نویسی
را به شکل دیگری از کد،
معمولاً کدی مناسب تر برای اجرای ماشین،
تبدیل می کند.

Physical Register چیست؟


ثبات فیزیکی — Physical Register

Physical Register
یا «ثبات فیزیکی»
یکی از محل های واقعی داخلی CPU
برای نگهداری مقادیر Registerها است.

یک پردازنده Out-of-Order
می تواند تعداد Physical Registerهای بیشتری
نسبت به Registerهای معماری قابل مشاهده
در اختیار داشته باشد.

نکته مهندسی — Engineering Insight: چرا CPU بیشتر از تعداد Registerهای قابل مشاهده، Register داخلی می خواهد؟

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

اگر CPU بتواند
این استفاده های متفاوت را
به Physical Registerهای جداگانه نگاشت کند،
بعضی وابستگی های غیرواقعی
از بین می روند.

این دقیقاً همان جایی است
که Register Renaming وارد می شود.

وابستگی میان دستورها دقیقاً یعنی چه؟

فرض کنید چند دستور
به Registerهای یکسانی
دسترسی داشته باشند.

نوع و ترتیب
خواندن و نوشتن این Registerها
مشخص می کند
چه نوع رابطه ای
میان دستورها وجود دارد.

سه اصطلاح بسیار مهم عبارت اند از:

RAW
=
Read After Write

WAR
=
Write After Read

WAW
=
Write After Write

نوع نام کامل انگلیسی معنی فارسی ماهیت وابستگی
RAW Read After Write خواندن پس از نوشتن وابستگی واقعی داده
WAR Write After Read نوشتن پس از خواندن وابستگی کاذب ناشی از نام
WAW Write After Write نوشتن پس از نوشتن وابستگی کاذب ناشی از نام

RAW چیست؟


خواندن پس از نوشتن — Read After Write

RAW
مخفف:

Read After Write

و به معنی
«خواندن پس از نوشتن»
است.

این حالت زمانی رخ می دهد
که دستور دوم
به نتیجه ای نیاز داشته باشد
که دستور اول هنوز باید تولید کند.

پشت صحنه فنی — Under the Hood: یک وابستگی RAW واقعی

این دو عملیات فرضی را ببینید:

Instruction 1:
R1 = R2 + R3

Instruction 2:
R4 = R1 × R5

Instruction 2
باید مقدار جدید R1
را که توسط Instruction 1 تولید می شود
بخواند.

بنابراین دستور دوم
واقعاً به نتیجه دستور اول وابسته است.

Produce R1
→
Consume R1

این یک
True Dependency یا «وابستگی واقعی»
است.


وابستگی واقعی — True Dependency

True Dependency
یا «وابستگی واقعی»
زمانی وجود دارد
که یک عملیات
واقعاً برای دریافت داده مورد نیاز خود
به نتیجه عملیات قبلی وابسته باشد.

Register Renaming
نمی تواند نیاز واقعی به این داده را حذف کند.

WAR چیست؟


نوشتن پس از خواندن — Write After Read

WAR
مخفف:

Write After Read

و به معنی
«نوشتن پس از خواندن»
است.

در این حالت
یک دستور باید مقدار قدیمی یک Register را بخواند
و دستور بعدی قصد دارد
مقدار جدیدی در همان نام Register بنویسد.

پشت صحنه فنی — Under the Hood: وابستگی WAR چگونه ایجاد می شود؟

Instruction 1:
R4 = R1 + R2

Instruction 2:
R1 = R5 + R6

Instruction 1
باید مقدار قدیمی R1 را بخواند.

Instruction 2
مقدار جدیدی در R1 می نویسد.

اگر اجرای داخلی بدون کنترل
جابه جا شود،
نباید نوشتن جدید
باعث شود دستور اول
مقدار اشتباه را ببیند.

نکته مهم این است که
Instruction 2
برای محاسبه خود
به نتیجه Instruction 1 نیاز ندارد.

مشکل اصلی
استفاده مشترک از نام R1 است.

WAW چیست؟


نوشتن پس از نوشتن — Write After Write

WAW
مخفف:

Write After Write

و به معنی
«نوشتن پس از نوشتن»
است.

در این حالت
دو دستور مختلف
می خواهند در یک Register معماری
مقدار بنویسند.

پشت صحنه فنی — Under the Hood: چرا WAW یک وابستگی نامی است؟

Instruction 1:
R1 = R2 + R3

Instruction 2:
R1 = R4 × R5

هر دو دستور
از نام R1
به عنوان مقصد استفاده کرده اند.

اما نتیجه Instruction 2
برای محاسبه خود
به نتیجه Instruction 1 نیاز ندارد.

مسئله این است
که ترتیب نهایی نوشتن ها
باید مطابق رفتار برنامه حفظ شود.

False Dependency چیست؟


وابستگی کاذب — False Dependency

False Dependency
یا «وابستگی کاذب»
وابستگی ای است
که به دلیل استفاده از نام مشترک
برای یک منبع معماری ایجاد شده،
نه به دلیل نیاز واقعی یک دستور
به داده تولید شده توسط دستور دیگر.

WAR و WAW
نمونه های مهم
وابستگی نامی یا کاذب هستند.

وابستگی واقعی یا کاذب؟ Register Renaming می تواند حذف کند؟
RAW واقعی خیر؛ مصرف کننده واقعاً به داده تولید شده نیاز دارد
WAR کاذب / نامی بله
WAW کاذب / نامی بله

Register Renaming چیست؟


نام گذاری مجدد ثبات ها — Register Renaming

Register Renaming
یا «نام گذاری مجدد ثبات ها»
تکنیکی است
که CPU با استفاده از آن
نام های Register معماری
را به Physical Registerهای مختلف
نگاشت می کند.

هدف مهم این کار
حذف وابستگی های کاذب
و فراهم کردن فرصت بیشتر
برای اجرای موازی دستورها است.

نکته مهندسی — Engineering Insight: CPU نام R1 را عوض نمی کند؛ نگاشت داخلی آن را عوض می کند

برنامه همچنان ممکن است
از R1 استفاده کند.

اما CPU می تواند نسخه های مختلف
این نام معماری را
به Physical Registerهای متفاوت
متصل کند.

برای مثال:

Architectural R1
→
Physical P17

و پس از یک نوشتن جدید:

New Architectural R1
→
Physical P42

در نتیجه مقدار قدیمی
و مقدار جدید R1
می توانند موقتاً
در دو محل فیزیکی متفاوت وجود داشته باشند.

Register Renaming چگونه WAW را حذف می کند؟

مثال قبلی را دوباره ببینیم:

Instruction 1:
R1 = R2 + R3

Instruction 2:
R1 = R4 × R5

CPU می تواند مقصدهای داخلی را
این گونه تغییر دهد:

Instruction 1:
P20 = P2 + P3

Instruction 2:
P21 = P4 × P5

حالا دو عملیات
دیگر روی یک Physical Register مشترک
نمی نویسند.

بنابراین وابستگی نامی WAW
از مسیر اجرای داخلی حذف شده است.

اشتباه رایج — Common Mistake: Register Renaming همه Dependencyها را حذف می کند

خیر.

Register Renaming
می تواند وابستگی های نامی
مانند WAR و WAW را حذف کند.

اما RAW
نشان دهنده جریان واقعی داده است.

اگر دستور B
واقعاً به نتیجه دستور A نیاز داشته باشد،
تغییر نام Register
نمی تواند آن داده را
پیش از تولید شدن ایجاد کند.

WAR / WAW
→
Can Be Removed by Renaming

RAW
→
True Data Dependency

Rename Table چیست؟


جدول نگاشت نام ثبات ها — Rename Table

Rename Table
یا «جدول نگاشت نام ثبات ها»
ساختاری داخلی است
که ارتباط میان Registerهای معماری
و Physical Registerهای فعلی
را دنبال می کند.

جزئیات و نام دقیق این ساختار
میان ریزمعماری های مختلف
می تواند متفاوت باشد.

Physical Register File چیست؟


فایل ثبات های فیزیکی — Physical Register File

Physical Register File
یا «فایل ثبات های فیزیکی»
مجموعه ای از Physical Registerها است
که مقادیر داخلی مورد استفاده
عملیات پردازنده
می توانند در آن نگهداری شوند.

به صورت کوتاه
ممکن است از عبارت:

PRF
=
Physical Register File

استفاده شود.

Operand چیست؟


عملوند — Operand

Operand
یا «عملوند»
داده یا مقداری است
که یک دستور
عملیات خود را روی آن انجام می دهد.

برای مثال در:

A = B + C

مقادیر B و C
ورودی های عملیات جمع هستند.

Reservation Station چیست؟


ایستگاه رزرو — Reservation Station

Reservation Station
یا «ایستگاه رزرو»
ساختاری در موتور اجرای Out-of-Order است
که عملیات منتظر اجرا
و وضعیت Operandهای مورد نیاز آنها
را نگهداری می کند.

عملیات می تواند در این ساختار منتظر بماند
تا داده ها و واحد اجرایی مناسب
آماده شوند.

پشت صحنه فنی — Under the Hood: یک دستور در Reservation Station منتظر چه چیزی است؟

یک عملیات ممکن است
برای اجرا تقریباً آماده باشد،
اما یکی از Operandهای آن
هنوز تولید نشده باشد.

به شکل مفهومی:

Operand A
=
Ready

Operand B
=
Waiting

وقتی Operand B آماده شود،
عملیات می تواند
کاندید اجرای واقعی شود.

در همین زمان،
عملیات مستقل دیگری
لازم نیست منتظر بماند.

Wakeup چیست؟


اعلام آماده شدن عملیات — Wakeup

Wakeup
یا «اعلام آماده شدن»
به فرایندی گفته می شود
که در آن آماده شدن نتیجه مورد نیاز
به عملیات منتظر اطلاع داده می شود.

در نتیجه عملیاتی که
Operandهای لازم آن آماده شده اند
می تواند برای اجرا
در نظر گرفته شود.

Select چیست؟


انتخاب عملیات آماده — Select

Select
یا «انتخاب»
فرایندی است
که از میان عملیات آماده،
تعدادی برای استفاده
از واحدهای اجرایی موجود
انتخاب می شوند.

این دو مفهوم
اغلب در تحلیل موتور اجرای CPU
کنار هم دیده می شوند:

Wakeup
→
Select
→
Execute

Dispatch و Issue چه تفاوتی دارند؟


Dispatch و Issue — دو اصطلاح مهم در مسیر اجرای دستور

Dispatch
معمولاً به انتقال عملیات
به ساختارهای موتور اجرای Out-of-Order
اشاره دارد.

Issue
معمولاً به انتخاب و فرستادن
یک عملیات آماده
برای اجرا روی واحد اجرایی مناسب
اشاره می کند.

اما باید توجه داشت
که استفاده دقیق از این اصطلاحات
میان منابع و معماری های مختلف
همیشه کاملاً یکسان نیست.

Reorder Buffer یا ROB دقیقاً چه کاری انجام می دهد؟


بافر مرتب سازی مجدد — Reorder Buffer

Reorder Buffer
یا ROB
ساختاری مهم
در بسیاری از CPUهای Out-of-Order است
که اطلاعات دستورهای در حال پردازش
را تا زمان نهایی شدن
دنبال می کند.

یکی از نقش های مهم آن
کمک به حفظ ترتیب معماری
هنگام نهایی سازی دستورها است.

چرا Execute با Retire یکی نیست؟

یک دستور ممکن است
اجرای محاسباتی خود را تمام کرده باشد،
اما هنوز نتواند
نتیجه معماری خود را نهایی کند.

چرا؟

چون ممکن است
دستور قدیمی تری
هنوز در وضعیت حل نشده باشد.

بنابراین:

Execution Complete
≠
Architectural Retirement

Retirement چیست؟


نهایی سازی دستور — Retirement

Retirement
یا «نهایی سازی دستور»
مرحله ای است
که نتیجه یک دستور
به صورت رسمی
بخشی از وضعیت معماری برنامه می شود.

اجرای داخلی می تواند
خارج از ترتیب باشد،
اما Retirement معمولاً
ترتیب برنامه را حفظ می کند.

Commit چیست؟


ثبت نهایی نتیجه — Commit

Commit
یا «ثبت نهایی نتیجه»
اصطلاحی است
که در بسیاری از توضیحات معماری CPU
نزدیک به مفهوم Retirement
استفاده می شود.

تفاوت کاربرد دقیق این واژه ها
می تواند به معماری
یا منبع فنی مورد استفاده بستگی داشته باشد.

Precise Exception چیست؟


استثنای دقیق — Precise Exception

Precise Exception
یا «استثنای دقیق»
یعنی CPU بتواند
هنگام رخ دادن یک Exception
وضعیت معماری را طوری ارائه کند
که انگار دستورهای قبل از نقطه خطا
به درستی انجام شده اند
و دستورهای بعدی
هنوز اثر معماری نهایی ایجاد نکرده اند.

این قابلیت
با وجود اجرای داخلی خارج از ترتیب
اهمیت بسیار زیادی دارد.

نکته مهندسی — Engineering Insight: ROB فقط برای مرتب کردن دستورها نیست

ROB به پردازنده کمک می کند
وضعیت تعداد زیادی دستور در حال پرواز
را دنبال کند.

این ساختار
در مدیریت Retirement،
Exceptionها،
اجرای حدسی
و بازیابی از برخی پیش بینی های اشتباه
نقش مهمی دارد.

Instructions In Flight یعنی چه؟


دستورهای در حال پردازش — Instructions In Flight

Instructions In Flight
یا «دستورهای در حال پردازش»
به دستورهایی گفته می شود
که وارد Pipeline شده اند
اما هنوز Retirement آنها
کامل نشده است.

در یک CPU مدرن
ممکن است تعداد زیادی دستور
به طور همزمان
در مراحل مختلف پردازش قرار داشته باشند.

Out-of-Order Window چیست؟


پنجره اجرای خارج از ترتیب — Out-of-Order Window

Out-of-Order Window
یا «پنجره اجرای خارج از ترتیب»
به محدوده ای از عملیات در حال پردازش
گفته می شود
که CPU می تواند
برای پیدا کردن کار مستقل
در میان آنها جستجو کند.

هرچه پردازنده
بتواند تعداد بیشتری عملیات
را زیر نظر داشته باشد،
احتمال پیدا کردن یک عملیات مستقل
هنگام توقف دستورهای دیگر
می تواند افزایش یابد.

پشت صحنه فنی — Under the Hood: پنجره بزرگ تر چگونه Latency حافظه را پنهان می کند؟

فرض کنید یک دستور
منتظر داده ای از Cache یا RAM است.

اگر CPU
فقط چند دستور بعدی را ببیند
و همه آنها وابسته باشند،
ممکن است منابع اجرایی بیکار بمانند.

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

Memory Stall
→
Search Independent Work
→
Execute Other Instructions
→
Hide Part of Latency

به این ترتیب
CPU تلاش می کند
بخشی از زمان انتظار حافظه
را با کار مفید پر کند.

Latency Hiding چیست؟


پنهان کردن تاخیر — Latency Hiding

Latency Hiding
یا «پنهان کردن تاخیر»
به تکنیک هایی گفته می شود
که اجازه می دهند
هنگام انتظار برای یک عملیات کندتر،
کار مفید دیگری انجام شود.

Out-of-Order Execution
یکی از راه های مهم
پنهان کردن بخشی از Latency
در CPU است.

اشتباه رایج — Common Mistake: پنجره Out-of-Order بزرگ تر همیشه Performance را افزایش می دهد

خیر.

ساختارهای بزرگ تر
می توانند فرصت بیشتری
برای پیدا کردن Instruction-Level Parallelism
ایجاد کنند،
اما هزینه هایی نیز دارند.

از جمله:

  • پیچیدگی سخت افزاری بیشتر
  • مصرف انرژی بیشتر
  • مساحت بیشتر روی تراشه
  • پیچیده تر شدن زمان بندی عملیات
  • چالش های بیشتر برای حفظ فرکانس بالا

طراحی CPU همیشه
مسئله ایجاد تعادل
میان این عوامل است.

هنگام Branch Misprediction چه بر سر Renameها می آید؟

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

این دستورها
حتی ممکن است
Register Renaming شده باشند
و منابع داخلی گرفته باشند.

اگر مشخص شود
Branch اشتباه پیش بینی شده،
پردازنده باید
وضعیت مربوط به مسیر اشتباه را کنار بگذارد
و نگاشت صحیح را بازیابی کند.

Branch Misprediction
→
Discard Wrong-Path Work
→
Restore Correct Rename State
→
Redirect Fetch

Checkpoint چیست؟


نقطه بازیابی وضعیت — Checkpoint

Checkpoint
یا «نقطه بازیابی وضعیت»
نسخه ای از اطلاعات لازم
برای بازگرداندن وضعیت داخلی
به یک نقطه مشخص است.

برخی طراحی های CPU
می توانند از سازوکارهای Checkpoint
برای بازیابی سریع تر
پس از پیش بینی اشتباه استفاده کنند.

جزئیات این سازوکار
میان ریزمعماری ها متفاوت است.

چه چیزی اندازه اجرای Out-of-Order را محدود می کند؟

CPU منابع نامحدود ندارد.

تعداد عملیات در حال پرواز
می تواند توسط ظرفیت ساختارهای مختلف
محدود شود.

برای مثال:

  • Reorder Buffer
  • Physical Registers
  • Reservation Stations
  • Load / Store Structures
  • Scheduler Capacity
  • Front-End Throughput


عملیات بارگذاری و ذخیره — Load / Store

Load
یا «بارگذاری»
عملیاتی است
که داده را از حافظه
برای استفاده پردازنده دریافت می کند.

Store
یا «ذخیره»
عملیاتی است
که داده را برای نوشتن
در حافظه ارسال می کند.

مدیریت وابستگی های حافظه
میان Load و Store
مسئله مهم دیگری است
که در فصل بعد
عمیق تر بررسی می کنیم.

تاثیر بر عملکرد — Performance Impact: چرا Register Renaming واقعاً روی سرعت CPU اثر دارد؟

اگر CPU مجبور بود
هر بار که دو دستور
از یک نام Register استفاده می کنند
آنها را وابسته فرض کند،
مقدار زیادی از Parallelism
از بین می رفت.

Register Renaming
اجازه می دهد CPU
وابستگی واقعی داده
را از وابستگی صرفاً نامی
جدا کند.

Remove False Dependencies
→
More Independent Operations
→
Better Scheduling Opportunities
→
Higher Potential ILP

به همین دلیل
تعداد Physical Registerها،
ظرفیت Scheduler،
ROB
و سایر منابع داخلی
می توانند در Performance
ریزمعماری اهمیت داشته باشند.

نکته مهندسی — Engineering Insight: چرا CPU جدیدتر با همان تعداد Core و GHz می تواند سریع تر باشد؟

اکنون دلیل این موضوع
روشن تر می شود.

یک معماری جدیدتر ممکن است:

  • Front-End قوی تری داشته باشد،
  • Branch Predictor دقیق تری داشته باشد،
  • ROB بزرگ تری داشته باشد،
  • Physical Register بیشتری داشته باشد،
  • Scheduler توانمندتری داشته باشد،
  • واحدهای اجرایی بیشتری داشته باشد،
  • Cache بهتری داشته باشد،
  • و Latencyها را بهتر پنهان کند.

بنابراین مشخصات ساده ای مانند:

Core Count
+
Clock Frequency

تصویر کاملی از توان واقعی CPU
ارائه نمی دهند.

مسیر ساده شده یک دستور در CPU Out-of-Order

مرحله معنی فارسی وظیفه اصلی
Fetch واکشی دریافت دستورها
Decode رمزگشایی تفسیر دستورها و تبدیل آنها به عملیات داخلی
Rename نام گذاری مجدد نگاشت Registerهای معماری به منابع فیزیکی
Dispatch ارسال داخلی ورود عملیات به ساختارهای موتور Out-of-Order
Wakeup / Select آماده سازی و انتخاب پیدا کردن عملیات آماده برای اجرا
Execute اجرا انجام عملیات توسط واحد اجرایی
Retire نهایی سازی ثبت نتیجه معتبر طبق ترتیب معماری برنامه

پشت صحنه فنی — Under the Hood: تصویر کامل تر موتور اجرای CPU

حالا می توانیم
مسیر فصل قبل و این فصل
را به هم متصل کنیم:

Branch Prediction
→
Fetch
→
Decode
→
Register Rename
→
Dispatch
→
Reservation / Scheduling
→
Wakeup
→
Select
→
Execute
→
Complete
→
Retire

در تمام این مسیر،
پردازنده دائماً تلاش می کند
میان صدها وابستگی،
محدودیت منابع
و اتفاقات حافظه،
بیشترین مقدار کار مستقل
را پیدا کند.

اشتباهات رایج — Common Mistakes: Register Renaming و Out-of-Order
  • فرض اینکه همه وابستگی های Register واقعی هستند.
  • یکی دانستن RAW، WAR و WAW.
  • فرض اینکه Register Renaming وابستگی RAW را حذف می کند.
  • فرض اینکه Register Renaming نام Register را در خود برنامه تغییر می دهد.
  • یکی دانستن Architectural Register و Physical Register.
  • فرض اینکه Out-of-Order یعنی نتیجه برنامه خارج از ترتیب ثبت می شود.
  • یکی دانستن Execute و Retire.
  • یکی دانستن Dispatch و Issue در همه معماری ها.
  • فرض اینکه ROB فقط یک صف ساده برای دستورها است.
  • فرض اینکه دستور اجرا شده الزاماً نهایی شده است.
  • فرض اینکه پنجره Out-of-Order بزرگ تر همیشه بهتر است.
  • نادیده گرفتن هزینه انرژی و پیچیدگی Schedulerهای بزرگ.
  • نادیده گرفتن نقش Branch Prediction در استفاده موثر از موتور Out-of-Order.
  • مقایسه توان CPUها فقط بر اساس تعداد Core و GHz.

سوالات متداول درباره Register Renaming و اجرای Out-of-Order

Register Renaming چیست؟

نام گذاری مجدد ثبات ها
روشی است که CPU
Registerهای معماری را
به Physical Registerهای مختلف نگاشت می کند
تا وابستگی های کاذب کاهش پیدا کنند.

RAW چیست؟

Read After Write
یا «خواندن پس از نوشتن»
یک وابستگی واقعی داده است
که در آن دستور بعدی
به نتیجه دستور قبلی نیاز دارد.

WAR چیست؟

Write After Read
یا «نوشتن پس از خواندن»
یک وابستگی نامی است
که می تواند با Register Renaming
برطرف شود.

WAW چیست؟

Write After Write
یا «نوشتن پس از نوشتن»
زمانی رخ می دهد
که چند دستور
از یک Register معماری
به عنوان مقصد استفاده کنند.

چرا RAW با Register Renaming حذف نمی شود؟

چون دستور مصرف کننده
واقعاً به داده تولید شده
توسط دستور قبلی نیاز دارد.
این وابستگی صرفاً ناشی از نام Register نیست.

Physical Register چیست؟

یک محل ذخیره سازی واقعی
در ساختار داخلی CPU است
که می تواند
برای نگهداری نسخه های مختلف
مقادیر Registerهای معماری استفاده شود.

Reservation Station چیست؟

ساختاری برای نگهداری عملیات منتظر اجرا
و دنبال کردن آماده شدن Operandهای آنها است.

ROB چیست؟

Reorder Buffer
ساختاری برای دنبال کردن
دستورهای در حال پردازش
و کمک به نهایی سازی صحیح آنها است.

آیا CPU دستورها را واقعاً خارج از ترتیب اجرا می کند؟

بله.
در CPUهای Out-of-Order
عملیات مستقل می توانند
خارج از ترتیب اولیه اجرا شوند،
اما نتیجه معماری برنامه
باید رفتار صحیح تعریف شده را حفظ کند.

Instructions In Flight یعنی چه؟

دستورهایی هستند
که وارد Pipeline شده اند
اما هنوز Retirement آنها
کامل نشده است.

Out-of-Order Window چیست؟

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

آیا ROB بزرگ تر همیشه CPU را سریع تر می کند؟

خیر.
ظرفیت بیشتر می تواند
فرصت اجرای بیشتری ایجاد کند،
اما مصرف انرژی،
پیچیدگی،
مساحت تراشه
و محدودیت های دیگر نیز اهمیت دارند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Architectural Register: ثبات تعریف شده در معماری قابل مشاهده نرم افزار.
  • Physical Register: ثبات فیزیکی داخلی CPU.
  • Compiler: نرم افزار تبدیل کد به شکل مناسب تر برای اجرا یا پردازش بعدی.
  • RAW: Read After Write؛ خواندن پس از نوشتن و وابستگی واقعی داده.
  • WAR: Write After Read؛ نوشتن پس از خواندن و وابستگی نامی.
  • WAW: Write After Write؛ نوشتن پس از نوشتن و وابستگی نامی.
  • True Dependency: وابستگی واقعی ناشی از نیاز به داده تولید شده.
  • False Dependency: وابستگی کاذب ناشی از اشتراک نام منابع.
  • Register Renaming: نام گذاری مجدد ثبات ها با نگاشت نام معماری به منابع فیزیکی.
  • Rename Table: ساختار دنبال کننده نگاشت Register معماری به Physical Register.
  • PRF: Physical Register File یا فایل ثبات های فیزیکی.
  • Operand: عملوند یا داده ورودی یک عملیات.
  • Reservation Station: ایستگاه نگهداری عملیات منتظر آماده شدن برای اجرا.
  • Wakeup: اعلام آماده شدن داده مورد نیاز یک عملیات.
  • Select: انتخاب عملیات آماده برای اجرا.
  • Dispatch: ارسال عملیات به ساختارهای موتور اجرای داخلی.
  • Issue: فرستادن عملیات آماده به واحد اجرایی مناسب.
  • ROB: Reorder Buffer یا بافر مرتب سازی مجدد.
  • Retirement: نهایی سازی نتیجه دستور در وضعیت معماری.
  • Commit: ثبت نهایی نتیجه معتبر دستور.
  • Precise Exception: استثنایی که وضعیت معماری دقیق و قابل بازیابی را حفظ می کند.
  • Instructions In Flight: دستورهای وارد شده به Pipeline که هنوز نهایی نشده اند.
  • Out-of-Order Window: پنجره عملیات قابل بررسی برای اجرای خارج از ترتیب.
  • Latency Hiding: انجام کار مفید دیگر برای پوشاندن بخشی از زمان انتظار.
  • Checkpoint: نقطه ذخیره وضعیت لازم برای بازیابی.
  • Load: عملیات دریافت داده از حافظه.
  • Store: عملیات نوشتن داده در حافظه.

خلاصه فصل

پردازنده Out-of-Order
فقط ترتیب دستورها را جابه جا نمی کند.
پیش از آن باید تشخیص دهد
کدام عملیات واقعاً به یکدیگر وابسته هستند.

RAW یک وابستگی واقعی داده است،
اما WAR و WAW
می توانند فقط به دلیل
استفاده از نام Register مشترک ایجاد شوند.

Register Renaming
با نگاشت نام های معماری
به Physical Registerهای متفاوت
این وابستگی های کاذب را کاهش می دهد.

Architectural Registers
→
Register Renaming
→
Physical Registers
→
Dependency Tracking
→
Scheduling
→
Execution

Reservation Station و Scheduler
منتظر آماده شدن عملیات می مانند،
واحدهای اجرایی کار را انجام می دهند
و ROB کمک می کند
نتایج در زمان مناسب
نهایی شوند.

مهم ترین قانون این فصل:


CPU مدرن فقط دستور بعدی را اجرا نمی کند؛
دائماً میان تعداد زیادی دستور
به دنبال کاری می گردد
که همین حالا قابل انجام باشد.


فصل 66
سطح: پیشرفته
موضوع: ارتباط موتور اجرای CPU با حافظه
تمرکز: Load / Store / LSQ / Memory Dependency / Forwarding / Ordering

جابه جا کردن دستورهای محاسباتی یک مسئله است؛ جابه جا کردن خواندن و نوشتن حافظه مسئله ای سخت تر

Load و Store چیست؟ CPU چگونه وابستگی های حافظه را در اجرای Out-of-Order مدیریت می کند؟

در موتور Out-of-Order،
CPU تلاش می کند هر عملیاتی را که آماده است
زودتر اجرا کند.
اما عملیات حافظه یک چالش مهم ایجاد می کنند.

اگر یک دستور بخواهد
از یک آدرس حافظه داده بخواند
و دستور دیگری بخواهد
در همان آدرس داده بنویسد،
جابه جا شدن نادرست ترتیب آنها
می تواند نتیجه برنامه را عوض کند.

بنابراین پردازنده باید
علاوه بر وابستگی Registerها،
Memory Dependency یا «وابستگی حافظه»
را نیز تشخیص دهد.

Load
+
Store
+
Address Calculation
+
Dependency Checking
+
Ordering
=
Correct Memory Execution

در این فصل چه چیزهایی یاد می گیریم؟

  • Load چیست.
  • Store چیست.
  • Memory Operand چیست.
  • Effective Address چیست.
  • Load Queue چیست.
  • Store Queue چیست.
  • Load/Store Queue چیست.
  • Memory Dependency چیست.
  • Memory Alias چیست.
  • Memory Disambiguation چیست.
  • Store-to-Load Forwarding چیست.
  • Store Buffer چیست.
  • Load Buffer چیست.
  • Memory Ordering چیست.
  • Memory Model چیست.
  • Fence چیست.
  • Speculative Load چیست.
  • Memory Order Violation چیست.
  • Replay چیست.
  • چرا حافظه می تواند موتور Out-of-Order را متوقف کند.

Load چیست؟


بارگذاری داده — Load

Load
یا «بارگذاری»
عملیاتی است
که داده را از حافظه
به داخل منابع پردازنده می آورد
تا CPU بتواند روی آن کار کند.

به صورت مفهومی:

Memory
→
CPU

Store چیست؟


ذخیره داده — Store

Store
یا «ذخیره»
عملیاتی است
که داده تولید شده توسط CPU
را برای نوشتن
در حافظه ارسال می کند.

به صورت مفهومی:

CPU
→
Memory

Memory Operand چیست؟


عملوند حافظه — Memory Operand

Memory Operand
یا «عملوند حافظه»
داده ای است
که یک دستور
آن را مستقیماً از حافظه می خواند
یا در حافظه می نویسد.

Effective Address چیست؟


آدرس موثر — Effective Address

Effective Address
یا «آدرس موثر»
آدرسی است
که یک دستور حافظه
برای مشخص کردن محل داده
محاسبه می کند.

این آدرس می تواند
از ترکیب بخش هایی مانند:

  • Base Address
  • Index
  • Scale
  • Offset

ساخته شود.


Base، Index و Offset یعنی چه؟

Base
یا «آدرس پایه»
نقطه شروع یک ناحیه حافظه است.

Index
یا «شاخص»
می تواند موقعیت یک عنصر
در ساختار داده را مشخص کند.

Offset
یا «جابجایی»
مقدار افزوده شده
برای رسیدن به محل نهایی است.

AGU چیست؟


واحد تولید آدرس — Address Generation Unit

AGU
مخفف:

Address Generation Unit

و به معنی
«واحد تولید آدرس»
است.

AGU بخشی از پردازنده است
که در محاسبه آدرس
برای عملیات Load و Store
نقش دارد.

پشت صحنه فنی — Under the Hood: یک Load چه مراحلی را طی می کند؟

برای توضیح مفهومی،
یک Load می تواند مسیری شبیه این داشته باشد:

Instruction
→
Address Generation
→
Dependency Check
→
TLB
→
Cache Lookup
→
Data Return

اگر داده در Cache نزدیک
پیدا نشود،
مسیر می تواند
به سطوح پایین تر Cache
و در نهایت RAM ادامه پیدا کند.

Load Queue چیست؟


صف بارگذاری — Load Queue

Load Queue
یا «صف بارگذاری»
ساختاری داخلی
برای دنبال کردن Loadهای در حال پردازش
و اطلاعات مربوط به آنها است.

Store Queue چیست؟


صف ذخیره — Store Queue

Store Queue
یا «صف ذخیره»
ساختاری داخلی
برای نگهداری و دنبال کردن
Storeهایی است
که هنوز تمام مراحل لازم
برای نهایی شدن آنها کامل نشده است.

LSQ چیست؟


صف Load و Store — Load/Store Queue

LSQ
مخفف:

Load / Store Queue

است.

در توضیح عمومی،
LSQ به ساختارهایی گفته می شود
که عملیات Load و Store
را در موتور Out-of-Order
دنبال می کنند
و در مدیریت وابستگی های حافظه
نقش دارند.

چرا وابستگی حافظه از وابستگی Register سخت تر است؟

در Register Dependency،
نام Registerها
در خود دستور مشخص هستند.

مثلاً CPU می داند:

R1
→
R2

اما در حافظه،
آدرس نهایی
ممکن است تا زمان اجرای محاسبه آدرس
مشخص نباشد.

بنابراین CPU ممکن است
با دو عملیات حافظه روبه رو باشد
بدون اینکه در همان لحظه بداند
آیا هر دو
به یک محل حافظه اشاره می کنند یا نه.

Memory Dependency چیست؟


وابستگی حافظه — Memory Dependency

Memory Dependency
یا «وابستگی حافظه»
زمانی وجود دارد
که ترتیب صحیح
یک عملیات حافظه
به عملیات حافظه دیگری وابسته باشد.

برای مثال،
یک Load ممکن است
نیاز داشته باشد
مقدار نوشته شده
توسط Store قبلی را بخواند.

پشت صحنه فنی — Under the Hood: Store و Load به یک آدرس

فرض کنید برنامه این ترتیب را دارد:

Store:
Memory[X] = 50

Load:
A = Memory[X]

Load باید مقدار:

50

را دریافت کند.

اگر Load بدون توجه
به Store قبلی
از نسخه قدیمی حافظه بخواند،
نتیجه برنامه نادرست خواهد شد.

Memory Alias چیست؟


اشاره چند عملیات به یک محل حافظه — Memory Alias

Memory Alias
در این Context
یعنی دو یا چند عملیات حافظه
ممکن است به همان محل حافظه
اشاره کنند.

اگر CPU هنوز
آدرس هر دو عملیات را
به طور کامل نداند،
تشخیص این موضوع
دشوارتر می شود.

Memory Disambiguation چیست؟


تشخیص مستقل بودن دسترسی های حافظه — Memory Disambiguation

Memory Disambiguation
یا «تشخیص مستقل بودن دسترسی های حافظه»
سازوکاری است
که CPU با آن تلاش می کند
بفهمد آیا یک Load
به Storeهای قدیمی تر وابسته است یا خیر.

هدف این است
که Loadهای مستقل
بی دلیل منتظر Storeهای قبلی نمانند.

اگر CPU همیشه صبر کند چه می شود؟

یک راه بسیار محافظه کارانه
این است که هر Load
تا مشخص شدن آدرس تمام Storeهای قبلی
صبر کند.

این روش از نظر صحت ساده است،
اما Performance را کاهش می دهد.

چون بسیاری از Loadها
واقعاً به Store قبلی
وابسته نیستند.

Speculative Load چیست؟


بارگذاری حدسی — Speculative Load

Speculative Load
یا «بارگذاری حدسی»
زمانی است
که CPU یک Load را
پیش از قطعی شدن کامل
نبود وابستگی به Storeهای قبلی
اجرا می کند.

اگر پیش بینی درست باشد،
بخشی از زمان انتظار
حذف می شود.

Memory Dependency Prediction چیست؟


پیش بینی وابستگی حافظه — Memory Dependency Prediction

Memory Dependency Prediction
سازوکاری است
که پردازنده با استفاده از آن
تلاش می کند
رفتار وابستگی میان Loadها و Storeها را
پیش بینی کند.

هدف این است
که عملیات مستقل
زودتر اجرا شوند،
اما وابستگی های واقعی
حفظ شوند.

Memory Order Violation چیست؟


نقض ترتیب حافظه — Memory Order Violation

اگر CPU یک Load را
زودتر اجرا کند
و بعد مشخص شود
آن Load در واقع
به Store قدیمی تری وابسته بوده،
یک:

Memory Order Violation

یا «نقض ترتیب حافظه»
رخ داده است.

Replay چیست؟


اجرای مجدد — Replay

Replay
یا «اجرای مجدد»
یعنی عملیاتی که
با فرض نادرست اجرا شده
دوباره با اطلاعات صحیح
اجرا شود.

Memory Order Violation
می تواند باعث
Replay بعضی عملیات شود.

تاثیر بر عملکرد — Performance Impact: CPU باید میان صبر کردن و ریسک کردن تعادل ایجاد کند

اگر CPU همیشه صبر کند،
Performance از دست می رود.

اگر بیش از حد تهاجمی
Loadها را جلو بیندازد،
احتمال Memory Order Violation
و Replay بیشتر می شود.

بنابراین طراحی مناسب:

Too Conservative
→
Lost Parallelism

Too Aggressive
→
More Replays

و معماری باید
میان این دو
تعادل ایجاد کند.

Store-to-Load Forwarding چیست؟


ارسال مستقیم داده از Store به Load — Store-to-Load Forwarding

Store-to-Load Forwarding
یا «ارسال مستقیم داده از Store به Load»
زمانی است
که Load به داده ای نیاز دارد
که یک Store قدیمی تر
در حال نوشتن آن است.

CPU می تواند
در شرایط مناسب
داده را مستقیماً
از ساختار Store
به Load منتقل کند
بدون اینکه منتظر شود
Store ابتدا در Cache یا حافظه
نهایی شود.

پشت صحنه فنی — Under the Hood: چرا Store-to-Load Forwarding سریع تر است؟

دوباره این مثال را ببینیم:

Store:
Memory[X] = 50

Load:
A = Memory[X]

اگر مقدار 50
هنوز در Store Queue
یا ساختار مشابه موجود باشد،
CPU می تواند
همان مقدار را مستقیماً
به Load بدهد.

Store Data
→
Forward
→
Load

بنابراین نیازی نیست
داده یک مسیر رفت و برگشت کامل
تا Cache و دوباره به Load
طی کند.

آیا Store-to-Load Forwarding همیشه ممکن است؟

خیر.

موفقیت Forwarding
به عواملی مانند:

  • تطابق آدرس
  • اندازه Load و Store
  • Alignment
  • نحوه همپوشانی محدوده داده
  • قوانین ریزمعماری

بستگی دارد.

Alignment چیست؟


هم ترازی حافظه — Memory Alignment

Alignment
یا «هم ترازی»
به قرار گرفتن داده
روی مرزهای آدرسی مناسب
برای اندازه یا نوع آن داده
اشاره دارد.

دسترسی های Misaligned
یا «ناهم تراز»
در برخی شرایط
می توانند پیچیده تر
یا پرهزینه تر باشند.


دسترسی ناهم تراز — Misaligned Access

Misaligned Access
یا «دسترسی ناهم تراز»
زمانی رخ می دهد
که داده روی مرزی
که برای آن دسترسی مناسب است
قرار نگرفته باشد.

Store Buffer چیست؟


بافر نوشتن — Store Buffer

Store Buffer
یا «بافر نوشتن»
ساختاری است
که Storeهای انجام شده توسط CPU
می توانند موقتاً
در آن نگهداری شوند
تا نوشتن آنها
در سلسله مراتب حافظه
ادامه پیدا کند.

این کار کمک می کند
CPU مجبور نباشد
برای تکمیل هر Store
تا پایان تمام مسیر حافظه
متوقف بماند.

Load Buffer چیست؟


بافر بارگذاری — Load Buffer

Load Buffer
یا «بافر بارگذاری»
ساختاری برای دنبال کردن
Loadهای در حال انجام
و وضعیت دسترسی آنها
به حافظه است.

اشتباه رایج — Common Mistake: Store Buffer، Store Queue و LSQ همیشه دقیقاً یک ساختار هستند

خیر.

نام گذاری و سازمان دهی
ساختارهای Load و Store
میان ریزمعماری های مختلف
می تواند متفاوت باشد.

در منابع فنی،
برخی اصطلاحات
ممکن است به ساختارهای نزدیک
اما نه کاملاً یکسان
اشاره کنند.

بنابراین بهتر است
برای یک CPU مشخص
مستندات همان معماری بررسی شود.

Memory Ordering چیست؟


ترتیب مشاهده عملیات حافظه — Memory Ordering

Memory Ordering
یا «ترتیب مشاهده عملیات حافظه»
قوانینی است
که مشخص می کند
Loadها و Storeها
با چه ترتیبی
می توانند برای بخش های مختلف سیستم
قابل مشاهده شوند.

Program Order و Memory Order چه تفاوتی دارند؟

Program Order
یا «ترتیب برنامه»
همان ترتیبی است
که دستورها در جریان منطقی برنامه
قرار دارند.

اما CPU و Memory System
ممکن است بعضی عملیات را
برای Performance
در داخل سخت افزار
با ترتیب متفاوتی پردازش کنند.

این تغییر ترتیب
فقط زمانی مجاز است
که قوانین معماری و Memory Model
رعایت شوند.

Memory Model چیست؟


مدل حافظه — Memory Model

Memory Model
یا «مدل حافظه»
مجموعه قوانینی است
که مشخص می کند
عملیات حافظه
در یک معماری
چه ترتیب قابل مشاهده ای
برای نرم افزار و پردازنده های دیگر دارند.

Strong و Weak Memory Model چیست؟

نوع کلی مفهوم
Stronger Memory Ordering محدودیت بیشتر برای تغییر ترتیب قابل مشاهده عملیات حافظه
Weaker Memory Ordering آزادی بیشتر سخت افزار برای تغییر ترتیب، در چارچوب قواعد معماری

چرا Memory Ordering در CPU چند هسته ای مهم تر می شود؟

وقتی فقط یک جریان اجرا داریم،
بسیاری از تغییرات ترتیب داخلی
برای نرم افزار قابل مشاهده نیستند.

اما در سیستم چند هسته ای،
یک Core ممکن است
داده ای را بنویسد
و Core دیگری
همان داده را بخواند.

در این شرایط
ترتیب مشاهده Storeها و Loadها
اهمیت بسیار زیادی پیدا می کند.

Memory Visibility چیست؟


قابل مشاهده شدن تغییرات حافظه — Memory Visibility

Memory Visibility
یا «قابل مشاهده شدن تغییرات حافظه»
به این موضوع اشاره دارد
که تغییر انجام شده توسط یک Thread یا Core
چه زمانی و تحت چه قوانینی
برای Thread یا Core دیگری
قابل مشاهده است.

Memory Fence چیست؟


مانع ترتیب حافظه — Memory Fence

Memory Fence
یا «مانع ترتیب حافظه»
سازوکاری است
که برای محدود کردن
جابه جایی یا مشاهده ترتیب
برخی عملیات حافظه
استفاده می شود.

واژه:

Fence

در اینجا مفهوم
«مرز یا مانع»
دارد.

Memory Barrier چیست؟


مانع حافظه — Memory Barrier

Memory Barrier
اصطلاحی است
که در بسیاری از Contextها
برای سازوکارهای کنترل ترتیب حافظه
استفاده می شود.

بسته به معماری،
زبان برنامه نویسی
یا سیستم عامل،
جزئیات دقیق آن
می تواند متفاوت باشد.

پشت صحنه فنی — Under the Hood: چرا برنامه نویس گاهی به Fence نیاز دارد؟

فرض کنید یک Thread
ابتدا داده ای را آماده می کند
و سپس یک Flag
یا «پرچم وضعیت»
را تغییر می دهد.

Write Data
→
Set Ready Flag

Thread دیگری
Flag را می خواند
تا بفهمد داده آماده است.

اگر Memory Ordering
به درستی کنترل نشود،
ممکن است مشاهده ترتیب
با انتظار برنامه نویس
یکسان نباشد.

سازوکارهای Synchronization
و Memory Ordering
برای حل چنین مسائل
ضروری هستند.


پرچم وضعیت — Flag

Flag
یا «پرچم وضعیت»
مقدار یا متغیری است
که برای نشان دادن
یک وضعیت مشخص
استفاده می شود.

Synchronization چیست؟


همگام سازی — Synchronization

Synchronization
یا «همگام سازی»
مجموعه روش هایی است
که برای هماهنگ کردن
Threadها یا پردازش های همزمان
هنگام دسترسی به داده مشترک
استفاده می شود.

Atomic Operation چیست؟


عملیات اتمی — Atomic Operation

Atomic Operation
یا «عملیات اتمی»
عملیاتی است
که از دید سایر Threadها
به صورت یک واحد تجزیه ناپذیر
مشاهده می شود.

عملیات اتمی
در ساخت بسیاری از الگوریتم های
همزمان و Synchronization
اهمیت دارد.

اشتباه رایج — Common Mistake: Atomic یعنی سریع تر

خیر.

Atomic
درباره ویژگی
«تجزیه ناپذیر بودن مشاهده عملیات»
صحبت می کند،
نه اینکه عملیات
الزاماً سریع تر باشد.

بعضی عملیات اتمی
حتی می توانند
هزینه بیشتری نسبت به
Load یا Store ساده داشته باشند.

Memory Ordering و Cache Coherence یک چیز هستند؟

خیر.

در فصل Cache
با:
Cache Coherence یا «سازگاری داده میان Cacheها»
آشنا شدیم.

Cache Coherence
کمک می کند Coreها
نسخه های ناسازگار یک Cache Line
را معتبر تصور نکنند.

اما Memory Ordering
درباره ترتیب قابل مشاهده
عملیات حافظه است.

Cache Coherence
≠
Memory Ordering

مفهوم سوال اصلی
Cache Coherence Coreها درباره مقدار یک محل حافظه چگونه هماهنگ می شوند؟
Memory Ordering عملیات مختلف حافظه با چه ترتیبی قابل مشاهده می شوند؟

Memory-Level Parallelism چیست؟


موازی سازی در سطح دسترسی حافظه — Memory-Level Parallelism

Memory-Level Parallelism
که به اختصار:

MLP

گفته می شود،
توانایی سیستم برای
داشتن چند درخواست حافظه
به طور همزمان
در حال پردازش است.

نکته مهندسی — Engineering Insight: یک Cache Miss لزوماً CPU را کاملاً متوقف نمی کند

اگر CPU فقط بتواند
یک درخواست حافظه
را در هر لحظه مدیریت کند،
هر Cache Miss
می تواند توقف بزرگی ایجاد کند.

اما پردازنده مدرن
می تواند چند Load مستقل
را همزمان در حال انتظار
نگه دارد.

Miss A
+
Miss B
+
Miss C
→
Overlapped Memory Requests

این کار
به پنهان کردن
بخشی از Latency حافظه کمک می کند.

Outstanding Memory Request چیست؟


درخواست حافظه در انتظار پاسخ — Outstanding Memory Request

Outstanding Memory Request
یا «درخواست حافظه در انتظار پاسخ»
درخواستی است
که CPU یا زیرسیستم حافظه
صادر کرده
اما پاسخ آن
هنوز کامل نشده است.

MSHR چیست؟


ساختار دنبال کردن Cache Miss — MSHR

MSHR
مخفف:

Miss Status Holding Register

است.

ترجمه مفهومی:
«ساختار نگهداری وضعیت درخواست های Cache Miss».

MSHR به Cache
کمک می کند
درخواست های Miss در حال انتظار
را دنبال کند.

Non-Blocking Cache چیست؟


کش غیرمسدودکننده — Non-Blocking Cache

Non-Blocking Cache
یا «Cache غیرمسدودکننده»
طراحی ای است
که اجازه می دهد
در حالی که بعضی Cache Missها
منتظر پاسخ هستند،
درخواست های دیگر نیز
تا حد مشخصی
پردازش شوند.

Hit Under Miss چیست؟


پاسخ به Hit در زمان وجود Miss — Hit Under Miss

Hit Under Miss
یعنی Cache
بتواند در حالی که
یک درخواست Miss
منتظر تکمیل است،
به درخواست دیگری
که Hit شده
پاسخ دهد.

Miss Under Miss چیست؟


مدیریت چند Miss همزمان — Miss Under Miss

Miss Under Miss
یعنی سیستم
بتواند بیش از یک Cache Miss
را همزمان
در حال پردازش نگه دارد.

این قابلیت
یکی از عناصر مهم
Memory-Level Parallelism است.

Memory Wall چیست؟


دیوار حافظه — Memory Wall

Memory Wall
یا «دیوار حافظه»
اصطلاحی برای شکاف
میان سرعت رشد توان پردازشی CPU
و سرعت دسترسی به حافظه
است.

وقتی CPU بسیار سریع باشد
اما داده به اندازه کافی سریع
به آن نرسد،
Performance می تواند
توسط زیرسیستم حافظه محدود شود.

تاثیر بر عملکرد — Performance Impact: CPU قوی بدون داده کافی نمی تواند قدرت خود را استفاده کند

موتور اجرای قدرتمند،
ROB بزرگ،
تعداد زیاد Execution Unit
و فرکانس بالا
زمانی مفید هستند
که داده کافی
برای تغذیه آنها وجود داشته باشد.

اگر CPU
مرتباً منتظر حافظه بماند:

More Execution Resources
≠
More Useful Work

به همین دلیل
Cache،
Prefetching،
MLP،
Load/Store Queue
و Memory Controller
بخش های حیاتی Performance CPU هستند.

Prefetching چه ارتباطی با Load دارد؟

اگر CPU بتواند
پیش از اجرای یک Load
حدس بزند
چه داده ای لازم خواهد شد،
می تواند آن داده را
زودتر به Cache نزدیک کند.

در این حالت:

Future Load
→
Data Already Closer
→
Lower Effective Stall

بنابراین Prefetcher
در کنار موتور Load/Store
برای کاهش زمان انتظار حافظه
نقش مهمی دارد.

Load Port و Store Port چیست؟


مسیرهای اجرایی عملیات حافظه — Load / Store Ports

در تحلیل بعضی ریزمعماری ها،
از Load Port
و Store Port
برای توصیف ظرفیت
مسیرهای داخلی اجرای عملیات حافظه
استفاده می شود.

تعداد و توان این مسیرها
می تواند روی تعداد Load و Store
قابل پردازش در هر Cycle
اثر بگذارد.

Port Pressure چیست؟


فشار روی مسیرهای اجرایی — Port Pressure

Port Pressure
یا «فشار روی مسیرهای اجرایی»
زمانی ایجاد می شود
که تعداد عملیات نیازمند
یک مجموعه محدود از منابع اجرایی
زیاد باشد.

حتی اگر سایر بخش های CPU
ظرفیت خالی داشته باشند،
یک Port خاص
می تواند Bottleneck شود.

چه چیزهایی می توانند مسیر حافظه CPU را محدود کنند؟

  • TLB Miss زیاد
  • Cache Miss زیاد
  • Memory Dependency زیاد
  • Store Forwarding ناموفق
  • Memory Order Replay
  • ظرفیت محدود Load Queue
  • ظرفیت محدود Store Queue
  • محدودیت Load / Store Port
  • Memory Bandwidth ناکافی
  • Memory Latency بالا
  • Prefetch نامناسب
  • Memory-Level Parallelism کم

جدول خلاصه ساختارهای مهم Load و Store

مفهوم معنی فارسی کار اصلی
Load بارگذاری دریافت داده از حافظه
Store ذخیره نوشتن داده در حافظه
AGU واحد تولید آدرس محاسبه آدرس عملیات حافظه
Load Queue صف بارگذاری دنبال کردن Loadهای در حال پردازش
Store Queue صف ذخیره دنبال کردن Storeهای در حال پردازش
Memory Disambiguation تشخیص وابستگی حافظه بررسی مستقل بودن Load و Store
Store-to-Load Forwarding ارسال مستقیم داده Store به Load جلوگیری از انتظار غیرضروری برای نوشتن کامل داده
Memory Fence مانع ترتیب حافظه کنترل ترتیب مشاهده عملیات حافظه
MSHR ساختار پیگیری Cache Miss دنبال کردن درخواست های Miss در حال انتظار
MLP موازی سازی سطح حافظه مدیریت چند درخواست حافظه همزمان

نکته مهندسی — Engineering Insight: حالا مفهوم «CPU منتظر RAM است» معنای دقیق تری دارد

این عبارت ساده
می تواند چندین وضعیت متفاوت را پنهان کند.

CPU ممکن است منتظر:

  • ترجمه TLB،
  • پاسخ Cache،
  • حل Memory Dependency،
  • آماده شدن Store Forwarding،
  • پاسخ RAM،
  • یا آزاد شدن منابع Load/Store Queue باشد.

بنابراین اصطلاح:
Memory Stall یا «توقف ناشی از حافظه»
می تواند دلایل مختلفی داشته باشد.


توقف ناشی از حافظه — Memory Stall

Memory Stall
یا «توقف ناشی از حافظه»
زمانی است
که پیشروی دستورها
به دلیل آماده نبودن
داده یا منابع مرتبط با حافظه
محدود می شود.

اشتباهات رایج — Common Mistakes: Load، Store و Memory Dependency
  • فرض اینکه Load فقط یک خواندن ساده از RAM است.
  • فرض اینکه Store بلافاصله مستقیماً در RAM نوشته می شود.
  • نادیده گرفتن AGU و محاسبه آدرس.
  • فرض اینکه آدرس تمام عملیات حافظه از ابتدا معلوم است.
  • یکی دانستن وابستگی Register و Memory Dependency.
  • فرض اینکه CPU همیشه Load را بعد از تمام Storeهای قبلی اجرا می کند.
  • فرض اینکه Memory Disambiguation بدون خطا است.
  • نادیده گرفتن Memory Order Violation و Replay.
  • فرض اینکه Store-to-Load Forwarding همیشه انجام می شود.
  • نادیده گرفتن Alignment.
  • یکی دانستن Cache Coherence و Memory Ordering.
  • فرض اینکه Memory Fence فقط یک دستور کندکننده است و کاربرد دیگری ندارد.
  • فرض اینکه Atomic یعنی سریع تر.
  • نادیده گرفتن Memory-Level Parallelism.
  • فرض اینکه یک Cache Miss همیشه کل CPU را متوقف می کند.
  • نادیده گرفتن محدودیت Load/Store Queue.
  • نادیده گرفتن Port Pressure.

سوالات متداول درباره Load، Store و وابستگی حافظه

Load چیست؟

عملیاتی است
که داده را از حافظه
برای استفاده CPU دریافت می کند.

Store چیست؟

عملیاتی است
که داده تولید شده توسط CPU
را برای نوشتن در حافظه
ارسال می کند.

AGU چیست؟

Address Generation Unit
یا واحد تولید آدرس،
بخشی از CPU برای محاسبه
آدرس عملیات حافظه است.

Memory Dependency چیست؟

وابستگی ای است
که ترتیب صحیح
یک عملیات حافظه
به عملیات حافظه دیگری
وابسته باشد.

Memory Disambiguation چیست؟

سازوکاری برای تشخیص
اینکه آیا Load
به Storeهای قبلی
وابسته است یا خیر.

Store-to-Load Forwarding چیست؟

انتقال مستقیم داده
از Store قدیمی تر
به Load وابسته
بدون انتظار برای نوشتن کامل
در Cache یا حافظه است.

Memory Order Violation چیست؟

زمانی رخ می دهد
که Load زودتر اجرا شده باشد
اما بعداً مشخص شود
به Store قدیمی تری وابسته بوده است.

Replay چیست؟

اجرای مجدد عملیات
پس از مشخص شدن
فرض یا ترتیب نادرست قبلی است.

Memory Fence چیست؟

سازوکاری برای محدود کردن
تغییر ترتیب قابل مشاهده
برخی عملیات حافظه است.

Cache Coherence و Memory Ordering یکی هستند؟

خیر.
Coherence درباره هماهنگی مقدار داده
میان Cacheها است،
اما Ordering درباره ترتیب مشاهده
عملیات حافظه است.

MLP چیست؟

Memory-Level Parallelism
یا موازی سازی در سطح حافظه،
توانایی داشتن چند درخواست حافظه
به طور همزمان است.

MSHR چیست؟

ساختاری برای دنبال کردن
Cache Missهای در حال انتظار است.

آیا Cache Miss همیشه CPU را متوقف می کند؟

خیر.
CPU می تواند
عملیات مستقل دیگری انجام دهد
یا چند درخواست حافظه
را همزمان مدیریت کند.

چرا Alignment مهم است؟

چون دسترسی ناهم تراز
می تواند بعضی عملیات حافظه
یا Store Forwarding
را پیچیده تر کند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Load: بارگذاری داده از حافظه.
  • Store: ذخیره داده در حافظه.
  • Memory Operand: عملوندی که در حافظه قرار دارد.
  • Effective Address: آدرس موثر محاسبه شده برای یک عملیات حافظه.
  • Base Address: آدرس پایه.
  • Index: شاخص مورد استفاده در محاسبه آدرس.
  • Offset: جابجایی افزوده شده به آدرس.
  • AGU: Address Generation Unit یا واحد تولید آدرس.
  • Load Queue: صف دنبال کننده Loadهای در حال پردازش.
  • Store Queue: صف دنبال کننده Storeهای در حال پردازش.
  • LSQ: Load/Store Queue؛ ساختار مدیریت عملیات حافظه.
  • Memory Dependency: وابستگی ترتیب میان عملیات حافظه.
  • Memory Alias: اشاره چند عملیات به یک محل حافظه.
  • Memory Disambiguation: تشخیص مستقل یا وابسته بودن دسترسی های حافظه.
  • Speculative Load: اجرای حدسی Load پیش از قطعی شدن نبود وابستگی.
  • Memory Dependency Prediction: پیش بینی وابستگی میان Load و Store.
  • Memory Order Violation: نقض ترتیب صحیح دسترسی های حافظه.
  • Replay: اجرای مجدد عملیات.
  • Store-to-Load Forwarding: انتقال مستقیم داده Store به Load.
  • Alignment: هم ترازی داده در حافظه.
  • Misaligned Access: دسترسی ناهم تراز به حافظه.
  • Store Buffer: بافر موقت Storeها.
  • Load Buffer: ساختار دنبال کننده Loadها.
  • Memory Ordering: قوانین ترتیب مشاهده عملیات حافظه.
  • Program Order: ترتیب منطقی دستورها در برنامه.
  • Memory Model: مدل تعریف کننده رفتار قابل مشاهده عملیات حافظه.
  • Memory Visibility: زمان و نحوه قابل مشاهده شدن تغییرات حافظه برای Threadهای دیگر.
  • Memory Fence: مانع ترتیب حافظه.
  • Memory Barrier: سازوکار محدود کردن جابه جایی عملیات حافظه.
  • Flag: متغیر یا مقدار نشان دهنده وضعیت.
  • Synchronization: همگام سازی Threadها یا عملیات همزمان.
  • Atomic Operation: عملیات تجزیه ناپذیر از دید سایر Threadها.
  • MLP: Memory-Level Parallelism یا موازی سازی در سطح حافظه.
  • Outstanding Memory Request: درخواست حافظه ای که پاسخ آن هنوز کامل نشده است.
  • MSHR: ساختار نگهداری وضعیت Cache Missهای در حال انتظار.
  • Non-Blocking Cache: Cacheای که هنگام وجود Miss می تواند درخواست های دیگری را نیز پردازش کند.
  • Hit Under Miss: پاسخ به Cache Hit در زمان انتظار یک Miss.
  • Miss Under Miss: مدیریت چند Cache Miss همزمان.
  • Memory Wall: شکاف میان سرعت پردازنده و سرعت دسترسی به حافظه.
  • Load Port: مسیر اجرایی مرتبط با Load.
  • Store Port: مسیر اجرایی مرتبط با Store.
  • Port Pressure: فشار ناشی از رقابت عملیات برای یک منبع اجرایی محدود.
  • Memory Stall: توقف یا محدودیت ناشی از آماده نبودن داده یا منابع حافظه.

خلاصه فصل

عملیات حافظه
یکی از پیچیده ترین بخش های
اجرای Out-of-Order هستند.

CPU باید ابتدا
آدرس را محاسبه کند،
سپس بررسی کند
آیا Load یا Store
به عملیات قدیمی تری وابسته است یا نه.

Load / Store
→
Address Generation
→
Memory Dependency Check
→
TLB
→
Cache
→
Memory System

Memory Disambiguation
تلاش می کند
Loadهای مستقل را
زودتر اجرا کند.

Store-to-Load Forwarding
می تواند داده را
مستقیماً از Store قدیمی تر
به Load وابسته بدهد.

MLP و Non-Blocking Cache
نیز کمک می کنند
چند درخواست حافظه
همزمان در حال انجام باشند.

مهم ترین قانون این فصل:


CPU مدرن فقط داده را از حافظه نمی خواند؛
دائماً پیش بینی می کند، وابستگی ها را بررسی می کند،
درخواست ها را موازی می کند
و تلاش می کند Latency حافظه را پنهان کند.


فصل 67
سطح: متوسط تا پیشرفته
موضوع: واحدهای اجرایی CPU
تمرکز: ALU / FPU / SIMD / Vector / SSE / AVX / NEON

داده وارد CPU شده است؛ حالا کدام بخش واقعاً محاسبه را انجام می دهد؟

واحدهای اجرایی CPU چیستند؟ از ALU و FPU تا SIMD و پردازش برداری

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

بعضی واحدهای اجرایی
برای محاسبات عدد صحیح ساخته شده اند،
بعضی برای اعداد اعشاری،
بعضی عملیات منطقی را انجام می دهند
و بعضی می توانند
تعداد زیادی داده را با یک دستور پردازش کنند.

به همین دلیل دو CPU
حتی با تعداد هسته و فرکانس مشابه
ممکن است در نرم افزارهای مختلف
عملکرد یکسانی نداشته باشند.

Instruction
→
Scheduler
→
Execution Unit
→
Result

در این فصل چه چیزهایی یاد می گیریم؟

  • Execution Unit چیست.
  • ALU چیست و چه عملیاتی انجام می دهد.
  • Integer Operation چیست.
  • FPU چیست.
  • Floating-Point Number چیست.
  • SIMD چیست.
  • Scalar و Vector چه تفاوتی دارند.
  • Vector Unit چیست.
  • Vector Width چیست.
  • SSE چیست.
  • AVX چیست.
  • AVX2 چیست.
  • AVX-512 چیست.
  • NEON چیست.
  • FMA چیست.
  • Throughput و Latency در واحدهای اجرایی چه معنایی دارند.
  • Execution Port چیست.
  • Port Pressure چیست.
  • چرا پشتیبانی CPU از یک Instruction Set به تنهایی تضمین کننده سرعت بالا نیست.

Execution Unit چیست؟


واحد اجرایی — Execution Unit

Execution Unit
یا «واحد اجرایی»
بخشی از موتور پردازنده است
که یک نوع مشخص از عملیات
یا مجموعه ای از عملیات را
واقعاً اجرا می کند.

برای مثال،
عملیات جمع عدد صحیح،
ضرب اعشاری،
مقایسه،
عملیات منطقی
یا محاسبات برداری
ممکن است توسط واحدهای اجرایی متفاوتی
انجام شوند.

ALU چیست؟


واحد حساب و منطق — Arithmetic Logic Unit

ALU
مخفف:

Arithmetic Logic Unit

و به معنی
«واحد حساب و منطق»
است.

ALU یکی از واحدهای بنیادی پردازنده است
و عملیات هایی مانند
جمع و تفریق عدد صحیح،
مقایسه
و بسیاری از عملیات منطقی
را انجام می دهد.

Integer Operation چیست؟


عملیات عدد صحیح — Integer Operation

Integer
به معنی «عدد صحیح» است.

اعدادی مانند:

-8, 0, 17, 250

نمونه عدد صحیح هستند.

بنابراین
Integer Operation
یعنی عملیاتی که
روی اعداد صحیح انجام می شود.

Logical Operation چیست؟


عملیات منطقی — Logical Operation

Logical Operation
یا «عملیات منطقی»
به عملیات هایی گفته می شود
که روی بیت ها یا مقادیر منطقی
انجام می شوند.

نمونه های معروف:

AND
/
OR
/
XOR
/
NOT

این عملیات در برنامه نویسی،
سیستم عامل،
رمزنگاری،
پردازش داده
و بسیاری از بخش های دیگر
کاربرد دارند.

FPU چیست؟


واحد محاسبات ممیز شناور — Floating-Point Unit

FPU
مخفف:

Floating-Point Unit

و به معنی
«واحد محاسبات ممیز شناور»
است.

این واحد برای انجام
محاسبات عددی روی اعدادی
که می توانند بخش کسری داشته باشند
اهمیت دارد.

Floating-Point Number یعنی چه؟


عدد ممیز شناور — Floating-Point Number

Floating-Point Number
یا «عدد ممیز شناور»
روشی رایج برای نمایش
اعداد حقیقی در کامپیوتر است.

برای مثال:

3.14159

0.125

-27.75

محاسبات مهندسی،
علمی،
گرافیکی،
شبیه سازی
و بسیاری از الگوریتم های پردازش تصویر
به عملیات Floating Point وابستگی زیادی دارند.

نوع محاسبه نمونه کاربردهای رایج
Integer 125 + 300 منطق برنامه، شمارنده ها، آدرس ها، بسیاری از عملیات عمومی
Floating Point 3.14 × 7.82 مهندسی، گرافیک، شبیه سازی، محاسبات علمی و عددی

Scalar Processing چیست؟


پردازش اسکالر یا تک مقداری — Scalar Processing

Scalar
در اینجا به یک مقدار منفرد اشاره دارد.

در یک عملیات Scalar،
دستور روی یک مقدار
یا یک جفت مقدار مشخص
کار می کند.

A + B
→
C

Vector Processing چیست؟


پردازش برداری — Vector Processing

Vector Processing
یا «پردازش برداری»
یعنی انجام یک عملیات مشابه
روی مجموعه ای از داده ها
به شکل گروهی.

برای مثال به جای اینکه:

A1 + B1

A2 + B2

A3 + B3

A4 + B4

کاملاً جداگانه پردازش شوند،
سخت افزار برداری می تواند
چند عنصر را در یک عملیات برداری
پردازش کند.

SIMD چیست؟


یک دستور، چند داده — Single Instruction Multiple Data

SIMD
مخفف:

Single Instruction, Multiple Data

و مفهوم آن:
«یک دستور برای پردازش چند داده»
است.

SIMD اجازه می دهد
یک عملیات مشابه
روی چند عنصر داده
به صورت موازی انجام شود.

پشت صحنه فنی — Under the Hood: چرا SIMD می تواند محاسبات را سریع تر کند؟

فرض کنید باید
چهار جفت عدد را با هم جمع کنیم.

روش مفهومی Scalar:

A1 + B1
→
C1

A2 + B2
→
C2

A3 + B3
→
C3

A4 + B4
→
C4

اما در یک مثال ساده SIMD:

[A1 A2 A3 A4]
+
[B1 B2 B3 B4]
→
[C1 C2 C3 C4]

بنابراین یک دستور
می تواند روی چند عنصر داده
کار کند.

اشتباه رایج — Common Mistake: SIMD یعنی CPU چند دستور مستقل را همزمان اجرا می کند

این تعریف دقیق نیست.

در SIMD،
اصل مهم این است که
یک دستور واحد روی چند عنصر داده
اعمال می شود.

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

Vector Unit چیست؟


واحد برداری — Vector Unit

Vector Unit
یا «واحد برداری»
بخشی از پردازنده است
که برای اجرای عملیات
روی چند عنصر داده
طراحی شده است.

چنین واحدهایی
در پردازش تصویر،
صوت،
ویدئو،
محاسبات علمی،
برخی الگوریتم های هوش مصنوعی،
فشرده سازی
و رمزنگاری
بسیار مهم هستند.

Vector Width چیست؟


پهنای بردار — Vector Width

Vector Width
یا «پهنای بردار»
تعداد بیت هایی را نشان می دهد
که یک دستور یا مسیر برداری
می تواند در یک بردار
پوشش دهد.

نمونه های متداول:

128-bit

256-bit

512-bit

نکته مهندسی — Engineering Insight: 256 بیت یعنی چند عدد؟

پاسخ به نوع داده بستگی دارد.

برای مثال،
اگر هر عنصر
یک عدد 32 بیتی باشد:

256 ÷ 32 = 8

بنابراین یک بردار 256 بیتی
می تواند هشت عنصر 32 بیتی
را در خود جای دهد.

اما اگر هر عنصر 64 بیتی باشد:

256 ÷ 64 = 4

پس همان پهنای 256 بیتی
چهار عنصر 64 بیتی را پوشش می دهد.

SSE چیست؟


Streaming SIMD Extensions — توسعه های SIMD برای پردازش گروهی داده

SSE
مخفف:

Streaming SIMD Extensions

است.

SSE خانواده ای از
توسعه های مجموعه دستورهای x86
برای انجام عملیات SIMD است.

نسل های مختلف SSE
در طول زمان
قابلیت های بیشتری
به پردازنده های x86 اضافه کردند.

AVX چیست؟


توسعه های برداری پیشرفته — Advanced Vector Extensions

AVX
مخفف:

Advanced Vector Extensions

و به معنی
«توسعه های برداری پیشرفته»
است.

AVX مجموعه ای از قابلیت های برداری
در معماری x86 است
که امکان انجام عملیات SIMD
روی داده های بیشتری را فراهم می کند.

AVX2 چیست؟


نسل توسعه یافته AVX — AVX2

AVX2
توسعه ای مهم بر AVX است
که قابلیت های SIMD
برای عملیات عدد صحیح
و مجموعه ای از عملیات دیگر
را گسترش داد.

در بسیاری از نرم افزارهای مدرن x86،
AVX2 می تواند
برای پردازش سریع تر
حجم زیادی از داده
مورد استفاده قرار گیرد.

AVX-512 چیست؟


خانواده دستورهای برداری AVX-512

AVX-512
خانواده ای از
توسعه های برداری x86 است
که از Registerهای برداری
تا پهنای 512 بیت
و قابلیت های پیشرفته دیگری
استفاده می کند.

AVX-512 یک قابلیت واحد و ساده نیست؛
خانواده ای از Extensionهای مختلف است
و پشتیبانی دقیق آن
بین پردازنده ها متفاوت است.

اشتباه رایج — Common Mistake: AVX-512 یعنی CPU همیشه دو برابر AVX2 سریع است

خیر.

پهنای برداری بیشتر
به تنهایی تضمین نمی کند
برنامه دو برابر سریع تر شود.

عملکرد واقعی
به مواردی مانند:

  • نوع الگوریتم،
  • قابلیت Vectorization،
  • پهنای واقعی واحدهای اجرایی،
  • تعداد Execution Portها،
  • Throughput دستور،
  • Memory Bandwidth،
  • Cache،
  • فرکانس CPU،
  • توان مصرفی و محدودیت حرارتی

بستگی دارد.

NEON چیست؟


فناوری SIMD در معماری Arm — NEON

NEON
نام فناوری SIMD
در بسیاری از پردازنده های مبتنی بر Arm است.

NEON برای پردازش موازی داده ها
در کاربردهایی مانند:

  • صوت،
  • ویدئو،
  • تصویر،
  • پردازش سیگنال،
  • محاسبات چندرسانه ای،
  • و برخی محاسبات عددی

استفاده می شود.

نکته مهندسی — Engineering Insight: AVX و NEON را نباید مستقیماً به عنوان دو CPU مقایسه کرد

SSE و AVX
با اکوسیستم x86 مرتبط هستند،
در حالی که NEON
بخشی از اکوسیستم Arm است.

وجود یک مجموعه دستور
فقط مشخص می کند
CPU چه نوع دستورهایی را می تواند اجرا کند.

سرعت واقعی
به نحوه پیاده سازی آن دستورها
در Microarchitecture
یا «ریزمعماری»
بستگی دارد.

ISA چیست؟


معماری مجموعه دستورها — Instruction Set Architecture

ISA
مخفف:

Instruction Set Architecture

و به معنی
«معماری مجموعه دستورها»
است.

ISA رابط تعریف شده
میان نرم افزار و پردازنده است
و مشخص می کند
پردازنده از دید نرم افزار
چه دستورها، Registerها
و رفتارهای معماری دارد.

Microarchitecture چیست؟


ریزمعماری — Microarchitecture

Microarchitecture
یا «ریزمعماری»
نحوه پیاده سازی داخلی
یک معماری مجموعه دستورها
در یک پردازنده مشخص است.

دو CPU می توانند
ISA مشابهی داشته باشند
اما به دلیل تفاوت در ریزمعماری،
Performance،
مصرف انرژی
و رفتار اجرایی متفاوتی داشته باشند.

FMA چیست؟


ضرب و جمع ترکیبی — Fused Multiply-Add

FMA
مخفف:

Fused Multiply-Add

است و می توان آن را
«عملیات ترکیبی ضرب و جمع»
ترجمه کرد.

به شکل مفهومی:

A × B + C

در FMA،
ضرب و جمع
در قالب یک عملیات ترکیبی
انجام می شوند.

این قابلیت
در بسیاری از محاسبات علمی،
برداری،
گرافیکی
و عددی اهمیت دارد.

نکته مهندسی — Engineering Insight: مزیت FMA فقط Performance نیست

در محاسبات Floating Point،
FMA می تواند
ضرب و جمع را
با یک مرحله گرد کردن نهایی
انجام دهد.

بنابراین علاوه بر Performance،
در برخی محاسبات
می تواند رفتار عددی دقیق تری
نسبت به اجرای کاملاً جداگانه
ضرب و سپس جمع داشته باشد.

Latency یک دستور چیست؟


تاخیر اجرای دستور — Instruction Latency

Latency
یا «تاخیر»
در این Context
مدت زمانی است
که از شروع اجرای یک عملیات
تا آماده شدن نتیجه آن
طول می کشد.

این زمان
معمولاً در تحلیل ریزمعماری
با تعداد Cycle بیان می شود.

Throughput چیست؟


نرخ عبور عملیات — Throughput

Throughput
یا «نرخ عبور»
نشان می دهد
واحد اجرایی یا CPU
با چه نرخی
می تواند عملیات جدید
را بپذیرد یا تکمیل کند.

Throughput و Latency
یک مفهوم نیستند.

پشت صحنه فنی — Under the Hood: چگونه یک دستور می تواند Latency چند Cycle داشته باشد اما هر Cycle دستور جدید پذیرفته شود؟

فرض کنید یک واحد اجرایی Pipeline شده
برای تکمیل هر عملیات
چهار Cycle زمان نیاز داشته باشد.

این الزاماً به این معنی نیست
که باید چهار Cycle صبر کند
تا عملیات بعدی را شروع کند.

Cycle 1:
Operation A enters

Cycle 2:
Operation B enters

Cycle 3:
Operation C enters

Cycle 4:
Operation D enters

بنابراین ممکن است:

Latency = 4 cycles

اما نرخ پذیرش عملیات مستقل
بسیار بیشتر باشد.

چرا Latency در زنجیره وابسته مهم می شود؟

فرض کنید:

B depends on A

C depends on B

D depends on C

اگر هر عملیات
برای تولید نتیجه
چند Cycle زمان نیاز داشته باشد،
دستور بعدی نمی تواند
پیش از آماده شدن نتیجه قبلی
ادامه پیدا کند.

به این ساختار:
Dependency Chain یا «زنجیره وابستگی»
گفته می شود.


زنجیره وابستگی — Dependency Chain

Dependency Chain
یا «زنجیره وابستگی»
مجموعه ای از عملیات است
که هر عملیات
برای شروع یا تکمیل صحیح خود
به نتیجه عملیات قبلی نیاز دارد.

نکته مهندسی — Engineering Insight: Throughput زمانی ارزشمندتر می شود که عملیات مستقل داشته باشیم

اگر تعداد زیادی عملیات مستقل وجود داشته باشد،
CPU می تواند آنها را
روی واحدهای اجرایی مختلف
یا مراحل مختلف Pipeline
پخش کند.

Independent Work
→
Better Unit Utilization
→
Higher Throughput

اما اگر همه عملیات
در یک زنجیره وابستگی طولانی باشند،
Latency هر عملیات
اهمیت بیشتری پیدا می کند.

Execution Port چیست؟


مسیر ارسال عملیات به منابع اجرایی — Execution Port

Execution Port
یا «مسیر اجرایی»
در بسیاری از ریزمعماری ها
مسیری است که عملیات
از طریق آن
به واحدهای اجرایی مشخص
دسترسی پیدا می کند.

یک Port ممکن است
به یک یا چند نوع
واحد اجرایی متصل باشد.

Port Pressure چیست؟


فشار روی مسیر اجرایی — Port Pressure

Port Pressure
یا «فشار روی مسیر اجرایی»
زمانی ایجاد می شود
که تعداد زیادی عملیات
برای استفاده از تعداد محدودی
Execution Port رقابت کنند.

در چنین شرایطی
حتی اگر بخش های دیگر CPU
ظرفیت خالی داشته باشند،
همان Port یا واحد اجرایی
می تواند به
Bottleneck یا «گلوگاه»
تبدیل شود.


گلوگاه — Bottleneck

Bottleneck
یا «گلوگاه»
بخشی از سیستم است
که محدودیت آن
سرعت کل فرایند را
محدود می کند.

گلوگاه می تواند
CPU، Cache، RAM، Storage،
GPU، شبکه
یا حتی یک واحد اجرایی خاص
داخل CPU باشد.

Vectorization چیست؟


برداری سازی — Vectorization

Vectorization
یا «برداری سازی»
فرایندی است
که در آن محاسبات مناسب
از شکل تک مقداری
به عملیات برداری تبدیل می شوند
تا بتوان از SIMD استفاده کرد.

این تبدیل ممکن است
توسط برنامه نویس،
Compiler
یا ترکیبی از هر دو
انجام شود.

Auto-Vectorization چیست؟


برداری سازی خودکار — Auto-Vectorization

Auto-Vectorization
یا «برداری سازی خودکار»
زمانی است که Compiler
تشخیص می دهد
بخشی از کد را می توان
با دستورهای SIMD
اجرا کرد
و به صورت خودکار
کد برداری تولید می کند.

اشتباه رایج — Common Mistake: هر الگوریتمی را می توان به راحتی Vectorize کرد

خیر.

برخی الگوریتم ها
ساختار بسیار مناسبی برای SIMD دارند،
اما برخی دیگر
وابستگی های داده ای،
Branchهای زیاد
یا الگوهای حافظه نامناسب دارند.

بنابراین قابلیت Vectorization
به ماهیت الگوریتم
بستگی دارد.

SIMD در چه کارهایی استفاده می شود؟

  • پردازش تصویر و فیلترهای تصویری
  • تبدیل و پردازش ویدئو
  • پردازش صوت
  • فشرده سازی و Decompression
  • رمزنگاری و Hashing در الگوریتم های مناسب
  • محاسبات علمی
  • شبیه سازی های عددی
  • پردازش سیگنال
  • برخی محاسبات هوش مصنوعی
  • محاسبات سه بعدی و هندسی
  • برخی عملیات CAD و مهندسی
  • تحلیل داده
  • کتابخانه های ریاضی


بازکردن داده فشرده — Decompression

Decompression
یا «بازکردن داده فشرده»
فرایند تبدیل داده فشرده شده
به شکل قابل استفاده یا اصلی آن است.


تابع درهم سازی — Hash

Hash
یا «درهم سازی»
در علوم کامپیوتر
به فرایندی گفته می شود
که داده ورودی
توسط یک تابع مشخص
به خروجی با ساختار تعریف شده
تبدیل می شود.

Hash در زمینه هایی مانند
بررسی صحت داده،
ساختارهای داده،
امنیت
و رمزنگاری
کاربردهای مختلفی دارد.

اگر CPU از AVX2 پشتیبانی کند، آیا همه برنامه ها از آن استفاده می کنند؟

خیر.

برای استفاده از یک قابلیت SIMD،
نرم افزار باید
دستور مناسب تولید کند.

این کار می تواند
از طریق Compiler،
کتابخانه های بهینه شده
یا کد اختصاصی برنامه
انجام شود.

بنابراین:

Hardware Support
+
Software Support
=
Useful Acceleration

تاثیر بر عملکرد — Performance Impact: پشتیبانی از یک دستور با اجرای سریع آن یکسان نیست

دو CPU ممکن است
هر دو از AVX2 پشتیبانی کنند،
اما Performance آنها
در یک Workload برداری
متفاوت باشد.

علت می تواند تفاوت در:

  • تعداد واحدهای برداری،
  • پهنای مسیرهای اجرایی،
  • Throughput،
  • Latency،
  • فرکانس،
  • Cache،
  • Memory Bandwidth،
  • Front-End،
  • Scheduler،
  • و محدودیت توان و دما

باشد.

Workload چیست؟


بار کاری — Workload

Workload
یا «بار کاری»
مجموعه کاری است
که سیستم در یک سناریوی مشخص
باید انجام دهد.

برای مثال:
رندر سه بعدی،
اجرای بازی،
کامپایل نرم افزار،
تحلیل داده،
فشرده سازی فایل،
اجرای ماشین مجازی
یا پردازش ویدئو
Workloadهای متفاوتی هستند.

نکته مهندسی — Engineering Insight: «CPU قوی تر» بدون مشخص کردن Workload جمله کاملی نیست

یک پردازنده ممکن است
در اجرای تک رشته ای
بسیار قوی باشد،
پردازنده دیگری
هسته های بیشتری داشته باشد
و مدل دیگری
در محاسبات برداری خاص
عملکرد بهتری نشان دهد.

بنابراین انتخاب CPU
برای کامپیوتر رومیزی،
لپ تاپ،
ورک استیشن،
سرور
یا سیستم مهندسی
باید بر اساس نوع Workload
انجام شود.

SIMD با Multi-Core چه تفاوتی دارد؟

روش نوع موازی سازی ایده اصلی
SIMD موازی سازی داده یک دستور روی چند عنصر داده
Multi-Core موازی سازی در سطح Core چند هسته می توانند جریان های کاری مختلف را اجرا کنند
SMT چند رشته سخت افزاری روی یک Core استفاده بهتر از منابع یک Core با چند جریان دستور

آیا این روش های موازی سازی می توانند همزمان استفاده شوند؟

بله.

یک نرم افزار بهینه
ممکن است همزمان
از چند سطح Parallelism
یا «موازی سازی»
استفاده کند.

Multiple Cores
→
Multiple Threads
→
SIMD Inside Each Thread
→
Multiple Execution Units

بنابراین Performance نهایی
می تواند حاصل همکاری
چند سطح متفاوت
از موازی سازی باشد.

اگر CPU SIMD دارد، چرا GPU لازم است؟

CPUهای مدرن
توانایی پردازش برداری قابل توجهی دارند،
اما فلسفه طراحی CPU و GPU
یکسان نیست.

CPU معمولاً برای:

  • Latency پایین،
  • کنترل پیچیده،
  • Branchهای متعدد،
  • اجرای عمومی،
  • و Performance قوی روی جریان های محدودتر دستور

طراحی شده است.

GPU معمولاً
منابع بسیار بیشتری
برای اجرای موازی حجم عظیمی
از عملیات مناسب
در اختیار دارد.

ویژگی کلی CPU GPU
تمرکز طراحی اجرای عمومی و کنترل پیچیده با Latency پایین Throughput بسیار بالا در محاسبات موازی مناسب
تعداد منابع محاسباتی کمتر اما قدرتمندتر و انعطاف پذیرتر تعداد بسیار بیشتری منابع محاسباتی ساده تر
Branch پیچیده معمولاً مناسب تر بسته به نوع الگوریتم می تواند هزینه بیشتری داشته باشد
موازی سازی انبوه داده محدودتر یکی از نقاط قوت اصلی

چرا محاسبات برداری سنگین می توانند مصرف برق CPU را بالا ببرند؟

فعال شدن تعداد زیادی
مدار محاسباتی در واحدهای برداری
می تواند مصرف توان
و تولید گرما را افزایش دهد.

به همین دلیل
رفتار فرکانسی CPU
هنگام اجرای Workloadهای برداری سنگین
الزاماً با Workloadهای سبک
یکسان نیست.

تاثیر بر عملکرد — Performance Impact: فرکانس اسمی CPU تمام داستان نیست

پردازنده باید
محدودیت های توان،
جریان الکتریکی
و دما را رعایت کند.

بنابراین نوع دستورهایی
که در حال اجرا هستند
می تواند روی رفتار
فرکانس واقعی CPU اثر بگذارد.

نتیجه مهم:


GHz به تنهایی نمی گوید
CPU در یک Workload برداری سنگین
چه مقدار کار واقعی انجام می دهد.

جدول خلاصه مفاهیم واحدهای اجرایی

مفهوم معنی فارسی وظیفه یا مفهوم اصلی
Execution Unit واحد اجرایی انجام واقعی عملیات
ALU واحد حساب و منطق عملیات عدد صحیح و منطقی
FPU واحد ممیز شناور محاسبات Floating Point
SIMD یک دستور، چند داده اجرای یک عملیات روی چند عنصر داده
Vector Unit واحد برداری اجرای عملیات برداری
FMA ضرب و جمع ترکیبی انجام عملیات A × B + C به شکل ترکیبی
Latency تاخیر زمان لازم تا آماده شدن نتیجه عملیات
Throughput نرخ عبور میزان عملیات قابل پردازش در واحد زمان
Execution Port مسیر اجرایی مسیر دسترسی عملیات به منابع اجرایی
Vectorization برداری سازی تبدیل محاسبات مناسب به عملیات SIMD

اشتباهات رایج — Common Mistakes: واحدهای اجرایی و SIMD
  • فرض اینکه همه محاسبات CPU توسط یک واحد واحد انجام می شوند.
  • یکی دانستن ALU و FPU.
  • فرض اینکه Floating Point فقط برای اعداد اعشاری ساده کاربرد دارد.
  • یکی دانستن SIMD و Multi-Core.
  • فرض اینکه Vector Width بیشتر همیشه Performance بیشتری ایجاد می کند.
  • فرض اینکه AVX-512 همیشه دو برابر AVX2 سریع است.
  • فرض اینکه وجود AVX2 یعنی همه نرم افزارها از آن استفاده می کنند.
  • یکی دانستن ISA و Microarchitecture.
  • یکی دانستن Latency و Throughput.
  • نادیده گرفتن Dependency Chain.
  • نادیده گرفتن Execution Port و Port Pressure.
  • فرض اینکه همه الگوریتم ها قابل Vectorization هستند.
  • مقایسه CPUها فقط بر اساس GHz.
  • نادیده گرفتن Memory Bandwidth در محاسبات برداری.
  • فرض اینکه CPU SIMD می تواند در همه کاربردها جای GPU را بگیرد.

سوالات متداول درباره ALU، FPU، SIMD و واحدهای برداری

ALU چیست؟

Arithmetic Logic Unit
یا «واحد حساب و منطق»
بخشی از CPU است
که بسیاری از عملیات عدد صحیح
و منطقی را انجام می دهد.

FPU چیست؟

Floating-Point Unit
یا «واحد محاسبات ممیز شناور»
برای اجرای محاسبات
Floating Point استفاده می شود.

SIMD چیست؟

Single Instruction Multiple Data
یعنی «یک دستور، چند داده»
و اجازه می دهد
یک عملیات مشابه
روی چند عنصر داده اجرا شود.

Scalar و Vector چه تفاوتی دارند؟

Scalar معمولاً روی مقدار منفرد کار می کند،
در حالی که عملیات Vector
می تواند چند عنصر داده
را در یک بردار پردازش کند.

AVX چیست؟

Advanced Vector Extensions
یا «توسعه های برداری پیشرفته»
خانواده ای از قابلیت های SIMD
در معماری x86 است.

AVX2 چیست؟

توسعه ای بر AVX است
که قابلیت های برداری بیشتری،
از جمله گسترش مهم عملیات عدد صحیح،
فراهم می کند.

آیا AVX-512 همیشه سریع تر از AVX2 است؟

خیر.
سرعت واقعی به نرم افزار،
ریزمعماری،
پهنای واحدهای اجرایی،
حافظه،
فرکانس و عوامل متعدد دیگری بستگی دارد.

NEON چیست؟

فناوری SIMD
در بسیاری از پردازنده های Arm است
و برای پردازش گروهی داده ها
استفاده می شود.

FMA چیست؟

Fused Multiply-Add
یا «ضرب و جمع ترکیبی»
عملیاتی برای محاسبه ترکیبی
ضرب و جمع است.

Latency و Throughput چه تفاوتی دارند؟

Latency مدت زمان لازم
برای آماده شدن نتیجه یک عملیات است،
اما Throughput نرخ پردازش
عملیات متعدد را توصیف می کند.

Vectorization چیست؟

برداری سازی
تبدیل محاسبات مناسب
به عملیات برداری است
تا بتوان از SIMD استفاده کرد.

آیا همه برنامه ها از SIMD استفاده می کنند؟

خیر.
نرم افزار،
Compiler یا کتابخانه مورد استفاده
باید بتواند از دستورهای SIMD
بهره بگیرد.

چرا دو CPU دارای AVX2 سرعت یکسانی ندارند؟

چون پشتیبانی از ISA
فقط قابلیت اجرای دستور را مشخص می کند.
نحوه پیاده سازی آن در ریزمعماری،
تعداد و پهنای واحدهای اجرایی،
Cache، حافظه، فرکانس
و عوامل دیگر
Performance واقعی را تعیین می کنند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Execution Unit: واحد اجرایی؛ سخت افزار انجام دهنده عملیات.
  • ALU: Arithmetic Logic Unit؛ واحد حساب و منطق.
  • Integer: عدد صحیح.
  • Integer Operation: عملیات روی اعداد صحیح.
  • Logical Operation: عملیات منطقی روی بیت ها یا مقادیر منطقی.
  • FPU: Floating-Point Unit؛ واحد محاسبات ممیز شناور.
  • Floating Point: روش نمایش و محاسبه اعداد حقیقی در کامپیوتر.
  • Scalar: مقدار منفرد یا پردازش تک مقداری.
  • Vector: مجموعه ای از عناصر داده برای پردازش گروهی.
  • SIMD: Single Instruction Multiple Data؛ یک دستور برای چند داده.
  • Vector Unit: واحد اجرای عملیات برداری.
  • Vector Width: پهنای داده قابل پوشش توسط عملیات برداری.
  • SSE: Streaming SIMD Extensions؛ خانواده ای از توسعه های SIMD در x86.
  • AVX: Advanced Vector Extensions؛ توسعه های برداری پیشرفته.
  • AVX2: نسل توسعه یافته قابلیت های AVX.
  • AVX-512: خانواده ای از توسعه های برداری x86 با قابلیت های برداری پیشرفته.
  • NEON: فناوری SIMD در معماری Arm.
  • ISA: Instruction Set Architecture؛ معماری مجموعه دستورها.
  • Microarchitecture: ریزمعماری؛ نحوه پیاده سازی داخلی ISA.
  • FMA: Fused Multiply-Add؛ ضرب و جمع ترکیبی.
  • Latency: تاخیر تا آماده شدن نتیجه.
  • Throughput: نرخ عبور یا میزان عملیات قابل پردازش.
  • Dependency Chain: زنجیره ای از عملیات وابسته به نتیجه یکدیگر.
  • Execution Port: مسیر دسترسی عملیات به واحدهای اجرایی.
  • Port Pressure: فشار ناشی از رقابت عملیات برای مسیر اجرایی محدود.
  • Bottleneck: گلوگاه؛ بخشی که Performance کل سیستم را محدود می کند.
  • Vectorization: برداری سازی محاسبات برای استفاده از SIMD.
  • Auto-Vectorization: برداری سازی خودکار توسط Compiler.
  • Workload: بار کاری یا مجموعه کاری که سیستم اجرا می کند.
  • Decompression: بازکردن داده فشرده.
  • Hash: درهم سازی داده توسط یک تابع مشخص.

خلاصه فصل

Execution Unitها
محل انجام واقعی بسیاری از محاسبات CPU هستند.

ALU برای بسیاری از عملیات
عدد صحیح و منطقی استفاده می شود،
در حالی که FPU و واحدهای برداری
نقش مهمی در محاسبات عددی
و Floating Point دارند.

SIMD اجازه می دهد
یک دستور
چند عنصر داده را پردازش کند.

Scalar
→
One / Few Data Elements

SIMD
→
Multiple Data Elements
→
One Instruction

SSE، AVX، AVX2، AVX-512 و NEON
نمونه هایی از فناوری ها
و مجموعه قابلیت های مرتبط
با پردازش SIMD هستند.

اما وجود یک قابلیت در ISA
به تنهایی Performance را تعیین نمی کند.

ریزمعماری،
تعداد واحدهای اجرایی،
پهنای آنها،
Throughput،
Latency،
Cache،
Memory Bandwidth،
فرکانس
و نوع Workload
همگی اهمیت دارند.

مهم ترین قانون این فصل:


نام یک دستور یا پهنای یک Vector
به تنهایی سرعت CPU را مشخص نمی کند؛
Performance واقعی حاصل همکاری
نرم افزار، ISA، ریزمعماری،
واحدهای اجرایی و سیستم حافظه است.


فصل 68
سطح: متوسط تا پیشرفته
موضوع: چند رشته ای همزمان در CPU
تمرکز: SMT / Hyper-Threading / Hardware Thread / Resource Sharing

یک Core همیشه از تمام منابع داخلی خود استفاده نمی کند؛ آیا می توان ظرفیت خالی را به Thread دیگری داد؟

SMT و Hyper-Threading چیست؟ چگونه یک هسته CPU چند Thread را اجرا می کند؟

یک Core مدرن
مجموعه بزرگی از منابع داخلی مانند
Front-End،
Scheduler،
Execution Unit،
Load/Store Unit
و Cache دارد.

اما یک Thread
در هر لحظه الزاماً نمی تواند
از تمام این منابع استفاده کند.

ممکن است Thread
منتظر داده از Cache باشد،
با Branch Misprediction روبه رو شود،
یک زنجیره وابستگی داشته باشد
یا فقط به بعضی واحدهای اجرایی نیاز داشته باشد.

یکی از ایده های مهم
برای استفاده بهتر از این ظرفیت خالی:
SMT یا «چند رشته ای همزمان»
است.

One Physical Core
+
Multiple Hardware Threads
→
Better Resource Utilization

در این فصل چه چیزهایی یاد می گیریم؟

  • Thread چیست.
  • Hardware Thread چیست.
  • Physical Core چیست.
  • Logical Processor چیست.
  • SMT چیست.
  • Hyper-Threading چیست.
  • SMT2 و SMT4 یعنی چه.
  • چرا یک Core می تواند چند Thread را دنبال کند.
  • کدام منابع ممکن است بین Threadها مشترک باشند.
  • Resource Sharing چیست.
  • Resource Contention چیست.
  • چرا SMT دو برابر شدن Performance نیست.
  • SMT چه زمانی مفید است.
  • چه زمانی سود SMT کم می شود.
  • SMT چه ارتباطی با Cache و Memory Stall دارد.
  • SMT با Multi-Core چه تفاوتی دارد.
  • سیستم عامل چگونه Logical Processorها را می بیند.
  • Thread Scheduling چیست.

Thread چیست؟


رشته اجرایی — Thread

Thread
یا «رشته اجرایی»
یک جریان اجرای دستور
در داخل یک برنامه یا Process است.

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

Process چیست؟


فرایند — Process

Process
یا «فرایند»
نمونه در حال اجرای یک برنامه
همراه با منابع و فضای اجرایی مربوط به آن است.

یک Process
می تواند شامل
یک یا چند Thread باشد.

Process
→
Thread 1
+
Thread 2
+
Thread 3

Hardware Thread چیست؟


رشته سخت افزاری — Hardware Thread

Hardware Thread
یا «رشته سخت افزاری»
Context اجرایی است
که سخت افزار CPU
برای دنبال کردن یک جریان دستور
در اختیار سیستم قرار می دهد.

واژه
Context
در اینجا به معنی
«وضعیت و اطلاعات لازم برای دنبال کردن اجرای یک جریان دستور»
است.

Physical Core چیست؟


هسته فیزیکی — Physical Core

Physical Core
یا «هسته فیزیکی»
یک هسته واقعی سخت افزاری
داخل پردازنده است.

این Core
دارای منابع اجرایی واقعی
مانند Pipeline،
واحدهای اجرایی،
Scheduler
و ساختارهای دیگر است.

Logical Processor چیست؟


پردازنده منطقی — Logical Processor

Logical Processor
یا «پردازنده منطقی»
واحد اجرایی قابل مشاهده
برای سیستم عامل است
که می تواند یک Thread نرم افزاری
روی آن زمان بندی شود.

در یک CPU دارای SMT،
یک Physical Core
می تواند بیش از یک
Logical Processor
در اختیار سیستم عامل قرار دهد.

پشت صحنه فنی — Under the Hood: 8 Core و 16 Thread یعنی چه؟

فرض کنید یک CPU
دارای 8 هسته فیزیکی باشد
و هر Core بتواند
دو Hardware Thread
را دنبال کند.

8 Physical Cores
×
2 Hardware Threads per Core
=
16 Logical Processors

سیستم عامل
در این مثال
16 پردازنده منطقی
برای زمان بندی Threadها مشاهده می کند.

اما این به معنی وجود
16 هسته فیزیکی کامل
نیست.

SMT چیست؟


چند رشته ای همزمان — Simultaneous Multithreading

SMT
مخفف:

Simultaneous Multithreading

و به معنی
«چند رشته ای همزمان»
است.

SMT تکنیکی است
که اجازه می دهد
یک Core فیزیکی
دستورهای متعلق به
بیش از یک Hardware Thread
را در بازه زمانی مشابه
وارد موتور پردازنده کند.

هدف اصلی:

Better Utilization
of
Core Resources

یعنی:
«استفاده بهتر از منابع داخلی هسته».

چرا اصلاً SMT ساخته شد؟

یک Thread منفرد
همیشه نمی تواند
تمام ظرفیت یک Core مدرن
را مصرف کند.

برای مثال ممکن است:

  • منتظر Load از حافظه باشد.
  • با Cache Miss روبه رو شده باشد.
  • Branch اشتباه پیش بینی شده باشد.
  • Dependency Chain طولانی داشته باشد.
  • فقط از بعضی Execution Unitها استفاده کند.

در چنین شرایطی
بخشی از منابع Core
ممکن است ظرفیت آزاد داشته باشند.

SMT تلاش می کند
بخشی از این ظرفیت را
برای Thread دیگری
قابل استفاده کند.

پشت صحنه فنی — Under the Hood: دو Thread چگونه می توانند یک Core را بهتر پر کنند؟

فرض کنید Thread A
به دلیل Cache Miss
موقتاً نمی تواند
بعضی دستورهای خود را ادامه دهد.

Thread A
→
Waiting for Data

در همین زمان،
Thread B
ممکن است دستورهای آماده
برای اجرا داشته باشد.

Thread B
→
Ready Instructions
→
Execution Units

بنابراین به جای اینکه
بعضی منابع Core
کاملاً بیکار بمانند،
Thread B می تواند
بخشی از ظرفیت موجود را استفاده کند.

Hyper-Threading چیست؟


Hyper-Threading — نام تجاری Intel برای پیاده سازی SMT

Hyper-Threading Technology
نامی است که Intel
برای فناوری چند رشته ای همزمان
در بسیاری از پردازنده های خود
استفاده کرده است.

بنابراین از نظر مفهومی:

Hyper-Threading
=
Intel SMT Implementation

یعنی Hyper-Threading
نام عمومی تمام فناوری های چند رشته ای نیست.

SMT2 یعنی چه؟


دو رشته سخت افزاری برای هر Core — SMT2

SMT2
یعنی هر Physical Core
می تواند دو Hardware Thread
را پشتیبانی کند.

1 Core
→
2 Hardware Threads

SMT4 یعنی چه؟


چهار رشته سخت افزاری برای هر Core — SMT4

SMT4
یعنی یک Core
چهار Hardware Thread
را پشتیبانی می کند.

1 Core
→
4 Hardware Threads

تعداد Threadهای سخت افزاری
برای هر Core
به طراحی معماری
بستگی دارد.

اشتباه رایج — Common Mistake: فعال شدن SMT یعنی اجزای Core دو برابر می شوند

خیر.

SMT یک Core فیزیکی دیگر
ایجاد نمی کند.

بسیاری از منابع اصلی Core
همچنان مشترک هستند.

فقط برخی وضعیت ها و منابع
باید به اندازه کافی
مستقل یا قابل تفکیک باشند
تا چند Hardware Thread
بتوانند همزمان دنبال شوند.

چه منابعی ممکن است بین Threadهای SMT مشترک باشند؟

جزئیات دقیق
به ریزمعماری بستگی دارد،
اما در یک توضیح عمومی
Threadهای یک Core
ممکن است برای استفاده از
بخش هایی مانند اینها رقابت کنند:

  • Front-End Capacity
  • Decode Bandwidth
  • Execution Units
  • Execution Ports
  • Load/Store Resources
  • Cache Capacity
  • Memory Bandwidth
  • بعضی ساختارهای زمان بندی و اجرای داخلی

نحوه اشتراک یا تقسیم هر منبع
در معماری های مختلف
می تواند متفاوت باشد.


ظرفیت بخش جلویی پردازنده — Front-End Capacity

Front-End Capacity
یا «ظرفیت بخش جلویی پردازنده»
به توان Front-End
برای تامین جریان دستور
برای بخش های بعدی CPU اشاره دارد.


پهنای رمزگشایی — Decode Bandwidth

Decode Bandwidth
یا «پهنای رمزگشایی»
نشان می دهد بخش Decode
با چه ظرفیتی
می تواند دستورها را
برای مراحل بعدی آماده کند.

Resource Sharing چیست؟


اشتراک منابع — Resource Sharing

Resource Sharing
یا «اشتراک منابع»
یعنی چند Hardware Thread
از بعضی منابع فیزیکی مشترک
در یک Core استفاده کنند.

همین اشتراک منابع
یکی از دلایلی است
که SMT نسبت به ساخت
یک Core فیزیکی کامل دیگر
هزینه سخت افزاری کمتری دارد.

Resource Contention چیست؟


رقابت بر سر منابع — Resource Contention

Resource Contention
یا «رقابت بر سر منابع»
زمانی رخ می دهد
که چند Thread
همزمان به یک منبع محدود
نیاز داشته باشند.

برای مثال،
اگر هر دو Thread
به شدت به یک نوع Execution Unit
یا Cache مشترک وابسته باشند،
ممکن است برای آن منبع
با یکدیگر رقابت کنند.

نکته مهندسی — Engineering Insight: SMT زمانی بهتر عمل می کند که دو Thread نیازهای کاملاً یکسان نداشته باشند

فرض کنید Thread A
بیشتر منتظر حافظه است،
اما Thread B
تعداد زیادی عملیات محاسباتی آماده دارد.

این دو Thread
ممکن است بتوانند
منابع Core را بهتر
بین خود استفاده کنند.

Thread A:
Memory Heavy

Thread B:
Compute Heavy

Complementary Resource Usage
→
Better Utilization

عبارت
Compute Heavy
در اینجا یعنی
«بار کاری با تمرکز زیاد بر محاسبات».

عبارت
Memory Heavy
نیز یعنی
«بار کاری با وابستگی زیاد به دسترسی حافظه».

تاثیر بر عملکرد — Performance Impact: اگر هر دو Thread یک منبع را بخواهند، سود SMT کاهش پیدا می کند

فرض کنید هر دو Thread
به شدت از واحدهای برداری
مشابه استفاده می کنند.

در این حالت
Thread دوم
الزاماً ظرفیت خالی زیادی پیدا نمی کند.

Thread A
+
Thread B
→
Same Bottleneck
→
Resource Contention

بنابراین سود SMT
به نوع Workload
وابستگی زیادی دارد.

چرا 8 Core و 16 Thread دو برابر 8 Core و 8 Thread نیست؟

چون دو Logical Processor
روی یک Physical Core
دو مجموعه کامل و مستقل
از منابع پردازشی ندارند.

آنها بخش قابل توجهی
از سخت افزار Core
را به اشتراک می گذارند.

بنابراین:

1 Core + SMT2
≠
2 Physical Cores

اشتباه رایج — Common Mistake: 8 Core / 16 Thread یعنی قدرت 16 Core

خیر.

عدد Thread
نباید به عنوان تعداد Core
تفسیر شود.

برای مقایسه پردازنده ها
باید حداقل موارد زیر
جداگانه بررسی شوند:

  • تعداد Physical Core،
  • تعداد Hardware Thread،
  • نوع Coreها،
  • ریزمعماری،
  • فرکانس،
  • Cache،
  • توان مصرفی،
  • و Performance واقعی در Workload مورد نظر.

Multi-Core و SMT چه تفاوتی دارند؟

ویژگی Multi-Core SMT
منبع اصلی افزایش موازی سازی افزودن Core فیزیکی استفاده بهتر از منابع Core موجود
Execution Resources هر Core منابع اجرایی خود را دارد بسیاری از منابع بین Threadهای یک Core مشترک هستند
ظرفیت پردازشی افزایش سخت افزاری بزرگ تر استفاده بهتر از ظرفیت بلااستفاده
هدف اصلی افزایش تعداد هسته های واقعی افزایش Utilization یک Core

Utilization چیست؟


میزان استفاده از منابع — Utilization

Utilization
یا «میزان استفاده از منابع»
نشان می دهد
چه مقدار از ظرفیت یک منبع
در حال استفاده است.

هدف SMT
در بسیاری از شرایط
افزایش Utilization
منابع داخلی Core است.

سیستم عامل SMT را چگونه می بیند؟

سیستم عامل
Logical Processorهای موجود
را شناسایی می کند
و Threadهای نرم افزاری
را روی آنها زمان بندی می کند.

اما Scheduler سیستم عامل
می تواند اطلاعاتی درباره
ساختار Coreها و ارتباط
Logical Processorها
با Coreهای فیزیکی داشته باشد.

Scheduler سیستم عامل چیست؟


زمان بند — Scheduler

Scheduler
یا «زمان بند»
بخشی از سیستم عامل است
که تصمیم می گیرد
کدام Thread
در چه زمانی
روی کدام پردازنده منطقی
اجرا شود.

Thread Scheduling چیست؟


زمان بندی رشته ها — Thread Scheduling

Thread Scheduling
یا «زمان بندی رشته ها»
فرایند تخصیص Threadهای آماده اجرا
به منابع پردازشی موجود است.

این موضوع
در CPUهای دارای:

  • چند Core،
  • SMT،
  • Coreهای ناهمگون،
  • و سیاست های مختلف مصرف انرژی

پیچیده تر می شود.

پشت صحنه فنی — Under the Hood: دو Thread را روی یک Core بگذاریم یا دو Core؟

فرض کنید دو Thread آماده اجرا داریم
و دو Core فیزیکی آزاد نیز وجود دارد.

در بسیاری از شرایط،
قرار دادن Threadها
روی دو Core فیزیکی جداگانه
منابع اجرایی بیشتری
در اختیار آنها قرار می دهد.

Thread A
→
Physical Core 1

Thread B
→
Physical Core 2

اما تصمیم واقعی Scheduler
می تواند به عواملی مانند
بار سیستم،
مصرف انرژی،
ساختار CPU،
Cache Locality
و سیاست سیستم عامل
وابسته باشد.

Cache Locality چیست؟


محلی بودن داده در Cache — Cache Locality

Cache Locality
در این Context
به مزیت باقی ماندن
داده و دستورهای مورد نیاز یک Thread
در Cacheهای نزدیک
به محل اجرای آن اشاره دارد.

جابه جایی مکرر Thread
میان Coreها
در بعضی شرایط
می تواند این مزیت را کاهش دهد.

Thread Migration چیست؟


مهاجرت رشته — Thread Migration

Thread Migration
یا «مهاجرت رشته»
یعنی انتقال اجرای یک Thread
از یک Core یا Logical Processor
به محل دیگری.

این کار ممکن است
برای مدیریت بار،
مصرف انرژی
یا دلایل دیگر انجام شود.

SMT چگونه می تواند روی Cache اثر بگذارد؟

اگر دو Thread روی یک Core
از Cacheهای مشترک استفاده کنند،
داده های هر Thread
می توانند بخشی از ظرفیت Cache
را اشغال کنند.

اگر Working Set هر دو Thread
بزرگ باشد،
رقابت بر سر Cache
ممکن است افزایش پیدا کند.


مجموعه داده فعال — Working Set

Working Set
یا «مجموعه داده فعال»
به داده ها و دستورهایی گفته می شود
که یک برنامه یا Thread
در یک بازه زمانی
به طور فعال
به آنها نیاز دارد.

Cache Thrashing چیست؟


جایگزینی شدید و مکرر داده در Cache — Cache Thrashing

Cache Thrashing
حالتی است
که داده های مورد نیاز
مرتباً یکدیگر را
از Cache خارج می کنند
و نرخ Miss افزایش پیدا می کند.

رقابت چند Workload
با Working Set بزرگ
می تواند یکی از شرایط
ایجاد چنین رفتاری باشد.

چرا Memory Stall می تواند فرصت خوبی برای SMT ایجاد کند؟

اگر Thread اول
منتظر داده ای از حافظه باشد،
ممکن است نتواند
تمام ظرفیت Core
را استفاده کند.

Thread دوم
می تواند در همین زمان
دستورهای آماده خود را
وارد واحدهای اجرایی کند.

Thread A:
Memory Stall

Thread B:
Useful Execution

این یکی از مثال های مهم
فلسفه SMT است.

ILP و TLP چه تفاوتی دارند؟


موازی سازی سطح دستور و سطح رشته

ILP
مخفف:

Instruction-Level Parallelism

و به معنی
«موازی سازی در سطح دستور»
است.

TLP
مخفف:

Thread-Level Parallelism

و به معنی
«موازی سازی در سطح رشته»
است.

مفهوم معنی منبع موازی سازی
ILP Instruction-Level Parallelism دستورهای مستقل یک جریان اجرا
TLP Thread-Level Parallelism چند Thread مستقل
SIMD Single Instruction Multiple Data چند عنصر داده برای یک عملیات مشابه

نکته مهندسی — Engineering Insight: CPU مدرن چند نوع Parallelism را همزمان ترکیب می کند

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

  • Out-of-Order Execution برای استخراج ILP،
  • SIMD برای Data-Level Parallelism،
  • SMT برای استفاده از چند Hardware Thread،
  • Multi-Core برای اجرای چند جریان روی Coreهای مختلف

استفاده کند.

Data-Level Parallelism
یا «موازی سازی در سطح داده»
یعنی انجام عملیات مشابه
روی چند داده.

SMT در چه Workloadهایی می تواند مفید باشد؟

میزان سود دقیق
به CPU و نرم افزار بستگی دارد،
اما SMT می تواند
در Workloadهایی که
تعداد Thread کافی دارند
مفید باشد؛ مانند:

  • رندر CPU در نرم افزارهای چند رشته ای،
  • کامپایل پروژه های بزرگ،
  • برخی Workloadهای سرور،
  • ماشین های مجازی،
  • برخی عملیات فشرده سازی،
  • پردازش داده،
  • برخی شبیه سازی ها،
  • اجرای همزمان چند برنامه سنگین،
  • برخی Workloadهای تولید محتوا.


ماشین مجازی — Virtual Machine

Virtual Machine
یا «ماشین مجازی»
محیط نرم افزاری ای است
که رفتار یک سیستم کامپیوتری
را به صورت مجازی فراهم می کند
و می تواند سیستم عامل
و برنامه های جداگانه اجرا کند.

چه زمانی سود SMT کم می شود؟

سود SMT می تواند کمتر شود
اگر:

  • برنامه فقط یک Thread فعال داشته باشد.
  • Core تقریباً تمام منابع خود را با یک Thread مصرف کند.
  • دو Thread برای منابع مشابه رقابت شدیدی داشته باشند.
  • Memory Bandwidth گلوگاه اصلی باشد.
  • Cache Contention افزایش پیدا کند.
  • نرم افزار مقیاس پذیری چند رشته ای مناسبی نداشته باشد.

Scalability چیست؟


مقیاس پذیری — Scalability

Scalability
یا «مقیاس پذیری»
در این Context
نشان می دهد
یک نرم افزار با اضافه شدن
منابع پردازشی بیشتر
تا چه اندازه می تواند
Performance بیشتری به دست آورد.

اشتباه رایج — Common Mistake: اگر Threadها را دو برابر کنیم، سرعت هم دو برابر می شود

خیر.

بخش هایی از برنامه
ممکن است قابل موازی سازی نباشند.

Threadها ممکن است
برای Cache،
Memory Bandwidth،
Lockها
یا منابع دیگر
رقابت کنند.

بنابراین Scaling واقعی
معمولاً کاملاً خطی نیست.

Lock چیست؟


قفل همگام سازی — Lock

Lock
یا «قفل»
سازوکاری برای کنترل
دسترسی همزمان چند Thread
به یک منبع مشترک است.

اگر Threadهای زیادی
مرتباً منتظر یک Lock باشند،
افزایش تعداد Threadها
الزاماً Performance را
افزایش نمی دهد.

Context Switch چیست؟


تعویض زمینه اجرایی — Context Switch

Context Switch
یا «تعویض زمینه اجرایی»
زمانی رخ می دهد
که CPU اجرای یک Thread یا Process
را متوقف کند
و اجرای مورد دیگری را ادامه دهد.

سیستم باید
اطلاعات لازم برای ادامه اجرای قبلی
را حفظ کند
و وضعیت اجرای جدید
را آماده کند.

SMT همان Context Switching سریع است؟

خیر.

در Context Switch،
سیستم اجرای یک Context
را با Context دیگری
جایگزین می کند.

اما در SMT،
چند Hardware Thread
می توانند همزمان
در یک Core حضور داشته باشند
و برای استفاده از منابع اجرایی
رقابت یا همکاری کنند.

چرا در Task Manager تعداد CPUها بیشتر از تعداد Coreها دیده می شود؟

در سیستم دارای SMT،
سیستم عامل
Logical Processorها را
به صورت منابع زمان بندی
مشاهده می کند.

بنابراین ممکن است مثلاً:

Cores: 8

Logical Processors: 16

مشاهده شود.

این دو عدد
دو مفهوم متفاوت دارند.

آیا اشتراک منابع SMT فقط مسئله Performance است؟

خیر.

اشتراک بعضی منابع ریزمعماری
میان Threadها
در برخی زمینه های امنیتی نیز
اهمیت دارد.

به همین دلیل
در بعضی محیط های بسیار حساس،
سیاست استفاده از SMT
می تواند علاوه بر Performance
با ملاحظات امنیتی نیز
بررسی شود.

جزئیات حملات Side-Channel
و روش های مقابله
موضوع مستقلی است
و باید جداگانه بررسی شود.


کانال جانبی — Side-Channel

Side-Channel
یا «کانال جانبی»
به روشی گفته می شود
که در آن اطلاعات
از رفتارهای جانبی یک سیستم،
مانند Timing
یا الگوهای استفاده از منابع،
استنباط می شوند
نه لزوماً از مسیر مستقیم
دسترسی به داده.

آیا خاموش کردن SMT همیشه Performance را بهتر می کند؟

خیر.

خاموش کردن SMT
می تواند در بعضی Workloadهای خاص
رفتار متفاوتی ایجاد کند،
اما در Workloadهای چند رشته ای دیگر
ممکن است Performance کاهش پیدا کند.

تصمیم درست
باید بر اساس:

  • نوع CPU،
  • نوع Workload،
  • سیستم عامل،
  • نیاز امنیتی،
  • مصرف انرژی،
  • و Benchmark واقعی

انجام شود.


آزمون سنجش عملکرد — Benchmark

Benchmark
یا «آزمون سنجش عملکرد»
آزمایشی است
که برای اندازه گیری
Performance سیستم
در یک شرایط مشخص
استفاده می شود.

Benchmark زمانی ارزشمندتر است
که Workload آن
به استفاده واقعی کاربر
نزدیک باشد.

نکته مهندسی — Engineering Insight: برای خرید CPU فقط Core و Thread را کنار هم نگذارید

مقایسه ای مانند:

CPU A:
8 Cores / 16 Threads

CPU B:
12 Cores / 12 Threads

به تنهایی مشخص نمی کند
کدام CPU سریع تر است.

باید معماری Core،
نوع Coreها،
IPC،
فرکانس،
Cache،
توان،
محدودیت حرارتی
و Benchmark نرم افزار مورد نظر
نیز بررسی شود.

جدول خلاصه مفاهیم SMT

مفهوم معنی فارسی توضیح
Physical Core هسته فیزیکی هسته واقعی سخت افزاری CPU
Hardware Thread رشته سخت افزاری Context سخت افزاری برای دنبال کردن یک جریان دستور
Logical Processor پردازنده منطقی منبع اجرایی قابل مشاهده برای سیستم عامل
SMT چند رشته ای همزمان اجرای چند Hardware Thread روی یک Core
Hyper-Threading نام تجاری فناوری SMT اینتل پیاده سازی SMT در بسیاری از CPUهای Intel
Resource Sharing اشتراک منابع استفاده چند Thread از منابع مشترک Core
Resource Contention رقابت بر سر منابع رقابت Threadها برای یک منبع محدود
Thread Scheduling زمان بندی رشته ها انتخاب محل و زمان اجرای Threadها
Thread Migration مهاجرت رشته انتقال Thread بین منابع پردازشی
Working Set مجموعه داده فعال داده و دستورهای مورد استفاده فعال برنامه

اشتباهات رایج — Common Mistakes: SMT و Hyper-Threading
  • یکی دانستن Core و Thread.
  • فرض اینکه 8 Core / 16 Thread یعنی 16 Core واقعی.
  • فرض اینکه SMT Performance را دو برابر می کند.
  • یکی دانستن SMT و Multi-Core.
  • یکی دانستن SMT و Context Switching.
  • فرض اینکه Hyper-Threading نام عمومی تمام SMTها است.
  • نادیده گرفتن Resource Contention.
  • نادیده گرفتن Cache Contention.
  • فرض اینکه Thread دوم منابع اجرایی کاملاً مستقل دارد.
  • فرض اینکه SMT در تمام نرم افزارها سود یکسانی دارد.
  • فرض اینکه خاموش کردن SMT همیشه بهتر است.
  • مقایسه CPU فقط با تعداد Thread.
  • نادیده گرفتن Scheduler سیستم عامل.
  • نادیده گرفتن Thread Migration و Cache Locality.
  • فرض اینکه افزایش Thread همیشه Scaling خطی ایجاد می کند.

سوالات متداول درباره SMT و Hyper-Threading

SMT چیست؟

Simultaneous Multithreading
یا «چند رشته ای همزمان»
تکنیکی برای اجرای چند Hardware Thread
روی یک Core فیزیکی است.

Hyper-Threading چیست؟

نام تجاری Intel
برای فناوری SMT
در بسیاری از پردازنده های این شرکت است.

آیا هر Thread یک Core واقعی است؟

خیر.
Hardware Thread و Physical Core
دو مفهوم متفاوت هستند.

8 Core و 16 Thread یعنی چه؟

در حالت معمول چنین مشخصاتی
می تواند به معنی 8 هسته فیزیکی
با دو Hardware Thread
برای هر Core باشد.

آیا SMT سرعت CPU را دو برابر می کند؟

خیر.
Threadهای SMT
بسیاری از منابع Core
را با یکدیگر به اشتراک می گذارند.

SMT چه زمانی مفید است؟

زمانی که Thread اول
نتواند تمام منابع Core را استفاده کند
و Thread دیگری
بتواند از ظرفیت آزاد
بهره ببرد.

Resource Contention چیست؟

رقابت چند Thread
برای استفاده از یک منبع
سخت افزاری محدود است.

SMT و Multi-Core چه تفاوتی دارند؟

Multi-Core تعداد Coreهای فیزیکی را افزایش می دهد،
اما SMT تلاش می کند
از منابع یک Core موجود
بهتر استفاده کند.

چرا سیستم عامل Logical Processor بیشتری نشان می دهد؟

زیرا هر Hardware Thread
می تواند به صورت
یک Logical Processor
برای Scheduler سیستم عامل
قابل مشاهده باشد.

آیا خاموش کردن Hyper-Threading سرعت را بیشتر می کند؟

نه به صورت عمومی.
نتیجه به CPU،
Workload
و شرایط استفاده بستگی دارد.

آیا SMT فقط در لپ تاپ استفاده می شود؟

خیر.
مفهوم SMT می تواند
در پردازنده های دسکتاپ،
ورک استیشن،
سرور
و خانواده های مختلف پردازنده
مورد استفاده قرار گیرد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Thread: رشته اجرایی؛ یک جریان اجرای دستور.
  • Process: فرایند؛ نمونه در حال اجرای یک برنامه.
  • Context: وضعیت و اطلاعات لازم برای دنبال کردن یک جریان اجرا.
  • Hardware Thread: رشته سخت افزاری قابل دنبال کردن توسط CPU.
  • Physical Core: هسته فیزیکی واقعی پردازنده.
  • Logical Processor: پردازنده منطقی قابل مشاهده برای سیستم عامل.
  • SMT: Simultaneous Multithreading؛ چند رشته ای همزمان.
  • Hyper-Threading: نام تجاری Intel برای فناوری SMT.
  • SMT2: پشتیبانی دو Hardware Thread توسط هر Core.
  • SMT4: پشتیبانی چهار Hardware Thread توسط هر Core.
  • Resource Sharing: اشتراک منابع.
  • Resource Contention: رقابت بر سر منابع محدود.
  • Utilization: میزان استفاده از ظرفیت یک منبع.
  • Scheduler: زمان بند سیستم عامل.
  • Thread Scheduling: زمان بندی رشته های اجرایی.
  • Cache Locality: محلی بودن داده مورد نیاز در Cache نزدیک.
  • Thread Migration: انتقال اجرای Thread میان منابع پردازشی.
  • Working Set: مجموعه داده و دستورهای فعال برنامه.
  • Cache Thrashing: جایگزینی شدید داده و افزایش Cache Miss.
  • ILP: Instruction-Level Parallelism؛ موازی سازی سطح دستور.
  • TLP: Thread-Level Parallelism؛ موازی سازی سطح رشته.
  • Data-Level Parallelism: موازی سازی در سطح داده.
  • Scalability: مقیاس پذیری با افزایش منابع پردازشی.
  • Lock: قفل برای کنترل دسترسی همزمان به منبع مشترک.
  • Context Switch: تعویض زمینه اجرایی.
  • Virtual Machine: ماشین مجازی.
  • Side-Channel: کانال جانبی.
  • Benchmark: آزمون سنجش عملکرد.
  • Compute Heavy: بار کاری با تمرکز زیاد بر محاسبات.
  • Memory Heavy: بار کاری با وابستگی زیاد به حافظه.

خلاصه فصل

SMT یک Core فیزیکی جدید
ایجاد نمی کند.

هدف آن
استفاده بهتر از منابع
Core موجود است.

One Physical Core
→
Multiple Hardware Threads
→
Shared Execution Resources

اگر Thread اول
نتواند تمام ظرفیت Core
را استفاده کند،
Thread دوم ممکن است
بخشی از ظرفیت آزاد را
به کار بگیرد.

اما اگر هر دو Thread
به منابع مشابه نیاز داشته باشند،
Resource Contention
می تواند سود SMT را کاهش دهد.

بنابراین:

More Threads
≠
Proportionally More Performance

مهم ترین قانون این فصل:


Thread بیشتر به معنی Core بیشتر نیست؛
SMT روشی برای استفاده بهتر
از منابع هسته فیزیکی موجود است،
نه جایگزینی کامل برای هسته های فیزیکی بیشتر.


فصل 69
سطح: متوسط تا پیشرفته
موضوع: پردازنده های چند هسته ای و مقیاس پذیری
تمرکز: Multi-Core / Scaling / Parallelism / Amdahl’s Law

اگر تعداد Coreهای CPU را دو برابر کنیم، آیا سرعت برنامه هم دو برابر می شود؟

Multi-Core چیست؟ چرا افزایش تعداد هسته همیشه Performance را به همان نسبت افزایش نمی دهد؟

یکی از ساده ترین روش های مقایسه پردازنده ها
نگاه کردن به تعداد Core است.
اما تعداد هسته به تنهایی
نمی تواند Performance واقعی یک CPU را مشخص کند.

برای استفاده از چند Core،
نرم افزار باید بتواند
بخشی از کار خود را
به چند Thread یا Task مستقل تقسیم کند.

حتی در برنامه های چند رشته ای نیز
معمولاً تمام بخش های برنامه
به یک اندازه قابل موازی سازی نیستند.

همین موضوع ما را
به یکی از مهم ترین قوانین
تحلیل پردازش موازی می رساند:
قانون آمدال یا Amdahl’s Law.

در این فصل چه چیزهایی یاد می گیریم؟

  • Multi-Core چیست.
  • Single-Core و Multi-Core چه تفاوتی دارند.
  • Parallel Execution چیست.
  • Serial Execution چیست.
  • Parallel Portion و Serial Portion چیست.
  • Scaling چیست.
  • Linear Scaling چیست.
  • Speedup چیست.
  • Efficiency چیست.
  • Amdahl’s Law چیست.
  • چرا بخش کوچک Serial می تواند محدودیت بزرگی ایجاد کند.
  • Diminishing Returns چیست.
  • Strong Scaling و Weak Scaling چیست.
  • Synchronization چیست.
  • Synchronization Overhead چیست.
  • Load Balancing چیست.
  • چرا تعداد Core بیشتر همیشه بهتر نیست.
  • چگونه تعداد هسته را برای Workload واقعی تفسیر کنیم.

Multi-Core چیست؟


پردازنده چند هسته ای — Multi-Core Processor

Multi-Core Processor
یا «پردازنده چند هسته ای»
پردازنده ای است که
بیش از یک Core فیزیکی
در اختیار دارد.

هر Core
می تواند جریان اجرای دستور
مخصوص خود را دنبال کند
و در نتیجه چند Core
می توانند بخشی از کارها را
به صورت همزمان انجام دهند.

Single-Core چیست؟


پردازنده تک هسته ای — Single-Core Processor

Single-Core Processor
یا «پردازنده تک هسته ای»
دارای یک Core فیزیکی است.

البته یک Core مدرن
می تواند داخل خود
چندین دستور را با تکنیک هایی مانند
Out-of-Order Execution
و Superscalar Execution
مدیریت کند،
اما همچنان فقط یک Core فیزیکی است.

پشت صحنه فنی — Under the Hood: چند Core چگونه کار را تقسیم می کنند؟

فرض کنید یک برنامه
چهار Task مستقل دارد.

Task
یعنی «وظیفه یا بخش مشخصی از کار».

Task A
→
Core 1

Task B
→
Core 2

Task C
→
Core 3

Task D
→
Core 4

اگر این چهار Task
واقعاً مستقل باشند،
می توانند تا حد زیادی
به صورت همزمان اجرا شوند.

اما اگر Task B
برای شروع
به نتیجه Task A نیاز داشته باشد،
امکان اجرای کاملاً همزمان
کاهش پیدا می کند.

Parallel Execution چیست؟


اجرای موازی — Parallel Execution

Parallel Execution
یا «اجرای موازی»
یعنی چند بخش از یک کار
در یک بازه زمانی مشابه
روی منابع پردازشی مختلف
اجرا شوند.

Serial Execution چیست؟


اجرای ترتیبی — Serial Execution

Serial Execution
یا «اجرای ترتیبی»
یعنی عملیات باید
به ترتیب مشخصی
یکی پس از دیگری انجام شوند.

Step A
→
Step B
→
Step C
→
Step D

اگر Step B
به نتیجه Step A نیاز داشته باشد،
نمی توان آن را
کاملاً مستقل و همزمان
با Step A اجرا کرد.

نوع اجرا معنی فارسی رفتار
Serial ترتیبی بخش های کار وابسته و پشت سر هم اجرا می شوند
Parallel موازی چند بخش مستقل می توانند همزمان اجرا شوند

Serial Portion چیست؟


بخش ترتیبی برنامه — Serial Portion

Serial Portion
یا «بخش ترتیبی برنامه»
قسمتی از Workload است
که نمی توان آن را
به شکل موثر
بین چند منبع پردازشی
تقسیم کرد.

Parallel Portion چیست؟


بخش قابل موازی سازی — Parallel Portion

Parallel Portion
یا «بخش قابل موازی سازی»
قسمتی از Workload است
که می توان آن را
میان چند Core یا Thread
تقسیم کرد.

پشت صحنه فنی — Under the Hood: اگر 80 درصد برنامه قابل موازی سازی باشد چه می شود؟

فرض کنید زمان اجرای برنامه
روی یک Core
100 ثانیه باشد.

از این زمان:

Parallel Portion = 80%

Serial Portion = 20%

بخش 80 ثانیه ای
می تواند از Coreهای بیشتر
استفاده کند،
اما بخش 20 ثانیه ای
همچنان محدودیت مهمی
برای سرعت کل برنامه ایجاد می کند.

Scaling چیست؟


مقیاس پذیری عملکرد — Performance Scaling

Scaling
یا «مقیاس پذیری عملکرد»
توضیح می دهد
Performance یک Workload
با افزایش منابع پردازشی
چگونه تغییر می کند.

برای مثال:

2 Cores
→
4 Cores
→
8 Cores
→
16 Cores

سوال اصلی این است:
آیا Performance
به همان نسبت افزایش پیدا می کند؟

Linear Scaling چیست؟


مقیاس پذیری خطی — Linear Scaling

Linear Scaling
یا «مقیاس پذیری خطی»
حالتی ایده آل است
که افزایش منابع پردازشی
تقریباً به همان نسبت
Performance را افزایش دهد.

مثال ایده آل:

1 Core
→
1× Performance

2 Cores
→
2× Performance

4 Cores
→
4× Performance

8 Cores
→
8× Performance

در دنیای واقعی
چنین Scaling کاملی
معمولاً برای کل یک برنامه
اتفاق نمی افتد.

Speedup چیست؟


ضریب افزایش سرعت — Speedup

Speedup
یا «ضریب افزایش سرعت»
نشان می دهد اجرای جدید
نسبت به اجرای مرجع
چند برابر سریع تر شده است.

اگر یک کار
روی یک Core
100 ثانیه
و روی چهار Core
25 ثانیه طول بکشد:

Speedup
=
100 / 25
=
4×

Parallel Efficiency چیست؟


بازده موازی سازی — Parallel Efficiency

Parallel Efficiency
یا «بازده موازی سازی»
نشان می دهد
منابع اضافه شده
با چه میزان کارایی
به افزایش Performance
تبدیل شده اند.

به صورت ساده:

Efficiency
=
Speedup / Number of Processing Units

نکته مهندسی — Engineering Insight: چهار Core و Speedup سه برابر یعنی چه؟

اگر با استفاده از چهار Core
Performance سه برابر شود:

Efficiency
=
3 / 4
=
0.75
=
75%

یعنی به صورت مفهومی
75 درصد از ظرفیت افزایش منابع
به Speedup تبدیل شده است.

قانون Amdahl چیست؟


قانون آمدال — Amdahl’s Law

Amdahl’s Law
یا «قانون آمدال»
نشان می دهد
Speedup کل یک برنامه
توسط بخشی از برنامه
که قابل موازی سازی نیست
محدود می شود.

شکل ساده رابطه:

Speedup =
1 /
((1 – P) + (P / N))

در این رابطه:

  • P = سهم قابل موازی سازی برنامه
  • 1 – P = سهم ترتیبی برنامه
  • N = تعداد واحدهای پردازشی مورد استفاده

پشت صحنه فنی — Under the Hood: محاسبه قانون آمدال با یک مثال واقعی

فرض کنیم:

P = 0.80

یعنی 80 درصد برنامه
قابل موازی سازی است.

حالا از چهار Core استفاده می کنیم:

N = 4

بنابراین:

Speedup =
1 /
((1 – 0.80) + (0.80 / 4))

=
1 /
(0.20 + 0.20)

=
2.5×

بنابراین با وجود چهار Core،
Speedup نظری این مثال
فقط 2.5 برابر است،
نه چهار برابر.

اگر تعداد Core را بی نهایت کنیم چه می شود؟

این بخش
یکی از مهم ترین نتایج قانون آمدال است.

اگر تعداد Coreها
بسیار بسیار زیاد شود:

P / N
→
0

بنابراین محدودیت اصلی
بخش Serial باقی می ماند.

اگر 20 درصد برنامه
Serial باشد:

Maximum Theoretical Speedup
=
1 / 0.20
=
5×

یعنی حتی با تعداد بسیار زیادی Core،
Speedup نظری کل برنامه
نمی تواند از پنج برابر
فراتر برود؛
البته با فرض مدل ساده قانون آمدال.

نکته مهندسی — Engineering Insight: گاهی بهینه کردن بخش Serial مهم تر از اضافه کردن Core است

اگر بخش Serial
گلوگاه اصلی برنامه باشد،
اضافه کردن Coreهای بیشتر
به بخش Parallel
سود کمتری ایجاد می کند.

Large Serial Bottleneck
+
More Cores
→
Limited Additional Speedup

در چنین شرایطی
کاهش زمان بخش Serial
می تواند از اضافه کردن
تعداد زیادی Core
موثرتر باشد.

Diminishing Returns چیست؟


بازده نزولی — Diminishing Returns

Diminishing Returns
یا «بازده نزولی»
یعنی با اضافه شدن منابع بیشتر،
میزان سود حاصل از
هر واحد منبع جدید
کاهش پیدا کند.

برای مثال ممکن است:

2 → 4 Cores
=
Large Gain

4 → 8 Cores
=
Good Gain

8 → 16 Cores
=
Smaller Gain

16 → 32 Cores
=
Even Smaller Gain

البته این فقط یک مثال مفهومی است
و رفتار واقعی
به Workload بستگی دارد.

چه چیزهایی مانع Scaling کامل می شوند؟

  • وجود بخش Serial در برنامه
  • وابستگی بین Taskها
  • Synchronization
  • Lock Contention
  • Cache Contention
  • Memory Bandwidth محدود
  • Communication Overhead
  • Load Imbalance
  • Thread Scheduling Overhead
  • بخش هایی که اصولاً قابل موازی سازی نیستند

Synchronization چیست؟


همگام سازی — Synchronization

Synchronization
یا «همگام سازی»
مجموعه روش هایی است
که برای هماهنگ کردن
اجرای چند Thread
استفاده می شود.

برای مثال ممکن است
Thread B مجبور باشد
منتظر تکمیل بخشی از کار
توسط Thread A بماند.

Synchronization Overhead چیست؟


سربار همگام سازی — Synchronization Overhead

Synchronization Overhead
یا «سربار همگام سازی»
هزینه زمانی و پردازشی
ناشی از هماهنگی Threadها است.

هرچه Threadها
بیشتر مجبور باشند
منتظر یکدیگر بمانند،
بخشی از سود موازی سازی
از بین می رود.


سربار — Overhead

Overhead
یا «سربار»
به هزینه اضافی
برای مدیریت یا انجام یک فرایند گفته می شود
که مستقیماً بخش اصلی کار مفید نیست.

ایجاد Thread،
هماهنگی،
ارتباط،
زمان بندی
و جابه جایی داده
می توانند Overhead ایجاد کنند.

Communication Overhead چیست؟


سربار ارتباطی — Communication Overhead

Communication Overhead
یا «سربار ارتباطی»
هزینه ای است که
برای انتقال یا هماهنگ کردن اطلاعات
میان بخش های مختلف اجرای موازی
ایجاد می شود.

Load Balancing چیست؟


متعادل سازی بار — Load Balancing

Load Balancing
یا «متعادل سازی بار»
یعنی تقسیم کار
به شکلی که منابع پردازشی
تا حد امکان
مقدار مناسبی از کار
دریافت کنند.

Load Imbalance چیست؟


نامتعادل بودن بار — Load Imbalance

Load Imbalance
یا «نامتعادل بودن بار»
زمانی رخ می دهد
که کار به صورت متوازن
میان منابع پردازشی
تقسیم نشده باشد.

ممکن است یک Core
هنوز مشغول باشد
در حالی که چند Core دیگر
کار خود را تمام کرده اند.

پشت صحنه فنی — Under the Hood: چرا تقسیم کار برابر مهم است؟

فرض کنید چهار Core داریم.

تقسیم نامناسب:

Core 1 = 70 units of work

Core 2 = 10 units

Core 3 = 10 units

Core 4 = 10 units

سه Core زودتر تمام می کنند
و باید منتظر Core اول بمانند.

تقسیم متعادل تر:

Core 1 = 25 units

Core 2 = 25 units

Core 3 = 25 units

Core 4 = 25 units

در حالت دوم
امکان استفاده موثرتر
از چهار Core وجود دارد.

Strong Scaling چیست؟


مقیاس پذیری با حجم کار ثابت — Strong Scaling

Strong Scaling
یا «مقیاس پذیری با حجم کار ثابت»
بررسی می کند
یک Workload با اندازه ثابت
با افزایش منابع پردازشی
چقدر سریع تر اجرا می شود.

Same Workload
+
More Processing Resources
→
How Much Faster?

Weak Scaling چیست؟


مقیاس پذیری با افزایش همزمان حجم کار — Weak Scaling

Weak Scaling
یا «مقیاس پذیری با افزایش همزمان حجم کار»
بررسی می کند
اگر همراه با افزایش منابع پردازشی،
اندازه Workload نیز افزایش یابد،
سیستم چگونه رفتار می کند.

هدف معمول این است
که مقدار کار
به ازای هر واحد پردازشی
تقریباً ثابت بماند.

روش حجم کل Workload سوال اصلی
Strong Scaling ثابت با Core بیشتر همین کار چقدر سریع تر تمام می شود؟
Weak Scaling با منابع افزایش می یابد با افزایش همزمان کار و منابع، Performance چگونه حفظ می شود؟

آیا قانون Amdahl تمام داستان پردازش موازی است؟

خیر.

قانون Amdahl
برای فهم محدودیت Speedup
در یک مسئله با اندازه مشخص
بسیار مهم است.

اما در برخی کاربردها،
وقتی منابع بیشتری داریم،
به جای اجرای همان مسئله،
مسئله بزرگ تری را حل می کنیم.

این دیدگاه
ما را به مفهوم دیگری
به نام:
Gustafson’s Law یا «قانون گوستافسون»
می رساند.


قانون گوستافسون — Gustafson’s Law

Gustafson’s Law
یا «قانون گوستافسون»
به پردازش موازی
از دید افزایش اندازه مسئله
همراه با افزایش منابع
نگاه می کند.

یعنی منابع بیشتر
همیشه فقط برای
سریع تر کردن یک کار ثابت
استفاده نمی شوند؛
گاهی برای حل
مسئله بزرگ تر یا دقیق تر
به کار می روند.

نکته مهندسی — Engineering Insight: منابع بیشتر گاهی کیفیت یا اندازه مسئله را افزایش می دهند، نه فقط سرعت را

فرض کنید یک شبیه سازی مهندسی
روی 8 Core
با یک شبکه محاسباتی مشخص
اجرا می شود.

اگر 64 Core در اختیار داشته باشیم،
ممکن است هدف فقط این نباشد
که همان شبیه سازی
سریع تر تمام شود.

می توان:

  • Resolution یا «تفکیک پذیری» شبیه سازی را افزایش داد،
  • تعداد عناصر محاسباتی را بیشتر کرد،
  • مدل بزرگ تری را بررسی کرد،
  • یا تعداد سناریوهای بیشتری را همزمان اجرا کرد.

بنابراین ارزش Core بیشتر
همیشه فقط در کاهش زمان
یک Workload ثابت خلاصه نمی شود.

نرم افزارهای واقعی چگونه از Core بیشتر استفاده می کنند؟

رفتار نرم افزارها
بسیار متفاوت است.

بعضی Workloadها
ذاتاً Parallel هستند
و می توانند از Coreهای زیاد
استفاده کنند.

بعضی دیگر
ترکیبی از بخش های
Serial و Parallel هستند.

بعضی برنامه ها نیز
در بخش مهمی از کار
به Performance یک یا چند Core
وابستگی بیشتری دارند.

رندر CPU چگونه از Coreهای بیشتر استفاده می کند؟

بسیاری از موتورهای
CPU Rendering
می توانند بخش های زیادی
از عملیات رندر را
میان Threadهای متعدد
تقسیم کنند.

به همین دلیل
Workloadهای رندر CPU
معمولاً از نمونه های مناسب
برای استفاده از پردازنده های
چند هسته ای هستند.

البته Scaling
همچنان می تواند
تحت تاثیر حافظه،
Synchronization،
نوع موتور رندر
و سایر محدودیت ها قرار گیرد.

کامپایل چگونه از چند Core استفاده می کند؟

در پروژه های نرم افزاری بزرگ،
ممکن است چند فایل یا بخش مستقل
به صورت همزمان
کامپایل شوند.

بنابراین Build System
می تواند چند Job
را روی Coreهای مختلف اجرا کند.

Build System
یا «سامانه ساخت»
ابزاری است که
فرایند تبدیل کد منبع
به خروجی قابل اجرا
یا سایر فایل های مورد نیاز پروژه
را مدیریت می کند.

Job
در اینجا یعنی
«یک واحد یا وظیفه مستقل از فرایند ساخت».

اما مرحله هایی مانند
Linking
ممکن است رفتار متفاوتی داشته باشند.

Linking
یا «پیونددهی»
مرحله ای است که
بخش های کامپایل شده
برای تولید خروجی نهایی
به یکدیگر متصل می شوند.

بازی ها چگونه از Coreهای بیشتر استفاده می کنند؟

موتورهای بازی مدرن
می توانند بخش هایی مانند:

  • فیزیک،
  • هوش مصنوعی،
  • صوت،
  • Streaming داده،
  • آماده سازی دستورات گرافیکی،
  • و بعضی سیستم های داخلی موتور

را میان Threadهای مختلف
تقسیم کنند.

اما همه بخش های یک Frame
الزاماً کاملاً مستقل نیستند.

Frame
یا «فریم»
یک تصویر کامل
از دنباله تصاویر نمایش داده شده
در بازی یا محتوای تصویری است.

به همین دلیل
اضافه کردن Core
پس از یک نقطه
ممکن است سود کمتری
برای نرخ فریم ایجاد کند.

نرم افزارهای مهندسی چطور؟

عبارت «نرم افزار مهندسی»
یک دسته بسیار گسترده است.

بخش های مختلف نرم افزارهای:

  • CAD،
  • CAE،
  • شبیه سازی،
  • تحلیل اجزای محدود،
  • دینامیک سیالات محاسباتی،
  • رندر،
  • و مدل سازی سه بعدی

می توانند رفتار بسیار متفاوتی
در استفاده از Coreها داشته باشند.

بنابراین برای انتخاب CPU
باید خود Workload
و حتی مرحله خاصی از نرم افزار
بررسی شود.


چند اصطلاح مهم نرم افزارهای مهندسی

CAD
مخفف
Computer-Aided Design
و به معنی
«طراحی به کمک کامپیوتر» است.

CAE
مخفف
Computer-Aided Engineering
و به معنی
«مهندسی به کمک کامپیوتر» است.

FEA
مخفف
Finite Element Analysis
و به معنی
«تحلیل اجزای محدود» است.

CFD
مخفف
Computational Fluid Dynamics
و به معنی
«دینامیک سیالات محاسباتی» است.

چرا سرورها معمولاً از Coreهای زیاد استفاده می کنند؟

سرورها ممکن است
تعداد زیادی درخواست،
Process،
Thread،
Container
یا Virtual Machine
را همزمان اجرا کنند.

Container
یا «محفظه نرم افزاری»
محیطی ایزوله برای اجرای برنامه
همراه با وابستگی های مورد نیاز آن است.

در چنین شرایطی
حتی اگر یک Task منفرد
از ده ها Core استفاده نکند،
تعداد زیاد Workloadهای همزمان
می تواند از Coreهای بیشتر
بهره ببرد.

آیا برای استفاده عمومی همیشه CPU با Core بیشتر بهتر است؟

نه لزوماً.

برای مرور وب،
کارهای اداری،
اجرای نرم افزارهای سبک
و بسیاری از استفاده های عمومی،
پس از رسیدن به تعداد مناسبی Core،
Performance هر Core،
پاسخ دهی سیستم،
حافظه،
Storage
و عوامل دیگر
می توانند اهمیت بیشتری پیدا کنند.

چرا تعداد Core در لپ تاپ، مینی کامپیوتر و دستگاه های کم مصرف باید با احتیاط تفسیر شود؟

تعداد Core
فقط یکی از مشخصات CPU است.

در دستگاه های دارای محدودیت توان و خنک سازی،
اجرای همزمان تعداد زیادی Core
می تواند مصرف انرژی
و گرمای بیشتری ایجاد کند.

در نتیجه Performance پایدار
به طراحی سیستم خنک کننده،
محدودیت توان،
دمای محیط
و سیاست مدیریت انرژی
نیز بستگی دارد.


عملکرد پایدار — Sustained Performance

Sustained Performance
یا «عملکرد پایدار»
Performance قابل حفظ
در یک بازه زمانی طولانی تر
تحت بار کاری مداوم است.

یک CPU ممکن است
برای مدت کوتاهی
Performance بسیار بالایی داشته باشد
اما تحت بار طولانی
به دلیل محدودیت توان یا دما
در سطح پایین تری پایدار شود.

Thermal Throttling چیست؟


کاهش عملکرد برای کنترل دما — Thermal Throttling

Thermal Throttling
به کاهش فرکانس
یا Performance پردازنده
برای کنترل دما
و باقی ماندن در محدوده های ایمن
گفته می شود.

بنابراین در Workloadهای
چند هسته ای طولانی،
سیستم خنک کننده
می تواند روی Performance واقعی
اثر مهمی داشته باشد.

اشتباه رایج — Common Mistake: پردازنده 16 هسته ای حتماً دو برابر پردازنده 8 هسته ای سریع است

چنین نتیجه گیری ای
فقط از روی Core Count
صحیح نیست.

دو پردازنده ممکن است
در موارد زیر متفاوت باشند:

  • ریزمعماری،
  • IPC،
  • فرکانس،
  • نوع Core،
  • Cache،
  • Memory Subsystem،
  • توان مصرفی،
  • خنک سازی،
  • و میزان استفاده نرم افزار از چند Core.

Single-Thread Performance و Multi-Thread Performance چه تفاوتی دارند؟

مفهوم معنی فارسی تمرکز
Single-Thread Performance عملکرد تک رشته ای سرعت اجرای یک جریان کاری اصلی
Multi-Thread Performance عملکرد چند رشته ای توان پردازنده در اجرای چند Thread قابل استفاده

تاثیر بر انتخاب سیستم — Performance Impact: Core بیشتر برای چه کسی ارزش بیشتری دارد؟

Core بیشتر معمولاً زمانی ارزش بیشتری دارد
که Workload بتواند
از Parallelism بیشتری استفاده کند.

نمونه ها می توانند شامل:

  • CPU Rendering،
  • کامپایل پروژه های بزرگ،
  • برخی شبیه سازی های علمی و مهندسی،
  • برخی عملیات Encoding،
  • اجرای چند Virtual Machine،
  • سرورها،
  • پردازش های Batch،
  • و Multitasking سنگین

باشند.

Encoding
یا «کدگذاری»
فرایند تبدیل داده
به قالب یا نمایش مشخصی است؛
برای مثال تبدیل ویدئو
به یک Codec مشخص.

Batch Processing
یا «پردازش دسته ای»
یعنی اجرای مجموعه ای از کارها
به صورت گروهی
و معمولاً با دخالت مستقیم کمتر کاربر.

Multitasking
یا «اجرای همزمان چند کار»
به استفاده همزمان
از چند برنامه یا وظیفه
در سیستم گفته می شود.

هنگام انتخاب CPU تعداد Core را چگونه تفسیر کنیم؟

به جای پرسیدن:


«کدام CPU Core بیشتری دارد؟»

بهتر است بپرسیم:

  1. نرم افزار من چند Thread را به شکل موثر استفاده می کند؟
  2. بخش مهم Workload من Serial است یا Parallel؟
  3. Performance تک هسته ای چقدر اهمیت دارد؟
  4. آیا Memory Bandwidth گلوگاه می شود؟
  5. آیا Workload طولانی و پیوسته است؟
  6. توان و خنک سازی سیستم برای استفاده پایدار از Coreها کافی است؟
  7. Benchmark واقعی نرم افزار مورد نظر چه می گوید؟

اشتباهات رایج — Common Mistakes: Multi-Core و Scaling
  • فرض اینکه دو برابر شدن Core یعنی دو برابر شدن Performance.
  • نادیده گرفتن بخش Serial برنامه.
  • فرض اینکه همه نرم افزارها Multi-Core Scaling مشابه دارند.
  • یکی دانستن Core و Thread.
  • نادیده گرفتن Synchronization Overhead.
  • نادیده گرفتن Memory Bandwidth.
  • نادیده گرفتن Cache Contention.
  • نادیده گرفتن Load Imbalance.
  • فرض اینکه Scaling همیشه خطی است.
  • نادیده گرفتن Diminishing Returns.
  • مقایسه CPU فقط با Core Count.
  • نادیده گرفتن Single-Thread Performance.
  • نادیده گرفتن توان و خنک سازی.
  • فرض اینکه Benchmark چند هسته ای نماینده تمام Workloadها است.

سوالات متداول درباره Multi-Core و مقیاس پذیری

Multi-Core چیست؟

پردازنده Multi-Core
بیش از یک Core فیزیکی دارد
و می تواند چند جریان کاری
را روی Coreهای مختلف اجرا کند.

آیا دو برابر شدن تعداد Core سرعت را دو برابر می کند؟

معمولاً خیر.
نتیجه به میزان Parallel بودن Workload
و محدودیت های دیگر سیستم بستگی دارد.

Serial Portion چیست؟

بخشی از برنامه است
که نمی تواند به شکل موثر
بین چند منبع پردازشی
تقسیم شود.

Parallel Portion چیست؟

بخشی از Workload است
که امکان تقسیم آن
میان چند Core یا Thread
وجود دارد.

قانون Amdahl چیست؟

قانونی است که نشان می دهد
بخش غیرقابل موازی سازی برنامه
حداکثر Speedup قابل دستیابی
از پردازش موازی را محدود می کند.

Linear Scaling چیست؟

حالت ایده آلی است
که Performance
تقریباً متناسب با
افزایش منابع پردازشی
افزایش پیدا کند.

Diminishing Returns چیست؟

یعنی با افزایش منابع بیشتر،
سود حاصل از هر واحد منبع جدید
کاهش پیدا کند.

Strong Scaling چیست؟

بررسی افزایش Performance
برای یک Workload با اندازه ثابت
هنگام افزایش منابع پردازشی است.

Weak Scaling چیست؟

بررسی رفتار سیستم
زمانی است که همراه با افزایش منابع،
اندازه Workload نیز افزایش پیدا می کند.

چرا بعضی نرم افزارها از Core بیشتر سود زیادی نمی برند؟

ممکن است بخش Serial بزرگی داشته باشند،
Synchronization زیاد باشد،
Memory Bandwidth محدود شود
یا الگوریتم آنها
قابلیت Parallelization محدودی داشته باشد.

برای بازی Core بیشتر مهم تر است یا Core سریع تر؟

پاسخ به بازی و موتور آن بستگی دارد.
بازی های مدرن می توانند از چند Core استفاده کنند،
اما Performance تک رشته ای
و سرعت Threadهای مهم موتور
همچنان می تواند اهمیت زیادی داشته باشد.

برای رندر CPU Core بیشتر مفید است؟

در بسیاری از موتورهای رندر CPU بله،
زیرا بخش بزرگی از کار
قابلیت تقسیم میان Threadهای متعدد را دارد؛
اما Scaling واقعی باید
برای نرم افزار و موتور رندر مورد نظر بررسی شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Multi-Core Processor: پردازنده چند هسته ای.
  • Single-Core Processor: پردازنده تک هسته ای.
  • Task: وظیفه یا بخش مشخصی از کار.
  • Parallel Execution: اجرای موازی.
  • Serial Execution: اجرای ترتیبی.
  • Serial Portion: بخش ترتیبی و غیرقابل موازی سازی برنامه.
  • Parallel Portion: بخش قابل موازی سازی برنامه.
  • Scaling: نحوه افزایش Performance با افزایش منابع.
  • Linear Scaling: مقیاس پذیری خطی.
  • Speedup: ضریب افزایش سرعت.
  • Parallel Efficiency: بازده موازی سازی.
  • Amdahl’s Law: قانون آمدال.
  • Diminishing Returns: بازده نزولی.
  • Synchronization: همگام سازی Threadها.
  • Synchronization Overhead: سربار همگام سازی.
  • Overhead: سربار.
  • Communication Overhead: سربار ارتباطی.
  • Load Balancing: متعادل سازی بار.
  • Load Imbalance: نامتعادل بودن بار.
  • Strong Scaling: مقیاس پذیری با حجم کار ثابت.
  • Weak Scaling: مقیاس پذیری با افزایش همزمان حجم کار.
  • Gustafson’s Law: قانون گوستافسون.
  • Build System: سامانه مدیریت ساخت نرم افزار.
  • Job: واحد مستقل کار.
  • Linking: پیونددهی اجزای کامپایل شده.
  • CAD: طراحی به کمک کامپیوتر.
  • CAE: مهندسی به کمک کامپیوتر.
  • FEA: تحلیل اجزای محدود.
  • CFD: دینامیک سیالات محاسباتی.
  • Container: محیط ایزوله نرم افزاری برای اجرای برنامه.
  • Sustained Performance: عملکرد پایدار در بار طولانی.
  • Thermal Throttling: کاهش عملکرد برای کنترل دما.
  • Single-Thread Performance: عملکرد تک رشته ای.
  • Multi-Thread Performance: عملکرد چند رشته ای.
  • Encoding: کدگذاری داده.
  • Batch Processing: پردازش دسته ای.
  • Multitasking: اجرای همزمان چند کار.

خلاصه فصل

وجود Coreهای بیشتر
امکان Parallel Execution بیشتری
در اختیار نرم افزار قرار می دهد،
اما نرم افزار باید بتواند
از این منابع استفاده کند.

Workload معمولاً
می تواند ترکیبی از:

Serial Portion
+
Parallel Portion

باشد.

قانون Amdahl نشان می دهد
حتی یک بخش Serial نسبتاً کوچک
می تواند حداکثر Speedup
قابل دستیابی را محدود کند.

More Cores
≠
Automatically Proportional Performance

علاوه بر بخش Serial،
عواملی مانند
Synchronization،
Load Imbalance،
Cache،
Memory Bandwidth،
Communication Overhead،
توان و دما
نیز می توانند Scaling را محدود کنند.

مهم ترین قانون این فصل:


تعداد Core ظرفیت پردازشی ایجاد می کند؛
اما این ساختار نرم افزار و نوع Workload است
که تعیین می کند چه مقدار از این ظرفیت
واقعاً به Performance تبدیل شود.


فصل 70
سطح: متوسط تا پیشرفته
موضوع: معماری پردازنده های ترکیبی
تمرکز: Hybrid Architecture / P-Core / E-Core / Scheduling

اگر یک CPU دارای 16 Core باشد، آیا هر 16 هسته قدرت، اندازه و وظیفه یکسانی دارند؟

معماری Hybrid چیست؟ تفاوت Performance Core و Efficiency Core در پردازنده های مدرن

در بسیاری از پردازنده های سنتی،
Coreهای یک CPU
از طراحی نسبتاً مشابهی استفاده می کردند.
اما در برخی پردازنده های جدید،
چند نوع Core متفاوت
در یک پردازنده کنار یکدیگر قرار گرفته اند.

به چنین رویکردی می توان
Hybrid Architecture
یا «معماری ترکیبی»
گفت.

هدف این است که
به جای استفاده از یک نوع Core
برای تمام کارها،
انواع متفاوتی از هسته
برای نیازهای متفاوت
در اختیار سیستم قرار گیرد.

High Performance Work
→
Performance-Oriented Cores

Highly Parallel / Background / Efficiency-Oriented Work
→
Efficiency-Oriented Cores

البته نحوه استفاده واقعی
به معماری CPU،
سیستم عامل،
نرم افزار
و Scheduler بستگی دارد.

در این فصل چه چیزهایی یاد می گیریم؟

  • Hybrid Architecture چیست.
  • Heterogeneous Architecture چیست.
  • Homogeneous Core چیست.
  • Heterogeneous Core چیست.
  • Performance Core چیست.
  • Efficiency Core چیست.
  • P-Core و E-Core یعنی چه.
  • چرا CPU از دو یا چند نوع Core استفاده می کند.
  • چرا Core Count به تنهایی کافی نیست.
  • Scheduler چگونه نوع Core را در نظر می گیرد.
  • Thread Director چیست.
  • Foreground Task و Background Task چیست.
  • Thread Affinity چیست.
  • Core Parking چیست.
  • Power Efficiency چیست.
  • Performance per Watt چیست.
  • چرا معماری Hybrid فقط مخصوص لپ تاپ نیست.
  • چگونه مشخصات CPUهای Hybrid را درست بخوانیم.

Hybrid Architecture چیست؟


معماری ترکیبی — Hybrid Architecture

Hybrid Architecture
یا «معماری ترکیبی»
در این بحث به طراحی پردازنده ای اشاره دارد
که در آن
بیش از یک نوع Core
با ویژگی ها و اهداف متفاوت
در یک CPU به کار گرفته شده است.

برای مثال ممکن است
گروهی از Coreها
برای Performance بالاتر
و گروه دیگری
برای بازده انرژی
یا افزایش ظرفیت پردازش موازی
طراحی شده باشند.

Heterogeneous Architecture چیست؟


معماری ناهمگون — Heterogeneous Architecture

Heterogeneous
به معنی «ناهمگون» است.

در یک معماری ناهمگون،
همه واحدهای پردازشی
الزاماً ویژگی های یکسانی ندارند.

در Context این فصل،
منظور اصلی ما
وجود Coreهایی با طراحی
یا هدف عملکردی متفاوت
در یک پردازنده است.

Homogeneous Core چیست؟


هسته های همگون — Homogeneous Cores

Homogeneous
یعنی «همگون».

در یک طراحی همگون،
Coreهای پردازشی اصلی
از نظر معماری و قابلیت ها
مشابه یکدیگر هستند.

Heterogeneous Core چیست؟


هسته های ناهمگون — Heterogeneous Cores

در طراحی دارای
Heterogeneous Cores
یا «هسته های ناهمگون»،
CPU می تواند
بیش از یک نوع Core
با ویژگی های متفاوت داشته باشد.

تفاوت می تواند
در Performance،
مصرف انرژی،
اندازه،
منابع داخلی
یا قابلیت های دیگر باشد.

Performance Core یا P-Core چیست؟


هسته پرقدرت — Performance Core

Performance Core
که معمولاً به صورت
P-Core
نوشته می شود،
یعنی «هسته با تمرکز بر عملکرد».

چنین هسته ای
برای ارائه Performance بالا
در Workloadهایی طراحی می شود
که سرعت اجرای Threadهای مهم
اهمیت زیادی دارد.

P-Core
=
Performance-Oriented Core

Efficiency Core یا E-Core چیست؟


هسته بهینه — Efficiency Core

Efficiency Core
که معمولاً
E-Core
نامیده می شود،
هسته ای با تمرکز بیشتر
بر بهره وری منابع،
بازده انرژی
و ارائه ظرفیت پردازشی مناسب
با هزینه سخت افزاری و توان متفاوت است.

E-Core
=
Efficiency-Oriented Core

واژه Efficiency
را نباید صرفاً
«ضعیف» ترجمه کرد.

هدف طراحی E-Core
می تواند دستیابی به
مقدار مناسبی Performance
با مصرف منابع موثرتر باشد.

اشتباه رایج — Common Mistake: E-Core یعنی یک Core ضعیف و بی اهمیت

چنین تعریفی دقیق نیست.

E-Core
برای هدف طراحی متفاوتی
نسبت به P-Core ساخته می شود.

ممکن است Performance تک Thread آن
از P-Core کمتر باشد،
اما چند E-Core
می توانند ظرفیت پردازش موازی
قابل توجهی ایجاد کنند.

بنابراین باید
Performance،
تعداد Coreها،
Workload
و معماری واقعی
با هم بررسی شوند.

چرا پردازنده سازها از معماری Hybrid استفاده می کنند؟

طراحی CPU
همیشه با محدودیت هایی مانند:

  • توان مصرفی،
  • دما،
  • مساحت تراشه،
  • بودجه ترانزیستوری،
  • فرکانس،
  • Performance تک رشته ای،
  • Performance چند رشته ای

روبه رو است.

یک Core بسیار بزرگ و قدرتمند
ممکن است Performance تک Thread بالایی داشته باشد،
اما فضای بیشتری اشغال کند
و انرژی بیشتری مصرف کند.

یک Core کوچک تر
ممکن است امکان قرار دادن
تعداد بیشتری Core
در یک بودجه مشخص
از مساحت و توان را فراهم کند.


بودجه ترانزیستوری — Transistor Budget

Transistor Budget
یا «بودجه ترانزیستوری»
یک اصطلاح مفهومی است
که به محدودیت تعداد ترانزیستورها
و مساحتی اشاره دارد
که طراح می تواند
برای بخش های مختلف تراشه
اختصاص دهد.

اگر یک Core
برای رسیدن به Performance بالاتر
بسیار بزرگ شود،
ممکن است فضای کمتری
برای Coreهای بیشتر
یا بخش های دیگر تراشه باقی بماند.

Die Area چیست؟


مساحت دای — Die Area

Die
یا «دای»
قطعه سیلیکونی تراشه
است که مدارهای پردازنده
روی آن ساخته می شوند.

Die Area
یا «مساحت دای»
مقدار فضای فیزیکی
روی این قطعه سیلیکونی است.

اندازه Coreها
یکی از عواملی است
که بر نحوه استفاده
از این مساحت اثر می گذارد.

پشت صحنه فنی — Under the Hood: چرا ترکیب Core بزرگ و کوچک می تواند مفید باشد؟

فرض کنید
مقدار مشخصی فضای سیلیکونی
و بودجه توان داریم.

یک راه این است
که فقط Coreهای بزرگ
در تراشه قرار دهیم.

راه دیگر می تواند
ترکیبی از Coreهای
Performance-Oriented
و Efficiency-Oriented باشد.

Large High-Performance Cores
+
Smaller Efficiency-Oriented Cores
→
Different Performance / Power Trade-offs

Trade-off
یعنی «مصالحه طراحی»؛
یعنی بهتر کردن یک ویژگی
ممکن است با هزینه
یا محدودیت در ویژگی دیگری همراه باشد.

Performance per Watt چیست؟


عملکرد به ازای توان مصرفی — Performance per Watt

Performance per Watt
یا «عملکرد به ازای هر وات»
یک مفهوم برای بررسی
میزان Performance حاصل
در برابر توان مصرفی است.

Performance per Watt
=
Performance / Power

این معیار مخصوص لپ تاپ نیست
و در دسکتاپ،
ورک استیشن،
سرور،
دیتاسنتر
و سیستم های دیگر نیز
اهمیت دارد.

Power Efficiency چیست؟


بهره وری انرژی — Power Efficiency

Power Efficiency
یا «بهره وری انرژی»
به رابطه میان
کار مفید انجام شده
و انرژی یا توان مصرفی
اشاره دارد.

Performance بالاتر
و Efficiency بالاتر
الزاماً یک مفهوم نیستند.

تفاوت مفهومی P-Core و E-Core

ویژگی P-Core E-Core
تمرکز اصلی Performance بالا Efficiency و ظرفیت پردازشی موثر
Performance تک Thread معمولاً بالاتر معمولاً پایین تر از P-Core همان نسل
هدف طراحی اجرای سریع Threadهای حساس به Performance افزایش بازده و ظرفیت پردازش موازی
مساحت و منابع معمولاً بزرگ تر و پیچیده تر معمولاً فشرده تر
مصرف توان می تواند برای Performance بالاتر بیشتر باشد تمرکز بیشتر بر Efficiency

نکته مهندسی — Engineering Insight: جدول P-Core و E-Core یک قانون جهانی برای تمام معماری ها نیست

P-Core و E-Core
اصطلاحاتی هستند
که به خصوص در توضیح
بعضی معماری های Hybrid اینتل
بسیار رایج شده اند.

اما همه پردازنده های ناهمگون
الزاماً دقیقاً همین ساختار،
نام گذاری
یا نسبت Performance و Efficiency
را ندارند.

بنابراین مفهوم کلی
«هسته های متفاوت با اهداف متفاوت»
را باید از نام تجاری
یا پیاده سازی یک سازنده
جدا کرد.

چرا تعداد Thread در CPUهای Hybrid می تواند گیج کننده باشد؟

زیرا انواع مختلف Core
الزاماً تعداد Hardware Thread
یکسانی ندارند.

برای مثال در برخی طراحی ها
ممکن است یک نوع Core
SMT داشته باشد
و نوع دیگر
فقط یک Hardware Thread
برای هر Core ارائه دهد.

در چنین حالتی:

Total Threads
≠
Total Cores × Same Thread Count

بنابراین باید مشخصات
هر نوع Core
جداگانه بررسی شود.

پشت صحنه فنی — Under the Hood: مثال محاسبه Core و Thread در یک CPU Hybrid

یک مثال فرضی:

6 P-Cores
+
8 E-Cores
=
14 Physical Cores

فرض کنیم
هر P-Core
دو Hardware Thread
و هر E-Core
یک Hardware Thread
داشته باشد.

6 P-Cores × 2
=
12 Threads

8 E-Cores × 1
=
8 Threads

Total
=
14 Cores / 20 Threads

بنابراین از روی
تعداد Core به تنهایی
نمی توان تعداد Thread
را حدس زد.

اشتباه رایج — Common Mistake: همه Coreها را بدون توجه به نوع آنها جمع کنیم و CPUها را مقایسه کنیم

فرض کنید دو CPU
هر دو 12 Core دارند.

ممکن است ترکیب آنها
کاملاً متفاوت باشد.

CPU A
=
12 Similar Cores

CPU B
=
4 Performance Cores
+
8 Efficiency Cores

فقط عدد 12
اطلاعات کافی برای مقایسه
این دو CPU نمی دهد.

معماری Hybrid چه چالشی برای سیستم عامل ایجاد می کند؟

در CPU همگون،
Scheduler با مجموعه ای
از Coreهای مشابه
روبه رو است.

اما در CPU ناهمگون،
سؤال جدیدی ایجاد می شود:


کدام Thread باید روی کدام نوع Core اجرا شود؟

یک Thread حساس به Latency
ممکن است از Core پرقدرت
سود بیشتری ببرد،
در حالی که یک کار پس زمینه
ممکن است بتواند
روی Core دیگری
به شکل موثری اجرا شود.

Latency-Sensitive
یا «حساس به تاخیر»
به کاری گفته می شود
که تاخیر در اجرای آن
می تواند مستقیماً
پاسخ دهی یا تجربه کاربر
را تحت تاثیر قرار دهد.

Foreground Task چیست؟


وظیفه پیش زمینه — Foreground Task

Foreground Task
یا «وظیفه پیش زمینه»
معمولاً کاری است
که کاربر مستقیماً
در حال تعامل با آن است
یا نتیجه آن
بلافاصله برای کاربر اهمیت دارد.

برای مثال
بخشی از یک برنامه
که در پاسخ به ورودی کاربر
باید سریع واکنش نشان دهد.

Background Task چیست؟


وظیفه پس زمینه — Background Task

Background Task
یا «وظیفه پس زمینه»
کاری است که
بدون تعامل مستقیم و لحظه ای کاربر
در پس زمینه سیستم
انجام می شود.

البته «پس زمینه بودن»
به تنهایی تعیین نمی کند
که یک Task حتماً باید
روی E-Core اجرا شود.

اشتباه رایج — Common Mistake: تمام کارهای اصلی روی P-Core و تمام کارهای پس زمینه روی E-Core اجرا می شوند

این یک ساده سازی بیش از حد است.

Scheduler
باید عوامل مختلفی مانند:

  • اولویت Thread،
  • نوع Workload،
  • Coreهای آزاد،
  • مصرف انرژی،
  • وضعیت سیستم،
  • و اطلاعات سخت افزاری در دسترس

را در نظر بگیرد.

Intel Thread Director چیست؟


راهنمای سخت افزاری زمان بندی رشته ها — Intel Thread Director

Intel Thread Director
یک سازوکار سخت افزاری
در برخی نسل های پردازنده Hybrid اینتل است
که اطلاعاتی درباره رفتار Threadها
و وضعیت اجرای آنها
در اختیار سیستم عامل قرار می دهد.

هدف این اطلاعات
کمک به Scheduler
برای تصمیم گیری بهتر
درباره محل اجرای Threadها است.

نکته مهم:
Thread Director
جای Scheduler سیستم عامل
را نمی گیرد.

تصمیم نهایی زمان بندی
همچنان توسط سیستم عامل
و سیاست های آن انجام می شود.

پشت صحنه فنی — Under the Hood: Thread Director و Scheduler چگونه با هم ارتباط دارند؟

به صورت مفهومی:

Running Threads
→
Hardware Observation
→
Thread Director Information
→
Operating System Scheduler
→
Scheduling Decision

یعنی سخت افزار
می تواند اطلاعات مفیدی
در اختیار سیستم عامل قرار دهد،
اما سیاست زمان بندی
در سطح سیستم عامل
همچنان اهمیت اساسی دارد.

چرا سیستم عامل در CPUهای Hybrid اهمیت بیشتری پیدا می کند؟

چون Scheduler
باید فقط Thread را
به «یک Core آزاد» نفرستد؛
بلکه نوع Core نیز
می تواند اهمیت داشته باشد.

یک Scheduler آگاه از توپولوژی CPU
می تواند تصمیم های مناسب تری
برای توزیع Workload بگیرد.


توپولوژی پردازنده — CPU Topology

CPU Topology
یا «توپولوژی پردازنده»
به نحوه سازمان دهی
و ارتباط منابع پردازشی
مانند Socket،
Core،
Hardware Thread
و انواع مختلف Core
اشاره دارد.

آیا Thread می تواند از P-Core به E-Core منتقل شود؟

بسته به سیستم،
Scheduler می تواند
اجرای Thread را
میان منابع پردازشی مختلف
جابه جا کند.

به این فرایند
همان طور که در فصل قبل دیدیم،
Thread Migration
یا «مهاجرت رشته»
گفته می شود.

اما جابه جایی Thread
همیشه بدون هزینه نیست.

Cache Locality،
وضعیت Core
و هزینه های Scheduling
می توانند اهمیت داشته باشند.

Thread Affinity چیست؟


وابستگی اجرایی رشته — Thread Affinity

Thread Affinity
یا «وابستگی اجرایی رشته»
به محدود کردن
یا ترجیح دادن اجرای یک Thread
روی مجموعه مشخصی
از پردازنده های منطقی
گفته می شود.

این قابلیت
در بعضی نرم افزارها،
سیستم عامل ها
و Workloadهای تخصصی
برای کنترل محل اجرای Threadها
استفاده می شود.

اشتباه رایج — Common Mistake: تنظیم دستی Affinity همیشه Performance را بهتر می کند

خیر.

Scheduler سیستم عامل
معمولاً اطلاعات زیادی
درباره وضعیت لحظه ای سیستم دارد.

محدود کردن دستی Threadها
بدون Benchmark و شناخت Workload
حتی می تواند Performance
را کاهش دهد.

Core Parking چیست؟


غیرفعال سازی موقت هسته برای مدیریت توان — Core Parking

Core Parking
سازوکاری در مدیریت منابع پردازنده است
که می تواند
استفاده از بعضی Coreها
را در شرایط مشخص کاهش دهد
تا مدیریت توان
موثرتر انجام شود.

وقتی بار پردازشی افزایش پیدا کند،
Coreهای بیشتری
می توانند وارد چرخه اجرا شوند.

Idle State چیست؟


حالت بیکاری پردازنده — Idle State

Idle
یعنی «بیکار».

وقتی یک Core
کار قابل اجرا ندارد،
می تواند وارد حالت هایی شود
که برای کاهش مصرف انرژی
طراحی شده اند.

عمق و رفتار این حالت ها
به معماری و سیستم
بستگی دارد.

C-State چیست؟


حالت های بیکاری و صرفه جویی انرژی — C-States

C-State
به خانواده ای از
حالت های مدیریت توان CPU
در زمان بیکاری اشاره دارد.

به طور کلی
حالت های عمیق تر
می توانند انرژی بیشتری ذخیره کنند،
اما خروج از آنها
ممکن است Latency بیشتری داشته باشد.

جزئیات دقیق C-Stateها
به پردازنده و پلتفرم
وابسته است.

Wake-up Latency چیست؟


تاخیر خروج از حالت کم مصرف — Wake-up Latency

Wake-up Latency
یا «تاخیر بیدار شدن»
زمانی است که
برای بازگشت یک Core یا واحد سخت افزاری
از حالت کم مصرف
به وضعیت آماده اجرا
نیاز است.

DVFS چیست؟


تنظیم پویا ولتاژ و فرکانس — Dynamic Voltage and Frequency Scaling

DVFS
مخفف:

Dynamic Voltage and Frequency Scaling

و به معنی
«تنظیم پویا ولتاژ و فرکانس»
است.

پردازنده می تواند
بسته به Workload،
محدودیت توان،
دما
و سیاست سیستم
فرکانس و ولتاژ
را تغییر دهد.

نکته مهندسی — Engineering Insight: Hybrid فقط تقسیم کار بین P-Core و E-Core نیست

Performance واقعی
نتیجه تعامل چند سیستم است:

Core Type
+
Scheduler
+
DVFS
+
Power Limits
+
Thermal Limits
+
Workload
→
Observed Performance

بنابراین مشاهده تعداد
P-Core و E-Core
فقط بخشی از تحلیل CPU است.

Power Limit چیست؟


محدودیت توان — Power Limit

Power Limit
یا «محدودیت توان»
سقف یا سیاستی است
که میزان توان قابل استفاده
توسط پردازنده
را در شرایط مشخص
محدود می کند.

دو سیستم با CPU مشابه
می توانند به دلیل
تنظیمات توان و خنک سازی متفاوت
Performance متفاوتی داشته باشند.

Burst Performance و Sustained Performance چه تفاوتی دارند؟

مفهوم معنی فارسی توضیح
Burst Performance عملکرد کوتاه مدت Performance بالا برای بازه زمانی کوتاه
Sustained Performance عملکرد پایدار Performance قابل حفظ در بار طولانی

آیا معماری Hybrid فقط برای لپ تاپ ساخته شده است؟

خیر.

بهره وری انرژی
فقط مسئله باتری نیست.

در دسکتاپ،
ورک استیشن،
سرور
و دیتاسنتر نیز
توان و دما
محدودیت های واقعی هستند.

Performance per Watt بهتر
می تواند به معنی
استفاده موثرتر از:

  • توان الکتریکی،
  • سیستم خنک کننده،
  • مساحت سیلیکون،
  • و ظرفیت حرارتی سیستم

باشد.

معماری Hybrid در سیستم های قابل حمل چه مزیتی دارد؟

در سیستم های قابل حمل
محدودیت انرژی و حرارت
اهمیت بسیار زیادی دارد.

سیستم می تواند
بسته به شرایط،
ترکیب متفاوتی از Coreها
و سطح Performance
را مورد استفاده قرار دهد.

اما عمر باتری
فقط توسط نوع Core تعیین نمی شود.

نمایشگر،
GPU،
شبکه،
Storage،
نرم افزار،
باتری
و تنظیمات سیستم
نیز تاثیر مهمی دارند.

معماری Hybrid در بازی چه اثری دارد؟

بازی مدرن
می تواند چند Thread مختلف
برای سیستم های گوناگون داشته باشد.

بعضی Threadها
ممکن است نسبت به Latency
یا Performance تک Thread
حساس تر باشند.

Threadهای دیگر
می توانند قابلیت انعطاف بیشتری
برای Scheduling داشته باشند.

بنابراین عملکرد بازی
به تعامل میان:

  • موتور بازی،
  • سیستم عامل،
  • Scheduler،
  • نوع Coreها،
  • GPU،
  • Memory،
  • و محدودیت های توان و دما

وابسته است.

معماری Hybrid در تولید محتوا چه کاربردی دارد؟

در Workloadهایی مانند:

  • رندر،
  • Encoding ویدئو،
  • پردازش تصویر،
  • کامپایل،
  • و Multitasking سنگین

تعداد بیشتری Core
می تواند ظرفیت پردازش موازی
را افزایش دهد.

اما میزان استفاده
از P-Core و E-Core
به نرم افزار و الگوریتم
بستگی دارد.

معماری Hybrid برای نرم افزارهای مهندسی چه معنایی دارد؟

نمی توان فقط با عبارت
«نرم افزار مهندسی»
پاسخ واحدی داد.

یک نرم افزار ممکن است
در مدل سازی تعاملی
بیشتر به Performance
چند Thread مهم وابسته باشد،
اما در مرحله Solve یا Render
از تعداد بیشتری Core استفاده کند.

Solve
یا «مرحله حل محاسباتی»
در اینجا به مرحله ای گفته می شود
که نرم افزار
محاسبات اصلی یک مسئله
یا مدل را انجام می دهد.

بنابراین Benchmark
باید تا حد امکان
همان مرحله کاری واقعی
مورد استفاده کاربر را اندازه گیری کند.

CPU Hybrid در Virtualization چگونه باید بررسی شود؟

در محیط های Virtualization،
فقط Core Count
کافی نیست.

Hypervisor،
سیستم عامل مهمان،
Scheduler
و نحوه ارائه منابع پردازشی
می توانند روی استفاده
از Coreهای ناهمگون
اثر بگذارند.

Hypervisor
یا «ناظر ماشین مجازی»
نرم افزاری است
که ایجاد و مدیریت
Virtual Machineها
و تخصیص منابع سخت افزاری
به آنها را انجام می دهد.

آیا نرم افزار قدیمی می تواند با CPU Hybrid مشکل داشته باشد؟

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

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

تاثیر بر انتخاب پردازنده — Performance Impact: عدد Core را دیگر به تنهایی نخوانید

در یک CPU Hybrid
بهتر است مشخصات
به این صورت بررسی شوند:

  1. تعداد کل Coreها چقدر است؟
  2. چند P-Core وجود دارد؟
  3. چند E-Core وجود دارد؟
  4. هر نوع Core چند Hardware Thread دارد؟
  5. Performance تک Thread چگونه است؟
  6. Performance چند Thread چگونه است؟
  7. نرم افزار مورد نظر چگونه از Coreها استفاده می کند؟
  8. سیستم عامل چقدر برای این معماری بهینه است؟
  9. Power Limit دستگاه چیست؟
  10. خنک سازی دستگاه چگونه است؟
  11. Performance پایدار در Benchmark واقعی چقدر است؟

پشت صحنه فنی — Under the Hood: چرا دو CPU چهارده هسته ای الزاماً قابل مقایسه مستقیم نیستند؟

فرض کنید:

CPU A
=
6 P-Cores
+
8 E-Cores

CPU B
=
14 Homogeneous Cores

هر دو روی کاغذ
14 Core دارند.

اما ساختار،
Performance تک Thread،
تعداد Thread،
مصرف انرژی
و رفتار آنها در Workloadهای مختلف
می تواند بسیار متفاوت باشد.

بنابراین:

Same Core Count
≠
Same CPU Capability

اشتباهات رایج — Common Mistakes: معماری Hybrid
  • فرض اینکه تمام Coreهای CPU قدرت یکسانی دارند.
  • فرض اینکه E-Core یعنی Core بی ارزش یا بسیار ضعیف.
  • مقایسه CPUها فقط با Total Core Count.
  • فرض اینکه همه P-Coreها همیشه دو Thread دارند.
  • فرض اینکه همه E-Coreها همیشه یک Thread دارند.
  • فرض اینکه تمام کارهای پس زمینه الزاماً روی E-Core اجرا می شوند.
  • فرض اینکه Thread Director جای Scheduler سیستم عامل را می گیرد.
  • نادیده گرفتن سیستم عامل در Scheduling.
  • تنظیم دستی Thread Affinity بدون Benchmark.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Thermal Limit.
  • یکی دانستن Burst Performance و Sustained Performance.
  • فرض اینکه معماری Hybrid فقط برای لپ تاپ مفید است.
  • نادیده گرفتن نوع Workload هنگام مقایسه P-Core و E-Core.

سوالات متداول درباره معماری Hybrid پردازنده

Hybrid Architecture چیست؟

معماری ترکیبی در این بحث
به استفاده از چند نوع Core
با ویژگی ها و اهداف متفاوت
در یک CPU اشاره دارد.

P-Core چیست؟

Performance Core
یا «هسته با تمرکز بر عملکرد»
برای ارائه Performance بالا،
به ویژه در Threadهای حساس به سرعت،
طراحی می شود.

E-Core چیست؟

Efficiency Core
یا «هسته با تمرکز بر بهره وری»
برای ایجاد Performance مناسب
با تمرکز بیشتر بر Efficiency
و استفاده موثر از منابع طراحی می شود.

آیا E-Core فقط برای برنامه های پس زمینه است؟

خیر.
این یک ساده سازی است.
E-Core می تواند
در Workloadهای چند رشته ای
نیز در پردازش مفید مشارکت کند.

آیا P-Core همیشه سریع تر از E-Core است؟

در یک طراحی مشخص
P-Core معمولاً برای Performance تک Thread بالاتر
طراحی شده است،
اما مقایسه کلی میان نسل ها و معماری های متفاوت
باید با Benchmark انجام شود.

Thread Director چیست؟

سازوکاری سخت افزاری
در برخی CPUهای Hybrid اینتل است
که اطلاعاتی برای کمک
به تصمیم گیری Scheduler سیستم عامل
فراهم می کند.

آیا Thread Director خودش Threadها را زمان بندی می کند؟

خیر.
تصمیم Scheduling
توسط سیستم عامل انجام می شود.
Thread Director اطلاعاتی
برای کمک به این تصمیم فراهم می کند.

Performance per Watt چیست؟

میزان Performance
در برابر توان مصرفی است
و برای بررسی بهره وری انرژی
اهمیت دارد.

آیا تعداد Core بیشتر همیشه CPU بهتری می سازد؟

خیر.
نوع Core،
معماری،
فرکانس،
Cache،
توان،
خنک سازی
و Workload
نیز باید بررسی شوند.

Core Parking چیست؟

روشی برای کاهش استفاده
از بعضی Coreها
در شرایط مناسب
با هدف مدیریت بهتر توان است.

DVFS چیست؟

Dynamic Voltage and Frequency Scaling
یا «تنظیم پویا ولتاژ و فرکانس»
روشی برای تغییر سطح ولتاژ و فرکانس
بر اساس شرایط کاری سیستم است.

برای خرید CPU Hybrid به چه عددی نگاه کنیم؟

به یک عدد نه؛
ترکیب P-Core و E-Core،
تعداد Thread،
Performance تک و چند رشته ای،
Benchmark نرم افزار مورد نظر،
Power Limit
و خنک سازی سیستم
باید کنار یکدیگر بررسی شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Hybrid Architecture: معماری ترکیبی با بیش از یک نوع هسته پردازشی.
  • Heterogeneous: ناهمگون؛ دارای اجزایی با ویژگی های متفاوت.
  • Homogeneous: همگون؛ دارای اجزای مشابه.
  • Heterogeneous Cores: هسته های پردازشی ناهمگون.
  • Homogeneous Cores: هسته های پردازشی همگون.
  • Performance Core: هسته با تمرکز بر عملکرد بالا.
  • P-Core: شکل کوتاه شده Performance Core.
  • Efficiency Core: هسته با تمرکز بر بهره وری.
  • E-Core: شکل کوتاه شده Efficiency Core.
  • Trade-off: مصالحه طراحی میان چند هدف یا محدودیت.
  • Transistor Budget: بودجه ترانزیستوری طراحی تراشه.
  • Die: قطعه سیلیکونی حاوی مدارهای تراشه.
  • Die Area: مساحت فیزیکی دای.
  • Performance per Watt: عملکرد به ازای توان مصرفی.
  • Power Efficiency: بهره وری انرژی.
  • Latency-Sensitive: حساس به تاخیر.
  • Foreground Task: وظیفه پیش زمینه.
  • Background Task: وظیفه پس زمینه.
  • Intel Thread Director: سازوکار سخت افزاری ارائه اطلاعات زمان بندی در برخی CPUهای Hybrid اینتل.
  • CPU Topology: ساختار و سازمان دهی منابع پردازشی CPU.
  • Thread Affinity: وابستگی یا محدودسازی محل اجرای Thread.
  • Core Parking: کاهش استفاده از بعضی Coreها برای مدیریت توان.
  • Idle State: حالت بیکاری پردازنده.
  • C-State: حالت مدیریت توان CPU هنگام بیکاری.
  • Wake-up Latency: تاخیر خروج از حالت کم مصرف.
  • DVFS: تنظیم پویا ولتاژ و فرکانس.
  • Power Limit: محدودیت توان پردازنده.
  • Burst Performance: عملکرد بالا در بازه کوتاه.
  • Sustained Performance: عملکرد قابل حفظ در بار طولانی.
  • Solve: مرحله انجام محاسبات اصلی مسئله در نرم افزار.
  • Hypervisor: نرم افزار مدیریت ماشین های مجازی و منابع آنها.

خلاصه فصل

در معماری Hybrid،
همه Coreهای CPU
الزاماً یکسان نیستند.

بعضی Coreها
می توانند با تمرکز بیشتر
بر Performance طراحی شوند
و Coreهای دیگر
بر Efficiency
و ظرفیت پردازشی موثر تمرکز داشته باشند.

Hybrid CPU
=
Different Core Types
+
Scheduling
+
Power Management

بنابراین عدد Total Core Count
به تنهایی
برای فهم قدرت CPU کافی نیست.

باید ترکیب Coreها،
تعداد Threadها،
Scheduler،
Performance تک رشته ای،
Performance چند رشته ای،
توان،
دما
و Workload واقعی
را کنار هم بررسی کرد.

مهم ترین قانون این فصل:


در پردازنده های ناهمگون،
فقط تعداد هسته مهم نیست؛
باید بدانیم چه نوع هسته هایی داریم،
هر کدام چه توانایی ای دارند
و نرم افزار و سیستم عامل
چگونه از آنها استفاده می کنند.


فصل 71
سطح: متوسط تا پیشرفته
موضوع: توان و رفتار فرکانسی پردازنده
تمرکز: Power / Voltage / Frequency / Energy / TDP / Power Limit

افزایش فرکانس ساده به نظر می رسد؛ اما هر MHz بیشتر، هزینه توان و گرمای خودش را دارد

توان مصرفی CPU چگونه تعیین می شود؟ رابطه ولتاژ، فرکانس، دما و Performance

وقتی درباره پردازنده صحبت می کنیم،
معمولاً عددهایی مانند 3.5GHz،
5GHz،
65W
یا 125W می بینیم.

اما این اعداد
مستقل از یکدیگر نیستند.
فرکانس،
ولتاژ،
توان مصرفی،
دما،
طراحی خنک کننده
و نوع Workload
به یکدیگر وابسته اند.

برای فهم رفتار واقعی CPU
باید بدانیم چرا افزایش فرکانس
معمولاً به ولتاژ بیشتر نیاز دارد
و چرا افزایش ولتاژ
می تواند مصرف توان را
بسیار سریع تر افزایش دهد.

Frequency
↑
→
Performance Potential
↑
→
Required Voltage
may increase
→
Power
↑
→
Heat
↑

در این فصل چه چیزهایی یاد می گیریم؟

  • Power چیست.
  • Energy چیست.
  • Voltage چیست.
  • Current چیست.
  • Frequency چه ارتباطی با توان دارد.
  • Dynamic Power چیست.
  • Static Power چیست.
  • رابطه تقریبی P ≈ C × V² × f چه معنایی دارد.
  • چرا ولتاژ اثر بسیار مهمی بر مصرف دارد.
  • TDP چیست.
  • Package Power چیست.
  • Power Limit چیست.
  • PL1 و PL2 چه هستند.
  • Boost چیست.
  • Base Frequency چیست.
  • Boost Frequency چیست.
  • All-Core Frequency چیست.
  • Thermal Throttling چیست.
  • Power Throttling چیست.
  • Efficiency Curve چیست.
  • Undervolting چیست.
  • Overclocking چیست.
  • چرا یک CPU در دو دستگاه مختلف رفتار متفاوتی دارد.

Power چیست؟


توان — Power

Power
یا «توان»
نرخ مصرف یا انتقال انرژی
در واحد زمان است.

واحد توان:

Watt
=
W

است.

Energy چیست؟


انرژی — Energy

Energy
یا «انرژی»
مقدار کل انرژی مصرف شده
در یک بازه زمانی است.

رابطه ساده:

Energy
=
Power × Time

بنابراین CPU با توان بالا
اگر فقط مدت بسیار کوتاهی فعال باشد
الزاماً انرژی بیشتری
از CPU کم مصرفی که مدت طولانی کار می کند
مصرف نمی کند.

مفهوم معنی سوال اصلی
Power توان در این لحظه با چه نرخی انرژی مصرف می شود؟
Energy انرژی در مجموع چه مقدار انرژی مصرف شده است؟

Voltage چیست؟


ولتاژ — Voltage

Voltage
یا «ولتاژ»
اختلاف پتانسیل الکتریکی است
که می تواند باعث حرکت بار الکتریکی
در مدار شود.

واحد آن:

Volt
=
V

Current چیست؟


جریان الکتریکی — Current

Current
یا «جریان الکتریکی»
نرخ عبور بار الکتریکی
از یک مسیر است.

واحد جریان:

Ampere
=
A

رابطه ساده توان الکتریکی چیست؟

یکی از روابط پایه:

Power
=
Voltage × Current

P
=
V × I

اما رفتار توان مصرفی CPU
بسیار پیچیده تر از این رابطه ساده است
و به نوع فعالیت ترانزیستورها نیز بستگی دارد.

Dynamic Power چیست؟


توان پویا — Dynamic Power

Dynamic Power
یا «توان پویا»
بخش مهمی از مصرف توان مدارهای دیجیتال است
که هنگام تغییر وضعیت
و سوئیچ شدن ترانزیستورها
ایجاد می شود.

در یک مدل ساده،
می توان نوشت:

Dynamic Power
≈
C × V² × f

رابطه C × V² × f چه می گوید؟


مدل تقریبی توان پویا

در رابطه:

P ≈ C × V² × f

به صورت مفهومی:

  • P = توان پویا
  • C = ظرفیت موثر سوئیچ شونده مدار
  • V = ولتاژ
  • f = فرکانس

این یک مدل ساده شده است
و رفتار کامل CPU واقعی
پیچیده تر است.

پشت صحنه فنی — Under the Hood: چرا ولتاژ این قدر مهم است؟

در مدل ساده توان پویا،
ولتاژ به توان دو می رسد:

Power
∝
V²

یعنی افزایش ولتاژ
می تواند تاثیر بسیار قوی تری
از افزایش خطی ساده
روی توان پویا داشته باشد.

مثال صرفاً آموزشی:

Voltage:
1.0 V
→
1.1 V

بخش V²:

1.0²
=
1.00

1.1²
=
1.21

یعنی فقط در بخش مربوط به مربع ولتاژ،
10 درصد افزایش ولتاژ
به حدود 21 درصد افزایش
این عامل منجر می شود.

در CPU واقعی،
جریان،
نشتی،
فعالیت مدار،
دما و عوامل دیگر
نیز تغییر می کنند.

افزایش Frequency چه تاثیری بر Power دارد؟

در مدل ساده:

Power
∝
Frequency

یعنی اگر همه چیز ثابت بماند،
فرکانس بیشتر
سوئیچ شدن بیشتری در واحد زمان ایجاد می کند.

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

بنابراین:

Frequency ↑
+
Voltage ↑
→
Power may rise sharply

Frequency Wall چیست؟


دیوار فرکانس — Frequency Wall

Frequency Wall
یا «دیوار فرکانس»
اصطلاحی برای شرایطی است
که افزایش بیشتر فرکانس
به دلیل محدودیت های توان،
حرارت
و پیچیدگی مدار
بسیار پرهزینه می شود.

این یکی از دلایلی است
که صنعت CPU
فقط با افزایش GHz
به دنبال Performance بیشتر نرفته است.

Static Power چیست؟


توان ایستا — Static Power

Static Power
یا «توان ایستا»
بخشی از توان مصرفی است
که حتی بدون سوئیچ شدن فعال کامل مدار
می تواند وجود داشته باشد.

یکی از منابع مهم آن:
Leakage Current یا «جریان نشتی»
است.

Leakage Current چیست؟


جریان نشتی — Leakage Current

Leakage Current
یا «جریان نشتی»
جریان ناخواسته ای است
که حتی در شرایطی
که ترانزیستور ideally خاموش است
می تواند وجود داشته باشد.

میزان Leakage
به عواملی مانند:

  • فناوری ساخت،
  • ولتاژ،
  • دما،
  • و طراحی ترانزیستور

وابسته است.

نکته مهندسی — Engineering Insight: دما فقط نتیجه مصرف توان نیست؛ خودش هم می تواند رفتار توان را تغییر دهد

افزایش دما
در بسیاری از فناوری های نیمه هادی
می تواند Leakage را افزایش دهد.

بنابراین یک چرخه بازخورد ممکن است شکل بگیرد:

More Power
→
More Heat
→
More Leakage
→
More Power

سیستم مدیریت توان و دما
برای جلوگیری از خروج CPU
از محدوده های ایمن
ضروری است.

Activity Factor چیست؟


ضریب فعالیت مدار — Activity Factor

Activity Factor
یا «ضریب فعالیت مدار»
نشان می دهد
چه بخشی از مدار
و با چه شدتی
در حال تغییر وضعیت است.

به همین دلیل
دو Workload
با فرکانس یکسان
الزاماً توان مصرفی یکسانی ندارند.

پشت صحنه فنی — Under the Hood: چرا دو برنامه با GHz مشابه مصرف متفاوتی دارند؟

فرض کنید CPU
در دو برنامه
تقریباً در فرکانس مشابهی کار کند.

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

برنامه دوم
ممکن است:

  • Vector Unitهای بیشتری را فعال کند،
  • Load/Store بیشتری داشته باشد،
  • هسته های بیشتری را درگیر کند،
  • و فعالیت داخلی بیشتری ایجاد کند.

بنابراین:

Same Frequency
≠
Same Power

Package Power چیست؟


توان مصرفی مجموعه پردازنده — Package Power

Package Power
یا «توان مصرفی پکیج پردازنده»
به توان مصرفی مجموعه اجزای
داخل Package CPU
اشاره دارد.

این مقدار
الزاماً فقط مصرف Coreهای CPU نیست.

بسته به طراحی پردازنده
بخش هایی مانند:

  • Coreها،
  • Cache،
  • Memory Controller،
  • Interconnect،
  • و بخش های دیگر

می توانند در آن نقش داشته باشند.

TDP چیست؟


توان طراحی حرارتی — Thermal Design Power

TDP
مخفف:

Thermal Design Power

و معمولاً به مفهوم
«توان طراحی حرارتی»
اشاره دارد.

TDP عددی است
که در طراحی و انتخاب
سیستم خنک کننده
اهمیت دارد.

اما TDP را نباید
به صورت ساده
«حداکثر مصرف برق CPU»
تعریف کرد.

اشتباه رایج — Common Mistake: CPU با TDP برابر 65W هیچ وقت بیشتر از 65W مصرف نمی کند

این نتیجه گیری
الزاماً درست نیست.

تعریف و سیاست TDP
بین سازندگان
و نسل های مختلف
می تواند متفاوت باشد.

پردازنده ممکن است
در حالت Boost
و تحت تنظیمات مشخص
توان بیشتری
از مقدار اسمی TDP مصرف کند.

Power Limit چیست؟


محدودیت توان — Power Limit

Power Limit
یا «محدودیت توان»
سقف یا سیاستی است
که مقدار توان قابل استفاده CPU
را در بازه زمانی مشخص
کنترل می کند.

Power Limit
می تواند روی:

  • فرکانس Boost،
  • Performance چند هسته ای،
  • دما،
  • صدای فن،
  • و مصرف انرژی

اثر بگذارد.

PL1 و PL2 چیست؟


سطوح محدودیت توان — PL1 / PL2

در برخی پلتفرم های Intel،
اصطلاحاتی مانند:

PL1
/
PL2

برای سطوح مختلف
محدودیت توان
استفاده شده اند.

به صورت مفهومی،
یک سطح می تواند
برای رفتار پایدارتر
و سطح دیگری
برای بازه های کوتاه تر Boost
مورد استفاده قرار گیرد.

جزئیات دقیق
به نسل پردازنده،
Firmware
و سیاست سازنده دستگاه
وابسته است.

Tau چیست؟


پنجره زمانی مدیریت توان — Tau

در برخی توضیحات
مدیریت توان پردازنده های Intel،
Tau
به یک پارامتر زمانی
مرتبط با رفتار محدودیت توان
اشاره می کند.

به زبان ساده،
این مفهوم می تواند
در تعیین مدت زمانی
که پردازنده رفتار توان بالاتری
را حفظ می کند
نقش داشته باشد.

Boost چیست؟


افزایش پویا فرکانس — Boost

Boost
در پردازنده
به افزایش پویا فرکانس
بالاتر از سطح پایه
در شرایط مناسب اشاره دارد.

این شرایط می توانند شامل:

  • توان در دسترس،
  • دمای مناسب،
  • تعداد Coreهای فعال،
  • نوع Workload،
  • محدودیت های Firmware

باشند.

Base Frequency چیست؟


فرکانس پایه — Base Frequency

Base Frequency
یا «فرکانس پایه»
یک مقدار مرجع
در مشخصات پردازنده است.

این عدد
الزاماً فرکانسی نیست
که CPU همیشه
در آن کار کند.

پردازنده مدرن
می تواند بسته به شرایط
فرکانس خود را
بالا یا پایین ببرد.

Maximum Boost Frequency چیست؟


حداکثر فرکانس Boost — Maximum Boost Frequency

Maximum Boost Frequency
یا «حداکثر فرکانس Boost»
بالاترین فرکانسی است
که پردازنده
تحت شرایط تعریف شده
می تواند روی یک یا چند Core
به آن برسد.

این عدد
الزاماً فرکانس همه Coreها
در بار چند هسته ای نیست.

All-Core Frequency چیست؟


فرکانس هنگام بار چند هسته ای — All-Core Frequency

All-Core Frequency
اصطلاحی برای توصیف
فرکانس Coreها
در شرایطی است
که تعداد زیادی از آنها
همزمان زیر بار قرار دارند.

این فرکانس
می تواند از Maximum Boost
تک Core
پایین تر باشد.

پشت صحنه فنی — Under the Hood: چرا CPU با Boost 5GHz هنگام رندر روی همه Coreها 5GHz نیست؟

وقتی فقط یک یا چند Core
فعال هستند،
مصرف توان و گرمای کلی
کمتر است.

در این شرایط
ممکن است CPU
بتواند فرکانس بالاتری
روی آن Coreها اعمال کند.

اما در رندر چند Thread:

More Active Cores
→
Higher Total Power
→
More Heat
→
Lower Sustainable Frequency

بنابراین:

Maximum Single-Core Boost
≠
Guaranteed All-Core Frequency

Thermal Limit چیست؟


محدودیت حرارتی — Thermal Limit

Thermal Limit
یا «محدودیت حرارتی»
حداکثر محدوده دمایی
یا سیاست کنترل دمایی
است که پردازنده
باید در آن باقی بماند.

وقتی CPU به این محدودیت نزدیک شود،
سیستم مدیریت توان
می تواند فرکانس یا ولتاژ را کاهش دهد.

Thermal Throttling چیست؟


محدود کردن عملکرد برای کنترل دما — Thermal Throttling

Thermal Throttling
یعنی کاهش Performance
یا فرکانس
برای جلوگیری از عبور دما
از محدوده ایمن.

این رفتار
یک سازوکار محافظتی است،
نه نشانه خرابی خودکار CPU.

Power Throttling چیست؟


محدود کردن عملکرد به دلیل سقف توان — Power Throttling

Power Throttling
یعنی CPU
به دلیل رسیدن به محدودیت توان
نتواند فرکانس بالاتر
یا Performance بیشتری
حفظ کند.

در این حالت
ممکن است دما هنوز
به Thermal Limit نرسیده باشد.

Current Limit چیست؟


محدودیت جریان — Current Limit

Current Limit
یا «محدودیت جریان»
سقفی برای مقدار جریان الکتریکی
قابل استفاده
توسط پردازنده یا بخش های آن است.

محدودیت جریان
نیز می تواند
رفتار Boost و Performance
را تحت تاثیر قرار دهد.

VRM چیست؟


ماژول تنظیم ولتاژ — Voltage Regulator Module

VRM
مخفف:

Voltage Regulator Module

و به معنی
«ماژول تنظیم ولتاژ»
است.

VRM
ولتاژ مناسب
برای CPU و بخش های مختلف سیستم
را تامین و تنظیم می کند.

کیفیت طراحی VRM
در مادربردها و سیستم های پرقدرت
می تواند در پایداری
و تامین توان پردازنده
اهمیت داشته باشد.

تاثیر بر عملکرد — Performance Impact: چرا دو دستگاه با CPU یکسان می توانند سرعت متفاوتی داشته باشند؟

فرض کنید دو سیستم
دقیقاً یک مدل CPU دارند.

اما سیستم A:

  • Power Limit بالاتری دارد،
  • خنک کننده قوی تری دارد،
  • VRM مناسب تری دارد،
  • و دمای کمتری حفظ می کند.

سیستم B
ممکن است:

  • توان محدودتری داشته باشد،
  • خنک کننده کوچک تری داشته باشد،
  • و زودتر به Thermal Limit برسد.

در نتیجه:

Same CPU Model
≠
Same Sustained Performance

چرا نسخه لپ تاپی و دسکتاپ یک خانواده CPU رفتار متفاوتی دارند؟

حتی اگر نام خانوادگی پردازنده ها
مشابه باشد،
بودجه توان
و شرایط خنک سازی
می تواند بسیار متفاوت باشد.

سیستم دسکتاپ
معمولاً فضای بیشتری
برای خنک کننده،
VRM
و مصرف توان دارد.

دستگاه قابل حمل
باید محدودیت هایی مانند:

  • وزن،
  • ضخامت،
  • باتری،
  • دمای سطح دستگاه،
  • صدای فن

را نیز مدیریت کند.

بنابراین مقایسه CPU
فقط با نام مدل
می تواند گمراه کننده باشد.

خنک کننده چگونه روی Performance اثر می گذارد؟

خنک کننده
مستقیماً Core را سریع تر نمی کند.

اما اگر CPU
به دلیل گرما
مجبور به کاهش فرکانس شود،
سیستم خنک کننده بهتر
می تواند اجازه دهد
CPU مدت بیشتری
Performance بالاتر خود را حفظ کند.

Better Cooling
→
Lower Temperature
→
More Thermal Headroom
→
Potentially Higher Sustained Performance

Headroom چیست؟


حاشیه ظرفیت — Headroom

Headroom
یا «حاشیه ظرفیت»
مقدار فضای باقی مانده
تا رسیدن به یک محدودیت است.

برای مثال:

  • Thermal Headroom = فاصله تا محدودیت دما
  • Power Headroom = فاصله تا محدودیت توان

Efficiency Curve چیست؟


منحنی بهره وری — Efficiency Curve

Efficiency Curve
یا «منحنی بهره وری»
نشان می دهد
رابطه Performance
با توان مصرفی
در نقاط کاری مختلف
چگونه تغییر می کند.

CPU معمولاً
در تمام فرکانس ها
Performance per Watt یکسانی ندارد.

Sweet Spot چیست؟


نقطه بهینه — Sweet Spot

Sweet Spot
یا «نقطه بهینه»
محدوده ای است
که تعادل مناسبی
میان Performance،
توان،
دما
یا هزینه وجود دارد.

در CPU،
ممکن است فرکانسی وجود داشته باشد
که کمی Performance کمتر
نسبت به حداکثر Boost ارائه دهد
اما با توان بسیار پایین تر.

نکته مهندسی — Engineering Insight: آخرین 10 درصد Performance ممکن است بسیار گران تمام شود

یک CPU را فرض کنید
که در سطح توان پایین تر
90 درصد Performance حداکثر را می دهد.

برای رسیدن به 100 درصد Performance
ممکن است نیاز باشد
توان بسیار بیشتری مصرف شود.

90% Performance
→
Moderate Power

100% Performance
→
Much Higher Power

این همان دلیلی است
که تنظیم Power Limit
در برخی سیستم ها
می تواند با افت کم Performance
کاهش قابل توجهی
در توان و دما ایجاد کند.

Race to Idle چیست؟


سریع انجام دادن کار و بازگشت به حالت کم مصرف — Race to Idle

Race to Idle
مفهومی در مدیریت انرژی است
که می گوید
گاهی بهتر است
کار با Performance بالاتر
سریع تر تمام شود
تا پردازنده
زودتر به حالت کم مصرف
بازگردد.

بنابراین
«توان لحظه ای کمتر»
همیشه به معنی
«انرژی کل کمتر»
نیست.

پشت صحنه فنی — Under the Hood: توان کمتر همیشه انرژی کمتر نیست

حالت A:

20 W
×
10 seconds
=
200 J

حالت B:

30 W
×
5 seconds
=
150 J

در این مثال ساده،
حالت B
توان لحظه ای بیشتری دارد
اما انرژی کل کمتری مصرف می کند.

واحد:

Joule
=
J

ژول
واحد انرژی است.

Undervolting چیست؟


کاهش ولتاژ کاری — Undervolting

Undervolting
یا «کاهش ولتاژ کاری»
یعنی تلاش برای اجرای CPU
با ولتاژ کمتر
نسبت به تنظیم پیش فرض
در یک شرایط مشخص.

هدف می تواند:

  • کاهش مصرف توان،
  • کاهش دما،
  • کاهش صدای فن،
  • یا بهبود Efficiency

باشد.

اما کاهش بیش از حد ولتاژ
می تواند باعث ناپایداری شود.

چرا دو CPU یک مدل ممکن است به ولتاژ یکسان نیاز نداشته باشند؟


تفاوت طبیعی تراشه ها — Silicon Variation

Silicon Variation
یا «تفاوت طبیعی میان تراشه های سیلیکونی»
به تفاوت های جزئی
میان نمونه های تولید شده
از یک طراحی مشابه اشاره دارد.

به همین دلیل
همه نمونه های یک مدل CPU
الزاماً رفتار الکتریکی
کاملاً یکسانی ندارند.

Silicon Lottery چیست؟


اصطلاح عامیانه کیفیت متفاوت نمونه های تراشه — Silicon Lottery

Silicon Lottery
اصطلاحی غیررسمی است
که برای اشاره به تفاوت
قابلیت نمونه های مختلف
یک مدل پردازنده
در ولتاژ،
فرکانس
یا Overclocking استفاده می شود.

این عبارت
یک اصطلاح مهندسی رسمی نیست،
اما در جامعه سخت افزار
بسیار رایج است.

Overclocking چیست؟


افزایش فرکانس فراتر از تنظیم معمول — Overclocking

Overclocking
یا «اورکلاک»
یعنی اجرای پردازنده
با تنظیماتی
فراتر از مشخصات یا رفتار معمول
تعریف شده برای آن پلتفرم.

افزایش فرکانس
ممکن است نیازمند
افزایش ولتاژ باشد.

در نتیجه:

Overclock
→
Higher Frequency
→
Possibly Higher Voltage
→
Higher Power / Heat

اشتباه رایج — Common Mistake: 10 درصد فرکانس بیشتر یعنی فقط 10 درصد مصرف بیشتر

چنین رابطه ساده ای
وجود ندارد.

اگر برای افزایش فرکانس
ولتاژ نیز افزایش پیدا کند،
توان می تواند
سریع تر از فرکانس افزایش یابد.

همچنین Performance
نیز الزاماً دقیقاً
به اندازه افزایش فرکانس
افزایش پیدا نمی کند.

Power Virus چیست؟


بار مصنوعی بسیار سنگین برای ایجاد مصرف توان بالا — Power Virus

Power Virus
اصطلاحی است
برای Workload مصنوعی
که با هدف ایجاد
فعالیت بسیار سنگین
و مصرف توان بالا
در پردازنده طراحی شده است.

این نوع Workload
الزاماً نماینده استفاده واقعی
یک کاربر معمولی نیست.

Stress Test چیست؟


آزمون فشار — Stress Test

Stress Test
یا «آزمون فشار»
آزمایشی است
که سیستم را
تحت بار سنگین
قرار می دهد
تا پایداری،
دما،
مصرف توان
یا رفتار خنک کننده
بررسی شود.

Stress Test
با Benchmark
دقیقاً یک هدف ندارد.

نوع تست هدف اصلی
Benchmark اندازه گیری Performance در Workload مشخص
Stress Test بررسی رفتار سیستم زیر بار شدید و پایداری

آیا عدد وات روی خنک کننده را می توان مستقیماً با TDP CPU مقایسه کرد؟

باید با احتیاط انجام شود.

روش اعلام
ظرفیت حرارتی خنک کننده
بین سازندگان
همیشه استاندارد کاملاً یکسانی ندارد.

انتخاب Cooler مناسب
باید بر اساس:

  • توان واقعی CPU در Workload،
  • نوع کیس،
  • Airflow،
  • دمای محیط،
  • سطح صدای قابل قبول،
  • و محدودیت فیزیکی نصب

انجام شود.

Airflow چیست؟


جریان هوا — Airflow

Airflow
یا «جریان هوا»
حرکت هوای خنک کننده
در اطراف قطعات
و داخل سیستم است.

Cooler خوب
بدون جریان هوای مناسب
داخل کیس
ممکن است نتواند
عملکرد حرارتی مطلوبی ارائه دهد.

آیا دمای پایین تر همیشه Performance بیشتری می دهد؟

خیر.

اگر CPU
در حال حاضر
به هیچ محدودیت حرارتی
یا توان نرسیده باشد،
پایین آوردن بیشتر دما
الزاماً Performance را افزایش نمی دهد.

کاهش دما زمانی
بیشتر اهمیت Performance پیدا می کند
که Thermal Headroom
محدود کننده رفتار Boost باشد.

اشتباه رایج — Common Mistake: CPU با دمای 60 درجه حتماً سریع تر از همان CPU در 75 درجه است

نه لزوماً.

اگر هر دو CPU
در همان فرکانس،
ولتاژ
و محدودیت های عملکردی کار کنند،
تفاوت دما
الزاماً Performance متفاوتی ایجاد نمی کند.

دما زمانی مشکل می شود
که باعث محدود شدن
رفتار پردازنده شود.

Power Profile چیست؟


پروفایل توان — Power Profile

Power Profile
یا «پروفایل توان»
مجموعه ای از سیاست ها
برای مدیریت:

  • Performance،
  • Power Limit،
  • Fan Behavior،
  • فرکانس،
  • و مصرف انرژی

است.

دستگاه ممکن است
حالت هایی مانند:

Silent
/
Balanced
/
Performance

داشته باشد.


Silent / Balanced / Performance یعنی چه؟

Silent
یعنی «حالت کم صدا»
و معمولاً مصرف توان و سرعت فن
را محدودتر می کند.

Balanced
یعنی «حالت متعادل»
که بین Performance،
صدا
و مصرف انرژی
تعادل ایجاد می کند.

Performance Mode
یا «حالت عملکرد بالا»
معمولاً اجازه استفاده
از بودجه توان و خنک سازی بیشتری
را می دهد.

چرا Performance روی باتری ممکن است کمتر باشد؟

در سیستم قابل حمل،
سازنده ممکن است
هنگام کار با باتری:

  • Power Limit را کاهش دهد،
  • Boost را محدود کند،
  • GPU یا CPU را در سطح توان پایین تری نگه دارد،
  • یا سیاست سیستم عامل را تغییر دهد.

هدف اصلی
افزایش عمر باتری،
کنترل دما
و کاهش جریان لحظه ای
از باتری است.

Energy Efficiency چیست؟


بهره وری انرژی — Energy Efficiency

Energy Efficiency
یا «بهره وری انرژی»
نشان می دهد
چه مقدار کار مفید
در برابر مقدار انرژی مصرف شده
انجام می شود.

این مفهوم
با Power Efficiency مرتبط است،
اما Energy
زمان اجرای Workload را نیز
در نظر می گیرد.

چرا Performance per Watt در Server و Datacenter اهمیت زیادی دارد؟

در دیتاسنتر
فقط قیمت خرید CPU مهم نیست.

تعداد زیادی سیستم
به طور مداوم:

  • برق مصرف می کنند،
  • گرما تولید می کنند،
  • به خنک سازی نیاز دارند،
  • و ظرفیت توزیع برق مشخصی مصرف می کنند.

بنابراین حتی افزایش کوچک
Performance per Watt
در مقیاس هزاران پردازنده
می تواند اثر اقتصادی بزرگی داشته باشد.


مرکز داده — Datacenter

Datacenter
یا «مرکز داده»
مجموعه ای از زیرساخت های محاسباتی،
شبکه،
ذخیره سازی،
برق
و خنک سازی
برای اجرای سرویس های کامپیوتری
در مقیاس بزرگ است.

چرا Efficiency در موبایل و تبلت حیاتی است؟

دستگاه قابل حمل
با ظرفیت محدود باتری
و فضای خنک سازی کم
روبه رو است.

بنابراین طراحی CPU
باید بتواند
Performance مناسب
را با مصرف انرژی
و تولید گرمای پایین
ترکیب کند.

این یکی از دلایل مهم
توسعه تکنیک هایی مانند:

  • DVFS،
  • Clock Gating،
  • Power Gating،
  • Core Parking،
  • و معماری های Hybrid

است.

Clock Gating چیست؟


قطع کلاک بخش بلااستفاده — Clock Gating

Clock Gating
یا «قطع کلاک بخش بلااستفاده»
تکنیکی است
که سیگنال Clock
را برای قسمت هایی از مدار
که فعلاً نیاز نیستند
متوقف می کند.

این کار
می تواند Dynamic Power
را کاهش دهد.

Power Gating چیست؟


قطع توان بخش بلااستفاده — Power Gating

Power Gating
یا «قطع توان بخش بلااستفاده»
تکنیکی است
که تامین توان
به بخشی از مدار
در زمان عدم نیاز
محدود یا قطع می شود.

این روش
می تواند علاوه بر Dynamic Power
در کاهش Leakage
نیز موثر باشد.

روش چه چیزی محدود می شود؟ هدف اصلی
Clock Gating Clock بخش بلااستفاده کاهش فعالیت سوئیچینگ و Dynamic Power
Power Gating تامین توان بخش بلااستفاده کاهش مصرف، از جمله Leakage

تغییر حالت توان رایگان است؟

خیر.

ورود و خروج
از حالت های کم مصرف
می تواند:

  • Latency،
  • انرژی،
  • و پیچیدگی کنترلی

داشته باشد.

بنابراین CPU
نمی تواند بدون توجه
به مدت بیکاری
دائماً عمیق ترین حالت
صرفه جویی انرژی را انتخاب کند.

Hardware Power Management چیست؟


مدیریت سخت افزاری توان — Hardware Power Management

Hardware Power Management
یا «مدیریت سخت افزاری توان»
به سازوکارهایی گفته می شود
که خود سخت افزار
برای تنظیم سریع
Performance و مصرف انرژی
استفاده می کند.

سیستم عامل
نیز می تواند
سیاست و اولویت های خود را
در اختیار این سیستم ها قرار دهد.

Performance State چیست؟


حالت عملکردی — Performance State

Performance State
به یکی از وضعیت های
عملکرد و توان CPU اشاره دارد
که می تواند
با ترکیبی از فرکانس
و ولتاژ متفاوت همراه باشد.

P-State چیست؟


حالت عملکرد و توان — P-State

P-State
اصطلاحی برای
حالت های Performance
پردازنده است
که معمولاً به سطحی
از فرکانس و ولتاژ
مربوط می شوند.

P-State را نباید
با P-Core
اشتباه گرفت.

اشتباه رایج — Common Mistake: P-State همان P-Core است

خیر.

P-State
درباره وضعیت Performance و توان پردازنده است.

P-Core
نوعی Core
در بعضی معماری های Hybrid است.

P-State
≠
P-Core

Power Density چیست؟


چگالی توان — Power Density

Power Density
یا «چگالی توان»
مقدار توان مصرفی
در یک مساحت مشخص
از تراشه است.

حتی اگر توان کل
خیلی بالا نباشد،
متمرکز شدن آن
در یک ناحیه کوچک
می تواند خنک سازی را دشوار کند.

Hotspot چیست؟


نقطه داغ — Thermal Hotspot

Hotspot
یا «نقطه داغ»
ناحیه ای از تراشه است
که دمای بالاتری
نسبت به سایر بخش ها دارد.

دمای CPU
الزاماً در تمام بخش های دای
یکسان نیست.

Heat Flux چیست؟


شار حرارتی — Heat Flux

Heat Flux
یا «شار حرارتی»
مقدار انتقال گرما
در واحد سطح است.

پردازنده کوچک
با Power Density بالا
می تواند خنک سازی دشواری داشته باشد
حتی اگر توان کل آن
از تراشه بزرگ تر کمتر باشد.

کوچک تر شدن فناوری ساخت همیشه مصرف را کم می کند؟

نه به صورت خودکار.

فناوری ساخت پیشرفته تر
می تواند مزایای مهمی
در Performance،
Density
و Efficiency ایجاد کند.

اما طراح ممکن است
از این ظرفیت
برای:

  • افزایش تعداد ترانزیستور،
  • افزایش Core،
  • افزایش Cache،
  • افزایش فرکانس،
  • یا افزودن قابلیت های جدید

استفاده کند.

بنابراین فناوری ساخت بهتر
لزوماً به معنی
مصرف کل کمتر محصول نهایی نیست.

تاثیر بر عملکرد — Performance Impact: CPU سریع تر همیشه CPU بهینه تر نیست

فرض کنید CPU A
10 درصد سریع تر از CPU B باشد
اما برای آن
40 درصد توان بیشتری مصرف کند.

در این شرایط
CPU A Performance بیشتری دارد،
اما Performance per Watt
آن الزاماً بهتر نیست.

در کاربردهایی مانند:

  • Server،
  • Datacenter،
  • لپ تاپ،
  • Mini PC،
  • سیستم های همیشه روشن

Efficiency
می تواند به اندازه Performance خام
اهمیت داشته باشد.

هنگام مقایسه CPU از نظر توان چه چیزهایی را بررسی کنیم؟

01
TDP را تنها معیار ندانیدرفتار واقعی توان را در Benchmark و Reviewهای معتبر بررسی کنید.
02
Power Limit را بررسی کنیدمخصوصاً در سیستم های آماده و دستگاه های قابل حمل.
03
Sustained Performance را ببینیدPerformance کوتاه مدت همیشه نماینده بار طولانی نیست.
04
سیستم خنک کننده را بررسی کنیدCooler و Airflow می توانند روی Performance پایدار اثر بگذارند.
05
Performance per Watt را فراموش نکنیدمخصوصاً برای دستگاه های همراه و سیستم های طولانی مدت.
06
Workload واقعی را معیار قرار دهیدمصرف توان یک بازی با رندر، کامپایل یا Stress Test یکسان نیست.

اشتباهات رایج — Common Mistakes: توان، ولتاژ و فرکانس CPU
  • یکی دانستن Power و Energy.
  • فرض اینکه TDP همان حداکثر مصرف CPU است.
  • فرض اینکه GHz بیشتر بدون هزینه توان به دست می آید.
  • نادیده گرفتن اثر V² در توان پویا.
  • فرض اینکه دو Workload با Frequency یکسان مصرف یکسانی دارند.
  • نادیده گرفتن Static Power و Leakage.
  • فرض اینکه Maximum Boost روی همه Coreها حفظ می شود.
  • یکی دانستن Base Frequency و فرکانس واقعی دائمی.
  • یکی دانستن Thermal Throttling و Power Throttling.
  • فرض اینکه دمای پایین تر همیشه Performance بیشتری می دهد.
  • فرض اینکه Cooler قوی تر مستقیماً IPC را افزایش می دهد.
  • نادیده گرفتن Power Limit سازنده دستگاه.
  • نادیده گرفتن VRM.
  • فرض اینکه Undervolting همیشه پایدار است.
  • فرض اینکه Overclocking فقط Frequency را تغییر می دهد.
  • یکی دانستن P-State و P-Core.
  • فرض اینکه فناوری ساخت کوچک تر الزاماً مصرف کل کمتر می دهد.
  • نادیده گرفتن Power Density و Hotspot.

سوالات متداول درباره توان و فرکانس CPU

Power چیست؟

توان نرخ مصرف یا انتقال انرژی
در واحد زمان است
و با Watt اندازه گیری می شود.

Energy چیست؟

مقدار کل انرژی مصرف شده است
و به Power و مدت زمان
استفاده وابسته است.

رابطه P ≈ C × V² × f چیست؟

یک مدل ساده شده
برای توضیح توان پویا
در مدارهای دیجیتال است
که اثر ظرفیت، ولتاژ و فرکانس
را نشان می دهد.

چرا افزایش Voltage مصرف را زیاد می کند؟

در مدل توان پویا
اثر ولتاژ به صورت V² ظاهر می شود
و افزایش ولتاژ
می تواند تاثیر قابل توجهی
روی مصرف داشته باشد.

TDP چیست؟

Thermal Design Power
یا توان طراحی حرارتی
عددی مرتبط با طراحی
نیازهای حرارتی سیستم است
و نباید مستقیماً
با حداکثر مصرف CPU یکی دانسته شود.

Power Limit چیست؟

محدودیتی است
که میزان توان قابل استفاده CPU
را در شرایط و بازه زمانی مشخص
کنترل می کند.

آیا CPU با Boost پنج گیگاهرتز همیشه در پنج گیگاهرتز کار می کند؟

خیر.
فرکانس واقعی
به تعداد Coreهای فعال،
توان،
دما،
Workload
و سیاست مدیریت انرژی بستگی دارد.

Thermal Throttling چیست؟

کاهش Performance
برای جلوگیری از عبور دما
از محدوده ایمن است.

Power Throttling چیست؟

محدود شدن Performance
به دلیل رسیدن پردازنده
به سقف توان است.

Undervolting چیست؟

کاهش ولتاژ کاری CPU
با هدف کاهش توان و دما است؛
اما کاهش بیش از حد
می تواند ناپایداری ایجاد کند.

آیا دو لپ تاپ با CPU یکسان Performance یکسان دارند؟

الزاماً خیر.
Power Limit،
خنک کننده،
Firmware،
RAM
و طراحی دستگاه
می توانند Performance متفاوتی ایجاد کنند.

چرا CPU در Stress Test داغ تر از استفاده معمولی می شود؟

چون Stress Test
می تواند درصد بیشتری
از مدارها و واحدهای اجرایی CPU
را به صورت مداوم فعال کند
و Activity Factor بیشتری ایجاد کند.

Clock Gating چیست؟

متوقف کردن Clock
برای بخش های بلااستفاده
با هدف کاهش Dynamic Power است.

Power Gating چیست؟

کاهش یا قطع تامین توان
بخش های بلااستفاده
برای کاهش مصرف انرژی است.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Power: توان؛ نرخ مصرف یا انتقال انرژی.
  • Energy: انرژی؛ مقدار کل انرژی مصرف شده.
  • Voltage: ولتاژ یا اختلاف پتانسیل الکتریکی.
  • Current: جریان الکتریکی.
  • Dynamic Power: توان ناشی از سوئیچ شدن مدار.
  • Static Power: توان ایستا.
  • Leakage Current: جریان نشتی.
  • Activity Factor: ضریب فعالیت مدار.
  • Frequency Wall: محدودیت عملی افزایش فرکانس به دلیل توان و حرارت.
  • Package Power: توان مصرفی مجموعه پکیج پردازنده.
  • TDP: Thermal Design Power یا توان طراحی حرارتی.
  • Power Limit: محدودیت توان.
  • PL1 / PL2: سطوح مدیریت محدودیت توان در برخی پردازنده های Intel.
  • Tau: پارامتر زمانی مرتبط با مدیریت توان در برخی پلتفرم ها.
  • Boost: افزایش پویا فرکانس در شرایط مناسب.
  • Base Frequency: فرکانس پایه.
  • Maximum Boost Frequency: حداکثر فرکانس Boost.
  • All-Core Frequency: فرکانس Coreها هنگام بار چند هسته ای.
  • Thermal Limit: محدودیت حرارتی.
  • Thermal Throttling: کاهش Performance برای کنترل دما.
  • Power Throttling: محدود شدن Performance به دلیل سقف توان.
  • Current Limit: محدودیت جریان.
  • VRM: Voltage Regulator Module یا ماژول تنظیم ولتاژ.
  • Headroom: حاشیه ظرفیت تا رسیدن به محدودیت.
  • Efficiency Curve: منحنی رابطه Performance و Efficiency در نقاط مختلف.
  • Sweet Spot: نقطه بهینه میان چند معیار.
  • Race to Idle: تمام کردن سریع کار و بازگشت زودتر به حالت کم مصرف.
  • Undervolting: کاهش ولتاژ کاری.
  • Silicon Variation: تفاوت طبیعی میان نمونه های تراشه.
  • Silicon Lottery: اصطلاح عامیانه تفاوت قابلیت نمونه های یک تراشه.
  • Overclocking: افزایش فرکانس یا تنظیمات فراتر از رفتار معمول.
  • Power Virus: Workload مصنوعی با مصرف توان بسیار بالا.
  • Stress Test: آزمون فشار سیستم.
  • Airflow: جریان هوا.
  • Power Profile: مجموعه سیاست های مدیریت توان و Performance.
  • Energy Efficiency: مقدار کار مفید به ازای انرژی مصرف شده.
  • Datacenter: مرکز داده.
  • Clock Gating: قطع Clock بخش بلااستفاده.
  • Power Gating: کاهش یا قطع توان بخش بلااستفاده.
  • Performance State: حالت عملکردی پردازنده.
  • P-State: حالت مدیریت Performance و توان CPU.
  • Power Density: چگالی توان.
  • Thermal Hotspot: نقطه داغ تراشه.
  • Heat Flux: شار حرارتی.

خلاصه فصل

Performance CPU
بدون در نظر گرفتن
توان و دما
قابل تحلیل کامل نیست.

در یک مدل ساده:

Dynamic Power
≈
C × V² × f

بنابراین افزایش Frequency
و مخصوصاً Voltage
می تواند مصرف توان را
به شکل قابل توجهی افزایش دهد.

پردازنده مدرن
دائماً میان:

Performance
↔
Power
↔
Temperature
↔
Efficiency

تعادل ایجاد می کند.

TDP،
Power Limit،
Boost Frequency
و Maximum Clock
را نباید
به صورت جدا از یکدیگر
تفسیر کرد.

مهم ترین قانون این فصل:


فرکانس بیشتر رایگان نیست؛
CPU برای Performance بیشتر
باید در محدوده محدود توان،
ولتاژ و دما کار کند،
و طراحی سیستم تعیین می کند
این Performance چه مدت قابل حفظ است.


فصل 72
سطح: متوسط تا پیشرفته
موضوع: انتقال حرارت و خنک سازی پردازنده
تمرکز: Die / IHS / TIM / Heatsink / Heat Pipe / Vapor Chamber / Thermal Resistance

تولید گرما فقط نیمی از مسئله است؛ نیمه دیگر این است که گرما چگونه از تراشه خارج می شود

گرمای CPU چگونه از داخل تراشه به هوای محیط منتقل می شود؟

وقتی پردازنده کار می کند،
بخشی از انرژی الکتریکی مصرف شده
در نهایت به گرما تبدیل می شود.
این گرما باید از ترانزیستورهای بسیار کوچک داخل تراشه
عبور کند و به محیط اطراف منتقل شود.

مسیر انتقال گرما
می تواند شامل Die،
مواد واسط حرارتی،
IHS،
خمیر حرارتی،
صفحه تماس خنک کننده،
Heat Pipe یا Vapor Chamber،
پره های فلزی
و در نهایت هوا باشد.

هر مرحله از این مسیر
در برابر انتقال گرما
مقداری مقاومت ایجاد می کند.

CPU Die
→
TIM
→
IHS
→
Thermal Paste
→
Cooler Base
→
Heat Pipe / Vapor Chamber
→
Fins
→
Air

در این فصل چه چیزهایی یاد می گیریم؟

  • Die چیست.
  • Heat چیست و چه تفاوتی با Temperature دارد.
  • Heat Transfer چیست.
  • Conduction چیست.
  • Convection چیست.
  • Radiation چیست.
  • IHS چیست.
  • TIM چیست.
  • Thermal Paste چه کاری انجام می دهد.
  • Heatsink چیست.
  • Cold Plate چیست.
  • Heat Pipe چگونه کار می کند.
  • Vapor Chamber چیست.
  • Fin Stack چیست.
  • Airflow چه نقشی دارد.
  • Thermal Resistance چیست.
  • واحد °C/W چه مفهومی دارد.
  • Thermal Conductivity چیست.
  • Hotspot چیست.
  • Thermal Interface چرا اهمیت دارد.
  • Mounting Pressure چیست.
  • Heat Soak چیست.
  • Thermal Saturation چیست.
  • چرا Benchmark کوتاه مدت ممکن است رفتار حرارتی واقعی را نشان ندهد.

Heat و Temperature چه تفاوتی دارند؟


گرما و دما — Heat vs Temperature

Heat
یا «گرما»
به انتقال انرژی حرارتی
میان اجسام یا نواحی
به دلیل اختلاف دما اشاره دارد.

Temperature
یا «دما»
نشان دهنده وضعیت حرارتی
یک جسم یا ناحیه است.

بنابراین گرما و دما
یک مفهوم نیستند.

Heat
≠
Temperature

CPU Die چیست؟


دای یا قطعه اصلی سیلیکونی تراشه — Die

Die
که در فارسی می توان آن را
«قطعه اصلی سیلیکونی تراشه»
یا به اختصار «دای»
نامید،
بخشی از پردازنده است
که مدارهای الکترونیکی واقعی
روی آن ساخته شده اند.

Coreها،
Cacheها
و بسیاری از اجزای دیگر پردازنده
در Die قرار می گیرند
یا در طراحی های چند تراشه ای
میان چند Die تقسیم می شوند.

گرمای CPU دقیقاً کجا تولید می شود؟

گرما در خود مدارهای فعال تراشه
و در نتیجه مصرف انرژی الکتریکی
ایجاد می شود.

اما توزیع تولید گرما
در سراسر Die یکسان نیست.

برخی بخش ها ممکن است
در یک Workload خاص
فعالیت بسیار بیشتری داشته باشند.

در نتیجه:

Uneven Activity
→
Uneven Power Density
→
Uneven Temperature

Thermal Hotspot چیست؟


نقطه داغ حرارتی — Thermal Hotspot

Thermal Hotspot
یا «نقطه داغ حرارتی»
ناحیه ای از تراشه است
که نسبت به بخش های دیگر
دمای بیشتری دارد.

به همین دلیل
وقتی گفته می شود
CPU مثلاً 80 درجه است،
نباید تصور کنیم
تمام سطح تراشه دقیقاً
80 درجه دما دارد.

Heat Transfer چیست؟


انتقال حرارت — Heat Transfer

Heat Transfer
یا «انتقال حرارت»
به جابه جایی انرژی حرارتی
از ناحیه گرم تر
به ناحیه سردتر گفته می شود.

سه سازوکار اصلی انتقال حرارت عبارتند از:

  • Conduction یا رسانش،
  • Convection یا همرفت،
  • Radiation یا تابش.

Conduction چیست؟


رسانش حرارتی — Conduction

Conduction
یا «رسانش حرارتی»
انتقال گرما
درون یک ماده
یا میان مواد در تماس مستقیم است.

برای مثال،
انتقال گرما از IHS
به پایه فلزی خنک کننده
عمدتاً از طریق رسانش انجام می شود.

Convection چیست؟


همرفت — Convection

Convection
یا «همرفت»
انتقال گرما
به وسیله حرکت یک سیال
مانند هوا یا مایع است.

عبور هوا از میان
پره های Heatsink
نمونه مهمی از این سازوکار
در سیستم خنک کننده کامپیوتر است.

Radiation چیست؟


تابش حرارتی — Thermal Radiation

Thermal Radiation
یا «تابش حرارتی»
انتقال انرژی
به شکل امواج الکترومغناطیسی است.

این سازوکار وجود دارد،
اما در خنک سازی معمول CPU
رسانش و همرفت
معمولاً نقش عملی مهم تری دارند.

روش انتقال معنی فارسی نمونه در سیستم CPU
Conduction رسانش انتقال گرما میان IHS و خنک کننده
Convection همرفت انتقال گرما از پره ها به هوای عبوری
Radiation تابش انتقال بخشی از انرژی به صورت تابش حرارتی

IHS چیست؟


پخش کننده یکپارچه حرارت — Integrated Heat Spreader

IHS
مخفف:

Integrated Heat Spreader

است و می توان آن را
«پخش کننده یکپارچه حرارت»
ترجمه کرد.

IHS
همان سطح فلزی بزرگی است
که روی بسیاری از CPUهای دسکتاپ
دیده می شود.

یکی از وظایف آن
پخش کردن گرمای تولید شده
از سطح کوچک Die
روی سطح بزرگ تر است.

پشت صحنه فنی — Under the Hood: چرا خنک کننده مستقیماً روی ترانزیستورها قرار نمی گیرد؟

ترانزیستورها
داخل ساختار سیلیکونی Die قرار دارند
و سطح تراشه
بسیار کوچک و حساس است.

IHS می تواند:

  • سطح تماس بزرگ تری ایجاد کند،
  • گرما را در سطح بیشتری پخش کند،
  • از Die محافظت مکانیکی کند،
  • نصب خنک کننده را ساده تر کند.

البته اضافه شدن هر لایه
به مسیر انتقال حرارت
مقداری مقاومت حرارتی نیز ایجاد می کند.

TIM چیست؟


ماده واسط حرارتی — Thermal Interface Material

TIM
مخفف:

Thermal Interface Material

و به معنی
«ماده واسط حرارتی»
است.

TIM
ماده ای است
که بین دو سطح
در مسیر انتقال حرارت
قرار می گیرد
تا تماس حرارتی بهتری ایجاد کند.

چرا اصلاً به TIM یا خمیر حرارتی نیاز داریم؟

حتی دو سطح فلزی
که با چشم کاملاً صاف دیده می شوند،
در مقیاس میکروسکوپی
دارای ناهمواری هستند.

اگر این دو سطح
مستقیماً روی یکدیگر قرار بگیرند،
میان آنها حفره های بسیار کوچکی
باقی می ماند.

این حفره ها
ممکن است با هوا پر شوند.

TIM
این فضاهای میکروسکوپی را پر می کند
و مسیر انتقال حرارت
را بهبود می دهد.

Thermal Paste چیست؟


خمیر حرارتی — Thermal Paste

Thermal Paste
یا «خمیر حرارتی»
یکی از انواع رایج
Thermal Interface Material است.

وظیفه آن
پر کردن ناهمواری های بسیار کوچک
میان دو سطح تماس است.

خمیر حرارتی
قرار نیست یک لایه ضخیم
میان CPU و Cooler ایجاد کند.

اشتباه رایج — Common Mistake: هرچه خمیر حرارتی بیشتر باشد، خنک سازی بهتر می شود

خیر.

هدف خمیر حرارتی
پر کردن خلل و فرج
و ناهمواری های میکروسکوپی
میان دو سطح است.

لایه بیش از حد ضخیم
می تواند مسیر انتقال حرارت
را نامطلوب کند.

مقدار و روش مناسب
به نوع پردازنده،
سطح تماس
و نوع TIM بستگی دارد.

Thermal Conductivity چیست؟


رسانندگی حرارتی — Thermal Conductivity

Thermal Conductivity
یا «رسانندگی حرارتی»
نشان می دهد
یک ماده تا چه اندازه
توانایی انتقال گرما
از طریق رسانش را دارد.

نماد رایج آن:

k

و یکی از واحدهای متداول آن:

W / (m·K)

یعنی «وات بر متر کلوین» است.

به طور کلی،
ماده ای با Thermal Conductivity بالاتر
می تواند گرما را
بهتر از طریق رسانش منتقل کند.

اما عملکرد واقعی یک رابط حرارتی
فقط با عدد رسانندگی ماده
تعیین نمی شود.

ضخامت،
سطح تماس،
فشار نصب
و کیفیت پخش شدن ماده
نیز اهمیت دارند.

Cold Plate چیست؟


صفحه سرد یا صفحه تماس خنک کننده — Cold Plate

Cold Plate
یا «صفحه سرد»
سطحی از سیستم خنک کننده است
که با CPU یا IHS
تماس حرارتی نزدیک دارد.

وظیفه آن
دریافت گرما از پردازنده
و انتقال آن
به بخش های بعدی سیستم خنک کننده است.

Heatsink چیست؟


گرماگیر — Heatsink

Heatsink
یا «گرماگیر»
ساختاری معمولاً فلزی است
که گرما را از قطعه دریافت کرده
و با افزایش سطح تماس با هوا
انتقال آن به محیط را آسان تر می کند.

Fin Stack چیست؟


مجموعه پره های خنک کننده — Fin Stack

Fin Stack
یا «مجموعه پره های خنک کننده»
از تعداد زیادی صفحه یا پره نازک
تشکیل می شود.

هدف اصلی پره ها
افزایش سطح تماس فلز
با هوا است.

Larger Effective Surface Area
→
Better Opportunity for Heat Transfer to Air

Heat Pipe چیست؟


لوله حرارتی — Heat Pipe

Heat Pipe
یا «لوله حرارتی»
وسیله ای برای انتقال موثر گرما
از یک نقطه به نقطه دیگر است.

Heat Pipe معمولاً
یک ساختار بسته
حاوی مقدار مشخصی سیال کاری دارد.

پشت صحنه فنی — Under the Hood: داخل Heat Pipe چه اتفاقی می افتد؟

در ناحیه گرم،
سیال کاری داخل Heat Pipe
انرژی دریافت می کند
و بخشی از آن تبخیر می شود.

Liquid
+
Heat
→
Vapor

بخار
به سمت ناحیه سردتر حرکت می کند.

در ناحیه سردتر،
بخار گرما را آزاد کرده
و دوباره به مایع تبدیل می شود.

Vapor
→
Condensation
→
Liquid

سپس ساختار داخلی Heat Pipe
به بازگشت مایع
به سمت ناحیه گرم کمک می کند.

Wick Structure چیست؟


ساختار مویین داخلی — Wick Structure

Wick Structure
یا «ساختار مویین داخلی»
بخشی از Heat Pipe است
که به بازگشت مایع
از بخش سرد
به بخش گرم کمک می کند.

این فرایند
از خاصیت مویینگی
استفاده می کند.


خاصیت مویینگی — Capillary Action

Capillary Action
یا «خاصیت مویینگی»
پدیده ای است
که می تواند باعث حرکت مایع
در فضاها و ساختارهای بسیار باریک شود.

این ویژگی
در بازگرداندن سیال کاری
داخل Heat Pipe
نقش مهمی دارد.

Vapor Chamber چیست؟


محفظه بخار — Vapor Chamber

Vapor Chamber
یا «محفظه بخار»
از اصولی مشابه Heat Pipe
برای انتقال و پخش گرما استفاده می کند،
اما ساختار آن
معمولاً تخت و گسترده تر است.

Vapor Chamber
می تواند گرما را
روی سطح بزرگ تری پخش کند.

ویژگی Heat Pipe Vapor Chamber
معنی لوله حرارتی محفظه بخار
شکل معمول لوله ای تخت و گسترده
هدف انتقال گرما میان نقاط انتقال و پخش گرما روی سطح بزرگ تر
اصل فیزیکی مهم تبخیر و میعان سیال تبخیر و میعان سیال

Fan چه کاری انجام می دهد؟


فن — Fan

فن
گرما را مستقیماً
از داخل CPU بیرون نمی کشد.

وظیفه اصلی آن
ایجاد یا تقویت جریان هوا
از میان سطوح خنک کننده است.

هوا گرما را
از سطح پره ها دریافت کرده
و از ناحیه خنک کننده دور می کند.

Airflow چرا مهم است؟

اگر هوای گرم
اطراف Heatsink
باقی بماند،
اختلاف دمای موثر
میان سطح خنک کننده و هوا
کاهش پیدا می کند.

جریان هوای مناسب
هوای گرم را دور کرده
و هوای خنک تر را جایگزین می کند.

Static Pressure در فن چیست؟


فشار استاتیک فن — Static Pressure

Static Pressure
یا «فشار استاتیک»
در بحث فن ها
توانایی فن برای حرکت دادن هوا
در برابر مقاومت مسیر را توصیف می کند.

این ویژگی
در عبور هوا از میان:

  • پره های متراکم Heatsink،
  • Radiator،
  • فیلترهای هوا

اهمیت پیدا می کند.

CFM چیست؟


حجم جریان هوا — Cubic Feet per Minute

CFM
مخفف:

Cubic Feet per Minute

و به معنی
«فوت مکعب در دقیقه»
است.

این واحد
برای بیان حجم هوایی
که فن در یک بازه زمانی جابه جا می کند
استفاده می شود.

اشتباه رایج — Common Mistake: فن با CFM بیشتر همیشه برای CPU بهتر است

الزاماً خیر.

عملکرد فن
به عوامل دیگری مانند:

  • Static Pressure،
  • طراحی پره،
  • مقاومت Heatsink،
  • سرعت فن،
  • نویز،
  • و طراحی مسیر هوا

نیز وابسته است.

Thermal Resistance چیست؟


مقاومت حرارتی — Thermal Resistance

Thermal Resistance
یا «مقاومت حرارتی»
نشان می دهد
یک مسیر یا ساختار
تا چه اندازه
در برابر انتقال گرما
مقاومت ایجاد می کند.

یکی از واحدهای رایج آن:

°C / W

یعنی:
درجه سلسیوس بر وات.

پشت صحنه فنی — Under the Hood: عدد °C/W چه چیزی به ما می گوید؟

در یک مدل ساده،
اختلاف دما
می تواند با رابطه زیر
تقریب زده شود:

ΔT
=
Power
×
Thermal Resistance

فرض کنیم
مقاومت حرارتی یک مسیر:

0.20 °C/W

و توان حرارتی:

100 W

باشد.

در این مدل ساده:

ΔT
=
100
×
0.20
=
20 °C

یعنی اختلاف دمای مرتبط
با این مقاومت حرارتی
حدود 20 درجه سلسیوس خواهد بود.

سیستم واقعی CPU
مجموعه ای از مقاومت های حرارتی
و رفتارهای دینامیکی پیچیده تر دارد.

Thermal Path چیست؟


مسیر حرارتی — Thermal Path

Thermal Path
یا «مسیر حرارتی»
مسیر حرکت گرما
از محل تولید
تا محیط دفع کننده گرما است.

برای یک CPU دسکتاپ
مسیر ساده شده می تواند چنین باشد:

Transistors
→
Silicon Die
→
Internal TIM / Solder
→
IHS
→
Thermal Paste
→
Cooler
→
Air

Thermal Bottleneck چیست؟


گلوگاه حرارتی — Thermal Bottleneck

Thermal Bottleneck
یا «گلوگاه حرارتی»
بخشی از مسیر انتقال گرما است
که بیشترین محدودیت موثر
را برای انتقال حرارت ایجاد می کند.

اضافه کردن فن قوی تر
همیشه مشکل را حل نمی کند،
زیرا گلوگاه ممکن است
در بخش دیگری از مسیر باشد.

نکته مهندسی — Engineering Insight: دمای CPU فقط به قدرت Cooler وابسته نیست

مسیر گرما
یک زنجیره است.

Die
→
Interface
→
IHS
→
Paste
→
Cold Plate
→
Heat Transport
→
Fins
→
Air

اگر یکی از این مراحل
مقاومت حرارتی بالایی داشته باشد،
بهبود مرحله دیگری
ممکن است تاثیر محدودی ایجاد کند.

به همین دلیل
یک Cooler بسیار بزرگ
همیشه نمی تواند
دمای Hotspot داخل Die
را به اندازه انتظار کاهش دهد.

Mounting Pressure چیست؟


فشار نصب خنک کننده — Mounting Pressure

Mounting Pressure
یا «فشار نصب»
نیرویی است
که سیستم نصب Cooler
برای ایجاد تماس مناسب
میان سطوح وارد می کند.

فشار مناسب
می تواند به:

  • تماس بهتر سطوح،
  • پخش مناسب TIM،
  • کاهش فاصله های میکروسکوپی

کمک کند.

کیفیت تماس چرا مهم است؟

اگر سطح Cooler
به شکل مناسبی
روی IHS قرار نگیرد،
بخشی از سطح تماس
ممکن است انتقال حرارت ضعیف تری داشته باشد.

بنابراین حتی Cooler قدرتمند
در صورت نصب نامناسب
ممکن است نتیجه ضعیفی بدهد.

چرا در بسیاری از لپ تاپ ها ساختار خنک سازی با دسکتاپ متفاوت است؟

محدودیت ضخامت و وزن
باعث می شود
طراحی حرارتی لپ تاپ
بسیار فشرده باشد.

در بسیاری از طراحی ها،
مجموعه خنک کننده
تماس مستقیم تری
با Package یا Dieهای مربوطه دارد
و از Heat Pipe
یا Vapor Chamber
برای انتقال گرما
به Fin Stack استفاده می شود.

به همین دلیل
کیفیت طراحی کل دستگاه
اهمیت بسیار زیادی دارد.

Shared Cooling چیست؟


سیستم خنک کننده مشترک — Shared Cooling

Shared Cooling
یا «خنک کننده مشترک»
به طراحی ای گفته می شود
که CPU و GPU
بخشی از مسیر انتقال حرارت
یا سیستم دفع گرمای مشترک دارند.

این طراحی
در بسیاری از لپ تاپ ها دیده می شود.

تاثیر بر عملکرد — Performance Impact: چرا بار GPU می تواند روی دمای CPU اثر بگذارد؟

اگر CPU و GPU
بخشی از سیستم خنک کننده
را به صورت مشترک استفاده کنند،
گرمای GPU
می تواند ظرفیت حرارتی
قابل استفاده CPU را کاهش دهد.

بنابراین:

GPU Load ↑
→
Shared Cooling Load ↑
→
CPU Thermal Headroom may ↓

این یکی از دلایلی است
که Performance CPU در بازی
ممکن است با Benchmark مستقل CPU
متفاوت باشد.

Ambient Temperature چیست؟


دمای محیط — Ambient Temperature

Ambient Temperature
یا «دمای محیط»
دمای هوای اطراف سیستم
یا هوای ورودی به سیستم خنک کننده است.

Cooler نمی تواند
مستقل از دمای محیط عمل کند.

Delta T چیست؟


اختلاف دما — Delta T

Delta T
که با نماد:

ΔT

نمایش داده می شود،
به معنی «اختلاف دما» است.

برای مثال:

CPU Temperature
=
80°C

Ambient Temperature
=
25°C

ΔT
=
55°C

پشت صحنه فنی — Under the Hood: چرا تست دما بدون ذکر دمای محیط ناقص است؟

سیستم A:

CPU
=
75°C

Room
=
20°C

ΔT
=
55°C

سیستم B:

CPU
=
80°C

Room
=
30°C

ΔT
=
50°C

اگر فقط دمای CPU
را مقایسه کنیم،
سیستم A بهتر به نظر می رسد.

اما نسبت به دمای محیط،
سیستم B در این مثال
اختلاف دمای کمتری دارد.

Thermal Steady State چیست؟


حالت پایدار حرارتی — Thermal Steady State

Thermal Steady State
یا «حالت پایدار حرارتی»
وضعیتی است
که دمای سیستم
پس از مدتی تحت بار نسبتاً ثابت
به محدوده تقریباً پایداری می رسد.

در این وضعیت،
نرخ تولید گرما
و نرخ دفع گرما
تقریباً به تعادل رسیده اند.

Heat Soak چیست؟


انباشته شدن تدریجی گرما — Heat Soak

Heat Soak
یا «انباشته شدن تدریجی گرما»
حالتی است
که بخش های مختلف سیستم خنک کننده
در طول زمان
گرم تر می شوند.

به همین دلیل
دمای CPU
در ثانیه های ابتدایی یک تست
ممکن است با دمای آن
پس از چند دقیقه
متفاوت باشد.

Thermal Mass چیست؟


جرم حرارتی — Thermal Mass

Thermal Mass
یا «جرم حرارتی»
به توانایی یک جسم یا مجموعه
برای ذخیره انرژی حرارتی
در هنگام تغییر دما مربوط است.

خنک کننده بزرگ تر
ممکن است بتواند
برای مدتی گرمای بیشتری جذب کند
پیش از آنکه دمایش
به وضعیت پایدار برسد.

اشتباه رایج — Common Mistake: تست 20 ثانیه ای برای سنجش خنک کننده کافی است

نه همیشه.

Cooler،
Heat Pipe،
Vapor Chamber،
مایع خنک کننده،
Radiator
و هوای داخل کیس
برای گرم شدن
به زمان نیاز دارند.

بنابراین تست کوتاه
ممکن است بیشتر
ظرفیت حرارتی اولیه سیستم
را نشان دهد
تا عملکرد پایدار آن را.

Thermal Saturation چیست؟


اشباع حرارتی — Thermal Saturation

Thermal Saturation
یا «اشباع حرارتی»
اصطلاحی است
که برای توصیف شرایطی استفاده می شود
که سیستم خنک کننده
پس از دریافت مداوم گرما
به وضعیت گرم و تقریباً پایدار خود
نزدیک شده است.

در این نقطه
مزیت ظرفیت حرارتی اولیه
تا حد زیادی مصرف شده است.

Fan Curve چیست؟


منحنی کنترل فن — Fan Curve

Fan Curve
یا «منحنی کنترل فن»
تعیین می کند
فن در دماهای مختلف
با چه سرعتی کار کند.

برای مثال:

Low Temperature
→
Low Fan RPM

High Temperature
→
Higher Fan RPM


دور در دقیقه — RPM

RPM
مخفف:

Revolutions Per Minute

و به معنی
«تعداد دور در دقیقه»
است.

در فن،
RPM نشان می دهد
پروانه تقریباً با چه سرعت دورانی
در حال چرخش است.

اشتباه رایج — Common Mistake: RPM بیشتر همیشه یعنی خنک کنندگی بهتر

مقایسه مستقیم RPM
میان دو فن متفاوت
کافی نیست.

قطر فن،
طراحی پره،
فشار استاتیک،
جریان هوا
و مقاومت مسیر
نیز مهم هستند.

چرا خنک کنندگی و Noise به هم مرتبط هستند؟


نویز یا صدای سیستم خنک کننده — Noise

Noise
در این بحث
به صدای تولید شده
توسط فن،
جریان هوا
و گاهی پمپ سیستم خنک کننده اشاره دارد.

افزایش سرعت فن
می تواند انتقال حرارت را بهتر کند،
اما معمولاً صدای بیشتری نیز ایجاد می کند.

نکته مهندسی — Engineering Insight: طراحی خنک کننده یک مسئله چند متغیره است

مهندس فقط نمی خواهد
CPU را تا حد ممکن سرد کند.

باید میان چند عامل
تعادل برقرار شود:

Temperature
↔
Performance
↔
Noise
↔
Size
↔
Weight
↔
Cost
↔
Power

به همین دلیل
بهترین طراحی حرارتی
الزاماً سردترین طراحی ممکن نیست؛
بلکه طراحی ای است
که برای هدف دستگاه
تعادل مناسبی ایجاد کند.

چرا لپ تاپ باریک ممکن است CPU قدرتمند داشته باشد ولی Performance پایدار کمتری ارائه دهد؟

CPU ممکن است
در چند ثانیه اول
با Power Limit بالا
و Boost زیاد کار کند.

اما سیستم خنک کننده کوچک
به تدریج گرم می شود.

سپس Firmware
برای کنترل:

  • دمای CPU،
  • دمای بدنه،
  • صدای فن،
  • و توان مصرفی

ممکن است Power Limit
یا Frequency را کاهش دهد.

Short Burst Performance
≠
Sustained Performance


عملکرد جهشی کوتاه مدت — Burst Performance

Burst Performance
یا «عملکرد جهشی کوتاه مدت»
Performance بالایی است
که سیستم می تواند
برای مدت کوتاهی
پیش از رسیدن به محدودیت های پایدار
ارائه دهد.


عملکرد پایدار — Sustained Performance

Sustained Performance
یا «عملکرد پایدار»
سطح Performanceای است
که سیستم می تواند
برای مدت طولانی تر
تحت بار ادامه دار حفظ کند.

تاثیر بر عملکرد — Performance Impact: برای رندر و کارهای طولانی، Sustained Performance مهم تر از Boost چند ثانیه ای است

در کارهایی مانند:

  • رندر سه بعدی،
  • خروجی گرفتن ویدئو،
  • کامپایل پروژه های بزرگ،
  • شبیه سازی مهندسی،
  • پردازش علمی،
  • فشرده سازی طولانی،
  • بارهای سروری

CPU ممکن است
برای چند دقیقه یا چند ساعت
زیر بار باقی بماند.

در چنین شرایطی،
سیستم خنک کننده
و Power Limit پایدار
می توانند به اندازه مدل CPU
در Performance نهایی اهمیت داشته باشند.

AIO Cooler چیست؟


خنک کننده مایع یکپارچه — All-in-One Liquid Cooler

AIO
در سیستم خنک کننده
مخفف:

All-in-One Liquid Cooler

و به معنی
«خنک کننده مایع یکپارچه»
است.

این سیستم معمولاً شامل:

  • Cold Plate،
  • Pump یا پمپ،
  • مایع خنک کننده،
  • لوله ها،
  • Radiator،
  • Fan

است.

Radiator چیست؟


رادیاتور — Radiator

Radiator
بخشی از سیستم خنک کننده مایع است
که گرمای مایع را
به سطح بزرگی از پره ها منتقل می کند
تا هوا بتواند
آن را از سیستم خارج کند.

اشتباه رایج — Common Mistake: Water Cooling گرما را از بین می برد

خیر.

سیستم خنک کننده مایع
گرما را نابود نمی کند.

مایع فقط
گرما را از CPU
به Radiator منتقل می کند.

سپس Radiator
باید همان گرما را
به هوای محیط منتقل کند.

CPU
→
Liquid
→
Radiator
→
Air

چگونه بفهمیم مشکل Performance از خنک کننده است؟

01
دمای CPU را زیر بار بررسی کنیدفقط دمای Idle برای تشخیص کافی نیست.
02
Frequency را همزمان بررسی کنیدببینید فرکانس پس از گرم شدن سیستم کاهش پیدا می کند یا خیر.
03
Package Power را بررسی کنیدکاهش فرکانس ممکن است از Power Limit باشد نه دما.
04
Thermal Throttling Flag را بررسی کنیدابزارهای مانیتورینگ می توانند فعال شدن محدودیت حرارتی را گزارش کنند.
05
رفتار سیستم را در طول زمان ببینیدتست چند ثانیه ای برای بررسی Sustained Performance کافی نیست.
06
Airflow و نصب Cooler را بررسی کنیدگردوغبار، نصب نامناسب، فن معیوب یا مسیر هوای ضعیف می تواند مشکل ایجاد کند.

نکته مهندسی — Engineering Insight: فقط به عدد دما نگاه نکنید

برای تحلیل رفتار حرارتی CPU
بهتر است چند متغیر
همزمان بررسی شوند:

Temperature
+
Frequency
+
Package Power
+
Fan Speed
+
Thermal Limit
+
Power Limit

برای مثال،
افت Frequency
در دمای 70 درجه
الزاماً Thermal Throttling نیست.

ممکن است CPU
به Power Limit،
Current Limit
یا محدودیت دیگری رسیده باشد.

اشتباهات رایج — Common Mistakes: خنک سازی CPU
  • یکی دانستن Heat و Temperature.
  • فرض اینکه تمام نقاط Die دمای یکسان دارند.
  • نادیده گرفتن Thermal Hotspot.
  • فرض اینکه خمیر حرارتی گرما تولید می کند یا آن را از بین می برد.
  • استفاده بیش از حد از Thermal Paste.
  • نادیده گرفتن کیفیت تماس Cooler.
  • نادیده گرفتن Mounting Pressure.
  • فرض اینکه CFM بیشتر همیشه فن بهتری می سازد.
  • فرض اینکه RPM بیشتر همیشه Cooling بیشتری ایجاد می کند.
  • نادیده گرفتن Static Pressure.
  • نادیده گرفتن Ambient Temperature در تست ها.
  • مقایسه مستقیم دمای دو سیستم در اتاق هایی با دمای متفاوت.
  • تکیه بر Benchmark حرارتی بسیار کوتاه.
  • نادیده گرفتن Heat Soak.
  • فرض اینکه Water Cooling گرما را حذف می کند.
  • فرض اینکه Cooler بزرگ تر همیشه Performance را افزایش می دهد.
  • یکی دانستن Thermal Throttling با هر نوع افت فرکانس.
  • نادیده گرفتن Shared Cooling در لپ تاپ ها.

سوالات متداول درباره دما و خنک سازی CPU

IHS چیست؟

Integrated Heat Spreader
یا «پخش کننده یکپارچه حرارت»
سطح فلزی روی بسیاری از پردازنده ها است
که به پخش گرما و محافظت از Die کمک می کند.

TIM چیست؟

Thermal Interface Material
یا «ماده واسط حرارتی»
ماده ای است که برای بهبود تماس حرارتی
میان دو سطح استفاده می شود.

آیا خمیر حرارتی بیشتر بهتر است؟

خیر.
هدف خمیر حرارتی
پر کردن ناهمواری های بسیار کوچک سطوح است،
نه ایجاد یک لایه ضخیم.

Heat Pipe چگونه گرما را منتقل می کند؟

با استفاده از تغییر فاز سیال کاری،
حرکت بخار،
میعان
و بازگشت مایع به ناحیه گرم.

Vapor Chamber چیست؟

محفظه ای تخت برای انتقال
و پخش گرما است
که از اصول تبخیر و میعان سیال استفاده می کند.

°C/W یعنی چه؟

درجه سلسیوس بر وات
یکی از واحدهای بیان مقاومت حرارتی است
و نشان می دهد به ازای انتقال مقدار مشخصی توان حرارتی،
چه اختلاف دمایی ایجاد می شود.

چرا دمای محیط در تست CPU مهم است؟

چون عملکرد خنک کننده
به اختلاف دمای سیستم
با محیط اطراف وابسته است.

Heat Soak چیست؟

گرم شدن تدریجی اجزای سیستم خنک کننده
در اثر ادامه یافتن بار حرارتی است.

آیا دمای بالا همیشه به معنی Thermal Throttling است؟

خیر.
باید بررسی شود
آیا CPU واقعاً به محدودیت حرارتی رسیده
و Performance آن به همین دلیل کاهش یافته است یا خیر.

چرا دو لپ تاپ با CPU یکسان دمای متفاوتی دارند؟

طراحی خنک کننده،
ضخامت دستگاه،
Power Limit،
Fan Curve،
دمای محیط،
Shared Cooling
و تنظیمات سازنده می توانند متفاوت باشند.

آیا خنک کننده مایع همیشه بهتر از خنک کننده بادی است؟

خیر.
عملکرد واقعی به طراحی،
اندازه،
کیفیت،
سطح نویز،
توان حرارتی
و شرایط استفاده بستگی دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Die: قطعه اصلی سیلیکونی تراشه.
  • Heat: گرما؛ انتقال انرژی حرارتی بر اثر اختلاف دما.
  • Temperature: دما؛ وضعیت حرارتی جسم یا ناحیه.
  • Heat Transfer: انتقال حرارت.
  • Conduction: رسانش حرارتی.
  • Convection: همرفت.
  • Thermal Radiation: تابش حرارتی.
  • Thermal Hotspot: نقطه داغ حرارتی.
  • IHS: پخش کننده یکپارچه حرارت.
  • TIM: ماده واسط حرارتی.
  • Thermal Paste: خمیر حرارتی.
  • Thermal Conductivity: رسانندگی حرارتی.
  • Cold Plate: صفحه تماس خنک کننده.
  • Heatsink: گرماگیر.
  • Fin Stack: مجموعه پره های خنک کننده.
  • Heat Pipe: لوله حرارتی.
  • Wick Structure: ساختار مویین داخلی Heat Pipe.
  • Capillary Action: خاصیت مویینگی.
  • Vapor Chamber: محفظه بخار.
  • Static Pressure: فشار استاتیک فن.
  • CFM: فوت مکعب در دقیقه؛ واحد حجم جریان هوا.
  • Thermal Resistance: مقاومت حرارتی.
  • Thermal Path: مسیر حرارتی.
  • Thermal Bottleneck: گلوگاه حرارتی.
  • Mounting Pressure: فشار نصب خنک کننده.
  • Shared Cooling: سیستم خنک کننده مشترک.
  • Ambient Temperature: دمای محیط.
  • Delta T: اختلاف دما.
  • Thermal Steady State: حالت پایدار حرارتی.
  • Heat Soak: انباشته شدن تدریجی گرما در سیستم.
  • Thermal Mass: جرم حرارتی.
  • Thermal Saturation: اشباع حرارتی.
  • Fan Curve: منحنی کنترل فن.
  • RPM: تعداد دور در دقیقه.
  • Noise: صدای تولید شده توسط سیستم خنک کننده.
  • Burst Performance: عملکرد جهشی کوتاه مدت.
  • Sustained Performance: عملکرد قابل حفظ در بار طولانی.
  • AIO: خنک کننده مایع یکپارچه.
  • Radiator: بخش دفع حرارت سیستم خنک کننده مایع.

خلاصه فصل

گرمای CPU
باید از یک مسیر چند مرحله ای
عبور کند
تا در نهایت
به محیط منتقل شود.

Die
→
Thermal Interface
→
Heat Spreader
→
Cooler
→
Air

هر مرحله
مقاومت حرارتی خاص خود را دارد.

بنابراین دمای CPU
فقط نتیجه «قدرت فن»
یا «اندازه خنک کننده» نیست.

کیفیت تماس،
TIM،
IHS،
Heat Pipe،
Vapor Chamber،
سطح پره ها،
Airflow،
دمای محیط
و Power CPU
همگی در نتیجه نهایی نقش دارند.

مهم ترین قانون این فصل:


خنک کردن CPU یعنی ایجاد یک مسیر کم مقاومت
برای انتقال گرما
از ناحیه بسیار کوچک و داغ تراشه
تا محیط اطراف؛
هر گلوگاه در این مسیر
می تواند کل سیستم خنک کننده را محدود کند.


فصل 73
سطح: متوسط تا پیشرفته
موضوع: سنجش و مدیریت دمای پردازنده
تمرکز: DTS / Tjunction / TjMax / Tcase / Hotspot / Thermal Throttling


CPU فقط داغ نمی شود؛ دمای خودش را اندازه می گیرد و بر اساس آن تصمیم می گیرد

پردازنده چگونه دمای خودش را اندازه می گیرد و از خود محافظت می کند؟

پردازنده های مدرن
مجموعه ای از سنسورها،
منطق کنترلی
و مکانیزم های حفاظتی دارند
که وضعیت حرارتی تراشه را
به صورت مداوم زیر نظر می گیرند.

این اطلاعات فقط برای نمایش عدد دما
در نرم افزارهایی مانند ابزارهای مانیتورینگ نیست.

خود پردازنده
از داده های حرارتی
برای مدیریت:

  • فرکانس،
  • ولتاژ،
  • Boost،
  • توان مصرفی،
  • سرعت فن از طریق کنترلر سیستم،
  • و مکانیزم های حفاظتی

استفاده می کند.

Temperature Sensors
→
Thermal Control Logic
→
Frequency / Voltage / Power Management
→
Protection

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU چگونه دمای داخلی خود را اندازه می گیرد.
  • Thermal Sensor چیست.
  • DTS چیست.
  • Tjunction چیست.
  • TjMax چیست.
  • Tcase چیست.
  • Hotspot Temperature چیست.
  • Package Temperature چیست.
  • Core Temperature چیست.
  • Temperature Offset چیست.
  • Thermal Margin چیست.
  • PROCHOT چیست.
  • Thermal Throttling چیست.
  • Emergency Shutdown چیست.
  • چرا نرم افزارهای مختلف ممکن است دمای متفاوت نشان دهند.
  • چرا دمای یک CPU مدرن دائماً بالا و پایین می شود.
  • چگونه دمای پردازنده را درست تحلیل کنیم.

چرا CPU به سنسور دما نیاز دارد؟

توان مصرفی پردازنده
ثابت نیست.

با تغییر Workload،
تعداد هسته های فعال،
فرکانس،
ولتاژ
و فعالیت بخش های مختلف تراشه،
مقدار گرمای تولید شده نیز تغییر می کند.

بنابراین سیستم نمی تواند
فقط بر اساس یک مقدار ثابت
رفتار حرارتی CPU را کنترل کند.

پردازنده باید بداند:

  • کدام بخش تراشه گرم تر شده است،
  • دمای فعلی چقدر است،
  • تا محدودیت حرارتی چه مقدار فاصله باقی مانده،
  • آیا امکان ادامه Boost وجود دارد،
  • و آیا باید وارد حالت حفاظتی شود.

Thermal Sensor چیست؟


سنسور حرارتی — Thermal Sensor

Thermal Sensor
یا «سنسور حرارتی»
مداری است که برای تشخیص
یا تخمین وضعیت دمایی
بخشی از تراشه استفاده می شود.

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

چرا CPU فقط یک سنسور دما ندارد؟

همان طور که در فصل قبل دیدیم،
گرما در سراسر Die
به صورت یکنواخت تولید نمی شود.

ممکن است یک Core
تحت بار سنگین باشد،
در حالی که Core دیگری
تقریباً بیکار است.

همچنین بخش هایی مانند:

  • Coreها،
  • Cache،
  • Memory Controller،
  • Graphics بخش مجتمع،
  • I/O،
  • و سایر بلوک های داخلی

می توانند الگوهای حرارتی متفاوتی داشته باشند.

Different Activity
→
Different Power Density
→
Different Local Temperature

DTS چیست؟


سنسور حرارتی دیجیتال — Digital Thermal Sensor

DTS
مخفف:

Digital Thermal Sensor

و به معنی
«سنسور حرارتی دیجیتال»
است.

DTS
برای پایش وضعیت حرارتی
بخش های داخلی پردازنده
استفاده می شود.

در برخی معماری ها
اطلاعات سنسور
بیش از آنکه صرفاً یک دماسنج معمولی باشد،
برای تعیین فاصله تراشه
از یک حد حرارتی مشخص
اهمیت دارد.

Tjunction چیست؟


دمای پیوند یا دمای داخلی تراشه — Tjunction

Tjunction
به دمای ناحیه داخلی
نیمه رسانا یا Junction
اشاره دارد.

در بحث CPU،
این مفهوم برای توصیف
دمای داخلی تراشه
و به ویژه نواحی حساس حرارتی
استفاده می شود.

این دما
با دمای سطح خارجی CPU
یکسان نیست.

Junction یعنی چه؟


پیوند نیمه رسانا — Junction

Junction
در الکترونیک نیمه رسانا
به ناحیه ای در ساختار ماده
گفته می شود
که ویژگی های الکتریکی متفاوت
با یکدیگر ارتباط پیدا می کنند.

اصطلاح Junction Temperature
در قطعات نیمه رسانا
برای اشاره به دمای داخلی
بخش فعال قطعه استفاده می شود.

TjMax چیست؟


حد مرجع دمای پیوند — TjMax

TjMax
مخفف مفهومی:

Maximum Junction Temperature

است.

این مقدار
یکی از نقاط مرجع مهم
در مدیریت حرارتی پردازنده است.

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

اشتباه رایج — Common Mistake: رسیدن CPU به TjMax یعنی پردازنده در حال سوختن است

چنین برداشتی دقیق نیست.

TjMax
معمولاً بخشی از چارچوب
مدیریت و حفاظت حرارتی پردازنده است.

CPUهای مدرن
پیش از رسیدن شرایط
به سطح خطرناک،
می توانند رفتار خود را تغییر دهند.

Temperature ↑
→
Thermal Limit Approached
→
Control Actions

این اقدامات
ممکن است شامل کاهش Boost،
کاهش Frequency
یا محدود کردن Power باشد.

Thermal Margin چیست؟


حاشیه حرارتی — Thermal Margin

Thermal Margin
یا «حاشیه حرارتی»
نشان می دهد
پردازنده چه مقدار
با یک محدودیت حرارتی مشخص
فاصله دارد.

به صورت مفهومی:

Thermal Margin
=
Thermal Limit
−
Current Temperature

پشت صحنه فنی — Under the Hood: حاشیه حرارتی را چگونه بخوانیم؟

فرض کنیم
برای یک مثال آموزشی
حد مرجع حرارتی:

100°C

و دمای فعلی:

80°C

باشد.

در این مدل ساده:

Thermal Margin
=
100
−
80
=
20°C

یعنی پردازنده
حدود 20 درجه
تا آن نقطه مرجع فاصله دارد.

این مثال
برای توضیح مفهوم است
و نباید به عنوان مقدار ثابت
برای همه پردازنده ها در نظر گرفته شود.

Tcase چیست؟


دمای کیس یا سطح مرجع بسته بندی پردازنده — Tcase

Tcase
به دمای اندازه گیری شده
در نقطه مرجع تعریف شده
روی Package پردازنده اشاره دارد.

این مفهوم
با Tjunction متفاوت است.

Tcase
≠
Tjunction

مفهوم محل یا نوع دما کاربرد کلی
Tjunction دمای داخلی ناحیه فعال تراشه مدیریت و پایش حرارتی داخلی
TjMax حد مرجع بالای Junction مرجع کنترل حرارتی
Tcase دمای نقطه مرجع روی Package مشخصات حرارتی و طراحی سیستم
Core Temperature دمای گزارش شده مرتبط با هسته مانیتورینگ رفتار هسته ها
Package Temperature دمای گزارش شده برای مجموعه پردازنده نمای کلی وضعیت حرارتی Package
Hotspot گرم ترین ناحیه مهم گزارش شده تشخیص نقطه داغ تراشه

Package Temperature چیست؟


دمای بسته پردازنده — Package Temperature

Package Temperature
عددی است
که برخی ابزارها
برای نمایش وضعیت حرارتی کلی
مجموعه پردازنده گزارش می کنند.

نحوه تولید این عدد
می تواند به معماری،
سازنده
و روش گزارش دهی سنسورها وابسته باشد.

بنابراین نباید فرض کرد
Package Temperature
در تمام پردازنده ها
دقیقاً با یک روش محاسبه می شود.

Core Temperature چیست؟


دمای هسته — Core Temperature

Core Temperature
به دمای گزارش شده
برای یک هسته
یا ناحیه مرتبط با آن اشاره دارد.

در پردازنده های چند هسته ای
ممکن است دمای هسته ها
با یکدیگر متفاوت باشد.

چرا دمای Coreها با یکدیگر متفاوت است؟

تفاوت دمای هسته ها
می تواند دلایل متعددی داشته باشد:

  • Workload متفاوت،
  • Boost متفاوت،
  • موقعیت فیزیکی هسته روی Die،
  • نزدیکی به بخش های گرم دیگر،
  • تفاوت های جزئی سنسورها،
  • توزیع غیر یکنواخت گرما.

بنابراین اختلاف چند درجه
میان Coreها
الزاماً نشانه خرابی نیست.

Hotspot Temperature چیست؟


دمای نقطه داغ — Hotspot Temperature

Hotspot Temperature
یا «دمای نقطه داغ»
به دمای یکی از گرم ترین
نواحی مهم تراشه اشاره دارد.

در تراشه های پیچیده،
یک عدد میانگین
ممکن است وضعیت گرم ترین نقطه
را نشان ندهد.

به همین دلیل
Hotspot می تواند
برای مدیریت حرارتی
اهمیت زیادی داشته باشد.

نکته مهندسی — Engineering Insight: میانگین دما همیشه مهم ترین عدد نیست

فرض کنید
بخش بزرگی از تراشه
در دمای متوسط قرار دارد،
اما یک ناحیه کوچک
بسیار گرم شده است.

میانگین دما
ممکن است هنوز مناسب به نظر برسد.

اما برای حفاظت تراشه،
همان Hotspot کوچک
می تواند تعیین کننده باشد.

Average Temperature
may look safe

while

Local Hotspot
approaches thermal limit

Temperature Offset چیست؟


آفست یا جبران دمایی — Temperature Offset

Temperature Offset
مقداری است
که ممکن است
در فرآیند تفسیر یا گزارش دما
به مقدار سنسور اضافه
یا از آن کم شود.

این موضوع
یکی از دلایلی است
که خواندن خام سنسور
همیشه معادل مستقیم
دمای نهایی نمایش داده شده نیست.

چرا دو نرم افزار ممکن است دمای متفاوتی نشان دهند؟

ابزارهای مانیتورینگ
ممکن است:

  • سنسورهای متفاوتی را بخوانند،
  • نام های متفاوتی برای سنسورها استفاده کنند،
  • Package و Core را متفاوت تفسیر کنند،
  • از Sampling Interval متفاوت استفاده کنند،
  • میانگین گیری متفاوتی انجام دهند،
  • یا از Offsetهای متفاوت استفاده کنند.

بنابراین اختلاف کوچک
میان دو نرم افزار
الزاماً به معنی خراب بودن
یکی از آنها نیست.

Sampling Interval چیست؟


فاصله نمونه برداری — Sampling Interval

Sampling Interval
یا «فاصله نمونه برداری»
مدت زمانی است
که بین دو بار خواندن
یا ثبت مقدار سنسور وجود دارد.

اگر یک برنامه
هر یک ثانیه
و برنامه دیگر
هر چند صد میلی ثانیه
دما را بخواند،
ممکن است Peakهای متفاوتی ثبت کنند.

چرا دمای CPU ناگهان چند درجه بالا می رود؟

پردازنده های مدرن
می توانند در زمان بسیار کوتاه
Frequency و Voltage خود را تغییر دهند.

حتی یک Workload کوتاه
می تواند باعث شود
چند هسته برای لحظه ای
وارد Boost شوند.

Short Workload
→
Boost
→
Voltage / Frequency ↑
→
Local Power Density ↑
→
Temperature Spike

به همین دلیل
بالا و پایین شدن سریع دما
در بسیاری از CPUهای مدرن
به تنهایی نشانه مشکل نیست.

چرا فن بلافاصله با هر جهش دما سریع نمی شود؟

اگر Fan Curve
به هر تغییر کوچک و سریع دما
فوراً واکنش نشان دهد،
سرعت فن دائماً
بالا و پایین می رود.

نتیجه می تواند
صدای آزاردهنده و ناپایدار باشد.

به همین دلیل
برخی سیستم ها
از تاخیر،
میانگین گیری
یا Hysteresis
در کنترل فن استفاده می کنند.


هیسترزیس در کنترل حرارتی — Hysteresis

Hysteresis
در این کاربرد
به ایجاد فاصله یا تاخیر کنترلی
برای جلوگیری از تغییرات سریع
و پی در پی وضعیت سیستم گفته می شود.

برای مثال،
ممکن است فن
در دمای مشخصی سریع تر شود،
اما برای کاهش دوباره سرعت
لازم باشد دما
چند درجه پایین تر بیاید.

PROCHOT چیست؟


سیگنال داغ شدن پردازنده — PROCHOT

PROCHOT
اصطلاحی است
که از:

Processor Hot

گرفته شده است.

در پردازنده های دارای این سازوکار،
فعال شدن شرایط PROCHOT
می تواند باعث ورود
مکانیزم های کنترل حرارتی شود.

پشت صحنه فنی — Under the Hood: وقتی پردازنده به محدودیت حرارتی نزدیک می شود چه اتفاقی می افتد؟

رفتار دقیق
به معماری پردازنده بستگی دارد،
اما مسیر مفهومی می تواند چنین باشد:

Temperature ↑
→
Thermal Threshold Reached
→
Thermal Control Activated

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

Frequency ↓
and/or
Voltage ↓
and/or
Duty / Power ↓

نتیجه:

Heat Generation ↓
→
Temperature Stabilization

Thermal Throttling چیست؟


محدودسازی عملکرد به دلیل دما — Thermal Throttling

Thermal Throttling
به کاهش کنترل شده
Performance پردازنده
برای کنترل وضعیت حرارتی گفته می شود.

CPU عمداً
بخشی از Performance خود را کاهش می دهد
تا تولید گرما کمتر شود.

01
Workload افزایش پیدا می کندهسته های بیشتری فعال می شوند یا Boost افزایش پیدا می کند.
02
Power افزایش پیدا می کندمصرف انرژی و تولید گرما بیشتر می شود.
03
Temperature بالا می رودسنسورهای داخلی این تغییر را پایش می کنند.
04
Thermal Limit نزدیک می شودحاشیه حرارتی کاهش پیدا می کند.
05
Thermal Control فعال می شودCPU برای کاهش تولید گرما محدود می شود.
06
Performance کاهش پیدا می کندفرکانس یا توان تا رسیدن سیستم به شرایط قابل کنترل کاهش می یابد.

نکته مهندسی — Engineering Insight: Thermal Throttling خودش یک مکانیزم حفاظتی است

وقتی CPU
برای کنترل دما
فرکانس را کاهش می دهد،
سیستم حفاظتی
در حال انجام وظیفه خود است.

اما اگر پردازنده
در استفاده عادی
دائماً Thermal Throttling داشته باشد،
باید علت بررسی شود.

علت می تواند شامل:

  • خنک کننده ضعیف،
  • گردوغبار،
  • خرابی فن،
  • نصب نامناسب Cooler،
  • خمیر حرارتی نامناسب یا فرسوده،
  • Airflow ضعیف،
  • دمای محیط بالا،
  • Power Limit بسیار بالا،
  • یا طراحی حرارتی محدود دستگاه

باشد.

Thermal Throttling و Power Limit Throttling چه تفاوتی دارند؟

نوع محدودیت عامل اصلی نتیجه احتمالی
Thermal Throttling رسیدن به محدودیت حرارتی کاهش Performance برای کنترل دما
Power Limit Throttling رسیدن به محدودیت توان کاهش یا محدود شدن Frequency / Boost
Current Limit محدودیت جریان الکتریکی محدود شدن Performance
Voltage / Reliability Limit محدودیت های الکتریکی یا قابلیت اطمینان جلوگیری از Boost بیشتر

اشتباه رایج — Common Mistake: هر افت فرکانسی یعنی CPU بیش از حد داغ شده است

خیر.

Frequency
می تواند به دلایل زیادی
کاهش پیدا کند.

برای تشخیص صحیح
باید همزمان بررسی شود:

Temperature
+
Frequency
+
Voltage
+
Package Power
+
Thermal Flags
+
Power Limit Flags

Thermal Shutdown چیست؟


خاموشی حفاظتی حرارتی — Thermal Shutdown

اگر کنترل های عادی حرارتی
برای حفظ شرایط امن کافی نباشند
و دما به محدوده بحرانی برسد،
سیستم می تواند
مکانیزم حفاظتی شدیدتری
مانند خاموش شدن را اجرا کند.

هدف:

Prevent Hardware Damage

مرحله رفتار هدف
Normal Control تنظیم Boost و توان بهینه سازی Performance و دما
Thermal Throttling کاهش Performance کنترل افزایش دما
Emergency Protection محدودسازی شدید یا خاموشی محافظت از سخت افزار

چرا نباید دمای CPU را فقط با یک عدد قضاوت کنیم؟

دمای CPU
یک متغیر پویا است.

برای مثال:

85°C for 1 second

با:

85°C for 2 hours

از نظر رفتار سیستم
یک شرایط کاملاً یکسان نیست.

علاوه بر دما
باید بدانیم:

  • Workload چیست،
  • Power چقدر است،
  • Frequency چقدر است،
  • دمای محیط چقدر است،
  • فن با چه سرعتی کار می کند،
  • آیا Thermal Throttling فعال است،
  • و سیستم پس از چه مدت به این دما رسیده است.

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

  • مدل CPU،
  • نوع Cooler،
  • نحوه نصب Cooler،
  • Thermal Paste،
  • سرعت فن،
  • Airflow کیس،
  • دمای محیط،
  • Package Power،
  • Clock Frequency،
  • Thermal Throttling Flag.

در لپ تاپ چه چیزهایی را بررسی کنیم؟

  • دمای CPU و GPU،
  • Shared Cooling،
  • سرعت فن،
  • گرفتگی خروجی هوا،
  • گردوغبار Fin Stack،
  • Power Mode،
  • Battery / AC Mode،
  • Package Power،
  • Sustained Frequency،
  • Thermal Throttling.

در Workstation و Server چه تفاوتی وجود دارد؟

در سیستم های حرفه ای،
پایداری Performance
در بارهای طولانی
اهمیت بسیار زیادی دارد.

ممکن است CPU
ساعت ها یا حتی روزها
تحت بار سنگین باقی بماند.

بنابراین بررسی:

  • Sustained Temperature،
  • Sustained Frequency،
  • Package Power،
  • Fan Behavior،
  • Airflow،
  • Thermal Margin

از یک Peak کوتاه مدت
مهم تر است.

نکته مهندسی — Engineering Insight: تحلیل حرارتی به نوع دستگاه وابسته است

یک دمای مشخص
در دستگاه های مختلف
الزاماً معنای یکسانی ندارد.

طراحی حرارتی یک:

  • Mini PC،
  • All-in-One،
  • Laptop،
  • Desktop،
  • Workstation،
  • Server

متفاوت است.

بنابراین همیشه باید
دما را در چارچوب
طراحی همان سیستم تحلیل کرد.

روش درست بررسی مشکل دمای CPU چیست؟

01
شرایط تست را ثبت کنیددمای محیط، نوع Workload و مدت تست را مشخص کنید.
02
Temperature را ثبت کنیدPackage، Core و در صورت وجود Hotspot را بررسی کنید.
03
Frequency را بررسی کنیدببینید CPU در طول تست چه فرکانسی را حفظ می کند.
04
Power را بررسی کنیدPackage Power می تواند دلیل تغییر دما و Frequency را روشن کند.
05
Limit Flags را بررسی کنیدمشخص کنید محدودیت حرارتی، توان یا جریان فعال شده است یا خیر.
06
رفتار زمانی را تحلیل کنیدفقط Maximum Temperature را نگاه نکنید؛ نمودار دما، توان و فرکانس در طول زمان مهم است.

تاثیر بر عملکرد — Performance Impact: دما زمانی مهم می شود که روی رفتار واقعی CPU اثر بگذارد

فرض کنید دو سیستم
CPU یکسانی دارند.

سیستم اول:

80°C
+
4.5 GHz sustained

سیستم دوم:

72°C
+
3.5 GHz sustained

فقط با نگاه کردن به دما
ممکن است سیستم دوم بهتر به نظر برسد.

اما ممکن است
سیستم دوم به دلیل Power Limit
Performance بسیار کمتری ارائه دهد.

بنابراین:

Temperature Alone
≠
Complete Performance Analysis

آیا سنسور دما می تواند خطا داشته باشد؟

هیچ سیستم اندازه گیری
کاملاً بدون خطا نیست.

سنسورها می توانند:

  • تلرانس اندازه گیری داشته باشند،
  • در برخی محدوده ها دقیق تر باشند،
  • از Offset استفاده کنند،
  • یا توسط نرم افزار به شکل متفاوت تفسیر شوند.

اما برای مدیریت حفاظتی CPU،
سیستم حرارتی بر اساس
مشخصات و کالیبراسیون طراحی شده
توسط سازنده عمل می کند.


کالیبراسیون — Calibration

Calibration
یا «کالیبراسیون»
فرآیندی است
که برای مرتبط کردن
خروجی یک سنسور
با مقدار مرجع مورد انتظار
استفاده می شود.

کالیبراسیون
بخش مهمی از طراحی
سیستم اندازه گیری حرارتی است.

پس دمای امن CPU دقیقاً چند درجه است؟

اشتباه رایج — Common Mistake: یک عدد ثابت برای دمای امن همه CPUها وجود دارد

چنین عدد جهانی ای وجود ندارد.

محدوده حرارتی
به مواردی مانند:

  • مدل دقیق CPU،
  • معماری،
  • نسل،
  • نوع دستگاه،
  • مشخصات سازنده،
  • نوع سنسور گزارش شده

وابسته است.

بنابراین برای ارزیابی دقیق
باید مشخصات رسمی
همان مدل پردازنده بررسی شود.

نکته مهندسی — Engineering Insight: به جای پرسیدن «دمای CPU چند است؟» این شش سوال را بپرسید
  1. کدام سنسور را می بینیم؟
  2. CPU دقیقاً چه مدلی است؟
  3. در چه Workloadی قرار دارد؟
  4. Package Power چقدر است؟
  5. Frequency در طول زمان چگونه تغییر می کند؟
  6. آیا Thermal Limit واقعاً فعال شده است؟

این روش
بسیار دقیق تر از قضاوت
بر اساس یک عدد دما است.

اشتباهات رایج — Common Mistakes: خواندن دمای CPU
  • یکی دانستن Tjunction و Tcase.
  • یکی دانستن Package Temperature و Core Temperature.
  • نادیده گرفتن Hotspot.
  • فرض اینکه همه Coreها باید دقیقاً یک دما داشته باشند.
  • فرض اینکه هر جهش لحظه ای دما خطرناک است.
  • فرض اینکه TjMax یعنی دمای سوختن CPU.
  • فرض اینکه هر افت Frequency ناشی از دما است.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Current Limit.
  • مقایسه دمای دو CPU متفاوت بدون بررسی مشخصات آنها.
  • مقایسه دمای دو سیستم در Ambient Temperature متفاوت.
  • اعتماد به Maximum Temperature بدون بررسی نمودار زمانی.
  • مقایسه مستقیم اعداد دو نرم افزار بدون بررسی Sensor Source.
  • استفاده از یک عدد ثابت به عنوان «دمای امن تمام CPUها».

سوالات متداول درباره سنسور و دمای CPU

Tjunction چیست؟

دمای مرتبط با ناحیه داخلی
و فعال نیمه رسانای تراشه است
و با دمای سطح خارجی CPU یکسان نیست.

TjMax چیست؟

یک حد مرجع حرارتی
برای Junction پردازنده است
که در مدیریت حرارتی CPU اهمیت دارد.

Tcase چیست؟

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

DTS چیست؟

Digital Thermal Sensor
یا سنسور حرارتی دیجیتال
برای پایش وضعیت حرارتی
داخل پردازنده استفاده می شود.

آیا اختلاف دمای Coreها طبیعی است؟

بله.
Workload، موقعیت فیزیکی،
Boost و توزیع گرما
می توانند باعث اختلاف دما شوند.

چرا دمای CPU ناگهان بالا می رود؟

تغییر سریع Boost،
Frequency،
Voltage
و فعالیت هسته ها
می تواند جهش کوتاه مدت دما ایجاد کند.

Thermal Throttling چیست؟

کاهش کنترل شده Performance
برای جلوگیری از افزایش بیش از حد دما است.

آیا Thermal Throttling یعنی CPU خراب شده است؟

خیر.
خود Throttling یک مکانیزم حفاظتی است،
اما فعال شدن مداوم آن
می تواند نشانه نیاز به بررسی سیستم خنک کننده باشد.

چرا نرم افزارهای مانیتورینگ دماهای متفاوتی نشان می دهند؟

ممکن است سنسور،
روش نمونه برداری،
Offset
یا شیوه تفسیر داده ها
در آنها متفاوت باشد.

دمای امن CPU چند درجه است؟

عدد ثابت جهانی وجود ندارد.
باید مشخصات رسمی همان مدل CPU
و نوع دمای گزارش شده بررسی شود.

برای تشخیص مشکل حرارتی فقط دما کافی است؟

خیر.
Frequency،
Package Power،
Thermal Flags،
Power Limits،
Fan Speed
و رفتار زمانی نیز باید بررسی شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Thermal Sensor: سنسور حرارتی.
  • DTS: سنسور حرارتی دیجیتال.
  • Junction: پیوند نیمه رسانا.
  • Tjunction: دمای داخلی Junction تراشه.
  • TjMax: حد مرجع بالای دمای Junction.
  • Tcase: دمای نقطه مرجع روی Package پردازنده.
  • Package Temperature: دمای گزارش شده برای مجموعه پردازنده.
  • Core Temperature: دمای گزارش شده مرتبط با هسته.
  • Hotspot Temperature: دمای نقطه داغ تراشه.
  • Thermal Margin: فاصله دمای فعلی تا محدودیت حرارتی.
  • Temperature Offset: مقدار جبران یا اصلاح در گزارش دما.
  • Sampling Interval: فاصله زمانی میان نمونه برداری های سنسور.
  • Temperature Spike: جهش کوتاه مدت دما.
  • Hysteresis: فاصله یا تاخیر کنترلی برای جلوگیری از تغییرات پی در پی.
  • PROCHOT: سیگنال یا وضعیت مرتبط با رسیدن پردازنده به شرایط حرارتی تعیین شده.
  • Thermal Throttling: محدودسازی Performance به دلیل شرایط حرارتی.
  • Power Limit Throttling: محدود شدن Performance به دلیل سقف توان.
  • Current Limit: محدودیت جریان.
  • Thermal Shutdown: خاموشی حفاظتی ناشی از شرایط حرارتی بحرانی.
  • Calibration: کالیبراسیون یا تنظیم خروجی سنسور نسبت به مرجع.

خلاصه فصل

CPUهای مدرن
فقط دارای یک دماسنج ساده نیستند.

مجموعه ای از سنسورها
وضعیت حرارتی بخش های مختلف تراشه
را پایش می کنند.

اطلاعات این سنسورها
وارد سیستم مدیریت حرارتی
و مدیریت توان پردازنده می شود.

Sensors
→
Temperature Data
→
Thermal Control
→
Power / Voltage / Frequency Decisions

مفاهیمی مانند
Tjunction،
TjMax،
Tcase،
Core Temperature،
Package Temperature
و Hotspot
نباید با یکدیگر اشتباه گرفته شوند.

همچنین
یک عدد دما
به تنهایی
برای تحلیل سلامت یا Performance CPU کافی نیست.

تحلیل حرفه ای باید
همزمان چند متغیر را بررسی کند:

Temperature
+
Frequency
+
Voltage
+
Power
+
Time
+
Limit Flags


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


فصل 74
سطح: متوسط تا پیشرفته
موضوع: محدودیت های عملکرد CPU زیر بار
تمرکز: Thermal / Power / Current / VRM / Boost / Sustained Performance


فرکانس نوشته شده در مشخصات CPU الزاماً فرکانسی نیست که پردازنده بتواند ساعت ها حفظ کند

چرا CPU زیر بار سنگین فرکانس خود را کاهش می دهد؟

یکی از رایج ترین اشتباهات
در ارزیابی پردازنده
این است که هر کاهش فرکانس
را به دمای بالا نسبت دهیم.

در واقع پردازنده مدرن
داخل مجموعه ای از محدودیت ها کار می کند.

این محدودیت ها می توانند شامل:

  • محدودیت حرارتی،
  • محدودیت توان،
  • محدودیت جریان،
  • محدودیت ولتاژ،
  • محدودیت سیستم تغذیه،
  • محدودیت خنک کننده،
  • و سیاست های سازنده دستگاه

باشند.

CPU Performance
=
Architecture
+
Frequency
+
Power Budget
+
Thermal Budget
+
Electrical Limits
+
Firmware Policy

در این فصل چه چیزهایی یاد می گیریم؟

  • Throttling دقیقاً چیست.
  • Thermal Throttling چیست.
  • Power Limit Throttling چیست.
  • Current Limit چیست.
  • Power Budget چیست.
  • Thermal Budget چیست.
  • Power Limitهای کوتاه مدت و بلندمدت چه مفهومی دارند.
  • PL1 و PL2 چیستند.
  • Tau چیست.
  • PPT، TDC و EDC چه مفهومی دارند.
  • VRM چیست و چه نقشی دارد.
  • VRM Throttling چیست.
  • چرا Boost همیشگی نیست.
  • Burst Performance و Sustained Performance چه تفاوتی دارند.
  • چرا دو سیستم با CPU یکسان Performance متفاوتی دارند.
  • چگونه علت افت فرکانس را مرحله به مرحله پیدا کنیم.

Throttling چیست؟


محدودسازی عملکرد — Throttling

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

این محدودیت
الزاماً حرارتی نیست.

بنابراین:

Throttling
≠
Always Thermal Throttling

Performance Envelope چیست؟


محدوده مجاز عملکرد — Performance Envelope

Performance Envelope
یا «محدوده مجاز عملکرد»
مجموعه شرایطی است
که پردازنده باید
هنگام کار در آنها باقی بماند.

به صورت ساده،
CPU نمی تواند بدون محدودیت
فرکانس و ولتاژ خود را افزایش دهد.

باید همزمان
چند شرط رعایت شود:

Temperature
≤
Thermal Limit

Power
≤
Allowed Power

Current
≤
Electrical Limit

Voltage
≤
Reliability Limit

چرا Boost یک مقدار تضمین شده دائمی نیست؟

فرکانس Boost
معمولاً به مجموعه ای
از شرایط وابسته است.

برای مثال:

  • تعداد هسته های فعال،
  • نوع Workload،
  • دمای پردازنده،
  • توان مصرفی،
  • جریان،
  • ولتاژ،
  • کیفیت خنک کننده،
  • و سیاست Firmware

می توانند روی Boost واقعی اثر بگذارند.

Maximum Boost Clock
≠
Guaranteed All-Core Sustained Clock

اشتباه رایج — Common Mistake: CPU با Boost پنج گیگاهرتز باید همیشه روی پنج گیگاهرتز کار کند

خیر.

حداکثر Boost
ممکن است فقط
در شرایط مشخص،
روی تعداد محدودی هسته
و برای مدت وابسته به شرایط سیستم
قابل دستیابی باشد.

فرکانس واقعی
باید همراه با:

  • تعداد هسته های فعال،
  • نوع بار،
  • توان،
  • دما،
  • و مدت زمان تست

بررسی شود.

Thermal Throttling چیست؟


محدودسازی حرارتی عملکرد — Thermal Throttling

Thermal Throttling
زمانی رخ می دهد
که شرایط حرارتی پردازنده
به محدوده کنترلی تعیین شده نزدیک شود
و CPU برای کاهش تولید گرما
عملکرد خود را محدود کند.

Temperature ↑
→
Thermal Limit
→
Power / Frequency ↓
→
Heat Generation ↓

Power Limit Throttling چیست؟


محدودسازی عملکرد به دلیل سقف توان — Power Limit Throttling

Power Limit Throttling
زمانی رخ می دهد
که پردازنده
به سقف توان تعیین شده
برای آن شرایط کاری برسد.

در این حالت
ممکن است CPU هنوز
از نظر دما
فاصله قابل توجهی
با محدودیت حرارتی داشته باشد.

Temperature = Acceptable

Power = Limit Reached

Result
→
Frequency Cannot Increase Further

پشت صحنه فنی — Under the Hood: CPU خنک است ولی چرا فرکانس بالاتر نمی رود؟

فرض کنید CPU
فقط 70 درجه سلسیوس دما دارد.

ممکن است تصور کنیم:

«پس هنوز جا برای Boost بیشتر وجود دارد.»

اما اگر CPU
به سقف توان تعیین شده رسیده باشد،
افزایش فرکانس
می تواند مصرف توان را
از محدوده مجاز خارج کند.

Thermal Headroom
=
Available

Power Headroom
=
Exhausted

در نتیجه
محدودیت اصلی سیستم
دما نیست؛
توان است.

Headroom یعنی چه؟


ظرفیت باقی مانده تا رسیدن به محدودیت — Headroom

Headroom
در این بحث
یعنی مقدار ظرفیت باقی مانده
پیش از رسیدن سیستم
به یک محدودیت.

برای مثال:

  • Thermal Headroom = حاشیه باقی مانده حرارتی،
  • Power Headroom = حاشیه باقی مانده توان،
  • Current Headroom = حاشیه باقی مانده جریان.

Power Budget چیست؟


بودجه توان — Power Budget

Power Budget
یا «بودجه توان»
مقدار توانی است
که سیستم طراحی شده
تا در شرایط مشخص
در اختیار پردازنده قرار دهد.

این بودجه
می تواند تحت تاثیر:

  • طراحی مادربرد،
  • نوع دستگاه،
  • سیستم خنک کننده،
  • Firmware،
  • حالت مصرف انرژی،
  • و سیاست سازنده

قرار بگیرد.

Thermal Budget چیست؟


ظرفیت یا بودجه حرارتی — Thermal Budget

Thermal Budget
یا «بودجه حرارتی»
به ظرفیت طراحی سیستم
برای مدیریت گرمای تولید شده
اشاره دارد.

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

چرا CPU می تواند برای مدت کوتاه توان بیشتری مصرف کند؟

سیستم خنک کننده
دارای ظرفیت حرارتی است.

در شروع Workload،
Heatsink،
Heat Pipe،
Vapor Chamber،
Radiator
و سایر بخش ها
هنوز کاملاً گرم نشده اند.

بنابراین ممکن است
برای مدت کوتاهی
امکان استفاده از توان بالاتر وجود داشته باشد.

Cold Cooling System
→
Temporary Thermal Capacity
→
Higher Short-Term Power

با ادامه بار،
سیستم گرم می شود
و توان پایدار اهمیت پیدا می کند.

PL1 و PL2 چیستند؟


سطوح محدودیت توان — Power Limit 1 / Power Limit 2

در برخی پردازنده ها
و چارچوب های مدیریت توان،
اصطلاحات:

PL1
=
Power Limit 1

PL2
=
Power Limit 2

استفاده می شوند.

به صورت مفهومی،
PL1 معمولاً
با سطح توان طولانی مدت تر
و PL2
با سطح توان بالاتر
برای شرایط کوتاه مدت تر
مرتبط است.

جزئیات دقیق
به نسل پردازنده،
پلتفرم
و سیاست سازنده بستگی دارد.

پارامتر معنی ساده اثر احتمالی
PL1 محدودیت توان مرتبط با کار طولانی تر اثر مهم بر Performance پایدار
PL2 محدودیت توان بالاتر برای Boost کوتاه مدت اثر مهم بر Burst Performance
Tau پارامتر زمانی مرتبط با رفتار توان اثر بر مدت رفتار توان بالاتر

Tau چیست؟


پارامتر زمانی مدیریت توان — Tau

Tau
یک پارامتر زمانی
در برخی مدل های مدیریت توان است.

برای درک ساده،
Tau را می توان
بخشی از منطق تعیین کننده
رفتار توان در طول زمان دانست.

اما این تصور که:

Tau
=
Exact Boost Duration

همیشه درست نیست.

رفتار واقعی
به الگوریتم مدیریت توان
و تنظیمات پلتفرم بستگی دارد.

اشتباه رایج — Common Mistake: Tau یعنی CPU دقیقاً تا پایان آن زمان با PL2 کار می کند

این توضیح
بیش از حد ساده شده است.

Tau
در چارچوب مدیریت توان
یک پارامتر زمانی است
و رفتار واقعی پردازنده
می تواند به تاریخچه توان،
بار،
دما،
تنظیمات Firmware
و محدودیت های دیگر وابسته باشد.

PPT، TDC و EDC چیستند؟

در برخی پردازنده های AMD
مجموعه دیگری از محدودیت ها
در مدیریت Boost و توان
اهمیت دارد.


محدودیت توان سوکت — PPT

PPT
مخفف:

Package Power Tracking

است.

به زبان ساده،
PPT با محدودیت توان
قابل استفاده توسط پردازنده
در چارچوب تعریف شده
ارتباط دارد.


محدودیت جریان پایدار — TDC

TDC
مخفف:

Thermal Design Current

است و به محدودیت جریان
در شرایط حرارتی و بار پایدارتر
مربوط می شود.


محدودیت جریان کوتاه مدت — EDC

EDC
مخفف:

Electrical Design Current

است و با محدودیت جریان
در شرایط کوتاه مدت
و بارهای شدیدتر
ارتباط دارد.

پارامتر نوع محدودیت مفهوم ساده
PPT توان بودجه توان Package / Socket
TDC جریان جریان قابل تحمل در شرایط پایدارتر
EDC جریان جریان قابل استفاده در شرایط کوتاه مدت تر

Current Limit چیست؟


محدودیت جریان — Current Limit

Current Limit
یا «محدودیت جریان»
سقفی است
که برای مقدار جریان الکتریکی
در بخشی از سیستم
در نظر گرفته می شود.

حتی اگر:

  • دما مناسب باشد،
  • و محدودیت توان اصلی نیز پر نشده باشد،

رسیدن به محدودیت جریان
می تواند مانع Boost بیشتر شود.

پشت صحنه فنی — Under the Hood: چرا جریان خودش یک محدودیت مستقل است؟

مسیرهای الکتریکی،
ترانزیستورها،
VRM
و اجزای تغذیه
نمی توانند هر مقدار جریان
را بدون محدودیت تحمل کنند.

افزایش جریان
می تواند:

  • تلفات الکتریکی را افزایش دهد،
  • دمای اجزای تغذیه را بالا ببرد،
  • فشار بیشتری به VRM وارد کند،
  • و قابلیت اطمینان سیستم را تحت تاثیر قرار دهد.

بنابراین
محدودیت جریان
بخشی از طراحی ایمن سیستم است.

VRM چیست؟


ماژول تنظیم ولتاژ — Voltage Regulator Module

VRM
مخفف:

Voltage Regulator Module

و به معنی
«ماژول تنظیم ولتاژ»
است.

VRM
برق ورودی را
به ولتاژ مناسب و کنترل شده
برای CPU تبدیل می کند.

پردازنده برای کار پایدار
به تغذیه الکتریکی
دقیق و قابل کنترل نیاز دارد.

مسیر بسیار ساده شده
تغذیه CPU را می توان
چنین تصور کرد:

Power Supply
→
Motherboard VRM
→
Controlled Voltage
→
CPU

VRM از چه بخش هایی تشکیل می شود؟

طراحی دقیق VRM متفاوت است،
اما معمولاً با اجزایی مانند:

  • Controller،
  • Power Stages یا MOSFETها،
  • Inductor یا Choke،
  • Capacitor

روبه رو می شویم.


ماسفت — MOSFET

MOSFET
نوعی ترانزیستور
است که در مدارهای مدیریت توان
کاربرد بسیار گسترده ای دارد.

در VRM،
این قطعات
در کنترل و تبدیل توان الکتریکی
نقش دارند.


سلف — Inductor

Inductor
یا «سلف»
قطعه ای الکترونیکی است
که انرژی را
در میدان مغناطیسی ذخیره می کند.

در مدار VRM
به صاف و کنترل شدن
جریان و ولتاژ کمک می کند.


خازن — Capacitor

Capacitor
یا «خازن»
قطعه ای است
که انرژی الکتریکی
را در میدان الکتریکی ذخیره می کند.

در مدار تغذیه
به کاهش نوسان
و پایدارسازی ولتاژ کمک می کند.

VRM Throttling چیست؟


محدودسازی ناشی از سیستم تغذیه — VRM Throttling

اگر سیستم تغذیه
به محدودیت حرارتی
یا الکتریکی خود برسد،
ممکن است توان قابل ارائه
به پردازنده محدود شود.

در نتیجه CPU
ممکن است فرکانس خود را کاهش دهد
حتی اگر دمای خود CPU
هنوز بحرانی نباشد.

نکته مهندسی — Engineering Insight: گاهی CPU خنک است اما مادربرد داغ است

فرض کنید
روی CPU
یک خنک کننده بسیار قدرتمند نصب کرده ایم.

دمای پردازنده مناسب است.

اما VRM مادربرد
زیر بار سنگین
بیش از حد گرم می شود.

در چنین شرایطی:

CPU Temperature = Fine

VRM Temperature = Problem

Result
→
CPU Performance may still drop

بنابراین
خنک کردن خود CPU
تمام داستان نیست.

چرا Power Limit در لپ تاپ اهمیت بیشتری پیدا می کند؟

لپ تاپ
محدودیت های بیشتری
نسبت به یک دسکتاپ بزرگ دارد.

از جمله:

  • فضای محدود خنک کننده،
  • ظرفیت محدود آداپتور،
  • محدودیت باتری،
  • دمای سطح بدنه،
  • صدای فن،
  • خنک کننده مشترک CPU و GPU.

بنابراین سازنده
ممکن است CPU را
در سطح توانی بسیار متفاوت
از دستگاه دیگر
تنظیم کند.

تاثیر بر عملکرد — Performance Impact: یک CPU یکسان می تواند در دو لپ تاپ Performance متفاوتی داشته باشد

فرض کنید
دو لپ تاپ
دقیقاً از یک مدل CPU استفاده می کنند.

لپ تاپ A:

Sustained CPU Power
=
45 W

لپ تاپ B:

Sustained CPU Power
=
25 W

حتی با CPU یکسان،
عملکرد طولانی مدت
می تواند تفاوت قابل توجهی داشته باشد.

بنابراین:

Same CPU Model
≠
Same Sustained Performance

این موضوع فقط درباره لپ تاپ است؟

خیر.

همین مسئله
در سیستم های فشرده دیگری مانند:

  • All-in-One،
  • Mini PC،
  • کامپیوترهای صنعتی،
  • سیستم های Embedded،
  • کنسول ها،
  • و برخی Workstationهای فشرده

نیز اهمیت دارد.


سیستم تعبیه شده — Embedded System

Embedded System
یا «سیستم تعبیه شده»
کامپیوتری است
که برای انجام
یک یا چند وظیفه مشخص
درون یک دستگاه یا سامانه
طراحی شده است.

برای مثال،
تجهیزات صنعتی،
دستگاه های پزشکی،
تجهیزات شبکه
و سامانه های کنترلی
می توانند از سیستم های Embedded استفاده کنند.

Power Limit در سرورها چه اهمیتی دارد؟

در Server
هدف همیشه دستیابی
به بیشترین Boost لحظه ای نیست.

عواملی مانند:

  • توان کل Rack،
  • ظرفیت خنک کننده دیتاسنتر،
  • چگالی سرورها،
  • بازده انرژی،
  • پایداری،
  • و هزینه برق

می توانند تعیین کننده باشند.


رک سرور — Rack

Rack
یا «رک»
سازه استانداردی است
که تجهیزات مختلف
مانند Server،
Storage
و تجهیزات شبکه
داخل آن نصب می شوند.

چرا نوع Workload روی محدودیت CPU اثر می گذارد؟

همه Workloadها
فشار یکسانی
به پردازنده وارد نمی کنند.

یک برنامه ممکن است:

  • فقط یک یا دو Core را درگیر کند،
  • تمام Coreها را فعال کند،
  • از دستورهای برداری سنگین استفاده کند،
  • Cache را شدیداً درگیر کند،
  • یا بیشتر منتظر Memory بماند.

بنابراین دو Workload
با 100 درصد CPU Usage
الزاماً توان یکسانی مصرف نمی کنند.

اشتباه رایج — Common Mistake: صد درصد CPU Usage همیشه یعنی حداکثر مصرف توان

خیر.

دو برنامه
می توانند هر دو
CPU Usage را 100 درصد نشان دهند
اما الگوی اجرای دستورها
و مصرف توان متفاوتی داشته باشند.

100% Utilization
≠
Always Same Power Consumption

چرا بعضی محاسبات CPU را بسیار بیشتر گرم می کنند؟

برخی Workloadهای محاسباتی
بخش های زیادی از واحدهای اجرایی CPU
را به طور همزمان درگیر می کنند.

برای مثال،
برخی دستورهای برداری سنگین
می توانند توان مصرفی بالایی ایجاد کنند.

به همین دلیل
CPU ممکن است برای چنین Workloadهایی
فرکانس متفاوتی
نسبت به بار سبک تر داشته باشد.

Power Virus چیست؟


بار مصنوعی بسیار سنگین از نظر توان — Power Virus

Power Virus
اصطلاحی غیررسمی
برای برخی بارهای مصنوعی
بسیار سنگین است
که هدف آنها
ایجاد فشار بسیار زیاد
روی مصرف توان و سیستم خنک کننده است.

چنین تستی
الزاماً نماینده استفاده واقعی
از سیستم نیست.

نکته مهندسی — Engineering Insight: Stress Test و Real-World Workload یک چیز نیستند

Stress Test
یا «آزمون فشار»
برای قرار دادن سیستم
در شرایط سنگین
و بررسی پایداری طراحی می شود.

اما:

Stress Test
≠
Real-World Workload

ممکن است CPU
در یک Stress Test
به محدودیت توان یا دما برسد،
اما در نرم افزار واقعی
هرگز چنین بار شدیدی تجربه نکند.

برعکس،
برای ارزیابی یک Workstation
باید Workload واقعی کاربر
نیز آزمایش شود.

Burst Performance و Sustained Performance چه تفاوتی دارند؟

نوع عملکرد معنی فارسی اهمیت
Burst Performance عملکرد جهشی کوتاه مدت باز شدن برنامه، عملیات کوتاه، پاسخ سریع
Sustained Performance عملکرد پایدار طولانی مدت رندر، کامپایل، شبیه سازی و پردازش طولانی

Performance CPU در طول زمان چگونه تغییر می کند؟

یک سناریوی ساده
می تواند چنین باشد:

Workload Starts
↓
High Boost
↓
High Short-Term Power
↓
Temperature Rises
↓
Power / Thermal Limits Become Active
↓
Frequency Settles
↓
Sustained Performance

این رفتار
الزاماً نشانه مشکل نیست.

ممکن است دقیقاً
همان رفتاری باشد
که سیستم برای آن طراحی شده است.

تاثیر بر عملکرد — Performance Impact: مشخصات روی کاغذ برای مقایسه سیستم های حرفه ای کافی نیست

برای کارهایی مانند:

  • رندر سه بعدی،
  • Revit،
  • Blender،
  • کامپایل نرم افزار،
  • شبیه سازی،
  • تحلیل مهندسی،
  • تدوین ویدئو،
  • پردازش داده،
  • Virtualization،
  • و بارهای سروری

Performance پایدار
می تواند بسیار مهم تر
از Peak Boost باشد.


مجازی سازی — Virtualization

Virtualization
یا «مجازی سازی»
فناوری ای است
که امکان اجرای
محیط ها یا ماشین های مجازی
روی یک سیستم فیزیکی
را فراهم می کند.

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

چرا لپ تاپ روی باتری کندتر می شود؟

در برخی لپ تاپ ها،
هنگام کار با باتری
محدودیت توان متفاوتی
اعمال می شود.

دلیل می تواند شامل:

  • افزایش عمر باتری،
  • محدودیت جریان باتری،
  • کاهش گرما،
  • کاهش صدای فن،
  • و سیاست مدیریت انرژی

باشد.

AC Power Performance
may not equal
Battery Performance

آیا آداپتور نامناسب می تواند Performance را محدود کند؟

بله،
در برخی سیستم ها
آداپتور نامناسب،
کم توان
یا شناسایی نشده
می تواند باعث اعمال
محدودیت عملکرد شود.

این موضوع
به طراحی دستگاه
و سیستم مدیریت توان آن بستگی دارد.

OEM Policy چیست؟


سیاست سازنده دستگاه — OEM Policy

OEM
مخفف:

Original Equipment Manufacturer

و در اینجا
منظور سازنده سیستم نهایی است.

OEM Policy
یا «سیاست سازنده دستگاه»
مجموعه تنظیماتی است
که سازنده برای ایجاد تعادل میان:

  • Performance،
  • دما،
  • مصرف انرژی،
  • صدای فن،
  • عمر باتری،
  • و دمای بدنه

انتخاب می کند.

نکته مهندسی — Engineering Insight: هنگام خرید فقط نام CPU را مقایسه نکنید

مخصوصاً در سیستم های آماده،
لپ تاپ،
Mini PC
و All-in-One،
نام CPU
فقط بخشی از داستان است.

باید پرسید:

  • CPU با چه Power Limitی کار می کند؟
  • خنک کننده چقدر توان دفع گرما دارد؟
  • فرکانس پایدار زیر بار چقدر است؟
  • آیا CPU و GPU خنک کننده مشترک دارند؟
  • VRM چه کیفیتی دارد؟
  • رفتار دستگاه بعد از گرم شدن چگونه است؟

چگونه علت افت Performance را تشخیص دهیم؟

01
Workload را مشخص کنیدبدانید افت Performance در چه برنامه یا آزمونی اتفاق می افتد.
02
Frequency را ثبت کنیدفقط فرکانس لحظه ای را نبینید؛ رفتار آن را در طول زمان بررسی کنید.
03
Temperature را بررسی کنیدمشخص کنید آیا CPU واقعاً به محدودیت حرارتی نزدیک شده است یا خیر.
04
Package Power را بررسی کنیدببینید افت Frequency همزمان با رسیدن توان به سقف مشخصی رخ می دهد یا خیر.
05
Limit Flags را بخوانیدThermal، Power، Current و سایر پرچم های محدودیت می توانند علت را مشخص کنند.
06
VRM و سیستم تغذیه را بررسی کنیدمخصوصاً در مادربردهای ضعیف یا سیستم های فشرده این مرحله مهم است.
07
رفتار AC و Battery را مقایسه کنیددر لپ تاپ مشخص کنید آیا محدودیت فقط هنگام استفاده از باتری رخ می دهد.
08
تست را به اندازه کافی ادامه دهیدرفتار 30 ثانیه اول ممکن است با Performance پس از 10 یا 30 دقیقه متفاوت باشد.

نشانه علت احتمالی چه چیزی بررسی شود؟
دمای بسیار بالا + افت فرکانس Thermal Limit Cooling / Fan / Paste / Airflow
دمای مناسب + توان روی سقف ثابت Power Limit PL / PPT / Firmware
دمای CPU مناسب + افت شدید زیر بار Current یا VRM Limit احتمالی VRM / Current Flags / Board
Performance بالا در ابتدا و افت بعدی تغییر از Burst به Sustained Power / Temperature over Time
Performance کمتر روی باتری Battery Power Policy Power Mode / Battery Limits
افت Performance با آداپتور جایگزین Adapter Power Limit احتمالی توان و شناسایی آداپتور

اشتباه رایج — Common Mistake: برای افزایش Performance باید تمام محدودیت های CPU را حذف کنیم

این نتیجه گیری
می تواند اشتباه و حتی خطرناک باشد.

محدودیت های توان،
جریان،
دما
و ولتاژ
بخشی از طراحی حفاظتی سیستم هستند.

افزایش بی حساب محدودیت ها
می تواند:

  • مصرف توان را افزایش دهد،
  • دمای CPU را بالا ببرد،
  • VRM را تحت فشار قرار دهد،
  • صدای سیستم را افزایش دهد،
  • و پایداری یا عمر قطعات را تحت تاثیر قرار دهد.

پشت صحنه فنی — Under the Hood: مدل کامل تر رفتار CPU زیر بار

پردازنده تلاش می کند
بالاترین Performance ممکن
را در محدوده شرایط مجاز
ارائه دهد.

Workload Demand
↓
Boost Logic
↓
Requested Frequency / Voltage
↓
Check Thermal Limit
+
Check Power Limit
+
Check Current Limit
+
Check Voltage / Reliability Limit
+
Check Platform Policy
↓
Allowed Operating Point

بنابراین فرکانس نهایی
نتیجه یک تصمیم پویا
میان چندین محدودیت است.

Active Limit چیست؟


محدودیت فعال — Active Limit

Active Limit
در این فصل
به محدودیتی گفته می شود
که در آن لحظه
مانع افزایش بیشتر Performance شده است.

برای مثال:

Thermal Limit

یا:

Power Limit

یا:

Current Limit

ممکن است محدودیت فعال باشند.

نکته مهندسی — Engineering Insight: با رفع یک محدودیت، محدودیت بعدی ظاهر می شود

فرض کنید
CPU به Thermal Limit رسیده است.

Cooler را ارتقا می دهیم.

اکنون دما پایین تر است
و CPU می تواند
توان بیشتری مصرف کند.

اما ممکن است
این بار به Power Limit برسد.

Thermal Bottleneck Removed
→
Power Bottleneck Becomes Visible

اگر Power Limit نیز افزایش یابد،
ممکن است محدودیت بعدی
Current،
Voltage،
VRM
یا حتی معماری خود CPU باشد.

به همین دلیل
Performance یک سیستم
همیشه توسط ضعیف ترین محدودیت فعال
در آن شرایط تعیین می شود.

این دانش هنگام خرید سیستم استوک چه کاربردی دارد؟

هنگام بررسی یک سیستم استوک،
فقط دیدن نام CPU
کافی نیست.

یک تست چند دقیقه ای
می تواند اطلاعات بسیار بیشتری بدهد.

باید بررسی شود:

  • CPU در شروع تست چه Performanceای دارد،
  • بعد از گرم شدن چه Performanceای حفظ می کند،
  • دمای پایدار چقدر است،
  • فرکانس پایدار چقدر است،
  • Package Power چقدر است،
  • آیا Thermal Throttling رخ می دهد،
  • و آیا سیستم خنک کننده رفتار طبیعی دارد.

تاثیر بر عملکرد — Performance Impact: دو دستگاه استوک ظاهراً یکسان می توانند Performance متفاوتی داشته باشند

حتی دو دستگاه
با مدل و CPU یکسان
ممکن است شرایط متفاوتی داشته باشند.

عواملی مانند:

  • گردوغبار،
  • وضعیت فن،
  • خمیر حرارتی،
  • سلامت Heat Pipe،
  • تنظیمات BIOS،
  • نسخه Firmware،
  • آداپتور،
  • و وضعیت سیستم خنک کننده

می توانند روی Performance واقعی اثر بگذارند.

بنابراین در سیستم استوک:

Model Name
+
CPU Name
≠
Complete Condition Assessment

اشتباهات رایج — Common Mistakes: محدودیت عملکرد CPU
  • نسبت دادن هر افت Frequency به دمای بالا.
  • فرض اینکه Maximum Boost باید دائماً حفظ شود.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Current Limit.
  • نادیده گرفتن VRM.
  • یکی دانستن Burst Performance و Sustained Performance.
  • قضاوت CPU فقط از روی تست چند ثانیه ای.
  • فرض اینکه CPU یکسان در تمام دستگاه ها Performance یکسان دارد.
  • نادیده گرفتن تنظیمات OEM.
  • نادیده گرفتن تفاوت AC و Battery.
  • فرض اینکه 100% CPU Usage همیشه توان یکسانی ایجاد می کند.
  • یکی دانستن Stress Test با Workload واقعی.
  • افزایش محدودیت های توان بدون بررسی VRM و Cooling.
  • قضاوت سیستم فقط بر اساس Maximum Temperature.

سوالات متداول درباره Throttling و Power Limit پردازنده

Throttling چیست؟

محدود شدن Performance پردازنده
به دلیل رسیدن به یکی از محدودیت های
حرارتی، توانی، الکتریکی
یا محدودیت های پلتفرم است.

آیا هر Throttling حرارتی است؟

خیر.
Power Limit،
Current Limit
و محدودیت های دیگر نیز
می توانند Performance را محدود کنند.

PL1 چیست؟

Power Limit 1
در چارچوب های مربوطه
با سطح توان طولانی مدت تر
پردازنده ارتباط دارد.

PL2 چیست؟

Power Limit 2
معمولاً با سطح توان بالاتر
برای رفتار کوتاه مدت تر
مرتبط است.

Tau چیست؟

پارامتر زمانی
در بخشی از منطق مدیریت توان است
و نباید آن را صرفاً
«مدت دقیق PL2»
در نظر گرفت.

PPT چیست؟

Package Power Tracking
یکی از پارامترهای مدیریت توان
در برخی پردازنده های AMD است.

TDC و EDC چیستند؟

دو پارامتر مرتبط
با محدودیت جریان هستند
که در رفتار Boost
برخی پردازنده های AMD اهمیت دارند.

VRM چیست؟

Voltage Regulator Module
یا ماژول تنظیم ولتاژ،
برق مورد نیاز CPU
را با ولتاژ مناسب تامین و کنترل می کند.

چرا CPU خنک است ولی فرکانس بالاتر نمی رود؟

ممکن است محدودیت فعال
Power،
Current،
Voltage
یا سیاست Firmware باشد،
نه دما.

چرا دو لپ تاپ با CPU یکسان سرعت متفاوت دارند؟

Power Limit،
Cooling،
Firmware،
VRM،
Shared Cooling
و سیاست سازنده
می توانند متفاوت باشند.

آیا 100 درصد CPU Usage یعنی بیشترین مصرف برق؟

الزاماً خیر.
نوع دستورها و Workload
روی مصرف توان تاثیر زیادی دارد.

برای رندر طولانی چه چیزی مهم تر است؟

Sustained Performance
یا عملکردی که سیستم
پس از گرم شدن
می تواند برای مدت طولانی حفظ کند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Throttling: محدودسازی عملکرد به دلیل رسیدن به یک محدودیت.
  • Thermal Throttling: محدودسازی عملکرد به دلیل شرایط حرارتی.
  • Power Limit Throttling: محدودسازی عملکرد به دلیل سقف توان.
  • Current Limit: محدودیت جریان الکتریکی.
  • Performance Envelope: محدوده مجاز عملکرد سیستم.
  • Headroom: ظرفیت باقی مانده تا رسیدن به یک محدودیت.
  • Thermal Headroom: حاشیه باقی مانده تا محدودیت حرارتی.
  • Power Headroom: حاشیه باقی مانده تا محدودیت توان.
  • Power Budget: بودجه توان قابل استفاده.
  • Thermal Budget: ظرفیت طراحی شده برای مدیریت گرما.
  • PL1: Power Limit 1؛ محدودیت توان مرتبط با رفتار طولانی مدت تر.
  • PL2: Power Limit 2؛ محدودیت توان بالاتر برای شرایط کوتاه مدت تر.
  • Tau: پارامتر زمانی در مدیریت توان.
  • PPT: Package Power Tracking؛ پارامتر محدودیت توان در برخی CPUهای AMD.
  • TDC: Thermal Design Current؛ پارامتر مرتبط با جریان پایدارتر.
  • EDC: Electrical Design Current؛ پارامتر مرتبط با جریان کوتاه مدت.
  • VRM: ماژول تنظیم ولتاژ.
  • MOSFET: نوعی ترانزیستور پرکاربرد در مدارهای قدرت.
  • Inductor: سلف؛ قطعه ذخیره کننده انرژی در میدان مغناطیسی.
  • Capacitor: خازن؛ قطعه ذخیره کننده انرژی در میدان الکتریکی.
  • VRM Throttling: محدودسازی ناشی از محدودیت سیستم تغذیه.
  • Embedded System: سیستم تعبیه شده برای انجام وظایف مشخص.
  • Rack: سازه استاندارد نصب تجهیزات سرور و شبکه.
  • Power Virus: بار مصنوعی بسیار سنگین از نظر مصرف توان.
  • Stress Test: آزمون فشار برای بررسی رفتار سیستم زیر بار سنگین.
  • Virtualization: مجازی سازی.
  • OEM: سازنده تجهیزات یا سیستم نهایی.
  • OEM Policy: سیاست عملکرد، توان و حرارت تعیین شده توسط سازنده.
  • Active Limit: محدودیتی که در آن لحظه مانع Performance بیشتر می شود.

خلاصه فصل

Performance واقعی CPU
فقط توسط معماری
و حداکثر فرکانس آن
تعیین نمی شود.

پردازنده دائماً
درون مجموعه ای از محدودیت ها
کار می کند:

Thermal
+
Power
+
Current
+
Voltage
+
VRM
+
Platform Policy

هر کدام از این عوامل
می تواند در یک لحظه
محدودیت اصلی CPU باشد.

به همین دلیل:

Maximum Boost
≠
Sustained Performance

و حتی:

Same CPU
≠
Same System Performance

مهم ترین مهارت
این است که هنگام افت Performance
ابتدا مشخص کنیم
کدام محدودیت فعال شده است،
نه اینکه بلافاصله
دما را مقصر بدانیم.


عملکرد واقعی پردازنده
نتیجه تعادل پویا میان توان،
دما، جریان، ولتاژ،
سیستم تغذیه،
خنک کننده
و سیاست کنترلی دستگاه است.


فصل 75
سطح: متوسط تا پیشرفته
موضوع: سیستم تغذیه پردازنده
تمرکز: VRM / Phases / Power Stage / Vcore / Ripple / Vdroop / LLC


پردازنده مستقیماً با ولتاژ خروجی پاور کار نمی کند

برق چگونه از پاور به ولتاژ دقیق مورد نیاز CPU تبدیل می شود؟

CPU برای کار کردن
به ولتاژی بسیار پایین،
دقیق
و دائماً قابل تنظیم نیاز دارد.

در حالی که منبع تغذیه کامپیوتر
ولتاژهایی مانند 12 ولت
را در اختیار مادربرد قرار می دهد،
هسته های پردازنده
معمولاً با ولتاژ بسیار پایین تری کار می کنند.

وظیفه تبدیل و کنترل این انرژی
بر عهده بخش مهمی از مادربرد
به نام
ماژول تنظیم ولتاژ
یا
VRM
است.

PSU
→
EPS Connector
→
Motherboard VRM
→
Regulated Voltage
→
CPU Power Rails

در این فصل چه چیزهایی یاد می گیریم؟

  • مسیر برق CPU از پاور تا تراشه چگونه است.
  • کانکتور EPS چیست.
  • VRM دقیقاً چه کاری انجام می دهد.
  • چرا CPU نمی تواند مستقیماً از 12 ولت استفاده کند.
  • Buck Converter چیست.
  • PWM Controller چیست.
  • فاز VRM چیست.
  • Power Stage چیست.
  • MOSFET چه کاری انجام می دهد.
  • High-Side و Low-Side MOSFET چیستند.
  • DrMOS چیست.
  • Choke چیست.
  • Capacitor چه نقشی دارد.
  • Vcore چیست.
  • Power Rail چیست.
  • Ripple چیست.
  • Transient Response چیست.
  • Vdroop چیست.
  • Load-Line چیست.
  • Load-Line Calibration چیست.
  • چرا تعداد فاز بیشتر همیشه به معنی VRM بهتر نیست.
  • چگونه VRM روی Performance و پایداری CPU اثر می گذارد.

مسیر برق CPU از کجا شروع می شود؟

در یک کامپیوتر دسکتاپ،
انرژی الکتریکی ابتدا
توسط منبع تغذیه سیستم
یا PSU
فراهم می شود.


منبع تغذیه — Power Supply Unit

PSU
مخفف
Power Supply Unit
و به معنی
«واحد منبع تغذیه»
است.

وظیفه آن
تبدیل برق ورودی
به ولتاژهای مورد نیاز
اجزای کامپیوتر است.

کانکتور EPS چیست؟


کانکتور تغذیه پردازنده — EPS CPU Power Connector

کانکتور
EPS
یکی از مسیرهای اصلی
انتقال توان از PSU
به بخش تغذیه CPU
روی مادربرد است.

در مادربردهای مختلف
ممکن است ترکیب هایی مانند:

4-pin

8-pin

8 + 4-pin

8 + 8-pin

دیده شود.

تعداد کانکتورهای بیشتر
لزوماً به این معنی نیست
که یک CPU معمولی
به تمام ظرفیت آنها نیاز دارد.

چرا 12 ولت مستقیماً وارد هسته CPU نمی شود؟

ترانزیستورهای داخل پردازنده
برای کار در محدوده های ولتاژی
بسیار پایین تر طراحی شده اند.

اعمال مستقیم ولتاژ ورودی PSU
به هسته CPU
قابل استفاده نیست
و می تواند برای تراشه مخرب باشد.

بنابراین باید:

Higher Input Voltage
→
Voltage Conversion
→
Low Controlled Voltage
→
CPU

VRM دقیقاً چیست؟


ماژول تنظیم ولتاژ — Voltage Regulator Module

VRM
مخفف
Voltage Regulator Module
و به معنی
«ماژول تنظیم ولتاژ»
است.

VRM
ولتاژ ورودی بالاتر
را به ولتاژ پایین تر
و کنترل شده مورد نیاز CPU
تبدیل می کند.

اما وظیفه VRM
فقط کاهش ولتاژ نیست.

این مدار باید بتواند
هنگام تغییر سریع بار CPU،
ولتاژ و جریان مناسب
را با پایداری کافی فراهم کند.

Buck Converter چیست؟


مبدل کاهنده ولتاژ — Buck Converter

Buck Converter
یا «مبدل کاهنده»
نوعی مدار تبدیل توان است
که ولتاژ DC بالاتر
را به ولتاژ DC پایین تر
تبدیل می کند.

VRM پردازنده
اساساً از اصول
تبدیل توان سوئیچینگ
برای انجام این کار استفاده می کند.

12 V Input
→
Switching Conversion
→
Lower CPU Voltage

پشت صحنه فنی — Under the Hood: چرا ولتاژ را با مقاومت ساده پایین نمی آوریم؟

CPU مدرن
می تواند جریان زیادی مصرف کند
و بار آن نیز
در مدت بسیار کوتاهی تغییر کند.

اگر مقدار زیادی از توان
صرفاً به صورت گرما
در یک عنصر مقاومتی تلف شود،
بازده بسیار پایین خواهد بود.

مبدل سوئیچینگ
امکان تبدیل توان
با بازده بسیار بالاتری را فراهم می کند.

Input Power
→
High-Efficiency Switching Conversion
→
CPU Power
+
Conversion Losses

البته VRM نیز
بدون اتلاف نیست
و بخشی از انرژی
به گرما تبدیل می شود.

بازده VRM چیست؟


بازده تبدیل توان — VRM Efficiency

Efficiency
یا «بازده»
نشان می دهد
چه بخشی از توان ورودی
به توان مفید خروجی تبدیل شده است.

رابطه ساده:

Efficiency
=
Output Power
÷
Input Power

اختلاف میان توان ورودی و خروجی
عمدتاً به شکل اتلاف
و در نهایت گرما ظاهر می شود.

PWM Controller چیست؟


کنترلر مدولاسیون پهنای پالس — PWM Controller

PWM
مخفف:

Pulse Width Modulation

و به معنی
«مدولاسیون پهنای پالس»
است.

PWM Controller
یکی از اجزای مهم
سیستم کنترل VRM است.

این کنترلر
نحوه سوئیچ شدن مراحل قدرت
را مدیریت می کند
تا ولتاژ خروجی
در محدوده مورد نیاز باقی بماند.

Feedback Loop چیست؟


حلقه بازخورد — Feedback Loop

Feedback Loop
یا «حلقه بازخورد»
سازوکاری است
که در آن خروجی سیستم
اندازه گیری می شود
و برای اصلاح رفتار سیستم
دوباره به کنترلر بازگردانده می شود.

در یک مدل ساده VRM:

Desired Voltage
→
Power Stage
→
Output Voltage
→
Measurement
→
Controller
→
Correction

فاز VRM چیست؟


فاز تغذیه — VRM Phase

در یک VRM چندفازه،
فرآیند تامین جریان
میان چند مسیر سوئیچینگ
تقسیم می شود.

هر مسیر را
به صورت ساده
یک
Phase
یا «فاز»
در نظر می گیریم.

فازهای مختلف
با اختلاف زمانی
فعالیت می کنند.

چرا VRM چندفازه استفاده می شود؟

تقسیم بار میان چند فاز
می تواند مزایایی مانند:

  • تقسیم جریان میان اجزا،
  • کاهش فشار حرارتی روی هر فاز،
  • بهبود پاسخ به تغییر بار،
  • کاهش برخی مولفه های Ripple،
  • و امکان تامین جریان بالاتر

داشته باشد.

Total CPU Current
→
Shared Across Multiple Phases

پشت صحنه فنی — Under the Hood: چرا همه فازها دقیقاً همزمان سوئیچ نمی شوند؟

در طراحی چندفازه،
فازها معمولاً
با اختلاف زمانی
نسبت به یکدیگر کار می کنند.

این روش
Interleaving
یا «درهم گذاری زمانی فازها»
نامیده می شود.

به صورت مفهومی:

Phase 1
→
Phase 2
→
Phase 3
→
Phase 4
→
Repeat

در نتیجه
خروجی مجموع فازها
می تواند یکنواخت تر
از خروجی یک فاز تنها باشد.

Power Stage چیست؟


مرحله قدرت — Power Stage

Power Stage
یا «مرحله قدرت»
بخشی از مدار VRM است
که عمل سوئیچینگ توان
را انجام می دهد.

در طراحی های مختلف
ممکن است اجزای این بخش
جداگانه
یا در یک پکیج مجتمع
قرار گرفته باشند.

MOSFET در VRM چه کاری انجام می دهد؟

MOSFETها
مانند کلیدهای الکترونیکی
با سرعت بالا عمل می کنند.

کنترل دقیق روشن و خاموش شدن آنها
بخش اصلی فرآیند
تبدیل ولتاژ است.

MOSFET Switching
→
Pulsed Energy
→
Inductor
→
Filtered Output

High-Side و Low-Side MOSFET چیستند؟

جزء معنی ساده نقش کلی
High-Side MOSFET ماسفت سمت ورودی اتصال کنترل شده ورودی به مسیر تبدیل
Low-Side MOSFET ماسفت سمت پایین مدار تکمیل مسیر سوئیچینگ در چرخه تبدیل

DrMOS چیست؟


مرحله قدرت مجتمع — DrMOS

DrMOS
به طراحی ای اشاره دارد
که بخش هایی مانند Driver
و MOSFETهای مرتبط
در یک Package
مجتمع شده اند.

این مجتمع سازی
می تواند به:

  • کاهش مسیرهای الکتریکی،
  • بهبود کنترل سوئیچینگ،
  • کاهش فضای اشغال شده،
  • و بهینه سازی طراحی VRM

کمک کند.

Smart Power Stage چیست؟


مرحله قدرت هوشمند — Smart Power Stage

Smart Power Stage
نوع پیشرفته تری
از مرحله قدرت مجتمع است
که می تواند
قابلیت های مانیتورینگ
و حفاظتی بیشتری داشته باشد.

بسته به قطعه،
اطلاعاتی مانند:

  • Current،
  • Temperature،
  • و وضعیت حفاظتی

می توانند قابل پایش باشند.

Choke چیست؟


سلف قدرت — Choke

Choke
در VRM
نوعی Inductor
یا «سلف قدرت» است.

سلف در برابر
تغییر ناگهانی جریان
مقاومت می کند
و انرژی را
در میدان مغناطیسی
ذخیره می کند.

این ویژگی
برای تبدیل خروجی سوئیچینگ
به جریان قابل استفاده تر
برای CPU اهمیت دارد.

Capacitor در مسیر تغذیه CPU چه نقشی دارد؟

خازن ها
به تثبیت ولتاژ
و تامین یا جذب انرژی
هنگام تغییر سریع بار
کمک می کنند.

آنها در نقاط مختلف
مسیر تغذیه قرار می گیرند.

برخی خازن ها
حتی بسیار نزدیک
به خود پردازنده
یا داخل Package قرار دارند.

Decoupling Capacitor چیست؟


خازن بای پس یا جداساز — Decoupling Capacitor

Decoupling Capacitor
خازنی است
که نزدیک بار الکتریکی
قرار می گیرد
و به تامین انرژی
در تغییرات بسیار سریع جریان
و کاهش نویز کمک می کند.

این موضوع در CPU
اهمیت زیادی دارد،
زیرا بار پردازنده
می تواند بسیار سریع تغییر کند.

یک فاز VRM به صورت ساده چگونه کار می کند؟

PWM Controller
→
Driver / Power Stage
→
MOSFET Switching
→
Choke
→
Capacitors
→
CPU Rail

در VRM چندفازه،
چند نمونه از این مسیرها
با هماهنگی یکدیگر
توان مورد نیاز CPU را تامین می کنند.

Vcore چیست؟


ولتاژ هسته پردازنده — Vcore

Vcore
به ولتاژ تغذیه
مرتبط با هسته های CPU
گفته می شود.

این ولتاژ
ثابت و یکسان
در تمام شرایط کاری نیست.

سیستم مدیریت توان
می تواند بر اساس:

  • Frequency،
  • Workload،
  • Power State،
  • Boost،
  • Temperature،
  • و سیاست کنترل ولتاژ

مقدار مورد نیاز را تغییر دهد.

Power Rail چیست؟


ریل یا خط تغذیه — Power Rail

Power Rail
یا «ریل تغذیه»
مسیر یا دامنه تغذیه الکتریکی
برای بخش مشخصی از سیستم است.

CPU ممکن است
فقط یک ولتاژ تغذیه نداشته باشد.

بخش های مختلف تراشه
می توانند از Railهای متفاوت
استفاده کنند.

VID چیست؟


شناسه یا درخواست ولتاژ — Voltage Identification

VID
به مقدار یا کدی
مرتبط با درخواست ولتاژ پردازنده
اشاره دارد.

نکته مهم این است که
VID را نباید همیشه
دقیقاً برابر با ولتاژ واقعی
اندازه گیری شده روی Rail
در نظر گرفت.

Requested Voltage
≠
Always Exact Measured Voltage

Voltage Ripple چیست؟


ریپل یا موجک ولتاژ — Voltage Ripple

خروجی VRM
یک خط ریاضی کاملاً صاف
و بدون تغییر نیست.

مقدار کوچکی نوسان دوره ای
می تواند روی ولتاژ خروجی وجود داشته باشد
که به آن
Ripple
یا «موجک ولتاژ»
گفته می شود.

طراحی مناسب VRM،
فازها،
سلف ها
و خازن ها
برای کنترل این نوسان اهمیت دارد.

Electrical Noise چیست؟


نویز الکتریکی — Electrical Noise

Electrical Noise
به تغییرات ناخواسته
در سیگنال یا ولتاژ الکتریکی
گفته می شود.

Ripple
و Noise
مفاهیم مرتبطی هستند
اما کاملاً مترادف نیستند.

Transient Response چیست؟


پاسخ گذرا — Transient Response

Transient Response
یا «پاسخ گذرا»
رفتار سیستم تغذیه
هنگام تغییر سریع بار است.

CPU ممکن است
در مدت بسیار کوتاهی
از مصرف کم
به مصرف بسیار بالاتر برسد.

Light Load
→
Sudden Heavy Load
→
Current Demand ↑ Rapidly

VRM باید بتواند
به این تغییر
سریع و کنترل شده پاسخ دهد.

Voltage Undershoot چیست؟


افت گذرای ولتاژ — Voltage Undershoot

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

به این حالت
Voltage Undershoot
یا «افت گذرای ولتاژ»
گفته می شود.

Voltage Overshoot چیست؟


جهش گذرای ولتاژ — Voltage Overshoot

وقتی بار سنگین
ناگهان کاهش پیدا می کند،
ولتاژ ممکن است
برای مدت کوتاهی
بالاتر از مقدار هدف برود.

این حالت
Voltage Overshoot
نامیده می شود.

پشت صحنه فنی — Under the Hood: چرا تغییر ناگهانی بار CPU برای VRM سخت است؟

فرض کنید CPU
تقریباً بیکار است.

ناگهان یک Workload سنگین
شروع می شود.

CPU Current Demand
↑
Very Quickly

اما Inductor
نمی تواند جریان خود را
به صورت آنی تغییر دهد.

در لحظات اولیه،
خازن های نزدیک CPU
بخشی از انرژی مورد نیاز
را تامین می کنند.

Load Step
→
Capacitors Respond
→
VRM Current Ramps
→
Feedback Corrects Output

کیفیت این فرآیند
بخشی از
Transient Response
سیستم تغذیه است.

Vdroop چیست؟


افت طراحی شده ولتاژ زیر بار — Vdroop

Vdroop
به کاهش کنترل شده ولتاژ
هنگام افزایش بار
در چارچوب طراحی Load-Line
گفته می شود.

وجود Vdroop
الزاماً نشانه ضعف VRM نیست.

در بسیاری از طراحی ها
این رفتار
عمداً بخشی از مشخصات
کنترل ولتاژ است.

Load-Line چیست؟


خط بار ولتاژ — Load-Line

Load-Line
رابطه طراحی شده
میان جریان بار
و ولتاژ هدف
در سیستم تغذیه است.

در مدل ساده:

Load Current ↑
→
Target Voltage ↓ Slightly

این افت کنترل شده
به مدیریت Transientها
و جلوگیری از Overshoot شدید
هنگام کاهش ناگهانی بار
کمک می کند.

نکته مهندسی — Engineering Insight: Vdroop همیشه دشمن CPU نیست

تصور رایجی وجود دارد
که بهترین VRM
باید تحت هر شرایطی
دقیقاً یک ولتاژ ثابت ایجاد کند.

اما در یک سیستم دینامیک،
تغییر کنترل شده ولتاژ
می تواند بخشی از طراحی صحیح باشد.

اگر ولتاژ زیر بار
بدون هیچ Droop
بسیار بالا نگه داشته شود،
هنگام برداشته شدن ناگهانی بار
احتمال Overshoot بیشتر می شود.

Heavy Load
→
High Current
→
Load Suddenly Removed
→
Possible Voltage Overshoot

Load-Line Calibration چیست؟


کالیبراسیون خط بار — Load-Line Calibration

Load-Line Calibration
که معمولاً با
LLC
نمایش داده می شود،
قابلیتی در برخی مادربردهاست
که میزان افت ولتاژ
تحت بار را تغییر می دهد.

سطح LLC بالاتر
معمولاً تلاش می کند
Vdroop را کمتر کند.

اما:

Less Vdroop
≠
Automatically Better

اشتباه رایج — Common Mistake: LLC را همیشه باید روی بالاترین سطح قرار داد

خیر.

LLC بسیار تهاجمی
می تواند رفتار ولتاژ
هنگام تغییر بار را تغییر دهد
و در برخی شرایط
Overshoot بیشتری ایجاد کند.

تنظیم LLC
باید همراه با:

  • ولتاژ واقعی زیر بار،
  • Transient Behavior،
  • Temperature،
  • Stability،
  • و مشخصات پلتفرم

ارزیابی شود.

آیا هرچه تعداد فاز VRM بیشتر باشد مادربرد بهتر است؟

اشتباه رایج — Common Mistake: تعداد فاز بیشتر همیشه یعنی VRM قوی تر

تعداد فاز
فقط یکی از عوامل
کیفیت VRM است.

برای ارزیابی واقعی
باید موارد دیگری نیز بررسی شوند:

  • کیفیت Power Stage،
  • ظرفیت جریان هر Stage،
  • نوع Controller،
  • طراحی PCB،
  • کیفیت Choke،
  • نوع Capacitor،
  • Switching Frequency،
  • Cooling،
  • و نحوه کنترل فازها.

Phase Doubler چیست؟


دوبرابرکننده فاز — Phase Doubler

Phase Doubler
یا «دوبرابرکننده فاز»
مداری است
که می تواند
یک سیگنال کنترلی را
برای مدیریت مسیرهای قدرت بیشتری
تقسیم یا زمان بندی کند.

بنابراین عدد تبلیغاتی فازها
همیشه نشان نمی دهد
PWM Controller
همان تعداد کانال مستقل واقعی دارد.

Teamed Power Stages چیست؟


مراحل قدرت موازی — Teamed Power Stages

در برخی طراحی ها
چند Power Stage
تحت یک سیگنال کنترلی
به صورت موازی کار می کنند.

این روش
با طراحی دارای Phase Doubler
دقیقاً یکسان نیست.

نکته مهندسی — Engineering Insight: عبارت «16 فاز» بدون دانستن معماری VRM اطلاعات کافی نمی دهد

دو مادربرد
ممکن است هر دو
با عبارت
«16 Phase VRM»
تبلیغ شوند،
اما معماری واقعی آنها
متفاوت باشد.

برای مثال:

Native Phases

با:

Doubled Phases

یا:

Teamed Power Stages

یک مفهوم واحد نیستند.

علاوه بر آن،
ظرفیت و کیفیت هر Power Stage
نیز بسیار مهم است.

Switching Frequency چیست؟


فرکانس سوئیچینگ — Switching Frequency

Switching Frequency
یا «فرکانس سوئیچینگ»
نرخ روشن و خاموش شدن
مراحل قدرت VRM است.

تغییر این فرکانس
می تواند روی:

  • بازده،
  • Ripple،
  • Transient Response،
  • اندازه اجزای فیلتر،
  • و گرمای VRM

اثر بگذارد.

چرا VRM داغ می شود؟

VRM
بازده 100 درصد ندارد.

بخشی از انرژی
در اجزای آن تلف می شود.

دو گروه مهم از تلفات:

  • Conduction Loss،
  • Switching Loss.

تلفات هدایتی — Conduction Loss

Conduction Loss
یا «تلفات هدایتی»
زمانی ایجاد می شود
که جریان از اجزایی
با مقاومت الکتریکی عبور می کند.

به صورت مفهومی:

P
∝
I²R

بنابراین افزایش جریان
می تواند تلفات هدایتی
را به شدت افزایش دهد.


تلفات سوئیچینگ — Switching Loss

Switching Loss
یا «تلفات سوئیچینگ»
هنگام تغییر وضعیت
اجزای سوئیچینگ ایجاد می شود.

فرکانس سوئیچینگ،
ولتاژ،
جریان
و ویژگی های قطعه
روی این تلفات اثر دارند.

هیت سینک VRM چه کاری انجام می دهد؟

Power Stageها و MOSFETها
می توانند تحت بار سنگین
گرمای قابل توجهی تولید کنند.

هیت سینک VRM
سطح انتقال گرما را افزایش می دهد
تا گرما بهتر
به هوای اطراف منتقل شود.

اما اندازه ظاهری هیت سینک
تنها معیار کیفیت آن نیست.

تماس حرارتی،
سطح موثر،
جریان هوا
و طراحی واقعی
اهمیت دارند.

نکته مهندسی — Engineering Insight: خنک کننده CPU می تواند روی دمای VRM نیز اثر بگذارد

برخی خنک کننده های هوایی CPU
مقداری جریان هوا
در اطراف Socket
و VRM ایجاد می کنند.

اما در برخی سیستم های
دارای خنک کننده مایع،
ممکن است جریان هوای مستقیم
اطراف VRM کمتر شود.

بنابراین نصب
یک خنک کننده بسیار قدرتمند روی CPU
به تنهایی تضمین نمی کند
VRM نیز خنک باشد.

اگر VRM بیش از حد گرم شود چه اتفاقی می افتد؟

بسته به طراحی مادربرد،
سیستم ممکن است
برای محافظت از مدار تغذیه
توان CPU را محدود کند.

VRM Temperature ↑
→
Protection / Power Limiting
→
CPU Power ↓
→
CPU Frequency ↓

بنابراین ممکن است
CPU خودش دمای مناسبی داشته باشد
اما Performance کاهش پیدا کند.

تاثیر بر عملکرد — Performance Impact: مادربرد می تواند روی عملکرد پایدار CPU اثر بگذارد

اگر دو مادربرد
از یک CPU پشتیبانی کنند،
این موضوع الزاماً به معنی
رفتار یکسان آنها
زیر بار سنگین نیست.

تفاوت در:

  • VRM،
  • Cooling،
  • Power Limits،
  • BIOS،
  • Load-Line،
  • و تنظیمات سازنده

می تواند روی
Sustained Performance
اثر بگذارد.

آیا لپ تاپ هم VRM دارد؟

بله.

لپ تاپ نیز
برای CPU،
GPU،
Memory
و بخش های دیگر
به مدارهای تنظیم ولتاژ نیاز دارد.

اما طراحی آن
با مادربرد دسکتاپ
می تواند بسیار متفاوت باشد.

محدودیت فضا،
توان،
باتری
و خنک کننده
در طراحی سیستم تغذیه لپ تاپ
اهمیت زیادی دارند.

VRM در All-in-One و Mini PC چه اهمیتی دارد؟

در سیستم های فشرده
فضای کمتری
برای مدار تغذیه
و خنک کردن آن وجود دارد.

بنابراین طراحی:

  • Power Delivery،
  • Airflow،
  • Heat Spreader،
  • Power Limits،
  • و Firmware

نقش مهمی
در Performance پایدار سیستم دارد.

VRM در Workstation و Server چه تفاوتی دارد؟

پردازنده های حرفه ای
می توانند تعداد هسته زیاد
و مصرف جریان بالایی داشته باشند.

در Workstation و Server،
سیستم تغذیه باید
برای بارهای سنگین و طولانی
طراحی شود.

علاوه بر Performance،
مواردی مانند:

  • پایداری طولانی مدت،
  • بازده انرژی،
  • کنترل حرارتی،
  • قابلیت اطمینان،
  • و مدیریت خطا

اهمیت بالایی دارند.

چرا VRM در Overclocking مهم است؟

افزایش فرکانس
معمولاً می تواند
به ولتاژ و جریان بیشتری نیاز داشته باشد.

در نتیجه:

Frequency ↑
+
Voltage ↑
→
CPU Power ↑
→
VRM Current ↑
→
VRM Heat ↑

به همین دلیل
کیفیت سیستم تغذیه
در شرایط Overclocking
اهمیت بیشتری پیدا می کند.

Undervolting چه اثری روی سیستم تغذیه دارد؟


کاهش کنترل شده ولتاژ — Undervolting

Undervolting
یعنی تلاش برای کار کردن پردازنده
با ولتاژ کمتر
در همان شرایط عملکردی
یا شرایط نزدیک به آن.

اگر سیستم همچنان پایدار باشد،
کاهش ولتاژ
می تواند باعث کاهش:

  • توان CPU،
  • گرمای CPU،
  • جریان مورد نیاز،
  • و بار حرارتی VRM

شود.

پشت صحنه فنی — Under the Hood: چرا تغییر کوچک ولتاژ می تواند روی توان اثر زیادی بگذارد؟

در مدل ساده توان دینامیکی CMOS:

Pdynamic
∝
C × V² × f

یعنی توان دینامیکی
تقریباً با مربع ولتاژ
ارتباط دارد.

بنابراین افزایش ولتاژ
می تواند اثر قابل توجهی
روی مصرف توان
و تولید گرما داشته باشد.

البته مصرف واقعی CPU
پیچیده تر است
و Leakage
و عوامل دیگری نیز
در آن نقش دارند.

اگر ولتاژ CPU بیش از حد کم شود چه اتفاقی می افتد؟

ترانزیستورها
برای کار پایدار
در یک Frequency مشخص
به شرایط الکتریکی مناسب نیاز دارند.

اگر ولتاژ بیش از حد پایین باشد،
ممکن است:

  • خطای محاسباتی،
  • Crash،
  • Freeze،
  • Restart،
  • خطای نرم افزاری،
  • یا ناپایداری زیر بار

ایجاد شود.

اگر ولتاژ بیش از حد بالا باشد چه می شود؟

افزایش بیش از حد ولتاژ
می تواند:

  • مصرف توان را افزایش دهد،
  • دمای CPU را بالا ببرد،
  • فشار بیشتری به VRM وارد کند،
  • و در شرایط نامناسب قابلیت اطمینان تراشه را کاهش دهد.

بنابراین:

More Voltage
≠
Always Better Stability

Electromigration چیست؟


مهاجرت الکتریکی — Electromigration

Electromigration
یا «مهاجرت الکتریکی»
پدیده ای است
که در آن جریان الکتریکی
در طول زمان
می تواند باعث جابه جایی اتم ها
در رساناهای بسیار کوچک شود.

دما و چگالی جریان بالا
می توانند این فرآیند
را تشدید کنند.

نکته مهندسی — Engineering Insight: محدودیت ولتاژ فقط برای کنترل دما نیست

ممکن است CPU
از نظر دمای لحظه ای
هنوز در محدوده قابل قبول باشد،
اما ولتاژ یا جریان بالا
برای استفاده طولانی مدت
مطلوب نباشد.

بنابراین سیستم های مدیریت CPU
فقط Thermal Safety
را در نظر نمی گیرند.

Reliability
یا «قابلیت اطمینان بلندمدت»
نیز بخشی از طراحی است.

کیفیت VRM را چگونه ارزیابی کنیم؟

فقط شمارش Chokeها
یا خواندن عبارت تبلیغاتی
روی جعبه مادربرد کافی نیست.

ارزیابی بهتر
شامل بررسی موارد زیر است:

عامل چرا مهم است؟
PWM Controller معماری کنترل فازها را مشخص می کند
Power Stage ظرفیت و بازده بخش قدرت را تعیین می کند
Phase Configuration نحوه تقسیم بار را مشخص می کند
Choke در انتقال و صاف کردن جریان نقش دارد
Capacitors در فیلتر و پاسخ گذرا اهمیت دارند
VRM Heatsink روی دمای بخش قدرت اثر می گذارد
Airflow گرمای VRM را از اطراف آن خارج می کند
PCB Design روی انتقال جریان، گرما و رفتار الکتریکی اثر دارد
BIOS / Firmware Power Limit و رفتار کنترلی را تعیین می کند
Measured Temperature رفتار واقعی VRM زیر بار را نشان می دهد

چگونه احتمال محدودیت VRM را بررسی کنیم؟

01
CPU Temperature را بررسی کنیدابتدا مطمئن شوید افت Performance مستقیماً ناشی از Thermal Throttling خود CPU نیست.
02
CPU Power را ثبت کنیدببینید توان قبل و بعد از افت Performance چگونه تغییر می کند.
03
Frequency را در طول زمان ثبت کنیدافت ناگهانی یا دوره ای فرکانس می تواند سرنخ مهمی باشد.
04
VRM Temperature را بررسی کنیداگر مادربرد سنسور مناسب دارد، رفتار دمای VRM را زیر بار مشاهده کنید.
05
Limit Flags را بررسی کنیدPower، Current، Thermal و سایر محدودیت های گزارش شده را بررسی کنید.
06
Airflow اطراف VRM را بررسی کنیدجریان هوای ضعیف می تواند دمای مدار تغذیه را افزایش دهد.
07
رفتار را در تست طولانی بررسی کنیدمشکلات حرارتی VRM ممکن است بعد از چند دقیقه بار سنگین آشکار شوند.

اشتباهات رایج — Common Mistakes: VRM و تغذیه CPU
  • قضاوت کیفیت VRM فقط از روی تعداد فازها.
  • فرض اینکه تعداد Chokeها دقیقاً برابر تعداد فازهای واقعی است.
  • یکی دانستن Native Phase، Doubled Phase و Teamed Power Stage.
  • فرض اینکه هیت سینک بزرگ همیشه به معنی VRM بهتر است.
  • نادیده گرفتن Airflow اطراف VRM.
  • فرض اینکه CPU خنک یعنی سیستم تغذیه نیز خنک است.
  • یکی دانستن VID با ولتاژ واقعی CPU.
  • فرض اینکه Vdroop همیشه مشکل است.
  • قرار دادن LLC روی شدیدترین حالت بدون بررسی رفتار ولتاژ.
  • نادیده گرفتن Overshoot و Undershoot.
  • نادیده گرفتن Transient Response.
  • افزایش ولتاژ بدون توجه به توان و دما.
  • نادیده گرفتن Electromigration و قابلیت اطمینان بلندمدت.
  • تصور اینکه پشتیبانی مادربرد از CPU به معنی عملکرد ایده آل آن CPU است.

سوالات متداول درباره VRM و سیستم تغذیه CPU

VRM چیست؟

Voltage Regulator Module
یا ماژول تنظیم ولتاژ،
ولتاژ ورودی را
به ولتاژ پایین و کنترل شده
مورد نیاز CPU تبدیل می کند.

چرا CPU مستقیماً از 12 ولت استفاده نمی کند؟

ترانزیستورهای پردازنده
برای ولتاژهای بسیار پایین تری طراحی شده اند
و VRM باید ولتاژ مناسب را ایجاد کند.

آیا تعداد فاز بیشتر همیشه بهتر است؟

خیر.
کیفیت Power Stage،
Controller،
Cooling،
PCB
و معماری واقعی VRM
نیز اهمیت دارند.

Vcore چیست؟

ولتاژ تغذیه مرتبط
با هسته های پردازنده است.

VID و Vcore یک چیز هستند؟

الزاماً خیر.
VID با درخواست ولتاژ مرتبط است،
در حالی که ولتاژ واقعی
می تواند با مقدار درخواست شده تفاوت داشته باشد.

Vdroop چیست؟

کاهش طراحی شده ولتاژ
با افزایش بار است
و الزاماً نشانه ضعف VRM نیست.

LLC چیست؟

Load-Line Calibration
قابلیتی برای تغییر میزان Vdroop
در برخی مادربردهاست.

Ripple چیست؟

نوسان کوچک و دوره ای
روی ولتاژ خروجی سیستم تغذیه است.

Transient Response چیست؟

رفتار VRM
هنگام تغییر سریع
مصرف جریان CPU است.

آیا VRM داغ می تواند CPU را کند کند؟

بله.
در برخی طراحی ها
محدودیت حرارتی یا الکتریکی VRM
می تواند باعث کاهش توان
و Performance CPU شود.

آیا لپ تاپ و All-in-One هم VRM دارند؟

بله.
هر سیستم دارای CPU
به نوعی مدار تنظیم و مدیریت ولتاژ نیاز دارد،
هرچند طراحی آن می تواند متفاوت باشد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • PSU: واحد منبع تغذیه سیستم.
  • EPS Connector: کانکتور انتقال توان CPU روی مادربرد.
  • VRM: ماژول تنظیم ولتاژ.
  • Buck Converter: مبدل کاهنده ولتاژ DC.
  • Efficiency: بازده تبدیل انرژی.
  • PWM: مدولاسیون پهنای پالس.
  • PWM Controller: کنترلر فرآیند سوئیچینگ VRM.
  • Feedback Loop: حلقه بازخورد کنترلی.
  • Phase: یکی از مسیرهای تبدیل توان در VRM چندفازه.
  • Interleaving: فعالیت زمان بندی شده فازها با اختلاف زمانی.
  • Power Stage: مرحله قدرت در VRM.
  • MOSFET: ترانزیستور سوئیچینگ مورد استفاده در مدار قدرت.
  • High-Side MOSFET: ماسفت سمت ورودی مرحله قدرت.
  • Low-Side MOSFET: ماسفت سمت پایین مرحله قدرت.
  • DrMOS: مرحله قدرت مجتمع شامل Driver و MOSFETها.
  • Smart Power Stage: مرحله قدرت مجتمع دارای قابلیت های مانیتورینگ و حفاظتی.
  • Choke: سلف قدرت.
  • Decoupling Capacitor: خازن نزدیک بار برای کاهش نویز و کمک به تغییرات سریع جریان.
  • Vcore: ولتاژ تغذیه مرتبط با هسته CPU.
  • Power Rail: خط یا دامنه تغذیه الکتریکی.
  • VID: مقدار یا کد مرتبط با درخواست ولتاژ CPU.
  • Ripple: موجک یا نوسان دوره ای ولتاژ.
  • Electrical Noise: نویز الکتریکی ناخواسته.
  • Transient Response: پاسخ سیستم تغذیه به تغییر سریع بار.
  • Voltage Undershoot: افت گذرای ولتاژ.
  • Voltage Overshoot: جهش گذرای ولتاژ.
  • Vdroop: افت طراحی شده ولتاژ زیر بار.
  • Load-Line: رابطه طراحی شده میان جریان و ولتاژ هدف.
  • LLC: کالیبراسیون خط بار.
  • Phase Doubler: دوبرابرکننده یا تقسیم کننده کنترلی فازها.
  • Teamed Power Stages: مراحل قدرت موازی تحت کنترل مشترک.
  • Switching Frequency: فرکانس سوئیچینگ مدار قدرت.
  • Conduction Loss: تلفات هدایتی.
  • Switching Loss: تلفات ناشی از سوئیچینگ.
  • Undervolting: کاهش کنترل شده ولتاژ کاری.
  • Electromigration: مهاجرت اتمی ناشی از جریان الکتریکی در رسانا.
  • Reliability: قابلیت اطمینان سیستم در طول زمان.

خلاصه فصل

CPU مستقیماً
با ولتاژ خروجی PSU کار نمی کند.

مسیر توان
به صورت ساده چنین است:

PSU
→
EPS
→
VRM
→
CPU Power Rails
→
Transistors

VRM
باید همزمان
چند وظیفه دشوار را انجام دهد:

  • کاهش ولتاژ،
  • تامین جریان زیاد،
  • واکنش سریع به تغییر بار،
  • کنترل Ripple،
  • کنترل Transientها،
  • حفظ بازده مناسب،
  • و مدیریت گرمای خودش.

تعداد فاز
فقط یکی از اجزای این طراحی است.

کیفیت واقعی VRM
حاصل تعامل:

Controller
+
Power Stages
+
Phases
+
Chokes
+
Capacitors
+
PCB
+
Cooling
+
Firmware

است.

مفاهیمی مانند
Vdroop،
Load-Line،
Ripple
و Transient Response
نیز نشان می دهند
که هدف سیستم تغذیه
صرفاً تولید یک «عدد ولتاژ ثابت»
نیست.


VRM در واقع رابط میان دنیای توان الکتریکی مادربرد
و میلیاردها ترانزیستور بسیار حساس داخل CPU است؛
کیفیت این رابط می تواند روی پایداری،
دما، Boost، مصرف انرژی
و Performance پایدار کل سیستم اثر بگذارد.


فصل 76
سطح: متوسط تا پیشرفته
موضوع: تنظیم فرکانس و ولتاژ پردازنده
تمرکز: Overclocking / Undervolting / V-F Curve / Stability


فرکانس بیشتر، ولتاژ بیشتر و Performance بیشتر یک رابطه ساده و خطی نیست

Overclocking و Undervolting؛ رابطه واقعی فرکانس، ولتاژ، توان و پایداری CPU

تغییر تنظیمات CPU
فقط به معنی بالا بردن عدد GHz
یا کم کردن یک عدد ولتاژ نیست.

پشت این تنظیمات،
رابطه پیچیده ای میان
فرکانس،
ولتاژ،
توان مصرفی،
دما،
کیفیت سیلیکون،
سیستم تغذیه
و الگوریتم های Boost
وجود دارد.

برای درک صحیح Overclocking
و Undervolting
ابتدا باید این رابطه را بفهمیم.

Frequency
↔
Voltage
↔
Power
↔
Temperature
↔
Stability

در این فصل چه چیزهایی یاد می گیریم؟

  • Overclocking چیست.
  • Undervolting چیست.
  • Underclocking چیست.
  • چرا فرکانس بالاتر معمولاً به ولتاژ بیشتری نیاز دارد.
  • V/F Curve چیست.
  • Silicon Lottery چیست.
  • Clock Ratio یا Multiplier چیست.
  • BCLK چیست.
  • Static Voltage چیست.
  • Offset Voltage چیست.
  • Adaptive Voltage چیست.
  • Curve Optimizer چیست.
  • چرا Undervolt می تواند Performance را افزایش دهد.
  • چرا Overclock ناپایدار ممکن است ظاهراً سالم به نظر برسد.
  • Clock Stretching چیست.
  • WHEA Error چیست.
  • Stability Testing چگونه انجام می شود.

Overclocking چیست؟


افزایش فرکانس کاری — Overclocking

Overclocking
یا «اورکلاک»
به اجرای یک قطعه
در فرکانس یا شرایط عملکردی
بالاتر از تنظیمات مرجع آن
گفته می شود.

در CPU،
هدف معمولاً افزایش
Clock Frequency
و در نتیجه افزایش
ظرفیت پردازش در واحد زمان است.

Higher Clock
→
More Cycles per Second
→
Potentially More Performance

اما کلمه
Potentially
یا «بالقوه»
بسیار مهم است.

افزایش Clock
همیشه به همان نسبت
Performance را افزایش نمی دهد.

Underclocking چیست؟


کاهش فرکانس کاری — Underclocking

Underclocking
به کاهش فرکانس کاری
نسبت به تنظیمات معمول
گفته می شود.

هدف می تواند:

  • کاهش مصرف انرژی،
  • کاهش دما،
  • کاهش نویز سیستم خنک کننده،
  • یا محدود کردن Performance

باشد.

Undervolting چیست؟


کاهش ولتاژ کاری — Undervolting

Undervolting
یا «آندرولت»
یعنی تلاش برای کاهش
ولتاژ مورد استفاده پردازنده
بدون کاهش غیرضروری Performance.

هدف اصلی این است:

Similar Performance
+
Lower Voltage
→
Lower Power
+
Lower Temperature

البته فقط تا زمانی
که پردازنده پایدار باقی بماند.

Underclocking و Undervolting یک چیز نیستند

روش پارامتر اصلی هدف رایج
Overclocking افزایش فرکانس Performance بیشتر
Underclocking کاهش فرکانس توان و دمای کمتر
Undervolting کاهش ولتاژ بازده بهتر با حفظ Performance

Clock Ratio یا Multiplier چیست؟


ضریب فرکانس — Clock Ratio / Multiplier

در بسیاری از پردازنده ها،
فرکانس کاری CPU
از ترکیب یک فرکانس پایه
و یک ضریب ساخته می شود.

رابطه ساده:

CPU Frequency
=
Base Clock
×
Clock Multiplier

برای مثال،
اگر Base Clock
برابر 100 MHz
و Multiplier
برابر 50 باشد:

100 MHz × 50
=
5000 MHz
=
5.0 GHz

BCLK چیست؟


کلاک پایه — Base Clock

BCLK
مخفف
Base Clock
و به معنی
«کلاک پایه»
است.

این فرکانس
یکی از مراجع زمانی
مورد استفاده پلتفرم است.

در بسیاری از سیستم های مدرن،
تغییر BCLK
با تغییر ساده Multiplier
یکسان نیست
و بسته به معماری
می تواند بخش های دیگری را نیز تحت تاثیر قرار دهد.

چرا افزایش فرکانس ممکن است به ولتاژ بیشتری نیاز داشته باشد؟

با افزایش Frequency،
ترانزیستورها باید
عملیات منطقی را
در زمان کوتاه تری کامل کنند.

یعنی Timing Margin
یا حاشیه زمانی کاهش پیدا می کند.

Frequency ↑
→
Cycle Time ↓
→
Timing Margin ↓

افزایش ولتاژ
می تواند سرعت سوئیچ شدن
ترانزیستورها را افزایش دهد
و امکان کار در فرکانس بالاتر را فراهم کند.

اما این مزیت
هزینه دارد:

Voltage ↑
→
Power ↑
→
Temperature ↑

V/F Curve چیست؟


منحنی ولتاژ ـ فرکانس — Voltage/Frequency Curve

V/F Curve
رابطه میان
Voltage
و Frequency
مورد نیاز تراشه
را نشان می دهد.

به صورت مفهومی:

Low Frequency
→
Lower Required Voltage

High Frequency
→
Higher Required Voltage

این رابطه معمولاً
کاملاً خطی نیست.

پشت صحنه فنی — Under the Hood: چرا آخرین چندصد MHz می توانند بسیار گران تمام شوند؟

در فرکانس های پایین تر،
ممکن است افزایش Frequency
با افزایش نسبتاً کوچک Voltage
امکان پذیر باشد.

اما هرچه تراشه
به محدوده فرکانسی بالاتری نزدیک شود،
ممکن است برای مقدار کمی
افزایش Frequency
به افزایش بیشتری در Voltage نیاز باشد.

+100 MHz
→
Small Voltage Increase

ممکن است در نقطه ای دیگر تبدیل شود به:

+100 MHz
→
Much Larger Voltage Increase

در این نقطه،
Efficiency
به سرعت کاهش پیدا می کند.

چرا ولتاژ روی مصرف توان اثر زیادی دارد؟

برای بخش دینامیکی مصرف توان CMOS
می توان از مدل ساده زیر استفاده کرد:

Pdynamic
∝
C × V² × f

در این رابطه:

  • C نشان دهنده ظرفیت موثر سوئیچینگ است.
  • V ولتاژ است.
  • f فرکانس است.

نکته بسیار مهم
وجود توان دوم ولتاژ است.

نکته مهندسی — Engineering Insight: سریع ترین نقطه CPU الزاماً بهینه ترین نقطه آن نیست

فرض کنید
برای 5 درصد Performance بیشتر،
مصرف CPU
25 درصد افزایش پیدا کند.

در این حالت
Performance مطلق بیشتر شده،
اما:

Performance per Watt
↓

یعنی بازده انرژی
کاهش یافته است.

به همین دلیل
در لپ تاپ،
Mini PC،
All-in-One،
Workstation
و Server
همیشه بیشترین Clock
بهترین نقطه کاری نیست.

Silicon Lottery چیست؟


تفاوت طبیعی کیفیت تراشه ها — Silicon Lottery

حتی دو CPU
با مدل کاملاً یکسان
الزاماً از نظر رفتار الکتریکی
دقیقاً مشابه نیستند.

تفاوت های بسیار کوچک
در فرآیند ساخت
باعث می شوند
یک تراشه بتواند
فرکانس مشخصی را
با ولتاژ کمتر اجرا کند
و تراشه دیگر
برای همان فرکانس
به ولتاژ بیشتری نیاز داشته باشد.

این تفاوت میان نمونه ها
در جامعه کاربران
معمولاً با اصطلاح:

Silicon Lottery

شناخته می شود.

Binning چیست؟


دسته بندی تراشه ها بر اساس ویژگی های واقعی — Binning

پس از تولید،
تراشه ها آزمایش می شوند
و بر اساس ویژگی هایی مانند:

  • فرکانس قابل دستیابی،
  • ولتاژ مورد نیاز،
  • توان مصرفی،
  • سلامت بخش های مختلف تراشه،
  • و اهداف محصول

می توانند در گروه های مختلف قرار گیرند.

این فرآیند
Binning
نامیده می شود.

Static Voltage چیست؟


ولتاژ ثابت تنظیم شده — Static Voltage

در حالت
Static Voltage
یا «ولتاژ ثابت»،
مقدار مشخصی
برای ولتاژ تنظیم می شود.

این روش
در برخی سناریوهای تنظیم دستی
ساده است،
اما ممکن است
رفتار مدیریت توان پویا
را نسبت به حالت خودکار
تغییر دهد.

Offset Voltage چیست؟


ولتاژ افست — Offset Voltage

در روش
Offset Voltage
یک مقدار مثبت یا منفی
به ولتاژ محاسبه شده
توسط سیستم اضافه می شود.

مثال مفهومی:

Automatic Voltage
+
Negative Offset
=
Lower Requested Voltage

Negative Offset
یکی از روش های رایج
برای Undervolting
در برخی پلتفرم هاست.

Adaptive Voltage چیست؟


ولتاژ تطبیقی — Adaptive Voltage

Adaptive Voltage
اجازه می دهد
سیستم همچنان
رفتار پویا در ولتاژ
و Power Stateها داشته باشد،
اما پارامترهای مشخصی
برای شرایط عملکردی
تنظیم شوند.

جزئیات دقیق این قابلیت
به CPU،
مادربرد
و BIOS
بستگی دارد.

Curve Optimizer چیست؟


تنظیم منحنی ولتاژ ـ فرکانس — Curve Optimizer

در برخی پلتفرم های AMD،
Curve Optimizer
ابزاری برای تغییر رفتار
منحنی Voltage/Frequency
پردازنده است.

Negative Curve
به صورت ساده
تلاش می کند CPU
برای نقاط کاری مشخص
با ولتاژ کمتری کار کند.

اما این مفهوم
نباید دقیقاً معادل
وارد کردن یک Offset Voltage ثابت
در نظر گرفته شود.

چرا تنظیم Per-Core می تواند بهتر باشد؟

همه هسته های یک CPU
الزاماً کیفیت الکتریکی
کاملاً یکسانی ندارند.

ممکن است یک Core
مقدار بیشتری Undervolt را تحمل کند
اما Core دیگر
با همان تنظیم ناپایدار شود.

بنابراین در پلتفرم هایی
که تنظیم
Per-Core
را پشتیبانی می کنند،
می توان هر Core
را جداگانه تنظیم کرد.

تاثیر بر عملکرد — Performance Impact: چگونه کاهش ولتاژ می تواند CPU را سریع تر کند؟

در نگاه اول
این موضوع متناقض به نظر می رسد.

اما فرض کنید CPU
تحت بار
به محدودیت دما یا توان می رسد.

با Undervolt موفق:

Voltage ↓
→
Power ↓
→
Temperature ↓
→
More Thermal / Power Headroom
→
Higher Sustained Boost

بنابراین ممکن است
با ولتاژ کمتر،
Average Frequency
بالاتر شود.

در این شرایط
Performance نیز
می تواند افزایش پیدا کند.

چرا Undervolting برای لپ تاپ اهمیت زیادی دارد؟

لپ تاپ
با محدودیت شدیدتری
در Cooling
و Power Budget
روبه رو است.

اگر پلتفرم اجازه دهد
و Undervolt پایدار باشد،
ممکن است مزایایی مانند:

  • دمای کمتر،
  • صدای فن کمتر،
  • مصرف انرژی کمتر،
  • کاهش Thermal Throttling،
  • و گاهی Performance پایدارتر

ایجاد شود.

نکته مهندسی — Engineering Insight: امکان Undervolt در همه سیستم ها وجود ندارد

دسترسی به تنظیم ولتاژ
به عوامل مختلفی بستگی دارد:

  • معماری CPU،
  • مدل پردازنده،
  • Microcode،
  • BIOS یا UEFI،
  • سیاست سازنده سیستم،
  • و محدودیت های امنیتی.

بنابراین دو لپ تاپ
با پردازنده مشابه
الزاماً امکانات تنظیم یکسانی ندارند.

ناپایداری CPU چگونه ظاهر می شود؟

ناپایداری
همیشه به معنی
خاموش شدن فوری سیستم نیست.

نشانه ها می توانند شامل:

  • Crash نرم افزار،
  • Freeze،
  • Restart،
  • Blue Screen،
  • خطا در محاسبات،
  • WHEA Error،
  • خرابی فایل در شرایط خاص،
  • خطا فقط در Idle،
  • خطا فقط زیر بار سنگین،
  • یا خطا در یک Core خاص

باشند.

WHEA Error چیست؟


خطای سخت افزاری گزارش شده توسط ویندوز — WHEA

WHEA
مخفف:

Windows Hardware Error Architecture

است.

خطاهای WHEA
می توانند نشانه
مشکل سخت افزاری
یا ناپایداری در بخش هایی مانند:

  • CPU،
  • Memory،
  • Interconnect،
  • PCIe،
  • یا تنظیمات Overclock / Undervolt

باشند.

وجود WHEA Error
به تنهایی
علت دقیق مشکل را مشخص نمی کند،
اما یک سرنخ مهم تشخیصی است.

Clock Stretching چیست؟


کاهش موثر کار انجام شده بدون افت واضح Clock گزارش شده — Clock Stretching

در برخی شرایط،
CPU ممکن است
Clock بالایی گزارش کند
اما تعداد عملیات موثر انجام شده
کمتر از چیزی باشد
که از آن Clock انتظار داریم.

این رفتار
در بحث تنظیم ولتاژ
می تواند اهمیت داشته باشد.

بنابراین فقط نگاه کردن
به Reported Clock
برای ارزیابی نتیجه Undervolt
کافی نیست.

Effective Clock چیست؟


فرکانس موثر — Effective Clock

Effective Clock
تلاش می کند
فرکانس واقعی موثر
در انجام کار
را بهتر از عدد لحظه ای
Reported Clock
نشان دهد.

هنگام بررسی Undervolt
بهتر است علاوه بر Clock گزارش شده،
Effective Clock
و Performance واقعی
نیز بررسی شوند.

اشتباه رایج — Common Mistake: اگر سیستم Crash نکرد، Undervolt کاملاً پایدار است

خیر.

ممکن است سیستم
ساعت ها در یک تست سنگین
پایدار باشد
اما هنگام:

  • Idle،
  • تغییر سریع بار،
  • Single-Core Boost،
  • Sleep / Wake،
  • بارهای سبک،
  • یا یک دستورالعمل خاص

خطا کند.

پشت صحنه فنی — Under the Hood: چرا Undervolt ممکن است در Idle خراب شود اما در Stress Test سالم باشد؟

CPU مدرن
یک نقطه ثابت Voltage/Frequency ندارد.

پردازنده دائماً
میان نقاط مختلف منحنی
حرکت می کند.

Idle
↔
Light Load
↔
Single-Core Boost
↔
Multi-Core Load

ممکن است تنظیم شما
در نقطه بار سنگین
کاملاً پایدار باشد،
اما در نقطه دیگری
از V/F Curve
ولتاژ کافی وجود نداشته باشد.

به همین دلیل:

Stress-Test Stable
≠
Guaranteed Fully Stable

Stability Testing چگونه باید انجام شود؟

یک تست واحد
نمی تواند تمام شرایط CPU
را پوشش دهد.

بهتر است
چند نوع بار مختلف بررسی شود.

نوع آزمایش چه چیزی را بررسی می کند؟
Heavy Multi-Core Load پایداری در توان و دمای بالا
Single-Core Load پایداری در Boost بالا
Light Load نقاط میانی V/F Curve
Idle Test پایداری ولتاژهای پایین و Power Stateها
Load Transition رفتار هنگام تغییر سریع بار
Real Applications پایداری در استفاده واقعی
Long Duration Test پایداری حرارتی و طولانی مدت

چرا Benchmark بعد از Undervolt ضروری است؟

هدف فقط این نیست
که سیستم روشن بماند.

باید بررسی کنیم:

  • Performance کاهش پیدا نکرده باشد،
  • Effective Clock افت نکرده باشد،
  • خطای محاسباتی وجود نداشته باشد،
  • Clock Stretching رخ نداده باشد،
  • و رفتار سیستم قابل تکرار باشد.

بنابراین:

Stable
+
Cooler
+
Same or Better Performance
=
Successful Undervolt

دما چگونه Overclock را محدود می کند؟

افزایش Voltage
و Frequency
معمولاً مصرف انرژی
و تولید گرما را افزایش می دهد.

اگر Cooling
نتواند این گرما را دفع کند:

Temperature ↑
→
Thermal Limit
→
Frequency Reduction

در این شرایط
Overclock بیشتر
حتی ممکن است
Performance واقعی را افزایش ندهد.

VRM چگونه Overclock را محدود می کند؟

با افزایش مصرف CPU،
جریان بیشتری
باید از VRM عبور کند.

اگر سیستم تغذیه
یا خنک کننده VRM
به محدودیت برسد،
ممکن است:

  • دمای VRM افزایش پیدا کند،
  • Power Limit فعال شود،
  • Current Limit فعال شود،
  • یا Frequency کاهش پیدا کند.

بنابراین Overclocking
فقط مسئله خود CPU نیست.

تاثیر بر عملکرد — Performance Impact: خنک کننده بهتر همیشه فقط دمای کمتر ایجاد نمی کند

در CPUهای دارای
الگوریتم Boost پویا،
کاهش Temperature
ممکن است Headroom بیشتری
برای افزایش Clock ایجاد کند.

بنابراین در بعضی پردازنده ها:

Better Cooling
→
Lower Temperature
→
More Boost Headroom
→
Higher Sustained Performance

یعنی Cooling
می تواند مستقیماً
روی Performance اثر بگذارد.

All-Core Overclock چیست؟


اورکلاک تمام هسته ها — All-Core Overclock

در این روش
معمولاً یک Clock مشخص
برای مجموعه ای از Coreها
یا تمام Coreها
تعیین می شود.

این روش می تواند
Multi-Core Performance
را افزایش دهد،
اما در بعضی CPUها
ممکن است رفتار Boost پویا
یا Single-Core Boost
را نسبت به حالت خودکار تغییر دهد.

Per-Core Overclock چیست؟

در برخی پلتفرم ها
می توان Coreها
یا گروه های مختلف Core
را با Ratioهای متفاوت تنظیم کرد.

این روش
امکان استفاده بهتر
از تفاوت کیفیت هسته ها
را فراهم می کند.

Automatic Overclocking چیست؟

برخی مادربردها
قابلیت های خودکار
برای افزایش Performance دارند.

این سیستم ها ممکن است
بر اساس:

  • Temperature،
  • Power،
  • Current،
  • CPU Quality،
  • و تنظیمات سازنده

Clock و Voltage
را تغییر دهند.

اما «خودکار»
الزاماً به معنی
«بهینه ترین تنظیم ممکن»
نیست.

اشتباه رایج — Common Mistake: Auto Voltage همیشه بهترین ولتاژ را انتخاب می کند

مادربرد باید
طیف وسیعی از CPUها
را پایدار نگه دارد.

بنابراین تنظیمات خودکار
ممکن است برای ایجاد حاشیه پایداری،
ولتاژ بیشتری
نسبت به نیاز نمونه خاص CPU شما اعمال کنند.

اما این موضوع
به معنی آن نیست
که همیشه باید Voltage
را دستی کاهش داد.

هر تغییر
باید آزمایش و اعتبارسنجی شود.

چرا 10 درصد افزایش Clock الزاماً 10 درصد Performance بیشتر نمی دهد؟

Performance یک برنامه
فقط به Clock CPU وابسته نیست.

ممکن است محدودیت اصلی:

  • Memory،
  • Cache،
  • Storage،
  • GPU،
  • Branch Prediction،
  • Software Parallelism،
  • یا Latency

باشد.

بنابراین:

Clock +10%
≠
Guaranteed Performance +10%

نکته مهندسی — Engineering Insight: ارزش Overclock کاملاً به Workload بستگی دارد

اگر برنامه
CPU-Bound باشد،
افزایش Clock
ممکن است مفید باشد.

اما اگر برنامه
GPU-Bound
یا Memory-Bound باشد،
افزایش Clock CPU
ممکن است تاثیر بسیار کمی داشته باشد.

Bottleneck Location
→
Determines Real Overclock Benefit

آیا Overclocking در لپ تاپ منطقی است؟

در بسیاری از لپ تاپ ها
دسترسی به تنظیمات Overclock
محدود یا کاملاً بسته است.

حتی در سیستم هایی
که امکان افزایش Performance وجود دارد،
محدودیت:

  • Cooling،
  • VRM،
  • Power Adapter،
  • Battery،
  • و Chassis

بسیار مهم است.

در بسیاری از لپ تاپ ها
بهینه سازی Cooling،
Power Limit
یا Undervolting پایدار
می تواند منطقی تر
از Overclock سنتی باشد.

وضعیت All-in-One و Mini PC چگونه است؟

در سیستم های فشرده
فضای خنک کننده
و ظرفیت Power Delivery
محدودتر است.

بنابراین هدف مهندسی
اغلب رسیدن به:

Best Sustainable Performance
per Watt

است،
نه بیشترین Clock لحظه ای.

Overclock در Workstation چه تفاوتی دارد؟

در یک سیستم Workstation
ممکن است Reliability
از چند درصد Performance بیشتر
ارزشمندتر باشد.

یک Render
یا Simulation
که چند ساعت اجرا می شود
باید نتیجه صحیح تولید کند.

بنابراین:

Fast but Unstable
<
Slightly Slower but Reliable

مخصوصاً در کاربردهای حرفه ای.

اشتباه رایج — Common Mistake: بدترین نتیجه Overclock ناپایدار فقط Crash است

Crash
واضح ترین نوع شکست است،
اما همیشه بدترین نوع آن نیست.

ناپایداری می تواند
در شرایط خاص
باعث محاسبه اشتباه
یا خراب شدن داده شود.

به همین دلیل
در سیستم های کاری،
علمی،
مهندسی
و تولید محتوا،
Stability
باید بر Benchmark کوتاه مدت
اولویت داشته باشد.

روش اصولی تنظیم CPU چیست؟

01
Baseline بسازیدقبل از هر تغییر،
Performance،
Temperature،
Power
و Clock سیستم را ثبت کنید.
02
هر بار فقط یک متغیر اصلی را تغییر دهیدتغییر همزمان چند تنظیم،
تشخیص علت مشکل را دشوار می کند.
03
تغییرات کوچک انجام دهیداز جهش های بزرگ در Voltage،
Frequency
یا Curve خودداری کنید.
04
Temperature و Power را ثبت کنیدفقط Benchmark Score
را بررسی نکنید.
05
Stability Test انجام دهیدبارهای سنگین،
سبک،
تک هسته،
چند هسته
و تغییر بار را بررسی کنید.
06
WHEA و Error Log را بررسی کنیدنبود Crash
به تنهایی اثبات پایداری نیست.
07
Performance واقعی را مقایسه کنیدReported Clock،
Effective Clock
و Benchmark Result
را با Baseline مقایسه کنید.
08
استفاده روزمره را آزمایش کنیدSleep،
Wake،
Idle،
بازی،
نرم افزار کاری
و بارهای واقعی را بررسی کنید.

اشتباهات رایج — Common Mistakes: Overclocking و Undervolting
  • تمرکز فقط روی عدد GHz.
  • افزایش شدید Voltage برای چند MHz بیشتر.
  • فرض اینکه Clock بیشتر همیشه Performance بیشتری ایجاد می کند.
  • نادیده گرفتن V/F Curve.
  • فرض اینکه دو CPU یک مدل دقیقاً رفتار یکسانی دارند.
  • کپی کردن تنظیمات Undervolt یا Overclock شخص دیگر بدون تست.
  • فرض اینکه نبود Crash یعنی Stability کامل.
  • نادیده گرفتن WHEA Error.
  • بررسی نکردن Effective Clock.
  • نادیده گرفتن Clock Stretching.
  • تست کردن فقط Multi-Core Load.
  • تست نکردن Idle و Light Load.
  • تغییر همزمان چند تنظیم BIOS.
  • نادیده گرفتن VRM Temperature.
  • نادیده گرفتن Power Consumption.
  • استفاده از Benchmark Score به عنوان تنها معیار موفقیت.
  • اولویت دادن چند درصد Performance به Reliability در سیستم کاری.

سوالات متداول درباره Overclocking و Undervolting

Overclocking چیست؟

اجرای CPU
در فرکانس یا شرایط عملکردی
بالاتر از تنظیمات مرجع
برای دستیابی به Performance بیشتر است.

Undervolting چیست؟

کاهش ولتاژ کاری CPU
با هدف کاهش توان و دما
در حالی که Performance
و Stability حفظ شوند.

آیا Undervolting باعث کاهش Performance می شود؟

الزاماً خیر.
اگر تنظیم پایدار باشد،
Performance می تواند حفظ شود
و در سیستم های محدودشده توسط دما یا توان
حتی افزایش پیدا کند.

V/F Curve چیست؟

منحنی ارتباط میان
Voltage
و Frequency
مورد نیاز CPU است.

Silicon Lottery یعنی چه؟

به تفاوت طبیعی رفتار الکتریکی
میان نمونه های مختلف
یک مدل CPU گفته می شود.

آیا تنظیم Overclock یک CPU را می توان روی CPU مشابه کپی کرد؟

نباید پایداری آن را فرض کرد.
حتی دو نمونه از یک مدل
ممکن است به Voltage متفاوتی نیاز داشته باشند.

اگر Stress Test بدون خطا تمام شود CPU کاملاً پایدار است؟

نه لزوماً.
Idle،
Light Load،
Single-Core Boost
و تغییرات سریع بار
نیز باید بررسی شوند.

Clock Stretching چیست؟

شرایطی است
که Clock گزارش شده بالا به نظر می رسد،
اما Performance یا Effective Clock
متناسب با آن نیست.

آیا Undervolt برای لپ تاپ مفید است؟

در سیستم هایی که آن را پشتیبانی می کنند
و تنظیم پایدار است،
می تواند دما،
توان و نویز فن را کاهش دهد
و گاهی Performance پایدار را بهتر کند.

بهترین Overclock کدام است؟

یک عدد عمومی وجود ندارد.
نتیجه به CPU،
کیفیت سیلیکون،
مادربرد،
VRM،
Cooling،
Workload
و هدف کاربر بستگی دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Overclocking: افزایش فرکانس یا شرایط عملکردی فراتر از تنظیمات مرجع.
  • Underclocking: کاهش فرکانس کاری.
  • Undervolting: کاهش ولتاژ کاری با هدف افزایش بازده.
  • Clock Ratio: ضریب مورد استفاده برای تعیین فرکانس CPU.
  • Multiplier: ضریب فرکانس.
  • BCLK: کلاک پایه.
  • V/F Curve: منحنی ارتباط ولتاژ و فرکانس.
  • Timing Margin: حاشیه زمانی برای تکمیل صحیح عملیات منطقی.
  • Silicon Lottery: تفاوت طبیعی کیفیت الکتریکی نمونه های مختلف تراشه.
  • Binning: دسته بندی تراشه ها بر اساس نتایج واقعی آزمایش.
  • Static Voltage: ولتاژ ثابت تنظیم شده.
  • Offset Voltage: مقدار افزوده یا کاسته شده از ولتاژ محاسبه شده.
  • Adaptive Voltage: تنظیم ولتاژ با حفظ رفتار پویا.
  • Curve Optimizer: ابزار تغییر رفتار منحنی ولتاژ ـ فرکانس در برخی پلتفرم ها.
  • Per-Core: تنظیم جداگانه برای هر هسته.
  • WHEA: معماری گزارش خطاهای سخت افزاری ویندوز.
  • Clock Stretching: اختلاف میان Clock ظاهری و کار موثر انجام شده.
  • Effective Clock: فرکانس موثر واقعی پردازنده.
  • Stability Testing: آزمایش پایداری سیستم در شرایط مختلف.
  • All-Core Overclock: تنظیم فرکانس برای همه هسته ها.
  • Performance per Watt: میزان عملکرد به ازای توان مصرفی.
  • CPU-Bound: شرایطی که CPU عامل اصلی محدودکننده Performance است.
  • GPU-Bound: شرایطی که GPU عامل اصلی محدودکننده Performance است.
  • Memory-Bound: شرایطی که زیرسیستم حافظه عامل اصلی محدودکننده است.
  • Baseline: وضعیت مرجع قبل از اعمال تغییرات.

خلاصه فصل

Overclocking
فقط افزایش یک عدد
در BIOS نیست.

با افزایش Frequency،
حاشیه زمانی ترانزیستورها کمتر می شود
و ممکن است CPU
برای حفظ Stability
به Voltage بیشتری نیاز داشته باشد.

اما افزایش Voltage
باعث افزایش شدیدتر
Power
و Temperature
می شود.

Frequency ↑
→
Voltage Requirement ↑
→
Power ↑
→
Temperature ↑
→
Cooling / Power Limits

Undervolting
مسیر متفاوتی دارد.

Voltage ↓
→
Power ↓
→
Temperature ↓
→
Potential Boost Headroom ↑

اما فقط زمانی موفق است
که CPU در تمام نقاط کاری
پایدار باقی بماند.

به همین دلیل
ارزیابی صحیح یک تنظیم
باید همزمان شامل:

Performance
+
Effective Clock
+
Power
+
Temperature
+
Error Monitoring
+
Stability

باشد.


بهترین تنظیم CPU الزاماً بالاترین Clock یا پایین ترین Voltage نیست؛
بهترین تنظیم نقطه ای است که Performance مورد نیاز،
مصرف انرژی، دما و پایداری در تعادل مناسبی قرار بگیرند.


فصل 77
سطح: متوسط تا پیشرفته
موضوع: کنترلر حافظه و ارتباط CPU با RAM
تمرکز: IMC / Channel / Data Rate / Bandwidth / Latency / Dual Channel


CPU فقط به RAM متصل نیست؛ یک کنترلر حافظه باید درخواست ها، Channelها، Timing و انتقال داده را مدیریت کند

کنترلر حافظه CPU چیست؟ RAM، Channel، Frequency، Bandwidth و Latency چگونه به پردازنده مرتبط می شوند؟

وقتی CPU داده ای را در Cache پیدا نمی کند،
در بسیاری از موارد
باید آن را از Main Memory
دریافت کند.

اما CPU مستقیماً
به شکل خام
با تراشه های RAM
صحبت نمی کند.

بین Coreهای پردازنده
و حافظه DRAM
مجموعه ای از
Controllerها،
Channelها،
Signalها
و Timingها
قرار دارند.

CPU Core
↓
Cache
↓
Memory Controller
↓
Memory Channel
↓
DIMM / DRAM

فهم این مسیر
توضیح می دهد
چرا دو سیستم
با CPU یکسان
اما RAM متفاوت
می توانند Performance
متفاوتی داشته باشند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Memory Controller چیست.
  • IMC چیست.
  • CPU چگونه با RAM ارتباط برقرار می کند.
  • Memory Channel چیست.
  • Single Channel و Dual Channel چه تفاوتی دارند.
  • Memory Data Rate چیست.
  • MT/s و MHz چه تفاوتی دارند.
  • Memory Bandwidth چیست.
  • Memory Latency چیست.
  • CAS Latency چه چیزی را نشان می دهد.
  • چرا Frequency بیشتر همیشه Latency کمتر ایجاد نمی کند.
  • چرا Channel بیشتر می تواند Bandwidth را افزایش دهد.
  • Memory Rank چیست و چه ارتباطی با Controller دارد.
  • Memory Training چیست.
  • چرا CPU و Motherboard هر دو در پشتیبانی RAM نقش دارند.
  • چرا لپ تاپ با RAM تک کاناله می تواند Performance پایین تری داشته باشد.
  • چه Workloadهایی به Memory Bandwidth حساس تر هستند.

Memory Controller چیست؟


Memory Controller

بخشی از سیستم است
که دسترسی CPU
به Main Memory
را مدیریت می کند.

وظایف آن
می توانند شامل:

  • دریافت Memory Requestها،
  • زمان بندی Requestها،
  • مدیریت Channelها،
  • اعمال Timingهای لازم،
  • ارسال Command به DRAM،
  • و انتقال Data میان RAM و CPU

باشند.

Memory Request
→
Memory Controller
→
DRAM Commands
→
Data Transfer

IMC چیست؟

IMC
مخفف:

Integrated Memory Controller

است.

در CPUهای مدرن
Memory Controller
معمولاً داخل Processor
یا Package پردازنده
یکپارچه شده است.

این طراحی
مسیر ارتباط
CPU و RAM
را مستقیم تر
از معماری های قدیمی تر
می کند.

CPU
+
Integrated Memory Controller
→
Direct Memory Interface

در سیستم های قدیمی Memory Controller کجا بود؟

در برخی Platformهای قدیمی،
Memory Controller
داخل Chipset
یا Northbridge
قرار داشت.

CPU
→
Front-Side Bus
→
Chipset / Memory Controller
→
RAM

در بسیاری از CPUهای مدرن:

CPU
→
Integrated Memory Controller
→
RAM

این تغییر
یکی از تحولات مهم
در طراحی Platformهای مدرن
بود.

Memory Channel چیست؟


Memory Channel

مسیر مستقل ارتباطی
میان Memory Controller
و مجموعه ای از
Memory Deviceهاست.

اگر Controller
چند Channel داشته باشد،
می تواند Data
را از چند مسیر
منتقل کند.

Memory Controller
↙
Channel A
↘
Channel B

افزایش تعداد Channel
می تواند
Bandwidth قابل دسترس
را افزایش دهد.

Single Channel و Dual Channel چه تفاوتی دارند؟

در Single Channel
فقط یک Channel
فعال است.

CPU
→
Channel A
→
RAM

در Dual Channel
دو Channel مستقل
می توانند
به صورت همزمان
Data منتقل کنند.

CPU
→
Channel A
+
Channel B
→
Higher Aggregate Bandwidth

بنابراین
Dual Channel
معمولاً ظرفیت انتقال
بیشتری نسبت به
Single Channel
فراهم می کند.

Channel با ظرفیت RAM یکی نیست

مقدار RAM
و تعداد Channel
دو مفهوم متفاوت هستند.

برای مثال:

16 GB RAM

می تواند به شکل:

1 × 16 GB

یا:

2 × 8 GB

پیاده سازی شود.

اگر Platform
Dual Channel باشد،
Configuration دوم
معمولاً امکان استفاده
از دو Channel
را فراهم می کند.

عرض Memory Channel چه تاثیری دارد؟

هر Channel
دارای Data Width
مشخصی است.

Bandwidth نظری
به Data Rate
و Width
بستگی دارد.

Theoretical Bandwidth
≈
Data Rate
×
Bus Width
×
Number Of Channels

این رابطه
یک مدل ساده شده
برای درک Bandwidth است.

Frequency RAM با Data Rate چه تفاوتی دارد؟

در حافظه DDR
Data
در هر Cycle Clock
بیش از یک انتقال
انجام می دهد.

DDR مخفف:

Double Data Rate

است.

بنابراین عددی که
به شکل DDR4-3200
یا DDR5-5600
بیان می شود،
بهتر است به عنوان
Data Rate
در واحد:

MT/s

در نظر گرفته شود.

MT/s و MHz یکی هستند؟

خیر.

MHz
Frequency Clock
را توصیف می کند.

MT/s
تعداد Transfer
در ثانیه را
بیان می کند.

در DDR:

Effective Data Rate
≈
2 × Memory Clock

برای مثال
حافظه DDR با Data Rate
حدود 3200 MT/s
Clock واقعی پایین تری
دارد.

Memory Bandwidth چیست؟


Memory Bandwidth

مقدار Data
قابل انتقال میان
CPU و Memory
در واحد زمان است.

Bandwidth بیشتر
مخصوصاً برای Workloadهایی
که حجم زیادی Data
منتقل می کنند
اهمیت دارد.

به صورت مفهومی:

Higher Data Rate
+
More Channels
→
Higher Potential Memory Bandwidth

Bandwidth نظری چگونه محاسبه می شود؟

برای یک Memory Channel
64 بیتی،
می توان به صورت ساده
نوشت:

Bandwidth
=
Data Rate
×
8 Bytes

چون:

64 bits
=
8 Bytes

برای مثال:

DDR4-3200
→
3200 MT/s
×
8 Bytes
≈
25.6 GB/s
Per 64-bit Channel

در Dual Channel
Bandwidth نظری
تقریباً دو برابر
می شود.

Bandwidth واقعی
معمولاً کمتر
از عدد نظری است.

Memory Latency چیست؟

Latency
مدت زمانی است
که CPU
برای دریافت پاسخ
یک Memory Request
منتظر می ماند.

Request
→
Wait
→
Data

Bandwidth و Latency
دو معیار متفاوت هستند.

Bandwidth
=
How Much Data Per Second?

Latency
=
How Long Until Data Arrives?

چرا Bandwidth بالا الزاماً Latency پایین نیست؟

یک Memory System
ممکن است
حجم بسیار زیادی Data
در ثانیه منتقل کند،
اما پاسخ یک Access منفرد
همچنان Latency قابل توجهی
داشته باشد.

مشابه یک بزرگراه:

تعداد خودروهایی
که در ساعت
از مسیر عبور می کنند
با مدت زمانی
که یک خودرو
برای رسیدن به مقصد
نیاز دارد
یک چیز نیست.

High Throughput
≠
Low Latency

CAS Latency یا CL چیست؟

CL
یکی از Timingهای
مهم DRAM است.

CAS
مخفف:

Column Address Strobe

است.

CAS Latency
تعداد Clock Cycle
مشخصی را
در بخشی از فرایند
دسترسی DRAM
بیان می کند.

اما CL
به تنهایی
Latency کامل RAM
را نشان نمی دهد.

چرا CL بیشتر همیشه بدتر نیست؟

CL
با تعداد Cycle
بیان می شود،
نه مستقیماً
با Nanosecond.

اگر Memory Clock
بیشتر شود،
هر Cycle
زمان کمتری دارد.

بنابراین:

Higher CL
+
Higher Frequency
Can Still Produce
Similar Or Lower Absolute Latency

برای مقایسه صحیح
باید Timing
و Clock
را با هم دید.

Memory Rank چیست؟

Rank
گروهی از Memory Chipهاست
که Memory Controller
آنها را به عنوان
یک مجموعه منطقی
مدیریت می کند.

DIMM
می تواند
Single Rank
یا Multi Rank
باشد.

Rank بیشتر
می تواند در برخی شرایط
به Controller اجازه دهد
بین Rankها
Requestها را
بهتر همپوشانی دهد.

اما Rank
با Channel
یکی نیست.

Channel و Rank چه تفاوتی دارند؟

مفهوم تعریف
Channel مسیر مستقل ارتباط Memory Controller با RAM
Rank گروه منطقی Memory Chipها روی یک یا چند Module
DIMM ماژول فیزیکی Memory

Memory Training چیست؟

هنگام Boot
سیستم باید
پارامترهای مناسب
برای ارتباط پایدار
با RAM
را تنظیم کند.

این فرایند
Memory Training
نامیده می شود.

Training
می تواند شامل
تنظیم Timing،
Signal Alignment
و پارامترهای
الکتریکی باشد.

Boot
→
Detect Memory
→
Train Interface
→
Verify Stable Parameters
→
Start System

CPU چگونه نوع و سرعت RAM قابل استفاده را محدود می کند؟

Memory Controller
داخل CPU
برای Standardها
و Speedهای مشخصی
طراحی می شود.

بنابراین CPU
می تواند روی:

  • DDR Generation،
  • تعداد Channel،
  • Data Rate رسمی،
  • Memory Capacity،
  • ECC Support،
  • و نوع Moduleهای پشتیبانی شده

محدودیت ایجاد کند.

اگر Memory Controller داخل CPU است، Motherboard چه نقشی دارد؟

Motherboard
مسیرهای الکتریکی،
Slotها،
BIOS/UEFI
و Power Delivery
مورد نیاز RAM
را فراهم می کند.

بنابراین:

Memory Compatibility
=
CPU IMC
+
Motherboard Design
+
BIOS / Firmware
+
Memory Module

وجود پشتیبانی
در CPU
به تنهایی
تضمین نمی کند
هر Module
روی هر Board
با هر Speed
کار کند.

JEDEC، XMP و EXPO چه ارتباطی با Memory Controller دارند؟

Memory Moduleها
دارای Profile
و Timingهای
مشخصی هستند.

JEDEC
Standardهای پایه
Memory را تعریف می کند.

Profileهایی مانند:

XMP
/
EXPO

می توانند
تنظیمات Performance
بالاتر از Profileهای پایه
ارائه دهند.

استفاده از آنها
به CPU،
Motherboard،
Firmware
و قابلیت Memory
وابسته است.

Memory Overclocking چه فشاری روی CPU ایجاد می کند؟

افزایش Memory Data Rate
فقط RAM
را درگیر نمی کند.

IMC داخل CPU
نیز باید
با Speed بالاتر
Interface
را پایدار نگه دارد.

بنابراین Maximum Stable Memory Speed
می تواند به:

  • کیفیت IMC همان CPU،
  • تعداد DIMMها،
  • تعداد Rankها،
  • Motherboard Layout،
  • Voltage،
  • و Firmware

وابسته باشد.

چرا استفاده از DIMMهای بیشتر می تواند Speed پایدار را کاهش دهد؟

اضافه شدن Moduleهای بیشتر
Load الکتریکی
Interface حافظه
را افزایش می دهد.

در نتیجه
دستیابی به Data Rate
بسیار بالا
می تواند دشوارتر شود.

More DIMMs / Ranks
→
More Electrical Load
→
Potentially Lower Stable Memory Speed

به همین دلیل
Specification رسمی CPU
ممکن است برای Configurationهای
مختلف Memory
Speedهای متفاوتی
تعریف کند.

RAM لحیم شده در لپ تاپ چگونه روی Channel اثر می گذارد؟

در Laptopهای جدید
Memory ممکن است:

  • کاملاً Soldered،
  • کاملاً Module-Based،
  • یا ترکیبی از Soldered و SO-DIMM

باشد.

تعداد Slot
به تنهایی
تعیین نمی کند
سیستم Single Channel
یا Dual Channel است.

باید Topology واقعی
Memory Platform
بررسی شود.

چرا Dual Channel برای Integrated GPU اهمیت زیادی دارد؟

Integrated GPU
معمولاً از همان
System Memory
به عنوان Graphics Memory
استفاده می کند.

بنابراین CPU Coreها
و iGPU
ممکن است
Memory Bandwidth
را به اشتراک بگذارند.

CPU
+
Integrated GPU
→
Shared System Memory

در چنین شرایطی
افزایش Memory Bandwidth
از طریق Configuration مناسب
می تواند Performance
iGPU را به شکل قابل توجهی
تحت تاثیر قرار دهد.

چه Workloadهایی به Memory Bandwidth یا Latency حساس هستند؟

همه برنامه ها
به یک اندازه
به RAM حساس نیستند.

Workloadهای احتمالی حساس:

  • Integrated Graphics،
  • Scientific Computing،
  • Data Processing،
  • Compression در بعضی الگوریتم ها،
  • Simulation،
  • Virtualization،
  • بعضی Gameها،
  • و Workloadهای دارای Working Set بزرگ.

در مقابل
بعضی Workloadها
ممکن است بیشتر
Compute-Bound باشند
و افزایش Bandwidth
اثر کمی داشته باشد.

Capacity مهم تر است یا Speed؟

اگر RAM کافی نباشد،
سیستم ممکن است
به Paging
یا Swap
متکی شود.

این وضعیت
معمولاً هزینه Performance
بسیار بیشتری
از اختلاف کوچک
Memory Speed دارد.

Insufficient Capacity
→
Storage Paging
→
Very High Latency

بنابراین در عمل:

ابتدا Capacity کافی،
سپس Configuration مناسب
و بعد Speed/Timing
اهمیت پیدا می کنند.

Cache چگونه فشار روی Memory Controller را کاهش می دهد؟

اگر Data
در Cache
پیدا شود،
Request
به Main Memory
ارسال نمی شود.

Cache Hit
→
No DRAM Access Required

Cache Hit Rate بالاتر
می تواند:

  • Memory Traffic را کاهش دهد،
  • Latency متوسط را کاهش دهد،
  • و فشار روی Memory Controller را کمتر کند.

چرا Coreهای بیشتر به Memory System قوی تر نیاز دارند؟

با افزایش Coreها،
تعداد Threadهایی
که همزمان
Data درخواست می کنند
می تواند افزایش یابد.

More Active Cores
→
More Potential Memory Requests
→
Higher Memory Traffic

اگر Bandwidth
به محدودیت برسد،
اضافه کردن Core
ممکن است Scaling
کمتری ایجاد کند.

Memory-Bound یعنی چه؟

Workload زمانی
Memory-Bound
است که Performance آن
بیشتر توسط
Memory System
محدود شود
تا Execution Capacity CPU.

برای مثال
CPU ممکن است
Execution Unit آزاد
داشته باشد،
اما Data هنوز
از Memory
نرسیده باشد.

Execution Resources Ready
+
Data Not Ready
→
Memory Stall

عوامل اصلی Performance حافظه در یک نگاه

عامل اثر اصلی
Capacity مقدار Data قابل نگهداری بدون Paging
Data Rate ظرفیت Transfer در واحد زمان
Channel Count افزایش مسیرهای مستقل انتقال Data
Timing بخشی از هزینه زمانی عملیات DRAM
Rank ساختار منطقی Memory و امکان Interleaving بیشتر در برخی شرایط
IMC مدیریت ارتباط CPU با DRAM
Cache Hit Rate کاهش نیاز به مراجعه به Main Memory

هنگام بررسی لپ تاپ یا سیستم استوک چه چیزهایی را درباره RAM بررسی کنیم؟

  1. ظرفیت کل RAM را ثبت کنید.
  2. نوع Memory مانند DDR4 یا DDR5 را مشخص کنید.
  3. Data Rate واقعی را بررسی کنید.
  4. تعداد Moduleها را بررسی کنید.
  5. Channel Configuration را بررسی کنید.
  6. وجود RAM Soldered را مشخص کنید.
  7. تعداد Slot آزاد را بررسی کنید.
  8. حداکثر Capacity قابل پشتیبانی را بررسی کنید.
  9. در سیستم دارای iGPU، Dual Channel بودن را جدی تر بررسی کنید.
  10. در Workstation، ECC Support را در صورت نیاز بررسی کنید.

زیرساخت فنی — وقتی CPU به RAM نیاز دارد چه مسیری طی می شود؟

فرض کنید
یک Load Instruction
به Data نیاز دارد.

ابتدا Cache Hierarchy
بررسی می شود.

Load
↓
L1 Cache
↓
L2 Cache
↓
LLC

اگر Data
در Cache پیدا نشود:

Cache Miss
↓
Memory Request
↓
Integrated Memory Controller

Controller
Request را
به Channel مناسب
هدایت می کند.

IMC
↓
Channel
↓
DIMM
↓
Rank
↓
Bank
↓
Row / Column

سپس DRAM
عملیات داخلی لازم
را انجام می دهد.

Data
از Memory Bus
به Controller
باز می گردد.

DRAM
↓
Memory Channel
↓
IMC
↓
Cache
↓
CPU Core

تمام این مسیر
بسیار کندتر
از دسترسی به Register
یا L1 Cache
است.

همین اختلاف
دلیل اهمیت
Cache،
Prefetching،
Out-of-Order Execution
و Memory-Level Parallelism
در CPU مدرن است.

نکته مهندسی — RAM سریع فقط با عدد MT/s تعریف نمی شود

دو Memory Kit
ممکن است Data Rate
متفاوتی داشته باشند،
اما Performance واقعی
به عوامل بیشتری
بستگی دارد.

Memory Performance
=
Data Rate
+
Timing
+
Channel
+
Rank
+
Controller
+
Workload

همچنین افزایش
Bandwidth نظری
فقط زمانی مفید است
که Workload
واقعاً به Bandwidth
بیشتری نیاز داشته باشد.

تاثیر بر عملکرد — Single Channel می تواند CPU و iGPU را بدون تغییر مدل پردازنده محدود کند

فرض کنید
دو Laptop
CPU یکسانی دارند.

سیستم اول:

1 × 16 GB
→
Single Channel

سیستم دوم:

2 × 8 GB
→
Dual Channel

اگر Workload
به Memory Bandwidth
حساس باشد،
سیستم دوم
می تواند Performance
بالاتری داشته باشد.

این تفاوت
مخصوصاً در Integrated Graphics
و بعضی Workloadهای
Memory-Intensive
می تواند محسوس باشد.

Same CPU
+
Different Memory Configuration
=
Different Real Performance

اشتباهات رایج — Common Mistakes درباره CPU و RAM
  • یکی دانستن MHz و MT/s.
  • فرض اینکه Data Rate بیشتر همیشه RAM سریع تر می سازد.
  • مقایسه CL بدون در نظر گرفتن Frequency.
  • یکی دانستن Bandwidth و Latency.
  • یکی دانستن Channel و DIMM.
  • یکی دانستن Channel و Rank.
  • فرض اینکه دو Module همیشه Dual Channel ایجاد می کنند.
  • فرض اینکه یک Module همیشه Single Channel است بدون بررسی Platform.
  • نادیده گرفتن RAM Soldered در Laptop.
  • نادیده گرفتن Memory Controller داخل CPU.
  • نادیده گرفتن محدودیت Motherboard و Firmware.
  • فرض اینکه هر Speed تبلیغ شده روی هر CPU پایدار است.
  • نادیده گرفتن تعداد DIMM هنگام Memory Overclocking.
  • خرید RAM بسیار سریع با Capacity ناکافی.
  • نادیده گرفتن Dual Channel در سیستم دارای iGPU.
  • فرض اینکه RAM سریع تر در تمام Workloadها Performance مشابهی اضافه می کند.

سوالات متداول درباره Memory Controller و RAM

Memory Controller چیست؟

بخشی است که
ارتباط CPU
با Main Memory
را مدیریت می کند.

IMC چیست؟

Integrated Memory Controller
یعنی Memory Controller
داخل Processor
یا Package آن
یکپارچه شده است.

Dual Channel چه فایده ای دارد؟

امکان استفاده
از دو مسیر مستقل Memory
را فراهم می کند
و می تواند
Bandwidth کلی
را افزایش دهد.

MT/s همان MHz است؟

خیر.
MHz Clock Frequency
و MT/s تعداد Transfer
در ثانیه را بیان می کند.

CL کمتر همیشه بهتر است؟

نه به تنهایی.
CAS Latency
باید همراه
با Memory Frequency
و Timingهای دیگر
بررسی شود.

RAM سریع تر همیشه CPU را سریع تر می کند؟

خیر.
اثر آن به Workload
و میزان حساسیت برنامه
به Bandwidth و Latency
بستگی دارد.

برای iGPU Dual Channel مهم است؟

معمولاً بله،
زیرا Integrated GPU
از System Memory
استفاده می کند
و به Memory Bandwidth
حساس است.

آیا ظرفیت RAM از Speed مهم تر است؟

اگر ظرفیت کافی نباشد،
کمبود RAM
می تواند بسیار شدیدتر
از اختلاف Speed
روی Performance اثر بگذارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Memory Controller: واحد مدیریت ارتباط CPU و DRAM.
  • IMC: Integrated Memory Controller.
  • Memory Channel: مسیر مستقل ارتباط Controller با RAM.
  • Single Channel: استفاده از یک Memory Channel فعال.
  • Dual Channel: استفاده از دو Memory Channel فعال.
  • MT/s: Mega Transfers per Second؛ واحد نرخ Transfer حافظه.
  • Memory Bandwidth: حجم Data قابل انتقال در واحد زمان.
  • Memory Latency: زمان لازم برای پاسخ Memory.
  • CAS Latency: یکی از Timingهای مهم DRAM.
  • Rank: مجموعه منطقی Memory Chipهایی که با هم روی Bus کار می کنند.
  • Memory Training: تنظیم و کالیبراسیون Interface حافظه هنگام Boot.
  • JEDEC: سازمان استانداردگذاری فناوری های Semiconductor و Memory.
  • XMP: Profileهای Memory Performance مورد استفاده در Platformهای مرتبط.
  • EXPO: Profile حافظه AMD برای تنظیمات Performance در Platformهای پشتیبانی شده.
  • Memory-Bound: Workloadی که Performance آن توسط Memory System محدود می شود.

خلاصه فصل

CPU برای دسترسی
به Main Memory
به Memory Controller
متکی است.

در CPUهای مدرن
این Controller
معمولاً داخل Processor
یکپارچه شده است.

Performance Memory
فقط از ظرفیت RAM
یا عدد Data Rate
تشکیل نمی شود.

Memory Performance
=
Capacity
+
Data Rate
+
Channels
+
Timing
+
Rank
+
IMC
+
Workload

Channel بیشتر
می تواند Bandwidth
را افزایش دهد،
اما Latency
مفهوم متفاوتی است.

همچنین Memory Configuration
می تواند Performance
واقعی CPU
و به خصوص
Integrated GPU
را تغییر دهد.


بنابراین هنگام مقایسه دو سیستم،
فقط مدل CPU و مقدار RAM را نبینید؛
نوع حافظه، تعداد Channel،
Data Rate، Timing و محدودیت Memory Controller
نیز بخشی از Performance واقعی سیستم هستند.


فصل 78
سطح: پیشرفته
موضوع: معماری داخلی DRAM
تمرکز: Cell / Row / Column / Bank / Burst / Prefetch / DDR4 / DDR5


RAM یک فضای ذخیره سازی تخت نیست؛ پشت هر درخواست CPU مجموعه ای از عملیات داخلی انجام می شود

معماری داخلی DRAM؛ از Cell و Row تا DDR4 و DDR5

وقتی CPU داده ای را از RAM درخواست می کند،
حافظه نمی تواند مانند یک جدول ساده
مستقیماً به یک خانه مراجعه کند
و فوراً داده را تحویل دهد.

حافظه DRAM
دارای ساختاری چندلایه شامل
Cell،
Row،
Column،
Bank
و بخش های داخلی دیگری است
که باید با ترتیب مشخصی کار کنند.

Memory Request
→
Bank
→
Row Activation
→
Row Buffer
→
Column Access
→
Data Transfer

شناخت این مسیر
به ما کمک می کند بفهمیم
Latency حافظه از کجا می آید
و چرا افزایش Data Rate
تنها عامل تعیین کننده Performance نیست.

در این فصل چه چیزهایی یاد می گیریم؟

  • DRAM چیست.
  • Memory Cell چیست.
  • چرا DRAM به Refresh نیاز دارد.
  • Row و Column چیستند.
  • Memory Bank چیست.
  • Bank Group چیست.
  • Row Buffer چیست.
  • Row Hit، Row Miss و Row Conflict چیست.
  • ACTIVATE و PRECHARGE چه می کنند.
  • Burst چیست.
  • Burst Length چیست.
  • Prefetch در DRAM چیست.
  • چرا انتقال حافظه به صورت بلوکی انجام می شود.
  • DDR4 و DDR5 از نظر معماری چه تفاوت هایی دارند.
  • Sub-Channel در DDR5 چیست.
  • On-Die ECC چیست.
  • چرا On-Die ECC با ECC Memory معمولی یکسان نیست.
  • Refresh چگونه روی Performance اثر می گذارد.
  • چرا Data Locality برای RAM اهمیت دارد.

DRAM چیست؟


حافظه دسترسی تصادفی پویا — Dynamic Random Access Memory

DRAM
مخفف:

Dynamic Random Access Memory

است.

DRAM
فناوری اصلی مورد استفاده
برای حافظه اصلی
بسیاری از کامپیوترهاست.

DDR4 و DDR5
هر دو بر پایه
فناوری DRAM ساخته شده اند.

DRAM Cell چیست؟


سلول حافظه — DRAM Cell

اطلاعات در DRAM
در تعداد بسیار زیادی
سلول حافظه ذخیره می شوند.

در مدل کلاسیک،
هر DRAM Cell
از اجزایی مانند:

1 Transistor
+
1 Capacitor

تشکیل می شود.

وضعیت بار الکتریکی Capacitor
برای نمایش اطلاعات
مورد استفاده قرار می گیرد.

چرا DRAM حافظه Volatile است؟

DRAM
برای حفظ اطلاعات
به انرژی الکتریکی نیاز دارد.

با قطع برق،
اطلاعات ذخیره شده
در حافظه از بین می روند.

به چنین حافظه ای:

Volatile Memory

یا «حافظه فرار»
گفته می شود.

چرا DRAM باید Refresh شود؟

بار الکتریکی ذخیره شده
در Cellهای DRAM
برای همیشه باقی نمی ماند.

به مرور زمان
بخشی از این بار
نشت می کند.

Stored Charge
→
Leakage
→
Charge Decay

بنابراین داده ها
باید به صورت دوره ای
بازخوانی و بازیابی شوند.

این عملیات:

Refresh

نام دارد.

پشت صحنه فنی — Under the Hood: چرا در نام DRAM کلمه Dynamic وجود دارد؟

اطلاعات DRAM
بدون عملیات نگهداری دوره ای
پایدار باقی نمی مانند.

Memory Controller
و خود زیرسیستم حافظه
باید عملیات Refresh
را طبق زمان بندی مشخص
انجام دهند.

Store Data
→
Charge Slowly Leaks
→
Refresh
→
Data Preserved

همین نیاز به بازسازی دوره ای
یکی از دلایل استفاده
از واژه Dynamic
در نام DRAM است.

سلول های DRAM چگونه سازمان دهی می شوند؟

Cellهای حافظه
به صورت آرایه هایی
سازمان دهی می شوند.

برای درک ساده،
می توان آن را
شبیه جدولی بزرگ
از Row و Column تصور کرد.

DRAM Array
=
Rows
×
Columns

اما ساختار واقعی
چندلایه تر از یک جدول ساده است.

Row چیست؟


ردیف حافظه — Row

Row
مجموعه ای از Cellهای حافظه
در یک آرایه DRAM است
که می تواند
برای دسترسی فعال شود.

هنگام دسترسی به داده،
ابتدا Row مناسب
باید فعال شود.

Column چیست؟


ستون حافظه — Column

بعد از فعال شدن Row،
بخش مورد نیاز داده
از طریق انتخاب Column
قابل دسترسی می شود.

Select Row
→
Activate Row
→
Select Column
→
Transfer Data

Memory Bank چیست؟


بانک حافظه — DRAM Bank

حافظه DRAM
به چند بخش مستقل تر
به نام:

Bank

تقسیم می شود.

هر Bank
دارای مجموعه ای
از Rowها و Columnهاست.

وجود چند Bank
به Memory Controller
اجازه می دهد
عملیات حافظه را
بهتر زمان بندی کند.

Bank-Level Parallelism چیست؟

اگر یک Bank
مشغول انجام یک عملیات داخلی باشد،
ممکن است Bank دیگری
بتواند عملیات متفاوتی
را پیش ببرد.

این قابلیت
امکان همپوشانی بخشی
از عملیات حافظه را فراهم می کند.

Bank 0
→
Operation A

Bank 1
→
Operation B

Bank-Level Parallelism
→
Better Memory Throughput

Bank Group چیست؟


گروه بانک — Bank Group

در نسل های جدید DDR،
Bankها می توانند
در گروه هایی
به نام:

Bank Groups

سازمان دهی شوند.

این ساختار
به مدیریت بهتر
عملیات موازی داخلی
حافظه کمک می کند.

Timing برخی عملیات
می تواند بسته به اینکه
دسترسی ها در یک Bank Group
یا گروه های متفاوت باشند
متفاوت باشد.

Row Buffer چیست؟


بافر ردیف — Row Buffer

وقتی یک Row
از DRAM فعال می شود،
محتوای آن
توسط مدارهای Sense Amplifier
خوانده می شود.

این مجموعه
عملاً نقش
Row Buffer
را نیز ایفا می کند.

DRAM Row
→
ACTIVATE
→
Sense Amplifiers / Row Buffer

پس از آن،
دسترسی به Columnهای مختلف
همان Row فعال
امکان پذیر می شود.

پشت صحنه فنی — Under the Hood: خواندن DRAM فقط «نگاه کردن» به Cell نیست

بار ذخیره شده
در DRAM Cell
بسیار کوچک است.

Sense Amplifier
تغییر بسیار کوچک
در وضعیت الکتریکی Bitline
را تشخیص داده
و آن را تقویت می کند.

عملیات Read در DRAM
ذاتاً با فرآیند بازسازی
داده همراه است.

Cell Charge
→
Sense
→
Amplify
→
Restore

بنابراین معماری DRAM
بسیار متفاوت
از تصور ساده
«خواندن یک بیت از یک خانه»
است.

ACTIVATE چه کاری انجام می دهد؟

برای دسترسی به Row
ابتدا فرمان:

ACTIVATE

صادر می شود.

این فرمان
Row مورد نظر را
در Bank مربوطه
فعال می کند.

سپس باید
زمان مشخصی
پیش از دسترسی Column
سپری شود.

بخشی از این فاصله زمانی
با پارامتری مانند:

tRCD

مرتبط است.

PRECHARGE چیست؟

اگر بخواهیم
در یک Bank
از Row فعلی
به Row دیگری برویم،
Row قبلی باید بسته شود
و Bank برای فعال کردن
Row جدید آماده شود.

این فرآیند
با:

PRECHARGE

مرتبط است.

زمان مورد نیاز آن
با Timingهایی مانند:

tRP

ارتباط دارد.

Row Hit چیست؟

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

این وضعیت:

Row Hit

نامیده می شود.

Requested Data
∈
Already Open Row
→
Row Hit

Row Hit
معمولاً نسبت به دسترسی
به Row جدید
سریع تر است.

Row Miss و Row Conflict چیست؟

اگر Row مورد نیاز
در Bank باز نباشد،
دسترسی پیچیده تر می شود.

مخصوصاً اگر Row دیگری
در همان Bank باز باشد،
ابتدا باید Row فعلی بسته
و سپس Row جدید فعال شود.

Open Row A
→
Need Row B
→
PRECHARGE
→
ACTIVATE Row B
→
READ

این وضعیت
می تواند Latency بیشتری
نسبت به Row Hit داشته باشد.

نکته مهندسی — Engineering Insight: محل قرار گرفتن داده ها روی Performance حافظه اثر دارد

اگر درخواست های حافظه
الگوی مناسبی داشته باشند
و چند دسترسی متوالی
به Rowهای باز انجام شوند،
تعداد Row Hit
می تواند افزایش پیدا کند.

اما الگوهای تصادفی
ممکن است باعث:

More Row Changes
→
More ACTIVATE / PRECHARGE
→
Higher Effective Latency

شوند.

بنابراین Memory Access Pattern
خود نرم افزار
می تواند روی Performance
تاثیر بزرگی داشته باشد.

Burst در حافظه چیست؟


انتقال پشت سرهم داده — Burst Transfer

DRAM
معمولاً داده را
به صورت یک بیت منفرد
برای هر درخواست
منتقل نمی کند.

پس از شروع عملیات،
مجموعه ای از داده ها
به صورت پشت سرهم
منتقل می شوند.

این رفتار:

Burst Transfer

نام دارد.

Burst Length چیست؟

Burst Length
یا
BL
تعداد واحدهای انتقال داده
در یک Burst
را توصیف می کند.

به صورت مفهومی:

One Memory Command
→
Multiple Sequential Data Transfers

افزایش کارایی انتقال بلوکی
یکی از دلایل اهمیت Burst
در حافظه های DDR است.

Prefetch در DRAM چیست؟

حافظه DDR
از معماری Prefetch
برای انتقال چند بیت داده
از آرایه داخلی
به بخش ورودی و خروجی
استفاده می کند.

این مفهوم
با CPU Hardware Prefetcher
که در فصل های قبلی بررسی کردیم
یکسان نیست.

اشتباه رایج — Common Mistake: DRAM Prefetch همان CPU Prefetch است

خیر.

CPU Prefetcher
تلاش می کند
داده مورد نیاز آینده
را زودتر به Cache بیاورد.

اما DRAM Prefetch
بخشی از معماری داخلی
انتقال داده حافظه است.

CPU Prefetch
≠
DRAM Prefetch Architecture

Prefetch در DDR4 چگونه است؟

DDR4
از معماری:

8n Prefetch

استفاده می کند.

یعنی مسیر داخلی
امکان آماده سازی
چند واحد داده
برای انتقال سریع تر
از رابط خارجی را فراهم می کند.

DDR5 از چه Prefetch استفاده می کند؟

DDR5 نیز
از ساختار:

8n Prefetch

استفاده می کند.

بنابراین افزایش Data Rate
در DDR5
صرفاً نتیجه دو برابر کردن
Prefetch نسبت به DDR4 نیست.

تغییرات معماری دیگری
نیز در DDR5
نقش دارند.

معماری DDR4 چه ویژگی هایی دارد؟

DDR4
نسبت به نسل های قبل
تغییراتی در:

  • Data Rate،
  • Bank Architecture،
  • Bank Groups،
  • Voltage،
  • Signal Integrity،
  • و ظرفیت حافظه

ایجاد کرد.

DDR4
برای سال ها
حافظه اصلی بسیاری از:

  • Desktopها،
  • Laptopها،
  • Workstationها،
  • Serverها،
  • All-in-Oneها،
  • و Mini PCها

بوده است.

DDR5 چه تغییر مهمی ایجاد کرد؟

DDR5
فقط نسخه ای از DDR4
با Clock بالاتر نیست.

تغییرات مهمی
در ساختار داخلی
و رابط ماژول حافظه
ایجاد شده است.

از جمله:

  • Data Rate بالاتر،
  • Bankهای بیشتر،
  • Bank Groupهای بیشتر،
  • Burst Length بزرگ تر،
  • تقسیم کانال ماژول به Sub-Channel،
  • On-Die ECC،
  • و تغییرات در Power Management.

Sub-Channel در DDR5 چیست؟


زیرکانال مستقل — DDR5 Sub-Channel

یکی از تغییرات مهم DDR5
تقسیم ساختار 64 بیتی
ماژول معمولی
به دو Sub-Channel
مستقل تر است.

به صورت ساده:

DDR4 DIMM
→
One 64-bit Data Channel

DDR5 DIMM
→
Two 32-bit Sub-Channels

در ماژول های دارای ECC،
بیت های اضافی مربوط به ECC
نیز باید در نظر گرفته شوند.

نکته مهندسی — Engineering Insight: چرا DDR5 یک DIMM را به دو Sub-Channel تقسیم کرد؟

تقسیم رابط حافظه
به دو Sub-Channel
اجازه می دهد
Memory Controller
درخواست های کوچک تر
را مستقل تر مدیریت کند.

در نتیجه
بهره برداری از پهنای باند
می تواند بهبود پیدا کند.

More Independent Access Opportunities
→
Better Bus Utilization

اشتباه رایج — Common Mistake: یک DDR5 DIMM یعنی همان Dual Channel سنتی

این دو مفهوم
نباید با یکدیگر یکی گرفته شوند.

DDR5 DIMM
دارای دو Sub-Channel است،
اما این موضوع
با مفهوم سنتی
تعداد کانال های حافظه
در سطح Memory Controller
دقیقاً یکسان نیست.

بنابراین هنگام مقایسه
Single DIMM
و چند DIMM
باید معماری کامل پلتفرم
بررسی شود.

Burst Length در DDR4 و DDR5 چه تفاوتی دارد؟

نسل حافظه Burst Length اصلی ساختار کلی کانال ماژول معمولی
DDR4 BL8 یک مسیر داده 64 بیتی
DDR5 BL16 دو Sub-Channel مستقل 32 بیتی

Burst Length چه ارتباطی با Cache Line دارد؟

CPUها معمولاً داده را
در واحدهایی به نام Cache Line
میان سطوح حافظه جابه جا می کنند.

در بسیاری از معماری های رایج:

Cache Line
=
64 Bytes

طراحی Burst
و عرض کانال حافظه
به گونه ای انجام می شود
که انتقال بلوک های داده
با نیازهای سیستم
هماهنگ باشد.

پشت صحنه فنی — Under the Hood: چرا ترکیب 32-bit Sub-Channel و BL16 در DDR5 مهم است؟

یک Sub-Channel
معمولی DDR5
عرض داده 32 بیت دارد.

32 بیت برابر است با:

32 bit
=
4 Byte

اگر Burst Length
برابر 16 باشد:

4 Byte
×
16 Transfers
=
64 Bytes

یعنی یک Burst کامل
روی یک Sub-Channel
می تواند با اندازه رایج
Cache Line
هماهنگ شود.

این نمونه خوبی است
از اینکه چرا فقط نگاه کردن
به عدد MT/s
برای فهم معماری حافظه کافی نیست.

On-Die ECC در DDR5 چیست؟


تصحیح خطا داخل تراشه DRAM — On-Die ECC

تراشه های DDR5
از مکانیزمی به نام:

On-Die ECC

استفاده می کنند.

هدف آن
کمک به اصلاح برخی خطاها
در داخل خود تراشه DRAM
و افزایش قابلیت اطمینان
در تراکم های بالاتر است.

اشتباه رایج — Common Mistake: چون DDR5 دارای On-Die ECC است، پس همه DDR5ها ECC RAM هستند

خیر.

On-Die ECC
درون خود DRAM Chip
عمل می کند.

اما ECC Memory
در سطح سیستم
برای محافظت از داده
در مسیر گسترده تری
میان Memory Controller
و حافظه طراحی شده است.

On-Die ECC
≠
System-Level ECC Memory

بنابراین وجود On-Die ECC
به معنی جایگزین شدن
ECC DIMM
در Workstation یا Server نیست.

PMIC در DDR5 چیست؟


مدار مدیریت توان — Power Management Integrated Circuit

در بسیاری از ماژول های DDR5،
بخشی از مدیریت توان
به خود DIMM منتقل شده است.

قطعه ای به نام:

PMIC
=
Power Management Integrated Circuit

وظیفه مدیریت
و تنظیم برخی ولتاژهای مورد نیاز
ماژول حافظه را بر عهده دارد.

ولتاژ پایه DDR4 و DDR5 چه تفاوتی دارد؟

به طور معمول،
ولتاژ اسمی پایه DDR4
حدود:

DDR4
→
1.2 V

و برای DDR5
حدود:

DDR5
→
1.1 V

است.

البته پروفایل های Performance
و Memory Overclocking
می توانند از ولتاژهای دیگری
استفاده کنند.

چرا DDR5 با وجود MT/s بیشتر الزاماً Latency بسیار کمتری ندارد؟

افزایش Data Rate
عمدتاً ظرفیت انتقال داده
را افزایش می دهد.

اما Latency واقعی
حاصل مجموعه ای از عوامل است:

Memory Controller
+
Timings
+
DRAM Core Operations
+
Row State
+
Data Rate
+
Platform Architecture

بنابراین:

Higher MT/s
≠
Automatically Lower Total Latency

تاثیر بر عملکرد — Performance Impact: مزیت اصلی DDR5 فقط Latency نیست

یکی از مزیت های مهم DDR5
ظرفیت دستیابی
به Memory Bandwidth بالاتر است.

این موضوع
در Workloadهایی که:

  • داده زیادی جابه جا می کنند،
  • هسته های CPU زیادی را همزمان درگیر می کنند،
  • از Integrated GPU استفاده می کنند،
  • یا Memory-Bound هستند

می تواند اهمیت زیادی داشته باشد.

Refresh چگونه روی Performance اثر می گذارد؟

هنگام انجام برخی عملیات Refresh،
بخشی از منابع DRAM
برای مدت کوتاهی
درگیر نگهداری داده می شوند.

در این مدت
دسترسی عادی
می تواند محدود شود.

Refresh Activity
→
Temporary Resource Occupation
→
Potential Access Delay

کنترلرهای مدرن
تلاش می کنند
این عملیات را
تا حد ممکن کارآمد مدیریت کنند.

دما چه ارتباطی با Refresh دارد؟

رفتار نشت بار
در DRAM
به شرایط فیزیکی تراشه
از جمله Temperature
وابسته است.

در شرایط دمایی بالاتر،
نگهداری قابل اعتماد داده
می تواند به سیاست های Refresh
متفاوتی نیاز داشته باشد.

این یکی از نمونه هایی است
که نشان می دهد
Temperature فقط مسئله CPU و GPU نیست؛
حافظه نیز یک قطعه الکترونیکی
وابسته به شرایط حرارتی است.

Rowhammer چیست؟


اثر اختلال میان ردیف های DRAM — Rowhammer

در برخی نسل ها
و شرایط DRAM،
فعال سازی بسیار مکرر
یک یا چند Row
می تواند روی Cellهای مجاور
اثر الکتریکی بگذارد.

این پدیده:

Rowhammer

نامیده می شود.

Rowhammer
نشان می دهد که Cellهای حافظه
در دنیای واقعی
کاملاً مستقل و ایزوله
از یکدیگر نیستند.

Memory Controller درخواست ها را چگونه زمان بندی می کند؟

CPU
می تواند تعداد زیادی
درخواست حافظه تولید کند.

Memory Controller
الزاماً آنها را
دقیقاً به ترتیب ورود
اجرا نمی کند.

کنترلر ممکن است
ترتیب برخی درخواست ها
را برای استفاده بهتر
از:

  • Open Rows،
  • Bank Parallelism،
  • Bus Availability،
  • Timing Constraints،
  • و Read / Write Efficiency

تغییر دهد.

پشت صحنه فنی — Under the Hood: RAM فقط منتظر دستور بعدی CPU نمی ماند

فرض کنید چند درخواست
برای Bankهای مختلف
در صف وجود دارند.

بعضی از آنها
به Row باز فعلی
دسترسی دارند
و بعضی نیازمند
تغییر Row هستند.

Memory Controller
می تواند با زمان بندی مناسب،
از فرصت Row Hit
و Bank-Level Parallelism
استفاده کند.

Request Queue
→
Scheduling
→
Bank / Row Selection
→
DRAM Commands

بنابراین کیفیت Memory Controller
نیز بخشی از Performance
زیرسیستم RAM است.

Read و Write در DRAM چه تفاوتی دارند؟

در Read،
داده از DRAM
به سمت Memory Controller
منتقل می شود.

DRAM
→
Memory Controller
→
CPU

در Write،
جهت انتقال برعکس است.

CPU
→
Memory Controller
→
DRAM

تغییر جهت Bus
و محدودیت های Timing
می توانند هزینه داشته باشند.

چرا Memory Controller ممکن است Writeها را گروه بندی کند؟

تغییر مداوم
میان Read و Write
می تواند باعث سربار
روی Bus شود.

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

Read Phase
→
Bus Turnaround
→
Write Phase

این نوع Scheduling
به استفاده بهتر
از رابط حافظه کمک می کند.

Latency واقعی RAM فقط CL نیست

زمانی که CPU
داده ای را درخواست می کند،
تاخیر نهایی می تواند شامل
چند مرحله باشد.

CPU Request
→
Cache Miss
→
Memory Controller Queue
→
DRAM Scheduling
→
Row Access
→
Column Access
→
Data Transfer
→
CPU

بنابراین عدد CL
فقط بخشی
از کل Memory Access Latency است.

بخش اثر احتمالی بر تاخیر
Cache Miss CPU مجبور به مراجعه به حافظه اصلی می شود
Memory Controller Queue درخواست ممکن است منتظر نوبت بماند
Row State Row Hit یا Row Conflict روی زمان دسترسی اثر دارد
tRCD زمان میان فعال سازی Row و دسترسی Column
CL بخشی از تاخیر Column Read
tRP در تغییر Row می تواند به مسیر اضافه شود
Bus Transfer زمان انتقال داده روی رابط حافظه

نکته مهندسی — Engineering Insight: حالا دلیل وجود Cacheهای بزرگ CPU روشن تر می شود

دسترسی به DRAM
شامل مجموعه ای
از مراحل و محدودیت های زمانی است.

در مقابل،
Cache داخلی CPU
بسیار نزدیک تر
و کم تاخیرتر است.

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

Better Cache Hit Rate
→
Fewer DRAM Accesses
→
Lower Effective Memory Delay
→
Better CPU Utilization

دسترسی Sequential و Random چه تفاوتی برای RAM دارند؟

در دسترسی
Sequential
داده های نزدیک به هم
با الگوی قابل پیش بینی
خوانده می شوند.

در دسترسی
Random
آدرس های مورد نیاز
ممکن است در بخش های پراکنده
حافظه قرار داشته باشند.

دسترسی Sequential
معمولاً فرصت بیشتری
برای:

  • Prefetch،
  • Row Locality،
  • Burst Transfer،
  • و استفاده موثر از Bandwidth

فراهم می کند.

تاثیر بر عملکرد — Performance Impact: پهنای باند بالا همیشه مشکل دسترسی Random را حل نمی کند

یک حافظه
ممکن است Bandwidth نظری
بسیار بالایی داشته باشد.

اما اگر Workload
تعداد زیادی دسترسی Random
وابسته به یکدیگر داشته باشد،
Latency هر دسترسی
اهمیت بیشتری پیدا می کند.

Sequential Workload
→
Bandwidth Often Matters More

Random Dependent Access
→
Latency Often Matters More

به همین دلیل
یک عدد واحد
نمی تواند Performance حافظه
را برای همه برنامه ها توصیف کند.

مقایسه مفهومی DDR4 و DDR5

ویژگی DDR4 DDR5
Data Rate بالقوه پایین تر بالاتر
Prefetch 8n 8n
Burst Length اصلی BL8 BL16
ساختار ماژول معمولی یک کانال داده 64 بیتی دو Sub-Channel مستقل 32 بیتی
Bank Architecture Bank و Bank Group Bank و Bank Group بیشتر
On-Die ECC ویژگی عمومی نسل نیست در تراشه های DDR5 وجود دارد
ولتاژ پایه رایج 1.2V 1.1V
مدیریت توان DIMM بخش عمده خارج از DIMM PMIC روی ماژول در طراحی استاندارد

آیا DDR4 و DDR5 قابل جایگزینی با یکدیگر هستند؟

خیر.

نسل های DDR
فقط از نظر سرعت
متفاوت نیستند.

تفاوت هایی در:

  • ساختار الکتریکی،
  • Pinout،
  • Voltage،
  • Memory Controller Support،
  • و طراحی Slot

وجود دارد.

بنابراین نوع RAM
باید با CPU
و مادربرد
سازگار باشد.

LPDDR چه ارتباطی با این معماری دارد؟

در لپ تاپ های باریک
و دستگاه های کم مصرف،
ممکن است به جای DIMMهای معمولی
از خانواده:

LPDDR
=
Low Power Double Data Rate

استفاده شود.

LPDDR
برای اهدافی مانند:

  • کاهش مصرف انرژی،
  • پهنای باند مناسب،
  • و طراحی فشرده

توسعه یافته است.

اما ساختار Channel،
Package
و قابلیت ارتقا
می تواند با DDR DIMMهای معمولی
متفاوت باشد.

اشتباه رایج — Common Mistake: هر لپ تاپی که RAM دارد، بعداً قابل ارتقاست

خیر.

مخصوصاً در سیستم های
دارای LPDDR،
حافظه معمولاً
به صورت لحیم شده
یا Package-Level
طراحی می شود.

بنابراین هنگام خرید
باید ظرفیت مورد نیاز آینده
نیز در نظر گرفته شود.

کدام ویژگی RAM برای کدام Workload مهم تر است؟

نوع Workload عامل حافظه مهم تر
کاربری عمومی ابتدا ظرفیت کافی، سپس تعادل کلی حافظه
Integrated Graphics Memory Bandwidth و Channel Configuration
برخی بازی ها Latency، Bandwidth و Cache Interaction
Scientific Computing بسته به الگوریتم، Bandwidth یا Latency
Database Capacity، Latency و Access Pattern
Virtualization Capacity، Bandwidth و Reliability
Server Capacity، Channels، Bandwidth، ECC و Reliability
Workstation وابسته به نرم افزار؛ Capacity و Reliability اغلب بسیار مهم هستند

اشتباهات رایج — Common Mistakes: معماری DRAM
  • تصور RAM به عنوان مجموعه ای از خانه های مستقل با دسترسی آنی.
  • نادیده گرفتن Row و Column.
  • نادیده گرفتن Bank-Level Parallelism.
  • فرض اینکه تمام دسترسی های DRAM Latency یکسان دارند.
  • نادیده گرفتن تفاوت Row Hit و Row Conflict.
  • یکی دانستن DRAM Prefetch با CPU Prefetch.
  • فرض اینکه DDR5 دارای Prefetch دو برابر DDR4 است.
  • فرض اینکه MT/s بیشتر همیشه Latency کمتر ایجاد می کند.
  • یکی دانستن DDR5 Sub-Channel با Dual Channel سنتی.
  • یکی دانستن On-Die ECC با ECC Memory سیستم.
  • نادیده گرفتن Refresh.
  • نادیده گرفتن Memory Access Pattern نرم افزار.
  • فرض اینکه Bandwidth نظری به طور کامل در برنامه قابل استفاده است.
  • نادیده گرفتن نقش Memory Controller در Scheduling.
  • نادیده گرفتن تفاوت Random Access و Sequential Access.
  • فرض اینکه DDR4 و DDR5 صرفاً با سرعت متفاوت قابل جایگزینی هستند.

سوالات متداول درباره DRAM، DDR4 و DDR5

DRAM چیست؟

Dynamic Random Access Memory
فناوری حافظه ای است
که پایه حافظه اصلی
بسیاری از کامپیوترهای امروزی را تشکیل می دهد.

چرا DRAM باید Refresh شود؟

زیرا بار الکتریکی
Cellهای DRAM
به مرور نشت می کند
و برای حفظ داده
باید دوره ای بازیابی شود.

Memory Bank چیست؟

بخشی از ساختار DRAM
شامل مجموعه ای
از Rowها و Columnهاست
که امکان مدیریت موازی تر
عملیات حافظه را فراهم می کند.

Row Buffer چیست؟

ساختاری مرتبط با Sense Amplifierهاست
که Row فعال DRAM
را برای دسترسی Column
در اختیار قرار می دهد.

Row Hit چیست؟

زمانی رخ می دهد
که داده مورد نیاز
در Rowی قرار داشته باشد
که از قبل در Bank باز است.

چرا Row Conflict کندتر است؟

زیرا ممکن است
ابتدا Row فعلی بسته،
Bank آماده
و سپس Row جدید فعال شود.

DDR5 از Prefetch 16n استفاده می کند؟

خیر.
DDR5 همچنان
از معماری 8n Prefetch استفاده می کند،
در حالی که Burst Length اصلی آن
نسبت به DDR4 افزایش یافته است.

یک DDR5 DIMM یعنی Dual Channel؟

یک DIMM معمولی DDR5
دارای دو Sub-Channel مستقل 32 بیتی است،
اما این مفهوم
نباید با Dual Channel سنتی
Memory Controller یکی گرفته شود.

آیا همه DDR5ها ECC هستند؟

خیر.
On-Die ECC داخل تراشه DDR5
با System-Level ECC Memory
یکسان نیست.

DDR5 همیشه از DDR4 سریع تر است؟

پاسخ به پلتفرم،
Data Rate،
Timing،
Memory Controller
و Workload بستگی دارد.
DDR5 ظرفیت Bandwidth بسیار بالاتری دارد،
اما Performance نهایی
فقط با نام نسل حافظه تعیین نمی شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • DRAM: حافظه دسترسی تصادفی پویا.
  • DRAM Cell: واحد پایه ذخیره اطلاعات در DRAM.
  • Volatile Memory: حافظه ای که برای حفظ داده به برق نیاز دارد.
  • Refresh: فرآیند دوره ای بازیابی داده DRAM.
  • Row: ردیفی از Cellهای حافظه.
  • Column: بخش انتخابی داده در Row فعال.
  • Bank: بخش نسبتاً مستقل در ساختار DRAM.
  • Bank Group: گروهی از Bankهای حافظه.
  • Bank-Level Parallelism: استفاده همزمان تر از Bankهای مختلف.
  • Sense Amplifier: مدار تشخیص و تقویت وضعیت Cellهای DRAM.
  • Row Buffer: ساختار نگهدارنده Row فعال.
  • ACTIVATE: فرمان فعال کردن یک Row.
  • PRECHARGE: آماده سازی Bank برای فعال کردن Row دیگر.
  • Row Hit: دسترسی به Rowی که از قبل باز است.
  • Row Conflict: نیاز به بستن Row فعلی و فعال کردن Row دیگری در همان Bank.
  • Burst: انتقال پشت سرهم چند واحد داده.
  • Burst Length: تعداد انتقال ها در یک Burst.
  • DRAM Prefetch: ساختار داخلی آماده سازی چند واحد داده برای رابط I/O.
  • 8n Prefetch: معماری Prefetch مورد استفاده در DDR4 و DDR5.
  • Sub-Channel: زیرکانال مستقل تر در ساختار DDR5 DIMM.
  • On-Die ECC: مکانیزم تصحیح برخی خطاها داخل تراشه DRAM.
  • PMIC: مدار مجتمع مدیریت توان.
  • Memory Scheduling: زمان بندی درخواست های حافظه توسط کنترلر.
  • Bus Turnaround: هزینه تغییر جهت انتقال میان Read و Write.
  • Sequential Access: دسترسی به داده های متوالی.
  • Random Access: دسترسی به آدرس های پراکنده.
  • Rowhammer: پدیده اختلال احتمالی میان Rowهای DRAM بر اثر فعال سازی های مکرر.
  • LPDDR: خانواده حافظه DDR کم مصرف.

خلاصه فصل

DRAM
یک فضای حافظه تخت
با زمان دسترسی ثابت نیست.

داده ها
در ساختاری چندلایه
سازمان دهی شده اند:

Channel
→
DIMM
→
Rank
→
Bank Group
→
Bank
→
Row
→
Column

برای دسترسی به داده،
وضعیت Row فعلی
اهمیت زیادی دارد.

Row Hit
→
Lower Access Cost

Row Conflict
→
PRECHARGE
+
ACTIVATE
+
Additional Delay

همچنین Performance حافظه
حاصل تعامل مجموعه بزرگی
از عوامل است:

Data Rate
+
Timings
+
Banks
+
Row Locality
+
Burst
+
Memory Controller
+
Request Scheduling
+
Workload

DDR5 نیز
صرفاً DDR4
با MT/s بالاتر نیست.

Sub-Channel،
Burst Length بزرگ تر،
تعداد بیشتر Bankها،
On-Die ECC
و تغییرات مدیریت توان
بخشی از تکامل معماری آن هستند.


وقتی CPU منتظر RAM می ماند،
فقط «سرعت RAM» مطرح نیست؛
محل داده، وضعیت Row، صف درخواست ها،
Timingها، معماری Memory Controller
و الگوی دسترسی نرم افزار همگی تعیین می کنند
داده چه زمانی واقعاً به Core برسد.


فصل 79
سطح: پیشرفته
موضوع: NUMA و توپولوژی حافظه
تمرکز: NUMA Node / Local Memory / Remote Memory / Affinity / Multi-Socket / Chiplet


در سیستم های پیچیده، فقط سرعت RAM مهم نیست؛ فاصله منطقی CPU تا داده نیز اهمیت دارد

NUMA و Memory Topology؛ وقتی محل قرار گرفتن داده روی سرعت CPU اثر می گذارد

در یک کامپیوتر ساده،
معمولاً تصور می کنیم
تمام Coreهای پردازنده
به تمام RAM سیستم
با شرایط تقریباً یکسان
دسترسی دارند.

اما در سیستم های بزرگ تر،
مخصوصاً Serverها
و سیستم های چندسوکته،
این تصور همیشه درست نیست.

ممکن است بخشی از RAM
مستقیماً به یک CPU
یا یک بخش مشخص از سیستم
متصل باشد.

در نتیجه،
دسترسی به حافظه نزدیک
می تواند سریع تر
از دسترسی به حافظه ای باشد
که از مسیر ارتباطی دیگری
قابل دسترسی است.

CPU Core
→
Local Memory
=
Shorter Path

CPU Core
→
Interconnect
→
Remote Memory
=
Longer Path

در این فصل چه چیزهایی یاد می گیریم؟

  • Memory Topology چیست.
  • UMA چیست.
  • NUMA چیست.
  • NUMA Node چیست.
  • Local Memory چیست.
  • Remote Memory چیست.
  • چرا Remote Memory می تواند Latency بیشتری داشته باشد.
  • سیستم Multi-Socket چگونه به RAM دسترسی دارد.
  • Inter-Socket Interconnect چیست.
  • Memory Affinity چیست.
  • CPU Affinity چیست.
  • Thread Migration چه اثری دارد.
  • First-Touch Policy چیست.
  • NUMA-aware Software چیست.
  • Virtual Machine چه ارتباطی با NUMA دارد.
  • vNUMA چیست.
  • Chiplet چه ارتباطی با Memory Topology دارد.
  • چرا تعداد Core بیشتر بدون Memory Topology مناسب کافی نیست.

Memory Topology چیست؟


توپولوژی حافظه — Memory Topology

Memory Topology
نحوه ارتباط فیزیکی
و منطقی پردازنده ها،
Memory Controllerها،
کانال های حافظه
و RAM را توصیف می کند.

به زبان ساده،
فقط این مهم نیست
که سیستم چقدر RAM دارد؛
مهم است این حافظه
چگونه به پردازنده متصل شده است.

UMA چیست؟


دسترسی یکنواخت به حافظه — Uniform Memory Access

UMA
مخفف:

Uniform Memory Access

است.

در یک مدل UMA،
پردازنده ها یا Coreهای مورد نظر
از دید معماری
دسترسی نسبتاً یکنواختی
به حافظه اصلی دارند.

Processor
→
Shared Memory

NUMA چیست؟


دسترسی غیریکنواخت به حافظه — Non-Uniform Memory Access

NUMA
مخفف:

Non-Uniform Memory Access

است.

در معماری NUMA،
زمان و هزینه دسترسی
به تمام بخش های حافظه
الزاماً یکسان نیست.

بخشی از RAM
ممکن است به یک CPU
یا Node نزدیک تر باشد
و بخشی دیگر
از طریق Interconnect
در دسترس قرار گیرد.

NUMA Node چیست؟


گره NUMA — NUMA Node

یک
NUMA Node
معمولاً مجموعه ای از
منابع پردازشی
و حافظه نزدیک به آنهاست.

به صورت مفهومی:

NUMA Node
=
CPU Resources
+
Local Memory

سیستم عامل
می تواند این ساختار
را شناسایی کند
و هنگام زمان بندی Threadها
و تخصیص حافظه
از آن استفاده کند.

Local Memory چیست؟

Local Memory
حافظه ای است
که از دید یک NUMA Node
از مسیر مستقیم تر
یا نزدیک تری
قابل دسترسی است.

Core
→
Local Memory Controller
→
Local RAM

این مسیر
معمولاً Latency کمتری
نسبت به دسترسی Remote دارد.

Remote Memory چیست؟

Remote Memory
حافظه ای است
که به Node دیگری
نزدیک تر است.

برای دسترسی به آن،
درخواست ممکن است
از یک Interconnect اضافی
عبور کند.

CPU Node 0
→
Interconnect
→
Memory Controller Node 1
→
RAM Node 1

پشت صحنه فنی — Under the Hood: چرا Remote Memory می تواند کندتر باشد؟

در دسترسی Local،
درخواست حافظه
معمولاً از Memory Controller
نزدیک همان Node عبور می کند.

اما در Remote Access،
درخواست باید
از Fabric
یا Inter-Socket Link
نیز عبور کند.

Local Access
→
Memory Controller
→
DRAM

Remote Access
→
Interconnect
→
Remote Memory Controller
→
DRAM

این مسیر اضافی
می تواند Latency را افزایش دهد
و بخشی از Bandwidth
ارتباط بین Nodeها را نیز مصرف کند.

NUMA در سیستم Multi-Socket چگونه شکل می گیرد؟

فرض کنید یک Server
دارای دو CPU Socket باشد.

هر CPU
Memory Controller
و کانال های حافظه خودش را دارد.

Socket 0
→
Memory Channels
→
RAM 0

Socket 1
→
Memory Channels
→
RAM 1

اما دو CPU
از طریق یک لینک پرسرعت
به یکدیگر متصل هستند.

بنابراین CPU 0
می تواند به RAM متصل
به CPU 1 نیز دسترسی داشته باشد،
اما این دسترسی
Remote محسوب می شود.

Inter-Socket Interconnect چیست؟


لینک ارتباطی میان پردازنده ها — Inter-Socket Interconnect

در سیستم های چندسوکته،
پردازنده ها به یک مسیر
ارتباطی پرسرعت نیاز دارند.

این مسیر
برای انتقال مواردی مانند:

  • داده،
  • درخواست حافظه،
  • پیام های Coherence،
  • و اطلاعات کنترلی

میان CPUها استفاده می شود.

نمونه هایی از ارتباط میان CPUها

نام و معماری این لینک
به پلتفرم و نسل پردازنده
بستگی دارد.

نمونه های شناخته شده شامل:

Intel UPI

AMD Infinity Fabric

هستند.

جزئیات دقیق
پهنای باند،
تعداد لینک ها
و Topology
بین نسل های مختلف
متفاوت است.

Memory Affinity چیست؟


وابستگی حافظه به محل اجرا — Memory Affinity

هدف Memory Affinity
این است که داده
تا حد امکان
نزدیک به CPU یا Threadی
قرار گیرد
که بیشتر از آن استفاده می کند.

Thread on Node 0
+
Memory on Node 0
→
Better Locality

CPU Affinity چیست؟

سیستم عامل
می تواند Threadها
را میان Coreهای مختلف
جابه جا کند.

CPU Affinity
مکانیزمی است
که می تواند اجرای Process
یا Thread را
به مجموعه مشخصی
از CPUها یا Coreها
محدود یا ترجیح دهد.

این قابلیت
در برخی Workloadهای حساس
برای کنترل Locality
مفید است.

Thread Migration چگونه Locality را خراب می کند؟

فرض کنید یک Thread
ابتدا روی Node 0 اجرا شود
و حافظه مورد نیازش
نیز روی Node 0
تخصیص پیدا کند.

Thread
→
Node 0
→
Local Memory

اگر بعداً Scheduler
همان Thread را
به Node 1 منتقل کند،
داده ها الزاماً
همراه Thread جابه جا نمی شوند.

Thread
→
Node 1
→
Remote Access
→
Memory on Node 0

در نتیجه
Memory Latency
می تواند افزایش پیدا کند.

First-Touch Policy چیست؟


سیاست اولین دسترسی — First-Touch Policy

در برخی سیستم عامل ها
و محیط های NUMA،
Pageهای حافظه
هنگام اولین استفاده واقعی
به Node مرتبط
با Thread اجراکننده
تخصیص داده می شوند.

به این رفتار
به طور رایج:

First-Touch

گفته می شود.

نکته مهندسی — Engineering Insight: نحوه Initialize کردن آرایه بزرگ می تواند Performance آینده را تغییر دهد

فرض کنید برنامه
یک آرایه بسیار بزرگ
برای پردازش Parallel
ایجاد می کند.

اگر فقط یک Thread
تمام آرایه را
برای اولین بار Initialize کند،
بخش بزرگی از Pageها
ممکن است نزدیک همان Node
تخصیص پیدا کنند.

سپس Threadهای Nodeهای دیگر
ممکن است برای دسترسی به داده
مجبور به Remote Access شوند.

در برخی برنامه های NUMA-aware،
Initialize کردن داده
به صورت Parallel
می تواند توزیع مناسب تری
ایجاد کند.

NUMA-aware Software چیست؟

نرم افزار
NUMA-aware
از ساختار NUMA سیستم
آگاه است
و تلاش می کند:

  • Threadها را در محل مناسب اجرا کند،
  • Memory را نزدیک Thread مصرف کننده قرار دهد،
  • Remote Access را کاهش دهد،
  • داده را میان Nodeها مناسب تقسیم کند،
  • و از Bandwidth حافظه هر Node بهتر استفاده کند.

تاثیر بر عملکرد — Performance Impact: برنامه ای که NUMA را نادیده می گیرد ممکن است از CPU بزرگ به خوبی استفاده نکند

افزایش تعداد Core
زمانی مفید است
که داده نیز
با سرعت کافی
به این Coreها برسد.

اگر تعداد زیادی Thread
مرتباً به Remote Memory
دسترسی داشته باشند،
بخشی از مزیت
Parallelism پردازنده
از بین می رود.

More Cores
+
Poor Memory Locality
→
More Remote Traffic
→
Lower Scaling Efficiency

NUMA فقط مسئله Latency نیست

هر Node
معمولاً Memory Channelهای
خودش را دارد.

بنابراین توزیع مناسب داده
می تواند امکان استفاده
از مجموع Bandwidth
چند Memory Controller
را فراهم کند.

اگر تمام داده ها
روی یک Node متمرکز شوند،
ممکن است کانال های حافظه
همان Node
به Bottleneck تبدیل شوند.

Balanced Memory Placement
→
Multiple Memory Controllers
→
Higher Aggregate Bandwidth

چرا نحوه نصب RAM در Server اهمیت زیادی دارد؟

در یک Server چندسوکته،
نصب تمام DIMMها
فقط کنار یک CPU
می تواند Topology نامتعادلی
ایجاد کند.

علاوه بر ظرفیت،
باید نحوه پر شدن:

  • Socketها،
  • Memory Channelها،
  • DIMM Slotها،
  • و NUMA Nodeها

نیز بررسی شود.

اشتباه رایج — Common Mistake: در Server فقط مجموع ظرفیت RAM مهم است

خیر.

دو Server
می توانند هر دو:

256 GB RAM

داشته باشند،
اما نحوه توزیع DIMMها
میان Socketها و Channelها
متفاوت باشد.

در نتیجه
Bandwidth،
Locality
و حتی Performance واقعی
آنها می تواند متفاوت باشد.

سیستم عامل چگونه NUMA را مدیریت می کند؟

سیستم عامل مدرن
می تواند Topology سخت افزار
را شناسایی کند.

Scheduler
و Memory Manager
تلاش می کنند
تصمیم هایی درباره:

  • محل اجرای Thread،
  • محل تخصیص Memory Page،
  • Load Balancing،
  • Thread Migration،
  • و Memory Locality

اتخاذ کنند.

اما سیستم عامل
همیشه نمی تواند
رفتار و نیاز آینده برنامه
را کاملاً پیش بینی کند.

نکته مهندسی — Engineering Insight: گاهی خود برنامه بیشتر از سیستم عامل درباره داده هایش می داند

سیستم عامل می داند
کدام CPUها
و NUMA Nodeها وجود دارند.

اما برنامه ممکن است بهتر بداند
کدام Thread
قرار است برای مدت طولانی
روی کدام Dataset کار کند.

به همین دلیل
نرم افزارهای حرفه ای
می توانند از APIها
و سیاست های NUMA
برای کنترل دقیق تر
Thread Placement
و Memory Placement
استفاده کنند.

NUMA چرا برای Database مهم است؟

Databaseهای بزرگ
می توانند:

  • حافظه بسیار زیادی مصرف کنند،
  • Threadهای متعدد داشته باشند،
  • Cacheهای نرم افزاری بزرگ ایجاد کنند،
  • و حجم بالایی از Memory Access تولید کنند.

در چنین شرایطی،
NUMA Topology
می تواند روی:

  • Latency،
  • Throughput،
  • Scalability،
  • و Tail Latency

تاثیر بگذارد.

NUMA چه ارتباطی با Virtualization دارد؟

Hypervisor
ماشین های مجازی
را روی منابع فیزیکی Host
اجرا می کند.

اگر Host
دارای چند NUMA Node باشد،
محل قرار گرفتن:

  • vCPUها،
  • حافظه VM،
  • و Threadهای Hypervisor

می تواند روی Performance
ماشین مجازی اثر بگذارد.

vNUMA چیست؟


NUMA مجازی — Virtual NUMA

vNUMA
روشی است
که Hypervisor
بخشی از ساختار NUMA
را به Guest Operating System
نمایش می دهد.

این کار
می تواند به سیستم عامل
و نرم افزار داخل VM
کمک کند
Topology پردازشی
و حافظه را بهتر درک کنند.

تاثیر بر عملکرد — Performance Impact: VM بسیار بزرگ می تواند از مرز NUMA Node عبور کند

اگر یک VM
به تعداد زیادی vCPU
و حجم زیادی RAM
نیاز داشته باشد،
ممکن است منابع آن
روی چند NUMA Node فیزیکی
قرار گیرند.

در این شرایط
NUMA Awareness
در Hypervisor،
Guest OS
و Application
اهمیت بیشتری پیدا می کند.

معماری Chiplet چه ارتباطی با Memory Topology دارد؟

در برخی CPUهای مدرن،
تمام Coreها
روی یک Die یکپارچه
قرار ندارند.

پردازنده می تواند
از چند Die
یا Chiplet
تشکیل شده باشد.

CPU Package
→
Multiple Compute Dies
+
I/O Components

در چنین طراحی هایی
فاصله منطقی
میان Core،
Cache،
I/O Die
و Memory Controller
می تواند متفاوت باشد.

اشتباه رایج — Common Mistake: هر CPU Chiplet-based الزاماً برای سیستم عامل چند NUMA Node است

خیر.

Chiplet
یک روش طراحی فیزیکی
و معماری پردازنده است.

NUMA Node
نحوه ارائه Topology حافظه
و پردازش به سیستم عامل
را توصیف می کند.

این دو مفهوم
می توانند با یکدیگر مرتبط باشند،
اما یکسان نیستند.

آیا حتی داخل یک CPU هم Latency می تواند متفاوت باشد؟

بله.

در CPUهای پیچیده،
Coreها،
Cache Sliceها،
Memory Controllerها
و I/O
از طریق Interconnect داخلی
به یکدیگر متصل هستند.

بسته به معماری،
مسیر میان دو Core
یا میان Core و Memory Controller
می تواند متفاوت باشد.

بنابراین مفهوم:

Data Locality

فقط مخصوص Serverهای دوپردازنده ای نیست.

Core Cluster چگونه روی Performance اثر می گذارد؟

برخی پردازنده ها
Coreها را در Clusterهای مشخص
سازمان دهی می کنند.

Coreهای یک Cluster
ممکن است:

  • Cache مشترک داشته باشند،
  • مسیر ارتباطی کوتاه تری داشته باشند،
  • یا برای ارتباط با Cluster دیگر از Fabric عبور کنند.

به همین دلیل
Thread Placement
می تواند در برخی Workloadها
روی Performance اثر بگذارد.

چرا Threadهایی که زیاد با هم داده رد و بدل می کنند بهتر است نزدیک باشند؟

اگر دو Thread
دائماً روی داده های مشترک
کار کنند،
فاصله زیاد توپولوژیک
میان آنها
می تواند ترافیک بیشتری
در Interconnect ایجاد کند.

Thread A
↔
Shared Data
↔
Thread B

اگر این Threadها
روی Coreهایی قرار گیرند
که ارتباط مناسب تری دارند،
هزینه تبادل داده
می تواند کاهش پیدا کند.

Cache Coherence چه ارتباطی با NUMA دارد؟

اگر چند CPU یا Core
روی داده مشترک کار کنند،
Cacheهای آنها
باید درباره وضعیت
Cache Lineهای مشترک
هماهنگ باشند.

در سیستم بزرگ،
پیام های Coherence
ممکن است از Interconnect
میان Nodeها عبور کنند.

More Shared Writes
→
More Coherence Traffic
→
More Interconnect Pressure

بنابراین NUMA Performance
فقط به محل RAM محدود نیست؛
الگوی اشتراک داده
میان Coreها نیز اهمیت دارد.

False Sharing در سیستم بزرگ چرا دردسرساز می شود؟

ممکن است دو Thread
متغیرهای کاملاً متفاوتی
را تغییر دهند،
اما این متغیرها
داخل یک Cache Line مشترک
قرار گرفته باشند.

در این حالت،
Cache Line
ممکن است مرتباً
میان Coreها جابه جا شود.

Independent Variables
+
Same Cache Line
→
False Sharing

اگر Coreها
روی Nodeهای دورتر باشند،
هزینه این ترافیک
می تواند بیشتر شود.

نکته مهندسی — Engineering Insight: خرید RAM سریع تر نمی تواند Topology بد را همیشه جبران کند

فرض کنید حافظه
Data Rate بسیار بالایی دارد،
اما Thread
مرتباً مجبور باشد
از Node دیگر
داده دریافت کند.

مسیر Interconnect
و Remote Latency
همچنان وجود دارند.

بنابراین Performance حافظه
باید به صورت:

DRAM Performance
+
Memory Channels
+
Controller
+
Interconnect
+
Topology
+
Software Placement

بررسی شود.

NUMA برای Workstation چه اهمیتی دارد؟

Workstationهای حرفه ای
ممکن است تعداد Core زیاد،
RAM بسیار بالا
و Workloadهای سنگین داشته باشند.

کاربردهایی مانند:

  • رندرینگ CPU،
  • Simulation،
  • تحلیل مهندسی،
  • Scientific Computing،
  • Virtualization،
  • پردازش داده،
  • و برخی نرم افزارهای تولید محتوا

می توانند از Memory Topology
تاثیر بگیرند.

آیا کاربر دسکتاپ معمولی باید نگران NUMA باشد؟

در بسیاری از سیستم های
دسکتاپ تک سوکته معمولی،
سیستم عامل و Firmware
بیشتر جزئیات Topology
را بدون نیاز به دخالت کاربر
مدیریت می کنند.

بنابراین برای کاربری عادی،
NUMA معمولاً مسئله ای نیست
که نیاز به تنظیم دستی داشته باشد.

اهمیت آن بیشتر
با افزایش:

  • تعداد Core،
  • تعداد Socket،
  • حجم RAM،
  • تعداد VM،
  • و اندازه Workload

افزایش پیدا می کند.

اشتباه رایج — Common Mistake: برای افزایش سرعت باید NUMA را غیرفعال کنیم

چنین قانون عمومی
وجود ندارد.

NUMA
بخشی از معماری
سیستم های مقیاس پذیر است.

مسئله اصلی
استفاده صحیح
از Topology است،
نه صرفاً حذف آن.

تغییر تنظیمات NUMA
بدون شناخت Workload
حتی می تواند
Performance را کاهش دهد.

چگونه بفهمیم NUMA به Bottleneck تبدیل شده است؟

تشخیص دقیق
نیازمند Profiling
و ابزارهای مناسب پلتفرم است.

نشانه های قابل بررسی شامل:

  • Remote Memory Access بالا،
  • عدم توازن مصرف RAM میان Nodeها،
  • Memory Bandwidth نامتعادل،
  • Thread Migration زیاد،
  • افت Scaling با افزایش Thread،
  • Interconnect Traffic بالا،
  • و تفاوت Performance با تغییر Affinity

هستند.

چه ابزارهایی برای مشاهده NUMA وجود دارند؟

بسته به سیستم عامل
ابزارهای مختلفی
برای مشاهده Topology وجود دارند.

نمونه های شناخته شده:

Windows
→
Task Manager
/
Performance Monitoring Tools

Linux
→
lscpu
/
numactl
/
numastat

ابزارهای Profiling
تخصصی پردازنده
نیز می توانند
اطلاعات بسیار عمیق تری
درباره Memory Access
و NUMA Behavior ارائه دهند.

ابزارهایی مانند numactl چه کاری انجام می دهند؟

در سیستم های Linux،
ابزارهایی مانند
numactl
می توانند برای مشاهده
یا کنترل سیاست های:

  • CPU Placement،
  • Memory Placement،
  • Node Binding،
  • و Memory Interleaving

استفاده شوند.

استفاده دستی از این ابزارها
باید بر اساس Profiling
و شناخت Workload انجام شود.

Memory Interleaving در NUMA چیست؟

یکی از سیاست های ممکن
این است که Memory Pageها
میان چند Node
توزیع شوند.

به صورت مفهومی:

Page 0
→
Node 0

Page 1
→
Node 1

Page 2
→
Node 0

Page 3
→
Node 1

این روش
می تواند برای برخی Workloadها
Bandwidth را بهتر توزیع کند،
اما برای همه برنامه ها
بهترین سیاست نیست.

نکته مهندسی — Engineering Insight: Local Allocation و Interleaving دو هدف متفاوت دارند

Local Allocation
تلاش می کند Latency
را با نزدیک نگه داشتن داده
به Thread کاهش دهد.

Interleaving
می تواند داده
را میان چند Memory Controller
توزیع کند
تا Aggregate Bandwidth
افزایش پیدا کند.

Locality Strategy
→
Lower Access Distance

Interleaving Strategy
→
Better Bandwidth Distribution

انتخاب مناسب
به Workload بستگی دارد.

چرا NUMA برای CPU Scaling مهم است؟

فرض کنید تعداد Coreها
دو برابر شود.

اگر زیرسیستم حافظه
نتواند داده کافی
به Coreهای جدید برساند،
Performance دو برابر نمی شود.

معماری NUMA
با توزیع:

  • Memory Controller،
  • Memory Channel،
  • RAM Capacity،
  • و Memory Bandwidth

در بخش های مختلف سیستم،
امکان ساخت پردازنده ها
و Serverهای بزرگ تر
را فراهم می کند.

تاثیر بر عملکرد — Performance Impact: 64 Core فعال الزاماً به معنی استفاده موثر از 64 Core نیست

اگر یک برنامه
روی 64 Core اجرا شود
اما داده های اصلی آن
فقط از Memory Controller
یک Node تامین شوند،
ممکن است آن Node
به Bottleneck تبدیل شود.

Many Threads
→
One Memory Node
→
Bandwidth Contention

توزیع مناسب داده
و Thread
می تواند برای Scaling
به اندازه تعداد Core
اهمیت داشته باشد.

هنگام خرید Server یا Workstation چه مشخصاتی را بررسی کنیم؟

ویژگی چرا مهم است؟
Socket Count می تواند ساختار NUMA و مسیرهای Remote Access را تغییر دهد
Core Count تعداد مصرف کنندگان بالقوه پهنای باند حافظه را افزایش می دهد
Memory Channels per Socket روی پهنای باند حافظه هر CPU اثر مستقیم دارد
DIMM Population تعیین می کند کانال ها چگونه استفاده می شوند
RAM per Socket روی Local Memory Capacity اثر دارد
Inter-Socket Bandwidth روی هزینه ترافیک میان CPUها اثر دارد
Workload NUMA Awareness مشخص می کند نرم افزار تا چه حد از Topology استفاده می کند
Virtualization Topology برای VMهای بزرگ و Hostهای پرتراکم اهمیت دارد

اشتباهات رایج — Common Mistakes: NUMA و Memory Topology
  • فرض اینکه تمام RAM سیستم Latency یکسان دارد.
  • نادیده گرفتن تفاوت Local Memory و Remote Memory.
  • تمرکز فقط روی ظرفیت RAM در Server.
  • نادیده گرفتن توزیع DIMMها میان Socketها.
  • نادیده گرفتن Memory Channel Population.
  • فرض اینکه Core بیشتر همیشه Scaling خطی ایجاد می کند.
  • نادیده گرفتن Memory Affinity.
  • نادیده گرفتن Thread Migration.
  • نادیده گرفتن First-Touch Policy در برنامه های بزرگ.
  • فرض اینکه سیستم عامل همیشه بهترین Placement ممکن را انجام می دهد.
  • یکی دانستن Chiplet Architecture با NUMA.
  • نادیده گرفتن NUMA در VMهای بزرگ.
  • نادیده گرفتن Cache Coherence Traffic میان Nodeها.
  • نادیده گرفتن False Sharing.
  • تلاش برای حل Topology نامناسب فقط با RAM سریع تر.
  • تغییر تنظیمات NUMA بدون Profiling.

سوالات متداول درباره NUMA و Memory Topology

NUMA چیست؟

معماری حافظه ای است
که در آن هزینه دسترسی
به تمام بخش های RAM
الزاماً یکسان نیست.

NUMA Node چیست؟

مجموعه ای از منابع پردازشی
و حافظه نزدیک به آنهاست
که سیستم عامل
به عنوان یک بخش توپولوژیک
شناسایی می کند.

Local Memory چیست؟

حافظه ای است
که از دید یک Node
از مسیر نزدیک تر
قابل دسترسی است.

Remote Memory چیست؟

حافظه متعلق به Node دیگری است
که دسترسی به آن
معمولاً نیازمند عبور
از Interconnect اضافی است.

آیا Remote Memory همیشه غیرقابل استفاده است؟

خیر.
بخشی طبیعی از معماری NUMA است،
اما معمولاً هزینه دسترسی آن
با Local Memory یکسان نیست.

First-Touch چیست؟

سیاستی است
که در آن محل تخصیص واقعی
برخی Memory Pageها
می تواند بر اساس Node
اولین Thread استفاده کننده
تعیین شود.

آیا NUMA فقط برای Server است؟

بیشترین اهمیت آن
در Serverها،
Workstationهای بزرگ
و سیستم های چندسوکته دیده می شود،
اما مفهوم Data Locality
در معماری های مدرن دیگر
نیز اهمیت دارد.

vNUMA چیست؟

نمایش توپولوژی NUMA
به ماشین مجازی است
تا Guest OS و Application
بتوانند منابع را بهتر مدیریت کنند.

آیا Chiplet همان NUMA است؟

خیر.
Chiplet روش ساخت
و سازمان دهی اجزای پردازنده است،
در حالی که NUMA
مدل دسترسی غیریکنواخت
به حافظه را توصیف می کند.

آیا RAM سریع تر مشکل NUMA را حل می کند؟

الزاماً خیر.
Remote Access،
Interconnect Traffic،
Memory Placement
و Thread Placement
همچنان می توانند
محدودیت ایجاد کنند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Memory Topology: ساختار ارتباط پردازنده، کنترلر حافظه و RAM.
  • UMA: معماری دسترسی نسبتاً یکنواخت به حافظه.
  • NUMA: معماری دسترسی غیریکنواخت به حافظه.
  • NUMA Node: مجموعه منابع پردازشی و حافظه محلی مرتبط.
  • Local Memory: حافظه نزدیک تر به Node اجراکننده.
  • Remote Memory: حافظه ای که از Node دیگری قابل دسترسی است.
  • Inter-Socket Interconnect: لینک ارتباطی میان CPUهای چندسوکته.
  • Memory Affinity: نزدیک نگه داشتن حافظه به محل پردازش.
  • CPU Affinity: محدود یا ترجیح دادن اجرای Thread روی CPUهای مشخص.
  • Thread Migration: انتقال Thread میان Coreها یا Nodeها.
  • First-Touch: تخصیص حافظه بر اساس محل اولین استفاده.
  • NUMA-aware: نرم افزاری که Topology NUMA را در تصمیم های خود لحاظ می کند.
  • Memory Placement: تعیین محل فیزیکی یا منطقی تخصیص داده.
  • Thread Placement: تعیین محل اجرای Thread.
  • Memory Interleaving: توزیع Pageهای حافظه میان چند Node.
  • vNUMA: توپولوژی NUMA ارائه شده به ماشین مجازی.
  • Chiplet: طراحی پردازنده از چند Die یا بلوک سیلیکونی.
  • Data Locality: نزدیک بودن داده به محل مصرف آن.
  • False Sharing: ایجاد Coherence Traffic به دلیل اشتراک ناخواسته یک Cache Line.
  • Aggregate Memory Bandwidth: پهنای باند مجموع چند کنترلر یا Node حافظه.

خلاصه فصل

در سیستم های NUMA،
تمام حافظه
از دید تمام Coreها
فاصله یکسانی ندارد.

Local Memory
→
Shorter Path
→
Usually Lower Latency

Remote Memory
→
Interconnect
→
Longer Path
→
Usually Higher Latency

اما NUMA
فقط مسئله Latency نیست.

توزیع Memory Controllerها
و Channelها میان Nodeها
می تواند Bandwidth کلی سیستم
را نیز افزایش دهد.

بنابراین Performance
یک سیستم بزرگ
حاصل تعامل:

CPU Cores
+
Memory Controllers
+
Memory Channels
+
NUMA Nodes
+
Interconnect
+
Thread Placement
+
Memory Placement
+
Software Behavior

است.


در سیستم های بزرگ، سؤال فقط این نیست که
«چقدر RAM داریم؟»
بلکه باید پرسید:
«این داده در کدام حافظه قرار دارد،
کدام Core آن را پردازش می کند
و برای رسیدن داده به آن Core
چند مرحله باید طی شود؟»


فصل 80
سطح: متوسط تا پیشرفته
موضوع: معماری PCI Express
تمرکز: PCIe Lane / Link Width / Root Complex / GPU / NVMe / Chipset / Lane Sharing


CPU فقط با RAM ارتباط ندارد؛ بخش بزرگی از تجهیزات پرسرعت سیستم از مسیر PCI Express به پردازنده متصل می شوند

معماری PCI Express؛ مسیر ارتباط CPU با GPU، SSD NVMe و تجهیزات پرسرعت

وقتی کارت گرافیک،
SSD NVMe،
کارت شبکه پرسرعت
یا یک شتاب دهنده
در سیستم نصب می شود،
باید مسیری برای تبادل داده
با CPU و Memory
وجود داشته باشد.

یکی از مهم ترین استانداردهایی
که این ارتباط را فراهم می کند:

PCI Express
=
PCIe

است.

اما PCIe
فقط نام یک Slot
روی مادربرد نیست.

پشت این رابط
یک معماری ارتباطی
شامل Lane،
Link،
Root Complex،
Endpoint،
Switch
و چند لایه Protocol
وجود دارد.

در این فصل چه چیزهایی یاد می گیریم؟

  • PCI Express چیست.
  • PCIe Lane چیست.
  • چرا هر Lane دو مسیر مستقل دارد.
  • Link Width چیست.
  • x1، x2، x4، x8 و x16 چه معنی دارند.
  • PCIe Full Duplex چیست.
  • Root Complex چیست.
  • Endpoint چیست.
  • PCIe Switch چیست.
  • CPU PCIe Lanes چه هستند.
  • Chipset Lanes چه هستند.
  • تفاوت اتصال مستقیم به CPU و اتصال از طریق Chipset چیست.
  • PCIe 3.0، 4.0، 5.0 و 6.0 چه تفاوتی دارند.
  • GT/s چیست.
  • چرا GT/s با GB/s یکی نیست.
  • Encoding Overhead چیست.
  • Lane Bifurcation چیست.
  • Lane Sharing چیست.
  • چرا نصب یک SSD ممکن است بعضی Portها را غیرفعال کند.
  • GPU واقعاً به چه تعداد Lane نیاز دارد.
  • SSD NVMe چگونه از PCIe استفاده می کند.
  • چه زمانی PCIe به Bottleneck تبدیل می شود.

PCI Express چیست؟


اتصال سریع تجهیزات جانبی — Peripheral Component Interconnect Express

PCI Express
یا
PCIe
یک استاندارد ارتباطی
پرسرعت و سریال است
که برای اتصال
تجهیزات مختلف
به سیستم استفاده می شود.

نمونه هایی از تجهیزات PCIe:

  • کارت گرافیک،
  • SSD NVMe،
  • کارت شبکه،
  • کارت صدا،
  • کارت Capture،
  • RAID Controller،
  • شتاب دهنده های محاسباتی،
  • و برخی کنترلرهای I/O.

PCIe چرا Point-to-Point است؟

PCIe
برخلاف برخی Busهای قدیمی،
از لینک های اختصاصی
میان دو Endpoint ارتباطی
استفاده می کند.

Device A
↔
PCIe Link
↔
Device B

بنابراین یک Link PCIe
مستقیماً دو بخش
از ساختار PCIe
را به یکدیگر متصل می کند.

PCIe Lane چیست؟


مسیر پایه ارتباطی — PCIe Lane

یک
PCIe Lane
واحد پایه
انتقال داده در PCI Express است.

هر Lane
دارای مسیر ارسال
و دریافت مستقل است.

One PCIe Lane
=
TX Differential Pair
+
RX Differential Pair

TX
مسیر ارسال
و RX
مسیر دریافت داده است.

Differential Pair چیست؟

PCIe
از سیگنالینگ تفاضلی
استفاده می کند.

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

Differential Signaling
→
Better Noise Immunity
+
High-Speed Signal Integrity

این روش
برای ارتباطات بسیار پرسرعت
اهمیت زیادی دارد.

Full Duplex در PCIe یعنی چه؟

چون مسیر TX و RX
مستقل هستند،
داده می تواند
همزمان در دو جهت
منتقل شود.

CPU
→
GPU

GPU
→
CPU

این ویژگی:

Full Duplex

نام دارد.

چند Lane
می توانند
کنار یکدیگر قرار بگیرند
و یک Link عریض تر بسازند.

x1
=
1 Lane

x4
=
4 Lanes

x8
=
8 Lanes

x16
=
16 Lanes

هرچه تعداد Laneها بیشتر باشد،
پهنای باند بالقوه Link
نیز بیشتر می شود.

اشتباه رایج — Common Mistake: هر Slot فیزیکی x16 حتماً با 16 Lane کار می کند

خیر.

اندازه فیزیکی Slot
الزاماً تعداد Laneهای
الکتریکی فعال را مشخص نمی کند.

ممکن است Slot
از نظر ظاهری x16 باشد،
اما از نظر الکتریکی:

x16 Physical
/
x4 Electrical

باشد.

بنابراین برای فهم پهنای باند واقعی
باید مشخصات مادربرد
بررسی شود.

هنگام راه اندازی سیستم،
دو طرف Link
قابلیت های یکدیگر
را شناسایی می کنند.

سپس درباره مواردی مانند:

  • Generation،
  • Link Speed،
  • Link Width،
  • و وضعیت Laneها

توافق می شود.

این فرآیند
بخشی از:

Link Training

است.

نکته مهندسی — Engineering Insight: Link با توانایی ضعیف ترین طرف محدود می شود

فرض کنید یک GPU
از PCIe 4.0 پشتیبانی کند،
اما مادربرد یا CPU
فقط PCIe 3.0 ارائه دهد.

Link
با نسل مشترک قابل پشتیبانی
کار خواهد کرد.

PCIe 4.0 Device
+
PCIe 3.0 Host
→
PCIe 3.0 Link

همین منطق
درباره Link Width
نیز صدق می کند.

Root Complex چیست؟


نقطه اتصال پردازنده و حافظه به ساختار PCIe — Root Complex

Root Complex
بخش مهمی از معماری PCIe است
که ساختار پردازنده و حافظه
را به PCIe Fabric
متصل می کند.

CPU / Memory
↔
Root Complex
↔
PCIe Devices

بسته به معماری،
Root Complex
می تواند بخشی از CPU
یا SoC باشد.

PCIe Endpoint چیست؟

تجهیزی که
در انتهای یک ساختار PCIe
قرار می گیرد
معمولاً:

Endpoint

نامیده می شود.

برای مثال:

  • GPU،
  • NVMe Controller،
  • Network Adapter،
  • Capture Card

می توانند PCIe Endpoint باشند.

PCIe Switch چیست؟


سوئیچ PCI Express — PCIe Switch

PCIe Switch
امکان اتصال چند Endpoint
به یک ساختار بالادستی
را فراهم می کند.

Root Complex
↔
PCIe Switch
↔
Multiple Endpoints

این قطعات
در Serverها،
Workstationها،
Storage Systemها
و سیستم های دارای
تعداد زیاد Accelerator
اهمیت بیشتری دارند.

نکته مهندسی — Engineering Insight: PCIe Switch Lane تولید نمی کند

Switch
می تواند چند Device
را به یک Upstream Link
متصل کند،
اما پهنای باند نامحدود
ایجاد نمی کند.

Multiple Downstream Devices
→
Shared Upstream Bandwidth

اگر چند Device
همزمان ترافیک سنگین داشته باشند،
Upstream Link
می تواند Bottleneck شود.

CPU PCIe Lanes چیست؟

بسیاری از CPUهای مدرن
تعدادی PCIe Lane
مستقیماً در اختیار سیستم قرار می دهند.

این Laneها
معمولاً برای تجهیزات
پرسرعت مانند:

  • GPU،
  • NVMe SSD،
  • و در پلتفرم های حرفه ای Acceleratorها

استفاده می شوند.

CPU
→
Direct PCIe Lanes
→
Device

Chipset PCIe Lanes چیست؟

Chipset
نیز می تواند
PCIe Laneهای اضافی
برای اتصال تجهیزات فراهم کند.

اما Chipset
خودش از طریق
یک لینک مشخص
به CPU متصل است.

Device
→
Chipset
→
Chipset-to-CPU Link
→
CPU

بنابراین چند Device
متصل به Chipset
می توانند بخشی از مسیر بالادستی
را با یکدیگر به اشتراک بگذارند.

اتصال مستقیم به CPU با اتصال از طریق Chipset چه تفاوتی دارد؟

ویژگی اتصال مستقیم به CPU اتصال از طریق Chipset
مسیر کوتاه تر عبور از Chipset
پهنای باند بالادستی اختصاصی تر ممکن است با تجهیزات دیگر مشترک باشد
کاربرد رایج GPU و برخی SSDهای اصلی Storage، USB، Network و Expansion Devices
احتمال Contention معمولاً کمتر بسته به بار سایر تجهیزات بیشتر

پشت صحنه فنی — Under the Hood: چرا مجموع Laneهای Chipset می تواند از لینک CPU بیشتر باشد؟

ممکن است Chipset
تعداد زیادی Port
و Lane
در اختیار مادربرد قرار دهد.

اما تمام این تجهیزات
الزاماً همزمان
با حداکثر پهنای باند
کار نمی کنند.

بنابراین طراحی سیستم
می تواند از مفهوم:

Oversubscription

استفاده کند.

Many Downstream Interfaces
→
Shared Upstream Link

این موضوع
شبیه شبکه ای است
که تعداد زیادی Client
از یک Uplink مشترک
استفاده می کنند.

نسل های PCIe چه تفاوتی دارند؟

با هر نسل جدید PCIe،
نرخ انتقال هر Lane
افزایش یافته است.

نسل نرخ انتقال خام هر Lane پهنای باند تقریبی یک طرفه x1 پهنای باند تقریبی یک طرفه x16
PCIe 3.0 8 GT/s حدود 0.985 GB/s حدود 15.75 GB/s
PCIe 4.0 16 GT/s حدود 1.97 GB/s حدود 31.5 GB/s
PCIe 5.0 32 GT/s حدود 3.94 GB/s حدود 63 GB/s
PCIe 6.0 64 GT/s حدود 7.56 GB/s* حدود 121 GB/s*

* اعداد PCIe 6.0
به صورت تقریبی
و با در نظر گرفتن ساختار
FLIT و FEC بیان شده اند؛
نرخ کاربردی دقیق
به سربار Protocol
و نوع ترافیک وابسته است.

GT/s چیست؟


نرخ انتقال — GigaTransfers per Second

GT/s
مخفف:

GigaTransfers per Second

است.

این عدد
تعداد انتقال های سیگنال
در هر ثانیه
را بیان می کند.

GT/s
مستقیماً همان GB/s نیست.

اشتباه رایج — Common Mistake: 32 GT/s یعنی 32 GB/s روی هر Lane

خیر.

GT/s
نرخ Transfer
را بیان می کند،
در حالی که GB/s
حجم داده منتقل شده
در هر ثانیه است.

نوع Encoding
و سربار Protocol
باید در تبدیل
در نظر گرفته شوند.

GT/s
≠
GB/s

Encoding در PCIe چیست؟

داده روی Link
به شکل خام
و بدون ساختار
ارسال نمی شود.

نسل های مختلف PCIe
از روش های متفاوتی
برای Signal Encoding
استفاده کرده اند.

PCIe 3.0 تا PCIe 5.0
از:

128b / 130b Encoding

استفاده می کنند.

یعنی برای هر 128 بیت
Payload سطح Encoding،
130 بیت روی Link
منتقل می شود.

چرا PCIe 2.0 با وجود 5 GT/s فقط حدود 500 MB/s در هر Lane داشت؟

نسل های اولیه PCIe
از:

8b / 10b Encoding

استفاده می کردند.

یعنی برای انتقال
8 بیت داده،
10 بیت روی Link
منتقل می شد.

این روش
حدود 20 درصد
Encoding Overhead
ایجاد می کرد.

PCIe 6.0 چرا معماری انتقال متفاوتی دارد؟

PCIe 6.0
برای رسیدن به نرخ انتقال بالاتر
از فناوری:

PAM4
=
Pulse Amplitude Modulation 4-Level

استفاده می کند.

به جای دو سطح سیگنال،
PAM4
از چهار سطح استفاده می کند
و می تواند در هر Symbol
اطلاعات بیشتری حمل کند.

پشت صحنه فنی — Under the Hood: افزایش سرعت PCIe 6.0 بدون هزینه نیست

چهار سطحی شدن سیگنال
باعث می شود
فاصله میان Levelهای الکتریکی
کمتر شود.

در نتیجه
Signal Integrity
حساس تر می شود.

PCIe 6.0
برای حفظ Reliability
از فناوری هایی مانند:

PAM4
+
FLIT Mode
+
FEC

استفاده می کند.

FEC
مخفف:

Forward Error Correction

است.

پهنای باند PCIe چگونه افزایش پیدا می کند؟

دو عامل اصلی:

  • سرعت هر Lane،
  • و تعداد Laneها

هستند.

Link Bandwidth
≈
Per-Lane Bandwidth
×
Number of Lanes

برای مثال
PCIe 4.0 x8
تقریباً پهنای باندی مشابه
PCIe 3.0 x16
در سطح Link دارد.

نکته مهندسی — Engineering Insight: نسل بالاتر می تواند کاهش تعداد Lane را جبران کند

پهنای باند هر Lane
تقریباً با هر نسل
دو برابر شده است.

PCIe 3.0 x16
≈
PCIe 4.0 x8
≈
PCIe 5.0 x4

این برابری
درباره پهنای باند نظری Link است
و به معنی Performance یکسان
برای تمام Deviceها و Workloadها نیست.

GPU چگونه از PCIe استفاده می کند؟

کارت گرافیک مجزا
معمولاً از PCIe
برای ارتباط با:

  • CPU،
  • System Memory،
  • Driver،
  • و سایر اجزای سیستم

استفاده می کند.

بسیاری از GPUهای دسکتاپ
از Linkهای x16
استفاده می کنند،
اما برخی GPUها
از نظر الکتریکی
x8 یا تعداد Lane کمتری دارند.

آیا GPU برای هر عملیات گرافیکی از PCIe به RAM سیستم مراجعه می کند؟

خیر.

GPU مجزا
معمولاً VRAM اختصاصی
خودش را دارد.

GPU
↔
Local VRAM

این حافظه
از طریق رابط بسیار پهن
مستقیماً در اختیار GPU قرار دارد.

PCIe
بیشتر برای انتقال داده
میان GPU
و سایر بخش های سیستم
استفاده می شود.

آیا x8 بودن کارت گرافیک همیشه Performance را نصف می کند؟

خیر.

نصف شدن تعداد Lane
پهنای باند نظری Link
را کاهش می دهد،
اما Performance برنامه
فقط به پهنای باند PCIe
وابسته نیست.

اگر بیشتر داده مورد نیاز GPU
در VRAM باقی بماند،
PCIe ممکن است
Bottleneck اصلی نباشد.

تاثیر واقعی
به:

  • GPU،
  • نسل PCIe،
  • Workload،
  • VRAM Capacity،
  • Data Transfer Pattern،
  • و Application

بستگی دارد.

تاثیر بر عملکرد — Performance Impact: کمبود VRAM می تواند اهمیت PCIe را بسیار بیشتر کند

اگر Dataset
یا Textureهای مورد نیاز
داخل VRAM جا نشوند،
انتقال داده
میان System RAM و GPU
می تواند افزایش پیدا کند.

Insufficient VRAM
→
More Host ↔ GPU Transfers
→
More PCIe Traffic

در چنین شرایطی
محدودیت PCIe
می تواند محسوس تر شود.

SSD NVMe چگونه به PCIe متصل می شود؟

بسیاری از SSDهای NVMe
مستقیماً از PCI Express
برای ارتباط استفاده می کنند.

یک SSD رایج M.2 NVMe
معمولاً:

PCIe x4

است.

برای مثال:

PCIe 3.0 x4
→
~3.94 GB/s Raw Link Payload Capacity

PCIe 4.0 x4
→
~7.88 GB/s Raw Link Payload Capacity

PCIe 5.0 x4
→
~15.75 GB/s Raw Link Payload Capacity

اشتباه رایج — Common Mistake: PCIe 4.0 x4 یعنی SSD حتماً 7.88 GB/s سرعت دارد

خیر.

این عدد
ظرفیت تقریبی Link
در سطح Encoding است.

Performance واقعی SSD
به عوامل دیگری مانند:

  • NAND Flash،
  • SSD Controller،
  • Firmware،
  • Queue Depth،
  • نوع Workload،
  • Temperature،
  • SLC Cache،
  • و Protocol Overhead

وابسته است.

NVMe و PCIe یک چیز هستند؟

خیر.

PCIe
مسیر ارتباطی
و Transport زیرساختی را فراهم می کند.

NVMe
یک Interface و Command Set
طراحی شده برای Storage
مبتنی بر حافظه Non-Volatile است.

PCIe
=
Transport / Interconnect

NVMe
=
Storage Protocol / Command Set

آیا هر M.2 یک SSD NVMe است؟

خیر.

M.2
یک Form Factor
و استاندارد اتصال فیزیکی است
که می تواند
رابط های متفاوتی را حمل کند.

بنابراین:

M.2
≠
Automatically NVMe

بعضی M.2 SSDها
می توانند SATA باشند
و برخی از PCIe/NVMe
استفاده کنند.

PCIe Bifurcation چیست؟


تقسیم یک Link عریض به چند Link کوچک تر — PCIe Bifurcation

Bifurcation
به تقسیم Laneهای
یک مجموعه PCIe
به چند Link مستقل
گفته می شود.

برای مثال:

x16
→
x8 + x8

یا:

x16
→
x4 + x4 + x4 + x4

البته CPU،
مادربرد
و Firmware
باید Configuration مورد نظر
را پشتیبانی کنند.

چرا کارت چهار SSD M.2 ممکن است بدون Bifurcation درست کار نکند؟

برخی Adapterها
چهار SSD PCIe x4
را روی یک Slot x16
قرار می دهند.

برای اینکه هر SSD
Link مستقل x4 داشته باشد،
Host باید بتواند:

x16
→
4 × x4

را ایجاد کند.

اگر Bifurcation
پشتیبانی نشود
و Adapter
PCIe Switch مستقل نداشته باشد،
ممکن است فقط بخشی از SSDها
شناسایی شوند.

Lane Sharing چیست؟

تعداد PCIe Laneها
در هر پلتفرم محدود است.

بنابراین مادربرد
ممکن است یک مجموعه Lane
را میان چند Connector
به اشتراک بگذارد.

برای مثال:

M.2 Slot
↔
Shared Resources
↔
PCIe Expansion Slot

یا:

M.2 Slot
↔
Shared Resources
↔
SATA Ports

پشت صحنه فنی — Under the Hood: چرا با نصب SSD بعضی Portهای مادربرد غیرفعال می شوند؟

مادربرد
منابع ارتباطی محدودی دارد.

سازنده ممکن است
یک مسیر HSIO
یا PCIe Resource
را برای چند Connector
در نظر گرفته باشد.

وقتی یکی از این مسیرها
توسط M.2 استفاده شود،
Connector دیگر
ممکن است غیرفعال
یا محدود شود.

Shared Resource
→
Device A Enabled
→
Device B Disabled / Reduced

به همین دلیل
مطالعه Block Diagram
و Manual مادربرد
اهمیت زیادی دارد.

چرا نصب کارت دوم می تواند GPU اول را از x16 به x8 تبدیل کند؟

فرض کنید CPU
برای بخش Expansion
شانزده Lane
در اختیار مادربرد قرار دهد.

مادربرد می تواند
این Laneها را:

One Device
→
x16

یا:

Two Devices
→
x8 + x8

تقسیم کند.

بنابراین با نصب Device دوم،
Link Width
کارت اول ممکن است
تغییر کند.

آیا کارت x16 در Slot x8 کار می کند؟

اگر Slot از نظر فیزیکی
امکان نصب کارت را داشته باشد
و سیستم سازگار باشد،
Device می تواند
با Link Width کمتر
کار کند.

x16 Device
→
x8 Link

PCIe
برای Negotiation
عرض Link
طراحی شده است.

PCIe نسل های مختلف با هم سازگار هستند؟

در بسیاری از موارد،
PCI Express
سازگاری نسل به نسل
را حفظ می کند.

برای مثال
یک Device PCIe 4.0
می تواند روی Host PCIe 3.0
کار کند،
اما با سرعت نسل پایین تر.

Device Gen4
+
Host Gen3
→
Gen3 Operation

چرا با افزایش نسل PCIe طراحی مادربرد سخت تر می شود؟

هرچه Data Rate
افزایش پیدا کند،
کیفیت مسیر الکتریکی
اهمیت بیشتری پیدا می کند.

عواملی مانند:

  • طول Trace،
  • PCB Material،
  • Connector Quality،
  • Impedance Control،
  • Signal Loss،
  • Crosstalk،
  • و Noise

اهمیت بیشتری پیدا می کنند.

PCIe Retimer چیست؟


بازسازی کننده سیگنال — PCIe Retimer

در مسیرهای طولانی
یا طراحی های پرسرعت،
کیفیت سیگنال
ممکن است کاهش پیدا کند.

Retimer
سیگنال را دریافت،
بازیابی
و دوباره ارسال می کند.

Degraded Signal
→
Retimer
→
Recovered Signal

Retimerها
در نسل های سریع تر PCIe،
Serverها،
Riserها
و مسیرهای طولانی
اهمیت بیشتری پیدا می کنند.

PCIe Riser چیست؟

Riser
وسیله ای برای تغییر
موقعیت فیزیکی
اتصال PCIe است.

در:

  • Serverها،
  • سیستم های Rackmount،
  • کیس های کوچک،
  • و برخی Workstationها

استفاده از Riser
رایج است.

در سرعت های بالا،
کیفیت Riser
و Signal Integrity
اهمیت زیادی دارد.

Resizable BAR چه ارتباطی با PCIe دارد؟

CPU
برای دسترسی
به منابع PCIe Device
از Address Spaceهای مشخص
استفاده می کند.

در GPUها،
فناوری هایی مانند:

Resizable BAR

اجازه می دهند
CPU بتواند
پنجره بزرگ تری
از VRAM
را در Address Space
Map کند.

این قابلیت
می تواند در برخی Workloadها
مدیریت انتقال داده
میان CPU و GPU
را کارآمدتر کند.

BAR در PCIe چیست؟


Base Address Register

PCIe Device
دارای منابعی است
که باید در Address Space سیستم
قابل دسترسی باشند.

BAR
به سیستم کمک می کند
محدوده های آدرس
مورد نیاز Device
را تعیین و Map کند.

BAR
=
Base Address Register

DMA چه ارتباطی با PCIe دارد؟


دسترسی مستقیم به حافظه — Direct Memory Access

بسیاری از PCIe Deviceها
می توانند از:

DMA
=
Direct Memory Access

برای انتقال داده
میان Device
و System Memory
استفاده کنند.

در این حالت
لازم نیست CPU
تک تک واحدهای داده
را خودش کپی کند.

پشت صحنه فنی — Under the Hood: CPU دستور می دهد، اما لازم نیست تمام داده را خودش حمل کند

فرض کنید کارت شبکه
یک Packet دریافت کرده است.

به جای اینکه CPU
هر Byte
را از کارت شبکه
بخواند و در RAM بنویسد،
Device می تواند
از DMA
برای انتقال مستقیم تر
داده به Memory
استفاده کند.

Network Device
→
DMA
→
System Memory

CPU سپس
روی داده موجود در Memory
پردازش انجام می دهد.

این معماری
سربار پردازنده
را به شدت کاهش می دهد.

IOMMU چیست و چرا برای PCIe مهم است؟


واحد مدیریت حافظه ورودی و خروجی — Input-Output Memory Management Unit

IOMMU
برای مدیریت
دسترسی Deviceها
به Memory
استفاده می شود.

این واحد
می تواند آدرس های DMA
را ترجمه
و دسترسی Device
را محدود کند.

Device DMA Address
→
IOMMU
→
Physical Memory

IOMMU چرا برای Virtualization مهم است؟

در Virtualization،
ممکن است بخواهیم
یک PCIe Device
مستقیماً در اختیار
یک Virtual Machine
قرار گیرد.

فناوری هایی مانند:

Intel VT-d

AMD IOMMU

از سازوکارهای IOMMU
برای Isolation
و Device Assignment
استفاده می کنند.

PCIe چه ارتباطی با NUMA دارد؟

در Serverهای چندسوکته،
PCIe Device
ممکن است از نظر Topology
به یک CPU Socket
نزدیک تر باشد.

برای مثال:

GPU
→
PCIe Root Complex
→
Socket 0

اگر Thread اصلی
روی Socket 1 اجرا شود
و Memory نیز روی Node دیگری باشد،
مسیر داده
می تواند پیچیده تر شود.

نکته مهندسی — Engineering Insight: Device Locality هم مانند Memory Locality مهم است

در سیستم های بزرگ،
فقط نزدیک بودن RAM
به CPU مهم نیست.

نزدیک بودن:

  • GPU،
  • NIC،
  • NVMe SSD،
  • و Accelerator

به Node پردازشی
نیز می تواند
روی Performance اثر بگذارد.

CPU Affinity
+
Memory Affinity
+
Device Affinity
→
Better Locality

PCIe Peer-to-Peer چیست؟

در برخی معماری ها،
PCIe Deviceها
می توانند داده را
با دخالت کمتر CPU
میان یکدیگر منتقل کنند.

PCIe Device A
↔
PCIe Fabric
↔
PCIe Device B

این قابلیت
در Workloadهای:

  • GPU Computing،
  • Storage،
  • Networking،
  • و Accelerator-heavy Systems

اهمیت پیدا می کند.

چرا مسیر مستقیم میان Deviceها اهمیت دارد؟

در روش سنتی،
ممکن است داده
ابتدا وارد System Memory
شود
و سپس به Device دیگر منتقل گردد.

Device A
→
System Memory
→
Device B

فناوری های پیشرفته
در برخی پلتفرم ها
تلاش می کنند
مراحل میانی را کاهش دهند.

Fewer Data Copies
→
Lower CPU Overhead
+
Potentially Lower Latency

کارت شبکه پرسرعت چرا به PCIe سریع نیاز دارد؟

کارت های شبکه
با سرعت بالا
می توانند حجم زیادی
از داده را در هر ثانیه
وارد یا خارج کنند.

اگر PCIe Link
نتواند این ترافیک را حمل کند،
رابط PCIe
به Bottleneck تبدیل می شود.

این موضوع
در NICهای:

25 GbE
/
40 GbE
/
100 GbE
/
200 GbE
/
Higher-Speed Networking

اهمیت بیشتری پیدا می کند.

چرا بعضی Capture Cardها به x4 یا x8 نیاز دارند؟

Capture Card
ممکن است چند Stream
ویدئویی با Resolution
و Frame Rate بالا
دریافت کند.

حجم داده خام
می تواند زیاد باشد.

بنابراین سازنده
Link Width مشخصی
برای کارت تعیین می کند.

نصب کارت
در Slot با Lane کمتر
ممکن است Performance
یا قابلیت های آن
را محدود کند.

PCIe در سیستم های AI و محاسبات سنگین چه اهمیتی دارد؟

در سیستم های دارای
چند GPU یا Accelerator،
حجم زیادی از داده
ممکن است میان:

  • CPU و GPU،
  • RAM و VRAM،
  • Storage و GPU،
  • Network و GPU،
  • و Acceleratorهای مختلف

جابه جا شود.

بنابراین PCIe Topology
می تواند بخش مهمی
از طراحی سیستم باشد.

چه زمانی PCIe به Bottleneck تبدیل می شود؟

PCIe زمانی Bottleneck می شود
که Device
بخواهد داده بیشتری
از ظرفیت موثر Link
منتقل کند.

Required Data Rate
>
Available PCIe Throughput
→
PCIe Bottleneck

اما Bottleneck
همیشه فقط به Bandwidth مربوط نیست.

Latency،
Protocol Overhead،
Queueing،
Topology
و Software Stack
نیز می توانند موثر باشند.

سناریو احتمال اهمیت PCIe دلیل
GPU Gaming با VRAM کافی معمولاً متوسط یا پایین تر بخش زیادی از داده در VRAM باقی می ماند
GPU با VRAM ناکافی بالاتر انتقال Host ↔ GPU افزایش پیدا می کند
SSD NVMe بسیار سریع بالا Link می تواند سقف Sequential Throughput را تعیین کند
NIC پرسرعت بالا ترافیک شبکه باید از PCIe عبور کند
Multi-GPU Compute بسیار وابسته به Workload حجم و مسیر انتقال داده تعیین کننده است
کارت صدای معمولی پایین نیاز پهنای باند بسیار محدودتر است

هنگام نصب کارت PCIe چه چیزهایی را باید بررسی کرد؟

  • اندازه فیزیکی Slot،
  • تعداد Lane الکتریکی Slot،
  • نسل PCIe Slot،
  • نسل PCIe Device،
  • Lane Sharing،
  • Bifurcation Support،
  • اتصال Slot به CPU یا Chipset،
  • تغییر Link Width با نصب Deviceهای دیگر،
  • محدودیت های Firmware،
  • و نیاز پهنای باند Device.

چرا Block Diagram مادربرد بسیار مهم است؟

جدول مشخصات مادربرد
ممکن است فقط تعداد Slotها
و Portها را نشان دهد.

اما Block Diagram
مشخص می کند
این Portها
واقعاً چگونه
به CPU و Chipset
متصل شده اند.

CPU
├─ GPU x16
├─ NVMe x4
└─ Chipset Link
├─ USB
├─ SATA
├─ Network
└─ Additional PCIe

این اطلاعات
برای Workstation،
Server
و سیستم های دارای
چند Device پرسرعت
بسیار ارزشمند است.

PCIe در لپ تاپ چه نقشی دارد؟

در لپ تاپ
نیز بسیاری از تجهیزات
می توانند از PCIe استفاده کنند.

برای مثال:

  • GPU مجزا،
  • SSD NVMe،
  • Wi-Fi Controller در برخی طراحی ها،
  • Thunderbolt / USB4 Controller در برخی پلتفرم ها،
  • و سایر کنترلرهای داخلی.

اما تعداد Lane،
Routing
و قابلیت ارتقا
در لپ تاپ
معمولاً توسط طراحی سازنده
محدودتر است.

PCIe در Mini PC و All-in-One چه اهمیتی دارد؟

سیستم های کوچک
فضای PCB
و توان محدودی دارند.

بنابراین سازنده
باید Laneهای موجود
را میان:

  • NVMe،
  • Network،
  • Wireless،
  • External I/O،
  • و سایر Controllerها

تقسیم کند.

به همین دلیل
دو دستگاه با CPU مشابه
می توانند
قابلیت I/O متفاوتی داشته باشند.

نکته مهندسی — Engineering Insight: نام CPU به تنهایی تمام قابلیت PCIe سیستم را مشخص نمی کند

CPU
تعداد و نسل مشخصی
از Laneها را پشتیبانی می کند،
اما سازنده سیستم یا مادربرد
تعیین می کند
این Laneها چگونه Route شوند.

بنابراین:

CPU Capability
≠
Guaranteed System Configuration

برای بررسی واقعی
باید CPU،
Chipset،
مادربرد
و Block Diagram
با هم دیده شوند.

اشتباهات رایج — Common Mistakes: PCI Express
  • یکی دانستن اندازه فیزیکی Slot با تعداد Lane فعال.
  • فرض اینکه x16 همیشه از نظر الکتریکی x16 است.
  • یکی دانستن GT/s با GB/s.
  • نادیده گرفتن Encoding و Protocol Overhead.
  • فرض اینکه PCIe نسل بالاتر همیشه Performance برنامه را دو برابر می کند.
  • نادیده گرفتن اتصال Device به CPU یا Chipset.
  • نادیده گرفتن Shared Chipset Uplink.
  • نادیده گرفتن Lane Sharing مادربرد.
  • نادیده گرفتن Bifurcation در کارت های چند NVMe.
  • فرض اینکه PCIe Switch پهنای باند نامحدود ایجاد می کند.
  • فرض اینکه هر M.2 حتماً NVMe است.
  • یکی دانستن NVMe و PCIe.
  • فرض اینکه x8 شدن GPU الزاماً Performance را نصف می کند.
  • نادیده گرفتن VRAM Capacity هنگام بررسی PCIe GPU.
  • نادیده گرفتن NUMA و Device Locality در Server.
  • نادیده گرفتن Signal Integrity در نسل های سریع PCIe.
  • نادیده گرفتن Manual و Block Diagram مادربرد.

سوالات متداول درباره PCI Express

PCIe Lane چیست؟

واحد پایه ارتباط PCI Express است
که دارای مسیر مستقل
ارسال و دریافت داده است.

PCIe x16 یعنی چه؟

یعنی Link
می تواند از 16 Lane
برای ارتباط استفاده کند.
البته Slot فیزیکی x16
الزاماً 16 Lane الکتریکی ندارد.

GT/s همان GB/s است؟

خیر.
GT/s نرخ Transfer
و GB/s نرخ انتقال حجم داده است.
Encoding و سربارهای دیگر
باید در نظر گرفته شوند.

آیا PCIe 4.0 x8 از PCIe 3.0 x16 کندتر است؟

از نظر پهنای باند نظری Link،
این دو تقریباً مشابه هستند.
Performance واقعی
به Device و Workload بستگی دارد.

آیا GPU x16 در حالت x8 کار می کند؟

در صورت سازگاری سیستم،
بله.
PCIe می تواند Link
را با تعداد Lane کمتر
Negotiation کند.

چرا با نصب M.2 بعضی SATA Portها غیرفعال می شوند؟

زیرا در برخی مادربردها
منابع I/O
میان چند Connector
به اشتراک گذاشته شده اند.

NVMe همان PCIe است؟

خیر.
PCIe زیرساخت ارتباطی است
و NVMe پروتکل و Command Set
مخصوص Storage است.

هر M.2 یک SSD NVMe است؟

خیر.
M.2 Form Factor است
و یک SSD M.2
می تواند از رابط های مختلف
از جمله SATA یا PCIe/NVMe
استفاده کند.

PCIe Bifurcation چیست؟

تقسیم یک Link عریض
مانند x16
به چند Link مستقل کوچک تر
مانند x4+x4+x4+x4 است.

اتصال SSD به CPU بهتر است یا Chipset؟

اتصال مستقیم CPU
معمولاً مسیر مستقیم تری دارد،
اما در بسیاری از کاربری ها
SSD متصل به Chipset نیز
Performance کاملاً مناسبی دارد.
اهمیت تفاوت
به بار همزمان سایر تجهیزات
و Workload بستگی دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • PCI Express: استاندارد ارتباط سریال پرسرعت تجهیزات.
  • PCIe Lane: واحد پایه مسیر ارتباط PCIe.
  • TX: مسیر ارسال داده.
  • RX: مسیر دریافت داده.
  • Differential Pair: جفت مسیر الکتریکی برای انتقال تفاضلی سیگنال.
  • Full Duplex: انتقال همزمان داده در دو جهت.
  • Link Width: تعداد Laneهای تشکیل دهنده Link.
  • Link Training: فرآیند راه اندازی و توافق مشخصات Link.
  • Root Complex: نقطه اتصال CPU و Memory به ساختار PCIe.
  • Endpoint: تجهیز انتهایی PCIe مانند GPU یا NVMe Controller.
  • PCIe Switch: قطعه ای برای اتصال چند Endpoint به ساختار PCIe.
  • GT/s: میلیارد Transfer در ثانیه.
  • Encoding: روش کدگذاری اطلاعات روی Link.
  • 128b/130b: Encoding مورد استفاده در PCIe 3.0 تا 5.0.
  • PAM4: مدولاسیون چهارسطحی مورد استفاده در PCIe 6.0.
  • FLIT: واحد انتقال با اندازه ثابت در معماری جدید PCIe.
  • FEC: تصحیح خطای پیشرو.
  • Bifurcation: تقسیم Laneهای یک Link به چند Link مستقل.
  • Lane Sharing: اشتراک منابع Lane میان چند Connector.
  • Oversubscription: بیشتر بودن ظرفیت اسمی Downstream نسبت به Uplink مشترک.
  • Retimer: قطعه بازسازی کننده سیگنال پرسرعت.
  • Riser: رابط تغییر موقعیت فیزیکی PCIe.
  • BAR: Base Address Register برای Map کردن منابع Device.
  • Resizable BAR: قابلیت تغییر اندازه پنجره Addressable منابع PCIe Device.
  • DMA: انتقال مستقیم داده میان Device و Memory با دخالت کمتر CPU.
  • IOMMU: واحد مدیریت و ترجمه دسترسی I/O به حافظه.
  • Device Affinity: نزدیکی توپولوژیک Device به CPU یا NUMA Node.
  • Peer-to-Peer: ارتباط داده میان PCIe Deviceها با مسیر مستقیم تر.

خلاصه فصل

PCI Express
یکی از مهم ترین
مسیرهای ارتباطی
در کامپیوترهای مدرن است.

ساختار پایه آن
از Laneها تشکیل شده است:

Lane
→
Link
→
Root Complex / Switch
→
Endpoint

پهنای باند Link
به نسل PCIe
و تعداد Laneها بستگی دارد.

PCIe Generation
+
Link Width
→
Available Link Bandwidth

اما Performance واقعی
فقط با عدد x16
یا PCIe 5.0
تعیین نمی شود.

باید مسیر کامل
بررسی شود:

Device
→
PCIe Link
→
CPU or Chipset
→
Memory
→
Software

Lane Sharing،
Bifurcation،
Chipset Uplink،
NUMA،
DMA،
IOMMU
و Device Locality
همگی می توانند
روی رفتار واقعی سیستم
اثر بگذارند.


بنابراین هنگام بررسی یک GPU،
SSD، کارت شبکه یا هر تجهیز PCIe،
فقط به نسل PCIe نگاه نکنید؛
باید بدانید Device چند Lane دارد،
این Laneها از کجا می آیند،
به CPU یا Chipset متصل هستند،
با چه تجهیزاتی مشترک اند
و Workload واقعاً چه مقدار داده
از این مسیر عبور می دهد.


فصل 81
سطح: پیشرفته
موضوع: هماهنگی Cache در پردازنده های چند هسته ای
تمرکز: Cache Coherence / MESI / Cache Line / False Sharing / Coherence Traffic


چند Core می توانند یک داده را Cache کنند؛ اما فقط در صورتی که پردازنده بتواند نسخه های مختلف آن داده را هماهنگ نگه دارد

Cache Coherence و MESI؛ چند Core چگونه روی داده مشترک کار می کنند؟

Cache
برای کاهش فاصله سرعت
میان CPU و RAM
ضروری است.

اما در پردازنده چند هسته ای،
وجود Cache
یک مسئله جدید ایجاد می کند.

ممکن است دو Core
نسخه ای از یک داده
را همزمان
در Cache خود داشته باشند.

Core 0 Cache
→
Data X

Core 1 Cache
→
Data X

حال اگر Core 0
مقدار Data X
را تغییر دهد،
Core 1 نباید همچنان
نسخه قدیمی را معتبر بداند.

حل این مسئله
یکی از وظایف مهم
سیستم Cache Coherence است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Cache Coherence چیست.
  • چرا پردازنده چند هسته ای به Coherence نیاز دارد.
  • Cache Line چه نقشی در Coherence دارد.
  • MESI چیست.
  • حالت Modified چیست.
  • حالت Exclusive چیست.
  • حالت Shared چیست.
  • حالت Invalid چیست.
  • Cache Line Ownership چیست.
  • Cache Invalidation چگونه انجام می شود.
  • Cache-to-Cache Transfer چیست.
  • Snooping چیست.
  • Directory-based Coherence چیست.
  • Coherence Traffic چیست.
  • False Sharing چیست.
  • چرا False Sharing می تواند Performance را نابود کند.
  • False Sharing چه ارتباطی با NUMA دارد.
  • Cache Coherence چه ارتباطی با Multithreading دارد.
  • چرا تعداد Core بیشتر، Coherence را دشوارتر می کند.

Cache Coherence چیست؟


هماهنگی Cacheها — Cache Coherence

Cache Coherence
مجموعه ای از مکانیزم ها
و قوانین سخت افزاری است
که کمک می کند
Cacheهای مختلف سیستم
درباره وضعیت داده مشترک
سازگار باقی بمانند.

اگر یک Core
داده ای را تغییر دهد،
سایر Coreهایی که نسخه ای
از همان Cache Line دارند
باید از این تغییر
آگاه شوند.

چرا Cache Coherence لازم است؟

فرض کنید در RAM
متغیری با مقدار:

X = 10

وجود دارد.

Core 0
و Core 1
هر دو این داده را
داخل Cache خود می خوانند.

Core 0 Cache
→
X = 10

Core 1 Cache
→
X = 10

سپس Core 0
مقدار X را
به 20 تغییر می دهد.

Core 0
→
X = 20

اگر هیچ مکانیزم هماهنگی
وجود نداشته باشد،
Core 1 ممکن است
همچنان:

X = 10

را معتبر بداند.

این همان مشکلی است
که Coherence Protocol
باید مدیریت کند.

چرا Coherence روی Cache Line کار می کند؟

Cache
معمولاً داده را
به صورت Byte منفرد
مدیریت نمی کند.

واحد پایه انتقال
و مدیریت Cache:

Cache Line

است.

در بسیاری از CPUهای مدرن،
اندازه رایج Cache Line:

64 Bytes

است،
هرچند این مقدار
یک قانون جهانی برای تمام معماری ها نیست.

Coherence نیز معمولاً
وضعیت را در سطح
Cache Line دنبال می کند.

نکته مهندسی — Engineering Insight: CPU ممکن است برای تغییر یک متغیر 4 بایتی، وضعیت یک Cache Line کامل را تغییر دهد

فرض کنید یک Integer
فقط 4 Byte
حجم داشته باشد.

اگر این Integer
داخل یک Cache Line
64 بایتی قرار گرفته باشد،
مکانیزم Coherence
معمولاً وضعیت همان Line
را مدیریت می کند،
نه فقط چهار Byte مورد نظر را.

4-Byte Variable
→
64-Byte Cache Line
→
Coherence Unit

همین ویژگی
زمینه ایجاد پدیده مهم
False Sharing را فراهم می کند.

MESI چیست؟


پروتکل MESI

MESI
یکی از مدل های شناخته شده
برای توضیح وضعیت
Cache Lineها
در سیستم های Coherent است.

نام MESI
از چهار حالت تشکیل شده است:

M = Modified

E = Exclusive

S = Shared

I = Invalid

حالت معنی کلی آیا نسخه معتبر است؟ آیا ممکن است در Cache دیگری باشد؟
Modified Line تغییر کرده و این Cache نسخه جدیدتر را دارد بله نسخه معتبر مشترک خیر
Exclusive Line معتبر است و فقط در این Cache قرار دارد بله خیر
Shared Line معتبر است و ممکن است در Cacheهای دیگر هم باشد بله بله
Invalid نسخه موجود در این Cache قابل استفاده نیست خیر اهمیتی ندارد

حالت Modified چیست؟

اگر Cache Line
در وضعیت:

Modified

باشد،
داده توسط این Cache
تغییر کرده است
و نسخه موجود در Memory
ممکن است قدیمی تر باشد.

Cache
→
New Data

Memory
→
Older Data

این Line
باید در زمان مناسب
به سطح پایین تر حافظه
Write Back شود.

حالت Exclusive چیست؟

در وضعیت:

Exclusive

Cache Line معتبر است
و این Cache
تنها دارنده نسخه Cache شده
آن Line محسوب می شود.

همچنین داده هنوز
نسبت به نسخه Memory
تغییر نکرده است.

حالت Shared چیست؟

در وضعیت:

Shared

Cache Line معتبر است،
اما Cacheهای دیگری نیز
می توانند نسخه ای
از همان Line
داشته باشند.

Core 0 Cache
→
Shared Line

Core 1 Cache
→
Shared Line

حالت Invalid چیست؟

اگر Cache Line
در وضعیت:

Invalid

باشد،
داده موجود در آن Line
دیگر نباید
به عنوان نسخه معتبر
استفاده شود.

اگر Core
دوباره به آن داده نیاز داشته باشد،
باید نسخه معتبر
را از محل مناسب
دریافت کند.

وقتی دو Core یک Line مشترک دارند و یکی می خواهد آن را تغییر دهد چه اتفاقی می افتد؟

فرض کنید Core 0
و Core 1
هر دو نسخه ای
از یک Cache Line دارند.

Core 0
→
Shared

Core 1
→
Shared

حال Core 0
می خواهد داده
داخل Line را تغییر دهد.

Core 0
باید ابتدا حق نوشتن
روی Line را به دست آورد.

نسخه Core 1
باید نامعتبر شود.

Core 0
→
Modified

Core 1
→
Invalid

Cache Invalidation چیست؟


نامعتبر کردن نسخه های دیگر — Cache Invalidation

وقتی یک Core
می خواهد Line مشترکی
را تغییر دهد،
ممکن است لازم باشد
نسخه های همان Line
در Cacheهای دیگر
Invalid شوند.

Shared Copies
→
Invalidation
→
One Writable Owner

Cache Line Ownership چیست؟

برای اینکه یک Core
بتواند Line را تغییر دهد،
باید وضعیت مناسبی
برای نوشتن
روی آن Line داشته باشد.

به صورت مفهومی
می توان گفت
Core باید:

Ownership

آن Cache Line
را به دست آورد.

اگر Core دیگری
نسخه قابل استفاده
از Line داشته باشد،
Protocol باید
وضعیت آن نسخه
را هماهنگ کند.

Read For Ownership چیست؟

یکی از عملیات مهم
در سیستم های Coherent:

RFO
=
Read For Ownership

است.

وقتی Core
قصد نوشتن
روی یک Cache Line
را دارد،
ممکن است درخواست کند
Line را با حق Ownership
دریافت کند.

این عملیات
می تواند باعث
Invalid شدن نسخه های دیگر شود.

Cache-to-Cache Transfer چیست؟

همیشه لازم نیست
داده ابتدا
به DRAM نوشته شود
و سپس Core دیگر
آن را از DRAM بخواند.

در برخی معماری ها
داده می تواند
از Cache مرتبط
به Core دیگر
تامین شود.

Core 0 Cache
→
Interconnect
→
Core 1 Cache

این فرآیند
می تواند از مراجعه
غیرضروری به DRAM
جلوگیری کند.

اشتباه رایج — Common Mistake: هر Cache Miss یعنی CPU حتماً به RAM مراجعه می کند

خیر.

داده ممکن است
در سطح دیگری از Cache،
Last-Level Cache
یا حتی Cache مرتبط
با Core دیگری
قابل تامین باشد.

مسیر دقیق
به معماری CPU
و وضعیت Coherence
بستگی دارد.

Snooping چیست؟


نظارت بر تراکنش های Coherence — Snooping

در معماری های مبتنی بر Snooping،
Cacheها یا Agentهای مربوط
تراکنش های مرتبط
با حافظه و Coherence
را مشاهده می کنند.

اگر تراکنش
به Cache Line موجود
در آنها مربوط باشد،
وضعیت مناسب
اعمال می شود.

برای مثال
اگر Core 0
درخواست Ownership
یک Line را بدهد،
Core 1 ممکن است
متوجه شود
نسخه ای از همان Line
را در Cache دارد.

Protocol
سپس وضعیت Line
را بر اساس قواعد معماری
تغییر می دهد.

Core 0 Ownership Request
→
Coherence System
→
Core 1 Copy Invalidated

Directory-based Coherence چیست؟

در سیستم های بزرگ،
Broadcast کردن
هر درخواست Coherence
به تمام Agentها
می تواند پرهزینه باشد.

یک روش مقیاس پذیرتر
استفاده از:

Directory-based Coherence

است.

Directory
اطلاعاتی درباره محل
نسخه های Cache شده
یک Line نگه می دارد.

در نتیجه
درخواست Coherence
می تواند هدفمندتر
ارسال شود.

پشت صحنه فنی — Under the Hood: چرا Coherence در CPUهای بزرگ پیچیده می شود؟

در یک CPU کوچک
با تعداد Core محدود،
هماهنگ کردن Cacheها
ساده تر است.

اما با افزایش:

  • Core Count،
  • Cache Capacity،
  • Socket Count،
  • Chiplet Count،
  • و تعداد Agentهای حافظه

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

More Cores
→
More Potential Sharers
→
More Coherence Complexity

به همین دلیل
طراحی Coherence Fabric
یکی از بخش های مهم
معماری پردازنده های مدرن است.

Coherence Traffic چیست؟

پیام ها و انتقال هایی
که برای هماهنگ نگه داشتن
Cacheها ایجاد می شوند:

Coherence Traffic

نامیده می شوند.

این ترافیک
می تواند شامل:

  • درخواست Ownership،
  • Invalidation،
  • Cache Line Transfer،
  • Snoop Request،
  • Snoop Response،
  • و پیام های وضعیت

باشد.

تاثیر بر عملکرد — Performance Impact: داده مشترک زیاد می تواند Interconnect را تحت فشار قرار دهد

اگر تعداد زیادی Core
مرتباً یک مجموعه
Cache Line مشترک
را تغییر دهند،
پیام های Coherence
افزایش پیدا می کنند.

Frequent Shared Writes
→
More Invalidations
→
More Ownership Transfers
→
More Coherence Traffic

در این حالت
Performance ممکن است
حتی با اضافه شدن Coreهای بیشتر
به خوبی Scale نشود.

آیا اشتراک داده فقط برای Write مشکل ایجاد می کند؟

چند Core
می توانند داده ای
را فقط بخوانند
و نسخه های Shared
آن را در Cache
نگه دارند.

تا زمانی که
هیچ Core
قصد تغییر Line را نداشته باشد،
چنین اشتراکی
معمولاً هزینه Coherence
بسیار کمتری
نسبت به Write Sharing دارد.

Read Sharing
→
Usually Cheap

Frequent Write Sharing
→
Potentially Expensive

False Sharing چیست؟


اشتراک کاذب — False Sharing

False Sharing
زمانی رخ می دهد
که دو یا چند Thread
روی متغیرهای متفاوت
کار می کنند،
اما این متغیرها
داخل یک Cache Line مشترک
قرار گرفته اند.

از دید برنامه نویس،
داده ها مستقل هستند.

اما از دید Cache Coherence،
همان Cache Line
مرتباً تغییر می کند.

یک مثال ساده از False Sharing

فرض کنید دو Counter داریم:

Counter_A

Counter_B

Thread 0
فقط Counter_A
را تغییر می دهد.

Thread 1
فقط Counter_B
را تغییر می دهد.

از نظر منطقی
هیچ داده مشترکی وجود ندارد.

اما اگر هر دو Counter
داخل یک Cache Line باشند:

One Cache Line
=
Counter_A
+
Counter_B

هر Write
می تواند Ownership
کل Cache Line
را تغییر دهد.

Cache Line Ping-Pong چیست؟

در False Sharing شدید،
Ownership یک Cache Line
ممکن است مرتباً
میان Coreها جابه جا شود.

Core 0
→
Ownership
→
Core 1
→
Ownership
→
Core 0
→
Ownership

به این رفتار
به صورت غیررسمی:

Cache Line Ping-Pong

گفته می شود.

تاثیر بر عملکرد — Performance Impact: دو Thread مستقل می توانند به دلیل یک Cache Line مشترک یکدیگر را کند کنند

این یکی از نکات مهم
در Optimization
نرم افزارهای Multithreaded است.

ممکن است هیچ Lock
یا Shared Variable منطقی
میان Threadها وجود نداشته باشد،
اما Layout داده در Memory
باعث Coherence Traffic
شدید شود.

Independent Variables
+
Same Cache Line
→
False Sharing
→
Coherence Traffic
→
Lower Performance

Padding چگونه می تواند False Sharing را کاهش دهد؟

یکی از تکنیک ها
این است که داده هایی
که توسط Threadهای مختلف
مرتباً نوشته می شوند،
روی Cache Lineهای جداگانه
قرار گیرند.

برای این کار
ممکن است از:

Padding
/
Alignment

استفاده شود.

Cache Line 0
→
Counter_A

Cache Line 1
→
Counter_B

البته Padding
مصرف حافظه را افزایش می دهد
و نباید بدون Profiling
به صورت افراطی استفاده شود.

True Sharing با False Sharing چه تفاوتی دارد؟

ویژگی True Sharing False Sharing
داده منطقی مشترک بله خیر
Cache Line مشترک معمولاً بله بله
Threadها یک متغیر را استفاده می کنند؟ بله خیر
علت Coherence Traffic اشتراک واقعی داده قرار گرفتن داده های مستقل در یک Line
امکان کاهش با تغییر Layout همیشه نه اغلب بله

Atomic Operation چه ارتباطی با Cache Coherence دارد؟

عملیات Atomic
باید طوری اجرا شود
که سایر Threadها
وضعیت نیمه تمام
عملیات را مشاهده نکنند.

برای اجرای بسیاری
از Atomic Operationها،
CPU از مکانیزم های:

  • Cache Coherence،
  • Cache Line Ownership،
  • Memory Ordering،
  • و دستورهای Atomic

استفاده می کند.

بنابراین Atomic
الزاماً به معنی
قفل کردن کل Memory Bus
نیست.

اشتباه رایج — Common Mistake: هر Atomic Operation کل Bus حافظه را قفل می کند

در CPUهای مدرن
بسیاری از عملیات Atomic
می توانند با استفاده
از مکانیزم Cache Coherence
و Ownership Cache Line
مدیریت شوند.

رفتار دقیق
به معماری،
نوع دستور
و محل داده
بستگی دارد.

Cache Coherence و Memory Consistency یک چیز هستند؟

خیر.

این دو مفهوم
به یکدیگر مرتبط هستند،
اما مسئله یکسانی
را حل نمی کنند.

Coherence
بیشتر درباره هماهنگی
نسخه های یک Memory Location
میان Cacheهاست.

Memory Consistency
درباره قواعد مشاهده
ترتیب عملیات حافظه
در سطح گسترده تر است.

Cache Coherence
→
Which Value?

Memory Consistency
→
In What Observable Order?

نکته مهندسی — Engineering Insight: Coherent بودن Cacheها به تنهایی برنامه Multithreaded را صحیح نمی کند

سخت افزار می تواند
Cacheها را Coherent نگه دارد،
اما برنامه نویس
همچنان باید
Synchronization صحیح
را رعایت کند.

مواردی مانند:

  • Atomic Operations،
  • Locks،
  • Memory Barriers،
  • و قواعد Memory Model زبان برنامه نویسی

همچنان اهمیت دارند.

Cache Coherence چه ارتباطی با NUMA دارد؟

در سیستم چندسوکته،
Cache Line
ممکن است میان Coreهایی
در NUMA Nodeهای مختلف
به اشتراک گذاشته شود.

در این حالت
پیام های Coherence
ممکن است از
Inter-Socket Interconnect
عبور کنند.

Socket 0 Core
↔
Inter-Socket Link
↔
Socket 1 Core

بنابراین False Sharing
یا Shared Writeهای شدید
می توانند در سیستم NUMA
هزینه بیشتری داشته باشند.

تاثیر بر عملکرد — Performance Impact: False Sharing میان Socketها می تواند بسیار گران تر باشد

اگر دو Thread
روی یک CPU Package
نزدیک یکدیگر باشند،
انتقال Ownership
از Interconnect داخلی
انجام می شود.

اما اگر Threadها
روی Socketهای متفاوت باشند،
Coherence Traffic
ممکن است از لینک
میان Socketها عبور کند.

Cross-Socket False Sharing
→
More Expensive Coherence Path

Cache Coherence در CPUهای Chiplet-based چگونه اهمیت پیدا می کند؟

در پردازنده Chiplet-based،
Coreها ممکن است
روی Dieهای مختلف
قرار داشته باشند.

Fabric داخلی CPU
باید انتقال داده
و پیام های Coherence
را میان این بخش ها
مدیریت کند.

Compute Die A
↔
Coherent Fabric
↔
Compute Die B

معماری دقیق
در پردازنده های مختلف
متفاوت است.

Shared Last-Level Cache چه کمکی می کند؟

بسیاری از CPUها
سطحی از Cache
را میان چند Core
به اشتراک می گذارند.

این Cache
می تواند در:

  • اشتراک داده،
  • کاهش مراجعه به DRAM،
  • مدیریت انتقال Cache Line،
  • و پیاده سازی ساختار Coherence

نقش داشته باشد.

نحوه دقیق این نقش
به معماری CPU
وابسته است.

Inclusive و Non-Inclusive Cache چه ارتباطی با Coherence دارند؟

رابطه میان سطح های Cache
می تواند در معماری های مختلف
متفاوت باشد.

در برخی طراحی ها،
Last-Level Cache
اطلاعاتی درباره Lineهای
موجود در Cacheهای خصوصی
نگه می دارد.

در برخی طراحی های دیگر،
ساختارهای Directory
یا Metadata جداگانه
برای Tracking
استفاده می شوند.

بنابراین صرف دانستن
اندازه L3 Cache
برای فهم رفتار Coherence
کافی نیست.

چرا افزایش تعداد Core طراحی Coherence را سخت می کند؟

با افزایش تعداد Core،
تعداد Cacheهای خصوصی
و تعداد مصرف کنندگان
داده مشترک افزایش می یابد.

اگر هر Core
مجبور باشد
تمام تراکنش های تمام Coreهای دیگر
را بررسی کند،
Scaling دشوار می شود.

4 Cores
→
Limited Coherence Domain

64+ Cores
→
Much Larger Coherence Problem

به همین دلیل
CPUهای بزرگ
از Fabric،
Directory،
Hierarchy
و روش های پیچیده تر
برای مدیریت Coherence
استفاده می کنند.

Cache Coherence در Server چرا مهم تر می شود؟

Serverها ممکن است
ده ها یا صدها Thread
فعال داشته باشند.

Workloadهایی مانند:

  • Database،
  • Virtualization،
  • Web Server،
  • In-Memory Processing،
  • Scientific Computing،
  • و Data Analytics

می توانند داده مشترک زیادی
میان Threadها داشته باشند.

در چنین شرایطی
Data Structure Design
و Thread Placement
اهمیت زیادی پیدا می کنند.

Database چگونه می تواند Coherence Traffic ایجاد کند؟

Database Engine
ممکن است ساختارهای مشترکی مانند:

  • Lock Table،
  • Queue،
  • Shared Counter،
  • Buffer Metadata،
  • Transaction State،
  • و Index Metadata

داشته باشد.

اگر تعداد زیادی Thread
مرتباً این ساختارها
را تغییر دهند،
Cache Lineهای مربوط
می توانند بسیار Hot شوند.

Hot Cache Line چیست؟

اصطلاح:

Hot Cache Line

معمولاً برای Lineای
استفاده می شود
که تعداد زیادی Core
مرتباً به آن دسترسی دارند
یا آن را تغییر می دهند.

یک Counter مشترک جهانی
می تواند نمونه ساده ای
از چنین Lineای باشد.

نکته مهندسی — Engineering Insight: یک Counter کوچک می تواند Scalability یک سیستم بزرگ را محدود کند

فرض کنید 64 Thread
بعد از هر عملیات
یک Counter مشترک
را افزایش دهند.

حجم Counter
ممکن است فقط:

8 Bytes

باشد.

اما Cache Line
حاوی آن Counter
باید مرتباً
میان Coreها هماهنگ شود.

Tiny Shared Counter
→
Hot Cache Line
→
Ownership Contention
→
Poor Scaling

اندازه کوچک داده
به معنی هزینه کوچک
برای سیستم Coherence نیست.

چرا Per-Thread Data می تواند سریع تر باشد؟

یکی از روش های کاهش
Shared Write
این است که هر Thread
نسخه محلی خودش
از برخی داده ها
را داشته باشد.

Thread 0
→
Local Counter 0

Thread 1
→
Local Counter 1

Thread 2
→
Local Counter 2

سپس در زمان مناسب
نتایج با یکدیگر
ترکیب شوند.

این روش
می تواند تعداد Writeهای
روی Cache Line مشترک
را کاهش دهد.

چرا Read-Mostly Data برای سیستم چند هسته ای مناسب تر است؟

اگر تعداد زیادی Core
داده ای را بخوانند
اما به ندرت تغییر دهند،
Cacheها می توانند
نسخه های Shared
را نگه دارند.

مشکل اصلی
زمانی افزایش می یابد
که همان داده
مرتباً نوشته شود.

Many Readers
+
Few Writers
→
Usually Easier to Scale

Many Writers
→
More Coherence Pressure

چرا Multithreading همیشه با افزایش Core سریع تر نمی شود؟

اگر Threadها
مستقل باشند،
افزایش Core
می تواند Parallelism
را بالا ببرد.

اما اگر Threadها
مرتباً داده مشترک
را تغییر دهند،
بخشی از زمان
صرف Synchronization
و Coherence می شود.

More Threads
+
Shared Writable Data
→
More Coordination Cost

به همین دلیل
Speedup برنامه های Parallel
همیشه خطی نیست.

SMT و Hyper-Threading چه ارتباطی با Cache Coherence دارند؟

Threadهای منطقی
روی یک Physical Core
معمولاً بسیاری از منابع
همان Core را
به اشتراک می گذارند.

بنابراین ارتباط آنها
با Cache
با دو Thread
روی دو Core مستقل
یکسان نیست.

Coherence
بیشتر زمانی مطرح می شود
که نسخه های یک Cache Line
در ساختارهای Cache مستقل
قرار گرفته باشند.

جزئیات دقیق
به Microarchitecture
وابسته است.

آیا GPU هم مسئله Coherence دارد؟

GPUها نیز
Hierarchy حافظه و Cache
دارند،
اما مدل Coherence
آنها الزاماً
مانند CPU نیست.

همچنین در سیستم هایی
که CPU و GPU
حافظه یا Address Space
را به شکل نزدیک تری
به اشتراک می گذارند،
مسئله Coherence
پیچیده تر می شود.

معماری دقیق
به پلتفرم
و نوع Accelerator
بستگی دارد.

DMA چه ارتباطی با Cache Coherence دارد؟

همان طور که در فصل PCIe دیدیم،
Device می تواند
از DMA
برای خواندن یا نوشتن Memory
استفاده کند.

اگر CPU
نسخه Cache شده
از همان داده داشته باشد،
سیستم باید مطمئن شود
CPU و Device
داده سازگاری مشاهده می کنند.

نحوه انجام این کار
به معماری سیستم
و نوع I/O Coherency
بستگی دارد.

I/O Coherence چیست؟

در برخی پلتفرم ها،
Deviceها
می توانند در یک Domain
هماهنگ تر با Cacheهای CPU
فعالیت کنند.

این مفهوم:

I/O Coherence

می تواند نیاز
به برخی عملیات نرم افزاری
برای هماهنگ کردن
CPU Cache و Device Memory Access
را کاهش دهد.

اما مدل دقیق Coherency
میان پلتفرم ها
متفاوت است.

آیا برنامه نویس باید MESI را مستقیماً مدیریت کند؟

معمولاً خیر.

MESI و Protocolهای مشابه
در سطح سخت افزار
مدیریت می شوند.

برنامه نویس
بیشتر باید به:

  • Data Layout،
  • Synchronization،
  • Atomic Operations،
  • Memory Model،
  • False Sharing،
  • Thread Placement،
  • و Data Locality

توجه کند.

آیا تمام CPUها دقیقاً از MESI ساده استفاده می کنند؟

خیر.

MESI
مدل پایه بسیار خوبی
برای یادگیری مفهوم
Cache Coherence است،
اما معماری های واقعی
می توانند حالت ها
و Optimizationهای بیشتری
داشته باشند.

نمونه هایی از توسعه های شناخته شده:

MESIF

MOESI

هستند.

جزئیات پیاده سازی
میان خانواده های مختلف CPU
متفاوت است.

حالت Owned در MOESI چه مفهومی دارد؟

برخی Protocolها
حالت:

Owned

را اضافه می کنند.

این حالت
به صورت کلی
اجازه می دهد
یک Cache
مسئول نسخه تغییر یافته داده باشد،
در حالی که Cacheهای دیگر
می توانند نسخه Shared
آن را داشته باشند.

جزئیات دقیق
به Protocol
و Microarchitecture
بستگی دارد.

حالت Forward در MESIF چه کاربردی دارد؟

در MESIF
حالت:

Forward

می تواند یکی از Cacheها
را به عنوان پاسخ دهنده ترجیحی
برای Line مشترک
مشخص کند.

این کار
می تواند پاسخ دهی
به برخی درخواست ها
را سازمان یافته تر کند.

اشتباه رایج — Common Mistake: وجود Cache Coherence یعنی دسترسی مشترک به داده رایگان است

خیر.

Coherence
صحت و سازگاری داده
را ممکن می کند،
اما هماهنگی Cacheها
هزینه دارد.

Correct Shared Data
≠
Free Shared Data

Shared Writeهای زیاد
می توانند
Performance را به شدت
محدود کنند.

چگونه مشکلات Coherence را پیدا کنیم؟

از روی Task Manager
یا درصد CPU
به تنهایی
نمی توان False Sharing
را با اطمینان تشخیص داد.

معمولاً به:

  • Hardware Performance Counters،
  • CPU Profilers،
  • Memory Access Analysis،
  • Cache Miss Metrics،
  • Coherence Events،
  • و Thread Scaling Tests

نیاز است.

نشانه های احتمالی مشکل Coherence چیست؟

برخی نشانه ها
می توانند شامل:

  • Scaling ضعیف با افزایش Thread،
  • Performance بهتر با Thread کمتر،
  • حساسیت شدید به Thread Affinity،
  • ترافیک بالای Cache-to-Cache،
  • Remote HITهای زیاد در سیستم NUMA،
  • Hot Cache Line،
  • و افزایش Latency در Shared Data Structures

باشند.

این علائم
به تنهایی اثبات کننده نیستند
و باید با Profiling
بررسی شوند.

چگونه می توان Coherence Overhead را کاهش داد؟

راهکار دقیق
به نرم افزار بستگی دارد،
اما اصول رایج شامل:

  • کاهش Shared Writable Data،
  • استفاده از Per-Thread Data در صورت مناسب بودن،
  • کاهش False Sharing،
  • استفاده صحیح از Alignment،
  • تقسیم Dataset میان Workerها،
  • کاهش Global Counterهای پرتکرار،
  • Batch کردن Updateها،
  • کاهش Synchronization غیرضروری،
  • بهبود Thread Affinity،
  • و توجه به NUMA Locality

هستند.

چرا Batch کردن Updateها می تواند مفید باشد؟

فرض کنید هر Thread
بعد از هر عملیات
یک Counter جهانی
را Update کند.

این کار
می تواند Ownership Transfer
زیادی ایجاد کند.

روش دیگر
این است که Thread
ابتدا چند Update
را محلی جمع کند
و سپس نتیجه
را یکجا اضافه کند.

Many Shared Updates
→
One Batched Shared Update

در برخی Workloadها
این روش
Coherence Traffic
را به میزان زیادی کاهش می دهد.

آیا هنگام خرید CPU باید نوع Coherence Protocol را مقایسه کنیم؟

برای خریدار عادی،
معمولاً خیر.

مقایسه مستقیم:

MESI
vs
MOESI
vs
MESIF

معیار مناسبی
برای انتخاب CPU نیست.

Performance واقعی
نتیجه مجموعه بزرگی
از عوامل است:

  • Microarchitecture،
  • Core Count،
  • Cache Hierarchy،
  • Interconnect،
  • Memory Subsystem،
  • Clock،
  • Scheduler Behavior،
  • و Workload.

Cache Coherence برای Workstation چه زمانی مهم می شود؟

در Workstationهای
دارای تعداد Core زیاد،
Workloadهای Multithreaded
می توانند تحت تاثیر
الگوی اشتراک داده قرار گیرند.

نمونه ها:

  • رندر CPU،
  • Simulation،
  • Compilation،
  • Scientific Computing،
  • پردازش داده،
  • و برخی Engineهای تولید محتوا.

البته میزان حساسیت
هر نرم افزار
متفاوت است.

آیا کاربر عادی باید Cache Coherence را تنظیم کند؟

خیر.

Cache Coherence
توسط سخت افزار
و سیستم عامل
مدیریت می شود.

کاربر عادی
نیازی به تنظیم MESI
یا Cache Line Stateها ندارد.

اهمیت شناخت این موضوع
بیشتر برای:

  • درک معماری CPU،
  • تحلیل Performance،
  • برنامه نویسی Multithreaded،
  • Server Optimization،
  • Database Engineering،
  • و طراحی سیستم های مقیاس پذیر

است.

اشتباهات رایج — Common Mistakes: Cache Coherence
  • فرض اینکه هر Core مستقیماً و همیشه از RAM داده می خواند.
  • نادیده گرفتن وجود چند نسخه Cache شده از یک داده.
  • فرض اینکه Coherence در سطح Byte انجام می شود.
  • یکی دانستن Cache Coherence با Memory Consistency.
  • فرض اینکه Shared Read و Shared Write هزینه یکسان دارند.
  • نادیده گرفتن Cache Line Ownership.
  • نادیده گرفتن Invalidation Traffic.
  • فرض اینکه هر Cache Miss الزاماً به DRAM می رسد.
  • نادیده گرفتن Cache-to-Cache Transfer.
  • نادیده گرفتن False Sharing.
  • فرض اینکه متغیرهای مستقل نمی توانند روی Performance یکدیگر اثر بگذارند.
  • استفاده افراطی از Shared Global Counter.
  • استفاده از Padding بدون Profiling.
  • فرض اینکه Atomic Operation همیشه رایگان است.
  • فرض اینکه هر Atomic Operation کل Memory Bus را Lock می کند.
  • نادیده گرفتن NUMA هنگام تحلیل Coherence.
  • فرض اینکه تعداد Core بیشتر همیشه Scaling بهتر ایجاد می کند.
  • مقایسه CPUها فقط بر اساس نام Coherence Protocol.

سوالات متداول درباره Cache Coherence و MESI

Cache Coherence چیست؟

مجموعه مکانیزم هایی است
که نسخه های Cache شده
یک داده را میان Coreها
هماهنگ نگه می دارد.

MESI مخفف چیست؟

از چهار حالت
Modified،
Exclusive،
Shared
و Invalid
تشکیل شده است.

Modified یعنی چه؟

یعنی Cache Line
تغییر کرده
و نسخه Cache
ممکن است از نسخه Memory
جدیدتر باشد.

Shared یعنی چه؟

یعنی Cache Line معتبر است
و Cacheهای دیگری نیز
می توانند نسخه ای
از همان Line داشته باشند.

Invalid یعنی چه؟

یعنی نسخه موجود
در آن Cache
دیگر قابل استفاده نیست
و باید نسخه معتبر
دوباره دریافت شود.

False Sharing چیست؟

زمانی رخ می دهد
که Threadها
متغیرهای مستقل را تغییر می دهند،
اما متغیرها
داخل یک Cache Line مشترک
قرار گرفته اند.

آیا False Sharing می تواند CPU را خیلی کند کند؟

بله.
در Workloadهای Multithreaded
پرتکرار،
Cache Line Ping-Pong
می تواند Scaling
را به شدت کاهش دهد.

آیا هر Cache Miss به RAM می رود؟

خیر.
داده ممکن است
در سطح دیگری از Cache
یا Cache مربوط به Core دیگری
قابل تامین باشد.

آیا MESI همان Memory Consistency است؟

خیر.
Coherence بیشتر
درباره سازگاری نسخه های
یک داده است،
در حالی که Consistency
درباره ترتیب قابل مشاهده
عملیات حافظه است.

آیا برنامه نویس باید MESI را مدیریت کند؟

معمولاً خیر.
Protocol توسط سخت افزار
مدیریت می شود،
اما برنامه نویس باید
Data Layout،
Synchronization،
False Sharing
و Memory Model
را در نظر بگیرد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Cache Coherence: هماهنگ نگه داشتن نسخه های Cache شده یک داده.
  • Coherence Protocol: قواعد سخت افزاری مدیریت وضعیت داده میان Cacheها.
  • MESI: مدل Coherence با چهار حالت Modified، Exclusive، Shared و Invalid.
  • Modified: Line تغییر یافته ای که Cache نسخه جدیدتر آن را دارد.
  • Exclusive: Line معتبر که فقط در یک Cache وجود دارد.
  • Shared: Line معتبری که می تواند در چند Cache وجود داشته باشد.
  • Invalid: Lineای که نسخه آن در Cache معتبر نیست.
  • Cache Line Ownership: اختیار لازم برای تغییر یک Cache Line.
  • Cache Invalidation: نامعتبر کردن نسخه Cache شده در Cacheهای دیگر.
  • RFO: Read For Ownership؛ درخواست دریافت Line برای نوشتن.
  • Cache-to-Cache Transfer: انتقال داده میان Cacheهای پردازنده بدون الزام مراجعه مستقیم به DRAM.
  • Snooping: مشاهده تراکنش های مرتبط برای حفظ Coherence.
  • Directory-based Coherence: مدیریت هدفمند Sharerهای Cache Line با Directory.
  • Coherence Traffic: ترافیک ایجاد شده برای هماهنگ نگه داشتن Cacheها.
  • False Sharing: اشتراک Cache Line توسط داده های منطقی مستقل.
  • True Sharing: اشتراک واقعی یک داده میان Threadها.
  • Cache Line Ping-Pong: جابه جایی پرتکرار Ownership یک Line میان Coreها.
  • Padding: افزودن فاصله برای تغییر Layout داده.
  • Alignment: قرار دادن داده روی مرزهای حافظه مشخص.
  • Hot Cache Line: Cache Line با دسترسی یا تغییر بسیار زیاد توسط چند Core.
  • Memory Consistency: قواعد ترتیب قابل مشاهده عملیات حافظه.
  • I/O Coherence: هماهنگی دسترسی Deviceها با Cache و Memory سیستم.
  • MOESI: توسعه MESI با حالت Owned.
  • MESIF: توسعه MESI با حالت Forward.

خلاصه فصل

در CPU چند هسته ای،
چند Core می توانند
نسخه ای از یک Cache Line
را در Cacheهای خود داشته باشند.

Cache Coherence
تضمین می کند
این نسخه ها
طبق قواعد معماری
با یکدیگر هماهنگ بمانند.

Multiple Caches
+
Shared Data
→
Coherence Protocol

MESI
یکی از مدل های پایه
برای درک این فرآیند است:

Modified
/
Exclusive
/
Shared
/
Invalid

اما حفظ Coherence
رایگان نیست.

Shared Writeهای زیاد،
Ownership Transfer،
Invalidation
و False Sharing
می توانند ترافیک قابل توجهی
روی Interconnect ایجاد کنند.

Shared Writable Data
→
Ownership Changes
→
Coherence Traffic
→
Potential Performance Loss

این موضوع
با افزایش تعداد Core،
Socket
و Chiplet
اهمیت بیشتری پیدا می کند.


بنابراین در پردازنده چند هسته ای،
مسئله فقط این نیست که هر Core
Cache سریع داشته باشد؛
سیستم باید دائماً بداند
کدام Core چه نسخه ای از داده را دارد،
کدام نسخه معتبر است،
چه کسی اجازه نوشتن دارد
و هنگام تغییر داده
با نسخه های دیگر چه باید کرد.


فصل 82
سطح: پیشرفته
موضوع: ترتیب عملیات حافظه در پردازنده های چند هسته ای
تمرکز: Memory Ordering / Memory Barrier / Atomic / Memory Model


CPU مجبور نیست تمام Load و Storeها را دقیقاً به همان ترتیبی اجرا کند که در کد نوشته شده اند

Memory Ordering و Memory Barrier؛ Coreهای پردازنده چگونه ترتیب دسترسی به حافظه را مدیریت می کنند؟

در فصل قبل دیدیم
Cache Coherence
کمک می کند نسخه های مختلف
یک داده در Cacheهای پردازنده
با یکدیگر سازگار باقی بمانند.

اما این فقط
بخشی از مسئله است.

سؤال مهم بعدی این است:

اگر یک Core
چند عملیات خواندن و نوشتن
روی حافظه انجام دهد،
آیا Core دیگر
الزاماً همان عملیات را
دقیقاً با همان ترتیب مشاهده می کند؟

پاسخ همیشه
«بله» نیست.

Program Order
≠
Always Observable Memory Order

در این فصل چه چیزهایی یاد می گیریم؟

  • Memory Ordering چیست.
  • چرا CPU عملیات حافظه را Reorder می کند.
  • Program Order چیست.
  • Execution Order چیست.
  • Visibility Order چیست.
  • Load و Store چه تفاوتی دارند.
  • Store Buffer چه نقشی دارد.
  • Load Queue و Store Queue چیستند.
  • Memory Disambiguation چیست.
  • Speculative Load چیست.
  • Memory Barrier چیست.
  • Fence چیست.
  • Acquire و Release چه مفهومی دارند.
  • Atomic Operation چیست.
  • Read-Modify-Write چیست.
  • Compare-and-Swap چیست.
  • Memory Model چیست.
  • Sequential Consistency چیست.
  • Strong و Weak Memory Model چه تفاوتی دارند.
  • Cache Coherence و Memory Ordering چه تفاوتی دارند.

Memory Ordering چیست؟


ترتیب حافظه — Memory Ordering

Memory Ordering
مجموعه قواعدی است
که مشخص می کند
عملیات خواندن و نوشتن حافظه
با چه ترتیبی
می توانند اجرا شوند
و با چه ترتیبی
برای سایر Coreها
قابل مشاهده باشند.

این موضوع
به ویژه در برنامه های
Multithreaded
اهمیت دارد.

یک مثال ساده

فرض کنید یک Thread
دو عملیات زیر را انجام دهد:

Data = 100

Ready = 1

برنامه نویس ممکن است
انتظار داشته باشد
وقتی Thread دیگر
مقدار Ready را برابر 1 دید،
حتماً Data نیز
مقدار 100 داشته باشد.

اما بدون قواعد مناسب
Synchronization،
این نتیجه را نمی توان
در تمام Memory Modelها
صرفاً از روی ترتیب متن برنامه
فرض کرد.

سه نوع ترتیب را از هم جدا کنیم

نوع ترتیب معنی
Program Order ترتیبی که دستورها در برنامه دیده می شوند
Execution Order ترتیبی که Microarchitecture عملیات را واقعاً پردازش می کند
Visibility Order ترتیبی که اثر عملیات برای سایر Coreها قابل مشاهده می شود

چرا CPU اصلاً عملیات را Reorder می کند؟

اگر پردازنده مجبور بود
هر دستور را
کاملاً به ترتیب
و فقط پس از پایان دستور قبلی
اجرا کند،
بخش زیادی از توان
سخت افزار مدرن
بلااستفاده می ماند.

CPU تلاش می کند
زمان های انتظار را
با انجام کارهای مستقل
پنهان کند.

Memory Stall
→
Independent Work
→
Better Utilization

این همان فلسفه ای است
که پشت بسیاری از تکنیک های
Out-of-Order Execution
قرار دارد.

Load و Store چیستند؟

به صورت ساده:

Load
=
Read Data From Memory Hierarchy

Store
=
Write Data To Memory Hierarchy

اما در یک CPU مدرن،
Load و Store
فقط عملیات ساده
«خواندن از RAM»
و «نوشتن در RAM»
نیستند.

آنها از ساختارهای داخلی
متعددی عبور می کنند
و معمولاً با Cache
سروکار دارند.

مسیر کلی Load و Store در CPU

به صورت مفهومی
می توان مسیر را چنین دید:

Instruction
→
Address Generation
→
Load / Store Unit
→
Cache Hierarchy
→
Memory System

البته جزئیات
در هر Microarchitecture
متفاوت است.

Load/Store Unit چیست؟


واحد بارگذاری و ذخیره — Load/Store Unit

Load/Store Unit
بخشی از CPU است
که عملیات مرتبط
با دسترسی به حافظه
را مدیریت می کند.

این بخش
می تواند با ساختارهایی مانند:

  • Load Queue،
  • Store Queue،
  • Store Buffer،
  • Address Generation Unit،
  • TLB،
  • و Cache

تعامل داشته باشد.

Store Buffer چیست؟

عملیات Store
ممکن است نتواند
همان لحظه
تمام مسیر نوشتن
در Cache و سیستم حافظه
را کامل کند.

CPU می تواند
Store را موقتاً
در ساختاری مانند:

Store Buffer

نگه دارد
و اجرای دستورهای بعدی
را ادامه دهد.

پشت صحنه فنی — Under the Hood: چرا Store Buffer برای Performance مهم است؟

فرض کنید Core
برای یک Store
باید منتظر دریافت
Ownership یک Cache Line
بماند.

اگر Pipeline
تا پایان این فرآیند
کاملاً متوقف شود،
Performance کاهش می یابد.

Store Buffer
اجازه می دهد
Store در صف قرار گیرد
و CPU در شرایط مناسب
کارهای مستقل بعدی
را ادامه دهد.

Store
→
Store Buffer
→
Continue Execution
→
Store Becomes Visible Later

همین جدایی میان
اجرای دستور
و قابل مشاهده شدن Store
یکی از دلایلی است
که Memory Ordering
اهمیت پیدا می کند.

Load Queue چیست؟

CPU باید Loadهای
در حال اجرا
و ارتباط آنها
با Storeهای قبلی
را دنبال کند.

ساختاری مانند:

Load Queue

برای Tracking
عملیات Load
استفاده می شود.

جزئیات دقیق
به معماری پردازنده
وابسته است.

Store Queue چیست؟

Store Queue
اطلاعات مربوط
به Storeهای در حال پردازش
را نگه می دارد.

CPU باید بداند:

  • Store به چه آدرسی مربوط است،
  • چه داده ای باید نوشته شود،
  • آیا Store آماده Commit شدن است،
  • و آیا Load بعدی به همان آدرس وابسته است.

Memory Dependency چیست؟

اگر دو عملیات حافظه
به یک Location
دسترسی داشته باشند،
ترتیب آنها
ممکن است برای نتیجه برنامه
مهم باشد.

برای مثال:

Store X = 10

Load X

Load نباید
به اشتباه
مقدار قدیمی X
را به عنوان نتیجه نهایی
دریافت کند.

Memory Disambiguation چیست؟


تشخیص وابستگی حافظه — Memory Disambiguation

CPU باید تشخیص دهد
آیا یک Load
به Storeهای قبلی
وابسته است یا خیر.

اگر پردازنده بتواند
تشخیص دهد که آدرس ها
مستقل هستند،
ممکن است Load
زودتر اجرا شود.

Speculative Load چیست؟

در برخی شرایط
CPU ممکن است
یک Load را
قبل از مشخص شدن کامل
وضعیت Storeهای قدیمی تر
به صورت Speculative
اجرا کند.

Predict No Dependency
→
Execute Load Early

اگر بعداً مشخص شود
Dependency وجود داشته،
CPU باید نتیجه اشتباه
را اصلاح کند.

Memory Order Violation چیست؟

اگر CPU
یک Load را
بر اساس حدس استقلال
زودتر اجرا کند
و بعداً مشخص شود
Store قبلی
به همان Address مربوط بوده،
Speculation اشتباه بوده است.

پردازنده باید
عملیات وابسته را
دوباره اجرا کند.

Wrong Memory Dependency Prediction
→
Violation Detected
→
Replay / Recovery

Store-to-Load Forwarding چیست؟

فرض کنید CPU
مقداری را Store کرده،
اما آن Store هنوز
تمام مسیر خود
را کامل نکرده است.

سپس همان Core
مقدار همان Address
را Load می کند.

CPU ممکن است
داده را مستقیماً
از Store Buffer
یا ساختار مرتبط
به Load تحویل دهد.

Store Buffer
→
Forward Data
→
Younger Load

این تکنیک:

Store-to-Load Forwarding

نامیده می شود.

تاثیر بر عملکرد — Performance Impact: وابستگی های حافظه می توانند Parallelism داخلی CPU را محدود کنند

CPU برای Performance بالا
تلاش می کند
چندین عملیات مستقل
را همزمان
در حال اجرا نگه دارد.

اما اگر Load و Storeها
وابستگی زیادی
به یکدیگر داشته باشند،
آزادی CPU برای Reordering
کاهش پیدا می کند.

More Dependencies
→
Less Scheduling Freedom
→
Lower Memory-Level Parallelism

چه نوع Reorderingهایی مطرح هستند؟

هنگام مطالعه Memory Model
معمولاً ترکیب هایی مانند
موارد زیر بررسی می شوند:

Load → Load

Load → Store

Store → Load

Store → Store

معماری های مختلف
درباره اینکه کدام ترتیب ها
باید حفظ شوند
و کدام ها می توانند
از دید نرم افزار Relax شوند،
قوانین متفاوتی دارند.

Strong و Weak Memory Ordering یعنی چه؟

به صورت آموزشی،
معماری هایی که
محدودیت بیشتری
روی Reordering قابل مشاهده
اعمال می کنند
معمولاً Stronger
در نظر گرفته می شوند.

معماری هایی که
آزادی بیشتری
برای Reordering دارند
به Synchronization صریح تری
از طرف نرم افزار
نیاز دارند.

Stronger Ordering
→
Fewer Observable Reorderings

Weaker Ordering
→
More Allowed Reorderings

x86 و ARM از نظر Memory Ordering چه تفاوتی دارند؟

خانواده x86
معمولاً Memory Model
نسبتاً قوی تری
نسبت به بسیاری از معماری های
Weakly Ordered
ارائه می دهد.

معماری هایی مانند ARM
در بسیاری از موارد
آزادی بیشتری
برای Ordering
فراهم می کنند.

اما این مقایسه
نباید به این برداشت
تبدیل شود که:

x86
=
No Reordering

چنین چیزی صحیح نیست.

هر معماری
Memory Model رسمی
و دستورهای Synchronization
مخصوص خود را دارد.

اشتباه رایج — Common Mistake: پردازنده x86 هیچ Reordering حافظه ای ندارد

این برداشت نادرست است.

x86
نسبت به برخی معماری ها
Ordering قوی تری دارد،
اما همچنان
رفتار حافظه آن
توسط Memory Model
مشخص می شود
و نرم افزار Multithreaded
باید از Synchronization صحیح
استفاده کند.

Memory Barrier چیست؟


مانع حافظه — Memory Barrier

Memory Barrier
یا Memory Fence
مکانیزمی است
که محدودیت هایی
بر Ordering عملیات حافظه
اعمال می کند.

هدف این نیست
که CPU را به طور کلی
از Out-of-Order Execution
منع کند.

هدف این است
که در نقاط مشخص،
قواعد لازم
برای ترتیب و Visibility
رعایت شوند.

Fence چیست؟

Fence
اصطلاح رایجی
برای دستور یا مکانیزمی است
که مرزی
میان گروه هایی
از عملیات حافظه
ایجاد می کند.

Memory Operations Before Fence
→
Fence
→
Memory Operations After Fence

نوع دقیق تضمین
به نوع Fence
و معماری CPU
بستگی دارد.

آیا همه Fenceها یکسان هستند؟

خیر.

برخی معماری ها
انواع مختلفی
از Barrier
برای Load و Store
ارائه می دهند.

به صورت مفهومی
ممکن است با مواردی مانند:

Load Fence

Store Fence

Full Memory Fence

روبه رو شویم.

Acquire چیست؟

Acquire
نوعی Ordering Semantic
است که معمولاً
هنگام دریافت
یک وضعیت Synchronization
استفاده می شود.

مفهوم کلی آن این است
که عملیات حافظه بعدی
نباید به شکلی
از مرز Acquire عبور کنند
که تضمین Synchronization
شکسته شود.

Acquire
→
Subsequent Operations

Release چیست؟

Release
معمولاً هنگام انتشار
یک وضعیت
برای Thread دیگر
استفاده می شود.

عملیات حافظه قبلی
باید طبق قواعد
Memory Model
پیش از Release
به شکل لازم
Ordered شوند.

Previous Operations
→
Release

Acquire و Release چگونه با هم کار می کنند؟

یک Thread
می تواند داده ای را آماده کند
و سپس با Release
وضعیت آماده بودن
را منتشر کند.

Thread دیگر
با Acquire
آن وضعیت
را دریافت می کند.

Thread A
→
Write Data
→
Release

Thread B
→
Acquire
→
Read Data

این الگو
یکی از مفاهیم پایه
در Synchronization مدرن است.

نکته مهندسی — Engineering Insight: Barrier برای کند کردن CPU ساخته نشده است؛ برای تعریف مرز صحیح Ordering ساخته شده است

CPU برای Performance
به Reordering،
Buffering
و Speculation
نیاز دارد.

اگر همه عملیات
بدون نیاز واقعی
با Full Barrier
محدود شوند،
بخشی از این آزادی
از بین می رود.

بنابراین هدف
استفاده از Barrier بیشتر نیست؛
هدف استفاده
از Synchronization صحیح
در نقطه صحیح است.

Atomic Operation چیست؟


عملیات اتمی — Atomic Operation

Atomic Operation
عملیاتی است
که از دید Threadهای دیگر
به صورت یک عملیات
غیرقابل تقسیم
مشاهده می شود.

Thread دیگر
نباید وضعیت میانی
آن عملیات
را مشاهده کند.

چرا افزایش ساده یک Counter الزاماً Atomic نیست؟

دستور سطح بالا:

Counter++

ممکن است از نظر مفهومی
شامل چند مرحله باشد:

Load Counter
→
Add 1
→
Store Counter

اگر دو Thread
این مراحل را
بدون Synchronization مناسب
همزمان انجام دهند،
ممکن است Update
یکی از آنها از بین برود.

Lost Update چیست؟

فرض کنید:

Counter = 10

Thread A
مقدار 10 را می خواند.

Thread B نیز
مقدار 10 را می خواند.

هر دو
یک واحد اضافه می کنند
و مقدار 11
را می نویسند.

نتیجه:

Expected = 12

Actual = 11

یکی از Updateها
عملاً گم شده است.

Read-Modify-Write چیست؟

بسیاری از Atomic Operationها
از نوع:

Read
→
Modify
→
Write

هستند.

تفاوت مهم
این است که سخت افزار
و Memory Model
تضمین می کنند
این عملیات
با Atomicity لازم
انجام شود.

Compare-and-Swap چیست؟


مقایسه و جایگزینی — Compare-and-Swap

Compare-and-Swap
یا CAS
یکی از Primitiveهای مهم
Synchronization است.

مفهوم کلی:

If Current Value == Expected Value
→
Replace With New Value

این عملیات
باید به صورت Atomic
انجام شود.

مثال ساده Compare-and-Swap

فرض کنید:

X = 10

عملیات می گوید:

Compare X With 10

If Equal
→
X = 20

اگر در فاصله
Thread دیگری X را تغییر داده باشد،
Compare شکست می خورد
و نرم افزار
می تواند تصمیم دیگری بگیرد
یا عملیات را Retry کند.

CAS Loop چیست؟

برخی الگوریتم های
Lock-Free
از الگویی شبیه:

Read
→
Calculate New Value
→
Compare-and-Swap
→
Retry If Failed

استفاده می کنند.

اگر Thread دیگری
داده را تغییر داده باشد،
CAS شکست می خورد
و عملیات دوباره
تلاش می شود.

Fetch-and-Add چیست؟

یکی دیگر از
Atomic Primitiveهای رایج:

Fetch-and-Add

است.

این عملیات
مقدار فعلی را دریافت می کند
و همزمان
مقدار مشخصی
به آن اضافه می کند.

برای Counterهای Atomic
کاربرد زیادی دارد.

Atomic Operation چه ارتباطی با Cache Coherence دارد؟

برای تغییر Atomic
یک داده Cache شده،
Core معمولاً
باید کنترل مناسب
روی Cache Line مربوط
داشته باشد.

Coherence Protocol
کمک می کند
Coreهای دیگر
نتوانند همزمان
نسخه ناسازگار
از همان Line
را تغییر دهند.

Atomic RMW
→
Cache Line Ownership
→
Coherence Coordination

تاثیر بر عملکرد — Performance Impact: Atomic بودن به معنی رایگان بودن نیست

اگر تعداد زیادی Core
مرتباً یک Atomic Variable
مشترک را تغییر دهند،
Cache Line مربوط
می تواند میان Coreها
جابه جا شود.

Shared Atomic Counter
→
Ownership Transfers
→
Coherence Traffic
→
Contention

بنابراین Atomic
می تواند Lock را حذف کند،
اما الزاماً
Contention سخت افزاری
را حذف نمی کند.

Lock چه ارتباطی با Atomic Operation دارد؟

بسیاری از Lockها
در سطح پایین
با استفاده از
Atomic Primitiveها
ساخته می شوند.

برای مثال
یک Lock ساده
می تواند با
Compare-and-Swap
وضعیت:

Unlocked
→
Locked

را به صورت Atomic
تغییر دهد.

Spinlock چیست؟

Spinlock
نوعی Lock است
که Thread
به جای Sleep کردن،
مرتباً وضعیت Lock
را بررسی می کند.

Check Lock
→
Busy
→
Check Again
→
Busy
→
Check Again

برای انتظارهای بسیار کوتاه
ممکن است مفید باشد،
اما استفاده نامناسب
می تواند CPU Time
و Coherence Traffic
زیادی مصرف کند.

تاثیر بر عملکرد — Performance Impact: Lock کوچک می تواند Cache Line بسیار شلوغی ایجاد کند

خود متغیر Lock
ممکن است فقط
چند Byte باشد.

اما اگر ده ها Core
مرتباً آن را بخوانند
یا برای تغییر آن
رقابت کنند،
Cache Line مربوط
می تواند Hot شود.

Tiny Lock Variable
→
Hot Cache Line
→
Contention

Mutex چیست؟

Mutex
مکانیزمی برای
Mutual Exclusion است.

یعنی در یک لحظه
فقط Thread مجاز
وارد Critical Section
شود.

One Owner
→
Critical Section

پیاده سازی Mutex
معمولاً ترکیبی
از Primitiveهای سخت افزاری
و امکانات سیستم عامل است.

Critical Section چیست؟

Critical Section
بخشی از برنامه است
که به داده یا منبع مشترک
دسترسی دارد
و باید تحت قواعد
Synchronization مناسب
اجرا شود.

اگر چند Thread
بدون هماهنگی صحیح
وارد چنین بخشی شوند،
Race Condition
ممکن است ایجاد شود.

Race Condition چیست؟


شرایط رقابتی — Race Condition

Race Condition
زمانی رخ می دهد
که نتیجه برنامه
به Timing
و ترتیب اجرای
Threadهای همزمان
وابسته شود.

در نتیجه
یک برنامه ممکن است
گاهی درست
و گاهی اشتباه
کار کند.

Data Race چیست؟

تعریف دقیق Data Race
به Memory Model
زبان برنامه نویسی
وابسته است.

به صورت کلی،
وقتی چند Thread
بدون Synchronization مناسب
به یک Memory Location
دسترسی دارند
و حداقل یکی از دسترسی ها
Write است،
ممکن است با Data Race
روبه رو شویم.

Data Race
و Race Condition
مفاهیم مرتبط
اما کاملاً مترادف نیستند.

فقط CPU می تواند عملیات را Reorder کند؟

خیر.

Compiler نیز
برای Optimization
می تواند ترتیب عملیات
را تغییر دهد،
به شرطی که
قواعد زبان
و رفتار قابل مشاهده برنامه
نقض نشوند.

Source Code
→
Compiler Optimization
→
Machine Instructions
→
CPU Execution

بنابراین در برنامه نویسی Concurrent
هم Compiler
و هم CPU
باید در نظر گرفته شوند.

آیا volatile مشکل Memory Ordering را حل می کند؟

پاسخ به زبان برنامه نویسی
بستگی دارد.

واژه:

volatile

در زبان های مختلف
معنی یکسانی ندارد.

برای مثال،
مفهوم volatile در C و C++
با Java
یکسان نیست.

بنابراین نباید
volatile را
یک راه حل عمومی
برای Multithreading
در تمام زبان ها دانست.

اشتباه رایج — Common Mistake: اضافه کردن volatile هر مشکل Multithreading را حل می کند

خیر.

معنی و تضمین volatile
به زبان
و Memory Model آن
بستگی دارد.

برای Synchronization
باید از Primitiveهای
تعریف شده همان زبان
و Runtime استفاده کرد.

Memory Model چیست؟


مدل حافظه — Memory Model

Memory Model
مشخص می کند
Threadها تحت چه قواعدی
می توانند اثر
عملیات حافظه یکدیگر
را مشاهده کنند.

Memory Model
می تواند در سطح:

  • ISA،
  • زبان برنامه نویسی،
  • Compiler،
  • و Runtime

مطرح شود.

Memory Model سخت افزار و زبان برنامه نویسی چه تفاوتی دارند؟

CPU
یک Memory Model
در سطح ISA
ارائه می دهد.

اما زبان هایی مانند:

C++
/
Java
/
Rust

نیز قواعد Concurrent
مخصوص خود را دارند.

Compiler باید
کد سطح بالا
را به دستورهایی تبدیل کند
که هم قواعد زبان
و هم قواعد معماری CPU
را رعایت کنند.

Sequential Consistency چیست؟

Sequential Consistency
یک مدل مفهومی مهم
برای فهم Concurrent Execution است.

به صورت ساده،
رفتار سیستم
طوری دیده می شود
که گویی تمام عملیات
در یک ترتیب کلی
قرار گرفته اند
و ترتیب هر Thread
نیز حفظ شده است.

One Global Interleaving
+
Per-Thread Program Order

مدل های واقعی
ممکن است تضمین های
ضعیف تری ارائه دهند
تا Performance بیشتری
امکان پذیر شود.

Happens-Before چیست؟

در Memory Modelهای
زبان های مدرن،
رابطه ای مانند:

Happens-Before

برای بیان
Ordering منطقی
میان عملیات استفاده می شود.

اگر عملیات A
طبق قواعد زبان
Happens-Before
عملیات B باشد،
نرم افزار می تواند
تضمین های مشخصی
درباره Visibility
و Ordering داشته باشد.

Synchronizes-With چیست؟

در برخی Memory Modelها،
عملیات Synchronization
می توانند رابطه:

Synchronizes-With

ایجاد کنند.

این رابطه
می تواند بخشی
از زنجیره ای باشد
که Happens-Before
را ایجاد می کند.

الگوی Message Passing چگونه کار می کند؟

یکی از مثال های کلاسیک:

Thread A:
Data = 100
→
Release Ready = 1

Thread B:
Acquire Ready
→
Read Data

اگر Synchronization
طبق Memory Model
صحیح انجام شود،
Thread B
بعد از مشاهده Ready
می تواند داده منتشر شده
توسط Thread A
را طبق تضمین های مربوط
مشاهده کند.

تفاوت Cache Coherence و Memory Ordering چیست؟

موضوع Cache Coherence Memory Ordering
تمرکز اصلی هماهنگی نسخه های یک داده ترتیب مشاهده عملیات حافظه
سؤال اصلی کدام مقدار معتبر است؟ عملیات با چه ترتیبی دیده می شوند؟
مفاهیم مرتبط MESI، Invalidation، Ownership Fence، Acquire، Release، Memory Model
سطح اهمیت سخت افزار چند هسته ای سخت افزار و نرم افزار Concurrent

نکته مهندسی — Engineering Insight: Coherent بودن Cacheها به معنی Sequential بودن تمام عملیات نیست

ممکن است سیستم
درباره مقدار نهایی
یک Cache Line
کاملاً Coherent باشد،
اما ترتیب مشاهده
چند Memory Operation
همچنان تحت قواعد
Memory Model قرار گیرد.

Coherence
≠
Full Ordering

این تفاوت
یکی از مهم ترین مفاهیم
معماری Multicore است.

Lock-Free Programming چیست؟

Lock-Free
به الگوریتم هایی گفته می شود
که برای پیشرفت سیستم
به Mutex سنتی
وابسته نیستند.

آنها معمولاً
از Atomic Primitiveهایی مانند:

Compare-and-Swap

Fetch-and-Add

استفاده می کنند.

اما Lock-Free
الزاماً به معنی
ساده تر یا سریع تر بودن
در همه شرایط نیست.

Wait-Free چه تفاوتی با Lock-Free دارد؟

این دو اصطلاح
تضمین پیشرفت متفاوتی دارند.

در Lock-Free
سیستم به طور کلی
باید پیشرفت کند،
اما یک Thread خاص
ممکن است چند بار
Retry شود.

در Wait-Free
هدف قوی تر است:
هر عملیات باید
در تعداد محدودی مرحله
پیشرفت کند.

ABA Problem چیست؟

در الگوریتم های مبتنی بر CAS،
ممکن است Thread
مقدار A را بخواند.

سپس Thread دیگری
مقدار را:

A
→
B
→
A

تغییر دهد.

Thread اول
فقط مقدار فعلی A
را می بیند
و ممکن است تصور کند
هیچ تغییری رخ نداده است.

این مسئله:

ABA Problem

نامیده می شود.

تاثیر بر عملکرد — Performance Impact: Barrier می تواند بخشی از آزادی اجرای CPU را محدود کند

Barrier
بسته به نوع آن
ممکن است CPU را مجبور کند
برخی عملیات حافظه
را پیش از عبور از مرز
به وضعیت لازم برساند.

این موضوع
می تواند Parallelism
داخلی CPU
را کاهش دهد.

More Ordering Constraints
→
Less Reordering Freedom
→
Potential Performance Cost

هزینه دقیق
به معماری،
نوع Barrier
و وضعیت Memory Subsystem
بستگی دارد.

آیا استفاده زیاد از Atomicها می تواند مشکل ساز شود؟

بله.

Atomic Operation
ابزار ضروری
برای Concurrent Programming است،
اما اگر تعداد زیادی Thread
مرتباً یک Location مشترک
را Atomic Update کنند،
همان Location
می تواند نقطه Contention شود.

More Threads
+
One Shared Atomic
≠
Linear Scaling

Sharding یک Counter چگونه کمک می کند؟

به جای یک Counter جهانی:

Global Counter

می توان در برخی طراحی ها
چند Counter محلی
ایجاد کرد.

Counter 0
→
Worker 0

Counter 1
→
Worker 1

Counter 2
→
Worker 2

سپس نتایج
در زمان مناسب
Aggregate شوند.

این روش
می تواند Contention
روی یک Cache Line
را کاهش دهد.

سیستم عامل چه نقشی دارد؟

Kernel
برای ساخت:

  • Locks،
  • Scheduler Data Structures،
  • Interrupt Handling،
  • Device Drivers،
  • Reference Counters،
  • و ارتباط میان Coreها

به Atomic Operation
و Memory Barrier
وابسته است.

بدون این Primitiveها،
ساخت یک Kernel
چند هسته ای قابل اعتماد
بسیار دشوار خواهد بود.

Memory Ordering در Device Driver چرا مهم است؟

Driver
ممکن است ابتدا
داده ای را در Memory
آماده کند
و سپس Register
یک Device را تغییر دهد.

اگر Ordering مناسب
رعایت نشود،
Device ممکن است
Notification را
قبل از آماده شدن
کامل داده مشاهده کند.

Prepare Descriptor
→
Memory Barrier
→
Notify Device

جزئیات دقیق
به Platform
و Device Model
بستگی دارد.

DMA و Memory Ordering چه ارتباطی دارند؟

Deviceهایی که از DMA
استفاده می کنند
می توانند مستقیماً
با Memory System
تعامل داشته باشند.

CPU و Driver
باید طبق قواعد پلتفرم
مطمئن شوند
داده پیش از شروع DMA
در وضعیت مناسب قرار دارد
و نتیجه DMA
پیش از مصرف توسط CPU
به شکل صحیح
قابل مشاهده است.

Memory Ordering در Database چه اهمیتی دارد؟

Database Engineهای مدرن
ممکن است هزاران عملیات
Concurrent
را مدیریت کنند.

ساختارهایی مانند:

  • Lock Manager،
  • Buffer Pool Metadata،
  • Transaction State،
  • Queues،
  • Reference Counters،
  • و Concurrent Index Structures

به Synchronization صحیح
نیاز دارند.

چرا این موضوع در Server مهم تر می شود؟

هرچه تعداد Core
و Thread بیشتر شود،
احتمال تعامل
با داده مشترک
نیز بیشتر می شود.

در Serverهای بزرگ،
طراحی نامناسب
Synchronization
می تواند باعث:

  • Lock Contention،
  • Atomic Contention،
  • Cache Line Ping-Pong،
  • Coherence Traffic،
  • و Scaling ضعیف

شود.

آیا کاربر عادی باید Memory Barrier را تنظیم کند؟

خیر.

این مکانیزم ها
توسط CPU،
Compiler،
سیستم عامل
و نرم افزار
مدیریت می شوند.

کاربر هنگام خرید
لپ تاپ،
کامپیوتر،
Workstation
یا Server
گزینه ای به نام
Memory Barrier
تنظیم نمی کند.

شناخت این مفاهیم
برای فهم عمیق تر
معماری CPU
و رفتار نرم افزار
اهمیت دارد.

اشتباهات رایج — Common Mistakes: Memory Ordering
  • فرض اینکه CPU تمام Load و Storeها را دقیقاً به ترتیب کد اجرا می کند.
  • یکی دانستن Program Order با Visibility Order.
  • فرض اینکه Cache Coherence تمام مشکلات Ordering را حل می کند.
  • فرض اینکه x86 هیچ Reordering ندارد.
  • نادیده گرفتن Store Buffer.
  • نادیده گرفتن Memory Dependency.
  • فرض اینکه Counter++ همیشه Atomic است.
  • یکی دانستن Atomicity با Ordering.
  • فرض اینکه Atomic Operation رایگان است.
  • فرض اینکه Lock-Free همیشه سریع تر از Lock است.
  • استفاده بیش از حد از Full Memory Barrier.
  • فرض اینکه volatile در تمام زبان ها یک معنی دارد.
  • نادیده گرفتن Compiler Reordering.
  • نادیده گرفتن Memory Model زبان برنامه نویسی.
  • فرض اینکه تعداد Thread بیشتر همیشه Performance را افزایش می دهد.

سوالات متداول درباره Memory Ordering و Atomic Operations

Memory Ordering چیست؟

مجموعه قواعدی است
که مشخص می کند
عملیات حافظه
با چه ترتیبی
می توانند برای Coreهای دیگر
قابل مشاهده باشند.

چرا CPU عملیات حافظه را Reorder می کند؟

برای افزایش Performance،
پنهان کردن Latency
و استفاده بهتر
از منابع داخلی پردازنده.

Memory Barrier چیست؟

مکانیزمی برای اعمال
محدودیت های مشخص
روی Ordering
عملیات حافظه است.

Atomic Operation چیست؟

عملیاتی است
که از دید Threadهای دیگر
به صورت غیرقابل تقسیم
مشاهده می شود.

آیا Counter++ همیشه Atomic است؟

خیر.
افزایش ساده یک Counter
می تواند شامل Load،
محاسبه
و Store جداگانه باشد.

Compare-and-Swap چیست؟

عملیاتی Atomic است
که مقدار فعلی را
با مقدار مورد انتظار
مقایسه می کند
و در صورت برابر بودن
مقدار جدید را جایگزین می کند.

آیا Cache Coherence و Memory Ordering یکی هستند؟

خیر.
Coherence درباره سازگاری
نسخه های داده است،
در حالی که Ordering
درباره ترتیب مشاهده
عملیات حافظه است.

Acquire و Release چه کاربردی دارند؟

برای ایجاد Ordering
و Synchronization مناسب
هنگام انتشار
و دریافت داده
میان Threadها استفاده می شوند.

آیا Atomic همیشه از Mutex سریع تر است؟

خیر.
نتیجه به Workload،
میزان Contention،
الگوریتم
و معماری سیستم بستگی دارد.

آیا کاربر عادی باید Memory Ordering را تنظیم کند؟

خیر.
این موضوع عمدتاً
در سطح CPU،
سیستم عامل،
Compiler
و نرم افزار مدیریت می شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Memory Ordering: قواعد ترتیب قابل مشاهده عملیات حافظه.
  • Program Order: ترتیب عملیات در متن برنامه.
  • Execution Order: ترتیب واقعی پردازش عملیات در Microarchitecture.
  • Visibility Order: ترتیب مشاهده اثر عملیات توسط سایر Coreها.
  • Load: عملیات خواندن داده.
  • Store: عملیات نوشتن داده.
  • Load/Store Unit: بخش CPU مسئول مدیریت عملیات حافظه.
  • Store Buffer: ساختار موقت نگهداری Storeهای در انتظار.
  • Load Queue: ساختار Tracking عملیات Load.
  • Store Queue: ساختار Tracking عملیات Store.
  • Memory Dependency: وابستگی میان دسترسی های حافظه.
  • Memory Disambiguation: تشخیص وابستگی یا استقلال Load و Store.
  • Speculative Load: اجرای زودهنگام Load بر اساس پیش بینی.
  • Store-to-Load Forwarding: تحویل مستقیم داده Store به Load وابسته.
  • Memory Barrier: محدودکننده Ordering عملیات حافظه.
  • Fence: مرز Ordering میان عملیات حافظه.
  • Acquire: Semantic مربوط به دریافت Synchronization.
  • Release: Semantic مربوط به انتشار Synchronization.
  • Atomic Operation: عملیات غیرقابل تقسیم از دید Threadهای دیگر.
  • Read-Modify-Write: عملیات ترکیبی خواندن، تغییر و نوشتن.
  • Compare-and-Swap: مقایسه مقدار و جایگزینی Atomic در صورت تطابق.
  • Fetch-and-Add: دریافت مقدار و افزایش Atomic آن.
  • Race Condition: وابستگی نتیجه برنامه به Timing اجرای همزمان.
  • Data Race: دسترسی Concurrent ناسازگار طبق قواعد Memory Model.
  • Memory Model: قواعد مشاهده عملیات حافظه در سیستم Concurrent.
  • Sequential Consistency: مدل مفهومی با یک ترتیب کلی سازگار با ترتیب هر Thread.
  • Happens-Before: رابطه منطقی Ordering میان عملیات Concurrent.
  • Lock-Free: الگوریتمی با تضمین پیشرفت سیستم بدون وابستگی به Mutex سنتی.
  • Wait-Free: مدل قوی تر پیشرفت که برای هر عملیات حد مشخصی از مراحل در نظر می گیرد.
  • ABA Problem: تغییر مقدار از A به B و بازگشت به A بدون تشخیص ساده CAS.

خلاصه فصل

CPU مدرن
برای رسیدن به Performance بالا
نمی تواند تمام عملیات حافظه
را به شکل ساده
و کاملاً سریالی اجرا کند.

ساختارهایی مانند
Store Buffer،
Load Queue،
Store Queue
و مکانیزم های
Memory Disambiguation
اجازه می دهند
پردازنده چند عملیات
را به شکل موثرتری
مدیریت کند.

Buffering
+
Reordering
+
Speculation
→
Higher Performance

اما این آزادی
باعث می شود
برنامه های Multithreaded
به قواعد مشخص
برای Synchronization
نیاز داشته باشند.

Memory Barrier
+
Acquire / Release
+
Atomic Operations
→
Controlled Memory Ordering

Cache Coherence
مشخص می کند
نسخه های یک داده
چگونه هماهنگ بمانند،
اما Memory Ordering
مشخص می کند
عملیات حافظه
با چه ترتیبی
می توانند مشاهده شوند.

Coherence
→
Which Value?

Ordering
→
In What Order?

Atomic Operationها نیز
امکان ساخت
Synchronization Primitiveهای
سطح بالاتر را فراهم می کنند،
اما خود آنها
هزینه سخت افزاری دارند
و در صورت Contention شدید
می توانند Scaling
را محدود کنند.


در نتیجه، Performance یک CPU چند هسته ای
فقط به تعداد Core و سرعت Cache وابسته نیست؛
نحوه هماهنگی دسترسی Coreها به حافظه،
ترتیب مشاهده Load و Storeها،
هزینه Atomic Operationها
و طراحی Synchronization نرم افزار
نیز مستقیماً روی کارایی واقعی سیستم اثر می گذارند.


فصل 83
سطح: پیشرفته
موضوع: پیش بینی انشعاب و اجرای حدسی در پردازنده
تمرکز: Branch Prediction / Speculative Execution / Branch Misprediction


CPU مدرن فقط دستورها را اجرا نمی کند؛ سعی می کند حدس بزند چند لحظه بعد به کدام دستور نیاز خواهد داشت

Branch Prediction و Speculative Execution؛ پردازنده چگونه مسیر آینده برنامه را پیش بینی می کند؟

در پردازنده های مدرن،
Pipeline می تواند
تعداد زیادی دستور را
در مراحل مختلف پردازش
به صورت همزمان نگه دارد.

این روش زمانی بسیار موثر است
که CPU بداند
دستور بعدی
از کدام آدرس باید دریافت شود.

اما برنامه ها
پر از تصمیم گیری هستند.

if
/
else
/
loop
/
function call
/
return

وقتی پردازنده
به یک Branch می رسد،
ممکن است نتیجه واقعی شرط
هنوز مشخص نشده باشد.

CPU دو انتخاب دارد:

یا منتظر بماند
تا نتیجه Branch مشخص شود،
یا مسیر احتمالی را حدس بزند
و اجرای دستورها را ادامه دهد.

پردازنده های مدرن
معمولاً گزینه دوم
را انتخاب می کنند.

Predict
→
Fetch
→
Execute Speculatively
→
Verify

در این فصل چه چیزهایی یاد می گیریم؟

  • Branch چیست.
  • Conditional Branch چیست.
  • Unconditional Branch چیست.
  • Branch Prediction چیست.
  • چرا CPU به Branch Predictor نیاز دارد.
  • Taken و Not Taken چه معنایی دارند.
  • Static و Dynamic Prediction چه تفاوتی دارند.
  • Branch History چیست.
  • Branch Target Buffer چیست.
  • Return Address Stack چیست.
  • Indirect Branch Prediction چیست.
  • Speculative Execution چیست.
  • Branch Misprediction چیست.
  • Misprediction Penalty چگونه ایجاد می شود.
  • Pipeline Flush چیست.
  • چرا Pipeline عمیق تر به Predictor قوی تری نیاز دارد.
  • Branchless Code چیست.
  • چرا Predictability داده روی Performance اثر می گذارد.
  • Branch Prediction چه ارتباطی با امنیت پردازنده دارد.

Branch چیست؟


انشعاب — Branch

Branch
دستوری است
که می تواند مسیر اجرای برنامه
را از جریان خطی عادی
به آدرس دیگری منتقل کند.

بدون Branch،
CPU تقریباً فقط
دستورها را یکی پس از دیگری
اجرا می کرد.

Branchها امکان ساخت:

  • شرط ها،
  • حلقه ها،
  • تصمیم گیری ها،
  • پرش ها،
  • فراخوانی توابع،
  • و بسیاری از ساختارهای کنترلی برنامه

را فراهم می کنند.

Conditional Branch چیست؟

Conditional Branch
به نتیجه یک شرط
وابسته است.

برای مثال:

if (x > 10)

اگر شرط برقرار باشد،
CPU یک مسیر
و اگر برقرار نباشد،
مسیر دیگری را دنبال می کند.

Condition
→
True Path / False Path

Taken و Not Taken یعنی چه؟

در یک Branch شرطی،
معمولاً دو نتیجه اصلی مطرح است.

Taken
=
Jump To Branch Target

Not Taken
=
Continue Sequential Execution

Predictor باید حدس بزند
Branch در اجرای فعلی
Taken خواهد شد
یا Not Taken.

چرا CPU نمی تواند فقط منتظر نتیجه Branch بماند؟

از نظر فنی می تواند،
اما Performance
به شدت کاهش پیدا می کند.

نتیجه Branch
ممکن است چند Stage
بعد از Fetch
مشخص شود.

اگر Front-End
تا آن زمان متوقف بماند،
دستورهای جدیدی
وارد Pipeline نمی شوند.

Unknown Branch
→
Stop Fetching
→
Pipeline Bubbles
→
Lost Performance

Branch Prediction
برای جلوگیری از همین توقف
طراحی شده است.

Branch Predictor چیست؟


پیش بینی کننده انشعاب — Branch Predictor

Branch Predictor
بخشی از Front-End پردازنده است
که تلاش می کند
نتیجه Branchها
و در موارد لازم
مقصد آنها را
پیش از مشخص شدن نتیجه واقعی
پیش بینی کند.

هدف:

Keep The Pipeline Fed

یک مثال ساده از پیش بینی Branch

فرض کنید برنامه
یک Loop دارد
که 1000 بار اجرا می شود.

Branch انتهای Loop
در بیشتر دفعات
به ابتدای Loop برمی گردد.

Iteration 1
→
Taken

Iteration 2
→
Taken

…

Iteration 999
→
Taken

Final Iteration
→
Not Taken

این رفتار
نسبتاً قابل پیش بینی است.

Static Branch Prediction چیست؟

ساده ترین روش
استفاده از یک قانون ثابت
برای پیش بینی Branch است.

برای مثال:

Always Predict Taken

یا:

Always Predict Not Taken

این روش ساده است،
اما رفتار واقعی برنامه
را به خوبی
یاد نمی گیرد.

Dynamic Branch Prediction چیست؟

Dynamic Predictor
از رفتار گذشته Branchها
برای پیش بینی آینده
استفاده می کند.

Previous Behavior
→
Predictor State
→
Future Prediction

اگر یک Branch
در اجراهای اخیر
تقریباً همیشه Taken بوده باشد،
Predictor می تواند
از این History
استفاده کند.

One-Bit Predictor چگونه کار می کند؟

یک مدل آموزشی ساده
می تواند فقط نتیجه قبلی Branch
را نگه دارد.

Last Time = Taken
→
Predict Taken

Last Time = Not Taken
→
Predict Not Taken

این روش
از Static Prediction بهتر است،
اما با یک تغییر موقت
سریعاً جهت پیش بینی
را عوض می کند.

Two-Bit Saturating Counter چیست؟

یک روش کلاسیک
استفاده از چند حالت
به جای یک Bit ساده است.

Strongly Taken

Weakly Taken

Weakly Not Taken

Strongly Not Taken

در این حالت
یک نتیجه متفاوت
الزاماً جهت پیش بینی
را فوراً تغییر نمی دهد.

این نوع Hysteresis
می تواند Predictor
را در برابر تغییرات موقتی
مقاوم تر کند.

Branch History چیست؟

Predictorهای پیشرفته
فقط نتیجه قبلی
یک Branch را بررسی نمی کنند.

آنها می توانند
الگوی چند Branch قبلی
را نیز در نظر بگیرند.

T
→
T
→
N
→
T
→
?

چنین Historyهایی
می توانند الگوهای
پیچیده تر برنامه
را آشکار کنند.

Local Branch History چیست؟

Local History
رفتار گذشته
همان Branch مشخص
را دنبال می کند.

برای مثال،
اگر یک Branch
الگویی مانند:

Taken
→
Taken
→
Not Taken

را مرتب تکرار کند،
Predictor می تواند
از History همان Branch
استفاده کند.

Global Branch History چیست؟

نتیجه یک Branch
گاهی به Branchهای قبلی
برنامه وابسته است.

Global History
رفتار چند Branch اخیر
را به صورت یک Context
در نظر می گیرد.

Recent Branch Outcomes
→
Global History
→
Prediction Context

نکته مهندسی — Engineering Insight: بعضی Branchها به تنهایی قابل پیش بینی نیستند، اما با دانستن Branchهای قبلی قابل پیش بینی می شوند

فرض کنید تصمیم دوم برنامه
به نتیجه تصمیم اول
وابسته باشد.

بررسی History
فقط برای Branch دوم
ممکن است اطلاعات کافی ندهد.

اما Global History
می تواند ارتباط
میان این دو تصمیم
را آشکار کند.

Branch A Outcome
→
Context For Branch B

Branch Target Buffer چیست؟


بافر مقصد انشعاب — Branch Target Buffer

فقط دانستن اینکه Branch
Taken خواهد شد
کافی نیست.

CPU باید بداند
از کدام Address
Fetch را ادامه دهد.

Branch Target Buffer
یا BTB
اطلاعات مربوط به
مقصد Branchهای شناخته شده
را نگه می دارد.

Branch Address
→
Predicted Target Address

Direction Prediction و Target Prediction چه تفاوتی دارند؟

Predictor باید
در بسیاری از Branchها
دو سؤال را پاسخ دهد.

سؤال اول:

Taken Or Not Taken?

سؤال دوم:

If Taken, Where?

اولی Direction Prediction
و دومی Target Prediction
است.

Return Address Stack چیست؟

Function Callها
معمولاً پس از پایان تابع
باید به محل فراخوانی
بازگردند.

پردازنده می تواند
برای پیش بینی Returnها
از ساختاری مانند:

Return Address Stack

یا RAS استفاده کند.

هنگام Call،
Return Address
در این ساختار
دنبال می شود
و هنگام Return
برای پیش بینی مقصد
مورد استفاده قرار می گیرد.

Indirect Branch چیست؟

در Direct Branch
مقصد معمولاً
از خود Instruction
قابل استخراج است.

اما در Indirect Branch،
مقصد می تواند
از Register
یا داده دیگری
به دست آید.

Indirect Branch
→
Multiple Possible Targets

پیش بینی چنین Branchهایی
می تواند دشوارتر باشد.

Virtual Functionها چه ارتباطی با Branch Prediction دارند؟

در برخی زبان ها
و الگوهای برنامه نویسی،
فراخوانی تابع
ممکن است از طریق
یک مقصد غیرمستقیم
انجام شود.

اگر یک Call Site
در زمان های مختلف
به مقصدهای متفاوت
هدایت شود،
Predictor باید
Target مناسب
را حدس بزند.

به همین دلیل
رفتار Callهای غیرمستقیم
می تواند روی Front-End Performance
اثر بگذارد.

Speculative Execution چیست؟


اجرای حدسی — Speculative Execution

پس از اینکه Predictor
مسیر احتمالی
یک Branch را انتخاب کرد،
CPU می تواند دستورهای
آن مسیر را
پیش از تایید نهایی Branch
پردازش کند.

این رفتار:

Speculative Execution

نامیده می شود.

پشت صحنه فنی — Under the Hood: CPU چگونه روی مسیری که هنوز قطعی نیست کار می کند؟

Predictor
یک مسیر احتمالی
را انتخاب می کند.

Front-End
از همان مسیر
Instruction دریافت می کند.

دستورها Decode
و وارد بخش
Out-of-Order Engine
می شوند.

برخی از آنها
حتی ممکن است
Execution را کامل کنند.

اما تا زمانی که
مشخص نشود مسیر صحیح بوده،
نتایج معماری آنها
نباید به شکلی Commit شوند
که وضعیت صحیح برنامه
قابل بازگشت نباشد.

Prediction
→
Fetch
→
Decode
→
Execute
→
Verify Branch
→
Commit If Valid

ساختارهایی مانند
Reorder Buffer
در حفظ این نظم
نقش مهمی دارند.

اگر پیش بینی درست باشد چه اتفاقی می افتد؟

اگر Predictor
مسیر صحیح را حدس زده باشد،
CPU از قبل
روی دستورهای مفید
کار کرده است.

Correct Prediction
→
Useful Speculation
→
Pipeline Continues

این همان حالتی است
که Branch Prediction
ارزش واقعی خود
را نشان می دهد.

Branch Misprediction چیست؟


خطای پیش بینی انشعاب — Branch Misprediction

اگر Predictor
مسیر اشتباه
را انتخاب کرده باشد،
دستورهایی که از آن مسیر
وارد Pipeline شده اند
متعلق به مسیر صحیح برنامه نیستند.

CPU باید
این کارهای حدسی اشتباه
را کنار بگذارد
و Fetch را
از مسیر صحیح
ادامه دهد.

Pipeline Flush چیست؟

وقتی Branch Misprediction
مشخص می شود،
دستورهای وابسته
به مسیر اشتباه
باید از جریان موثر اجرا
حذف شوند.

Wrong Path
→
Detect Misprediction
→
Squash Wrong Instructions
→
Redirect Fetch

در توضیحات عمومی
این فرآیند
اغلب Pipeline Flush
نامیده می شود،
هرچند جزئیات دقیق
در Microarchitectureهای مختلف
متفاوت است.

Branch Misprediction Penalty چیست؟

از لحظه ای که
CPU مسیر اشتباه را دنبال کرده
تا زمانی که
مسیر صحیح دوباره
Pipeline را پر کند،
بخشی از زمان
و ظرفیت پردازشی
از دست می رود.

این هزینه:

Branch Misprediction Penalty

نامیده می شود.

هزینه Misprediction از کجا می آید؟

هزینه می تواند
شامل چند بخش باشد:

  • کاری که روی مسیر اشتباه انجام شده است،
  • Redirect کردن Front-End،
  • دریافت دستورهای مسیر صحیح،
  • Decode مجدد جریان صحیح،
  • و پر شدن دوباره بخش های لازم Pipeline.

Wrong-Path Work
+
Recovery
+
Front-End Refill
=
Misprediction Cost

Pipeline عمیق چه ارتباطی با Branch Prediction دارد؟

هرچه فاصله
میان Fetch یک Branch
و مشخص شدن نتیجه آن
بیشتر باشد،
CPU می تواند
دستورهای بیشتری
از مسیر حدسی
وارد Pipeline کند.

در نتیجه،
Misprediction
بالقوه می تواند
هزینه بیشتری داشته باشد.

Deeper Effective Pipeline
→
Potentially Higher Misprediction Cost

تاثیر بر عملکرد — Performance Impact: Predictor بهتر می تواند بدون افزایش فرکانس، کارایی CPU را بالا ببرد

فرض کنید دو CPU
فرکانس مشابهی دارند.

اگر CPU اول
Branchهای بیشتری
را درست پیش بینی کند،
زمان کمتری
صرف Recovery
از مسیرهای اشتباه
خواهد کرد.

Higher Prediction Accuracy
→
Fewer Pipeline Recoveries
→
More Useful Work

به همین دلیل
Branch Predictor
یکی از بخش های مهم
در افزایش IPC
محسوب می شود.

Branch Prediction چگونه روی IPC اثر می گذارد؟

IPC
فقط به تعداد Execution Unitها
وابسته نیست.

اگر Front-End
مرتباً مسیر اشتباه
را انتخاب کند،
Back-End
نمی تواند جریان پیوسته ای
از دستورهای مفید
دریافت کند.

Bad Prediction
→
Front-End Disruption
→
Less Useful Work
→
Lower Effective IPC

آیا همه Branchها به یک اندازه قابل پیش بینی هستند؟

خیر.

برخی Branchها
الگوی بسیار منظم دارند.

برای مثال
Loopهایی که
تعداد مشخصی تکرار می شوند.

برخی دیگر
به داده هایی وابسته اند
که رفتار آنها
بسیار نامنظم است.

Predictable Pattern
→
High Prediction Accuracy

Irregular Pattern
→
Harder Prediction

چرا داده های نامنظم می توانند Branch را گران کنند؟

فرض کنید برنامه
برای هر عنصر
یک شرط بررسی کند.

اگر تقریباً تمام عناصر
یک نتیجه مشابه داشته باشند،
Predictor احتمالاً
الگو را سریع یاد می گیرد.

اما اگر نتیجه شرط
تقریباً غیرقابل پیش بینی باشد،
نرخ Misprediction
می تواند افزایش پیدا کند.

Unpredictable Data
→
Unpredictable Branch
→
More Mispredictions

چرا گاهی پردازش داده مرتب شده سریع تر است؟

یکی از دلایل احتمالی
می تواند Predictability
بهتر Branchها باشد.

اگر داده ها
به شکلی مرتب شده باشند
که نتیجه شرط ها
در بازه های طولانی
مشابه باشد،
Predictor ممکن است
عملکرد بهتری داشته باشد.

البته Performance واقعی
می تواند به عوامل دیگری مانند:

  • Cache Locality،
  • Memory Access Pattern،
  • Compiler Optimization،
  • Vectorization،
  • و نوع الگوریتم

نیز وابسته باشد.

Branchless Code چیست؟

Branchless Programming
تلاش می کند
در برخی بخش های حساس
تصمیم گیری مبتنی بر Branch
را با روش های دیگری
جایگزین کند.

برای مثال،
ممکن است Compiler
یا برنامه نویس
از:

  • Conditional Move،
  • Masking،
  • Arithmetic Transformations،
  • و Vector Operations

استفاده کند.

اشتباه رایج — Common Mistake: حذف Branch همیشه برنامه را سریع تر می کند

خیر.

اگر Branch
بسیار قابل پیش بینی باشد،
Predictor ممکن است
تقریباً همیشه
مسیر درست را انتخاب کند.

جایگزین کردن چنین Branchی
با محاسبات بیشتر
ممکن است هیچ سودی نداشته باشد
یا حتی Performance
را کاهش دهد.

تصمیم صحیح
به داده،
معماری CPU،
Compiler
و هزینه مسیرهای مختلف
بستگی دارد.

Conditional Move چیست؟

برخی ISAها
امکان انتخاب یک مقدار
بر اساس Condition
بدون Branch معمولی
را فراهم می کنند.

Condition
→
Select Value A Or B

این روش
می تواند برای Branchهای
سخت قابل پیش بینی
مفید باشد،
اما همیشه
بهترین انتخاب نیست.

Compiler چه نقشی در Branch Performance دارد؟

Compiler می تواند
ساختار کد را
به شکل های مختلف
به Machine Code
تبدیل کند.

بسته به شرایط
ممکن است:

  • Branch تولید کند،
  • از Conditional Move استفاده کند،
  • Loop را تغییر دهد،
  • کد را Vectorize کند،
  • یا Layout مسیرهای رایج را بهینه کند.

بنابراین کد سطح بالا
الزاماً تصویر دقیقی
از Branchهای نهایی CPU
ارائه نمی دهد.

Hot Path چیست؟

Hot Path
مسیری از برنامه است
که بسیار بیشتر
از مسیرهای دیگر
اجرا می شود.

Compiler و CPU
می توانند از اطلاعات
مربوط به رفتار رایج برنامه
برای بهینه سازی
این مسیرها استفاده کنند.

Frequently Executed Path
=
Hot Path

Profile-Guided Optimization چه ارتباطی با Branch دارد؟

در Profile-Guided Optimization
یا PGO،
اطلاعات اجرای واقعی برنامه
می تواند به Compiler
کمک کند بفهمد
کدام مسیرها
بیشتر استفاده می شوند.

Runtime Profile
→
Compiler
→
Better Code Layout

این اطلاعات
می تواند در بهینه سازی
Branchها،
Layout کد
و Hot Pathها
مفید باشد.

چرا Branch Predictor بخشی از Front-End محسوب می شود؟

Front-End باید بداند
Instruction بعدی
را از کجا دریافت کند.

اگر Branch وجود داشته باشد،
آدرس Fetch بعدی
به نتیجه Prediction
وابسته می شود.

Branch Predictor
→
Next Fetch Address
→
Instruction Fetch

بنابراین Predictor
مستقیماً روی جریان
Instruction Delivery
اثر می گذارد.

Branch Prediction چه ارتباطی با Instruction Cache دارد؟

Predictor
مسیر آینده Fetch
را تعیین می کند.

سپس Front-End
باید Instructionهای آن مسیر
را از ساختارهایی مانند
Instruction Cache
دریافت کند.

بنابراین حتی Prediction صحیح
اگر به مسیری منتهی شود
که Instructionهای آن
در Cache حاضر نیستند،
ممکن است با
Front-End Stall
روبه رو شود.

Branch Predictor چه ارتباطی با Micro-op Cache دارد؟

در معماری هایی
که Micro-op Cache دارند،
Predictor می تواند
مسیر Fetch آینده
را مشخص کند
و Front-End
در صورت Hit
Micro-opهای Decode شده
را سریع تر دریافت کند.

Correct Prediction
+
Micro-op Cache Hit
→
Efficient Front-End Delivery

چرا CPUهای Wide به Predictor قوی نیاز دارند؟

اگر CPU بتواند
تعداد زیادی Instruction
را در هر Cycle
Fetch،
Decode
و Dispatch کند،
مسیر اشتباه
می تواند منابع بیشتری
را در مدت کوتاه
مصرف کند.

بنابراین با افزایش
عرض پردازنده،
کیفیت Prediction
اهمیت بیشتری پیدا می کند.

Wider Machine
→
More Instructions In Flight
→
Higher Value Of Accurate Prediction

Predictorهای مدرن چقدر پیچیده هستند؟

بسیار پیچیده تر
از مدل ساده
One-Bit Predictor هستند.

پردازنده های مدرن
می توانند چندین منبع اطلاعاتی
و چند Predictor
را ترکیب کنند.

هدف این است
که الگوهای مختلف Branch
با روش مناسب تری
پیش بینی شوند.

جزئیات دقیق
Predictor پردازنده های تجاری
همیشه به صورت کامل
منتشر نمی شود.

Hybrid Predictor چیست؟

یک Predictor
ممکن است برای
یک نوع Pattern
عالی باشد
و برای Pattern دیگر
ضعیف تر عمل کند.

Hybrid Predictor
چند Predictor
یا چند نوع History
را ترکیب می کند.

Predictor A
+
Predictor B
+
Selection Logic
→
Final Prediction

TAGE Predictor چیست؟

TAGE
خانواده ای شناخته شده
از روش های Branch Prediction است
که از Historyهایی
با طول های متفاوت
استفاده می کند.

Short History
+
Medium History
+
Long History
→
Better Pattern Coverage

ایده مهم این است
که همه Branchها
برای پیش بینی مناسب
به یک طول History
نیاز ندارند.

Loop Predictor چیست؟

بعضی Branchها
رفتار حلقه ای
بسیار مشخصی دارند.

برای مثال:

Taken × 99
→
Not Taken × 1

Predictor تخصصی Loop
می تواند تعداد Iterationها
یا الگوی خروج از حلقه
را دنبال کند.

Neural Branch Prediction چیست؟

برخی تحقیقات
و طراحی های Predictor
از ایده های محاسباتی
الهام گرفته از
مدل های یادگیری
برای تشخیص Correlationهای
طولانی تر استفاده می کنند.

نمونه کلاسیک پژوهشی:

Perceptron Branch Predictor

هدف چنین روش هایی
تشخیص Patternهایی است
که Predictorهای ساده تر
ممکن است نتوانند
به خوبی مدل کنند.

چرا نمی توان Predictor را بی نهایت بزرگ کرد؟

Predictor بزرگ تر
می تواند History
و State بیشتری نگه دارد،
اما هزینه دارد.

  • فضای Die،
  • مصرف انرژی،
  • Latency دسترسی،
  • پیچیدگی طراحی،
  • و محدودیت Timing.

Predictor باید
بسیار سریع باشد،
زیرا Front-End
تقریباً در هر لحظه
به نتیجه آن نیاز دارد.

Branch Prediction چه تاثیری بر مصرف انرژی دارد؟

Predictor خود
انرژی مصرف می کند،
اما Misprediction نیز
باعث انجام کار بی فایده
روی مسیر اشتباه می شود.

Wrong-Path Fetch
+
Wrong-Path Decode
+
Wrong-Path Execution
→
Wasted Energy

بنابراین Prediction بهتر
علاوه بر Performance
می تواند روی
Energy Efficiency
نیز اثر بگذارد.

Speculative Execution چه ارتباطی با امنیت دارد؟

اجرای حدسی
برای Performance
بسیار ارزشمند است،
اما پژوهش های امنیتی
نشان داده اند
که اثرات Microarchitectural
برخی عملیات حدسی
می توانند در شرایط خاص
به Side Channel
تبدیل شوند.

یکی از مشهورترین خانواده های
این نوع حملات:

Spectre

است.

Architectural State و Microarchitectural State چه تفاوتی دارند؟

اگر Speculation
اشتباه باشد،
CPU می تواند
نتیجه معماری دستورهای اشتباه
را کنار بگذارد.

اما اجرای آنها
ممکن است روی بخش هایی
از Microarchitecture
اثر گذاشته باشد.

برای مثال،
رفتار Cache
می تواند بخشی
از چنین اثراتی باشد.

Architectural Result
→
Squashed

Microarchitectural Side Effects
→
Potentially Observable

Spectre به زبان ساده چیست؟

Spectre
نام خانواده ای
از آسیب پذیری ها و تکنیک های حمله است
که از رفتار
Speculative Execution
و Side Channelهای
Microarchitectural
سوء استفاده می کنند.

نکته مهم این است
که Speculative Execution
ذاتاً یک «باگ ساده»
نیست.

این مکانیزم
یکی از پایه های Performance
پردازنده مدرن است،
اما مرز میان
Performance Optimization
و Security Isolation
باید با دقت مدیریت شود.

نکته مهندسی — Engineering Insight: پاک کردن نتیجه اشتباه از Pipeline الزاماً تمام ردپای Microarchitectural آن را حذف نمی کند

از دید معماری،
دستورهای مسیر اشتباه
نباید نتیجه نهایی برنامه
را تغییر دهند.

اما Microarchitecture
ساختارهای داخلی زیادی دارد.

همین تفاوت میان
Architectural State
و Microarchitectural State
یکی از مفاهیم مهم
در تحلیل امنیت
پردازنده های مدرن است.

مقابله با آسیب پذیری های Speculation می تواند روی Performance اثر بگذارد؟

بله،
بسته به نوع آسیب پذیری،
CPU،
سیستم عامل،
Workload
و Mitigation مورد استفاده.

برخی Mitigationها
می توانند بخشی
از آزادی Speculation
یا Prediction
را محدود کنند.

اما میزان اثر
در همه سیستم ها
و همه نرم افزارها
یکسان نیست.

Branch Prediction در Serverها چرا مهم است؟

Server Workloadها
می توانند شامل:

  • Database Engine،
  • Web Server،
  • Runtimeهای زبان،
  • Virtual Machine،
  • Compression،
  • Networking،
  • و پردازش درخواست های پیچیده

باشند.

بسیاری از این Workloadها
دارای Control Flow
پیچیده هستند.

بنابراین Predictor قوی
می تواند نقش مهمی
در Throughput واقعی
داشته باشد.

Branch Prediction در Database چه اهمیتی دارد؟

Database Engine
ممکن است مرتباً:

  • شرط ها را بررسی کند،
  • رکوردها را فیلتر کند،
  • ساختارهای درختی را پیمایش کند،
  • نوع داده را بررسی کند،
  • و مسیرهای متفاوت Query Execution را اجرا کند.

اگر Control Flow
وابسته به داده
بسیار نامنظم باشد،
Branch Misprediction
می تواند بخشی
از هزینه پردازش شود.

Branch Prediction در بازی ها چه نقشی دارد؟

موتور بازی
فقط عملیات گرافیکی
انجام نمی دهد.

CPU ممکن است:

  • منطق بازی،
  • هوش مصنوعی،
  • Physics،
  • Animation،
  • Scene Management،
  • Draw Call Preparation،
  • و سیستم های Gameplay

را پردازش کند.

بسیاری از این سیستم ها
دارای Branchهای متعدد هستند.

بنابراین کیفیت Microarchitecture
و Predictor
می تواند روی Performance
CPU در بازی ها اثر بگذارد.

مرورگر وب هم از Branch Prediction تاثیر می گیرد؟

بله.

مرورگر مدرن
مجموعه بزرگی از:

  • JavaScript Engine،
  • Rendering Engine،
  • Layout،
  • Networking،
  • Parsing،
  • Garbage Collection،
  • و Security Logic

است.

چنین Workloadهایی
Control Flow
بسیار متنوعی دارند
و از پیشرفت های
Branch Prediction
بهره می برند.

در Workstation چه کاربردی دارد؟

نرم افزارهای مهندسی،
شبیه سازی،
کامپایل،
پردازش داده،
CAD،
مدل سازی سه بعدی
و تولید محتوا
همگی بخش هایی دارند
که Performance آنها
به اجرای کد عمومی CPU
وابسته است.

بنابراین Branch Prediction
محدود به لپ تاپ
یا یک نوع نرم افزار خاص نیست.

این مکانیزم
در پردازنده های:

  • Desktop،
  • Laptop،
  • Workstation،
  • Server،
  • Mobile Device،
  • و بسیاری از سیستم های پردازشی دیگر

اهمیت دارد.

چرا فرکانس به تنهایی قدرت CPU را مشخص نمی کند؟

دو پردازنده
می توانند فرکانس مشابهی داشته باشند،
اما یکی:

  • Predictor دقیق تری داشته باشد،
  • Front-End قوی تری داشته باشد،
  • Cache بهتری داشته باشد،
  • Execution Engine عریض تری داشته باشد،
  • و Mispredictionها را سریع تر Recover کند.

بنابراین:

Same GHz
≠
Same Performance

آیا Branch Predictor می تواند بین نسل های CPU بهتر شود؟

بله.

یکی از مسیرهای
افزایش Performance نسل به نسل
بهبود Front-End
و Branch Prediction است.

حتی اگر فرکانس
تغییر بزرگی نکند،
کاهش Misprediction
می تواند باعث شود
CPU در هر واحد زمان
کار مفید بیشتری انجام دهد.

آیا Benchmark ساده می تواند کیفیت Branch Predictor را نشان دهد؟

همیشه نه.

Workloadهای مختلف
Branch Behavior
متفاوتی دارند.

یک Benchmark
با Control Flow ساده
ممکن است Predictor را
چندان تحت فشار قرار ندهد.

در حالی که Workload دیگری
با Branchهای پیچیده
تفاوت معماری ها
را بهتر آشکار کند.

اشتباهات رایج — Common Mistakes: Branch Prediction
  • فرض اینکه CPU برای مشخص شدن هر Branch صبر می کند.
  • یکی دانستن Branch Prediction با Speculative Execution.
  • فرض اینکه Predictor فقط Taken یا Not Taken را حدس می زند و Target اهمیتی ندارد.
  • نادیده گرفتن Branch Target Buffer.
  • نادیده گرفتن Return Address Stack.
  • فرض اینکه تمام Branchها به یک اندازه قابل پیش بینی هستند.
  • فرض اینکه Branchless Code همیشه سریع تر است.
  • نادیده گرفتن هزینه Misprediction.
  • فرض اینکه Pipeline عمیق تر بدون Predictor قوی همیشه بهتر است.
  • نادیده گرفتن اثر Branch Prediction روی IPC.
  • فرض اینکه GHz بالاتر تمام ضعف های Front-End را جبران می کند.
  • نادیده گرفتن Compiler و Code Layout.
  • فرض اینکه Speculative Execution فقط یک قابلیت امنیتی یا فقط یک مشکل امنیتی است.
  • یکی دانستن Architectural State و Microarchitectural State.

سوالات متداول درباره Branch Prediction و Speculative Execution

Branch Prediction چیست؟

مکانیزمی در CPU است
که تلاش می کند
مسیر آینده اجرای برنامه
را پیش از مشخص شدن
نتیجه واقعی Branch
پیش بینی کند.

چرا پردازنده Branch را پیش بینی می کند؟

برای اینکه Front-End
متوقف نشود
و Pipeline
با دستورهای احتمالی آینده
پر باقی بماند.

Taken و Not Taken چیست؟

Taken یعنی Branch
به Target خود منتقل شود
و Not Taken یعنی
اجرای خطی دستورهای بعدی
ادامه پیدا کند.

Branch Misprediction چیست؟

زمانی رخ می دهد
که CPU مسیر اشتباه
را پیش بینی کرده باشد
و مجبور شود
اجرای حدسی آن مسیر
را کنار بگذارد.

چرا Branch Misprediction باعث کاهش سرعت می شود؟

زیرا بخشی از کار CPU
روی مسیر اشتباه انجام شده
و سپس Front-End
باید به مسیر صحیح
هدایت شود.

Branch Target Buffer چیست؟

ساختاری است
که به CPU کمک می کند
مقصد Branchهای شناخته شده
را پیش بینی کند.

Speculative Execution چیست؟

اجرای دستورها
پیش از قطعی شدن
برخی شرایط مانند
نتیجه Branch است.

آیا حذف Branch همیشه Performance را بهتر می کند؟

خیر.
Branch قابل پیش بینی
می تواند بسیار ارزان باشد
و جایگزینی آن با محاسبات بیشتر
الزاماً سودمند نیست.

آیا Branch Prediction روی مصرف انرژی اثر دارد؟

بله.
Misprediction می تواند
باعث Fetch،
Decode
و Execution
بی فایده روی مسیر اشتباه شود.

آیا Branch Prediction فقط در لپ تاپ مهم است؟

خیر.
این مکانیزم
در Desktop،
Workstation،
Server،
Mobile
و سایر سیستم های پردازشی
اهمیت دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Branch: دستوری که مسیر اجرای برنامه را تغییر می دهد.
  • Conditional Branch: انشعابی که نتیجه آن به یک شرط وابسته است.
  • Taken: حالتی که Branch به Target خود منتقل می شود.
  • Not Taken: حالتی که اجرای خطی ادامه پیدا می کند.
  • Branch Prediction: پیش بینی رفتار آینده Branch.
  • Branch Predictor: سخت افزار مسئول پیش بینی Branch.
  • Static Prediction: پیش بینی بر اساس قانون ثابت.
  • Dynamic Prediction: پیش بینی بر اساس رفتار گذشته برنامه.
  • Branch History: تاریخچه نتایج Branchها.
  • Local History: تاریخچه مربوط به یک Branch مشخص.
  • Global History: تاریخچه مجموعه ای از Branchهای اخیر.
  • Branch Target Buffer: ساختار پیش بینی مقصد Branch.
  • Return Address Stack: ساختار پیش بینی مقصد Returnها.
  • Indirect Branch: Branchی که مقصد آن مستقیماً در خود دستور ثابت نیست.
  • Speculative Execution: اجرای حدسی دستورها پیش از تایید نهایی مسیر.
  • Branch Misprediction: پیش بینی اشتباه مسیر Branch.
  • Misprediction Penalty: هزینه بازیابی از پیش بینی اشتباه.
  • Pipeline Flush: حذف یا کنار گذاشتن کارهای مربوط به مسیر اشتباه.
  • Branchless Code: کدی که برخی تصمیم ها را بدون Branch معمولی انجام می دهد.
  • Conditional Move: انتخاب شرطی مقدار بدون Branch سنتی.
  • Hot Path: مسیر پرتکرار اجرای برنامه.
  • PGO: بهینه سازی Compiler با استفاده از اطلاعات اجرای واقعی.
  • Hybrid Predictor: Predictor ترکیبی متشکل از چند روش پیش بینی.
  • TAGE: خانواده ای از Predictorها با Historyهای دارای طول متفاوت.
  • Loop Predictor: Predictor تخصصی برای رفتار حلقه ها.
  • Architectural State: وضعیت رسمی و قابل مشاهده معماری پردازنده.
  • Microarchitectural State: وضعیت داخلی پیاده سازی CPU مانند برخی حالت های Cache و Predictor.

خلاصه فصل

CPU مدرن
نمی تواند برای مشخص شدن
نتیجه تمام Branchها
منتظر بماند.

Branch Predictor
تلاش می کند
هم جهت Branch
و هم در موارد لازم
Target آن را
پیش بینی کند.

Branch Prediction
→
Future Control Flow Prediction

CPU سپس می تواند
روی مسیر پیش بینی شده
به صورت Speculative
کار کند.

Prediction
→
Speculation
→
Verification

اگر Prediction صحیح باشد،
Pipeline بدون توقف جدی
به کار ادامه می دهد.

اگر Prediction اشتباه باشد،
CPU باید دستورهای مسیر اشتباه
را کنار بگذارد
و اجرای صحیح
را بازیابی کند.

Misprediction
→
Wrong-Path Work
→
Recovery
→
Performance Penalty

Predictorهای مدرن
می توانند از:

  • Local History،
  • Global History،
  • Branch Target Buffer،
  • Return Address Stack،
  • Loop Prediction،
  • و چندین Predictor ترکیبی

استفاده کنند.

بهبود Branch Prediction
یکی از راه هایی است
که نسل جدید CPU
می تواند بدون اتکا
به افزایش ساده فرکانس،
IPC و Performance
بیشتری ارائه دهد.


بنابراین هنگام بررسی معماری یک پردازنده،
فقط تعداد Core،
فرکانس و حجم Cache مهم نیست؛
توانایی CPU در پیش بینی مسیر اجرای برنامه
و جلوگیری از هدر رفتن Pipeline
نیز یکی از عوامل مهم تعیین کننده کارایی واقعی است.


فصل 84
سطح: پیشرفته
موضوع: پیش بینی دسترسی آینده به داده
تمرکز: Hardware Prefetching / Cache / Memory Latency / Access Pattern


یکی از بهترین راه های کاهش زمان انتظار حافظه این است که CPU داده را قبل از نیاز واقعی به آن آماده کند

Hardware Prefetching چیست و CPU چگونه داده های مورد نیاز آینده را از قبل به Cache می آورد؟

در فصل های قبل دیدیم
فاصله سرعت میان Core پردازنده
و حافظه اصلی
بسیار زیاد است.

Cache
بخش مهمی از این فاصله
را جبران می کند،
اما یک مشکل همچنان باقی می ماند:

اگر داده مورد نیاز
داخل Cache نباشد،
CPU ممکن است مجبور شود
مدت قابل توجهی
منتظر Memory Hierarchy بماند.

حالا یک ایده مهم مطرح می شود:

چرا CPU منتظر بماند
تا برنامه واقعاً داده را درخواست کند؟

اگر بتوان الگوی دسترسی
به حافظه را پیش بینی کرد،
شاید بتوان داده آینده را
زودتر درخواست کرد.

Predict Future Memory Access
→
Fetch Data Early
→
Place Data Closer To CPU
→
Reduce Effective Latency

این ایده پایه
Hardware Prefetching است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Prefetching چیست.
  • Hardware Prefetcher چیست.
  • Demand Load و Prefetch چه تفاوتی دارند.
  • Spatial Locality چه ارتباطی با Prefetch دارد.
  • Sequential Access چیست.
  • Stride Pattern چیست.
  • Stream Prefetcher چیست.
  • Stride Prefetcher چیست.
  • Prefetch Distance چیست.
  • Prefetch Degree چیست.
  • Prefetch Accuracy چیست.
  • Prefetch Coverage چیست.
  • Prefetch Timeliness چیست.
  • Late Prefetch چیست.
  • Useless Prefetch چیست.
  • Cache Pollution چیست.
  • Memory Bandwidth چگونه تحت تاثیر Prefetch قرار می گیرد.
  • Software Prefetching چیست.
  • چرا همه Workloadها از Prefetching سود نمی برند.

Prefetching چیست؟


پیش واکشی داده — Prefetching

Prefetching
یعنی تلاش برای انتقال
داده یا دستور
به سطح نزدیک تری
از Memory Hierarchy
پیش از زمانی که
واقعاً مورد نیاز قرار گیرد.

هدف اصلی:

Hide Memory Latency

است.

Demand Access و Prefetch چه تفاوتی دارند؟

در Demand Access،
CPU زمانی داده را درخواست می کند
که اجرای برنامه
واقعاً به آن نیاز پیدا کرده است.

Need Data
→
Request Data
→
Wait If Necessary

اما در Prefetch:

Predict Need
→
Request Early
→
Data Hopefully Ready Before Use

تفاوت اصلی
در زمان شروع درخواست است.

یک مثال ساده

فرض کنید برنامه
عناصر یک Array بزرگ
را پشت سر هم می خواند.

A[0]
→
A[1]
→
A[2]
→
A[3]
→
A[4]

CPU پس از مشاهده
چند دسترسی متوالی
ممکن است حدس بزند:

اگر برنامه اکنون
این قسمت حافظه را می خواند،
احتمالاً چند Cache Line بعدی
نیز به زودی لازم خواهند شد.

بنابراین می تواند
درخواست آنها را
پیش از Demand Access واقعی
آغاز کند.

Hardware Prefetcher چیست؟


پیش واکشی کننده سخت افزاری — Hardware Prefetcher

Hardware Prefetcher
منطق سخت افزاری داخل پردازنده
یا Memory Subsystem است
که الگوهای دسترسی به حافظه
را بررسی می کند
و تلاش می کند
دسترسی های آینده
را پیش بینی کند.

در صورت تشخیص
یک Pattern مناسب،
Prefetcher می تواند
درخواست داده آینده
را زودتر صادر کند.

چرا Prefetching را به سخت افزار می سپاریم؟

سخت افزار
می تواند رفتار واقعی
Memory Access
را هنگام اجرای برنامه
مشاهده کند.

بنابراین لازم نیست
برنامه نویس برای تمام نرم افزارها
به صورت دستی
مشخص کند کدام داده
در آینده لازم خواهد شد.

Observe Access Pattern
→
Detect Pattern
→
Predict Future Address
→
Prefetch

Spatial Locality چرا برای Prefetching مهم است؟

Spatial Locality
می گوید اگر برنامه
به یک Address
دسترسی پیدا کند،
احتمال دارد
در آینده نزدیک
به Addressهای اطراف آن
نیز دسترسی پیدا کند.

این رفتار
پایه بسیاری از
Prefetching Patternهای ساده است.

Address X
→
X + Δ
→
X + 2Δ
→
X + 3Δ

Sequential Access چیست؟

یکی از ساده ترین
الگوهای قابل پیش بینی
دسترسی ترتیبی است.

برای مثال:

Cache Line 100
→
Cache Line 101
→
Cache Line 102
→
Cache Line 103

وقتی چنین الگویی
مشاهده شود،
Prefetcher می تواند
Lineهای بعدی
را زودتر درخواست کند.

Stream Prefetcher چیست؟

Stream Prefetcher
تلاش می کند
جریان های نسبتاً منظم
دسترسی به حافظه
را تشخیص دهد.

Line N
→
Line N+1
→
Line N+2
→
Predict N+3

چنین Prefetcherهایی
می توانند در پردازش
آرایه ها،
Bufferها
و جریان های ترتیبی داده
موثر باشند.

Stride Prefetcher چیست؟

همه دسترسی ها
پشت سر هم نیستند.

ممکن است برنامه
با فاصله ثابت
در حافظه حرکت کند.

Address 1000
→
Address 1064
→
Address 1128
→
Address 1192

اختلاف ثابت:

+64 Bytes

یک Stride Prefetcher
می تواند این فاصله ثابت
را تشخیص دهد
و Address بعدی
را پیش بینی کند.


گام دسترسی — Stride

Stride
فاصله میان
Addressهای متوالی
در یک Pattern
دسترسی به حافظه است.

برای مثال:

100
→
108
→
116
→
124

دارای Stride برابر:

+8

است.

پشت صحنه فنی — Under the Hood: Prefetcher چگونه یک Pattern را یاد می گیرد؟

یک طراحی مفهومی ساده
می تواند Addressهای اخیر
یک جریان Load
را دنبال کند.

اگر اختلاف میان Addressها
چند بار تکرار شود:

A1 → A2 = +64

A2 → A3 = +64

A3 → A4 = +64

سخت افزار می تواند
احتمال دهد
دسترسی بعدی نیز:

A4 + 64

خواهد بود.

سپس Prefetch Request
برای Address آینده
صادر می شود.

Predictorهای واقعی
می توانند بسیار پیچیده تر
از این مثال آموزشی باشند.

Prefetching چه ارتباطی با Cache Line دارد؟

Cache
معمولاً داده را
به صورت Byte منفرد
میان سطوح مختلف
جابه جا نمی کند.

انتقال معمولاً
در واحدهایی مانند
Cache Line انجام می شود.

بنابراین Prefetcher نیز
در بسیاری از موارد
با Lineهای حافظه
سروکار دارد.

Predicted Address
→
Corresponding Cache Line
→
Prefetch Request

داده Prefetch شده به کجا می رود؟

پاسخ
به Microarchitecture
و نوع Prefetcher
بستگی دارد.

داده ممکن است
به یکی از سطوح Cache
یا ساختارهای مرتبط
وارد شود.

برای مثال،
یک Prefetcher
ممکن است عمدتاً
برای L1
و Prefetcher دیگری
برای L2
طراحی شده باشد.

بنابراین:

Hardware Prefetcher
≠
One Universal Prefetch Mechanism

آیا یک CPU فقط یک Prefetcher دارد؟

الزاماً خیر.

یک Microarchitecture
می تواند چند مکانیزم
Prefetching مختلف
برای سطوح متفاوت Cache
یا Patternهای مختلف
داشته باشد.

هر Prefetcher
می تواند روی
نوع خاصی از رفتار
تمرکز داشته باشد.

Prefetch Distance چیست؟


فاصله پیش واکشی — Prefetch Distance

Prefetch Distance
مشخص می کند
Prefetcher تا چه اندازه
جلوتر از موقعیت فعلی
جریان دسترسی
داده را درخواست می کند.

Current Access
→
+1
→
+2
→
+3
→
Prefetch Ahead

اگر Prefetch Distance خیلی کم باشد چه می شود؟

Prefetch ممکن است
بیش از حد دیر
صادر شود.

در این حالت
زمانی که CPU
واقعاً داده را نیاز دارد،
انتقال هنوز
کامل نشده است.

Prefetch Too Late
→
Demand Arrives
→
Data Still Missing
→
Stall

اگر Prefetch Distance خیلی زیاد باشد چه می شود؟

داده ممکن است
خیلی زود وارد Cache شود.

سپس پیش از استفاده واقعی
به دلیل فشار Cache
Evict شود.

یا ممکن است
اصلاً مورد استفاده
قرار نگیرد.

Too Early
→
Occupy Cache
→
Possible Eviction
→
Possible Waste

Prefetch Degree چیست؟

Prefetch Degree
به تعداد درخواست هایی
اشاره دارد
که Prefetcher
برای آینده
در یک مرحله
یا جریان مشخص
ایجاد می کند.

Prefetcher تهاجمی تر
ممکن است چند Line آینده
را همزمان درخواست کند.

Current Line
→
Prefetch +1
→
Prefetch +2
→
Prefetch +3

Prefetch Aggressiveness چیست؟

یک Prefetcher
می تواند محافظه کار
یا تهاجمی باشد.

Prefetching تهاجمی
ممکن است Latency بیشتری
را پنهان کند،
اما ریسک:

  • مصرف Bandwidth بیشتر،
  • Cache Pollution بیشتر،
  • درخواست های بی استفاده بیشتر،
  • و رقابت بیشتر در Memory Subsystem

را نیز افزایش می دهد.

Prefetch Accuracy چیست؟

Accuracy
نشان می دهد
چه سهمی از داده هایی
که Prefetch شده اند
واقعاً بعداً
توسط برنامه استفاده شده اند.

Useful Prefetches
/
Total Prefetches
=
Prefetch Accuracy

Prefetcher با Accuracy پایین
می تواند منابع سیستم
را برای داده های بی استفاده
مصرف کند.

Prefetch Coverage چیست؟

Coverage
به این سؤال پاسخ می دهد:

Prefetcher چه مقدار
از Missهایی را
که بدون Prefetch رخ می دادند
توانسته پیشاپیش پوشش دهد؟

Prefetcher ممکن است
Accuracy بالایی داشته باشد
اما بسیار محافظه کار باشد
و فقط تعداد کمی
از Missها را پوشش دهد.

Prefetch Timeliness چیست؟

فقط درست بودن Prediction
کافی نیست.

داده باید
در زمان مناسب
برسد.

Correct Address
+
Correct Time
=
Useful Prefetch

اگر داده
بعد از Demand Access برسد،
Prediction درست بوده
اما Prefetch
دیر انجام شده است.

نکته مهندسی — Engineering Insight: Prefetcher خوب فقط باید درست حدس نزند؛ باید به اندازه کافی زود و بدون هدر دادن بیش از حد منابع حدس بزند

طراحی Prefetcher
یک مسئله تعادل است.

Accuracy
+
Coverage
+
Timeliness

باید همزمان
در نظر گرفته شوند.

افزایش یکی از آنها
ممکن است دیگری
را تحت تاثیر قرار دهد.

Late Prefetch چیست؟

اگر Address آینده
درست پیش بینی شود
اما درخواست
به اندازه کافی زود
صادر نشده باشد،
Demand Access
قبل از رسیدن داده
اتفاق می افتد.

این وضعیت:

Late Prefetch

نامیده می شود.

Useless Prefetch چیست؟

اگر Prefetcher
داده ای را وارد Cache کند
اما برنامه
پیش از Eviction آن
هرگز از داده استفاده نکند،
Prefetch عملاً
مفید نبوده است.

Prefetch
→
Never Used
→
Evicted
=
Useless Prefetch

Cache Pollution چیست؟

Cache ظرفیت محدودی دارد.

اگر Prefetcher
داده های کم ارزش
یا اشتباه زیادی
وارد Cache کند،
ممکن است داده های مفید
برای جا باز کردن
Evict شوند.

Bad Prefetch
→
Occupy Cache
→
Evict Useful Data
→
Cache Pollution

تاثیر بر عملکرد — Performance Impact: Prefetch اشتباه می تواند به جای افزایش سرعت، Cache را بدتر کند

Prefetching همیشه
رایگان نیست.

هر داده Prefetch شده
می تواند:

  • ظرفیت Cache مصرف کند،
  • Bandwidth مصرف کند،
  • صف های Memory Request را اشغال کند،
  • و با Demand Requestها رقابت کند.

بنابراین Prefetcher
باید میان Aggressiveness
و دقت
تعادل ایجاد کند.

Prefetching چه تاثیری روی Memory Bandwidth دارد؟

Prefetch Request
نیز یک درخواست واقعی
در Memory Hierarchy است.

اگر Prefetcher
داده زیادی درخواست کند،
ترافیک حافظه
افزایش پیدا می کند.

Aggressive Prefetching
→
More Memory Requests
→
More Bandwidth Consumption

در Workloadهای
Bandwidth-Bound،
این موضوع
اهمیت ویژه ای دارد.

چرا Prefetching نمی تواند محدودیت Bandwidth را حذف کند؟

Prefetching
عمدتاً تلاش می کند
Latency را پنهان کند.

اما اگر برنامه
واقعاً حجم داده ای
بیشتر از ظرفیت انتقال
Memory Subsystem
نیاز داشته باشد،
Prefetcher نمی تواند
Bandwidth فیزیکی بیشتری
ایجاد کند.

Prefetching
≠
More Physical Memory Bandwidth

تفاوت Latency و Bandwidth در این بحث چیست؟

موضوع Latency Bandwidth
سؤال اصلی رسیدن یک درخواست چقدر طول می کشد؟ در واحد زمان چه مقدار داده منتقل می شود؟
Prefetching می تواند بخشی از آن را پنهان کند نمی تواند ظرفیت فیزیکی را ایجاد کند
Prefetch زیاد ممکن است Stall را کاهش دهد ممکن است فشار بیشتری ایجاد کند

Prefetching چه ارتباطی با Memory-Level Parallelism دارد؟

به جای اینکه CPU
یک Memory Request
را ارسال کند
و کاملاً منتظر نتیجه بماند،
سیستم های مدرن
می توانند چند درخواست
را همزمان
در حال پردازش داشته باشند.

Prefetching
می تواند تعداد درخواست های
آینده را زودتر
وارد Memory Subsystem کند.

Multiple Outstanding Requests
→
Better Latency Overlap

MSHR چه ارتباطی با Prefetching دارد؟

در فصل Cache
با ساختارهایی مانند
MSHR آشنا شدیم
که Missهای در حال انتظار
را دنبال می کنند.

Prefetch Requestها نیز
می توانند منابع مربوط
به Miss Handling
را مصرف کنند.

اگر Prefetching
بیش از حد تهاجمی باشد،
ممکن است بخشی از منابع
لازم برای Demand Missهای واقعی
را اشغال کند.

آیا Demand Request و Prefetch Request همیشه اولویت یکسان دارند؟

الزاماً خیر.

Microarchitecture
می تواند درخواست های واقعی برنامه
و درخواست های Speculative Prefetch
را با سیاست های متفاوت
مدیریت کند.

هدف این است
که Prefetching
به Demand Accessهای مهم
آسیب زیادی وارد نکند.

چرا Pointer Chasing برای Prefetcher سخت است؟

فرض کنید هر Node
آدرس Node بعدی
را در خود نگه دارد.

Node A
→
Pointer To B
→
Node B
→
Pointer To C
→
Node C

تا زمانی که Node A
خوانده نشود،
Address مربوط به B
ممکن است مشخص نباشد.

در نتیجه
الگوی ساده Stride
وجود ندارد
و Prefetch کردن
دشوارتر می شود.

چرا Linked List ممکن است از Array کندتر باشد؟

یکی از دلایل احتمالی
تفاوت در Memory Access Pattern است.

Array
معمولاً داده را
در حافظه
منظم تر نگه می دارد.

Array
→
Regular Access
→
Easier Prefetching

اما Nodeهای Linked List
می توانند در نقاط مختلف حافظه
پراکنده باشند.

Linked List
→
Pointer Chasing
→
Irregular Access
→
Harder Prefetching

البته این تنها دلیل
تفاوت Performance
میان این ساختارها نیست.

Random Access چه مشکلی برای Prefetcher ایجاد می کند؟

اگر Addressهای آینده
ارتباط قابل تشخیص
با Addressهای قبلی
نداشته باشند،
Prediction دشوار می شود.

A
→
X
→
Q
→
M
→
Z

Prefetcher ساده
نمی تواند از چنین الگویی
Stride قابل اعتمادی
استخراج کند.

نکته مهندسی — Engineering Insight: شکل Data Structure می تواند تعیین کند سخت افزار تا چه اندازه قادر به پنهان کردن Memory Latency باشد

دو الگوریتم
ممکن است از نظر تعداد
عملیات منطقی
مشابه باشند،
اما Memory Layout
متفاوتی داشته باشند.

Layout منظم تر
می تواند:

  • Cache Locality را بهتر کند،
  • Prefetching را آسان تر کند،
  • Memory-Level Parallelism را افزایش دهد،
  • و Stallهای حافظه را کاهش دهد.

به همین دلیل
Performance Engineering
فقط شمارش دستورها نیست.

Software Prefetching چیست؟

در برخی ISAها
دستورها یا Hintهایی
برای Prefetch
وجود دارند.

Compiler
یا برنامه نویس
می تواند به CPU
اعلام کند
که احتمالاً داده مشخصی
در آینده لازم خواهد شد.

Software
→
Prefetch Hint
→
Memory Hierarchy

Hardware Prefetching و Software Prefetching چه تفاوتی دارند؟

ویژگی Hardware Prefetching Software Prefetching
تصمیم گیرنده سخت افزار CPU Compiler یا Software
اطلاعات اصلی رفتار Runtime اطلاعات برنامه و Compiler
نیاز به تغییر برنامه معمولاً خیر ممکن است لازم باشد
واکنش به رفتار واقعی مستقیم بسته به روش پیاده سازی

چرا Software Prefetching همیشه بهتر نیست؟

زمان بندی Prefetch
باید دقیق باشد.

اگر Hint
خیلی دیر صادر شود،
داده به موقع نمی رسد.

اگر خیلی زود صادر شود،
ممکن است داده
پیش از استفاده Evict شود.

علاوه بر این،
Hardware Prefetcher
ممکن است همان Pattern
را از قبل
به خوبی تشخیص دهد.

Compiler می تواند Prefetching انجام دهد؟

در برخی شرایط
Compiler می تواند
Pattern دسترسی
را تحلیل کند
و Prefetch Instruction
یا Optimization مناسب
ایجاد کند.

اما موفقیت این روش
به قابل پیش بینی بودن
Access Pattern
و معماری هدف
بستگی دارد.

Vectorization چه ارتباطی با Prefetching دارد؟

Workloadهای Vectorized
اغلب حجم زیادی داده
را با Pattern نسبتاً منظم
پردازش می کنند.

در چنین شرایطی
Hardware Prefetcher
ممکن است بتواند
جریان حافظه را
به خوبی تشخیص دهد.

Regular Vector Workload
→
Predictable Memory Stream
→
Effective Prefetching

البته اگر حجم داده
به محدودیت Bandwidth برسد،
Prefetching نمی تواند
آن محدودیت را حذف کند.

ترتیب پیمایش Matrix چرا مهم است؟

در بسیاری از زبان ها
داده Matrix
با Layout مشخصی
در حافظه قرار می گیرد.

پیمایش مطابق Layout
می تواند Access Pattern
منظم تری ایجاد کند.

Contiguous Access
→
Better Locality
→
Easier Prefetching

در مقابل،
پیمایش با پرش های بزرگ
می تواند فشار بیشتری
روی Cache و TLB
ایجاد کند.

Prefetching چه ارتباطی با TLB دارد؟

دسترسی به داده
فقط به Cache
وابسته نیست.

Address Translation
نیز باید انجام شود.

در Workloadهای بزرگ،
رفتار TLB
و Page Translation
می تواند روی توانایی CPU
برای حفظ جریان سریع
Memory Access
اثر بگذارد.

برخی معماری ها
مکانیزم هایی برای کمک
به پیش بینی یا آماده سازی
بخش هایی از مسیر Translation
نیز دارند،
اما جزئیات
Microarchitecture-specific است.

Prefetching در CPU چند هسته ای چه چالشی دارد؟

در سیستم چند هسته ای،
چند Core
می توانند همزمان
Prefetch Request
ایجاد کنند.

این درخواست ها
ممکن است برای:

  • Shared Cache Capacity،
  • Memory Bandwidth،
  • Memory Controller Resources،
  • و Interconnect Bandwidth

رقابت کنند.

More Cores
→
More Memory Streams
→
More Prefetch Traffic

Prefetching در Serverها چرا مهم است؟

Serverها
می توانند تعداد زیادی Core
و Memory Channel
داشته باشند.

Workloadهایی مانند:

  • Database،
  • Analytics،
  • Compression،
  • Scientific Computing،
  • Virtualization،
  • و Data Processing

ممکن است حجم زیادی
Memory Traffic
ایجاد کنند.

Prefetching مناسب
می تواند Latency
برخی جریان های داده
را پنهان کند،
اما Prefetching بیش از حد
نیز ممکن است
Shared Bandwidth
را تحت فشار قرار دهد.

Databaseها چقدر از Prefetching سود می برند؟

پاسخ به نوع
Data Structure
و Query بستگی دارد.

Scan کردن
یک بخش بزرگ
و نسبتاً پیوسته از داده
می تواند برای Prefetcher
مناسب باشد.

Sequential Scan
→
Predictable Stream

اما دسترسی های
پراکنده و وابسته
به Pointer
می توانند
سخت تر پیش بینی شوند.

Prefetching در بازی ها چه نقشی دارد؟

موتور بازی
با انواع مختلفی
از داده ها سروکار دارد:

  • Object Data،
  • Physics State،
  • Animation Data،
  • AI Structures،
  • Scene Data،
  • و Rendering Preparation.

بخش هایی که
Memory Layout منظم تری دارند
می توانند استفاده بهتری
از Cache
و Hardware Prefetching
داشته باشند.

Data-Oriented Design چه ارتباطی با Prefetching دارد؟

یکی از ایده های
Data-Oriented Design
این است که
Data Layout
متناسب با نحوه پردازش
طراحی شود.

اگر داده هایی
که پشت سر هم پردازش می شوند
در حافظه نیز
نزدیک یکدیگر باشند،
CPU می تواند
از Cache Line
و Prefetcher
بهتر استفاده کند.

Better Data Layout
→
Better Locality
→
Better Prefetchability
→
Fewer Memory Stalls

Array of Structures و Structure of Arrays چه ارتباطی با Memory Access دارند؟

فرض کنید
برای هزاران Object
فقط یک ویژگی خاص
پردازش می شود.

اگر آن ویژگی ها
به شکل پیوسته
در حافظه قرار گرفته باشند،
دسترسی می تواند
منظم تر باشد.

Structure of Arrays
→
Potentially Contiguous Field Access

در مقابل،
Array of Structures
می تواند داده های دیگری
را نیز داخل همان Cache Lineها
وارد کند.

اینکه کدام Layout بهتر است
کاملاً به Workload بستگی دارد.

اشتباه رایج — Common Mistake: هرچه Prefetch بیشتر باشد Performance بهتر می شود

این تصور صحیح نیست.

Prefetch اشتباه
یا بیش از حد
می تواند:

  • Bandwidth را مصرف کند،
  • Cache Pollution ایجاد کند،
  • منابع Miss Handling را اشغال کند،
  • و با درخواست های واقعی برنامه رقابت کند.

Prefetcher خوب
باید انتخابی
و سازگار با رفتار Workload
باشد.

آیا Hardware Prefetcher را می توان غیرفعال کرد؟

در برخی Platformها
ممکن است Firmware،
BIOS
یا ابزارهای تخصصی
امکان کنترل
بعضی Prefetcherها
را فراهم کنند.

اما این موضوع
وابسته به CPU
و مادربرد است.

برای استفاده عمومی
معمولاً دلیلی برای
غیرفعال کردن Prefetcher
وجود ندارد.

چنین تنظیماتی
بیشتر برای:

  • Benchmarking،
  • Performance Analysis،
  • Research،
  • و Workloadهای تخصصی

بررسی می شوند.

آیا هنگام خرید CPU باید نوع Prefetcher را بررسی کنیم؟

برای کاربر معمولی،
معمولاً خیر.

سازندگان CPU
جزئیات کامل
تمام Prefetcherهای داخلی
را نیز همیشه
به عنوان مشخصات محصول
منتشر نمی کنند.

اثر این مکانیزم ها
بهتر است
در Performance واقعی
پردازنده
و Benchmarkهای معتبر
مشاهده شود.

آیا بهبود Prefetcher می تواند نسل جدید CPU را سریع تر کند؟

بله.

اگر نسل جدید
بتواند Access Patternهای بیشتری
را تشخیص دهد،
Prefetch را دقیق تر
زمان بندی کند
و منابع حافظه
را بهتر مدیریت کند،
Memory Stall
می تواند کاهش پیدا کند.

Better Prefetching
→
Fewer Effective Cache Miss Stalls
→
Higher Useful Throughput

Prefetching چه ارتباطی با مقایسه CPUهای هم فرکانس دارد؟

فرض کنید دو CPU
هر دو با فرکانس مشابه
کار می کنند.

یکی ممکن است
Memory Access آینده
را بهتر پیش بینی کند
و زمان کمتری
منتظر داده بماند.

در نتیجه:

Same Clock Frequency
≠
Same Effective Memory Performance

این یکی دیگر
از دلایلی است
که GHz به تنهایی
معیار قدرت CPU نیست.

Hardware Prefetching و Branch Prediction چه شباهتی دارند؟

هر دو تلاش می کنند
آینده را پیش بینی کنند،
اما موضوع Prediction
متفاوت است.

مکانیزم چه چیزی را پیش بینی می کند؟ هدف اصلی
Branch Prediction مسیر آینده دستورها جلوگیری از توقف Front-End
Hardware Prefetching داده احتمالی آینده پنهان کردن Memory Latency

به صورت مفهومی:

Branch Predictor
→
What Instructions Will We Need?

Data Prefetcher
→
What Data Will We Need?

آیا Prefetching نوعی Speculation است؟

از نظر مفهومی
بله؛
زیرا CPU
پیش از درخواست قطعی برنامه
حدس می زند
که داده ای در آینده
مورد نیاز خواهد بود.

اما Prefetching
با Speculative Execution
Branchها
یک مکانیزم یکسان نیست.

هر دو از Prediction
برای کاهش زمان انتظار
استفاده می کنند،
ولی روی بخش های متفاوتی
از اجرای برنامه
تمرکز دارند.

Prefetching چه تاثیری روی مصرف انرژی دارد؟

Prefetch مفید
می تواند باعث شود
Core زمان کمتری
در انتظار داده بماند.

اما Prefetchهای بی استفاده
باعث انتقال داده
بدون منفعت واقعی می شوند.

Useless Prefetch
→
Memory Traffic
+
Cache Activity
+
Energy Consumption

بنابراین Energy Efficiency
نیز یکی از ملاحظات
طراحی Prefetcher است.

Prefetching در سیستم های NUMA چه پیچیدگی بیشتری دارد؟

در سیستم NUMA،
Latency و Bandwidth
دسترسی به حافظه
می تواند به محل فیزیکی داده
و Node پردازنده
وابسته باشد.

Prefetching
می تواند بخشی از Latency
را پنهان کند،
اما نمی تواند
هزینه معماری
یک Data Placement نامناسب
را به طور کامل حذف کند.

Bad NUMA Placement
+
Remote Memory Access
≠
Fixed By Prefetching Alone

اشتباهات رایج — Common Mistakes: Hardware Prefetching
  • فرض اینکه Prefetching باعث افزایش ظرفیت RAM می شود.
  • فرض اینکه Prefetching پهنای باند فیزیکی حافظه را افزایش می دهد.
  • فرض اینکه هر Prefetch مفید است.
  • نادیده گرفتن Cache Pollution.
  • نادیده گرفتن مصرف Memory Bandwidth توسط Prefetch.
  • فرض اینکه تمام Access Patternها قابل پیش بینی هستند.
  • فرض اینکه Random Access مانند Sequential Access Prefetch می شود.
  • نادیده گرفتن Pointer Chasing.
  • فرض اینکه Accuracy تنها معیار کیفیت Prefetcher است.
  • نادیده گرفتن Coverage.
  • نادیده گرفتن Timeliness.
  • فرض اینکه Prefetch زودتر همیشه بهتر است.
  • فرض اینکه Software Prefetch همیشه از Hardware Prefetch بهتر است.
  • نادیده گرفتن رقابت Prefetch Request با Demand Request.
  • نادیده گرفتن تاثیر Data Layout بر Prefetchability.

سوالات متداول درباره Hardware Prefetching

Hardware Prefetching چیست؟

مکانیزمی سخت افزاری است
که تلاش می کند
داده های مورد نیاز آینده
را پیش بینی
و زودتر وارد
بخش مناسبی از Memory Hierarchy کند.

هدف اصلی Prefetching چیست؟

کاهش اثر Memory Latency
با شروع زودتر
انتقال داده است.

Stride Prefetcher چیست؟

Prefetcherی است
که فاصله های منظم
میان Addressهای حافظه
را تشخیص می دهد
و Addressهای آینده
را بر اساس همان Pattern
پیش بینی می کند.

آیا Prefetching همیشه Performance را افزایش می دهد؟

خیر.
Prefetch اشتباه
می تواند Bandwidth مصرف کند
و Cache Pollution
ایجاد کند.

Prefetch Accuracy چیست؟

نشان می دهد
چه مقدار از داده های Prefetch شده
واقعاً بعداً
مورد استفاده قرار گرفته اند.

Prefetch Timeliness چیست؟

نشان می دهد
داده Prefetch شده
آیا در زمان مناسب
و پیش از Demand Access
رسیده است یا خیر.

Cache Pollution چیست؟

زمانی است که
داده های کم ارزش
یا بی استفاده
فضای Cache را اشغال کنند
و باعث خروج داده های مفید شوند.

چرا Linked List برای Prefetcher دشوارتر است؟

زیرا Address عنصر بعدی
ممکن است تنها
پس از خواندن Pointer
عنصر فعلی مشخص شود
و Pattern منظم ساده ای
وجود نداشته باشد.

Software Prefetching چیست؟

روشی است که
Compiler یا Software
با استفاده از دستور
یا Hint مناسب
درخواست آماده سازی
داده آینده را ایجاد می کند.

آیا کاربر عادی باید Prefetcher CPU را تنظیم کند؟

معمولاً خیر.
این مکانیزم
به صورت خودکار
توسط سخت افزار مدیریت می شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Prefetching: آماده سازی زودهنگام داده پیش از Demand Access.
  • Hardware Prefetcher: منطق سخت افزاری برای پیش بینی دسترسی آینده به حافظه.
  • Demand Access: درخواست حافظه زمانی که برنامه واقعاً به داده نیاز دارد.
  • Sequential Access: دسترسی منظم و پشت سر هم به حافظه.
  • Stream Prefetcher: Prefetcher طراحی شده برای تشخیص جریان های منظم حافظه.
  • Stride: فاصله میان Addressهای متوالی یک Pattern.
  • Stride Prefetcher: Prefetcher مبتنی بر تشخیص Stride.
  • Prefetch Distance: فاصله ای که Prefetcher جلوتر از جریان فعلی پیش بینی می کند.
  • Prefetch Degree: تعداد درخواست های آینده Prefetch شده.
  • Prefetch Accuracy: نسبت Prefetchهای مفید به کل Prefetchها.
  • Prefetch Coverage: میزان پوشش Missهای قابل جلوگیری توسط Prefetcher.
  • Prefetch Timeliness: مناسب بودن زمان رسیدن داده Prefetch شده.
  • Late Prefetch: Prefetch صحیحی که بیش از حد دیر رسیده است.
  • Useless Prefetch: داده Prefetch شده ای که پیش از استفاده از Cache خارج می شود یا هرگز استفاده نمی شود.
  • Cache Pollution: اشغال Cache توسط داده های کم ارزش و خروج داده های مفید.
  • Pointer Chasing: دسترسی زنجیره ای که Address بعدی به داده فعلی وابسته است.
  • Software Prefetching: Prefetch ایجاد شده توسط Compiler یا Software.
  • Prefetch Aggressiveness: میزان تهاجمی بودن سیاست Prefetch.
  • Data-Oriented Design: طراحی داده بر اساس الگوی پردازش و رفتار حافظه.

خلاصه فصل

یکی از مشکلات اساسی
CPU مدرن
فاصله زیاد
میان سرعت Core
و Latency حافظه است.

Hardware Prefetcher
تلاش می کند
با مشاهده رفتار گذشته،
Addressهای آینده
را پیش بینی کند.

Observe
→
Detect Pattern
→
Predict
→
Prefetch

اگر Prediction صحیح
و به موقع باشد،
زمانی که برنامه
واقعاً داده را درخواست می کند،
داده ممکن است
از قبل در Cache
یا سطح نزدیک تری
از Memory Hierarchy
آماده باشد.

Early Data Arrival
→
Less Effective Memory Latency
→
Fewer CPU Stalls

اما Prefetching
یک تعادل حساس است.

Prefetch بیش از حد
می تواند:

  • Cache Pollution ایجاد کند،
  • Memory Bandwidth مصرف کند،
  • منابع Miss Handling را اشغال کند،
  • و با Demand Requestهای واقعی رقابت کند.

به همین دلیل
سه مفهوم:

Accuracy
+
Coverage
+
Timeliness

در ارزیابی Prefetcher
اهمیت زیادی دارند.

Workloadهای دارای
Sequential Access
و Stride منظم
معمولاً برای Prefetcher
آسان تر هستند،
در حالی که:

Random Access
/
Pointer Chasing
/
Irregular Data Structures

می توانند پیش بینی
را دشوارتر کنند.


در نتیجه، سرعت واقعی CPU فقط به سرعت اجرای دستورها وابسته نیست؛
توانایی معماری در رساندن داده مناسب،
به مکان مناسب،
در زمان مناسب نیز بخش مهمی از Performance پردازنده مدرن است.


← فصل قبل: Branch Prediction و Speculative Execution

 

فصل بعد: Integrated Memory Controller، کانال حافظه و مسیر ارتباط CPU با RAM →


فصل 85
سطح: پیشرفته
موضوع: ارتباط پردازنده با حافظه اصلی
تمرکز: IMC / Memory Channel / DDR / Bandwidth / Rank / DIMM


RAM مستقیماً و بدون واسطه با هسته های CPU صحبت نمی کند؛ کنترلر حافظه یکی از مهم ترین بخش های مسیر میان پردازنده و حافظه اصلی است

<

Integrated Memory Controller
و Memory Channel؛ CPU چگونه با RAM ارتباط برقرار می کند؟

وقتی یک برنامه
به داده ای نیاز دارد
که در Cacheهای پردازنده
موجود نیست،
در نهایت ممکن است
لازم باشد داده
از حافظه اصلی
دریافت شود.

اما ارتباط CPU و RAM
فقط یک مسیر ساده
برای انتقال Byteها نیست.

پردازنده باید
درخواست های حافظه را مدیریت کند،
فرمان های مناسب
برای DRAM ایجاد کند،
زمان بندی دسترسی ها را کنترل کند
و داده را از کانال های حافظه
دریافت یا ارسال کند.

یکی از اجزای کلیدی
این فرآیند:

Integrated Memory Controller

یا به اختصار:

IMC

است.

CPU Core
→
Cache Hierarchy
→
Memory Controller
→
Memory Channel
→
DRAM

در این فصل چه چیزهایی یاد می گیریم؟

  • Memory Controller چیست.
  • Integrated Memory Controller چیست.
  • چرا کنترلر حافظه وارد خود CPU شد.
  • Memory Channel چیست.
  • Single Channel و Dual Channel چه تفاوتی دارند.
  • Quad Channel و کانال های بیشتر کجا استفاده می شوند.
  • Bus Width چیست.
  • DDR چگونه داده را منتقل می کند.
  • MT/s با MHz چه تفاوتی دارد.
  • Memory Bandwidth چگونه محاسبه می شود.
  • Memory Latency چیست.
  • DIMM و SO-DIMM چیست.
  • Memory Rank چیست.
  • Single Rank و Dual Rank چه تفاوتی دارند.
  • Bank و Bank Group چیست.
  • چرا تعداد ماژول RAM با تعداد Channel یکی نیست.
  • چرا Dual Channel همیشه Performance را دو برابر نمی کند.
  • چرا گرافیک مجتمع به پهنای باند RAM حساس است.
  • Memory Controller چگونه روی اورکلاک RAM اثر می گذارد.
  • ECC و Registered Memory چه ارتباطی با پلتفرم های حرفه ای دارند.

Memory Controller چیست؟


کنترلر حافظه — Memory Controller

Memory Controller
بخشی از سیستم است
که ارتباط میان پردازنده
و حافظه DRAM
را مدیریت می کند.

این کنترلر
درخواست های حافظه
را دریافت می کند
و آنها را به عملیات
قابل اجرا توسط DRAM
تبدیل و زمان بندی می کند.

Integrated Memory Controller چیست؟

در بسیاری از پردازنده های مدرن،
Memory Controller
داخل خود Processor Package
یا Dieهای مرتبط با پردازنده
قرار دارد.

به این معماری:

Integrated Memory Controller

گفته می شود.

عبارت رایج آن:

IMC

است.

قبل از IMC ارتباط CPU و RAM چگونه بود؟

در بسیاری از معماری های قدیمی،
کنترلر حافظه
در چیپ جداگانه ای
روی مادربرد قرار داشت.

این چیپ
معمولاً بخشی از
Northbridge
بود.

CPU
→
Front-Side Bus
→
Northbridge
→
Memory Controller
→
RAM

در معماری های مدرن
بخش بزرگی از این مسیر
به داخل پردازنده
منتقل شده است.

چرا Memory Controller وارد CPU شد؟

نزدیک کردن کنترلر حافظه
به پردازنده
می تواند چند مزیت مهم
ایجاد کند.

  • کاهش بخشی از Latency ارتباط با حافظه،
  • حذف برخی واسطه های قدیمی،
  • کنترل مستقیم تر Memory Interface،
  • امکان طراحی بهتر برای پردازنده های چند هسته ای،
  • و افزایش مقیاس پذیری Memory Subsystem.

مسیر یک دسترسی به RAM چگونه است؟

به صورت بسیار ساده شده،
اگر داده مورد نیاز
در Cacheهای نزدیک پردازنده
پیدا نشود،
درخواست می تواند
به سمت Memory Subsystem
حرکت کند.

Core
→
L1
→
L2
→
Last-Level Cache
→
Memory Controller
→
DRAM

مسیر دقیق
به Microarchitecture
وابسته است
و نباید این نمودار
را نقشه فیزیکی یکسان
برای تمام CPUها در نظر گرفت.

Memory Channel چیست؟


کانال حافظه — Memory Channel

Memory Channel
یک رابط مستقل
برای ارتباط Memory Controller
با حافظه است.

افزایش تعداد Channelها
می تواند امکان انتقال
مقدار بیشتری داده
در واحد زمان
را فراهم کند.

Single Channel چیست؟

اگر Memory Subsystem
فقط از یک Channel فعال
برای انتقال داده استفاده کند،
سیستم در حالت:

Single Channel

کار می کند.

در یک سیستم DDR معمولی،
یک کانال حافظه
معمولاً مسیر داده ای
با عرض مجموع 64 بیت
در اختیار دارد.

Dual Channel چیست؟

در Dual Channel،
Memory Controller
می تواند از دو Channel
برای ارتباط با حافظه
استفاده کند.

Channel A
+
Channel B

در شرایط مناسب،
این ساختار
پهنای باند نظری حافظه
را نسبت به یک Channel
افزایش می دهد.

تفاوت مفهومی Single Channel و Dual Channel

Single Channel:
CPU
⇄
64-bit Memory Path
⇄
RAM

Dual Channel:
CPU
⇄
Channel A
+
Channel B
⇄
RAM

نکته مهم این است
که Channel
را نباید با
تعداد ماژول های RAM
یکی دانست.

آیا دو عدد RAM همیشه یعنی Dual Channel؟

خیر.

تعداد ماژول ها
و تعداد Channelهای فعال
دو مفهوم متفاوت هستند.

مادربرد،
CPU،
نحوه سیم کشی Slotها،
ظرفیت ماژول ها
و محل نصب آنها
می توانند تعیین کنند
حافظه در چه حالتی
کار کند.

به همین دلیل
هنگام نصب RAM
باید راهنمای مادربرد
یا سیستم
بررسی شود.

چرا مادربرد چهار Slot RAM دارد ولی CPU ممکن است Dual Channel باشد؟

چون تعداد Slot
الزاماً برابر
با تعداد Memory Channel نیست.

یک مادربرد Dual Channel
می تواند برای هر Channel
بیش از یک DIMM Slot
داشته باشد.

Channel A
→
DIMM A1
/
DIMM A2

Channel B
→
DIMM B1
/
DIMM B2

بنابراین چهار Slot
می توانند همچنان
متعلق به دو Channel باشند.

Quad Channel چیست؟

Quad Channel
یعنی Memory Controller
چهار کانال حافظه
در اختیار دارد.

Channel A
+
Channel B
+
Channel C
+
Channel D

چنین طراحی هایی
بیشتر در برخی
پلتفرم های Workstation،
HEDT
و Server
دیده می شوند.

آیا پردازنده می تواند بیشتر از چهار Memory Channel داشته باشد؟

بله.

پردازنده های Server
می توانند تعداد بسیار بیشتری
Memory Channel
نسبت به سیستم های مصرفی
داشته باشند.

دلیل اصلی
نیاز به Memory Bandwidth
بسیار بیشتر
برای تغذیه تعداد زیادی Core
و Workloadهای حجیم است.

پشت صحنه فنی — Under the Hood: چرا CPU چند کانال حافظه می خواهد؟

تصور کنید
ده ها Core
همزمان
درخواست داده داشته باشند.

حتی اگر DRAM
ظرفیت بسیار زیادی داشته باشد،
مسیر انتقال داده
باید بتواند
درخواست های کافی
را پاسخ دهد.

افزایش تعداد Channelها
یکی از راه های
افزایش پهنای باند کل
Memory Subsystem است.

More Channels
→
More Aggregate Data Paths
→
Higher Potential Memory Bandwidth

به همین دلیل
پردازنده های Server
معمولاً Memory Subsystem
بسیار گسترده تری
از پردازنده های مصرفی دارند.

Memory Bus Width چیست؟

Bus Width
نشان می دهد
در هر انتقال
چند Bit داده
می توانند روی مسیر
جابه جا شوند.

برای یک کانال معمولی
DDR بدون در نظر گرفتن
بیت های اضافی برخی پیاده سازی ها:

64 bits
=
8 bytes

این عدد
در محاسبه
پهنای باند نظری
اهمیت دارد.

DDR چیست؟


نرخ داده دوگانه — Double Data Rate

DDR
مخفف:

Double Data Rate

است.

این فناوری
امکان انتقال داده
در دو لبه
سیگنال Clock
را فراهم می کند.

MT/s و MHz چه تفاوتی دارند؟

این دو اصطلاح
اغلب به اشتباه
به جای یکدیگر
استفاده می شوند.

MHz
واحد فرکانس است،
در حالی که:

MT/s
=
Mega Transfers per Second

نرخ انتقال
را بیان می کند.

برای مثال
وقتی حافظه ای
با عنوان:

DDR4-3200

معرفی می شود،
مقدار 3200
به طور صحیح
نرخ انتقال موثر
بر حسب MT/s است،
نه Clock واقعی 3200 MHz.

پهنای باند نظری RAM چگونه محاسبه می شود؟

برای یک Channel
با Data Bus
برابر 64 Bit:

64 bits
÷
8
=
8 bytes

بنابراین:

Theoretical Bandwidth
=
Transfer Rate
×
8 Bytes
×
Number of Channels

مثال: پهنای باند DDR4-3200

برای یک Channel:

3200 MT/s
×
8 Bytes
=
25,600 MB/s

یعنی تقریباً:

25.6 GB/s

برای دو Channel نظری:

25.6 GB/s
×
2
=
51.2 GB/s

چند نمونه از پهنای باند نظری یک کانال

حافظه نرخ انتقال پهنای باند نظری یک کانال
DDR4-2666 2666 MT/s حدود 21.3 GB/s
DDR4-3200 3200 MT/s 25.6 GB/s
DDR5-4800 4800 MT/s 38.4 GB/s
DDR5-5600 5600 MT/s 44.8 GB/s
DDR5-6400 6400 MT/s 51.2 GB/s

این اعداد
پهنای باند نظری هستند
و Performance واقعی
می تواند کمتر باشد.

چرا ساختار Channel در DDR5 کمی متفاوت است؟

در DIMMهای DDR5،
ساختار داخلی کانال
نسبت به نسل های قبلی
تغییر کرده است.

یک DIMM استاندارد DDR5
به جای یک Data Channel
واحد 64 بیتی،
از دو Subchannel مستقل
32 بیتی برای داده
استفاده می کند.

DDR5 DIMM
→
2 × 32-bit Subchannels

این تغییر
می تواند بهره وری
دسترسی به حافظه
را در برخی شرایط
بهتر کند.

اما نباید از این موضوع
نتیجه گرفت
که یک DIMM DDR5
روی یک پلتفرم معمولی
معادل دو کانال کامل
64 بیتی نسل های قبلی است.

Memory Latency چیست؟

Bandwidth
مقدار داده قابل انتقال
در واحد زمان را نشان می دهد.

Latency
نشان می دهد
پاسخ به یک درخواست
چقدر زمان می برد.

Bandwidth
=
How Much Data?

Latency
=
How Long To Get It?

این دو مفهوم
مرتبط هستند
اما یکسان نیستند.

CAS Latency چیست؟

یکی از Timingهای معروف RAM:

CAS Latency
/
CL

است.

CL تعداد Cycleهای مربوط
به بخشی از فرآیند
پاسخ DRAM را بیان می کند.

اما CL به تنهایی
Latency واقعی حافظه
را مشخص نمی کند.

زیرا مدت هر Cycle
به سرعت حافظه
وابسته است.

چرا CL کمتر همیشه به معنی RAM سریع تر نیست؟

فرض کنید دو حافظه
CL متفاوتی دارند،
اما نرخ انتقال آنها
نیز متفاوت است.

تعداد Cycle
به تنهایی کافی نیست.

باید زمان واقعی Cycle
نیز در نظر گرفته شود.

به همین دلیل:

Lower CL
≠
Automatically Lower Real Latency

DIMM چیست؟


ماژول حافظه — DIMM

DIMM
فرم رایج ماژول RAM
در بسیاری از
سیستم های Desktop،
Workstation
و Server است.

DIMM
=
Dual Inline Memory Module

SO-DIMM چیست؟

SO-DIMM
نسخه کوچک تر
ماژول حافظه است
که در بسیاری از:

  • لپ تاپ ها،
  • Mini PCها،
  • کامپیوترهای کوچک،
  • و برخی All-in-Oneها

استفاده می شود.

SO-DIMM
=
Small Outline DIMM

آیا RAM همیشه به صورت DIMM یا SO-DIMM است؟

خیر.

در بسیاری از دستگاه های
باریک و کم مصرف،
Memory Packageها
می توانند مستقیماً
روی برد
لحیم شده باشند.

در این حالت
امکان ارتقا
ممکن است محدود
یا کاملاً حذف شده باشد.

LPDDR چیست؟

LPDDR
خانواده ای از حافظه
با تمرکز ویژه
بر مصرف انرژی پایین
و طراحی مناسب
دستگاه های Mobile
و سیستم های کم مصرف است.

LPDDR
=
Low Power Double Data Rate

این حافظه
در لپ تاپ های باریک،
تبلت ها،
گوشی ها
و بسیاری از SoCها
استفاده می شود.

Memory Rank چیست؟


رنک حافظه — Memory Rank

Rank
مجموعه ای از
Memory Chipها است
که با هم
یک Data Width مناسب
برای Channel
فراهم می کنند
و به صورت یک واحد
توسط Memory Controller
انتخاب می شوند.

Single Rank و Dual Rank چیست؟

یک Memory Module
می تواند
یک Rank
یا چند Rank
داشته باشد.

1R
=
Single Rank

2R
=
Dual Rank

Rank
با Channel
یک مفهوم نیست.

اشتباه رایج — Common Mistake: Dual Rank همان Dual Channel است

خیر.

Channel
مسیر ارتباط Memory Controller
با حافظه است.

Rank
سازمان دهی داخلی
Chipهای حافظه
روی یک Module
را توصیف می کند.

Memory Channel
≠
Memory Rank

Rank Interleaving چیست؟

وجود چند Rank
می تواند به Memory Controller
اجازه دهد
برخی عملیات را
میان Rankهای مختلف
بهتر همپوشانی کند.

در حالی که یک Rank
مشغول بخشی از
عملیات DRAM است،
کنترلر ممکن است
بتواند روی Rank دیگری
کار مفیدی انجام دهد.

این رفتار
در برخی Workloadها
می تواند
Memory-Level Parallelism
را بهبود دهد.

DRAM Bank چیست؟

DRAM
به بخش های داخلی
متعددی تقسیم می شود
که Bank
یکی از سطوح مهم
این سازمان دهی است.

وجود Bankهای متعدد
اجازه می دهد
برخی عملیات حافظه
به صورت همپوشان
مدیریت شوند.

Bank Group چیست؟

در نسل های جدیدتر DDR،
Bankها
می توانند در گروه هایی
سازمان دهی شوند.

این ساختار
بخشی از تلاش
برای افزایش Parallelism
و نرخ انتقال
در DRAM مدرن است.

Row در DRAM چیست؟

داده DRAM
در ساختاری
شامل Row و Column
سازمان دهی می شود.

برای دسترسی به داده،
یک Row
معمولاً باید
در Bank مربوط
فعال شود.

Row فعال
می تواند در ساختاری
که معمولاً:

Row Buffer

نامیده می شود
در دسترس قرار گیرد.

Row Buffer Hit چیست؟

اگر درخواست جدید
به همان Row
که از قبل فعال است
مربوط باشد،
دسترسی می تواند
ساده تر و سریع تر
انجام شود.

به این وضعیت:

Row Buffer Hit

گفته می شود.

Row Miss یا Row Conflict چیست؟

اگر داده مورد نیاز
در Row دیگری باشد،
ممکن است لازم شود
Row فعلی بسته
و Row جدید فعال شود.

این عملیات
نسبت به Row Hit
هزینه بیشتری دارد.

Close Current Row
→
Activate New Row
→
Access Data

Memory Controller فقط داده را منتقل می کند؟

خیر.

یکی از وظایف مهم
Memory Controller
زمان بندی درخواست های حافظه است.

ممکن است چندین درخواست
همزمان
در صف وجود داشته باشند.

کنترلر تلاش می کند
با رعایت محدودیت های DRAM
ترتیب مناسبی
برای اجرای آنها
انتخاب کند.

پشت صحنه فنی — Under the Hood: چرا درخواست های RAM الزاماً به همان ترتیبی که رسیده اند اجرا نمی شوند؟

فرض کنید
چند Memory Request
در صف قرار دارند.

بعضی از آنها
به Row فعال فعلی
دسترسی دارند
و برخی دیگر
نیازمند فعال کردن
Row جدید هستند.

Memory Controller
ممکن است با رعایت
محدودیت های معماری
برخی درخواست ها
را طوری زمان بندی کند
که استفاده بهتری
از DRAM حاصل شود.

Request Queue
→
Scheduling
→
DRAM Commands
→
Data Transfer

این یکی از دلایلی است
که Memory Performance
بسیار پیچیده تر
از یک عدد ساده
روی بسته بندی RAM است.

Read و Write در Memory Controller چگونه مدیریت می شوند؟

CPU هم داده
از حافظه می خواند
و هم داده
در حافظه می نویسد.

Memory Controller
باید جریان Read و Write
را مدیریت کند
و محدودیت های Timing
و Bus Direction
را نیز در نظر بگیرد.

تغییر مکرر
میان Read و Write
می تواند هزینه هایی
در Memory Bus
ایجاد کند.

Memory Interleaving چیست؟

Memory Controller
می تواند Addressها
را میان Channel،
Rank
یا Bankهای مختلف
توزیع کند.

هدف کلی
افزایش Parallelism
و استفاده بهتر
از منابع حافظه است.

Address Stream
→
Channel / Rank / Bank Distribution
→
More Parallel Memory Activity

آیا Dual Channel سرعت سیستم را دو برابر می کند؟

معمولاً خیر.

Dual Channel
می تواند پهنای باند نظری
Memory Subsystem
را به شکل قابل توجهی افزایش دهد،
اما Performance کل سیستم
فقط به Memory Bandwidth
وابسته نیست.

اگر Workload
به حافظه محدود نباشد،
افزایش Bandwidth
ممکن است تاثیر کمتری
بر Performance نهایی داشته باشد.

2× Theoretical Memory Bandwidth
≠
2× Application Performance

تاثیر بر عملکرد — Performance Impact: ارزش Channel بیشتر به نوع Workload بستگی دارد

Workloadهای مختلف
حساسیت متفاوتی
به Memory Bandwidth دارند.

بعضی برنامه ها
بیشتر به:

  • Compute Throughput،
  • Cache Performance،
  • Single-Thread Performance،
  • یا Branch Prediction

وابسته اند.

در مقابل،
Workloadهایی که
حجم زیادی داده
میان RAM و CPU
جابه جا می کنند
می توانند از
Memory Bandwidth بیشتر
سود بیشتری ببرند.

چرا Dual Channel برای گرافیک مجتمع اهمیت زیادی دارد؟

گرافیک مجتمع
معمولاً VRAM مستقل
مشابه کارت گرافیک مجزا
در اختیار ندارد.

در بسیاری از طراحی ها،
GPU مجتمع
از حافظه اصلی سیستم
استفاده می کند.

CPU
+
Integrated GPU
→
Shared System Memory

بنابراین Memory Bandwidth
می تواند مستقیماً
روی Performance گرافیک مجتمع
اثر بگذارد.

چرا استفاده از یک ماژول RAM می تواند گرافیک مجتمع را محدود کند؟

اگر سیستم
در حالت Memory Channel محدودتر
کار کند،
پهنای باند در دسترس
GPU مجتمع
نیز ممکن است کاهش پیدا کند.

در Workloadهای گرافیکی
Bandwidth-Sensitive،
این تفاوت
می تواند محسوس باشد.

به همین دلیل
بررسی Configuration حافظه
در سیستم های دارای iGPU
اهمیت بیشتری پیدا می کند.

تعداد Memory Channel چه تاثیری روی بازی دارد؟

تاثیر آن
به بازی،
CPU،
GPU،
Resolution،
Memory Speed
و Bottleneck سیستم
بستگی دارد.

در سیستم دارای
کارت گرافیک مجزا،
اثر ممکن است
از یک بازی
تا بازی دیگر
متفاوت باشد.

اما در سیستم
دارای Integrated Graphics،
Memory Bandwidth
معمولاً اهمیت بیشتری دارد.

Memory Channel در Workstation چرا مهم است؟

Workstationها
ممکن است با:

  • شبیه سازی،
  • پردازش علمی،
  • تحلیل داده،
  • رندر CPU،
  • کامپایل پروژه های بزرگ،
  • ماشین های مجازی،
  • و Datasetهای حجیم

سروکار داشته باشند.

برخی از این Workloadها
می توانند از
Memory Bandwidth بیشتر
بهره ببرند.

چرا Server CPUها Memory Channelهای بیشتری دارند؟

یک Server CPU
ممکن است تعداد زیادی Core
داشته باشد.

اگر تمام این Coreها
مجبور باشند
از Memory Bandwidth محدود
استفاده کنند،
حافظه می تواند
به Bottleneck
تبدیل شود.

Many Cores
+
Few Memory Channels
→
Potential Bandwidth Bottleneck

به همین دلیل
پلتفرم های Server
معمولاً تعداد Channelهای
بیشتری ارائه می کنند.

ظرفیت RAM و Memory Bandwidth چه تفاوتی دارند؟

ظرفیت مشخص می کند
چه مقدار داده
می تواند در RAM
نگهداری شود.

Bandwidth مشخص می کند
چه مقدار داده
می تواند در واحد زمان
منتقل شود.

Capacity
=
How Much Can Be Stored?

Bandwidth
=
How Much Can Be Transferred Per Second?

داشتن RAM بیشتر
الزاماً Memory Bandwidth
بیشتری ایجاد نمی کند.

سرعت RAM چه ارتباطی با Memory Controller دارد؟

Memory Controller
باید بتواند
Memory Interface
را در سرعت مورد نظر
به صورت پایدار
مدیریت کند.

حداکثر سرعت عملی
می تواند به:

  • CPU،
  • Memory Controller،
  • Motherboard،
  • تعداد DIMMها،
  • تعداد Rankها،
  • Memory Generation،
  • و تنظیمات Firmware

وابسته باشد.

عبارت Memory Support در مشخصات CPU یعنی چه؟

سازنده CPU
معمولاً سرعت ها
و Configurationهای مشخصی
را به صورت رسمی
برای Memory Controller
اعلام می کند.

استفاده از سرعت بالاتر
ممکن است در برخی Platformها
امکان پذیر باشد،
اما می تواند
در محدوده Memory Overclocking
قرار گیرد.

XMP و EXPO چه ارتباطی با Memory Controller دارند؟

Profileهایی مانند:

Intel XMP

و:

AMD EXPO

مجموعه ای از
تنظیمات Memory
را برای رسیدن
به Speed و Timing مشخص
در اختیار سیستم قرار می دهند.

اما توانایی اجرای پایدار
آن Profile
به کل Memory Subsystem
وابسته است.

چرا پر کردن تمام Slotهای RAM می تواند دستیابی به فرکانس بالا را سخت تر کند؟

اضافه شدن DIMMها
و Rankهای بیشتر
می تواند بار الکتریکی
بیشتری روی Memory Interface
ایجاد کند.

در نتیجه
دستیابی به سرعت های بسیار بالا
ممکن است دشوارتر شود.

More DIMMs / Ranks
→
More Electrical Load
→
Potentially Harder High-Speed Operation

ECC Memory چیست؟

ECC Memory
از اطلاعات اضافی
برای تشخیص
و در برخی موارد
اصلاح خطاهای حافظه
استفاده می کند.

ECC
=
Error-Correcting Code

پشتیبانی واقعی ECC
به ترکیبی از:

  • CPU،
  • Memory Controller،
  • Motherboard،
  • Firmware،
  • و نوع Memory Module

وابسته است.

Registered Memory یا RDIMM چیست؟

RDIMM
نوعی Memory Module
است که از Register
برای بخشی از
سیگنال های کنترلی
استفاده می کند.

این طراحی
می تواند امکان استفاده
از ظرفیت های بالاتر حافظه
و تعداد بیشتری Module
را در Platformهای Server
فراهم کند.

RDIMM
با DIMM معمولی Desktop
یکسان نیست
و نیازمند Platform سازگار است.

UDIMM چیست؟

UDIMM
مخفف:

Unbuffered DIMM

است.

این نوع Module
در بسیاری از
Desktopهای معمولی
استفاده می شود.

Memory Controller چه ارتباطی با NUMA دارد؟

در سیستم های چند Socket
یا برخی معماری های پیچیده،
حافظه می تواند
از نظر فیزیکی
به بخش مشخصی
از سیستم نزدیک تر باشد.

در NUMA،
Latency و Bandwidth
دسترسی به حافظه
ممکن است بسته به
محل Core
و محل Memory
متفاوت باشد.

Local Memory
→
Usually Lower Access Cost

Remote Memory
→
Additional Interconnect Path

معماری Chiplet چه ارتباطی با Memory Controller دارد؟

در CPUهای Chiplet-Based،
Coreها،
Cache،
I/O
و Memory Controller
الزاماً روی یک Die واحد
قرار ندارند.

بنابراین دسترسی حافظه
می تواند از Interconnect داخلی
میان Chipletها
عبور کند.

طراحی دقیق
به Microarchitecture
بستگی دارد.

آیا Memory Controller می تواند Bottleneck شود؟

بله.

Memory Subsystem
منابع محدودی دارد.

تعداد Channelها،
Request Queueها،
DRAM Timing،
Bandwidth،
Interconnect
و تعداد درخواست های همزمان
همگی می توانند
روی Throughput نهایی
اثر بگذارند.

فصل قبل چه ارتباطی با Memory Controller دارد؟

Hardware Prefetcher
می تواند درخواست های آینده
را زودتر
وارد Memory Hierarchy کند.

اگر این درخواست ها
نیازمند DRAM باشند،
در نهایت
Memory Controller
باید آنها را
همراه Demand Requestهای دیگر
مدیریت کند.

Prefetcher
→
Memory Requests
→
Memory Controller
→
DRAM

Prefetch بیش از حد
می تواند فشار بیشتری
روی Memory Controller
و Bandwidth
ایجاد کند.

چرا Cache همچنان مهم است اگر RAM بسیار سریع داشته باشیم؟

حتی DRAM سریع
همچنان از Cacheهای داخلی CPU
فاصله Latency قابل توجهی دارد.

بنابراین Memory Controller
جای Cache
را نمی گیرد.

Registers
→
L1
→
L2
→
LLC
→
DRAM

هر سطح
نقش متفاوتی
در Memory Hierarchy دارد.

اشتباه رایج — Common Mistake: هرچه ظرفیت RAM بیشتر شود CPU هم سریع تر می شود

ظرفیت RAM
و Performance پردازنده
رابطه خطی ندارند.

اگر سیستم
RAM کافی داشته باشد،
افزایش ظرفیت بیشتر
الزاماً اجرای CPU
را سریع تر نمی کند.

البته کمبود RAM
می تواند باعث
استفاده شدید از Storage
و افت بسیار زیاد
Performance شود.

آیا RAM سریع تر همیشه سیستم را سریع تر می کند؟

نه به یک اندازه.

تاثیر RAM سریع تر
به Workload
و Bottleneck سیستم
بستگی دارد.

اگر برنامه
بیشتر داخل Cache
کار کند،
افزایش DRAM Bandwidth
ممکن است اثر محدودی داشته باشد.

اگر Workload
Memory-Bound باشد،
تفاوت می تواند
بسیار مهم تر شود.

نکته مهندسی — Engineering Insight: RAM سریع فقط وقتی ارزش واقعی خود را نشان می دهد که پردازنده بتواند از آن استفاده کند

Memory Performance
حاصل یک قطعه منفرد نیست.

باید کل مسیر
بررسی شود:

Core
→
Cache
→
Interconnect
→
Memory Controller
→
Channels
→
DRAM

ضعف در هر قسمت
می تواند باعث شود
افزایش سرعت یک جزء
اثر کمتری
روی Performance نهایی
داشته باشد.

در لپ تاپ هنگام بررسی RAM به چه چیزهایی توجه کنیم؟

فقط ظرفیت RAM
کافی نیست.

بهتر است بررسی شود:

  • نوع حافظه،
  • سرعت حافظه،
  • تعداد Channelهای قابل استفاده،
  • تعداد ماژول های نصب شده،
  • لحیم شده یا قابل تعویض بودن حافظه،
  • تعداد Slotهای آزاد،
  • حداکثر ظرفیت پشتیبانی شده،
  • و Configuration واقعی دستگاه.

در Desktop چه نکته ای مهم است؟

در Desktop
معمولاً آزادی بیشتری
برای انتخاب RAM وجود دارد،
اما Compatibility
همچنان مهم است.

باید:

  • نسل DDR،
  • پشتیبانی CPU،
  • پشتیبانی مادربرد،
  • Slot Configuration،
  • Memory Profile،
  • و تعداد DIMMها

بررسی شوند.

در All-in-One چه نکته ای مهم است؟

All-in-Oneها
می توانند از طراحی حافظه
شبیه Laptop
یا Desktop
استفاده کنند.

بنابراین نباید
صرفاً از ظاهر دستگاه
درباره نوع RAM
نتیجه گیری کرد.

مدل دقیق دستگاه
باید بررسی شود.

در Mini PC چطور؟

Mini PCها
ممکن است:

  • SO-DIMM قابل ارتقا،
  • حافظه لحیم شده،
  • LPDDR،
  • یا ترکیب های خاص سازنده

داشته باشند.

در مدل های دارای iGPU،
Configuration حافظه
می تواند اهمیت بیشتری
برای Performance گرافیکی
داشته باشد.

چرا Serverها تعداد بسیار زیادی DIMM Slot دارند؟

Serverها
علاوه بر Bandwidth بالا
ممکن است به ظرفیت بسیار زیاد RAM
نیز نیاز داشته باشند.

Workloadهایی مانند:

  • Virtualization،
  • Database،
  • In-Memory Computing،
  • Analytics،
  • Scientific Computing،
  • و Enterprise Applications

می توانند صدها گیگابایت
یا حتی چندین ترابایت
حافظه نیاز داشته باشند.

چرا نحوه پر کردن Slotهای RAM در Server مهم است؟

اگر CPU
تعداد زیادی Memory Channel
داشته باشد
ولی ماژول ها
فقط روی تعداد محدودی Channel
نصب شوند،
ممکن است بخشی از
Bandwidth بالقوه سیستم
استفاده نشود.

بنابراین در Server
فقط ظرفیت کل RAM
مهم نیست؛
Memory Population
نیز اهمیت دارد.

اشتباهات رایج — Common Mistakes: Memory Controller و Memory Channels
  • یکی دانستن تعداد RAMها با تعداد Channelها.
  • یکی دانستن Dual Rank با Dual Channel.
  • فرض اینکه چهار Slot RAM یعنی Quad Channel.
  • فرض اینکه Dual Channel Performance کل سیستم را دو برابر می کند.
  • نادیده گرفتن اهمیت Dual Channel برای Integrated Graphics.
  • یکی دانستن MT/s و MHz.
  • مقایسه RAM فقط بر اساس CL.
  • فرض اینکه CL کمتر همیشه Latency واقعی کمتری دارد.
  • نادیده گرفتن Memory Controller هنگام Memory Overclocking.
  • فرض اینکه ظرفیت RAM بیشتر یعنی Bandwidth بیشتر.
  • فرض اینکه RAM سریع تر همیشه تفاوت بزرگی ایجاد می کند.
  • نادیده گرفتن تعداد DIMM و Rank در دستیابی به سرعت بالا.
  • فرض اینکه ECC فقط به خود RAM وابسته است.
  • استفاده از RDIMM بدون بررسی سازگاری Platform.
  • نادیده گرفتن Memory Population در Serverها.

سوالات متداول درباره Memory Controller و Memory Channel

Memory Controller چیست؟

بخشی از سیستم است
که درخواست های حافظه
و ارتباط پردازنده
با DRAM
را مدیریت می کند.

IMC چیست؟

مخفف Integrated Memory Controller
و به معنی کنترلر حافظه
یکپارچه شده با پردازنده است.

Dual Channel چیست؟

حالتی است که
Memory Controller
از دو Channel
برای ارتباط با حافظه
استفاده می کند.

آیا دو RAM همیشه Dual Channel می شوند؟

خیر.
Configuration واقعی
به CPU،
مادربرد،
Slotها
و مشخصات ماژول ها
بستگی دارد.

آیا چهار Slot RAM یعنی Quad Channel؟

خیر.
مادربرد Dual Channel
می تواند چهار Slot
داشته باشد.

Dual Rank همان Dual Channel است؟

خیر.
Rank مربوط به
سازمان دهی Memory Module
است،
اما Channel
رابط Memory Controller
با حافظه است.

چرا Dual Channel برای گرافیک مجتمع مهم است؟

چون iGPU
معمولاً از System Memory
استفاده می کند
و در بسیاری از Workloadها
به Memory Bandwidth
حساس است.

MT/s همان MHz است؟

خیر.
MT/s نرخ انتقال داده
و MHz واحد فرکانس است.

آیا RAM با CL کمتر همیشه سریع تر است؟

خیر.
نرخ انتقال
و زمان واقعی Cycle
نیز باید بررسی شوند.

چرا Server CPUها Channel بیشتری دارند؟

برای تامین Memory Bandwidth
بیشتر برای تعداد زیاد Core
و Workloadهای سنگین.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Memory Controller: کنترل کننده ارتباط و عملیات حافظه اصلی.
  • IMC: کنترلر حافظه یکپارچه شده با پردازنده.
  • Memory Channel: رابط مستقل ارتباط Memory Controller با حافظه.
  • Single Channel: استفاده از یک کانال حافظه.
  • Dual Channel: استفاده از دو کانال حافظه.
  • Quad Channel: استفاده از چهار کانال حافظه.
  • Bus Width: تعداد Bit قابل انتقال در یک مسیر داده.
  • DDR: فناوری Double Data Rate.
  • MT/s: میلیون انتقال در ثانیه.
  • Memory Bandwidth: مقدار داده قابل انتقال در واحد زمان.
  • Memory Latency: زمان لازم برای پاسخ حافظه.
  • CAS Latency: یکی از Timingهای اصلی DRAM.
  • DIMM: فرم رایج ماژول حافظه.
  • SO-DIMM: فرم کوچک تر DIMM.
  • LPDDR: حافظه DDR کم مصرف.
  • Memory Rank: گروهی از Chipهای حافظه که به عنوان یک واحد انتخاب می شوند.
  • Bank: یکی از بخش های داخلی سازمان دهی DRAM.
  • Bank Group: گروهی از Bankهای DRAM.
  • Row Buffer: ساختاری مرتبط با Row فعال DRAM.
  • Row Buffer Hit: دسترسی به Rowی که از قبل فعال است.
  • Row Conflict: نیاز به تغییر Row فعال برای پاسخ به درخواست جدید.
  • Memory Interleaving: توزیع دسترسی ها میان منابع مختلف حافظه برای افزایش Parallelism.
  • ECC: فناوری تشخیص و اصلاح برخی خطاهای حافظه.
  • RDIMM: Registered DIMM مورد استفاده در پلتفرم های سازگار.
  • UDIMM: Unbuffered DIMM رایج در بسیاری از سیستم های Desktop.

خلاصه فصل

Memory Controller
یکی از اجزای کلیدی
Memory Subsystem
پردازنده است.

در بسیاری از CPUهای مدرن،
این کنترلر
در خود Processor
یکپارچه شده است.

Integrated Memory Controller
=
IMC

Memory Channelها
مسیرهای ارتباطی
میان Memory Controller
و DRAM
را فراهم می کنند.

More Memory Channels
→
Higher Potential Aggregate Bandwidth

اما افزایش تعداد Channel
به معنی افزایش خطی
Performance تمام برنامه ها نیست.

اثر واقعی
به میزان وابستگی Workload
به Memory Bandwidth
بستگی دارد.

در سیستم های دارای
Integrated Graphics،
Memory Configuration
اهمیت بیشتری پیدا می کند،
زیرا CPU و GPU
می توانند از حافظه اصلی
مشترک استفاده کنند.

همچنین باید میان:

Channel
/
DIMM
/
Rank
/
Bank
/
Row

تفاوت قائل شد.

اینها لایه های متفاوتی
از سازمان دهی
Memory Subsystem هستند.

در نهایت،
Performance حافظه
حاصل همکاری مجموعه ای از:

Cache
+
Prefetcher
+
Interconnect
+
Memory Controller
+
Memory Channels
+
DRAM

است.


بنابراین هنگام ارزیابی یک سیستم،
عبارت ساده «16 گیگ RAM» یا «DDR5» اطلاعات کافی درباره عملکرد حافظه نمی دهد؛
ظرفیت، سرعت، تعداد کانال ها، Rank، Latency، نوع ماژول و توانایی Memory Controller
همگی می توانند در رفتار واقعی سیستم نقش داشته باشند.


فصل 86
سطح: پیشرفته
موضوع: ساختار داخلی و عملکرد DRAM
تمرکز: Cell / Row / Column / Bank / Refresh / Timing


برای درک واقعی سرعت RAM باید بدانیم داخل تراشه DRAM هنگام یک Read یا Write چه اتفاقی می افتد

DRAM چگونه کار می کند؟ از سلول حافظه و Row Buffer تا Refresh و Memory Timing

در فصل قبل دیدیم
Memory Controller
چگونه پردازنده را
به حافظه اصلی
متصل می کند.

حالا یک مرحله
عمیق تر می شویم:

وقتی Memory Controller
از RAM درخواست داده می کند،
داخل تراشه DRAM
دقیقاً چه اتفاقی می افتد؟

چرا RAM
مفاهیمی مانند:

Row
/
Column
/
Bank
/
Activate
/
Precharge
/
Refresh

دارد؟

و اعدادی مانند:

CL
/
tRCD
/
tRP
/
tRAS

که در مشخصات RAM
دیده می شوند
واقعاً چه معنایی دارند؟

در این فصل چه چیزهایی یاد می گیریم؟

  • DRAM چیست.
  • چرا حافظه اصلی معمولاً از DRAM استفاده می کند.
  • سلول DRAM چگونه داده را نگه می دارد.
  • Capacitor و Transistor چه نقشی دارند.
  • چرا DRAM باید Refresh شود.
  • Row و Column چیست.
  • Bank چیست.
  • Row Buffer چیست.
  • Activate Command چیست.
  • Read و Write چگونه انجام می شوند.
  • Precharge چیست.
  • Row Hit چیست.
  • Row Miss و Row Conflict چیست.
  • CAS Latency چیست.
  • tRCD چیست.
  • tRP چیست.
  • tRAS چیست.
  • Command Rate چیست.
  • Refresh چه تاثیری بر Performance دارد.
  • چرا Memory Timing را نباید فقط با CL مقایسه کرد.

DRAM چیست؟


حافظه دسترسی تصادفی پویا — Dynamic Random-Access Memory

DRAM
نوعی حافظه نیمه هادی
است که در آن
اطلاعات باید به صورت دوره ای
بازسازی شوند.

عبارت:

Dynamic

به همین نیاز
به Refresh دوره ای
اشاره دارد.

چرا از DRAM برای حافظه اصلی استفاده می شود؟

پردازنده
به حافظه ای نیاز دارد
که ظرفیت بسیار بیشتری
از Cacheهای داخلی
فراهم کند.

SRAM
که معمولاً در Cache
استفاده می شود،
سریع است
اما برای ظرفیت های بزرگ
فضای سیلیکونی
و هزینه بیشتری نیاز دارد.

DRAM
تراکم ذخیره سازی
بسیار بیشتری
فراهم می کند.

SRAM
→
Very Fast
+
Expensive Per Bit
+
Lower Density

DRAM
→
Higher Density
+
Lower Cost Per Bit
+
Higher Latency

سلول DRAM چیست؟

در مدل کلاسیک DRAM،
هر Bit اطلاعات
می تواند توسط ساختاری
شامل یک Transistor
و یک Capacitor
نگهداری شود.

1T1C
=
1 Transistor
+
1 Capacitor

این ساختار ساده
یکی از دلایل
تراکم بالای DRAM است.

Capacitor چه کاری انجام می دهد؟

به صورت مفهومی،
وضعیت شارژ
Capacitor
برای نمایش اطلاعات
استفاده می شود.

اما این شارژ
برای همیشه باقی نمی ماند.

به مرور زمان
Charge Leakage
رخ می دهد.

Stored Charge
→
Leakage Over Time
→
Data Would Eventually Be Lost

Transistor در سلول DRAM چه نقشی دارد؟

Access Transistor
مانند یک سوئیچ
عمل می کند
و هنگام انتخاب سلول
ارتباط آن را
با Bitline
برقرار می کند.

Wordline
در انتخاب
مجموعه ای از سلول ها
نقش دارد.

چرا DRAM باید Refresh شود؟

چون Capacitorهای DRAM
به تدریج
بخشی از شارژ خود
را از دست می دهند.

اگر اطلاعات
در بازه مناسب
بازسازی نشوند،
وضعیت ذخیره شده
دیگر قابل اعتماد
نخواهد بود.

Charge Leakage
→
Periodic Refresh Required

چرا نام آن Dynamic RAM است؟

چون نگهداری اطلاعات
نیازمند عملیات دوره ای
برای حفظ وضعیت
سلول های حافظه است.

در مقابل،
SRAM
تا زمانی که
توان الکتریکی برقرار باشد،
برای نگهداری Bit
به Refresh مشابه DRAM
نیاز ندارد.

سلول های DRAM چگونه سازمان دهی می شوند؟

میلیون ها یا میلیاردها
سلول حافظه
باید به شکلی سازمان یافته
قابل Addressing باشند.

به صورت مفهومی
می توان بخشی از DRAM
را شبیه یک آرایه
از Rowها و Columnها
تصور کرد.

DRAM Array
→
Rows
×
Columns

Row چیست؟

Row
مجموعه ای از سلول ها
در یک بخش
از DRAM Array است.

برای دسترسی به داده
معمولاً ابتدا
Row مربوطه
فعال می شود.

Select Bank
→
Activate Row

Column چیست؟

پس از فعال شدن Row،
بخش مورد نیاز داده
از طریق Column Selection
انتخاب می شود.

بنابراین در یک مدل ساده:

Bank
→
Row
→
Column
→
Data

Bank چیست؟

DRAM
به چند Bank
تقسیم می شود.

هر Bank
می تواند بخشی
از ساختار Row و Column
خود را داشته باشد.

وجود Bankهای متعدد
امکان ایجاد
Parallelism بیشتر
در Memory Subsystem
را فراهم می کند.

Bank-Level Parallelism چیست؟

اگر درخواست ها
به Bankهای مختلف
مربوط باشند،
Memory Controller
ممکن است بتواند
بخشی از عملیات آنها
را همپوشانی کند.

Bank A
→
Operation 1

Bank B
→
Operation 2

Bank C
→
Operation 3

این Parallelism
یکی از عناصر مهم
در Performance حافظه
است.

Row Buffer چیست؟

وقتی یک Row
فعال می شود،
اطلاعات آن
توسط Sense Amplifierها
تشخیص داده شده
و در ساختاری
که معمولاً Row Buffer
نامیده می شود
در دسترس قرار می گیرد.

بنابراین CPU
مستقیماً یک سلول منفرد
را از Array
مثل یک فایل ساده
نمی خواند.

Sense Amplifier چیست؟

شارژ موجود
در سلول DRAM
بسیار کوچک است.

Sense Amplifier
تغییر بسیار کوچک
روی Bitline
را تشخیص می دهد
و آن را
به یک وضعیت منطقی
قابل استفاده تبدیل می کند.

Sense Amplifierها
همچنین در بازسازی
اطلاعات Row
نقش مهمی دارند.

چرا خواندن DRAM را Destructive Read می نامند؟

فرآیند Sense کردن
وضعیت سلول
باعث تغییر
وضعیت شارژ اولیه
آن می شود.

بنابراین داده
پس از خوانده شدن
باید دوباره
در سلول بازسازی شود.

Read Cell
→
Sense Value
→
Restore Cell

به همین دلیل
Read در DRAM
از نظر داخلی
یک عملیات کاملاً Passive
نیست.

ACTIVATE Command چیست؟

برای دسترسی
به یک Row بسته،
Memory Controller
فرمان:

ACTIVATE

را برای Bank مربوط
صادر می کند.

این عملیات
Row مورد نظر
را فعال
و محتویات آن را
در Sense Amplifierها
قابل استفاده می کند.

READ Command چه کاری انجام می دهد؟

پس از اینکه Row مناسب
فعال شد،
فرمان READ
می تواند Column مورد نظر
را انتخاب کند.

سپس داده
از مسیر داخلی DRAM
به سمت Memory Bus
منتقل می شود.

ACTIVATE Row
→
READ Column
→
Data Transfer

WRITE Command چه کاری انجام می دهد؟

در عملیات Write،
داده از Memory Bus
وارد DRAM می شود
و در محل انتخاب شده
نوشته می شود.

Select Active Row
→
WRITE Column
→
Update Stored Data

PRECHARGE چیست؟

اگر لازم باشد
Row فعال فعلی
بسته شود
تا Row دیگری
در همان Bank
باز شود،
عملیات:

PRECHARGE

انجام می شود.

Precharge
Bank را
برای Activate کردن
Row بعدی
آماده می کند.

یک دسترسی DRAM از ابتدا تا انتها چگونه است؟

در یک حالت ساده
که Row مورد نیاز
از قبل باز نیست:

Request
→
PRECHARGE If Needed
→
ACTIVATE
→
Wait
→
READ / WRITE
→
Data Transfer

دقیقاً همین مراحل
باعث می شوند
Timingهای مختلف DRAM
اهمیت پیدا کنند.

پشت صحنه فنی — Under the Hood: CPU چرا نمی تواند هر Address را فوراً از DRAM بخواند؟

DRAM
مانند یک آرایه ساده
با دسترسی آنی
به هر Byte
عمل نمی کند.

ابتدا باید مشخص شود
Address مورد نظر
به کدام Channel،
Rank،
Bank،
Row
و Column
نگاشت شده است.

اگر Row مناسب
فعال نباشد،
ممکن است Row فعلی
ابتدا بسته شود.

PRECHARGE
→
ACTIVATE
→
COLUMN ACCESS
→
DATA

هر مرحله
محدودیت های زمانی
و الکتریکی
مخصوص خود را دارد.

به همین دلیل
Memory Latency
حاصل یک عدد واحد نیست،
بلکه نتیجه مجموعه ای
از عملیات داخلی است.

Open Row چیست؟

در هر Bank،
یک Row فعال
می تواند در Row Buffer
نگه داشته شود.

اگر درخواست بعدی
به همان Row
مربوط باشد،
نیازی به Activate
یک Row جدید نیست.

Row Hit چیست؟

اگر داده مورد نیاز
در Rowی باشد
که هم اکنون
در Bank مربوط
فعال است،
دسترسی:

Row Hit

محسوب می شود.

Row Already Open
→
Column Access
→
Data

این حالت
معمولاً هزینه کمتری
نسبت به تغییر Row دارد.

اگر هیچ Rowی باز نباشد چه می شود؟

در این حالت
Row مورد نظر
باید با ACTIVATE
باز شود.

Closed Bank
→
ACTIVATE
→
Column Access

Row Conflict چیست؟

اگر Bank
یک Row فعال داشته باشد،
اما درخواست جدید
به Row دیگری
در همان Bank
نیاز داشته باشد،
Row فعلی
باید بسته شود.

Row A Open
→
Need Row B
→
PRECHARGE
→
ACTIVATE Row B
→
Access

این حالت
هزینه بیشتری
از Row Hit دارد.

مقایسه Row Hit، Closed Row و Row Conflict

وضعیت شرایط عملیات اضافی هزینه نسبی
Row Hit Row مورد نیاز باز است کمتر معمولاً بهترین حالت
Closed Row Bank Row فعالی ندارد ACTIVATE بیشتر از Row Hit
Row Conflict Row دیگری باز است PRECHARGE + ACTIVATE معمولاً پرهزینه تر

Memory Timingها چه هستند؟

DRAM
نمی تواند فرمان های مختلف
را بدون فاصله زمانی
و پشت سر هم
به هر شکلی اجرا کند.

محدودیت های الکتریکی
و معماری
حداقل فاصله زمانی
میان عملیات مختلف
را تعیین می کنند.

این محدودیت ها
با Timingهای DRAM
بیان می شوند.

Primary Memory Timings چیست؟

چهار Timing
که معمولاً
بیشتر از بقیه
در مشخصات RAM
دیده می شوند:

CL
–
tRCD
–
tRP
–
tRAS

هستند.

برای مثال:

16-18-18-36

CAS Latency یا CL چیست؟

CAS Latency
به صورت ساده
فاصله زمانی
بر حسب Cycle
میان صدور فرمان Read
برای Column
و آماده شدن
داده مربوطه
را توصیف می کند.

READ Command
→
CL
→
Data

CL فقط یکی
از بخش های
کل Memory Latency است.

tRCD چیست؟

tRCD
مخفف:

Row Address to Column Address Delay

است.

به صورت ساده،
این Timing
فاصله لازم
میان فعال کردن Row
و صدور فرمان
دسترسی Column
را مشخص می کند.

ACTIVATE
→
tRCD
→
READ / WRITE

tRP چیست؟

tRP
مخفف:

Row Precharge Time

است.

این Timing
به زمانی مربوط است
که برای Precharge
یک Bank
پیش از Activate
کردن Row جدید
لازم است.

PRECHARGE
→
tRP
→
ACTIVATE New Row

tRAS چیست؟

tRAS
مخفف:

Row Active Time

است.

این Timing
حداقل مدت زمانی
را مشخص می کند
که Row باید
پس از Activate شدن
فعال باقی بماند
پیش از اینکه
بتوان آن را Precharge کرد.

Timingها در یک Row Conflict چگونه کنار هم قرار می گیرند؟

به صورت مفهومی:

PRECHARGE
→
tRP
→
ACTIVATE
→
tRCD
→
READ
→
CL
→
DATA

این نمودار
نشان می دهد
چرا نگاه کردن
فقط به CL
تصویر کاملی
از Memory Latency
ارائه نمی دهد.

نکته مهندسی — Engineering Insight: عدد CL فقط یک بخش از مسیر دسترسی DRAM است

دو RAM
ممکن است CL مشابهی
داشته باشند،
اما رفتار واقعی
Memory Subsystem
متفاوت باشد.

Performance نهایی
می تواند تحت تاثیر:

  • Transfer Rate،
  • tRCD،
  • tRP،
  • tRAS،
  • Secondary Timings،
  • Memory Controller،
  • Rank Configuration،
  • Channel Configuration،
  • و Access Pattern

قرار گیرد.

Timing بر حسب Cycle با زمان واقعی چه تفاوتی دارد؟

عدد CL
تعداد Clock Cycle
را بیان می کند.

اما مدت هر Cycle
به Clock حافظه
وابسته است.

بنابراین:

Real Time
=
Number of Cycles
×
Duration of Each Cycle

به همین دلیل
RAM با CL عددی بالاتر
می تواند در برخی موارد
Latency زمانی مشابه
یا حتی بهتری
نسبت به RAM کندتر
با CL پایین تر داشته باشد.

مثال ساده از Latency واقعی

برای DDR4-3200،
Clock واقعی پایه
تقریباً:

1600 MHz

است.

اگر حافظه:

CL16

باشد،
زمان تقریبی CAS:

16
÷
1600 MHz
≈
10 ns

است.

حال DDR5-6000 CL30
را در نظر بگیرید.

Clock پایه:

3000 MHz

بنابراین:

30
÷
3000 MHz
≈
10 ns

یعنی CL عددی
تقریباً دو برابر شده،
اما CAS Latency زمانی
تقریباً مشابه است.

فرمول سریع محاسبه CAS Latency

اگر DDR Data Rate
بر حسب MT/s
مشخص باشد:

CAS Latency (ns)
≈
CL × 2000
÷
Data Rate (MT/s)

برای مثال:

DDR4-3200 CL16
→
16 × 2000 ÷ 3200
=
10 ns

Command Rate چیست؟

Command Rate
به Timing مربوط
به ارسال Command
به حافظه
و انتخاب Rank
مربوط می شود.

معمولاً عباراتی مانند:

1T
/
2T

دیده می شوند.

تنظیم تهاجمی تر
می تواند Latency را
اندکی کاهش دهد،
اما ممکن است
دستیابی به Stability
را در Configurationهای سنگین تر
دشوارتر کند.

Secondary Timings چیست؟

DRAM
Timingهای بسیار بیشتری
از چهار عدد معروف
روی مشخصات RAM دارد.

Timingهایی مانند:

tRFC
/
tRRD
/
tFAW
/
tWR
/
tWTR
/
tCCD

نمونه هایی
از Timingهای دیگر هستند.

هرکدام
محدودیت زمانی
میان نوع خاصی
از عملیات DRAM
را بیان می کنند.

tRFC چیست؟

tRFC
به زمان لازم
برای عملیات Refresh
مربوط است.

در طول بخشی
از عملیات Refresh،
منابع حافظه
برای دسترسی عادی
محدود می شوند.

بنابراین Refresh
کاملاً بدون هزینه
نیست.

Refresh چه تاثیری بر Performance دارد؟

DRAM باید
به طور دوره ای
Refresh شود.

این عملیات
بخشی از زمان
و منابع داخلی حافظه
را مصرف می کند.

Refresh Activity
→
Temporary Resource Occupation
→
Potential Access Delay

Memory Controller
و خود DRAM
تلاش می کنند
این فرآیند
را با کمترین اثر ممکن
مدیریت کنند.

دما چه ارتباطی با Refresh دارد؟

رفتار Leakage
سلول های DRAM
به شرایط فیزیکی
از جمله دما
وابسته است.

در دماهای بالاتر،
حفظ Charge
می تواند دشوارتر شود
و سیاست Refresh
ممکن است نیازمند
رفتار متفاوتی باشد.

Burst Transfer چیست؟

DRAM مدرن
معمولاً پس از
یک Column Command
فقط یک Bit منفرد
منتقل نمی کند.

داده در مجموعه ای
از Transferهای متوالی
منتقل می شود.

به این رفتار:

Burst Transfer

گفته می شود.

Burst Length چیست؟

Burst Length
مشخص می کند
یک Command
چه تعداد Transfer
متوالی داده
ایجاد می کند.

افزایش Data Rate
و تغییر Burst Structure
از روش های مهم
تکامل نسل های DDR
بوده است.

Burst DRAM چه ارتباطی با Cache Line دارد؟

CPU معمولاً داده
را در واحدهای Cache Line
میان Cache و حافظه
مدیریت می کند.

Memory Subsystem
باید مجموعه ای
از Transferهای DRAM
را برای تامین
این داده انجام دهد.

DRAM Transfers
→
Memory Controller
→
Cache Line Fill

جزئیات دقیق
به نسل حافظه
و معماری سیستم
وابسته است.

چرا Access Pattern برنامه روی DRAM Performance اثر دارد؟

اگر درخواست های متوالی
به Rowهای باز
و Bankهای مناسب
دسترسی داشته باشند،
Memory Controller
می تواند از منابع
بهتر استفاده کند.

اما Pattern نامناسب
می تواند تعداد بیشتری:

Row Conflict
/
Bank Conflict
/
Activate
/
Precharge

ایجاد کند.

Locality فقط برای Cache مهم است؟

خیر.

Locality
می تواند در سطوح مختلف
Memory Hierarchy
مفید باشد.

دسترسی منظم
علاوه بر کمک
به Cache و Prefetcher،
می تواند رفتار
DRAM Row Buffer
را نیز بهبود دهد.

چرا Random Access می تواند برای DRAM سخت تر باشد؟

دسترسی های تصادفی
ممکن است مرتباً
میان Rowها
و Bankهای مختلف
جابه جا شوند.

این رفتار
می تواند احتمال
Row Hit
را کاهش دهد
و عملیات بیشتری
برای تغییر Row
ایجاد کند.

چرا Sequential Access معمولاً مطلوب تر است؟

دسترسی ترتیبی
معمولاً Locality
بیشتری دارد.

این موضوع
می تواند به:

  • Cache Line Utilization بهتر،
  • Hardware Prefetching موثرتر،
  • Row Buffer Locality بهتر،
  • و انتقال های کارآمدتر حافظه

کمک کند.

تاثیر بر عملکرد — Performance Impact: دو برنامه با تعداد Instruction مشابه می توانند رفتار حافظه کاملاً متفاوتی داشته باشند

اگر برنامه اول
بیشتر از Cache
و Rowهای باز
استفاده کند،
بخش بزرگی از
Memory Latency
می تواند پنهان
یا حذف شود.

برنامه دوم
ممکن است
دائماً Cache Miss
و Row Conflict
ایجاد کند.

Same Instruction Count
≠
Same Memory Behavior
≠
Same Performance

نسل های جدید DDR چگونه Performance را افزایش می دهند؟

افزایش Performance
فقط با کاهش Latency
انجام نمی شود.

نسل های جدید
می توانند از:

  • Data Rate بالاتر،
  • Bankهای بیشتر،
  • Bank Groupهای متفاوت،
  • Burst Structure جدید،
  • Channel Organization متفاوت،
  • و بهبودهای Protocol

استفاده کنند.

به همین دلیل
نسل جدید ممکن است
Bandwidth بسیار بیشتری داشته باشد
حتی اگر بعضی Timingهای عددی
بزرگ تر شده باشند.

DDR5 چه تغییر مهمی در ساختار حافظه ایجاد کرد؟

DDR5
علاوه بر Data Rate بالاتر،
تغییرات معماری
متعددی نسبت به DDR4
دارد.

از جمله
ساختار Subchannel
در DIMMهای استاندارد،
Bank Organization گسترده تر
و تغییراتی در Burst
و Power Management.

بنابراین مقایسه DDR4 و DDR5
فقط با یک عدد CL
مقایسه درستی نیست.

Memory Controller چگونه از ساختار DRAM استفاده می کند؟

Memory Controller
فقط درخواست ها
را به ترتیب ورود
ارسال نمی کند.

در بسیاری از طراحی ها
می تواند عواملی مانند:

  • Row Hit،
  • Bank Availability،
  • Read/Write Queue،
  • Timing Restrictions،
  • Refresh،
  • و Priority درخواست ها

را در Scheduling
در نظر بگیرد.

FR-FCFS چیست؟

یکی از سیاست های معروف
در بحث Academic
زمان بندی DRAM:

First Ready
–
First Come First Serve

یا:

FR-FCFS

است.

ایده کلی
این است که
درخواست های آماده تر،
مخصوصاً درخواست هایی
که می توانند از Row باز
استفاده کنند،
ممکن است اولویت پیدا کنند.

کنترلرهای واقعی
می توانند سیاست هایی
بسیار پیچیده تر
و اختصاصی داشته باشند.

چرا Memory Scheduler فقط نباید Row Hit را ترجیح دهد؟

اگر همیشه
درخواست های دارای Row Hit
اولویت بگیرند،
درخواست های دیگر
ممکن است بیش از حد
منتظر بمانند.

بنابراین Scheduler
باید میان:

Throughput
/
Latency
/
Fairness

تعادل برقرار کند.

در CPU چند هسته ای چه اتفاقی می افتد؟

چند Core
می توانند همزمان
درخواست های حافظه
ایجاد کنند.

علاوه بر آنها،
بخش هایی مانند:

  • Hardware Prefetcher،
  • Integrated GPU،
  • DMA Engines،
  • و سایر Deviceها

نیز ممکن است
Memory Traffic
ایجاد کنند.

Memory Controller
باید این ترافیک
را مدیریت کند.

گرافیک مجتمع چگونه فشار روی DRAM را افزایش می دهد؟

iGPU
ممکن است
Frame Buffer،
Texture،
Geometry
و سایر داده های گرافیکی
را در System Memory
نگهداری کند.

بنابراین CPU و GPU
می توانند همزمان
از DRAM
استفاده کنند.

CPU Traffic
+
iGPU Traffic
→
Shared Memory Subsystem

این یکی از دلایل
اهمیت Memory Bandwidth
در سیستم های دارای
گرافیک مجتمع است.

DRAM در Server چه چالش هایی دارد؟

Serverها
می توانند:

  • Coreهای بسیار زیاد،
  • Memory Channelهای متعدد،
  • DIMMهای فراوان،
  • ظرفیت حافظه بسیار بالا،
  • و تعداد زیادی Memory Request همزمان

داشته باشند.

در چنین محیطی
Memory Scheduling،
Bandwidth،
NUMA،
Reliability
و Power Consumption
اهمیت زیادی پیدا می کنند.

ECC در سطح DRAM چه نقشی دارد؟

Memory Error
می تواند به دلایل مختلف
رخ دهد.

ECC
با ذخیره اطلاعات اضافی
امکان تشخیص
و اصلاح برخی خطاها
را فراهم می کند.

این موضوع
به ویژه در:

  • Serverها،
  • Workstationهای حساس،
  • Scientific Computing،
  • و سیستم های Mission-Critical

اهمیت بیشتری دارد.

Rowhammer چیست؟

Rowhammer
پدیده ای است
که در آن
فعال سازی مکرر
برخی Rowهای DRAM
می تواند تحت شرایط خاص
باعث ایجاد Bit Flip
در Rowهای مجاور شود.

این موضوع
نشان داد
که رفتار فیزیکی
سلول های بسیار متراکم DRAM
می تواند پیامدهای
Reliability
و Security
داشته باشد.

سازندگان چگونه با Rowhammer مقابله می کنند؟

روش های مختلفی
در نسل ها
و Platformهای متفاوت
استفاده شده اند.

این روش ها
می توانند شامل
مکانیزم های مرتبط با:

  • Refresh،
  • تشخیص الگوی Activate،
  • Targeted Row Refresh،
  • Memory Controller،
  • و طراحی داخلی DRAM

باشند.

DRAM چگونه انرژی مصرف می کند؟

مصرف انرژی RAM
فقط هنگام انتقال داده
نیست.

عملیات مختلفی مانند:

  • Activate،
  • Precharge،
  • Read،
  • Write،
  • Refresh،
  • و حفظ وضعیت مدارها

انرژی مصرف می کنند.

چرا حافظه در دستگاه های Mobile طراحی متفاوتی دارد؟

در دستگاه های Battery-Powered،
Memory Subsystem
باید علاوه بر Performance،
مصرف انرژی
را نیز به شدت
کنترل کند.

به همین دلیل
خانواده LPDDR
مجموعه ای از
ویژگی های Power Management
را برای چنین سیستم هایی
ارائه می کند.

Memory Overclocking در سطح DRAM یعنی چه؟

افزایش Data Rate
یا کاهش Timingها
باعث می شود
Margin زمانی
برای انجام عملیات
کمتر شود.

اگر تنظیمات
بیش از توان:

  • DRAM Chips،
  • Memory Controller،
  • Motherboard Trace Layout،
  • و Signal Integrity

باشند،
خطا یا ناپایداری
ممکن است رخ دهد.

چرا RAM ناپایدار می تواند مشکل عجیبی ایجاد کند؟

خطای حافظه
الزاماً به شکل
خاموش شدن فوری سیستم
ظاهر نمی شود.

ممکن است باعث:

  • Crash تصادفی،
  • خرابی فایل،
  • خطای برنامه،
  • Blue Screen،
  • خطای محاسباتی،
  • یا رفتار غیرقابل پیش بینی

شود.

به همین دلیل
Stability حافظه
اهمیت زیادی دارد.

اشتباهات رایج — Common Mistakes: DRAM و Memory Timing
  • فرض اینکه DRAM مثل یک آرایه ساده با دسترسی آنی به هر Byte عمل می کند.
  • نادیده گرفتن نیاز DRAM به Refresh.
  • فرض اینکه Read در DRAM کاملاً Passive است.
  • نادیده گرفتن Row Buffer.
  • یکی دانستن Row Hit و Row Conflict.
  • مقایسه RAM فقط با عدد CL.
  • فرض اینکه CL16 همیشه از CL30 سریع تر است.
  • نادیده گرفتن Clock واقعی هنگام تبدیل Cycle به Nanosecond.
  • نادیده گرفتن tRCD و tRP.
  • نادیده گرفتن Secondary Timingها.
  • فرض اینکه Data Rate بالاتر همیشه Latency پایین تری ایجاد می کند.
  • نادیده گرفتن Memory Controller در Performance RAM.
  • نادیده گرفتن Access Pattern برنامه.
  • فرض اینکه تمام Memory Requestها هزینه یکسان دارند.
  • نادیده گرفتن هزینه Refresh.

سوالات متداول درباره DRAM و Timing حافظه

DRAM چیست؟

نوعی حافظه
با تراکم بالا است
که برای حفظ اطلاعات
به Refresh دوره ای
نیاز دارد.

چرا DRAM باید Refresh شود؟

چون Charge
ذخیره شده در سلول ها
به مرور زمان
نشت می کند.

Row Buffer چیست؟

ساختاری مرتبط
با Sense Amplifierها است
که اطلاعات Row فعال
را در دسترس قرار می دهد.

Row Hit چیست؟

زمانی است
که درخواست جدید
به Rowی مربوط باشد
که از قبل
در Bank فعال است.

Row Conflict چیست؟

زمانی است
که Row دیگری
در همان Bank باز است
و برای دسترسی جدید
باید ابتدا بسته شود.

CL چیست؟

CAS Latency
یکی از Timingهای DRAM
و مربوط به فاصله
میان Read Command
و آماده شدن داده است.

tRCD چیست؟

فاصله زمانی لازم
میان ACTIVATE
و دسترسی Column
را توصیف می کند.

tRP چیست؟

Timing مربوط
به Precharge
پیش از باز کردن
Row جدید است.

آیا CL کمتر همیشه بهتر است؟

خیر.
Data Rate
و سایر Timingها
نیز باید در نظر گرفته شوند.

چرا RAM سریع تر ممکن است CL بالاتری داشته باشد؟

چون هر Clock Cycle
در حافظه سریع تر
زمان کوتاه تری دارد
و عدد Cycle به تنهایی
زمان واقعی را نشان نمی دهد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • DRAM: حافظه Dynamic Random-Access Memory.
  • DRAM Cell: واحد پایه ذخیره اطلاعات در DRAM.
  • 1T1C: ساختار کلاسیک یک Transistor و یک Capacitor.
  • Capacitor: عنصر ذخیره Charge در سلول DRAM.
  • Access Transistor: ترانزیستور کنترل دسترسی به سلول.
  • Wordline: خط کنترلی انتخاب Row سلول ها.
  • Bitline: مسیر مرتبط با خواندن یا نوشتن وضعیت سلول.
  • Sense Amplifier: مدار تشخیص و تقویت وضعیت سلول.
  • Refresh: بازسازی دوره ای اطلاعات DRAM.
  • Row: مجموعه ای از سلول های DRAM که با هم فعال می شوند.
  • Column: بخش انتخابی داده در Row فعال.
  • Bank: بخش نسبتاً مستقل داخلی DRAM.
  • Row Buffer: ساختار مرتبط با Row فعال.
  • ACTIVATE: فرمان باز کردن Row.
  • PRECHARGE: آماده سازی Bank برای Row جدید.
  • Row Hit: دسترسی به Row از قبل فعال.
  • Row Conflict: نیاز به بستن Row فعلی و باز کردن Row دیگر.
  • CAS Latency: Timing مربوط به Column Read.
  • tRCD: فاصله ACTIVATE تا Column Command.
  • tRP: زمان Precharge.
  • tRAS: حداقل زمان فعال ماندن Row.
  • tRFC: Timing مرتبط با Refresh.
  • Command Rate: Timing مربوط به Command و Rank Selection.
  • Burst Transfer: انتقال چند داده متوالی پس از Command.
  • Burst Length: تعداد Transferهای یک Burst.
  • Bank-Level Parallelism: اجرای همپوشان عملیات در Bankهای مختلف.
  • Rowhammer: پدیده ایجاد Bit Flip ناشی از فعال سازی شدید برخی Rowها در شرایط خاص.

خلاصه فصل

DRAM
حافظه ای با تراکم بالا است
که بخش اصلی
System Memory
بسیاری از کامپیوترها
را تشکیل می دهد.

در مدل کلاسیک،
هر Bit
با ساختاری شامل:

1 Transistor
+
1 Capacitor

نگهداری می شود.

چون Charge
به مرور نشت می کند،
اطلاعات باید
به صورت دوره ای
Refresh شوند.

DRAM
به ساختارهایی مانند:

Channel
→
Rank
→
Bank
→
Row
→
Column

سازمان دهی می شود.

برای دسترسی
به یک Row جدید،
ممکن است لازم باشد:

PRECHARGE
→
ACTIVATE
→
READ / WRITE

انجام شود.

اگر Row مورد نیاز
از قبل باز باشد،
Row Hit
ایجاد می شود
و دسترسی معمولاً
ارزان تر است.

Timingهایی مانند:

CL
/
tRCD
/
tRP
/
tRAS

محدودیت های زمانی
بخش های مختلف
این عملیات
را توصیف می کنند.

بنابراین
مقایسه RAM
فقط با CL
اشتباه است.

باید:

Data Rate
+
Timings
+
Channels
+
Ranks
+
Memory Controller
+
Access Pattern

را در کنار هم دید.


نکته اصلی این فصل این است که RAM یک مخزن ساده و یکنواخت از Byteها نیست؛
پشت هر Memory Access مجموعه ای از انتخاب Bank و Row، فعال سازی سلول ها،
Sense کردن داده، Timingها، انتقال Burst، Refresh و تصمیم های Memory Controller قرار دارد.


فصل 87
سطح: متوسط
موضوع: نسل های حافظه مرتبط با CPU
تمرکز: DDR3 / DDR4 / DDR5 / LPDDR / Data Rate / Voltage / Compatibility


DDR3، DDR4 و DDR5 فقط نسل های سریع تر RAM نیستند؛ هر نسل رابط، Data Rate، Power و Platform متفاوتی دارد

DDR3، DDR4، DDR5 و LPDDR؛ نسل های حافظه دقیقاً چه تفاوتی دارند؟

وقتی مشخصات یک پردازنده
یا لپ تاپ را بررسی می کنیم،
معمولاً در کنار CPU
عباراتی مانند:

DDR3
/
DDR4
/
DDR5
/
LPDDR4X
/
LPDDR5
/
LPDDR5X

دیده می شوند.

این نام ها
فقط نشان دهنده
«RAM قدیمی یا جدید»
نیستند.

هر نسل حافظه
مجموعه ای از تغییرات
در:

  • Data Rate،
  • Bandwidth،
  • Voltage و Power،
  • ساختار داخلی،
  • Memory Channel،
  • ظرفیت قابل پشتیبانی،
  • و Interface الکتریکی

ایجاد کرده است.

مهم تر از همه:

DDR3
≠
DDR4
≠
DDR5

این نسل ها
معمولاً جایگزین مستقیم
یکدیگر روی همان Platform
نیستند.

در این فصل چه چیزهایی یاد می گیریم؟

  • DDR چیست.
  • چرا نسل های مختلف DDR ایجاد شدند.
  • DDR3 چه ویژگی هایی دارد.
  • DDR4 چه تغییراتی نسبت به DDR3 ایجاد کرد.
  • DDR5 چه تفاوت هایی با DDR4 دارد.
  • LPDDR چیست و چرا در لپ تاپ ها استفاده می شود.
  • DDR و LPDDR چه تفاوتی دارند.
  • Data Rate با Memory Clock چه تفاوتی دارد.
  • چرا DDR5 با وجود Timing بالاتر می تواند Bandwidth بیشتری داشته باشد.
  • On-Die ECC در DDR5 چیست.
  • چرا On-Die ECC جای ECC Memory واقعی را نمی گیرد.
  • چرا CPU تعیین می کند چه نسل RAMی قابل استفاده است.
  • چرا DDR5 را نمی توان در Slot DDR4 نصب کرد.
  • چرا RAM جدیدتر همیشه سیستم را به همان نسبت سریع تر نمی کند.
  • در خرید سیستم استوک کدام نسل حافظه اهمیت بیشتری دارد.

DDR چیست؟

DDR مخفف:

Double Data Rate

است.

مفهوم اصلی DDR
این است که Data
در دو لبه
Clock Signal
منتقل می شود.

Rising Edge
+
Falling Edge
→
Two Data Transfers Per Clock Cycle

به همین دلیل
Data Rate مؤثر
بیشتر از Clock پایه
رابط حافظه است.

چرا DDR نسل های مختلف دارد؟

با افزایش Performance CPUها،
تعداد Coreها
و حجم Data،
Memory System نیز
باید توان انتقال
بیشتری فراهم کند.

نسل های جدید DDR
تلاش می کنند
محدودیت هایی مانند:

  • Bandwidth محدود،
  • ظرفیت Memory،
  • مصرف انرژی،
  • Signal Integrity،
  • و قابلیت Scaling

را بهبود دهند.

بنابراین تغییر نسل
فقط افزایش یک عدد
در نام RAM نیست.

مقایسه کلی DDR3، DDR4 و DDR5

ویژگی DDR3 DDR4 DDR5
جایگاه نسلی قدیمی تر نسل بسیار رایج سیستم های چند سال اخیر نسل جدیدتر Platformهای مدرن
Data Rate معمول پایین تر بالاتر از DDR3 بالاتر از DDR4
Voltage اسمی رایج بالاتر کمتر از DDR3 کمتر از DDR4
Bandwidth بالقوه کمتر متوسط تا بالا بالاتر
ساختار داخلی ساده تر بهبود یافته Parallelism داخلی بیشتر و تغییرات گسترده تر
سازگاری فیزیکی مختص DDR3 مختص DDR4 مختص DDR5

این جدول
مقایسه مفهومی است.

Speed دقیق،
Timing
و قابلیت ها
به Module،
CPU
و Platform
بستگی دارند.

DDR3 چیست؟

DDR3
یکی از نسل های
مهم DRAM
در سیستم های قدیمی تر
Desktop،
Laptop
و Workstation است.

بسیاری از سیستم های
نسل های قدیمی Intel Core
و AMD
از DDR3
استفاده می کردند.

DDR3
هنوز ممکن است
در بازار استوک
دیده شود،
به خصوص در:

  • Desktopهای اداری قدیمی،
  • Workstationهای نسل قدیم،
  • و Laptopهای قدیمی تر.

DDR3L چیست؟

DDR3L
نسخه ای از DDR3
با Voltage عملیاتی
پایین تر است.

حرف L
از:

Low Voltage

می آید.

DDR3L
در بسیاری از Laptopها
و سیستم های کم مصرف تر
استفاده شده است.

در سیستم استوک
نباید فقط به عبارت DDR3
اکتفا کرد؛
نوع دقیق Module
و سازگاری Platform
باید بررسی شود.

DDR4 چه تغییری نسبت به DDR3 ایجاد کرد؟

DDR4
برای افزایش
Data Rate،
ظرفیت
و Efficiency
نسبت به DDR3
طراحی شد.

در سطح کلی:

DDR3
→
DDR4
=
More Bandwidth
+
Better Scaling
+
Lower Operating Voltage

DDR4
برای سال ها
حافظه اصلی
طیف بسیار گسترده ای
از:

  • Desktopها،
  • Laptopها،
  • Workstationها،
  • و Serverها

بوده است.

چرا DDR4 در سیستم های استوک اهمیت زیادی دارد؟

بخش بزرگی
از Laptopها
و Workstationهای استوک
کاربردی امروز
از DDR4
استفاده می کنند.

مزیت مهم DDR4
در بازار استوک
این است که معمولاً:

  • دسترسی به Module آن آسان است،
  • ارتقای Capacity معمولاً اقتصادی است،
  • و تنوع SO-DIMM و DIMM زیادی وجود دارد.

بنابراین DDR4 بودن
به خودی خود
یک ضعف مهم محسوب نمی شود.

DDR5 چه تغییری نسبت به DDR4 ایجاد کرد؟

DDR5
برای ادامه افزایش
Memory Bandwidth
و Scaling
طراحی شده است.

مهم ترین جهت گیری های آن:

  • Data Rate بالاتر،
  • Bandwidth بیشتر،
  • ظرفیت بالاتر در نسل های جدیدتر Module،
  • Parallelism بیشتر در Memory Subsystem،
  • و تغییراتی در Power Management و ساختار Module

هستند.

DDR5
→
Higher Memory Throughput Potential

چرا ساختار Channel در DDR5 متفاوت شده است؟

یکی از تغییرات مهم
DDR5 DIMM
تقسیم مسیر Data
به Subchannelهای مستقل تر
در سطح Module است.

این طراحی
امکان استفاده کارآمدتر
از Memory Transactions
و Parallelism بیشتر
را فراهم می کند.

اما نباید
این Subchannelها
را مستقیماً با مفهوم
Dual Channel
در سطح Memory Controller CPU
یکی دانست.

DDR5 DIMM Subchannels
≠
CPU Memory Channel Count

Power Management در DDR5 چه تغییری کرده است؟

DDR5
بخشی از مدیریت Voltage
مربوط به Module
را نسبت به نسل های قبلی
تغییر داده است.

در DIMMهای DDR5
معمولاً Power Management IC
روی خود Module
نقش مهم تری دارد.

هدف این تغییرات
مدیریت بهتر Power
و امکان Scaling
در Data Rateهای بالاتر است.

On-Die ECC در DDR5 چیست؟

DDR5 DRAM
از مکانیزم
On-Die ECC
برای کمک به اصلاح
بعضی خطاهای داخلی
در خود تراشه DRAM
استفاده می کند.

DRAM Cell Array
→
Internal Error Correction
→
Data Interface

هدف اصلی
افزایش Reliability
داخلی خود DRAM
با افزایش تراکم
و پیچیدگی ساخت است.

آیا On-Die ECC یعنی تمام DDR5ها ECC Memory هستند؟

خیر.

این یکی از مهم ترین
سوءتفاهم ها
درباره DDR5 است.

On-Die ECC
عمدتاً برای اصلاح
خطاهای داخلی
داخل DRAM Die
طراحی شده است.

System-Level ECC
مسیر Data
را در سطح گسترده تری
محافظت می کند.

DDR5 On-Die ECC
≠
ECC DIMM
≠
End-to-End Memory Protection

بنابراین اگر
Workstation یا Server
به ECC واقعی نیاز دارد،
باید پشتیبانی ECC
در:

  • CPU،
  • Motherboard،
  • Memory Controller،
  • و Module

بررسی شود.

چرا عدد CL در DDR5 معمولاً بزرگ تر از DDR4 است؟

Timingهایی مانند CL
با تعداد Cycle
بیان می شوند.

DDR5
Data Rate
بالاتری دارد،
بنابراین هر Cycle
زمان فیزیکی متفاوتی
نسبت به Memory کندتر
دارد.

به همین دلیل
نمی توان فقط نوشت:

CL40 > CL16
→
DDR5 Is Much Slower

این نتیجه گیری
اشتباه است.

برای بررسی Latency
باید:

Timing
+
Memory Clock
+
Memory Architecture

را در کنار هم دید.

عددی مانند DDR4-3200 یا DDR5-5600 چه معنایی دارد؟

عدد انتهای نام
معمولاً Data Rate
مؤثر را بیان می کند.

DDR4-3200
→
3200 MT/s

DDR5-5600
→
5600 MT/s

MT/s
به معنی:

Mega Transfers Per Second

است.

استفاده از اصطلاح MHz
برای این اعداد
در بازار رایج است،
اما از نظر فنی
MT/s
توصیف دقیق تری
برای Data Rate است.

Data Rate بیشتر چه چیزی را افزایش می دهد؟

Data Rate بیشتر
ظرفیت انتقال Data
در Memory Bus
را افزایش می دهد.

Higher MT/s
→
Higher Potential Bandwidth

اما Performance واقعی
فقط به Bandwidth
بستگی ندارد.

Latency،
Channel Configuration،
Cache،
CPU
و Workload
نیز مهم هستند.

آیا DDR5 همیشه بسیار سریع تر از DDR4 است؟

خیر.

DDR5
Bandwidth بالقوه بیشتری
فراهم می کند،
اما میزان افزایش
Performance Application
به رفتار Workload
بستگی دارد.

اگر برنامه
Memory-Bandwidth Bound باشد:

More Memory Bandwidth
→
Potentially Significant Gain

اگر برنامه
بیشتر Compute-Bound
یا Cache-Resident باشد:

More Memory Bandwidth
→
Possibly Small Gain

LPDDR چیست؟


LPDDR

Low-Power Double Data Rate
خانواده ای از حافظه DRAM
با تمرکز ویژه بر
مصرف انرژی پایین
و دستگاه های Mobile است.

LPDDR
بیشتر در:

  • Smartphone،
  • Tablet،
  • Ultrabook،
  • لپ تاپ های بسیار باریک،
  • و بعضی SoCها

دیده می شود.

LPDDR4، LPDDR4X، LPDDR5 و LPDDR5X چیست؟

LPDDR نیز
مانند DDR معمولی
نسل های مختلف دارد.

LPDDR3
→
LPDDR4
→
LPDDR4X
→
LPDDR5
→
LPDDR5X

در نسل های جدیدتر
هدف اصلی
افزایش:

  • Data Rate،
  • Bandwidth،
  • Power Efficiency،
  • و قابلیت استفاده در Deviceهای Mobile

بوده است.

DDR و LPDDR چه تفاوتی دارند؟

ویژگی DDR LPDDR
تمرکز اصلی Performance و قابلیت ارتقا Power Efficiency و Mobility
کاربرد رایج Desktop / Laptop / Workstation / Server Mobile / Thin Laptop / SoC
فرم نصب اغلب DIMM یا SO-DIMM اغلب Soldered یا نزدیک SoC
قابلیت ارتقا در بسیاری از سیستم ها امکان پذیر اغلب محدود یا غیرممکن
تمرکز مصرف انرژی متعارف بسیار مهم

چرا LPDDR معمولاً قابل ارتقا نیست؟

LPDDR
در بسیاری از Laptopها
مستقیماً روی Motherboard
یا نزدیک Processor
لحیم می شود.

این روش
می تواند مزایایی مانند:

  • مصرف کمتر،
  • مسیر Signal کوتاه تر،
  • طراحی باریک تر،
  • و امکان Data Rate بالا

داشته باشد.

اما عیب مهم:

Soldered Memory
→
Limited Or No RAM Upgrade

هنگام خرید لپ تاپ دارای LPDDR چه نکته ای مهم است؟

اگر RAM دستگاه
لحیم شده باشد،
Capacity زمان خرید
اهمیت بسیار بیشتری دارد.

برای مثال
اگر Laptop:

8 GB LPDDR

داشته باشد
و امکان ارتقا
وجود نداشته باشد،
کاربر در آینده
نمی تواند به سادگی
RAM را افزایش دهد.

بنابراین برای استفاده
چندساله:

Capacity آینده
باید از ابتدا
در نظر گرفته شود.

چرا CPU تعیین می کند چه نوع DDRی قابل استفاده است؟

Memory Controller
داخل Processor
برای Interfaceهای
مشخصی طراحی می شود.

بنابراین CPU
باید پشتیبانی لازم
از نسل حافظه
را داشته باشد.

CPU IMC
↔
Supported Memory Technology

بعضی نسل های CPU
فقط یک نسل Memory
را پشتیبانی می کنند.

بعضی Platformهای انتقالی
ممکن است بسته به Motherboard
از DDR4 یا DDR5
پشتیبانی کنند،
اما معمولاً یک Board مشخص
برای یکی از آنها
طراحی شده است.

آیا DDR5 را می توان داخل Slot DDR4 نصب کرد؟

خیر.

نسل های DDR
تفاوت های:

  • فیزیکی،
  • الکتریکی،
  • Signal،
  • Voltage،
  • و Protocol

دارند.

محل Key
روی Module
نیز متفاوت است
تا نصب اشتباه
جلوگیری شود.

DDR4 DIMM
≠
DDR5 DIMM

DIMM و SO-DIMM چه ارتباطی با نسل DDR دارند؟

DDR Generation
نوع فناوری Memory
را مشخص می کند.

DIMM و SO-DIMM
بیشتر به Form Factor
Module مربوط هستند.

DDR4 DIMM
→
Desktop

DDR4 SO-DIMM
→
Laptop / Mini PC

همین منطق
می تواند در نسل های دیگر
نیز وجود داشته باشد.

آیا نسل جدیدتر RAM ظرفیت بیشتری هم فراهم می کند؟

نسل های جدیدتر
معمولاً امکان استفاده
از Device Density
و Module Capacity
بالاتر را
بهتر فراهم می کنند.

اما Maximum RAM
یک سیستم
فقط به نسل DDR
وابسته نیست.

عوامل مهم:

  • Memory Controller CPU،
  • Motherboard،
  • BIOS/UEFI،
  • تعداد Slot،
  • Module Density،
  • و نوع Platform.

DDR5 بودن یعنی Dual Channel بودن سیستم؟

نه لزوماً.

Memory Channel
در سطح Platform
و Memory Controller
تعریف می شود.

تغییرات داخلی
DDR5 Module
نباید با تعداد
Channelهای CPU
اشتباه گرفته شوند.

برای تشخیص
Channel Configuration
باید Layout واقعی
سیستم بررسی شود.

نسل RAM چه تاثیری بر Integrated GPU دارد؟

Integrated GPU
معمولاً از
System Memory
استفاده می کند.

بنابراین Memory Bandwidth
می تواند روی
Performance آن
تاثیر زیادی داشته باشد.

Faster Memory
+
Adequate Channels
→
More Bandwidth For iGPU

به همین دلیل
بعضی Laptopهای دارای
LPDDR5 یا DDR5
می توانند برای iGPU
Bandwidth بیشتری
نسبت به Configurationهای
قدیمی تر فراهم کنند.

البته Performance نهایی
به خود GPU
و Architecture آن
نیز بستگی دارد.

آیا ارتقا از DDR4 به DDR5 CPU را سریع تر می کند؟

خود Core CPU
با تعویض نسل RAM
تغییر نمی کند.

چیزی که تغییر می کند
رفتار Memory Subsystem است.

اگر CPU
مرتباً منتظر Memory باشد،
افزایش Bandwidth
یا تغییر Latency
می تواند Performance
را بهتر کند.

اما اگر Workload:

Cache-Resident
OR
Compute-Bound

باشد،
تفاوت ممکن است
بسیار کمتر باشد.

چرا RAM نسل جدیدتر همیشه سیستم سریع تری نمی سازد؟

Performance سیستم
حاصل همکاری
اجزای متعدد است.

CPU
+
Cache
+
Memory Controller
+
RAM
+
Channels
+
Software
→
Real Performance

اگر Bottleneck
جای دیگری باشد،
افزایش Memory Bandwidth
ممکن است اثر کمی داشته باشد.

در خرید سیستم استوک DDR3، DDR4 یا DDR5 چقدر مهم است؟

نسل حافظه
یکی از شاخص های
سن و Platform سیستم است،
اما نباید
به تنهایی
معیار خرید باشد.

باید همزمان بررسی شود:

  • مدل CPU،
  • نسل پردازنده،
  • ظرفیت RAM،
  • Channel Configuration،
  • قابلیت ارتقا،
  • Storage،
  • GPU،
  • و قیمت کل سیستم.

آیا سیستم DDR3 هنوز ارزش خرید دارد؟

بستگی به:

  • قیمت،
  • نوع کاربری،
  • CPU،
  • قابلیت ارتقا،
  • و عمر مورد انتظار سیستم

دارد.

برای کاربری بسیار سبک
ممکن است همچنان
قابل استفاده باشد.

اما برای خریدی
با هدف استفاده بلندمدت،
Platform قدیمی DDR3
معمولاً محدودیت های بیشتری
از نظر:

  • CPU Generation،
  • Memory Capacity،
  • Efficiency،
  • I/O،
  • و Upgrade Path

دارد.

آیا DDR4 هنوز برای سیستم استوک مناسب است؟

بله.

DDR4
در بسیاری از
Laptopها،
Workstationها
و Desktopهای
کاملاً کاربردی
استفاده می شود.

برای بسیاری از کاربران:

  • اداری،
  • مهندسی،
  • برنامه نویسی،
  • طراحی،
  • و حتی Gaming

DDR4
همچنان می تواند
Performance کافی
ارائه دهد.

چه زمانی DDR5 مزیت مهم تری محسوب می شود؟

DDR5
ارزش بیشتری پیدا می کند
زمانی که:

  • Workload به Bandwidth حساس باشد،
  • Platform جدیدتر مورد نیاز باشد،
  • Integrated GPU از Bandwidth بیشتر سود ببرد،
  • Memory Capacity بالا لازم باشد،
  • یا Upgrade Path جدیدتر اهمیت داشته باشد.

اما نباید
CPU ضعیف تر
را فقط به خاطر
DDR5 بودن سیستم
به CPU قوی تر
روی Platform DDR4
ترجیح داد.

در لپ تاپ استوک دارای LPDDR چه چیزی را بررسی کنیم؟

  1. ظرفیت RAM را مشخص کنید.
  2. بررسی کنید Memory کاملاً Soldered است یا خیر.
  3. امکان ارتقا را بررسی کنید.
  4. نسل LPDDR را ثبت کنید.
  5. نیاز RAM آینده کاربر را تخمین بزنید.
  6. Performance واقعی دستگاه را بررسی کنید.

در Laptop دارای
16 GB LPDDR Soldered
ممکن است Speed حافظه
عالی باشد،
اما سقف Capacity
برای همیشه
همان 16 GB بماند.

برای تشخیص RAM سازگار با CPU چه چیزهایی را بررسی کنیم؟

  1. مدل دقیق CPU را پیدا کنید.
  2. نسل Memory پشتیبانی شده را بررسی کنید.
  3. نوع Motherboard یا Laptop را مشخص کنید.
  4. DIMM، SO-DIMM یا Soldered بودن را بررسی کنید.
  5. حداکثر Capacity پشتیبانی شده را بررسی کنید.
  6. Data Rate رسمی Platform را بررسی کنید.
  7. تعداد Channelها را بررسی کنید.
  8. در Workstation، ECC Support را در صورت نیاز بررسی کنید.
  9. در Laptop، Slotهای قابل ارتقا را مشخص کنید.

زیرساخت فنی — چرا افزایش نسل DDR فقط افزایش Clock نیست؟

اگر هدف فقط
افزایش Clock
همان Interface قدیمی بود،
با افزایش Speed
مشکلات:

  • Signal Integrity،
  • Power،
  • Timing Margin،
  • و Scalability

شدیدتر می شدند.

به همین دلیل
نسل جدید Memory
معمولاً مجموعه ای
از تغییرات معماری
ایجاد می کند.

DDR Generation Change
↓
Electrical Changes
+
Protocol Changes
+
Internal Organization Changes
+
Power Changes
+
Higher Data Rate

Memory Controller CPU
نیز باید
برای این Interface جدید
طراحی شده باشد.

CPU IMC
↔
Motherboard
↔
Memory Technology

به همین دلیل
RAM را نمی توان
مستقل از CPU
و Platform
بررسی کرد.

نکته مهندسی — Memory Generation را با Memory Performance یکی ندانید

عبارت:

DDR5

به تنهایی
Performance دقیق RAM
را مشخص نمی کند.

دو سیستم DDR5
ممکن است:

  • Data Rate متفاوت،
  • Timing متفاوت،
  • Channel Configuration متفاوت،
  • CPU متفاوت،
  • و Memory Controller متفاوت

داشته باشند.

DDR Generation
=
Technology Generation

Real Memory Performance
=
Generation
+
Data Rate
+
Timing
+
Channels
+
IMC
+
Workload

تاثیر بر عملکرد — Bandwidth بیشتر زمانی ارزش دارد که CPU واقعاً بتواند از آن استفاده کند

تصور کنید
DDR5
Bandwidth بسیار بیشتری
نسبت به DDR4
در اختیار سیستم قرار دهد.

اگر Workload
مرتباً حجم زیادی Data
از RAM بخواند:

More Bandwidth
→
Less Memory Bottleneck
→
More Performance

اما اگر بیشتر Data
داخل Cache
باقی بماند:

High Cache Hit Rate
→
Less DRAM Traffic
→
Smaller DDR Generation Impact

بنابراین تفاوت DDR4 و DDR5
در تمام برنامه ها
درصد یکسانی
از Performance
ایجاد نمی کند.

اشتباهات رایج — Common Mistakes درباره نسل های DDR
  • فرض اینکه DDR5 همیشه چند برابر DDR4 سریع تر است.
  • مقایسه RAM فقط براساس نام نسل.
  • فرض اینکه DDR4 را می توان در Slot DDR5 نصب کرد.
  • فرض اینکه DDR5 را می توان در Slot DDR4 نصب کرد.
  • یکی دانستن MHz و MT/s.
  • مقایسه CL بدون توجه به Data Rate.
  • فرض اینکه CL بالاتر همیشه Latency واقعی بالاتر دارد.
  • فرض اینکه DDR5 On-Die ECC همان ECC Memory کامل است.
  • فرض اینکه DDR5 بودن به معنی Dual Channel بودن سیستم است.
  • نادیده گرفتن Memory Controller CPU.
  • نادیده گرفتن Motherboard هنگام بررسی سازگاری RAM.
  • فرض اینکه LPDDR ضعیف تر از DDR است.
  • نادیده گرفتن غیرقابل ارتقا بودن LPDDR در بسیاری از Laptopها.
  • خرید Laptop با RAM Soldered ناکافی فقط به دلیل Speed بالاتر.
  • رد کردن سیستم DDR4 فقط به دلیل وجود DDR5 در بازار.
  • خرید CPU ضعیف تر فقط به خاطر استفاده سیستم از DDR5.

نسل های حافظه در خرید سیستم؛ برداشت سریع

نوع حافظه برداشت کلی مهم ترین نکته خرید
DDR3 / DDR3L Platform قدیمی تر قیمت، CPU و عمر مفید مورد انتظار را دقیق بررسی کنید
DDR4 Platform بالغ و هنوز بسیار کاربردی Capacity و Dual Channel را بررسی کنید
DDR5 Platform جدیدتر با Bandwidth بالقوه بیشتر فقط به DDR5 بودن اکتفا نکنید؛ CPU و Configuration مهم اند
LPDDR4X Mobile و کم مصرف اغلب قابلیت ارتقا محدود است
LPDDR5 / LPDDR5X Mobile مدرن با Bandwidth و Efficiency بالا Capacity ثابت دستگاه را قبل از خرید جدی بگیرید

سوالات متداول درباره DDR3، DDR4، DDR5 و LPDDR

DDR چیست؟

Double Data Rate
خانواده ای از حافظه DRAM است
که Data را در دو لبه
Clock منتقل می کند.

DDR4 بهتر است یا DDR5؟

DDR5 نسل جدیدتری است
و Bandwidth بالقوه بیشتری دارد،
اما Performance واقعی
به CPU،
Timing،
Channel
و Workload بستگی دارد.

آیا DDR5 را می توان روی سیستم DDR4 نصب کرد؟

خیر.
Interface فیزیکی و الکتریکی
این دو نسل متفاوت است.

آیا DDR5 همیشه سریع تر است؟

از نظر Bandwidth بالقوه
معمولاً مزیت دارد،
اما افزایش Performance Application
به Workload بستگی دارد.

On-Die ECC در DDR5 یعنی RAM من ECC است؟

خیر.
On-Die ECC
مکانیزم داخلی DRAM است
و جای ECC Memory
در سطح سیستم را نمی گیرد.

LPDDR چیست؟

Low-Power DDR
خانواده ای از DRAM
با تمرکز بر
مصرف انرژی پایین
و Deviceهای Mobile است.

LPDDR قابل ارتقا است؟

در بسیاری از Laptopها
LPDDR روی Motherboard
لحیم شده است
و قابل ارتقا نیست.

DDR4 در سال های آینده ضعیف محسوب می شود؟

صرفاً DDR4 بودن
سیستم را ضعیف نمی کند.
CPU،
Capacity،
Channel Configuration
و Workload
بسیار مهم تر هستند.

برای لپ تاپ استوک DDR4 بهتر است یا LPDDR5؟

به نیاز کاربر بستگی دارد.
LPDDR5 می تواند
Bandwidth و Efficiency خوبی داشته باشد،
اما DDR4 SO-DIMM
ممکن است قابلیت ارتقای بسیار بهتری ارائه دهد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • DDR: Double Data Rate؛ خانواده ای از حافظه DRAM.
  • DDR3: نسل قدیمی تر DDR که در بسیاری از سیستم های نسل قبل استفاده شده است.
  • DDR3L: نسخه Low-Voltage از DDR3.
  • DDR4: نسل بعدی DDR با Data Rate و Efficiency بالاتر نسبت به DDR3.
  • DDR5: نسل جدیدتر DDR با تمرکز بر Bandwidth و Scaling بیشتر.
  • LPDDR: Low-Power DDR؛ حافظه با تمرکز بر مصرف انرژی پایین در Deviceهای Mobile.
  • LPDDR4X: نسخه کم مصرف تر تکامل یافته خانواده LPDDR4.
  • LPDDR5: نسل جدیدتر LPDDR با Bandwidth و Efficiency بیشتر.
  • LPDDR5X: توسعه LPDDR5 برای Data Rateهای بالاتر.
  • MT/s: Mega Transfers Per Second؛ نرخ Transfer داده.
  • On-Die ECC: Error Correction داخلی داخل DRAM Die.
  • PMIC: Power Management Integrated Circuit.
  • SO-DIMM: فرم فاکتور کوچک تر Memory Module که در بسیاری از Laptopها استفاده می شود.
  • Soldered Memory: حافظه ای که مستقیماً روی Board لحیم شده و معمولاً قابل تعویض نیست.

خلاصه فصل

DDR3،
DDR4
و DDR5
نسل های مختلف
Main Memory
هستند.

حرکت از یک نسل
به نسل بعد
فقط افزایش Frequency نیست.

New DDR Generation
=
Higher Data Rate
+
Interface Changes
+
Power Changes
+
Internal Architecture Changes
+
Better Scaling

DDR5
Bandwidth بالقوه
بیشتری ارائه می دهد،
اما افزایش Performance
در Application
به Workload وابسته است.

LPDDR
نیز مسیر متفاوتی
با تمرکز بیشتر
بر Power Efficiency
و دستگاه های قابل حمل
دنبال می کند.

مهم تر از همه،
نسل RAM
باید با:

CPU Memory Controller
+
Motherboard
+
Firmware
+
Physical Interface

سازگار باشد.


در خرید سیستم، DDR5 بودن به تنهایی دلیل برتری نیست
و DDR4 بودن نیز به تنهایی نقطه ضعف محسوب نمی شود؛
باید کل Platform، CPU، ظرفیت RAM، Channel Configuration،
قابلیت ارتقا و Workload واقعی کاربر را در کنار هم بررسی کرد.


فصل 88
سطح: متوسط تا پیشرفته
موضوع: سطوح دسترسی پردازنده
تمرکز: User Mode / Kernel Mode / Privilege / System Call


پردازنده به همه برنامه ها اجازه اجرای هر دستور و دسترسی مستقیم به تمام منابع سیستم را نمی دهد

User Mode و Kernel Mode چیست؟ CPU چگونه سطح دسترسی برنامه ها را کنترل می کند؟

وقتی یک مرورگر،
بازی،
نرم افزار مهندسی
یا برنامه حسابداری
روی کامپیوتر اجرا می شود،
برنامه نمی تواند
هر کاری که بخواهد
مستقیماً با سخت افزار
انجام دهد.

اگر هر برنامه
اجازه داشت مستقیماً
جدول صفحات حافظه را تغییر دهد،
Interruptها را کنترل کند،
به حافظه Kernel دسترسی داشته باشد
یا منابع حیاتی CPU را تغییر دهد،
سیستم عامل نمی توانست
امنیت و پایداری سیستم
را حفظ کند.

به همین دلیل
معماری CPU
مفهوم:

Privilege Levels

را در اختیار
سیستم عامل قرار می دهد.

در این فصل چه چیزهایی یاد می گیریم؟

  • User Mode چیست.
  • Kernel Mode چیست.
  • Privilege Level چیست.
  • Privileged Instruction چیست.
  • چرا برنامه عادی نمی تواند مستقیماً همه دستورهای CPU را اجرا کند.
  • Ring 0 تا Ring 3 در معماری x86 چیست.
  • چرا معمولاً بیشتر درباره Ring 0 و Ring 3 صحبت می کنیم.
  • Exception و Interrupt چگونه باعث تغییر مسیر اجرای CPU می شوند.
  • System Call چیست.
  • CPU هنگام System Call چه کاری انجام می دهد.
  • Mode Switch با Context Switch چه تفاوتی دارد.
  • ARM Exception Levels چیست.
  • EL0 تا EL3 چه کاربردی دارند.
  • Privilege چگونه به امنیت سیستم کمک می کند.
  • Hypervisor چه ارتباطی با سطوح دسترسی دارد.

چرا CPU اصلاً به سطح دسترسی نیاز دارد؟

یک سیستم مدرن
ممکن است همزمان
صدها Process
و هزاران Thread
داشته باشد.

همه این برنامه ها
روی یک مجموعه
از منابع سخت افزاری
مشترک اجرا می شوند.

CPU باید بتواند
میان کدی که
اجازه مدیریت سیستم را دارد
و کدی که
فقط یک Application معمولی است
تفاوت ایجاد کند.

Application Code
≠
Operating System Kernel

User Mode چیست؟


حالت اجرای محدود برای برنامه های معمولی

User Mode
حالتی است که
Applicationهای معمولی
با سطح دسترسی محدود
در آن اجرا می شوند.

برنامه در این حالت
نمی تواند آزادانه
عملیات حساس سیستم
را انجام دهد.

مرورگر،
نرم افزار Office،
بسیاری از بازی ها،
نرم افزارهای مهندسی
و بیشتر Applicationها
عمدتاً در User Mode
اجرا می شوند.

User Mode چه محدودیت هایی دارد؟

جزئیات دقیق
به ISA
و سیستم عامل
وابسته است،
اما برنامه User Mode
معمولاً اجازه ندارد
مستقیماً عملیات حساس
و مدیریتی را انجام دهد.

برای مثال
دسترسی آزاد به:

  • کنترل Memory Management،
  • تغییر مستقیم Page Tableهای Kernel،
  • کنترل برخی Interruptها،
  • تغییر وضعیت های حساس CPU،
  • دسترسی آزاد به حافظه Kernel،
  • و اجرای برخی Privileged Instructionها

محدود می شود.

Kernel Mode چیست؟


حالت اجرای دارای سطح دسترسی بالا

Kernel Mode
حالتی است که
کدهای مورد اعتماد
سیستم عامل
می توانند به قابلیت های
حساس پردازنده
و منابع سیستم
دسترسی داشته باشند.

Kernel
برای مدیریت:

  • Processها،
  • Virtual Memory،
  • Interruptها،
  • Deviceها،
  • Scheduler،
  • و سایر منابع سیستم

به چنین سطح دسترسی
نیاز دارد.

مدل ساده User Mode و Kernel Mode

Applications
→
User Mode

Operating System Kernel
→
Kernel Mode

اما این تقسیم بندی
فقط یک مدل ساده شده است.

معماری های مختلف
می توانند چند سطح
Privilege
داشته باشند.

Privileged Instruction چیست؟

بعضی Instructionها
فقط زمانی
قابل اجرا هستند
که CPU
در سطح دسترسی
مناسب قرار داشته باشد.

این دستورها
معمولاً قابلیت هایی
را کنترل می کنند
که می توانند
کل سیستم را تحت تاثیر
قرار دهند.

Privileged Operation
→
Privilege Check
→
Allowed or Exception

اگر برنامه عادی یک دستور غیرمجاز اجرا کند چه می شود؟

CPU
سطح دسترسی فعلی
را بررسی می کند.

اگر عملیات
در آن سطح
مجاز نباشد،
پردازنده اجازه نمی دهد
دستور به شکل عادی
ادامه پیدا کند.

در عوض
یک Exception
ایجاد می شود.

User Program
→
Privileged Instruction
→
CPU Privilege Check
→
Exception

پشت صحنه فنی — Under the Hood: محدودیت User Mode فقط یک قانون نرم افزاری نیست

نکته مهم این است
که سیستم عامل
صرفاً از برنامه
درخواست نمی کند
که به حافظه Kernel
دست نزند.

خود سخت افزار
مکانیزم هایی
برای اجرای این محدودیت ها
دارد.

CPU هنگام اجرای
برخی Instructionها
و Memory Accessها
وضعیت Privilege فعلی
را بررسی می کند.

Current Privilege
+
Requested Operation
+
Protection Rules
→
Hardware Decision

این Hardware Enforcement
یکی از پایه های اصلی
Isolation
در سیستم های مدرن است.

Protection Ring در x86 چیست؟

معماری x86
چهار سطح Privilege
را در مدل Ring
تعریف می کند.

Ring 0
→
Highest Privilege

Ring 1

Ring 2

Ring 3
→
Lowest Privilege

Ring 0 چیست؟

Ring 0
بالاترین سطح
Privilege
در مدل کلاسیک
Protection Ringهای x86 است.

Kernel سیستم عامل
معمولاً در این سطح
اجرا می شود.

Ring 0
→
Kernel
→
High Privilege

Ring 3 چیست؟

Applicationهای User Space
معمولاً در Ring 3
اجرا می شوند.

Ring 3
→
User Applications
→
Restricted Privilege

پس Ring 1 و Ring 2 چه شدند؟

معماری x86
آنها را تعریف می کند،
اما سیستم عامل های مدرن
معمولاً مدل اصلی خود را
بیشتر بر:

Ring 0
+
Ring 3

بنا می کنند.

بنابراین در توضیحات
سیستم عامل های امروزی
Ring 1 و Ring 2
بسیار کمتر دیده می شوند.

مقایسه ساده Ringهای x86

Ring سطح دسترسی کاربرد رایج در سیستم های مدرن
Ring 0 بسیار بالا Kernel سیستم عامل
Ring 1 میانی معمولاً کمتر استفاده می شود
Ring 2 میانی معمولاً کمتر استفاده می شود
Ring 3 محدود Applicationهای User Space

CPL چیست؟

در x86
مفهوم:

Current Privilege Level

یا CPL
سطح Privilege
فعلی اجرای کد
را توصیف می کند.

CPU از این اطلاعات
برای بررسی
مجاز بودن
برخی عملیات
استفاده می کند.

Privilege Level چه ارتباطی با حافظه دارد؟

Page Table Entryها
می توانند مشخص کنند
یک Page
برای User Mode
قابل دسترسی است
یا فقط Kernel
اجازه دسترسی دارد.

Virtual Address
→
Page Translation
→
Permission Check
→
Access or Fault

بنابراین Memory Protection
فقط Address Translation
نیست.

Permission Check
نیز بخش مهمی
از این فرآیند است.

CPU هنگام دسترسی به حافظه چه Permissionهایی را بررسی می کند؟

بسته به معماری،
Page Table
می تواند اطلاعاتی
درباره مجاز بودن:

  • Read،
  • Write،
  • Execute،
  • و User/Supervisor Access

نگهداری کند.

CPU هنگام Memory Access
این محدودیت ها
را اعمال می کند.

چرا برنامه User Mode نمی تواند حافظه Kernel را بخواند؟

Pageهای متعلق به Kernel
می توانند به شکلی
علامت گذاری شوند
که دسترسی User Mode
به آنها مجاز نباشد.

اگر Application
تلاش کند
به چنین Pageای
دسترسی پیدا کند،
CPU
Protection Fault
ایجاد می کند.

اگر برنامه محدود است، چگونه از سیستم عامل کاری می خواهد؟

اینجا مفهوم:

System Call

وارد می شود.

Application
درخواست خود
را از طریق Interface
کنترل شده ای
به Kernel
ارسال می کند.

Application
→
System Call
→
Kernel
→
Requested Service

یک مثال ساده از System Call

فرض کنید برنامه
می خواهد داده ای
از یک File
بخواند.

Application
خودش مستقیماً
کنترل کامل Storage Device
را در اختیار نمی گیرد.

در عوض
از سرویس سیستم عامل
استفاده می کند.

Application
→
Read Request
→
System Call
→
Kernel
→
File System / Driver
→
Result

هنگام System Call چه اتفاقی برای CPU می افتد؟

پردازنده
باید از اجرای
کد محدود User Space
وارد مسیر کنترل شده
Kernel شود.

این Transition
توسط مکانیزم های
تعریف شده معماری CPU
انجام می شود.

User Mode
→
Controlled Entry
→
Kernel Mode
→
Kernel Handler

دستور SYSCALL چیست؟

x86-64
مکانیزم هایی
برای ورود سریع
از User Space
به Kernel
فراهم می کند.

یکی از Instructionهای مهم:

SYSCALL

است.

Kernel
از قبل
وضعیت لازم
برای Entry Point
مناسب را
تنظیم می کند.

SYSRET چیست؟

در معماری x86-64
دستور:

SYSRET

می تواند
در مسیر بازگشت
از Kernel
به سطح User
استفاده شود.

User
→
SYSCALL
→
Kernel
→
SYSRET
→
User

Interrupt چه ارتباطی با Privilege دارد؟

Interrupt
می تواند باعث شود
CPU اجرای عادی
یک برنامه را متوقف کند
و وارد Handler
مشخصی شود.

این Handler
معمولاً بخشی
از Kernel
یا کد سطح بالای
سیستم است.

بنابراین Interrupt Handling
می تواند شامل
تغییر Control Flow
و Privilege State
باشد.

Exception چه تفاوتی با System Call دارد؟

System Call
معمولاً یک درخواست
عمدی و کنترل شده
از Application
برای دریافت سرویس
از Kernel است.

Exception
می تواند در نتیجه
یک وضعیت خاص
هنگام اجرای Instruction
ایجاد شود.

برای مثال:

  • Page Fault،
  • Divide Error،
  • Invalid Opcode،
  • Protection Violation،
  • و برخی خطاهای اجرای Instruction.

Trap چیست؟

اصطلاح Trap
بسته به معماری
و سیستم عامل
می تواند کاربرد
دقیق متفاوتی داشته باشد.

اما به طور کلی
به انتقال کنترل
به Handler
در نتیجه یک رویداد
همزمان با اجرای برنامه
مربوط می شود.

بنابراین بهتر است
اصطلاحات:

Interrupt
/
Exception
/
Trap

را با توجه
به معماری مشخص
تفسیر کنیم.

Mode Switch چیست؟

Mode Switch
در این بحث
به تغییر سطح اجرا
میان User Mode
و Kernel Mode
اشاره دارد.

User Mode
↔
Kernel Mode

این تغییر
الزاماً به معنی
عوض شدن Process
نیست.

Mode Switch و Context Switch یکی هستند؟

خیر.

این دو مفهوم
به یکدیگر مرتبط اند
اما یکسان نیستند.

در System Call
ممکن است همان Thread
از User Mode
وارد Kernel Mode شود
و سپس دوباره
به همان Thread
بازگردد.

در این حالت
الزاماً Scheduler
Thread دیگری
را جایگزین نکرده است.

مقایسه Mode Switch و Context Switch

مفهوم چه چیزی تغییر می کند؟ آیا Process یا Thread حتماً عوض می شود؟
Mode Switch Privilege / Execution Mode خیر
Context Switch Execution Context معمولاً Thread یا Process اجرایی تغییر می کند

چرا System Call هزینه دارد؟

اجرای System Call
نسبت به یک Function Call
معمولی
پیچیده تر است.

CPU و Kernel
باید Transition
کنترل شده ای
میان دو محیط
انجام دهند.

ممکن است:

  • بخشی از Register State مدیریت شود،
  • Privilege تغییر کند،
  • Kernel Entry Code اجرا شود،
  • Permissionها بررسی شوند،
  • و در پایان مسیر بازگشت انجام شود.

اشتباه رایج — Common Mistake: هر System Call یک Context Switch کامل است

خیر.

System Call
می تواند باعث
ورود همان Thread
به Kernel Mode شود
بدون اینکه CPU
اجرای Thread دیگری
را آغاز کند.

System Call
≠
Necessarily a Context Switch

البته اگر عملیات
باعث Block شدن Thread شود،
Scheduler
ممکن است Thread دیگری
را اجرا کند
و در آن حالت
Context Switch نیز رخ دهد.

Privilege Levels چگونه امنیت سیستم را افزایش می دهند؟

اگر یک Application
دچار Bug شود،
محدودیت Privilege
می تواند جلوی
بسیاری از آسیب های
مستقیم به Kernel
را بگیرد.

همچنین اگر
یک برنامه مخرب
در User Mode اجرا شود،
برای دستیابی
به کنترل کامل سیستم
باید محدودیت های
بیشتری را دور بزند.

User Isolation
+
Memory Protection
+
Privilege Enforcement
→
Stronger Security Boundary

چرا Bug در Kernel خطرناک تر است؟

کدی که در Kernel Mode
اجرا می شود
Privilege بسیار بیشتری
دارد.

بنابراین خطا
در Kernel
یا Driver سطح Kernel
می تواند تاثیر
بسیار گسترده تری
از Crash
یک Application معمولی
داشته باشد.

Driverها در چه سطحی اجرا می شوند؟

این موضوع
به طراحی سیستم عامل
و نوع Driver
بستگی دارد.

بسیاری از Driverهای
سنتی سیستم عامل
دارای بخش هایی هستند
که با Privilege بالا
اجرا می شوند.

به همین دلیل
آسیب پذیری یک Driver
می تواند
از نظر امنیتی
بسیار مهم باشد.

ARM چگونه سطوح دسترسی را مدیریت می کند؟

معماری های جدید ARM
به جای مدل Ring
از مفهومی به نام:

Exception Levels

استفاده می کنند.

در AArch64
معمولاً سطوح:

EL0
/
EL1
/
EL2
/
EL3

مطرح هستند.

EL0 تا EL3 چه معنایی دارند؟

سطح کاربرد مفهومی رایج Privilege نسبی
EL0 Application / User Space کمتر
EL1 Operating System Kernel بالاتر
EL2 Hypervisor بالاتر
EL3 Secure Monitor / Firmware در طراحی های مربوط بسیار بالا

EL0 در ARM چیست؟

EL0
معمولاً سطحی است
که Applicationهای
User Space
در آن اجرا می شوند.

EL0
→
User Applications

EL1 در ARM چیست؟

Kernel سیستم عامل
معمولاً در EL1
اجرا می شود.

EL1
→
Operating System Kernel

EL2 چیست؟

EL2
برای قابلیت های
Virtualization
و Hypervisor
در نظر گرفته شده است.

EL2
→
Hypervisor / Virtualization

EL3 چیست؟

EL3
در سیستم هایی
که از این سطح استفاده می کنند،
با Secure Monitor
و مدیریت انتقال
میان Security Stateها
ارتباط دارد.

این بخش
با معماری امنیتی ARM
ارتباط عمیقی دارد.

Hypervisor چگونه مسئله Privilege را پیچیده تر می کند؟

در Virtualization،
ممکن است یک Guest OS
تصور کند
خودش Kernel
با بالاترین سطح کنترل
سیستم است.

اما Hypervisor
باید بتواند
Guestها را
از یکدیگر
و از Host
جدا کند.

Applications
→
Guest Kernel
→
Hypervisor
→
Physical Hardware

CPU چگونه به Hypervisor کمک می کند؟

پردازنده های مدرن
قابلیت های سخت افزاری
مخصوص Virtualization
دارند.

در x86
فناوری هایی مانند:

Intel VT-x
/
AMD-V

برای این هدف
توسعه یافته اند.

این قابلیت ها
اجازه می دهند
Guest OS
با کارایی و Isolation بهتر
اجرا شود.

اصطلاح Ring -1 چیست؟

گاهی در توضیحات
Virtualization
اصطلاح غیررسمی:

Ring -1

برای اشاره
به سطح Hypervisor
استفاده می شود.

اما باید توجه داشت
که Ring -1
بخشی از چهار Ring کلاسیک:

Ring 0
/
Ring 1
/
Ring 2
/
Ring 3

نیست.

این بیشتر
یک اصطلاح توضیحی
برای بیان
جایگاه Virtualization
است.

System Management Mode یا SMM چیست؟

در پردازنده های x86
حالت ویژه ای
به نام:

System Management Mode
=
SMM

وجود دارد.

SMM
برای برخی وظایف
سطح پایین Platform
و Firmware
طراحی شده است.

ورود به این حالت
از طریق:

System Management Interrupt
=
SMI

انجام می شود.

Ring -2 چیست؟

مشابه Ring -1،
گاهی اصطلاح:

Ring -2

به صورت غیررسمی
برای اشاره به SMM
استفاده می شود.

اما این نام
یک Ring رسمی
در مدل کلاسیک x86
نیست.

Firmware چه ارتباطی با Privilege CPU دارد؟

Firmware
در مراحل مختلف
Boot
و مدیریت Platform
می تواند از قابلیت های
سطح پایین CPU
استفاده کند.

برخی محیط های Firmware
به منابعی دسترسی دارند
که Application معمولی
هرگز نباید
مستقیماً کنترل کند.

نکته مهندسی — Engineering Insight: CPU فقط Instruction اجرا نمی کند؛ مرز امنیتی نیز اعمال می کند

معمولاً هنگام توضیح CPU
تمرکز روی:

Fetch
→
Decode
→
Execute

است.

اما پردازنده
در بسیاری از عملیات
باید علاوه بر
«چه Instructionی اجرا شود»
بررسی کند:

Is This Operation Allowed
At The Current Privilege Level?

این بررسی
بخشی بنیادی
از معماری سیستم های
چندکاربره،
چندپردازه
و امن امروزی است.

تاثیر بر عملکرد — Performance Impact: عبور از مرز User و Kernel رایگان نیست

System Call،
Exception
و Interrupt
می توانند باعث اجرای
مسیرهای کنترلی
پیچیده تری
نسبت به اجرای عادی
Instructionها شوند.

اگر برنامه
تعداد بسیار زیادی
عملیات کوچک
نیازمند ورود به Kernel
ایجاد کند،
هزینه این Transitionها
می تواند قابل توجه شود.

به همین دلیل
طراحی API،
Batching عملیات،
Buffering
و کاهش System Callهای
غیرضروری
می تواند روی Performance
اثر بگذارد.

آیا Privilege Check همیشه برای جلوگیری از نشت اطلاعات کافی است؟

از دید معماری،
دسترسی غیرمجاز
نباید Commit شود.

اما تحقیقات امنیتی
روی Speculative Execution
نشان داده اند
که رفتار Microarchitectural
می تواند
Side Channelهایی
ایجاد کند.

خانواده حملاتی مانند:

Meltdown
/
Spectre

اهمیت تفاوت
میان Architectural State
و Microarchitectural Effects
را نشان دادند.

Architectural Permission و Microarchitectural Leakage چه تفاوتی دارند؟

Architectural Permission
تعیین می کند
برنامه از نظر ISA
مجاز به مشاهده
چه اطلاعاتی است.

اما اجرای Speculative
می تواند وضعیت هایی
در Cache
یا سایر ساختارهای داخلی
ایجاد کند.

اگر این اثرها
قابل اندازه گیری باشند،
ممکن است
Side Channel
ایجاد شود.

اشتباهات رایج — Common Mistakes: User Mode، Kernel Mode و Privilege
  • فرض اینکه User Mode فقط یک قرارداد نرم افزاری است.
  • فرض اینکه Application معمولی مستقیماً سخت افزار را کاملاً کنترل می کند.
  • یکی دانستن User Mode با User Account.
  • یکی دانستن Kernel Mode با Administrator Account.
  • فرض اینکه Ring 0 یعنی CPU سریع تر Instruction اجرا می کند.
  • فرض اینکه Ring 1 و Ring 2 در x86 وجود ندارند.
  • فرض اینکه هر System Call یک Context Switch کامل است.
  • یکی دانستن Mode Switch و Context Switch.
  • فرض اینکه Interrupt فقط یک اتفاق نرم افزاری است.
  • یکی دانستن Ringهای x86 با Exception Levelهای ARM.
  • فرض اینکه Ring -1 و Ring -2 Ringهای رسمی مدل کلاسیک x86 هستند.
  • فرض اینکه On-CPU Privilege Protection به تنهایی تمام مشکلات امنیتی را حل می کند.

سوالات متداول درباره User Mode و Kernel Mode

User Mode چیست؟

حالت اجرای محدود
برای Applicationهای معمولی است
که CPU در آن
دسترسی به عملیات حساس
را محدود می کند.

Kernel Mode چیست؟

حالت اجرای
دارای Privilege بالا
برای Kernel
و بخش های مورد اعتماد
سیستم است.

Ring 0 چیست؟

بالاترین Privilege Level
در مدل کلاسیک
Protection Ringهای x86 است.

Ring 3 چیست؟

سطحی است
که Applicationهای User Space
معمولاً در آن
اجرا می شوند.

آیا Administrator در ویندوز یعنی برنامه در Ring 0 اجرا می شود؟

خیر.
مفهوم User Account Privilege
با CPU Protection Ring
یکسان نیست.
Application معمولی
حتی با حساب Administrator
معمولاً User Mode است.

System Call چیست؟

مکانیزم کنترل شده ای
است که Application
از طریق آن
سرویس مورد نیاز
را از Kernel
درخواست می کند.

آیا System Call همان Context Switch است؟

خیر.
ممکن است همان Thread
وارد Kernel شود
و بدون تعویض Thread
دوباره به User Mode
بازگردد.

ARM هم Ring 0 و Ring 3 دارد؟

مدل معماری ARM
متفاوت است
و در AArch64
از Exception Levelهایی
مانند EL0 تا EL3
استفاده می شود.

EL2 در ARM برای چیست؟

با قابلیت های
Virtualization
و Hypervisor
ارتباط دارد.

Ring -1 چیست؟

اصطلاحی غیررسمی
برای توضیح جایگاه
Virtualization
و Hypervisor است
و Ring رسمی پنجم
در مدل کلاسیک x86 نیست.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Privilege Level: سطح مجاز دسترسی کد به قابلیت های پردازنده.
  • User Mode: حالت اجرای محدود Applicationها.
  • Kernel Mode: حالت اجرای دارای Privilege بالا.
  • Privileged Instruction: دستوری که اجرای آن به سطح دسترسی مشخص نیاز دارد.
  • Protection Ring: مدل سطح دسترسی در x86.
  • Ring 0: بالاترین Ring کلاسیک x86.
  • Ring 3: سطح رایج اجرای User Application در x86.
  • CPL: Current Privilege Level.
  • System Call: درخواست کنترل شده Application از Kernel.
  • Mode Switch: تغییر Execution Privilege Mode.
  • Context Switch: تغییر Context اجرایی میان Threadها یا Processها.
  • Exception: رویداد همزمان ناشی از اجرای Instruction یا وضعیت پردازنده.
  • Exception Level: مدل سطح اجرای AArch64.
  • EL0: سطح معمول Application در ARM.
  • EL1: سطح معمول Kernel در ARM.
  • EL2: سطح مرتبط با Hypervisor.
  • EL3: سطح مرتبط با Secure Monitor در طراحی های مربوط.
  • SMM: System Management Mode در x86.
  • SMI: System Management Interrupt.

خلاصه فصل

CPU
همه کدها را
با یک سطح دسترسی
اجرا نمی کند.

Applicationهای معمولی
در محیط محدود:

User Mode

اجرا می شوند،
در حالی که Kernel
به سطح دسترسی
بیشتری نیاز دارد.

در x86
مدل کلاسیک:

Ring 0
→
Ring 1
→
Ring 2
→
Ring 3

وجود دارد،
اما سیستم عامل های مدرن
عمدتاً از Ring 0
برای Kernel
و Ring 3
برای User Space
استفاده می کنند.

در ARM نیز
مفهوم مشابهی
با ساختار متفاوت:

EL0
→
EL1
→
EL2
→
EL3

وجود دارد.

System Call
مسیر کنترل شده
ورود Application
به سرویس های Kernel
است.

این Transition
نباید با Context Switch
اشتباه گرفته شود.


سطوح دسترسی یکی از مهم ترین قابلیت های معماری CPU هستند؛
زیرا پردازنده علاوه بر اجرای Instructionها، باید تعیین کند
کدام کد اجازه اجرای عملیات حساس، دسترسی به حافظه محافظت شده
و کنترل منابع حیاتی سیستم را دارد.


فصل 89
سطح: پیشرفته
موضوع: مجازی سازی سخت افزاری پردازنده
تمرکز: VT-x / AMD-V / VM Exit / EPT / NPT / Hypervisor


پردازنده مدرن می تواند چند سیستم عامل را طوری اجرا کند که هرکدام تصور کنند یک ماشین واقعی در اختیار دارند

Virtualization سخت افزاری در CPU چگونه کار می کند؟

در فصل قبل دیدیم
CPU چگونه میان
User Mode،
Kernel Mode
و سطوح مختلف Privilege
تفاوت ایجاد می کند.

حالا یک مسئله
پیچیده تر مطرح می شود:

اگر بخواهیم
چند سیستم عامل
را همزمان
روی یک CPU فیزیکی
اجرا کنیم چه؟

هر سیستم عامل
تصور می کند
خودش کنترل کننده
اصلی سخت افزار است.

هرکدام می خواهند:

  • Page Table مدیریت کنند،
  • Interrupt کنترل کنند،
  • Privilege بالا داشته باشند،
  • Registerهای سیستم را تغییر دهند،
  • و منابع سخت افزاری را کنترل کنند.

اما در واقع
یک لایه بالاتر
باید تمام این سیستم ها
را از یکدیگر جدا
و مدیریت کند.

این همان مسئله ای است
که Hardware Virtualization
در CPU
برای حل آن
طراحی شده است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Virtualization چیست.
  • Virtual Machine چیست.
  • Hypervisor چیست.
  • Guest و Host چه تفاوتی دارند.
  • چرا Virtualization بدون کمک CPU دشوار بود.
  • Intel VT-x چیست.
  • AMD-V چیست.
  • Root Mode و Non-Root Mode چیست.
  • VM Entry چیست.
  • VM Exit چیست.
  • چرا VM Exit هزینه دارد.
  • Guest State چیست.
  • Host State چیست.
  • VMCS چیست.
  • VMCB چیست.
  • Second-Level Address Translation چیست.
  • EPT و NPT چیست.
  • Nested Page Walk چیست.
  • TLB چه ارتباطی با Virtualization دارد.
  • Nested Virtualization چیست.
  • Virtualization چه هزینه ای روی Performance دارد.

Virtualization چیست؟


مجازی سازی — Virtualization

Virtualization
تکنیکی است
که اجازه می دهد
منابع یک سیستم فیزیکی
به شکل محیط های
مجازی و جداگانه
در اختیار چند سیستم
یا Workload
قرار گیرند.

در زمینه CPU،
هدف این است که
Guest Operating Systemها
بتوانند Instructionهای خود
را تا حد امکان
مستقیماً روی پردازنده واقعی
اجرا کنند،
بدون اینکه کنترل نهایی
سخت افزار
از Hypervisor خارج شود.

Virtual Machine چیست؟

Virtual Machine
یا VM
محیطی مجازی است
که از دید سیستم عامل
می تواند شبیه
یک کامپیوتر مستقل
به نظر برسد.

VM ممکن است
منابعی مانند:

  • Virtual CPU،
  • Virtual Memory،
  • Virtual Storage،
  • Virtual Network Interface،
  • و Deviceهای مجازی

داشته باشد.

vCPU چیست؟

اصطلاح:

vCPU
=
Virtual CPU

به پردازنده منطقی
ارائه شده
به Virtual Machine
اشاره دارد.

vCPU
لزوماً یک Physical Core
اختصاصی
و دائمی نیست.

Hypervisor
می تواند vCPUها
را روی Logical Processorهای
واقعی CPU
Scheduling کند.

Hypervisor چیست؟


مدیر ماشین های مجازی — Hypervisor

Hypervisor
نرم افزار یا لایه سیستمی است
که Virtual Machineها
را ایجاد،
اجرا
و از یکدیگر
جدا می کند.

Hypervisor
باید کنترل نهایی
روی منابع فیزیکی
سیستم داشته باشد.

Host و Guest یعنی چه؟

به صورت عمومی:

Host
→
Physical / Controlling Environment

Guest
→
Virtualized Operating Environment

Guest OS
سیستم عاملی است
که داخل VM
اجرا می شود.

البته در Hypervisorهای Type 1،
مفهوم Host OS
دقیقاً شبیه
نرم افزارهای Virtualization
دسکتاپ نیست.

Type 1 و Type 2 Hypervisor چیست؟

نوع مدل کلی کاربرد رایج
Type 1 Hypervisor مستقیماً روی Platform یا لایه بسیار نزدیک به Hardware اجرا می شود Server / Data Center / Cloud
Type 2 Hypervisor روی یک Host Operating System اجرا می شود Desktop / Development / Testing

چرا مجازی سازی CPU دشوار بود؟

مشکل اصلی این است
که Guest OS
خودش تصور می کند
Kernel واقعی سیستم است.

بنابراین می خواهد
Instructionهایی
با Privilege بالا
اجرا کند.

Guest Kernel
→
Wants Privileged Hardware Control

اما Hypervisor
نمی تواند اجازه دهد
Guest مستقیماً
کنترل کل CPU
یا سیستم
را در اختیار بگیرد.

قبل از Hardware Virtualization چه روش هایی استفاده می شد؟

روش های مختلفی
برای Virtualization
استفاده می شدند.

برای مثال:

  • Binary Translation،
  • Paravirtualization،
  • و Emulation.

بعضی از این روش ها
پیچیدگی
و Overhead بیشتری
داشتند.

Hardware-Assisted Virtualization چیست؟

سازندگان CPU
قابلیت هایی
مستقیماً داخل معماری پردازنده
اضافه کردند
تا Hypervisor
بتواند Guest OS
را با Isolation
و Performance بهتر
اجرا کند.

در x86
دو خانواده معروف:

Intel VT-x

و:

AMD-V

هستند.

Intel VT-x چیست؟

VT-x
مجموعه ای از
قابلیت های Virtualization
در پردازنده های Intel
است.

این قابلیت ها
امکان اجرای Guest
در محیطی
تحت کنترل Hypervisor
را فراهم می کنند.

AMD-V چیست؟

AMD-V
خانواده قابلیت های
Virtualization
در پردازنده های AMD
است.

در مستندات قدیمی تر
ممکن است با نام:

AMD Secure Virtual Machine
/
SVM

نیز دیده شود.

چرا Ring 0 به تنهایی برای Virtualization کافی نیست؟

Guest Kernel
معمولاً تصور می کند
خودش باید
در بالاترین Privilege
اجرا شود.

اما Hypervisor
باید بتواند
حتی Guest Kernel
را کنترل کند.

Hardware Virtualization
برای حل این مسئله
یک لایه اجرایی
اضافی ایجاد می کند.

Root Mode و Non-Root Mode چیست؟

در مدل Virtualization
Intel VT-x،
دو محیط کلی
مطرح می شوند:

VMX Root Operation

و:

VMX Non-Root Operation

Hypervisor
معمولاً در Root Operation
کنترل اصلی را دارد.

Guest
در Non-Root Operation
اجرا می شود.

نکته مهندسی — Engineering Insight: Guest Kernel می تواند Ring 0 باشد و باز هم کنترل کامل CPU را نداشته باشد

این نکته
برای فهم Hardware Virtualization
بسیار مهم است.

Guest Operating System
می تواند از دید
Ring Architecture خودش
Kernel را در Ring 0
اجرا کند.

اما همچنان
در Virtualization Non-Root Environment
قرار داشته باشد.

Guest Ring 0
≠
Full Physical Machine Control

Hypervisor
همچنان می تواند
عملیات حساس
Guest را Trap کند.

VM Entry چیست؟

وقتی Hypervisor
می خواهد اجرای
Guest را آغاز
یا ادامه دهد،
CPU باید
وضعیت Guest
را فعال کند.

این Transition:

VM Entry

نامیده می شود.

Hypervisor
→
VM Entry
→
Guest Execution

VM Exit چیست؟


خروج کنترل شده از اجرای Guest — VM Exit

وقتی Guest
عملیاتی انجام دهد
یا رویدادی رخ دهد
که Hypervisor
باید آن را مدیریت کند،
CPU اجرای Guest
را متوقف می کند
و کنترل را
به Hypervisor
برمی گرداند.

این فرآیند:

VM Exit

نامیده می شود.

چه چیزی می تواند باعث VM Exit شود؟

بسته به Configuration
Hypervisor،
رویدادهای مختلفی
می توانند
باعث VM Exit شوند.

برای مثال:

  • اجرای برخی Instructionهای حساس،
  • دسترسی به بعضی Control Registerها،
  • برخی عملیات I/O،
  • Interrupt یا Exceptionهای مشخص،
  • و رویدادهای تنظیم شده توسط Hypervisor.

Guest
→
Sensitive Event
→
VM Exit
→
Hypervisor
→
Handle Event
→
VM Entry
→
Guest

تاثیر بر عملکرد — Performance Impact: VM Exit یکی از عملیات پرهزینه Virtualization است

VM Exit
فقط یک Function Call
ساده نیست.

CPU باید
Execution State
را از Guest Environment
به Hypervisor Environment
منتقل کند.

سپس Hypervisor
علت Exit
را بررسی
و مدیریت می کند.

بعد از آن
Guest ممکن است
با VM Entry
دوباره اجرا شود.

Frequent VM Exits
→
More Virtualization Overhead

VMCS چیست؟

در Intel VT-x
ساختاری به نام:

Virtual Machine Control Structure
=
VMCS

اطلاعات مهم
درباره Virtual Machine
و رفتار Virtualization
را نگه می دارد.

VMCS چه اطلاعاتی دارد؟

به صورت کلی
شامل دسته هایی
از اطلاعات مانند:

  • Guest State،
  • Host State،
  • VM Execution Controls،
  • VM Exit Controls،
  • VM Entry Controls،
  • و Exit Information

است.

VMCB چیست؟

در AMD-V
ساختار مهمی به نام:

Virtual Machine Control Block
=
VMCB

برای ذخیره
وضعیت و کنترل
Virtual Machine
استفاده می شود.

از نظر هدف مفهومی
شباهت هایی
با VMCS
در Intel دارد،
هرچند طراحی و جزئیات
یکسان نیستند.

Guest State چیست؟

CPU هنگام اجرای
Guest OS
باید وضعیت معماری
مربوط به Guest
را نگه دارد.

این وضعیت
می تواند شامل
اطلاعات مرتبط با:

  • Registerها،
  • Control State،
  • Instruction Pointer،
  • Privilege State،
  • و سایر اجزای معماری

باشد.

Host State چیست؟

هنگام VM Exit
CPU باید بتواند
Hypervisor
را در وضعیت مناسب
اجرا کند.

بنابراین اطلاعاتی
از وضعیت Host
نیز باید
در ساختار Virtualization
تعریف شده باشد.

بزرگ ترین مشکل Virtualization حافظه چیست؟

Guest OS
تصور می کند
Page Table خودش
Virtual Address
را به Physical Address
تبدیل می کند.

اما چیزی که Guest
«Physical Address»
می نامد،
الزاماً Physical Address واقعی
ماشین نیست.

بنابراین دو مرحله
Translation
مطرح می شود.

GVA، GPA و HPA چیست؟

سه اصطلاح مهم:

GVA
=
Guest Virtual Address

GPA
=
Guest Physical Address

HPA
=
Host Physical Address

هستند.

Guest Page Table
معمولاً:

GVA
→
GPA

را مشخص می کند.

Hypervisor
باید مشخص کند:

GPA
→
HPA

Shadow Page Table چیست؟

یکی از روش های قدیمی تر
Virtualization حافظه
استفاده از:

Shadow Page Tables

بود.

Hypervisor
Page Tableهایی
نگه می داشت
که Translation
مورد نیاز Hardware
را مستقیماً
بازتاب دهند.

مدیریت این ساختارها
می توانست پیچیده
و پرهزینه باشد.

Second-Level Address Translation چیست؟


ترجمه آدرس سطح دوم

پردازنده های مدرن
قابلیت سخت افزاری
برای انجام
مرحله دوم Translation
در Virtualization
فراهم می کنند.

این فناوری
به صورت عمومی:

Second-Level Address Translation
=
SLAT

نامیده می شود.

EPT چیست؟

Intel
قابلیت SLAT خود
را:

Extended Page Tables
=
EPT

می نامد.

EPT
به Hardware
اجازه می دهد
Translation
از Guest Physical Address
به Host Physical Address
را انجام دهد.

NPT چیست؟

AMD
فناوری مشابه
را با نام:

Nested Page Tables
=
NPT

ارائه می کند.

این فناوری
با عنوان:

Rapid Virtualization Indexing
=
RVI

نیز شناخته شده است.

Translation حافظه در VM چگونه انجام می شود؟

به صورت مفهومی:

Guest Virtual Address
→
Guest Page Tables
→
Guest Physical Address
→
EPT / NPT
→
Host Physical Address

Nested Page Walk چیست؟

اگر Translation
مورد نیاز
در TLB
حاضر نباشد،
CPU ممکن است
برای پیدا کردن Translation نهایی
Page Tableهای Guest
و ساختار سطح دوم
را بررسی کند.

این فرآیند
می تواند از
Page Walk معمولی
پیچیده تر باشد.

Guest Page Walk
+
Second-Level Translation
→
More Translation Work

TLB چرا در Virtualization بسیار مهم است؟

اگر CPU مجبور باشد
برای هر Memory Access
Translation چندمرحله ای
را از ابتدا
انجام دهد،
Performance بسیار کاهش می یابد.

TLB
Translationهای اخیر
را Cache می کند.

بنابراین:

TLB Hit
→
Avoid Expensive Nested Page Walk

Large Pageها چرا در Virtualization مهم هستند؟

Pageهای بزرگ تر
می توانند تعداد Translationهای
لازم برای پوشش
یک محدوده بزرگ حافظه
را کاهش دهند.

در نتیجه
فشار روی TLB
می تواند کمتر شود.

Larger Pages
→
Greater Memory Coverage per TLB Entry

البته استفاده از Large Page
Trade-offهای دیگری نیز دارد.

ASID و PCID چه کمکی می کنند؟

CPU می تواند
Translationهای TLB
را با Identifier
فضای آدرس
مرتبط کند.

مفاهیمی مانند:

ASID
/
PCID

کمک می کنند
Translationهای مربوط
به Contextهای مختلف
بهتر از یکدیگر
تشخیص داده شوند.

در Virtualization
مکانیزم های مشابه
برای کاهش Flushهای
غیرضروری TLB
اهمیت زیادی دارند.

VPID چیست؟

در Intel VT-x،
قابلیت:

Virtual Processor Identifier
=
VPID

به CPU کمک می کند
Translationهای TLB
مربوط به Guestهای مختلف
را بهتر مدیریت کند.

این قابلیت
می تواند نیاز
به برخی TLB Flushها
هنگام VM Transition
را کاهش دهد.

CPU Virtualization فقط درباره Instruction Execution است؟

خیر.

Virtual Machine
علاوه بر CPU
به Memory
و Device
نیز نیاز دارد.

اما جزئیات کامل
I/O Virtualization
مربوط به کل Platform
است،
نه فقط Core پردازنده.

در این دانشنامه
فقط ارتباط مستقیم
آن با CPU
را بررسی می کنیم.

IOMMU چه ارتباطی با Virtualization دارد؟

IOMMU
می تواند
Memory Access
Deviceها
را Translate
و محدود کند.

این قابلیت
برای Isolation
و Device Assignment
در Virtual Machineها
اهمیت دارد.

فناوری های شناخته شده:

Intel VT-d
/
AMD IOMMU

در این حوزه
استفاده می شوند.

توجه شود
که VT-d
با VT-x
یک چیز نیست.

اشتباه رایج — Common Mistake: VT-x و VT-d یک قابلیت هستند

خیر.

VT-x
بیشتر با
Virtualization اجرای CPU
ارتباط دارد.

VT-d
به Virtualization
و Isolation
دسترسی Deviceها
به Memory
مربوط است.

VT-x
→
CPU Virtualization

VT-d
→
I/O / DMA Virtualization

Device Passthrough چیست؟

در برخی سیستم ها
می توان یک Device فیزیکی
را با کنترل مستقیم تر
در اختیار یک VM
قرار داد.

این روش:

Device Passthrough

نامیده می شود.

برای حفظ Isolation،
پلتفرم به
قابلیت های مناسب
IOMMU
نیاز دارد.

Interruptها در Virtual Machine چگونه مدیریت می شوند؟

Guest OS
تصور می کند
Interruptهای سیستم
متعلق به ماشین خودش هستند.

Hypervisor
باید بتواند
Interruptهای مجازی
را برای Guestها
ایجاد و مدیریت کند.

CPUهای جدیدتر
قابلیت های سخت افزاری
برای کاهش Overhead
این فرآیند
دارند.

APIC Virtualization چیست؟

در معماری x86،
APIC
بخش مهمی
از مدیریت Interruptها است.

Hardware Virtualization
می تواند قابلیت هایی
برای Virtualize کردن
عملیات APIC
ارائه کند
تا تعداد VM Exitهای
مرتبط با Interrupt
کاهش پیدا کند.

Nested Virtualization چیست؟

در حالت معمول:

Physical CPU
→
Hypervisor
→
Virtual Machine

اما گاهی
می خواهیم داخل VM
یک Hypervisor دیگر
اجرا کنیم.

Physical Machine
→
L0 Hypervisor
→
L1 Guest Hypervisor
→
L2 Virtual Machine

این حالت:

Nested Virtualization

نامیده می شود.

L0، L1 و L2 در Nested Virtualization چه هستند؟

در اصطلاح رایج:

L0
→
Physical Hypervisor

L1
→
Guest Hypervisor

L2
→
VM Running Inside L1

Nested Virtualization
پیچیدگی بیشتری
در Privilege،
Memory Translation
و VM Exit Handling
ایجاد می کند.

vCPU چگونه روی Physical CPU اجرا می شود؟

Hypervisor
باید vCPUهای
Virtual Machineها
را روی
Logical CPUهای واقعی
زمان بندی کند.

Many vCPUs
→
Hypervisor Scheduler
→
Physical Logical CPUs

بنابراین تعداد vCPU
و تعداد Core فیزیکی
الزاماً برابر نیستند.

CPU Overcommit چیست؟

Hypervisor
می تواند تعداد vCPU
بیشتری از Logical CPUهای
فیزیکی
تعریف کند.

این روش:

CPU Overcommit

نامیده می شود.

اگر همه VMها
همزمان CPU زیادی
مصرف نکنند،
می تواند
استفاده از Hardware
را افزایش دهد.

اما Overcommit شدید
می تواند Latency
و Contention
را افزایش دهد.

اشتباه رایج — Common Mistake: هر vCPU یعنی یک Core فیزیکی اختصاصی

خیر.

vCPU
واحد CPU
ارائه شده
به Guest است.

Hypervisor
می تواند آن را
در زمان های مختلف
روی Logical Processorهای
متفاوت اجرا کند.

vCPU
≠
Necessarily Dedicated Physical Core

SMT و Hyper-Threading چه تاثیری روی Virtualization دارند؟

یک Physical Core
ممکن است چند
Logical Processor
داشته باشد.

Hypervisor
می تواند vCPUها
را روی این Logical Processorها
Scheduling کند.

اما دو Thread
روی یک Physical Core
منابع داخلی
مشترکی دارند.

بنابراین:

2 SMT Threads
≠
2 Fully Independent Physical Cores

NUMA چه ارتباطی با Virtualization دارد؟

در Serverهای بزرگ،
Memory Access Cost
می تواند به
محل فیزیکی Core
و Memory
وابسته باشد.

Hypervisor
باید Placement
vCPU و Memory
را با دقت
مدیریت کند.

اگر vCPU
روی یک NUMA Node
و بخش زیادی از Memory
VM روی Node دیگری باشد،
Remote Memory Access
می تواند افزایش پیدا کند.

Virtual NUMA چیست؟

برای VMهای بزرگ،
Hypervisor
می تواند Topology
مجازی NUMA
را به Guest OS
نمایش دهد.

به این مفهوم:

vNUMA
=
Virtual NUMA

گفته می شود.

Guest OS
می تواند از این اطلاعات
برای Scheduling
و Memory Placement
بهتر استفاده کند.

Cache در Virtualization مشترک است یا جدا؟

vCPUها در نهایت
روی Coreهای واقعی
اجرا می شوند
و از Cacheهای فیزیکی CPU
استفاده می کنند.

Hypervisor
برای هر VM
یک L1 یا L3 فیزیکی
جداگانه ایجاد نمی کند.

بنابراین چند VM
می توانند برای
Cache Capacity
و Memory Bandwidth
با یکدیگر
رقابت کنند.

Hardware Virtualization چگونه Isolation ایجاد می کند؟

CPU
همراه Hypervisor
مرزهای مختلفی
میان Guestها
ایجاد می کند.

این مرزها شامل:

  • Execution State،
  • Memory Translation،
  • Privilege Control،
  • Interrupt Handling،
  • و Device Access

هستند.

هدف این است
که یک Guest
نتواند به صورت عادی
Memory
یا Execution Context
Guest دیگر
را کنترل کند.

آیا VM مرز امنیتی کاملاً شکست ناپذیر است؟

خیر.

Virtualization
Isolation بسیار قدرتمندی
ایجاد می کند،
اما CPU،
Hypervisor،
Firmware
و Deviceها
همچنان نرم افزار
و سخت افزار پیچیده ای هستند.

آسیب پذیری
در هرکدام
می تواند
Security Boundary
را تحت تاثیر قرار دهد.

VM Escape چیست؟

VM Escape
اصطلاحی برای
آسیب پذیری هایی است
که در آنها
کد داخل Guest
می تواند از مرز
Virtual Machine
عبور کند
و به سطح بالاتر
دسترسی پیدا کند.

چنین آسیب پذیری هایی
بسیار مهم هستند،
زیرا Isolation
میان Guest
و Hypervisor
را هدف قرار می دهند.

Confidential Virtual Machine چیست؟

نسل های جدید CPU
قابلیت هایی
برای افزایش حفاظت
Memory
Virtual Machineها
ارائه می کنند.

هدف
این است که
حتی بخش هایی
از Infrastructure
میزبان
نتوانند به سادگی
محتوای Memory
Guest را مشاهده کنند.

این حوزه
با مفاهیمی مانند:

Confidential Computing

مرتبط است.

AMD SEV چیست؟

AMD
خانواده فناوری هایی
برای حفاظت
از Virtual Machine Memory
ارائه کرده است.

نام عمومی این خانواده:

Secure Encrypted Virtualization
=
SEV

است.

نسل ها
و قابلیت های مختلف
این خانواده
سطح حفاظت متفاوتی
ارائه می کنند.

Intel TDX چیست؟

Intel
نیز فناوری:

Trust Domain Extensions
=
TDX

را برای ایجاد
محیط های Virtual Machine
محافظت شده
توسعه داده است.

این فناوری
بخشی از حوزه
Confidential Computing
محسوب می شود.

Virtualization چقدر Performance را کاهش می دهد؟

پاسخ ثابت
و یکسانی وجود ندارد.

Workloadی که
بیشتر Instructionهای عادی
CPU را اجرا می کند
و VM Exit کمی دارد،
می تواند بسیار نزدیک
به Performance Native
اجرا شود.

در مقابل،
Workloadی با:

  • VM Exit زیاد،
  • I/O زیاد،
  • TLB Pressure بالا،
  • NUMA Placement نامناسب،
  • CPU Overcommit شدید،
  • یا Cache Contention زیاد

می تواند Overhead بیشتری
تجربه کند.

Native Performance چیست؟

Native Execution
به حالتی اشاره دارد
که نرم افزار
بدون لایه Virtual Machine
مستقیماً روی
سیستم عامل
و Hardware فیزیکی
اجرا شود.

Native
→
No Guest Virtualization Layer

این اصطلاح
معمولاً برای مقایسه
با Performance داخل VM
استفاده می شود.

چرا Workload محاسباتی خالص می تواند داخل VM بسیار سریع باشد؟

اگر Guest
تعداد زیادی
Instruction عادی
بدون Trap
اجرا کند،
CPU می تواند
همان Instructionها
را مستقیم
روی Execution Engine واقعی
اجرا کند.

Guest Normal Instructions
→
Physical CPU Execution Units

بنابراین Hardware Virtualization
به معنی Emulate کردن
تک تک Instructionهای CPU
نیست.

اشتباه رایج — Common Mistake: Virtual Machine یعنی CPU تمام Instructionها را نرم افزاری شبیه سازی می کند

در Hardware Virtualization مدرن
معمولاً چنین نیست.

بخش بزرگی
از Instructionهای Guest
مستقیماً
روی Physical CPU
اجرا می شوند.

Hypervisor
عمدتاً در نقاطی
دخالت می کند
که نیاز به
Isolation،
Resource Management
یا Virtualization
وجود داشته باشد.

Emulation و Virtualization چه تفاوتی دارند؟

Virtualization
معمولاً زمانی
بیشترین Performance را دارد
که Guest ISA
با Physical CPU
سازگار باشد.

Emulation
می تواند حتی
یک ISA متفاوت
را شبیه سازی کند،
اما معمولاً
هزینه بیشتری دارد.

Virtualization
→
Usually Same / Compatible ISA

Emulation
→
Can Emulate Different ISA

Virtual Machine و Container یکی هستند؟

خیر.

Virtual Machine
می تواند Guest Kernel
مستقل داشته باشد.

Container
معمولاً Kernel
میزبان
را با سایر Containerها
به اشتراک می گذارد.

VM
→
Separate Guest Kernel

Container
→
Shared Host Kernel

بنابراین CPU Virtualization
برای VM
نقش بنیادی تری دارد.

چرا گاهی Virtualization باید در BIOS فعال شود؟

Platform Firmware
می تواند
برخی قابلیت های
Virtualization CPU
را فعال
یا غیرفعال کند.

بنابراین ممکن است
CPU از VT-x
یا AMD-V
پشتیبانی کند،
اما قابلیت مربوط
در Firmware
غیرفعال باشد.

هنگام خرید CPU برای Virtualization چه چیزهایی مهم هستند؟

فقط وجود عبارت:

VT-x
/
AMD-V

کافی نیست.

برای Workloadهای Virtualization
باید مواردی مانند:

  • Core Count،
  • Thread Count،
  • Single-Thread Performance،
  • Cache Capacity،
  • Memory Capacity Support،
  • Memory Bandwidth،
  • SLAT Support،
  • IOMMU Support،
  • NUMA Topology،
  • و قابلیت های امنیتی Virtualization

نیز بررسی شوند.

Virtualization در کامپیوتر شخصی چه کاربردی دارد؟

کاربردها می توانند شامل:

  • اجرای سیستم عامل آزمایشی،
  • توسعه نرم افزار،
  • محیط تست،
  • آزمایش شبکه،
  • آموزش سیستم عامل،
  • و جداسازی برخی Workloadها

باشند.

چرا Virtualization در Server بسیار مهم است؟

بدون Virtualization،
یک Server فیزیکی
ممکن است برای یک Application
یا سیستم عامل
اختصاص داده شود.

Virtualization
اجازه می دهد
چند Workload
مستقل
روی یک Server
اجرا شوند.

One Physical Server
→
Multiple Virtual Machines

این کار
می تواند استفاده
از Hardware
را بسیار افزایش دهد.

Cloud Computing چه ارتباطی با CPU Virtualization دارد؟

بخش بزرگی
از Infrastructure
Cloud
بر Virtualization
یا فناوری های مرتبط
استوار است.

یک Physical Server
می تواند میزبان
چندین VM
متعلق به Workloadهای
متفاوت باشد.

CPU Hardware Virtualization
یکی از پایه های
این مدل
محسوب می شود.

اشتباهات رایج — Common Mistakes: CPU Virtualization
  • فرض اینکه هر VM تمام Instructionهای CPU را نرم افزاری شبیه سازی می کند.
  • یکی دانستن Virtualization با Emulation.
  • یکی دانستن Virtual Machine با Container.
  • فرض اینکه Guest Ring 0 یعنی Guest کنترل کامل Physical CPU را دارد.
  • فرض اینکه هر vCPU یک Physical Core اختصاصی است.
  • نادیده گرفتن VM Exit Cost.
  • یکی دانستن VT-x با VT-d.
  • یکی دانستن EPT با Guest Page Table.
  • نادیده گرفتن TLB در Virtualization.
  • فرض اینکه SLAT تمام Virtualization Overhead را حذف می کند.
  • نادیده گرفتن NUMA Placement در VMهای بزرگ.
  • فرض اینکه دو SMT Thread معادل دو Core فیزیکی مستقل هستند.
  • فرض اینکه CPU Overcommit همیشه بدون هزینه است.
  • فرض اینکه VM یک Security Boundary شکست ناپذیر است.
  • نادیده گرفتن Firmware هنگام بررسی فعال بودن Virtualization.

سوالات متداول درباره Virtualization سخت افزاری CPU

Hardware Virtualization چیست؟

مجموعه قابلیت های CPU
برای اجرای
Virtual Machineها
با Isolation
و Performance بهتر است.

VT-x چیست؟

فناوری Virtualization
پردازنده های Intel
برای اجرای Guestها
تحت کنترل Hypervisor است.

AMD-V چیست؟

فناوری Virtualization
پردازنده های AMD
و خانواده ای از قابلیت های
سخت افزاری برای اجرای VMها است.

VM Exit چیست؟

انتقال کنترل
از Guest
به Hypervisor
هنگام یک رویداد
یا عملیات مشخص است.

چرا VM Exit کند است؟

زیرا CPU
باید اجرای Guest
را متوقف کند،
وضعیت لازم را مدیریت کند
و Hypervisor
رویداد را پردازش کند.

EPT چیست؟

Extended Page Tables
فناوری Intel
برای Translation سطح دوم
حافظه Virtual Machine است.

NPT چیست؟

Nested Page Tables
فناوری AMD
برای Second-Level Address Translation است.

آیا vCPU همان Core فیزیکی است؟

خیر.
vCPU
یک CPU مجازی
برای Guest است
که Hypervisor
آن را روی CPUهای واقعی
Scheduling می کند.

Nested Virtualization چیست؟

اجرای Hypervisor
داخل یک Virtual Machine
و سپس اجرای VM دیگری
داخل آن است.

آیا VM همیشه خیلی کندتر از اجرای Native است؟

خیر.
Hardware Virtualization مدرن
می تواند در بسیاری از
Compute Workloadها
Performance بسیار نزدیک
به Native ارائه کند،
اما Overhead
به Workload بستگی دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Virtualization: مجازی سازی منابع Hardware.
  • Virtual Machine: محیط کامپیوتری مجازی.
  • vCPU: CPU مجازی ارائه شده به Guest.
  • Hypervisor: مدیر Virtual Machineها.
  • Guest: محیط یا سیستم عامل اجرا شده داخل VM.
  • VT-x: فناوری CPU Virtualization در Intel.
  • AMD-V: فناوری CPU Virtualization در AMD.
  • VM Entry: ورود CPU به اجرای Guest.
  • VM Exit: خروج CPU از Guest به Hypervisor.
  • VMCS: Virtual Machine Control Structure در Intel.
  • VMCB: Virtual Machine Control Block در AMD.
  • GVA: Guest Virtual Address.
  • GPA: Guest Physical Address.
  • HPA: Host Physical Address.
  • SLAT: Second-Level Address Translation.
  • EPT: Extended Page Tables.
  • NPT: Nested Page Tables.
  • Shadow Page Table: ساختار Translation مدیریت شده توسط Hypervisor.
  • VPID: Virtual Processor Identifier.
  • Nested Virtualization: اجرای Hypervisor داخل VM.
  • CPU Overcommit: تخصیص vCPU بیشتر از CPU Logical فیزیکی.
  • vNUMA: Topology مجازی NUMA ارائه شده به Guest.
  • Device Passthrough: واگذاری مستقیم تر Device فیزیکی به VM.
  • VM Escape: عبور مهاجم از Isolation Guest به سطح بالاتر.
  • Confidential Computing: فناوری های حفاظت بیشتر از داده هنگام پردازش.

خلاصه فصل

Hardware Virtualization
به CPU اجازه می دهد
چند سیستم عامل
را با Isolation
روی یک ماشین فیزیکی
اجرا کند.

Guest OS
می تواند
تصور کند
خودش کنترل کننده
اصلی سیستم است،
اما Hypervisor
کنترل واقعی
منابع فیزیکی
را حفظ می کند.

Guest
→
Virtualized CPU Environment
→
Hypervisor Control
→
Physical CPU

فناوری هایی مانند:

Intel VT-x
/
AMD-V

برای همین هدف
طراحی شده اند.

Guest
تا زمانی که
عملیات عادی
انجام می دهد،
می تواند Instructionها
را مستقیماً
روی Execution Engine
واقعی CPU
اجرا کند.

اما رویدادهای حساس
می توانند باعث:

VM Exit

شوند
و کنترل را
به Hypervisor
برگردانند.

برای Virtualization حافظه،
فناوری های:

EPT
/
NPT

Translation سطح دوم
را به Hardware
منتقل می کنند.

TLB،
VM Exit Frequency،
NUMA Placement،
vCPU Scheduling،
Cache Contention
و I/O
همگی می توانند
روی Performance واقعی
VM اثر بگذارند.


Virtualization یکی از بهترین نمونه های این واقعیت است
که CPU مدرن فقط یک موتور محاسباتی نیست؛
پردازنده باید همزمان Execution، Privilege، Memory Translation،
Isolation و انتقال کنترل میان چند محیط مستقل را در سطح سخت افزار مدیریت کند.


فصل 90
سطح: متوسط تا پیشرفته
موضوع: مدیریت توان پردازنده
تمرکز: P-State / C-State / DVFS / Turbo / Boost / Voltage / Frequency / Power Limits


CPU مدرن دائماً با یک فرکانس، ولتاژ و مصرف ثابت کار نمی کند؛ وضعیت آن می تواند در کسری از ثانیه تغییر کند

مدیریت توان CPU چگونه کار می کند؟ P-State، C-State، DVFS، Turbo، Boost و Power Limit

اگر در نرم افزارهای Monitoring
فرکانس CPU را مشاهده کنید،
معمولاً یک عدد ثابت
نمی بینید.

ممکن است پردازنده
در حالت Idle
مصرف بسیار کمی داشته باشد،
اما چند لحظه بعد
با شروع یک Workload
فرکانس،
ولتاژ
و مصرف آن
به سرعت افزایش پیدا کند.

Idle
→
Low Power
→
Workload Arrives
→
Frequency / Voltage Increase
→
High Performance

این رفتار
نتیجه مجموعه بزرگی
از مکانیزم های
Power Management
در CPU،
Firmware
و Operating System است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Power Management در CPU چیست.
  • چرا CPU دائماً با Maximum Frequency کار نمی کند.
  • Dynamic Power و Static Power چه تفاوتی دارند.
  • Voltage چه تاثیری بر مصرف CPU دارد.
  • DVFS چیست.
  • P-State چیست.
  • C-State چیست.
  • تفاوت P-State و C-State چیست.
  • Turbo و Boost چگونه عمل می کنند.
  • چرا Turbo Frequency یک فرکانس دائمی نیست.
  • Power Limit چیست.
  • چرا لپ تاپ و دسکتاپ با CPU مشابه رفتار متفاوتی دارند.
  • Race-to-Idle چیست.
  • چرا Power Management روی Battery Life اثر دارد.
  • چرا Performance واقعی CPU به Cooling و Power Budget وابسته است.

چرا CPU به مدیریت توان نیاز دارد؟

پردازنده مدرن
می تواند میلیاردها Transistor
داشته باشد.

اگر تمام بخش های آن
همیشه با حداکثر
Voltage و Frequency
فعالیت کنند،
مصرف انرژی
و تولید حرارت
بسیار زیاد خواهد شد.

Maximum Activity
+
High Frequency
+
High Voltage
→
High Power
+
High Heat

بنابراین CPU
باید Performance
را متناسب با
Workload واقعی
تنظیم کند.

Dynamic Power و Static Power چیست؟

مصرف CPU
را می توان به صورت مفهومی
به چند بخش تقسیم کرد.

یکی از آنها
Dynamic Power است.

این مصرف
هنگام Switching
Transistorها
ایجاد می شود.

مدل ساده شده معروف:

Pdynamic
∝
C × V² × f

که در آن:

  • C تقریباً نشان دهنده Capacitance موثر است.
  • V Voltage است.
  • f Frequency است.

بخش دیگری از مصرف
مربوط به Leakage
و Static Power است.

چرا Voltage در مصرف CPU بسیار مهم است؟

در مدل ساده Dynamic Power،
Voltage به صورت
توان دوم
وارد رابطه می شود.

Power
∝
V²

بنابراین افزایش Voltage
می تواند هزینه انرژی
قابل توجهی داشته باشد.

از طرف دیگر
برای رسیدن به Frequencyهای بالاتر،
CPU ممکن است
به Voltage بیشتری
نیاز داشته باشد.

Higher Frequency
→
Often Higher Required Voltage
→
Disproportionately Higher Power

DVFS چیست؟


DVFS

Dynamic Voltage and Frequency Scaling
مکانیزمی برای تغییر پویا
و هماهنگ Voltage
و Frequency
براساس نیاز پردازنده است.

در Workload سبک:

Lower Frequency
+
Lower Voltage
→
Lower Power

هنگام افزایش Load:

Higher Performance Demand
→
Higher Frequency
→
Appropriate Voltage

این تغییرات
می توانند بسیار سریع
و بارها در طول
یک ثانیه اتفاق بیفتند.

P-State چیست؟


Performance State

P-State
وضعیت Performance
یک CPU فعال را
از نظر Frequency،
Voltage
و توان مصرفی
توصیف می کند.

به صورت مفهومی:

High Performance State
→
Higher Frequency / Voltage

Lower Performance State
→
Lower Frequency / Voltage

CPU همچنان
در حال کار است،
اما سطح Performance
آن تغییر کرده است.

C-State چیست؟


CPU Idle State

C-State
وضعیت های مختلف
Idle و Sleep
پردازنده را
توصیف می کند.

وقتی Core
کاری برای انجام دادن ندارد،
می تواند وارد
وضعیت های کم مصرف شود.

Active
→
Idle
→
Deeper Idle State
→
Lower Power

هرچه C-State
عمیق تر شود،
بخش های بیشتری
می توانند:

  • Clock خود را متوقف کنند،
  • Power کمتری دریافت کنند،
  • یا در بعضی طراحی ها تقریباً Power-Gated شوند.

تفاوت P-State و C-State چیست؟

ویژگی P-State C-State
وضعیت CPU فعال Idle یا کم فعالیت
هدف اصلی تنظیم Performance و Power هنگام کار کاهش مصرف هنگام بیکاری
Frequency می تواند تغییر کند ممکن است بخش هایی از Clock متوقف شوند
Power Saving متوسط تا زیاد در Stateهای عمیق می تواند بسیار زیاد باشد

چرا CPU همیشه وارد عمیق ترین C-State نمی شود؟

ورود به State عمیق تر
معمولاً Power بیشتری
ذخیره می کند،
اما ممکن است
Wake-Up Latency
بیشتری نیز داشته باشد.

Deeper Sleep
→
Lower Power
+
Potentially Higher Wake Latency

بنابراین سیستم
باید بین:

  • Responsiveness،
  • Latency،
  • و Power Saving

تعادل برقرار کند.

Clock Gating چیست؟

اگر یک بخش CPU
در لحظه
مورد استفاده نباشد،
می توان Clock
آن بخش را
متوقف کرد.

Unused Logic
→
Clock Disabled
→
Less Switching
→
Lower Dynamic Power

این تکنیک
Clock Gating
نام دارد.

Power Gating چیست؟

Power Gating
از Clock Gating
فراتر می رود.

در این روش
بخش هایی از Chip
که مورد نیاز نیستند
می توانند
تا حد زیادی
از Power Supply
جدا شوند.

Unused Block
→
Power Gating
→
Lower Leakage Power

این روش
برای کاهش
Idle Power
اهمیت زیادی دارد.

Turbo یا Boost چیست؟

CPU مدرن
معمولاً یک
Base Frequency
و یک یا چند
Boost Frequency
دارد.

اگر شرایط مناسب باشد،
پردازنده می تواند
بالاتر از Frequency پایه
کار کند.

Available Power
+
Thermal Headroom
+
Workload Demand
→
Higher Boost Frequency

نام تجاری
و الگوریتم دقیق
بین سازندگان
و نسل های مختلف
متفاوت است.

Base Frequency و Boost Frequency چه تفاوتی دارند؟

Base Frequency
و Boost Frequency
نباید به عنوان
دو عدد ثابت
برای تمام شرایط
تفسیر شوند.

Frequency واقعی CPU
می تواند به:

  • تعداد Coreهای فعال،
  • نوع Workload،
  • Temperature،
  • Power Limit،
  • Current Limit،
  • Firmware،
  • و طراحی سیستم

وابسته باشد.

چرا Maximum Boost Frequency دائمی نیست؟

عدد Maximum Boost
معمولاً بهترین Frequency
قابل دستیابی
در شرایط مشخص است،
نه فرکانسی که
تمام Coreها
برای همیشه
روی آن کار کنند.

Maximum Boost
≠
Permanent All-Core Frequency

با افزایش تعداد
Coreهای فعال
و مصرف کل Chip،
Frequency قابل حفظ
ممکن است کاهش پیدا کند.

چرا یک Core می تواند فرکانس بیشتری از همه Coreها داشته باشد؟

وقتی فقط تعداد کمی Core
تحت Load هستند،
Power Budget
و Thermal Budget
بین تعداد کمتری
از Coreها تقسیم می شود.

Few Active Cores
→
More Headroom Per Core
→
Higher Possible Frequency

در All-Core Workload
مصرف کلی CPU
بیشتر می شود.

در نتیجه
Frequency پایدار
همه Coreها
ممکن است پایین تر باشد.

Power Limit چیست؟

سیستم نمی تواند
بدون محدودیت
به CPU انرژی بدهد.

Processor،
Motherboard،
Firmware
و Cooling System
برای محدوده مشخصی
از Power
طراحی شده اند.

Performance Demand
↓
Power Management
↓
Allowed Power Budget
↓
Frequency Decision

اگر CPU
به محدودیت Power برسد،
ممکن است Frequency
کاهش پیدا کند.

چرا نام Power Limitها بین CPUها متفاوت است؟

شرکت ها
و Platformهای مختلف
از اصطلاحات متفاوتی
برای Power Budget
استفاده می کنند.

برای مثال
ممکن است با مفاهیمی مانند:

TDP
/
PL1
/
PL2
/
PPT
/
Sustained Power
/
Short-Term Power

روبه رو شوید.

این اصطلاحات
دقیقاً معادل یکدیگر نیستند،
اما همگی به نوعی
با محدودیت های:

  • Power،
  • Thermal Design،
  • و Boost Behavior

مرتبط هستند.

Burst Performance و Sustained Performance چه تفاوتی دارند؟

یک CPU
ممکن است برای چند ثانیه
Performance بسیار بالایی
ارائه دهد.

اما بعد از گرم شدن
یا رسیدن به Power Limit،
Frequency
کاهش پیدا کند.

Short Workload
→
High Boost

Long Workload
→
Thermal / Power Equilibrium
→
Sustained Frequency

به همین دلیل
Benchmark کوتاه
و Render طولانی
ممکن است
رفتار متفاوتی
نشان دهند.

Race-to-Idle چیست؟

همیشه پایین نگه داشتن
Frequency
بهترین روش
برای کاهش مصرف انرژی نیست.

گاهی CPU
می تواند یک Task
را با Frequency بالا
سریع انجام دهد
و سپس
به حالت Idle
کم مصرف برگردد.

High Performance
→
Finish Work Quickly
→
Enter Deep Idle Earlier

این ایده
به صورت کلی
Race-to-Idle
نامیده می شود.

سیستم عامل چه نقشی در Power Management دارد؟

Operating System
اطلاعات مهمی درباره:

  • Thread Load،
  • Task Priority،
  • Idle Time،
  • Power Policy،
  • و User Preference

دارد.

Hardware و OS
با همکاری یکدیگر
تصمیم می گیرند
چه سطح Performance
مناسب است.

Workload
+
OS Policy
+
Hardware Telemetry
→
Performance / Power Decision

BIOS و Firmware چه نقشی دارند؟

Firmware
می تواند
بسیاری از محدودیت ها
و Policyهای
Power Management
را تعریف کند.

سازنده Laptop
ممکن است
یک CPU یکسان
را در دستگاه های مختلف
با Power Budgetهای
متفاوت تنظیم کند.

بنابراین:

Same CPU Model
≠
Always Same Sustained Performance

چرا Power Management در لپ تاپ اهمیت بیشتری دارد؟

Laptop
محدودیت های بیشتری
نسبت به Desktop دارد.

از جمله:

  • Battery Capacity محدود،
  • Cooling کوچک تر،
  • فضای داخلی کمتر،
  • Noise محدود،
  • و Surface Temperature.

بنابراین Firmware
ممکن است CPU
را بسیار تهاجمی تر
مدیریت کند.

چرا لپ تاپ روی Battery کندتر از حالت برق مستقیم می شود؟

هنگام کار با Battery،
سیستم ممکن است
Power Budget
را کاهش دهد.

Battery Mode
→
Lower Power Budget
→
Potentially Lower Boost
→
Longer Battery Life

این رفتار
به Laptop،
Power Profile
و Firmware
بستگی دارد.

Performance Mode، Balanced و Power Saver چه می کنند؟

این Profileها
می توانند نحوه ترجیح
سیستم میان:

  • Performance،
  • Responsiveness،
  • Power Consumption،
  • Noise،
  • و Battery Life

را تغییر دهند.

Performance Mode
→
More Aggressive Performance Preference

Power Saving Mode
→
More Aggressive Energy Saving

Power Management چگونه Battery Life را افزایش می دهد؟

CPU در استفاده روزمره
همیشه تحت Load کامل نیست.

بیشتر زمان ممکن است
بین:

  • کار کوتاه،
  • انتظار،
  • Idle،
  • و Burstهای کوتاه Performance

جابه جا شود.

ورود سریع
به Stateهای کم مصرف
می تواند Average Power
را به شدت کاهش دهد.

Power Management چه ارتباطی با Temperature دارد؟

تقریباً تمام Power
مصرف شده توسط CPU
در نهایت
به Heat تبدیل می شود.

Electrical Power
→
Heat
→
Cooling Requirement

بنابراین Power Management
و Thermal Management
ارتباط بسیار نزدیکی
با یکدیگر دارند.

همین موضوع
مقدمه فصل بعد است.

چرا دو CPU هم مدل ممکن است رفتار کاملاً یکسانی نداشته باشند؟

تفاوت های طبیعی
در Silicon Manufacturing
می توانند باعث شوند
نمونه های مختلف
یک CPU
برای Frequency مشابه
به Voltage دقیقاً یکسانی
نیاز نداشته باشند.

علاوه بر آن:

  • Cooling،
  • Motherboard،
  • Firmware،
  • Ambient Temperature،
  • و Power Configuration

نیز رفتار واقعی
را تغییر می دهند.

در لپ تاپ استوک Power Management را چگونه بررسی کنیم؟

  1. CPU را در حالت Idle بررسی کنید.
  2. فرکانس و مصرف را هنگام Load مشاهده کنید.
  3. رفتار Boost اولیه را ثبت کنید.
  4. یک Load طولانی تر اجرا کنید.
  5. Sustained Frequency را بررسی کنید.
  6. Temperature را همزمان کنترل کنید.
  7. رفتار دستگاه روی AC و Battery را مقایسه کنید.
  8. Power Mode سیستم را بررسی کنید.
  9. در صورت Performance غیرعادی، Adapter مناسب را بررسی کنید.
  10. Cooling System را در صورت افت شدید Performance بررسی کنید.

آیا شارژر نامناسب می تواند Performance CPU را کاهش دهد؟

بله،
در بعضی Laptopها
Adapter نامناسب،
کم توان
یا شناسایی نشده
می تواند باعث
محدود شدن Power Budget شود.

Insufficient Adapter Power
→
Restricted Power Budget
→
Reduced CPU / GPU Performance

این موضوع
در بررسی Laptop استوک
اهمیت زیادی دارد.

زیرساخت فنی — CPU چگونه در چند لحظه از Idle به Boost می رسد؟

فرض کنید CPU
در حالت Idle
قرار دارد.

Low Activity
↓
Low-Power State

کاربر برنامه ای
اجرا می کند
و Scheduler
Thread را
برای اجرا آماده می کند.

New Runnable Thread
↓
Core Wake-Up

CPU و سیستم
شرایط فعلی را
بررسی می کنند:

  • Workload Demand،
  • Temperature،
  • Power Headroom،
  • Current،
  • Core Activity،
  • و Platform Policy.

اگر Headroom
کافی وجود داشته باشد:

Voltage / Frequency Increase
↓
Boost
↓
Faster Execution

با پایان Workload:

Work Finished
↓
Frequency Reduction
↓
Idle State
↓
Deeper C-State

این چرخه
می تواند بارها
در زمان بسیار کوتاه
تکرار شود.

بنابراین Frequency CPU
یک مشخصه کاملاً ثابت نیست؛
بلکه نتیجه یک
Control Loop پویاست.

نکته مهندسی — Frequency را بدون Power و Thermal Context مقایسه نکنید

دیدن عبارت:

Up To 5.0 GHz

به تنهایی
Performance پایدار CPU
را مشخص نمی کند.

باید پرسید:

  • چند Core می توانند به آن Frequency برسند؟
  • برای چه مدت؟
  • در چه Power Limitی؟
  • در چه Temperatureای؟
  • با چه Cooling Systemی؟

Real CPU Performance
≠
Maximum Advertised Frequency Alone

تاثیر بر عملکرد — یک CPU یکسان می تواند در دو لپ تاپ Performance متفاوتی داشته باشد

فرض کنید
دو Laptop
دقیقاً CPU یکسانی
دارند.

Laptop اول:

Better Cooling
+
Higher Sustained Power Budget

Laptop دوم:

Thin Chassis
+
Lower Power Budget

در Benchmark کوتاه
ممکن است
هر دو نزدیک باشند.

اما در Render طولانی:

Different Sustained Power
→
Different Sustained Frequency
→
Different Performance

به همین دلیل
مدل CPU
تنها بخشی
از Performance واقعی Laptop است.

اشتباهات رایج — Common Mistakes درباره Power Management CPU
  • فرض اینکه CPU همیشه روی Base Frequency کار می کند.
  • فرض اینکه CPU همیشه روی Maximum Boost کار می کند.
  • یکی دانستن Maximum Boost با All-Core Frequency.
  • مقایسه CPUها فقط براساس GHz.
  • نادیده گرفتن Voltage هنگام بررسی Power.
  • یکی دانستن P-State و C-State.
  • فرض اینکه کاهش Frequency همیشه بهترین روش کاهش Energy است.
  • نادیده گرفتن Race-to-Idle.
  • فرض اینکه TDP دقیقاً برابر مصرف واقعی CPU در همه شرایط است.
  • یکی دانستن اصطلاحات Power Limit سازندگان مختلف.
  • نادیده گرفتن Firmware لپ تاپ.
  • نادیده گرفتن Power Mode سیستم عامل.
  • مقایسه دو Laptop فقط براساس مدل CPU.
  • نادیده گرفتن Cooling در Sustained Performance.
  • نادیده گرفتن Adapter هنگام بررسی Performance لپ تاپ.
  • قضاوت درباره CPU فقط با یک Benchmark بسیار کوتاه.

مفاهیم مدیریت توان CPU در یک نگاه

مفهوم وظیفه اصلی
DVFS تغییر پویا Voltage و Frequency
P-State تنظیم سطح Performance هنگام فعالیت CPU
C-State کاهش مصرف در حالت Idle
Clock Gating متوقف کردن Clock بخش های بلااستفاده
Power Gating کاهش یا قطع Power بخش های بلااستفاده
Turbo / Boost افزایش موقت یا پویا Performance در صورت وجود Headroom
Power Limit محدود کردن توان قابل استفاده CPU
Race-to-Idle انجام سریع Task و بازگشت زودتر به Idle

سوالات متداول درباره مدیریت توان CPU

P-State چیست؟

وضعیت Performance
پردازنده فعال است
که می تواند
با Frequency،
Voltage
و Power متفاوت
همراه باشد.

C-State چیست؟

وضعیت های Idle
و کم مصرف CPU هستند
که هنگام نبود Work
استفاده می شوند.

DVFS چیست؟

Dynamic Voltage and Frequency Scaling
مکانیزم تغییر پویا
Voltage و Frequency
براساس نیاز Performance است.

Turbo Boost یعنی CPU همیشه روی آن فرکانس کار می کند؟

خیر.
Boost به شرایطی مانند
Power،
Temperature،
تعداد Coreهای فعال
و Workload بستگی دارد.

چرا فرکانس CPU مرتب تغییر می کند؟

چون CPU مدرن
Performance و Power
را دائماً براساس
Workload و شرایط سیستم
تنظیم می کند.

چرا CPU یکسان در دو لپ تاپ Performance متفاوتی دارد؟

Power Limit،
Cooling،
Firmware
و طراحی دستگاه
می توانند متفاوت باشند.

آیا شارژر روی Performance CPU تاثیر دارد؟

در بعضی Laptopها بله.
Adapter نامناسب یا کم توان
می تواند باعث
محدود شدن Power Budget شود.

آیا TDP همان مصرف واقعی CPU است؟

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

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Power Management: مجموعه مکانیزم های کنترل مصرف و Performance پردازنده.
  • Dynamic Power: توان مصرفی مرتبط با Switching مدارها.
  • Static Power: بخشی از مصرف که حتی بدون Switching فعال می تواند وجود داشته باشد.
  • DVFS: Dynamic Voltage and Frequency Scaling.
  • P-State: وضعیت Performance پردازنده فعال.
  • C-State: وضعیت Idle یا کم مصرف CPU.
  • Clock Gating: توقف Clock بخش های بلااستفاده.
  • Power Gating: کاهش یا قطع Power بخش های بلااستفاده.
  • Boost: افزایش پویا Frequency در صورت وجود شرایط مناسب.
  • Power Limit: محدودیت توان قابل استفاده پردازنده.
  • Power Budget: مقدار Power در دسترس برای فعالیت Processor.
  • Thermal Headroom: ظرفیت حرارتی باقی مانده پیش از رسیدن به محدودیت Temperature.
  • Race-to-Idle: انجام سریع Work و بازگشت زودتر به وضعیت کم مصرف.
  • Sustained Performance: Performance قابل حفظ در Workload طولانی.
  • Burst Performance: Performance بالا در بازه کوتاه.

خلاصه فصل

CPU مدرن
یک دستگاه
با Frequency و Power ثابت نیست.

پردازنده دائماً
شرایط خود را
با Workload
تطبیق می دهد.

Workload
+
Power
+
Temperature
+
OS Policy
+
Firmware
→
CPU Operating Point

DVFS
Voltage و Frequency
را تنظیم می کند.

P-State
سطح Performance
هنگام فعالیت CPU
را مشخص می کند.

C-State
امکان کاهش شدید
مصرف هنگام Idle
را فراهم می کند.

Turbo و Boost نیز
در صورت وجود
Power و Thermal Headroom
Performance بیشتری
ارائه می دهند.

مهم ترین نتیجه عملی
این فصل این است:

CPU Model
≠
Complete Performance Story


Performance واقعی پردازنده حاصل تعامل معماری CPU،
Frequency، Voltage، Power Limit، Cooling،
Firmware و نوع Workload است.


فصل 91
سطح: متوسط تا پیشرفته
موضوع: مدیریت حرارتی پردازنده
تمرکز: Thermal Sensor / Hotspot / TJmax / Throttling / PROCHOT / Thermal Protection


دمای CPU فقط یک عدد نیست؛ پردازنده مدرن شبکه ای از سنسورها و مکانیزم های حفاظتی دارد

CPU چگونه دما را اندازه گیری و از خودش در برابر حرارت محافظت می کند؟

در فصل قبل دیدیم
که Temperature
یکی از محدودیت های اصلی
برای Frequency،
Voltage
و Boost
پردازنده است.

اما یک سوال مهم
باقی می ماند:

CPU از کجا می فهمد
دمایش چقدر است؟

آیا فقط یک سنسور
در مرکز پردازنده
قرار دارد؟

آیا عددی که
نرم افزار Monitoring
نمایش می دهد
دمای تمام قسمت های CPU است؟

و اگر Cooling
نتواند حرارت را
دفع کند،
پردازنده دقیقاً
چه کاری انجام می دهد؟

پاسخ این سوال ها
ما را وارد
Thermal Management
در سطح خود CPU
می کند.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا دمای CPU در تمام نقاط یکسان نیست.
  • Thermal Sensor چیست.
  • Digital Thermal Sensor چیست.
  • Hotspot چیست.
  • Junction Temperature چیست.
  • TJmax چیست.
  • Distance to TJmax چیست.
  • Core Temperature و Package Temperature چه تفاوتی دارند.
  • چرا نرم افزارهای مختلف ممکن است دمای متفاوتی نشان دهند.
  • Thermal Throttling چگونه فعال می شود.
  • PROCHOT چیست.
  • Thermal Trip چیست.
  • چرا CPU قبل از خاموش شدن Frequency را کاهش می دهد.
  • Hotspot چگونه در Die ایجاد می شود.
  • Thermal Density چیست.
  • چرا CPU کوچک تر الزاماً خنک تر نیست.
  • Thermal Cycling چیست.
  • دمای Idle و Load را چگونه باید تفسیر کرد.

حرارت CPU از کجا ایجاد می شود؟

پردازنده هنگام فعالیت
انرژی الکتریکی مصرف می کند.

بخش بزرگی
از این انرژی
در نهایت
به Heat
تبدیل می شود.

Electrical Energy
→
Transistor Activity
→
Heat

اما تولید حرارت
در تمام قسمت های Die
یکسان نیست.

چرا تمام قسمت های CPU دمای یکسانی ندارند؟

بخش های مختلف CPU
در یک لحظه
Activity متفاوتی دارند.

ممکن است:

  • یک Core تحت Load سنگین باشد،
  • Core دیگری Idle باشد،
  • بخشی از Cache فعال باشد،
  • Vector Unit فعالیت زیادی داشته باشد،
  • و بخش دیگری Clock Gated شده باشد.

بنابراین Heat Generation
در سطح Die
یکنواخت نیست.

Uneven Activity
→
Uneven Power Density
→
Uneven Temperature

Hotspot چیست؟


نقطه داغ پردازنده — Hotspot

Hotspot
ناحیه ای از Die
است که در یک لحظه
Temperature بالاتری
نسبت به بخش های دیگر
دارد.

محل Hotspot
می تواند با تغییر
Workload
تغییر کند.

برای مثال،
اگر یک Thread سنگین
عمدتاً روی یک Core
اجرا شود،
آن Core
می تواند نسبت به
Coreهای Idle
گرم تر شود.

Heavy Local Activity
→
Local Power Density
→
Local Hotspot

Thermal Density چیست؟

فقط Total Power
برای دمای CPU
مهم نیست.

مهم است که
این Power
در چه مساحتی
تولید می شود.

اگر مقدار زیادی Power
در یک ناحیه کوچک
تولید شود،
Heat Flux
و Thermal Density
می توانند بالا باشند.

High Power
+
Small Active Area
→
High Thermal Density

نکته مهندسی — Engineering Insight: Die کوچک تر الزاماً به معنی CPU خنک تر نیست

کاهش اندازه Transistorها
می تواند Efficiency
را افزایش دهد،
اما در عین حال
تعداد زیادی Transistor
در مساحت کوچک تری
قرار می گیرند.

اگر Power Density
بالا باشد،
انتقال Heat
از Hotspotهای کوچک
به سطح Package
دشوارتر می شود.

Smaller Die
≠
Automatically Lower Temperature

Thermal Sensor چیست؟

CPU مدرن
دارای Sensorهای داخلی
برای پایش
وضعیت حرارتی است.

این Sensorها
به پردازنده کمک می کنند
Temperature
بخش های مهم
را تخمین
یا اندازه گیری کند.

داده Thermal
سپس می تواند
توسط منطق داخلی CPU
برای:

  • Boost Management،
  • Fan Control در سطح Platform،
  • Thermal Throttling،
  • Power Management،
  • و Thermal Protection

استفاده شود.

Digital Thermal Sensor چیست؟


سنسور حرارتی دیجیتال — Digital Thermal Sensor

Digital Thermal Sensor
یا DTS
مکانیزمی برای
پایش Temperature
در نزدیکی بخش های مهم
پردازنده است.

در بسیاری از CPUها
چند Sensor
در نقاط مختلف
وجود دارد.

اشتباه رایج — Common Mistake: CPU فقط یک سنسور دما دارد

در پردازنده های مدرن
معمولاً چنین نیست.

چندین Thermal Sensor
می توانند
در نقاط مختلف
Die یا Package
وجود داشته باشند.

به همین دلیل
مفهوم «دمای CPU»
همیشه به یک
نقطه فیزیکی واحد
اشاره نمی کند.

Junction Temperature چیست؟

اصطلاح:

Junction Temperature
=
Tj

به Temperature
در Junctionهای
Semiconductor
داخل Die
اشاره دارد.

در بحث CPU،
این مفهوم
به دمای داخلی Silicon
مربوط است،
نه صرفاً دمای سطح
خنک کننده
یا هوای اطراف.

TJmax چیست؟


حداکثر مرجع Junction Temperature

TJmax
یک Temperature Reference
مهم برای
Thermal Management
پردازنده است.

نزدیک شدن
به این محدوده
می تواند باعث
فعال شدن مکانیزم های
Thermal Control
شود.

آیا TJmax همه CPUها یکسان است؟

خیر.

مقدار Thermal Limit
می تواند بر اساس:

  • معماری،
  • نسل پردازنده،
  • مدل،
  • نوع محصول،
  • و طراحی سازنده

متفاوت باشد.

بنابراین نباید
یک Temperature ثابت
را برای تمام CPUها
به عنوان TJmax
در نظر گرفت.

Distance to TJmax چیست؟

بعضی Thermal Sensorها
به جای گزارش مستقیم
Temperature مطلق،
فاصله تا
Thermal Limit
را گزارش می کنند.

Distance to TJmax
=
TJmax
–
Current Junction Temperature

برای مثال،
هرچه Distance
کمتر شود،
CPU به Thermal Limit
نزدیک تر شده است.

TJmax = 100°C

Distance = 20°C

Estimated Junction Temperature ≈ 80°C

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

Core Temperature چیست؟

بعضی Monitoring Toolها
Temperature
مربوط به Coreهای مختلف
را جداگانه
نمایش می دهند.

برای مثال:

Core 0
→
72°C

Core 1
→
68°C

Core 2
→
75°C

اختلاف Temperature
میان Coreها
الزاماً غیرعادی نیست.

Package Temperature چیست؟

بعضی CPUها
یا Monitoring Interfaceها
مقداری با عنوان:

CPU Package Temperature

گزارش می کنند.

این مقدار
الزاماً میانگین ساده
Temperature تمام Coreها
نیست.

تعریف دقیق
آن به معماری
و Telemetry
پردازنده بستگی دارد.

اشتباه رایج — Common Mistake: Package Temperature میانگین دمای Coreها است

الزاماً خیر.

Package Temperature
می تواند از
Sensor،
Control Value
یا روش Aggregation
خاص معماری
به دست آید.

بنابراین بدون دانستن
تعریف Telemetry
آن CPU،
نباید فرض کرد
این عدد
Average ساده Coreها است.

چرا بیشترین دمای Sensorها مهم است؟

برای حفاظت CPU،
Average Temperature
همیشه کافی نیست.

ممکن است
بیشتر Die
نسبتاً خنک باشد،
اما یک ناحیه کوچک
به Thermal Limit
نزدیک شده باشد.

Safe Average
+
Unsafe Local Hotspot
=
Still a Thermal Problem

به همین دلیل
Hotspot Monitoring
اهمیت زیادی دارد.

چرا دو نرم افزار دمای متفاوتی نشان می دهند؟

Monitoring Softwareها
ممکن است:

  • Sensorهای متفاوتی را بخوانند،
  • Package و Core را متفاوت نمایش دهند،
  • Sampling Rate متفاوت داشته باشند،
  • Average متفاوتی محاسبه کنند،
  • یا Label متفاوتی برای یک Telemetry Value استفاده کنند.

بنابراین اختلاف
چند عدد Temperature
همیشه به معنی
خراب بودن Sensor
نیست.

Sampling Rate چه تاثیری روی دمای نمایش داده شده دارد؟

Temperature CPU
می تواند بسیار سریع
تغییر کند.

اگر یک نرم افزار
هر چند ثانیه
Sensor را بخواند
و نرم افزار دیگر
با Interval کوتاه تری
نمونه برداری کند،
Peakهای متفاوتی
ثبت می شوند.

Faster Sampling
→
Greater Chance of Capturing Short Thermal Peaks

چرا دمای CPU ناگهان چند درجه بالا می رود؟

CPU مدرن
می تواند Frequency
و Voltage
را بسیار سریع
افزایش دهد.

در نتیجه
با شروع یک Task
Power Density
می تواند تقریباً فوری
افزایش پیدا کند.

Temperature Sensor
نیز ممکن است
این تغییر را
سریع ثبت کند.

Work Arrives
→
Boost
→
Higher Voltage / Activity
→
Rapid Temperature Rise

Thermal Inertia چیست؟

Heat Sink
و سایر اجزای Cooling
دارای Thermal Mass
هستند.

بنابراین Temperature
تمام سیستم
در یک لحظه
تغییر نمی کند.

Silicon کوچک CPU
می تواند سریع گرم شود،
در حالی که
Heat Sink بزرگ
با تاخیر بیشتری
Temperature آن تغییر می کند.

این رفتار
بخشی از مفهوم:

Thermal Inertia

است.

Heat چگونه از CPU خارج می شود؟

مسیر دقیق
به نوع Package
بستگی دارد،
اما در یک CPU
دارای Integrated Heat Spreader
می توان مسیر را
به صورت مفهومی
چنین دید:

Transistors
→
Silicon Die
→
Thermal Interface
→
Integrated Heat Spreader
→
Thermal Paste
→
Cooler Base
→
Heat Sink / Heat Pipes
→
Air

IHS چیست؟

IHS
مخفف:

Integrated Heat Spreader

است.

این قطعه
روی بسیاری از
Desktop CPUها
قرار دارد
و به پخش Heat
از سطح کوچک Die
روی سطح بزرگ تر
کمک می کند.

Thermal Interface Material چیست؟

دو سطح فلزی
حتی اگر صاف
به نظر برسند،
در مقیاس میکروسکوپی
کاملاً صاف نیستند.

ماده واسط حرارتی
برای پر کردن
فاصله های بسیار کوچک
میان سطوح
استفاده می شود.

TIM
=
Thermal Interface Material

Thermal Resistance چیست؟

مسیر انتقال Heat
دارای مقاومت حرارتی است.

یک مدل ساده
برای ارتباط
Power و Temperature Rise:

ΔT
≈
Power
×
Thermal Resistance

بنابراین با Power یکسان،
Thermal Resistance کمتر
معمولاً Temperature Rise
کمتری ایجاد می کند.

خنک کننده بهتر دقیقاً چه کاری انجام می دهد؟

Cooler
Heat تولید شده
توسط CPU
را از Package
دریافت
و به محیط
منتقل می کند.

Cooling بهتر
می تواند Thermal Resistance
مسیر انتقال Heat
را کاهش دهد.

Lower Thermal Resistance
→
Lower Temperature at Same Power

دمای محیط چه تاثیری روی CPU دارد؟

Cooling System
Heat را در نهایت
به محیط اطراف
منتقل می کند.

اگر Ambient Temperature
بالاتر باشد،
اختلاف Temperature
میان Cooler
و محیط
کاهش پیدا می کند.

بنابراین CPU
معمولاً در اتاق گرم تر
Temperature بالاتری
خواهد داشت.

چرا اختلاف دما با محیط معیار مفیدی است؟

اگر فقط بگوییم
CPU در 70 درجه
کار می کند،
هنوز اطلاعات
کاملی نداریم.

اگر Ambient
برابر 20 درجه باشد:

ΔT = 70 – 20 = 50°C

اما اگر Ambient
برابر 35 درجه باشد:

ΔT = 70 – 35 = 35°C

بنابراین Delta Temperature
می تواند برای
مقایسه Cooling
مفیدتر از Temperature مطلق
باشد.

CPU هنگام رسیدن به دمای بالا چه می کند؟

اولین واکنش
معمولاً خاموش شدن
فوری سیستم نیست.

CPU می تواند
با کاهش:

  • Frequency،
  • Voltage،
  • Power،
  • یا میزان فعالیت موثر

Heat Generation
را کاهش دهد.

این فرآیند
بخشی از:

Thermal Throttling

است.

حلقه کنترل حرارتی CPU چگونه کار می کند؟

به صورت ساده:

Temperature Sensors
→
Thermal Control Logic
→
Frequency / Voltage / Power Adjustment
→
Heat Generation Changes
→
New Temperature

این یک
Feedback Control Loop
است.

PROCHOT چیست؟


Processor Hot — PROCHOT

PROCHOT
مکانیزمی در برخی
پردازنده های x86
است که نشان می دهد
شرایط حرارتی
نیازمند اعمال
Thermal Control
است.

با فعال شدن
این وضعیت،
CPU می تواند
Performance
را کاهش دهد
تا Heat Generation
کمتر شود.

BD PROCHOT چیست؟

در بعضی Platformها
اجزای دیگر سیستم
نیز می توانند
شرایطی را اعلام کنند
که باعث محدود شدن
CPU شود.

این قابلیت
معمولاً با مفهوم:

Bi-Directional PROCHOT
=
BD PROCHOT

مرتبط است.

در نتیجه
ممکن است CPU
Frequency را کاهش دهد
حتی اگر خود Core
هنوز به Maximum Temperature
نرسیده باشد.

نکته مهندسی — Engineering Insight: کاهش فرکانس همیشه به معنی داغ بودن خود CPU نیست

Platform
فقط از CPU
تشکیل نشده است.

بخش هایی مانند
Power Delivery
نیز محدودیت حرارتی
و الکتریکی دارند.

در برخی سیستم ها
یک Signal خارجی
می تواند باعث شود
CPU Performance
را کاهش دهد.

CPU Throttling
≠
Always CPU Core Overtemperature

Thermal Trip چیست؟

اگر Temperature
از محدوده های
کنترل عادی عبور کند
و شرایط خطرناک شود،
CPU و Platform
می توانند
مکانیزم حفاظتی
شدیدتری فعال کنند.

در نهایت
ممکن است سیستم
برای جلوگیری
از آسیب سخت افزاری
خاموش شود.

Extreme Temperature
→
Emergency Thermal Protection
→
System Shutdown

چرا CPU ابتدا Throttle می کند و بعد خاموش می شود؟

خاموش کردن سیستم
اقدام شدیدی است.

در بسیاری از شرایط
کاهش Frequency
و Power
برای کنترل Temperature
کافی است.

بنابراین معماری حفاظتی
می تواند چند مرحله
داشته باشد:

Normal Operation
→
Thermal Management
→
Throttling
→
Emergency Protection

دمای امن CPU چند درجه است؟

یک عدد ثابت
برای تمام CPUها
وجود ندارد.

محدوده مناسب
به:

  • مدل CPU،
  • نسل،
  • Desktop یا Mobile بودن،
  • Thermal Specification سازنده،
  • نوع Workload،
  • و طراحی Platform

بستگی دارد.

بنابراین برای
قضاوت دقیق
باید Specification
همان مدل پردازنده
بررسی شود.

اشتباه رایج — Common Mistake: هر CPU که به 90 درجه برسد خراب است

چنین قانون عمومی
وجود ندارد.

بعضی CPUهای مدرن
برای کار در
Temperatureهای نسبتاً بالا
طراحی شده اند
و Boost Algorithm
می تواند عمداً
از Thermal Headroom
موجود استفاده کند.

اما این موضوع
به معنی بی اهمیت بودن
Temperature نیست.

باید Temperature
در کنار:

  • Thermal Limit،
  • Throttling Status،
  • Power،
  • Frequency،
  • Cooling Design،
  • و Workload

تحلیل شود.

آیا دمای Idle معیار خوبی برای کیفیت Cooling است؟

فقط تا حد محدودی.

در Idle،
Power CPU
بسیار پایین است
و Coreها می توانند
وارد C-Stateهای عمیق شوند.

در نتیجه
تفاوت میان دو Cooler
ممکن است در Idle
بسیار کوچک باشد.

رفتار زیر Load
معمولاً اطلاعات بیشتری
درباره ظرفیت واقعی
Cooling System
می دهد.

دمای Load را چگونه باید بررسی کرد؟

فقط Maximum Temperature
کافی نیست.

بهتر است همزمان
موارد زیر بررسی شوند:

  • CPU Temperature،
  • Clock Frequency،
  • CPU Package Power،
  • Thermal Throttling Status،
  • Power Limit Status،
  • Fan Speed،
  • و مدت زمان Load.

این اطلاعات
تصویر بسیار دقیق تری
از رفتار Thermal
سیستم ارائه می دهند.

چرا دو سیستم هر دو 90 درجه هستند ولی یکی سریع تر است؟

Temperature یکسان
به معنی شرایط یکسان
نیست.

فرض کنید
دو CPU
هر دو روی:

90°C

کار می کنند.

سیستم اول
ممکن است در این دما
80 وات
دفع کند،
اما سیستم دوم
فقط 45 وات.

سیستم اول
در همان Temperature
می تواند Performance
بیشتری ارائه کند.

Same Temperature
≠
Same Cooling Capability

تاثیر بر عملکرد — Performance Impact: Cooling بهتر ممکن است دما را پایین نیاورد اما Performance را افزایش دهد

این رفتار
در CPUهای دارای
Dynamic Boost
بسیار مهم است.

اگر CPU
Thermal Headroom بیشتری
پیدا کند،
ممکن است به جای
کاهش Temperature،
Frequency
و Power
را افزایش دهد.

بنابراین بعد از
نصب Cooler بهتر
ممکن است CPU
همچنان نزدیک
Temperature قبلی
کار کند،
اما Performance
بیشتری ارائه دهد.

Better Cooling
→
More Thermal Headroom
→
More Boost
→
Similar Temperature
+
Higher Performance

Thermal Transient چیست؟

تغییرات کوتاه مدت
Temperature
پس از تغییر ناگهانی
Workload
را می توان
Thermal Transient
در نظر گرفت.

برای مثال:

Idle
→
Heavy Load
→
Rapid Power Increase
→
Temperature Transient

رفتار Transient
با شرایط
Steady-State
متفاوت است.

Thermal Steady-State چیست؟

اگر Workload
برای مدت کافی
ثابت بماند،
سیستم می تواند
به وضعیتی نزدیک شود
که Heat Generation
و Heat Dissipation
تقریباً متعادل شوند.

در این حالت
Temperature
نسبتاً پایدار می شود.

Heat Generated
≈
Heat Dissipated
→
Approximate Thermal Steady-State

چرا مدت Benchmark برای بررسی دما مهم است؟

یک تست 10 ثانیه ای
ممکن است فقط
Thermal Transient
سیستم را نشان دهد.

Heat Sink
هنوز ممکن است
کاملاً گرم نشده باشد.

تست طولانی تر
رفتار Sustained Cooling
را بهتر نشان می دهد.

Short Test
→
Transient Behavior

Long Test
→
Sustained Thermal Behavior

Thermal Management در لپ تاپ چه تفاوتی دارد؟

Laptop
محدودیت های بیشتری
نسبت به Desktop
دارد.

علاوه بر CPU Temperature،
سازنده باید:

  • دمای بدنه،
  • دمای Keyboard،
  • دمای Battery،
  • صدای Fan،
  • GPU Temperature،
  • و ظرفیت محدود Heat Pipe

را نیز مدیریت کند.

بنابراین ممکن است
CPU لپ تاپ
قبل از رسیدن
به TJmax
توسط Platform
محدود شود.

چرا فعالیت GPU می تواند Performance CPU لپ تاپ را کاهش دهد؟

در بسیاری از Laptopها
CPU و GPU
بخشی از Cooling System
را به اشتراک می گذارند.

اگر GPU
Power زیادی مصرف کند،
Heat بیشتری
وارد Heat Pipe
و Heat Sink مشترک
می شود.

در نتیجه
Thermal Headroom
CPU
می تواند کاهش یابد.

GPU Load
→
Shared Cooling Load
→
Less CPU Thermal Headroom

گرد و غبار چگونه دمای CPU را افزایش می دهد؟

Dust
می تواند مسیر عبور Air
از Heat Sink
را محدود کند.

کاهش Airflow
باعث افزایش
Thermal Resistance
سیستم Cooling
می شود.

Dust
→
Lower Airflow
→
Worse Heat Transfer
→
Higher Temperature

خمیر حرارتی چه زمانی می تواند مشکل ایجاد کند؟

Thermal Paste
باید تماس حرارتی
مناسب میان سطوح
ایجاد کند.

مشکلاتی مانند:

  • تماس نامناسب Cooler،
  • Mounting Pressure نامناسب،
  • پخش نامناسب ماده،
  • یا تخریب شدید Interface در طول زمان

می توانند Thermal Resistance
مسیر را افزایش دهند.

چرا فشار نصب Cooler مهم است؟

اگر Cooler
تماس یکنواختی
با سطح CPU
نداشته باشد،
Heat Transfer
ضعیف می شود.

بنابراین کیفیت
Mounting
می تواند
روی Temperature
اثر مستقیم داشته باشد.

Fan Curve چیست؟

Fan
الزاماً همیشه
با Maximum Speed
کار نمی کند.

Firmware
یا Controller
می تواند Fan Speed
را بر اساس Temperature
تغییر دهد.

رابطه میان Temperature
و Fan Speed
معمولاً به شکل
یک Control Curve
تعریف می شود.

Temperature
→
Fan Control Policy
→
Fan RPM

چرا سازنده همیشه Fan را روی حداکثر سرعت نمی گذارد؟

Cooling Design
فقط درباره Temperature
نیست.

Fan Speed بیشتر
معمولاً Noise
بیشتری ایجاد می کند.

بنابراین سازنده
میان:

Temperature
↔
Performance
↔
Noise

تعادل ایجاد می کند.

Thermal Cycling چیست؟

CPU در استفاده روزمره
دائماً بین
Temperatureهای مختلف
حرکت می کند.

برای مثال:

Idle
→
Load
→
Hot
→
Idle
→
Cool

این تغییرات مکرر
Temperature
Thermal Cycling
نامیده می شوند.

مواد مختلف
در Package
ضریب انبساط حرارتی
متفاوتی دارند،
بنابراین Thermal Cycling
یکی از عوامل
مورد توجه
در Reliability Engineering
است.

آیا دمای بالاتر می تواند روی عمر CPU اثر بگذارد؟

Temperature
یکی از عوامل
موثر بر Reliability
Semiconductor است.

افزایش Temperature
می تواند برخی
مکانیزم های Aging
را تسریع کند.

اما نمی توان
فقط با مشاهده
یک Temperature لحظه ای
عمر دقیق CPU
را پیش بینی کرد.

Voltage،
Current Density،
زمان کار،
Process Technology
و طراحی خود CPU
نیز اهمیت دارند.

آیا CPU مدرن در صورت خرابی فن فوراً می سوزد؟

پردازنده های مدرن
دارای چندین لایه
Thermal Protection
هستند.

اگر Cooling
به شدت ناکافی شود،
CPU می تواند:

  • Boost را کاهش دهد،
  • Frequency را پایین بیاورد،
  • Power را محدود کند،
  • Thermal Throttling انجام دهد،
  • و در شرایط شدید سیستم را خاموش کند.

البته وجود این حفاظت ها
به معنی مناسب بودن
استفاده طولانی مدت
با Cooling خراب نیست.

آیا سنسور دمای CPU یک دماسنج آزمایشگاهی دقیق است؟

هدف اصلی
Thermal Sensor داخلی CPU
حفاظت
و مدیریت پردازنده است.

بنابراین Accuracy
و Calibration
می توانند در محدوده های مختلف
Temperature
رفتار متفاوتی داشته باشند.

برای Thermal Protection،
دقت در نزدیکی
محدوده های بحرانی
اهمیت ویژه ای دارد.

هنگام بررسی حرارت CPU چه داده هایی را کنار هم ببینیم؟

داده چه چیزی به ما می گوید؟
Core Temperature وضعیت حرارتی Coreهای مختلف
Package / Hotspot Temperature وضعیت حرارتی کلی یا داغ ترین ناحیه طبق Telemetry معماری
Clock Frequency آیا CPU توانسته Boost را حفظ کند؟
Package Power چه مقدار Power در حال مصرف است؟
Thermal Throttling آیا Temperature باعث محدود شدن Performance شده است؟
Power Limit آیا محدودیت توان عامل کاهش Frequency است؟
Fan RPM Cooling System چگونه واکنش نشان می دهد؟
Ambient Temperature شرایط محیطی تست چگونه است؟

اشتباهات رایج — Common Mistakes: Thermal Management پردازنده
  • فرض اینکه CPU فقط یک سنسور دما دارد.
  • فرض اینکه تمام نقاط Die دمای یکسانی دارند.
  • یکی دانستن Package Temperature با میانگین Core Temperature.
  • نادیده گرفتن Hotspot.
  • فرض اینکه TJmax تمام CPUها یکسان است.
  • قضاوت درباره Cooling فقط از روی Idle Temperature.
  • قضاوت درباره Performance فقط از روی Maximum Temperature.
  • فرض اینکه هر Temperature بالا به معنی خرابی CPU است.
  • فرض اینکه Throttling همیشه از داغ شدن Core ایجاد می شود.
  • نادیده گرفتن Power هنگام مقایسه Temperature.
  • نادیده گرفتن Ambient Temperature.
  • نادیده گرفتن مدت زمان Stress Test.
  • فرض اینکه Cooler بهتر همیشه Temperature بسیار پایین تری ایجاد می کند.
  • نادیده گرفتن Thermal Density.
  • فرض اینکه Die کوچک تر الزاماً خنک تر است.

سوالات متداول درباره دما و حفاظت حرارتی CPU

Hotspot CPU چیست؟

ناحیه ای از Die
است که در یک لحظه
Temperature بالاتری
نسبت به سایر نواحی دارد.

TJmax چیست؟

یک مرجع Thermal
مهم برای مدیریت
و حفاظت پردازنده است
که مقدار آن
به مدل CPU بستگی دارد.

چرا دمای Coreها با هم متفاوت است؟

زیرا Activity،
Power Density،
محل اجرای Threadها
و انتقال Heat
در تمام نقاط Die
یکسان نیست.

آیا 90 درجه برای CPU خطرناک است؟

بدون دانستن مدل CPU،
Thermal Specification،
Throttling Status
و شرایط Workload
نمی توان فقط از روی
این عدد قضاوت کرد.

PROCHOT چیست؟

مکانیزمی برای اعلام
شرایط حرارتی
نیازمند کنترل Performance
در برخی پردازنده های x86 است.

Thermal Throttling چیست؟

کاهش Performance
برای کنترل Heat Generation
و باقی ماندن CPU
در محدوده حرارتی مناسب است.

چرا CPU ناگهان از 50 به 70 درجه می رسد؟

Boost سریع،
افزایش Voltage،
افزایش Activity
و Thermal Density
می توانند Temperature
Silicon را در مدت کوتاهی
افزایش دهند.

آیا Cooler بهتر همیشه دما را پایین می آورد؟

الزاماً نه.
CPU دارای Dynamic Boost
ممکن است Thermal Headroom
اضافه را برای
افزایش Performance
استفاده کند.

چرا دو برنامه دمای متفاوتی نشان می دهند؟

ممکن است Sensor،
Sampling Rate،
Label
یا روش پردازش Telemetry
آنها متفاوت باشد.

آیا خرابی Fan می تواند CPU را بسوزاند؟

CPUهای مدرن
مکانیزم های حفاظتی متعددی
مانند Throttling
و Emergency Shutdown
دارند،
اما Cooling معیوب
باید سریعاً برطرف شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Hotspot: داغ ترین ناحیه فعال یا یکی از نواحی داغ Die.
  • Thermal Density: تمرکز تولید حرارت در یک مساحت مشخص.
  • Thermal Sensor: سنسور پایش وضعیت حرارتی.
  • DTS: Digital Thermal Sensor.
  • Junction Temperature: دمای Junctionهای Semiconductor.
  • TJmax: مرجع حداکثر Junction Temperature برای Thermal Management.
  • Distance to TJmax: فاصله دمای فعلی تا TJmax.
  • Core Temperature: Telemetry حرارتی مربوط به Core.
  • Package Temperature: مقدار Thermal مربوط به CPU Package طبق تعریف معماری.
  • Thermal Inertia: تاخیر پاسخ حرارتی ناشی از ظرفیت گرمایی اجزا.
  • IHS: Integrated Heat Spreader.
  • TIM: Thermal Interface Material.
  • Thermal Resistance: مقاومت مسیر انتقال Heat.
  • PROCHOT: Processor Hot.
  • BD PROCHOT: Bi-Directional PROCHOT.
  • Thermal Trip: حفاظت اضطراری در Temperature بسیار بالا.
  • Thermal Transient: رفتار گذرای دما پس از تغییر شرایط.
  • Thermal Steady-State: حالت تقریباً پایدار حرارتی.
  • Thermal Cycling: چرخه های مکرر گرم و سرد شدن.

خلاصه فصل

Temperature پردازنده
یک مقدار ساده
و یکنواخت
در تمام Die نیست.

فعالیت متفاوت
بخش های CPU
باعث ایجاد
Power Density
و Hotspotهای متفاوت
می شود.

Workload
→
Local Activity
→
Local Power
→
Hotspot

پردازنده
با استفاده از
Thermal Sensorهای داخلی
وضعیت حرارتی
بخش های مهم
را پایش می کند.

TJmax
یکی از Referenceهای مهم
Thermal Management است
و نزدیک شدن
به Thermal Limit
می تواند باعث
کاهش Power
و Frequency شود.

PROCHOT
و سایر مکانیزم های حفاظتی
اجازه می دهند
CPU قبل از رسیدن
به شرایط خطرناک
Performance
را محدود کند.

اگر این اقدامات
کافی نباشند،
Protection شدیدتر
می تواند در نهایت
سیستم را خاموش کند.

همچنین Temperature
بدون دانستن Power،
Frequency،
Throttling Status،
Ambient Temperature
و مدت Workload
اطلاعات کاملی
درباره کیفیت Cooling
ارائه نمی دهد.


برای تحلیل حرارتی یک CPU نباید فقط پرسید
«دمای پردازنده چند درجه است؟»
بلکه باید پرسید این دما در چه Power،
چه Frequency، چه Workload و با چه وضعیت Throttling
ایجاد شده است.


فصل 92
سطح: پیشرفته
موضوع: عمر و فرسودگی پردازنده
تمرکز: Silicon Aging / Electromigration / Voltage / Temperature / Reliability


CPU قطعه ای بدون فرسودگی نیست؛ میلیاردها ترانزیستور و مسیر فلزی آن در طول زمان تحت تنش الکتریکی و حرارتی قرار دارند

CPU چگونه فرسوده می شود و ولتاژ، دما و جریان چه تاثیری بر عمر آن دارند؟

پردازنده هیچ قطعه مکانیکی
متحرکی ندارد،
اما این موضوع
به معنی نبود
فرسودگی فیزیکی نیست.

میلیاردها Transistor،
Contact،
Via
و Interconnect
داخل CPU
هنگام کار
تحت میدان الکتریکی،
جریان
و Temperature
قرار می گیرند.

اثر این تنش ها
در مقیاس زمانی طولانی
می تواند باعث
تغییر تدریجی
ویژگی های الکتریکی
ساختارهای Semiconductor شود.

Voltage
+
Current
+
Temperature
+
Time
→
Device Aging

مجموعه این پدیده ها
بخشی از موضوع:

Semiconductor Reliability

است.

در این فصل چه چیزهایی یاد می گیریم؟

  • آیا CPU واقعاً با گذشت زمان فرسوده می شود.
  • Silicon Aging چیست.
  • Electromigration چیست.
  • Current Density چه اهمیتی دارد.
  • چرا Temperature روی Reliability اثر دارد.
  • چرا Voltage بالا می تواند Aging را تسریع کند.
  • Gate Oxide Degradation چیست.
  • TDDB چیست.
  • BTI چیست.
  • HCI چیست.
  • چرا Timing Margin در Reliability مهم است.
  • Guardband چیست.
  • Silicon Degradation چه ارتباطی با Stability دارد.
  • Overclocking و Overvolting چه تاثیری روی عمر CPU دارند.
  • آیا CPU با افزایش سن واقعاً کندتر می شود.
  • چرا دو CPU مشابه ممکن است طول عمر یکسانی نداشته باشند.
  • چگونه سازنده Reliability پردازنده را مدیریت می کند.

آیا CPU واقعاً پیر می شود؟

بله.

ساختارهای Semiconductor
می توانند در اثر
کار طولانی مدت
تغییرات بسیار کوچکی
تجربه کنند.

این تغییرات
معمولاً بسیار آهسته هستند
و CPU سالم
برای سال ها
بدون مشکل محسوس
کار می کند.

اما از دید
Device Physics،
پردازنده کاملاً
بدون Aging نیست.

CPU Aging
=
Gradual Physical / Electrical Degradation

فرسودگی CPU با فرسودگی مکانیکی چه تفاوتی دارد؟

CPU
چرخ دنده،
Bearing
یا قطعه مکانیکی
متحرک ندارد.

بنابراین Aging آن
بیشتر در سطح:

  • Transistor،
  • Gate Dielectric،
  • Metal Interconnect،
  • Contact،
  • Via،
  • و Package Interconnect

اتفاق می افتد.

Reliability در CPU یعنی چه؟


قابلیت اطمینان پردازنده — CPU Reliability

Reliability
یعنی CPU
بتواند در شرایط تعریف شده
و طی عمر طراحی شده
عملکرد صحیح خود
را حفظ کند.

Reliability Engineering
تلاش می کند
احتمال Failure
در طول عمر محصول
در محدوده قابل قبول
باقی بماند.

مهم ترین مکانیزم های فرسودگی CPU چیست؟

در Semiconductorها
چندین Aging Mechanism
وجود دارد.

از مهم ترین مفاهیم
برای درک Reliability CPU
می توان به موارد زیر
اشاره کرد:

  • Electromigration
  • Time-Dependent Dielectric Breakdown
  • Bias Temperature Instability
  • Hot Carrier Injection
  • Thermal Cycling

هر کدام
بخش متفاوتی
از ساختار CPU
را تحت تاثیر
قرار می دهند.

Electromigration چیست؟


مهاجرت اتم های مسیر فلزی تحت تاثیر جریان الکتریکی

Electromigration
پدیده ای است
که در آن
حرکت Electronها
می تواند در طول زمان
باعث جابه جایی تدریجی
Atomهای مسیرهای فلزی شود.

این اتفاق
یک Failure ناگهانی
در اولین لحظه کار CPU
نیست.

بلکه یک
Reliability Mechanism
وابسته به زمان است.

High Current Density
+
Time
+
Temperature
→
Atomic Migration
→
Interconnect Degradation

Current Density چیست؟

فقط مقدار Current
مهم نیست.

مهم است که
جریان از چه
سطح مقطعی
عبور می کند.

Current Density
=
Current
/
Cross-Sectional Area

اگر مقدار زیادی Current
از یک مسیر بسیار کوچک
عبور کند،
Current Density
افزایش می یابد.

این مسئله
برای Interconnectهای بسیار کوچک
در تراشه های مدرن
اهمیت زیادی دارد.

Electromigration چگونه مسیر فلزی را خراب می کند؟

جابه جایی تدریجی Atomها
می تواند در بعضی نواحی
باعث کاهش ماده
و در نواحی دیگر
باعث تجمع ماده شود.

دو مفهوم مهم
در این زمینه:

Void Formation

و:

Hillock Formation

هستند.

Void چیست؟

اگر Atomهای فلزی
از یک ناحیه
به تدریج خارج شوند،
یک ناحیه کم ماده
یا Void
می تواند ایجاد شود.

در شرایط شدید،
این ناحیه
می تواند مقاومت مسیر
را افزایش دهد
یا حتی اتصال
را قطع کند.

Void Growth
→
Higher Resistance
→
Possible Open Circuit

Hillock چیست؟

در سمت دیگر مسیر،
تجمع Atomها
می تواند ساختارهای
اضافی ایجاد کند.

در شرایط خاص
چنین تغییراتی
می توانند
Reliability مسیرهای فلزی
را تحت تاثیر
قرار دهند.

چرا دما Electromigration را تشدید می کند؟

حرکت Atomها
یک فرآیند
وابسته به Temperature است.

افزایش Temperature
می تواند سرعت
فرآیندهای Diffusion
را افزایش دهد.

Higher Temperature
→
Faster Atomic Diffusion
→
Higher Electromigration Risk

Black’s Equation چیست؟

در Reliability Engineering
یک مدل کلاسیک
برای توصیف
Electromigration Lifetime
وجود دارد
که معمولاً با نام:

Black’s Equation

شناخته می شود.

شکل مفهومی ساده شده آن:

MTTF
∝
J⁻ⁿ
×
exp(Ea / kT)

است.

بدون ورود به جزئیات ریاضی،
پیام مهم این رابطه
این است:

Higher Current Density
→
Lower Expected Lifetime

Higher Temperature
→
Lower Expected Lifetime

MTTF چیست؟

MTTF
مخفف:

Mean Time To Failure

است.

این مفهوم
یک معیار آماری
برای Reliability
مجموعه ای از Deviceها است.

MTTF را نباید
به این شکل تفسیر کرد
که یک CPU مشخص
دقیقاً در همان زمان
خراب خواهد شد.

TDDB چیست؟


Time-Dependent Dielectric Breakdown

TDDB
به فرسودگی تدریجی
مواد Dielectric
در اثر اعمال
میدان الکتریکی
در طول زمان
مربوط است.

Gate Dielectric
باید بخش های الکتریکی
را از یکدیگر
جدا نگه دارد.

اعمال Electric Field
برای مدت طولانی
می تواند Defectهایی
در ماده ایجاد کند.

تجمع این Defectها
در شرایط شدید
می تواند
به Breakdown
منجر شود.

چرا Voltage بالا برای Dielectric مهم است؟

افزایش Voltage
می تواند Electric Field
روی ساختارهای بسیار کوچک
را افزایش دهد.

Field بیشتر
می تواند Stress
وارد شده
به Dielectric
را افزایش دهد.

Higher Voltage
→
Higher Electric Field
→
Greater Dielectric Stress

BTI چیست؟


Bias Temperature Instability

BTI
یکی از مکانیزم های
Aging ترانزیستور است
که تحت تاثیر
Bias،
Temperature
و Time
قرار دارد.

BTI
می تواند باعث تغییر
تدریجی برخی پارامترهای
Transistor شود.

یکی از مهم ترین
اثرهای آن
تغییر:

Threshold Voltage
=
Vth

است.

تغییر Threshold Voltage چرا مهم است؟

رفتار Switching
ترانزیستور
به Threshold Voltage
وابسته است.

اگر ویژگی های Transistor
به مرور تغییر کنند،
Delay
مسیرهای منطقی
نیز می تواند
تغییر کند.

Transistor Aging
→
Parameter Shift
→
Timing Change

NBTI و PBTI چیست؟

بسته به نوع
Transistor
و Technology،
BTI
می تواند در قالب هایی
مانند:

NBTI
=
Negative Bias Temperature Instability

و:

PBTI
=
Positive Bias Temperature Instability

بررسی شود.

اهمیت نسبی آنها
به Process Technology
و ساختار Transistor
بستگی دارد.

Hot Carrier Injection چیست؟


تزریق حامل های پرانرژی — Hot Carrier Injection

در شرایط خاص،
Carrierهایی مانند Electron
می توانند انرژی زیادی
در میدان الکتریکی
به دست آورند.

تعامل این Carrierهای
پرانرژی
با ساختار Transistor
می تواند در طول زمان
باعث Degradation شود.

High Electric Field
→
Energetic Carriers
→
Device Degradation
→
Parameter Shift

Aging چگونه می تواند روی سرعت مدار اثر بگذارد؟

CPU برای اجرای صحیح
در Frequency مشخص
باید عملیات منطقی
را در محدوده زمانی
تعیین شده
کامل کند.

اگر Aging
باعث کندتر شدن
بعضی Transistorها
یا مسیرها شود،
Delay
افزایش پیدا می کند.

Aging
→
Increased Path Delay
→
Reduced Timing Margin

چرا Critical Path در Aging مهم است؟

تمام مسیرهای CPU
Timing یکسانی ندارند.

بعضی مسیرها
از ابتدا
به Timing Limit
نزدیک تر هستند.

اگر Aging
Delay چنین مسیری
را افزایش دهد،
ممکن است Timing Margin
آن کاهش یابد.

بنابراین Reliability
فقط درباره
خراب شدن کامل
Transistor نیست.

تغییر کوچک
Performance Characteristics
نیز می تواند مهم باشد.

Guardband چیست؟


حاشیه اطمینان طراحی — Guardband

CPU
دقیقاً روی مرز
Failure طراحی نمی شود.

سازنده
حاشیه هایی
برای تغییرات:

  • Process،
  • Voltage،
  • Temperature،
  • Aging،
  • و Manufacturing Variation

در نظر می گیرد.

این Margin
کمک می کند
CPU نه فقط
در روز اول،
بلکه در طول
عمر طراحی شده
عملکرد صحیح
داشته باشد.

Initial Timing Margin
→
Aging Compensation
→
Long-Term Reliability

چرا دو CPU کاملاً هم مدل ممکن است رفتار متفاوتی داشته باشند؟

فرآیند ساخت Semiconductor
دارای Variation است.

دو Die
از یک مدل CPU
می توانند
تفاوت های بسیار کوچکی
در ویژگی های:

  • Leakage،
  • Voltage Requirement،
  • Frequency Capability،
  • Temperature Behavior،
  • و Reliability Margin

داشته باشند.

این تفاوت
یکی از ریشه های
اصطلاح غیررسمی:

Silicon Lottery

است.

Binning چه ارتباطی با Reliability دارد؟

سازنده
Dieهای تولید شده
را آزمایش می کند.

CPUها بر اساس
توانایی دستیابی
به Frequency،
Voltage Requirement،
Power،
فعال بودن بخش ها
و معیارهای دیگر
می توانند
در Product Binهای مختلف
قرار بگیرند.

بنابراین Frequency Rating
فقط یک عدد
دلخواه نیست.

باید در محدوده
Reliability و Specification
محصول قرار گیرد.

چرا Voltage بالا یکی از عوامل مهم فرسودگی CPU است؟

افزایش Voltage
فقط Power
را افزایش نمی دهد.

Voltage بالاتر
می تواند:

  • Electric Field را افزایش دهد،
  • Current را در بسیاری از شرایط افزایش دهد،
  • Temperature را افزایش دهد،
  • و Stress الکتریکی Device را بیشتر کند.

بنابراین Voltage
از چند مسیر مختلف
می تواند
روی Reliability
اثر بگذارد.

نکته مهندسی — Engineering Insight: Voltage و Temperature را نمی توان کاملاً جدا از هم تحلیل کرد

افزایش Voltage
می تواند Power
را بالا ببرد.

Power بیشتر
معمولاً Temperature
را افزایش می دهد.

Temperature بالاتر
نیز می تواند
بعضی Aging Mechanismها
را تسریع کند.

Higher Voltage
→
Higher Power
→
Higher Temperature
→
Faster Aging Mechanisms

علاوه بر این،
Voltage بالا
خودش نیز
Electric Stress
را افزایش می دهد.

Overvolting چیست؟

Overvolting
یعنی اعمال Voltage
بالاتر از تنظیم
معمول یا استاندارد
برای Operating Point
مورد نظر.

این کار
گاهی برای دستیابی
به Frequency بالاتر
در Overclocking
انجام می شود.

اما Voltage بیشتر
می تواند Reliability Margin
را کاهش دهد.

اشتباه رایج — Common Mistake: تا وقتی دمای CPU پایین باشد هر مقدار Voltage امن است

خیر.

Cooling خوب
می تواند Temperature
را کاهش دهد،
اما Electric Field
ایجاد شده توسط
Voltage بالا
همچنان وجود دارد.

بنابراین Temperature مناسب
به تنهایی
تضمین نمی کند
که Voltage
برای Reliability بلندمدت
مناسب است.

Low Temperature
≠
Unlimited Safe Voltage

آیا Overclocking عمر CPU را کم می کند؟

پاسخ
به نحوه Overclock
بستگی دارد.

افزایش Frequency
معمولاً برای حفظ Stability
ممکن است نیازمند
Voltage بیشتر باشد.

در نتیجه:

Higher Frequency
→
Potentially Higher Voltage
→
Higher Power / Temperature / Electrical Stress

این شرایط
می توانند Aging Rate
را افزایش دهند.

میزان واقعی اثر
به Voltage،
Temperature،
Workload،
Process Technology
و مدت استفاده
بستگی دارد.

آیا CPU در تنظیمات کارخانه هم فرسوده می شود؟

بله،
Aging Process
حتی در شرایط استاندارد
کاملاً صفر نیست.

اما CPU
با در نظر گرفتن
Reliability Target
طراحی می شود.

Voltage،
Frequency،
Temperature Limit
و Guardbandها
طوری انتخاب می شوند
که پردازنده
در شرایط تعریف شده
عمر عملی مناسبی
داشته باشد.

آیا CPU با گذشت چند سال کندتر می شود؟

این سوال
نیازمند تفکیک
دو مفهوم است:

Physical Aging

و:

Observed System Performance

CPU می تواند
از نظر فیزیکی
Aging داشته باشد،
اما این موضوع
به این معنی نیست
که Frequency اسمی آن
هر سال مثلاً
چند درصد کم شود.

پس چرا یک کامپیوتر قدیمی ممکن است کندتر احساس شود؟

عوامل زیادی
می توانند باعث شوند
یک سیستم قدیمی
کندتر به نظر برسد،
بدون اینکه CPU
مستقیماً کند شده باشد.

برای مثال:

  • سنگین تر شدن Software،
  • افزایش Background Processها،
  • تغییر سیستم عامل،
  • Cooling ضعیف تر،
  • Dust،
  • Thermal Throttling،
  • و تغییر Power Management.

بنابراین احساس
«CPU پیر شده و کند شده»
اغلب نیازمند
بررسی دقیق تر است.

Aging شدید CPU چه علائمی می تواند ایجاد کند؟

اگر Reliability Margin
به اندازه کافی
کاهش پیدا کند،
ممکن است مشکلاتی
مانند:

  • Instability تحت Load،
  • خطا در Frequencyهای بالا،
  • نیاز به Voltage بیشتر برای Stability،
  • Crash،
  • یا در نهایت Failure سخت افزاری

مشاهده شوند.

البته این علائم
اختصاصی CPU Aging نیستند
و می توانند
دلایل دیگری نیز
داشته باشند.

اصطلاح CPU Degradation یعنی چه؟

در میان کاربران
Overclocking،
اصطلاح:

CPU Degradation

معمولاً زمانی استفاده می شود
که پردازنده
برای حفظ همان Frequency
دیگر با Voltage قبلی
Stable نباشد.

برای مثال:

New CPU:
5.0 GHz @ Voltage X

After Heavy Stress:
5.0 GHz Requires Voltage X + ΔV

چنین رفتاری
می تواند با
کاهش Margin
سازگار باشد،
اما برای اثبات
علت فیزیکی دقیق
نیاز به بررسی
بسیار بیشتری وجود دارد.

آیا بعضی اثرهای Aging قابل بازیابی هستند؟

بعضی پدیده های
Device Aging
می توانند
مولفه ای از Recovery
داشته باشند.

برای مثال
بخشی از اثر BTI
می تواند پس از
حذف Stress
تا حدی تغییر کند.

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

Electromigration Damage
یا Breakdown فیزیکی
ماهیت متفاوتی دارند.

Duty Cycle چه تاثیری روی فرسودگی دارد؟

CPU
همیشه در Maximum Load
نیست.

مقدار زمانی
که یک بخش
تحت Stress
قرار دارد
روی Aging
اهمیت دارد.

Stress Magnitude
+
Stress Duration
→
Aging Impact

بنابراین CPU
که دائماً
تحت Workload سنگین
کار می کند
شرایط متفاوتی
از CPU
با استفاده سبک
دارد.

چرا Reliability در CPUهای سرور اهمیت ویژه ای دارد؟

Server CPU
ممکن است
برای مدت های طولانی
تحت Load
و به صورت:

24 / 7

کار کند.

علاوه بر Performance،
Availability
و Reliability
در این محیط ها
اهمیت بسیار زیادی دارند.

به همین دلیل
Voltage،
Power،
Thermal Design
و Error Management
بخشی مهم از
طراحی Platformهای Server
هستند.

شرایط Aging در پردازنده لپ تاپ چگونه است؟

Laptop CPU
معمولاً با
Power Management
بسیار پویا
کار می کند.

Frequency،
Voltage
و Temperature
دائماً تغییر می کنند.

طراحی سازنده
باید Reliability
را در همین
Operating Profile
در نظر بگیرد.

Temperature بالای لحظه ای
الزاماً به معنی
کاهش شدید عمر CPU نیست.

Duration،
Voltage
و Thermal Control
نیز اهمیت دارند.

دمای بالا برای چند ثانیه بدتر است یا دمای کمتر برای چند سال؟

Reliability
تابع فقط یک
Peak Temperature
نیست.

Aging Mechanismها
به:

Stress Level
×
Exposure Time

وابسته هستند.

بنابراین برای
تحلیل Reliability
باید هم شدت Stress
و هم مدت آن
در نظر گرفته شود.

Thermal Cycling چگونه روی CPU اثر می گذارد؟

اجزای مختلف
CPU Package
از مواد متفاوتی
ساخته شده اند.

این مواد
هنگام گرم و سرد شدن
به میزان یکسان
منبسط و منقبض
نمی شوند.

تکرار چرخه های:

Cold
→
Hot
→
Cold

می تواند
Mechanical Stress
در Interfaceها
و اتصال های Package
ایجاد کند.

CTE چیست؟

CTE
مخفف:

Coefficient of Thermal Expansion

است.

مواد مختلف
CTE متفاوتی دارند.

اختلاف CTE
میان مواد مختلف
Package
یکی از دلایل
ایجاد Mechanical Stress
در Thermal Cycling
است.

سازنده چگونه CPU را برای چندین سال کار طراحی می کند؟

Reliability
از مرحله طراحی
در نظر گرفته می شود.

سازنده می تواند
از روش هایی مانند:

  • Voltage Guardband،
  • Timing Margin،
  • Current Density Limit،
  • Thermal Limit،
  • Power Management،
  • Material Engineering،
  • Design Rule،
  • و Reliability Testing

استفاده کند.

Accelerated Life Testing چیست؟

سازنده نمی تواند
برای بررسی هر طراحی
ده ها سال
منتظر بماند.

بنابراین از
Accelerated Stress Test
استفاده می شود.

Device
تحت شرایط
شدیدتر کنترل شده
قرار می گیرد
تا Aging Mechanismها
سریع تر ظاهر شوند.

Higher Controlled Stress
→
Accelerated Aging
→
Reliability Modeling

مدل Arrhenius چه ارتباطی با Reliability دارد؟

بسیاری از
فرآیندهای Aging
وابستگی شدیدی
به Temperature دارند.

در Reliability Engineering
از مدل های
مبتنی بر:

Arrhenius Relationship

برای مدل سازی
اثر Temperature
بر سرعت بعضی
Failure Mechanismها
استفاده می شود.

نکته اصلی
این است که
رابطه Aging
با Temperature
معمولاً ساده
و خطی نیست.

اشتباه رایج — Common Mistake: هر 10 درجه افزایش دما دقیقاً عمر CPU را نصف می کند

این جمله
یک قانون دقیق
و عمومی
برای تمام CPUها نیست.

Temperature
می تواند Aging Rate
را به شدت
تحت تاثیر قرار دهد،
اما مقدار دقیق
به Failure Mechanism،
Activation Energy،
Process Technology
و شرایط Device
وابسته است.

بنابراین نمی توان
یک ضریب ثابت
را برای تمام
پردازنده ها
اعمال کرد.

چرا نمی توان عمر دقیق یک CPU را پیش بینی کرد؟

Reliability
ماهیت آماری دارد.

Variation
در Manufacturing،
Workload،
Temperature،
Voltage،
Operating Time
و شرایط محیطی
باعث می شود
عمر دقیق
هر Device
متفاوت باشد.

بنابراین معمولاً
درباره:

Failure Probability

و:

Reliability Distribution

صحبت می شود،
نه تاریخ دقیق
خرابی یک CPU.

Bathtub Curve چیست؟

در Reliability Engineering
یک مدل مفهومی معروف
برای نرخ Failure
در طول عمر محصول
وجود دارد.

این مدل
معمولاً سه ناحیه
را نشان می دهد:

Early Failures
→
Useful Life
→
Wear-Out Failures

شکل کلی این نمودار
شبیه مقطع یک وان است
و به همین دلیل:

Bathtub Curve

نامیده می شود.

Infant Mortality در قطعات الکترونیکی چیست؟

بعضی Deviceها
ممکن است به دلیل
Defectهای ساخت
در ابتدای عمر
احتمال Failure
بیشتری داشته باشند.

این بخش
از Reliability Curve
با اصطلاح:

Infant Mortality

شناخته می شود.

این مفهوم
با Aging طبیعی
در انتهای عمر
متفاوت است.

Useful Life چیست؟

پس از عبور
از Failureهای اولیه،
محصول معمولاً
وارد دوره ای می شود
که Failure Rate
نسبتاً پایین تر
و پایدارتر است.

این دوره:

Useful Life

نامیده می شود.

Wear-Out Phase چیست؟

با گذشت زمان زیاد،
Aging Mechanismها
می توانند تجمع پیدا کنند.

در این مرحله
احتمال Failure
می تواند افزایش یابد.

Long-Term Aging
→
Accumulated Degradation
→
Increased Failure Probability

آیا CPU استوک یا کارکرده الزاماً عمر کمی دارد؟

خیر.

فقط از روی
کارکرده بودن CPU
نمی توان میزان
Silicon Aging
آن را تعیین کرد.

شرایط استفاده قبلی
اهمیت زیادی دارد:

  • Operating Voltage،
  • Temperature،
  • مدت کار،
  • نوع Workload،
  • Overclocking احتمالی،
  • و Cooling.

یک CPU
که سال ها
در محدوده استاندارد
کار کرده است
می تواند همچنان
Reliability مناسبی
داشته باشد.

نکته مهندسی — Engineering Insight: سن تقویمی CPU با میزان فرسودگی آن یکسان نیست

دو CPU
که هر دو
پنج سال عمر دارند
ممکن است
Stress History
کاملاً متفاوتی
داشته باشند.

یکی ممکن است
بیشتر عمر خود
در Idle
و Voltage پایین
بوده باشد.

دیگری ممکن است
سال ها
با Overvoltage
و Load سنگین
کار کرده باشد.

Calendar Age
≠
Electrical Stress History

برای بررسی سلامت CPU کارکرده چه چیزهایی مهم ترند؟

از آنجا که
Silicon Aging
را نمی توان
فقط با نگاه کردن
به CPU تعیین کرد،
بررسی عملی
اهمیت زیادی دارد.

موارد مهم شامل:

  • Stability تحت Load،
  • عملکرد در Frequency استاندارد،
  • Temperature Behavior،
  • عدم وجود Error،
  • رفتار صحیح Boost،
  • و عملکرد پایدار در تست طولانی

هستند.

تاثیر بر عملکرد — Performance Impact: Aging معمولاً به شکل کاهش تدریجی و مستقیم سرعت اسمی CPU دیده نمی شود

اگر CPU
هنوز در محدوده
Timing و Voltage
طراحی شده
کار کند،
همان Instructionها
را با همان
Clock Frequency
اجرا می کند.

بنابراین یک CPU
صرفاً به دلیل
چند سال کار کردن
الزاماً مثلاً
10 درصد کندتر
نمی شود.

اثر Aging
زمانی مهم تر می شود
که Marginها
آن قدر کاهش پیدا کنند
که Stability
یا Frequency Capability
تحت تاثیر
قرار گیرد.

Aging
≠
Automatic Yearly Performance Loss

CPU چگونه از خودش در برابر Aging سریع محافظت می کند؟

مکانیزم های مختلفی
که در فصل های قبل
بررسی کردیم،
فقط برای کاهش مصرف
یا جلوگیری از
Overheating نیستند.

کنترل:

  • Voltage،
  • Frequency،
  • Current،
  • Power،
  • Temperature،
  • و Boost Duration

به حفظ Reliability
نیز کمک می کند.

آیا Turbo Boost به CPU آسیب می زند؟

استفاده از
Boost Algorithm
استاندارد پردازنده
به خودی خود
به معنی استفاده
خارج از طراحی نیست.

CPU
محدودیت های مختلف
Thermal،
Electrical
و Power
را برای Boost
در نظر می گیرد.

بنابراین نباید
Turbo استاندارد
را با Overvolting
کنترل نشده
یکسان دانست.

آیا کار کردن CPU نزدیک محدودیت حرارتی همیشه خطرناک است؟

باید میان
Operating Specification
و Reliability Margin
تفاوت قائل شد.

اگر CPU
طبق طراحی سازنده
در محدوده مجاز
کار کند،
Thermal Management
برای همین شرایط
طراحی شده است.

اما Temperature کمتر
در شرایط یکسان
معمولاً Stress حرارتی
کمتری ایجاد می کند.

نکته مهم
این است که
Temperature
باید همراه Voltage،
Power
و Duration
تحلیل شود.

یک ولتاژ امن برای همه CPUها وجود دارد؟

خیر.

Voltage مناسب
به:

  • Microarchitecture،
  • Process Node،
  • Transistor Technology،
  • CPU Model،
  • Operating Frequency،
  • Temperature،
  • و Reliability Specification

بستگی دارد.

بنابراین یک
Voltage Number
را نمی توان
بدون توجه به مدل CPU
به عنوان
«ولتاژ امن عمومی»
معرفی کرد.

اشتباهات رایج — Common Mistakes: عمر و فرسودگی CPU
  • فرض اینکه CPU چون قطعه متحرک ندارد اصلاً فرسوده نمی شود.
  • فرض اینکه Aging یعنی CPU هر سال مقداری کندتر می شود.
  • نادیده گرفتن Electromigration.
  • نادیده گرفتن Current Density.
  • فرض اینکه فقط Temperature روی عمر CPU اثر دارد.
  • نادیده گرفتن Electric Field و Voltage.
  • فرض اینکه Cooling قوی هر Voltage بالایی را امن می کند.
  • فرض اینکه تمام اثرهای Aging قابل بازیابی هستند.
  • برابر دانستن Calendar Age با Stress History.
  • فرض اینکه هر CPU کارکرده فرسوده است.
  • فرض اینکه Turbo استاندارد همان Overclocking شدید است.
  • استفاده از یک Safe Voltage ثابت برای تمام CPUها.
  • فرض اینکه هر 10 درجه افزایش Temperature دقیقاً عمر CPU را نصف می کند.
  • نادیده گرفتن Timing Margin و Guardband.
  • قضاوت درباره Reliability فقط از روی Peak Temperature.

سوالات متداول درباره عمر و فرسودگی CPU

آیا CPU با گذشت زمان فرسوده می شود؟

بله.
Semiconductor Deviceها
دارای Aging Mechanismهای
فیزیکی و الکتریکی هستند،
هرچند این فرآیند
در شرایط استاندارد
معمولاً بسیار آهسته است.

Electromigration چیست؟

جابه جایی تدریجی
Atomهای مسیرهای فلزی
تحت تاثیر
Current Density
و Temperature
در طول زمان است.

آیا دمای بالا عمر CPU را کم می کند؟

Temperature
می تواند بسیاری از
Aging Mechanismها
را تسریع کند،
اما میزان اثر
به شرایط دیگر
مانند Voltage،
Current
و Duration
نیز وابسته است.

آیا Voltage بالا خطرناک تر از Temperature بالا است؟

نمی توان این دو
را کاملاً مستقل
رتبه بندی کرد.
Voltage بالا
Electric Stress
را افزایش می دهد
و معمولاً Power
و Temperature
را نیز بالا می برد.

آیا CPU بعد از چند سال کند می شود؟

Aging
الزاماً باعث کاهش
مستقیم Clock Speed
در هر سال نمی شود.
تا زمانی که CPU
Timing Margin کافی
داشته باشد،
می تواند همان Frequency
تعریف شده را حفظ کند.

CPU Degradation چیست؟

اصطلاحی است
که معمولاً برای
کاهش Stability Margin
پردازنده در طول زمان
استفاده می شود.

آیا Overclocking عمر CPU را کم می کند؟

اگر باعث افزایش قابل توجه
Voltage،
Temperature
و Electrical Stress شود،
می تواند Aging Rate
را افزایش دهد.

آیا CPU استوک می تواند سالم باشد؟

بله.
کارکرده بودن
به تنهایی
میزان Aging را مشخص نمی کند.
Stability،
شرایط استفاده قبلی
و عملکرد واقعی
اهمیت بیشتری دارند.

آیا خنک نگه داشتن CPU عمر آن را بیشتر می کند؟

Temperature کمتر
در شرایط الکتریکی مشابه
می تواند Stress
برخی Aging Mechanismها
را کاهش دهد،
اما Voltage
و Current
همچنان مهم هستند.

آیا Turbo Boost برای CPU مضر است؟

Boost استاندارد
بخشی از طراحی CPU است
و با محدودیت های
Thermal و Electrical
خود پردازنده
مدیریت می شود.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Silicon Aging: تغییر تدریجی ویژگی های الکتریکی و فیزیکی Device در طول زمان.
  • Reliability: توانایی حفظ عملکرد صحیح در شرایط و عمر طراحی شده.
  • Electromigration: جابه جایی Atomهای مسیر فلزی تحت تاثیر جریان.
  • Current Density: مقدار جریان نسبت به سطح مقطع مسیر.
  • Void: ناحیه کاهش ماده در Interconnect.
  • Hillock: تجمع ماده در اثر جابه جایی Atomها.
  • MTTF: Mean Time To Failure.
  • TDDB: Time-Dependent Dielectric Breakdown.
  • BTI: Bias Temperature Instability.
  • NBTI: Negative Bias Temperature Instability.
  • PBTI: Positive Bias Temperature Instability.
  • HCI: Hot Carrier Injection.
  • Threshold Voltage: ولتاژ آستانه Transistor.
  • Guardband: حاشیه اطمینان طراحی.
  • CPU Degradation: کاهش تدریجی Margin الکتریکی یا Timing پردازنده.
  • Duty Cycle: نسبت زمان قرار داشتن Device در وضعیت مشخص.
  • CTE: Coefficient of Thermal Expansion.
  • Accelerated Life Testing: آزمون تسریع شده برای مدل سازی Aging.
  • Bathtub Curve: مدل مفهومی تغییر Failure Rate در طول عمر.
  • Infant Mortality: Failureهای اولیه ناشی از Defectهای اولیه.
  • Useful Life: دوره عملکرد معمول با Failure Rate نسبتاً پایین.
  • Wear-Out: مرحله افزایش Failure ناشی از تجمع Aging.

خلاصه فصل

CPU
با وجود نداشتن
قطعات مکانیکی متحرک،
کاملاً بدون
فرسودگی نیست.

Transistorها،
Dielectricها
و Interconnectهای داخلی
تحت تاثیر:

Voltage
+
Current Density
+
Temperature
+
Time

قرار دارند.

Electromigration
می تواند
مسیرهای فلزی
را در طول زمان
تحت تاثیر قرار دهد.

TDDB،
BTI
و HCI
نیز نمونه هایی
از مکانیزم های مهم
Device Aging
هستند.

این Aging
می تواند
ویژگی های Transistor
و Delay مسیرها
را تغییر دهد
و Timing Margin
را کاهش دهد.

سازنده با استفاده از
Guardband،
Power Management،
Thermal Limit
و Reliability Testing
تلاش می کند
CPU در طول
عمر طراحی شده
عملکرد صحیح
خود را حفظ کند.

همچنین CPU
صرفاً به دلیل
چند سال کار کردن
الزاماً به شکل
تدریجی و محسوس
کندتر نمی شود.


برای بررسی عمر پردازنده، سن تقویمی به تنهایی معیار خوبی نیست؛
تاریخچه واقعی Voltage، Temperature، Current، Workload
و مدت قرار گرفتن تراشه تحت Stress اهمیت بسیار بیشتری دارد.


فصل 93
سطح: متوسط تا پیشرفته
موضوع: ساخت، تست و دسته بندی پردازنده
تمرکز: Wafer / Die / Defect / Yield / Testing / Binning / SKU


همه تراشه هایی که روی یک Wafer ساخته می شوند الزاماً کیفیت، توان مصرفی و قابلیت فرکانسی یکسانی ندارند

CPU چگونه ساخته و آزمایش می شود و Binning چگونه مدل نهایی پردازنده را تعیین می کند؟

وقتی مشخصات دو پردازنده
از یک خانواده
را مقایسه می کنیم،
ممکن است معماری،
تعداد Transistorها
یا حتی طراحی پایه آنها
بسیار شبیه باشد،
اما مشخصات نهایی
متفاوتی داشته باشند.

یکی Frequency بالاتری دارد،
دیگری Core کمتری دارد،
یکی Power بیشتری مصرف می کند
و دیگری با Voltage پایین تر
کار می کند.

بخشی از پاسخ
در فرآیند ساخت
Semiconductor
و مرحله ای به نام:

Binning

قرار دارد.

اما Binning
فقط پیدا کردن
«تراشه خوب و بد»
نیست.

برای درک آن
ابتدا باید بدانیم
Wafer چیست،
Die چگونه ساخته می شود،
Defect چگونه روی Yield
اثر می گذارد
و CPUها چگونه
قبل از فروش
آزمایش می شوند.

در این فصل چه چیزهایی یاد می گیریم؟

  • Wafer چیست.
  • Die چیست.
  • چگونه تعداد زیادی CPU روی یک Wafer ساخته می شوند.
  • Photolithography چه نقشی در ساخت تراشه دارد.
  • Process Step چیست.
  • Defect چیست.
  • Defect Density چیست.
  • Yield چیست.
  • چرا اندازه Die روی Yield اثر دارد.
  • Die Per Wafer چیست.
  • Wafer Sort چیست.
  • Known Good Die چیست.
  • Packaging چه زمانی انجام می شود.
  • Final Test چیست.
  • Binning چیست.
  • Frequency Bin چیست.
  • Voltage Bin چیست.
  • Power Bin چیست.
  • Core Harvesting چیست.
  • چرا بعضی Coreها یا Cacheها غیرفعال می شوند.
  • SKU چیست.
  • آیا Core i3 و Core i7 همیشه Silicon متفاوتی دارند.
  • آیا Ryzen 5 و Ryzen 7 الزاماً Die متفاوتی دارند.
  • چرا دو CPU هم مدل می توانند Overclocking متفاوتی داشته باشند.

Wafer چیست؟


ویفر سیلیکونی — Silicon Wafer

Wafer
یک صفحه بسیار نازک
از ماده Semiconductor
است که تعداد زیادی
تراشه روی سطح آن
به صورت همزمان
ساخته می شوند.

در بسیاری از
فرآیندهای ساخت
پردازنده های مدرن،
ماده پایه
Silicon است.

به جای اینکه
هر CPU
جداگانه ساخته شود،
تعداد زیادی نسخه
از یک یا چند طراحی
روی Wafer
پردازش می شوند.

Silicon Wafer
→
Many Dies
→
Testing
→
Packaging
→
CPUs

Die چیست؟

هر بخش مستقل
از Wafer
که شامل مدار
یک تراشه است،
پس از جداسازی
می تواند یک:

Die

باشد.

Die
همان قطعه کوچک
Semiconductor است
که Transistorها،
Interconnectها
و بخش های مختلف
طراحی CPU
روی آن ساخته شده اند.

Die با CPU کامل چه تفاوتی دارد؟

Die
لزوماً همان چیزی نیست
که کاربر هنگام خرید
CPU مشاهده می کند.

تراشه پس از ساخت
باید مراحل دیگری
مانند:

  • Testing،
  • Dicing،
  • Packaging،
  • Electrical Connection،
  • و Final Validation

را پشت سر بگذارد.

Die
≠
Complete CPU Package

Fab چیست؟

کارخانه ای که
Waferهای Semiconductor
در آن پردازش می شوند
معمولاً:

Semiconductor Fabrication Facility

یا به اختصار:

Fab

نامیده می شود.

ساخت یک CPU مدرن
شامل تعداد بسیار زیادی
Process Step
با دقت بسیار بالا است.

Photolithography چه نقشی در ساخت CPU دارد؟

Photolithography
یکی از فرآیندهای اساسی
ساخت Integrated Circuit
است.

به صورت مفهومی،
Patternهای طراحی شده
روی لایه های Wafer
منتقل می شوند
تا ساختارهای مورد نیاز
ایجاد شوند.

Circuit Pattern
→
Lithography
→
Pattern Transfer
→
Semiconductor Structures

اشتباه رایج — Common Mistake: CPU مثل یک تصویر در یک مرحله روی Wafer چاپ می شود

خیر.

ساخت تراشه
مجموعه ای پیچیده
از مراحل متعدد
Lithography،
Deposition،
Etching،
Implantation،
Cleaning
و فرآیندهای دیگر است.

ساخت لایه های مختلف
به صورت مرحله ای
انجام می شود.

چرا CPU لایه های زیادی دارد؟

ساخت CPU
فقط ایجاد Transistor
نیست.

میلیاردها Transistor
باید از طریق
شبکه پیچیده ای
از مسیرهای فلزی
به یکدیگر
متصل شوند.

بنابراین تراشه
دارای لایه های مختلف
Device
و Interconnect
است.

Transistors
+
Contacts
+
Vias
+
Metal Layers
=
Functional Integrated Circuit

Defect چیست؟


نقص ساخت — Manufacturing Defect

Defect
به یک نقص فیزیکی
یا فرآیندی
گفته می شود
که می تواند
عملکرد بخشی از
تراشه را مختل کند.

فرآیند ساخت
Semiconductor
در مقیاس بسیار کوچک
انجام می شود.

حتی با کنترل بسیار دقیق،
احتمال ایجاد
Defect
کاملاً صفر نیست.

Defect Density چیست؟

یکی از معیارهای مهم
فرآیند تولید:

Defect Density

است.

این مفهوم
به میزان Defectها
نسبت به مساحت
فرآیند شده
مربوط می شود.

کاهش Defect Density
یکی از اهداف مهم
بلوغ یک Process Node
است.

Yield چیست؟


بازده تولید — Manufacturing Yield

Yield
به صورت ساده
نشان می دهد
چه نسبتی از
Dieهای تولید شده
شرایط لازم
برای استفاده
را دارند.

Yield
≈
Usable Dies
/
Manufactured Dies

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

آیا تمام Dieهای یک Wafer سالم هستند؟

الزاماً خیر.

بعضی Dieها
ممکن است کاملاً سالم باشند.

بعضی ممکن است
فقط در یک بخش
Defect داشته باشند.

بعضی نیز ممکن است
اصلاً قابل استفاده
نباشند.

Wafer
→
Fully Functional Dies
+
Partially Functional Dies
+
Unusable Dies

چرا اندازه Die روی Yield اثر دارد؟

اگر Die
مساحت بیشتری
داشته باشد،
بخش بزرگ تری
از Wafer
را اشغال می کند.

در یک مدل ساده،
هرچه مساحت Die
بیشتر شود،
احتمال اینکه
یک Defect
در محدوده آن
قرار گیرد
نیز افزایش پیدا می کند.

Larger Die Area
→
Greater Defect Exposure
→
Potentially Lower Yield

Die Per Wafer چیست؟

اندازه Die
روی تعداد تراشه هایی
که می توان
از یک Wafer
تولید کرد
نیز اثر دارد.

به صورت کلی:

Smaller Die
→
More Potential Dies per Wafer

اما محاسبه واقعی
فقط تقسیم مساحت Wafer
بر مساحت Die نیست.

شکل دایره ای Wafer،
Dieهای ناقص لبه
و عوامل دیگر
نیز باید
در نظر گرفته شوند.

نکته مهندسی — Engineering Insight: Die بزرگ از دو جهت می تواند گران تر باشد

اول اینکه
تعداد کمتری Die
روی یک Wafer
جا می گیرد.

دوم اینکه
Die بزرگ تر
می تواند احتمال
برخورد با Defect
بیشتری داشته باشد.

Larger Die
→
Fewer Dies per Wafer
+
Potentially Lower Yield

به همین دلیل
Die Area
یکی از عوامل مهم
اقتصاد ساخت
پردازنده است.

چرا Yield یک Process جدید معمولاً با زمان بهتر می شود؟

با ادامه تولید،
سازنده می تواند
Process
را بهتر کنترل کند.

مشکلات شناسایی می شوند،
تجهیزات تنظیم می شوند
و Defect Density
ممکن است کاهش یابد.

به این روند
معمولاً:

Process Maturity

گفته می شود.

Wafer Sort چیست؟

قبل از اینکه
تمام Dieها
بسته بندی شوند،
می توان آنها را
روی Wafer
آزمایش کرد.

این مرحله
معمولاً با مفاهیمی
مانند:

Wafer Test
/
Wafer Sort
/
Probe Test

مرتبط است.

هدف این است
که وضعیت اولیه
Dieها
قبل از مراحل
بعدی تولید
مشخص شود.

Probe چگونه Die را آزمایش می کند؟

تجهیزات تست
می توانند از طریق
Contactهای مخصوص
با Die
ارتباط الکتریکی
برقرار کنند.

سپس Test Patternها
اجرا می شوند
تا عملکرد بخش های مختلف
بررسی شود.

Probe
→
Electrical Test
→
Die Classification

Known Good Die چیست؟

Dieای که
تست های لازم
را با موفقیت
پشت سر گذاشته باشد،
می تواند به عنوان:

Known Good Die
=
KGD

در نظر گرفته شود.

این موضوع
به ویژه در طراحی های
Multi-Die
اهمیت زیادی دارد.

چرا Known Good Die در پردازنده های Chiplet مهم است؟

فرض کنید
یک Package
از چند Die
تشکیل شده باشد.

اگر یکی از Dieها
خراب باشد،
ممکن است کل Assembly
تحت تاثیر
قرار گیرد.

بنابراین شناسایی
Dieهای مناسب
پیش از Packaging
می تواند اهمیت
اقتصادی زیادی داشته باشد.

Tested Good Dies
→
Multi-Die Assembly
→
Better Packaging Efficiency

Dicing چیست؟

پس از مراحل
مورد نیاز،
Wafer
به Dieهای مجزا
تقسیم می شود.

این فرآیند:

Wafer Dicing

نامیده می شود.

Packaging چیست؟

Die
باید به ساختاری
تبدیل شود
که بتواند:

  • به Motherboard متصل شود،
  • Power دریافت کند،
  • Signalها را منتقل کند،
  • Heat را مدیریت کند،
  • و از Die محافظت کند.

این مجموعه
بخشی از نقش:

CPU Package

است.

اشتباه رایج — Common Mistake: Package یعنی جعبه فروش CPU

خیر.

در Semiconductor،
Package
به ساختار فیزیکی
اطراف و زیر Die
و اتصال آن
به Platform
اشاره دارد.

Semiconductor Package
≠
Retail Box

Final Test چیست؟

بعد از Packaging
نیز پردازنده
می تواند تحت
مجموعه ای از تست ها
قرار گیرد.

هدف فقط بررسی
روشن شدن CPU
نیست.

پارامترهای مختلف
عملکردی و الکتریکی
می توانند بررسی شوند.

چه چیزهایی در CPU آزمایش می شوند؟

بسته به محصول
و سازنده،
تست ها می توانند
شامل بررسی:

  • Functional Correctness،
  • Core Functionality،
  • Cache Functionality،
  • Frequency Capability،
  • Voltage Behavior،
  • Leakage،
  • Power Characteristics،
  • Interface Functionality،
  • و Thermal Behavior

باشند.

Binning چیست؟


دسته بندی تراشه ها بر اساس ویژگی های واقعی آنها — Binning

پس از تست،
Dieها یا CPUها
می توانند بر اساس
ویژگی های واقعی
اندازه گیری شده
در گروه های مختلف
قرار بگیرند.

این فرآیند
به طور کلی
Binning
نامیده می شود.

چرا Binning لازم است؟

تمام Dieهای سالم
الزاماً ویژگی های
الکتریکی کاملاً یکسانی
ندارند.

Manufacturing Variation
باعث می شود
بعضی Dieها:

  • Frequency بالاتری را تحمل کنند،
  • برای Frequency مشخص Voltage کمتری بخواهند،
  • Leakage کمتری داشته باشند،
  • Power Characteristics متفاوتی داشته باشند،
  • یا بخش های فعال متفاوتی داشته باشند.

Frequency Binning چیست؟

بعضی Dieها
می توانند Frequency بالاتر
را در محدوده
Voltage،
Power،
Temperature
و Reliability
مورد نظر
حفظ کنند.

چنین Dieهایی
می توانند
برای Product Binهای
با Clock بالاتر
مناسب باشند.

Better Frequency Capability
→
Potential Higher Frequency Bin

Voltage Binning چیست؟

دو CPU
ممکن است
برای Frequency یکسان
Voltage Requirement
متفاوتی داشته باشند.

Dieای که
با Voltage کمتر
بتواند Operating Point
مورد نظر را
پایدار نگه دارد،
می تواند ویژگی های
Power و Efficiency
مطلوب تری داشته باشد.

Leakage چه نقشی در Binning دارد؟

Transistorها
حتی در شرایطی
که Switching کامل
انجام نمی دهند،
می توانند
Leakage Current
داشته باشند.

Manufacturing Variation
می تواند باعث شود
Leakage
بین Dieهای مختلف
متفاوت باشد.

Leakage
روی Power،
Temperature
و رفتار کلی CPU
اثر دارد.

اصطلاح Fast Silicon و Slow Silicon یعنی چه؟

در توضیح ساده
Process Variation،
گاهی از اصطلاحاتی
مانند:

Fast Silicon

و:

Slow Silicon

استفاده می شود.

این اصطلاحات
به تفاوت ویژگی های
Deviceها
در اثر Process Variation
اشاره دارند.

اما Faster
الزاماً در تمام معیارها
بهتر نیست.

نکته مهندسی — Engineering Insight: سریع ترین Silicon الزاماً کم مصرف ترین Silicon نیست

بعضی Process Cornerها
می توانند Switching
سریع تری داشته باشند
اما در مقابل
Leakage بیشتری
نیز ایجاد کنند.

بنابراین انتخاب
یک Bin
فقط بر اساس
Maximum Frequency
انجام نمی شود.

Frequency
+
Voltage
+
Leakage
+
Power
+
Reliability
→
Product Qualification

اگر فقط یک Core خراب باشد چه می شود؟

این موضوع
به طراحی CPU
و سیاست سازنده
بستگی دارد.

در بعضی طراحی ها،
اگر بخشی از Die
قابل غیرفعال شدن باشد،
ممکن است بخش معیوب
Disable شود
و تراشه در
Product Configuration دیگری
استفاده شود.

Core Harvesting چیست؟


استفاده از تراشه با غیرفعال کردن بخش هایی از آن

اگر طراحی اجازه دهد،
بخشی از CPU
می تواند غیرفعال شود
و Die
با Configuration
کوچک تری
به عنوان یک محصول
قابل استفاده باشد.

این مفهوم
گاهی:

Die Harvesting
/
Core Harvesting

نامیده می شود.

برای مثال مفهومی،
فرض کنید یک Die
دارای 8 Core
فیزیکی باشد.

اگر طراحی اجازه دهد
و یک Core
قابل استفاده نباشد،
ممکن است برخی Coreها
Disable شوند
و محصول نهایی
با تعداد Core کمتری
عرضه شود.

8-Core Physical Design
→
Some Cores Disabled
→
Lower-Core Product

این فقط
یک مثال مفهومی است
و نباید برای
تمام خانواده های CPU
به صورت عمومی
فرض شود.

آیا فقط Coreهای خراب غیرفعال می شوند؟

خیر.

این نکته
بسیار مهم است.

Product Segmentation
فقط بر اساس Defect
انجام نمی شود.

سازنده ممکن است
بخش های کاملاً سالم
یک Die
را نیز برای ساخت
SKU مشخص
غیرفعال کند.

Disabled Unit
≠
Necessarily Defective Unit

چرا سازنده یک Core سالم را غیرفعال می کند؟

تولید CPU
فقط یک مسئله
مهندسی نیست.

Product Portfolio
باید مدل های مختلفی
برای بازارهای متفاوت
داشته باشد.

بنابراین عواملی مانند:

  • تقاضای بازار،
  • موجودی Die،
  • Product Positioning،
  • توان مصرفی هدف،
  • قیمت هدف،
  • و Yield

می توانند در
Product Segmentation
نقش داشته باشند.

آیا Cache هم می تواند غیرفعال شود؟

بسته به طراحی،
بله.

بعضی Architectureها
می توانند بخشی از:

Core
/
Cache
/
Compute Unit
/
Other Functional Blocks

را در Product Configuration
خاص غیرفعال کنند.

بخش های CPU چگونه غیرفعال می شوند؟

در طراحی های مختلف
می توان از
مکانیزم های Configuration
سخت افزاری
برای تعیین
قابلیت های نهایی
تراشه استفاده کرد.

یکی از مفاهیم
مرتبط:

Fuse
/
eFuse

است.

این مکانیزم ها
می توانند اطلاعات
Configuration
یا وضعیت بخش هایی
از تراشه را
تعیین کنند.

آیا می توان Core غیرفعال شده را دوباره فعال کرد؟

به صورت عمومی
نباید چنین فرضی کرد.

در برخی محصولات تاریخی
مواردی وجود داشته
که کاربران توانسته اند
بخش های غیرفعال شده
را فعال کنند.

اما این موضوع
وابسته به طراحی،
Generation،
Firmware
و روش Disable شدن
بخش مورد نظر است.

علاوه بر این،
بخش غیرفعال شده
ممکن است واقعاً
Defect داشته باشد.

SKU چیست؟


مدل قابل عرضه محصول — SKU

SKU
در این بحث
به یک Configuration
مشخص از محصول
با ویژگی های تعریف شده
اشاره دارد.

دو SKU
می توانند
از یک Architecture
یا حتی در بعضی موارد
از یک Die Design
استفاده کنند،
اما مشخصات نهایی
متفاوتی داشته باشند.

چه چیزهایی می توانند بین SKUها متفاوت باشند؟

بسته به خانواده CPU:

  • Core Count،
  • Thread Count،
  • Cache Capacity،
  • Base Frequency،
  • Boost Frequency،
  • Power Limits،
  • Integrated Graphics،
  • Feature Set،
  • و Supported Interfaces

می توانند متفاوت باشند.

آیا Core i3، Core i5، Core i7 و Core i9 همیشه تراشه های کاملاً متفاوتی هستند؟

خیر،
نمی توان چنین
قانون عمومی ای
تعیین کرد.

در یک Generation
ممکن است چند SKU
از یک Die Design
مشترک استفاده کنند
و بخش هایی از Die
در مدل های پایین تر
غیرفعال شده باشند.

اما یک خانواده کامل
ممکن است از
چند Die Design
متفاوت نیز
تشکیل شده باشد.

بنابراین:

Same Product Family
≠
Necessarily Same Physical Die

این موضوع در پردازنده های Chiplet چگونه پیچیده تر می شود؟

در CPUهای Chiplet-Based
محصول نهایی
می تواند از چند
Die مستقل
تشکیل شود.

برای مثال،
Compute Dieها
و I/O Die
ممکن است
نقش های متفاوتی
داشته باشند.

در نتیجه
Product Configuration
می تواند با ترکیب
تعداد مختلف Die
و تعداد متفاوت
Core فعال
ساخته شود.

Tested Dies
+
Package Configuration
+
Active Core Count
+
Frequency Bin
→
Final SKU

چرا Chiplet می تواند از نظر Yield مفید باشد؟

به جای ساخت
یک Monolithic Die
بسیار بزرگ،
طراحی می تواند
میان چند Die کوچک تر
تقسیم شود.

Die کوچک تر
معمولاً تعداد بیشتری
در هر Wafer
ایجاد می کند
و می تواند
Yield مناسب تری
داشته باشد.

سپس Known Good Dieها
در Package
با یکدیگر
ترکیب می شوند.

Smaller Dies
→
Potential Yield Advantage
→
Known Good Dies
→
Multi-Die Package

اشتباه رایج — Common Mistake: Chiplet همیشه ارزان تر و بهتر است

الزاماً خیر.

Chiplet
می تواند مزایای
Yield،
Scalability
و Design Reuse
داشته باشد،
اما در مقابل
پیچیدگی هایی در:

  • Packaging،
  • Interconnect،
  • Latency،
  • Power Delivery،
  • Thermal Design،
  • و Assembly

ایجاد می کند.

Golden Sample چیست؟

در اصطلاح غیررسمی
Enthusiastها،
CPUای که
ویژگی های الکتریکی
بسیار مطلوبی داشته باشد
گاهی:

Golden Sample

نامیده می شود.

برای مثال
ممکن است CPU
Frequency بالایی
را با Voltage
نسبتاً پایین
حفظ کند.

این یک
Product Classification رسمی
و عمومی نیست.

Silicon Lottery چه ارتباطی با Binning دارد؟

حتی CPUهایی
که در یک SKU
فروخته می شوند،
کاملاً یکسان نیستند.

همه آنها
Specification رسمی
محصول را پاس کرده اند،
اما Margin اضافی
آنها می تواند
متفاوت باشد.

به همین دلیل
دو CPU هم مدل
ممکن است در:

  • Undervolting،
  • Overclocking،
  • Temperature،
  • Voltage Requirement،
  • و Maximum Stable Frequency

رفتار یکسانی
نداشته باشند.

پس چرا هر دو با یک نام فروخته می شوند؟

چون هر دو
حداقل Specification
تعریف شده
برای همان SKU
را پاس کرده اند.

سازنده تضمین نمی کند
که تمام CPUهای
یک مدل
دقیقاً یک
Overclocking Headroom
داشته باشند.

Same SKU
=
Same Guaranteed Product Specification

Same SKU
≠
Identical Silicon Margin

آیا مدل گران تر همیشه Silicon بهتری دارد؟

نه به صورت مطلق.

یک SKU بالاتر
ممکن است
Qualification سخت تری
برای Frequency
یا Feature Set
داشته باشد.

اما قیمت محصول
فقط از
Silicon Quality
تعیین نمی شود.

Positioning بازار،
تعداد Core،
Featureها،
Cache،
Power Target
و عوامل تجاری
نیز اهمیت دارند.

اشتباه رایج — Common Mistake: مدل پایین تر یعنی تراشه خراب

خیر.

یک SKU پایین تر
ممکن است از Die
کاملاً سالم
ساخته شده باشد.

Product Segmentation
می تواند به دلایل
تجاری،
Power Target،
موجودی
یا نیاز بازار
انجام شود.

Lower SKU
≠
Defective CPU

چرا بخشی از یک CPU ممکن است غیرفعال شود؟

دلیل توضیح
Defect یک بخش از Die تست های لازم را پاس نکرده است.
Product Segmentation برای ساخت SKUهای مختلف از یک طراحی پایه.
Power Target Configuration کوچک تر می تواند برای محدوده توان دیگری مناسب باشد.
Market Demand تعداد مورد نیاز از SKUهای مختلف می تواند متفاوت باشد.
Frequency Qualification Die ممکن است Frequency مورد نیاز SKU بالاتر را پاس نکند اما برای SKU دیگر مناسب باشد.
Feature Configuration برخی قابلیت ها می توانند بر اساس Product Definition فعال یا غیرفعال باشند.

Salvage چه مفهومی در تولید CPU دارد؟

اگر یک Die
تمام قابلیت های
طراحی اصلی
را پاس نکند،
اما بخش کافی
از آن سالم باشد،
ممکن است در صورت
پشتیبانی طراحی
به Configuration دیگری
تبدیل شود.

این کار
اجازه می دهد
بخشی از Dieهایی
که در غیر این صورت
قابل استفاده نبودند،
به محصول قابل فروش
تبدیل شوند.

Partially Functional Die
→
Valid Reduced Configuration
→
Usable Product

تاثیر مهندسی و اقتصادی — Yield Impact: Binning فقط برای Performance نیست؛ روی هزینه تولید نیز اثر دارد

اگر فقط Dieهایی
که تمام بخش های آنها
کاملاً سالم هستند
قابل فروش باشند،
بخشی از Wafer
ممکن است هدر رود.

طراحی قابل Configuration
و Binning
می تواند تعداد بیشتری
از Dieهای تولید شده
را به SKUهای قابل فروش
تبدیل کند.

Better Die Utilization
→
Higher Effective Yield
→
Better Manufacturing Economics

آیا Binning فقط بر اساس نتیجه تست انجام می شود؟

نه لزوماً.

Technical Qualification
تعیین می کند
یک Die
چه قابلیت هایی
می تواند داشته باشد.

اما اینکه
نهایتاً در کدام SKU
استفاده شود
می تواند تحت تاثیر
Product Planning
و Market Demand
نیز قرار گیرد.

Down-Binning چیست؟

یک Die
ممکن است
قابلیت استفاده
در Bin بالاتر
را داشته باشد،
اما برای تامین
SKU پایین تر
در Product Bin
پایین تری
عرضه شود.

بنابراین همیشه
نمی توان از
نام SKU
کیفیت دقیق
Silicon داخلی
را استنتاج کرد.

تفاوت Binning و Defect چیست؟

Defect
یک مسئله
ساخت یا عملکرد
است.

Binning
فرآیند دسته بندی
بر اساس نتایج
تست و معیارهای
Product Qualification
است.

Defect
=
Physical / Functional Problem

Binning
=
Product Classification Process

تفاوت Yield و Binning چیست؟

Yield
درباره میزان
Dieهای قابل استفاده
از فرآیند تولید است.

Binning
درباره دسته بندی
Dieهای قابل استفاده
بر اساس قابلیت های آنهاست.

Manufacturing
→
Yield
→
Functional Dies
→
Testing
→
Binning
→
Product SKUs

چرا CPU دقیقاً روی مرز پایداری فروخته نمی شود؟

CPU باید
در شرایط مختلف
Temperature،
Voltage
و Workload
پایدار باقی بماند.

علاوه بر این،
همان طور که
در فصل قبل دیدیم،
Aging
نیز باید
در نظر گرفته شود.

بنابراین Product Qualification
به Margin
نیاز دارد.

Tested Capability
>
Guaranteed Operating Requirement

این حاشیه
بخشی از Reliability
محصول است.

Burn-In چیست؟

در صنعت Semiconductor
Burn-In
به نوعی Stress Testing
کنترل شده اشاره دارد
که می تواند برای
آشکار کردن برخی
Failureهای اولیه
استفاده شود.

مفهوم اصلی:

Controlled Stress
→
Reveal Early Failures

نوع و میزان استفاده
از Burn-In
به محصول
و فرآیند Qualification
بستگی دارد.

اشتباه رایج — Common Mistake: Burn-In کارخانه همان Stress Test طولانی کاربر است

این دو
الزاماً یک مفهوم
ندارند.

Burn-In صنعتی
بخشی از فرآیند
Reliability Screening
یا Qualification
با شرایط کنترل شده است.

اجرای بی دلیل
Stress Test شدید
توسط کاربر
معادل فرآیند کارخانه
نیست.

Speed Grading چیست؟

پس از Characterization
و Testing،
تراشه می تواند
بر اساس قابلیت
Frequency
در Gradeهای مختلف
قرار گیرد.

این مفهوم
ارتباط نزدیکی
با Frequency Binning
دارد.

Electrical Characterization
→
Maximum Qualified Operating Points
→
Speed Grade

Binning چه تاثیری بر Performance محصول نهایی دارد؟

Binning
به سازنده اجازه می دهد
Operating Pointهای
مناسب هر گروه
از تراشه ها
را تعیین کند.

برای مثال،
یک Bin
می تواند:

  • Boost Frequency بالاتر،
  • Core Count بیشتر،
  • Power Limit متفاوت،
  • یا Feature Set متفاوت

داشته باشد.

اما Performance نهایی
فقط نتیجه Binning نیست
و Architecture،
Cache،
Memory System،
Software
و Workload
نیز تعیین کننده هستند.

هنگام خرید CPU آیا باید نگران Binning باشیم؟

برای استفاده عادی،
مهم ترین معیار
Specification رسمی
همان SKU است.

اگر دو CPU
یک مدل مشخص
هستند،
هر دو باید
مشخصات تضمین شده
آن محصول
را تامین کنند.

تفاوت Silicon Margin
بیشتر برای مواردی مانند:

  • Extreme Overclocking،
  • Aggressive Undervolting،
  • و Enthusiast Tuning

اهمیت پیدا می کند.

آیا Binning در خرید CPU استوک اهمیت دارد؟

Binning کارخانه
تعیین کرده است
CPU با چه Specification
رسمی فروخته شود.

اما هنگام بررسی
CPU کارکرده،
مسئله مهم تر
وضعیت فعلی
پردازنده است.

CPU باید
در تنظیمات استاندارد
بتواند:

  • Stable باشد،
  • Frequency صحیح را حفظ کند،
  • بدون Error کار کند،
  • رفتار Thermal طبیعی داشته باشد،
  • و تست های عملکردی را پاس کند.

بنابراین Silicon Lottery
نباید جای
Functional Testing
را بگیرد.

مسیر کلی از Wafer تا CPU قابل فروش چگونه است؟

اگر فرآیند را
بسیار ساده کنیم:

Silicon Wafer
→
Semiconductor Processing
→
Dies
→
Wafer Testing
→
Dicing
→
Packaging
→
Final Testing
→
Characterization
→
Binning
→
SKU Assignment
→
Shipping

در عمل،
فرآیند صنعتی
بسیار پیچیده تر
از این نمودار
ساده شده است.

ارتباط مفاهیم اصلی این فصل

مفهوم نقش
Wafer بستر ساخت تعداد زیادی Die
Die تراشه Semiconductor مستقل روی Wafer
Defect نقصی که می تواند بخشی از Die را تحت تاثیر قرار دهد
Defect Density معیاری مرتبط با تعداد Defectها در سطح فرآیند
Yield نسبت Dieهای قابل استفاده
Wafer Sort آزمایش اولیه Dieها روی Wafer
Known Good Die Dieای که تست های مورد نیاز را پاس کرده است
Binning دسته بندی Die یا CPU بر اساس قابلیت های اندازه گیری شده
Harvesting استفاده از Configuration کوچک تر با غیرفعال کردن برخی بخش ها
SKU Configuration نهایی محصول قابل عرضه

اشتباهات رایج — Common Mistakes: ساخت، Yield و Binning پردازنده
  • فرض اینکه هر CPU به صورت جداگانه روی Silicon ساخته می شود.
  • یکی دانستن Die با Package کامل CPU.
  • فرض اینکه تمام Dieهای یک Wafer کاملاً یکسان هستند.
  • فرض اینکه تمام Dieهای تولید شده سالم هستند.
  • نادیده گرفتن اثر Die Area بر Yield.
  • یکی دانستن Yield و Binning.
  • فرض اینکه Binning فقط بر اساس Maximum Frequency انجام می شود.
  • نادیده گرفتن Voltage و Leakage در Characterization.
  • فرض اینکه Core غیرفعال شده الزاماً خراب است.
  • فرض اینکه SKU پایین تر یعنی CPU معیوب.
  • فرض اینکه تمام SKUهای یک خانواده از یک Die Design ساخته می شوند.
  • فرض اینکه تمام CPUهای یک SKU Silicon Margin کاملاً یکسانی دارند.
  • فرض اینکه مدل گران تر همیشه از هر نظر Silicon بهتری دارد.
  • فرض اینکه Chiplet در تمام شرایط بهتر از Monolithic Design است.
  • یکی دانستن Burn-In صنعتی با Stress Test معمولی کاربر.

سوالات متداول درباره ساخت و Binning پردازنده

Wafer چیست؟

صفحه Semiconductor
است که تعداد زیادی
Die
به صورت همزمان
روی آن ساخته می شوند.

Die چیست؟

بخش Semiconductor
حاوی مدار تراشه است
که پس از ساخت
و جداسازی
می تواند وارد
مراحل Packaging شود.

Yield چیست؟

به صورت ساده
نسبت Dieهای قابل استفاده
به Dieهای تولید شده
را توصیف می کند.

Binning چیست؟

فرآیند دسته بندی
تراشه ها بر اساس
نتایج تست،
قابلیت فرکانسی،
ویژگی های الکتریکی
و معیارهای محصول است.

آیا CPU ارزان تر از تراشه خراب ساخته شده است؟

الزاماً خیر.
ممکن است Die
کاملاً سالم باشد
اما برای Product Segmentation
در SKU پایین تری
استفاده شود.

آیا Core غیرفعال شده حتماً خراب است؟

خیر.
ممکن است به دلیل
Product Segmentation
یا دلایل دیگر
غیرفعال شده باشد.

چرا دو CPU هم مدل Overclock متفاوتی دارند؟

Process Variation
باعث می شود
Silicon Margin
تراشه های مختلف
دقیقاً یکسان نباشد.

Silicon Lottery چیست؟

اصطلاح غیررسمی
برای تفاوت قابلیت
تراشه های هم مدل
در زمینه هایی مانند
Voltage،
Frequency
و Tuning Headroom است.

آیا Die کوچک تر Yield بهتری دارد؟

در شرایط مشابه
می تواند از نظر
Defect Exposure
مزیت داشته باشد،
اما Yield واقعی
به عوامل متعدد
فرآیند ساخت
وابسته است.

چرا Chiplet می تواند از نظر تولید مفید باشد؟

تقسیم طراحی
به Dieهای کوچک تر
می تواند مزایایی
در Yield،
Reuse
و Scalability
ایجاد کند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Wafer: صفحه Semiconductor مورد استفاده برای ساخت تعداد زیادی Die.
  • Die: تراشه Semiconductor مستقل ساخته شده روی Wafer.
  • Fab: کارخانه ساخت Waferهای Semiconductor.
  • Photolithography: فرآیند انتقال Pattern برای ساخت ساختارهای تراشه.
  • Defect: نقص فیزیکی یا فرآیندی در ساخت.
  • Defect Density: میزان Defect نسبت به مساحت فرآیند شده.
  • Yield: بازده تولید Dieهای قابل استفاده.
  • Wafer Sort: تست Dieها در مرحله Wafer.
  • Probe Test: تست الکتریکی Die روی Wafer.
  • Known Good Die: Die آزمایش شده و قابل استفاده.
  • Dicing: جداسازی Dieهای Wafer.
  • Packaging: تبدیل Die به ساختار فیزیکی قابل اتصال و استفاده.
  • Binning: دسته بندی تراشه ها بر اساس قابلیت واقعی آنها.
  • Frequency Bin: دسته بندی بر اساس قابلیت فرکانسی.
  • Voltage Bin: دسته بندی مرتبط با Voltage Requirement.
  • Leakage: جریان نشتی Device.
  • Core Harvesting: استفاده از تراشه با تعداد Core فعال کمتر.
  • Die Harvesting: استفاده از Configuration قابل استفاده یک Die ناقص یا محدود شده.
  • SKU: Configuration مشخص محصول قابل عرضه.
  • eFuse: مکانیزم سخت افزاری قابل استفاده برای Configuration تراشه.
  • Down-Binning: استفاده از تراشه واجد شرایط در Bin پایین تر.
  • Speed Grading: دسته بندی بر اساس قابلیت Operating Frequency.
  • Golden Sample: اصطلاح غیررسمی برای نمونه دارای Margin الکتریکی مطلوب.

خلاصه فصل

CPU
به صورت یک تراشه منفرد
از ابتدا ساخته نمی شود.

تعداد زیادی Die
روی یک Wafer
و طی مراحل متعدد
Semiconductor Manufacturing
ساخته می شوند.

Wafer
→
Dies
→
Testing
→
Packaging
→
Binning
→
Product SKUs

به دلیل
Defect
و Process Variation،
تمام Dieها
وضعیت کاملاً یکسانی
ندارند.

Yield
مشخص می کند
چه میزان از
تولید قابل استفاده است،
در حالی که
Binning
Dieهای قابل استفاده
را بر اساس
قابلیت واقعی آنها
دسته بندی می کند.

یک Die
ممکن است
Frequency بالاتری
تحمل کند،
Voltage کمتری
نیاز داشته باشد
یا Leakage متفاوتی
داشته باشد.

همچنین در بعضی
طراحی ها،
Core،
Cache
یا بخش های دیگری
می توانند
غیرفعال شوند.

اما غیرفعال بودن
یک بخش
الزاماً به معنی
خراب بودن آن نیست.

Product Segmentation،
تقاضای بازار
و برنامه تولید
نیز می توانند
در تعیین SKU نهایی
نقش داشته باشند.


بنابراین نام تجاری یک CPU فقط نتیجه طراحی معماری نیست؛
فرآیند ساخت، Yield، تست، ویژگی واقعی Silicon، Binning،
Configuration و حتی برنامه محصول سازنده همگی در تعیین
CPU نهایی که وارد بازار می شود نقش دارند.


فصل 94
سطح: متوسط تا پیشرفته
موضوع: فناوری ساخت پردازنده
تمرکز: Process Node / Nanometer / Density / FinFET / GAAFET


عدد نانومتر روی فناوری ساخت CPU دیگر یک اندازه فیزیکی ساده نیست

Process Node چیست و اعداد 14nm، 7nm، 5nm و 3nm واقعاً چه معنایی دارند؟

یکی از رایج ترین روش های
معرفی فناوری ساخت
پردازنده ها،
استفاده از اعدادی
مانند 14nm،
10nm،
7nm،
5nm
و 3nm است.

این اعداد
در نگاه اول
این تصور را ایجاد می کنند
که مثلاً یک CPU
با فناوری 3nm
دارای ترانزیستورهایی
با اندازه دقیق
3 نانومتر است.

در فناوری های مدرن،
چنین برداشتی
صحیح نیست.

Process Node
امروز بیشتر
نام یک نسل
از فناوری ساخت است
تا اندازه مستقیم
یک بخش مشخص
از Transistor.

Modern Process Node
≠
One Exact Physical Dimension

در این فصل چه چیزهایی یاد می گیریم؟

  • Process Node چیست.
  • Nanometer چیست.
  • چرا در گذشته عدد Node ارتباط فیزیکی مستقیم تری داشت.
  • چرا امروز 3nm الزاماً به معنی یک قطعه 3 نانومتری نیست.
  • Feature Size چیست.
  • Gate Length چیست.
  • Pitch چیست.
  • Gate Pitch چیست.
  • Metal Pitch چیست.
  • Transistor Density چیست.
  • چرا Process Node شرکت های مختلف مستقیماً قابل مقایسه نیست.
  • Scaling چیست.
  • Dennard Scaling چیست.
  • چرا کوچک تر شدن Transistor همیشه به معنی کاهش متناسب Power نیست.
  • Planar Transistor چیست.
  • FinFET چیست.
  • GAAFET چیست.
  • Nanosheet چیست.
  • RibbonFET چیست.
  • چرا صنعت از Planar به FinFET و سپس GAAFET حرکت کرد.
  • چرا Density تنها معیار برتری یک Process نیست.

نانومتر چقدر کوچک است؟

Nanometer
یک واحد طول است.

1 nm
=
10⁻⁹ meter

یعنی:

1 nanometer
=
0.000000001 meter

بنابراین ساختارهای
Semiconductor مدرن
در مقیاس بسیار کوچکی
طراحی و ساخته می شوند.

Process Node چیست؟


نسل فناوری ساخت — Process Node

Process Node
نام یک نسل
از فناوری ساخت
Semiconductor است
که مجموعه ای از:

  • Design Ruleها،
  • Transistor Structure،
  • Materialها،
  • Interconnect Technology،
  • Lithography،
  • Density Target،
  • Power Characteristics،
  • و Performance Characteristics

را در بر می گیرد.

در گذشته عدد Process Node چه معنایی داشت؟

در نسل های قدیمی تر
Semiconductor،
نام Node
ارتباط نزدیک تری
با بعضی ابعاد فیزیکی
Transistor
داشت.

برای مثال
Gate Length
یا Half-Pitch
در برخی دوره ها
ارتباط بیشتری
با نام گذاری Node داشتند.

اما با پیچیده تر شدن
ساختار Transistor
و فرآیند ساخت،
این ارتباط مستقیم
به تدریج از بین رفت.

عدد Process Node امروزی دقیقاً چه چیزی را اندازه می گیرد؟

پاسخ مهم این است:

لزوماً یک چیز مشخص را اندازه نمی گیرد.

در Nodeهای مدرن،
نام هایی مانند:

7nm
/
5nm
/
3nm

بیشتر نقش
Technology Generation Name
را دارند.

یعنی نمی توان
بدون اطلاعات فنی بیشتر
گفت عدد Node
دقیقاً برابر
Gate Length،
Fin Width
یا Metal Pitch است.

اشتباه رایج — Common Mistake: فناوری 3nm یعنی طول ترانزیستور دقیقاً 3 نانومتر است

خیر.

نام 3nm
در فناوری ساخت مدرن
به معنی وجود
یک بعد واحد
و مشخص
با اندازه دقیق
3nm نیست.

3nm Process
≠
3nm Transistor

برای مقایسه واقعی
باید مشخصات
فیزیکی و الکتریکی
Process
بررسی شوند.

Feature Size چیست؟

Feature Size
اصطلاحی عمومی
برای اشاره به
ابعاد ساختارهای
بسیار کوچک
در Semiconductor
است.

اما CPU مدرن
فقط یک Feature
ندارد.

ابعاد مختلفی
در تراشه وجود دارند
و هر کدام
می توانند مقدار
متفاوتی داشته باشند.

Gate Length چیست؟

Gate
یکی از بخش های اصلی
Transistor است
که جریان Channel
را کنترل می کند.

Gate Length
یکی از ابعاد مهم
Transistor است،
اما در فناوری مدرن
نباید آن را
مستقیماً برابر
Process Node
در نظر گرفت.

Process Node Name
≠
Gate Length

Pitch چیست؟

Pitch
به فاصله تکرار
میان ساختارهای مشابه
در یک Layout
اشاره دارد.

برای مثال
می توان درباره:

  • Gate Pitch،
  • Fin Pitch،
  • Metal Pitch،
  • Contact Pitch

صحبت کرد.

Contacted Gate Pitch چیست؟

یکی از معیارهای
مهم برای بررسی
تراکم ساختار Transistor:

Contacted Gate Pitch
=
CGP

است.

این معیار
به فاصله تکرار
Gateهای متصل شده
در Layout
مربوط می شود.

Metal Pitch چیست؟

Transistorها
باید توسط
Metal Interconnectها
به یکدیگر
متصل شوند.

فاصله مسیرهای فلزی
یکی دیگر از
عوامل مهم
در Density
تراشه است.

یکی از معیارهای
مورد استفاده:

Minimum Metal Pitch
=
MMP

است.

Transistor Density چیست؟


تراکم ترانزیستور — Transistor Density

Transistor Density
به تعداد Transistorهایی
اشاره دارد
که می توان
در یک مساحت مشخص
از Silicon
قرار داد.

یک نمایش مفهومی ساده:

Transistor Density
≈
Number of Transistors
/
Chip Area

معمولاً واحدهایی مانند:

Million Transistors per mm²
=
MTr/mm²

برای بیان Density
استفاده می شوند.

چرا مقایسه Transistor Density ساده نیست؟

همه بخش های CPU
Density یکسانی ندارند.

برای مثال:

  • Logic،
  • SRAM،
  • Analog Circuit،
  • I/O Circuit،
  • Power Structure

Layout
و Density
متفاوتی دارند.

بنابراین یک عدد
Maximum Density
لزوماً Density واقعی
یک CPU کامل
را نشان نمی دهد.

نکته مهندسی — Engineering Insight: عدد Node به تنهایی معیار خوبی برای مقایسه دو CPU نیست

برای مقایسه
فناوری ساخت
باید مجموعه ای
از معیارها
بررسی شوند.

از جمله:

  • Logic Density،
  • SRAM Density،
  • Power،
  • Frequency Capability،
  • Leakage،
  • Yield،
  • Cost،
  • و Transistor Structure.

Process Quality
≠
Node Number Alone

آیا 5nm یک شرکت دقیقاً برابر 5nm شرکت دیگر است؟

خیر.

نام گذاری Node
میان Foundryها
استاندارد فیزیکی
واحدی نیست
که الزام کند
همه مشخصات
یکسان باشند.

بنابراین:

Company A 5nm
≠
Necessarily
Company B 5nm

برای مقایسه
باید داده های واقعی
Process
بررسی شوند.

Foundry چیست؟

Foundry
شرکتی است
که تراشه های Semiconductor
را برای طراحی های
مختلف تولید می کند.

شرکت هایی وجود دارند
که طراحی تراشه
و تولید را
جدا کرده اند.

در این مدل:

Chip Designer
→
Foundry
→
Manufactured Silicon

Fabless یعنی چه؟

Fabless Company
شرکتی است
که تراشه را
طراحی می کند
اما لزوماً Fab
تولیدی خودش
را ندارد.

تولید می تواند
به Foundry
سپرده شود.

Fabless
=
Chip Design
Without Owning Leading-Edge Manufacturing Fab

IDM چیست؟

IDM
مخفف:

Integrated Device Manufacturer

است.

در این مدل،
یک شرکت می تواند
هم در طراحی
و هم در ساخت
Semiconductor
نقش مستقیم داشته باشد.

Process Shrink چیست؟

حرکت یک طراحی
یا خانواده فناوری
به Process کوچک تر
گاهی به صورت عمومی:

Process Shrink
/
Die Shrink

توصیف می شود.

هدف می تواند
افزایش Density،
بهبود Power،
افزایش Performance
یا کاهش Die Area
باشد.

Transistor Scaling چیست؟

Scaling
به کوچک کردن
ابعاد ساختارهای
Semiconductor
و افزایش تعداد Deviceها
در یک مساحت
اشاره دارد.

در حالت ایده آل:

Smaller Devices
→
Higher Density
→
More Transistors
→
More Functionality

اما Scaling مدرن
بسیار پیچیده تر
از کوچک کردن
یکنواخت تمام ابعاد است.

Dennard Scaling چیست؟


مقیاس بندی کلاسیک توان — Dennard Scaling

در مدل کلاسیک
Scaling،
با کوچک شدن
Transistorها،
Voltage و Current
نیز کاهش پیدا می کردند
و امکان افزایش Density
بدون رشد شدید
Power Density
فراهم می شد.

این روند
یکی از عوامل مهم
رشد سریع Frequency
و Transistor Count
در دوره های قدیمی تر
بود.

چرا Dennard Scaling ادامه پیدا نکرد؟

با کوچک تر شدن
Transistorها،
کاهش Voltage
به همان نسبت
دیگر به سادگی
امکان پذیر نبود.

Leakage
و محدودیت های
Device Physics
نیز اهمیت بیشتری
پیدا کردند.

در نتیجه:

More Transistors
≠
Free Performance

Power Density
و Thermal Management
به محدودیت های مهم
طراحی CPU
تبدیل شدند.

Power Wall چیست؟

اگر Frequency،
Voltage
و تعداد Transistorهای فعال
بدون محدودیت
افزایش پیدا کنند،
Power Consumption
و Heat Generation
می توانند
به سطح غیرعملی برسند.

این محدودیت
یکی از عوامل
تغییر مسیر صنعت
از افزایش شدید
Clock Frequency
به:

  • Multi-Core Design،
  • Power Management،
  • Turbo،
  • Specialized Units،
  • و Heterogeneous Computing

بوده است.

Voltage چرا در Scaling اهمیت زیادی دارد؟

همان طور که
در فصل های Power
بررسی کردیم،
Dynamic Power
به صورت مفهومی
رابطه ای شبیه:

Pdynamic
∝
C × V² × f

دارد.

بنابراین کاهش Voltage
نقش بسیار مهمی
در کنترل Power
دارد.

مشکل اینجاست
که Voltage
را نمی توان
بی نهایت کاهش داد.

چرا Leakage با کوچک شدن Transistor مهم تر شد؟

کوچک شدن ساختارها
کنترل کامل
Carrierها
را دشوارتر می کند.

انواع Leakage
می توانند سهم بیشتری
از Power
را تشکیل دهند.

بنابراین طراحی
Transistor جدید
فقط برای افزایش Density
نبود؛
کنترل Electrostatic
نیز اهمیت داشت.

Planar Transistor چیست؟

در Transistorهای
Planar کلاسیک،
Channel
عمدتاً در سطح
Silicon
قرار داشت
و Gate
از یک سمت
آن را کنترل می کرد.

Gate
↓
Channel

با کوچک شدن
Transistorها،
کنترل Electrostatic
Channel
دشوارتر شد.

Short-Channel Effects چیست؟

وقتی ابعاد Transistor
بسیار کوچک می شوند،
Source
و Drain
می توانند تاثیر بیشتری
بر Channel
داشته باشند.

این موضوع
کنترل Gate
را دشوارتر می کند
و می تواند
Leakage
و رفتار نامطلوب
Device
را افزایش دهد.

این مجموعه مشکلات
با مفاهیمی مانند:

Short-Channel Effects
=
SCE

مرتبط است.

FinFET چیست؟


ترانزیستور FinFET

FinFET
ساختاری سه بعدی تر
نسبت به Planar Transistor
ایجاد می کند.

Channel
به شکل Fin
از سطح Silicon
بالا می آید
و Gate
بخش بیشتری
از Channel
را احاطه می کند.

Planar:
Gate Controls Mainly One Side

FinFET:
Gate Wraps Around Multiple Sides

مزیت FinFET چیست؟

کنترل بهتر Gate
روی Channel
می تواند:

  • Leakage را کاهش دهد،
  • Electrostatic Control را بهتر کند،
  • Switching را بهبود دهد،
  • و Scaling را برای نسل های جدیدتر ادامه دهد.

تعداد Fin چه اهمیتی دارد؟

در FinFET،
Drive Strength
می تواند
با تعداد Finهای
مورد استفاده
مرتبط باشد.

Transistor Design
می تواند از
یک یا چند Fin
استفاده کند.

این ساختار
محدودیت هایی
در Granularity
طراحی ایجاد می کند،
زیرا Width
دیگر مانند
Planar Transistor
کاملاً پیوسته
قابل تنظیم نیست.

GAAFET چیست؟


Gate-All-Around FET — GAAFET

در GAAFET،
Gate
Channel
را از اطراف
احاطه می کند.

هدف،
افزایش کنترل
Electrostatic
Gate
بر Channel
در ابعاد بسیار کوچک است.

FinFET
→
Gate Around Multiple Sides

GAAFET
→
Gate Surrounds Channel

Nanosheet چیست؟

یکی از پیاده سازی های
GAAFET
استفاده از Channelهای
Sheet مانند است.

چند Nanosheet
می توانند
به صورت عمودی
روی یکدیگر
قرار گیرند.

Stacked Nanosheets
+
Gate-All-Around
→
Improved Electrostatic Control

Nanowire چه تفاوتی با Nanosheet دارد؟

هر دو
می توانند زیرمجموعه
ساختارهای Gate-All-Around
باشند.

تفاوت اصلی
در شکل هندسی
Channel است.

Nanosheet
Channel پهن تر
و Sheet مانند دارد،
در حالی که Nanowire
ساختاری باریک تر
و Wire مانند دارد.

RibbonFET چیست؟

RibbonFET
نام Intel
برای فناوری
Gate-All-Around
مبتنی بر Channelهای
Ribbon مانند است.

از دید مفهومی،
RibbonFET
در خانواده
GAAFET / Nanosheet
قرار می گیرد.

RibbonFET
⊂
Gate-All-Around Transistor Technology

مسیر تکامل ساختار Transistor چگونه بوده است؟

به صورت بسیار ساده:

Planar MOSFET
→
FinFET
→
Gate-All-Around

هدف اصلی
در هر مرحله
حفظ کنترل بهتر
Gate
روی Channel
در ابعاد کوچک تر
بوده است.

مقایسه مفهومی Planar، FinFET و GAAFET

ساختار شکل Channel کنترل Gate هدف اصلی
Planar تقریباً مسطح عمدتاً از یک سمت ساختار کلاسیک MOSFET
FinFET Fin عمودی از چند سمت کنترل بهتر Channel و کاهش Leakage
GAAFET Nanosheet / Nanowire احاطه Channel توسط Gate Electrostatic Control بهتر برای Scaling بیشتر

تاثیر بر عملکرد — Performance Impact: تغییر ساختار Transistor چرا برای CPU مهم است؟

CPU مدرن
باید میان چند هدف
تعادل برقرار کند:

  • Frequency بالا،
  • Power پایین،
  • Leakage کنترل شده،
  • Density بالا،
  • Reliability مناسب،
  • و Manufacturing Yield قابل قبول.

تغییر از Planar
به FinFET
و سپس GAAFET
تلاش برای ادامه
همین تعادل
در ابعاد کوچک تر است.

Better Gate Control
→
Better Device Characteristics
→
More Design Options
for
Performance / Power / Density

رفتن به Process Node جدید چه مزایایی می تواند داشته باشد؟

بسته به Process
و طراحی،
Node جدید
می تواند امکان:

  • افزایش Transistor Density،
  • کاهش Energy per Operation،
  • افزایش Performance،
  • کاهش Die Area برای Functionality مشابه،
  • افزایش Cache Capacity،
  • افزودن واحدهای پردازشی بیشتر،
  • یا بهبود Performance per Watt

را فراهم کند.

اما هیچ یک
به صورت خودکار
تضمین نمی شوند.

آیا CPU با Node کوچک تر همیشه سریع تر است؟

خیر.

Performance CPU
نتیجه مجموعه بزرگی
از عوامل است:

  • Microarchitecture،
  • IPC،
  • Clock Frequency،
  • Core Count،
  • Cache،
  • Memory System،
  • Power Limit،
  • Cooling،
  • Software،
  • و Process Technology.

Smaller Node
≠
Automatically Faster CPU

آیا Node کوچک تر همیشه کم مصرف تر است؟

Process جدید
می تواند
Efficiency بهتری
فراهم کند،
اما Power واقعی CPU
به Operating Point
بستگی دارد.

سازنده ممکن است
Efficiency Gain
را برای:

  • Performance بیشتر،
  • Core بیشتر،
  • Cache بیشتر،
  • یا Frequency بالاتر

مصرف کند.

بنابراین CPU جدید
الزاماً Total Power
کمتری ندارد.

PPA چیست؟


سه معیار کلیدی طراحی تراشه — PPA

PPA
مخفف سه مفهوم:

Performance
/
Power
/
Area

است.

Process Technology
و Chip Design
تلاش می کنند
میان این سه معیار
تعادل مناسبی
ایجاد کنند.

چرا نمی توان Performance، Power و Area را مستقل از هم بهینه کرد؟

افزایش Performance
ممکن است
Power بیشتری
نیاز داشته باشد.

کاهش Area
ممکن است
Routing
و Thermal Density
را دشوارتر کند.

کاهش Power
ممکن است
Maximum Frequency
را محدود کند.

بنابراین طراحی CPU
یک مسئله
Trade-Off
است.

Performance
↔
Power
↔
Area

چرا SRAM Scaling اهمیت زیادی برای CPU دارد؟

بخش بزرگی
از سطح بسیاری
از CPUهای مدرن
به Cache
اختصاص دارد.

Cache
معمولاً از
SRAM Cellها
ساخته می شود.

بنابراین میزان
SRAM Density
یک Process
می تواند تاثیر زیادی
روی مقدار Cache
قابل قرارگیری
روی Die داشته باشد.

آیا SRAM و Logic با یک سرعت کوچک می شوند؟

الزاماً خیر.

Scaling
بخش های مختلف
تراشه
یکسان نیست.

Logic Density
ممکن است
در Node جدید
افزایش قابل توجهی
داشته باشد،
در حالی که
SRAM Density
با نسبت متفاوتی
تغییر کند.

این موضوع
برای CPUهایی
با Cache بزرگ
بسیار مهم است.

چرا همه بخش های CPU را نمی توان به یک اندازه Shrink کرد؟

مدارهای:

  • Analog،
  • I/O،
  • PHY،
  • Power Delivery،
  • و High-Voltage Structures

الزاماً مانند
Logic Transistorها
از Scaling
سود نمی برند.

این یکی از دلایلی است
که معماری های
Multi-Die
و Chiplet
اهمیت بیشتری
پیدا کرده اند.

آیا یک CPU می تواند از چند Process Node استفاده کند؟

بله.

در طراحی Multi-Die،
هر Die
می تواند برای
نیاز متفاوتی
ساخته شود.

برای مثال مفهومی:

Compute Die
→
Advanced Process

I/O Die
→
More Mature Process

این کار
می تواند از نظر:

  • Cost،
  • Yield،
  • Density،
  • Analog Capability،
  • و Manufacturing Flexibility

مفید باشد.

آیا Process Node کوچک تر همیشه ارزان تر است؟

خیر.

Advanced Process Node
می تواند به:

  • تجهیزات بسیار گران،
  • Maskهای پیچیده،
  • فرآیندهای بیشتر،
  • کنترل دقیق تر،
  • و هزینه توسعه بالا

نیاز داشته باشد.

بنابراین Cost per Transistor
نیز همیشه
با هر Node جدید
به شکل ساده
کاهش پیدا نمی کند.

EUV چیست؟

EUV
مخفف:

Extreme Ultraviolet Lithography

است.

EUV
یک فناوری Lithography
برای ایجاد Patternهای
بسیار کوچک
در فرآیندهای پیشرفته
Semiconductor است.

طول موج مورد استفاده
در EUV
تقریباً:

13.5 nm

است.

اشتباه رایج — Common Mistake: چون EUV طول موج 13.5nm دارد، نمی تواند تراشه 5nm یا 3nm بسازد

این نتیجه گیری
صحیح نیست.

Lithography
فقط به مقایسه مستقیم
Wavelength
و Process Node Name
محدود نمی شود.

Optical System،
Resist،
Mask،
Computational Lithography،
Process Control
و Patterning Technique
همگی در نتیجه نهایی
نقش دارند.

چرا EUV فناوری بسیار پیچیده ای است؟

تابش EUV
توسط بسیاری
از مواد
به شدت جذب می شود.

بنابراین سیستم
نمی تواند مانند
Optical Lithography معمولی
فقط از Lensهای ساده
استفاده کند.

سیستم EUV
به:

  • Vacuum،
  • Reflective Optics،
  • Mirrorهای بسیار دقیق،
  • Source پیچیده،
  • Mask Technology پیشرفته،
  • و کنترل بسیار دقیق Contamination

نیاز دارد.

High-NA EUV چیست؟

یکی از مسیرهای
توسعه Lithography پیشرفته
افزایش:

Numerical Aperture
=
NA

سیستم EUV است.

فناوری:

High-NA EUV

برای Patterning
نسل های آینده
Semiconductor
توسعه یافته است.

چرا Process جدید در ابتدا می تواند Yield پایین تری داشته باشد؟

فناوری جدید
دارای Process Window
و چالش های
Manufacturing جدید است.

با گذشت زمان
و افزایش تجربه تولید،
Defect Density
و Process Control
می توانند بهتر شوند.

Early Process
→
Learning
→
Process Maturity
→
Potential Yield Improvement

کوچک تر شدن Transistor چه تاثیری بر Reliability دارد؟

Scaling
فقط فرصت ایجاد نمی کند؛
چالش های جدید
نیز به همراه دارد.

با کوچک تر شدن
ساختارها،
کنترل:

  • Electric Field،
  • Current Density،
  • Variation،
  • Leakage،
  • Thermal Density،
  • و Aging Mechanisms

اهمیت بیشتری
پیدا می کند.

بنابراین هر Process
باید Reliability
مخصوص خودش
را Qualification کند.

چرا نام گذاری Process Node تغییر کرده است؟

با از بین رفتن
ارتباط یک به یک
میان Node Name
و یک Dimension مشخص،
نام گذاری Processها
بیشتر به یک
Technology Label
تبدیل شده است.

به همین دلیل
مقایسه صرف:

10nm
vs
7nm

بدون بررسی
Process Characteristics
می تواند گمراه کننده باشد.

برای مقایسه دو Process Node چه چیزهایی را بررسی کنیم؟

مقایسه فنی بهتر
باید چند معیار
را کنار هم
قرار دهد:

معیار چه چیزی را نشان می دهد؟
Logic Density تراکم تقریبی مدارهای منطقی
SRAM Density میزان تراکم حافظه SRAM و Cache
Performance قابلیت سرعت Switching در شرایط مشخص
Power مصرف انرژی در Operating Point مشخص
Leakage رفتار جریان نشتی
Yield بازده تولید
Cost اقتصاد تولید تراشه
Reliability توانایی حفظ عملکرد در طول عمر طراحی
Transistor Architecture Planar، FinFET، GAAFET یا ساختارهای دیگر

هنگام خرید CPU چقدر باید به عدد نانومتر اهمیت بدهیم؟

Process Node
اطلاعات مفیدی
درباره نسل فناوری ساخت
می دهد،
اما معیار مستقیم
Performance
نیست.

هنگام مقایسه CPUها
بهتر است ابتدا
معیارهای واقعی محصول
بررسی شوند:

  • Performance در Workload مورد نظر،
  • IPC،
  • Core و Thread،
  • Frequency،
  • Cache،
  • Power Consumption،
  • Temperature،
  • Platform،
  • و Performance per Watt.

Node
یکی از عوامل
پشت صحنه
این نتایج است.

اشتباه رایج — Common Mistake: CPU هفت نانومتری همیشه از CPU ده نانومتری بهتر است

چنین نتیجه گیری
از روی Node Name
به تنهایی
ممکن نیست.

Architecture،
Frequency،
Power Limit،
Cache،
Core Count
و Process Characteristics
همگی باید
بررسی شوند.

Smaller Node Number
≠
Guaranteed Better CPU

زیرساخت فنی — Process Node چگونه به طراحی واقعی CPU متصل می شود؟

طراح CPU
مستقیماً با عبارت
«5nm»
یک مدار نمی سازد.

Foundry
مجموعه بزرگی
از Design Ruleها،
Device Modelها
و Cell Libraryها
در اختیار تیم طراحی
قرار می دهد.

ابزارهای EDA
از این اطلاعات
برای تبدیل طراحی
منطقی CPU
به Layout
قابل ساخت
استفاده می کنند.

Microarchitecture
→
RTL
→
Logic Synthesis
→
Standard Cells
→
Physical Design
→
Routing
→
Verification
→
Tape-Out

بنابراین Process Node
فقط مسئله اندازه
Transistor نیست؛
روی کل مسیر
Physical Implementation
پردازنده اثر دارد.

Tape-Out چیست؟

پس از تکمیل
طراحی و Verification،
اطلاعات نهایی Layout
برای ورود
به فرآیند Manufacturing
آماده می شوند.

این نقطه
در توسعه تراشه
معمولاً:

Tape-Out

نامیده می شود.

Tape-Out
یکی از مهم ترین
Milestoneهای
طراحی CPU است.

اشتباهات رایج — Common Mistakes: Process Node و فناوری ساخت CPU
  • فرض اینکه عدد Process Node اندازه دقیق Transistor است.
  • برابر دانستن Node Name با Gate Length.
  • مقایسه مستقیم Nodeهای دو Foundry فقط بر اساس عدد نام آنها.
  • فرض اینکه Node کوچک تر همیشه CPU سریع تری می سازد.
  • فرض اینکه Node کوچک تر همیشه Total Power کمتری دارد.
  • نادیده گرفتن Logic Density و SRAM Density.
  • فرض اینکه همه بخش های تراشه با نرخ یکسان Scale می شوند.
  • نادیده گرفتن Leakage در Nodeهای پیشرفته.
  • فرض اینکه Dennard Scaling هنوز بدون محدودیت ادامه دارد.
  • فرض اینکه FinFET فقط یک نام تجاری است.
  • یکی دانستن FinFET و GAAFET.
  • فرض اینکه Process جدید همیشه ارزان تر است.
  • فرض اینکه EUV 13.5nm نمی تواند برای Nodeهای زیر 13.5nm استفاده شود.
  • نادیده گرفتن Yield و Reliability در ارزیابی Process.
  • قضاوت درباره کیفیت CPU فقط از روی عدد نانومتر.

سوالات متداول درباره Process Node و نانومتر

3nm یعنی Transistor سه نانومتری؟

خیر.
در Processهای مدرن
3nm نام یک
Technology Generation
است و اندازه مستقیم
یک بخش مشخص
از Transistor نیست.

آیا 5nm از 7nm بهتر است؟

یک Process جدیدتر
می تواند مزایای
Density،
Performance
یا Power داشته باشد،
اما مقایسه واقعی
نیازمند بررسی
مشخصات Process است.

آیا 5nm دو شرکت یکسان است؟

خیر.
Node Naming
میان سازندگان
یک استاندارد فیزیکی
مستقیم و یکسان نیست.

Transistor Density چیست؟

تعداد Transistorهایی
است که در یک
مساحت مشخص
از Silicon
قرار می گیرند.

FinFET چیست؟

Transistor سه بعدی تری
است که Gate
بخش بیشتری از Channel
را نسبت به
Planar Transistor
کنترل می کند.

GAAFET چیست؟

ساختاری است
که Gate
Channel را
از اطراف
احاطه می کند
و Electrostatic Control
بهتری فراهم می کند.

RibbonFET چیست؟

نام Intel
برای پیاده سازی
Gate-All-Around
با Channelهای
Ribbon مانند است.

آیا CPU با فناوری ساخت کوچک تر همیشه کم مصرف تر است؟

خیر.
Process جدید
می تواند Efficiency
را افزایش دهد،
اما طراحی CPU
ممکن است این مزیت
را برای Performance
یا منابع بیشتر
استفاده کند.

PPA چیست؟

مخفف Performance،
Power
و Area است
و سه معیار مهم
در طراحی تراشه
را نشان می دهد.

چرا CPU از چند Process Node استفاده می کند؟

در طراحی Multi-Die
می توان هر بخش
را روی Process
مناسب خودش ساخت
تا Cost،
Yield،
Density
و قابلیت های فنی
بهتر مدیریت شوند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Process Node: نسل فناوری ساخت Semiconductor.
  • Nanometer: یک میلیاردم متر.
  • Feature Size: اندازه یکی از ساختارهای فیزیکی Semiconductor.
  • Gate Length: یکی از ابعاد مهم Gate و Channel Transistor.
  • Pitch: فاصله تکرار ساختارهای مشابه در Layout.
  • CGP: Contacted Gate Pitch.
  • MMP: Minimum Metal Pitch.
  • Transistor Density: تعداد Transistor در واحد سطح.
  • Foundry: شرکت یا مجموعه تولیدکننده تراشه Semiconductor.
  • Fabless: مدل شرکتی متمرکز بر طراحی بدون مالکیت Fab پیشرفته تولیدی.
  • IDM: Integrated Device Manufacturer.
  • Scaling: کوچک سازی ساختارهای Semiconductor و افزایش Density.
  • Dennard Scaling: مدل کلاسیک مقیاس بندی ابعاد، Voltage و Power Density.
  • Power Wall: محدودیت افزایش Performance ناشی از Power و Heat.
  • Planar Transistor: ساختار کلاسیک مسطح Transistor.
  • FinFET: Transistor دارای Channel به شکل Fin و کنترل Gate از چند سمت.
  • GAAFET: Gate-All-Around Field-Effect Transistor.
  • Nanosheet: Channel ورقه ای در برخی GAAFETها.
  • Nanowire: Channel باریک Wire مانند در ساختار Gate-All-Around.
  • RibbonFET: فناوری Gate-All-Around شرکت Intel.
  • SCE: Short-Channel Effects.
  • PPA: Performance / Power / Area.
  • EUV: Extreme Ultraviolet Lithography.
  • High-NA EUV: نسل EUV با Numerical Aperture بالاتر.
  • Tape-Out: مرحله نهایی آماده سازی طراحی برای ورود به Manufacturing.

خلاصه فصل

Process Node
نام نسل فناوری
ساخت Semiconductor است.

در فناوری های مدرن،
عددهایی مانند:

7nm
/
5nm
/
3nm

دیگر اندازه مستقیم
یک بخش مشخص
از Transistor
نیستند.

برای ارزیابی Process
باید معیارهایی مانند:

Density
+
Performance
+
Power
+
Leakage
+
Yield
+
Cost
+
Reliability

در کنار یکدیگر
بررسی شوند.

با کوچک شدن
Transistorها،
کنترل Channel
دشوارتر شد
و صنعت از
Planar Transistor
به FinFET
و سپس
Gate-All-Around
حرکت کرد.

همچنین پایان
Dennard Scaling
باعث شد
افزایش تعداد Transistor
دیگر به صورت خودکار
Performance رایگان
ایجاد نکند.

Power،
Temperature
و Leakage
به محدودیت های
اساسی طراحی
تبدیل شدند.


بنابراین هنگام مقایسه دو CPU، عدد نانومتر را باید
یکی از ویژگی های فناوری ساخت دانست، نه یک معیار مستقل
برای تعیین سرعت، مصرف انرژی یا کیفیت پردازنده.


فصل 95
سطح: متوسط تا پیشرفته
موضوع: مسیر تکامل پردازنده
تمرکز: Moore’s Law / Scaling / Power Wall / Dark Silicon / Multi-Core / Accelerators / 3D Stacking


افزایش تعداد ترانزیستورها هنوز مهم است؛ اما تبدیل این ترانزیستورها به Performance دیگر مثل گذشته ساده نیست

قانون مور چیست و چرا مسیر افزایش قدرت پردازنده ها تغییر کرده است؟

برای چند دهه،
صنعت Semiconductor
توانست تعداد Transistorهای
قابل استفاده در تراشه ها
را با سرعت بسیار زیادی
افزایش دهد.

کوچک تر شدن Transistorها
امکان ساخت CPUهایی
با منابع بیشتر،
Frequency بالاتر
و قابلیت های پیچیده تر
را فراهم کرد.

اما این روند
یک محدودیت اساسی داشت:

افزایش تعداد Transistor
الزاماً به این معنی نیست
که می توان همه آنها را
همزمان،
با Maximum Frequency
و بدون محدودیت Power
فعال نگه داشت.

More Transistors
≠
Unlimited Performance

برای درک CPUهای مدرن
باید بدانیم
چگونه صنعت از
Frequency Scaling
به سمت
Parallelism،
Heterogeneous Computing،
Specialized Hardware،
Chiplet
و 3D Integration
حرکت کرده است.

در این فصل چه چیزهایی یاد می گیریم؟

  • Moore’s Law چیست.
  • آیا قانون مور یک قانون فیزیکی است.
  • Transistor Scaling چه ارتباطی با قانون مور دارد.
  • Dennard Scaling چه نقشی در رشد CPU داشت.
  • چرا افزایش Frequency کند شد.
  • Power Wall چیست.
  • Thermal Wall چیست.
  • Dark Silicon چیست.
  • چرا صنعت به Multi-Core حرکت کرد.
  • چرا تعداد Core بیشتر همیشه Performance خطی ایجاد نمی کند.
  • Amdahl’s Law چیست.
  • Parallelism چه محدودیت هایی دارد.
  • Specialized Accelerator چیست.
  • چرا CPUهای مدرن واحدهای تخصصی بیشتری دارند.
  • Heterogeneous Computing چیست.
  • Chiplet چگونه Scaling را ادامه می دهد.
  • 2.5D Packaging چیست.
  • 3D Stacking چیست.
  • Hybrid Bonding چیست.
  • چرا آینده CPU فقط به کوچک تر شدن Transistor وابسته نیست.

قانون مور چیست؟


قانون مور — Moore’s Law

Moore’s Law
مشاهده ای تاریخی
درباره روند رشد
تعداد Transistorهای
قابل قرارگیری
روی Integrated Circuitها
بود.

این مفهوم
بعدها به عنوان
یکی از شاخص های مهم
پیشرفت صنعت Semiconductor
شناخته شد.

آیا Moore’s Law یک قانون فیزیکی است؟

خیر.

برخلاف قوانینی مانند
قوانین Thermodynamics،
Moore’s Law
یک قانون بنیادی طبیعت
نیست.

این قانون
بیشتر یک Observation
و Technology Trend
درباره صنعت Semiconductor
است.

Moore’s Law
=
Technology / Industry Trend

Moore’s Law
≠
Fundamental Law of Physics

ایده اصلی Moore’s Law چه بود؟

Gordon Moore
در دهه 1960
روند افزایش
تعداد Componentهای
قابل قرارگیری
روی Integrated Circuitها
را بررسی کرد.

مفهوم عمومی
که بعدها مشهور شد
این بود که
تعداد Transistorها
در بازه های زمانی
تقریباً منظم
افزایش بسیار سریعی
پیدا می کند.

معمولاً در توضیح عمومی
از دو برابر شدن
تعداد Transistorها
در حدود هر:

18 – 24 Months

صحبت می شود.

اما این عدد
نباید به عنوان
یک قانون دقیق زمانی
برای تمام دوره های صنعت
در نظر گرفته شود.

چرا افزایش Transistor Count مهم بود؟

Transistor بیشتر
به طراحان اجازه داد
منابع بیشتری
داخل CPU
قرار دهند.

برای مثال:

  • Execution Unit بیشتر،
  • Cache بزرگ تر،
  • Branch Predictor پیچیده تر،
  • Register File بزرگ تر،
  • Core بیشتر،
  • Vector Unit قوی تر،
  • Integrated Graphics،
  • Memory Controller،
  • Security Engine،
  • و Acceleratorهای تخصصی.

بنابراین Transistor Budget
بیشتر،
فضای طراحی بیشتری
در اختیار مهندسان
قرار می دهد.

اشتباه رایج — Common Mistake: قانون مور می گوید سرعت CPU هر دو سال دو برابر می شود

خیر.

Moore’s Law
درباره روند
افزایش تعداد Component
و Transistor
در Integrated Circuitهاست،
نه تضمین دو برابر شدن
Performance پردازنده.

2× Transistors
≠
2× CPU Performance

چرا در گذشته افزایش Transistor تقریباً مستقیماً به CPU سریع تر کمک می کرد؟

برای مدتی،
چند روند مهم
همزمان اتفاق می افتادند:

  • Transistorها کوچک تر می شدند.
  • Density افزایش پیدا می کرد.
  • Capacitance کاهش پیدا می کرد.
  • Voltage کاهش پیدا می کرد.
  • Frequency افزایش پیدا می کرد.
  • Power Density نسبتاً قابل کنترل باقی می ماند.

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

رابطه Moore’s Law و Dennard Scaling چیست؟

Moore’s Law
درباره افزایش
Transistor Count
صحبت می کند.

Dennard Scaling
توضیح می داد
چگونه با کوچک شدن
Transistorها،
Voltage و Current
نیز می توانند
کاهش پیدا کنند.

ترکیب این دو روند
بسیار قدرتمند بود:

More Transistors
+
Smaller Devices
+
Lower Voltage
+
Higher Frequency
→
Rapid CPU Performance Growth

چرا Frequency پردازنده ها برای مدتی به سرعت افزایش پیدا می کرد؟

Transistorهای سریع تر
و Processهای جدید
امکان افزایش
Clock Frequency
را فراهم می کردند.

به همین دلیل
در نسل های مختلف،
Frequency CPUها
از چند صد MHz
به چند GHz
افزایش پیدا کرد.

اما این مسیر
نمی توانست
بدون محدودیت
ادامه پیدا کند.

چرا افزایش Frequency مشکل Power ایجاد می کند؟

Dynamic Power
به صورت مفهومی
رابطه ای شبیه:

Pdynamic
∝
C × V² × f

دارد.

بنابراین افزایش
Frequency
مستقیماً Dynamic Power
را افزایش می دهد.

مشکل بزرگ تر
زمانی ایجاد می شود
که برای رسیدن
به Frequency بالاتر
نیاز به افزایش
Voltage
نیز وجود داشته باشد.

چون Voltage
در این رابطه
به توان دو
وارد می شود.

Power Wall چیست؟


دیوار توان — Power Wall

Power Wall
به محدودیتی اشاره دارد
که در آن
افزایش بیشتر Performance
از طریق Frequency
یا فعال کردن
منابع بیشتر،
باعث افزایش غیرعملی
Power Consumption
می شود.

Higher Frequency
→
Higher Power
→
More Heat
→
Cooling Difficulty

Thermal Wall چیست؟

Power مصرف شده
در CPU
در نهایت عمدتاً
به Heat
تبدیل می شود.

اگر Heat Flux
از توان سیستم Cooling
بیشتر شود،
افزایش Performance
دیگر عملی نیست.

این محدودیت
با مفهوم:

Thermal Wall

مرتبط است.

چرا CPUهای امروزی به جای 10 یا 20 گیگاهرتز، Core بیشتری دارند؟

افزایش Frequency
در محدوده های بالا
به Voltage،
Power
و Cooling
بسیار بیشتری
نیاز پیدا می کند.

علاوه بر این،
Pipeline،
Memory Latency
و Wire Delay
نیز محدودیت هایی
ایجاد می کنند.

بنابراین صنعت
به جای ادامه
Frequency Scaling شدید،
بخشی از Transistor Budget
را صرف:

  • Core بیشتر،
  • Cache بیشتر،
  • IPC بیشتر،
  • Vector Processing،
  • Acceleratorها،
  • و Power Management

کرد.

چرا Multi-Core به مسیر اصلی CPU تبدیل شد؟

اگر افزایش Frequency
بسیار پرهزینه شود،
می توان Transistorهای بیشتر
را برای ساخت
چند Processing Core
استفاده کرد.

در Workloadهای
قابل Parallelization،
چند Core
می توانند
بخش های مختلف کار
را همزمان اجرا کنند.

One Very Fast Core
→
Power Limited

Multiple Efficient Cores
→
Parallel Throughput

اشتباه رایج — Common Mistake: دو برابر شدن Core یعنی دو برابر شدن Performance

خیر.

Performance Scaling
به میزان Parallelism
نرم افزار
بستگی دارد.

اگر بخش بزرگی
از برنامه
Serial باشد،
Coreهای بیشتر
نمی توانند
آن بخش را
به صورت موازی
اجرا کنند.

2× Cores
≠
Automatically 2× Performance

Amdahl’s Law چیست؟


محدودیت Parallel Speedup — Amdahl’s Law

Amdahl’s Law
نشان می دهد
بخش Serial
یک Workload
می تواند Maximum Speedup
حاصل از Parallelization
را محدود کند.

اگر بخشی از برنامه
قابل Parallelization
نباشد،
حتی تعداد بسیار زیاد
Core
نیز نمی تواند
آن بخش را
سریع تر کند.

رابطه کلاسیک:

Speedup
=
1
/
[(1 − P) + (P / N)]

که در آن:

P
=
Parallel Fraction

N
=
Number of Processing Units

یک مثال ساده از Amdahl’s Law

فرض کنیم
90 درصد
یک برنامه
قابل Parallelization
باشد.

اما 10 درصد
آن همیشه
Serial باقی بماند.

حتی اگر تعداد Coreها
به سمت مقدار بسیار زیاد
حرکت کند،
آن 10 درصد Serial
همچنان وجود دارد.

Maximum Speedup نظری
در این حالت
به سمت:

Maximum Speedup
→
1 / 0.10
=
10×

میل می کند.

چرا Performance واقعی حتی از Amdahl’s Law هم کمتر می شود؟

اجرای Parallel
خودش هزینه دارد.

Threadها ممکن است
نیاز به:

  • Synchronization،
  • Communication،
  • Locking،
  • Cache Coherency،
  • Data Sharing،
  • Scheduling،
  • و Memory Bandwidth

داشته باشند.

بنابراین Parallelism
رایگان نیست.

Dark Silicon چیست؟


سیلیکون تاریک — Dark Silicon

Dark Silicon
به این واقعیت اشاره دارد
که به دلیل محدودیت
Power و Temperature،
ممکن است نتوان
تمام Transistorهای
یک تراشه بزرگ
را به صورت همزمان
با Maximum Performance
فعال نگه داشت.

More Transistors Available
>
Transistors That Can Be Fully Active Simultaneously

آیا Dark Silicon یعنی بخشی از CPU همیشه خاموش است؟

نه دقیقاً.

مفهوم اصلی
این است که
Power Budget
اجازه نمی دهد
همه منابع
در تمام زمان ها
با Maximum Activity
کار کنند.

بخش های مختلف
می توانند بر اساس
Workload
روشن،
خاموش
یا در Power Stateهای
مختلف قرار گیرند.

Power Gating چه نقشی در CPU مدرن دارد؟

اگر یک واحد
در حال استفاده نباشد،
می توان Power
آن بخش را
کاهش داد
یا در بعضی طراحی ها
تقریباً قطع کرد.

این تکنیک:

Power Gating

نامیده می شود.

هدف اصلی
کاهش Static Power
و Leakage
در واحدهای غیر فعال است.

Clock Gating چیست؟

حتی اگر یک Circuit
محاسبه مفیدی
انجام ندهد،
Clock Switching
می تواند
Dynamic Power
مصرف کند.

Clock Gating
اجازه می دهد
Clock
برای بخش هایی
که فعلاً نیاز نیستند
متوقف شود.

Unused Logic
→
Clock Disabled
→
Lower Switching Activity
→
Lower Dynamic Power

DVFS چگونه به محدودیت Power کمک می کند؟

DVFS
مخفف:

Dynamic Voltage and Frequency Scaling

است.

CPU می تواند
Voltage
و Frequency
را بر اساس:

  • Workload،
  • Temperature،
  • Power Budget،
  • و Performance Demand

تغییر دهد.

این یکی از
مهم ترین ابزارهای
مدیریت Power
در پردازنده مدرن است.

Turbo چگونه از محدودیت Power استفاده می کند؟

اگر تمام Coreها
فعال نباشند،
بخشی از Power
و Thermal Budget
می تواند
در اختیار Coreهای فعال
قرار گیرد.

در نتیجه
آن Coreها
می توانند برای مدتی
Frequency بالاتری
داشته باشند.

Fewer Active Cores
→
More Power Headroom per Active Core
→
Higher Possible Boost Frequency

چرا CPUهای مدرن واحدهای تخصصی بیشتری دارند؟

یک General-Purpose CPU Core
انعطاف پذیری بسیار بالایی دارد،
اما برای هر نوع محاسبه
بهینه ترین سخت افزار
ممکن نیست.

اگر یک Workload
بسیار مهم و پرتکرار باشد،
می توان سخت افزار
تخصصی تری
برای آن ساخت.

این رویکرد:

Specialization

نامیده می شود.

Hardware Accelerator چیست؟


شتاب دهنده سخت افزاری — Hardware Accelerator

واحدی تخصصی
برای اجرای
نوع مشخصی
از عملیات
با Efficiency
بیشتر از
General-Purpose Core
است.

نمونه های مفهومی
می توانند شامل:

  • Vector Unit،
  • Matrix Engine،
  • AI Accelerator،
  • Media Encoder،
  • Video Decoder،
  • Cryptography Engine،
  • Compression Engine،
  • و Graphics Processor

باشند.

نکته مهندسی — Engineering Insight: آینده Performance فقط Faster Core نیست

اگر یک عملیات
روی General-Purpose Core
به صدها Instruction
نیاز داشته باشد،
یک Accelerator تخصصی
ممکن است همان کار
را با مسیر داده
بسیار مناسب تر
انجام دهد.

نتیجه می تواند:

Higher Performance
+
Lower Energy per Operation

باشد.

بنابراین بخشی
از Transistor Budget
CPUهای مدرن
به واحدهایی اختصاص پیدا می کند
که همیشه فعال نیستند،
اما هنگام اجرای
Workload مناسب
بسیار کارآمد هستند.

Heterogeneous Computing چیست؟

در Heterogeneous Computing
همه Processing Unitها
الزاماً یکسان نیستند.

سیستم می تواند
مجموعه ای از:

  • CPU Core،
  • GPU،
  • NPU،
  • DSP،
  • Media Engine،
  • و Acceleratorهای دیگر

داشته باشد.

هر Workload
به واحدی
فرستاده می شود
که برای آن
مناسب تر است.

Hybrid CPU Architecture چگونه به Power Wall کمک می کند؟

یکی از روش ها
استفاده از Coreهایی
با اهداف متفاوت است.

برای مثال:

Performance-Oriented Cores
+
Efficiency-Oriented Cores

Core بزرگ تر
می تواند
Single-Thread Performance
بالاتری ارائه دهد.

Core کوچک تر
می تواند
برای Throughput
و Background Work
با Area
و Power کمتر
مناسب باشد.

آیا معماری ناهمگون فقط برای لپ تاپ و موبایل است؟

خیر.

Heterogeneous Design
می تواند در:

  • Desktop،
  • Workstation،
  • Server،
  • Data Center،
  • Mobile Device،
  • Embedded System،
  • Automotive System،
  • و High-Performance Computing

استفاده شود.

هدف اصلی
استفاده بهتر
از Silicon Area
و Energy Budget
است.

Chiplet چگونه به ادامه Scaling کمک می کند؟

ساخت یک Die
بسیار بزرگ
می تواند از نظر:

  • Yield،
  • Reticle Limit،
  • Cost،
  • Design Complexity،
  • و Process Optimization

دشوار باشد.

Chiplet
اجازه می دهد
سیستم بزرگ
به چند Die
تقسیم شود.

One Huge Monolithic Die
→
Multiple Smaller Dies
→
Advanced Package

مهم ترین مزایای Chiplet چیست؟

  • امکان استفاده از Dieهای کوچک تر،
  • بهبود بالقوه Yield،
  • استفاده مجدد از یک Die در چند محصول،
  • ترکیب Process Nodeهای مختلف،
  • ساخت SKUهای مختلف با ترکیب Dieها،
  • افزایش Scalability،
  • و کاهش وابستگی به یک Monolithic Die بسیار بزرگ.

Reticle Limit چیست؟

Lithography System
نمی تواند Pattern
با اندازه نامحدود
را در یک Exposure
روی Wafer
منتقل کند.

حداکثر اندازه
قابل Patterning
در یک Exposure
با محدودیت:

Reticle Limit

مرتبط است.

این محدودیت
یکی از عوامل
دشوار شدن ساخت
Monolithic Dieهای
بسیار بزرگ است.

چرا Packaging به بخشی از Scaling تبدیل شده است؟

در گذشته
Package
بیشتر به عنوان
وسیله اتصال Die
به Motherboard
دیده می شد.

اما در پردازنده های مدرن،
Package
می تواند بخشی
از Architecture
سیستم باشد.

چند Die
باید با:

  • Bandwidth بالا،
  • Latency پایین،
  • Energy per Bit پایین،
  • Power Delivery مناسب،
  • و Thermal Management مناسب

به یکدیگر
متصل شوند.

2.5D Packaging چیست؟

در 2.5D Integration،
چند Die
می توانند
در کنار یکدیگر
روی یک ساختار
واسط پیشرفته
قرار گیرند.

یکی از روش ها
استفاده از:

Silicon Interposer

است.

Interposer
می تواند
مسیرهای ارتباطی
بسیار متراکم تری
نسبت به PCB معمولی
فراهم کند.

3D Stacking چیست؟

در 3D Integration،
Dieها فقط
کنار یکدیگر نیستند؛
می توانند
روی یکدیگر
قرار بگیرند.

Die
↑
Die
↑
Die

این کار
می تواند فاصله
میان اجزا
را کاهش دهد
و Interconnect Density
را افزایش دهد.

چرا Cache گزینه مناسبی برای 3D Stacking است؟

CPUها به Cache
بسیار سریع
و نزدیک به Core
نیاز دارند.

قرار دادن
یک SRAM Die
روی Compute Die
می تواند
Cache Capacity
را بدون افزایش
شدید Footprint دوبعدی
افزایش دهد.

Compute Die
+
Vertically Stacked Cache
→
More Cache Capacity
in Similar Package Footprint

تاثیر بر عملکرد — Performance Impact: 3D Stacking فضای بیشتری می دهد اما Heat را پیچیده تر می کند

قرار دادن Dieها
روی یکدیگر
فاصله Interconnect
را کاهش می دهد.

اما Heat
باید از لایه های
بیشتری عبور کند.

اگر دو Die
با Power Density بالا
مستقیماً روی یکدیگر
قرار گیرند،
Hotspot
می تواند به مشکل
مهمی تبدیل شود.

Higher 3D Density
→
Better Interconnect Potential
+
Harder Thermal Management

TSV چیست؟

TSV
مخفف:

Through-Silicon Via

است.

TSV
یک اتصال عمودی
از داخل Silicon
ایجاد می کند
و می تواند
برای اتصال
لایه ها یا Dieهای
مختلف استفاده شود.

Microbump چیست؟

Dieها در Packaging
می توانند از
اتصال های بسیار کوچک
برای انتقال:

  • Signal،
  • Power،
  • و Ground

استفاده کنند.

این اتصال های کوچک
با مفهوم:

Microbumps

مرتبط هستند.

Hybrid Bonding چیست؟

Hybrid Bonding
یکی از فناوری های
پیشرفته اتصال
Die-to-Die
یا Wafer-to-Wafer
است.

هدف آن
ایجاد Interconnectهایی
با Pitch بسیار کوچک
و Density بالا است.

این فناوری
می تواند نسبت به
اتصال های مبتنی بر
Bumpهای بزرگ تر،
امکان ارتباط
متراکم تری فراهم کند.

چرا طراحی CPU دیگر فقط مسئله Transistor نیست؟

با سخت تر شدن Scaling،
بهینه سازی
باید در چند سطح
همزمان انجام شود.

از جمله:

  • Transistor Technology،
  • Standard Cell Design،
  • Microarchitecture،
  • Memory Hierarchy،
  • Interconnect،
  • Chiplet Architecture،
  • Packaging،
  • Cooling،
  • Compiler،
  • و Software.

یعنی Performance
آینده
از Co-Optimization
کل سیستم
به دست می آید.

Microarchitecture چگونه جای بخشی از Frequency Scaling را گرفت؟

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

بنابراین مهندسان
روی مواردی مانند:

  • Branch Prediction بهتر،
  • Out-of-Order Window بزرگ تر،
  • Execution Width بیشتر،
  • Cache بهتر،
  • Prefetching پیشرفته تر،
  • Memory Disambiguation،
  • و Execution Unitهای بیشتر

کار کردند.

More Work per Clock
→
Higher IPC

آیا IPC را می توان بی نهایت افزایش داد؟

خیر.

Instruction-Level Parallelism
در برنامه ها
محدود است.

Dependency،
Branch،
Memory Latency
و پیچیدگی سخت افزار
همگی محدودیت
ایجاد می کنند.

افزایش Width
و Window Size
نیز هزینه:

  • Area،
  • Power،
  • Complexity،
  • و Timing

دارد.

Memory Wall چیست؟

سرعت محاسبه CPU
در طول زمان
بسیار سریع رشد کرده،
اما Latency حافظه
با همان نرخ
کاهش پیدا نکرده است.

در نتیجه
شکاف میان:

CPU Compute Speed
and
Main Memory Access

اهمیت بیشتری
پیدا کرده است.

این مشکل
با مفهوم:

Memory Wall

شناخته می شود.

Cache چگونه با Memory Wall مقابله می کند؟

اگر Data
نزدیک CPU
نگهداری شود،
نیاز به مراجعه
مکرر به DRAM
کاهش پیدا می کند.

به همین دلیل
CPUهای مدرن
از چند سطح Cache
و الگوریتم های
Prefetch
استفاده می کنند.

L1
→
L2
→
L3
→
Main Memory

افزایش Transistor Budget
بخشی از رشد Cache
را نیز ممکن کرده است.

Bandwidth Wall چیست؟

حتی اگر Latency
قابل مدیریت باشد،
تعداد زیاد Core
و Accelerator
به Data
بسیار بیشتری
نیاز دارند.

اگر Memory System
نتواند Data
را با سرعت کافی
تحویل دهد،
Compute Unitها
منتظر می مانند.

More Compute
+
Insufficient Data Bandwidth
→
Idle Execution Resources

چرا High Bandwidth Memory اهمیت پیدا کرده است؟

Workloadهایی مانند:

  • AI،
  • Scientific Computing،
  • Graphics،
  • Simulation،
  • و Data Analytics

می توانند
Memory Bandwidth
بسیار زیادی
نیاز داشته باشند.

فناوری هایی مانند:

HBM
=
High Bandwidth Memory

برای افزایش
Bandwidth
میان Compute
و Memory
اهمیت پیدا کرده اند.

چرا جابه جایی Data گاهی از خود محاسبه پرهزینه تر است؟

انجام یک عملیات
Arithmetic ساده
ممکن است
Energy کمی
مصرف کند.

اما انتقال Data
از حافظه دورتر
می تواند
Energy بسیار بیشتری
نیاز داشته باشد.

به همین دلیل
یکی از اهداف مهم
معماری مدرن:

Move Less Data
and
Keep Data Closer to Compute

است.

چرا Performance per Watt مهم تر از Maximum Frequency شده است؟

در بسیاری از سیستم ها،
محدودیت اصلی
مقدار انرژی
و Heat
قابل مدیریت است.

بنابراین سؤال مهم
دیگر فقط این نیست:

«CPU چقدر سریع است؟»

بلکه:

«با هر وات انرژی
چقدر کار انجام می دهد؟»

Performance per Watt
=
Useful Performance
/
Power Consumption

چرا Performance per Watt در Server و Data Center حیاتی است؟

در Data Center،
Power CPU
فقط هزینه برق
خود پردازنده نیست.

Heat تولید شده
باید توسط
Cooling Infrastructure
دفع شود.

بنابراین CPU
با Efficiency بهتر
می تواند:

  • هزینه برق را کاهش دهد،
  • Cooling Requirement را کاهش دهد،
  • Compute Density را افزایش دهد،
  • و Total Cost of Ownership را کاهش دهد.

محدودیت Power در انواع کامپیوتر چگونه متفاوت است؟

نوع سیستم محدودیت اصلی هدف طراحی
موبایل باتری و دمای سطح دستگاه حداکثر Performance per Watt
لپ تاپ باتری، Cooling و وزن تعادل Performance، Runtime و Temperature
Desktop Cooling و Power Delivery Performance بالا با محدودیت حرارتی قابل مدیریت
Workstation Sustained Power و Reliability Performance پایدار در Workload سنگین
Server Power Density و Total Cost Throughput و Performance per Watt
HPC / AI Power، Memory Bandwidth و Cooling Maximum Compute Density و Efficiency

Beyond Moore چیست؟

اصطلاح:

Beyond Moore

به رویکردهایی
اشاره دارد
که افزایش قابلیت
سیستم را فقط
به کوچک سازی
Transistor
محدود نمی کنند.

این مسیرها
می توانند شامل:

  • Advanced Packaging،
  • Chiplets،
  • 3D Integration،
  • Specialized Accelerators،
  • New Memory Technologies،
  • Heterogeneous Computing،
  • و Hardware-Software Co-Design

باشند.

More-than-Moore چیست؟

More-than-Moore
معمولاً به افزایش
Functionality
سیستم از طریق
ادغام فناوری هایی
فراتر از
Scaling ساده Logic
اشاره دارد.

برای مثال:

  • Analog،
  • RF،
  • Sensor،
  • Power Management،
  • Memory،
  • Photonics،
  • و Specialized Functions.

آیا Moore’s Law مرده است؟

پاسخ به این سؤال
به تعریف
Moore’s Law
بستگی دارد.

اگر منظور
دو برابر شدن ارزان
و ساده Transistorها
با همان ریتم تاریخی باشد،
ادامه مسیر
بسیار دشوارتر شده است.

اما صنعت همچنان
از روش های مختلف
برای افزایش
Transistor Count
و Compute Density
استفاده می کند.

بنابراین بهتر است
به جای پاسخ
کاملاً صفر و یک،
بگوییم:

Traditional Scaling
Is Slowing and Becoming More Complex

چرا Cost Scaling به اندازه گذشته ساده نیست؟

Advanced Nodeها
به تجهیزات
و فرآیندهای
بسیار پیچیده نیاز دارند.

هزینه:

  • Fab،
  • Lithography،
  • Mask Set،
  • EDA،
  • Verification،
  • Design،
  • و Packaging

به شدت افزایش یافته است.

بنابراین کوچک تر شدن
Transistor
الزاماً همان
کاهش تاریخی
Cost per Transistor
را ایجاد نمی کند.

آیا علاوه بر محدودیت فیزیکی، محدودیت اقتصادی هم وجود دارد؟

بله.

حتی اگر ساخت
یک فناوری از نظر فیزیکی
ممکن باشد،
باید از نظر اقتصادی
نیز قابل توجیه باشد.

بنابراین آینده
Semiconductor
فقط توسط Physics
تعیین نمی شود.

Technology Feasibility
+
Manufacturing Yield
+
Development Cost
+
Market Value
=
Practical Product

Hardware-Software Co-Design چیست؟

وقتی افزایش Performance
سخت تر می شود،
سخت افزار
و نرم افزار
باید هماهنگ تر
طراحی شوند.

Compiler
می تواند
از Instructionهای
جدید استفاده کند.

Operating System
می تواند Threadها
را روی Core مناسب
قرار دهد.

Application
می تواند Workload
را به Accelerator
مناسب منتقل کند.

Hardware
+
Compiler
+
Operating System
+
Application
→
System Performance

زیرساخت فنی — اگر Transistorها بیشتر شده اند، چرا همه آنها را همزمان روشن نمی کنیم؟

فرض کنید
یک CPU
تعداد بسیار زیادی
Execution Unit،
Core،
Cache
و Accelerator
داشته باشد.

از نظر فیزیکی
این واحدها
روی Silicon
وجود دارند.

اما اگر
همه واحدهای محاسباتی
همزمان
با Maximum Frequency
فعالیت کنند،
Power Density
ممکن است
از محدوده طراحی
عبور کند.

Available Hardware
>
Simultaneously Sustainable Maximum Activity

بنابراین CPU
از مکانیزم هایی مانند:

  • Clock Gating،
  • Power Gating،
  • DVFS،
  • Turbo Management،
  • Thermal Control،
  • و Workload Scheduling

استفاده می کند.

پردازنده مدرن
در واقع دائماً
تصمیم می گیرد
کدام بخش Silicon
در چه لحظه ای
ارزش مصرف Power
را دارد.

آینده افزایش Performance پردازنده ها چگونه خواهد بود؟

احتمالاً هیچ فناوری
به تنهایی
جای Scaling سنتی
را نمی گیرد.

پیشرفت از ترکیب
چند مسیر
حاصل خواهد شد:

  • Process Nodeهای پیشرفته تر،
  • ساختارهای جدید Transistor،
  • Microarchitecture بهتر،
  • Coreهای تخصصی تر،
  • Chiplet،
  • Advanced Packaging،
  • 3D Stacking،
  • Cache بزرگ تر،
  • Memory Bandwidth بیشتر،
  • Acceleratorهای تخصصی،
  • و Hardware-Software Co-Design.

نقشه تغییر مسیر افزایش Performance پردازنده

Transistor Scaling
↓
Higher Frequency
↓
Power Wall
↓
Multi-Core
↓
Parallelism
↓
Specialized Accelerators
↓
Heterogeneous Computing
↓
Chiplets
↓
Advanced Packaging
↓
3D Integration
↓
System-Level Co-Optimization

مهم ترین روش های ادامه افزایش Performance

روش هدف محدودیت اصلی
Frequency Scaling اجرای Cycle بیشتر در ثانیه Power و Temperature
IPC Improvement کار بیشتر در هر Clock Complexity و ILP
Multi-Core Parallel Throughput بیشتر Software Parallelism
Larger Cache کاهش Memory Stall Area و Latency
Accelerators Efficiency بالا برای Workload خاص محدود بودن کاربرد
Chiplets Scaling و Yield بهتر Interconnect و Packaging
3D Stacking Density و Interconnect بیشتر Thermal Management
Advanced Memory Bandwidth بیشتر Cost و Power

اشتباهات رایج — Common Mistakes: قانون مور و آینده Performance
  • فرض اینکه Moore’s Law یک قانون بنیادی فیزیک است.
  • فرض اینکه قانون مور می گوید Performance هر دو سال دو برابر می شود.
  • یکی دانستن Moore’s Law و Dennard Scaling.
  • فرض اینکه Frequency می تواند بدون محدودیت افزایش پیدا کند.
  • نادیده گرفتن اثر Voltage بر Power.
  • فرض اینکه Core بیشتر همیشه Performance خطی ایجاد می کند.
  • نادیده گرفتن بخش Serial برنامه.
  • نادیده گرفتن Synchronization و Parallel Overhead.
  • تفسیر Dark Silicon به عنوان Silicon خراب.
  • فرض اینکه تمام واحدهای CPU باید همیشه فعال باشند.
  • فرض اینکه Accelerator فقط در لپ تاپ یا موبایل کاربرد دارد.
  • فرض اینکه Chiplet فقط برای کاهش هزینه استفاده می شود.
  • نادیده گرفتن نقش Packaging در معماری CPU مدرن.
  • فرض اینکه 3D Stacking بدون مشکل Thermal است.
  • نادیده گرفتن Memory Wall و Data Movement.
  • تمرکز صرف بر Maximum Frequency به جای Performance per Watt.

سوالات متداول درباره Moore’s Law و آینده CPU

قانون مور چیست؟

مشاهده ای تاریخی
درباره روند افزایش
تعداد Componentها
و Transistorهای
قابل قرارگیری
روی Integrated Circuitهاست.

آیا Moore’s Law قانون فیزیکی است؟

خیر.
یک Technology Trend
تاریخی است،
نه قانون بنیادی طبیعت.

چرا Frequency پردازنده ها دیگر مثل گذشته افزایش پیدا نمی کند؟

Power،
Voltage،
Temperature،
Pipeline Complexity
و محدودیت های فیزیکی
افزایش Frequency
را دشوار کرده اند.

چرا CPUها چند هسته ای شدند؟

Multi-Core
یکی از راه های
استفاده از
Transistor Budget بیشتر
بدون تکیه کامل
بر Frequency Scaling است.

Dark Silicon چیست؟

به محدودیتی اشاره دارد
که اجازه نمی دهد
تمام منابع محاسباتی
تراشه همیشه
با Maximum Activity
کار کنند.

Amdahl’s Law چیست؟

نشان می دهد
بخش Serial
یک برنامه
Maximum Speedup
حاصل از Parallelization
را محدود می کند.

آیا Core بیشتر همیشه بهتر است؟

خیر.
Workload باید بتواند
از Parallelism
استفاده کند
و محدودیت های
Memory و Synchronization
نیز مهم هستند.

چرا Accelerator مهم شده است؟

چون سخت افزار تخصصی
می تواند بعضی Workloadها
را با Performance
و Efficiency بسیار بالاتر
از General-Purpose Core
اجرا کند.

آیا آینده CPU فقط Chiplet است؟

خیر.
Chiplet یکی از ابزارهاست.
آینده از ترکیب
Process Technology،
Architecture،
Packaging،
Memory،
Accelerators
و Software
شکل می گیرد.

چرا 3D Stacking مهم است؟

می تواند Density
و Interconnect Bandwidth
را افزایش دهد،
اما Thermal Management
را دشوارتر می کند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Moore’s Law: روند تاریخی افزایش تعداد Componentها و Transistorها در Integrated Circuit.
  • Power Wall: محدودیت افزایش Performance ناشی از Power Consumption.
  • Thermal Wall: محدودیت ناشی از توان دفع Heat.
  • Dark Silicon: محدودیت فعال سازی همزمان تمام منابع تراشه در Maximum Performance.
  • Amdahl’s Law: قانون محدودیت Speedup ناشی از بخش Serial برنامه.
  • Parallel Overhead: هزینه اضافی ایجاد شده توسط Parallel Execution.
  • Clock Gating: توقف Clock در بخش های غیر فعال برای کاهش Dynamic Power.
  • Power Gating: کاهش یا قطع Power بخش های غیر فعال.
  • DVFS: Dynamic Voltage and Frequency Scaling.
  • Hardware Accelerator: سخت افزار تخصصی برای Workload مشخص.
  • Heterogeneous Computing: استفاده از Processing Unitهای متفاوت در یک سیستم.
  • Reticle Limit: محدودیت اندازه Pattern قابل انتقال در یک Exposure.
  • 2.5D Integration: اتصال چند Die کنار یکدیگر با Packaging پیشرفته.
  • 3D Stacking: قرار دادن Dieها روی یکدیگر.
  • TSV: Through-Silicon Via.
  • Microbump: اتصال کوچک میان Dieها در Packaging.
  • Hybrid Bonding: فناوری اتصال بسیار متراکم Die-to-Die یا Wafer-to-Wafer.
  • Memory Wall: شکاف میان سرعت Compute و دسترسی Main Memory.
  • Bandwidth Wall: محدودیت Performance ناشی از Data Bandwidth ناکافی.
  • HBM: High Bandwidth Memory.
  • Performance per Watt: مقدار Performance حاصل به ازای Power مصرفی.
  • Beyond Moore: روش های افزایش قابلیت سیستم فراتر از Scaling سنتی.
  • More-than-Moore: افزودن Functionality از طریق فناوری های مکمل Logic Scaling.
  • Hardware-Software Co-Design: طراحی هماهنگ سخت افزار و نرم افزار برای افزایش Efficiency.

خلاصه فصل

Moore’s Law
یکی از مهم ترین
روندهای تاریخی
صنعت Semiconductor
بوده است.

افزایش تعداد Transistorها
امکانات بسیار بیشتری
در اختیار
طراحان CPU
قرار داد.

اما پایان
Scaling ساده Voltage
باعث شد
افزایش Frequency
با محدودیت شدید
Power و Temperature
روبه رو شود.

Frequency Scaling
→
Power Wall
→
Multi-Core
→
Specialization
→
Heterogeneous Computing

Multi-Core
بخشی از مشکل
را حل کرد،
اما Amdahl’s Law
نشان می دهد
Parallelism
نیز محدودیت دارد.

در ادامه،
صنعت به سمت
Specialized Accelerator،
Chiplet،
Advanced Packaging
و 3D Integration
حرکت کرده است.

همزمان،
Memory Wall
و هزینه
Data Movement
باعث شده اند
Cache،
Memory Bandwidth
و نزدیکی Data
به Compute
اهمیت بیشتری پیدا کنند.


آینده پردازنده دیگر فقط مسابقه کوچک تر کردن Transistor یا
افزایش GHz نیست؛ Performance آینده از همکاری Process،
Architecture، Memory، Packaging، Specialized Hardware،
Power Management و Software به دست می آید.


فصل 96
سطح: پایه تا پیشرفته
موضوع: هویت و نسل پردازنده
تمرکز: Generation / Architecture / Microarchitecture / Codename / Family / Model / SKU


نام یک پردازنده فقط یک اسم نیست؛ مجموعه ای از اطلاعات فنی و تجاری در پشت آن قرار دارد

نسل، معماری، ریزمعماری، نام رمز و مدل CPU چه تفاوتی با یکدیگر دارند؟

هنگام بررسی مشخصات یک پردازنده
با اصطلاحات زیادی روبه رو می شویم.

ممکن است درباره یک CPU
از نسل،
معماری،
ریزمعماری،
نام رمز،
خانواده،
مدل،
سری
و فناوری ساخت
صحبت شود.

این اصطلاحات
به یک مفهوم واحد
اشاره نمی کنند.

برای مثال ممکن است
دو پردازنده
نام تجاری متفاوتی داشته باشند،
اما از یک Microarchitecture
استفاده کنند.

یا دو پردازنده
از یک خانواده تجاری باشند،
اما ساختار داخلی
و Process Technology
متفاوتی داشته باشند.

Product Name
≠
Architecture
≠
Microarchitecture
≠
Codename
≠
Process Node

شناخت این تفاوت ها
برای مقایسه صحیح پردازنده های
Desktop،
Laptop،
Workstation،
Server
و سایر سیستم ها
ضروری است.

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU Generation چیست.
  • Architecture چیست.
  • ISA چه تفاوتی با Microarchitecture دارد.
  • Microarchitecture چیست.
  • Codename چیست.
  • Product Family چیست.
  • Series چیست.
  • Model Number چیست.
  • SKU چیست.
  • Suffix چیست.
  • Process Node چه ارتباطی با نسل CPU دارد.
  • چرا یک نسل ممکن است بیش از یک نوع Core داشته باشد.
  • چرا یک Microarchitecture می تواند در چند محصول استفاده شود.
  • چرا نام تجاری همیشه اطلاعات فنی کافی نمی دهد.
  • چگونه هویت واقعی یک CPU را مرحله به مرحله تشخیص دهیم.

هویت یک CPU از چه لایه هایی تشکیل می شود؟

برای جلوگیری از سردرگمی،
می توان مشخصات یک CPU
را به چند لایه
تقسیم کرد.

ISA
↓
Microarchitecture
↓
Design / Codename
↓
Product Family
↓
Series / Generation
↓
Model / SKU
↓
Suffix

Process Technology
نیز در کنار این زنجیره
قرار می گیرد
و مشخص می کند
بخش های مختلف تراشه
با چه فناوری ساختی
تولید شده اند.

Architecture در CPU یعنی چه؟

واژه Architecture
در دنیای پردازنده
می تواند در چند سطح
استفاده شود.

گاهی وقتی گفته می شود
«معماری پردازنده»،
منظور Instruction Set Architecture
است.

در موارد دیگر،
Architecture
به صورت عمومی تر
برای توصیف ساختار
یک خانواده پردازنده
استفاده می شود.

به همین دلیل
هنگام مطالعه مشخصات
باید مشخص شود
منظور دقیق از Architecture
چیست.

Instruction Set Architecture یا ISA چیست؟


معماری مجموعه دستورالعمل — Instruction Set Architecture

ISA
رابط معماری
میان Software
و Processor
را تعریف می کند.

این سطح مشخص می کند
نرم افزار چه Instructionهایی
می تواند برای CPU
ارسال کند
و چه رفتار معماری
انتظار می رود.

ISA
=
Software-Visible Machine Interface

نمونه خانواده های ISA
می توانند شامل:

x86
/
x86-64
/
Arm
/
RISC-V

باشند.

اشتباه رایج — Common Mistake: پردازنده هایی با ISA یکسان، طراحی داخلی یکسانی دارند

خیر.

ISA
رفتار قابل مشاهده
توسط Software
را تعریف می کند،
اما نحوه پیاده سازی
داخلی CPU
می تواند بسیار متفاوت باشد.

Same ISA
≠
Same Microarchitecture

Microarchitecture چیست؟


ریزمعماری — Microarchitecture

Microarchitecture
روش داخلی
پیاده سازی یک ISA
در یک Processor Design
است.

ریزمعماری تعیین می کند
CPU چگونه Instructionها
را Fetch،
Decode،
Schedule،
Execute
و Retire می کند.

مواردی مانند:

  • Pipeline Depth،
  • Decode Width،
  • Execution Width،
  • Reorder Buffer،
  • Branch Predictor،
  • Execution Units،
  • Load / Store System،
  • Cache Architecture،
  • و Power Management

بخشی از طراحی
Microarchitecture هستند.

چگونه دو CPU با ISA یکسان می توانند Performance متفاوتی داشته باشند؟

فرض کنید
دو CPU
هر دو یک برنامه
x86-64
را اجرا کنند.

یکی ممکن است
Branch Predictor بهتر،
Cache بزرگ تر،
Execution Width بیشتر
و Out-of-Order Engine
پیشرفته تری داشته باشد.

در نتیجه:

Same Software
+
Same ISA
+
Different Microarchitecture
→
Different Performance

Codename چیست؟


نام رمز — Codename

Codename
نامی است
که برای شناسایی
یک Design،
Platform،
Die
یا نسل مشخص
در مراحل توسعه
و معرفی محصول
استفاده می شود.

نام رمز
لزوماً همان
نام تجاری محصول
نیست.

برای مثال
نام هایی مانند:

Alder Lake
/
Raptor Lake
/
Meteor Lake
/
Zen

در بحث های فنی
برای تشخیص
نسل یا طراحی
اهمیت زیادی دارند.

آیا Codename همیشه نام Microarchitecture است؟

خیر.

این یکی از
مهم ترین تفاوت هایی است
که باید به آن توجه کرد.

Codename
ممکن است نام:

  • یک خانواده Processor،
  • یک Die،
  • یک Platform،
  • یک SoC،
  • یا یک پروژه طراحی

باشد.

بنابراین نباید
هر Codename
را مستقیماً
معادل Microarchitecture
در نظر گرفت.

Generation یا نسل CPU چیست؟

Generation
معمولاً روشی
برای گروه بندی
محصولات یک دوره
یا خانواده مشخص است.

اما Generation
یک استاندارد جهانی
و یکسان
میان تمام سازندگان نیست.

هر شرکت
می تواند ساختار
نام گذاری نسل
خودش را داشته باشد.

Generation
=
Vendor Product Classification

Generation
≠
Universal Technical Standard

نسل چه تفاوتی با Microarchitecture دارد؟

Generation
بیشتر یک طبقه بندی
محصول است.

Microarchitecture
طراحی داخلی
پردازنده را توصیف می کند.

ممکن است
یک Generation
شامل بیش از یک
نوع Microarchitecture
یا Core Architecture
باشد.

این موضوع
در CPUهای Hybrid
اهمیت بیشتری دارد.

چرا یک CPU می تواند همزمان چند نوع Microarchitecture داشته باشد؟

در طراحی های
Heterogeneous یا Hybrid،
همه Coreها
الزاماً یکسان نیستند.

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

Performance Core
+
Efficiency Core

باشد.

هر گروه Core
می تواند طراحی داخلی
متفاوتی داشته باشد،
در حالی که هر دو
بخشی از یک CPU
و یک Product Generation
هستند.

Product Family چیست؟

Product Family
گروه بزرگی
از محصولات مرتبط
با یک Brand
یا Positioning
مشخص است.

برای مثال
یک شرکت می تواند
خانواده هایی
برای:

  • مصرف عمومی،
  • Desktop،
  • Mobile،
  • Workstation،
  • Server،
  • Embedded،
  • و High-Performance Computing

داشته باشد.

Series چیست؟

Series
معمولاً زیرمجموعه ای
از Product Family
است که چند مدل
مرتبط را
در یک گروه
قرار می دهد.

اما معنی دقیق Series
نیز به سیستم
نام گذاری سازنده
بستگی دارد.

Model Number چیست؟

Model Number
شناسه ای تجاری
برای تشخیص
یک مدل پردازنده
از مدل های دیگر
همان خانواده است.

Model Number
ممکن است اطلاعاتی
درباره:

  • رده محصول،
  • نسل،
  • سطح Performance،
  • نوع Platform،
  • و ویژگی های خاص

در خود داشته باشد.

اما این اطلاعات
باید براساس
Naming Scheme
همان سازنده
تفسیر شوند.

SKU چیست؟


واحد مشخص محصول — Stock Keeping Unit

SKU
به یک Variant
مشخص از محصول
اشاره می کند
که ویژگی ها
و Positioning
مشخصی دارد.

در دنیای CPU
اصطلاح SKU
معمولاً برای اشاره
به مدل مشخصی
از یک خانواده
استفاده می شود.

Product Family
→
Series
→
Individual SKU

دو SKU از یک خانواده چه تفاوت هایی می توانند داشته باشند؟

حتی اگر دو CPU
از یک Design
یا Generation
باشند،
ممکن است در موارد زیر
متفاوت باشند:

  • Core Count،
  • Thread Count،
  • Base Frequency،
  • Boost Frequency،
  • Cache Capacity،
  • Integrated Graphics،
  • Power Limit،
  • Memory Support،
  • Feature Enablement،
  • و Target Market.

Suffix یا پسوند نام CPU چیست؟

بعضی پردازنده ها
پس از Model Number
دارای یک یا چند حرف
هستند.

این حروف
می توانند اطلاعاتی
درباره ویژگی
یا Positioning
آن مدل بدهند.

اما معنی آنها
بین شرکت ها
و حتی میان
نسل های مختلف
می تواند تغییر کند.

بنابراین نباید
معنی یک Suffix
را از یک خانواده
به خانواده دیگر
تعمیم داد.

اشتباه رایج — Common Mistake: حروف انتهای نام CPU در همه نسل ها یک معنی ثابت دارند

چنین قاعده جهانی
وجود ندارد.

Suffix
بخشی از Naming Scheme
سازنده است
و باید براساس
مستندات همان
Product Family
تفسیر شود.

Process Node چه ارتباطی با Generation دارد؟

Process Node
فناوری ساخت
Semiconductor
را توصیف می کند.

Generation
یک طبقه بندی
محصول است.

این دو
به یکدیگر مرتبط هستند،
اما یک مفهوم
نیستند.

Generation
≠
Process Node

آیا یک CPU می تواند از چند Process Node استفاده کند؟

بله.

در طراحی های
Multi-Die
یا Chiplet-Based،
بخش های مختلف
پردازنده
می توانند با
Process Technologyهای
متفاوت ساخته شوند.

برای مثال:

Compute Die
→
Advanced Process Node

I/O Die
→
Mature Process Node

بنابراین نسبت دادن
یک Node واحد
به کل Package
همیشه تصویر کامل
معماری فیزیکی محصول
را نشان نمی دهد.

Microarchitecture چه تفاوتی با Process Technology دارد؟

Microarchitecture
درباره نحوه طراحی
و سازمان دهی
CPU است.

Process Technology
درباره نحوه ساخت
مدارهای فیزیکی
آن طراحی است.

Microarchitecture
=
How the CPU Is Designed

Process Technology
=
How the Silicon Is Manufactured

آیا یک Microarchitecture می تواند روی Process متفاوت ساخته شود؟

از نظر مفهومی بله،
اما انتقال طراحی
به Process دیگر
کار ساده ای نیست.

Process جدید
دارای:

  • Design Rule متفاوت،
  • Standard Cell متفاوت،
  • Timing Characteristics متفاوت،
  • Power Characteristics متفاوت،
  • و Physical Constraints متفاوت

است.

بنابراین Port کردن
یک Design
می تواند نیازمند
تغییرات قابل توجهی باشد.

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

گاهی سازنده
بدون ایجاد
یک Microarchitecture
کاملاً جدید،
خانواده ای جدید
یا به روزشده
عرضه می کند.

این نوع محصول
ممکن است با اصطلاح:

Refresh

توصیف شود.

تغییرات ممکن است
شامل:

  • Frequency بالاتر،
  • Core Configuration متفاوت،
  • Power Optimization،
  • Memory Support جدید،
  • یا Platform Update

باشند.

اشتباه رایج — Common Mistake: شماره نسل جدید همیشه یعنی Microarchitecture کاملاً جدید

خیر.

یک Product Generation
ممکن است:

  • Microarchitecture جدید داشته باشد،
  • نسخه بهبود یافته طراحی قبلی باشد،
  • Refresh باشد،
  • یا ترکیبی از چند فناوری مختلف باشد.

Die و Codename چه ارتباطی دارند؟

گاهی یک Codename
به طراحی
یک Die مشخص
اشاره دارد.

اما یک Product
می تواند
چند Die
داشته باشد.

بنابراین ممکن است
برای بخش های مختلف
یک Package
نام های فنی
متفاوتی وجود داشته باشد.

CPU Package
=
One Die
or
Multiple Dies

SoC چه تاثیری بر مفهوم نسل CPU دارد؟

در بسیاری از پردازنده های مدرن،
محصول فقط شامل
CPU Core نیست.

ممکن است
در همان Package
یا SoC
اجزایی مانند:

  • CPU،
  • GPU،
  • NPU،
  • Memory Controller،
  • Display Engine،
  • Media Engine،
  • I/O،
  • Security Engine،
  • و Interconnect

وجود داشته باشند.

بنابراین «نسل CPU»
در بعضی محصولات
عملاً بخشی از
یک SoC Generation
بزرگ تر است.

یک مثال مفهومی از نام گذاری پردازنده های Intel

فرض کنیم
درباره خانواده ای
با نام تجاری:

Intel Core

صحبت می کنیم.

در طول زمان
Product Generationهای مختلف
می توانند Codenameهای
متفاوتی داشته باشند.

برای مثال:

Alder Lake
→
Raptor Lake
→
Meteor Lake

اما این نام ها
را نباید
بدون بررسی دقیق
معادل مستقیم
یک Microarchitecture واحد
در نظر گرفت.

چرا تغییر نام تجاری می تواند تشخیص نسل را دشوار کند؟

سازندگان می توانند
Naming Scheme
محصولات خود را
تغییر دهند.

برای مثال
تغییر Branding
از یک ساختار نام گذاری
به ساختار دیگری
الزاماً به این معنی نیست
که تمام مفاهیم فنی
نیز از صفر
تغییر کرده اند.

بنابراین در محصولاتی
با نام هایی مانند:

Core
/
Core Ultra

باید Model،
Series،
Architecture
و مشخصات واقعی
بررسی شوند،
نه فقط Brand Name.

یک مثال مفهومی از نام گذاری پردازنده های AMD

در خانواده:

AMD Ryzen

ممکن است با نام هایی مانند:

Ryzen 5
/
Ryzen 7
/
Ryzen 9

روبه رو شویم.

این نام ها
بیشتر Positioning
محصول را نشان می دهند
و به تنهایی
Microarchitecture
یا Performance دقیق
را مشخص نمی کنند.

Zen چیست؟

Zen
نام خانواده ای
از Microarchitectureهای
CPU شرکت AMD است.

نسل های مختلف
این خانواده
با نام هایی مانند:

Zen
→
Zen 2
→
Zen 3
→
Zen 4
→
Zen 5

شناخته می شوند.

اما Product Name
مانند Ryzen
و Microarchitecture Name
مانند Zen
دو مفهوم
متفاوت هستند.

Ryzen
=
Product Brand / Family

Zen
=
Microarchitecture Family

آیا تمام پردازنده هایی که عدد سری مشابه دارند الزاماً معماری یکسانی دارند؟

نباید چنین فرضی کرد.

مخصوصاً در خانواده هایی
که محصولات Desktop
و Mobile
با Naming Scheme
گسترده عرضه می شوند،
یک شماره Series
ممکن است اطلاعات کافی
برای تعیین
Microarchitecture
نداشته باشد.

بنابراین برای تشخیص دقیق
باید Model Number
کامل بررسی شود.

Core i3، Core i5، Ryzen 5 و Ryzen 7 چه چیزی را نشان می دهند؟

این نوع نام ها
معمولاً Product Tier
یا رده تجاری
محصول را مشخص می کنند.

Tier
می تواند جایگاه
تقریبی محصول
در همان خانواده
را نشان دهد.

اما:

Product Tier
≠
CPU Generation

Product Tier
≠
Exact Performance

آیا Core i7 همیشه از Core i5 سریع تر است؟

خیر.

اگر دو پردازنده
متعلق به نسل ها،
Platformها
یا Power Classهای
متفاوت باشند،
Tier به تنهایی
برای مقایسه
کافی نیست.

یک Mid-Range CPU
جدید
می تواند در بعضی Workloadها
از High-End CPU
قدیمی تر
سریع تر باشد.

Newer Mid-Tier
Can Be Faster Than
Older High-Tier

چرا دو CPU با نام نزدیک می توانند Performance بسیار متفاوتی داشته باشند؟

CPUها برای
Power Envelopeهای
متفاوت طراحی می شوند.

یک Processor
مخصوص سیستم کم مصرف
و یک Processor
مخصوص Desktop
ممکن است نام تجاری
مشابهی داشته باشند،
اما محدودیت های:

  • Power،
  • Cooling،
  • Frequency،
  • Core Count،
  • و Sustained Performance

آنها متفاوت باشد.

Market Segment چرا هنگام خواندن نام CPU مهم است؟

قبل از مقایسه
دو CPU
باید مشخص کنیم
برای چه نوع سیستمی
طراحی شده اند.

Segmentها می توانند شامل:

  • Mobile،
  • Desktop،
  • Workstation،
  • Server،
  • Embedded،
  • و Data Center

باشند.

مقایسه Model Number
بدون توجه
به Segment
می تواند نتیجه
اشتباهی ایجاد کند.

Binning چه ارتباطی با SKU دارد؟

همان طور که
در فصل ساخت CPU
بررسی کردیم،
Dieهای تولید شده
می توانند از نظر:

  • Maximum Frequency،
  • Voltage Requirement،
  • Power Characteristics،
  • Functional Units،
  • و Defect

متفاوت باشند.

Binning
یکی از فرآیندهایی است
که می تواند
به تعیین
SKU نهایی
کمک کند.

آیا دو مدل CPU ممکن است از Die مشابه ساخته شده باشند؟

بله.

در بعضی طراحی ها،
چند SKU
می توانند از
یک Die Design
مشترک استفاده کنند.

برای ایجاد مدل های مختلف،
ممکن است بعضی:

  • Coreها،
  • Cache Sliceها،
  • GPU Unitها،
  • یا Featureها

غیرفعال شوند.

Same Physical Die Design
→
Different Enabled Configuration
→
Different SKU

Stepping چیست؟

حتی یک CPU
با Model Number یکسان
می تواند در طول
عمر تولید
Revisionهای مختلفی
از Silicon
داشته باشد.

این Revisionها
معمولاً با مفهوم:

Stepping

شناخته می شوند.

Stepping جدید
ممکن است شامل:

  • Bug Fix،
  • Errata Correction،
  • Manufacturing Improvement،
  • Power Optimization،
  • یا Minor Silicon Revision

باشد.

اشتباه رایج — Common Mistake: Stepping جدید یعنی نسل جدید CPU

خیر.

Stepping
معمولاً Revision
همان Silicon Design
است،
نه یک Product Generation
کاملاً جدید.

Family، Model و Stepping در سطح فنی CPU چه معنایی دارند؟

علاوه بر نام تجاری،
CPU می تواند
شناسه های معماری
قابل خواندن توسط Software
نیز داشته باشد.

در برخی معماری ها
اطلاعاتی مانند:

Family
/
Model
/
Stepping

برای شناسایی
Processor Implementation
استفاده می شوند.

این شناسه ها
را نباید
الزاماً با
Product Family
تجاری
یکی دانست.

نکته مهندسی — Engineering Insight: Family می تواند دو معنی متفاوت داشته باشد

عبارت Product Family
می تواند
یک گروه تجاری
از محصولات را
توصیف کند.

اما Family
در شناسه های
سطح Processor
ممکن است
یک مقدار فنی
برای شناسایی
CPU باشد.

بنابراین:

Marketing Product Family
≠
Processor Identification Family

چرا از روی نام CPU نمی توان همه چیز را فهمید؟

نام تجاری
باید کوتاه
و قابل استفاده
برای بازار باشد.

اما یک CPU
ممکن است صدها
ویژگی فنی مهم
داشته باشد.

نام محصول
معمولاً نمی تواند
تمام اطلاعاتی مانند:

  • Microarchitecture،
  • Die Configuration،
  • Cache Topology،
  • Memory Controller،
  • Process Node،
  • Instruction Extensions،
  • Power Limit،
  • Package،
  • و Platform Features

را منتقل کند.

برای شناسایی دقیق یک CPU چه مراحلی را طی کنیم؟

یک روش منطقی
این است که
از نام تجاری
شروع کنیم
و مرحله به مرحله
به مشخصات فنی
برسیم.

Exact Product Name
↓
Vendor
↓
Product Family
↓
Market Segment
↓
Series / Generation
↓
Exact Model
↓
Suffix
↓
Codename
↓
Core Microarchitecture
↓
ISA
↓
Process Technology
↓
Core / Thread / Cache / Frequency
↓
Power and Platform Characteristics

مرحله اول: نام کامل CPU را پیدا کنید

مقایسه عباراتی مانند:

Core i7
vs
Ryzen 7

تقریباً اطلاعات کافی
برای مقایسه دقیق
ارائه نمی دهد.

باید Model Number
کامل مشخص باشد.

مرحله دوم: Segment را مشخص کنید

بررسی کنید CPU
برای چه محیطی
طراحی شده است.

Mobile
/
Desktop
/
Workstation
/
Server
/
Embedded

این مرحله
از مقایسه اشتباه
محصولات با Power Class
متفاوت جلوگیری می کند.

مرحله سوم: Generation و Codename را پیدا کنید

Generation
جایگاه زمانی
و تجاری محصول
را بهتر مشخص می کند.

Codename
نیز می تواند
اطلاعات دقیق تری
درباره Design
یا Platform
در اختیار شما قرار دهد.

مرحله چهارم: Microarchitecture را بررسی کنید

این مرحله
برای فهمیدن
تفاوت واقعی
طراحی Core
بسیار مهم است.

در CPUهای Hybrid
باید Microarchitecture
هر نوع Core
جداگانه بررسی شود.

مرحله پنجم: مشخصات واقعی را بررسی کنید

در نهایت
باید مشخصات واقعی
مدل بررسی شوند.

  • Core Count،
  • Thread Count،
  • Frequency،
  • Cache،
  • Memory Support،
  • PCIe،
  • Integrated Graphics،
  • Power Limits،
  • Instruction Extensions،
  • و Platform Compatibility.

مرحله ششم: Performance واقعی را بررسی کنید

حتی پس از
شناخت کامل مشخصات،
برای تصمیم گیری نهایی
باید Performance
در Workload واقعی
بررسی شود.

مشخصات روی کاغذ
جای Benchmark
مناسب را نمی گیرند.

Specifications
+
Architecture Knowledge
+
Real Workload Benchmarks
=
Better CPU Comparison

تاثیر بر عملکرد — Performance Impact: نسل بالاتر به تنهایی Performance را تعیین نمی کند

یک CPU جدیدتر
ممکن است
Microarchitecture بهتر،
Process پیشرفته تر
و قابلیت های بیشتری
داشته باشد.

اما Performance نهایی
همچنان به:

  • تعداد Core،
  • نوع Core،
  • Frequency،
  • Cache،
  • Power Limit،
  • Memory،
  • Cooling،
  • و نوع Workload

بستگی دارد.

Newer Generation
≠
Automatically Faster in Every Workload

مقایسه Generation، Architecture، Microarchitecture، Codename و SKU

اصطلاح معنی اصلی نمونه کاربرد
ISA رابط Instruction میان Software و Processor x86-64 / Arm / RISC-V
Microarchitecture روش داخلی پیاده سازی Processor طراحی Pipeline، Execution و Cache
Codename نام رمز Design یا Platform Alder Lake / Meteor Lake
Generation طبقه بندی یک دوره یا گروه محصول نسل یا Series محصول
Product Family خانواده تجاری محصول Core / Ryzen / Xeon / EPYC
Product Tier رده تقریبی محصول Core i5 / Ryzen 7
Model Number شناسه مدل مشخص شماره کامل Processor
SKU Variant مشخص محصول یک Configuration مشخص از خانواده
Suffix نشانه تکمیلی مدل رده Power یا Feature خاص بسته به سازنده
Process Node نسل فناوری ساخت Semiconductor Technology Node
Stepping Revision یک Silicon Design اصلاح یا Revision تولید

زیرساخت فنی — یک نام تجاری چگونه در نهایت به یک تراشه واقعی تبدیل می شود؟

وقتی یک CPU
با یک نام مشخص
در بازار می بینیم،
پشت آن نام
چندین لایه
تصمیم فنی وجود دارد.

ابتدا ISA
مشخص می کند
Software چه Machine Model
را مشاهده می کند.

Microarchitecture
مشخص می کند
این رفتار چگونه
در سخت افزار
پیاده سازی شود.

Physical Design
این ساختار منطقی
را به Circuit
و Layout
تبدیل می کند.

Process Technology
مشخص می کند
این Layout
با چه فناوری
روی Silicon
ساخته شود.

Testing و Binning
مشخص می کنند
Die تولید شده
برای کدام SKU
مناسب است.

در نهایت
Marketing
و Product Management
آن Configuration
را در یک
Product Family
و Model Number
مشخص قرار می دهند.

ISA
→
Microarchitecture
→
Logic Design
→
Physical Design
→
Manufacturing
→
Testing
→
Binning
→
SKU
→
Product Name

بنابراین نامی
که روی جعبه CPU
یا مشخصات یک سیستم
مشاهده می کنیم،
آخرین لایه
یک زنجیره بسیار بزرگ
مهندسی است.

هنگام خرید سیستم از روی نام CPU چگونه قضاوت نکنیم؟

یکی از اشتباهات رایج
این است که فقط
عبارت هایی مانند:

i5
/
i7
/
Ryzen 5
/
Ryzen 7

بررسی شوند.

این اطلاعات
بدون Model Number کامل
بسیار ناقص هستند.

هنگام خرید:

  • مدل کامل CPU را بخوانید.
  • نسل آن را مشخص کنید.
  • Mobile یا Desktop بودن را بررسی کنید.
  • Suffix را بررسی کنید.
  • Core و Thread واقعی را ببینید.
  • نوع Coreها را بررسی کنید.
  • Cache و Memory Support را ببینید.
  • Power Class را بررسی کنید.
  • و در نهایت Benchmark مرتبط با کاربری خود را مقایسه کنید.

چرا دانستن نسل در خرید سیستم های جدید و استوک اهمیت دارد؟

دو سیستم
ممکن است هر دو
با عنوان تجاری
Core i7
فروخته شوند،
اما پردازنده های آنها
چندین نسل
با یکدیگر فاصله داشته باشند.

این فاصله می تواند
روی:

  • IPC،
  • Core Count،
  • Efficiency،
  • Instruction Support،
  • Memory Technology،
  • Integrated Graphics،
  • Platform Features،
  • و Software Compatibility

اثر داشته باشد.

به همین دلیل
عبارت «Core i7»
به تنهایی
برای ارزش گذاری
یک کامپیوتر،
لپ تاپ،
آل این وان
یا Workstation
کافی نیست.

اشتباهات رایج — Common Mistakes: نسل و نام گذاری CPU
  • یکی دانستن ISA و Microarchitecture.
  • یکی دانستن Codename و Microarchitecture.
  • یکی دانستن Generation و Process Node.
  • فرض اینکه نسل جدید همیشه Microarchitecture کاملاً جدید دارد.
  • فرض اینکه تمام Coreهای یک CPU Hybrid یک Microarchitecture دارند.
  • قضاوت درباره CPU فقط از روی i5، i7، Ryzen 5 یا Ryzen 7.
  • فرض اینکه Product Tier بالاتر همیشه از Tier پایین تر نسل جدید سریع تر است.
  • نادیده گرفتن Mobile یا Desktop بودن CPU.
  • تفسیر Suffix بدون توجه به Naming Scheme سازنده.
  • یکی دانستن Product Family تجاری با Family فنی Processor Identification.
  • فرض اینکه Stepping جدید یعنی نسل جدید.
  • فرض اینکه یک CPU Package الزاماً فقط یک Die دارد.
  • فرض اینکه تمام بخش های یک Multi-Die CPU با یک Process Node ساخته شده اند.
  • استفاده از Model Number ناقص هنگام مقایسه پردازنده ها.
  • قضاوت درباره Performance فقط از روی نام و بدون Benchmark.

سوالات متداول درباره نسل، معماری و نام گذاری CPU

Generation و Microarchitecture یکی هستند؟

خیر.
Generation
طبقه بندی محصول است،
در حالی که
Microarchitecture
طراحی داخلی Processor
را توصیف می کند.

Architecture و ISA یکی هستند؟

واژه Architecture
می تواند معنای عمومی داشته باشد،
اما ISA
مشخصاً رابط معماری
قابل مشاهده توسط Software
را تعریف می کند.

Codename یعنی چه؟

نام رمز یک Design،
Platform،
Die
یا خانواده محصول
در چرخه توسعه
و معرفی است.

آیا Codename همان Microarchitecture است؟

الزاماً خیر.
Codename
می تواند به یک
Platform یا Product Design
کامل اشاره کند.

SKU چیست؟

یک Variant مشخص
از محصول
با Configuration
و Positioning
مشخص است.

Stepping چیست؟

Revision
یک Silicon Design
در طول چرخه تولید است.

آیا Core i7 همیشه از Core i5 بهتر است؟

خیر.
نسل،
مدل دقیق،
Power Class،
Core Count
و Workload
باید بررسی شوند.

آیا Ryzen 7 همیشه از Ryzen 5 سریع تر است؟

در یک خانواده و شرایط مشابه
Tier بالاتر معمولاً Positioning
بالاتری دارد،
اما مقایسه میان نسل ها
و Platformهای مختلف
نیازمند بررسی مدل دقیق است.

آیا نسل جدید همیشه سریع تر است؟

در مقایسه مدل های هم رده
معمولاً پیشرفت هایی وجود دارد،
اما نسل به تنهایی
Performance را تضمین نمی کند.

بهترین روش تشخیص قدرت CPU از روی نام چیست؟

ابتدا Model Number کامل،
نسل،
Segment،
Suffix
و مشخصات واقعی
را پیدا کنید
و سپس Benchmark
مرتبط با Workload
مورد نظر را بررسی کنید.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Architecture: اصطلاح عمومی برای توصیف ساختار معماری یک سیستم یا Processor.
  • ISA: Instruction Set Architecture؛ رابط معماری میان Software و Processor.
  • Microarchitecture: روش داخلی پیاده سازی Processor و ISA.
  • Codename: نام رمز Design، Platform، Die یا خانواده محصول.
  • Generation: طبقه بندی محصولات یک دوره یا نسل مشخص.
  • Product Family: خانواده تجاری محصولات مرتبط.
  • Series: گروهی از مدل های مرتبط در یک Product Family.
  • Product Tier: رده تجاری یا جایگاه تقریبی محصول.
  • Model Number: شناسه مدل مشخص Processor.
  • SKU: Stock Keeping Unit؛ Variant مشخص محصول.
  • Suffix: پسوند تکمیلی Model Number.
  • Refresh: نسخه به روزشده یک خانواده بدون الزام به Microarchitecture کاملاً جدید.
  • Stepping: Revision یک Silicon Design.
  • Market Segment: بازار هدف محصول مانند Mobile، Desktop یا Server.
  • Processor Identification: اطلاعات فنی برای شناسایی Implementation پردازنده.
  • Port: انتقال یا تطبیق Design برای Process یا Platform دیگر.

خلاصه فصل

نام یک CPU
فقط یکی از لایه های
هویت پردازنده است.

ISA
مشخص می کند
Software چه محیط معماری
را مشاهده می کند.

Microarchitecture
نحوه پیاده سازی
پردازنده را
تعیین می کند.

Codename
برای شناسایی
Design،
Platform
یا خانواده فنی
استفاده می شود.

Generation،
Series
و Product Family
بیشتر به طبقه بندی
محصولات مربوط هستند.

Model Number،
SKU
و Suffix
برای تشخیص
Variant دقیق محصول
اهمیت دارند.

Process Node
نیز فناوری ساخت
را مشخص می کند
و نباید آن را
معادل Generation
یا Microarchitecture
دانست.

ISA
≠
Microarchitecture
≠
Codename
≠
Generation
≠
SKU
≠
Process Node


بنابراین برای مقایسه صحیح دو پردازنده، نباید فقط به عباراتی
مانند i5، i7، Ryzen 5 یا Ryzen 7 نگاه کرد؛ مدل کامل،
نسل، معماری، نوع سیستم، توان، مشخصات واقعی و Performance
در Workload مورد نظر باید در کنار یکدیگر بررسی شوند.


فصل 97
سطح: پایه تا پیشرفته
موضوع: خواندن و مقایسه مشخصات CPU
تمرکز: Specifications / Cores / Threads / Clock / Cache / Power / Memory / PCIe / Benchmark


مشخصات CPU مجموعه ای از اعداد مستقل نیست؛ هر عدد فقط در کنار معماری، توان و نوع Workload معنا پیدا می کند

چگونه مشخصات فنی یک CPU را بخوانیم و دو پردازنده را اصولی مقایسه کنیم؟

صفحه مشخصات یک CPU
معمولاً پر از عدد،
نام فناوری
و اصطلاحات فنی است.

تعداد Core،
تعداد Thread،
Base Clock،
Boost Clock،
Cache،
توان،
Process Node،
Memory Support
و PCIe
فقط بخشی از این اطلاعات هستند.

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

More Cores
≠
Always Faster

Higher GHz
≠
Always Faster

More Cache
≠
Always Faster

مقایسه صحیح پردازنده
زمانی امکان پذیر است
که مشخصات را
به صورت یک سیستم
به هم مرتبط
تحلیل کنیم.

در این فصل چه چیزهایی یاد می گیریم؟

  • قبل از مقایسه دو CPU چه اطلاعاتی باید جمع آوری شود.
  • چرا نام کامل پردازنده مهم است.
  • چگونه Generation و Microarchitecture را بررسی کنیم.
  • Core Count چه چیزی به ما می گوید.
  • Thread Count چگونه تفسیر می شود.
  • Base Clock و Boost Clock چه تفاوتی دارند.
  • چرا مقایسه مستقیم GHz معمولاً اشتباه است.
  • IPC چه نقشی در مقایسه دارد.
  • Cache را چگونه ارزیابی کنیم.
  • Power Specification چه چیزی را نشان می دهد.
  • Cooling چگونه Performance واقعی را تغییر می دهد.
  • Memory Support چه اهمیتی دارد.
  • PCIe Support چگونه بررسی می شود.
  • Integrated Graphics چه زمانی مهم است.
  • Instruction Set Extensionها چرا اهمیت دارند.
  • Benchmark را چگونه درست بخوانیم.
  • Single-Thread و Multi-Thread چه تفاوتی دارند.
  • چرا Benchmark مصنوعی به تنهایی کافی نیست.
  • چگونه CPU مناسب Workload را انتخاب کنیم.

اولین قانون مقایسه CPU چیست؟

قبل از مقایسه
باید مشخص کنیم
پردازنده برای چه کاری
قرار است استفاده شود.

سؤال:

«کدام CPU بهتر است؟»

بدون تعریف Workload
سؤال کاملی نیست.

سؤال دقیق تر این است:

«کدام CPU برای این Workload،
در این Power Budget
و این محدوده هزینه
مناسب تر است؟»

Better CPU
=
Better for a Defined Workload and Constraint

Workload را چگونه مشخص کنیم؟

Workload
نوع کاری است
که CPU باید
انجام دهد.

برای مثال:

  • کارهای اداری،
  • مرور وب،
  • برنامه نویسی،
  • Compile،
  • CAD،
  • Simulation،
  • Rendering،
  • Video Encoding،
  • Gaming،
  • Virtualization،
  • Database،
  • Scientific Computing،
  • Server Workload،
  • و AI Processing.

هرکدام از این Workloadها
ممکن است نسبت به
ویژگی متفاوتی
از CPU حساس باشند.

نقشه صحیح مقایسه دو پردازنده

Exact CPU Model
↓
Market Segment
↓
Generation / Microarchitecture
↓
Core Architecture
↓
Core / Thread Count
↓
Frequency Behavior
↓
Cache
↓
Power Limits
↓
Memory and I/O
↓
Special Features
↓
Cooling / Platform
↓
Relevant Benchmarks
↓
Price / Efficiency / Use Case

مرحله اول: مدل کامل CPU را پیدا کنید

عباراتی مانند:

Core i5
/
Core i7
/
Ryzen 5
/
Ryzen 7

برای مقایسه
کافی نیستند.

باید نام کامل
و Model Number
دقیق پردازنده
مشخص شود.

حتی یک حرف
در انتهای مدل
ممکن است
نوع محصول
یا Power Class
را تغییر دهد.

مرحله دوم: ابتدا Segment دو CPU را مقایسه کنید

یک CPU کم مصرف
برای سیستم قابل حمل
و یک CPU
برای Workstation
با اهداف طراحی
متفاوتی ساخته شده اند.

Segmentهای متداول:

Mobile
/
Desktop
/
Workstation
/
Server
/
Embedded

مقایسه مستقیم
بدون در نظر گرفتن Segment
می تواند گمراه کننده باشد.

مرحله سوم: نسل را بررسی کنید، اما در آن متوقف نشوید

Generation
اطلاعات مفیدی
درباره دوره طراحی
و جایگاه محصول
ارائه می دهد.

اما همان طور که
در فصل قبل دیدیم:

Newer Generation
≠
Automatically Faster

باید Microarchitecture،
SKU،
Power Class
و مشخصات واقعی
نیز بررسی شوند.

Core Count را چگونه بخوانیم؟

Core Count
تعداد Coreهای
پردازشی CPU
را نشان می دهد.

تعداد Core بیشتر
می تواند
Parallel Throughput
را افزایش دهد.

اما فقط زمانی
که Software
بتواند از Coreهای بیشتر
استفاده کند.

More Cores
+
Parallel Workload
→
Potentially Higher Throughput

آیا فقط تعداد Core مهم است؟

خیر.

نوع و قدرت هر Core
نیز بسیار مهم است.

یک Core جدیدتر
ممکن است در هر Clock
کار بیشتری
نسبت به Core قدیمی تر
انجام دهد.

بنابراین:

CPU Performance
≠
Core Count Alone

تعداد Core در CPUهای Hybrid را چگونه بخوانیم؟

در پردازنده Hybrid،
Core Count کل
ممکن است از چند نوع Core
تشکیل شده باشد.

برای مثال:

Total Cores
=
Performance Cores
+
Efficiency Cores

بنابراین عبارت
«14 Core»
بدون دانستن
ترکیب Coreها
اطلاعات کاملی
ارائه نمی دهد.

Thread Count را چگونه تفسیر کنیم؟

Thread Count
تعداد Hardware Threadهایی
را نشان می دهد
که CPU
می تواند
در اختیار Software
قرار دهد.

در بعضی Coreها
فناوری SMT
اجازه می دهد
بیش از یک Thread
روی یک Core
مدیریت شود.

اما:

2 Hardware Threads
on 1 Core
≠
2 Physical Cores

اشتباه رایج — Common Mistake: تعداد Thread را معادل تعداد Core در نظر گرفتن

Hardware Thread
و Physical Core
یک چیز نیستند.

SMT
می تواند استفاده
از منابع Core
را بهتر کند،
اما منابع فیزیکی
Core به طور کامل
دو برابر نمی شوند.

Frequency را چگونه مقایسه کنیم؟

Frequency
تعداد Clock Cycleهای
CPU در هر ثانیه
را نشان می دهد.

1 GHz
=
1 Billion Clock Cycles per Second

اما تعداد Cycle
به تنهایی
مشخص نمی کند
در هر Cycle
چه مقدار کار
انجام شده است.

اشتباه رایج — Common Mistake: CPU با GHz بیشتر همیشه سریع تر است

این مقایسه
فقط در شرایط
بسیار محدود
می تواند مفید باشد.

دو Microarchitecture متفاوت
ممکن است در هر Clock
مقدار متفاوتی
کار انجام دهند.

Performance
≈
Frequency
×
Work per Clock

بنابراین Frequency
باید همراه با
IPC و Architecture
بررسی شود.

Base Clock چیست؟

Base Clock
یک Frequency مرجع
در چارچوب مشخصات
Power و Thermal
پردازنده است.

اما در CPUهای مدرن
رفتار واقعی Frequency
بسیار Dynamic
است.

CPU می تواند
بسته به Workload،
Temperature،
Power
و تعداد Coreهای فعال
Frequency خود را
تغییر دهد.

Boost Clock چیست؟

Boost Clock
Frequency بالاتری است
که CPU
در شرایط مناسب
می تواند
به آن برسد.

اما Maximum Boost
الزاماً Frequency
تمام Coreها
در Workload طولانی
نیست.

Maximum Boost Clock
≠
Sustained All-Core Frequency

Sustained Frequency چرا مهم تر از یک عدد تبلیغاتی است؟

در Workload کوتاه،
CPU ممکن است
برای مدت محدودی
Frequency بالایی
داشته باشد.

اما در:

  • Rendering،
  • Compilation،
  • Simulation،
  • Encoding،
  • Scientific Computing،
  • و Server Workload

Performance پایدار
اهمیت بیشتری دارد.

در این شرایط
Cooling
و Power Limit
مستقیماً
روی Frequency پایدار
اثر می گذارند.

IPC در مقایسه CPU چه نقشی دارد؟

IPC
مخفف:

Instructions per Cycle

است.

به صورت ساده،
IPC نشان می دهد
CPU در هر Clock
چه مقدار Instruction
می تواند
به طور موثر
پردازش کند.

البته IPC
یک عدد ثابت
برای همه برنامه ها نیست.

نوع Workload
روی IPC واقعی
اثر دارد.

یک مدل ساده برای Performance CPU

برای درک مفهومی
می توان گفت:

Performance
∝
IPC × Frequency

اما برای Multi-Core Workload
عوامل دیگری
نیز اضافه می شوند.

Multi-Core Performance
≈
Per-Core Performance
×
Effective Parallelism

عبارت Effective Parallelism
مهم است،
زیرا Scaling
معمولاً کاملاً خطی نیست.

Cache را چگونه در مشخصات CPU بررسی کنیم؟

فقط نگاه کردن
به مجموع Cache
کافی نیست.

باید بررسی شود:

  • Cache در چه سطحی قرار دارد.
  • Private یا Shared است.
  • Latency آن چقدر است.
  • Bandwidth آن چقدر است.
  • بین چه Coreهایی مشترک است.
  • و Workload چقدر از آن سود می برد.

اشتباه رایج — Common Mistake: CPU با Cache بیشتر همیشه سریع تر است

Cache بیشتر
می تواند مفید باشد،
اما Performance
به Capacity
به تنهایی
وابسته نیست.

Cache Architecture،
Latency،
Bandwidth،
Hit Rate
و Workload
همگی اهمیت دارند.

مشخصات Power CPU را چگونه بخوانیم؟

یکی از پیچیده ترین
بخش های مقایسه CPU
Power Specification است.

سازندگان مختلف
ممکن است
از اصطلاحات متفاوتی
برای توصیف
Power Envelope
استفاده کنند.

بنابراین یک عدد
با عنوان TDP
یا Power
را نباید
بدون بررسی تعریف
همان سازنده
مستقیماً مقایسه کرد.

آیا TDP همان مصرف برق واقعی CPU است؟

الزاماً خیر.

TDP
معمولاً یک مشخصه
مرتبط با طراحی حرارتی
و Power Class
محصول است.

CPU ممکن است
در شرایط مختلف
Power Consumption
متفاوتی داشته باشد.

TDP
≠
Exact Real-Time Power Consumption

Power Limit چگونه Performance را تغییر می دهد؟

یک Microarchitecture
در Power Budgetهای مختلف
می تواند Performance
متفاوتی ارائه دهد.

Power بیشتر
می تواند اجازه دهد:

  • Coreهای بیشتری در Frequency بالا کار کنند،
  • Boost مدت بیشتری حفظ شود،
  • Voltage بالاتری استفاده شود،
  • و Throughput بیشتری ایجاد شود.

اما Efficiency
الزاماً با همان نسبت
افزایش پیدا نمی کند.

چرا Cooling بخشی از Performance CPU است؟

CPU مدرن
Frequency خود را
بر اساس Temperature
و Power Headroom
تنظیم می کند.

اگر Cooling
نتواند Heat
را به اندازه کافی
دفع کند،
پردازنده ممکن است
Frequency را کاهش دهد.

Insufficient Cooling
→
Higher Temperature
→
Lower Frequency
→
Lower Sustained Performance

نکته مهندسی — Engineering Insight: Benchmark پردازنده در واقع Benchmark یک سیستم نیز هست

همان CPU
در دو سیستم مختلف
الزاماً Performance
کاملاً یکسانی
ارائه نمی دهد.

عواملی مانند:

  • Cooling،
  • Power Limit،
  • Motherboard Firmware،
  • Memory Configuration،
  • Operating System،
  • Scheduler،
  • و Background Workload

روی نتیجه
اثر می گذارند.

Observed CPU Performance
=
Processor
+
Platform
+
Cooling
+
Software Environment

Memory Support را در CPU چگونه بررسی کنیم؟

در مشخصات CPU
باید قابلیت های
Memory Controller
بررسی شوند.

از جمله:

  • نوع حافظه پشتیبانی شده،
  • حداکثر Data Rate رسمی،
  • تعداد Memory Channel،
  • حداکثر ظرفیت قابل پشتیبانی،
  • ECC Support در صورت نیاز،
  • و محدودیت های Platform.

جزئیات داخلی DRAM
موضوع دانشنامه مستقل حافظه است
و در اینجا وارد ساختار
Cell،
Row،
Bank
و Timingها
نمی شویم.

آیا Memory سریع تر همیشه CPU را سریع تر می کند؟

میزان تاثیر
به Workload
بستگی دارد.

بعضی Workloadها
Compute-Bound هستند
و افزایش Memory Bandwidth
تاثیر محدودی دارد.

بعضی دیگر
Memory-Bound هستند
و به Bandwidth
یا Latency
حساس ترند.

Performance Gain from Memory
=
Workload Dependent

PCIe Support در مقایسه CPU چه اهمیتی دارد؟

CPU یا Platform
می تواند
تعداد مشخصی
PCIe Lane
و Generation مشخصی
از PCI Express
را پشتیبانی کند.

این موضوع برای:

  • GPU،
  • NVMe Storage،
  • Network Adapter،
  • Accelerator،
  • Capture Card،
  • و سایر Expansion Deviceها

اهمیت دارد.

PCIe نسل جدیدتر یعنی CPU سریع تر است؟

خیر.

PCIe Generation
قابلیت I/O
Platform
را نشان می دهد،
نه Performance
مستقیم Coreهای CPU.

Newer PCIe
=
Higher Potential I/O Bandwidth

Newer PCIe
≠
Higher CPU Core Performance

Integrated Graphics را چه زمانی باید بررسی کنیم؟

اگر سیستم
GPU مجزا ندارد،
قابلیت Graphics
مجتمع CPU یا SoC
اهمیت زیادی پیدا می کند.

همچنین Integrated GPU
ممکن است برای:

  • Display Output،
  • Video Decode،
  • Video Encode،
  • Media Processing،
  • و بعضی Compute Workloadها

استفاده شود.

اما قدرت iGPU
معیار مستقیم
قدرت CPU Core
نیست.

NPU در مشخصات پردازنده های جدید چیست؟

بعضی Processorها
دارای واحد تخصصی
برای AI Workload
هستند.

این واحد معمولاً
با نام:

NPU
=
Neural Processing Unit

شناخته می شود.

وجود NPU
الزاماً CPU Core
را سریع تر نمی کند،
بلکه Workloadهای
سازگار می توانند
روی Accelerator تخصصی
اجرا شوند.

Instruction Extensionها چرا مهم هستند؟

دو CPU
ممکن است ISA پایه
مشابهی داشته باشند،
اما Extensionهای
متفاوتی را
پشتیبانی کنند.

Extensionهای جدید
می توانند برای:

  • Vector Processing،
  • Cryptography،
  • AI،
  • Virtualization،
  • Security،
  • و Specialized Arithmetic

قابلیت های بیشتری
فراهم کنند.

آیا پشتیبانی از Instruction جدید یعنی CPU همیشه سریع تر است؟

خیر.

Software
باید از آن Instruction
استفاده کند.

اگر Application
از قابلیت جدید
استفاده نکند،
آن Feature
ممکن است
تاثیری روی Performance
همان برنامه نداشته باشد.

Process Node را چگونه در مقایسه CPU استفاده کنیم؟

Process Node
می تواند روی:

  • Transistor Density،
  • Power،
  • Frequency Potential،
  • Area،
  • و Manufacturing Characteristics

اثر بگذارد.

اما عدد Node
به تنهایی
معیار Performance CPU
نیست.

Smaller Node Number
≠
Automatically Faster CPU

Benchmark چیست؟

Benchmark
آزمایشی برای اندازه گیری
Performance
در یک Workload
یا مجموعه ای
از Workloadهاست.

Benchmark می تواند:

  • Synthetic،
  • Application-Based،
  • Game-Based،
  • Server-Based،
  • یا Workstation-Based

باشد.

Synthetic Benchmark چیست؟

Synthetic Benchmark
Workloadی طراحی شده
برای اندازه گیری
بخش مشخصی
از Performance
است.

این نوع Benchmark
برای مقایسه کنترل شده
مفید است،
اما الزاماً
رفتار Application واقعی
را کامل
بازسازی نمی کند.

Real-World Benchmark چیست؟

در این روش
از Application
یا Workload واقعی
استفاده می شود.

برای مثال:

  • زمان Compile یک پروژه،
  • زمان Render یک Scene،
  • زمان Encode یک Video،
  • Frame Rate در Game،
  • زمان اجرای Simulation،
  • یا تعداد Request قابل پردازش در Server.

این نتایج
معمولاً برای تصمیم خرید
قابل فهم تر هستند.

Single-Thread Performance چیست؟

Single-Thread Performance
نشان می دهد
CPU در Workloadی
که عمدتاً به
یک Execution Thread
وابسته است
چه عملکردی دارد.

عواملی مانند:

  • IPC،
  • Frequency،
  • Cache Latency،
  • Branch Prediction،
  • و Memory Latency

روی آن اثر دارند.

Multi-Thread Performance چیست؟

Multi-Thread Performance
توان پردازنده
در اجرای Workloadهایی
با Parallelism بالا
را بررسی می کند.

علاوه بر Performance
هر Core،
عوامل زیر مهم هستند:

  • Core Count،
  • SMT،
  • Power Budget،
  • Memory Bandwidth،
  • Cache Sharing،
  • Interconnect،
  • و Software Scaling.

Single-Thread یا Multi-Thread؛ کدام مهم تر است؟

پاسخ به Workload
بستگی دارد.

نوع Workload عامل معمولاً مهم تر
کارهای تعاملی سبک Single-Thread Performance و Latency
بعضی مراحل CAD Single-Thread Performance
Compilation ترکیبی از Single و Multi-Thread
CPU Rendering Multi-Thread Throughput
Video Encoding Multi-Thread یا Accelerator بسته به Codec
Virtualization Core، Thread، Memory و I/O
Server Throughput، Latency و Performance per Watt
Gaming ترکیب Per-Core Performance، Latency، Cache و Parallelism

هنگام خواندن Benchmark چه شرایطی باید بررسی شود؟

نتیجه Benchmark
بدون Test Configuration
ناقص است.

باید بررسی شود:

  • مدل دقیق CPU،
  • Power Setting،
  • Cooling،
  • Memory Configuration،
  • Motherboard،
  • BIOS / Firmware،
  • Operating System،
  • Software Version،
  • Compiler در صورت ارتباط،
  • و سایر Hardwareهای موثر.

اشتباه رایج — Common Mistake: انتخاب CPU فقط براساس یک Benchmark

یک Benchmark
فقط رفتار CPU
در همان Test
را نشان می دهد.

بهتر است
چند Benchmark
مرتبط با Workload واقعی
بررسی شوند.

One Benchmark Score
≠
Universal CPU Performance

آیا عدد Benchmark بیشتر همیشه بهتر است؟

خیر.

باید Metric
را بررسی کنید.

اگر Benchmark
Score باشد:

Higher Score
→
Usually Better

اما اگر نتیجه
زمان انجام کار باشد:

Lower Time
→
Better

اگر نتیجه
Energy Consumption
باشد نیز
تفسیر متفاوت است.

اختلاف درصد Performance را چگونه محاسبه کنیم؟

اگر Score بیشتر
بهتر باشد:

Performance Difference (%)
=
[(New Score − Old Score) / Old Score] × 100

برای مثال:

CPU A = 1000

CPU B = 1200

Difference
=
20%

یعنی CPU B
در همان Benchmark
حدود 20 درصد
Score بیشتری دارد.

اگر Benchmark بر اساس زمان باشد چه؟

فرض کنیم:

CPU A
=
100 Seconds

CPU B
=
80 Seconds

CPU B
کار را در زمان کمتری
تمام کرده است.

اما باید میان:

Time Reduction

و:

Performance Increase

تفاوت قائل شد.

زمان اجرا
20 درصد کاهش یافته،
اما Throughput متناظر
25 درصد افزایش پیدا کرده است.

100 / 80
=
1.25

Performance per Watt را چگونه مقایسه کنیم؟

اگر Performance
و Power
هر دو در دسترس باشند،
می توان Efficiency
را بررسی کرد.

Performance per Watt
=
Performance
/
Power

این معیار
در Laptop،
Server،
Data Center
و سیستم هایی
با محدودیت Cooling
بسیار مهم است.

در Desktop
و Workstation
نیز می تواند
روی Heat،
Noise
و هزینه Cooling
اثرگذار باشد.

Price to Performance چیست؟

سریع ترین CPU
الزاماً بهترین خرید
نیست.

می توان Performance
را نسبت به قیمت
مقایسه کرد.

Performance per Cost
=
Performance
/
Total Relevant Cost

اما Total Cost
فقط قیمت CPU
نیست.

ممکن است شامل:

  • Motherboard،
  • Cooling،
  • Memory،
  • Power Supply،
  • Platform Upgrade،
  • و هزینه انرژی

نیز باشد.

چرا Platform هنگام انتخاب CPU مهم است؟

CPU
به تنهایی
استفاده نمی شود.

ممکن است برای
یک پردازنده جدیدتر
نیاز به:

  • Socket جدید،
  • Motherboard جدید،
  • Memory جدید،
  • Cooling جدید،
  • یا Power Supply مناسب تر

وجود داشته باشد.

بنابراین تصمیم اقتصادی
باید در سطح
Platform
انجام شود.

مقایسه CPU در لپ تاپ چه تفاوتی دارد؟

در Laptop
CPU را نمی توان
کاملاً جدا از
طراحی دستگاه
ارزیابی کرد.

دو لپ تاپ
با CPU یکسان
ممکن است
Performance متفاوتی
داشته باشند.

عواملی مانند:

  • Cooling System،
  • Chassis Size،
  • Power Profile،
  • Firmware،
  • Battery Mode،
  • و Manufacturer Configuration

روی رفتار CPU
اثر می گذارند.

در Desktop چه چیزی اهمیت بیشتری پیدا می کند؟

در Desktop
معمولاً آزادی بیشتری
برای:

  • Cooling،
  • Power Delivery،
  • Motherboard Selection،
  • Memory Configuration،
  • و Upgrade

وجود دارد.

بنابراین CPU
می تواند مدت بیشتری
در Power و Frequency
بالاتر کار کند،
البته اگر Platform
مناسب باشد.

در Workstation چه مشخصاتی مهم هستند؟

بسته به نوع Workload،
مواردی مانند:

  • Single-Thread Performance،
  • Multi-Core Throughput،
  • Memory Capacity،
  • ECC Support،
  • PCIe Lane Count،
  • Sustained Performance،
  • Virtualization،
  • و Platform Reliability

می توانند اهمیت داشته باشند.

در Server چه چیزی معیار انتخاب CPU است؟

در Server
فقط Maximum Single-Core Speed
معیار اصلی نیست.

بسته به Workload
مواردی مانند:

  • Core Density،
  • Throughput،
  • Memory Capacity،
  • Memory Bandwidth،
  • PCIe Connectivity،
  • Virtualization Support،
  • Reliability Features،
  • Performance per Watt،
  • و Total Cost of Ownership

اهمیت زیادی دارند.

آیا قدیمی بودن CPU به تنهایی دلیل بد بودن آن است؟

خیر.

CPU قدیمی تر
ممکن است هنوز
برای Workload مشخص
کاملاً مناسب باشد.

اما باید محدودیت هایی مانند:

  • Performance،
  • Efficiency،
  • Instruction Support،
  • Operating System Support،
  • Platform Age،
  • Memory Support،
  • و Upgrade Path

بررسی شوند.

هنگام خرید سیستم استوک یا دست دوم، CPU را چگونه بررسی کنیم؟

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

مدل کامل CPU
را مشخص کنید
و سپس:

  • نسل را بررسی کنید.
  • Core و Thread را بررسی کنید.
  • Microarchitecture را مشخص کنید.
  • Performance واقعی را با مدل های جدیدتر مقایسه کنید.
  • مصرف و Efficiency را در نظر بگیرید.
  • سازگاری نرم افزاری را بررسی کنید.
  • و قیمت کل سیستم را با Performance مقایسه کنید.

این روش برای:

  • لپ تاپ استوک،
  • Desktop استوک،
  • Workstation استوک،
  • Mini PC،
  • All-in-One،
  • و Server دست دوم

کاربرد دارد.

زیرساخت فنی — چرا نمی توان قدرت CPU را در یک عدد خلاصه کرد؟

CPU
یک ماشین محاسباتی
چندبعدی است.

یک Workload
ممکن است
به Branch Prediction
حساس باشد.

Workload دیگر
ممکن است
به Vector Throughput
نیاز داشته باشد.

برنامه دیگری
ممکن است
توسط Memory Latency
محدود شود.

Rendering
ممکن است
از Coreهای بیشتر
استفاده کند.

یک Application تعاملی
ممکن است
بیشتر به
Single-Thread Latency
حساس باشد.

بنابراین CPU
یک Performance Number
جهانی ندارد.

CPU Performance
=
Function of
Architecture
+
Frequency
+
Core Count
+
Cache
+
Memory Behavior
+
Power
+
Software
+
Workload

به همین دلیل
یک CPU
می تواند در Benchmark A
برنده باشد
و در Benchmark B
نتیجه متفاوتی
داشته باشد.

چک لیست نهایی مقایسه دو CPU

  1. نام کامل هر دو CPU را ثبت کنید.
  2. Market Segment را مشخص کنید.
  3. Generation و Codename را بررسی کنید.
  4. Microarchitecture را مشخص کنید.
  5. نوع Coreها را بررسی کنید.
  6. Core Count را مقایسه کنید.
  7. Thread Count را بررسی کنید.
  8. Base و Boost Frequency را بخوانید.
  9. فقط براساس GHz نتیجه گیری نکنید.
  10. Cache Architecture را بررسی کنید.
  11. Power Specification را بخوانید.
  12. Power Limit واقعی سیستم را در نظر بگیرید.
  13. Cooling را بررسی کنید.
  14. Memory Support را بررسی کنید.
  15. PCIe و I/O را بررسی کنید.
  16. iGPU، NPU و Acceleratorها را در صورت نیاز بررسی کنید.
  17. Instruction Extensionهای مورد نیاز Software را بررسی کنید.
  18. Benchmarkهای مرتبط با Workload خود را پیدا کنید.
  19. Single-Thread و Multi-Thread را جداگانه تحلیل کنید.
  20. Efficiency را بررسی کنید.
  21. هزینه کل Platform را محاسبه کنید.
  22. در نهایت CPU را براساس کاربرد واقعی انتخاب کنید.

هر مشخصه CPU چه چیزی را به ما می گوید؟

مشخصه چه چیزی نشان می دهد؟ آیا به تنهایی معیار Performance است؟
Generation جایگاه زمانی و محصولی خیر
Microarchitecture ساختار داخلی Core خیر
Core Count منابع پردازشی مستقل خیر
Thread Count Hardware Threadهای قابل ارائه خیر
Frequency Clock Cycle در ثانیه خیر
Cache حافظه نزدیک به Core خیر
Power محدوده انرژی و حرارت طراحی خیر
Process Node فناوری ساخت خیر
Memory Support قابلیت Memory Controller خیر
PCIe قابلیت I/O و Expansion خیر
Benchmark Performance در Test مشخص فقط برای همان شرایط و Workload

اشتباهات رایج — Common Mistakes: مقایسه مشخصات CPU
  • مقایسه پردازنده فقط براساس i5، i7، Ryzen 5 یا Ryzen 7.
  • مقایسه CPU فقط براساس GHz.
  • فرض اینکه Core بیشتر همیشه سریع تر است.
  • یکی دانستن Thread و Core.
  • فرض اینکه Maximum Boost روی تمام Coreها دائماً حفظ می شود.
  • مقایسه Frequency میان Microarchitectureهای متفاوت بدون توجه به IPC.
  • فرض اینکه Cache بیشتر همیشه Performance بیشتری ایجاد می کند.
  • فرض اینکه TDP همان مصرف برق لحظه ای CPU است.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Cooling.
  • مقایسه CPUهای Mobile و Desktop فقط از روی نام.
  • فرض اینکه Process Node کوچک تر همیشه CPU سریع تری می سازد.
  • فرض اینکه PCIe جدیدتر یعنی Core سریع تر.
  • فرض اینکه وجود NPU باعث افزایش Performance همه برنامه ها می شود.
  • استفاده از یک Benchmark برای نتیجه گیری کلی.
  • نادیده گرفتن Test Configuration.
  • اشتباه گرفتن Time Reduction با Performance Increase.
  • نادیده گرفتن Performance per Watt.
  • نادیده گرفتن هزینه کل Platform.
  • انتخاب CPU بدون تعریف Workload.

سوالات متداول درباره مقایسه CPU

مهم ترین مشخصه برای مقایسه CPU چیست؟

مشخصه واحدی وجود ندارد.
نوع Workload،
Microarchitecture،
Core،
Frequency،
Cache،
Power
و Benchmark واقعی
باید در کنار یکدیگر
بررسی شوند.

GHz بیشتر یعنی CPU سریع تر است؟

الزاماً خیر.
IPC و Microarchitecture
نیز باید بررسی شوند.

Core بیشتر بهتر است؟

برای Workloadهای Parallel
می تواند بسیار مفید باشد،
اما Scaling
به Software
و محدودیت های سیستم
بستگی دارد.

Thread بیشتر یعنی Core بیشتر؟

خیر.
Hardware Thread
با Physical Core
یکسان نیست.

Base Clock یا Boost Clock مهم تر است؟

هیچ کدام به تنهایی
رفتار واقعی CPU
را نشان نمی دهند.
Frequency پایدار
تحت Workload واقعی
مهم تر است.

آیا TDP همان مصرف برق CPU است؟

الزاماً خیر.
تعریف دقیق
مشخصه توان
باید براساس سازنده
و نسل محصول
بررسی شود.

برای مقایسه CPU چه Benchmarkی بهتر است؟

Benchmarkی که
بیشترین شباهت
به Workload واقعی
شما داشته باشد.

Single-Core یا Multi-Core مهم تر است؟

به Software
بستگی دارد.
Workloadهای مختلف
نسبت به این دو
رفتار متفاوتی دارند.

آیا CPU جدیدتر همیشه انتخاب بهتری است؟

خیر.
Performance،
Efficiency،
Compatibility،
Platform Cost
و قیمت خرید
باید بررسی شوند.

برای سیستم استوک چگونه CPU را مقایسه کنیم؟

مدل کامل،
نسل،
معماری،
Core و Thread،
Performance واقعی،
Efficiency،
Software Support
و قیمت کل سیستم
را بررسی کنید.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Workload: نوع کاری که سیستم یا CPU اجرا می کند.
  • Base Clock: فرکانس پایه تعریف شده در چارچوب مشخصات پردازنده.
  • Boost Clock: فرکانس بالاتر قابل دستیابی در شرایط مناسب.
  • Sustained Frequency: فرکانس قابل حفظ در Workload طولانی.
  • IPC: Instructions per Cycle؛ میزان Instruction انجام شده در هر Clock Cycle.
  • Single-Thread Performance: عملکرد در Workload وابسته به یک Thread اصلی.
  • Multi-Thread Performance: عملکرد در Workloadهای Parallel.
  • Synthetic Benchmark: آزمون طراحی شده برای اندازه گیری Performance مشخص.
  • Real-World Benchmark: آزمون مبتنی بر Application یا Workload واقعی.
  • Test Configuration: مجموعه شرایط Hardware و Software اجرای Benchmark.
  • Performance per Watt: Performance حاصل به ازای Power مصرفی.
  • Performance per Cost: Performance نسبت به هزینه.
  • Compute-Bound: Workloadی که عمدتاً توسط توان محاسباتی محدود می شود.
  • Memory-Bound: Workloadی که عمدتاً توسط Memory System محدود می شود.
  • Power Limit: محدودیت توان قابل استفاده توسط Processor.

خلاصه فصل

هیچ مشخصه واحدی
قدرت کامل CPU
را نشان نمی دهد.

تعداد Core،
Thread،
GHz،
Cache
و Process Node
هرکدام فقط
بخشی از تصویر هستند.

مقایسه صحیح
با تعریف Workload
آغاز می شود.

سپس باید
مدل دقیق،
Segment،
Generation،
Microarchitecture،
Core Configuration،
Frequency،
Cache،
Power،
Memory
و I/O
بررسی شوند.

در مرحله بعد
Benchmarkهای واقعی
و مرتبط با کاربرد
اهمیت پیدا می کنند.

Specifications
+
Architecture
+
Platform
+
Real Benchmarks
+
Workload
=
Meaningful CPU Comparison


بهترین CPU الزاماً پردازنده ای نیست که بیشترین Core،
بالاترین GHz یا جدیدترین نسل را دارد؛ بهترین CPU پردازنده ای
است که برای Workload مورد نظر، در محدودیت قیمت، توان،
Platform و Efficiency، نتیجه مناسب تری ارائه کند.


فصل 98
سطح: متوسط تا پیشرفته
موضوع: بنچمارک و اندازه گیری عملکرد CPU
تمرکز: Benchmark / Methodology / Variance / Thermal / Power / Interpretation


یک عدد بنچمارک فقط زمانی معنا دارد که بدانیم چگونه، کجا و تحت چه شرایطی اندازه گیری شده است

بنچمارک CPU چگونه انجام می شود و نتایج تست پردازنده را چگونه درست تفسیر کنیم؟

Benchmark
یکی از مهم ترین ابزارهای
مقایسه Performance
پردازنده هاست.

اما یک Benchmark Score
حقیقت مطلق
درباره قدرت CPU نیست.

نتیجه ای که مشاهده می کنیم
حاصل تعامل پردازنده
با سیستم،
Software،
تنظیمات،
دما،
توان
و خود Workload است.

Benchmark Result
=
CPU
+
Platform
+
Configuration
+
Software
+
Test Method

بنابراین دو وب سایت
ممکن است یک CPU یکسان
را آزمایش کنند
و به نتایج
کمی متفاوت برسند،
بدون اینکه الزاماً
یکی از آنها اشتباه باشد.

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark دقیقاً چیست.
  • Benchmark چه چیزی را اندازه گیری می کند.
  • تفاوت Synthetic و Real-World Benchmark چیست.
  • Microbenchmark چیست.
  • Throughput و Latency چه تفاوتی دارند.
  • چرا شرایط تست باید ثابت باشد.
  • Warm-up چیست.
  • چرا تست باید چند بار تکرار شود.
  • Variance چیست.
  • Mean و Median چه تفاوتی دارند.
  • Outlier چیست.
  • Thermal State چگونه نتیجه را تغییر می دهد.
  • Power Limit چگونه Benchmark را تغییر می دهد.
  • چرا Benchmark کوتاه و طولانی نتایج متفاوتی می دهند.
  • چگونه CPUهای Laptop، Desktop، Workstation و Server را تست کنیم.
  • چگونه Benchmark گمراه کننده را تشخیص دهیم.

Benchmark CPU دقیقاً چیست؟

Benchmark
یک آزمایش کنترل شده
برای اندازه گیری
یک یا چند جنبه
از Performance
سیستم است.

در تست CPU
هدف می تواند
اندازه گیری مواردی مانند:

  • زمان انجام یک محاسبه،
  • تعداد عملیات در واحد زمان،
  • Single-Thread Performance،
  • Multi-Thread Throughput،
  • Latency،
  • Energy Efficiency،
  • Compilation Speed،
  • Rendering Speed،
  • Compression Performance،
  • یا Server Throughput

باشد.

چرا یک Benchmark واحد نمی تواند قدرت کامل CPU را نشان دهد؟

CPU
انواع مختلفی
از Workload
را اجرا می کند.

یک Benchmark
ممکن است بیشتر
به Integer Performance
حساس باشد.

Benchmark دیگر
ممکن است
از Floating-Point
یا Vector Execution
استفاده کند.

تست دیگری
ممکن است
به Cache،
Branch Prediction
یا Memory Access
حساس باشد.

One Benchmark
=
One View of Performance

One Benchmark
≠
Universal CPU Performance

انواع اصلی Benchmark CPU

Benchmarkها را
می توان از چند زاویه
دسته بندی کرد.

نوع Benchmark هدف اصلی نمونه کاربرد
Synthetic ایجاد Workload استاندارد و قابل تکرار مقایسه کنترل شده CPUها
Real-World اندازه گیری Application واقعی Render، Compile، Encode
Microbenchmark اندازه گیری بخش کوچک و مشخص Latency یا Throughput یک Operation
Single-Thread بررسی Performance یک Thread اصلی Workloadهای کم Parallel
Multi-Thread بررسی Parallel Throughput Rendering و Compilation
Long-Duration بررسی Performance پایدار Workstation و Server
Efficiency بررسی Performance نسبت به Power یا Energy Laptop، Server و Data Center

Synthetic Benchmark چیست؟

Synthetic Benchmark
Workloadی است
که برای ایجاد
شرایط استاندارد
و قابل تکرار
طراحی شده است.

مزیت اصلی آن
این است که
CPUهای مختلف
می توانند تحت
یک Test مشابه
مقایسه شوند.

اما نتیجه
الزاماً نشان نمی دهد
Application واقعی شما
دقیقاً با همان نسبت
سریع تر خواهد شد.

Real-World Benchmark چیست؟

در Real-World Benchmark
از Application
یا Workflow واقعی
استفاده می شود.

برای مثال:

  • Compile کردن یک پروژه واقعی،
  • Render کردن یک Scene،
  • Encode کردن یک Video،
  • اجرای Simulation،
  • اجرای یک Game،
  • پردازش Database Query،
  • یا پاسخ به Requestهای Server.

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

Microbenchmark چیست؟

Microbenchmark
به جای اندازه گیری
یک Application کامل،
بخش بسیار مشخصی
از Processor
را آزمایش می کند.

برای مثال:

  • Instruction Latency،
  • Instruction Throughput،
  • Branch Behavior،
  • Cache Latency،
  • Synchronization Cost،
  • یا Context-Specific Operation.

Microbenchmark
برای تحلیل معماری
بسیار مفید است،
اما نباید نتیجه آن
مستقیماً به کل
Application تعمیم داده شود.

Latency در Benchmark یعنی چه؟

Latency
مدت زمانی است
که انجام یک عملیات
یا پاسخ به یک درخواست
طول می کشد.

Lower Latency
=
Faster Response

Latency
در Workloadهای تعاملی،
بعضی Databaseها،
Serverها
و بسیاری از مسیرهای
وابسته به یک Thread
اهمیت زیادی دارد.

Throughput چیست؟

Throughput
مقدار کاری است
که سیستم
در یک بازه زمانی
انجام می دهد.

Throughput
=
Completed Work
/
Time

برای مثال:

  • تعداد Frame Render شده در ساعت،
  • تعداد Request در ثانیه،
  • تعداد فایل پردازش شده،
  • یا حجم Data پردازش شده در ثانیه.

نکته مهندسی — Latency و Throughput یک معیار واحد نیستند

یک سیستم
می تواند Throughput بالایی
داشته باشد،
اما Latency هر Task
نسبتاً زیاد باشد.

در مقابل،
سیستمی دیگر
می تواند یک Task
را سریع پاسخ دهد،
اما در اجرای تعداد زیادی
Task همزمان
Throughput پایین تری داشته باشد.

Low Latency
≠
Automatically High Throughput

چرا شرایط Benchmark باید کنترل شوند؟

اگر هنگام مقایسه
دو CPU
چند متغیر دیگر
همزمان تغییر کنند،
دیگر مشخص نیست
اختلاف نتیجه
از کجا آمده است.

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

Change CPU
→
Keep Other Relevant Variables Controlled

چه اطلاعاتی باید همراه Benchmark منتشر شود؟

یک Benchmark حرفه ای
باید Test Configuration
را مشخص کند.

  • مدل کامل CPU،
  • Motherboard یا System Model،
  • BIOS / Firmware Version،
  • Cooling Configuration،
  • Power Settings،
  • Memory Configuration،
  • GPU در صورت اثرگذاری،
  • Storage در صورت اثرگذاری،
  • Operating System،
  • Driver Version،
  • Application Version،
  • و Test Method.

چرا Memory Configuration باید ثبت شود؟

بعضی Workloadهای CPU
به Memory Bandwidth
یا Memory Latency
حساس هستند.

بنابراین تغییر
Memory Configuration
می تواند نتیجه Benchmark
را تغییر دهد.

در تست CPU
لازم است Configuration
ثبت و تا حد امکان
کنترل شود.

جزئیات معماری DRAM،
Timing،
Bank،
Row
و سایر مباحث حافظه
در دانشنامه مستقل RAM
بررسی خواهند شد.

Operating System چگونه روی Benchmark اثر می گذارد؟

Operating System
فقط بستری برای اجرای
Benchmark نیست.

Scheduler،
Power Management،
Security Featureها،
Background Processها
و Kernel
می توانند
روی نتیجه اثر بگذارند.

این موضوع
در CPUهای Hybrid
اهمیت بیشتری دارد،
زیرا Scheduler
باید Threadها
را میان انواع مختلف Core
مدیریت کند.

Background Processها چه مشکلی ایجاد می کنند؟

اگر هنگام Benchmark
برنامه دیگری
CPU Time مصرف کند،
نتیجه ممکن است
کاهش پیدا کند.

فعالیت هایی مانند:

  • Software Update،
  • Antivirus Scan،
  • File Indexing،
  • Cloud Synchronization،
  • Browser Process،
  • و Telemetry

می توانند
Variance ایجاد کنند.

Warm-up در Benchmark چیست؟

بعضی Testها
قبل از اندازه گیری اصلی
چند بار اجرا می شوند.

این مرحله
Warm-up
نامیده می شود.

هدف می تواند
کاهش اثر عواملی مانند:

  • Cold Start،
  • Runtime Initialization،
  • JIT Compilation،
  • Cache State،
  • و Frequency Transition

باشد.

آیا Warm-up همیشه Performance را بهتر نشان می دهد؟

خیر.

از نظر Software،
Warm-up ممکن است
شرایط را پایدارتر کند.

اما از نظر Thermal،
اجرای قبلی
می تواند CPU
و Cooling System
را گرم کند.

بنابراین Methodology
باید مشخص کند
تست از حالت سرد
انجام شده
یا پس از رسیدن سیستم
به Thermal Equilibrium.

چرا Benchmark کوتاه ممکن است گمراه کننده باشد؟

در شروع Workload،
CPU ممکن است
Thermal Headroom
زیادی داشته باشد.

در نتیجه
می تواند برای مدت کوتاه
با Power
و Frequency بالاتری
کار کند.

اگر Benchmark
قبل از رسیدن سیستم
به حالت پایدار
تمام شود،
نتیجه بیشتر
Burst Performance
را نشان می دهد.

Benchmark طولانی چه چیزی را نشان می دهد؟

Test طولانی
فرصت می دهد
رفتار Thermal
و Power
سیستم آشکار شود.

بعد از مدتی
ممکن است:

Temperature ↑
→
Power / Thermal Limit
→
Frequency Adjustment
→
Sustained Performance

به همین دلیل
برای Rendering،
Encoding،
Compilation طولانی،
Simulation
و Workstation Workload
تست پایدار اهمیت زیادی دارد.

چرا این موضوع در Laptop اهمیت بیشتری دارد؟

Laptop
محدودیت بیشتری
در حجم Cooling،
سطح Heat Dissipation
و Power Budget
دارد.

یک لپ تاپ
ممکن است در Test کوتاه
Performance بسیار خوبی
ارائه دهد،
اما در Workload طولانی
به سطح پایین تری
پایدار شود.

بنابراین برای Laptop
بهتر است هم:

Burst Performance

و هم:

Sustained Performance

بررسی شوند.

در Desktop چرا Cooling Configuration باید گزارش شود؟

در Desktop
نوع Cooler،
Airflow،
Motherboard
و Power Setting
می توانند رفتار CPU
را تغییر دهند.

یک CPU یکسان
با Cooler ضعیف
و Cooler قدرتمند
ممکن است
Sustained Frequency
متفاوتی داشته باشد.

Power Limit چگونه نتیجه Benchmark را تغییر می دهد؟

CPU
برای ایجاد Performance
به Energy نیاز دارد.

اگر Platform
اجازه Power بیشتری بدهد،
Processor ممکن است
Frequency بالاتری
حفظ کند.

بنابراین مقایسه
دو CPU بدون گزارش
Power Configuration
می تواند ناقص باشد.

برای Benchmark عادلانه باید Power دو CPU برابر باشد؟

الزاماً نه.

پاسخ بستگی دارد
چه چیزی را
می خواهیم اندازه بگیریم.

اگر هدف:

Maximum Stock Performance

باشد،
می توان هر CPU
را در تنظیمات استاندارد
محصول خودش آزمایش کرد.

اگر هدف:

Performance at Equal Power

باشد،
باید Power Budget
کنترل شود.

این دو سؤال
متفاوت هستند
و هر دو می توانند
معتبر باشند.

چرا Benchmark باید چند بار اجرا شود؟

هیچ اجرای واقعی
کاملاً بدون Noise
نیست.

نتیجه می تواند
به علت:

  • Background Activity،
  • Scheduling،
  • Temperature،
  • Frequency Variation،
  • Software State،
  • و Measurement Noise

کمی تغییر کند.

اجرای چندباره
امکان بررسی
Repeatability
را فراهم می کند.

Variance در نتایج Benchmark چیست؟

اگر چند اجرای
یک Benchmark
نتایج متفاوتی
ایجاد کنند،
میزان پراکندگی
نتایج اهمیت پیدا می کند.

برای مثال:

Run 1 = 1000

Run 2 = 1005

Run 3 = 998

نسبت به:

Run 1 = 1000

Run 2 = 1130

Run 3 = 910

رفتار بسیار
پایدارتر و قابل اعتماد تری
نشان می دهد.

Mean یا میانگین چیست؟

Mean
با جمع نتایج
و تقسیم آنها
بر تعداد Testها
محاسبه می شود.

Mean
=
Sum of Results
/
Number of Runs

Mean
معیار مفیدی است،
اما نسبت به
Outlier
حساس است.

Median یا میانه چیست؟

Median
مقدار وسط
پس از مرتب کردن
نتایج است.

اگر نتایج:

98
/
99
/
100
/
101
/
150

باشند،
Median برابر:

100

است.

عدد 150
می تواند Mean
را بیشتر جابه جا کند،
اما Median
نسبت به آن
مقاوم تر است.

Outlier چیست؟

Outlier
نتیجه ای است
که فاصله غیرمعمولی
از سایر اندازه گیری ها
دارد.

اما نباید
هر نتیجه متفاوتی
را بدون بررسی
حذف کرد.

ابتدا باید مشخص شود
آیا Outlier
ناشی از:

  • Measurement Error،
  • Background Process،
  • Thermal Event،
  • Software Failure،
  • یا رفتار واقعی سیستم

بوده است.

اشتباه رایج — انتخاب بهترین Run و نادیده گرفتن بقیه نتایج

اگر Benchmark
چند بار اجرا شده
و فقط بهترین نتیجه
منتشر شود،
ممکن است Performance
واقعی سیستم
بیش از حد خوب
نمایش داده شود.

Methodology حرفه ای
باید مشخص کند
نتیجه نهایی
چگونه از Runهای مختلف
استخراج شده است.

اختلاف کوچک در Benchmark همیشه معنی دار است؟

خیر.

اگر اختلاف
میان دو CPU
در حد Noise
و Variance تست باشد،
نمی توان با اطمینان
گفت یکی واقعاً
سریع تر است.

برای مثال
اگر Variance تست
حدود چند درصد باشد،
اختلاف بسیار کوچک
ممکن است عملاً
Tie
محسوب شود.

Small Difference
+
Similar Measurement Variance
→
Possibly No Meaningful Difference

چرا نسخه Benchmark یا Application مهم است؟

Software
در طول زمان
تغییر می کند.

نسخه جدید
ممکن است:

  • Compiler جدید داشته باشد،
  • Optimization جدید اضافه کند،
  • Thread Scheduling را تغییر دهد،
  • از Instruction جدید استفاده کند،
  • یا Algorithm متفاوتی داشته باشد.

بنابراین نتایج
نسخه های مختلف
یک Benchmark
الزاماً قابل مقایسه مستقیم
نیستند.

Compiler چگونه روی نتیجه CPU اثر می گذارد؟

در Workloadهای
Compile شده،
Compiler
می تواند نوع Code
تولید شده برای CPU
را تغییر دهد.

Optimization Level،
Vectorization،
Target Architecture
و Instruction Selection
می توانند نتیجه
را تغییر دهند.

Source Code
+
Different Compiler Decisions
→
Different Machine Code
→
Different Performance

آیا Optimization برای یک CPU خاص Benchmark را نامعتبر می کند؟

الزاماً خیر.

Software واقعی
نیز می تواند
برای Architectureهای مختلف
Optimization داشته باشد.

مسئله مهم
شفاف بودن شرایط
و منصفانه بودن
مقایسه است.

باید مشخص شود
آیا هر CPU
از مسیر Software
مناسب خودش
استفاده کرده است
یا خیر.

چرا Benchmark گیمینگ همیشه قدرت CPU را نشان نمی دهد؟

Game Performance
حاصل تعامل:

CPU
+
GPU
+
Game Engine
+
Memory
+
Driver
+
Settings

است.

اگر GPU
عامل محدود کننده باشد،
دو CPU با قدرت متفاوت
ممکن است Frame Rate
بسیار نزدیکی
ایجاد کنند.

برای آشکار کردن اختلاف CPU در Game چه می کنند؟

در بعضی تست های تحلیلی،
از GPU قدرتمند
و تنظیماتی استفاده می شود
که GPU Bottleneck
را کاهش دهند.

هدف این است
که محدودیت CPU
بیشتر دیده شود.

اما این روش
الزاماً نماینده
تنظیمات واقعی
همه کاربران نیست.

بنابراین بهتر است
هم Test تحلیلی CPU
و هم Test نزدیک
به شرایط واقعی
بررسی شود.

Benchmark پردازنده Server چه تفاوتی دارد؟

Server Benchmark
معمولاً باید
علاوه بر Performance خام،
مواردی مانند:

  • Throughput،
  • Tail Latency،
  • Concurrent Users،
  • Performance per Watt،
  • Scalability،
  • Memory Capacity،
  • I/O Behavior،
  • و Sustained Load

را بررسی کند.

Tail Latency چیست؟

میانگین Latency
همیشه تصویر کاملی
از Server
ارائه نمی دهد.

ممکن است بیشتر Requestها
سریع باشند،
اما تعداد کمی
بسیار کند پاسخ داده شوند.

برای همین
Percentileهایی مانند:

P95
/
P99
/
P99.9

می توانند
برای تحلیل
Tail Latency
استفاده شوند.

Benchmark پردازنده Workstation چگونه باید باشد؟

Workstation
باید با Software
مرتبط با کار واقعی
آزمایش شود.

برای مثال:

  • CAD،
  • Engineering Simulation،
  • CPU Rendering،
  • Compilation،
  • Scientific Computing،
  • Data Processing،
  • و Content Creation.

یک Synthetic Score
به تنهایی
نمی تواند تمام
این Workloadها
را نمایندگی کند.

Performance per Watt چگونه اندازه گیری می شود؟

یکی از روش های ساده
این است که
Performance
نسبت به Power
مقایسه شود.

Performance per Watt
=
Performance
/
Average Power

اما روش اندازه گیری Power
باید مشخص باشد.

Package Power،
CPU Input Power
و Total System Power
یک چیز نیستند.

Energy to Complete چیست؟

فقط Power لحظه ای
مهم نیست.

اگر CPU سریع تر
یک Task
را تمام کند،
ممکن است با وجود
Power بالاتر،
Energy کل کمتری
مصرف کند.

Energy
=
Power
×
Time

بنابراین برای بعضی
Workloadها،
Energy to Complete
معیار مفیدتری
از Power تنهاست.

آیا Benchmark لپ تاپ با باتری و برق شهری یکسان است؟

الزاماً خیر.

Laptop
ممکن است هنگام
Battery Operation
Power Limit
و Frequency Behavior
متفاوتی داشته باشد.

بنابراین Test Method
باید مشخص کند
دستگاه:

Plugged In
or
On Battery

بوده است.

در سیستم استوک یا دست دوم Benchmark چه کمکی می کند؟

Benchmark
می تواند علاوه بر
مقایسه مدل CPU،
برای بررسی رفتار
خود سیستم نیز
مفید باشد.

اگر Performance دستگاه
به شکل غیرعادی
پایین تر از سیستم های مشابه باشد،
می توان مواردی مانند:

  • Thermal Throttling،
  • Power Configuration،
  • Cooling Problem،
  • Background Load،
  • Firmware Setting،
  • یا سایر مشکلات سیستم

را بررسی کرد.

این موضوع فقط
به لپ تاپ محدود نیست
و در Desktop،
Workstation،
Mini PC،
All-in-One
و Server استوک
نیز کاربرد دارد.

چگونه Benchmark گمراه کننده را تشخیص دهیم؟

قبل از اعتماد
به یک نمودار
یا Score،
چند سؤال بپرسید:

  1. مدل دقیق CPUها مشخص شده است؟
  2. نسخه Benchmark مشخص است؟
  3. Test Configuration منتشر شده است؟
  4. Power Setting مشخص است؟
  5. Cooling مشخص است؟
  6. تست چند بار اجرا شده است؟
  7. نتیجه میانگین است یا بهترین Run؟
  8. اختلاف از Variance تست بزرگ تر است؟
  9. Workload به کاربرد واقعی مرتبط است؟
  10. آیا یکی از سیستم ها Bottleneck دیگری دارد؟
  11. آیا Software Version یکسان است؟
  12. آیا نتیجه فقط یک Test انتخاب شده است؟

Cherry Picking در Benchmark چیست؟

Cherry Picking
یعنی از میان
تعداد زیادی Test،
فقط نتایجی انتخاب شوند
که یک محصول
را بهتر نشان می دهند.

برای مثال
ممکن است CPU A
در 15 Test
نتایج متفاوتی داشته باشد،
اما فقط دو Test
که در آنها برنده است
نمایش داده شوند.

برای جلوگیری از این مشکل
باید مجموعه ای
متنوع از Workloadهای
مرتبط بررسی شود.

نمودار Benchmark چگونه می تواند اختلاف را بزرگ تر از واقعیت نشان دهد؟

محور نمودار
می تواند
ادراک بصری
اختلاف را تغییر دهد.

فرض کنید:

CPU A = 100

CPU B = 105

اختلاف واقعی
فقط 5 درصد است.

اگر محور نمودار
از 95 شروع شود،
ستون CPU B
ممکن است چند برابر
بلندتر به نظر برسد.

بنابراین علاوه بر
شکل نمودار،
اعداد واقعی
را نیز بخوانید.

درصد اختلاف مهم تر است یا مقدار واقعی؟

هر دو.

20 درصد افزایش
می تواند بسیار مهم باشد،
اما باید ببینیم
این افزایش در عمل
چه مقدار زمان
یا Throughput
ایجاد می کند.

برای مثال
کاهش زمان یک Task
از:

10 Seconds
→
8 Seconds

با کاهش زمان
یک Workflow روزانه
از:

10 Hours
→
8 Hours

از نظر تاثیر عملی
یکسان نیست.

چرا تعداد Runها و پراکندگی نتیجه مهم است؟

فرض کنید CPU A
به طور متوسط
1 درصد
سریع تر از CPU B
باشد.

اگر خود Benchmark
بین Runهای مختلف
3 درصد تغییر کند،
نتیجه یک درصدی
ممکن است قابل اتکا نباشد.

هرچه اختلاف
نسبت به Noise
بزرگ تر باشد،
Confidence
در نتیجه
بیشتر می شود.

Reproducibility چیست؟

یک Benchmark خوب
باید تا حد معقول
قابل تکرار باشد.

یعنی اگر
شرایط مشابه
دوباره ایجاد شوند،
نتیجه باید
در محدوده ای منطقی
تکرار شود.

Good Methodology
→
Repeatable Results
→
Higher Confidence

تاثیر بر عملکرد — چرا Power و Cooling می توانند رتبه دو CPU را تغییر دهند؟

تصور کنید
CPU A
و CPU B
در Test کوتاه
Performance نزدیکی دارند.

CPU A
برای حفظ Performance
به Power بیشتری
نیاز دارد.

اگر Cooling System
محدود باشد،
CPU A ممکن است
پس از چند دقیقه
Frequency خود را
کاهش دهد.

در نتیجه:

Short Benchmark:
CPU A > CPU B

Long Sustained Benchmark:
CPU B ≥ CPU A

به همین دلیل
Duration تست
بخشی از تعریف
Benchmark است.

زیرساخت فنی — وقتی دکمه Start Benchmark را می زنیم واقعاً چه اتفاقی می افتد؟

Benchmark
مجموعه ای از Instructionها
را برای CPU
ایجاد می کند.

Operating System
Threadهای Benchmark
را روی Coreهای موجود
Schedule می کند.

CPU
براساس Workload،
Temperature،
Power Budget
و Firmware Policy
Frequency مناسب
را انتخاب می کند.

Instructionها
از Front-End
وارد Pipeline
می شوند،
Decode
و Schedule
شده
و توسط Execution Unitها
اجرا می شوند.

Cache،
Memory System
و Interconnect
داده های لازم
را فراهم می کنند.

همزمان Sensors
شرایط:

Temperature
/
Power
/
Current
/
Frequency

را کنترل می کنند.

در نهایت Benchmark
یک Metric
مانند زمان،
Score
یا Throughput
تولید می کند.

Workload
→
OS Scheduler
→
CPU Execution
→
Cache / Memory / I/O
→
Power & Thermal Management
→
Completed Work
→
Measurement
→
Benchmark Result

بنابراین عدد نهایی
نتیجه یک زنجیره کامل
از Hardware
و Software است،
نه فقط مشخصات
روی جعبه CPU.

یک روش اصولی برای Benchmark CPU

  1. هدف Test را مشخص کنید.
  2. Workload مناسب را انتخاب کنید.
  3. مدل دقیق CPU و Platform را ثبت کنید.
  4. BIOS و Software Version را ثبت کنید.
  5. Power Configuration را مشخص کنید.
  6. Cooling Configuration را ثبت کنید.
  7. Memory Configuration را ثابت و ثبت کنید.
  8. Background Processهای غیرضروری را کنترل کنید.
  9. روش Warm-up را مشخص کنید.
  10. مدت Test را تعیین کنید.
  11. Benchmark را چند بار اجرا کنید.
  12. Mean، Median و Variance را در صورت نیاز بررسی کنید.
  13. Outlierها را بررسی کنید، نه اینکه خودکار حذف کنید.
  14. Temperature و Power Behavior را کنترل کنید.
  15. نتایج را همراه با Methodology منتشر کنید.
  16. Benchmarkهای Synthetic و Real-World را کنار هم ببینید.
  17. در نهایت نتیجه را فقط برای Workload مرتبط تفسیر کنید.

هنگام دیدن یک Benchmark آنلاین چه چیزهایی را بررسی کنیم؟

سؤال چرا مهم است؟
مدل کامل CPU چیست؟ از مقایسه SKU اشتباه جلوگیری می کند
Benchmark چه Workloadی دارد؟ مشخص می کند نتیجه نماینده چه نوع Performance است
نسخه Software چیست؟ نسخه های مختلف ممکن است نتایج متفاوتی داشته باشند
Power Setting چیست؟ روی Frequency و Sustained Performance اثر دارد
Cooling چیست؟ روی Thermal Headroom اثر دارد
تست چقدر طول کشیده؟ Burst و Sustained Performance را از هم جدا می کند
چند Run انجام شده؟ Repeatability را مشخص می کند
Variance چقدر است؟ نشان می دهد اختلاف کوچک چقدر قابل اعتماد است
Metric چیست؟ مشخص می کند عدد بیشتر یا کمتر بهتر است
آیا Bottleneck دیگری وجود دارد؟ ممکن است Benchmark اصلاً توسط CPU محدود نشده باشد

اشتباهات رایج — Common Mistakes در Benchmark CPU
  • اعتماد به یک Benchmark واحد.
  • مقایسه نتایج نسخه های مختلف یک Benchmark.
  • نادیده گرفتن Power Setting.
  • نادیده گرفتن Cooling.
  • مقایسه Benchmarkهای کوتاه و طولانی بدون توجه به Duration.
  • انتخاب فقط بهترین Run.
  • نادیده گرفتن Variance.
  • حذف Outlier بدون بررسی علت.
  • فرض اینکه اختلاف یک یا دو درصد همیشه معنی دار است.
  • نادیده گرفتن Background Processها.
  • نادیده گرفتن Operating System و Scheduler.
  • نادیده گرفتن Software Version.
  • مقایسه Score بدون شناخت Metric.
  • اشتباه گرفتن Latency با Throughput.
  • اشتباه گرفتن Power با Energy.
  • مقایسه Performance per Watt با روش های متفاوت اندازه گیری Power.
  • تعمیم Microbenchmark به Performance کل Application.
  • Cherry Picking نتایج.
  • اعتماد به ظاهر نمودار بدون خواندن اعداد واقعی.
  • استفاده از Benchmark نامرتبط با Workload واقعی.

سوالات متداول درباره Benchmark CPU

Benchmark CPU چیست؟

روشی برای اندازه گیری
Performance پردازنده
در یک Workload
و شرایط مشخص است.

بهترین Benchmark CPU کدام است؟

Benchmark واحدی
برای همه کاربردها
بهترین نیست.
Test باید با Workload
مورد نظر مرتبط باشد.

Synthetic Benchmark معتبر است؟

بله،
اگر درست تفسیر شود.
اما نباید به تنهایی
نماینده تمام Applicationهای واقعی
در نظر گرفته شود.

چرا نتیجه یک CPU در سایت های مختلف متفاوت است؟

تفاوت Platform،
Cooling،
Power،
Software،
Firmware
و Test Method
می تواند نتیجه را تغییر دهد.

چند بار باید Benchmark اجرا شود؟

عدد ثابتی برای همه Testها
وجود ندارد،
اما تکرار باید به اندازه ای باشد
که Variance و Repeatability
قابل ارزیابی باشند.

Mean بهتر است یا Median؟

بستگی به توزیع داده دارد.
Mean اطلاعات مفیدی می دهد،
اما Median نسبت به Outlier
مقاوم تر است.

Benchmark کوتاه بهتر است یا طولانی؟

هرکدام سؤال متفاوتی
را پاسخ می دهند.
تست کوتاه Burst Performance
و تست طولانی Sustained Performance
را بهتر نشان می دهد.

اختلاف 1 درصدی بین دو CPU مهم است؟

الزاماً خیر.
باید Variance
و خطای Test
نیز بررسی شود.

آیا Benchmark می تواند برای بررسی سیستم استوک استفاده شود؟

بله.
اختلاف غیرعادی
با سیستم های مشابه
می تواند نشانه ای
برای بررسی Thermal،
Power
یا Configuration باشد.

Benchmark بیشتر بهتر است یا کمتر؟

به Metric بستگی دارد.
در Score معمولاً عدد بالاتر
و در زمان انجام Task
معمولاً عدد پایین تر بهتر است.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Benchmark: آزمایش استاندارد برای اندازه گیری Performance.
  • Methodology: روش و مجموعه قواعد اجرای Test.
  • Synthetic Benchmark: Workload طراحی شده برای اندازه گیری کنترل شده.
  • Real-World Benchmark: Test مبتنی بر Application یا Workflow واقعی.
  • Microbenchmark: Test کوچک برای اندازه گیری یک رفتار مشخص.
  • Latency: زمان لازم برای تکمیل عملیات یا پاسخ.
  • Throughput: مقدار کار تکمیل شده در واحد زمان.
  • Warm-up: اجرای مقدماتی پیش از Measurement اصلی.
  • Variance: میزان پراکندگی نتایج.
  • Mean: میانگین حسابی نتایج.
  • Median: مقدار میانی مجموعه مرتب شده.
  • Outlier: داده ای با فاصله غیرمعمول از سایر نتایج.
  • Repeatability: توانایی ایجاد نتایج مشابه در تکرار یک Test.
  • Reproducibility: امکان بازتولید نتیجه تحت شرایط مشابه.
  • Burst Performance: Performance قابل دستیابی در مدت کوتاه.
  • Sustained Performance: Performance قابل حفظ در زمان طولانی.
  • Tail Latency: Latency مربوط به بخش کندتر توزیع پاسخ ها.
  • Cherry Picking: انتخاب گزینشی نتایج مطلوب و نادیده گرفتن بقیه.
  • Energy to Complete: انرژی کل لازم برای تکمیل یک Task.

خلاصه فصل

Benchmark
ابزار اندازه گیری است،
نه یک عدد جادویی
برای تعیین قدرت مطلق CPU.

هر نتیجه
فقط در چارچوب
Workload،
Platform،
Power،
Cooling،
Software
و Methodology
همان Test
معنا دارد.

Benchmark حرفه ای
باید قابل تکرار،
شفاف
و دارای Test Configuration
مشخص باشد.

تست های کوتاه
بیشتر Burst Performance
و تست های طولانی
Sustained Performance
را آشکار می کنند.

تکرار Test،
بررسی Variance،
Mean،
Median
و Outlier
کمک می کند
بفهمیم اختلاف مشاهده شده
واقعی است
یا بخشی از Noise.

Good Benchmark
=
Relevant Workload
+
Controlled Conditions
+
Repeated Measurements
+
Transparent Methodology
+
Correct Interpretation


Benchmark خوب قرار نیست فقط بگوید کدام CPU عدد بزرگ تری دارد؛
باید نشان دهد کدام پردازنده، در چه کاری، تحت چه شرایطی،
با چه توان و دمایی و با چه میزان پایداری عملکرد بهتری ارائه می کند.


فصل 99
سطح: متوسط تا پیشرفته
موضوع: گلوگاه و عامل محدودکننده عملکرد
تمرکز: Bottleneck / CPU Limit / GPU Limit / Latency / Throughput / Utilization


سریع تر کردن یک قطعه فقط زمانی مفید است که همان قطعه واقعاً عامل محدودکننده سیستم باشد

Bottleneck چیست و چگونه بفهمیم CPU عامل محدودکننده Performance است؟

یکی از رایج ترین اصطلاحات
هنگام صحبت درباره Performance سیستم،
Bottleneck
یا گلوگاه است.

گاهی گفته می شود:

CPU Bottleneck

یا:

GPU Bottleneck

اما Bottleneck
یک ویژگی دائمی
برای یک قطعه نیست.

عامل محدودکننده
می تواند با تغییر:

  • Software،
  • Workload،
  • Resolution،
  • Settings،
  • Data Set،
  • تعداد Threadها،
  • Power Limit،
  • Temperature،
  • و حتی مرحله اجرای همان برنامه

تغییر کند.

Bottleneck
=
Current Limiting Factor

در این فصل چه چیزهایی یاد می گیریم؟

  • Bottleneck دقیقاً چیست.
  • چرا هر سیستم همیشه نوعی محدودیت دارد.
  • CPU Bottleneck چیست.
  • چرا CPU Usage صد درصد شرط CPU Bottleneck نیست.
  • چرا Usage پایین هم CPU Bottleneck را رد نمی کند.
  • Single-Thread Bottleneck چیست.
  • Multi-Thread Bottleneck چیست.
  • GPU Limit چگونه از CPU Limit جدا می شود.
  • Thermal Limit چیست.
  • Power Limit چیست.
  • Software Bottleneck چیست.
  • I/O Wait چگونه روی CPU اثر می گذارد.
  • چرا Bottleneck با Workload تغییر می کند.
  • چگونه Bottleneck را با آزمایش پیدا کنیم.
  • چرا Bottleneck Calculatorها همیشه قابل اعتماد نیستند.

Bottleneck دقیقاً چیست؟

در یک سیستم،
چند بخش مختلف
برای انجام Workload
با یکدیگر همکاری می کنند.

سرعت نهایی
می تواند توسط بخشی
محدود شود که در آن لحظه
ظرفیت کافی
برای پاسخ به تقاضای Workload
ندارد.

به این عامل:

Performance Bottleneck

گفته می شود.

به زبان ساده:

System Performance
→
Limited by the Current Slowest Relevant Stage

آیا هر سیستم Bottleneck دارد؟

از دید مهندسی،
هر Workload
در نهایت توسط
یک یا چند عامل
محدود می شود.

اگر هیچ محدودیتی
وجود نداشت،
Performance می توانست
بدون پایان
افزایش پیدا کند.

بنابراین وجود Bottleneck
الزاماً به معنی
بد بودن سیستم نیست.

سؤال مهم این است:

«عامل محدودکننده چیست
و آیا تغییر آن
برای کاربرد مورد نظر
ارزش دارد؟»

چرا Bottleneck ثابت نیست؟

Bottleneck
به شرایط اجرای Workload
وابسته است.

برای مثال،
یک سیستم ممکن است
هنگام یک عملیات
CPU-Limited
باشد،
اما چند ثانیه بعد
در مرحله دیگری
I/O-Limited شود.

Bottleneck
=
Function of
Workload
+
Software
+
Hardware
+
Configuration
+
Time

CPU Bottleneck چیست؟

CPU Bottleneck
زمانی رخ می دهد
که توان پردازشی
یا سرعت پاسخ CPU
عامل اصلی محدودکننده
Performance مورد اندازه گیری باشد.

در چنین شرایطی
افزایش توان سایر بخش ها
ممکن است Performance
را به شکل محسوسی
افزایش ندهد.

اما افزایش Performance CPU
می تواند نتیجه را
بهتر کند.

Faster CPU
→
Measurable Performance Gain

این یکی از نشانه های مهم
CPU-Limited بودن
Workload است.

آیا CPU Usage صد درصد یعنی CPU Bottleneck؟

نه همیشه.

CPU Usage بالا
نشان می دهد
منابع پردازنده
به شدت درگیر هستند،
اما برای تشخیص Bottleneck
باید رفتار کل Workload
بررسی شود.

ممکن است CPU
تقریباً به طور کامل
مشغول باشد،
اما Performance نهایی
توسط عامل دیگری
نیز محدود شود.

آیا CPU Usage پایین یعنی CPU Bottleneck نداریم؟

خیر.

این یکی از مهم ترین
اشتباهات در تحلیل CPU است.

فرض کنید CPU
دارای 16 Hardware Thread
باشد،
اما Application
فقط بتواند
از یک Thread اصلی
استفاده کند.

ممکن است
همان Thread
کاملاً اشباع شده باشد،
در حالی که بسیاری
از Coreها بیکارند.

در نتیجه Total CPU Usage
ممکن است پایین به نظر برسد،
اما Workload همچنان
CPU-Limited باشد.

اشتباه رایج — فقط نگاه کردن به Total CPU Usage

Total CPU Usage
میانگینی از فعالیت
منابع پردازشی مختلف
ارائه می دهد.

اگر یک Thread حیاتی
به سقف Performance
یک Core برسد،
ممکن است همان Thread
کل Application
را محدود کند.

Low Total CPU Usage
≠
No CPU Bottleneck

Single-Thread Bottleneck چیست؟

بعضی Workloadها
دارای یک مسیر اصلی
یا Critical Thread
هستند.

اگر این Thread
نتواند سریع تر
اجرا شود،
افزایش تعداد Coreها
الزاماً Performance
را افزایش نمی دهد.

Critical Thread at Limit
→
Application Progress Limited

در چنین شرایطی
Per-Core Performance،
IPC،
Frequency
و Latency
اهمیت زیادی پیدا می کنند.

Multi-Thread CPU Bottleneck چیست؟

در Workloadهای
Parallel،
تعداد زیادی Thread
می توانند همزمان
CPU را درگیر کنند.

اگر بیشتر Coreهای قابل استفاده
مشغول باشند
و Workload
قابلیت Scaling داشته باشد،
افزایش منابع CPU
ممکن است Throughput
را افزایش دهد.

این حالت
در برخی:

  • Renderها،
  • Compileها،
  • Encodeها،
  • Simulationها،
  • Data Processingها،
  • و Server Workloadها

دیده می شود.

چرا اضافه کردن Core همیشه Bottleneck را برطرف نمی کند؟

Software
باید بتواند
Workload را میان Coreها
تقسیم کند.

بعضی قسمت های برنامه
قابل Parallel شدن هستند
و بعضی نیستند.

همچنین Synchronization،
Communication
و Shared Resourceها
می توانند Scaling
را محدود کنند.

More Cores
≠
Linear Performance Scaling

تفاوت CPU Bottleneck و GPU Bottleneck چیست؟

در Workloadهایی
که CPU و GPU
با یکدیگر همکاری می کنند،
هرکدام می توانند
عامل محدودکننده باشند.

اگر GPU
برای تکمیل کار خود
به زمان بیشتری نیاز داشته باشد
و CPU منتظر آن بماند،
افزایش Performance CPU
ممکن است تاثیر کمی داشته باشد.

در این حالت
Workload بیشتر:

GPU-Limited

است.

جزئیات معماری و Bottleneckهای GPU
متعلق به دانشنامه مستقل GPU هستند؛
در این فصل فقط رابطه آن
با محدودیت CPU
بررسی می شود.

CPU Bottleneck در Gaming چگونه ایجاد می شود؟

CPU در Game
وظایف مختلفی
بر عهده دارد.

بسته به Engine،
این وظایف می توانند شامل:

  • Game Logic،
  • Physics Preparation،
  • Animation Processing،
  • AI Logic،
  • Draw Call Preparation،
  • Asset Management،
  • و هماهنگی Threadها

باشند.

اگر CPU نتواند
Frame بعدی را
به اندازه کافی سریع
آماده کند،
GPU ممکن است
منتظر CPU بماند.

CPU Prepares Work
↓
GPU Processes Work
↓
Frame Completed

اگر مرحله CPU
کندتر باشد:

CPU-Limited

و اگر مرحله GPU
کندتر باشد:

GPU-Limited

چرا تغییر Resolution می تواند Bottleneck را تغییر دهد؟

در بسیاری از Gameها
افزایش Resolution
بار پردازشی GPU
را افزایش می دهد.

اگر GPU
زمان بیشتری
برای تولید هر Frame
نیاز داشته باشد،
محدودیت CPU
ممکن است کمتر دیده شود.

برعکس،
کاهش بار GPU
می تواند اختلاف
میان CPUها
را آشکارتر کند.

بنابراین:

Same CPU + Same GPU
≠
Same Bottleneck at Every Setting

چرا CPU برای Frame Rate بالا مهم تر می شود؟

هرچه تعداد Frame
در ثانیه بیشتر شود،
CPU نیز باید
کار مربوط به هر Frame
را با فاصله زمانی
کوتاه تری آماده کند.

برای مثال،
بودجه زمانی نظری
برای هر Frame:

60 FPS
→
16.67 ms per Frame

120 FPS
→
8.33 ms per Frame

240 FPS
→
4.17 ms per Frame

بنابراین دستیابی
به Frame Rate بسیار بالا
می تواند فشار بیشتری
روی مسیرهای حساس
به CPU وارد کند.

CPU Bottleneck در CAD و نرم افزارهای مهندسی چگونه است؟

نرم افزارهای مهندسی
یک رفتار واحد ندارند.

بعضی عملیات
ممکن است بیشتر
به Performance یک Thread
وابسته باشند،
در حالی که عملیات دیگر
قابلیت Parallelism
بیشتری داشته باشند.

بنابراین عبارت:

«این نرم افزار CPU محور است»

به تنهایی
اطلاعات کافی
برای انتخاب پردازنده
ارائه نمی دهد.

باید Operation واقعی
مشخص شود.

CPU Bottleneck در Rendering چگونه است؟

اگر Render Engine
از CPU Rendering
استفاده کند
و بتواند Workload
را میان تعداد زیادی Core
تقسیم کند،
CPU می تواند
عامل اصلی محدودکننده باشد.

در چنین شرایطی
افزایش Multi-Core Throughput
می تواند زمان Render
را کاهش دهد.

اما اگر Render
روی GPU انجام شود،
تحلیل Bottleneck
متفاوت خواهد بود.

Bottleneck در Compilation چیست؟

Compilation
می تواند ترکیبی
از مراحل Parallel
و Serial باشد.

بعضی فایل ها
می توانند همزمان
Compile شوند،
اما مراحل دیگری
ممکن است Parallelism
محدودتری داشته باشند.

بنابراین Performance
ممکن است به ترکیبی از:

  • Per-Core Performance،
  • Core Count،
  • Cache Behavior،
  • و I/O

وابسته باشد.

اگر CPU منتظر Data باشد چه اتفاقی می افتد؟

CPU همیشه
محدود به قدرت محاسباتی
خودش نیست.

گاهی Processor
آماده انجام کار است،
اما Data مورد نیاز
هنوز در دسترس نیست.

در چنین شرایطی
افزایش Frequency
یا Core Count
ممکن است سود محدودی
ایجاد کند.

CPU Waiting for Data
→
Execution Resources Underused

جزئیات سیستم حافظه
و Storage
در دانشنامه های مستقل
بررسی می شوند.

Compute-Bound یعنی چه؟

Workload
زمانی Compute-Bound
نامیده می شود
که Performance آن
عمدتاً توسط ظرفیت
محاسباتی Processor
محدود شود.

در چنین شرایطی
CPU سریع تر
می تواند
Performance بیشتری
ایجاد کند.

Memory-Bound یعنی چه؟

اگر CPU
بخش قابل توجهی
از زمان خود را
منتظر دسترسی
به Data بماند،
Workload ممکن است
بیشتر توسط Memory System
محدود شده باشد.

در این حالت
افزایش توان محاسباتی CPU
الزاماً افزایش Performance
متناسبی ایجاد نمی کند.

جزئیات Bandwidth،
Latency،
Channel،
DRAM Architecture
و Timingها
به دانشنامه RAM
منتقل می شوند.

Software Bottleneck چیست؟

همیشه Hardware
عامل محدودکننده نیست.

Software ممکن است
نتواند از منابع Hardware
به خوبی استفاده کند.

برای مثال:

  • Parallelism محدود،
  • Lock Contention،
  • Synchronization Overhead،
  • Algorithm ناکارآمد،
  • Thread Scheduling نامناسب،
  • یا Code Path غیر بهینه

می توانند Performance
را محدود کنند.

آیا CPU سریع تر Software Bottleneck را حل می کند؟

گاهی تا حدی،
اما نه همیشه.

اگر برنامه
فقط یک Thread
ایجاد کند،
CPU با Per-Core Performance
بیشتر ممکن است
آن Thread را سریع تر کند.

اما اضافه کردن
تعداد زیادی Core
ممکن است تقریباً
هیچ تاثیری نداشته باشد.

اگر محدودیت
از Algorithm
یا Synchronization
باشد نیز
Hardware سریع تر
فقط بخشی از مشکل
را کاهش می دهد.

Thermal Bottleneck چیست؟

اگر CPU
به محدودیت دمایی
نزدیک شود،
سیستم مدیریت توان
ممکن است Frequency
یا Power
را کاهش دهد.

در نتیجه
CPU نمی تواند
Performance بالقوه خود
را حفظ کند.

Temperature Limit
→
Frequency / Power Adjustment
→
Lower Sustained Performance

Power Limit چگونه CPU را محدود می کند؟

حتی اگر Temperature
مناسب باشد،
CPU ممکن است
به Power Limit
تعیین شده
توسط Platform
برسد.

در این حالت
Processor نمی تواند
بدون عبور از
Power Budget
Frequency بیشتری
حفظ کند.

این محدودیت
در Laptop،
Mini PC،
All-in-One،
Desktop،
Workstation
و Server
می تواند وجود داشته باشد،
هرچند مقدار و سیاست آن
متفاوت است.

نکته مهندسی — Power Limit و Thermal Limit یک چیز نیستند

CPU می تواند
کاملاً خنک باشد
اما به Power Limit
برسد.

همچنین ممکن است
Power Limit هنوز
اجازه مصرف بیشتری بدهد،
اما Cooling
نتواند Heat
را دفع کند
و CPU به Thermal Limit
برسد.

Power Limited
≠
Thermal Limited

برای تشخیص درست
باید هر دو
جداگانه بررسی شوند.

Bottleneck در Laptop چرا پیچیده تر است؟

در Laptop
محدودیت های:

  • Cooling،
  • Power،
  • Battery،
  • Chassis،
  • Noise Target،
  • و Firmware Policy

می توانند
Performance CPU
را تغییر دهند.

بنابراین دو Laptop
با CPU یکسان
الزاماً رفتار
Performance یکسانی ندارند.

Bottleneck در Desktop چگونه بررسی می شود؟

Desktop
معمولاً فضای بیشتری
برای Cooling
و Power Delivery
دارد.

اما همچنان:

  • Motherboard Configuration،
  • Cooling،
  • Power Limits،
  • Software،
  • و Workload

می توانند
عامل محدودکننده باشند.

Bottleneck در Workstation چیست؟

Workstation Workloadها
بسیار متنوع هستند.

یک مرحله
ممکن است
Single-Thread Limited
باشد،
مرحله بعد
Multi-Core Limited،
و مرحله دیگری
منتظر I/O
یا Accelerator باشد.

به همین دلیل
انتخاب CPU Workstation
باید براساس Workflow واقعی
انجام شود،
نه فقط یک Benchmark.

Bottleneck در Server چگونه متفاوت است؟

در Server
علاوه بر Performance
یک Task،
باید رفتار سیستم
تحت Concurrency بالا
نیز بررسی شود.

محدودیت می تواند
از:

  • CPU Core Capacity،
  • Synchronization،
  • Memory Access،
  • Network I/O،
  • Storage I/O،
  • Software Architecture،
  • یا Queueing

ایجاد شود.

Queue چگونه نشانه Bottleneck می شود؟

اگر Work
سریع تر از توان پردازش
وارد سیستم شود،
Taskها ممکن است
در صف قرار بگیرند.

Arrival Rate
>
Processing Rate
→
Queue Growth
→
Higher Latency

رشد Queue
می تواند نشانه ای
از رسیدن سیستم
به Capacity Limit
باشد.

Utilization و Bottleneck چه تفاوتی دارند؟

Utilization
میزان استفاده
از یک Resource
را نشان می دهد.

Bottleneck
مشخص می کند
کدام عامل
Performance نهایی
را محدود کرده است.

این دو مفهوم
مرتبط هستند،
اما یکسان نیستند.

High Utilization
≠
Automatic Proof of Bottleneck

چگونه بفهمیم CPU واقعاً Bottleneck است؟

بهترین روش
فقط نگاه کردن
به یک درصد Usage نیست.

باید یک فرضیه
بسازیم
و آن را آزمایش کنیم.

سؤال اصلی:

«اگر ظرفیت CPU را تغییر دهیم،
آیا Metric مورد نظر
به شکل قابل اندازه گیری
تغییر می کند؟»

Observe Problem
↓
Identify Target Metric
↓
Measure CPU Behavior
↓
Change One Relevant Variable
↓
Repeat Test
↓
Compare Result
↓
Confirm or Reject CPU Bottleneck

تغییر Frequency چگونه به تشخیص کمک می کند؟

در یک آزمایش کنترل شده،
اگر افزایش Performance CPU
باعث افزایش قابل اندازه گیری
در Metric نهایی شود،
این می تواند نشانه ای
از حساسیت Workload
به CPU باشد.

اما این آزمایش
باید با دقت انجام شود،
زیرا تغییر Frequency
می تواند Power
و Thermal Behavior
را نیز تغییر دهد.

تغییر بار GPU چگونه به تشخیص CPU Limit کمک می کند؟

در Workloadهای مشترک
CPU و GPU،
اگر کاهش بار GPU
Performance را
به شکل محسوسی افزایش ندهد،
ممکن است عامل محدودکننده
در بخش دیگری باشد.

اگر Performance
با کاهش بار GPU
به شدت افزایش پیدا کند،
GPU Limit
محتمل تر است.

این فقط یک نشانه است
و باید همراه
با سایر Measurementها
تفسیر شود.

چرا Frame Time از FPS تنها اطلاعات بیشتری می دهد؟

Average FPS
میانگین Performance
را نشان می دهد،
اما ممکن است
وقفه های کوتاه
را پنهان کند.

Frame Time
مدت زمان تولید
هر Frame
را نشان می دهد.

بررسی تغییرات Frame Time
می تواند برای پیدا کردن
Stutter
و رفتار ناپایدار
مفید باشد.

FPS
≈
1000
/
Frame Time in ms

چرا Average Performance همیشه کافی نیست؟

تجربه واقعی کاربر
فقط به میانگین
وابسته نیست.

اگر Performance
گاهی برای مدت کوتاه
افت زیادی داشته باشد،
Average ممکن است
همچنان خوب به نظر برسد.

برای همین
در بعضی Workloadها
توزیع Latency
یا معیارهایی
برای رفتار بدترین بخش
نمونه ها
نیز بررسی می شوند.

Bottleneck Calculator چیست و چرا باید با احتیاط استفاده شود؟

بعضی وب سایت ها
با دریافت مدل CPU
و GPU
یک درصد
با عنوان Bottleneck
نمایش می دهند.

مشکل این است
که Bottleneck
یک درصد ثابت
برای ترکیب دو قطعه نیست.

همان سیستم
در دو Workload مختلف
می تواند Bottleneck
متفاوتی داشته باشد.

CPU + GPU
≠
One Universal Bottleneck Percentage

اشتباه رایج — «این CPU دقیقاً 17 درصد Bottleneck دارد»

چنین عددی
بدون تعریف:

  • Workload،
  • Resolution،
  • Settings،
  • Target FPS،
  • Software،
  • Power،
  • و Platform

معنای فنی دقیقی ندارد.

Bottleneck
باید اندازه گیری شود،
نه اینکه فقط
از نام دو قطعه
حدس زده شود.

Bottleneck چگونه در تصمیم ارتقا کمک می کند؟

هدف تحلیل Bottleneck
این نیست که
حتماً تمام محدودیت ها
حذف شوند.

هدف این است
بفهمیم ارتقای کدام بخش
بیشترین تاثیر
بر Workload واقعی
خواهد داشت.

اگر سیستم
GPU-Limited باشد،
ارتقای CPU
ممکن است سود کمی داشته باشد.

اگر Workload
Single-Thread CPU-Limited باشد،
افزایش Core Count
بدون افزایش Per-Core Performance
ممکن است موثر نباشد.

بنابراین:

Best Upgrade
=
Upgrade the Relevant Limiting Resource

سیستم Balanced یعنی سیستم بدون Bottleneck؟

خیر.

سیستم بدون هیچ محدودیتی
وجود ندارد.

Balanced System
یعنی منابع سیستم
متناسب با Workload
و هدف کاربر
انتخاب شده اند،
به طوری که هزینه زیادی
برای منابعی که استفاده نمی شوند
پرداخت نشده باشد.

تحلیل Bottleneck در سیستم استوک چه اهمیتی دارد؟

هنگام خرید
یک سیستم استوک،
نباید فقط
مدل CPU
را بررسی کرد.

ممکن است یک CPU
هنوز برای Workload مورد نظر
Performance کافی داشته باشد،
اما سیستم به علت:

  • Cooling نامناسب،
  • Power Configuration،
  • Storage کند،
  • محدودیت GPU،
  • Software Configuration،
  • یا سایر اجزای Platform

Performance مطلوب
ارائه ندهد.

این موضوع برای:

  • لپ تاپ استوک،
  • Desktop استوک،
  • Workstation استوک،
  • Mini PC،
  • All-in-One،
  • و Server دست دوم

صدق می کند.

زیرساخت فنی — گلوگاه چگونه در یک زنجیره پردازش شکل می گیرد؟

یک Workload واقعی
معمولاً یک عملیات
منفرد نیست.

Data
از چند مرحله
عبور می کند.

Input
↓
Software
↓
CPU Processing
↓
Data Access
↓
Optional Accelerator / GPU
↓
I/O
↓
Output

اگر یکی از مراحل
نتواند با سرعت
مراحل دیگر
هماهنگ شود،
Work ممکن است
پشت آن مرحله
منتظر بماند.

این انتظار
می تواند به صورت:

  • Queue،
  • Idle Time،
  • Low Utilization در بخش دیگر،
  • Higher Latency،
  • Lower Throughput،
  • یا Stutter

دیده شود.

نکته مهم این است
که گلوگاه
می تواند در طول اجرای
همان Workload
جابه جا شود.

Bottleneck at Time A
≠
Bottleneck at Time B

تاثیر بر عملکرد — چرا ارتقای CPU همیشه سیستم را سریع تر نمی کند؟

فرض کنید CPU فعلی
برای یک Workload
می تواند داده را
سریع تر از بخش بعدی
Pipeline آماده کند.

اگر CPU
دو برابر سریع تر شود،
بخش بعدی همچنان
با همان سرعت قبلی
کار خواهد کرد.

بنابراین Performance نهایی
ممکن است تقریباً
تغییر نکند.

Faster CPU
+
Non-CPU Bottleneck
→
Small or No Performance Gain

به همین دلیل
قبل از ارتقا
باید عامل محدودکننده
واقعی پیدا شود.

چک لیست تشخیص CPU Bottleneck

  1. Workload دقیق را مشخص کنید.
  2. Metric مورد نظر را تعیین کنید؛ زمان، FPS، Throughput یا Latency.
  3. Total CPU Usage را بررسی کنید، اما به آن اکتفا نکنید.
  4. فعالیت Coreها و Threadهای مهم را بررسی کنید.
  5. Frequency واقعی CPU را زیر Load مشاهده کنید.
  6. Temperature را بررسی کنید.
  7. Power Limit را بررسی کنید.
  8. Thermal Throttling را بررسی کنید.
  9. مشخص کنید CPU در حال محاسبه است یا منتظر Data.
  10. در Workload مشترک، رفتار GPU یا Accelerator را بررسی کنید.
  11. Background Processها را کنترل کنید.
  12. Workload را چند بار تکرار کنید.
  13. فقط یک متغیر را در هر آزمایش تغییر دهید.
  14. تغییر Metric نهایی را اندازه گیری کنید.
  15. اگر افزایش ظرفیت CPU نتیجه را بهتر کرد، CPU Limit محتمل تر است.
  16. اگر نتیجه تقریباً تغییر نکرد، عامل محدودکننده دیگری را بررسی کنید.

نشانه های احتمالی انواع محدودیت

محدودیت احتمالی نشانه قابل بررسی آزمایش مفید
Single-Thread CPU Limit یک Thread یا مسیر اصلی در سقف Performance بررسی حساسیت Workload به Per-Core Performance
Multi-Core CPU Limit استفاده گسترده از Coreها و Scaling مناسب مقایسه با CPU دارای Throughput بیشتر
GPU Limit CPU ظرفیت اضافه دارد و GPU عامل کندتر است کاهش بار GPU و بررسی تغییر Performance
Thermal Limit افت Frequency همزمان با افزایش Temperature بررسی رفتار Sustained Load و Cooling
Power Limit CPU به سقف Power مجاز می رسد بررسی Telemetry و Power Configuration
Software Limit Hardware آزاد است اما Performance Scaling نمی کند بررسی Threading، Algorithm و Software Behavior
I/O Limit CPU بخشی از زمان منتظر Data یا I/O است اندازه گیری Wait و تغییر منبع I/O

اشتباهات رایج — Common Mistakes در تحلیل Bottleneck
  • فرض اینکه هر سیستم فقط یک Bottleneck ثابت دارد.
  • استفاده از Total CPU Usage به عنوان تنها معیار.
  • فرض اینکه CPU Usage پایین یعنی CPU Limit وجود ندارد.
  • فرض اینکه CPU Usage صد درصد همیشه ثابت می کند CPU گلوگاه است.
  • نادیده گرفتن Critical Thread.
  • فرض اینکه Core بیشتر هر نوع CPU Bottleneck را حل می کند.
  • نادیده گرفتن Software Scaling.
  • نادیده گرفتن Synchronization و Lockها.
  • اشتباه گرفتن Power Limit با Thermal Limit.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن I/O Wait.
  • فرض اینکه Bottleneck در تمام مراحل یک Workflow ثابت است.
  • مقایسه CPU و GPU فقط براساس درصد Utilization.
  • اعتماد کامل به Bottleneck Calculator.
  • پذیرفتن یک درصد ثابت برای Bottleneck.
  • ارتقای CPU بدون اندازه گیری عامل محدودکننده.
  • فرض اینکه سیستم Balanced هیچ Bottleneckی ندارد.
  • تغییر چند متغیر همزمان هنگام عیب یابی.
  • نادیده گرفتن Frame Time یا Latency و تمرکز فقط بر Average.
  • تعمیم نتیجه یک Benchmark به همه Workloadها.

سوالات متداول درباره CPU Bottleneck

CPU Bottleneck یعنی چه؟

یعنی Performance مورد نظر
در شرایط فعلی
عمدتاً توسط ظرفیت
یا سرعت CPU
محدود شده است.

آیا CPU باید صد درصد استفاده شود تا Bottleneck باشد؟

خیر.
ممکن است یک Thread حیاتی
محدود شده باشد
در حالی که سایر Coreها
استفاده کمی دارند.

CPU Usage صد درصد یعنی حتماً CPU Bottleneck داریم؟

الزاماً خیر.
باید Metric نهایی،
رفتار سایر منابع
و Workload
نیز بررسی شوند.

آیا Bottleneck بد است؟

وجود یک عامل محدودکننده
طبیعی است.
مسئله این است که
آیا این محدودیت
مانع رسیدن سیستم
به Performance مورد نیاز
می شود یا خیر.

آیا Core بیشتر CPU Bottleneck را حل می کند؟

فقط اگر Workload
بتواند از Coreهای بیشتر
استفاده کند.
در محدودیت Single-Thread
ممکن است تاثیر کمی داشته باشد.

چرا Bottleneck با Resolution تغییر می کند؟

چون تغییر Resolution
می تواند بار GPU
و زمان پردازش هر Frame
را تغییر دهد
و در نتیجه عامل محدودکننده
جابه جا شود.

Bottleneck Calculator قابل اعتماد است؟

برای تعیین یک درصد دقیق
و جهانی خیر.
Bottleneck به Workload
و شرایط اجرا وابسته است.

چگونه مطمئن شویم CPU گلوگاه است؟

با Measurement،
بررسی Threadها،
Frequency،
Power،
Temperature
و آزمایش کنترل شده
تغییر ظرفیت CPU.

آیا یک CPU در همه برنامه ها Bottleneck یکسانی ایجاد می کند؟

خیر.
Bottleneck وابسته
به Workload است.

برای خرید سیستم استوک بررسی Bottleneck مهم است؟

بله.
چون Performance سیستم
فقط به مدل CPU
وابسته نیست
و Platform،
Cooling،
Power
و سایر اجزا
نیز می توانند
محدودکننده باشند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Bottleneck: عامل محدودکننده Performance در شرایط و Workload مشخص.
  • CPU-Limited: شرایطی که CPU عامل اصلی محدودکننده Performance است.
  • GPU-Limited: شرایطی که GPU عامل اصلی محدودکننده Performance است.
  • Compute-Bound: Workload محدودشده عمدتاً توسط ظرفیت محاسباتی.
  • Memory-Bound: Workloadی که Performance آن به شدت توسط دسترسی به حافظه محدود می شود.
  • Critical Thread: Threadی که سرعت پیشرفت Application به اجرای آن وابستگی زیادی دارد.
  • Utilization: میزان استفاده از یک Resource.
  • Queue: صف Workهایی که منتظر پردازش هستند.
  • I/O Wait: زمانی که Execution منتظر تکمیل عملیات ورودی یا خروجی است.
  • Thermal Limit: محدودیت ناشی از رسیدن به شرایط دمایی تعیین شده.
  • Power Limit: محدودیت ناشی از سقف Power مجاز.
  • Software Bottleneck: محدودیتی که از ساختار یا رفتار Software ایجاد می شود.
  • Frame Time: زمان لازم برای تولید یک Frame.
  • Balanced System: سیستمی که منابع آن متناسب با Workload و هدف طراحی انتخاب شده اند.

خلاصه فصل

Bottleneck
یک ویژگی ثابت
برای CPU یا سیستم نیست.

عامل محدودکننده
به Workload،
Software،
Configuration،
Power،
Thermal Conditions
و مرحله اجرای برنامه
وابسته است.

Total CPU Usage
به تنهایی
برای تشخیص CPU Bottleneck
کافی نیست.

یک Critical Thread
می تواند Application
را محدود کند،
حتی زمانی که
بخش بزرگی از CPU
بیکار است.

از سوی دیگر،
CPU Usage بالا
نیز به تنهایی
ثابت نمی کند
که CPU تنها
عامل محدودکننده است.

تشخیص صحیح
با Measurement
و آزمایش کنترل شده
انجام می شود.

Measure
→
Form Hypothesis
→
Change One Variable
→
Retest
→
Identify Limiting Factor


هدف از تحلیل Bottleneck پیدا کردن ضعیف ترین قطعه روی کاغذ نیست؛
هدف پیدا کردن عاملی است که در Workload واقعی، همین حالا Performance
مورد نیاز ما را محدود کرده است.


فصل 100
سطح: متوسط تا پیشرفته
موضوع: مانیتورینگ و تحلیل عملکرد واقعی CPU
تمرکز: Usage / Clock / Effective Clock / Temperature / Power / Throttling / Telemetry


مشخصات روی کاغذ می گویند CPU چه توانایی هایی دارد؛ مانیتورینگ نشان می دهد در همین لحظه واقعاً چه کاری انجام می دهد

چگونه عملکرد واقعی CPU را مانیتور و تحلیل کنیم؟

برای تحلیل Performance پردازنده،
دانستن مدل CPU،
تعداد Core
و Maximum Frequency
کافی نیست.

باید ببینیم پردازنده
هنگام اجرای Workload واقعی
چگونه رفتار می کند.

برای این کار
از مجموعه ای از داده های
Monitoring
یا Telemetry
استفاده می کنیم.

CPU Telemetry
→
Usage
+
Frequency
+
Effective Clock
+
Temperature
+
Power
+
Limit Indicators

هیچ کدام از این اعداد
به تنهایی
تصویر کاملی از CPU
ارائه نمی دهند.

در این فصل چه چیزهایی یاد می گیریم؟

  • CPU Monitoring چیست.
  • Telemetry چیست.
  • CPU Usage چگونه تفسیر می شود.
  • Total Usage و Per-Core Usage چه تفاوتی دارند.
  • CPU Clock چیست.
  • Effective Clock چیست.
  • چرا Clock گزارش شده همیشه Performance واقعی را نشان نمی دهد.
  • Temperature چگونه تحلیل می شود.
  • Package Power چیست.
  • Power Limit چگونه شناسایی می شود.
  • Thermal Throttling چیست.
  • Current Limit چیست.
  • چرا Sampling Interval مهم است.
  • Average، Minimum و Maximum چه کاربردی دارند.
  • چگونه رفتار CPU را زیر Load تحلیل کنیم.
  • چگونه سیستم استوک را با Telemetry بررسی کنیم.

CPU Monitoring چیست؟

CPU Monitoring
یعنی مشاهده و ثبت
وضعیت عملیاتی پردازنده
هنگام اجرای سیستم.

به جای اینکه فقط
مشخصات اسمی CPU
را بخوانیم،
رفتار واقعی آن
را اندازه گیری می کنیم.

برای مثال:

  • چه مقدار از CPU درگیر است؟
  • کدام Coreها فعال هستند؟
  • Frequency واقعی چقدر است؟
  • CPU چه دمایی دارد؟
  • چه مقدار Power مصرف می کند؟
  • آیا به محدودیت حرارتی رسیده است؟
  • آیا Power Limit فعال شده است؟
  • آیا Performance در طول زمان افت می کند؟

Telemetry چیست؟

Telemetry
مجموعه داده هایی است
که درباره وضعیت
و رفتار Hardware
اندازه گیری یا گزارش می شوند.

این داده ها
ممکن است از:

  • Hardware Sensorها،
  • Performance Counterها،
  • Firmware،
  • Operating System،
  • Driverها،
  • یا Monitoring Software

دریافت شوند.

نکته مهم این است که
تمام مقادیر Telemetry
الزاماً به یک روش
اندازه گیری نمی شوند.

آیا همه اعداد Monitoring مستقیماً توسط Sensor اندازه گیری می شوند؟

خیر.

بعضی مقادیر
مستقیماً از Sensor
یا Registerهای Hardware
خوانده می شوند.

برخی دیگر
ممکن است توسط Software
از داده های مختلف
محاسبه یا تخمین زده شوند.

بنابراین هنگام مقایسه
دو Monitoring Tool
باید بدانیم
آیا هر دو واقعاً
یک Metric
را با یک روش
گزارش می کنند یا خیر.

CPU Usage دقیقاً چه چیزی را نشان می دهد؟

CPU Usage
تلاش می کند نشان دهد
چه مقدار از ظرفیت زمانی
پردازنده
در یک بازه مشخص
در حال انجام Work
بوده است.

اما تفسیر آن
همیشه به سادگی:

100%
=
Maximum CPU Performance

نیست.

Usage
باید همراه
با Frequency،
Core Activity،
Workload
و Limitها
بررسی شود.

Total CPU Usage چیست؟

Total CPU Usage
نمایی کلی
از فعالیت پردازنده
ارائه می دهد.

اگر CPU
تعداد زیادی
Logical Processor
داشته باشد،
Total Usage
می تواند فعالیت آنها
را در یک مقدار کلی
خلاصه کند.

این عدد
برای مشاهده سریع
وضعیت سیستم مفید است،
اما برای تحلیل دقیق
کافی نیست.

چرا Per-Core Usage مهم است؟

ممکن است Total CPU Usage
فقط 20 یا 30 درصد باشد،
اما یک یا چند Core
به شدت درگیر باشند.

این حالت
در Workloadهایی
با Parallelism محدود
اهمیت زیادی دارد.

Total CPU Usage = 25%

می تواند همزمان
با:

Critical Thread ≈ Fully Busy

رخ دهد.

Logical Processor Usage را چگونه تفسیر کنیم؟

سیستم عامل
معمولاً فعالیت
Logical Processorها
را نمایش می دهد.

Logical Processor
الزاماً معادل
یک Physical Core مستقل
نیست.

در پردازنده هایی
که SMT
یا فناوری مشابه دارند،
چند Logical Thread
می توانند منابع
یک Core فیزیکی
را به اشتراک بگذارند.

بنابراین نمودار Usage
باید با شناخت
Topology پردازنده
تفسیر شود.

CPU Clock در ابزارهای مانیتورینگ چیست؟

Monitoring Toolها
معمولاً مقدارهایی
برای Frequency
یا Clock
پردازنده نمایش می دهند.

این مقدار می تواند
نشان دهد CPU
در چه محدوده فرکانسی
فعالیت می کند.

اما باید بدانیم
Frequency گزارش شده
دقیقاً با چه روشی
محاسبه شده است.

یک عدد Clock بالا
الزاماً به معنی
اجرای مفید
با همان نرخ
در تمام بازه زمانی نیست.

Effective Clock چیست؟

Effective Clock
تلاش می کند
فعالیت موثر CPU
را در طول
یک بازه زمانی
بهتر نشان دهد.

CPU مدرن
دائماً می تواند
میان حالت های:

  • فعال،
  • Idle،
  • Sleep،
  • Boost،
  • و Power-Saving

جابه جا شود.

بنابراین مشاهده
یک Clock لحظه ای
ممکن است تصویر کاملی
از مقدار کار موثر
انجام شده
ارائه نکند.

نکته مهندسی — Clock و Effective Clock را با هم اشتباه نگیرید

ممکن است ابزار
Clock بالایی
برای یک Core
گزارش کند،
اما Core
در تمام بازه Sampling
فعال نبوده باشد.

در این حالت
Effective Clock
می تواند مقدار پایین تری
نشان دهد.

Reported Clock
≠
Effective Work Rate

این تفاوت
هنگام بررسی
رفتار Idle،
Light Load
و Burst Workload
اهمیت زیادی دارد.

چرا Maximum Boost Clock را همیشه در Monitoring نمی بینیم؟

Maximum Boost
یک Frequency تضمین شده
برای تمام Coreها
و تمام شرایط نیست.

رسیدن به آن
می تواند به:

  • تعداد Coreهای فعال،
  • نوع Workload،
  • Temperature،
  • Power Budget،
  • Current Limit،
  • Firmware Policy،
  • و Silicon Characteristics

وابسته باشد.

بنابراین مشاهده نکردن
Maximum Advertised Boost
در یک Multi-Core Workload
الزاماً نشانه مشکل نیست.

چرا نگاه کردن به یک لحظه از Clock کافی نیست؟

Frequency پردازنده
می تواند در مدت بسیار کوتاه
تغییر کند.

اگر Monitoring Tool
فقط در فواصل مشخص
مقدار را Sample کند،
ممکن است بعضی تغییرات
میان دو Sample
دیده نشوند.

بنابراین برای تحلیل
رفتار واقعی،
روند تغییرات در طول زمان
مهم تر از یک Snapshot
منفرد است.

Temperature CPU را چگونه تفسیر کنیم؟

Temperature
یکی از مهم ترین
Metricهای Monitoring است،
اما عدد دما
به تنهایی
مشخص نمی کند
CPU مشکل دارد یا خیر.

باید بدانیم:

  • CPU در Idle است یا Load؟
  • Workload کوتاه است یا طولانی؟
  • Power Consumption چقدر است؟
  • Frequency حفظ شده یا کاهش یافته؟
  • Thermal Limit فعال شده یا خیر؟
  • مدل و طراحی سیستم چیست؟

آیا دمای بالا همیشه به معنی Thermal Throttling است؟

خیر.

CPU می تواند
در دمای نسبتاً بالا
کار کند
بدون اینکه الزاماً
وارد Thermal Throttling
شده باشد.

برای تشخیص Throttling
باید علاوه بر Temperature،
Limit Indicatorها
و رفتار Frequency
بررسی شوند.

High Temperature
≠
Automatic Thermal Throttling

Thermal Throttling چیست؟

زمانی که CPU
برای رعایت محدودیت حرارتی
مجبور شود
Performance Operating Point
خود را کاهش دهد،
Thermal Throttling
رخ می دهد.

این کاهش می تواند
از طریق تغییر:

  • Frequency،
  • Voltage،
  • Power،
  • یا سایر سیاست های مدیریت Performance

انجام شود.

Thermal Limit Reached
→
Performance Adjustment
→
Heat Generation Reduced

CPU Package Power چیست؟

Package Power
مقداری است
که برای توصیف
توان مصرفی بخش های
داخل Package پردازنده
استفاده می شود.

تعریف دقیق آن
می تواند میان Platformها
و روش های Telemetry
متفاوت باشد.

Package Power
را نباید مستقیماً
با:

Total System Power

یکی دانست.

CPU Package Power
≠
Wall Power
≠
Total System Power

این سه Metric
می توانند اهداف
اندازه گیری متفاوتی
داشته باشند.

چگونه بفهمیم CPU به Power Limit رسیده است؟

بعضی پردازنده ها
و Monitoring Toolها
Indicatorهایی
برای محدودیت توان
ارائه می دهند.

اگر CPU
زیر Load سنگین
به Power Budget
تعیین شده برسد،
سیستم ممکن است
Frequency
را برای حفظ
محدودیت توان
تنظیم کند.

این اتفاق
حتی زمانی ممکن است رخ دهد
که Temperature
هنوز پایین تر
از Thermal Limit باشد.

Current Limit چیست؟

علاوه بر Power
و Temperature،
Platform
ممکن است محدودیت هایی
برای Current
داشته باشد.

اگر شرایط بار
به یکی از این Limitها
برسد،
رفتار Frequency
و Performance
می تواند تغییر کند.

بنابراین افت Clock
همیشه به معنی
داغ شدن CPU نیست.

Limit عامل اصلی اثر احتمالی
Thermal Limit Temperature کاهش Operating Point برای کنترل Heat
Power Limit Power Budget محدود شدن Frequency یا Performance
Current Limit Electrical Current محدود شدن Operating Point
Software / OS Limit Policy یا Workload استفاده نشدن کامل از ظرفیت CPU
Workload Limit Parallelism یا Dependency Coreهای بیشتر الزاماً Performance را افزایش نمی دهند

رابطه Power، Temperature و Clock چیست؟

این سه Metric
باید در کنار یکدیگر
بررسی شوند.

افزایش Workload
معمولاً می تواند
فعالیت CPU
و Power
را افزایش دهد.

افزایش Power
می تواند Heat بیشتری
تولید کند.

اگر Cooling
نتواند Heat
را با سرعت کافی
دفع کند،
Temperature افزایش می یابد.

Workload ↑
→
CPU Activity ↑
→
Power ↑
→
Heat ↑
→
Temperature ↑

سپس Firmware
و Hardware Control
تلاش می کنند
Operating Point
مناسب را حفظ کنند.

چرا CPU را باید در طول زمان مانیتور کنیم؟

رفتار CPU
در ثانیه های اول
Workload
ممکن است با رفتار آن
پس از چند دقیقه
متفاوت باشد.

در ابتدای Load
ممکن است:

  • Temperature پایین باشد،
  • Thermal Headroom زیاد باشد،
  • Boost بالاتر باشد،
  • و Power بیشتری برای مدت کوتاه در دسترس باشد.

پس از گرم شدن سیستم،
CPU ممکن است
به Operating Point
پایدار دیگری برسد.

Initial Performance
≠
Sustained Performance

Sampling Interval چیست؟

Monitoring Software
معمولاً Sensorها
را به صورت پیوسته
و بدون فاصله
نمایش نمی دهد.

در عوض،
در بازه های زمانی مشخص
داده ها را Sample می کند.

به فاصله میان
این نمونه برداری ها:

Sampling Interval

گفته می شود.

Sampling Interval چگونه نتیجه را تغییر می دهد؟

اگر Interval
بسیار طولانی باشد،
تغییرات کوتاه مدت
ممکن است دیده نشوند.

برای مثال
یک Spike کوتاه
در Temperature
یا Frequency
ممکن است
بین دو Sample
اتفاق بیفتد.

در مقابل،
Sampling بسیار سریع
می تواند حجم زیادی
از Data
تولید کند
و تحلیل را دشوارتر کند.

Current، Minimum، Maximum و Average چه تفاوتی دارند؟

Metric معنی کاربرد
Current مقدار فعلی یا آخرین Sample مشاهده وضعیت همین لحظه
Minimum کمترین مقدار ثبت شده بررسی پایین ترین مقدار در دوره ثبت
Maximum بیشترین مقدار ثبت شده پیدا کردن Peak
Average میانگین مقدار در بازه ثبت بررسی رفتار کلی در طول زمان

اشتباه رایج — قضاوت درباره CPU فقط با Maximum Temperature

فرض کنید CPU
در یک تست طولانی
فقط برای لحظه ای
به Temperature بالایی
رسیده باشد.

نگاه کردن فقط
به ستون Maximum
ممکن است این تصور
را ایجاد کند
که CPU در تمام Test
با همان دما
کار کرده است.

برای تحلیل بهتر
باید روند زمانی،
Average،
Frequency،
Power
و Limit Indicatorها
نیز بررسی شوند.

چرا نمودار زمانی از یک عدد بهتر است؟

یک Snapshot
فقط وضعیت
یک لحظه را نشان می دهد.

اما Time-Series
می تواند رابطه میان:

  • Load،
  • Clock،
  • Temperature،
  • Power،
  • و Performance

را در طول زمان
آشکار کند.

Time
→
Load ↑
→
Power ↑
→
Temperature ↑
→
Frequency Changes

چرا باید Metricها را با یکدیگر مرتبط کنیم؟

فرض کنید Frequency
ناگهان کاهش یافته است.

فقط از روی این اتفاق
نمی توان علت را فهمید.

باید همزمان بررسی کنیم:

  • آیا Workload کاهش یافته؟
  • آیا Temperature بالا رفته؟
  • آیا Power Limit فعال شده؟
  • آیا CPU وارد Idle State شده؟
  • آیا Thread روی Core دیگری منتقل شده؟

تحلیل درست
از ارتباط میان Metricها
به دست می آید.

CPU در حالت Idle باید چه رفتاری داشته باشد؟

CPU مدرن
هنگام نبود Work
تلاش می کند
Energy Consumption
را کاهش دهد.

در نتیجه
ممکن است Coreها
وارد حالت های کم مصرف شوند
و Effective Activity
بسیار پایین بیاید.

وجود تغییرات کوتاه
در Usage
هنگام Idle
طبیعی است،
زیرا Operating System
و Background Serviceها
همچنان کارهای کوچکی
انجام می دهند.

CPU Usage غیرعادی در Idle چه معنایی دارد؟

اگر سیستم
بدون Workload مشخص
برای مدت قابل توجهی
CPU Usage بالایی داشته باشد،
باید Processهای فعال
بررسی شوند.

علت می تواند:

  • Background Application،
  • Operating System Update،
  • Indexing،
  • Security Scan،
  • Driver Activity،
  • یا Software Problem

باشد.

چگونه یک Workload تک هسته ای را مانیتور کنیم؟

در Workload
با Parallelism محدود،
Total Usage
ممکن است پایین باشد.

باید:

  • Per-Core Usage،
  • Critical Thread،
  • Frequency Core فعال،
  • Effective Clock،
  • Temperature،
  • و Performance Metric

بررسی شوند.

چگونه Workload چند هسته ای را مانیتور کنیم؟

در Multi-Core Workload
باید بررسی کنیم:

  • چند Core واقعاً فعال هستند؟
  • Load میان Coreها چگونه توزیع شده است؟
  • All-Core Frequency چقدر است؟
  • Package Power چگونه تغییر می کند؟
  • Temperature به چه سطحی می رسد؟
  • آیا Power یا Thermal Limit فعال می شود؟
  • Performance در طول زمان پایدار می ماند یا خیر؟

مانیتورینگ CPUهای Hybrid چه تفاوتی دارد؟

در پردازنده هایی
با انواع مختلف Core،
فقط مشاهده Total Usage
اطلاعات کافی
ارائه نمی دهد.

باید مشخص شود
Threadهای مهم
روی کدام نوع Core
اجرا می شوند.

Scheduler
می تواند Work
را میان Coreها
جابه جا کند.

بنابراین Per-Core Monitoring
و شناخت Topology
اهمیت بیشتری پیدا می کند.

هنگام مانیتورینگ CPU لپ تاپ چه چیزهایی مهم تر هستند؟

در Laptop
Power
و Thermal Constraints
معمولاً نقش پررنگ تری دارند.

هنگام تست
بهتر است بررسی شود:

  • دستگاه به برق متصل است یا Battery؟
  • Power Mode چیست؟
  • Temperature چگونه تغییر می کند؟
  • Clock پس از گرم شدن دستگاه چه رفتاری دارد؟
  • Package Power پایدار چقدر است؟
  • Thermal Throttling رخ می دهد یا خیر؟
  • Performance بعد از چند دقیقه افت می کند یا خیر؟

هنگام مانیتورینگ Desktop چه چیزهایی بررسی می شوند؟

در Desktop
Cooling
و Motherboard Configuration
می توانند
رفتار CPU
را تغییر دهند.

بنابراین علاوه بر
CPU Usage
باید:

  • Clock،
  • Effective Clock،
  • Temperature،
  • Power،
  • Limit Indicators،
  • و Sustained Performance

بررسی شوند.

در Workstation چه چیزی مهم است؟

Workstation
معمولاً برای Workloadهای
طولانی تر
استفاده می شود.

بنابراین Peak Clock
چند ثانیه اول
اهمیت کمتری
از Performance پایدار
دارد.

در Render،
Simulation،
Compilation
و پردازش های طولانی،
باید رفتار CPU
در چند دقیقه
یا حتی مدت طولانی تر
بررسی شود.

مانیتورینگ CPU در Server چگونه متفاوت است؟

در Server
فقط Peak Performance
مهم نیست.

باید Metricهایی مانند:

  • CPU Utilization،
  • Per-Core Load،
  • Run Queue،
  • Latency،
  • Throughput،
  • Power،
  • Temperature،
  • و Performance Stability

در طول زمان
بررسی شوند.

چگونه علت افت Performance بعد از چند دقیقه را پیدا کنیم؟

فرض کنید Benchmark
در ابتدا سریع است،
اما بعد از چند دقیقه
Performance کاهش می یابد.

باید همزمان
نمودارهای:

  • Performance،
  • Clock،
  • Effective Clock،
  • Temperature،
  • Power،
  • و Limit Indicators

بررسی شوند.

اگر:

Temperature ↑
→
Thermal Limit Active
→
Clock ↓
→
Performance ↓

مشاهده شود،
Thermal Constraint
یکی از علت های محتمل است.

اما اگر:

Temperature Acceptable
+
Power Limit Active
→
Clock ↓
→
Performance ↓

مشاهده شود،
محدودیت می تواند
بیشتر به Power Policy
مربوط باشد.

و اگر:

CPU Load ↓
→
Clock ↓

مشاهده شود،
کاهش Frequency
ممکن است کاملاً طبیعی باشد،
زیرا CPU دیگر
Work کافی
برای اجرا ندارد.

تاثیر بر عملکرد — چرا Clock پایین همیشه به معنی مشکل نیست؟

CPU مدرن
Frequency خود را
براساس نیاز Workload
تنظیم می کند.

اگر برنامه
منتظر Input،
Storage،
Network،
GPU
یا یک Dependency
باشد،
CPU ممکن است
Work کافی
برای حفظ Clock بالا
نداشته باشد.

در این شرایط
کاهش Clock
نتیجه مشکل CPU نیست؛
نتیجه کاهش تقاضا
برای پردازش است.

Low Clock
+
Low CPU Demand
=
Potentially Normal Behavior

مانیتورینگ برای بررسی سیستم استوک چه کاربردی دارد؟

در یک سیستم استوک،
مشخصات Hardware
فقط بخشی از بررسی است.

Monitoring
می تواند کمک کند
رفتار واقعی دستگاه
زیر Load
ارزیابی شود.

برای مثال می توان بررسی کرد:

  • CPU زیر Load به Frequency مناسب می رسد یا خیر.
  • Performance در طول زمان پایدار است یا خیر.
  • Temperature رفتار غیرعادی دارد یا خیر.
  • Thermal Throttling رخ می دهد یا خیر.
  • Power Limit غیرمنتظره وجود دارد یا خیر.
  • Cooling System توان دفع Heat را دارد یا خیر.
  • Background Process غیرعادی CPU را درگیر کرده یا خیر.

این روش فقط
برای لپ تاپ استوک نیست
و برای:

  • کامپیوتر رومیزی،
  • Workstation،
  • All-in-One،
  • Mini PC،
  • و Server استوک

نیز کاربرد دارد.

روش اصولی مانیتورینگ CPU

  1. سیستم را در شرایط مشخص قرار دهید.
  2. Background Processهای غیرضروری را کنترل کنید.
  3. Power Mode را ثبت کنید.
  4. Monitoring را قبل از شروع Workload فعال کنید.
  5. Idle Behavior را برای مدت کوتاهی ثبت کنید.
  6. Workload مشخص و قابل تکرار را اجرا کنید.
  7. Total CPU Usage را بررسی کنید.
  8. Per-Core Usage را بررسی کنید.
  9. Clock و Effective Clock را مقایسه کنید.
  10. Temperature را در طول زمان ثبت کنید.
  11. Package Power را بررسی کنید.
  12. Power، Thermal و Current Limitها را بررسی کنید.
  13. Performance Metric خود Workload را ثبت کنید.
  14. اجازه دهید Test به حالت پایدار برسد.
  15. افت یا تغییر Performance را با Telemetry تطبیق دهید.
  16. در صورت نیاز Test را چند بار تکرار کنید.
  17. فقط بعد از مشاهده رابطه میان داده ها درباره علت نتیجه گیری کنید.

مهم ترین Metricهای مانیتورینگ CPU

Metric چه چیزی نشان می دهد؟ به تنهایی کافی است؟
CPU Usage میزان فعالیت کلی پردازنده خیر
Per-Core Usage توزیع Load میان Coreها خیر
Clock Frequency گزارش شده CPU خیر
Effective Clock فعالیت موثر در بازه زمانی خیر
Temperature وضعیت حرارتی خیر
Package Power توان مرتبط با Package CPU خیر
Thermal Limit رسیدن به محدودیت حرارتی باید همراه Performance بررسی شود
Power Limit رسیدن به محدودیت توان باید همراه Clock و Load بررسی شود
Current Limit محدودیت الکتریکی Platform باید در Context بررسی شود
Workload Performance نتیجه واقعی کار باید با Telemetry مرتبط شود

زیرساخت فنی — ابزار مانیتورینگ اطلاعات CPU را از کجا می آورد؟

CPU و Platform
دارای مجموعه ای
از Counterها،
Registerها
و Sensorها هستند.

این منابع
می توانند اطلاعاتی
درباره وضعیت عملیاتی
سیستم فراهم کنند.

Software
از طریق Interfaceهای
سیستم عامل،
Driver
یا دسترسی های مجاز
به Hardware
بخشی از این داده ها
را دریافت می کند.

CPU / Platform
↓
Sensors + Counters + Registers
↓
Firmware / OS / Driver
↓
Monitoring Software
↓
Sampling
↓
Display / Logging

بعضی داده ها
مستقیم گزارش می شوند،
بعضی تبدیل می شوند
و برخی Metricها
از چند مقدار دیگر
محاسبه می شوند.

به همین دلیل
دو ابزار مانیتورینگ
ممکن است برای یک عنوان
اعداد کمی متفاوت
نشان دهند.

این اختلاف
الزاماً به معنی
خراب بودن یکی
از ابزارها نیست.

اشتباهات رایج — Common Mistakes در مانیتورینگ CPU
  • قضاوت فقط براساس Total CPU Usage.
  • نادیده گرفتن Per-Core Usage.
  • فرض اینکه 100 درصد Usage همیشه به معنی Maximum Performance است.
  • فرض اینکه Usage پایین یعنی CPU Bottleneck وجود ندارد.
  • اشتباه گرفتن Clock با Effective Clock.
  • مقایسه Clock لحظه ای با Sustained Performance.
  • انتظار Maximum Boost روی همه Coreها.
  • قضاوت فقط براساس Maximum Temperature.
  • فرض اینکه دمای بالا حتماً Thermal Throttling است.
  • اشتباه گرفتن Power Limit با Thermal Limit.
  • نادیده گرفتن Current Limit.
  • یکی دانستن Package Power و Total System Power.
  • نادیده گرفتن Sampling Interval.
  • قضاوت براساس یک Snapshot.
  • نادیده گرفتن روند زمانی داده ها.
  • بررسی Sensorها بدون Performance Metric واقعی.
  • تغییر چند متغیر همزمان هنگام عیب یابی.
  • مقایسه دو سیستم با Power Mode متفاوت.
  • نادیده گرفتن Battery Mode در Laptop.
  • نتیجه گیری از یک Run بدون تکرار Test.

سوالات متداول درباره مانیتورینگ CPU

CPU Usage صد درصد یعنی پردازنده با حداکثر قدرت کار می کند؟

الزاماً خیر.
Frequency،
Power،
Temperature
و نوع Workload
نیز باید بررسی شوند.

چرا CPU Usage پایین است ولی برنامه کند اجرا می شود؟

ممکن است برنامه
توسط یک Critical Thread،
I/O،
Software Dependency
یا عامل دیگری
محدود شده باشد.

Effective Clock چیست؟

Metricی است
که تلاش می کند
فعالیت موثر CPU
را در بازه زمانی
بهتر از یک Clock لحظه ای
نشان دهد.

چرا Clock CPU دائماً تغییر می کند؟

CPU مدرن
Frequency خود را
براساس Load،
Power،
Temperature
و سیاست مدیریت انرژی
تنظیم می کند.

آیا دمای بالای CPU یعنی پردازنده Throttle شده است؟

خیر.
باید Thermal Limit Indicator
و رفتار Frequency
و Performance
نیز بررسی شوند.

Package Power همان مصرف برق کل سیستم است؟

خیر.
Package Power
فقط Metric مربوط
به محدوده تعریف شده
برای Package پردازنده است.

چرا Maximum Boost را در تست چند هسته ای نمی بینم؟

Maximum Boost
معمولاً به شرایط خاص،
تعداد Coreهای فعال،
Power
و Temperature
وابسته است
و لزوماً All-Core Frequency نیست.

برای بررسی CPU استوک فقط Temperature کافی است؟

خیر.
Usage،
Clock،
Effective Clock،
Power،
Limitها
و Performance پایدار
نیز باید بررسی شوند.

چرا دو برنامه مانیتورینگ اعداد متفاوتی نشان می دهند؟

ممکن است
Sampling Interval،
Data Source
یا روش محاسبه Metric
متفاوت باشد.

بهترین روش تشخیص افت Performance چیست؟

ثبت همزمان
Performance،
Usage،
Clock،
Effective Clock،
Temperature،
Power
و Limit Indicatorها
در طول زمان.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Monitoring: مشاهده و ثبت رفتار عملیاتی سیستم.
  • Telemetry: داده های اندازه گیری یا گزارش شده درباره وضعیت Hardware و Software.
  • CPU Usage: معیاری برای میزان فعالیت پردازنده در یک بازه زمانی.
  • Per-Core Usage: میزان فعالیت هر Core یا Logical Processor.
  • Clock: Frequency گزارش شده برای فعالیت پردازنده.
  • Effective Clock: Metricی برای نمایش نرخ موثر فعالیت CPU در طول زمان.
  • Package Power: توان گزارش شده برای محدوده تعریف شده Package پردازنده.
  • Thermal Throttling: کاهش Operating Point برای رعایت محدودیت حرارتی.
  • Power Limit: سقف توان تعیین شده برای عملکرد پردازنده.
  • Current Limit: محدودیت مرتبط با جریان الکتریکی.
  • Sampling: نمونه برداری دوره ای از یک Metric.
  • Sampling Interval: فاصله زمانی میان نمونه برداری ها.
  • Snapshot: نمایش وضعیت در یک لحظه مشخص.
  • Time-Series: مجموعه داده ثبت شده در طول زمان.
  • Sensor: منبع اندازه گیری یک پارامتر فیزیکی یا عملیاتی.
  • Performance Counter: شمارنده Hardware یا Software برای اندازه گیری رویدادهای اجرایی.

خلاصه فصل

Monitoring
پلی میان مشخصات نظری CPU
و رفتار واقعی آن
در سیستم است.

هیچ Metric منفردی
برای تحلیل کامل
CPU کافی نیست.

Usage
باید همراه
با Per-Core Activity،
Clock،
Effective Clock،
Temperature،
Power
و Limit Indicatorها
بررسی شود.

همچنین باید
Performance واقعی Workload
را در کنار Telemetry
قرار دهیم.

Telemetry without Workload Context
=
Incomplete Information

مهم تر از Peakهای لحظه ای،
رفتار CPU
در طول زمان است.

Load
+
Per-Core Usage
+
Effective Clock
+
Power
+
Temperature
+
Limit Indicators
+
Performance
→
Real CPU Behavior


برای فهمیدن اینکه یک پردازنده واقعاً چگونه کار می کند،
نباید دنبال یک عدد جادویی باشیم؛
باید رابطه میان بار پردازشی، فرکانس، توان، دما،
محدودیت ها و نتیجه واقعی Workload را در طول زمان ببینیم.


فصل 101
سطح: پیشرفته
موضوع: تحلیل عمیق رفتار CPU
تمرکز: Performance Counters / Instructions Retired / Cycles / IPC / CPI / Miss / Stall


CPU Usage به ما می گوید پردازنده مشغول است؛ Performance Counterها کمک می کنند بفهمیم این زمان دقیقاً صرف چه چیزی شده است

Performance Counter چیست و چگونه با آن رفتار واقعی CPU را تحلیل می کنیم؟

اگر فقط CPU Usage
و Frequency را ببینیم،
هنوز نمی دانیم
پردازنده چرا
Performance مشخصی
ارائه می دهد.

دو CPU
ممکن است هر دو
صد درصد درگیر باشند،
اما یکی
در همان زمان
Instructionهای مفید
بسیار بیشتری
اجرا کند.

یا ممکن است
CPU کاملاً Busy باشد،
اما بخش بزرگی
از زمان خود را
منتظر Data
یا حل کردن
Branchهای اشتباه
بگذراند.

برای تحلیل این رفتار
از:

Hardware Performance Counters

استفاده می شود.

Usage
tells
“How Busy?”

Performance Counters
help explain
“Busy Doing What?”

در این فصل چه چیزهایی یاد می گیریم؟

  • Performance Counter چیست.
  • Hardware Event چیست.
  • PMU چیست.
  • Instructions Retired چیست.
  • CPU Cycles چیست.
  • Reference Cycles چیست.
  • IPC چیست.
  • CPI چیست.
  • چرا IPC عدد ثابتی برای CPU نیست.
  • Branch Instructions چیست.
  • Branch Miss چیست.
  • Cache Reference و Cache Miss چه هستند.
  • Stall چیست.
  • Frontend Bound و Backend Bound چه مفهومی دارند.
  • Bad Speculation چیست.
  • Memory-Bound Behavior چگونه دیده می شود.
  • Counter Multiplexing چیست.
  • چرا Eventهای مختلف بین CPUها یکسان نیستند.
  • چگونه چند Counter را کنار هم تفسیر کنیم.

Performance Counter چیست؟


شمارنده عملکرد — Performance Counter

Performance Counter
یک مکانیزم Hardware
برای شمارش
رویدادهای مشخص
هنگام اجرای CPU است.

برای مثال CPU
می تواند تعداد:

  • Instructionهای Retired شده،
  • Clock Cycleها،
  • Branchها،
  • Branch Missها،
  • Cache Missها،
  • و انواع دیگر Event

را ثبت کند.

PMU چیست؟

PMU
مخفف:

Performance Monitoring Unit

است.

PMU
بخشی از Processor
است که قابلیت
Monitoring
رویدادهای عملکردی
را فراهم می کند.

Software
می تواند از طریق
Interfaceهای سیستم عامل
یا ابزارهای Profiling
به بخشی از این داده ها
دسترسی پیدا کند.

Hardware Event چیست؟

Event
اتفاق مشخصی
در داخل CPU
است که می توان
وقوع آن را
شمارش کرد.

برای مثال:

Instruction Retired

یا:

Branch Misprediction

می توانند Event
باشند.

آیا تمام Performance Eventها در همه CPUها یکسان هستند؟

خیر.

بعضی Eventها
عمومی تر هستند،
اما بسیاری از Counterها
به Microarchitecture
وابسته اند.

حتی نام یک Event مشابه
ممکن است در دو CPU
جزئیات پیاده سازی
متفاوتی داشته باشد.

Same Event Name
≠
Necessarily Identical Microarchitectural Meaning

Instructions Retired چیست؟

CPU مدرن
Instructionها
را به صورت
Out-of-Order
اجرا می کند.

اما نتیجه
زمانی از دید معماری
نهایی محسوب می شود
که Instruction
Retire شود.

بنابراین:

Instructions Retired

تعداد Instructionهایی را
نشان می دهد
که اجرای معماری آنها
با موفقیت
نهایی شده است.

Executed Instruction و Retired Instruction چه تفاوتی دارند؟

CPU ممکن است
بعضی عملیات
را به صورت Speculative
اجرا کند.

اگر مشخص شود
مسیر اشتباه بوده،
بخشی از این کار
کنار گذاشته می شود.

بنابراین:

Executed Work
≥
Retired Useful Architectural Work

این تفاوت
یکی از دلایلی است
که فقط نگاه کردن
به Activity
CPU کافی نیست.

CPU Cycles چیست؟

یکی از Counterهای پایه
تعداد Cycleهای
سپری شده
هنگام Measurement
را ثبت می کند.

با ترکیب Cycles
و Instructions Retired
می توان Metricهای
بسیار مهمی ساخت.

IPC چگونه از Performance Counterها محاسبه می شود؟

IPC
مخفف:

Instructions Per Cycle

است.

یک رابطه ساده:

IPC
=
Instructions Retired
/
CPU Cycles

IPC
نشان می دهد
در هر Cycle
به طور متوسط
چند Instruction
Retire شده است.

CPI چیست؟

CPI
مخفف:

Cycles Per Instruction

است.

رابطه آن با IPC:

CPI
=
CPU Cycles
/
Instructions Retired

در یک تعریف ساده:

CPI
≈
1 / IPC

البته هنگام تحلیل
باید دقیقاً بدانیم
چه نوع Cycle
و چه نوع Instruction Event
اندازه گیری شده است.

IPC بالاتر همیشه بهتر است؟

در یک Workload
و شرایط مقایسه مشابه،
IPC بالاتر
می تواند نشان دهد
CPU در هر Cycle
کار معماری بیشتری
انجام داده است.

اما IPC
نباید بین Workloadهای
کاملاً متفاوت
بدون Context
مقایسه شود.

بعضی Workloadها
ذاتاً Instruction-Level Parallelism
بیشتری دارند.

برخی دیگر
Dependency
یا Memory Stall
بیشتری ایجاد می کنند.

اشتباه رایج — CPU فلان مدل IPC برابر 4 دارد

IPC
یک Specification ثابت
مانند تعداد Core
نیست.

IPC واقعی
به:

  • Workload،
  • Instruction Mix،
  • Branch Behavior،
  • Cache Behavior،
  • Memory Access،
  • و Microarchitecture

وابسته است.

IPC
=
Runtime Metric

IPC
≠
Fixed CPU Specification

IPC و Frequency چگونه با هم Performance می سازند؟

به صورت مفهومی:

Instruction Throughput
≈
IPC
×
Frequency

بنابراین CPU
می تواند:

  • IPC بالاتر داشته باشد،
  • Frequency بالاتر داشته باشد،
  • یا ترکیبی از هر دو.

این یکی از دلایلی است
که GHz
به تنهایی
برای مقایسه CPU
کافی نیست.

یک مثال مفهومی از IPC و Frequency

فرض کنید:

CPU A:
4 GHz
×
2 IPC
=
8 Relative Units

CPU B:
3 GHz
×
3 IPC
=
9 Relative Units

در این مثال بسیار ساده،
CPU B
با وجود Frequency کمتر
می تواند Throughput
بیشتری داشته باشد.

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

Branch Instruction Counter چیست؟

CPU
می تواند تعداد Branchهایی
را که در طول
اجرای Workload
پردازش شده اند
ثبت کند.

Branchها
در Control Flow
برنامه نقش دارند
و Prediction صحیح آنها
برای Pipeline
اهمیت زیادی دارد.

Branch Miss چیست؟

اگر Branch Predictor
جهت یا Target
یک Branch
را اشتباه پیش بینی کند،
CPU ممکن است
بخشی از مسیر اشتباه
را اجرا کرده باشد.

سپس باید
این Speculative Work
کنار گذاشته شود
و مسیر صحیح
دوباره تغذیه شود.

Branch Misprediction
→
Wrong-Path Work
→
Pipeline Recovery
→
Lost Cycles

Branch Miss Rate چگونه محاسبه می شود؟

به صورت ساده:

Branch Miss Rate
=
Branch Mispredictions
/
Branch Instructions

نرخ بیشتر
می تواند نشان دهد
Workload
برای Predictor
دشوارتر بوده است.

اما هزینه واقعی
هر Miss
به Microarchitecture
و Pipeline
نیز بستگی دارد.

Cache Counterها چه چیزی را نشان می دهند؟

Performance Counterها
می توانند Eventهایی
مرتبط با Cache
را ثبت کنند.

بسته به CPU
ممکن است اطلاعاتی درباره:

  • Cache Access،
  • Cache Hit،
  • Cache Miss،
  • Load Miss،
  • و سطح های مختلف Cache

موجود باشد.

جزئیات معماری Cache
در فصل های قبلی
بررسی شده است؛
اینجا تمرکز
بر تحلیل Runtime
آن است.

Cache Miss Rate چیست؟

به صورت مفهومی:

Cache Miss Rate
=
Cache Misses
/
Cache Accesses

هر Miss
می تواند CPU
را مجبور کند
Data را از سطح
دورتر Hierarchy
دریافت کند.

در نتیجه Latency
افزایش پیدا می کند.

اشتباه رایج — Cache Miss بیشتر همیشه یعنی Performance کمتر

نه لزوماً.

باید بدانیم:

  • Miss مربوط به کدام Level است،
  • Workload چند Access دارد،
  • Latency آن Miss چقدر است،
  • آیا CPU می تواند Missها را همپوشانی کند،
  • و چه میزان Memory-Level Parallelism وجود دارد.

فقط تعداد خام Miss
بدون Normalization
ممکن است گمراه کننده باشد.

Stall چیست؟

Stall
زمانی رخ می دهد
که بخشی از Pipeline
نتواند با نرخ
مورد نظر
پیشروی کند.

علت می تواند:

  • Data Dependency،
  • Instruction Supply،
  • Cache Miss،
  • Execution Resource Conflict،
  • Branch Recovery،
  • یا Data Availability

باشد.

آیا Stall یعنی CPU بیکار است؟

نه دقیقاً.

ممکن است بخشی
از Core
منتظر یک Dependency
باشد،
در حالی که بخش دیگری
Instructionهای مستقل
را اجرا می کند.

Out-of-Order Execution
دقیقاً برای کاهش
اثر بعضی از این Stallها
طراحی شده است.

Frontend Bound یعنی چه؟

اگر Backend CPU
ظرفیت اجرای بیشتری
داشته باشد،
اما Front-End
نتواند Instruction
یا µop
کافی تحویل دهد،
Performance می تواند
Frontend Bound شود.

علت ها می توانند شامل:

  • Instruction Cache Miss،
  • Decode Limitation،
  • Branch Misprediction Recovery،
  • Instruction Fetch Problem،
  • یا Front-End Bandwidth

باشند.

Backend Bound یعنی چه؟

اگر Front-End
Work کافی
فراهم کند،
اما Backend
نتواند آن را
با سرعت کافی
اجرا کند،
Workload می تواند
Backend Bound باشد.

دلایل ممکن:

  • Execution Unit Pressure،
  • Data Dependency،
  • Cache Miss،
  • Memory Latency،
  • Store / Load Pressure،
  • یا Resource Contention.

Bad Speculation چیست؟

CPU
برای افزایش Performance
بخشی از کار
را قبل از قطعی شدن
مسیر اجرا
به صورت Speculative
انجام می دهد.

اگر Prediction
اشتباه باشد،
این کار
به Retired Instruction
مفید تبدیل نمی شود.

به این اتلاف
در بعضی مدل های
تحلیل Performance:

Bad Speculation

گفته می شود.

Retiring در مدل تحلیل Performance یعنی چه؟

Retiring
بخشی از زمان
یا ظرفیت Pipeline
را نشان می دهد
که به انجام
Useful Work
و Retire شدن Instructionها
منجر شده است.

در یک مدل مفهومی:

CPU Pipeline Slots
→
Retiring
+
Frontend Bound
+
Backend Bound
+
Bad Speculation

این نوع دسته بندی
می تواند کمک کند
بفهمیم ظرفیت Pipeline
کجا مصرف شده است.

Top-Down Performance Analysis چیست؟

Top-Down Analysis
روشی برای طبقه بندی
رفتار Pipeline
در سطح های مختلف است.

به جای بررسی
صدها Event
بدون ساختار،
ابتدا Performance
به دسته های اصلی
تقسیم می شود.

Retiring
/
Bad Speculation
/
Frontend Bound
/
Backend Bound

سپس اگر یکی
از دسته ها
سهم زیادی داشته باشد،
تحلیل در همان شاخه
عمیق تر می شود.

Memory-Bound Behavior در Counterها چگونه دیده می شود؟

اگر CPU
بخش زیادی از زمان
منتظر Data
باشد،
ممکن است نشانه هایی
مانند:

  • Cache Miss بیشتر،
  • Backend Stall،
  • Load Stall،
  • Lower IPC،
  • و Latency Sensitivity

مشاهده شوند.

اما تشخیص دقیق
نیازمند Eventهای
مخصوص همان Microarchitecture
است.

جزئیات DRAM
و Memory Timing
را به دانشنامه RAM
منتقل می کنیم.

چگونه بفهمیم محدودیت از Execution Unitهاست؟

در بعضی Workloadها
داده به موقع
در دسترس است،
اما نوع عملیات
فشار زیادی
روی Execution Port
یا Unit مشخصی
وارد می کند.

برای مثال
ممکن است Workload
تعداد زیادی عملیات
مشابه ایجاد کند
که همه به
Resource محدود
یکسانی نیاز دارند.

Enough Instructions
+
Enough Data
+
Limited Execution Resource
→
Execution Bottleneck

Execution Port Pressure چیست؟

در بعضی Microarchitectureها
µopها
باید از Portهای مشخصی
وارد Execution Unitها
شوند.

اگر Workload
بیش از ظرفیت
Port مشخصی
عملیات نیاز داشته باشد،
همان مسیر
می تواند Throughput
را محدود کند.

ابزارهای تخصصی Profiling
می توانند برای
تحلیل چنین رفتارهایی
استفاده شوند.

Instruction Mix چیست؟

همه برنامه ها
ترکیب Instruction
یکسانی ندارند.

یک برنامه
ممکن است بیشتر:

  • Integer،
  • Floating-Point،
  • Vector،
  • Branch،
  • Load،
  • Store،
  • یا Cryptographic Operation

داشته باشد.

این ترکیب
تعیین می کند
کدام بخش CPU
بیشتر درگیر شود.

نکته مهندسی — Counter بدون شناخت Workload می تواند گمراه کننده باشد

فرض کنید Workload A
IPC برابر 2.5
و Workload B
IPC برابر 1.2
داشته باشد.

این نتیجه
به تنهایی
ثابت نمی کند
Workload A
سریع تر اجرا شده است.

ممکن است Workload B
تعداد Instruction بسیار کمتری
برای تکمیل کار
نیاز داشته باشد.

بنابراین:

Performance
≠
IPC Alone

همیشه باید
Metric نهایی Workload
نیز بررسی شود.

رابطه Instruction Count، CPI و Execution Time چیست؟

یک مدل کلاسیک
برای زمان اجرا:

CPU Time
=
Instruction Count
×
CPI
×
Clock Cycle Time

یا به شکل دیگر:

CPU Time
=
Instruction Count
×
CPI
/
Clock Frequency

این رابطه
سه عامل مهم
Performance را
کنار هم قرار می دهد:

  • چه تعداد Instruction لازم است؟
  • هر Instruction به طور متوسط چند Cycle هزینه دارد؟
  • هر Cycle چقدر طول می کشد؟

چرا Software می تواند بدون تغییر CPU سریع تر شود؟

اگر Algorithm
یا Compiler
تعداد Instructionهای لازم
را کاهش دهد،
زمان اجرا
می تواند کمتر شود
حتی اگر CPU
همان CPU قبلی باشد.

Lower Instruction Count
→
Less Work
→
Potentially Lower Execution Time

بنابراین Performance
فقط حاصل
قدرت Hardware نیست.

چرا Counterهای خام باید Normalize شوند؟

فرض کنید برنامه A
یک میلیارد Cache Miss
و برنامه B
صد میلیون Cache Miss
داشته باشد.

اگر برنامه A
صد برابر
Data بیشتری
پردازش کرده باشد،
عدد خام Miss
به تنهایی
مقایسه مناسبی نیست.

بنابراین Eventها
اغلب نسبت به:

  • Instruction Count،
  • Cycle Count،
  • Access Count،
  • Time،
  • یا Unit of Work

Normalize می شوند.

Branch Miss Rate
=
Branch Misses
/
Branches

Cache Miss Rate
=
Cache Misses
/
Cache Accesses

Instructions per Second
=
Instructions Retired
/
Time

Counter Multiplexing چیست؟

تعداد Hardware Counterهای
فیزیکی
محدود است.

اما ممکن است
Software بخواهد
Eventهای زیادی
را همزمان
اندازه گیری کند.

در این شرایط
سیستم می تواند
Eventها را
در بازه های مختلف
میان Counterهای موجود
جابه جا کند.

این روش:

Counter Multiplexing

نامیده می شود.

چرا Multiplexing می تواند Accuracy را کاهش دهد؟

چون هر Event
تمام زمان
مستقیماً اندازه گیری
نمی شود.

Software
ممکن است مقدار
نهایی را
از Sampleهای
محدودتر
Scale کند.

برای تحلیل بسیار دقیق
گاهی بهتر است
Eventهای کمتری
به صورت همزمان
اندازه گیری شوند.

Counting و Sampling چه تفاوتی دارند؟

Counterها را
می توان فقط
برای شمارش Eventها
استفاده کرد.

اما در Profiling
می توان از Event
برای Sampling
محل وقوع رفتار نیز
استفاده کرد.

Counting
→
How Many Events?

Sampling
→
Where Did Events Occur?

این تفاوت
برای پیدا کردن
Hotspotهای Code
بسیار مهم است.

Hotspot در Profiling چیست؟

Hotspot
بخشی از Program
است که سهم زیادی
از:

  • Execution Time،
  • CPU Cycles،
  • Cache Miss،
  • Branch Miss،
  • یا Event مهم دیگر

را مصرف می کند.

Optimization
معمولاً زمانی
ارزش بیشتری دارد
که روی Hotspot واقعی
انجام شود.

چرا باید اول Hotspotها را پیدا کرد؟

اگر Functionی
فقط 0.1 درصد
زمان برنامه
را مصرف کند،
حتی دو برابر
سریع تر کردن آن
تاثیر کمی
روی زمان کل دارد.

در مقابل
بهبود بخشی
که 50 درصد
زمان اجرا را
تشکیل می دهد
می تواند
تاثیر بسیار بیشتری
ایجاد کند.

Optimize What Matters Most

آیا Performance Counter فقط برای مهندسان CPU است؟

خیر.

تحلیل عمیق Eventها
بیشتر در:

  • Software Optimization،
  • Compiler Engineering،
  • Performance Engineering،
  • Server Tuning،
  • HPC،
  • و Architecture Analysis

استفاده می شود.

اما مفاهیم پایه
آن برای کاربران حرفه ای
نیز بسیار مفید است،
چون نشان می دهد
چرا CPU Usage
به تنهایی
کافی نیست.

CPU Usage بالا و IPC پایین چه معنایی می تواند داشته باشد؟

چنین حالتی
می تواند دلایل زیادی
داشته باشد.

برای مثال:

  • Dependency زیاد،
  • Cache Miss زیاد،
  • Branch Misprediction،
  • Frontend Starvation،
  • Backend Stall،
  • یا Workload ذاتاً Serial.

بنابراین:

High CPU Usage
+
Low IPC
→
CPU Busy but Not Necessarily Efficiently Retiring Work

CPU Usage پایین و IPC بالا چه معنایی دارد؟

ممکن است فقط
یک یا چند Core
Workload
را بسیار کارآمد
اجرا کنند.

اگر Software
Parallelism بیشتری
نداشته باشد،
Coreهای دیگر
بیکار خواهند بود.

بنابراین IPC بالا
به تنهایی
نمی گوید کل CPU
به طور کامل
استفاده شده است.

اگر Frequency بالا باشد ولی Performance پایین بماند چه؟

Frequency بالا
فقط تعداد Cycle
را افزایش می دهد.

اگر CPU
در هر Cycle
Work مفید کمی
Retire کند،
Performance
ممکن است همچنان
پایین باشد.

High Frequency
+
Low IPC
→
Potentially Limited Performance

این یکی از مهم ترین
کاربردهای IPC
در تحلیل Performance است.

Performance Counter جای Benchmark را می گیرد؟

خیر.

Benchmark
می گوید
Workload
چقدر سریع
تمام شده است.

Counterها کمک می کنند
بفهمیم چرا
این Performance
به دست آمده است.

Benchmark
→
What Performance Did We Get?

Performance Counters
→
Why Did We Get It?

روش اصولی تحلیل Performance Counter

  1. ابتدا Workload واقعی را مشخص کنید.
  2. Metric نهایی Performance را ثبت کنید.
  3. مدت اجرای Workload را اندازه بگیرید.
  4. CPU Usage و Frequency را ثبت کنید.
  5. Instructions Retired را اندازه بگیرید.
  6. CPU Cycles را اندازه بگیرید.
  7. IPC یا CPI را محاسبه کنید.
  8. Branch Behavior را بررسی کنید.
  9. Cache Miss Rateهای مرتبط را بررسی کنید.
  10. Frontend و Backend Stallها را در صورت پشتیبانی تحلیل کنید.
  11. Counterهای خام را Normalize کنید.
  12. Eventهای زیاد را بدون ساختار همزمان جمع نکنید.
  13. Hotspotهای Code یا Phaseهای مهم Workload را پیدا کنید.
  14. یک فرضیه درباره محدودیت بسازید.
  15. فقط یک متغیر را تغییر دهید.
  16. Benchmark و Counterها را دوباره اندازه گیری کنید.
  17. بررسی کنید تغییر Counter با تغییر Performance همبستگی دارد یا خیر.

چند الگوی مفهومی در تفسیر Counterها

الگوی مشاهده شده تفسیر احتمالی
IPC بالا + Branch Miss پایین Pipeline احتمالاً Work مفید مناسبی Retire می کند
IPC پایین + Branch Miss بالا Control-Flow و Bad Speculation می توانند مهم باشند
IPC پایین + Cache Miss بالا Data Access ممکن است عامل مهمی باشد
Frontend Bound بالا Instruction Supply می تواند محدودکننده باشد
Backend Bound بالا Execution یا Data Availability ممکن است محدودکننده باشد
Usage بالا + IPC پایین CPU Busy است اما بازده Retire شدن Work ممکن است پایین باشد
Frequency بالا + IPC پایین Clock بیشتر الزاماً Work بیشتری تولید نکرده است
Instructions کمتر + زمان کمتر Software یا Algorithm ممکن است کار لازم را کاهش داده باشد

زیرساخت فنی — یک Performance Counter چگونه رویدادهای میلیاردی CPU را اندازه می گیرد؟

داخل Processor
مجموعه ای از
Event Sourceها
وجود دارد.

وقتی رویداد خاصی
اتفاق می افتد،
Logic مربوط
می تواند Counter
انتخاب شده
را افزایش دهد.

CPU Event
→
PMU Event Logic
→
Hardware Counter
→
Operating System / Profiler
→
Measurement

Software
ابتدا مشخص می کند
کدام Eventها
باید شمارش شوند.

سپس Workload
اجرا می شود
و Counterها
در طول زمان
افزایش پیدا می کنند.

در پایان
اختلاف مقدار
Counter
پیش و پس از Measurement
می تواند
تعداد Eventهای
رخ داده
را نشان دهد.

در Profiling
پیشرفته تر،
Counter
می تواند پس از
تعداد مشخصی Event
Interrupt
ایجاد کند
تا محل تقریبی
رخ دادن رفتار
Sample شود.

بنابراین Performance Counter
فقط یک عدد Monitoring
ساده نیست؛
یکی از ابزارهای اصلی
مشاهده Microarchitecture
هنگام اجرای Software واقعی است.

تاثیر بر عملکرد — دو CPU با Clock یکسان چگونه می توانند Performance بسیار متفاوتی داشته باشند؟

فرض کنید
هر دو CPU
در 4 GHz
کار می کنند.

CPU A
در Workload مشخص
IPC برابر 1.5
دارد.

CPU B
همان Workload
را با IPC برابر 2.5
اجرا می کند.

CPU A:
4 × 1.5
=
6

CPU B:
4 × 2.5
=
10

دلیل تفاوت
می تواند مجموعه ای از:

  • Branch Prediction بهتر،
  • Frontend قوی تر،
  • Execution Width بیشتر،
  • Cache Behavior بهتر،
  • Out-of-Order Window بزرگ تر،
  • یا Stall کمتر

باشد.

Performance Counterها
کمک می کنند
این تفاوت
از حالت حدس
به تحلیل قابل اندازه گیری
تبدیل شود.

اشتباهات رایج — Common Mistakes در Performance Counterها
  • فرض اینکه CPU Usage بالا یعنی IPC بالا.
  • فرض اینکه IPC یک Specification ثابت CPU است.
  • مقایسه IPC دو Workload متفاوت بدون Context.
  • استفاده از IPC به عنوان تنها معیار Performance.
  • نادیده گرفتن Instruction Count.
  • اشتباه گرفتن Executed Work با Retired Work.
  • مقایسه Counterهای خام بدون Normalization.
  • نتیجه گیری از Cache Miss Count بدون Access Count.
  • فرض اینکه هر Cache Miss هزینه یکسانی دارد.
  • نادیده گرفتن Branch Miss Rate.
  • فرض اینکه Stall یعنی کل Core بیکار است.
  • نادیده گرفتن تفاوت Frontend و Backend Bottleneck.
  • فرض اینکه Eventهای دو Microarchitecture دقیقاً معادل یکدیگر هستند.
  • اندازه گیری تعداد زیادی Event بدون توجه به Counter Multiplexing.
  • نادیده گرفتن خطای Sampling.
  • تمرکز روی Counter به جای Performance واقعی Workload.
  • Optimization بخشی از Code که Hotspot نیست.
  • نتیجه گیری از یک Run بدون Repeatability.
  • تغییر چند متغیر همزمان هنگام Performance Analysis.
  • استفاده از Counter بدون شناخت Microarchitecture و Event Definition.

سوالات متداول درباره Performance Counterهای CPU

Performance Counter چیست؟

مکانیزمی Hardware
برای شمارش
رویدادهای مشخص
هنگام اجرای CPU است.

PMU چیست؟

Performance Monitoring Unit
بخشی از Processor
برای Monitoring
رویدادهای عملکردی است.

IPC چیست؟

میانگین Instructionهای
Retired شده
در هر CPU Cycle
در Workload و بازه
اندازه گیری مشخص است.

IPC بالاتر همیشه یعنی CPU سریع تر است؟

خیر.
Frequency،
Instruction Count
و Workload
نیز باید بررسی شوند.

CPI چیست؟

میانگین تعداد Cycle
مورد نیاز
به ازای هر
Retired Instruction است.

Instructions Retired یعنی چه؟

Instructionهایی که
اجرای معماری آنها
نهایی و Commit
شده است.

Branch Miss چرا Performance را کم می کند؟

چون CPU
ممکن است روی مسیر اشتباه
Speculative Work انجام دهد
و سپس Pipeline
نیاز به Recovery داشته باشد.

Cache Miss بالا یعنی CPU خراب است؟

خیر.
Cache Miss
ویژگی رفتار Workload
و Memory Hierarchy است
و باید در Context
تحلیل شود.

Frontend Bound یعنی چه؟

یعنی Backend
می تواند Work بیشتری
اجرا کند،
اما Front-End
Instruction یا µop کافی
تحویل نمی دهد.

Performance Counter جای Benchmark را می گیرد؟

خیر.
Benchmark نتیجه Performance
را اندازه می گیرد
و Counterها
به توضیح علت آن
کمک می کنند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Performance Counter: شمارنده Hardware برای ثبت رویدادهای اجرایی CPU.
  • PMU: Performance Monitoring Unit.
  • Hardware Event: رویداد قابل شمارش داخل Processor.
  • Instructions Retired: Instructionهای نهایی شده از دید معماری.
  • CPU Cycles: تعداد Cycleهای ثبت شده در بازه Measurement.
  • IPC: Instructions Per Cycle.
  • CPI: Cycles Per Instruction.
  • Branch Miss: پیش بینی اشتباه Branch.
  • Branch Miss Rate: نسبت Branch Miss به تعداد Branchها.
  • Cache Miss Rate: نسبت Cache Miss به Access.
  • Stall: توقف یا کاهش پیشروی بخشی از Pipeline.
  • Frontend Bound: محدودیت ناشی از تامین Instruction یا µop.
  • Backend Bound: محدودیت ناشی از Execution یا Data Availability.
  • Bad Speculation: ظرفیت مصرف شده برای Speculative Work غیرمفید.
  • Retiring: بخشی از Pipeline Activity که به Useful Retired Work منجر می شود.
  • Top-Down Analysis: تحلیل ساختاری Performance از دسته های کلی به علت های دقیق تر.
  • Execution Port Pressure: فشار روی مسیرهای محدود Execution.
  • Instruction Mix: ترکیب انواع Instruction در Workload.
  • Counter Multiplexing: اشتراک Hardware Counterها میان Eventهای بیشتر در طول زمان.
  • Hotspot: بخش مهم Code که سهم زیادی از زمان یا Eventهای Performance دارد.

خلاصه فصل

Performance Counterها
یکی از مهم ترین ابزارهای
تحلیل عمیق CPU هستند.

CPU Usage
فقط نشان می دهد
Processor تا چه حد
درگیر Work است.

Counterها کمک می کنند
بفهمیم این Work
چگونه در Pipeline
مصرف شده است.

Instructions Retired
و CPU Cycles
امکان محاسبه:

IPC
and
CPI

را فراهم می کنند.

Branch Miss،
Cache Miss،
Stall،
Frontend Bound
و Backend Bound
می توانند
علت های مختلف
کاهش Efficiency
را آشکار کنند.

اما هیچ Counter
به تنهایی
کافی نیست.

Benchmark Result
+
Runtime Telemetry
+
Performance Counters
+
Workload Context
→
Useful Performance Analysis


Performance Counterها زمانی ارزشمند هستند که از آنها برای پاسخ
به یک سؤال مشخص استفاده کنیم؛ نه اینکه صدها عدد جمع کنیم و
بعد از روی بزرگ یا کوچک بودن هر عدد درباره CPU نتیجه گیری کنیم.


فصل 102
سطح: متوسط تا پیشرفته
موضوع: Profiling و بهینه سازی عملکرد
تمرکز: Hotspot / Call Stack / Sampling / Tracing / CPU Time / Optimization


قبل از بهینه سازی باید بدانیم زمان CPU واقعاً کجا مصرف می شود

Profiling چیست و چگونه بخش های واقعاً کند نرم افزار را پیدا کنیم؟

یکی از اشتباهات رایج
در Performance Optimization
این است که برنامه نویس
قبل از اندازه گیری
حدس می زند
کدام بخش برنامه
کند است.

اما بخش پیچیده Code
الزاماً همان بخشی نیست
که بیشترین زمان CPU
را مصرف می کند.

ممکن است Function
بسیار ساده ای
میلیون ها بار
فراخوانی شود
و سهم بزرگی
از Execution Time
داشته باشد.

یا ممکن است
Function بزرگی
فقط یک بار اجرا شود
و تاثیر کمی
روی Performance کل
داشته باشد.

برای پیدا کردن
این تفاوت
از:

Profiling

استفاده می کنیم.

Measure
→
Find Hotspot
→
Explain Bottleneck
→
Optimize
→
Measure Again

در این فصل چه چیزهایی یاد می گیریم؟

  • Profiling چیست.
  • Profiler چه کاری انجام می دهد.
  • Hotspot چیست.
  • CPU Time چیست.
  • Wall-Clock Time چیست.
  • Inclusive Time و Exclusive Time چه تفاوتی دارند.
  • Call Stack چیست.
  • Call Tree چیست.
  • Sampling Profiler چگونه کار می کند.
  • Instrumentation چیست.
  • Tracing چیست.
  • Flame Graph چه چیزی را نشان می دهد.
  • چرا Profiling Overhead مهم است.
  • چگونه Hotspot واقعی را پیدا کنیم.
  • چرا سریع ترین Function همیشه بهترین هدف Optimization نیست.
  • Amdahl’s Law چه ارتباطی با Optimization دارد.
  • چگونه Optimization را اندازه گیری و تایید کنیم.

Profiling چیست؟

Profiling
فرایند اندازه گیری
رفتار Runtime
یک Software
هنگام اجرای Workload
واقعی یا کنترل شده است.

هدف این است که
بفهمیم منابع سیستم
کجا و چگونه
مصرف می شوند.

در CPU Profiling
معمولاً می خواهیم بدانیم:

  • کدام Functionها بیشترین CPU Time را مصرف می کنند؟
  • کدام Code Pathها بیشتر اجرا می شوند؟
  • کدام Threadها فعال تر هستند؟
  • کدام بخش ها Hotspot هستند؟
  • کجا Stall یا Bottleneck ایجاد می شود؟
  • کدام بخش واقعاً ارزش Optimization دارد؟

Profiler چیست؟

Profiler
ابزاری است
که اطلاعات مربوط
به اجرای Software
را جمع آوری
و سازمان دهی می کند.

بسته به نوع ابزار،
Profiler می تواند:

  • Execution Time را اندازه گیری کند،
  • Call Stackها را Sample کند،
  • Function Callها را ثبت کند،
  • Thread Activity را بررسی کند،
  • Hardware Counterها را بخواند،
  • و Timeline اجرای برنامه را نمایش دهد.

Profiling و Monitoring چه تفاوتی دارند؟

Monitoring
معمولاً وضعیت کلی
سیستم را نشان می دهد.

برای مثال:

CPU Usage = 80%

اما Profiling
تلاش می کند
مشخص کند
این 80 درصد
در کدام بخش Software
مصرف شده است.

Monitoring
→
What Is Happening?

Profiling
→
Where Is It Happening?

Hotspot چیست؟

Hotspot
بخشی از Software
است که سهم قابل توجهی
از یک Resource
یا Execution Time
را مصرف می کند.

Hotspot می تواند:

  • یک Function،
  • یک Loop،
  • یک Thread،
  • یک Code Path،
  • یک Library Call،
  • یا حتی یک Instruction Pattern

باشد.

پیدا کردن Hotspot
معمولاً اولین قدم
Optimization جدی است.

CPU Time چیست؟

CPU Time
مقدار زمانی است
که Processor
برای اجرای Work
مربوط به Process
یا Thread
صرف کرده است.

این مقدار
با مدت زمانی
که کاربر منتظر
پایان برنامه می ماند
الزاماً یکسان نیست.

Wall-Clock Time چیست؟

Wall-Clock Time
زمان واقعی سپری شده
از شروع
تا پایان یک Operation
است.

برای مثال:

Start = 10:00:00

Finish = 10:00:05

Wall Time = 5 Seconds

اما در این پنج ثانیه
برنامه ممکن است
بخشی از زمان
منتظر:

  • Disk،
  • Network،
  • GPU،
  • Lock،
  • Input،
  • یا Thread دیگر

بوده باشد.

نکته مهندسی — CPU Time و Wall Time یک چیز نیستند

فرض کنید
یک Task
در 10 ثانیه
تمام می شود.

این به معنی
مصرف 10 ثانیه
CPU Time
نیست.

ممکن است:

Wall Time = 10 s

CPU Time = 2 s

باشد.

در چنین حالتی
بخش بزرگی از زمان
احتمالاً خارج
از اجرای فعال CPU
سپری شده است.

Call Stack چیست؟

هنگام اجرای Program،
Functionها
می توانند Functionهای دیگری
را فراخوانی کنند.

Call Stack
مسیر تو در توی
این فراخوانی ها
را در یک لحظه
نشان می دهد.

برای مثال:

main()
→
processImage()
→
applyFilter()
→
calculatePixel()

اگر Profiler
در این لحظه
Sample بگیرد،
می تواند این مسیر
را ثبت کند.

Call Tree چیست؟

وقتی تعداد زیادی
Call Stack
جمع آوری شود،
می توان آنها را
به شکل ساختاری
سازمان دهی کرد.

Call Tree
نشان می دهد
Functionها
چگونه یکدیگر
را فراخوانی کرده اند
و چه مقدار زمان
در شاخه های مختلف
مصرف شده است.

Inclusive Time چیست؟

Inclusive Time
زمان Function
به همراه زمانی است
که Functionهای
فراخوانی شده توسط آن
مصرف کرده اند.

فرض کنید:

Function A
→
Function B
→
Function C

زمان Inclusive
برای Function A
می تواند زمان
B و C
را نیز شامل شود.

Exclusive Time یا Self Time چیست؟

Exclusive Time
فقط زمانی است
که مستقیماً
داخل خود Function
مصرف شده است.

زمان Functionهای
فرزند
از آن حذف می شود.

Inclusive Time
=
Self Time
+
Child Function Time

مثال Inclusive Time و Exclusive Time

فرض کنید Function A
در مجموع
100 میلی ثانیه
طول کشیده است.

اما 80 میلی ثانیه
از این زمان
داخل Function B
مصرف شده است.

A Inclusive Time = 100 ms

A Exclusive Time = 20 ms

اگر فقط Inclusive Time
را ببینیم،
ممکن است اشتباهاً
Function A
را مقصر اصلی
بدانیم.

Sampling Profiler چگونه کار می کند؟

Sampling Profiler
در بازه های زمانی
مشخص
وضعیت اجرای Program
را Sample می کند.

در هر Sample
ممکن است:

  • Instruction Pointer،
  • Thread،
  • Call Stack،
  • و Event مرتبط

ثبت شود.

پس از جمع شدن
Sampleهای زیاد،
بخش هایی که
بیشتر دیده شده اند
احتمالاً سهم بیشتری
از Execution Time
داشته اند.

Sample 1 → Function A

Sample 2 → Function A

Sample 3 → Function B

Sample 4 → Function A

Sample 5 → Function C

در این مثال ساده،
Function A
در Sampleهای بیشتری
دیده شده است.

مزیت Sampling Profiling چیست؟

Sampling
معمولاً نسبت به
ثبت کامل
تمام Function Callها
Overhead کمتری دارد.

به همین دلیل
برای Workloadهای
بزرگ یا طولانی
بسیار کاربردی است.

البته نتیجه
Statistical
است و به:

  • Sampling Frequency،
  • مدت Test،
  • رفتار Workload،
  • و تعداد Sampleها

وابسته است.

Instrumentation Profiling چیست؟

در Instrumentation
نقاط مشخصی
از Program
برای ثبت Event
یا Timing
مجهز می شوند.

برای مثال
می توان هنگام:

  • ورود به Function،
  • خروج از Function،
  • شروع Operation،
  • پایان Operation،
  • یا وقوع Event مشخص

اطلاعات ثبت کرد.

مزیت و عیب Instrumentation چیست؟

Instrumentation
می تواند اطلاعات
بسیار دقیق و ساختاری
درباره Eventهای مشخص
ارائه دهد.

اما خود این ثبت اطلاعات
می تواند:

  • Execution Time را افزایش دهد،
  • Cache Behavior را تغییر دهد،
  • Thread Timing را تغییر دهد،
  • و حتی رفتار برنامه را کمی متفاوت کند.

به این اثر:

Profiling Overhead

گفته می شود.

Tracing چیست؟

Tracing
مجموعه ای از Eventها
را در طول زمان
ثبت می کند
تا Timeline
اجرای سیستم
بازسازی شود.

برای مثال می توان دید:

  • Thread چه زمانی اجرا شده،
  • چه زمانی Sleep شده،
  • چه زمانی منتظر Lock بوده،
  • چه زمانی I/O شروع شده،
  • چه زمانی Context Switch رخ داده،
  • و کدام Event باعث Wake-Up شده است.

Profiling و Tracing چه تفاوتی دارند؟

Profiling
معمولاً برای پیدا کردن
بخش هایی استفاده می شود
که سهم زیادی
از Resource
مصرف می کنند.

Tracing
بیشتر روی:

What Happened
+
When
+
In What Order

تمرکز دارد.

این دو روش
مکمل یکدیگرند.

Flame Graph چیست؟

Flame Graph
یک روش Visualization
برای نمایش
Call Stackهای جمع آوری شده
در Profiling است.

در این نمودار
معمولاً عرض یک Block
نشان دهنده سهم نسبی
آن Code Path
در Sampleهاست.

بنابراین:

Wider Block
→
More Samples
→
Larger Share of Profile

ارتفاع نمودار
بیشتر نشان دهنده
عمق Call Stack است
و به خودی خود
به معنی کندتر بودن
نیست.

اشتباه رایج — بلندترین قسمت Flame Graph کندترین قسمت برنامه است

خیر.

ارتفاع
معمولاً عمق
Call Stack
را نشان می دهد.

برای پیدا کردن
بخش های مهم،
معمولاً عرض
اهمیت بیشتری دارد.

Width
≈
Share of Samples

Height
≈
Stack Depth

چرا Profiling باید Threadها را جدا بررسی کند؟

یک Process
می تواند
تعداد زیادی Thread
داشته باشد.

ممکن است:

  • یک Thread کاملاً CPU-Bound باشد،
  • چند Thread منتظر I/O باشند،
  • یک Thread منتظر Lock باشد،
  • و Thread دیگری Background Work انجام دهد.

Total CPU Usage
این تفاوت ها
را پنهان می کند.

CPU-Bound Workload در Profiling چه شکلی دارد؟

در یک Workload
واقعاً CPU-Bound،
Threadهای مهم
بخش بزرگی از زمان
را در حالت
Running
سپری می کنند.

سپس باید بررسی شود
زمان CPU
در کدام Function
و کدام Code Path
مصرف می شود.

اگر برنامه کند باشد ولی CPU Time پایین باشد چه؟

این یکی از
مهم ترین نشانه هاست.

اگر:

Wall Time High
+
CPU Time Low

باشد،
احتمال دارد
برنامه بیشتر
منتظر چیزی باشد
تا اینکه CPU
مشغول محاسبه باشد.

برای مثال:

  • Storage I/O،
  • Network Response،
  • Database،
  • Lock،
  • Synchronization،
  • GPU،
  • یا External Service.

تاثیر بر عملکرد — CPU سریع تر همیشه برنامه را سریع تر نمی کند

فرض کنید
یک Operation
ده ثانیه
طول می کشد،
اما فقط یک ثانیه
CPU Time
مصرف می کند.

حتی اگر
بخش CPU
دو برابر
سریع تر شود،
فقط بخشی
از آن یک ثانیه
کاهش پیدا می کند.

نه کل ده ثانیه.

Optimize CPU
Only When CPU Is
a Significant Part
of the Bottleneck

Amdahl’s Law چه ارتباطی با Optimization دارد؟

Amdahl’s Law
نشان می دهد
Speedup کل سیستم
توسط بخشی محدود می شود
که بهبود پیدا نکرده است.

اگر فقط بخش کوچکی
از زمان اجرای برنامه
را Optimize کنیم،
تاثیر آن روی
کل Performance
محدود خواهد بود.

رابطه کلاسیک:

Overall Speedup
=
1
/
((1 – P) + (P / S))

که در آن:

P = Fraction Improved

S = Speedup of Improved Fraction

مثال ساده Amdahl’s Law

فرض کنید
یک Function
فقط 10 درصد
زمان اجرای برنامه
را مصرف می کند.

حتی اگر
اجرای آن Function
را تقریباً
بی نهایت سریع کنیم،
90 درصد باقی مانده
همچنان وجود دارد.

بنابراین Maximum Speedup
کل برنامه
حدود:

1 / 0.9
≈
1.11×

خواهد بود.

یعنی Optimization فوق العاده
یک بخش کوچک،
فقط حدود 11 درصد
Speedup کلی ایجاد می کند.

کدام Hotspot را باید اول Optimize کرد؟

صرفاً بزرگ ترین Function
یا پیچیده ترین Code
بهترین هدف نیست.

هدف مناسب معمولاً بخشی است
که:

  • سهم قابل توجهی از زمان دارد،
  • در Workload واقعی زیاد اجرا می شود،
  • امکان بهبود واقعی دارد،
  • بهبود آن روی Metric نهایی اثر می گذارد،
  • و هزینه یا ریسک تغییر آن قابل قبول است.

ROI در Performance Optimization چیست؟

Optimization
نیز هزینه دارد.

ممکن است نیازمند:

  • زمان توسعه،
  • Code پیچیده تر،
  • Memory بیشتر،
  • Maintenance دشوارتر،
  • Platform-Specific Code،
  • یا کاهش Readability

باشد.

بنابراین باید پرسید:

Performance Gain
vs
Engineering Cost

اشتباه رایج — بهینه سازی قبل از Profiling

اگر قبل از Measurement
Code را Optimize کنیم،
ممکن است زمان زیادی
روی بخشی صرف شود
که سهم ناچیزی
از Performance کل دارد.

حتی بدتر،
Optimization
می تواند Code
را پیچیده تر کند
بدون اینکه
کاربر تفاوت محسوسی
احساس کند.

Guess
→
Optimize
→
Hope

روش مناسبی نیست.

Measure
→
Identify
→
Optimize
→
Verify

روش قابل اعتمادتر است.

Baseline چیست؟

قبل از Optimization
باید Performance فعلی
ثبت شود.

این مقدار:

Performance Baseline

نامیده می شود.

بدون Baseline
نمی توان با اطمینان
گفت تغییر انجام شده
واقعاً Performance
را بهتر کرده است.

چرا تست باید قابل تکرار باشد؟

Performance
می تواند تحت تاثیر:

  • Background Process،
  • Temperature،
  • CPU Boost،
  • Power Mode،
  • Cache State،
  • Scheduler،
  • Storage State،
  • و Input Data

تغییر کند.

بنابراین Test
باید تا حد امکان
در شرایط مشابه
تکرار شود.

چرا Profiling نسخه Debug می تواند گمراه کننده باشد؟

Debug Build
ممکن است:

  • Compiler Optimization کمتری داشته باشد،
  • Instrumentation بیشتری داشته باشد،
  • Code Generation متفاوتی تولید کند،
  • و Runtime Behavior متفاوتی ایجاد کند.

بنابراین برای
Performance Analysis واقعی،
معمولاً باید Build
نزدیک به شرایط
Production
بررسی شود.

Compiler چه نقشی در Performance Optimization دارد؟

Compiler
می تواند Transformهای
مختلفی روی Code
انجام دهد.

برای مثال:

  • Inlining،
  • Loop Optimization،
  • Dead Code Elimination،
  • Vectorization،
  • Constant Propagation،
  • Instruction Scheduling،
  • و Register Allocation.

بنابراین Code
که CPU واقعاً اجرا می کند
الزاماً ساختار
Source Code
را به صورت مستقیم
دنبال نمی کند.

Inlining چگونه Profiling را پیچیده می کند؟

Compiler
ممکن است Body
یک Function کوچک
را مستقیماً
داخل Caller
قرار دهد.

در این صورت
Function Call
واقعی ممکن است
دیگر در Machine Code
وجود نداشته باشد.

Profilerهای پیشرفته
تلاش می کنند
این Mapping
میان Source Code
و Optimized Code
را بازسازی کنند.

Symbolها چرا در Profiling مهم هستند؟

بدون Symbol Information
Profiler ممکن است
فقط Address
یا اطلاعات سطح پایین
نمایش دهد.

Symbolها کمک می کنند
Addressهای Machine Code
به:

  • Function Name،
  • Module،
  • Source File،
  • و گاهی Source Line

مرتبط شوند.

Lock Contention چگونه Performance را کاهش می دهد؟

در Multi-Threaded Software
چند Thread
ممکن است برای دسترسی
به Resource مشترک
نیازمند Lock باشند.

اگر Threadهای زیادی
منتظر همان Lock
بمانند،
Parallelism واقعی
کاهش پیدا می کند.

More Threads
+
Heavy Lock Contention
≠
More Performance

Context Switch چه تاثیری دارد؟

Context Switch
زمانی رخ می دهد
که CPU
اجرای یک Thread
را متوقف کند
و Thread دیگری
را اجرا کند.

Context Switch
بخشی طبیعی
از Multitasking است.

اما تعداد بسیار زیاد
Switch
می تواند Overhead
ایجاد کند
و Locality
را کاهش دهد.

Scheduler چگونه نتیجه Profiling را تغییر می دهد؟

Operating System Scheduler
تصمیم می گیرد
Threadها
چه زمانی
و روی کدام Logical Processor
اجرا شوند.

در CPUهای Hybrid
این موضوع
اهمیت بیشتری پیدا می کند،
زیرا نوع Core
نیز می تواند متفاوت باشد.

بنابراین Performance
فقط نتیجه Code نیست؛
Placement و Scheduling
نیز می توانند
روی Runtime Behavior
اثر بگذارند.

چرا باید Phaseهای مختلف Workload را جدا تحلیل کنیم؟

یک Application
ممکن است در مراحل مختلف
رفتار کاملاً متفاوتی
داشته باشد.

برای مثال:

Load Data
→
Parse
→
Compute
→
Compress
→
Write Output

اگر Profile
کل برنامه
بدون تفکیک Phase
بررسی شود،
رفتارهای متفاوت
با یکدیگر
مخلوط می شوند.

Representative Workload چیست؟

Workload مورد استفاده
برای Profiling
باید تا حد امکان
رفتار واقعی
کاربران یا سیستم
را نمایندگی کند.

اگر Input
بسیار کوچک،
غیرواقعی
یا مصنوعی باشد،
Hotspotهای مشاهده شده
ممکن است با شرایط واقعی
متفاوت باشند.

Microbenchmark چیست؟

Microbenchmark
تست کوچکی است
که بخش محدود
و مشخصی
از سیستم یا Code
را اندازه گیری می کند.

این روش
برای بررسی
یک Operation خاص
بسیار مفید است.

اما نتیجه Microbenchmark
الزاماً Performance
Application کامل
را نشان نمی دهد.

چه نوع Optimizationهایی ممکن است انجام شوند؟

پس از پیدا کردن
Bottleneck واقعی،
نوع Optimization
به علت محدودیت
بستگی دارد.

مشکل نمونه مسیر بهبود
Instruction Count بالا Algorithm بهتر یا حذف Work غیرضروری
Branch Miss زیاد بهبود Control Flow یا Data Organization
Cache Miss زیاد بهبود Locality و Access Pattern
Lock Contention کاهش Shared Critical Section یا طراحی بهتر Synchronization
Single-Thread Bottleneck کاهش Work یا Parallelization در صورت امکان
Execution Port Pressure تغییر Instruction Mix یا Algorithm
Frontend Bottleneck کاهش Code Footprint یا بهبود Control Flow
Wait Time زیاد بررسی I/O، Lock، Network یا Dependency خارجی

چرا Algorithm معمولاً مهم تر از Micro-Optimization است؟

اگر Algorithm
Work بسیار زیادی
تولید کند،
تغییر چند Instruction
ممکن است تاثیر محدودی
داشته باشد.

در مقابل
Algorithm بهتر
می تواند تعداد Operationهای
مورد نیاز
را به شکل بنیادی
کاهش دهد.

Less Necessary Work
Often Beats
Faster Unnecessary Work

چرا حذف Work از سریع تر کردن Work بهتر است؟

سریع ترین Instruction
Instructionی است
که اصلاً لازم نیست
اجرا شود.

اگر بتوان:

  • محاسبه تکراری را حذف کرد،
  • نتیجه را Cache کرد،
  • Operation غیرضروری را حذف کرد،
  • Data کمتری پردازش کرد،
  • یا Algorithm بهتری انتخاب کرد،

ممکن است Improvement
بسیار بزرگ تری
ایجاد شود.

آیا Optimization همیشه بدون هزینه است؟

خیر.

ممکن است
برای Speed بیشتر:

  • Memory بیشتری مصرف شود،
  • Code پیچیده تر شود،
  • Binary Size افزایش یابد،
  • Latency بهتر ولی Throughput بدتر شود،
  • Power Consumption افزایش یابد،
  • یا Portability کاهش پیدا کند.

بنابراین Performance
فقط یک Dimension
از طراحی سیستم است.

Performance Regression چیست؟

اگر نسخه جدید
Software
نسبت به نسخه قبلی
در یک Workload
کندتر شود،
Performance Regression
رخ داده است.

Regression
ممکن است
ناشی از:

  • Code جدید،
  • Algorithm جدید،
  • Compiler Change،
  • Dependency Update،
  • Configuration Change،
  • یا Platform Change

باشد.

چرا Performance Test باید بخشی از توسعه باشد؟

اگر فقط Functional Correctness
تست شود،
Software ممکن است
همچنان درست کار کند
ولی هر نسخه
کمی کندتر شود.

Benchmarkهای تکرارشونده
می توانند
Regressionهای Performance
را زودتر
آشکار کنند.

Profile-Guided Optimization چیست؟

در بعضی Toolchainها
اطلاعات اجرای واقعی
Program
می تواند به Compiler
داده شود.

Compiler
از این Profile
برای تصمیم گیری بهتر
درباره Optimization
استفاده می کند.

این روش:

Profile-Guided Optimization
(PGO)

نامیده می شود.

Build Instrumented Version
→
Run Representative Workload
→
Collect Profile
→
Rebuild Using Profile
→
Optimized Binary

کیفیت Workload
مورد استفاده
برای Profile
اهمیت زیادی دارد.

Profiling قبل از ارتقای CPU چه کمکی می کند؟

اگر سیستم کند باشد،
اولین واکنش
ممکن است خرید
CPU سریع تر باشد.

اما Profiling
می تواند مشخص کند
آیا CPU واقعاً
Bottleneck است یا خیر.

اگر Application
بیشتر منتظر:

  • Storage،
  • Network،
  • Memory،
  • GPU،
  • Database،
  • یا Synchronization

باشد،
CPU سریع تر
ممکن است تاثیر کمی
ایجاد کند.

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

شناخت Profiling
کمک می کند
بدانیم عبارت:

“This Software Needs a Fast CPU”

بیش از حد کلی است.

باید مشخص شود
Software به چه چیزی
حساس است:

  • Single-Core Performance؟
  • Multi-Core Throughput؟
  • Cache؟
  • Memory Latency؟
  • Memory Bandwidth؟
  • GPU؟
  • Storage؟
  • یا ترکیبی از آنها؟

این موضوع
برای انتخاب:

  • لپ تاپ،
  • کامپیوتر رومیزی،
  • Workstation،
  • All-in-One،
  • Mini PC،
  • و Server

کاربرد دارد.

Workflow اصولی Profiling و Optimization

  1. مشکل Performance را دقیق تعریف کنید.
  2. Metric قابل اندازه گیری انتخاب کنید.
  3. Workload واقعی و قابل تکرار بسازید.
  4. Baseline ثبت کنید.
  5. CPU Usage و Wall Time را بررسی کنید.
  6. CPU Time را بررسی کنید.
  7. Threadهای مهم را پیدا کنید.
  8. Profile تهیه کنید.
  9. Hotspotها را براساس Inclusive و Exclusive Time بررسی کنید.
  10. Call Stack و Call Tree را تحلیل کنید.
  11. در صورت نیاز Performance Counterها را بررسی کنید.
  12. مشخص کنید محدودیت CPU، Memory، I/O، Lock یا عامل دیگری است.
  13. یک Hypothesis مشخص بسازید.
  14. فقط یک عامل مهم را تغییر دهید.
  15. Benchmark را دوباره اجرا کنید.
  16. Profile جدید را با Baseline مقایسه کنید.
  17. بررسی کنید Bottleneck جابه جا شده است یا خیر.
  18. در صورت ارزشمند بودن، مرحله بعدی Optimization را انجام دهید.

الگوهای مهم برای تشخیص Performance Problem

مشاهده برداشت اولیه قدم بعدی
Wall Time بالا + CPU Time بالا CPU Work می تواند بخش مهمی از مشکل باشد CPU Profile و Hotspotها بررسی شوند
Wall Time بالا + CPU Time پایین احتمال Wait یا I/O وجود دارد Tracing و Wait Analysis
یک Thread تقریباً کاملاً درگیر Serial Bottleneck محتمل است Hotspot همان Thread بررسی شود
چند Thread درگیر ولی Scaling ضعیف Synchronization یا Shared Resource محتمل است Lock و Thread Timeline بررسی شود
Function با Self Time زیاد Work مستقیم داخل Function زیاد است Code همان Function تحلیل شود
Inclusive Time زیاد + Self Time کم هزینه بیشتر در Child Functionهاست Call Tree عمیق تر بررسی شود
Branch Miss زیاد Control Flow می تواند هزینه ایجاد کند Branch Behavior بررسی شود
Cache Miss و Backend Stall زیاد Data Access می تواند عامل مهم باشد Locality و Memory Behavior بررسی شود

زیرساخت فنی — Sampling Profiler چگونه از چند هزار Snapshot یک نقشه از اجرای برنامه می سازد؟

فرض کنید Profiler
در طول اجرای Program
هزاران بار
وضعیت Thread
را Sample کند.

در هر Sample
Instruction Pointer
و در صورت امکان
Call Stack
ثبت می شود.

Running Program
↓
Periodic Sample
↓
Instruction Pointer
+
Call Stack
↓
Symbol Resolution
↓
Function / Module
↓
Aggregate Samples
↓
Profile

اگر یک Function
در درصد زیادی
از Sampleها
دیده شود،
احتمالاً سهم بزرگی
از CPU Time
داشته است.

Call Stackها
نیز نشان می دهند
چگونه Program
به آن Function
رسیده است.

سپس Symbol Information
Addressهای Machine Code
را به Function
و Source Code
مرتبط می کند.

در نتیجه Profiler
بدون ثبت تک تک
Instructionهای اجرا شده
می تواند
یک مدل آماری
از محل مصرف CPU
ایجاد کند.

نکته مهندسی — بعد از Optimization ممکن است Hotspot ناپدید نشود

فرض کنید Function A
در Profile اولیه
60 درصد CPU Time
را مصرف می کند.

آن را Optimize می کنیم
و زمان اجرای آن
نصف می شود.

اکنون ممکن است
Function B
به بزرگ ترین Hotspot
تبدیل شود.

این طبیعی است.

Bottleneckها
با تغییر سیستم
جابه جا می شوند.

Optimize
→
Bottleneck Moves
→
Profile Again

تاثیر بر عملکرد — چرا 50 درصد سریع تر شدن یک Function الزاماً برنامه را 50 درصد سریع تر نمی کند؟

فرض کنید Function A
فقط 20 درصد
زمان کل Program
را تشکیل می دهد.

اگر آن را
دو برابر سریع کنیم،
سهم آن تقریباً
از 20 درصد
به 10 درصد
زمان قبلی کاهش می یابد.

اما 80 درصد
باقی مانده
تغییری نکرده است.

Original Time = 100

Optimized Part = 20 → 10

New Total = 90

بنابراین Speedup کل
حدود 11 درصد است،
نه 50 درصد.

به همین دلیل
سهم Hotspot
از کل Runtime
اهمیت زیادی دارد.

اشتباهات رایج — Common Mistakes در Profiling و Optimization
  • Optimization قبل از Measurement.
  • حدس زدن Hotspot براساس پیچیدگی ظاهری Code.
  • نداشتن Performance Baseline.
  • استفاده از Workload غیرواقعی.
  • مقایسه Runهایی با شرایط متفاوت.
  • نادیده گرفتن Warm-Up.
  • اشتباه گرفتن Wall Time با CPU Time.
  • اشتباه گرفتن Inclusive Time با Self Time.
  • تمرکز فقط روی Function Name و نادیده گرفتن Call Path.
  • فرض اینکه بلندترین Stack در Flame Graph مهم ترین Bottleneck است.
  • نادیده گرفتن Profiling Overhead.
  • Profiling فقط روی Debug Build.
  • نادیده گرفتن Compiler Optimization.
  • نادیده گرفتن Symbol Information.
  • فرض اینکه CPU Usage پایین یعنی Software سریع است.
  • فرض اینکه CPU Usage بالا یعنی CPU حتماً باید ارتقا پیدا کند.
  • نادیده گرفتن Lock Contention.
  • نادیده گرفتن I/O Wait.
  • Optimization بخش کوچکی از Runtime.
  • عدم Benchmark مجدد بعد از Optimization.
  • تغییر چند متغیر به صورت همزمان.
  • نادیده گرفتن Performance Regression بعد از تغییر Code.

سوالات متداول درباره Profiling و Performance Optimization

Profiling چیست؟

اندازه گیری رفتار Runtime
Software برای مشخص کردن
محل مصرف زمان و منابع
و پیدا کردن Bottleneckهاست.

Hotspot چیست؟

بخشی از Software
که سهم قابل توجهی
از Execution Time
یا Resource
را مصرف می کند.

CPU Time و Wall Time چه تفاوتی دارند؟

Wall Time
زمان واقعی سپری شده است،
در حالی که CPU Time
میزان زمان مصرف شده
برای اجرای فعال
روی CPU را نشان می دهد.

Self Time چیست؟

زمانی که مستقیماً
در خود Function
مصرف شده
و زمان Child Functionها
در آن حساب نمی شود.

Sampling Profiler چیست؟

Profilerی که
در بازه های زمانی
از وضعیت اجرای Program
Sample می گیرد
و از مجموعه Sampleها
Profile می سازد.

Flame Graph چه چیزی را نشان می دهد؟

ساختار Call Stackها
و سهم نسبی
Code Pathهای مختلف
در Sampleهای Profile را.

آیا باید همیشه بزرگ ترین Function را Optimize کنیم؟

خیر.
باید سهم Runtime،
امکان Improvement،
تاثیر روی Metric نهایی
و هزینه Engineering
بررسی شوند.

چرا بعد از Optimization باید دوباره Profile بگیریم؟

چون Bottleneck
ممکن است جابه جا شود
و باید تایید کنیم
تغییر انجام شده
واقعاً Performance
را بهتر کرده است.

CPU سریع تر همیشه Software را سریع تر می کند؟

خیر.
اگر Bottleneck
Storage،
Network،
GPU،
Memory،
Lock
یا عامل دیگری باشد،
CPU سریع تر
ممکن است تاثیر محدودی داشته باشد.

بهترین نقطه شروع Optimization چیست؟

تعریف Metric،
ساخت Workload قابل تکرار،
ثبت Baseline
و سپس Profiling.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Profiling: اندازه گیری و تحلیل رفتار Runtime نرم افزار.
  • Profiler: ابزار جمع آوری و تحلیل داده های اجرای Software.
  • Hotspot: بخش پرهزینه Software از نظر زمان یا Resource.
  • CPU Time: زمان مصرف شده برای اجرای فعال روی CPU.
  • Wall-Clock Time: زمان واقعی سپری شده از ابتدا تا پایان Operation.
  • Call Stack: زنجیره Functionهای فعال در یک لحظه.
  • Call Tree: نمایش ساختاری رابطه میان Function Callها.
  • Inclusive Time: زمان Function همراه با Child Functionها.
  • Exclusive Time: زمان مستقیم مصرف شده در خود Function.
  • Sampling Profiler: Profiler مبتنی بر نمونه برداری دوره ای.
  • Instrumentation: افزودن نقاط اندازه گیری به Program.
  • Tracing: ثبت Eventها و ترتیب زمانی آنها.
  • Flame Graph: Visualization مبتنی بر Call Stack برای Profile.
  • Profiling Overhead: هزینه ای که خود Profiling به اجرای Program اضافه می کند.
  • Baseline: وضعیت Performance قبل از تغییر.
  • Performance Regression: کاهش Performance در نسخه یا Configuration جدید.
  • PGO: Optimization مبتنی بر Profile اجرای واقعی.
  • Representative Workload: Workload نماینده رفتار واقعی سیستم.
  • Microbenchmark: Benchmark محدود برای اندازه گیری بخش مشخصی از سیستم.

خلاصه فصل

Profiling
به جای حدس زدن
محل Bottleneck،
رفتار واقعی Software
را اندازه گیری می کند.

اولین سؤال
این نیست که:

“What Can We Optimize?”

بلکه باید پرسید:

“Where Is the Time Actually Going?”

CPU Time،
Wall Time،
Call Stack،
Inclusive Time،
Exclusive Time،
Sampling،
Tracing
و Performance Counterها
هر کدام
بخشی از پاسخ
را ارائه می دهند.

سپس باید
Hotspot واقعی
شناسایی شود
و Improvement
براساس تاثیر آن
روی کل Workload
اولویت بندی شود.

Baseline
→
Profile
→
Find Bottleneck
→
Optimize
→
Benchmark
→
Profile Again


هدف Performance Optimization سریع تر کردن همه چیز نیست؛
هدف پیدا کردن بخش هایی است که واقعاً Performance کل سیستم
را محدود می کنند و بهبود آنها با کمترین هزینه و بیشترین اثر است.


فصل 103
سطح: متوسط تا پیشرفته
موضوع: روش علمی Benchmark پردازنده
تمرکز: Repeatability / Warm-Up / Variance / Thermal State / Power Limit / Benchmark Validity


عدد Benchmark فقط زمانی معنی دارد که بدانیم چگونه، کجا و تحت چه شرایطی اندازه گیری شده است

id=”cpu-valid-benchmark-methodology-title”
چگونه یک Benchmark معتبر CPU انجام دهیم و نتایج گمراه کننده را تشخیص دهیم؟

دیدن یک عدد بزرگ تر
در نمودار Benchmark
به تنهایی
ثابت نمی کند
یک CPU
در استفاده واقعی
انتخاب بهتری است.

نتیجه Benchmark
می تواند تحت تاثیر:

  • نوع Workload،
  • نسخه Software،
  • Operating System،
  • Power Limit،
  • Cooling،
  • Temperature،
  • Memory Configuration،
  • Background Process،
  • Boost Behavior،
  • و حتی ترتیب اجرای Testها

تغییر کند.

بنابراین Benchmarking
فقط اجرای یک نرم افزار
و نوشتن Score
نیست.

Benchmarking
=
Measurement
+
Methodology
+
Controlled Conditions
+
Interpretation

در این فصل چه چیزهایی یاد می گیریم؟

  • Benchmark دقیقاً چیست.
  • Benchmark Methodology چیست.
  • چرا یک Run کافی نیست.
  • Repeatability و Reproducibility چه هستند.
  • Warm-Up چه تاثیری دارد.
  • Cold Run و Warm Run چه تفاوتی دارند.
  • Mean و Median چه هستند.
  • Variance و Standard Deviation چه کاربردی دارند.
  • Outlier چیست.
  • چرا Temperature باید کنترل شود.
  • Power Limit چگونه نتیجه را تغییر می دهد.
  • چرا لپ تاپ و دسکتاپ با CPU مشابه الزاماً Performance مشابه ندارند.
  • Memory Configuration چگونه روی Benchmark CPU اثر می گذارد.
  • چرا Background Processها مهم هستند.
  • Single-Core و Multi-Core Benchmark چه تفاوتی دارند.
  • Synthetic و Real-World Benchmark چه تفاوتی دارند.
  • چگونه Benchmark Cherry-Picking را تشخیص دهیم.
  • چگونه یک جدول Benchmark قابل اعتماد بسازیم.

Benchmark چیست؟


بنچمارک — Benchmark

Benchmark
یک Workload یا مجموعه ای
از Workloadهاست
که برای اندازه گیری
Performance سیستم
تحت شرایط مشخص
اجرا می شود.

Benchmark می تواند:

  • زمان انجام یک Task را اندازه بگیرد،
  • تعداد Operation در ثانیه را ثبت کند،
  • Throughput را اندازه بگیرد،
  • Latency را ثبت کند،
  • یا یک Score ترکیبی تولید کند.

Score بنچمارک چه معنایی دارد؟

Score
فقط در چارچوب
همان Benchmark
معنی پیدا می کند.

برای مثال:

Score = 15000

به خودی خود
هیچ واحد فیزیکی
مشخصی ندارد،
مگر اینکه Benchmark
تعریف کرده باشد
این عدد دقیقاً
چه چیزی را نشان می دهد.

بنابراین Scoreهای
دو Benchmark متفاوت
را نباید
مستقیماً با هم
مقایسه کرد.

Benchmark Methodology چیست؟

Methodology
مجموعه قوانین
و شرایطی است
که مشخص می کند
Test چگونه
انجام شده است.

یک Methodology مناسب
باید مواردی مانند:

  • Hardware Configuration،
  • Software Version،
  • Operating System،
  • Power Mode،
  • Cooling Condition،
  • Ambient Temperature،
  • تعداد Runها،
  • Warm-Up Procedure،
  • روش محاسبه نتیجه نهایی،
  • و شرایط رد کردن Run نامعتبر

را مشخص کند.

چرا یک بار اجرای Benchmark کافی نیست؟

سیستم کامپیوتری
کاملاً Deterministic
از دید Measurement
روزمره نیست.

در دو Run متوالی
ممکن است تفاوت هایی
در:

  • Scheduler Behavior،
  • Background Activity،
  • CPU Temperature،
  • Boost Frequency،
  • Cache State،
  • و Power Behavior

وجود داشته باشد.

بنابراین نتیجه یک Run
ممکن است نماینده خوبی
از Performance معمول
سیستم نباشد.

Repeatability چیست؟

Repeatability
یعنی اگر Test
تحت شرایط مشابه
چند بار اجرا شود،
نتایج تا حد معقول
به یکدیگر نزدیک باشند.

Run 1 = 100

Run 2 = 101

Run 3 = 99

چنین نتایجی
نسبتاً پایدارند.

اما اگر:

100
/
82
/
108
/
91

مشاهده شود،
باید علت Variability
بررسی شود.

Reproducibility چیست؟

Reproducibility
یعنی فرد یا آزمایشگاه دیگری
بتواند با استفاده
از Methodology مشابه
به نتیجه ای
نزدیک برسد.

اگر Test Method
مخفی یا ناقص باشد،
بررسی مستقل نتیجه
دشوار می شود.

Warm-Up چیست؟

بعضی Workloadها
در اولین اجرا
رفتار متفاوتی
نسبت به اجراهای بعدی
دارند.

علت می تواند:

  • Cold Cache،
  • File Cache،
  • JIT Compilation،
  • Library Initialization،
  • Memory Allocation،
  • یا Power-State Transition

باشد.

Warm-Up Run
می تواند سیستم
را به حالت
پایدارتر Measurement
نزدیک کند.

Cold Run و Warm Run چه تفاوتی دارند؟

Cold Run
معمولاً اجرای Test
در حالتی است
که بعضی Cacheها
یا Resourceها
هنوز Warm نشده اند.

Warm Run
پس از یک یا چند
اجرای قبلی
انجام می شود.

هیچ کدام
ذاتاً درست یا غلط نیستند.

مهم این است
که Test
با هدف واقعی
هماهنگ باشد.

اگر تجربه
اولین اجرای Application
مهم است،
Cold Performance
اهمیت دارد.

اگر Workload
ساعت ها پیوسته
اجرا می شود،
Steady-State Performance
مهم تر است.

Steady State چیست؟

Steady State
وضعیتی است
که رفتار سیستم
پس از گذشت
Transientهای اولیه
نسبتاً پایدار شده است.

در CPU Benchmark
ممکن است بخواهیم
Temperature،
Frequency
و Power
به وضعیت نسبتاً پایدار
رسیده باشند.

چرا Benchmark کوتاه و طولانی می توانند نتیجه متفاوتی بدهند؟

یک CPU
ممکن است برای مدت کوتاه
Frequency و Power
بالاتری حفظ کند.

اما در Workload طولانی،
محدودیت:

  • Temperature،
  • Cooling،
  • Power،
  • Current،
  • یا Firmware Policy

می تواند رفتار
را تغییر دهد.

Short Burst Performance
≠
Sustained Performance

Temperature چگونه Benchmark را تغییر می دهد؟

CPU مدرن
Frequency و Voltage
را به صورت Dynamic
مدیریت می کند.

اگر Temperature
افزایش پیدا کند،
Headroom حرارتی
ممکن است کمتر شود.

در نتیجه
Frequency پایدار
می تواند کاهش پیدا کند.

بنابراین مقایسه:

Cold CPU
vs
Heat-Soaked CPU

می تواند نتیجه
متفاوتی ایجاد کند.

دمای محیط چرا مهم است؟

Cooling System
گرمای CPU
را در نهایت
به محیط منتقل می کند.

اگر Ambient Temperature
بالاتر باشد،
اختلاف دمای موجود
برای دفع Heat
کاهش پیدا می کند.

بنابراین برای Testهای
دقیق،
دمای محیط
باید ثبت
یا تا حد امکان
کنترل شود.

چرا Cooling در Benchmark لپ تاپ اهمیت بیشتری دارد؟

لپ تاپ ها
فضای محدودتری
برای Cooling
و Power Delivery
دارند.

حتی دو دستگاه
با CPU یکسان
می توانند:

  • Heatpipe متفاوت،
  • Fan متفاوت،
  • Power Limit متفاوت،
  • Firmware متفاوت،
  • و Chassis متفاوت

داشته باشند.

بنابراین نام CPU
به تنهایی
Performance نهایی لپ تاپ
را تعیین نمی کند.

نکته مهندسی — در لپ تاپ باید دستگاه را Benchmark کنیم، نه فقط نام CPU را

اگر دو لپ تاپ
هر دو از
یک مدل Processor
استفاده کنند،
نباید فرض کنیم
Performance آنها
یکسان است.

CPU درون یک Platform
کار می کند.

Cooling،
Firmware،
Power Budget،
Memory
و تنظیمات سازنده
همگی روی Performance
تاثیر دارند.

Same CPU Model
≠
Same Laptop Performance

Power Limit چگونه نتیجه Benchmark را تغییر می دهد؟

CPU ممکن است
براساس محدودیت توان
اجازه داشته باشد
Frequency بیشتری
یا کمتری
حفظ کند.

بنابراین دو سیستم
با Processor مشابه
ولی Power Budget متفاوت
می توانند Performance
متفاوتی داشته باشند.

هنگام مقایسه
باید مشخص باشد
Test در چه
Power Mode
انجام شده است.

Benchmark لپ تاپ روی برق و باتری یکسان است؟

نه لزوماً.

بسیاری از لپ تاپ ها
هنگام کار با Battery
Power Policy
متفاوتی اعمال می کنند.

ممکن است:

  • CPU Power محدود شود،
  • Boost Behavior تغییر کند،
  • GPU Power محدود شود،
  • و Fan Policy تغییر کند.

بنابراین وضعیت
اتصال به برق
باید در Methodology
مشخص شود.

چرا RAM روی Benchmark پردازنده اثر می گذارد؟

CPU
به صورت جدا
از Memory Subsystem
کار نمی کند.

بعضی Workloadها
به:

  • Memory Bandwidth،
  • Memory Latency،
  • Channel Configuration،
  • Memory Frequency،
  • و Capacity

حساس هستند.

بنابراین مقایسه CPUها
با Memory Configuration
کاملاً متفاوت
می تواند نتیجه
را منحرف کند.

جزئیات فنی RAM
در دانشنامه RAM
بررسی می شود.

Background Processها چه مشکلی ایجاد می کنند؟

Operating System
حتی زمانی که کاربر
برنامه خاصی
اجرا نمی کند،
می تواند Processهای
پس زمینه داشته باشد.

برای مثال:

  • Update Service،
  • Antivirus Scan،
  • Indexing،
  • Cloud Sync،
  • Telemetry،
  • Browser Tab،
  • و Background Application.

این فعالیت ها
می توانند CPU Time
و سایر Resourceها
را مصرف کنند.

چرا نسخه Software باید ثبت شود؟

نسخه جدید
یک Benchmark
یا Application
ممکن است:

  • Algorithm متفاوتی داشته باشد،
  • Compiler متفاوتی استفاده کند،
  • Instruction Set جدیدی فعال کند،
  • Bug را رفع کرده باشد،
  • یا Workload را تغییر داده باشد.

بنابراین Score
نسخه های متفاوت
الزاماً مستقیماً
قابل مقایسه نیست.

Operating System چگونه نتیجه را تغییر می دهد؟

OS
روی:

  • Scheduling،
  • Power Management،
  • Thread Placement،
  • Security Mitigation،
  • Driver Stack،
  • و Background Activity

تاثیر دارد.

بنابراین OS
و Build آن
باید در Test
ثبت شوند.

Benchmark پردازنده های Hybrid چه پیچیدگی خاصی دارد؟

در CPUهایی
با Coreهای متفاوت،
Scheduler
و Thread Placement
می توانند
تاثیر بیشتری
روی نتیجه داشته باشند.

اگر Thread مهم
روی نوع Core
متفاوتی اجرا شود،
Performance
می تواند تغییر کند.

بنابراین نسخه OS
و Scheduler Behavior
در چنین سیستم هایی
اهمیت بیشتری دارد.

Single-Core Benchmark چه چیزی را اندازه می گیرد؟

Single-Core Test
تلاش می کند
Performance
یک Thread
یا تعداد بسیار محدودی
از Threadها
را بررسی کند.

این نوع Test
برای Workloadهایی
که بخش مهمی
از آنها Serial است
مفیدتر است.

Multi-Core Benchmark چه چیزی را اندازه می گیرد؟

Multi-Core Benchmark
تلاش می کند
تعداد بیشتری
از Coreها و Threadها
را درگیر کند.

نتیجه آن
علاوه بر Performance
هر Core
به:

  • Core Count،
  • Thread Count،
  • Scaling Workload،
  • Power Budget،
  • Cooling،
  • و Shared Resources

وابسته است.

چرا دو برابر شدن Coreها الزاماً Score را دو برابر نمی کند؟

Workload
ممکن است کاملاً
Parallel نباشد.

همچنین Coreها
Resourceهای مشترکی
دارند.

محدودیت:

  • Memory Bandwidth،
  • Cache،
  • Synchronization،
  • Power،
  • Cooling،
  • و Serial Code

می تواند Scaling
را محدود کند.

Synthetic Benchmark چیست؟

Synthetic Benchmark
Workloadی طراحی شده
برای اندازه گیری
یک یا چند ویژگی
مشخص سیستم است.

مزیت آن:

  • تکرارپذیری مناسب،
  • اجرای نسبتاً ساده،
  • مقایسه تعداد زیادی سیستم،
  • و کنترل بهتر Workload

است.

اما ممکن است
رفتار Application واقعی
را به طور کامل
نمایندگی نکند.

Real-World Benchmark چیست؟

Real-World Benchmark
از Application
یا Workflow
نزدیک به استفاده واقعی
استفاده می کند.

برای مثال:

  • Compile یک پروژه واقعی،
  • Render یک Scene واقعی،
  • Export یک Project،
  • Compress یک Dataset،
  • پردازش یک مجموعه تصویر،
  • یا اجرای Simulation.

این Testها
برای تصمیم خرید
معمولاً Context
بیشتری فراهم می کنند.

نکته مهندسی — Synthetic و Real-World رقیب یکدیگر نیستند

Synthetic Benchmark
می تواند برای
جداسازی ویژگی مشخص
بسیار مفید باشد.

Real-World Benchmark
نشان می دهد
مجموعه Hardware
و Software
در یک Workflow
چگونه رفتار می کنند.

تحلیل بهتر
معمولاً از ترکیب
هر دو نوع Test
به دست می آید.

Mean یا میانگین در Benchmark چیست؟

اگر چند Run
داشته باشیم،
می توان مجموع نتایج
را بر تعداد آنها
تقسیم کرد.

Mean
=
Sum of Results
/
Number of Runs

Mean
یک خلاصه مفید
از مجموعه نتایج است،
اما به Outlierها
حساس است.

Median چیست؟

Median
مقدار وسط
پس از مرتب کردن
نتایج است.

برای مثال:

98
/
99
/
100
/
101
/
130

Median برابر:

100

است.

در این مثال
عدد 130
Mean را بیشتر
تحت تاثیر قرار می دهد،
اما Median
نسبت به آن
مقاوم تر است.

Variance در Benchmark چه مفهومی دارد؟

فقط دانستن
مقدار مرکزی
کافی نیست.

باید بدانیم
نتایج چقدر
از یکدیگر
پراکنده اند.

اگر نتایج
بسیار نزدیک باشند،
Measurement
Stableتر است.

اگر پراکندگی زیاد باشد،
باید علت آن
بررسی شود.

Standard Deviation چه کاربردی دارد؟

Standard Deviation
یکی از معیارهای
پراکندگی داده ها
حول Mean است.

مقدار پایین تر
معمولاً نشان می دهد
Runها به یکدیگر
نزدیک تر بوده اند.

اما تفسیر آن
باید نسبت به
Scale داده
انجام شود.

Coefficient of Variation چیست؟

برای مقایسه
پراکندگی نسبی
می توان از:

CV
=
Standard Deviation
/
Mean

استفاده کرد.

معمولاً CV
به صورت درصد
نیز بیان می شود.

CV%
=
(Standard Deviation / Mean)
×
100

Outlier چیست؟

Outlier
نتیجه ای است
که نسبت به
سایر Runها
به شکل غیرعادی
متفاوت است.

برای مثال:

100
/
101
/
99
/
100
/
72

عدد 72
نیاز به بررسی دارد.

شاید هنگام همان Run:

  • Background Task اجرا شده،
  • Thermal Throttling رخ داده،
  • Update شروع شده،
  • یا Measurement Error وجود داشته است.

اشتباه رایج — هر نتیجه ای که دوست نداریم Outlier است

Outlier
نباید صرفاً
به دلیل نامناسب بودن
نتیجه حذف شود.

باید قبل از Test
معیار مشخصی
برای رد Run
تعریف شود
یا علت فنی
قابل دفاعی
برای حذف آن
وجود داشته باشد.

Remove Data
Because of Methodology

Not Because of Preference

آیا باید بهترین Score را گزارش کنیم؟

اگر هدف
نشان دادن Maximum Potential
باشد،
Best Run
می تواند اطلاعاتی
ارائه کند.

اما اگر هدف
Performance معمول
دستگاه باشد،
فقط انتخاب
بهترین Run
می تواند گمراه کننده باشد.

بهتر است
مشخص شود
گزارش بر اساس:

  • Best،
  • Mean،
  • Median،
  • یا مجموعه کامل Runها

تهیه شده است.

Benchmark Cherry-Picking چیست؟

Cherry-Picking
یعنی فقط Testهایی
انتخاب شوند
که نتیجه مطلوب
برای یک محصول
نشان می دهند
و Testهای نامطلوب
حذف شوند.

برای مثال
یک CPU ممکن است
در Rendering
بسیار قوی
ولی در Workload دیگری
متوسط باشد.

اگر فقط Rendering
نمایش داده شود،
مخاطب ممکن است
تصور کند
همان برتری
در همه کاربردها
وجود دارد.

اختلاف درصدی Benchmark چگونه محاسبه می شود؟

اگر Score بالاتر
بهتر باشد:

Percentage Difference
=
((New – Baseline) / Baseline)
×
100

برای مثال:

CPU A = 100

CPU B = 120

Difference
=
((120 – 100) / 100)
×
100
=
20%

اگر عدد کمتر بهتر باشد چه؟

در Benchmarkهای
مبتنی بر زمان،
عدد کمتر
معمولاً بهتر است.

برای مثال:

CPU A = 60 seconds

CPU B = 45 seconds

در چنین حالتی
CPU B
Task را سریع تر
تمام کرده است.

نباید صرفاً
به بزرگ تر بودن
یا کوچک تر بودن عدد
نگاه کرد.

باید Metric
را شناخت.

Speedup و کاهش زمان یک چیز نیستند

فرض کنید Task
از 100 ثانیه
به 50 ثانیه
کاهش پیدا کند.

زمان اجرا:

50% Lower

شده است.

اما Throughput
یا Speed
می تواند:

2× Faster

باشد.

این دو بیان
نباید با هم
اشتباه گرفته شوند.

آیا اختلاف 1 یا 2 درصدی Benchmark مهم است؟

نه همیشه.

اگر Run-to-Run Variation
خود Test
نزدیک همان مقدار باشد،
اختلاف کوچک
ممکن است از Noise
قابل تفکیک نباشد.

برای مثال اگر:

Typical Variation ≈ ±2%

باشد،
اختلاف 1 درصدی
نیازمند احتیاط
در تفسیر است.

چرا نمودار Benchmark بهتر است پراکندگی را هم نشان دهد؟

یک Bar Chart
که فقط Mean
را نشان دهد،
اطلاعات Stability
را پنهان می کند.

نمایش:

  • Minimum،
  • Maximum،
  • Standard Deviation،
  • Confidence Interval،
  • یا تمام Runها

می تواند تصویر
کامل تری
ارائه دهد.

ترتیب اجرای Benchmarkها چرا مهم است؟

اگر همیشه
CPU A
در حالت سرد
و CPU B
بعد از Workload سنگین
تست شود،
مقایسه عادلانه نیست.

Test Order
می تواند روی:

  • Temperature،
  • Cache State،
  • Battery State،
  • Background Activity،
  • و Thermal Saturation

اثر بگذارد.

Sustained Benchmark برای چه کسانی مهم است؟

Workloadهای طولانی
مانند:

  • Rendering،
  • Video Encoding،
  • Compilation،
  • Scientific Computing،
  • Simulation،
  • و بعضی Server Workloadها

می توانند CPU
را برای مدت طولانی
تحت Load
نگه دارند.

در این کاربردها
Sustained Performance
ممکن است از
Peak Benchmark Score
مهم تر باشد.

Burst Performance برای چه کاربردهایی مهم است؟

بسیاری از کارهای روزمره
کوتاه هستند.

برای مثال:

  • باز کردن Application،
  • Load کردن صفحه،
  • اجرای Command کوتاه،
  • پردازش لحظه ای،
  • و بعضی عملیات رابط کاربری.

در این موارد
Burst Performance
می تواند تاثیر زیادی
روی Responsiveness
داشته باشد.

برای خرید سیستم به کدام Benchmark نگاه کنیم؟

Benchmark مناسب
به نوع استفاده
بستگی دارد.

برای انتخاب:

  • لپ تاپ،
  • کامپیوتر رومیزی،
  • آل این وان،
  • Workstation،
  • Mini PC،
  • یا Server

باید ابتدا
Workload اصلی
مشخص شود.

سپس Benchmarkهایی
انتخاب شوند
که به همان
Workload نزدیک ترند.

چه نوع Benchmarkی برای چه سؤالی مناسب تر است؟

سؤال نوع Test مناسب
قدرت یک Thread چقدر است؟ Single-Thread Benchmark
CPU زیر بار کامل چقدر سریع است؟ Multi-Core Benchmark
Performance طولانی مدت چطور است؟ Sustained Loop Test
برای Rendering چطور است؟ Real Rendering Workload
برای برنامه نویسی چطور است؟ Compilation Benchmark
Responsiveness کوتاه چطور است؟ Burst / Short-Latency Workload
Efficiency چگونه است؟ Performance + Power Measurement
رفتار لپ تاپ در استفاده واقعی چیست؟ Application Test + Sustained Test + Battery Context

چک لیست تشخیص Benchmark قابل اعتماد

  1. مدل دقیق CPU مشخص است؟
  2. مدل دستگاه یا Platform مشخص است؟
  3. RAM و Memory Configuration مشخص است؟
  4. نسخه Benchmark مشخص است؟
  5. نسخه Operating System مشخص است؟
  6. Power Mode مشخص است؟
  7. دستگاه روی برق یا Battery بوده؟
  8. Cooling Condition مشخص است؟
  9. دمای محیط ثبت شده یا حداقل کنترل شده است؟
  10. تعداد Runها مشخص است؟
  11. Warm-Up Procedure مشخص است؟
  12. روش محاسبه نتیجه نهایی مشخص است؟
  13. Mean، Median یا Best Score بودن نتیجه مشخص است؟
  14. Run-to-Run Variation گزارش شده است؟
  15. Outlierها چگونه مدیریت شده اند؟
  16. Workload برای کاربرد مورد نظر مرتبط است؟
  17. Benchmark فقط یک Test انتخابی نیست؟
  18. مقایسه همه دستگاه ها تحت شرایط مشابه انجام شده است؟
  19. Peak و Sustained Performance از هم تفکیک شده اند؟
  20. نتیجه خام از Interpretation جدا شده است؟

زیرساخت فنی — چرا یک CPU در چند Run متوالی دقیقاً یک Score تولید نمی کند؟

CPU مدرن
یک سیستم Dynamic
است.

Frequency آن
می تواند
در طول اجرای Benchmark
بارها تغییر کند.

Scheduler
ممکن است Thread
را بین Logical Processorها
جابه جا کند.

Cache State
می تواند
بین Runها
متفاوت باشد.

Background Process
ممکن است
برای چند میلی ثانیه
CPU را درگیر کند.

Temperature
نیز در طول Test
افزایش پیدا می کند.

Workload
↓
Scheduler
↓
Dynamic Frequency
↓
Power / Current Limits
↓
Temperature
↓
Cache / Memory State
↓
Background Activity
↓
Measured Result

بنابراین Score
یک مقدار مطلق
و بدون Noise
نیست.

Benchmark علمی
تلاش می کند
این Variation
را اندازه گیری،
کنترل
و گزارش کند؛
نه اینکه آن را
پنهان کند.

نکته مهندسی — اختلاف Benchmark باید از Noise بزرگ تر باشد

فرض کنید CPU A
به طور متوسط
Score برابر 1000
و CPU B
Score برابر 1010
دارد.

اختلاف:

1%

است.

اگر Variability
خود Test
حدود دو درصد باشد،
این اختلاف
ممکن است
از Noise Measurement
قابل تفکیک نباشد.

بنابراین فقط
اختلاف Mean
مهم نیست.

Stability
و Distribution
نتایج نیز
باید بررسی شوند.

تاثیر بر عملکرد — چرا Peak Score می تواند تصویر اشتباهی از Performance واقعی بدهد؟

فرض کنید یک لپ تاپ
در Run اول
Score برابر 15000
ثبت کند.

اما در Loop طولانی:

Run 1 = 15000

Run 2 = 14200

Run 3 = 13400

Run 4 = 12900

Run 5 = 12800

اگر فقط Run اول
گزارش شود،
Peak Performance
نمایش داده شده است.

اما کاربری که
Rendering طولانی
انجام می دهد،
بیشتر Performance
پایدار نزدیک
Runهای انتهایی
را تجربه خواهد کرد.

Peak Performance
≠
Sustained Performance

اشتباهات رایج — Common Mistakes در Benchmark پردازنده
  • نتیجه گیری از یک Run.
  • گزارش فقط بهترین Score.
  • عدم ثبت نسخه Benchmark.
  • عدم ثبت Operating System.
  • نادیده گرفتن Power Mode.
  • مقایسه لپ تاپ روی Battery با دستگاه متصل به برق.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Temperature.
  • مقایسه Cold Run با Warm Run.
  • مقایسه Peak Performance با Sustained Performance.
  • نادیده گرفتن Background Processها.
  • استفاده از Memory Configuration متفاوت بدون توضیح.
  • مقایسه نسخه های متفاوت Software.
  • حذف Outlier بدون معیار مشخص.
  • نادیده گرفتن Run-to-Run Variance.
  • بزرگ نمایی اختلاف کوچک تر از Noise Test.
  • استفاده از فقط یک Synthetic Benchmark.
  • Cherry-Picking نتایج مطلوب.
  • فرض اینکه Multi-Core Score مستقیماً Performance همه برنامه ها را نشان می دهد.
  • فرض اینکه Single-Core Score تنها معیار Responsiveness است.
  • مقایسه Score دو Benchmark متفاوت.
  • فرض اینکه CPU یکسان در تمام لپ تاپ ها Performance یکسان دارد.
  • نادیده گرفتن Platform هنگام مقایسه Processor.
  • تبدیل اختلاف Benchmark کوچک به ادعای بزرگ درباره تجربه واقعی کاربر.

سوالات متداول درباره Benchmark پردازنده

برای Benchmark CPU چند بار Test را اجرا کنیم؟

یک Run معمولاً
برای نتیجه گیری دقیق
کافی نیست.
تعداد مناسب
به Variability
و نوع Test بستگی دارد
و باید چند Run
قابل تکرار ثبت شود.

چرا Score بنچمارک هر بار کمی تغییر می کند؟

به دلیل عواملی مانند
Temperature،
Boost،
Scheduler،
Background Activity
و Cache State.

بهترین Score مهم تر است یا میانگین؟

به هدف Test بستگی دارد.
Best Score
Maximum Potential
را بهتر نشان می دهد،
اما Mean یا Median
معمولاً برای Performance معمول
مناسب ترند.

چرا لپ تاپ با CPU یکسان ممکن است کندتر باشد؟

به دلیل تفاوت
Cooling،
Power Limit،
Firmware،
Memory
و طراحی دستگاه.

Synthetic Benchmark بد است؟

خیر.
برای Measurement کنترل شده
بسیار مفید است،
اما نباید آن را
معادل تمام Workloadهای واقعی
در نظر گرفت.

اختلاف دو درصدی Benchmark مهم است؟

فقط اگر
Variability Test
به اندازه کافی
کمتر از این اختلاف باشد
و Test برای Workload مورد نظر
مرتبط باشد.

چرا Benchmark طولانی مهم است؟

چون می تواند
Performance پایدار
پس از افزایش Temperature
و اعمال محدودیت های
Power و Cooling
را نشان دهد.

آیا Benchmark بیشتر همیشه بهتر است؟

خیر.
چند Benchmark مرتبط
و دارای Methodology خوب
از تعداد زیادی Test
نامرتبط ارزشمندترند.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Benchmark: Workload استاندارد یا کنترل شده برای اندازه گیری Performance.
  • Benchmark Methodology: مجموعه شرایط و روش های اجرای Benchmark.
  • Repeatability: نزدیک بودن نتایج تکراری تحت شرایط مشابه.
  • Reproducibility: امکان دستیابی مستقل به نتیجه مشابه با روش مشابه.
  • Warm-Up: اجرای مقدماتی برای رسیدن سیستم یا Software به وضعیت مناسب Measurement.
  • Cold Run: اجرای Test پیش از Warm شدن Stateهای مرتبط.
  • Warm Run: اجرای Test پس از اجرای قبلی یا Warm-Up.
  • Steady State: وضعیت نسبتاً پایدار پس از Transientهای اولیه.
  • Mean: میانگین حسابی نتایج.
  • Median: مقدار میانی مجموعه مرتب شده.
  • Variance: معیار پراکندگی نتایج.
  • Standard Deviation: معیار پراکندگی داده ها حول Mean.
  • Coefficient of Variation: پراکندگی نسبی نسبت به Mean.
  • Outlier: نتیجه غیرعادی نسبت به سایر Measurementها.
  • Cherry-Picking: انتخاب گزینشی نتایج مطلوب و حذف Context نامطلوب.
  • Peak Performance: بیشترین Performance قابل مشاهده در شرایط مشخص.
  • Sustained Performance: Performance قابل حفظ در Workload طولانی.
  • Burst Performance: Performance در Workloadهای کوتاه مدت.
  • Synthetic Benchmark: Workload طراحی شده برای Measurement کنترل شده.
  • Real-World Benchmark: Test مبتنی بر Application یا Workflow نزدیک به استفاده واقعی.

خلاصه فصل

Benchmark معتبر
فقط یک Score
نیست.

برای مقایسه صحیح
باید شرایط Test
مشخص و تا حد امکان
کنترل شده باشند.

تعداد Runها،
Warm-Up،
Temperature،
Power Limit،
Cooling،
Memory Configuration،
OS،
Software Version
و Background Activity
همگی می توانند
نتیجه را تغییر دهند.

Mean و Median
بدون بررسی
پراکندگی نتایج
تصویر کاملی
ارائه نمی کنند.

همچنین:

Peak Performance
≠
Sustained Performance

و:

Synthetic Performance
≠
Every Real-World Workload

برای انتخاب Hardware
باید Benchmarkهایی
بررسی شوند
که به Workload واقعی
کاربر نزدیک باشند.

Controlled Test
+
Multiple Runs
+
Variability Analysis
+
Relevant Workload
+
Transparent Methodology
→
Useful Benchmark


Benchmark خوب فقط نمی گوید کدام CPU عدد بزرگ تری گرفته است؛
نشان می دهد این اختلاف چقدر پایدار، چقدر قابل تکرار و برای
کدام نوع استفاده واقعاً معنادار است.


فصل 104
سطح: متوسط تا پیشرفته
موضوع: تفسیر Benchmark براساس نوع کاربری
تمرکز: Single-Core / Multi-Core / Latency / Throughput / Real-World Workload


بهترین CPU وجود ندارد؛ CPU مناسب باید براساس Workload انتخاب شود

چگونه Benchmark پردازنده را براساس نوع کاربری واقعی تفسیر کنیم؟

دو پردازنده
ممکن است در یک Benchmark
اختلاف زیادی داشته باشند،
اما در استفاده واقعی
یک کاربر
تقریباً تجربه مشابهی
ایجاد کنند.

برعکس،
دو CPU که در یک Score کلی
نزدیک به هم هستند
ممکن است در یک Workload خاص
تفاوت قابل توجهی داشته باشند.

علت ساده است:

Different Workloads
Stress
Different Parts
of the System

بنابراین Benchmark
باید در Context
تفسیر شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • چرا یک Score کلی برای انتخاب CPU کافی نیست.
  • Single-Core Performance برای چه کارهایی مهم است.
  • Multi-Core Performance برای چه کارهایی مهم است.
  • Latency و Throughput چه تفاوتی دارند.
  • Responsiveness چگونه با Benchmark ارتباط دارد.
  • چرا Core Count به تنهایی معیار مناسبی نیست.
  • چگونه Benchmark را برای کاربری روزمره تفسیر کنیم.
  • چه معیارهایی برای کار اداری مهم ترند.
  • چه معیارهایی برای برنامه نویسی مهم ترند.
  • چگونه Benchmark را برای CAD و طراحی مهندسی بخوانیم.
  • چه معیارهایی در Rendering اهمیت دارند.
  • چگونه Performance شبیه سازی و محاسبات مهندسی را ارزیابی کنیم.
  • چرا Benchmark بازی فقط Benchmark CPU نیست.
  • چگونه CPU مناسب Workstation انتخاب کنیم.
  • چه معیارهایی برای Server Workload مهم هستند.
  • چگونه Performance، مصرف انرژی و قیمت را همزمان بررسی کنیم.

چرا یک Score واحد نمی تواند قدرت واقعی CPU را تعریف کند؟

Processor
یک ماشین محاسباتی
چندبعدی است.

Performance آن
می تواند تحت تاثیر:

  • IPC،
  • Frequency،
  • Core Count،
  • Thread Count،
  • Cache،
  • Memory Subsystem،
  • Instruction Set،
  • Branch Prediction،
  • Execution Resources،
  • Power Budget،
  • و Cooling

قرار بگیرد.

Workloadهای مختلف
وزن متفاوتی
به این عوامل
می دهند.

اولین سؤال هنگام انتخاب CPU چیست؟

نباید ابتدا پرسید:

Which CPU Is Faster?

سؤال بهتر این است:

Faster at What?

ابتدا باید
Workload اصلی
مشخص شود.

سپس Benchmark
مرتبط با همان Workload
بررسی شود.

Single-Thread Performance چه زمانی مهم است؟

بعضی بخش های Software
کاملاً یا تا حد زیادی
Serial هستند.

یعنی نمی توان
تمام Work
را به تعداد زیادی Thread
تقسیم کرد.

در چنین شرایطی
Performance یک Thread قوی
اهمیت زیادی پیدا می کند.

Single-Thread Performance
می تواند تحت تاثیر:

  • IPC،
  • Boost Frequency،
  • Cache Latency،
  • Memory Latency،
  • Branch Prediction،
  • و Architecture

باشد.

Multi-Core Performance چه زمانی مهم است؟

اگر Workload
بتواند کار را
بین تعداد زیادی Thread
تقسیم کند،
Coreهای بیشتر
می توانند Throughput
را افزایش دهند.

نمونه های رایج:

  • CPU Rendering،
  • Video Encoding،
  • بعضی Compilationها،
  • Compression،
  • Scientific Computing،
  • Virtualization،
  • و بعضی Server Workloadها.

اشتباه رایج — هر CPU که Core بیشتری دارد سریع تر است

Core Count
فقط یکی از عوامل
Performance است.

یک CPU
با Core کمتر
اما Architecture جدیدتر
ممکن است
در بعضی Workloadها
سریع تر باشد.

علاوه بر آن،
Software باید بتواند
از Coreهای اضافه
استفاده کند.

More Cores
≠
Automatically Faster

Latency و Throughput چه تفاوتی دارند؟

Latency
مدت زمانی است
که انجام یک Operation
طول می کشد.

Throughput
مقدار Work
انجام شده
در واحد زمان است.

Latency
=
Time per Task

Throughput
=
Tasks per Unit Time

یک سیستم
می تواند Throughput بالا
داشته باشد،
اما Latency
یک Task منفرد
همچنان زیاد باشد.

Responsiveness چیست؟

Responsiveness
به سرعت واکنش سیستم
به Interaction کاربر
مربوط می شود.

برای مثال:

  • باز شدن Menu،
  • اجرای Command،
  • باز شدن Application،
  • اعمال یک Filter،
  • یا تغییر View.

این تجربه
فقط به CPU
وابسته نیست.

Storage،
RAM،
Software
و Background Activity
نیز نقش دارند.

برای کاربری روزمره کدام Benchmark مهم تر است؟

در استفاده هایی مانند:

  • وب گردی،
  • تماشای ویدئو،
  • پیام رسانی،
  • کار با فایل ها،
  • Office سبک،
  • و اجرای چند برنامه معمولی

معمولاً نیازی
به بالاترین
Multi-Core Score
بازار نیست.

Performance مناسب
هر Core،
SSD مناسب،
RAM کافی
و سیستم متعادل
اغلب اهمیت بیشتری دارند.

برای کار اداری چه معیارهایی مهم هستند؟

Workload اداری
می تواند شامل:

  • Word Processing،
  • Spreadsheet،
  • Browser،
  • PDF،
  • Accounting Software،
  • Video Conference،
  • و Multitasking

باشد.

برای این نوع استفاده
معمولاً:

  • Single-Thread Performance مناسب،
  • تعداد Core کافی،
  • RAM کافی،
  • SSD سریع،
  • و مصرف انرژی مناسب

مهم تر از
Extreme Multi-Core Performance
هستند.

آیا Spreadsheet همیشه Workload سبک است؟

خیر.

Spreadsheet کوچک
ممکن است بسیار سبک باشد.

اما Workbookهای بزرگ
با:

  • Formulaهای زیاد،
  • Dataهای حجیم،
  • Macro،
  • Pivot Table،
  • و محاسبات پیچیده

می توانند CPU-intensive
شوند.

بنابراین حتی
یک عنوان کلی مانند
«کار اداری»
باید دقیق تر
تعریف شود.

برای برنامه نویسی چه Benchmarkی مهم است؟

«برنامه نویسی»
یک Workload واحد نیست.

توسعه دهنده ممکن است:

  • Code بنویسد،
  • Project را Compile کند،
  • Test اجرا کند،
  • Container اجرا کند،
  • Virtual Machine داشته باشد،
  • Database محلی اجرا کند،
  • یا چند IDE و Service را همزمان باز نگه دارد.

بنابراین انتخاب CPU
باید براساس
Workflow واقعی توسعه دهنده
انجام شود.

Compilation چگونه از CPU استفاده می کند؟

بسیاری از Build Systemها
می توانند چندین File
یا Task
را به صورت Parallel
پردازش کنند.

بنابراین Coreهای بیشتر
می توانند Build Time
را کاهش دهند.

اما تمام مراحل Build
الزاماً کاملاً Parallel
نیستند.

در نتیجه
هم Single-Thread Performance
و هم Multi-Core Throughput
می توانند مهم باشند.

برای Virtualization چه چیزهایی مهم هستند؟

اگر چند Virtual Machine
یا Container
به طور همزمان
اجرا شوند،
تعداد Core
و Thread
اهمیت بیشتری پیدا می کند.

اما فقط CPU
کافی نیست.

Capacity و Performance
حافظه نیز
می توانند محدودیت
مهمی ایجاد کنند.

جزئیات Memory
در دانشنامه RAM
بررسی می شود.

برای CAD کدام Benchmark CPU مهم تر است؟

CAD
یک عنوان بسیار کلی است.

Workflow می تواند شامل:

  • Drawing،
  • Modeling،
  • Regeneration،
  • Parametric Update،
  • Simulation،
  • Rendering،
  • و Export

باشد.

هر یک از این مراحل
می توانند
Scaling متفاوتی
با Core Count
داشته باشند.

برای AutoCAD چه نوع CPU Performance مهم است؟

بسیاری از عملیات
Interactive و Drawing
در نرم افزارهای CAD
نمی توانند
به صورت نامحدود
روی تعداد زیادی Core
Scale شوند.

بنابراین Performance قوی
در Threadهای اصلی
می تواند
برای Responsiveness
اهمیت زیادی داشته باشد.

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

بنابراین Benchmark
باید دقیقاً
همان Operation مورد نظر
را اندازه بگیرد.

برای Revit چه چیزی مهم است؟

در Workflowهای BIM
بخش هایی مانند:

  • Model Interaction،
  • Regeneration،
  • View Update،
  • Family Processing،
  • Export،
  • و Rendering

می توانند رفتار
متفاوتی داشته باشند.

بنابراین یک
Multi-Core Score بزرگ
به تنهایی
نمی تواند Performance
کل Workflow
را پیش بینی کند.

برای SolidWorks چه نوع Benchmarkی مناسب تر است؟

Modeling و بسیاری
از عملیات Interactive
می توانند بیشتر
به Performance
تعداد محدودی Thread
حساس باشند.

اما:

  • Rendering،
  • Simulation،
  • و بعضی Solverها

ممکن است
از Parallelism بیشتری
استفاده کنند.

بنابراین CPU مناسب
برای Modeling
الزاماً بهترین CPU
برای Simulation
نیست.

نکته مهندسی — نام نرم افزار برای انتخاب Benchmark کافی نیست

گفتن اینکه:

“I Use Revit”

هنوز اطلاعات کافی
برای انتخاب CPU
ارائه نمی کند.

باید مشخص شود:

  • مدل سازی انجام می شود؟
  • Projectها چقدر بزرگ هستند؟
  • Rendering انجام می شود؟
  • Simulation وجود دارد؟
  • چند نرم افزار همزمان اجرا می شوند؟

Workload
باید تا سطح
Operation واقعی
تعریف شود.

برای CPU Rendering چه چیزی مهم است؟

بسیاری از Rendererهای CPU
می توانند Work
را بین تعداد زیادی Core
تقسیم کنند.

بنابراین:

  • Core Count،
  • Performance هر Core،
  • Sustained Power،
  • Cooling،
  • و Scaling Engine

اهمیت پیدا می کنند.

در این کاربرد
Sustained Multi-Core Performance
معمولاً از Peak Score کوتاه
مهم تر است.

در Rendering بهتر است Score را ببینیم یا زمان Render را؟

اگر Benchmark
یک Scene واقعی
را Render کند،
زمان تکمیل Task
Metric بسیار قابل فهمی است.

CPU A = 120 seconds

CPU B = 90 seconds

در این حالت
CPU B
Work را
در زمان کمتری
تمام کرده است.

این Metric
مستقیماً به Productivity
نزدیک است.

برای Video Encoding چه چیزی را باید بررسی کرد؟

Encoding
می تواند از:

  • CPU Software Encoder،
  • Integrated Hardware Encoder،
  • Discrete GPU Encoder،
  • یا ترکیبی از آنها

استفاده کند.

بنابراین باید مشخص شود
Benchmark دقیقاً
از کدام مسیر
استفاده کرده است.

اگر هدف
مقایسه CPU Compute
باشد،
استفاده از Hardware Encoder
می تواند سؤال دیگری
را اندازه بگیرد.

برای Simulation چه Benchmarkی مناسب است؟

Simulation
می تواند بسیار متفاوت باشد.

بعضی Solverها:

  • Compute-Bound هستند،
  • بعضی Memory-Bound هستند،
  • بعضی به Latency حساس اند،
  • بعضی خوب Parallel می شوند،
  • و بعضی Scaling محدودی دارند.

بنابراین Generic CPU Score
برای پیش بینی
تمام Simulationها
مناسب نیست.

در Scientific Computing چه چیزهایی اهمیت دارند؟

بسته به Algorithm
ممکن است:

  • Floating-Point Throughput،
  • Vector Instruction Support،
  • Core Count،
  • Cache،
  • Memory Bandwidth،
  • Memory Latency،
  • و Library Optimization

اهمیت داشته باشند.

بنابراین Benchmark
باید تا حد امکان
به Algorithm واقعی
نزدیک باشد.

برای Data Analysis چه معیارهایی مهم هستند؟

Data Analysis
می تواند شامل:

  • Parsing،
  • Filtering،
  • Aggregation،
  • Compression،
  • Statistical Computing،
  • Database Operations،
  • و Visualization Preparation

باشد.

بعضی مراحل
CPU-Bound
و بعضی
Memory یا Storage-Bound
هستند.

به همین دلیل
CPU Benchmark
باید همراه با
شناخت Bottleneck
تفسیر شود.

Benchmark CPU در بازی چگونه باید تفسیر شود؟

Gaming Performance
نتیجه تعامل
چند بخش سیستم است.

از جمله:

  • CPU،
  • GPU،
  • RAM،
  • Game Engine،
  • Resolution،
  • Graphics Settings،
  • و Frame Rate Target.

بنابراین Benchmark بازی
فقط Benchmark CPU
نیست.

CPU-Limited در Gaming یعنی چه؟

اگر GPU
بتواند Frame بیشتری
تولید کند،
اما CPU
نتواند Work لازم
برای Frameهای بیشتر
را به موقع
آماده کند،
سیستم می تواند
CPU-Limited شود.

این وضعیت
بیشتر در:

  • Frame Rateهای بالا،
  • Resolution پایین تر،
  • Graphics Settings سبک تر،
  • و بازی های CPU-heavy

دیده می شود.

چرا اختلاف CPU در Resolution بالا ممکن است کمتر شود؟

اگر GPU
عامل محدود کننده
Frame Rate باشد،
CPU سریع تر
ممکن است نتواند
FPS را به مقدار زیادی
افزایش دهد.

Faster CPU
+
GPU Bottleneck
=
Small FPS Gain

بنابراین CPU Gaming Benchmark
باید شرایط Test
را نیز نشان دهد.

چرا Average FPS به تنهایی کافی نیست؟

Average FPS
فقط میانگین
تعداد Frameها
را نشان می دهد.

اما تجربه روان بودن
می تواند تحت تاثیر
Frame Time Variation
نیز باشد.

معیارهایی مانند:

1% Low

می توانند
اطلاعات بیشتری
درباره افت های Performance
ارائه دهند.

تحلیل کامل Gaming
البته به GPU
نیز وابسته است
و نباید فقط
به CPU نسبت داده شود.

برای Server چه Benchmarkی مهم است؟

Server
یک Workload واحد نیست.

ممکن است سیستم
برای:

  • Web Server،
  • Database،
  • Virtualization،
  • File Serving،
  • Compilation،
  • Scientific Computing،
  • یا Application Server

استفاده شود.

در Server
معمولاً علاوه بر
Raw Performance
باید:

  • Throughput،
  • Tail Latency،
  • Efficiency،
  • Scalability،
  • Reliability،
  • و Performance per Watt

نیز بررسی شوند.

Tail Latency چیست؟

Average Latency
ممکن است
رفتار کندترین Requestها
را پنهان کند.

در Serviceها
معیارهایی مانند:

P95
/
P99
/
P99.9

می توانند
نشان دهند
درصد کوچکی
از Requestها
چقدر کندتر
از حالت معمول
پاسخ داده می شوند.

برای Workstation چگونه CPU انتخاب کنیم؟

Workstation
معمولاً برای
Workflow حرفه ای
انتخاب می شود.

ممکن است کاربر
همزمان به:

  • Single-Thread Performance بالا،
  • Multi-Core Throughput بالا،
  • RAM زیاد،
  • GPU حرفه ای،
  • Storage سریع،
  • و Reliability

نیاز داشته باشد.

بنابراین Workstation
باید به صورت
یک سیستم کامل
ارزیابی شود،
نه فقط براساس CPU Score.

Multitasking چگونه انتخاب CPU را تغییر می دهد؟

Benchmark تک Application
ممکن است
شرایط واقعی کاربر
را نشان ندهد.

ممکن است کاربر
همزمان:

  • IDE،
  • Browser،
  • Database،
  • Virtual Machine،
  • Communication App،
  • و Background Build

اجرا کند.

در چنین شرایطی
Core Count،
RAM Capacity
و Scheduler Behavior
اهمیت بیشتری پیدا می کنند.

Performance per Watt چیست؟

Raw Performance
تنها معیار
ارزش یک Processor
نیست.

می توان بررسی کرد
CPU به ازای
توان مصرفی مشخص
چه مقدار Performance
تولید می کند.

Performance per Watt
=
Performance
/
Power

این معیار
در:

  • لپ تاپ،
  • Mini PC،
  • Server،
  • سیستم های همیشه روشن،
  • و محیط های محدود از نظر Cooling

اهمیت زیادی دارد.

آیا سریع ترین CPU بهترین CPU لپ تاپ است؟

نه لزوماً.

در لپ تاپ
علاوه بر Performance
باید:

  • Battery Life،
  • Heat،
  • Noise،
  • Weight،
  • Sustained Performance،
  • و Performance on Battery

نیز بررسی شوند.

Processor سریع تر
ممکن است برای کاربری خاص
ارزش کاهش Battery Life
یا افزایش Noise
را نداشته باشد.

Performance per Price چیست؟

هنگام خرید
فقط Performance مطلق
مهم نیست.

باید دید
برای افزایش Performance
چه مقدار هزینه
پرداخت می شود.

Value
≈
Useful Performance
/
Total Cost

نکته مهم این است
که Performance
باید برای Workload
مورد نظر
«مفید» باشد.

پرداخت هزینه
برای Multi-Core Performance
بسیار بالا
برای کاربری که
هیچ وقت از آن
استفاده نمی کند،
Value بالایی ایجاد نمی کند.

آیا CPU جدیدتر همیشه انتخاب بهتری است؟

نسل جدیدتر
معمولاً می تواند
مزایایی در:

  • Architecture،
  • Efficiency،
  • Instruction Support،
  • Platform Features،
  • و Performance

داشته باشد.

اما برای تصمیم خرید
باید:

  • Performance واقعی،
  • قیمت،
  • وضعیت دستگاه،
  • قابلیت ارتقا،
  • مصرف انرژی،
  • و نیاز کاربر

نیز بررسی شوند.

Benchmark در خرید سیستم استوک چه کاربردی دارد؟

در سیستم استوک
نباید فقط
نام Processor
را بررسی کرد.

باید Performance
در Context
کل دستگاه
دیده شود.

برای مثال:

  • Cooling سالم است؟
  • CPU زیر بار طولانی Performance را حفظ می کند؟
  • RAM کافی و مناسب وجود دارد؟
  • Storage مناسب نصب شده است؟
  • Power Adapter مناسب است؟
  • Firmware محدودیت غیرعادی ایجاد نمی کند؟

این موضوع
در لپ تاپ،
Workstation،
All-in-One
و کامپیوتر استوک
اهمیت دارد.

چرا Benchmark CPU باید همراه با Bottleneck Analysis باشد؟

اگر Application
توسط GPU
محدود شده باشد،
CPU سریع تر
ممکن است
Improvement کمی
ایجاد کند.

اگر Workload
Memory-Bound باشد،
افزایش Raw Compute
الزاماً به همان نسبت
Performance را بالا نمی برد.

اگر Storage
عامل محدود کننده باشد،
CPU قوی تر
ممکن است بیشتر
منتظر Data بماند.

Performance Gain
Depends on
the Actual Bottleneck

برای هر کاربری به چه نوع Performance بیشتر توجه کنیم؟

کاربری معیارهای مهم تر Benchmark مناسب تر
کاربری روزمره Responsiveness + Performance متعادل Application و Productivity Test
اداری Single-Thread مناسب + Multitasking Office / Browser / Productivity
Spreadsheet سنگین Single-Thread + Multi-Core بسته به Calculation Engine Workbook واقعی
برنامه نویسی Single-Core + Multi-Core + Multitasking Compile + IDE Workflow
Virtualization Core Count + Sustained Throughput VM / Container Workload
CAD Modeling Performance قوی Thread اصلی Real CAD Workflow
BIM Single-Thread + Mixed Workload Project-Based Benchmark
CPU Rendering Sustained Multi-Core Performance Real Render Scene
Video Encoding Throughput + Encoder Path Real Encode Test
Simulation وابسته به Solver Actual Simulation Workload
Gaming CPU Game Performance + Frame Time Game Benchmark در شرایط CPU-Limited
Server Throughput + Tail Latency + Efficiency Service-Specific Benchmark
Workstation ترکیب Single و Multi-Core Application-Specific Benchmark Suite

مدل اصولی انتخاب CPU براساس Benchmark

  1. کاربری اصلی را مشخص کنید.
  2. Operationهای پرتکرار را مشخص کنید.
  3. مشخص کنید Workload بیشتر Latency-Sensitive است یا Throughput-Sensitive.
  4. بررسی کنید Software چقدر Multi-Threaded است.
  5. Benchmark مرتبط با همان Application پیدا کنید.
  6. Single-Core و Multi-Core را جدا بررسی کنید.
  7. Peak و Sustained Performance را از هم جدا کنید.
  8. در لپ تاپ، Power و Cooling دستگاه را بررسی کنید.
  9. RAM، Storage و GPU را به عنوان Bottleneck احتمالی بررسی کنید.
  10. اختلاف Performance را با اختلاف قیمت مقایسه کنید.
  11. Performance per Watt را در سیستم های قابل حمل یا همیشه روشن بررسی کنید.
  12. فقط اختلاف های بزرگ تر از Noise Benchmark را جدی تفسیر کنید.
  13. نتایج چند Workload مرتبط را با هم بررسی کنید.
  14. از یک Score کلی برای تصمیم نهایی استفاده نکنید.

مثال: دو CPU با رفتار متفاوت

فرض کنید:

ویژگی CPU A CPU B
Single-Core بالاتر پایین تر
Multi-Core متوسط بالاتر
Core Count کمتر بیشتر
مصرف انرژی کمتر بیشتر

برای کاربری
Interactive و سبک،
CPU A
ممکن است انتخاب
بسیار مناسبی باشد.

برای Rendering طولانی،
CPU B
ممکن است
Work را سریع تر
تمام کند.

بنابراین سؤال:

Which CPU Is Better?

بدون مشخص کردن
Workload
ناقص است.

زیرساخت فنی — چرا یک CPU در یک برنامه سریع و در برنامه دیگر کندتر است؟

هر Workload
ترکیب متفاوتی
از Instructionها
و Data Accessها
ایجاد می کند.

یک Workload
ممکن است
به Branch Prediction
حساس باشد.

Workload دیگر
ممکن است
بیشتر به Cache
وابسته باشد.

Workload دیگری
ممکن است
Vector Execution
زیادی داشته باشد.

برنامه ای دیگر
ممکن است
به Memory Bandwidth
محدود شود.

Workload
↓
Instruction Mix
+
Branch Behavior
+
Data Access Pattern
+
Thread Scaling
↓
Microarchitecture Interaction
↓
Observed Performance

بنابراین Performance
ویژگی ثابت
و مستقل
از Workload
نیست.

Benchmark
در واقع
تعامل میان:

Hardware
×
Software
×
Workload
×
System Configuration

را اندازه گیری می کند.

نکته مهندسی — Benchmark باید سؤال را پاسخ دهد، نه اینکه سؤال را تعیین کند

اشتباه رایج این است
که ابتدا Benchmark
مورد علاقه خود را
انتخاب کنیم
و سپس براساس آن
تصمیم بگیریم.

مسیر درست برعکس است.

ابتدا سؤال:

What Do I Need to Measure?

سپس Benchmark:

Which Test Measures It Best?

تاثیر بر عملکرد — اختلاف بزرگ در Benchmark نامرتبط ممکن است در استفاده شما هیچ اهمیتی نداشته باشد

فرض کنید CPU B
در Multi-Core Rendering
حدود 40 درصد
سریع تر از CPU A
باشد.

اما کاربر
هیچ Rendering
انجام نمی دهد
و بیشتر با:

  • Browser،
  • Office،
  • Accounting Software،
  • و Applicationهای سبک

کار می کند.

در این حالت
آن 40 درصد برتری
ممکن است
تاثیر بسیار کمی
روی تجربه واقعی
کاربر داشته باشد.

بنابراین:

Benchmark Advantage
≠
User Benefit

مگر اینکه Benchmark
با Workload کاربر
مرتبط باشد.

اشتباهات رایج — Common Mistakes در تفسیر Benchmark CPU
  • انتخاب CPU فقط براساس یک Score کلی.
  • فرض اینکه Core بیشتر همیشه بهتر است.
  • نادیده گرفتن Single-Thread Performance.
  • نادیده گرفتن Multi-Core Scaling.
  • استفاده از Rendering Benchmark برای پیش بینی Office Performance.
  • استفاده از Synthetic Score به عنوان نماینده همه Applicationها.
  • نادیده گرفتن Sustained Performance در Workload طولانی.
  • مقایسه لپ تاپ ها فقط براساس نام CPU.
  • نادیده گرفتن Power Limit و Cooling.
  • نادیده گرفتن RAM، Storage و GPU.
  • فرض اینکه نام یک Software برای تعیین CPU مناسب کافی است.
  • نادیده گرفتن نوع Operation داخل Software.
  • تفسیر Average FPS بدون بررسی Frame Time.
  • مقایسه Gaming CPU در شرایط GPU-Limited.
  • نادیده گرفتن Multitasking واقعی کاربر.
  • پرداخت هزینه زیاد برای Performanceی که استفاده نمی شود.
  • نادیده گرفتن Performance per Watt.
  • نادیده گرفتن قیمت کل Platform.
  • فرض اینکه جدیدترین CPU همیشه بهترین Value را دارد.
  • نادیده گرفتن وضعیت Cooling در سیستم استوک.
  • تبدیل اختلاف کوچک Benchmark به ادعای بزرگ درباره تجربه واقعی.

سوالات متداول درباره انتخاب CPU براساس Benchmark

برای خرید CPU فقط Single-Core و Multi-Core Score کافی است؟

خیر.
این دو معیار مفیدند،
اما Benchmark
Application واقعی،
Power،
Cooling،
قیمت
و سایر Bottleneckهای سیستم
نیز باید بررسی شوند.

برای کار اداری Core بیشتر بهتر است؟

تا حدی Core کافی
برای Multitasking مفید است،
اما بعد از یک نقطه
Coreهای بیشتر
ممکن است تاثیر کمی
روی تجربه معمول اداری
داشته باشند.

برای Rendering چه چیزی مهم تر است؟

در CPU Rendering
معمولاً Sustained Multi-Core Performance
اهمیت زیادی دارد،
اما رفتار دقیق
به Render Engine
وابسته است.

برای AutoCAD فقط Single-Core مهم است؟

خیر.
بسیاری از عملیات Interactive
به Performance تعداد محدودی Thread
حساس هستند،
اما سایر Operationها
می توانند رفتار متفاوتی داشته باشند.

برای برنامه نویسی Core بیشتر بهتر است؟

برای Compilation موازی،
Virtualization
و Multitasking
Core بیشتر می تواند مفید باشد،
اما Performance هر Core
نیز همچنان اهمیت دارد.

آیا CPU با Multi-Core Score بالاتر برای بازی بهتر است؟

نه لزوماً.
Gaming Performance
به Game Engine،
GPU،
Frame Rate Target
و رفتار Threadهای بازی
وابسته است.

برای لپ تاپ Benchmark خود CPU را ببینیم یا مدل لپ تاپ را؟

بهتر است Benchmark
همان دستگاه یا دستگاهی
با Power و Cooling مشابه
بررسی شود،
زیرا یک CPU
در لپ تاپ های مختلف
می تواند Performance متفاوتی داشته باشد.

Performance per Watt برای چه کسی مهم است؟

برای لپ تاپ،
Mini PC،
Server،
سیستم همیشه روشن
و محیط های محدود
از نظر Cooling
اهمیت بیشتری دارد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Single-Thread Performance: عملکرد سیستم در اجرای Work متکی به یک Thread یا تعداد محدودی Thread.
  • Multi-Core Performance: Performance حاصل از استفاده همزمان از چند Core.
  • Latency: زمان لازم برای تکمیل یک Operation.
  • Throughput: مقدار Work انجام شده در واحد زمان.
  • Responsiveness: سرعت واکنش سیستم به درخواست یا Interaction کاربر.
  • CPU-Limited: حالتی که CPU عامل اصلی محدود کننده Performance است.
  • GPU-Limited: حالتی که GPU عامل اصلی محدود کننده Performance است.
  • Frame Time: زمان لازم برای تولید یا نمایش یک Frame.
  • Tail Latency: Latency مربوط به کندترین بخش Distribution درخواست ها.
  • Performance per Watt: مقدار Performance نسبت به Power Consumption.
  • Performance per Price: Performance مفید نسبت به هزینه پرداخت شده.
  • Application-Specific Benchmark: Benchmark طراحی شده حول Application یا Workflow مشخص.

خلاصه فصل

هیچ Benchmark واحدی
نمی تواند
تمام ابعاد Performance
یک Processor
را نشان دهد.

CPU مناسب
باید براساس
Workload واقعی
انتخاب شود.

Single-Thread Performance
در بعضی Workloadهای
Interactive و Serial
اهمیت زیادی دارد.

Multi-Core Performance
در Workloadهای
قابل Parallelization
مانند بسیاری از
Renderingها
و بعضی Compilationها
اهمیت بیشتری پیدا می کند.

در عین حال
CPU بخشی از
یک سیستم کامل است.

RAM،
Storage،
GPU،
Cooling،
Power
و Software
می توانند Performance نهایی
را محدود کنند.

User Workload
→
Important Operations
→
Relevant Metric
→
Relevant Benchmark
→
Platform Context
→
Price / Efficiency
→
CPU Choice


CPU بهتر پردازنده ای نیست که در بیشترین نمودارها اول باشد؛
پردازنده ای است که در کارهای واقعی کاربر، با هزینه و مصرف منطقی،
Performance مورد نیاز را فراهم کند.


فصل 105
سطح: متوسط تا پیشرفته
موضوع: بهره وری انرژی پردازنده
تمرکز: Performance / Power / Energy / Voltage / Frequency / Heat / Efficiency


Performance بیشتر زمانی ارزشمندتر است که هزینه انرژی و حرارتی آن را نیز بدانیم

Performance per Watt چیست و چرا بهره وری انرژی CPU اهمیت دارد؟

دو پردازنده ممکن است
Performance تقریباً مشابهی داشته باشند،
اما یکی برای رسیدن
به همان سطح Performance
توان بسیار کمتری مصرف کند.

در این حالت
فقط مقایسه Score
تصویر کاملی
از کیفیت طراحی
و رفتار واقعی سیستم
ارائه نمی دهد.

Performance
≠
Efficiency

برای تحلیل کامل تر
باید Performance،
Power،
Energy،
Temperature
و زمان انجام کار
را کنار یکدیگر دید.

در این فصل چه چیزهایی یاد می گیریم؟

  • Performance per Watt چیست.
  • Power و Energy چه تفاوتی دارند.
  • توان الکتریکی چگونه محاسبه می شود.
  • Voltage و Current چه نقشی دارند.
  • چرا افزایش Frequency معمولاً رایگان نیست.
  • رابطه تقریبی Voltage، Frequency و Dynamic Power چیست.
  • چرا افزایش Voltage می تواند مصرف را شدیدتر افزایش دهد.
  • Dynamic Power و Static Power چه تفاوتی دارند.
  • Leakage چیست.
  • چرا Temperature می تواند روی مصرف اثر بگذارد.
  • Energy per Task چیست.
  • Race to Idle چیست.
  • چرا سریع تر تمام کردن یک Task همیشه پرمصرف تر نیست.
  • Efficiency Curve چیست.
  • چرا CPU در بالاترین Frequency معمولاً بهترین Efficiency را ندارد.
  • Undervolting و Power Limiting از نظر مفهومی چه هستند.
  • چرا Efficiency در لپ تاپ، دسکتاپ و سرور اهمیت متفاوتی دارد.

Performance per Watt چیست؟


عملکرد به ازای توان — Performance per Watt

Performance per Watt
نسبت مقدار Performance
تولید شده
به Power مصرفی است.

Performance per Watt
=
Performance
/
Power

هرچه سیستم
با Power کمتر
Performance بیشتری
تولید کند،
از این دیدگاه
Efficientتر است.

Power و Energy چه تفاوتی دارند؟

این دو مفهوم
بسیار به هم مرتبط اند،
اما یکسان نیستند.

Power
نرخ مصرف یا انتقال Energy
در یک لحظه است.

Energy
مقدار کل انرژی
مصرف شده
طی یک بازه زمانی است.

Power
=
Energy / Time

در حالت ساده
اگر Power تقریباً ثابت باشد:

Energy
=
Power × Time

Watt چه چیزی را نشان می دهد؟

Watt
واحد Power است.

1 Watt
=
1 Joule / Second

یعنی دستگاهی
که در یک لحظه
50 Watt مصرف می کند،
با نرخ تقریبی
50 Joule در هر ثانیه
Energy مصرف می کند.

رابطه Voltage، Current و Power چیست؟

در شکل پایه:

P
=
V × I

که در آن:

  • P برابر Power،
  • V برابر Voltage،
  • I برابر Current است.

اما برای فهم مصرف
مدارهای دیجیتال CMOS
باید رفتار Switching
ترانزیستورها
را نیز در نظر گرفت.

Dynamic Power چیست؟

بخش مهمی
از مصرف CPU
هنگام Switching
ترانزیستورها ایجاد می شود.

یک مدل ساده شده
برای Dynamic Power:

Pdynamic
≈
α × C × V² × f

است.

در این رابطه:

  • α میزان Switching Activity،
  • C Effective Capacitance،
  • V Supply Voltage،
  • f Clock Frequency است.

چرا Voltage اهمیت بسیار زیادی دارد؟

در مدل ساده Dynamic Power،
Voltage
به صورت مربع
وارد رابطه می شود.

Pdynamic
∝
V²

بنابراین افزایش Voltage
می تواند اثر قابل توجهی
روی Power
داشته باشد.

مشکل مهم تر این است
که برای رسیدن
به Frequencyهای بالاتر
ممکن است CPU
به Voltage بیشتری
نیاز داشته باشد.

در نتیجه افزایش Frequency
می تواند همزمان
با افزایش Voltage
همراه شود.

افزایش Frequency چگونه مصرف را تغییر می دهد؟

اگر سایر عوامل
ثابت فرض شوند،
Dynamic Power
تقریباً با Frequency
افزایش پیدا می کند.

Pdynamic
∝
f

اما در CPU واقعی،
برای رسیدن
به Clock بالاتر
معمولاً ممکن است
Voltage نیز افزایش یابد.

به همین دلیل
افزایش Power
می تواند بسیار بیشتر
از افزایش Performance باشد.

یک مثال ساده از هزینه افزایش Frequency

فرض کنیم
یک حالت کاری
از:

1.0 V
@
4.0 GHz

به:

1.1 V
@
4.4 GHz

تغییر کند.

اگر فقط
بخش:

V² × f

را مقایسه کنیم:

State A
=
1.0² × 4.0
=
4.0

State B
=
1.1² × 4.4
≈
5.32

در این مثال ساده،
Frequency حدود 10 درصد
افزایش یافته،
اما عامل تقریبی
Dynamic Power
حدود 33 درصد
افزایش پیدا کرده است.

این یک مدل آموزشی
ساده شده است
و Power واقعی CPU
به عوامل بیشتری
وابسته است.

Diminishing Returns در CPU چیست؟

در بسیاری از Processorها
نزدیک شدن
به بالاترین Frequency
هزینه Power بیشتری
برای هر واحد
Performance اضافه
ایجاد می کند.

ممکن است:

+10% Performance

نیازمند:

+25%
/
+35%
/
or More Power

باشد.

مقدار دقیق
به Architecture،
Silicon،
Workload
و Operating Point
وابسته است.

Efficiency Curve چیست؟

CPU در تمام
Frequencyها و Power Levelها
Efficiency یکسانی ندارد.

معمولاً یک محدوده
وجود دارد
که Processor
نسبت بسیار مناسبی
میان:

Performance
/
Power

ارائه می کند.

حرکت به سمت
Maximum Frequency
ممکن است Performance
را افزایش دهد،
اما Efficiency
را کاهش دهد.

Efficiency Sweet Spot چیست؟

Sweet Spot
محدوده ای از
Operating Point است
که CPU
Performance مناسبی
با Power نسبتاً منطقی
ارائه می دهد.

این نقطه
الزاماً Maximum Performance
نیست.

Maximum Performance Point
≠
Maximum Efficiency Point

Static Power چیست؟

حتی اگر
Transistorها دائماً
Switching نکنند،
مدار واقعی
می تواند مقداری
Power مصرف کند.

یکی از دلایل
این مصرف
Leakage Current
است.

به این بخش
معمولاً Static Power
یا Leakage-related Power
گفته می شود.

Leakage چیست؟

Transistor واقعی
یک Switch ایده آل
نیست.

حتی در حالت هایی
که نباید مسیر اصلی
Current فعال باشد،
جریان های کوچکی
می توانند وجود داشته باشند.

مجموع این جریان ها
در تراشه ای
با تعداد بسیار زیادی
Transistor
می تواند قابل توجه باشد.

چرا Temperature می تواند مصرف را بیشتر کند؟

Leakage Current
می تواند
به Temperature
حساس باشد.

در شرایط خاص،
افزایش Temperature
می تواند Leakage
را افزایش دهد.

افزایش Power
نیز Heat بیشتری
تولید می کند.

بنابراین رابطه ای
میان:

Power
↔
Temperature
↔
Leakage

وجود دارد.

کنترل این رفتار
یکی از وظایف مهم
Power Management
و Thermal Management
است.

آیا تمام Power مصرفی CPU به گرما تبدیل می شود؟

از دید طراحی حرارتی سیستم،
تقریباً تمام Energy
مصرف شده توسط Processor
در نهایت باید
به صورت Heat
از سیستم دفع شود.

به همین دلیل
افزایش Power
مستقیماً فشار بیشتری
بر Cooling System
وارد می کند.

Energy per Task چیست؟

فقط Power لحظه ای
مهم نیست.

باید دید
CPU برای تمام کردن
یک Task
در مجموع
چه مقدار Energy
مصرف کرده است.

Energy per Task
=
Average Power During Task
×
Execution Time

بنابراین CPU
با Power بیشتر
ممکن است اگر Task
را بسیار سریع تر
تمام کند،
الزاماً Energy بیشتری
مصرف نکند.

مثال: Power بیشتر ولی Energy کمتر

فرض کنیم CPU A:

50 W × 100 s
=
5000 J

و CPU B:

70 W × 60 s
=
4200 J

CPU B
Power بیشتری
هنگام اجرا مصرف کرده،
اما چون Task
را سریع تر
تمام کرده است،
Energy کل آن
در این مثال
کمتر است.

بنابراین:

Higher Power
≠
Always Higher Energy per Task

Race to Idle چیست؟

Race to Idle
به این ایده اشاره دارد
که Processor
Task را سریع انجام دهد
و سپس زودتر
وارد حالت کم مصرف شود.

High Performance
→
Finish Work Earlier
→
Enter Low-Power State Earlier

این روش
در بعضی Workloadها
می تواند Energy
را کاهش دهد.

اما همیشه
بهترین راه نیست،
زیرا افزایش شدید
Voltage و Frequency
ممکن است هزینه Energy
زیادی داشته باشد.

چرا Idle Power مهم است؟

بسیاری از سیستم ها
بخش زیادی از زمان
در Full Load
نیستند.

لپ تاپ اداری،
کامپیوتر خانگی،
Server
و سیستم های همیشه روشن
ممکن است مدت زیادی
در Load پایین
یا Idle باشند.

بنابراین Efficiency
فقط در 100 درصد Load
نباید اندازه گیری شود.

Power Stateها چگونه Efficiency را افزایش می دهند؟

Processor مدرن
می تواند براساس Load
بخش هایی از تراشه
را در حالت های
کم مصرف تر قرار دهد.

همچنین Frequency
و Voltage
می توانند Dynamic
تغییر کنند.

هدف این است
که CPU
فقط زمانی
Power بالا مصرف کند
که واقعاً
به Performance
نیاز وجود دارد.

DVFS چیست؟


تنظیم پویا ولتاژ و فرکانس — Dynamic Voltage and Frequency Scaling

DVFS
مکانیزمی است
که به Processor
اجازه می دهد
Voltage و Frequency
را براساس شرایط کاری
تغییر دهد.

هنگام Load سبک،
Frequency و Voltage
می توانند کاهش یابند.

هنگام نیاز
به Performance بیشتر،
Operating Point
می تواند افزایش یابد.

Power Gating چیست؟

اگر بخشی
از Processor
مورد استفاده نباشد،
طراحی می تواند
مصرف آن بخش
را تا حد زیادی
کاهش دهد.

Power Gating
یکی از تکنیک های
کاهش Leakage
در بخش های غیرفعال است.

Clock Gating چیست؟

اگر یک بخش
در لحظه
نیازی به فعالیت نداشته باشد،
می توان Clock
آن بخش را
متوقف یا محدود کرد.

این کار
Switching Activity
را کاهش می دهد
و در نتیجه
Dynamic Power
کمتر می شود.

Clock Gating و Power Gating چه تفاوتی دارند؟

ویژگی Clock Gating Power Gating
هدف اصلی کاهش Switching کاهش Leakage و مصرف بخش غیرفعال
Clock متوقف یا محدود می شود ممکن است اهمیتی نداشته باشد
Power Supply بخش معمولاً برقرار است می تواند تا حد زیادی قطع شود
بازگشت به فعالیت معمولاً سریع تر ممکن است هزینه Wake-Up بیشتری داشته باشد

Undervolting چیست؟

Undervolting
به کاهش Voltage
عملیاتی CPU
نسبت به تنظیمات
مرجع یا پیش فرض
اشاره دارد.

در صورت پایداری
می تواند:

  • Power را کاهش دهد،
  • Heat را کاهش دهد،
  • Temperature را کاهش دهد،
  • و در بعضی شرایط Headroom حرارتی بیشتری ایجاد کند.

اما Voltage بیش از حد پایین
می تواند باعث:

  • Instability،
  • Crash،
  • Calculation Error،
  • یا Boot Failure

شود.

Power Limiting چگونه می تواند Efficiency را بهتر کند؟

اگر CPU
در بخش کم بازده
Efficiency Curve
فعالیت کند،
کاهش Power Limit
ممکن است Performance
را کمی کاهش دهد،
اما Power
و Heat
را به مقدار بیشتری
پایین بیاورد.

برای مثال ممکن است:

Performance
↓ 8%

ولی:

Power
↓ 25%

شود.

این اعداد
صرفاً مثال آموزشی هستند
و مقدار واقعی
به CPU و Workload
بستگی دارد.

چرا Efficiency در لپ تاپ بسیار مهم است؟

لپ تاپ
هم محدودیت Energy
و هم محدودیت Cooling
دارد.

Efficiency بهتر
می تواند به:

  • Battery Life بیشتر،
  • Heat کمتر،
  • Fan Noise کمتر،
  • Chassis خنک تر،
  • و Sustained Performance بهتر

کمک کند.

آیا Efficiency در Desktop هم مهم است؟

بله.

Desktop
محدودیت Battery ندارد،
اما Power بیشتر
همچنان می تواند
به معنی:

  • Heat بیشتر،
  • Cooling قوی تر،
  • Noise بیشتر،
  • مصرف برق بیشتر،
  • و فشار بیشتر روی Power Delivery

باشد.

چرا Efficiency در Workstation مهم است؟

Workstation
ممکن است ساعت ها
زیر Load سنگین
فعالیت کند.

در Rendering،
Simulation،
Compilation
یا پردازش حرفه ای،
تفاوت کوچک
در Efficiency
در طول زمان
می تواند
به تفاوت قابل توجه
در:

  • Energy Consumption،
  • Heat Output،
  • Cooling Requirement،
  • Noise،
  • و Operating Cost

تبدیل شود.

چرا Performance per Watt در Server بسیار مهم است؟

در Data Center
مصرف CPU
فقط هزینه برق
خود Processor نیست.

Heat تولید شده
باید توسط
Cooling Infrastructure
نیز دفع شود.

بنابراین Efficiency بهتر
می تواند همزمان:

  • Compute بیشتری در Power Budget مشخص ارائه دهد،
  • هزینه Energy را کاهش دهد،
  • Cooling Requirement را کاهش دهد،
  • و Density را افزایش دهد.

چرا Efficiency در Mini PC و All-in-One اهمیت دارد؟

این سیستم ها
معمولاً فضای Cooling
محدودتری
نسبت به Desktop Tower
دارند.

Processor Efficientتر
می تواند در همان
Thermal Envelope
Performance بیشتری
حفظ کند.

بنابراین این موضوع
فقط مخصوص لپ تاپ نیست.

آیا Performance per Watt مستقیماً Battery Life را مشخص می کند؟

نه.

Battery Life
به مصرف کل دستگاه
وابسته است.

بخش هایی مانند:

  • Display،
  • GPU،
  • Memory،
  • Storage،
  • Wireless،
  • Peripheralها،
  • و سایر مدارهای Platform

نیز Energy مصرف می کنند.

بنابراین CPU Efficiency
فقط یکی از عوامل
Battery Life
است.

آیا TDP همان مصرف برق CPU است؟

نه.

TDP
و Power Consumption
نباید به عنوان
دو مفهوم کاملاً یکسان
در نظر گرفته شوند.

تعریف دقیق TDP
می تواند براساس
سازنده و Platform
متفاوت باشد.

CPU در شرایط مختلف
ممکن است Power
کمتر یا بیشتری
نسبت به عدد اسمی
مصرف کند.

بنابراین برای تحلیل Efficiency
بهتر است Power واقعی
در Workload مورد نظر
اندازه گیری شود.

Package Power و System Power چه تفاوتی دارند؟

Package Power
معمولاً به Power
مربوط به Processor Package
یا محدوده ای
که Sensorهای آن
گزارش می کنند
اشاره دارد.

System Power
می تواند مصرف:

  • CPU،
  • Motherboard،
  • RAM،
  • Storage،
  • GPU،
  • Fanها،
  • و Power Supply Losses

را نیز شامل شود.

هنگام مقایسه
باید مشخص باشد
کدام Power
اندازه گیری شده است.

Benchmark بهره وری انرژی چگونه باید انجام شود؟

فقط ثبت
Maximum Power
کافی نیست.

بهتر است همزمان:

  • Performance،
  • Average Power،
  • Execution Time،
  • Total Energy،
  • Temperature،
  • و Sustained Behavior

بررسی شوند.

در این صورت
می توان فهمید
CPU فقط سریع است
یا واقعاً Efficient
نیز هست.

معیارهای مهم در تحلیل Efficiency پردازنده

معیار چه چیزی را نشان می دهد؟
Performance سرعت یا Throughput پردازنده
Power نرخ مصرف Energy در یک لحظه یا بازه
Energy مقدار کل انرژی مصرف شده
Performance per Watt Performance تولید شده نسبت به Power
Energy per Task Energy لازم برای تکمیل یک Workload
Temperature وضعیت حرارتی هنگام اجرای Workload
Sustained Performance Performance قابل حفظ در Load طولانی
Idle Power مصرف سیستم هنگام فعالیت بسیار کم

زیرساخت فنی — چرا آخرین چند درصد Performance می تواند بسیار گران تمام شود؟

برای افزایش Frequency،
Critical Pathهای مدار
باید در زمان کوتاه تری
نتیجه صحیح تولید کنند.

در بعضی Operating Pointها
برای حفظ Stability
ممکن است Voltage
نیز افزایش یابد.

افزایش Voltage
Dynamic Power
را شدیدتر افزایش می دهد.

Power بیشتر
Heat بیشتری
ایجاد می کند.

Temperature بالاتر
می تواند Leakage
را نیز افزایش دهد.

Higher Frequency
↓
Possible Higher Voltage
↓
Higher Dynamic Power
↓
More Heat
↓
Higher Cooling Demand
+
Possible Higher Leakage

به همین دلیل
نزدیک Maximum Frequency
ممکن است برای
مقدار نسبتاً کمی
Performance اضافه،
Power بسیار بیشتری
لازم باشد.

نکته مهندسی — سریع ترین تنظیم CPU الزاماً بهترین تنظیم آن نیست

اگر یک Processor
با 100 Watt
Performance برابر 100
تولید کند،
Performance per Watt آن:

100 / 100
=
1.0

است.

اگر با افزایش Power
به 150 Watt
Performance به 110 برسد:

110 / 150
≈
0.73

Performance مطلق
بیشتر شده،
اما Efficiency
کاهش پیدا کرده است.

Higher Performance
Can Coexist With
Lower Efficiency

تاثیر بر عملکرد — Efficiency بهتر می تواند Sustained Performance را افزایش دهد

در سیستم
با Cooling محدود،
Processor پرمصرف تر
ممکن است در ابتدا
Performance بالاتری
ارائه کند.

اما با افزایش Temperature
ممکن است مجبور شود
Frequency را کاهش دهد.

CPU Efficientتر
می تواند با Heat کمتر
Performance خود را
مدت بیشتری
حفظ کند.

Better Efficiency
→
Less Heat
→
More Thermal Headroom
→
Better Sustained Performance

این مسئله
به خصوص در:

  • لپ تاپ،
  • Mini PC،
  • All-in-One،
  • سیستم های کوچک،
  • و Workstationهای متراکم

اهمیت زیادی دارد.

اشتباهات رایج — Common Mistakes در تحلیل مصرف و Efficiency CPU
  • یکسان دانستن Power و Energy.
  • فرض اینکه CPU با Watt بیشتر الزاماً Energy بیشتری برای هر Task مصرف می کند.
  • یکسان دانستن TDP با مصرف واقعی CPU.
  • مقایسه Package Power با System Power بدون توضیح.
  • نادیده گرفتن Execution Time هنگام محاسبه Energy.
  • بررسی فقط Maximum Power.
  • نادیده گرفتن Idle Power.
  • فرض اینکه Maximum Frequency بهترین Efficiency را دارد.
  • نادیده گرفتن اثر Voltage بر Dynamic Power.
  • نادیده گرفتن Leakage.
  • نادیده گرفتن Temperature در تحلیل Power.
  • بررسی Performance per Watt بدون Workload یکسان.
  • مقایسه Power دو CPU با Performance کاملاً متفاوت بدون Context.
  • نادیده گرفتن Cooling Cost در سیستم های پرمصرف.
  • فرض اینکه Efficiency فقط برای لپ تاپ مهم است.
  • نادیده گرفتن Efficiency در Server و Workstation.
  • فرض اینکه Battery Life فقط توسط CPU تعیین می شود.
  • Undervolting بدون بررسی Stability.
  • Power Limiting بدون اندازه گیری Performance Loss.
  • تمرکز روی Peak Performance و نادیده گرفتن Sustained Efficiency.

سوالات متداول درباره مصرف انرژی و بهره وری CPU

Performance per Watt یعنی چه؟

یعنی مقدار Performance
تولید شده
نسبت به Power مصرفی.

Power و Energy یکی هستند؟

خیر.
Power نرخ مصرف Energy است،
در حالی که Energy
مقدار کل انرژی مصرف شده
طی زمان است.

آیا CPU با مصرف 100 وات همیشه از CPU با مصرف 60 وات انرژی بیشتری مصرف می کند؟

نه لزوماً.
اگر CPU پرمصرف تر
Task را بسیار سریع تر
تمام کند،
Energy per Task
ممکن است حتی کمتر باشد.

چرا افزایش Voltage مصرف را زیاد می کند؟

در مدل ساده
Dynamic Power،
مصرف تقریباً
با مربع Voltage
رابطه دارد.

آیا TDP همان مصرف CPU است؟

خیر.
TDP یک مشخصه طراحی حرارتی
با تعریف وابسته به سازنده است
و نباید مستقیماً
معادل Power واقعی
در تمام Workloadها
در نظر گرفته شود.

Undervolting چه فایده ای دارد؟

در صورت پایداری
می تواند Power
و Heat را کاهش دهد،
اما تنظیم نامناسب
می تواند Instability
ایجاد کند.

آیا محدود کردن Power همیشه Performance را شدیداً کاهش می دهد؟

خیر.
بسته به Efficiency Curve،
گاهی کاهش قابل توجه Power
با افت Performance
نسبتاً کوچک همراه است.

چرا CPU Efficientتر برای لپ تاپ بهتر است؟

چون می تواند
Battery Life،
Heat،
Noise
و Sustained Performance
را بهبود دهد.

واژه های جدید این فصل برای واژه نامه نهایی کتاب

  • Performance per Watt: Performance تولید شده نسبت به Power مصرفی.
  • Power: نرخ انتقال یا مصرف Energy.
  • Energy: مقدار کل انرژی مصرف شده طی زمان.
  • Watt: واحد Power برابر یک Joule بر ثانیه.
  • Joule: واحد Energy.
  • Dynamic Power: بخشی از مصرف ناشی از Switching مدار.
  • Static Power: مصرفی که بدون Switching فعال نیز می تواند وجود داشته باشد.
  • Leakage: جریان های ناخواسته یا اجتناب ناپذیر در Transistor واقعی.
  • DVFS: تنظیم پویا Voltage و Frequency براساس شرایط کاری.
  • Clock Gating: کاهش Switching با متوقف کردن Clock بخش های غیرفعال.
  • Power Gating: کاهش مصرف بخش غیرفعال با محدود یا قطع کردن Supply آن.
  • Energy per Task: Energy کل لازم برای تکمیل یک Workload.
  • Race to Idle: تکمیل سریع Work و ورود زودتر به حالت کم مصرف.
  • Efficiency Curve: تغییر Efficiency در Operating Pointهای مختلف CPU.
  • Efficiency Sweet Spot: محدوده ای با نسبت مناسب Performance به Power.
  • Undervolting: کاهش Voltage عملیاتی با هدف کاهش Power و Heat.
  • Power Limiting: محدود کردن Power Budget پردازنده.

خلاصه فصل

Performance
تنها معیار
ارزیابی Processor
نیست.

CPU Efficientتر
می تواند Performance مشابه
را با Power کمتر
ارائه کند.

Dynamic Power
به صورت ساده شده
به Switching Activity،
Capacitance،
Voltage
و Frequency
وابسته است.

Pdynamic
≈
α × C × V² × f

افزایش Frequency
به خصوص زمانی
که با افزایش Voltage
همراه شود،
می تواند Power
را بسیار سریع تر
از Performance
افزایش دهد.

از سوی دیگر،
فقط Power لحظه ای
کافی نیست.

برای تحلیل کامل
باید Energy per Task
را نیز بررسی کرد.

Energy
=
Power × Time

Efficiency بهتر
می تواند به:

  • Heat کمتر،
  • Noise کمتر،
  • Battery Life بهتر،
  • Sustained Performance بهتر،
  • Cooling ساده تر،
  • و Operating Cost کمتر

کمک کند.

Architecture
+
Voltage
+
Frequency
+
Workload
+
Power Management
+
Cooling
→
Real Energy Efficiency


پردازنده بهینه الزاماً پردازنده ای نیست که بیشترین Performance
را تولید کند؛ بلکه پردازنده ای است که Performance مورد نیاز را
با هزینه انرژی و حرارتی منطقی تری ارائه دهد.


فصل 106
سطح: پیشرفته
موضوع: تفاوت ذاتی تراشه ها و دسته بندی سیلیکون
تمرکز: Wafer / Die / Process Variation / Yield / Binning / Voltage / Frequency


دو CPU با نام و مدل یکسان می توانند از نظر الکتریکی کاملاً یکسان نباشند

Silicon Binning چیست و چرا تراشه های یک مدل دقیقاً یکسان نیستند؟

وقتی میلیون ها یا میلیاردها
Transistor روی Silicon
ساخته می شوند،
تمام تراشه های تولید شده
دقیقاً رفتار الکتریکی
یکسانی ندارند.

اختلاف های بسیار کوچک
در فرایند ساخت
می توانند باعث شوند
یک Die برای رسیدن
به Frequency مشخص
Voltage کمتری نیاز داشته باشد،
در حالی که Die دیگری
برای همان Frequency
به Voltage بیشتری نیاز داشته باشد.

Same CPU Model
≠
Electrically Identical Silicon

سازندگان با آزمایش
و دسته بندی تراشه ها،
مشخص می کنند
هر Die برای چه محصول،
Frequency،
Power Envelope
یا Configuration
مناسب است.

این فرایند
Silicon Binning
نامیده می شود.

در این فصل چه چیزهایی یاد می گیریم؟

  • Wafer و Die چه هستند.
  • چرا تمام Dieهای یک Wafer دقیقاً یکسان نیستند.
  • Process Variation چیست.
  • Yield چیست و چرا اهمیت دارد.
  • Silicon Binning چیست.
  • Frequency Binning چگونه انجام می شود.
  • Voltage Binning چیست.
  • Power و Thermal Binning چه مفهومی دارند.
  • چرا بعضی تراشه ها Frequency بالاتر را با Voltage کمتر حفظ می کنند.
  • Silicon Lottery به چه معناست.
  • چرا دو CPU یکسان می توانند Temperature متفاوت داشته باشند.
  • چرا تفاوت Silicon نباید با تفاوت Cooling اشتباه گرفته شود.
  • Defect چگونه می تواند روی دسته بندی محصول اثر بگذارد.
  • چگونه بخش های معیوب یک Die ممکن است غیرفعال شوند.
  • Harvesting چیست.
  • چرا یک Die Design می تواند در چند مدل CPU استفاده شود.
  • چرا Binning برای لپ تاپ و Server نیز مهم است.
  • چگونه رفتار واقعی CPU استوک را بدون حدس درباره کیفیت Silicon ارزیابی کنیم.

Wafer چیست؟

پردازنده ها
به صورت جداگانه
از ابتدا ساخته نمی شوند.

تعداد زیادی
Circuit
روی یک صفحه
Silicon
ساخته می شوند.

این صفحه
Wafer نام دارد.

Silicon Wafer
→
Many Dies
→
Testing
→
Packaging
→
Finished Processors

Die چیست؟

پس از ساخت
مدارهای متعدد
روی Wafer،
Wafer به قطعات
جداگانه تقسیم می شود.

هر قطعه سیلیکونی
که شامل مدار
یک تراشه است
Die نامیده می شود.

البته در Processorهای مدرن،
یک Package
ممکن است بیش از یک Die
یا چند Chiplet
داشته باشد.

چرا تمام Dieها دقیقاً یکسان نیستند؟

Semiconductor Manufacturing
در ابعاد بسیار کوچک
انجام می شود.

حتی با کنترل بسیار دقیق،
Variationهای کوچک
در فرایند ساخت
اجتناب ناپذیر هستند.

این اختلاف ها
می توانند روی ویژگی هایی مانند:

  • Transistor Switching Speed،
  • Leakage Current،
  • Voltage Requirement،
  • Maximum Stable Frequency،
  • Power Consumption،
  • و Thermal Behavior

اثر بگذارند.

Process Variation چیست؟


تغییرات فرایند ساخت — Process Variation

Process Variation
به اختلاف های کوچک
در ویژگی های فیزیکی
و الکتریکی تراشه ها
در نتیجه فرایند ساخت
گفته می شود.

این Variation
به معنی خراب بودن
تراشه نیست.

دو Die سالم
می توانند هر دو
تمام Specification رسمی
محصول را پاس کنند،
اما حاشیه عملکرد
متفاوتی داشته باشند.

Parametric Variation چیست؟

گاهی تراشه
از نظر Functional
کاملاً سالم است،
اما پارامترهای الکتریکی آن
با Die دیگری
کمی تفاوت دارند.

برای مثال
ممکن است دو تراشه
هر دو در:

4.5 GHz

کاملاً پایدار باشند،
اما یکی برای این Frequency
Voltage کمتری
نیاز داشته باشد.

این تفاوت
نمونه ای از
Parametric Variation
است.

Defect چه تفاوتی با Process Variation دارد؟

Process Variation
می تواند تراشه ای سالم
با ویژگی های کمی متفاوت
ایجاد کند.

Defect
می تواند باعث شود
بخشی از Circuit
اصلاً درست کار نکند.

بنابراین:

Variation
≠
Defect

Yield در تولید تراشه چیست؟

Yield
به نسبت Dieهایی اشاره دارد
که پس از تولید
شرایط لازم
برای استفاده
در محصولات قابل فروش
را دارند.

در ساده ترین بیان:

Yield
=
Usable Dies
/
Manufactured Dies

البته در صنعت واقعی،
تعریف و تحلیل Yield
پیچیده تر از این
رابطه ساده آموزشی است.

چرا اندازه Die می تواند روی Yield اثر بگذارد؟

اگر Die بزرگ تر باشد،
هر Die سطح بیشتری
از Wafer
را اشغال می کند.

همچنین احتمال اینکه
یک Defect تصادفی
در محدوده یک Die
قرار گیرد
می تواند افزایش پیدا کند.

به همین دلیل
Die Size
یکی از عوامل مهم
اقتصادی و مهندسی
تولید Processor است.

Silicon Binning چیست؟


دسته بندی سیلیکون — Silicon Binning

Binning
فرایند آزمایش
و طبقه بندی تراشه ها
براساس ویژگی های
عملکردی و الکتریکی
آنهاست.

سازنده می تواند
تراشه ها را از نظر:

  • Functional Correctness،
  • Stable Frequency،
  • Voltage Requirement،
  • Power Consumption،
  • Leakage،
  • و بخش های سالم تراشه

ارزیابی کند.

فرایند Binning به صورت ساده چگونه است؟

Fabrication
↓
Wafer Test
↓
Functional Test
↓
Electrical Characterization
↓
Frequency / Voltage / Power Evaluation
↓
Bin Assignment
↓
Packaging
↓
Final Validation

جزئیات دقیق
این مراحل
بین سازندگان
و نسل های مختلف
متفاوت است.

Frequency Binning چیست؟

بعضی Dieها
می توانند Frequency بالاتری
را در شرایط مورد نظر
سازنده
به صورت پایدار
حفظ کنند.

چنین تراشه هایی
ممکن است برای
Product Binهایی
با Clock بالاتر
مناسب باشند.

Dieهای دیگر
ممکن است کاملاً سالم باشند،
اما در Frequency پایین تر
بهترین تطابق
با Specification
داشته باشند.

Voltage Binning چیست؟

دو Die
ممکن است برای رسیدن
به Performance مشخص
Voltage متفاوتی
نیاز داشته باشند.

تراشه ای که
Frequency هدف
را با Voltage کمتر
حفظ می کند،
می تواند از نظر:

  • Power،
  • Heat،
  • Efficiency،
  • و Thermal Headroom

رفتار مطلوب تری
داشته باشد.

البته رفتار نهایی
به Firmware،
Voltage Curve
و Power Management
محصول نیز وابسته است.

Leakage چه ارتباطی با Binning دارد؟

Siliconهای مختلف
می توانند Leakage
متفاوتی داشته باشند.

Leakage کمتر
در بعضی محصولات
می تواند مزیت مهمی باشد،
به خصوص جایی که:

  • Power Budget محدود است،
  • Temperature اهمیت زیادی دارد،
  • Idle Power مهم است،
  • یا تعداد زیادی Processor همزمان استفاده می شوند.

Power Binning چیست؟

سازنده می تواند
بررسی کند
یک Die برای رسیدن
به Performance هدف
در چه Power Envelope
قرار می گیرد.

این موضوع
در محصولاتی مانند:

  • Mobile CPU،
  • Desktop CPU،
  • Server CPU،
  • Embedded Processor،
  • و سیستم های محدود از نظر Cooling

اهمیت زیادی دارد.

چگونه یک طراحی سیلیکون می تواند به چند مدل CPU تبدیل شود؟

همیشه برای هر مدل CPU
یک Die کاملاً متفاوت
طراحی نمی شود.

در بعضی خانواده ها
یک Die Design
می تواند پایه
چند SKU مختلف باشد.

براساس:

  • Core Count فعال،
  • Cache فعال،
  • Frequency،
  • Power Target،
  • Feature Set،
  • و نتیجه Validation

محصولات مختلفی
ایجاد می شوند.

Silicon Harvesting چیست؟

فرض کنید یک Die
دارای چند Core
یا چند واحد
محاسباتی باشد.

اگر بخشی از تراشه
نتواند Specification لازم
را پاس کند،
در بعضی طراحی ها
ممکن است آن بخش
غیرفعال شود.

اگر باقی تراشه
سالم باشد،
می توان آن را
به عنوان محصولی
با Configuration پایین تر
عرضه کرد.

این روش
می تواند Yield اقتصادی
را افزایش دهد.

مثال ساده از Harvesting

فرض کنیم
یک Die Design
دارای:

8 CPU Cores

باشد.

اگر هر 8 Core
شرایط لازم را داشته باشند،
Die می تواند
برای محصول 8-Core
مناسب باشد.

اگر فقط 6 Core
شرایط لازم
را داشته باشند،
ممکن است دو Core
غیرفعال شوند
و Die
در یک محصول 6-Core
استفاده شود.

این مثال
صرفاً برای توضیح مفهوم است؛
Product Segmentation واقعی
الزاماً فقط
براساس Defect
انجام نمی شود.

آیا هر CPU رده پایین تر از Silicon ضعیف تر ساخته شده است؟

خیر.

این یکی از
برداشت های اشتباه
درباره Binning است.

Product Segmentation
فقط نتیجه کیفیت Silicon
نیست.

سازنده ممکن است
براساس:

  • تقاضای بازار،
  • موجودی،
  • قیمت گذاری،
  • Product Positioning،
  • Feature Segmentation،
  • و اهداف تجاری

نیز SKUهای مختلف
ایجاد کند.

Product Tier
≠
Pure Silicon Quality Ranking

Silicon Lottery چیست؟

اصطلاح
Silicon Lottery
بیشتر در جامعه کاربران
و Overclocking
استفاده می شود.

منظور این است
که دو CPU
با مدل یکسان
ممکن است Headroom
متفاوتی داشته باشند.

برای مثال
یک نمونه ممکن است
Frequency مشخصی
را با Voltage پایین تر
حفظ کند،
در حالی که نمونه دیگر
برای همان Frequency
Voltage بیشتری نیاز د