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

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

فصل 117
سطح: مرجع
موضوع: واژه نامه جامع CPU
کاربرد: مرور سریع اصطلاحات پردازنده

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

واژه نامه جامع CPU؛ اصطلاحات مهم پردازنده از A تا Z

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

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

دسترسی سریع

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

1. مفاهیم پایه CPU

اصطلاح تعریف کوتاه
CPU Central Processing Unit؛ پردازنده اصلی که دستورهای برنامه را اجرا می کند.
Processor اصطلاح عمومی برای واحد پردازشی؛ در بسیاری از کاربردها مترادف CPU استفاده می شود.
Instruction عملیاتی تعریف شده در ISA که Software می تواند از CPU درخواست کند.
Machine Code نمایش باینری دستورهایی که Processor قادر به Decode و اجرا است.
Opcode بخشی از Instruction که نوع عملیات را مشخص می کند.
Operand داده یا منبعی که Instruction روی آن عمل می کند.
Register فضای ذخیره سازی بسیار سریع داخل CPU برای نگهداری موقت داده، آدرس یا وضعیت.
Program Counter Register یا وضعیت معماری مرتبط با آدرس Instruction بعدی.
Clock سیگنال زمانی مورد استفاده برای هماهنگی عملیات مدارهای همگام CPU.
Clock Cycle یک دوره از Clock پردازنده.
Frequency تعداد Cycleهای Clock در واحد زمان؛ معمولاً با GHz بیان می شود.
GHz Gigahertz؛ یک میلیارد Cycle در ثانیه.
Latency زمان یا تعداد Cycle لازم برای تکمیل یک عملیات یا دسترسی.
Throughput مقدار کاری که در یک بازه زمانی قابل تکمیل است.

2. Architecture و ISA

اصطلاح تعریف کوتاه
ISA Instruction Set Architecture؛ قرارداد معماری میان Software و Processor.
Microarchitecture روش داخلی پیاده سازی ISA در یک طراحی مشخص CPU.
x86 خانواده ای از معماری های Instruction Set که ریشه آن به پردازنده های اولیه Intel x86 باز می گردد.
x86-64 نسخه 64 بیتی معماری x86 که با نام AMD64 نیز شناخته می شود.
ARM خانواده ای از ISAها که به طور گسترده در موبایل، Embedded، Client و Server استفاده می شود.
RISC رویکرد معماری مبتنی بر مجموعه دستورهای نسبتاً ساده و منظم.
CISC رویکرد معماری دارای Instructionهای پیچیده تر و متنوع تر.
32-bit اصطلاحی مرتبط با عرض معماری و قابلیت های داده و Addressing در ISAهای 32 بیتی.
64-bit معماری دارای قابلیت های 64 بیتی در Registerها، عملیات و Addressing مطابق ISA.
ISA Extension افزوده ای به ISA برای ارائه قابلیت ها یا Instructionهای جدید.
Microcode لایه کنترلی داخلی مورد استفاده در برخی CPUها برای پیاده سازی یا اصلاح رفتار برخی عملیات.
Privilege Level سطح دسترسی اجرایی که مشخص می کند Code چه عملیات حساسی را می تواند انجام دهد.

3. Pipeline، Front-End و Branch Prediction

اصطلاح تعریف کوتاه
Pipeline تقسیم پردازش Instruction به چند مرحله که امکان همپوشانی کار روی چند Instruction را فراهم می کند.
Pipeline Stage یکی از مراحل پردازش در Pipeline.
Front-End بخشی از CPU مسئول پیش بینی مسیر، Fetch، Decode و آماده سازی عملیات برای Back-End.
Fetch دریافت Instructionهای مورد نیاز برای اجرا.
Decode تفسیر Instruction و تبدیل آن به فرم قابل استفاده برای بخش های داخلی CPU.
Decoder Hardware مسئول Decode کردن Instructionها.
Micro-op / µop عملیات داخلی کوچک تری که برخی Microarchitectureها برای اجرای Instructionها استفاده می کنند.
µop Cache ساختاری برای نگهداری عملیات Decode شده با هدف کاهش نیاز به Decode مجدد در برخی طراحی ها.
Branch Instruction یا رویدادی که می تواند مسیر Control Flow برنامه را تغییر دهد.
Branch Predictor Hardwareی که مسیر احتمالی Branch را پیش بینی می کند.
Branch Misprediction حالتی که پیش بینی Branch اشتباه بوده و CPU باید کار Speculative اشتباه را کنار بگذارد.
BTB Branch Target Buffer؛ ساختاری برای کمک به پیش بینی Target برخی Branchها.
Speculative Execution اجرای موقت عملیات پیش از قطعی شدن برخی شرایط برای جلوگیری از بیکار ماندن Pipeline.
Pipeline Flush کنار گذاشتن بخشی از کار در حال پردازش Pipeline، مثلاً پس از Misprediction.
Front-End Bound وضعیتی که Performance به دلیل ناتوانی Front-End در تامین عملیات کافی محدود می شود.

4. Execution Engine و Out-of-Order Execution

اصطلاح تعریف کوتاه
Back-End بخش CPU که Scheduling، Execution و تکمیل عملیات را مدیریت می کند.
Execution Unit واحد سخت افزاری که نوع مشخصی از عملیات را اجرا می کند.
ALU Arithmetic Logic Unit؛ واحد اجرای عملیات حسابی و منطقی Integer.
FPU Floating-Point Unit؛ واحد پردازش عملیات ممیز شناور.
Load Unit واحد مرتبط با خواندن Data از Memory Hierarchy.
Store Unit واحد مرتبط با نوشتن Data در Memory Hierarchy.
Execution Port مسیر یا Resource داخلی برای ارسال عملیات به واحدهای اجرایی در برخی Microarchitectureها.
Superscalar توانایی پردازنده برای پردازش یا Issue چند عملیات در یک Cycle در صورت وجود شرایط مناسب.
Out-of-Order Execution اجرای عملیات آماده خارج از ترتیب اصلی برنامه با حفظ نتیجه معماری صحیح.
In-Order Execution مدلی که اجرای عملیات بیشتر تابع ترتیب برنامه است.
Register Renaming نگاشت Registerهای معماری به منابع فیزیکی برای کاهش Dependencyهای کاذب.
Physical Register Register داخلی مورد استفاده Microarchitecture که لزوماً مستقیماً برای Software قابل مشاهده نیست.
Scheduler ساختاری که عملیات آماده را برای اجرا روی Resource مناسب انتخاب می کند.
ROB Reorder Buffer؛ ساختاری مهم در بسیاری از CPUهای OoO برای مدیریت عملیات در حال اجرا و Retirement مرتب.
Retirement مرحله ای که نتیجه Instruction به صورت معماری قطعی می شود.
Dependency رابطه ای که باعث می شود اجرای یک عملیات به نتیجه یا وضعیت عملیات دیگری وابسته باشد.
Data Dependency وابستگی ناشی از نیاز یک عملیات به Data تولید شده توسط عملیات دیگر.
False Dependency وابستگی ظاهری ناشی از استفاده از نام Register یکسان بدون وابستگی واقعی Data.
ILP Instruction-Level Parallelism؛ میزان عملیات مستقلی که می توانند همزمان یا همپوشان اجرا شوند.
Back-End Bound حالتی که Resourceهای Execution یا Memory در Back-End عامل محدود کننده Performance هستند.

5. Cache، Memory و Address Translation

اصطلاح تعریف کوتاه
Memory Hierarchy چیدمان چندسطحی Storage از Register و Cache تا DRAM و Storage.
Cache حافظه سریع برای نگهداری موقت Data یا Instructionهای پرکاربرد نزدیک CPU.
L1 Cache سطح Cache بسیار سریع و کوچک نزدیک Core.
L2 Cache سطح Cache بعدی که معمولاً بزرگ تر و کندتر از L1 است.
L3 Cache سطح Cache بزرگ تر که در بسیاری از CPUها بین چند Core به صورت کامل یا جزئی Shared است.
LLC Last-Level Cache؛ آخرین سطح Cache پیش از مراجعه به Memory پایین تر در طراحی مورد نظر.
Cache Hit پیدا شدن Data مورد نیاز در سطح Cache بررسی شده.
Cache Miss پیدا نشدن Data در Cache و نیاز به جستجو در سطح پایین تر.
Hit Rate نسبت Accessهایی که با Cache Hit پاسخ داده می شوند.
Cache Line واحد Data که معمولاً میان سطوح Cache و Memory منتقل و مدیریت می شود.
Cache Associativity تعداد مکان های ممکن در یک Set که یک Cache Line می تواند در آنها قرار گیرد.
Temporal Locality احتمال استفاده مجدد از Data یا Instructionی که اخیراً استفاده شده است.
Spatial Locality احتمال دسترسی به Data نزدیک به آدرسی که اخیراً استفاده شده است.
Prefetching آوردن پیش دستانه Data یا Instruction قبل از درخواست قطعی.
Hardware Prefetcher Hardwareی که Patternهای Access را تشخیص داده و Data احتمالی آینده را Prefetch می کند.
Cache Coherence سازوکاری برای حفظ دید سازگار از Data مشترک میان Cacheهای چند Core.
False Sharing تداخل Performance ناشی از تغییر Dataهای مستقل که در یک Cache Line مشترک قرار گرفته اند.
Memory Controller منطق مسئول مدیریت ارتباط پردازنده با DRAM.
Memory Latency زمان لازم برای پاسخ به یک Memory Access.
Memory Bandwidth مقدار Data قابل انتقال از Memory در واحد زمان.
MLP Memory-Level Parallelism؛ توانایی داشتن چند Memory Request مستقل در حال پردازش.
Virtual Memory سیستم Addressing که به Processها فضای آدرس مجازی می دهد و آن را به Memory فیزیکی نگاشت می کند.
Virtual Address آدرسی که Software در فضای Virtual Address استفاده می کند.
Physical Address آدرسی که به Location فیزیکی در Memory System مرتبط است.
Page واحد بلوکی مدیریت Virtual Memory.
Page Table ساختار Data برای نگاشت Virtual Pageها به Physical Memory و نگهداری Permissionها.
TLB Translation Lookaside Buffer؛ Cache مخصوص نگهداری Translationهای آدرس.
TLB Miss نبود Translation مورد نیاز در TLB که ممکن است Page Walk را ضروری کند.
Page Walk فرایند پیدا کردن Translation از Page Tableها.
NUMA Non-Uniform Memory Access؛ معماری ای که هزینه دسترسی به Memory بسته به محل CPU و Memory متفاوت است.

6. Core، Thread و Parallelism

اصطلاح تعریف کوتاه
Core هسته پردازشی قادر به اجرای مستقل جریان Instruction.
Physical Core هسته واقعی سخت افزاری داخل Processor.
Thread جریان اجرایی قابل Scheduling توسط سیستم عامل.
Hardware Thread Context اجرایی سخت افزاری که CPU برای اجرای Thread فراهم می کند.
Logical Processor واحد پردازشی منطقی که سیستم عامل می تواند برای Scheduling مشاهده کند.
SMT Simultaneous Multithreading؛ اجرای همزمان بیش از یک Hardware Thread روی Resourceهای یک Core.
Hyper-Threading نام تجاری Intel برای پیاده سازی SMT در بسیاری از پردازنده های آن.
Multi-Core طراحی Processor شامل بیش از یک Core.
Parallelism انجام چند بخش از کار به صورت همزمان یا همپوشان.
Thread-Level Parallelism Parallelism حاصل از اجرای چند Thread.
Data-Level Parallelism اجرای عملیات مشابه روی چند Data Element.
SIMD Single Instruction Multiple Data؛ اجرای یک عملیات مشابه روی چند Data Element.
SSE خانواده ای از Extensionهای SIMD در معماری x86.
AVX Advanced Vector Extensions؛ خانواده Extensionهای Vector/SIMD در x86.
Vectorization تبدیل عملیات Scalar به عملیات Vector برای پردازش چند Data Element.
Scalar عملیاتی که معمولاً روی یک Data Element در هر Operation کار می کند.
Synchronization هماهنگ سازی Threadها هنگام دسترسی به Resource یا Data مشترک.
Contention رقابت چند Thread یا Operation برای Resource مشترک.
Load Balancing توزیع مناسب کار میان Resourceهای پردازشی.
Scaling میزان افزایش Performance هنگام افزایش Resourceهایی مانند Core.
Amdahl’s Law مدلی که نشان می دهد بخش Serial برنامه می تواند Speedup حاصل از Parallelism را محدود کند.

7. Performance و Bottleneck

اصطلاح تعریف کوتاه
Performance توان سیستم برای تکمیل Workload با سرعت یا Throughput مشخص.
IPC Instructions Per Cycle؛ متوسط تعداد Instruction تکمیل شده در هر Cycle برای Workload مشخص.
CPI Cycles Per Instruction؛ متوسط Cycle مورد نیاز به ازای هر Instruction.
Single-Core Performance Performance حاصل از یک Core یا Workload عمدتاً وابسته به یک Thread.
Multi-Core Performance Performance حاصل از استفاده از چند Core در Workload موازی.
Single-Thread Performance Performance یک Thread اجرایی که معمولاً به قدرت Core، Frequency و رفتار Workload وابسته است.
Bottleneck Resource یا مرحله ای که Performance کل سیستم را در شرایط مشخص محدود می کند.
CPU-Bound Workloadی که Performance آن عمدتاً توسط توان پردازشی CPU محدود می شود.
Memory-Bound Workloadی که Performance آن عمدتاً توسط رفتار Memory System محدود می شود.
Compute-Bound Workloadی که Execution Resources و توان محاسباتی عامل اصلی محدودیت هستند.
Stall دوره ای که بخشی از Pipeline قادر به پیشرفت مفید نیست.
Speedup نسبت Performance یا زمان اجرای دو حالت برای بیان میزان بهبود.
Peak Performance بالاترین Performance قابل دستیابی در شرایط یا بازه خاص.
Sustained Performance Performance قابل حفظ در اجرای طولانی مدت Workload.
Performance per Watt مقدار Performance نسبت به توان مصرفی.
Performance per Dollar مقدار Performance نسبت به هزینه خرید.

8. Power، Frequency و Thermal

اصطلاح تعریف کوتاه
Power نرخ مصرف انرژی الکتریکی Processor.
Dynamic Power بخشی از Power مرتبط با Switching مدارها.
Static Power بخشی از Power که حتی بدون Switching کامل نیز به دلیل Leakage وجود دارد.
Leakage جریان ناخواسته در Transistorها که در Static Power نقش دارد.
Voltage اختلاف پتانسیل الکتریکی مورد استفاده مدار CPU.
DVFS Dynamic Voltage and Frequency Scaling؛ تنظیم پویا Voltage و Frequency براساس شرایط.
Base Frequency فرکانس مرجع تعریف شده توسط سازنده تحت شرایط مشخص؛ معنای دقیق آن به محصول وابسته است.
Boost Frequency فرکانس بالاتر پویا که CPU در صورت وجود Headroom مناسب می تواند استفاده کند.
Turbo اصطلاح رایج برای افزایش پویا Frequency بالاتر از سطح پایه در شرایط مجاز.
Power Limit محدودیتی برای مقدار Power قابل استفاده CPU در شرایط تعریف شده.
TDP Thermal Design Power؛ پارامتر طراحی حرارتی سازنده و نه الزاماً مصرف واقعی لحظه ای CPU.
Temperature دمای بخش های مختلف Processor که توسط Sensorها اندازه گیری یا تخمین زده می شود.
Junction Temperature دمای ناحیه داخلی Semiconductor Die یا Junction طبق تعریف سازنده.
TjMax حد دمای Junction تعریف شده برای Processor یا Sensor Logic مربوطه.
Thermal Throttling کاهش Operating Point برای کنترل Temperature هنگام رسیدن به محدودیت حرارتی.
Thermal Headroom فاصله موجود تا محدودیت حرارتی که می تواند امکان Boost بیشتر را فراهم کند.
Thermal Resistance معیاری برای مقاومت مسیر انتقال Heat.
Cooling سیستم انتقال Heat از Processor به محیط.
Undervolting کاهش Voltage عملیاتی با هدف کاهش Power و Heat، در صورت پایداری و امکان Platform.
Overclocking اجرای Processor خارج از Frequency یا تنظیمات استاندارد تعریف شده برای افزایش Performance.
Power Efficiency میزان کار مفید حاصل در برابر Energy یا Power مصرفی.

9. Die، Package، Chiplet و Platform

اصطلاح تعریف کوتاه
Transistor عنصر بنیادی Switching و Logic در مدارهای دیجیتال CPU.
Die قطعه Semiconductor ساخته شده روی Wafer که مدارهای Processor روی آن قرار دارند.
Package ساختار فیزیکی و الکتریکی که Die یا Dieها را به Platform متصل می کند.
Monolithic Die طراحی ای که بخش عمده اجزای Processor روی یک Die اصلی قرار دارند.
Chiplet Die کوچک تر و ماژولاری که همراه Dieهای دیگر یک Processor یا Package را تشکیل می دهد.
Interconnect شبکه ارتباطی میان Coreها، Cache، Memory Controller و سایر بخش های Processor.
Socket رابط فیزیکی و الکتریکی برای اتصال Processor قابل تعویض به Motherboard.
BGA Ball Grid Array؛ نوع Package که معمولاً مستقیماً روی برد لحیم می شود.
Process Node نام نسل یا فناوری ساخت Semiconductor؛ عدد نام گذاری شده به تنهایی ابعاد دقیق همه Transistorها را بیان نمی کند.
Fabric شبکه ارتباطی داخلی برای اتصال بخش های مختلف Processor یا SoC.
SoC System on Chip؛ تراشه ای که CPU و چند زیرسیستم دیگر را در یک طراحی مجتمع می کند.
IMC Integrated Memory Controller؛ Memory Controller مجتمع در Processor یا SoC.
PCIe رابط پرسرعت برای اتصال Deviceهایی مانند GPU، SSD و سایر Peripheralها به Platform.

10. Security و Virtualization

اصطلاح تعریف کوتاه
Virtualization اجرای چند محیط مجازی روی Hardware فیزیکی با کمک Software و قابلیت های Hardware.
Hypervisor لایه ای که Virtual Machineها و Resourceهای Hardware را مدیریت می کند.
vCPU Processor منطقی ارائه شده به Virtual Machine.
VT-x مجموعه قابلیت های Hardware Virtualization در پردازنده های Intel.
AMD-V قابلیت های Hardware Virtualization در پردازنده های AMD.
SLAT Second-Level Address Translation؛ Hardware برای تسریع ترجمه Memory در Virtualization.
EPT Extended Page Tables؛ پیاده سازی Intel برای Second-Level Address Translation.
NPT Nested Page Tables؛ سازوکار AMD برای ترجمه سطح دوم آدرس در Virtualization.
NX / XD قابلیتی برای علامت گذاری Memory Page به عنوان غیرقابل اجرای Code.
Side Channel روش استخراج اطلاعات از اثرات جانبی اجرای سیستم به جای دسترسی مستقیم به Data محرمانه.
Spectre خانواده ای از حملات Side Channel مرتبط با Speculative Execution و اثرات Microarchitectural.
Meltdown کلاسی از آسیب پذیری ها که از تعامل Speculative Execution و کنترل دسترسی در برخی CPUها سوءاستفاده می کند.
Mitigation تغییر Hardware، Firmware یا Software برای کاهش یا حذف اثر یک Vulnerability.
TEE Trusted Execution Environment؛ محیطی با هدف محافظت بیشتر از Code یا Data حساس.

11. Reliability، Manufacturing و Aging

اصطلاح تعریف کوتاه
ECC Error-Correcting Code؛ تکنیک تشخیص و در برخی موارد اصلاح خطاهای Data.
Parity روش ساده تشخیص برخی خطاهای Data.
Machine Check مکانیزم Hardware برای گزارش برخی خطاهای داخلی Processor یا Platform.
RAS Reliability, Availability, Serviceability؛ مجموعه قابلیت های مرتبط با قابلیت اطمینان و مدیریت خطا.
Silicon Aging تغییر تدریجی خصوصیات مدار Semiconductor در اثر زمان و Stress.
Electromigration جابجایی تدریجی اتم ها در Interconnectها تحت تاثیر چگالی جریان بالا.
BTI Bias Temperature Instability؛ یکی از مکانیزم های Aging در Transistorها.
TDDB Time-Dependent Dielectric Breakdown؛ تخریب تدریجی Dielectric تحت Stress الکتریکی.
Thermal Cycling تکرار گرم و سرد شدن که می تواند Stress مکانیکی و مادی ایجاد کند.
Wafer صفحه Semiconductor که تعداد زیادی Die روی آن ساخته می شود.
Yield نسبت Dieهای قابل استفاده حاصل از فرایند تولید.
Binning دسته بندی Dieها براساس ویژگی هایی مانند Frequency، Voltage، Power و قابلیت های سالم.
Process Variation تفاوت طبیعی ویژگی های الکتریکی و فیزیکی بین Transistorها و Dieهای تولید شده.
Silicon Lottery اصطلاح غیررسمی برای تفاوت قابلیت Frequency/Voltage نمونه های مختلف یک مدل Processor.
Harvesting استفاده از Die دارای بخش های غیرفعال یا معیوب برای ساخت SKUهایی که به تمام آن بخش ها نیاز ندارند.
SKU نسخه یا مدل تجاری مشخص از یک خانواده محصول.

12. Benchmark، Profiling و Monitoring

اصطلاح تعریف کوتاه
Benchmark آزمونی برای اندازه گیری Performance سیستم تحت Workload و شرایط مشخص.
Synthetic Benchmark آزمون طراحی شده برای سنجش رفتار یا Resource مشخص، نه الزاماً یک Application واقعی کامل.
Real-World Benchmark آزمون مبتنی بر Application یا Workload نزدیک به استفاده واقعی.
Microbenchmark آزمون کوچک و هدفمند برای اندازه گیری ویژگی خاصی مانند Latency یا Throughput.
Profiling تحلیل رفتار برنامه برای یافتن محل مصرف زمان، Resource و Bottleneck.
PMU Performance Monitoring Unit؛ Hardwareی برای شمارش Eventهای Microarchitectural.
Performance Counter Counter سخت افزاری برای ثبت Eventهایی مانند Cycle، Instruction، Cache Miss یا Branch Miss.
CPU Utilization معیاری از میزان زمانی که Logical CPUها مشغول اجرای Work هستند؛ به تنهایی بیانگر Efficiency نیست.
Wall-Clock Time زمان واقعی سپری شده از شروع تا پایان یک Task.
Variance میزان پراکندگی نتایج Benchmark.
Mean میانگین حسابی مجموعه نتایج.
Median مقدار میانی مجموعه مرتب شده نتایج.
Thermal Soak رسیدن سیستم به شرایط حرارتی نسبتاً پایدار در Load طولانی.
Cold Run اجرای Benchmark زمانی که سیستم هنوز به شرایط حرارتی پایدار Load نرسیده است.
Benchmark Methodology مجموعه شرایط، تنظیمات و روش اجرای آزمون که برای تکرارپذیری و تفسیر نتیجه ضروری است.

فهرست سریع مخفف های مهم

مخفف عبارت کامل
CPU Central Processing Unit
ISA Instruction Set Architecture
ALU Arithmetic Logic Unit
FPU Floating-Point Unit
IPC Instructions Per Cycle
CPI Cycles Per Instruction
ILP Instruction-Level Parallelism
MLP Memory-Level Parallelism
SMT Simultaneous Multithreading
SIMD Single Instruction Multiple Data
ROB Reorder Buffer
BTB Branch Target Buffer
TLB Translation Lookaside Buffer
LLC Last-Level Cache
NUMA Non-Uniform Memory Access
TDP Thermal Design Power
DVFS Dynamic Voltage and Frequency Scaling
PMU Performance Monitoring Unit
RAS Reliability, Availability, Serviceability
ECC Error-Correcting Code
TEE Trusted Execution Environment
SLAT Second-Level Address Translation
EPT Extended Page Tables
NPT Nested Page Tables
SoC System on Chip
IMC Integrated Memory Controller
نکته مهندسی — اصطلاح را حفظ نکنید؛ جای آن را در سیستم پیدا کنید

دانستن اینکه ROB
مخفف Reorder Buffer است
به تنهایی ارزش زیادی ندارد.

مهم تر این است که بدانیم:

ROB
→
Out-of-Order Engine
→
In-Flight Operations
→
Ordered Retirement
→
Correct Architectural State

همین روش را می توان
برای هر اصطلاح دیگری
به کار برد.

Term
→
Location
→
Function
→
Interaction
→
Performance Impact

تاثیر بر عملکرد — اصطلاحات Performance را همیشه در کنار یکدیگر بخوانید

برای مثال
مشاهده Cache Miss بالا
به تنهایی
برای نتیجه گیری کافی نیست.

باید بررسی شود:

Cache Miss
+
Memory Latency
+
Memory-Level Parallelism
+
Out-of-Order Capacity
+
Workload
→
Actual Performance Impact

همین اصل
درباره Frequency،
IPC،
Core Count
و Temperature
نیز صدق می کند.

اشتباهات رایج در استفاده از اصطلاحات CPU
  • ISA و Microarchitecture را مترادف ندانید.
  • Instruction و Micro-op را یکی ندانید.
  • Core و Thread را یکی ندانید.
  • Logical Processor را Core فیزیکی فرض نکنید.
  • Frequency را معادل Performance ندانید.
  • IPC را عدد ثابت یک Processor تصور نکنید.
  • Cache Size را معادل Cache Performance ندانید.
  • Memory Latency و Bandwidth را یکی ندانید.
  • TDP را مستقیماً معادل مصرف واقعی Processor ندانید.
  • Boost Frequency را فرکانس دائمی تمام Coreها فرض نکنید.
  • CPU Utilization را به تنهایی معیار Performance ندانید.
  • Peak Performance و Sustained Performance را یکی ندانید.
  • Benchmark Score را بدون Workload و Methodology مقایسه نکنید.

برای هر اصطلاح CPU این پنج سوال را بپرسید

  1. این مفهوم در کدام لایه قرار دارد؟Software، ISA، Front-End، Execution، Memory، Power یا Platform؟
  2. وظیفه آن چیست؟چه مشکلی را حل می کند؟
  3. با چه بخش هایی تعامل دارد؟
  4. اگر محدود شود چه Bottleneckی ایجاد می کند؟
  5. آیا اثر آن به Workload وابسته است؟

خلاصه تمام واژه نامه در یک مدل

SOFTWARE

↓

ISA

↓

FETCH

↓

BRANCH PREDICTION

↓

DECODE

↓

RENAME

↓

SCHEDULING

↓

OUT-OF-ORDER EXECUTION

↓

EXECUTION UNITS

↓

LOAD / STORE

↓

CACHE

↓

TLB / VIRTUAL MEMORY

↓

DRAM

↓

MULTI-CORE / SMT / SIMD

↓

POWER / THERMAL

↓

PERFORMANCE

جمع بندی واژه نامه

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

Cache Miss
فقط یک اصطلاح Cache نیست؛
می تواند به Memory Latency،
Stall،
IPC
و در نهایت Performance
متصل شود.

Branch Misprediction
فقط یک خطای Prediction نیست؛
می تواند Speculative Work
را از بین ببرد،
Pipeline را Recover کند
و Throughput را کاهش دهد.

Frequency نیز
فقط عدد GHz نیست؛
به Voltage،
Power،
Temperature،
Cooling
و Workload وابسته است.


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

فصل 118
سطح: جمع بندی نهایی
موضوع: پایان دانشنامه CPU
تمرکز: مدل نهایی تحلیل + مسیر ادامه یادگیری

پایان مسیر CPU؛ از شناخت مشخصات تا تحلیل مهندسی

پایان دانشنامه CPU؛ حالا چگونه یک پردازنده را واقعاً تحلیل کنیم؟

در ابتدای این دانشنامه،
CPU ممکن بود مجموعه ای از اعداد
مانند Core،
Thread،
GHz،
Cache
و TDP
به نظر برسد.

اما اکنون می دانیم
هیچ کدام از این اعداد
به تنهایی
توضیح کاملی از یک Processor
ارائه نمی دهند.

CPU Understanding
≠
Reading Specifications

CPU Understanding
=
Architecture
+
Workload
+
Data Movement
+
Parallelism
+
Power
+
Thermal
+
Platform
+
Measurement

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

مسیر یادگیری از مفاهیم پایه شروع شد
و به تدریج
به معماری داخلی،
Performance،
Power،
Security،
Reliability
و تحلیل سیستم رسید.

لایه آنچه باید اکنون درک کنیم
Fundamentals Instruction، Clock، Frequency،
Core، Thread و مفاهیم پایه Processor
ISA رابطه Software با معماری قابل مشاهده CPU
Microarchitecture نحوه واقعی پیاده سازی و اجرای Instructionها
Front-End Fetch، Decode، Branch Prediction
و تامین عملیات برای Execution Engine
Execution OoO، Register Renaming،
Scheduler، Execution Unit و Retirement
Memory System Cache، Locality، TLB،
Memory Latency و Data Movement
Parallelism ILP، SMT، SIMD،
Multi-Core و محدودیت Scaling
Power & Thermal رابطه Frequency، Voltage،
Power، Temperature و Cooling
Platform Package، Chiplet، Interconnect،
Socket و محدودیت های سیستم
Security Privilege، Virtualization،
Speculation و Microarchitectural Security
Reliability Error Detection،
Aging، Manufacturing و Binning
Performance Analysis Benchmark،
PMU،
Bottleneck Analysis
و تفسیر Metricها

مدل نهایی تحلیل یک CPU

از این پس وقتی با یک Processor جدید
روبرو می شوید،
به جای شروع از GHz
یا تعداد Core،
تحلیل را از Workload شروع کنید.

STEP 1

Define Workload

↓

STEP 2

Identify Threading Behavior

↓

STEP 3

Examine CPU Architecture

↓

STEP 4

Examine Memory Behavior

↓

STEP 5

Examine Power & Thermal Limits

↓

STEP 6

Examine Platform Configuration

↓

STEP 7

Use Relevant Benchmarks

↓

STEP 8

Identify Bottleneck

↓

STEP 9

Compare Price / Efficiency

↓

STEP 10

Make the Decision

مرحله اول: Workload را تعریف کنید

مهم ترین سوال این نیست:

«کدام CPU قوی تر است؟»

سوال بهتر این است:


کدام CPU برای Workload مورد نظر،
در سیستم مورد نظر،
Performance مناسب تری ارائه می دهد؟

Workload می تواند:

  • Office،
  • Programming،
  • Compilation،
  • Gaming،
  • CAD،
  • Simulation،
  • Rendering،
  • Video Encoding،
  • Virtualization،
  • Database،
  • یا Server Workload

باشد.

مرحله دوم: رفتار Threading را بررسی کنید

مشخص کنید Workload
بیشتر به:

  • Single-Thread Performance،
  • Few Fast Cores،
  • Many-Core Throughput،
  • یا ترکیبی از آنها

نیاز دارد.

More Cores
≠
Automatically More Performance

اگر Software
نتواند Work را
میان Coreها تقسیم کند،
Core اضافی
ممکن است اثر کمی داشته باشد.

مرحله سوم: Architecture را بررسی کنید

اکنون می توان به مشخصات CPU
نگاه کرد،
اما نه فقط به اعداد تبلیغاتی.

موارد مهم:

  • Microarchitecture Generation،
  • Core Design،
  • Front-End Capability،
  • Execution Width و Resources،
  • Branch Prediction،
  • Cache Hierarchy،
  • Vector Extensions،
  • و ISA Features.

مرحله چهارم: Data Movement را فراموش نکنید

CPU فقط زمانی می تواند
محاسبه انجام دهد
که Data مورد نیاز
در زمان مناسب
در اختیار آن قرار گیرد.

Compute Capability
Without Data
=
Idle Resources

بنابراین بررسی کنید:

  • Cache Capacity،
  • Cache Behavior،
  • Memory Latency،
  • Memory Bandwidth،
  • Memory Channels،
  • و NUMA Behavior در سیستم های بزرگ.

مرحله پنجم: Power و Thermal را وارد تحلیل کنید

CPU روی میز آزمایش
بدون محدودیت Power و Cooling
وجود ندارد.

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

Architecture Capability

↓

Voltage / Frequency

↓

Power

↓

Heat

↓

Cooling

↓

Sustainable Performance

مرحله ششم: CPU را از Platform جدا نکنید

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

مخصوصاً در Laptop:

  • Cooling Design،
  • Power Limit،
  • Firmware،
  • RAM Configuration،
  • Chassis،
  • و Power Mode

می توانند نتیجه را تغییر دهند.

Same CPU Model
≠
Same System Performance

مرحله هفتم: Benchmark مرتبط انتخاب کنید

Benchmark باید
نماینده سوال شما باشد.

اگر هدف Gaming است،
Benchmark Rendering
به تنهایی پاسخ مناسبی نیست.

اگر هدف Compilation است،
امتیاز Synthetic Single-Core
به تنهایی کافی نیست.

Question
→
Workload
→
Benchmark
→
Result

نه:

Benchmark Score
→
Universal Conclusion

مرحله هشتم: Bottleneck را پیدا کنید

اگر Performance پایین است،
قبل از ارتقای CPU
مشخص کنید CPU
واقعاً Bottleneck است یا خیر.

Performance Problem

↓

Measure

↓

CPU?
/
GPU?
/
Memory?
/
Storage?
/
I/O?

↓

Identify Limiting Resource

↓

Optimize the Correct Component

مرحله نهم: Performance تنها معیار خرید نیست

برای انتخاب واقعی،
باید Performance
را کنار عوامل دیگر قرار داد.

عامل سوال
Performance آیا برای Workload کافی است؟
Price هزینه این Performance چقدر است؟
Efficiency برای Performance مورد نظر چه مقدار Power لازم دارد؟
Cooling آیا سیستم قادر به حفظ Performance است؟
Platform هزینه و محدودیت کل سیستم چیست؟
Upgrade Path آیا Platform امکان توسعه آینده دارد؟
Reliability آیا سیستم برای Load و عمر مورد نظر مناسب است؟

مرحله دهم: بهترین CPU الزاماً سریع ترین CPU نیست

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

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

Best CPU
=
Required Performance
+
Appropriate Platform
+
Acceptable Power
+
Acceptable Cooling
+
Suitable Price

پنج سطح فهم CPU

سطح نوع نگاه نمونه سوال
سطح 1 Specification چند Core و چند GHz دارد؟
سطح 2 Benchmark در آزمون مورد نظر چقدر سریع است؟
سطح 3 Architecture چرا این Performance را ارائه می دهد؟
سطح 4 System Analysis چه چیزی Performance واقعی سیستم را محدود می کند؟
سطح 5 Engineering کدام Trade-off باعث این رفتار شده است؟

سوال نهایی مهندسی

تقریباً تمام مطالب این دانشنامه
را می توان
در یک سوال خلاصه کرد:


چه چیزی باعث می شود این CPU،
این Workload مشخص را،
با این Performance،
در این Power،
روی این Platform
اجرا کند؟

برای پاسخ،
باید مسیر زیر را بررسی کرد:

Workload

↓

Software

↓

ISA

↓

Microarchitecture

↓

Front-End

↓

Execution

↓

Memory

↓

Parallelism

↓

Power

↓

Thermal

↓

Platform

↓

Real Performance

بعد از CPU چه چیزی یاد بگیریم؟

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

CPU

↓

RAM & Memory System

↓

GPU

↓

Storage

↓

Motherboard & I/O

↓

Power Delivery

↓

Cooling

↓

Operating System

↓

Complete System Performance

در دانشنامه RAM
مفاهیمی مانند:

  • DRAM Architecture،
  • Channel،
  • Rank،
  • Bank،
  • Timing،
  • CAS Latency،
  • Memory Frequency،
  • Bandwidth،
  • ECC،
  • و Memory Configuration

باید با جزئیات بررسی شوند.

در دانشنامه GPU نیز
مسیر مستقلی برای:

  • Graphics Pipeline،
  • Shader Architecture،
  • SIMT،
  • VRAM،
  • Rasterization،
  • Ray Tracing،
  • Compute،
  • CUDA و APIها،
  • و GPU Performance

لازم است.

این مفاهیم
عمداً وارد دانشنامه CPU نشدند
تا مرز موضوعی هر دانشنامه
حفظ شود.

زیرساخت فنی — Performance واقعی محصول یک زنجیره است

فرض کنید دو Laptop
دقیقاً یک مدل CPU
داشته باشند.

Laptop اول:

  • Cooling قوی تر دارد،
  • Power Limit بالاتری دارد،
  • Memory Configuration مناسبی دارد،
  • Firmware اجازه Boost طولانی تری می دهد.

Laptop دوم:

  • Chassis باریک تر دارد،
  • Cooling محدودتر است،
  • Power Budget پایین تری دارد،
  • و زودتر به Thermal Limit می رسد.

نتیجه ممکن است:

Same CPU Name

≠

Same Sustained Performance

بنابراین در بررسی سیستم واقعی
باید از نام CPU عبور کنیم
و رفتار کل Platform
را بررسی کنیم.

نکته مهندسی — مهم ترین مهارت، پیدا کردن رابطه هاست

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

اما مهارت اصلی
حفظ اصطلاحات نیست.

مهارت اصلی این است که بدانیم:

Observation
→
Mechanism
→
Bottleneck
→
Cause
→
Solution

برای مثال:

Performance Drops

+

Temperature Rises

+

Frequency Falls

↓

Investigate Thermal / Power Limits

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

تاثیر بر عملکرد — همیشه Slowest Relevant Path را پیدا کنید

Performance سیستم
معمولاً توسط بخشی محدود می شود
که در Workload مورد نظر
قادر به تامین نیاز سایر بخش ها نیست.

Fast CPU
+
Slow Data Supply
=
CPU Waiting

Many Cores
+
Serial Software
=
Low Scaling

High Boost Clock
+
Weak Cooling
=
Low Sustained Performance

Large Cache
+
Poor Locality
=
Limited Benefit

بنابراین Optimization
باید روی Bottleneck واقعی
متمرکز شود،
نه روی عددی که روی کاغذ
بزرگ تر به نظر می رسد.

اشتباهات نهایی که بعد از مطالعه این دانشنامه نباید مرتکب شویم
  • مقایسه CPU فقط با GHz.
  • مقایسه CPU فقط با تعداد Core.
  • فرض اینکه نسل جدید همیشه در همه Workloadها سریع تر است.
  • فرض اینکه Core بیشتر همیشه بهتر است.
  • فرض اینکه Cache بیشتر همیشه Performance بیشتری ایجاد می کند.
  • یکی دانستن Core و Thread.
  • یکی دانستن ISA و Microarchitecture.
  • یکی دانستن TDP و مصرف واقعی.
  • یکی دانستن Peak Frequency و Sustained Frequency.
  • نادیده گرفتن Memory Behavior.
  • نادیده گرفتن Software Optimization.
  • نادیده گرفتن Cooling.
  • نادیده گرفتن Power Limit.
  • نادیده گرفتن Platform.
  • نتیجه گیری از یک Benchmark.
  • مقایسه Benchmarkهایی با شرایط آزمایش متفاوت.
  • ارتقای CPU بدون تشخیص Bottleneck.
  • فرض اینکه CPU سریع تر همیشه سیستم سریع تری ایجاد می کند.
  • انتخاب CPU بدون توجه به Workload.
  • تلاش برای توضیح Performance پیچیده با یک عدد.

چک لیست نهایی بررسی هر CPU

  1. Workload من چیست؟
  2. Workload بیشتر Single-Thread است یا Multi-Thread؟
  3. CPU متعلق به چه Architecture و Generationی است؟
  4. چند Core و Hardware Thread دارد؟
  5. رفتار Frequency آن در Load واقعی چگونه است؟
  6. Cache Hierarchy آن چگونه است؟
  7. Memory System مورد استفاده چه محدودیت هایی دارد؟
  8. چه ISA Extensionهایی برای Workload من مهم هستند؟
  9. Power Limit واقعی سیستم چیست؟
  10. Cooling قادر به حفظ Performance هست؟
  11. Benchmark مرتبط با Workload چه می گوید؟
  12. Performance پایدار است یا فقط Burst کوتاه؟
  13. Bottleneck واقعی سیستم کجاست؟
  14. آیا CPU سریع تر واقعاً مشکل را حل می کند؟
  15. Performance به ازای هزینه مناسب است؟
  16. آیا Platform برای نیاز فعلی و آینده مناسب است؟

اگر فقط یک مفهوم از کل دانشنامه باقی بماند

CPU یک عدد نیست.

CPU یک سیستم پویاست
که Software،
Data،
Architecture،
Power
و محدودیت های فیزیکی
به طور همزمان
رفتار آن را تعیین می کنند.

Real CPU Performance
=
Workload
×
Architecture
×
Data Availability
×
Parallelism
×
Power / Thermal Headroom
×
Platform Efficiency

این رابطه یک Equation ریاضی دقیق نیست؛
بلکه مدل ذهنی مناسبی
برای تحلیل Performance است.

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

پایان دانشنامه جامع پردازنده

هدف این دانشنامه
معرفی چند مدل CPU
یا ارائه فهرستی از مشخصات
نبود.

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

نام Coreها تغییر می کند.

نسل ها تغییر می کنند.

Process Nodeها تغییر می کنند.

Cacheها بزرگ تر می شوند.

Microarchitectureها پیچیده تر می شوند.

اما سوال های بنیادی
تقریباً ثابت می مانند:

Where is the work?

Where is the data?

What can run in parallel?

What is waiting?

What is the bottleneck?

What limits power?

What limits temperature?

What does the workload actually need?


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

مرکز ارتباط
ارتباط با استوک شاپ
پیام به استوک شاپ
دستیار خرید و فروش استوک شاپ
برای شروع گفتگو فقط شماره موبایل خود را تایید کنید.
ورود / ثبت‌نام