بنچمارکهای تک هستهای در مقایسه تراشه M1 اپل با پردازندههای x86 نقصی بنیادی دارند
اپل مدتی پیش در جریان برگزاری رویدادی آنلاین، نخستین تراشهی سری اپل سیلیکون را با نام ام وان (Apple M1) برای کامپیوترهای سری مک رونمایی کرد. اپل مطابق سنت همیشگی خود، بنچمارکهای مربوط به تراشهی جدید را نیز بهاشتراک گذاشت تا به ما نشان دهد که M1 درمقابل رقبا چه حرفهایی برای گفتن دارد.
بنچمارکهای اپل توسط کاربران زیادی دیده شدند، اما نکتهای مهم دررابطهبا آنها وجود دارد که ممکن است از چشم شما دور مانده باشد. نویسندهی رسانهی Wccftech ادعا میکند تقریبا تمامی مقایسههایی که در حوزهی عملکرد تک هستهای در بین تراشهی M1 و تراشههای مدرن مبتنیبر معماری x86 میبینید، از اساس ناقص هستند (البته با فرض اینکه هدف اصلی، فهمیدن این موضوع باشد که کدام هسته سرعت پردازشی بیشتری دارد). اکثر بنچمارکهای تک هستهای نمیتوانند بهطور کامل هستههای مدرن x86 را اشباع (Saturate) کنند، اما توانایی اشباع کردن تراشهی M1 را دارند.
امروزه صنعت تراشه در تسلط کامل معماری x86 قرار دارد. تقریبا تمامی پردازندههای x86 که در بازار موجود هستند (بهغیر از برخی پردازندههای قدیمی) در معماری خود از مولتیتردینگ همزمان (SMT) استفاده میکنند. اینتل نسخهای اختصاصی از این فناوری را با نام هایپرتردینگ (HyperThreading) در پردازندههای خود بهکار میگیرد و AMD نیز نسخهای اختصاصی از آن را در پردازندههای سری رایزن دارد.
هستههای مدرن x86 بسیار عریض هستند و یک تردِ (Thread)، بهخصوص در ویندوز، بهطور معمول برای اشباع کردن هسته و استفاده از تمامی منابعی که در اختیار دارد کافی نیست. دقیقا به همین دلیل است که به هر هسته، دو ترد اختصاص داده میشود و هسته وظیفهی کاری خود را ازطریق این دو ترد دریافت میکند.
رسانهی Wccftech بهنقل از یکی از معماران سختافزار که نخواسته نامش فاش شود مینویسد فلسفهی فناوری SMT، در طراحی نهفته است. دیکُد کردن فرایند uOP و برخی بهینهسازیهای دیگر بهمنظور زمانبندی پردازشها (Process Scheduling) ازطریق آنچه در دنیای سختافزار بهعنوان بازنشستهشدن (Retirement) شناخته میشود، جزو اصلیترین دلایل استفاده از فناوری SMT در معماری x86 هستند.
معماریهای RISC (کامپیوتری کمدستور) نسبتبه معماریهای CISC (کامپیوتر با دستورهای پیچیده)، بهمنظور بارگذاری یا ذخیرهی داده پیچیدگی کمتری در زمینهی دیکد کردن فرآیندهای کاری دارند و بههمین دلیل میتوانند در زمینهی دستورالعمل بهازای ترد (Instruction per Thread) و دستورالعمل بهازای کلاک (Instruction per Clock) عملکرد بهتری از خود نشان دهند. بههمین دلیل است که بهمنظور بهحداکثررساندن قدرت پردازشی یک هسته در معماری x86، به استفاده از چند ترد نیاز است.
گزینهی 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 نسبتبه معماری آرم، بیشتر بودن سرعت کلاک است، پشتیبانی از فناوری SMT اهمیت بیشتری پیدا میکند؛ بهلطف SMT تصویر بسیار واضحتری از عملکرد واقعی هسته ارائه میشود. در نظر داشته باشید که نقصِ اعلامشده در بنچمارکها، شامل حالت چند هستهای نمیشود. امتیازات چند هستهای همچنان معتبر هستند، زیرا Cinebench و تقریبا تمامی بنچمارکهای دیگر از یکایک تردها استفاده میکنند.
اکنون به مهمترین بخش مقاله میرسیم. اگر بنچمارکهای اولیهی Wccftech را بررسی کرده باشید، بهخاطر دارید که تراشههای سری تایگر لیک اینتل موفق شدند در نتایج تک هستهای، عملکرد بهتری نسبتبه تراشهی ام وان نشان دهند. در همین راستا Wccftech برای دستیابی به نتایج دقیقتر، امکان دسترسی به هر دو ترد تراشههای تایگر لیک را در بنچمارک فراهم کرد و همانطور که میشد انتظار داشت، اختلاف امتیاز بیشتر شد. تایگر لیک در حالت عادی امتیاز ۱٬۵۱۰ را کسب کرده بود، اما بههنگام استفاده از هر دو ترد ۱۹ درصد عملکرد بهتری نشان داد و با فاصلهی زیاد در بالای تراشهی ام وان قرار گرفت.
مقالههای مرتبط:
با درنظرگرفتن اینکه آزمایشهای رسانهی Wccftech بهبود سرعت ۲۰ تا ۳۰ درصدی را نشان دادند، این شرکت میانگین کل بهبودها را حساب کرد تا به میانگین ۲۰ درصد برسد. آندسته از پردازندههای بنچمارک بالا که کنار نامشان ستاره دیده میشود، آنهایی هستند که برای دیدن امتیاز معتبرشان باید فعلا صبر کنید. این تراشهها صرفا برای انجام مقایسهی بهتر، درون بنجمارک گنجانده شدهاند.
با درنظرگرفتن تمامی مواردی که به آنها اشاره کردیم، یک چیز برایمان روشن بهنظر میرسد: سازندگان بنچمارک دستکم باید حالتی جدید به ابزارهای خود اضافه کنند تا ازطریق آن امکان استفاده از هر دو تردی که به هر هسته اختصاص داده شده است فراهم شود. اضافه کردن این حالت باعث میشود نتایج ارائهشده دقیقتر باشد. چنین حالتی برای دستیابی به اشباع کامل هسته اهمیت بسیار زیادی دارد و به مقایسهای عادلانهتر بین معماریهای مجهز به SMT و معماریهای بدون SMT منتهی میشود. از آنجایی که هستههای x86 با یک ترد بهطور کامل اشباع نمیشوند، مقایسهی آنها با معماریهایی نظیر آرم که مبتنیبر SMT نیستند، مقایسهای اشتباه است.