دانش و فناوری

توان مصرفی واقعی پردازنده و تفاوت آن با توان طراحی حرارتی یا TDP را بدانید

توان مصرفی واقعی پردازنده و تفاوت آن با توان طراحی حرارتی یا TDP را بدانید

توان مصرفی پردازنده را باید ازجمله عوامل مهم در عملکرد آن دانست؛ اما چرا اعداد و ارقام اعلام شده ی سازنده با اعداد و ارقام واقعی به دست آمده متفاوت است؟

توان مصرفی که همیشه یکی از دغدغه های اصلی سازندگان تراشه بوده، گذشتهاً در بازار کامپیوترهای شخصی مدنظر کاربران نیز قرار گرفته است. به عنوان مثال، کاربران توان مصرفی پردازنده های هشت هسته ای اینتل را بین ۱۵۰ تا ۱۸۰ وات گزارش می کنند؛ درحالی که اینتل شاخص TDP این پردازنده ها را ۹۵ وات اعلام نموده است. در این مقاله، قصد داریم دلیل این تفاوت در میزان توان مصرفی گزارش شده را توضیح دهیم.

شاخص توان طراحی حرارتی (Thermal Design Power)

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

شاخص توان طراحی حرارتی (TDP) به همین قدرت خنک کاری سیستم خنک کننده بستگی دارد. با استناد به این وابستگی، اکثر کاربران معمولا به اشتباه میزان TDP پردازنده را با حداکثر توان مصرفی آن برابر می دانند؛ زیرا میزان گرمایی که باید از پردازنده خارج شود، برابر با مقدار توانی است که پردازنده برای انجام پردازش مصرف نموده است. این درحالی است که در این تعریف، مشخصه ی TDP درواقع حداقل گرمایی است که سیستم خنک کننده باید خارج کند تا پردازنده بتواند همیشه به عملکرد خود در فرکانس پایه ادامه دهد. البته مقداری از گرما ازطریق اتصالات فلزی پردازنده به مادربرد از آن خارج می‎ شود؛ ازاین رو، قدرت خنک کننده ی استفاده شده عملا کمتر از میزان TDP پردازنده خواهد بود. بااین حال در بیشتر مواقع، توان مصرفی در حالت پردازش در فرکانس پایه و TDP با یکدیگر برابر درنظر گرفته می شوند.

کاربران معمولا به اشتباه میزان TDP پردازنده را با حداکثر توان مصرفی آن برابر می دانند

برای توضیح بیشتر مفهوم عبارت مذکور باید گفت در صورتی که با توجه به تصور این اشتباه، حداکثر توان مصرفی پردازنده ها به میزان شاخص TDP آن ها محدود می شد، مشاهده ی عملکردی مانند نمودار زیر از پردازنده های پرقدرت چندهسته ای دورازانتظار نبود. همان طورکه از تصویر پیداست، پردازنده ای که بدون محدودیت می تواند تا ۱۸۰ وات توان برای پردازش در زمان کوتاه تری مصرف کند، با محدودکردن حداکثر توان مصرفی خود به میزان TDP باعث کاهش درخورتوجه قدرت پردازش خود خواهد شد.

در سال های گذشته، تولیدکنندگان برای تمامی پردازنده های خود عملکرد در یک فرکانس پایه را به ازای مصرف توانی مشخص تضمین می کنند که همان TDP است. به عنوان مثال، درباره ی پردازنده Intel Core i7-8700 65W، اینتل فقط وقتی که پردازنده در فرکانس پایه ۳.۲ گیگاهرتز کار کند، توان مصرفی ۶۵ وات یا کمتر را تضمین می کند و هیچ تضمینی درباره ی عملکرد این پردازنده در فرکانس های بالاتر از ۳.۲ گیگاهرتزو توان مصرفی بیشتر از ۶۵ وات ندارد.

اینتل در پردازنده های خود علاوه بر فرکانس پایه، فرکانس پردازش در حالت  Turbo Boost را نیز معرفی می کند. برای نمونه، هر هسته ی پردازنده Core i7-8700 علاوه بر پردازش در فرکانس پایه ی ۳.۲ گیگاهرتز، در حالت توربوی تک هسته ای قدرت پردازش در فرکانس ۴.۷گیگاهرتزی و در حالتی که تمامی هسته ها درحالت توربو فعال باشند، قدرت پردازش در فرکانس ۴.۳ گیگاهرتز نیز دارند. درباره ی دلیل اینکه چرا فرکانس در حالت فعالیت تمام هسته ها پایین تر از حالت فعالیت فقط یک هسته است، کمی پایین تر توضیح خواهیم داد. این پردازنده مشخصا برای پردازش در فرکانس توربو، درمقایسه با فرکانس پایه، احتیاج به مصرف انرژی بسیار بیشتری از TDP محاسبه شده برای آن دارد؛ پس، گرمای بسیار بیشتری نیز تولید می کند. ازاین رو، سیستم خنک کننده و منبع تغذیه (پاور) ۶۵واتی به کاررفته در این پردازنده برای خنک کاری و تأمین انرژی پردازنده دیگر در حالت توربو مناسب نخواهند بود و برای امکان پردازش مداوم در حالت توربو به خنک کننده و نیز پاور قوی تر نیاز است.

سازندگان پردازنده این واقعیت را با کابران خود در میان نمی گذارند که برای عملکرد مطلوب پردازنده در حالت توربو احتیاج به پاور و خنک کننده قوی تر است

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

توان مصرفی واقعی پردازنده و تفاوت آن با توان طراحی حرارتی یا TDP را بدانید
توان مصرفی واقعی پردازنده و تفاوت آن با توان طراحی حرارتی یا TDP را بدانید

حالا ممکن است این سؤال پیش بیاید که پس بااین حساب، TDP مفهوم بی خاصیتی است؟ در صورتی که مفهوم خاصی ندارد؛ پس چرا به تازگی به دغدغه ی تولیدکنندگان تراشه تبدیل گردیده است؟ در دهه ی گذشته، با اینکه مفهوم TDP تفاوت زیادی نکرده؛ اما طریقه ی استفاده ی پردازنده ها از انرژی تغییر نموده است. در گذشته، پردازنده های چهارهسته ای TDP با توان ۹۵ وات، حتی در حالت توربو به علت تعداد کم هسته ها و فرکانس پردازش به نسبت پایین تر، حداکثر توان مصرفی ۵۰ وات داشتند. باوجوداین، امروزه با بالا رفتن تعداد هسته های پردازنده ها بدون بالا رفتن TDP هسته های آن ها، خیلی از پردازنده های شش و هشت هسته ای با فرکانس های توربو بیشتر از ۴ گیگاهرتز، در پردازش های سنگین توان مصرفی بالاتر از TDP خود دارند.

شاخص های مؤثر در تعیین میزان توان مصرفی پردازنده

سازندگان تراشه برای هر پردازنده بسته به توانایی های و محیط کاری استاندارد آن، سطوح گوناگون را برای توان مصرفی با قابلیت تنظیم در سفت افزار (FirmWare) سیستم درنظر می گیرند. قابلیت تنظیم سطح توان مصرفی، به سازندگان کامپیوترها این امکان را می دهد که در تولیدات خود توان مصرفی پردازنده را بنا به شرایط تغییر دهند. پس، تعیین میزان دقیق توان مصرفی پردازنده ها در سیستم های گوناگون بسیار مشکل خواهد بود.

برای توضیح ساده تر این مفهوم، سه مشخصه ی PL1 (سطح توان ۱) و PL2 (سطح توان ۲) و Tau (ضریب زمانی) را درباره ی توان مصرفی پردازنده ها درنظر بگیرید. PL1 میزان توان مصرفی پردازنده در حالت پایدار و برای زمان های طولانی است. پس، می توان گفت PL1 معمولا برابر با TDP پردازنده است. پس، در صورتی که TDP پردازنده ۸۰ وات است، PL1 آن نیز ۸۰ وات خواهد بود.

PL2 حداکثر (دقت داشته باشید، حداکثر) توان مصرفی پردازنده و برای مدت زمان کوتاه است و طبیعتا بالاتر از PL1 است. پردازنده ها با توجه به طراحی شان و تعداد هسته های به کار گرفته شده در آن ها لزوما ممکن است نتوانند با مصرف توان PL1 برای مدت طولانی در حالت توربو قرار بگیرند. پس زمانی که وظیفه ی سنگینی به پردازنده محول خواهد شد، توان مصرفی آن می تواند تا PL2 بیشتر شود و بتواند در حالت توربو قرار گیرد. پس باتوجه به تعاریف مذکور، می توان گفت توان مصرفی کل تراشه در حالت توربو نه لزوما، ولی ممکن است حداکثر تا مقدار PL2 بیشتر شود.

Tau متغیر زمان است و حداکثر مدت زمانی را تعیین می کند که پردازنده می تواند در حالت توان PL2 قرار گیرد؛ پیش از آنکه مجبور باشد به حالت PL1 بازگردد. دقت داشته باشید مقدار Tau به میزان توان مصرفی یا دمای پردازنده وابسته نیست؛ چون بنابر تعریف، زمانی که دمای پردازنده به حداکثر میزان مجاز خود رسید، برای کاهش دما ولتاژ ورودی خود و درنتیجه، فرکانس پردازشی را به شدت کاهش می دهد و در آن حالت، به علت پردازش در فرکانس هایی بسیار پایین تر از فرکانس پایه یا توربو مقادیر PL1 و PL2 دیگر معنایی ندارند.

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

در صورتی که پردازنده درحال پردازش فقط یک زیربرنامه (حالت تک ریسمانی یا single-thread) باشد، احتیاج به یک هسته دارد که در حالت توربوی خود کار می کند؛ اما به علت اینکه فقط یکی از هسته ها فعال است، توان مصرفی کل پردازنده به PL2 نخواهد رسید. حال زمانی که سایر هسته های پردازنده برای پردازش چند زیربرنامه موازی (حالت چندریسمانی یا multi-thread) در حالت توربو فعال می شوند، توان مصرفی آن ممکن است به PL2 نزدیک شود و فرکانس پردازش به گونه ای تنظیم خواهد شد که توان مصرفی کل تراشه از این مقدار بیشتر نشود. درواقع، به همین دلیل فرکانس پردازنده در حالتی که تمامی هسته ها فعال هستند، پایین تر از زمانی است که فقط یک هسته فعالیت می کند. زمانی که این حجم کاری زیاد برای مدتی برابر با Tau ادامه بیابد، بنابر تعریف، سفت افزار باید سریعا میزان توان مصرفی را به PL1 کاهش دهد. در صورتی که به علت سنگینی حجم کار میزان توان مصرفی نتواند در محدوده ی PL1 باقی بماند، ولتاژ ورودی و فرکانس پردازشی به گونه ای تنظیم می شوند که توان مصرفی کل تراشه به اندازه ی PL1 باقی بماند. درنتیجه، دمای تراشه را کاهش و طول عمرش را بالا می برد.

توان مصرفی پردازنده در همین سطح PL1 باقی می ماند تا وقتی که پردازنده وظیفه ی خود را به پایان برساند و یکی از هسته ها برای مدتی معلوم (معمولا زیر پنج ثانیه) در حالت غیرفعال یا idle قرار گیرد. بعد از گذشت این زمان، سیستم می تواند درصورت اعمال حجم کاری جدید باردیگر سطح توان PL2 را به کار گیرد.

به عنوان مثال، در پردازنده Core i7-8700K اینتل، مقدار PL1 برابر با ۹۵ وات و PL2 برابر با ۱۱۸.۷۵ وات و Tau هشت ثانیه تعیین شده اند. پس در این حالت، پردازنده باید بتواند تا هشت ثانیه در سطح انرژی حدود ۱۱۹ وات فعال باشد و پس از آن به سطح ۹۵ وات بازمی گردد. جالب اینجاست که اینتل این مقادیر را برای چندین نسل از پردازنده های خود ثابت نگه داشته؛ چراکه توان مصرفی این پردازنده ها حتی در حالتی که با تمام قوا درحال فعالیت هستند، حتی پایین تر از سطح PL1 یا همان ۹۵ وات است. بااین حال، ازآنجاکه این مقادیر را سفت افزار تنظیم می کنند، تولیدکنندگان مادربرد می توانند با استفاده از خنک کننده های قوی تر به عنوان مثال PL2 را بدون محدودیت سفت افزاری (درعمل برابر با حداکثر توان قابل مصرف تراشه برای ماندن در محدوده ی دمایی مجاز) و PL1 را به ۱۶۵ وات یا همان ۹۵ وات تغییر دهند. در صورتی که دلیل این مسئله برایتان مشخص نیست، کمی پایین تر آن را توضیح خواهیم داد.

درواقع در محصولاتی با محدودیت دمایی مانند لپ تاپ ها و کامپیوترهای شخصی کوچک، مقادیر PL1 و PL2 و Tau باید کاملا محافظه کارانه انتخاب شوند. حتی در تعدادی از محصولات رده بالا نیز مقدار PL2 را برابر با TLP قرار می دهند تا مطمئن شوند در صورتی که پردازنده در حالت توربو قرار گرفت، میزان توان مصرفی آن بیشتر از TLP نشود.

بعد از ظهور پردازند ه های شش هسته ای، در بررسی پردازنده ها تا زمانی که دمای پردازنده در محدوده ی مجاز قرار دارد، معمولا مقادیر PL1 و PL2 نامحدود درنظر گرفته می شوند. دلیلی اصلی این مسئله چیست؟

تمامی سیستم های مدرن در خود قابلیت تنظیم سطوح انرژی (سطح انرژی برای بلند مدت و کوتاه مدت) و زمان مجاز برای هر سطح انرژی را دارند. در اکثر مواقع و در تنظیمات پیش فرض، به علت اینکه سیستم به طور خودکار سطوح مناسب را تعیین می کند، کاربر این مقادیر را نمشاهده می کند. بدین ترتیب، تولیدکنندگان مقادیر مدنظر را در حافظه ذخیره و از آن ها استفاده می کنند؛ ولی کاربر فقط کلمه Auto، به معنی تنظیم خودکار را مشاهده می کند. با استفاده از این استراتژی، تولیدکننده می تواند مثلا مقدار PL2 را برابر با ۴۰۹۶ وات و مقدار Tau را برابر با ۶۵۵۳۵ ثانیه یا ۱- قرار بدهد که در تنظیمات بایوس به معنای بی نهایت است. این تنظیمات تا زمانی که دما از حد مجاز فراتر نرود، به پردازنده امکان فعالیت همیشگی در حالت توربو را می دهد.

از دیدگاه شما چرا تولیدکنندگان از این راه بهره می برند؟ دلایل متعددی برای این کار ذکر کرده اند: ۱. کاربر می تواند همواره از حالت توربوی پردازنده بهره ببرد که در گرفتن امتیازات فراوان در بنچمارک های گوناگون و دریافت دیدگاه های مثبت منتقدان یا در حالت ساده تر مقایسه ی توانایی هایی پردازنده های گوناگون از نظر آماری مؤثر خواهد بود؛ ۲. به تولیدکنندگان مادربرد این اجازه را می دهد که در محصولاتشان یا از سطوح انرژی پیش فرض تعیین شده برای این پردازنده استفاده کنند یا اینکه سطوح انرژی مختص به خود را برای مهندسی بهتر محصول نهایی تعریف کنند. درواقع، زمانی که مادربرد با طراحی رده بالا، قابلیت استفاده ی دائمی از تمام هسته های پردازنده در حالت توربو را دارد، با این راه تولیدکننده امکان اجرای آن را خواهد داشت؛ ۳. در صورتی که کاربر از سیستم های خنک کننده ی پیشرفته تر استفاده کند، می تواند پردازنده را در حالت توربوی تمام هسته ای و به تبع آن، سطوحی بالاتر از ۱۶۰ وات به کار گیرد و این تجربه ی کاربری بهتری برای کاربر رقم می زند.

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

سازندگان تراشه ی استاندارد مشخصی برای پردازنده های خود تعیین می کنند. مقادیر PL1،PL2 ،Tau، مدار مادربرد و تنظیمات سفت افزار همگی از مقادیر پیشنهادی سازنده استفاده می کنند. تعدادی از این مقادیر برای کاربر معلوم و مابقی آن ها نامعلوم هستند؛ ولی درهرصورت این مقادیر صرفا پیشنهاد هستند و در نهایت می توانند آن را تولیدکنندگان مادربرد دست خوش تغییر کنند. به همین دلیل، خیلی از کاربران تمایل دارند قدرت پردازنده در حالات «تنظیمات پیشنهادی سازنده ی پردازنده» و «تنظیمات پیش فرض محصول نهایی» و «حالتی که پردازنده در سطوح حداکثری خود فعال است» را بدانند و این، کار آزمایش کنندگان این پردازنده ها را دشوار می کند. همان طور که معلوم است، پردازنده در حالت تنظیمات پیش فرض سازنده ی پردازنده ، قدرت به مراتب کمتری درمقایسه با حالت تنطیمات پیش فرض محصول نهایی خواهد داشت. حالتی که پردازنده در سطوح انرژی حداکثری خود مشغول فعالیت است نیز به وضوح بیشترین قدرت پردازنده را نمایش می دهد. پس، تقریبا تمامی بررسی های انجام شده روی پردازنده های موجود در بازار با استفاده از تنظیمات محصول نهایی بوده و در آن ها از تنظیمات پیشنهادی تولیدکننده ی پردازنده استفاده نگردیده است.

کاربران تمایل دارند قدرت پردازنده در حالات «تنظیمات پیشنهادی سازنده » و «تنظیمات پیش فرض محصول نهایی» و «فعال در سطوح حداکثری» آن را بدانند

به تازگی بعضی تولیدکنندگان مادربرد برای بالا رفتن قابلیت اطمینان محصولات تجاری یا محصولات استفاده شده در سرورها، استراتژی خود را تغییر داده و مقدار Tau را به جای مقدار بسیار زیاد به سی ثانیه محدود می کنند. این تغییر باعث می شود که زمانی که این مادربردها در بنچمارک ها آزمایش می شوند، امتیازات کمتری درمقایسه با گذشته به دست آورند؛ ولی این نتایج به واقعیت تعیین شده ی سازنده ی پردازنده شبیه تر هستند. بااین حال، کماکان برای محصولات با قابلیت اطمینان کمتر مانند محصولات خانگی، تولیدکنندگان از تنظیمات سازندگان تراشه استفاده نمی کنند و مقادیر بسیار بیشتر را برای گرفتن امتیازات زیاد در بنچمارک ها استفاده می کنند.

باتوجه به این اتفاق، پیشنهاد استفاده از دو مقدار TLP متفاوت به جای یک مقدار ثابت برای محصولات در آینده غیرمنطقی به نظر نمی رسد؛ مثلا (TDP (Peak یا TDP برای سطح انرژی PL2 و (TDP(sustained یا TDP برای سطح انرژی PL1. دراین صورت، کاربر می تواند میزان حداکثر توان مصرفی را از توان مصرفی در حالت پردازش با فرکانس پایه تشخیص دهد.

نظر شما

instagram default popup image round
Follow Me
502k 100k 3 month ago
Share