بنچمارك‌هاي تك هسته‌اي در مقايسه تراشه M1 اپل با پردازنده‌هاي x86 نقصي بنيادي دارند

جمعه ۱۴ آذر ۱۳۹۹ - ۲۲:۰۰
مطالعه 7 دقيقه
مرجع متخصصين ايران
مقايسه‌ي عملكرد تك هسته‌اي پردازنده‌ي اپل M1 با پردازنده‌هاي x86 در بنچمارك‌هاي امروزي از اساس غلط است و به نتايج بهترِ تراشه‌ي اپل منتهي مي‌شود؛ دليل چيست و چرا اين ادعا مطرح مي‌شود؟
تبليغات

اپل مدتي پيش در جريان برگزاري رويدادي الكترونيك، نخستين تراشه‌ي سري اپل سيليكون را با نام ام وان (Apple M1) براي كامپيوتر‌هاي سري مك رونمايي كرد. اپل مطابق سنت هميشگي خود، بنچمارك‌هاي مربوط به تراشه‌ي جديد را نيز به‌اشتراك گذاشت تا به ما نشان دهد كه M1 درمقابل رقبا چه حرف‌هايي براي گفتن دارد.

بنچمارك‌هاي اپل توسط متخصصان زيادي ديده شدند، اما نكته‌اي مهم دررابطه‌با آن‌ها وجود دارد كه ممكن است از چشم شما دور مانده باشد. نويسنده‌ي رسانه‌ي Wccftech ادعا مي‌كند تقريبا تمامي مقايسه‌هايي كه در حوزه‌ي عملكرد تك هسته‌اي در بين تراشه‌ي M1 و تراشه‌هاي مدرن مبتني‌بر معماري x86 مي‌بينيد، از اساس ناقص هستند (البته با فرض اينكه هدف اصلي،‌ فهميدن اين موضوع باشد كه كدام هسته سرعت پردازشي بيشتري دارد). اكثر بنچمارك‌هاي تك هسته‌اي نمي‌توانند به‌طور كامل هسته‌هاي مدرن x86 را اشباع‌ (Saturate) كنند، اما توانايي اشباع كردن تراشه‌ي M1 را دارند.

امروزه صنعت تراشه در تسلط كامل معماري x86 قرار دارد. تقريبا تمامي پردازنده‌هاي x86 كه در بازار موجود هستند (به‌غير از برخي پردازنده‌هاي قديمي) در معماري خود از مولتي‌تردينگ هم‌زمان (SMT) استفاده مي‌كنند. اينتل نسخه‌اي اختصاصي از اين فناوري را با نام هايپرتردينگ (HyperThreading) در پردازنده‌هاي خود به‌كار مي‌گيرد و AMD نيز نسخه‌‌اي اختصاصي از آن را در پردازنده‌هاي سري رايزن دارد.

هسته‌هاي مدرن x86 بسيار عريض هستند و يك ترد (Thread)، به‌خصوص در ويندوز، به‌طور معمول براي اشباع كردن هسته و استفاده از تمامي منابعي كه در اختيار دارد كافي نيست. دقيقا به همين دليل است كه به هر هسته، دو ترد اختصاص داده مي‌شود و هسته وظيفه‌ي كاري خود را ازطريق اين دو ترد دريافت مي‌كند.

نبود SMT در اپل M1 باعث مي‌شود بنچمارك‌هاي تك هسته‌اي براي مقايسه‌‌ي اين تراشه با تراشه‌هاي x86، عادلانه نباشند

رسانه‌ي Wccftech به‌نقل از يكي از معماران سخت‌افزار كه نخواسته نامش فاش شود مي‌نويسد فلسفه‌ي فناوري SMT، در طراحي نهفته است. دي‌‌كُد كردن فرايند uOP و برخي بهينه‌سازي‌هاي ديگر به‌منظور زمان‌بندي پردازش‌ها (Process Scheduling) ازطريق آنچه در دنياي سخت‌افزار به‌عنوان بازنشسته‌شدن (Retirement) شناخته مي‌شود، جزو اصلي‌ترين دلايل استفاده از فناوري SMT در معماري x86 هستند.

معماري‌هاي RISC (كامپيوتر‌ي كم‌دستور) نسبت‌به معماري‌هاي CISC (كامپيوتر با دستورهاي پيچيده)، به‌منظور بارگذاري يا ذخيره‌ي داده پيچيدگي كمتري در زمينه‌ي دي‌كد كردن فرآيندهاي كاري دارند و به‌همين دليل مي‌توانند در زمينه‌ي دستورالعمل به‌ازاي ترد (Instruction per Thread) و دستورالعمل به‌ازاي كلاك (Instruction per Clock) عملكرد بهتري از خود نشان دهند. به‌همين دليل است كه به‌منظور به‌حداكثر‌رساندن قدرت پردازشي يك هسته در معماري x86، به استفاده از چند ترد نياز است. 

مرجع متخصصين ايران تست تك هسته اي بنچمارك Cinebench

گزينه‌ي Single Core در بنچمارك Cinebench و تقريبا تمامي بنچمارك‌هاي ديگر، بيشتر عملكردي همچون گزينه‌ي Single Thread دارد

دقيقا همين‌جا است كه سلطه‌ي معماري x86 بر بازار پردازنده اهميت پيدا مي‌كند. بنچمارك‌هاي مدرن زماني‌كه سراغ حالت تك هسته‌اي مي‌روند، درواقع درحال استفاده از حالت تك تردي هستند و تمامي وظيفه‌ي پردازشي را برعهده‌ي يك ترد مي‌گذارند. از آن‌جايي كه معمولا تراشه‌هاي ساخته‌شده برپايه‌ي معماري x86 و مجهز به فناوري SMT را با يكديگر مقايسه مي‌كنيد، مقايسه‌ي انجام‌شده دقيق از آب در مي‌آيد، زيرا هر دو هسته به‌شكل مشابه برخي اصلاحات به‌خود مي‌بينند تا ضعيف شوند.

وقتي درباره‌ي معماري جديدي صحبت مي‌كنيد كه كاملا با x86 متفاوت است و شامل فناوري SMT نمي‌شود، اوضاع به‌كلي دست‌خوش تغيير مي‌شود. تراشه‌ي M1 اپل از معماري آرم (ARM) استفاده مي‌كند و در اين تراشه برخلاف تراشه‌هاي مبتني‌بر معماري x86 از فناوري SMT استفاده نمي‌شود. تراشه‌ي ام وان اپل به‌منظور اشباع كردن هسته به تنها يك ترد نياز دارد (يا حداقل اين چيزي است كه اپل با اتكا بر فلسفه‌ي طراحي تراشه، به آن اعتقاد دارد). 

احتمالا تا اين جاي مقاله، خودتان كم‌كم متوجه اشكال شده‌ايد. وقتي بنچمارك‌هاي تك هسته‌اي را روي تراشه‌ي ام وان اپل اجرا مي‌كنيد، اين تراشه از تمامي تردهاي مرتبط‌به هسته استفاده مي‌كند، اما زماني‌كه همين بنچمارك را روي پردازنده‌هاي مدرن x86 اجرا مي‌كنيد، صرفا نيمي از تردهاي اختصاص‌داده‌شده به هسته، مورداستفاده قرار مي‌گيرد. به‌خاطر داشته باشيد عبارت «نيمي از تردها» ممكن است كمي گمراه‌كننده باشد زيرا افزايش سرعت ناشي از SMT به‌طور معمول بين ۲۰ تا ۳۰ درصد برآورد مي‌شود.

دو راه احتمالي براي دست‌و‌پنجه نرم كردن با اشكال موردمباحثه و دستيابي به نتايجي كه عادلانه‌تر باشند وجود دارد. روش اول، خاموش كردن قابليت SMT در پردازنده‌هاي x86 است تا هر يك از هسته‌ها در اين پردازنده‌ها به تنها يك ترد دسترسي داشته باشد؛ دقيقا مشابه كاري كه اپل در تراشه‌ي ام وان انجام مي‌دهد. متأسفانه انجام اين كار باعث مي‌شود آزمايش ازحالت عادلانه بودن دربيايد، زيرا پردازنده‌هاي مدرن x86 اساسا به‌گونه‌اي طراحي شده‌اند كه با قابليت SMT كار كنند. مطالعه‌ها نشان مي‌دهد نتايج كسب‌شده توسط پردازنده در حالت تك تردي به‌هنگام روشن يا خاموش بودن فناوري هايپرتردينگ هيچ تفاوتي با هم ندارد.

روش دوم اين است كه به بنچمارك اجازه دهيم هر دو ترد اختصاص‌داده‌شده به هسته را مورداستفاده قرار دهد. رسانه‌ي Wccftech اقدامي مشابه انجام داد تا بنچماركي اختصاصي خلق كند. Wccftech مي‌گويد در آزمايش‌هايش از عبارت ترد صفر (Thread 0) و ترد يك (Thread 1) كه هردوي آن‌ها گزارش خود را به هسته‌ي صفر (Core 0) مي‌دهند استفاده كرد و سپس سراغ اعمال اصلاح در Cinebench رفت تا اين بنچمارك در حالت چند هسته‌اي از صرفا دو ترد استفاده كند. Wccftech سپس وابستگي بين هسته و ترد را كه بالاتر شرح داديم در تسك منيجر (Task Manager) هم اعمال كرد. نتايج به‌دست‌آمده حاوي نكات جالبي بودند.

Wccftech براي صحت‌سنجي تئوري خود، سراغ بنچمارك‌گيري از چند تراشه‌ي اينتل و اي ام دي رفت

Wccftech مي‌نويسد با انجام كارهايي كه در پاراگراف بالا به آن‌ها اشاره شد، عملكرد پردازنده‌ها در حالت تك هسته‌اي بين ۲۰ تا ۳۰ درصد بهبود پيدا كرد. اين موضوع به‌وضوح نشان مي‌دهد اگر به تراشه‌هاي مبتني‌بر معماري x86 اجازه‌ي استفاده از هر دو ترد اختصاص‌داده‌شده به هر هسته داده شود، عملكرد آن‌ها در بنچمارك بهبود پيدا مي‌كند.

ظاهرا انجام همين تكنيك در Geekbench باعث شده است پردازنده‌هاي x86 بين ۲۵ تا ۳۰ درصد قوي‌تر ظاهر شوند. مي‌توانيد مطالعه عملكرد تراشه‌ي Intel Core i9-9980XE Extreme Edition را در Geekbench مشاهده كنيد. ازطرفي ديگر وب‌سايت Extremetech با همكاري Wccftech آزمايش مشابهي روي تراشه‌ي Ryzen 4800U انجام داد.

بر اساس آزمايش‌هاي انجام‌گرفته توسط Wccftech و Extremetech روي يك‌سري پردازنده‌ي به‌خصوص، تقريبا تمامي پردازنده‌هاي نسل فعلي مبتني‌بر معماري x86 كه مخصوص لپ تاپ هستند مي‌توانند درصورت دستيابي به هر دو ترد هر هسته، امتياز تك هسته‌اي بيشتري نسبت‌به آنچه تراشه‌ي ام وان اپل كسب كرده است، كسب كنند. تراشه‌ي دسكتاپ 9980XE كه قديمي‌تر محسوب مي‌شود نيز در آزمايش‌ها موردمطالعه قرار گرفت و نتايج مشابهي ارائه داد. 

پردازنده‌هاي x86 هنگام استفاده از هر دو ترد براي هر هسته، ۲۰ تا ۳۰ درصد قوي‌تر ظاهر مي‌شوند

آن‌طور كه به‌انديشه متخصصين مي‌رسد افزايش امتياز تراشه‌ها در بنچمارك‌ها با روش اعلام‌شده به نحوه‌ي رفتار هسته‌ها ارتباط دارد. با درانديشه متخصصينگرفتن اين حقيقت كه يكي از اصلي‌ترين مزيت‌هاي معماري x86 نسبت‌به معماري آرم، بيشتر بودن سرعت كلاك است، همراهي از فناوري SMT اهميت بيشتري پيدا مي‌كند؛ به‌لطف SMT تصوير بسيار واضح‌تري از عملكرد واقعي هسته ارائه مي‌شود. در انديشه متخصصين داشته باشيد كه نقصِ اعلام‌شده در بنچمارك‌ها، شامل حالت چند هسته‌اي نمي‌شود. امتيازات چند هسته‌اي همچنان معتبر هستند، زيرا Cinebench و تقريبا تمامي بنچمارك‌هاي ديگر از يكايك تردها استفاده مي‌كنند.

اكنون به مهم‌ترين بخش مقاله مي‌رسيم. اگر بنچمارك‌هاي اوليه‌ي Wccftech را مطالعه كرده باشيد،‌ به‌خاطر داريد كه تراشه‌هاي سري تايگر ليك اينتل موفق شدند در نتايج تك هسته‌اي، عملكرد بهتري نسبت‌به تراشه‌ي ام وان نشان دهند. در همين راستا Wccftech براي دستيابي به نتايج دقيق‌تر، امكان دسترسي به هر دو ترد تراشه‌هاي تايگر ليك را در بنچمارك فراهم كرد و همان‌طور كه مي‌شد انتظار داشت، اختلاف امتياز بيشتر شد. تايگر ليك در حالت عادي امتياز ۱٬۵۱۰ را كسب كرده بود، اما به‌هنگام استفاده از هر دو ترد ۱۹ درصد عملكرد بهتري نشان داد و با فاصله‌ي زياد در بالاي تراشه‌ي ام وان قرار گرفت. 

با درانديشه متخصصينگرفتن اينكه آزمايش‌هاي رسانه‌ي Wccftech بهبود سرعت ۲۰ تا ۳۰ درصدي را نشان دادند، اين شركت ميانگين كل بهبودها را حساب كرد تا به ميانگين ۲۰ درصد برسد. آن‌دسته از پردازنده‌هاي بنچمارك بالا كه كنار نام‌شان ستاره ديده مي‌شود، آن‌هايي هستند كه براي ديدن امتياز معتبرشان بايد فعلا صبر كنيد. اين تراشه‌ها صرفا براي انجام مقايسه‌ي بهتر، درون بنجمارك گنجانده شده‌اند.

با درانديشه متخصصينگرفتن تمامي مواردي كه به آن‌ها اشاره كرديم، يك چيز براي‌مان روشن به‌انديشه متخصصين مي‌رسد: سازندگان بنچمارك دست‌كم بايد حالتي جديد به ابزارهاي خود اضافه كنند تا ازطريق آن امكان استفاده از هر دو تردي كه به هر هسته اختصاص داده شده است فراهم شود. اضافه كردن اين حالت باعث مي‌شود نتايج ارائه‌شده دقيق‌‌تر باشد. چنين حالتي براي دستيابي به اشباع كامل هسته اهميت بسيار زيادي دارد و به مقايسه‌اي عادلانه‌تر بين معماري‌هاي مجهز به SMT و معماري‌هاي بدون SMT منتهي مي‌شود. از آن‌جايي كه هسته‌هاي x86 با يك ترد به‌طور كامل اشباع نمي‌شوند، مقايسه‌ي آن‌ها با معماري‌هايي نظير آرم كه مبتني‌بر SMT نيستند، مقايسه‌اي اشتباه است. 

تبليغات
جديد‌ترين مطالب روز

هم انديشي ها

تبليغات

با چشم باز خريد كنيد
اخبار تخصصي، علمي، تكنولوژيكي، فناوري مرجع متخصصين ايران شما را براي انتخاب بهتر و خريد ارزان‌تر راهنمايي مي‌كند
ورود به بخش محصولات