متن اصلی

 

صنعت کامپیوتر و تراشه های پردازشگر طی سالهای اخیر پیشرفت غیر قابل توصیفی داشته است. همواره این سوال مطرح بوده که کدام کامپیوتر از کارایی بالاتر برخوردار است؟ وقتی ادعا می کنیم که یک کامپیوتر “کارایی” بالاتری نسبت به دیگری دارد منظورمان چیست؟ اگر چه این پرسش ممکن است پیش پا افتاده به نظر آید ولیکن یک قیاس تشبیهی با مسافرت هوایی، ظرائف و نکات نهفته در این پرسش را آشکار خواهد کرد. جدول زیر مشخصات تعدادی از هواپیماهای معروف را نشان می دهد:

نام هواپیما ظرفیت مسافر برد پرواز (مایل)

سرعت پرواز (mp/h)

ظرفیت جابجایی مسافر

(مسافرx مایل بر ساعت)

بوئینگ 777 378 4630 610 228750
بوئینگ 747 470 4150 610 286700
کنکورد 132 4000 1350 178200
داگلاس DC-8-50 146 8720 544 79424

 

اگر بخواهیم بدانیم کدام یک از هواپیماهای جدول بالا کارایی بالاتری دارد، در وهله اول باید تعریف درستی از “کارایی” داشته باشیم. مثال برای با مدنظر قرار دادن معیاری مانند “سرعت”، کنکورد بیشترین سرعت پرواز و در نتیجه بیشتری کارایی را برای معیار ما دارد، در حالیکه با معیار بیشترین مسافت پرواز بدون توقف،
DC-8 دورپروازترین هواپیما است و از نظر بیشترین ظرفیت مسافر، بوئینگ 747 کارامدترین هواپیما است.

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

یکی از این این معیارها  MIPS است. MIPS مخفف Milion Instruction Per Second می باشد و به میلیون ها دستورالعمل قابل اجرا در یک ثانیه اشاره می کند. این معیار از رابطه زیر به دست می آید:

تعداد دستور العمل ها / زمان اجرا x 10 به توان 6 = MIPS

در به کار گیری معیار MIPS برای مقایسه کامپیوترها سه مسئله مطرح می شود:

1.این معیار نرخ اجرای دستور العمل ها را توصیف می کند در حالیکه به ماهیت وجودی و قابلیت های دستور العمل های کامپیوتر اعتنایی ندارد. به همین دلیل نمی توانیم با معیار MIPS کامپیوترهایی که دارای مجموعه دستور العمل های متفاوتی از یکدیگر هستند را مقایسه کنیم، زیرا شمارش و مقایسه تعداد دستور العمل هایی که ذاتا متفاوتند، نمی توانند معیار قرار بگیرد.

2.شاخص MIPS حتی برای برنامه های متفاوتی که بر روی یک کامپیوتر واحد اجرا می شوند تفاوت دارد، از این رو یک کامپیوتر واحد دارای یک نرخ واحد و ثابت MIPS نیست.

3.مهمترین مسئله این است که هر گاه برنامه ای جدید دستورالعمل های بیشتری را اجرا کند ولی هر دستورالعمل در برنامه جدید سریعتر اجرا شود، آنگاه مقدار MIPS مستقل از معیار کارایی تغییر خواهد کرد.

یکی دیگر از معیارهای رایج در کارایی، معیاری FLOPS است که بر حسب MFLOPS،   GFLOPS و یا TFLOPS بیان می شود. برای مثال MFLOPS به “میلیون دستورالعمل ممیز شناور در ثانیه” اشاره دارد و دارای رابطه زیر است:

تعداد دستورالعمل های ممیز شناور / زمان اجرا ضربدر 10 به توان 6 = MFLOPS

البته کارایی تراشه های پردازشگر امروزی حتی در سطح موبایل به قدری بالا  است که از GFLOPS یا “میلیارد دستور العمل ممیز شناور در ثانیه” استفاده می کنیم.

FLOPS یا اگر برای مقایسه با MIPS بخواهیم صحبت کنیم،  MFLOPS،  دارای همان مشکلات MIPS است. با این حال این معیار برای سنجش قدرت و کارایی تراشه های امروزی، مقدار دقیق تری است و از MIPS برای میکروکنترلرها  استفاده می کنیم.

به طور کلی ممیز شناور یا Floating Point به اعدادی اعشاری گفته می شود که در محاسبات مختلف بدست می آیند و نهایتا به 16 بیتی (دقت پایین)، 32 بیتی (دقت استاندارد) و یا 64 بیتی (دقت بالا) ختم می شوند. از پردازش های 16 بیتی بیشتر مصارف پزشکی استفاده می شود. بازی سازان نیز پردازش 32 بیتی را برای بازی های خود در نظر می گیرند و بر همین اساس بازی های خود را کدنویسی می کنند.  در نهایت در محبث پیچیده طراحی های مختلف مانند طراحی صنعتی نیازمند محاسباتی با دقت بالا یا 64 بیتی هستیم.

محاسبات ممیز شناور در پردازشگرهای قدیمی توسط یک مدار ساده و در پردازشگرهای امروزی مانند ریزپردازنده ها توسط یک بخش مجزا به نام FPU یا Floating Point Unit محاسبه می شود. معماری واحد پردازش گرافیکی یا GPU در کارت های گرافیک امروزی کمی متفاوت است. برای مثال در معماری تراشه های گرافیکی کمپانی انویدیا، پردازش اعداد ممیز شناور نیازمند واحدی مجزا نیست، چراکه این کمپانی راهکار بهتری برای تراشه های گرافیکی خود در نظر گرفته است. در تراشه های گرافیکی چند سال اخیر این کمپانی، پردازش اعداد ممیز شناور توسط خود هسته های پردازشی تراشه های این کمپانی که با هسته های کودا یا Cuda Core می شناسیم، انجام می شود. بسته به رده های مختلفی که کارت های گرافیک این کمپانی در آن جای می گیرند، هسته های کودا با عملکرد FP32 یا FP64 به طور خاص بکار گرفته می شوند. کارت های گرافیک رده جیفورس این کمپانی که بیشترین کاربران را به خود اختصاص می دهند، دارای تراشه های گرافیکی هستند که هسته های کودای آنها بر مبنای FP32 طراحی شده اند. البته تنها تعداد بسیار اندکی از  Cuda Core های کارت های جیفورس از عملکرد FP64 نیز پشتیبانی می کنند.

FLOPS به برنامه خاصی بستگی ندارد و در حقیقت قدرت محاسبات خام یک واحد پردازش مرکزی (CPU) و یا واحد پردازش گرافیکی (GPU) را مشخص می کند. اینکه کدام GPU از دیگری و یا کدام CPU از دیگری قویتر است، به برنامه ای که برای سنجش کارایی استفاده می کنیم، بستگی دارد.

در حال حاضر برنامه “آزمون” یا “بنچمارکی”  که می تواند قدرت محاسبات خام پردازشگر های مورد نظر ما را تعیین کند، نرم افزار بسیار قدرتمند AIDA 64 EXTREME نام دارد. این نرم افزار قسمت های بسیار زیادی دارد که می تواند عملیات های مانیتورینگ مختلف، نمایش اطلاعات کامل سیستمی، آزمون های مختلف برای سنجش کارایی CPU، GPU و حافظه اصلی را در اختیار هر کاربری قرار دهد.

قسمت GPGPU این نرم افزار که به تست هایی بر مبنای مبحث GPGPU یا محاسبات همه منظوره در واحد پردازش گرافیکی مربوط می شود، می تواند حتی محاسبات خام یک CPU و یا GPU را تحت شرایط یکسان بررسی کند. در تصویر زیر آزمون GPGPU توسط برای سه سیستم با کارت های گرافیکی با تراشه یکسان، اما با پردازنده های 4، 8 و 10 هسته ای اجرا شده است:

gpgpu

در این آزمون همان طور که قابل مشاهده است، دو مقدار با نام های Single-Precision FLOPS و Dual-Precision FLOPS محاسبه شده است. Single به FP32 یا دقت استاندارد و Dual به FP64 یا دقت بالا مربوط می شود. با توجه به اینکه تراشه گرافیکی GM200 دارای 2816 هسته کودا با عملکرد FP32 است و پردازش موازی توسط آزمون مورد نظر پشتیبانی می شود، تراشه مذکور قدرت محاسبات خام معادل 7466 گیگافلاپس (GFLOPS) در بحث FP32 را دارد. البته کارت های گرافیک تولید شده توسط شرکای تجاری کمپانی انویدیا با کلاک های مختلفی عرضه می شوند، یکی از معیارهایی که تاثیر مستقیم بر قدرت محاسبات خام دارد، کلاک GPU است. اعداد و ارقامی که از سوی کمپانی های مادر مانند انویدیا اعلام می شوند، مربوط به نسخه کارخانه ای با کلاک های دیفالت است.

اما حتی پردازنده 10 هسته ای اینتل در بحث FP32 قدرتی معادل 1088 گیگافلاپس دارد. این رقم برای یک پردازنده دسکتاپ رقم بسیار قابل توجهی است اما با این حال 10 هسته در برابر 2816 هسته GPU تست شده بسیار ضعیفتر عمل می کنند و قدرتی معادل یک هفتم آن را دارند. البته با یک تقسیم ساده متوجه می شویم که هسته های پردازشی پردازنده i7-6950X بسیار قویتر از هسته های پردازشی تراشه گرافیکی GM200 هستند، تقریبا 50 بار قویتر!

gpgpu2

اما همان طور که در آزمون GPGPU واضح است، در مبحث FP64 یا Dual-Precision GFLOPS تراشه گرافیکی GM200 با 2816 هسته پردازشی، قدرت معادل پردازنده i7-6700K با 4 هسته ی پردازشی دارد. این موضوع به همان حذف واحدهای FP64 در تراشه های گرافیکی رده جیفورس انویدیا بر می گردد. البته همان طور که گفتیم واحد های FP64 به طور 100 درصد حذف نشده اند، و تعداد بسیار اندکی از هسته های کودای تراشه  GM200 از عملکرد FP64 پشتیبانی میکنند.

 

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

کمپانی های زیادی در ساخت بنچ مارک های کامپیوترهای شخصی فعال هستند، اما قدیمی ترین و معروفترین آنها، کمپانی فنلاندی FUTUREMARK است که  20 سال تجربه در این زمینه دارد.

futuremark-logo

نرم افزار های بنچ مارک یا آزمون های محک کارایی این کمپانی به چند دسته تقسیم می شوند:

3Dmark: این بنچمارک مختص به علاقمندان بازی های رایانه ای طراحی و ساخته شده است. قطعات سخت افزاری که در امتیاز نهایی این بنچمارک تاثیر دارند، پردازنده مرکزی، کارت گرافیکی و حافظه اصلی می باشند.

3dmcar_678x452

PCMARK: این آزمون علاوه بر قطعات یاد شده در 3DMARK، حافظه های ذخیره ساز را نیز کاملا درگیر می کند.

pcmark8-cb

VRMARK: بحث واقعیت مجازی در سال 2016 بسیار بالا گرفت و به زودی شاهد بازی هایی بر مبنای واقعیت مجازی خواهیم بود. این آزمون به سنجش کارایی کارت گرافیک و تراشه گرافیکی کامپیوترهای شخصی برای پشتیبانی از واقعیت مجازی می پردازد.

vrmark-cb

به غیر از مجموعه نرم افزارهای کمپانی Futuremark برای مقایسه کارایی تراشه های گرافیکی، از بازی های مختلفی نیز استفاده می کنند. این موضوع به قدری مهم است که اغلب بازی سازان معروف، قسمتی را تحت عنوان Benchmark در بازی های رائه شده قرار می دهند.

پردازنده مرکزی نیز دارای تست و بنچمارک های گوناگونی است. دو بنچمارک معروف پردازنده مرکزی،  Wprime و Cinebench نام دارد که چند سالی است از بنچمارک های اصلی مقایسه پردازنده ها در دنیا محسوب می شود.

WPrime نرم افزار بسيار کوچکي براي محاسبه اعداد اول با استفاده از الگوريتم نيوتن مي باشد. اين نرم افزار قابليت استفاده از تمامي رشته هاي پردازشي سيستم را داشته و مي تواند بخوبي از نهايت توانايي پردازنده استفاده نمايد. اين نرم افزار داراي دو تست مختلف مي باشد. تست 32M الگوريتم محاسبه را تا رسيدن به 32 ميليون ادامه مي دهد و ملاک مناسبي براي مقايسه سرعت در کمترين زمان مي باشد. تست 1024M نيز اين کار را تا عدد 1024 ميليون انجام داده و بيشتر ملاکي از پايداري سيستم مي باشد.

Cinebench يکي از مطرح ترين نرم افزار هاي تست کارايي به حساب مي آيد. اين نرم افزار مي تواند با انجام تست هاي خود امتياز هايي از کارايي پردازنده و يا کارت گرافيکي را نسبت دهد، با اين وجود اغلب از اين نرم افزار براي محاسبه کارايي پردازنده استفاده مي شود. اين تست بر پايه نرم افزار Cinema 4D شرکت Maxon مي باشد که از آن در تهيه فيلم هايي نظير Iron Man 3 استفاده شده است. تست پردازنده اين نرم افزار در دو حالت تک هسته اي و چند هسته اي قابل اجرا مي باشد و نهايتا 256 هسته پردازشي را پشتيباني مي کند. صحنه مورد رندر در اين تست از حدود 2000 عنصر مختلف تشکيل شده است که شامل بيش از 300000 چند ضلعي مي باشد. جلوه هايي همچون نور محيط، انعکاس، سايه و تکنيک Antialiasing توسط اين نرم افزار استفاده مي شوند.

11963-offsite_resizing_maxon_cinebench_r15-1