18-12-2017, 08:41 PM
(آخرین ویرایش: 18-12-2017, 08:44 PM، توسط mr.valadkhani.)
اینکه می گویند CPU چند هسته دارد منظور چیست ؟ اگر فراموش نکرده باشید تا چند سال پیش پردازنده های موجود در بازار فقط تک هسته ای بودند و مثل الان از واحد پردازشگر مرکزی ، تعداد هسته بالا ، افزایش مقدار حافظه کش نسبت به هر سری پردازنده پشتیبانی نمی کردند . (GPU چه نقشی در پردازنده های جدید ایفا می کند ؟)برای افزایش کارایی، تولیدکنندهها هستههای اضافی را به واحد مرکزی پردازش افزودند. یک پردازنده دو هستهای دارای دو واحد پردازشی است، بنابراین سیستم عامل آن را به صورت دو CPU میبیند. پروسههای مختلف میتوانند از هر دو هسته به صورت همزمان استفاده کند. این میتواند سرعت سیستم را بالا ببرد، چون کامپیوتر میتواند چند کار را به صورت همزمان انجام دهد. فکرش را کنید که این دو هسته تبدیل به هشت هسته با مقدار حافظه کش و فرکانس بالا نیز ارتقا پیدا کند .
تعداد هسته بالا چه فایده ای به غیر سرعت می تواند برای کاربران داشته باشد ؟ هر چه یک کامپیوتر، CPU یا هسته بیشتری داشته باشد، کارهای بیشتری را میتواند به صورت همزمان انجام دهد. این موضوع کارایی را به طور کلی افزایش میدهد، حتی اگر در حال انجام فقط یک کار هم باشید، کامپیوتر باید در پسزمینه کارهای دیگری هم انجام دهد. با یک پردازنده چند هستهای، کامپیوتر میتواند هستههای دیگر را به این کارهای پسزمینهای اختصاص دهد، تا از کند شدن برنامه مورد نیاز شما جلوگیری شود. ظهور پردازندههای دو هستهای تجربه بسیار بهتری را برای کاربران کامپیوترهای شخصی به ارمغان آورد. البته همانطور که در بخش بالا به آن اشاره شد در حال حاضر پردازنده های 6 و 8 هسته ای نیز به بازار آمده اند که در کنار 6 یا هشت هسته اصلی از 12 هسته ترد نیز پشتیبانی می کنند که یکی از این محصولات Core i7-5820K می باشد که دارای 15 مگابایت حافظه کش است که یکی از 5 پردازنده پر سرعت دنیا به حساب می آید البته در خانواده کامپیوترهای خانگی .
[font=Tahoma,]پردازندهٔ چند هستهای از اجزای رایانشی و محاسباتی است که دو یا چند پردازنده مستقل واقعی (به نام «هسته») دارد، که واحدهایی برای خواندن و اجرای دستورالعملهای برنامه هستند. این دستورالعملها عموما دستورالعملهای معمولی CPU از قبیل اضافه کردن، انتقال دادهها، و انشعاب است، اما هسته های متعدد می توانند در همان زمان دستورالعمل های بیشتری را اجرا کنند که موجب افزایش سرعت کلی برای برنامه های تابع رایانش موازی میشود. تولید کنندگان معمولا هستهها را بر روی یک قطعه مدار مجتمع (IC) ادغام میکنند، یا بر روی چند قطعه در یک بسته تراشه عرضه میکنند.[/font]
[font=Tahoma,][font=Tahoma,]به دلیل پیشرفت در تکنولوژی مداری و محدودیت کارایی در زمینههای گسترده پردازندههای انتزاعی تراشههای چند پردازنده یا تکنولوژی چند هستهای مسیر اصلی در طراحی یک cpu شدهاست. تسریع فرکانس پردازنده نقش خودش را در اوایل این دهه اجرا کردهاست. ساختارهای کامپیوتری به یک راه حل برای افزایش کارایی نیاز داشتند اضافه کردن یک هسته پردازشی علاوه بر یک تراشه مشابه به صورت تئوری کارایی دو برابر را نتیجه میدهد و گرما را کمتر هدر میدهد. اگرچه که در عمل سرعت واقعی هر هسته کمتر از سریعترین پردازندهٔ تک هستهای در سپتامبر ۲۰۰۵ شرکت IEEE Reviewer کاملا متوجه این نکته شد که تا افزایش کلاک بهMHZ ۴۰۰ (در سرعت کلاک)توان مصرفی۶۰٪ افزایش پیدا میکند اما رویکرد دو هستهای به این معنی است که شما میتوانید به اهمیت بالا بردن کارایی بدون نیاز به اجرا در سرعت کلاک ویرانگر دست پیدا کنید. چند هستهای یک مفهوم جدید نیست. به عنوان مفهومی که قبلا در سیستمهای جاسازی شده و برای برنامههای کاربردی خاص برای مدتی استفاده شدهاست میباشد. اما اخیرا تکنولوژی به یک جریان اصلی با استفاده از اینتل و دستگاههای ریز پیشرفته AMD)) که بسیاری از تراشههای چند هستهای موجود تجاری را معرفی میکند تبدیل شدهاست. برخلاف ماشینهای ۲یا۴ هستهای در دسترس تجاری در سال ۲۰۰۸ بعضی از متخصصین بر این باورند که به وسیله پردازندههای تعبیه شده در سال ۲۰۱۷ میتوانند ۴۰۹۶ هسته را پشتیبانی کنند. پردازندههای سرور میتوانند از ۵۱۲ هسته و تراشههای کامپیوترهای رو میزی میتوانند از ۱۲۸ هسته استفاده کنند. این نرخ رشد گیج کنندهاست چراکه تراشههای رومیزی جاری در اوج استفاده از ۴ هسته هستند و تک هستهایها در ۳۰ سال گذشته استفاده میشدند.[/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,]شرح زیر مخصوص هر طرح چند هستهای نیست اما تقریبا یک مرور کلی از ساختارهای چند هستهای است اگرچه تولید کننده طراحی را متفاوت از دیگری انجام میدهد ساختارهای چند هستهای نیاز دارند تا با جنبههای معین تطابق یابند. پیکربندی پایه یک ریزپردازنده در شکل ۲ دیده میشود. حافظه نهان سطح ۱ نزدیکترین به پردازندهاست. این یک حافظه خیلی سریع است که اغلب برای ذخیره کردن داده به وسیله پردازنده استفادهاست. حافظه نهان سطح ۲ بزرگتر از حافظه نهان سطح ۱ است و برای یک هدف یکسان طراحی شدهاست. حافظه اصلی بزرگتر و کند تر از حافظه نهان است. یک مثال برای حافظه اصلی:ذخیره کردن یک فایل word که الان درحال ویرایش آن هستیم. بسیاری از سیستمها بین ۱GB تا ۴GB از حافظه اصلی و تقریبا ۳۲KB از حافظه نهان سطح ۱ و ۲MB از حافظه نهان سطح ۲ را دارند. سرانجام زمانیکه داده در حافظه نهان یا حافظه اصلی موجود نیست سیستم باید آن را از دیسک سخت بدست آورد که زمان بیشتری را نسبت به خواندن از حافظه اصلی میبرد. اگر ما دو هسته را کنار هم قرار دهیم کاملا واضح است که یک روش ارتباطی بین هسته و حافطه اصلی نیاز است که این موضوع معمولا یا به وسیله استفاده از یک باس ارتباطی تک یا شبکه به هم متصل بدست میاید. رویکرد گذرگاه در مدل حافظه مشترک استفاده میشود در حالیکه رویکرد شبکه درون ارتباطی در مدل حافظهای توزیع شده استفاده میشود. و تقریبا بعد از ۳۲ هسته، گذرگاه سربار زیادی به وسیله مقداری از پردازش ارتباط، رقابت که باعث کاهش کارایی میشود، پیدا میکند. بنابراین یک گذرگاه ارتباطی یک مقیاس پذیر محدودی دارد. به نظر میآید که پردازندههای چند هستهای جواب مناسبی برای عیبهای پردازندههای تک هستهای به وسیلهٔ افزایش پهنای باند در حالیکه اتلاف توان را کاهش میدهد، هستند. جدول ۱ که در زیر آمدهاست مقایسهٔ پردازندهٔ تک هسته و چند هسته (در این مثال ۸ هسته) است که بوسیله مرکز تحقیق و بسته بندی در تکنولوژی Georgia ارائه شدهاست. با منبع ولتاژ مشابه و هستههای چند گانه که در فرکانس پایین تر اجرا میشوند، میبینیم که تقریبا با افزایش ۱۰ برابری در پهنای باند را داریم در عین حال مصرف توان کل به یک چهارم کاهش پیدا میکند.[/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]اینتل و ای. ام. دی تولید کنندههای اصلی ریز پردازندهها هستند. اینتل تعداد زیادی پردازنده چند هستهٔ متفاوت تولید میکند: پنتیوم D در کامپیوترهای رومیزی استفاده میشود. Core 2 Due هم در محیط لب تاپ و هم در رومیزی و پردازنه Xeon در سرویس دهندهها استفاده میشود. AMD دارای طیف Althon برای کامپیوترهای رومیزی Tution برای لب تاپها و Opteron برای سرویس دهندهها و ایستگاههای کاری است. اگر چه Core 2 Due و Althon 64x۲ هر دو برروی یک پایهاند ولی ساختارهای آنها بسیار متفاوت اند.
[/font][/font][/font][/font]
شکل ۴ ساختار Core 2 Due و Athlon 64xL را به ترتیب نشان میدهد هر دو ساختار پردازندههای دوهستهای هم جنس هستند. Core 2 Due با مدل حافظه اشتراکی با حافظه نهان سطح ۱ و حافظه نهان سطح ۲ که حداکثر نرخ GB/sec ۹۶ را فراهم میکند منطبق هستند. اگر یک حافظه نهان سطح، miss کند هر دوی حافظه نهان سطح ۲ و دومین هستهٔ حافظه نهان سطح ۱ را به صورت موازی قبل از ارسال تقاضا به حافظه اصلی، بررسی میکند. در مقابل Athlon مدل حافظه توزیعی با حافظه نهان سطح ۲ مجزا را دنبال میکند. این حافظههای نهان سطح ۲ واسط درخواستهای سیستمی را به اشتراک میگذارند و نیاز به گذرگاه را حذف میکند. واسط درخواست سیستم هسته هارا با یک کنترلر حافظه روی تراشه متصل میکند و یک اتصال داخلی که Hyper transport (فرا انتقال) نامیده شدهاست، به طور مؤثر تعداد باسنهای مورد نیاز در یک سیستم را کاهش میدهد و تنگناها را کاهش و پهنای باند را افزایش میدهد و در عوض Core 2 Due در یک واسط باس استفاده میکند. Core 2 Due همچنین کنترل حرارتی و توان واحدهای روی تراشه را دارد. هیچ فایدهٔ کارایی قطعی از باس در مقابل اتصال داخلی وجود ندارد. و Core 2 Due و Athlon 64x۲ هر یک به معیارهای کارایی یکسان با پروتکلهای ارتباطی متفاوت دست یافتند. یک شرکت Sony – Toshiba – IBM (STI) سلول پردازنده برای استفاده در play station ۳ سونی ساخت بنابراین سلول به طور عادی برای بازی / کارهای گرافیکی بهینه شدهاست که به معنی توان پردازشی بالا برای برنامههای کاربردی بازی است. سلول یک پردازنده چند هستهای غیر یکنواخت که شامل ۹ هسته و یک عنصر پردازش توان و هشت عنصر پردازش همکاری کنندهاست که در شکل ۵ دیده میشود. با ساختار پهن باند بلد درنگ مربوط به CELL تبادل داده همروند با حافظه توسط هر پردازنده ممکن است که PPE (عنصر پردازش توان) فضای اشغال شدهای در ساختار ۶۴ power pc بیتی است و عملکرد سیستم را مدیریت میکند و توابع را کنترل میکند هر SPE (عنصر پردازش همکاری کننده) مجموعه دستور العملهایی که از دستور العملهای SIMP ۱۲۸ بیتی استفاده میکند را ساده میکند. دستیبای مستقیم به حافظه برای انتقال داده بین منبع محلی و حافظه اصلی استفاده شدهاست که برای تعداد زیا دی تبادل دادههای همروند حافظه اجازه میدهد عنصر پردازش توان و عنصر پردازش همکاری توسط عنصر متصل کننده یعنی باس که ارتباطات داخلی را فراهم میکند به هم متصل شوند. خصوصیات جالب دیگری از سلول واحد مدیریت توان و واحد مدیریت حرارتی است. توان و حرارت نگرانیهای اساسی در طراحی ریز پردازندهها هستند. واحد مدیریت توان برای کاهش توان، فرم کاهش یا توقف با کاملا قطع کردن یک واحد را اجازه میدهد. TMV واحد مدیریت حرارتی شامل یک سنسور خطی و ۱۰ سنسور حرارتی دیجیتال است که برای نشان دادن دمای سراسر تراشه و فراهم کردن یک هشدار سریع در زمانیکه دماها در حال افزایش در یک ناحیه خاصی از تراشهاست استفاده شدهاست.
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]توانایی اندازه گیری و تخمین تغییرات توان و دما یک مزیت بزرگی در آن پردازندهای که نباید زیاد گردم شود یا همچنین توان زیادی را دریافت کند دارد.[/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]داشتن هستههای چند گانه روی یک تراشه باعث غلبه کردن بر چندین مشکل است. مدیریت توان و دما دو نگرانی هستند که به صورت بالقوه با افزایش هستههای چند گانه افزایش مییابند. انسجام حافظه نهان و حافظه اصلی یک چالش دیگر است به طوریکه همه طرحهایی که در بالا بحث شد دارای حافظه نهان توزیع شده سطح و در بعضی موارد حافظههای نهان سطح ۲ که باید هماهنگ باشند و سرانجام استفاده کامل از پردازنده چند هسته مسئله دیگری است. اگر برنامه نویسان برنامههای کاربردی که از فایده هستههای چند گانه استفاده میکنند را ننویسند هیچ بهرهای نخواهند برد و در بعضی موارد این به معنای از دست دادن کارایی است. برنامه کاربردی نیاز دارند تا نوشته شوند بنابراین اجزای متفاوت میتوانند به صورت موازی اجرا شوند بدون هیچ ارتباطی با اجرای دیگر آن برنامه کاربردی که به صورت همزمان اجرا میشوند.[/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]اگر دو هسته روی یک تراشه بدون هیچ تغییری قرار داده شوند. تراشه در تئوری ده برابر یک تراشه تنها توان مصرف میکند و حرارت تولید میکند. در مثال نمایی اگر یک پردازنده بسیار گرم شود این امکان وجود دارد که حتی کامپیوتر شما بسوزد. برای تخمین زدن هر طرح بالا هستههای چند گانه در یک فرکانس پایین تر برای کاهش مصرف توان اجرا میشوند. برای کاهش مصرف توان غیر ضروری خیلی طرحها با یک واحد کنترل توان که وظیفه خاموش کردن هستههایی که استفاده نمیشوند را دارند یا موظف به محدود کردن مقدار توان هستند ترکیب میشوند. با خاموش کردن هستههایی که استفاده نمیشوند(که البته این روش دردسرهای خاص خود را دارد چون روشن شدن مجدد هسته خود مسلزم زمان است) و استفاده از Clock going مقدار زیادی از نشست تراشه کاهش مییابد. برای کمتر شدن گرمای تولیدی به وسیله هستههای چند گانه روی یک تراشه تنها تراشه به طور ساختار یافتهاست تعداد نقاط زیاد نشود و حرارت روی خام تراشه پخش میشوند. همانطور که در شکل ۷ دیده میشود اکثریت گرما در پردازندههای CELL در عنصر پردازش توان پراکنده شدهاست. و مابقی در سطح عناصر پردازشی همکار پخش میشوند. یک پردازنده CELL یک روند متداول برای ساخت نشان دهندهٔ دمای سیستم با یک خسگر خطی و ده حسگر دیجیتال داخلی را طی میکند.[/font][/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]انسجام حافظه نهان به خاطر حافظه نهان سطح ۱و۲ توزیع شده یک نگرانی در محیط چند هستهای است. چون هر هسته دارای حافظه نهان مخصوص به خودش است، یک کپی از دادهای که در آن حافظه نهان است شافبلغابلابلابلالدید همیشه نسخه به روز شده اطلاعات نباشد. برای مثال، فرض کنید یک پردازنده دو هستهای که هر هسته آن یک بلوک از حافظه را به حافظه نهان شخصی خودش میآورد را داریم. هر هسته یک مقدار را در یک مکان خاص مینویسد. وقتی که هسته دوم تلاش میکند مقداری را از حافظه نهان خودش بخواند مقدار خوانده شده مقدار به روز رسانی شده نخواهد بود مگر اینکه مدخل حافظه نهان خودش تامعتبر باشد یا حافظه نهان MISS کرده باشد. این MISS کردن حافظه نهان مدل حافظهٔ نهان هستهٔ دوم را مجبور به روز رسانی میکند. اگر این سیاست انسجام وجود نداشت دادههای غلط خوانده میشوند و نتیجههای نامعتبر تولید میشوند ودر آن هنگام شاید یک برنامه یا کل کامپیوتر از کار بیفتد. به صورت کلی دو نقشه برای انسجام حافظه نهان وجود دارد.[/font][/font][/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]قبل از پردازندههای چند هستهای افزایش کارایی از یک نسل به نسل دیگری مثل افزایش فرکانس، خیلی ساده دیده میشد. وقتی که فرکانسهای بالا سبب میشدند که پردازندهها در سرعتی باعث افزایش اتلاف توان و اتلاف حرارت در سطوح زیان بار اجرا می شدند منسوخ شدند. اضافه کردن هستههای چندگانه در خلال یک پردازنده، یک راه حل از اجرا در فرکانسهای پایین تر میدارد. اما مشکلات جدید جالبی را اضافه کرد. پردازندههای چند هستهای به منظور اینکه اتلاف توان معقولی اتلاف گرمای معقولی و پروتکلهای انسجام حافظه نهان دست یابند ساخته شدند. اگر چه خیلی از مسائل حل نشده باقی ماند به منظور استفاده از پردازندههای چند هستهای با ۳ ظرفیت شامل برنامههای کاربردی روی سیستمهای چند نخی اجرا میشوند. تقریبا برنامههای کاربردی کمی وجود دارد که در هر سطحی از موازی سازی نوشته شدهاند (سیستمهای حافظه و شبکههای به هم متصل نیاز به بهبود دارند و همچنان هنوز مشخص نیست که آیا هستههای یکنواخت کاراترند یا هستههای ناهمگون. با طرحهای زاید و گوناگون تقریبا غیر ممکن است که هر استانداردی را برای انسجام حافظه نهان، اتصالات داخلی و چینش آنها تنظیم کنیم. بزرگترین سختی که در آموزش تکنیکهای برنامه نویسی موازی (چون بیشتر برنامه نویسان در برنامه نویسی ترتیبی خیلی منظم هستند) و دوباره طراحی کردن برنامههای کاربردی جاری باقی میماند این است که روی سیستمهای چند هسته به طور بهینه اجرا کنیم. پردازندههای چند هستهای یک اختراع مهم در طول زندگی ریز پردازنده هستند. توسط برنامه نویسان ماهر و توانا نوشتن برنامههای کاربردی چند هستهای موازی شده میتواند افزایش یابد. در این سالها ما بهبودی ای زیادی در این سیستمها میبینیم که این بهبودها برنامهها را سریعتر میکند و تجربهٔ محاسبات بهتری را فراهم میکند.[/font][/font][/font][/font][/font][/font][/font][/font]
تعداد هسته بالا چه فایده ای به غیر سرعت می تواند برای کاربران داشته باشد ؟ هر چه یک کامپیوتر، CPU یا هسته بیشتری داشته باشد، کارهای بیشتری را میتواند به صورت همزمان انجام دهد. این موضوع کارایی را به طور کلی افزایش میدهد، حتی اگر در حال انجام فقط یک کار هم باشید، کامپیوتر باید در پسزمینه کارهای دیگری هم انجام دهد. با یک پردازنده چند هستهای، کامپیوتر میتواند هستههای دیگر را به این کارهای پسزمینهای اختصاص دهد، تا از کند شدن برنامه مورد نیاز شما جلوگیری شود. ظهور پردازندههای دو هستهای تجربه بسیار بهتری را برای کاربران کامپیوترهای شخصی به ارمغان آورد. البته همانطور که در بخش بالا به آن اشاره شد در حال حاضر پردازنده های 6 و 8 هسته ای نیز به بازار آمده اند که در کنار 6 یا هشت هسته اصلی از 12 هسته ترد نیز پشتیبانی می کنند که یکی از این محصولات Core i7-5820K می باشد که دارای 15 مگابایت حافظه کش است که یکی از 5 پردازنده پر سرعت دنیا به حساب می آید البته در خانواده کامپیوترهای خانگی .
[font=Tahoma,]پردازندهٔ چند هستهای از اجزای رایانشی و محاسباتی است که دو یا چند پردازنده مستقل واقعی (به نام «هسته») دارد، که واحدهایی برای خواندن و اجرای دستورالعملهای برنامه هستند. این دستورالعملها عموما دستورالعملهای معمولی CPU از قبیل اضافه کردن، انتقال دادهها، و انشعاب است، اما هسته های متعدد می توانند در همان زمان دستورالعمل های بیشتری را اجرا کنند که موجب افزایش سرعت کلی برای برنامه های تابع رایانش موازی میشود. تولید کنندگان معمولا هستهها را بر روی یک قطعه مدار مجتمع (IC) ادغام میکنند، یا بر روی چند قطعه در یک بسته تراشه عرضه میکنند.[/font]
[font=Tahoma,][font=Tahoma,]به دلیل پیشرفت در تکنولوژی مداری و محدودیت کارایی در زمینههای گسترده پردازندههای انتزاعی تراشههای چند پردازنده یا تکنولوژی چند هستهای مسیر اصلی در طراحی یک cpu شدهاست. تسریع فرکانس پردازنده نقش خودش را در اوایل این دهه اجرا کردهاست. ساختارهای کامپیوتری به یک راه حل برای افزایش کارایی نیاز داشتند اضافه کردن یک هسته پردازشی علاوه بر یک تراشه مشابه به صورت تئوری کارایی دو برابر را نتیجه میدهد و گرما را کمتر هدر میدهد. اگرچه که در عمل سرعت واقعی هر هسته کمتر از سریعترین پردازندهٔ تک هستهای در سپتامبر ۲۰۰۵ شرکت IEEE Reviewer کاملا متوجه این نکته شد که تا افزایش کلاک بهMHZ ۴۰۰ (در سرعت کلاک)توان مصرفی۶۰٪ افزایش پیدا میکند اما رویکرد دو هستهای به این معنی است که شما میتوانید به اهمیت بالا بردن کارایی بدون نیاز به اجرا در سرعت کلاک ویرانگر دست پیدا کنید. چند هستهای یک مفهوم جدید نیست. به عنوان مفهومی که قبلا در سیستمهای جاسازی شده و برای برنامههای کاربردی خاص برای مدتی استفاده شدهاست میباشد. اما اخیرا تکنولوژی به یک جریان اصلی با استفاده از اینتل و دستگاههای ریز پیشرفته AMD)) که بسیاری از تراشههای چند هستهای موجود تجاری را معرفی میکند تبدیل شدهاست. برخلاف ماشینهای ۲یا۴ هستهای در دسترس تجاری در سال ۲۰۰۸ بعضی از متخصصین بر این باورند که به وسیله پردازندههای تعبیه شده در سال ۲۰۱۷ میتوانند ۴۰۹۶ هسته را پشتیبانی کنند. پردازندههای سرور میتوانند از ۵۱۲ هسته و تراشههای کامپیوترهای رو میزی میتوانند از ۱۲۸ هسته استفاده کنند. این نرخ رشد گیج کنندهاست چراکه تراشههای رومیزی جاری در اوج استفاده از ۴ هسته هستند و تک هستهایها در ۳۰ سال گذشته استفاده میشدند.[/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,]شرح زیر مخصوص هر طرح چند هستهای نیست اما تقریبا یک مرور کلی از ساختارهای چند هستهای است اگرچه تولید کننده طراحی را متفاوت از دیگری انجام میدهد ساختارهای چند هستهای نیاز دارند تا با جنبههای معین تطابق یابند. پیکربندی پایه یک ریزپردازنده در شکل ۲ دیده میشود. حافظه نهان سطح ۱ نزدیکترین به پردازندهاست. این یک حافظه خیلی سریع است که اغلب برای ذخیره کردن داده به وسیله پردازنده استفادهاست. حافظه نهان سطح ۲ بزرگتر از حافظه نهان سطح ۱ است و برای یک هدف یکسان طراحی شدهاست. حافظه اصلی بزرگتر و کند تر از حافظه نهان است. یک مثال برای حافظه اصلی:ذخیره کردن یک فایل word که الان درحال ویرایش آن هستیم. بسیاری از سیستمها بین ۱GB تا ۴GB از حافظه اصلی و تقریبا ۳۲KB از حافظه نهان سطح ۱ و ۲MB از حافظه نهان سطح ۲ را دارند. سرانجام زمانیکه داده در حافظه نهان یا حافظه اصلی موجود نیست سیستم باید آن را از دیسک سخت بدست آورد که زمان بیشتری را نسبت به خواندن از حافظه اصلی میبرد. اگر ما دو هسته را کنار هم قرار دهیم کاملا واضح است که یک روش ارتباطی بین هسته و حافطه اصلی نیاز است که این موضوع معمولا یا به وسیله استفاده از یک باس ارتباطی تک یا شبکه به هم متصل بدست میاید. رویکرد گذرگاه در مدل حافظه مشترک استفاده میشود در حالیکه رویکرد شبکه درون ارتباطی در مدل حافظهای توزیع شده استفاده میشود. و تقریبا بعد از ۳۲ هسته، گذرگاه سربار زیادی به وسیله مقداری از پردازش ارتباط، رقابت که باعث کاهش کارایی میشود، پیدا میکند. بنابراین یک گذرگاه ارتباطی یک مقیاس پذیر محدودی دارد. به نظر میآید که پردازندههای چند هستهای جواب مناسبی برای عیبهای پردازندههای تک هستهای به وسیلهٔ افزایش پهنای باند در حالیکه اتلاف توان را کاهش میدهد، هستند. جدول ۱ که در زیر آمدهاست مقایسهٔ پردازندهٔ تک هسته و چند هسته (در این مثال ۸ هسته) است که بوسیله مرکز تحقیق و بسته بندی در تکنولوژی Georgia ارائه شدهاست. با منبع ولتاژ مشابه و هستههای چند گانه که در فرکانس پایین تر اجرا میشوند، میبینیم که تقریبا با افزایش ۱۰ برابری در پهنای باند را داریم در عین حال مصرف توان کل به یک چهارم کاهش پیدا میکند.[/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]اینتل و ای. ام. دی تولید کنندههای اصلی ریز پردازندهها هستند. اینتل تعداد زیادی پردازنده چند هستهٔ متفاوت تولید میکند: پنتیوم D در کامپیوترهای رومیزی استفاده میشود. Core 2 Due هم در محیط لب تاپ و هم در رومیزی و پردازنه Xeon در سرویس دهندهها استفاده میشود. AMD دارای طیف Althon برای کامپیوترهای رومیزی Tution برای لب تاپها و Opteron برای سرویس دهندهها و ایستگاههای کاری است. اگر چه Core 2 Due و Althon 64x۲ هر دو برروی یک پایهاند ولی ساختارهای آنها بسیار متفاوت اند.
[/font][/font][/font][/font]
شکل ۴ ساختار Core 2 Due و Athlon 64xL را به ترتیب نشان میدهد هر دو ساختار پردازندههای دوهستهای هم جنس هستند. Core 2 Due با مدل حافظه اشتراکی با حافظه نهان سطح ۱ و حافظه نهان سطح ۲ که حداکثر نرخ GB/sec ۹۶ را فراهم میکند منطبق هستند. اگر یک حافظه نهان سطح، miss کند هر دوی حافظه نهان سطح ۲ و دومین هستهٔ حافظه نهان سطح ۱ را به صورت موازی قبل از ارسال تقاضا به حافظه اصلی، بررسی میکند. در مقابل Athlon مدل حافظه توزیعی با حافظه نهان سطح ۲ مجزا را دنبال میکند. این حافظههای نهان سطح ۲ واسط درخواستهای سیستمی را به اشتراک میگذارند و نیاز به گذرگاه را حذف میکند. واسط درخواست سیستم هسته هارا با یک کنترلر حافظه روی تراشه متصل میکند و یک اتصال داخلی که Hyper transport (فرا انتقال) نامیده شدهاست، به طور مؤثر تعداد باسنهای مورد نیاز در یک سیستم را کاهش میدهد و تنگناها را کاهش و پهنای باند را افزایش میدهد و در عوض Core 2 Due در یک واسط باس استفاده میکند. Core 2 Due همچنین کنترل حرارتی و توان واحدهای روی تراشه را دارد. هیچ فایدهٔ کارایی قطعی از باس در مقابل اتصال داخلی وجود ندارد. و Core 2 Due و Athlon 64x۲ هر یک به معیارهای کارایی یکسان با پروتکلهای ارتباطی متفاوت دست یافتند. یک شرکت Sony – Toshiba – IBM (STI) سلول پردازنده برای استفاده در play station ۳ سونی ساخت بنابراین سلول به طور عادی برای بازی / کارهای گرافیکی بهینه شدهاست که به معنی توان پردازشی بالا برای برنامههای کاربردی بازی است. سلول یک پردازنده چند هستهای غیر یکنواخت که شامل ۹ هسته و یک عنصر پردازش توان و هشت عنصر پردازش همکاری کنندهاست که در شکل ۵ دیده میشود. با ساختار پهن باند بلد درنگ مربوط به CELL تبادل داده همروند با حافظه توسط هر پردازنده ممکن است که PPE (عنصر پردازش توان) فضای اشغال شدهای در ساختار ۶۴ power pc بیتی است و عملکرد سیستم را مدیریت میکند و توابع را کنترل میکند هر SPE (عنصر پردازش همکاری کننده) مجموعه دستور العملهایی که از دستور العملهای SIMP ۱۲۸ بیتی استفاده میکند را ساده میکند. دستیبای مستقیم به حافظه برای انتقال داده بین منبع محلی و حافظه اصلی استفاده شدهاست که برای تعداد زیا دی تبادل دادههای همروند حافظه اجازه میدهد عنصر پردازش توان و عنصر پردازش همکاری توسط عنصر متصل کننده یعنی باس که ارتباطات داخلی را فراهم میکند به هم متصل شوند. خصوصیات جالب دیگری از سلول واحد مدیریت توان و واحد مدیریت حرارتی است. توان و حرارت نگرانیهای اساسی در طراحی ریز پردازندهها هستند. واحد مدیریت توان برای کاهش توان، فرم کاهش یا توقف با کاملا قطع کردن یک واحد را اجازه میدهد. TMV واحد مدیریت حرارتی شامل یک سنسور خطی و ۱۰ سنسور حرارتی دیجیتال است که برای نشان دادن دمای سراسر تراشه و فراهم کردن یک هشدار سریع در زمانیکه دماها در حال افزایش در یک ناحیه خاصی از تراشهاست استفاده شدهاست.
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]توانایی اندازه گیری و تخمین تغییرات توان و دما یک مزیت بزرگی در آن پردازندهای که نباید زیاد گردم شود یا همچنین توان زیادی را دریافت کند دارد.[/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]داشتن هستههای چند گانه روی یک تراشه باعث غلبه کردن بر چندین مشکل است. مدیریت توان و دما دو نگرانی هستند که به صورت بالقوه با افزایش هستههای چند گانه افزایش مییابند. انسجام حافظه نهان و حافظه اصلی یک چالش دیگر است به طوریکه همه طرحهایی که در بالا بحث شد دارای حافظه نهان توزیع شده سطح و در بعضی موارد حافظههای نهان سطح ۲ که باید هماهنگ باشند و سرانجام استفاده کامل از پردازنده چند هسته مسئله دیگری است. اگر برنامه نویسان برنامههای کاربردی که از فایده هستههای چند گانه استفاده میکنند را ننویسند هیچ بهرهای نخواهند برد و در بعضی موارد این به معنای از دست دادن کارایی است. برنامه کاربردی نیاز دارند تا نوشته شوند بنابراین اجزای متفاوت میتوانند به صورت موازی اجرا شوند بدون هیچ ارتباطی با اجرای دیگر آن برنامه کاربردی که به صورت همزمان اجرا میشوند.[/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]اگر دو هسته روی یک تراشه بدون هیچ تغییری قرار داده شوند. تراشه در تئوری ده برابر یک تراشه تنها توان مصرف میکند و حرارت تولید میکند. در مثال نمایی اگر یک پردازنده بسیار گرم شود این امکان وجود دارد که حتی کامپیوتر شما بسوزد. برای تخمین زدن هر طرح بالا هستههای چند گانه در یک فرکانس پایین تر برای کاهش مصرف توان اجرا میشوند. برای کاهش مصرف توان غیر ضروری خیلی طرحها با یک واحد کنترل توان که وظیفه خاموش کردن هستههایی که استفاده نمیشوند را دارند یا موظف به محدود کردن مقدار توان هستند ترکیب میشوند. با خاموش کردن هستههایی که استفاده نمیشوند(که البته این روش دردسرهای خاص خود را دارد چون روشن شدن مجدد هسته خود مسلزم زمان است) و استفاده از Clock going مقدار زیادی از نشست تراشه کاهش مییابد. برای کمتر شدن گرمای تولیدی به وسیله هستههای چند گانه روی یک تراشه تنها تراشه به طور ساختار یافتهاست تعداد نقاط زیاد نشود و حرارت روی خام تراشه پخش میشوند. همانطور که در شکل ۷ دیده میشود اکثریت گرما در پردازندههای CELL در عنصر پردازش توان پراکنده شدهاست. و مابقی در سطح عناصر پردازشی همکار پخش میشوند. یک پردازنده CELL یک روند متداول برای ساخت نشان دهندهٔ دمای سیستم با یک خسگر خطی و ده حسگر دیجیتال داخلی را طی میکند.[/font][/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]انسجام حافظه نهان به خاطر حافظه نهان سطح ۱و۲ توزیع شده یک نگرانی در محیط چند هستهای است. چون هر هسته دارای حافظه نهان مخصوص به خودش است، یک کپی از دادهای که در آن حافظه نهان است شافبلغابلابلابلالدید همیشه نسخه به روز شده اطلاعات نباشد. برای مثال، فرض کنید یک پردازنده دو هستهای که هر هسته آن یک بلوک از حافظه را به حافظه نهان شخصی خودش میآورد را داریم. هر هسته یک مقدار را در یک مکان خاص مینویسد. وقتی که هسته دوم تلاش میکند مقداری را از حافظه نهان خودش بخواند مقدار خوانده شده مقدار به روز رسانی شده نخواهد بود مگر اینکه مدخل حافظه نهان خودش تامعتبر باشد یا حافظه نهان MISS کرده باشد. این MISS کردن حافظه نهان مدل حافظهٔ نهان هستهٔ دوم را مجبور به روز رسانی میکند. اگر این سیاست انسجام وجود نداشت دادههای غلط خوانده میشوند و نتیجههای نامعتبر تولید میشوند ودر آن هنگام شاید یک برنامه یا کل کامپیوتر از کار بیفتد. به صورت کلی دو نقشه برای انسجام حافظه نهان وجود دارد.[/font][/font][/font][/font][/font][/font][/font]
[font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,][font=Tahoma,]قبل از پردازندههای چند هستهای افزایش کارایی از یک نسل به نسل دیگری مثل افزایش فرکانس، خیلی ساده دیده میشد. وقتی که فرکانسهای بالا سبب میشدند که پردازندهها در سرعتی باعث افزایش اتلاف توان و اتلاف حرارت در سطوح زیان بار اجرا می شدند منسوخ شدند. اضافه کردن هستههای چندگانه در خلال یک پردازنده، یک راه حل از اجرا در فرکانسهای پایین تر میدارد. اما مشکلات جدید جالبی را اضافه کرد. پردازندههای چند هستهای به منظور اینکه اتلاف توان معقولی اتلاف گرمای معقولی و پروتکلهای انسجام حافظه نهان دست یابند ساخته شدند. اگر چه خیلی از مسائل حل نشده باقی ماند به منظور استفاده از پردازندههای چند هستهای با ۳ ظرفیت شامل برنامههای کاربردی روی سیستمهای چند نخی اجرا میشوند. تقریبا برنامههای کاربردی کمی وجود دارد که در هر سطحی از موازی سازی نوشته شدهاند (سیستمهای حافظه و شبکههای به هم متصل نیاز به بهبود دارند و همچنان هنوز مشخص نیست که آیا هستههای یکنواخت کاراترند یا هستههای ناهمگون. با طرحهای زاید و گوناگون تقریبا غیر ممکن است که هر استانداردی را برای انسجام حافظه نهان، اتصالات داخلی و چینش آنها تنظیم کنیم. بزرگترین سختی که در آموزش تکنیکهای برنامه نویسی موازی (چون بیشتر برنامه نویسان در برنامه نویسی ترتیبی خیلی منظم هستند) و دوباره طراحی کردن برنامههای کاربردی جاری باقی میماند این است که روی سیستمهای چند هسته به طور بهینه اجرا کنیم. پردازندههای چند هستهای یک اختراع مهم در طول زندگی ریز پردازنده هستند. توسط برنامه نویسان ماهر و توانا نوشتن برنامههای کاربردی چند هستهای موازی شده میتواند افزایش یابد. در این سالها ما بهبودی ای زیادی در این سیستمها میبینیم که این بهبودها برنامهها را سریعتر میکند و تجربهٔ محاسبات بهتری را فراهم میکند.[/font][/font][/font][/font][/font][/font][/font][/font]