چیزی که عدد GHz به شما نمی گوید
IPC چیست و چرا یک CPU با فرکانس کمتر می تواند سریع تر باشد؟
فرکانس نشان می دهد CPU در هر ثانیه چند چرخه Clock دارد،
اما مشخص نمی کند در هر چرخه چه مقدار کار مفید انجام می شود.
اینجاست که مفهوم IPC اهمیت پیدا می کند.
IPC یکی از مهم ترین مفاهیم برای فهم تفاوت نسل ها،
معماری ها و عملکرد واقعی پردازنده ها است.
پاسخ سریع: IPC چیست؟
IPC مخفف
Instructions Per Cycle
است و به صورت ساده نشان می دهد پردازنده در هر چرخه
Clock چه مقدار دستور یا کار مفید می تواند پردازش کند.
هرچه یک معماری بتواند از هر Cycle استفاده مؤثرتری داشته باشد،
برای رسیدن به عملکرد بالا الزاماً به افزایش زیاد فرکانس
نیاز ندارد.
در این فصل چه چیزهایی یاد می گیریم؟
- IPC دقیقاً چه مفهومی دارد.
- چرا GHz به تنهایی معیار سرعت نیست.
- IPC چگونه با معماری مرتبط است.
- چرا نسل جدید می تواند در فرکانس مشابه سریع تر باشد.
- چه عواملی IPC را افزایش یا کاهش می دهند.
- چرا IPC یک عدد ثابت برای تمام نرم افزارها نیست.
- چگونه IPC را در مقایسه CPUها درست تفسیر کنیم.
نقشه مفهومی عملکرد CPU
Frequency
تعداد Cycleهای موجود در هر ثانیه.
IPC
میزان کاری که معماری می تواند در هر Cycle انجام دهد.
Workload
نوع دستورها و وابستگی های نرم افزار.
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، گرافیک مجتمع،
مصرف انرژی و عملکرد واقعی هر نسل با نسل قبل و بعد
مقایسه خواهند شد.
CPU مدرن تنها یک مسیر اجرای ساده ندارد.
Front-End می تواند چندین دستور را دریافت و Decode کند
و Back-End دارای چندین واحد اجرایی متفاوت است.
اگر دستورها مستقل باشند، Scheduler می تواند
آن ها را به واحدهای مختلف بفرستد تا چند عملیات
در یک بازه زمانی به صورت موازی انجام شوند.
معماری های عریض تر تلاش می کنند تعداد بیشتری
دستور را در هر Cycle وارد و پردازش کنند؛
البته تنها زمانی که Workload و داده های موردنیاز
اجازه این کار را بدهند.
در بخش مهندسی کتاب مفاهیم Decode Width،
Execution Ports، Scheduler، ROB و Superscalar
Execution را به صورت عمیق بررسی خواهیم کرد.
IPC یک قطعه یا قابلیت مستقل داخل CPU نیست.
نتیجه تعامل بخش های مختلف معماری است.
اگر Branch Predictor اشتباه کند، Cache Miss رخ دهد،
دستورها وابستگی زیادی داشته باشند یا واحد اجرایی
موردنیاز اشغال باشد، IPC می تواند کاهش پیدا کند.
بنابراین افزایش IPC یکی از دشوارترین بخش های
طراحی نسل جدید پردازنده است.
IPC بالا در Workloadهای حساس به عملکرد هر هسته
اهمیت زیادی دارد.
بسیاری از عملیات رابط کاربری، بخش هایی از بازی ها،
نرم افزارهای مهندسی و Workloadهایی که Thread اصلی
قدرتمندی دارند می توانند از عملکرد Single-Core بهتر
سود ببرند.
البته عملکرد نهایی همچنان به فرکانس و سایر عوامل
وابسته است.
- تصور اینکه 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 جدیدتر با فرکانس مشابه را توضیح دهید.
حافظه بسیار سریع کنار هسته
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 به داده
Registerسریع ترین فضای ذخیره سازی داخل هسته.
L1 Cacheبسیار سریع و بسیار نزدیک به هسته.
L2 Cacheبزرگ تر از L1 و کمی کندتر.
L3 Cacheبزرگ تر و در بسیاری از معماری ها میان هسته ها مشترک.
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 رخ می دهد و پردازنده
باید سطح بعدی حافظه را بررسی کند.
L1 Hitداده خیلی سریع در دسترس قرار می گیرد.
L1 MissCPU به L2 مراجعه می کند.
L2 Missبررسی L3 یا سطح بعدی انجام می شود.
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، فرکانس و ارزش خرید را جداگانه بررسی خواهیم کرد.
ساخت حافظه ای که هم بسیار سریع، هم بسیار بزرگ و هم
کم مصرف باشد دشوار است.
به همین دلیل CPU از سلسله مراتب حافظه استفاده می کند.
سطح نزدیک تر کوچک و سریع است و سطح دورتر ظرفیت بیشتری دارد.
هدف این است که بیشترین تعداد دسترسی ممکن در سطوح سریع
انجام شود و فقط در صورت نیاز به حافظه های دورتر مراجعه شود.
این ساختار یکی از نمونه های اصلی Trade-off در طراحی
معماری پردازنده است: ظرفیت در برابر Latency و هزینه.
افزایش تعداد واحدهای اجرایی زمانی مفید است که Front-End
و Memory Subsystem بتوانند به اندازه کافی دستور و داده
در اختیار آن ها قرار دهند.
اگر هسته مدام منتظر داده باشد، افزایش فرکانس یا تعداد
واحدهای اجرایی ممکن است بازده محدودی داشته باشد.
به همین دلیل Cache، Prefetcher و Memory Controller
بخش مهمی از طراحی Performance هستند.
Workloadهایی که مرتباً به مجموعه داده پرتکرار دسترسی دارند
می توانند از Cache مؤثر سود ببرند.
میزان تأثیر در بازی، کامپایل، شبیه سازی، پایگاه داده،
پردازش مهندسی و سایر نرم افزارها متفاوت است و باید
با Benchmark همان Workload بررسی شود.
- فرض اینکه 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 نیست.
زبان و طراحی داخلی پردازنده
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
Softwareبرنامه ها دستورهای قابل اجرا تولید می کنند.
ISAقرارداد میان نرم افزار و پردازنده.
Microarchitectureروش داخلی اجرای همان دستورها.
Implementationهسته ها، Cache، Pipeline و واحدهای اجرایی واقعی.
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ها
را جداگانه بررسی خواهیم کرد.
ISA رفتار قابل مشاهده پردازنده از دید نرم افزار
را تعریف می کند، اما الزام نمی کند CPU در داخل
دقیقاً چگونه ساخته شود.
سازندگان می توانند برای اجرای همان دستورها
Front-End، Decoder، Scheduler، Cache و واحدهای اجرایی
کاملاً متفاوتی طراحی کنند.
همین جدایی میان ISA و Microarchitecture است که
اجازه می دهد نسل های جدید CPU سازگاری نرم افزاری
را حفظ کنند اما Performance و Efficiency بسیار
متفاوتی ارائه دهند.
عدد نسل برای کاربر بسیار مفید است، اما برای تحلیل مهندسی
نباید آن را جایگزین Microarchitecture کرد.
دو محصول نزدیک از نظر نسل ممکن است طراحی داخلی متفاوتی
داشته باشند و دو محصول با نام گذاری متفاوت نیز ممکن است
بخش زیادی از معماری مشترک را حفظ کرده باشند.
به همین دلیل در این کتاب هر نسل را همراه با معماری واقعی
همان محصول بررسی می کنیم.
Microarchitecture بهتر می تواند IPC را افزایش دهد،
Latency را کاهش دهد، منابع اجرایی را بهتر استفاده کند
و مصرف انرژی را بهینه تر کند.
به همین دلیل معماری یکی از اصلی ترین عوامل تفاوت
Performance میان نسل های CPU است.
- یکسان دانستن 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 را درک کنید.
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
Siliconبستر اصلی ساخت بسیاری از تراشه های مدرن.
Transistorعنصر پایه برای ساخت مدارهای منطقی دیجیتال.
Process Nodeنسل فناوری ساخت ترانزیستورها و اتصالات.
Density / Efficiencyتراکم، مصرف و قابلیت های طراحی تراشه.
Final CPUنتیجه ترکیب فرآیند ساخت با Microarchitecture.
ترانزیستور چیست؟
ترانزیستور یکی از عناصر پایه مدارهای الکترونیکی مدرن است
و در پردازنده ها به عنوان بخش اساسی مدارهای منطقی و حافظه ای
استفاده می شود.
CPU مدرن می تواند شامل میلیاردها ترانزیستور باشد که در کنار
یکدیگر ساختارهایی مانند هسته های پردازشی، Cache، کنترل کننده ها
و واحدهای اجرایی را تشکیل می دهند.
چرا تعداد ترانزیستور بیشتر می تواند مهم باشد؟
فضای ترانزیستوری بیشتر می تواند به سازنده اجازه دهد
واحدهای اجرایی بیشتر، Cache بزرگ تر، کنترل کننده های پیشرفته تر
یا قابلیت های جدیدتری به تراشه اضافه کند.
با این حال تعداد بیشتر ترانزیستور به تنهایی تضمین نمی کند
پردازنده سریع تر یا بهتر باشد. نحوه استفاده از این ترانزیستورها
و معماری کل تراشه اهمیت زیادی دارد.
Process Node چیست؟
Process Node نام یک نسل از فناوری ساخت تراشه است.
در گذشته نام Node ارتباط مستقیم تری با برخی ابعاد فیزیکی
ساخت داشت، اما در فرآیندهای مدرن این نام گذاری بیشتر به
یک برچسب نسل فناوری تبدیل شده است.
بنابراین نمی توان فرض کرد عدد 5nm در دو Foundry مختلف
دقیقاً نشان دهنده ساختار فیزیکی یکسانی است.
Lithography یا لیتوگرافی چیست؟
لیتوگرافی بخشی از فرآیند ساخت تراشه است که برای ایجاد
الگوهای بسیار کوچک مدار روی Wafer استفاده می شود.
ساخت یک CPU شامل مراحل بسیار بیشتری از لیتوگرافی است،
اما این فناوری نقش مهمی در امکان تولید ساختارهای بسیار
ریز و متراکم دارد.
آیا 5nm یعنی ترانزیستور دقیقاً 5 نانومتر است؟
در فناوری های مدرن پاسخ ساده «بله» نیست.
نام Node امروزی معمولاً یک عدد بازاری و نسلی است و
نمی توان آن را معادل طول دقیق یک بخش مشخص از تمام
ترانزیستورهای تراشه دانست.
گفتن اینکه «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، هسته ها، توان و عملکرد واقعی
با نسل قبل و بعد مقایسه خواهیم کرد.
با کوچک شدن ساختارهای نیمه رسانا، کنترل جریان،
نشتی، مقاومت اتصالات و پیچیدگی تولید اهمیت بیشتری
پیدا می کنند.
صنعت برای ادامه افزایش تراکم از ساختارهای ترانزیستوری
جدید، مواد متفاوت و روش های پیشرفته تر ساخت استفاده می کند.
بنابراین پیشرفت Process Node فقط «کوچک کردن یک شکل»
نیست؛ مجموعه بزرگی از نوآوری های مهندسی در مواد،
ترانزیستور، Lithography و Interconnect را شامل می شود.
طراح تراشه معمولاً نمی تواند همزمان تمام اهداف را
بدون محدودیت به حداکثر برساند.
افزایش فرکانس می تواند توان را بالا ببرد،
افزایش تراکم می تواند مدیریت حرارت را پیچیده تر کند
و طراحی برای توان بسیار پایین ممکن است سقف Performance
را محدود کند.
به همین دلیل CPU نتیجه مجموعه ای از Trade-offهای مهندسی است.
فناوری ساخت بهتر می تواند امکان افزایش تعداد ترانزیستور،
بهبود Efficiency یا افزایش فرکانس را فراهم کند.
اما این پتانسیل فقط زمانی به Performance واقعی تبدیل می شود
که طراحی Microarchitecture و محصول نیز از آن استفاده کند.
- فرض اینکه 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 نیست.
