ramin1000 (18-06-17), TechBaMohsen (18-06-17)
من اون مثالی که زدم ، مثال بودها . کاملا با واقعیت شاید منطبق نبوده باشه ولی سعی کردم منطبق ترین باشهبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط TechBaMohsen برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
کجا گفتم همزمان ورود اطلاعات رخ نمیده برای چند نخی؟
من هم خودم چندان بلد نیستم و تا جایی که درک کردم رو دارم میگم (که اطلاعات به اشتراک بذاریم)
ببین نه اینکه چند نخی سوئیچ بین اطلاعات در هسته ها باشه ولی تک نخی این قابلیت رو نداشته باشه . هر دو ، سوئیچ هسته بین اطلاعات انجام میدن ولی در چند نخی خیلی سریعتر انجام میشه و باعث کم شدن معطلی هسته میشه (قضیه ی همون یه در و دو در که برای کارخونه مثال زدم . اف چهاردر منظورم نیست ها برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ) .
اون شکل هم درست گفت . با گفته ی من تناقضی نداره . کلمه ی "همزمان یعنی sametime" رو برای چند نخی بکار نبرد . کلمه ی "same clock cycle" رو بکار برد . یعنی در طول همون سیکل کلاک ، دو نخ رو پردازش میکنه . این به این معنی نیست که همزمان با هم انجام میده . منظورش اینه که تا یه سیکل کاری تموم شه ، دو نخ رو پردازش میکنه. یعنی اول یکی رو پردازش میکنه (و ممکنه وسطای پردازش یه نخ ، اون نخ رو متوقف اش کنه) و بعد سراغ نخ بعدی میره و .... که توضیح دادم (بازم میگم که پردازش همزمان ، فقط در هسته های متفاوت انجام میشه)
---------------------
اون درب ورودی کارخونه ، همون نخ پردازنده هست یعنی اگه پردازنده ای چند نخی نباشه ، پس هر هسته یک نخ داره (هر کارخونه ، یه در داره) و اگه چند نخی باشه ، هر کدوم 2 نخ دارن (هر کارخونه ، 2 در داره) . هر هسته در چند نخی ، از 2 نخ بیشتر نداره (یعنی هر کارخونه از 2 در بیشتر نداره) . اون نخ که گفتم مجموعه ای از دستورالعمل هاست ، اون نخ پروسه هاست یعنی زمانی که برنامه نویس ، نخ ایجاد میکنه برای پروسه و برنامه ی خودش . این نخ ، همون مثال خانواده هست . خانواده ای که 5 نفر رو فرستاد برای کوپن گرفتن از کارخونه دار ، تعداد افراد ، همون تعداد نخ ها هستن. الان توی این قضیه که 5 نفر فرستاده شدن ، یعنی اینکه برنامه نویس ، همزمان 5 نخ رو برای برنامه اش برای پردازش درخواست کرد (بعد اینو توی پست های بالاتر گفتم که هر نخ از یه در ورودی میره و اما هیچ وقت همزمان پردازش نمیشن در یه هسته). خوب حالا هر نفر ، ممکنه درخواست های متفاوتی داشته باشن . یکی مثلا شکر و ماست میخواد و یکی دیگه از این 5 نفر ، مثلا 20 قلم کالا میخواد ، یکی دیگه فقط یه دونه کالا میخواد و ... . این درخواست های هر نفر (که تعداد و نوع اش میتونه متفاوت باشه) ، همون تعداد دستورالعمل هایی هست که هر نخ به هسته ها برای پردازش میفرستن.
اگه با برنامه نویسی آشنایی ، نخ چیزی جز تابع نیست . داخل تابع هم میشه انواع عملیات رو انجام داد مثل فراخونی توابع دیگه و تعریف متغییرها و بسیاری کارهای دیگه که نهایت به دستورالعمل های ریاضی تبدیل میشن برای پردازش یا ذخیره در رم یا فراخونی اطلاعات
نگاه کن ، همونطور که توی اون لینکی که دادم ، زمانی که در یه نخ ، یه دستورالعمل نیاز به خوندن یا نوشتن اطلاعات از رم داره ، پردازنده معطل میمونه و نمیتونه بقیه ی نخ ها رو منتظر بذاره تا این دستورالعمل با سرعت کند رم بخواد اطلاعات رو بخونه یا بنویسه (کلمه ی fetch که در انگلیسی بالا دادی ، موقع خوندن اطلاعات از رم توسط cpu میگن) یا کلا مثال ساده تر و قابل ملموس تر اینکه اگه ویژال استودیو داری ، کد زیر رو توی برنامه ی ویندوز فورم سی شارپ (داخل هر رویداد) بنویس و اون رویداد رو اجراش کن :
کد:System.Threading.Thread.CurrentThread.Suspend();
میبینی که برنامه ی سی شارپ دیگه کار نمیکنه و قفل میکنه . بخاطر اینه که نخ اصلی ای که برنامه ی سی شارپ در حال اجرا شدن توش بود رو متوقف کرد تا بعد در رویدادی دوباره ادامه بده (resume بشه) . خوب اگه قرار باشه تا زمانی که دوباره درخواست ادامه دادن توسط این نخ بشه ، تا اون زمان هسته ای که اینو پردازش کرد ، نخواد ازش دست برداره و بازم باهاش درگیر باشه ، پس توی یه پردازنده ی 2 هسته ای 2 نخ وقتی این برنامه اجرا میشه ، یه هسته شو درگیر کرده و ول نمیکنه و بنابراین دوباره یه اجرای دیگه از این برنامه انجام بدیم و دوباره این اتفاق بیفته (متوقف شدن نخ) پس هسته ی دوم رو هم در اون پردازنده درگیر میکنه و ول نمیکنه بنابراین کل هسته ها کاملا اشغال شده اند و هیچ برنامه ی دیگه ای رو نمیتونن برای پردازش بپذیرن بنابراین هیچ نرم افزاری رو نمیتونه طرف اجرا کنه و حتی دستورات حرکت موس هم پردازش نمیشه و موس هم کار نمیکنه و کل کامپیوتر باید قفل بشه
اما میبینیم که نه. این طور نیست . با اونکه توی پردازنده ی 2 هسته ای ، 2 تا پروسه ی مجزا ، نخ هاش متوقف شدن ، ولی بقیه ی برنامه ها و نخ ها دارن پردازش میشن
اگه میخوای ، برنامه شو بهت بدم تا تست کنی (اگه ویژال استودیو نداری)
------------------
ممنون
باشه اون نرم افزار msi رو تست میکنم
آخرین ویرایش توسط SajjadKhati در تاریخ 18-06-17 انجام شده است
دانلود فیلم آموزش برنامه نویسی Visual Studio C#.Net
فیلم آموزش کامل Autoplay Media Studio
وقتی انسان ، حیوان هست ، پس قیمت میتونی براش بذاری ولی وقتی انسان حَیّ مُتِاَلِّه هست که قیمت نداره ، بها داره. "دکتر حسن عباسی"
ramin1000 (18-06-17), TechBaMohsen (18-06-17)
جالب بود استفاده بردم. الآن بیشتر منظور این اچ تی رو متوجه شدم. نه ندارم برنامه اشو...برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط SajjadKhati برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
ازین بحث ها کجا دیدی انجام بشه خداوکیلی!؟برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
مرسی سجاد جانبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
ramin1000 (18-06-17), SajjadKhati (18-06-17)
دوستان اگه امکان داره فونت ها رو bold نکنید چون خوندنش سخت می شه برای اینکه روی یک مطلب تاکید کنید با رنگ متفاوت نشون بدید
همون فونت معمولی که بنویسید ما خودمون روش زوم می کنیم تا بزرگتر بشه
************
اگه می شه یک بحثی هم درباره پردازنده های اینتل و رایزن بکنید که مثلا آیا توی پردازش اطلاعات هسته های اینتل و رایزن یکی عمل می کنن چون من در جایی خوندم که پردازنده های اینتل تو پردازش های محاسباتی بهتر عمل می کنن
یعنی می خوام تفاوت پردازنده های اینتل و رایزن رو تو محاسبه کارهای مختلف بدونم چون اگه هیچ فرقی با هم ندارن خوب خرید پردازنده با هسته بالاتر یک امتیاز محسوب می شه
آخرین ویرایش توسط ramin1000 در تاریخ 18-06-17 انجام شده است
SajjadKhati (19-06-17)
پیوست کردم ، میتونی دانلود کنی . البته باید نسخه ی 4.6.2 یا بالاتر از دات نت رو نصب کنی قبلش (نسخه ی 4.6 نمیشه ها)برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط TechBaMohsen برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
روی دکمه ی suspend main thread کلیک کن که باعث توقف نخ اصلی میشه (باعث قفل برنامه میشه) . البته بعد از 15 ثانیه ، توسط نخ دیگه ، اتوماتیک ادامه پیدا میکنه نخ اصلی (که باعث میشه از قفل بودن دربیاد)
خواهش میشود آقا محسن
البته گفتم ، اطلاعات ام کامل نیست و فقط چیزایی که بلد بودم (اگه غلط نباشه) رو خواستم بگم
دانلود فیلم آموزش برنامه نویسی Visual Studio C#.Net
فیلم آموزش کامل Autoplay Media Studio
وقتی انسان ، حیوان هست ، پس قیمت میتونی براش بذاری ولی وقتی انسان حَیّ مُتِاَلِّه هست که قیمت نداره ، بها داره. "دکتر حسن عباسی"
TechBaMohsen (19-06-17)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks