PDA

مشاهده نسخه کامل : single core یا multicore ؟



rbm
12-10-22, 13:45
سلام
در مقایسه پردازنده ، غیر از مشخصات اصلی مثل فرکانس بیس و بوست و تعداد هسته و رشته و .... یک چیزی به اسم امتیاز single core و multi core وجود داره.

با این امتیازات ، دو پردازنده رو چجوری باید مقایسه کنیم ؟ کدومشون برتر بودن پردازنده رو نشون میده؟مثلا بین ryzen 5 5500 و i3 12100 ، رایزن امتیاز مولتی‌کر بالا و اینتل امتیاز سینگل‌کر بالا داره !

SajjadKhati
12-10-22, 20:54
سلام
یعنی چی که چجوری باید مقایسه کنیم؟
نرم افزارهای تست مشخص هستن . یکی از مهمترین شون نرم افزار Cinebench هست (نسخه ی 20 یا 23 ترجیحا) .

rbm
12-10-22, 23:22
سلام
یعنی چی که چجوری باید مقایسه کنیم؟
نرم افزارهای تست مشخص هستن . یکی از مهمترین شون نرم افزار Cinebench هست (نسخه ی 20 یا 23 ترجیحا) .

منظورم اینه که چجوری از این امتیازات، برتری یک پردازنده رو مشخص کنم؟

- - - Updated - - -


سلام
یعنی چی که چجوری باید مقایسه کنیم؟
نرم افزارهای تست مشخص هستن . یکی از مهمترین شون نرم افزار Cinebench هست (نسخه ی 20 یا 23 ترجیحا) .

منظورم اینه که چجوری از این امتیازات، برتری یک پردازنده رو مشخص کنم؟

SajjadKhati
13-10-22, 12:09
منظورم اینه که چجوری از این امتیازات، برتری یک پردازنده رو مشخص کنم؟


اونی که در امتیاز تک هسته ای بهتر هست ، اغلب اوقات ، در نرم افزارها (کلا پروسه) هایی که نهایتا تا همون تعداد هسته ی فیزیکی ای که اون پردازنده داره ، استفاده میکنن ، عملکرد بهتری داره .

فرضا 12100 که امتیاز تک هسته ایش بهتر از 5500 هست ، چون 4 هسته ی فیزیکی داره ، یعنی در اغلب اوقات ، در پروسه هایی که نهایتا تا 4 هسته ی فیزیکی را بصورت همزمان میتونن استفاده کنن ، این پردازنده در این نوع نرم افزارها (یا تا زمانی که این نرم افزارها ، نهایتا تا 4 هسته را استفاده میکنن) ، عملکرد بهتری داره (در این شرایط ، تقریبا همون قدر بهتر و همون قدر اختلاف بین شون هست که در اختلاف بین امتیاز تک هسته ای شون هست) .

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

یعنی فرضا وقتی یک یا چند پروسه ، فرضا در بازه ی زمانی خاصی ، از 6 هسته استفاده میکنن ، این بازه ی زمانی ، چقدر طولانی هست و دوام داره . هر چقدر طولانی تر باشه ، در اون پردازنده ی 5500 (نسبت به 12100) ، اختلافش محسوس تر میشه (تا نهایتا به اون اختلاف امتیاز چند هسته ای که در نرم افزار cinebench میبینید ، میرسه) .

شاید برخلاف تصور خیلی ها ، درصد قابل توجهی از نرم افزارها ، از تعداد هسته های محدود استفاده میکنن (اغلب ، بین 4 تا 6 هسته) بجز بعضی از نرم افزارهای رندر (اون هم زمان رندر) (مخصوصا نرم افزارهای رندر 3 بعدی) .
معمولا نرم افزارهای برنامه نویسی (مخصوصا ویژال استودیو) ، قابلیت استفاده از هسته های بیشتر زمان کمپایل دارن البته به پلاگین ها و اینهاش هم ربط داره (بین 6 تا 12 هسته یا گاها بیشتر) .

rbm
13-10-22, 14:40
اونی که در امتیاز تک هسته ای بهتر هست ، اغلب اوقات ، در نرم افزارها (کلا پروسه) هایی که نهایتا تا همون تعداد هسته ی فیزیکی ای که اون پردازنده داره ، استفاده میکنن ، عملکرد بهتری داره .

فرضا 12100 که امتیاز تک هسته ایش بهتر از 5500 هست ، چون 4 هسته ی فیزیکی داره ، یعنی در اغلب اوقات ، در پروسه هایی که نهایتا تا 4 هسته ی فیزیکی را بصورت همزمان میتونن استفاده کنن ، این پردازنده در این نوع نرم افزارها (یا تا زمانی که این نرم افزارها ، نهایتا تا 4 هسته را استفاده میکنن) ، عملکرد بهتری داره (در این شرایط ، تقریبا همون قدر بهتر و همون قدر اختلاف بین شون هست که در اختلاف بین امتیاز تک هسته ای شون هست) .

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

یعنی فرضا وقتی یک یا چند پروسه ، فرضا در بازه ی زمانی خاصی ، از 6 هسته استفاده میکنن ، این بازه ی زمانی ، چقدر طولانی هست و دوام داره . هر چقدر طولانی تر باشه ، در اون پردازنده ی 5500 (نسبت به 12100) ، اختلافش محسوس تر میشه (تا نهایتا به اون اختلاف امتیاز چند هسته ای که در نرم افزار cinebench میبینید ، میرسه) .

شاید برخلاف تصور خیلی ها ، درصد قابل توجهی از نرم افزارها ، از تعداد هسته های محدود استفاده میکنن (اغلب ، بین 4 تا 6 هسته) بجز بعضی از نرم افزارهای رندر (اون هم زمان رندر) (مخصوصا نرم افزارهای رندر 3 بعدی) .
معمولا نرم افزارهای برنامه نویسی (مخصوصا ویژال استودیو) ، قابلیت استفاده از هسته های بیشتر زمان کمپایل دارن البته به پلاگین ها و اینهاش هم ربط داره (بین 6 تا 12 هسته یا گاها بیشتر) .

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

SajjadKhati
13-10-22, 16:27
خب حالا اگه روی یک سیستم قرار باشه همزمان چند نرم افزار با هم درحال اجرا باشند و اون نرم افزارها هم سینگل‌کر باشند، در این حالت میشه بگیم چون سیستم عامل پردازش ها رو بین هسته ها تقسیم میکنه به تعداد هسته بیشتر نیازه ؟

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

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

هر نخ ، میتونه در یک لحظه ، کد (method یا تابع) ای برای اجرا داشته باشه یا نداشته باشه . اگه در یک لحظه ، کدی برای اجرا نداشته باشه ، خوب پردازشی در اون لحظه اصلا لازم نداره و اگه داشته باشه که در اون لحظه پردازش لازم داره .

همچنین اینکه اگه کد (method یا تابع) برای پردازش داشته باشه ، بسته به میزان سنگینیِ اون کد ، پردازشش هم میتونه خیلی سنگین (در حد ساعت ها پردازش مثل اغلب رندرهای 3 بعدی که سنگین هستن و ساعت ها طول میکشن) یا خیلی سبک (در حد حتی چند میکرو ثانیه یا میلی ثانیه ، مثل خیلی از پروسه ها و سرویس های ویندوز) باشه .

==========

همین الان ، یعنی زمانی که هیچ کاری با کامپیوتر نمیکنین و فقط ویندوز بالا اومده بدون اینکه هیچ نرم افزاری را اجرا کنید ، چند ده پروسه و سرویس در حال اجراست اما ممکنه پردازنده توی حتی اگه 2 هسته ای هم باشه ، لود خیلی پایینی (فرضا بصورت میانگین ، لودِ زیر 10 درصد) داشته باشه .

تخصصی تر اینکه پروسه را هم رها کنید . در همین حالت ، در سربرگ Performance ئه Task Manager ، در بخش CPU که برید ، در قسمت اطلاعاتش (در سمت راست) گزینه ی Threads نوشته هست که معمولا حتی اگه فقط ویندوز بالا اومده باشه (معمولا Windows 10 X64) ، در این حالت ، حدود 1000 تا نخ (thread) (یا کمتر یا بیشتر) داره که مدام کم و زیاد میشه .

در این حالت ، با وجود اینکه 1000 تا نخ در حال اجراست ، اما باز میبینید که در اغلب اوقات ، لود پردازنده ی حتی 2 هسته ای خیلی کم هست (فرضا اغلب زیر 10 درصد) .
چرا؟
چون خیلی از این نخ های در حال اجرا (در لحظه ای که فقط ویندوزتون بالا اومده) ، در اغلب اوقات ، یا کد (method یا تابع) ای برای اجرا ندارن یا کد و method ئه بسیار سبکی دارن (پردازش در حد چند میکرو یا چند میلی ثانیه دارن) .

==========

پس جواب سئوال تون (بصورت کلی ، نه خیلی جزئی و تخصصی) اینه که بستگی به تعداد نخ ها و مخصوصا سنگینیِ کدهای اون نرم افزارها و در واقع سنگینیِ method هاشون داره که چقدر پردازش شون طول بکشه داره .

Speed Racer
14-10-22, 05:20
سلام
در مقایسه پردازنده ، غیر از مشخصات اصلی مثل فرکانس بیس و بوست و تعداد هسته و رشته و .... یک چیزی به اسم امتیاز single core و multi core وجود داره.

با این امتیازات ، دو پردازنده رو چجوری باید مقایسه کنیم ؟ کدومشون برتر بودن پردازنده رو نشون میده؟مثلا بین ryzen 5 5500 و i3 12100 ، رایزن امتیاز مولتی‌کر بالا و اینتل امتیاز سینگل‌کر بالا داره !

سلام

مقایسه پردازنده 4 هسته ای و 6 هسته ای اشتباهه و جواب سوال شما اینه که نمی شه این دو تا رو با هم مقایسه کرد. اما کاملا مشخصه که پردازنده 6 هسته ای Ryzen 5500 در مالتی کر برتری پیدا می کنه. الان چندین ساله که نرم افزارها طوری ساخته میشن که معمولا به هسته بیشتر نیاز پیدا می کنن و البته Ryzen 5500 فرکانس پایه هسته هاش انقدر پایین نیست.

چند تا نکته هم هست که باید توجه کنی. یکی اینکه Ryzen 5500 از PCIe 3.0 و رم DDR4 پشتیبانی می کنه و ممکنه در آینده دچار مشکل بشی. یکی اینکه پردازنده گرافیکی نداره و اگه کسی کارت گرافیک از قبل نداشته باشه قیمت تموم شدش بالاتر از i3-12100 در میاد

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