آقا همزمان انجام نمیده برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنیدبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط TechBaMohsen برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
منظور از parallel برای نخ فرعی (نه اصلی) به معنی همزمان نیست هر چند حتی از کلمه ی همزمان استفاده شه (البته منظورم برای برنامه های کوچیک هست که اغلب نوشته میشه . برای برنامه های بزرگ مثل رندر و ... که هر نخ اصلی رو به هر هسته میفرستن ، نیست و میدونیم که هر هسته ، کار خودش رو انجام میده و دو نخی که به دو هسته ی متفاوت فرستاده شه ، پس همزمان 2 نخ پردازش میشه که در بالا توضیح دادم)
به این لینک نگاه کن :
https://fa.wikipedia.org/wiki/%D9%88...A9%D8%B2%DB%8C
در این لینک ، یک بخش "پاراللیسم در سطح دستوری" داره که احتمالا منظورش همون چند نخ اصلی که به چند هسته ی متفاوت فرستاده میشه پس همون همزمانی پردازش واقعی انجام میشه ، هست
یک بخش "پاراللیسم در سطح thread" داره که منظورش همین نخ های فرعی رایج هست . که توی این قضیه ، همزمانی نداریم . توی توضیحاتش نوشته :
" یک نوع از MT (منظورش multi thread هست) که بکار گرفته شد block multithreading نام دارد که در آن اجرای یک thread آغاز میشود و زمانیکه برای بازگشت اطلاعات از حافظهٔ خارجی باید منتظر بماند، دچار توقف عملکرد میشود. در این حالت سی پی یو بلافاصله به thread دیگر که آمادهٔ اجرا است سوویچ میکند. این سوویچ معمولاً در یک چرخهٔ کلاک از سی پی یو انجام میگیرد"
این سوئیچ های سریع (حالا به چند نخی کار ندارم که سوئیچ توش خیلی سریع تره) پردازنده باعث میشه فکر کنیم که مثلا 5 برنامه ای که در حال اجراست و مثلا هر کدوم 3 نخ رو ارسال میکنن ، سریع روی هر نخ سوئیچ و پردازش کنه که ما فکر میکنیم داره همزمان پردازش میکنه و هنگی ای اتفاق نمیافته برای برنامه که اغلب برنامه ها این چند نخی رو ساپورت میکنن چون بسیار آسونتر از اون حالتی هست که نخ های متفاوت رو به هسته های متمفاوت بفرستن
بعد اینکه به همین متن قرمزه توجه کن . گفتش "زمانیکه برای بازگشت اطلاعات از حافظهٔ خارجی باید منتظر بماند، دچار توقف عملکرد میشود" .
خوب دوباره وقتی اطلاعات از رم بهش رسید و کلا دوباره به هر دلیلی اون نخ درخواست پردازش کرد ، معلوم نیست دوباره در همون هسته پردازش بشه یا به هسته برای پردازش منتقل بشه (احتمالا هر هسته که زودتر پردازش اش تموم شه ، به اونجا منتقل میشه) بنابراین اول اینکه گفتی "برنامه اول بطور کامل در هسته اول پردازش میشه" غلط هه و اغلب این طور نیست . یه نخ بطور کامل اصلا به احتمال زیاد پردازش نمیشه (نگاه کن اینکه میگم نخ ، نخ خودش مجموعه ای از دستورالعمل هاست ها . نه فقط یه دستورالعمل داشته باشه) . مثلا همینی که گفت ، وقتی اطلاعات رو میخواد از رم بخونه یا بنویسه (مثلا برای متغییرها و ... اش) یا به هر دلیل دیگه که سیستم عامل و پردازنده خودشون تشخیص میدن ، پردازنده اجراش رو متوقف میکنه و وقتی دوباره درخواست ادامه ی پردازش میکنه ، همونطور که گفتم ، معلوم نیست که دوباره در همون هسته پردازش بشه (واسه همینه که میبینیم یه برنامه ای که کسی نوشت ، توی تسک منیجر ، همه ی هسته ها رو درگیر کرد که درواقع این طور نیست)
----------------------
بله هیچ ارتباطی به تاپیک نداشت و اوستا امید دعوامون نکنه خوبه برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
------------------------
درباره ی نرم افزار تست فریم دهی ، منظورم این بود که یه نرم افزاری بهم معرفی کنی که تست 1% low رو هم بهم بده که fraps فکر نکنم این قابلیت رو داشته باشه (منظورم این نبود آموزش fraps رو بذاری)
اون نرم افزاری که توی یوتیوب وقتی تست بازی رو میذارن و سمت چپ قسمت بالا ، اطلاعات لود پردازنده ها و قطعات و فریم ها رو میده ، چیه؟






پاسخ با نقل قول
Bookmarks