ایده‌های تأثیرگذار آرم و کوالکام برای کاهش مصرف انرژی در چیپ‌های پردازشی

سه‌شنبه ۲۲ اسفند ۱۳۹۱ - ۲۳:۵۷
مطالعه 15 دقیقه
با افزایش توان پردازشی تراشه‌های موبایل، بحث مصرف انرژی در آن‌ها به شدت مورد توجه قرار گرفته است. چرا که به طور معمول با افزایش توان پردازنده، مصرف انرژی نیز افزایش یافته و حرارت بیشتری تولید می‌شود. در این بین شرکت‌های مطرح دنیا در زمینه طراحی و تولید پردازنده‌های موبایل به سراغ روش‌هایی رفته‌اند تا همزمان با افزایش توان پردازشی، مصرف انرژی را کاهش دهند یا لااقل آن را ثابت نگاه دارند. در این مقاله به سراغ معماری big.LITTLE آرم و معماری نرخ ساعت نامتقارن کوالکام می‌رویم تا بیشتر از قبل از ایده‌های مدرن این دو شرکت برای حل این مشکل باخبر گردیم.
تبلیغات

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

مقاله‌های مرتبط:

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

    01 qualcomm arm

    در این بین شرکت آرم اندیشه متفاوتی را دنبال کرده و با معماری big.LITTLE از جنبه دیگری به مبحث مصرف توان در پردازنده‌ها پرداخته است. این معماری که به زودی در چیپ هشت هسته‌ای Exynos Octa سامسونگ نمایان می‌شود از دو سری هسته متفاوت بهره برده است. همانطور که قبلا در مقاله «بررسی عمیق هسته‌های ریز و درشت Exynos 5 Octa سامسونگ بر بستر معماری big.LITTLE آرم‬ » به این موضوع به‌طور کامل پرداخته شد، این چیپ از چهار هسته فوق کم مصرف و بهینه Cortex A7 در کنار چهار هسته فوق قدرتمند ARM Cortex A15 استفاده می‌کند. بدین ترتیب عملیات سبک به هسته های A7 و وظایف سنگین به هسته‌های A15 سپرده می‌شود.

    02 exynos

    هسته‌های قدرتمند A15 که از طول  ۱۵ پایپ‌لاین تا ۲۴ مرحله‌ای برخوردارند، توان محاسباتی نزدیک به پردازنده‌های Core i3 اینتل را ارایه می‌دهند و در حال حاضر قوی‌ترین هسته‌های مبتنی بر معماری آرم می‌باشند. از طرف دیگر هسته‌های A7 با توان محاسباتی بالاتر از A8 و نزدیک به A9 از تمامی هسته‌های ساخته شده بر اساس معماری آرم بهینه‌تر می‌باشند.

    03 qualcomm
    05 qualcomm

    big.LITTLE با کنار هم قرار دادن هسته‌های A7 و A15 در یک چیپ و فراهم نمودن بستری برای سوییچ بسیار سریع میان آن‌ها توانسته است نزدیک به ۷۰ درصد در مصرف انرژی این چیپ نسبت به هسته‌های A9 بکاهد. در ادامه تلاش می‌کنیم با معرفی معماری سرعت ساعت نامتقارن مقایسه‌ای میان آن و تکنولوژی big.LITTLE در مبحث مصرف توان داشته باشیم.

    معماری سرعت ساعت نامتقارن در برابر big.LITTLE

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

    cpu arm

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

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

    هر چند هسته ۱ (CPU1) در معماری ساعت متقارن نسبت به معماری نامتقارن انرژی بیشتری مصرف می‌کند اما به دلیل فرکانس کاری بیشتر وظیفه محوله را سریع‌تر انجام می‌دهد. سرعت بیشتر در انجام وظیفه موجب می‌شود که در عملیات سبک و نه‌چندان طولانی، کار زودتر تمام شده و هسته زودتر به حالت استندبای ( Low power State) برود. ماحصل این نوع پردازش منجر به این می‌شود که مصرف خالص انرژی (جمع انرژی مصرف شده در مدت زمان موردنظر) برای هر دو حالت متقارن و نامتقارن در نهایت یکسان گردد. شکل زیر میزان اتلاف انرژی را در هر دو حالت متقارن و نامتقارن نشان می‌دهد.

    cpu1 comapare

    کاهش عملکرد در معماری نامتقارن در دو حالت از انتقال اطلاعات صورت می‌پذیرد. در حالت نامتقارن، هر هسته و متعلقات آن مثل حافظه‌های کش L1 و L2 و واحد SCU - Snoop control Unit در حوزه‌های فرکانسی متفاوتی عمل می‌کنند. همانگونه که در شکل زیر  (حالت A) مشاهده می‌شود داده‌ها باید از طریق کش L2 و واحد SCU به هسته منتقل شوند که به دلیل یکسان نبودن فرکانس‌ها میان این واحد‌ها، به چندین کلاک اضافی برای اتمام کار نیاز است، در نتیجه عملکرد پردازنده دچار تنزل می‌شود.

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

    cpu1 style

    مقایسه معماری‌ها از نگاه شرکت‌های سازنده

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

    کوالکام که با به‌کارگیری هسته‌های Krait و معماری نامتقارن یکی از غول‌های بزرگ تکنولوژی محسوب می‌شود نسبت به بازدهی عملکرد پردازنده‌هایش در مقابل معماری big.LITTLE واکنش مستندی ارایه نکرده است. اما در مقابل دیگر هسته‌های آرم با معماری متقارن به شکل زیر بسنده کرده است. کوالکام معماری نامتقارن خود را ۲۵ تا ۴۰٪ بهینه‌تر از طراحی‌های متقارن آرم می‌داند.

    power saving

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

    در مقابل آرم با به‌کارگیری هسته‌های فوق کم مصرف A7 که نزدیک به ۳.۳ برابر انرژی کمتری نسبت به A15 مصرف می‌کنند نمودار زیر را از عملکرد معماری big.LITTLE به‌نمایش گذاشته است.

    total power cpu

    خوشبختانه نمودار آرم اطلاعات دقیق‌تری متناسب با سنگینی وظیفه محوله را به نمایش می‌گذارد.

    محور افقی نمایش‌دهنده عملکرد (متناسب با سنگینی عملیات) و محور افقی حاکی از مصرف کلی انرژی می‌باشد. در بازه عملکردی پایین ( خط سبزرنگ بین نقطه A و B) به دلیل استفاده big.LITTLE از هسته‌های A7 شاهد کاهش محسوس مصرف انرژی این معماری نسبت به معماری نامتقارن هستیم. در این بازه، وظایفی همچون ویرایش متن، پردازش پشت زمینه سیستم عامل، پخش موسیقی و... انجام می‌پذیرد. در بازه عملکردی B تا C که بیشتر به بازی‌های سه‌بعدی گرافیک بالا اختصاص دارد، توان مصرفی معماری big.LITTLE و معماری نامتقارن نزدیک به‌هم می‌باشد.

    بحث نهایی و نتیجه‌گیری

    به نظر می‌رسد که معماری big.LITTLE از نظر تئوریکی مصرف انرژی بهینه‌تری نسبت به ایده پردازش نامتقارن دارد چرا که:

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

    دقت داشته باشید که شرکتی همانند کوالکام از معماری آرم برای طراحی پردازنده‌هایش استفاده می‌کند اما در طراحی هسته‌ها با الهام از هسته‌های آرم، خود هسته‌هایی با نام Krait را طراحی و به بازار عرضه می‌کند. به‌دلیل تفاوت در طراحی هسته‌ها، مقایسه مستقیم میان مدل‌های تولیدی این شرکت همانند اسنپ دراگون S4 pro یا اسنپ‌دراگون ۶۰۰ با هسته‌های krait در مقابل Exynos octa ( با هسته‌های A15 و A7) یا تگرا ۴ ( با هسته‌های A15) منطقی و علمی نخواهد بود. آنچه که در این مقاله مقایسه‌ شده، تفاوت‌ میان معماری نرخ ساعت نامتقارن در مقابل معماری big.LITTLE است که اگر هسته‌ها را یکسان در نظر بگیریم مقایسه معنادارتر خواهد شد.

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

    فرض کنید که دو چیپ یکی با معماری نامتقارن و دارای چهار هسته A15 و دیگری با معماری big.LITTLE و دارای هشت هسته (چهار هسته A15 و چهار هسته A7) موجود باشد.

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

    در وظایف سبک بی‌شک A15 قادر است بسیار سریع‌تر از A7 کار را به اتمام برساند در نتیجه مصرف خالص انرژی نباید آنچنان تفاوتی داشته باشد. اما همانند آنچه که در نمودار آرم نشان داده شد، در وظایف سبک مصرف انرژی کل هسته‌های A7 متقارن بسیار کمتر از A15 نامتقارن می‌باشد. اما چرا؟؟

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

    2. چون وظایف سبک می‌باشد در نتیجه، چهار هسته‌ی A15 نامتقارن به طور کامل وارد گود نمی‌شوند در حالی که هر چهار هسته A7 به‌دلیل متقارن بودن با نهایت قدرت وظایف را انجام می‌دهند.

    3. و در نهایت جدول زیر که به منزله زدن سنگ آخر در نشان دادن ایده مناسب معماری big.LITTLE است، به خوبی تفاوت میان عملکرد (Performance) و مصرف انرژی بین دو هسته A7 و A15 را در چندین نوع بنچمارک نشان می‌دهد. ستون اول نشان‌دهنده برتری عملکرد پردازشی Cortex-A15 نسبت به Cortex-A7 است و ستون دوم حاکی از برتری بازدهی ( نسبت عملکرد به توان مصرفی) Cortex-A7 در برابر Cortex-A15 می‌باشد. برای مثال در بنچمارک Dhrystone در سطر اول، Cortex-A15 توانسته است 1.9 برابر از نظر عملکرد و کارایی پردازشی بهتر از Cortex-A7 عمل کند، اما از آنجا که Cortex-A7 بیشترین بازدهی را در میان تمامی برادران خود دارد، توانسته است در بنچمارک اول نزدیک به 3.5 برابر بازدهی بالاتری کسب کند. در کل Cortex-A7 در یک توان پردازشی ثابت توانسته است انرژی کمتری در تمامی بنچمارک‌ها نسبت به Cortex-A15 مصرف کند.

    cortex a15

    این نمودار نیز نکات جالبی با خود دارد:

    cortex-a7

    از دلایل بالا به‌راحتی می‌توان برداشت کرد که در وظایف سبک و مداوم، چهار هسته A7 متقارن نسبت به چهار هسته A15 نامتقارن به‌مراتب انرژی کمتری مصرف می‌کند.

    سخن پایانی

    پس تاکنون متوجه اساس ایده big.LITTLE شده‌اید. این ایده می‌گوید: باعنایت به‌این‌که بیشترین مصرف باتری به ازای کارهای سبک و مداوم صورت می‌گیرد و کارهای سنگین به دلیل رخداد کم، مصرف خالص کمتری از باتری دارند، اگر بتوان هسته‌های فوق کم مصرف را برای پردازش کارهای سبک در نظر گرفت، میزان خالص مصرف باتری کاهش معناداری پیدا می‌کنند. در عوض با استفاده از هسته‌های پرقدرت متقارن برای کارهای سنگین، می‌توان محصول نهایی را برای انجام درست این امورپیچیده آماده ساخت.

    اما نکاتی وجود دارد که باید در مقایسه به آن دقت فراوان گردد:

    - big.LITTLE می‌تواند در استفاده روزمره و واقعی از محصول، مصرف انرژی را کاهش دهد، چرا که وابستگی شدیدی به نوع کاربرد محصول دارد. بی‌شک در بنچمارک‌هایی همانند پخش ویدیو با کیفیت بالا نباید انتظار فوق‌العاده‌ای از آن برای ثبت رکورد طول عمر باتری داشت. چرا که این مدل بنچمارک‌ها از واقعیت استفاده روزمره از موبایل دور می‌باشند. افرادی که از محصول خود مبتنی بر این چیپ برای امور سرگرمی سنگین همانند بازی‌های سنگین بهره می‌برند، طول عمر باتری بیشتری نسبت به دیگر محصولات با چیپ‌های دیگر نصیبشان نخواهد گردید.

    - چیپ‌های مبتنی بر معماری big.LITTLE به دلیل به‌کارگیری ۸ هسته نسبت به دیگر پردازنده‌های رایج، بزرگ‌تر و گران‌تر می‌باشند و طراحی محصولات نازک با این چیپ‌ها کار ساده‌ای نخواهد بود.

    آنچه که فعلا به‌صورت علامت سوال باقی مانده است، تفاوت واقعی و عملی معماری big.LITTLE نسبت به معماری‌های قبلی آرم و معماری هسته‌های Krait می‌باشد. کوالکام با به‌کارگیری فناوری نوین HPM در لیتوگرافی سری اسنپ‌دراگون ۸۰۰ خود، حرف‌های بسیاری برای گفتن خواهد داشت. بی‌شک سری ۸۰۰ این شرکت جواب خوب و شایسته‌ای به معماری big.LITTLE آرم خواهد بود که برای مقایسه فعلا باید به انتظار بنشینیم.

    نکات تکمیلی

    آرم بعد از انجام تست‌های فراوان به نتایج جالبی دست پیدا کرده است. آنالیز آرم نشان می‌دهد که بسیاری از امور روزانه در استفاده از موبایل نیاز به هسته‌هایی با قدرت متوسط دارند. حتی بعضی از امور سنگین مانند فیلم‌های Full HD توسط واحد GPU پردازش شده و زحمت زیادی به گردن CPU نمی‌اندازند.

    در تست‌های آرم و همانگونه که در شکل زیر مشهود است، استفاده از معماری big.LITTLE منجر به کاهش ۵۰ درصدی در مصرف انرژی برای وظایف متداولی همانند وب‌گردی و پخش موزیک می‌‌شود. در وب‌گردی big.LITTLE توانسته است به همان عملکردی دست پیدا کند که هسته‌های A15 توانسته‌اند، اما با این تفاوت که معماری big.LITTLE نزدیک به ۵۰٪ انرژی کمتری مصرف کرده است.

    workload

    شکل‌های زیر نیز به‌خوبی عملکرد معماری big.LITTLE را در افزایش توان پردازشی در کنار کاهش مصرف انرژی نشان می‌دهد.

    normalized
    arm cortez a15
    a7 a15

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

    همانگونه که در نمودار بالا مشهود است پخش موزیک، پخش فیلم و بازی‌های عادی، فشار کمی را به هسته‌ها وارد ساختند ( مناطق با رنگ سبز). فقط در صفحات وب و آن‌هم با فایل‌های فلش زیاد، هسته‌ها به پیک کاری خود ( رنگ آبی ) رسیده‌اند. حال با تقسیم وظایف میان هسته‌های A7 برای انجام امور ناحیه سبز و هسته‌های A15 برای انجام امور ناحیه آبی، حجم زیادی در مصرف توان صرفه‌جویی می‌شود. این میزان صرفه جویی در نمودار واقع در پایین شکل آمده است. مثلا برای پخش موزیک به اندازه ۷۰٪، برای پخش فیلم به اندازه ۶۰٪ و... صرفه‌جویی می‌شود.

    endg chart
    تبلیغات
    داغ‌ترین مطالب روز

    نظرات

    تبلیغات