پاسخ: Dedicated versus Shared Graphics Memory
نقل قول:
در وحله دوم ، اگر برنامه نویسی ناچارا مجبور باشه از Shared System Memory استفاده کنه ، برنامه مورد نظرش رو در نهایت طوری بهینه سازی میکنه که اطلاعات مهمی که به صورت RealTime مورد نیاز GPU هست در این حافظه قرار نگیره ، یا به حداقل مقدار خودش برسه . اگر اینطور نبود ، به دلیل وجود اختلاف بسیار زیاد میان پهنای باند بین GPU و حافظه Local در برابر حافظه non-Local ، در صورت ارتباط بین GPU و System Memory ، کارایی گرافیکی سیستم به شدت افت می کرد . در این صورت وجود ارتباط به واسطه GART بین GPU و System Memory نه تنها باعث افزایش کارایی نمی شد ، بلکه به شدت کارایی رو کاهش می داد .
برا مثال اگه شما تو بنچ مارک های موجود اگه توجه کرده باشی ، افزایش فرکانس حافظه System Memory یا به صورت کلی افزایش پهنای باند حافظه اصلی سیستم در کارایی کلی سیستم در بازی های رایانه ای یا نرم افزار های پردازش تصاویر سه بعدی ، تاثیر خفیف و در بسیاری از موارد ، قابل چشمپوشی داره .
کل قضیه همینه.
اینکه چقدر استفاده از System Memory نسبت به Dedicated Memory باعث افت در کارایی میشه (یا اصلا میشه یا خیر!) بستگی به نوع برنامه نویسی داره. اگه اطلاعاتی که در محاسبات Vector ها نیاز داریم رو در System Memory ذخیره کنیم به خاطر وجود Latency بالا شدیدا کاهش Performance رو احساس می کنیم، حتی به فرض اینکه در TLB Trash هم نداشته باشیم.
یکی از ضعف های بازی CRYSIS همین استفاده زیاد از System Memory بود، که باعث می شد کارایی پایین بیاد و نیاز به سخت افزارهای قوی تر احساس بشه.
در حالی که در CRYSIS Warhead استفاده بهینه تر از System Memory در کنار Dedicated Memory باعث شد کارایی به میزان قابل توجهی نسبت به CRYSIS بالاتر بره، با وجود اینکه حجم Texture ها و جزئیاتشون نسبت به قبل بیشتر هم شده بود. طوری که عاملی که قبلا باعث کاهش Performance شده بود تبدیل شد به مهمترین دلیل افزایش Performance.
چیزی که مهمه اینه که برنامه نویس حرفه ای از وجود Drawback های استفاده از System Memory دقیقا اطلاع داره، و هر وقت نیاز داره از System Memory استفاده کنه دقیقا با آگاهی نسبت به این قضیه طوری برنامه نویسی می کنه که وجود این مشکلات مانعی در Performance نباشند. (این مسئله خودش یک هنر هست!)
پاسخ: سوال در مورد ارتباط حافظه های Dedicated و Shared Graphics Memory با GPU
دوستان واقعا از پست های جالبتون متشکرم بگی نگی یه چیزای فهمیدم ولی می خواستم ببینم در نهایت جواب سوال دوم و سومم دقیقا چیه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟:great:
پاسخ: سوال در مورد ارتباط حافظه های Dedicated و Shared Graphics Memory با GPU
نقل قول:
دوستان واقعا از پست های جالبتون متشکرم بگی نگی یه چیزای فهمیدم ولی می خواستم ببینم در نهایت جواب سوال دوم و سومم دقیقا چیه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟:great:
محمد آقا. من مشکل شما رو روي يک سيستمي که بستم داشتم. رمهاي Patriot که داراي HeatSink قرمز رنگ هستند و به 64Bit معروفند روي اکثر سيستمها باعث اختلالهايي نظير همين مشکلي که شما داريد(CPU Usage بيخود بالا ميره و ...) مي شوند. براي بار سوم تاکيد مي کنم سيستمتون رو با رمهاي معمولي جنس خوب امتحان کنيد. مثلا Corsair 2*1GB DDR2/BUS 800 CL5 DHX انتخاب خوبيه. احتمال خيلي زياد مشکلتون حل ميشه.
پاسخ: سوال در مورد ارتباط حافظه های Dedicated و Shared Graphics Memory با GPU
نقل قول:
رم های با سینک قرمز ار سری Blood Iron هستند و دارای چیپ های نیمه حرفه ای هستند . به صورتی که حتی با ولتاژ های زیر 2v به راحتی تا 1000Mhz اورکلاک می شن .
در واقع تفاوتشون در نوع و کیفیت Memory Chip های به کار رفته درشون هست ، نه Memory Bus .
آقا مهدی من توی سایت رسمی Patriot گشت میزدم نه رمی با نام Blood Iron هست نه رمی مثل این Heatsink آبی ها.؟! (SE)
البته رم هایی با تایمینگ 5-5-5-12 / 1.9V / 800MHZ هستند ولی Blood Iron نیست!
همین Blood Iron هارو هم تا 1070MHZ با ولتاژ 2.0 اورکلاک پایدار کردم. فقط tRas از 12 رفت رو 15 .
پاسخ: سوال در مورد ارتباط حافظه های Dedicated و Shared Graphics Memory با GPU
نقل قول:
آقا مهدی من توی سایت رسمی Patriot گشت میزدم نه رمی با نام Blood Iron هست نه رمی مثل این Heatsink آبی ها.؟! (SE)
البته رم هایی با تایمینگ 5-5-5-12 / 1.9V / 800MHZ هستند ولی Blood Iron نیست!
در مورد مدل Blood Iron حق با شماست . این رم فقط به سفارش گروه مهندسی فرآیند توسط کمپانی Patriot تولید میشه . برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] می تونید مشخصاتش رو ملاحضه کنید .
مشخصات رم های Value با سینک آبی رنگ رو هم می تونید در برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] مشاهده کنید .
پاسخ: Dedicated versus Shared Graphics Memory
نقل قول:
در مورد Translation lookaside buffer کمی بیشتر توضیح بده ، دقیقا تشریح کن منظورت چه نوع افت کارایی و در چه مرحله ای از واکشی اطلاعات هست . اینطوری خیلی گنگه .
در وحله اول شما منظور من رو کمی بد برداشت کردی . به این صورت مسئله رو تشریح می کنم :
ابتدا همانطور که در پست قبل اشاره شد ، سیستم عامل در وحله اول سعی می کنه که به هیچ وجه از حافظه سیستم جهت Texture Memory استفاده نکنه . برای مثال وقتی یک VGA با حافظه 1GB در دسترس باشه ، در رزولیشن های معمول ( حداکثر 1080*1920 ) در 3D APP های موجود ، به ندرت Texture Memoryاز 1GB تجاوز می کنه . از طرفی خیلی از Game یا نرم افزار های پردازش تصویر 3 بعدی طوری کدنویسی و در نهایت بهینه سازی می شوند که در عمل استفاده از Shared System Memory کنار گذاشته میشه . از جمله این APP های معروف میشه ، بازی رایانه ای پرطرفدار GTA IV رو نام برد . همانطور که خودت هم تجربه بازی کردن این Game رو داشتی ، موتور گرافیکی این بازی ، برای مقدار تغییرات در جزئیات گرافیکی بازی ، محدودیت حجم حافظه Local رو اعمال کرده . علت این امر در واقع عدم وجود ارتباط تنگاتنگ GPU به صورت مستقیم به حافظه System Memory هست . البته موتور گرافیکی این Game مشکلات دیگه ای هم داره که به موضوع این تاپیک ارتباطی نداره .
در وحله دوم ، اگر برنامه نویسی ناچارا مجبور باشه از Shared System Memory استفاده کنه ، برنامه مورد نظرش رو در نهایت طوری بهینه سازی میکنه که اطلاعات مهمی که به صورت RealTime مورد نیاز GPU هست در این حافظه قرار نگیره ، یا به حداقل مقدار خودش برسه . اگر اینطور نبود ، به دلیل وجود اختلاف بسیار زیاد میان پهنای باند بین GPU و حافظه Local در برابر حافظه non-Local ، در صورت ارتباط بین GPU و System Memory ، کارایی گرافیکی سیستم به شدت افت می کرد . در این صورت وجود ارتباط به واسطه GART بین GPU و System Memory نه تنها باعث افزایش کارایی نمی شد ، بلکه به شدت کارایی رو کاهش می داد .
برا مثال اگه شما تو بنچ مارک های موجود اگه توجه کرده باشی ، افزایش فرکانس حافظه System Memory یا به صورت کلی افزایش پهنای باند حافظه اصلی سیستم در کارایی کلی سیستم در بازی های رایانه ای یا نرم افزار های پردازش تصاویر سه بعدی ، تاثیر خفیف و در بسیاری از موارد ، قابل چشمپوشی داره .
در واقع من در پست قبلی به هیچ وجه منظورم ، اون چیزی که شما برداشت کرده بودید نبود .
وجود یک سامانه I/O memory management مثل Gart بین GPU و System memory ، همانطور که شما گفتی ، به هیچ وجه نمی تونه پهنای باندی که یک ارتباط بدون واسطه داره رو در نهایت ایجاد کنه . ولی وجود چنین سامانه هایی در پلتفورم های کنونی برای مدیریت حافظه لازم و انکار ناپذیره .
سلام
بحث جالبیه
به هر حال درسته یکم قدیمیه ولی خب! برا من سوال پیش اومده که با اجازه از اساتید میپرسم :
1- در گرافیک های Onboard که Dedicated memory ندارن و از رم سیستم استفاده میکنن ، کاهش کارایی نسبت به گرافیک های Discrete به دلیل عدم وجود ارتباط مستقیم با حافظه ی اختصاصیه!؟
2- تا جایی که من از صبحت این استادم دستگیرم شد وجود GART اصطلاحا یه شمشیر دو لبه هست که هم میتونه خوب باشه و هم میتونه بد! و همچنین تنها کارش، مدیریت حافظه اشتراکیه درسته!؟ خب تو سیستم هایی که دارای گرافیک آنبورد هستن(فرض رو پلتفرم قدیمی اینتل که Memory Controller و Integrated video در NB وجود داره در نظر میگیریم!) و پهنای باند System memory بالا باشه وجود GART میتونه مفید باشه؟ به عنوان مثال اگه ما فرکانس System memory رو اورکلاک کنیم که باعث افزایش پهنای باند بشه بطوری که پهنای باند از پهنای باند گرافیک بالاتر بره قضیه چطور میشه!؟ اگه همین قضیه در مورد سیستم هایی که دارای کارت گرافیک هستن و لازم شه از shared system memory هم استفاده شه که پهنای باندش از پهنای باند video memory بیشتر باشه ، وجود GART چطور میتونه باشه!؟
ممنون!:give_rose:
پاسخ: Dedicated versus Shared Graphics Memory
نقل قول:
سلام
بحث جالبیه
به هر حال درسته یکم قدیمیه ولی خب! برا من سوال پیش اومده که با اجازه از اساتید میپرسم :
1- در گرافیک های Onboard که Dedicated memory ندارن و از رم سیستم استفاده میکنن ، کاهش کارایی نسبت به گرافیک های Discrete به دلیل عدم وجود ارتباط مستقیم با حافظه ی اختصاصیه!؟
ممنون!:give_rose:
سوال های خیلی خوبی پرسیدید .
خیر ، در سیستم های مبتنی بر پردازنده های گرافیکی مجتمع ( IGP ) که اصطلاحا آنبرد نامیده می شن به دلیل کاهش قیمت تمام شده سیستم از پردازنده گرافیکی ( GPU ) نسبتا ضعیف استفاده میشه . در واقع چون این سیستم ها مصارف Gaming ندارند .. IGP طوری طراحی میشه که در بهترین حالت از پس مصارف یک
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]بر بیاد .
در واقع گلوگاه اصلی خود IGP هست و به همین علت نیاز چندانی هم به پهنای باند بالای حافظه برای Feed کردن IGP احتیاج نیست .
نقل قول:
2- تا جایی که من از صبحت این استادم دستگیرم شد وجود GART اصطلاحا یه شمشیر دو لبه هست که هم میتونه خوب باشه و هم میتونه بد! و همچنین تنها کارش، مدیریت حافظه اشتراکیه درسته!؟ خب تو سیستم هایی که دارای گرافیک آنبورد هستن(فرض رو پلتفرم قدیمی اینتل که Memory Controller و Integrated video در NB وجود داره در نظر میگیریم!) و پهنای باند System memory بالا باشه وجود GART میتونه مفید باشه؟ به عنوان مثال اگه ما فرکانس System memory رو اورکلاک کنیم که باعث افزایش پهنای باند بشه بطوری که پهنای باند از پهنای باند گرافیک بالاتر بره قضیه چطور میشه!؟ اگه همین قضیه در مورد سیستم هایی که دارای کارت گرافیک هستن و لازم شه از shared system memory هم استفاده شه که پهنای باندش از پهنای باند video memory بیشتر باشه ، وجود GART چطور میتونه باشه!؟
نقل قول:
- تا جایی که من از صبحت این استادم دستگیرم شد وجود GART اصطلاحا یه شمشیر دو لبه هست که هم میتونه خوب باشه و هم میتونه بد!
خیر ، وجود چنین سامانه ای جزو ملزومات یک سیستم هماهنگ مبتنی بر پردازنده گرافیکی هست . در واقع عدم وجود چنین سامانه ای، GPU رو از نظر ارتباط با حافظه اصلی سیستم ( RAM ) فلج می کنه .
نقل قول:
و همچنین تنها کارش، مدیریت حافظه اشتراکیه درسته!؟
بله . همینطوره .
نقل قول:
خب تو سیستم هایی که دارای گرافیک آنبورد هستن(فرض رو پلتفرم قدیمی اینتل که Memory Controller و Integrated video در NB وجود داره در نظر میگیریم!) و پهنای باند System memory بالا باشه وجود GART میتونه مفید باشه؟
این سوال رو در بند بالا جواب دادم .
نقل قول:
به عنوان مثال اگه ما فرکانس System memory رو اورکلاک کنیم که باعث افزایش پهنای باند بشه بطوری که پهنای باند از پهنای باند گرافیک بالاتر بره قضیه چطور میشه!؟
پهنای باند حافظه مقوله ای بسیار پیچیده هست که اگر بخوایم در موردش دقیق بحث کنیم، واسه خودش فلسفه داره .
در این حالت 2 احتمال رو میشه در نظر گرفت :
1 - پهنای باند حافظه اینقدر زیاد میشه که سامانه مدیریت حافظه از پس مدیریت این مقدار بر نمیاد، در نتیجه سیستم ناپایدار میشه .
2 - پهنای باند در صورتی مجال برای عرض اندام پیدا کنه ( ولو به مقدار کم ) تاثیر مثبت خودش رو می گذاره و از این نظر محدودیتی وجود نداره . یعنی اگر سیستم ناپایدار نشه، افزایش کارایی هم ادامه داره .
نقل قول:
اگه همین قضیه در مورد سیستم هایی که دارای کارت گرافیک هستن و لازم شه از shared system memory هم استفاده شه که پهنای باندش از پهنای باند video memory بیشتر باشه ، وجود GART چطور میتونه باشه!؟
این مورد رو حقیقتا اطلاع دقیق ندارم ! چون نه مطلبی در موردش خوندم، نه عملا تست کردم . ولی آنچه در این مورد مطمئن هستم اینه که GPU در بیشتر مواقع Dedicated memory رو به shared system memory ترجیح میده . در نتیجه پهنای باند بیشتر shared system memory تصور نمی کنم تاثیر محسوسی در عملکرد کلی داشته باشه .