اولین قطعه که میدونید مهمترین قطعه هست ، انتخاب پردازنده ی CPU هست .
پردازنده که انتخاب بشه ، سوکت مادربرد (صرف نظر از چیپست و مدار تغذیه ی مادربرد که اگه وقت شد ، بعدا بهش میپردازیم) هم مشخص خواهد شد .
اما برای انتخاب پردازنده ، باید بدونین که نرم افزار مورد نظرتون چجوری کار میکنه و چجوری از پردازنده ، برای پردازش دستوراتش استفاده میکنه . برای این کار نیاز داریم از معماری نرم افزار یه کم اطلاع پیدا کنیم . هر چند مبحث معماری نرم افزار پیچیده هست ولی اینجا فقط کلیات و اون هم به زبان ساده تر مطالب گفته میشه (مطالب چون تخصصی هه و اینجا بصورت ساده گفته میشه ، شاید برای کسایی که تخصص دارن ، با واقعیت اندکی فاصله داشته باشه . چون مباحث تخصصی برنامه نویسی هم لازم داره که در آخر تاپیک ، لینک مبحث تخصصی تر اش را میدم) .
---------------------------------------------------
معماری پردازنده (قسمت 1) :
همونطور که میدونید ، هر برنامه (مثل افترافکت) ، از حداقل ، یک پروسه (یا پروسس یا process) تا چندین پروسه تشکیل شدن . نام پروسه را در سربرگ details در task manager میشه پیدا کرد . نام پروسه ی اصلی افترافکت ، AfterFX.exe هست .
هر پروسه (process) هم که در task manager قابل مشاهده هست ، از حداقل یک نخ (thread) تا چند نخ تشکیل شدن .
نخ های هر پروسه هم در پنجره ی Resource Monitor در ستون Thread ، قابل مشاهده هستن :
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
همونطور که در تصویر بالا میبینید ، پروسه ی AfterFX (پروسه ی اولی که انتخاب شده هست) ، در این لحظه ای که عکس گرفته شد ، 55 نخ در حال اجرا داره . هر لحظه هم تعداد این نخ ها ممکنه کمتر یا بیشتر بشه .
توی هر نخ ، کدهای پروسه و نرم افزار اجرا میشن .
نخ ها ، یا در حال اجرای کدشون در پردازنده هستن یا اینکه متوقف شده هستند .
اگه متوقف شده باشند ، که از پردازنده استفاده نمیکنند . پس هیچ چی .
اما تا زمانی که نخ ها در حال اجرای کدشون باشند ، از پردازنده استفاده میکنند و بنابراین کارکرد و اشغال پردازنده ، بالا میره .
در صورتی که نخ ها در حال اجرای کدشون باشند ، به ازای هر نخ ، یک هسته از پردازنده اشغال میشه . در واقع ، در یک لحظه ، هر هسته ی پردازنده ، فقط کدهای یک نخ (ای که در حال اجرای کدش باشه) را پردازش میکنه . بنابراین اگه پردازنده ای مثلا 8 هسته ای باشه ، درون دو هسته اش ، هیچ وقت یک نخ را بصورت همزمان پردازش نمیکنه و کدهاش را اجرا نمیکنه . بلکه فقط یک نخ را در یک هسته اش پردازش و کدهای اون نخ را اجرا میکنه .
همونطور که در ستون cpu در تصویر نشون میده ، میبینید که این پروسه (ی افترافکت) با اونکه 55 نخ داره ولی کارکرد و اِشغال cpu اش 0 هست . یا به عبارتی ، به این معناست که هیچ کدوم از 55 نخ در این پروسه ، در حال اجرای کد نیستند و به عبارتی همه ی 55 نخ در این پروسه یا متوقف شدند یا در حال انتظار هستند .
ستون average cpu در تصویر بالا هم نشون میده که در 60 ثانیه ی اخیر ، این پروسه ، چند درصد از کل پردازنده را اشغال کرد . که در اینجا ، میانگین اش در 60 ثانیه ی اخیر ، مقدار 0.03 درصد از پردازنده را اشغال کرد (که به 1 درصد هم نرسیده) .






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