پردازنده چندهستهای: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
برچسب: خنثیسازی |
||
خط ۳:
[[پرونده:Athlon64x2-6400plus.jpg|بندانگشتی|150px|یک پردازندهٔ دوهستهای Athlon X2 6400+ [[ایامدی]]]]
'''پردازندهٔ چند هستهای ''' از اجزای [[رایانش|رایانشی]] و محاسباتی است که دو یا چند [[پردازنده]] مستقل واقعی (به نام «هسته») دارد، که واحدهایی برای خواندن و اجرای دستورالعملهای برنامه هستند. این دستورالعملها عموماً دستورالعملهای معمولی CPU از قبیل اضافه کردن، انتقال دادهها، و انشعاب است، اما هستههای متعدد میتوانند در همان زمان دستورالعملهای بیشتری را اجرا کنند که موجب افزایش سرعت کلی برای برنامههای تابع [[رایانش موازی]] میشود.
== توسعه ==
خط ۱۰:
=== مزایا ===
=== معایب ===
== سخت افزار ==
== تأثیر نرمافزار ==▼
== برنامههای توکاربریسر ==
== نمونه
'''پردازندههای چند هسته'''▼
▲'''پردازندههای چند هسته '''
== چکیده ==
همچنانکه
تسریع به وسیلهٔ افزایش سرعت کلاک و
این زمان در حال خاتمه یافتن است و تولیدکنندگان به سمت پردازش چندهستهای تمایل دارند اگرچه به وسیله افزایش تعدادی هسته روی یک تراشه تنها چالشهایی در رابطه با حافظه و انسجام حافظهٔ نهان و همچنین ارتباط بین هستهها ناشی میشود. پروتکلهای منسجم و شبکههای به هم متصل تعدادی از موضوعات را حل کردهاند اما تا زمانی که برنامه نویسان نوشتن برنامههای کاربردی موازی را
== پس زمینه ==
روند افزایش سرعت پردازندهها برای بالا بردن کارایی یک روش قدیمی است. پردازندههای چندهستهای مسیر و جهت جدیدی برای تولیدکنندگانی است که روی آن متمرکز شدهاند. استفاده از هستههای چندگانه روی یک تراشه در توان پردازشی اولیه سودمند است اما این راحت بدست نمیاید.
با اضافه کردن هسته اتلاف توان و گرما به یک نگرانی تبدیل میشود و باید قبل از چینش به بهترین نحوی که گرما را در سطح تراشه پخش کند تعیین شود تا نقاط داغ در سطح تراشه ایجاد نشوند.
حافظه نهان مشترک و توزیعی روی یک تراشه برای منسجم کردن پروتکلها باید با هم یکپارچه باشند تا این اطمینان را ایجاد کنند که وقتی یک هسته از حافظه میخواند در واقع در حال خواندن از قطعه جاری است نه مقداری که توسط یک هسته متفاوت به روز شدهاست.
در کنار مسایل مربوط به پردازندههای چند هستهای مسایلی که
هستههای چندگانه چطور با یکدیگر ارتباط برقرار خواهند
== تاریخچه مختصری از ریزپردازندهها ==
اینتل اولین میکروپروسسوری به نام ۴-bit ۴۰۰۴ در اوایل ۱۹۷۰ که
بهطور خلاصه بعد ازآن ۸۰۰۸ و۸۰۸۰ را تولید کرد که هر دو ۸ بیتی بودند و موتورلا نیز با ارائه ۶۸۰۰ که مانند اینتل ۸۰۸۰ بود خود را با بازار تطبیق داد. شرکتها سپس ریزپردازنده ۱۶ بیتی را ساختند.
سطر ۳۷ ⟵ ۴۲:
== نیازمندی به چند هستهایها ==
به دلیل پیشرفت در تکنولوژی مداری و محدودیت کارایی در زمینههای گسترده پردازندههای انتزاعی تراشههای چند پردازنده یا تکنولوژی چند هستهای مسیر اصلی در طراحی یک cpu شدهاست.
تسریع فرکانس پردازنده نقش خودش را در اوایل این دهه اجرا کردهاست. ساختارهای کامپیوتری به یک راه حل برای افزایش کارایی نیاز داشتند اضافه کردن یک هسته پردازشی علاوه بر یک تراشه مشابه به صورت تئوری کارایی دو برابر را نتیجه میدهد و گرما را کمتر هدر میدهد. اگرچه که در عمل سرعت واقعی هر هسته کمتر از سریعترین پردازندهٔ تک هستهای در سپتامبر ۲۰۰۵ شرکت IEEE Reviewer کاملاً متوجه این نکته شد که تا افزایش کلاک بهMHZ ۴۰۰ (در سرعت کلاک)
چند هستهای یک مفهوم جدید نیست. به عنوان مفهومی که
== مبناهای چند هستهای ==
شرح زیر مخصوص هر طرح چند هستهای نیست اما تقریباً یک مرور کلی از ساختارهای چند هستهای است اگرچه
حافظه نهان سطح ۱ نزدیکترین به پردازندهاست. این یک حافظه خیلی سریع است که اغلب برای ذخیره کردن داده به وسیله پردازنده استفادهاست. حافظه نهان سطح ۲ بزرگتر از حافظه نهان سطح ۱ است و برای یک هدف یکسان طراحی شدهاست. حافظه اصلی بزرگتر و
بسیاری از سیستمها بین ۱GB تا ۴GB از حافظه اصلی و تقریباً ۳۲KB از حافظه نهان سطح ۱ و ۲MB از حافظه نهان سطح ۲ را دارند. سرانجام زمانیکه داده در حافظه نهان یا حافظه اصلی موجود نیست سیستم باید آن را از دیسک سخت بدست آورد که زمان بیشتری را نسبت به خواندن از حافظه اصلی میبرد. اگر ما دو هسته را کنار هم قرار دهیم کاملاً واضح است که یک روش ارتباطی بین هسته و حافطه اصلی نیاز است که این موضوع معمولاً یا به وسیله استفاده از یک باس ارتباطی تک یا شبکه به هم متصل بدست
رویکرد گذرگاه در مدل حافظه مشترک استفاده میشود در حالیکه رویکرد شبکه درون ارتباطی در مدل حافظهای توزیع شدهاستفاده
و تقریباً بعد از ۳۲ هسته، گذرگاه سربار زیادی به وسیله مقداری از پردازش ارتباط، رقابت که باعث کاهش کارایی میشود، پیدا به نظر میآید که پردازندههای چند هستهای جواب مناسبی برای عیبهای پردازندههای تک هستهای به وسیلهٔ افزایش پهنای باند در حالیکه اتلاف توان را کاهش میدهد، هستند.
جدول ۱ که در زیر آمدهاست مقایسهٔ پردازندهٔ تک هسته و چند هسته (در این مثال ۸ هسته) است که بوسیله مرکز تحقیق و بستهبندی در تکنولوژی Georgia ارائه شدهاست.
با منبع ولتاژ مشابه و هستههای چند گانه که در فرکانس پایینتر اجرا میشوند، میبینیم که تقریباً با افزایش ۱۰ برابری در پهنای باند را داریم در عین حال مصرف توان کل به یک چهارم کاهش پیدا میکند.
==پیاده
در هر تکنولوژی ساختارهای چند هسته از
در بعضی ساختارهای چند هستهای، هستههای متفاوت،
== پردازندههای دو هستهای AMD و Intel ==
اینتل و ای. ام. دی
اینتل تعداد زیادی پردازنده چند هستهٔ متفاوت تولید میکند: پنتیوم D در کامپیوترهای رومیزی استفاده میشود. Core 2 Due هم در محیط لب تاپ و هم در رومیزی و پردازنه Xeon در سرویس دهندهها استفاده میشود.
AMD دارای طیف Althon برای کامپیوترهای رومیزی Tution برای لب تاپها و Opteron برای سرویس دهندهها و ایستگاههای کاری است.
سطر ۶۴ ⟵ ۷۰:
در مقابل 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 ۱۲۸ بیتی استفاده میکند را ساده میکند.
سطر ۷۶ ⟵ ۸۳:
برنامه کاربردی نیاز دارند تا نوشته شوند بنابراین اجزای متفاوت میتوانند به صورت موازی اجرا شوند بدون هیچ ارتباطی با اجرای دیگر آن برنامه کاربردی که به صورت همزمان اجرا میشوند.
==
اگر دو هسته روی یک تراشه بدون هیچ تغییری قرار داده شوند. تراشه در تئوری ده برابر یک تراشه تنها توان مصرف میکند و حرارت تولید میکند. در مثال نمایی اگر یک پردازنده بسیار گرم شود این امکان وجود دارد که حتی کامپیوتر شما بسوزد. برای تخمین زدن هر طرح بالا هستههای چند گانه در یک فرکانس پایینتر برای کاهش مصرف توان اجرا میشوند. برای کاهش مصرف توان غیرضروری خیلی طرحها با یک واحد کنترل توان که وظیفه خاموش کردن هستههایی که استفاده نمیشوند را دارند یا موظف به محدود کردن مقدار توان هستند ترکیب میشوند. با خاموش کردن هستههایی که استفاده نمیشوند
یک پردازنده CELL یک روند متداول برای ساخت نشان دهندهٔ دمای سیستم با یک خسگر خطی و ده حسگر دیجیتال داخلی را طی میکند.
سطر ۸۸ ⟵ ۹۵:
اگر این سیاست انسجام وجود نداشت دادههای غلط خوانده میشوند و نتیجههای نامعتبر تولید میشوند و در آن هنگام شاید یک برنامه یا کل کامپیوتر از کار بیفتد. به صورت کلی دو نقشه برای انسجام حافظه نهان وجود دارد.
==
پروتکل جستجو گر فقط با سیستم بر پایه گذرگاه کار میکند و به تعدادی حالت برای تعیین اینکه آیا این بروز رسانی مدخلهای حافظه نهان مورد نیاز است یا نه و اینکه آن کنترلی روی نوشتن در بلوک داشت یا نه، نیاز دارد. پروتکل بر پایهٔ directory مقیاس پذیر، برای پردازندههای زیاد یا هستههای زیاد است. بر خلاف جستجو گر که مقیاس پذیر نیست. در این نقشه یک directory استفاده میشود طوریکه اطلاعات مربوط به مکانهای حافظه که بین حافظههای نهان چند گانه مشترک است را نگه میدارد و آنها را به صورت انحصاری توسط یک حافظهٔ نهان مربوط هسته استفاده میشوند.
Directory میداند که چه موقع یک بلوک نیاز دارد که به روز شود یا غیر معتبر گردد.
سطر ۹۵ ⟵ ۱۰۲:
== چند نخی ==
در نهایت مهمترین موضوع استفاده به صورت چند نخی یا تکنیک پردازش موازی برای رسیدن به بالاترین کارایی یک پردازنده چند هسته میباشد. به استثناء جاوا در زبانهای پیشرفته تجاری کمتر از گسترش چند نخی استفاده میشود. ساختن دوباره برنامه کاربردی تا چند نخی شوند، به معنی دوباره کاری برنامهنویس در بیشتر موارد است. برنامه نویسان باید برنامههای کاربردی را به صورت زیر برنامههای مختلف بنویسند تا بتوانند روی هستههای مختلف اجرا کنند این بدان معنی است که وابستگیهای داده باید حل شود (برای مثال،
بعضی شرکتها محصولات جدید خود را با قابلیت چند هستهای تولید میکنند مانند سیستم عاملهای جدید مایکروسافت و Apple که میتوانند تا ۴ هسته را پشتیبانی کنند.
سطر ۱۰۱ ⟵ ۱۰۸:
تعداد زیادی هسته روی یک تراشه تنها، یک نیاز بزرگ برای افزایش حافظه وجود دارد. پردازندههای ۳۲ بیتی مثل پنتیوم ۴، میتوانند تا ۴۶ از حافظه اصلی آدرس دهی کنند. با هستههایی که امروز از آدرسهای ۶۴ بیتی استفاده میکنند میزان حافظه قابل آدرس دهی تقریباً نامحدود است یک سیستم حافظه بهبود یافته ضروری است. تعدادی حافظه اصلی و حافظه نهان بزرگتر برای چند پردازندههای چند نخی نیاز است.
==
حافظه اضافی غیر مفید خواهد بود. اگر مقداری از زمان مورد نیاز برای تقاضاهای حافظه به همان اندازه بهبود نیابد. طراحی مجدد اتصالات داخلی شبکه بین هستهها یک کانون بزرگی (اصلی) از
Intel در حال توسعه و اون (ایجاد کردن) مسیر سریع اتصالات است که پهنای باس آن ۲ بیت است که بین ۸/۴ و ۴/۶ گیگ هرتز در حال اجرا است.
==
قبل از پردازندههای چند هستهای افزایش کارایی از یک نسل به نسل دیگری مثل افزایش فرکانس، خیلی ساده دیده میشد. وقتی که فرکانسهای بالا سبب میشدند که پردازندهها در سرعتی باعث افزایش اتلاف توان و اتلاف حرارت در سطوح زیان بار اجرا
اضافه کردن هستههای چندگانه در خلال یک پردازنده، یک راه حل از اجرا در فرکانسهای پایینتر میدارد. اما مشکلات جدید جالبی را اضافه کرد. پردازندههای چند هستهای به منظور اینکه اتلاف توان معقولی اتلاف گرمای معقولی و پروتکلهای انسجام حافظه نهان دست یابند ساخته شدند.
اگر چه خیلی از مسائل حل نشده باقی ماند به منظور استفاده از پردازندههای چند هستهای با ۳ ظرفیت شامل برنامههای کاربردی روی سیستمهای چند نخی اجرا میشوند. تقریباً برنامههای کاربردی کمی وجود دارد که در هر سطحی از موازی سازی نوشته شدهاند (سیستمهای حافظه و شبکههای به هم متصل نیاز به بهبود دارند و همچنان هنوز مشخص نیست که آیا هستههای یکنواخت کاراترند یا هستههای ناهمگون.
با طرحهای زاید و گوناگون تقریباً غیرممکن است که هر استانداردی را برای انسجام حافظه نهان، اتصالات داخلی و چینش آنها تنظیم کنیم. بزرگترین سختی که در آموزش تکنیکهای برنامهنویسی موازی (چون بیشتر برنامه نویسان در برنامهنویسی ترتیبی خیلی منظم هستند) و دوباره طراحی کردن برنامههای کاربردی جاری باقی میماند این است که روی سیستمهای چند هسته بهطور بهینه اجرا کنیم.
پردازندههای چند هستهای یک اختراع مهم در طول زندگی ریز پردازنده هستند. توسط برنامه نویسان ماهر و توانا نوشتن برنامههای کاربردی چند هستهای موازی شده میتواند افزایش یابد. در این سالها ما بهبودی ای زیادی در این سیستمها میبینیم که این
== منابع ==
{{پانویس}}
* Wikipedia
{{فناوریهای واحد پردازش مرکزی}}
|