پردازندههای چندهستهای از چندین سال پیش در انواع کامپیوترهای شخصی دیده میشوند و نصیب برداری از آنها، علت افزایش سرعت و کارایی سیستمها شده است. به نشانی کاربر دنیای فناوری شاید این سؤالها برایتان مطرح شده باشد: ویندوز خواه دیگر جهیز عاملها چگونه از توان پردازندههای چندهستهای استعمال میکنند؟ وقتی کاربرد چند هسته جزو خصوصیات ابکی افزاری محسوب میشود، هستههای چگونه اجرای اپلیکیشنها را اولویت دهی و بین خویشتن تقسیم میکنند؟ میقابلیت اپلیکیشنها و سیستم عامل را به گونهای پیکربندی کرد که مصرفی بهتر و بیشتری از هستههای بیشتر داشته باشند؟ درادامهی این مطلب زومیت، تا حدودی بوسیله این پرسشها پاسخ میدهیم.
زمانی که کامپیوتر خود را روشن میکنید و پیش از اجرای سیستم عامل، پردازندهی اصلی و مادربرد باهم وابستگی درست میکنند (تعبیر Handshake). پردازندهی مرکزی اطلاعات مشخصی دربارهی خصوصیات عملیاتی خود به مادربرد و بخش UEFI میفرستد. بخش سابق الذکر از اطلاعات دریافت شده بخاطر راه اندازی اولیهی مادربرد و بوت کردن سیستم استفاده مینرم.پیش از اجرای جهیز عامل، پردازنده و مادربرد اطلاعاتی را برای تنظیمات ابتدایی ردوبدل میکنند
در علوم کامپیوتر، رشته (Thread) به کوچک ترین واحد اجرایی میگوییند که جهیز برنامه ریز سیستم عامل اجرا میدرنگ. برای درک بهتر، رشته را میقابلیت با وهلهای در خط مونتاژ مثل دانست. یک سطح اعلی از رشته، فرایند (Process) قرار دارد. فرایندها پروگرامهای کامپیوتری هستند که در یک یا چند رشته اجرا میشوند. در شهید خط تولید، فرایند را میقابلیت کل مراحل تولید هر محصول دانست که رشته هریک از وظایف در آن مراحل تولیدی است.
تا اینجا میدانیم پردازندهها تنها میتوانند داخل هر لحظه، یک رشته را اجرا کنند. هر فرایند همچنین حداقل به یک لفافه نیاز دارد. حالا این سؤال ایجاد میشود: چگونه کارایی و قدرت کامپیوتر را افزودن دهیم؟ پاسخ داخل افزایش سرعت کلاک پردانده نهانی است. ضابطه مقیاس دهی دنارد از دههها پیش به نشانی راهکار عملی افزودن سرعت و کارایی در پردازندهها شناخته میشد. اگرچه عادت مور مشهود کرد میتوان ترانزیستورهای بیشتری با اغماض زمان در فضاهای کوچک تر جانمایی کرد، قانون دنارد وجود که باعث دستیابی به سرعت کلاک بیشتر در ولتاژ مصرفی ناچیز شد.
اگر کامپیوتری بتواند با سرعت مناسبی وظایف خویشتن را ایفا دهد، شکست احتمالی آن در مدیریت متجاوز از یک رشته، آن چنان مشکل زا نخواهد حیات. البته همه میدانیم وظایف پردازشی در جهان وجود دارند که محلول کردن آنها تو کامپیوتر کلاسیک بوسیله زمانی حتی زیاد از زمان وجود دنیا هستی نیاز دارد. بوسیله جز آن موارد خاص، کامپیوترهای کندرو در محلول کردن سایر وظایف شاق خاصی ندارند؛ وظایفی که کم هم نیستند.
با سریع ترشدن کامپیوترها، توسعه دهندهها به مرور نرم افزارهای پیچیده تازگی تولید کردند. همین روند نیاز به پردازش تو چند رشته را افزودن انصاف. در ساده ترین شیوهی پردازش چندرشتهای (موسوم به Coarse-Grained)، سیستم عامل به جای منتظرماندن برای حاصلی یک حساب در یک رشته، از لفافهای دیگر بخاطر انجام مواجب استفاده میکند. چنین روندی تو دههی ۱۹۸۰ مد شد که کلاک CPU و RAM درون حال جداسازی از یکدیگر بود. در آن دوران، سرعت حافظه و پهنای باند آن، هر دو با سرعتی بیش آهسته تر از سرعت کلاک پردازنده رشد میکردند. متولد حافظهی کش بوسیله این معنا بود که پردازندهها میتونند مجموعههای کوچک دستورالعمل را برای ادا حساب سریع و کوتاه، نزد خود نگه دارند. همچنین، پردازش چندرشتهای تامین میشد پردازندهها همیشه مواجبای برای انجام دادن داشته باشند.توسعه و انتشار نرم افزارهای مرموز تر، نیاز بوسیله پردازندههای چندهستهای را بوسیله بود آورد
فراموش نکنید توضیحات مذکور همگی پردازش در پردازندهی تک هستهای را شرح میدهند. امروزه، اصطلاحهای چندرشتهای و چندپردازشی اغلب با معنای مشترکی بوسیله کار میسیلان. البته این طور معنای مشترکی همیشه کاربرد نمیشود و دو مفهوم استثنا به نامهای Symmetric Multiprocessing و Symmetric Multithreading داشتیم که درادامه هرکدام را شرح میدهیم.
SMT: پردازنده میتواند هم زمان بسیار از یک رشته را ارتکاب کند. این فرایند با برنامه ریزی لفافهی دوم به صورتی ارتکاب میشود که رشتهی مذکور بتواند از واحدهای اجرایی خالی استفاده کند که رشتهی نخست اشغال نکرده است. اینتل فناوری سابق الذکر را به شهرت Hyper-Threading میشناسد و AMD همان نام SMT را کاربرد مییواش. درحال حاضر، هر دو تیم آبی و قرمز از SMT برای اضافه کارایی پردازنده کاربرد میکنند و روند استراتژیک اختصاص خود را برای پیاده سازی فناوری داشتند و آن را در محصولات خاصی ارائه میکردند. امروزه، اکثر محصولات از اینتل و AMD به استعداد SMT مجهز هستند. پیاده سازی SMT در محصولات کاربرد کننده، یعنی پردازندههای با تعداد دوبرابر رشته نسبت به هستهها داریم (مثلا پردازنده ای با هشت هسته و شانزده رشتهی پردازشی).
SMP: پردازنده بیش از یک هستهی پردازشی دارد یا از مادربردی چندسوکتی استعمال میکند. هر هستهی پردازشی، عزب یک رشته را ارتکاب میکند؛ درنتیجه تعداد رشتههایی که در هر چرخهی کلاک عمل میشوند، بوسیله تعداد هستههای شما محدود خواهد بود؛ مثلا پردازندههای هشت هستهای با هشت رشتهی پردازشی.
فرایندهای چندرشتهای در مفاهیم تک هستهای بوسیله این معنا وجود که پردازندهی شما با چه سرعتی میتواند بین رشتهها جابه مکان شود نه اینکه پردازندهی شما میتواند بیش از یک رشته را در آن واحد اجرا درنگ یا خیر.بهترین سازی جریان کاری و نقش جهیز عامل
پردازندههای مدرن حتی آنهایی که بیست سال پیش با معماری x86 مصنوع شدند، مفهومیبه اشتهار Out of Order Execution یا OoOE را به فرمان میگیرند. تمامیهستههای پردازندهی مدرن و قدرتمند، همچون هستههای big تو معماری big.LITTLE پردازندههای گوشی هوشمند، نقشه کشی OoOE دارند. این پردازندهها دستور العملهای دریافتی را به عارض آنی داخل ساختار جدید نیکو میکنند تا اجرای آنها بهترین سازی شود.
پردازندهی مرکزی کدی را ادا میکند که از سمت جهیز عامل ارسال شده است؛ اما جهیز عامل نقشی تو اجرای دستورالعملها ندارد. مواجبی مذکور به صورت داخلی در پردازنده مدیریت میشود. پردازندههای مدرن x86 هر دو از بازتنظیم ترتیب دستورالعملهای دریافتی استعمال و دستورالعملهای x86 را به فعالیتهای کوچک تر استیل RISC تغییر میکنند. ابتکار OoOE باعث شد مهندسان بتوانند بدون تماس به ترقی دهندگان بخاطر نگاشتن کد ممتاز و بهینه، بهره وری مناسب و مشخصی در پردازندهها تضمین کنند. اجازه دادن به پردازندهی مرکزی بخاطر با قاعده کردن مجدد دستورالعملها، تا اینکه در مفهوم تک هستهای تیمار به افزایش نصیب وری سیستم چندرشتهای غم میانجامد. فراموش نکنید پردازندهی مرکزی قدیم درحال جابه جاشدن بین وظایف است؛ حتی چنانچه شما بااطلاع آن نشوید.
پردازندهی مرکزی با حیات تمام توانهایی که درون سطح مهندسی دریافت میکند، نقشی در برنامه ریزی خودش انجام نمینرم و جهیز عامل این وظیفه را برعهده دارد. ظهور پردازندههای چندرشتهای نیز این مفهوم و ترتیب را تغییر نداد. وقتی اولین برد دوپردازندهای مخصوص کاربرد کننده (ABIT BP6) شناساندن شد، علاقه مندان به پردازشهای چندرشتهای مجبور شدند از ویندوز NT یا ویندوز ۲۰۰۰ استفاده کنند. خانوادهی Win9X از پردازش چندهستهای پشتیبانی نمیکرد.
پشتیبانی از اجرای فرایندها درون چند هستهی پردازنده به توانهایی بنیانی در سیستم عامل نیاز دارد. سیستم عامل باید بتواند تمامیوظایف قبلی شامل مدیریت حافظه و تخصیص منابع را عمل دهد که از اختلال داخل سیستم عامل به دست اپلیکیشنها جلوگیری میکرد. دراین میان، مستمریای متاخر هم به آن اضافه میشود تا هستههای پردازنده را از ساختن اختلال تو فرایندهای یکدیگر منع نرم.
پردازندههای چندهستهای مدرن لزوما به «واحد دستور کار ریز مرجع» مجهز نیستند؛ واحدی که بتواند وظیفهها را بین هستهها انشعاب یا به نوعی روند کاری توزیع نرم. درنتیجه چنین وظیفهای را سیستم عامل برعهده دارد.میتوان ویندوز را با هدف یکروز برداری بهتر از هستهها پیکربندی کرد؟
بوسیله طور کلی، پاسخ به این پرسش منفی است. البته فدایی اوقات برای نصیب برداری از قابلیت های جدید پردازندهای چندهسته ای، به به روزرسانی ویندوز حاجت است؛ اما چنین پیکربندیهایی داخل داخل مایکروسافت ایفا میشود و کاربر بازپسین نقشی در بهینه سازیها ارتکاب نمیکند. درنهایت، استثناهای بسیار محدودی حیات دارد که تجسس آنها تهی از لطف نیست.مقالههای مرتبط:چه تفاوتی بین Core i3 با Core i5 و Core i7 اینتل وجود دارد؟پردازندهها چگونه طراحی و مخلوق میشوند؟
پردازنده AMD 2990WX به نوعی استثنایی برای قاعده سابق الذکر محسوب میشود. این پردازنده عملکردی تقریبا خسته درون ویندوز دارد؛ در مدت مایکروسافت حیات بیش از یک نود NUMA را در پردازنده تفسیر نمیکند و درنتیجه، از تمامیمنابع 2990WXاستفاده نمیشود. در برخی موارد، راهکارهایی برای بهبود کارایی این پردازنده داخل ویندوز وجود دارد که به پیکربندیهای دستی نیاز دارد. البته همگیی کارشناسان این تغییرات دستی در رشتههای پردازشی را تأیید نمیکنند و آنها استفاده از لینوکس را برای پردازندهی مذکور پیشنهاد میدهند.
پردازندهی 3990X استثنای بزرگ تری در قاعده دگرگونی پیکربندی برای بهره وری بیشتر است. ویندوز ۱۰ دستههای پردازنده را به ۶۴ رشته محدود میکند؛ درنتیجه، نمیتوانید بیش از ۵۰ درصد از منابع اجرایی 3990X را به قضیه کاری واحد اختصاص دهید؛ سوا اینکه اپلیکیشن مدنظر از پروگرام ریز اختصاصی استفاده کند. به برهان همین محدودیتها، 3990X بخاطر اکثر اپلیکیشنها پیشنهاد نمیشود و تنها در ابزارهای رندر و دیگر اپلیکیشنهای حرفهای مصرف دارد که از دستور کار ریز اختصاصی بهره میسرما.
مثالهای یادشده نشان رحم تغییر دستی پیکربندی برای افزودن کارایی جهیز عامل در پردازندههای چندهسته ای، به پردازندههایی محدود میشود که از بیشترین تعداد هسته برخوردار است. در حالت دیگر، کاربر امکان تبدیل و بهینه سازی چندان زیادی نخواهد داشت؛ البته این طور محدودیتی بوسیله نفع خود کاربر هم طولانی میشود. کاربر نهایی نباید نگران خاص دادن رشتههای پردازشی با هدف به حداکثر رساندن کارایی در پردازنده باشد؛ در مقابل پیکربندی بهینه براساس وظایفی که پردازنده درون لحظه انجام میدهد، به رخ خودکار پیاده سازی میشود. درنهایت، پیشرفتهای آتی در دنیای کامپیوتر همگی به این سمت پیش میروند که هماهنگی پردازنده و جهیز عامل بوسیله حداکثر برسد و اولویت دهی به وظایف سریع تر ادا شود.بیشتر بخوانید:ویروس کرونا جدید ویندوز را برای همیشه تغییر خواهد دادواتساپ وب و واتساپ دسکتاپ؛ مقایسه امکانات، مراحل راه اندازی و دانلودچطور یک فولدر را در ویندوز قفل یا رمزگذاری کنیمهر آنچه باید درباره حالت خواب، رویا زمستانی و خاموش کردن کامپیوتر بدانیدکنترل پنل ویندوز 10 به روزهای آخر نزدیک میشود؟
فیلم | نحوه ثبت نام و انتقال خودرو اطلاع دادن شد