موضوع مقاله: انجمن چند هسته ای | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # انجمن چند هسته ای | مقدمه: این انجمن،یک کنسرسیوم صنعتی غیر انتفاعی عضو محور است که بر ایجاد استاندارد باز واسط های برنامه نویسی نرم افزار،مشخصات فنی و راهنمایی هایی متمرکز است که به توسعه دهندگان سیستم و برنامه نویسان بتوانند راحت تر فناوری چند هسته ای را در نرم افزار های کاربردی خود به کار بگیرند. | ## بخش 1: انجمن چند هسته ای | این کنسرسیوم یک فضای بی طرف برای فروشندگان و توسعه دهندگانی فراهم میکند که به محصولات مرتبط با چند هسته ای از جمله پردازنده ها،زیرساخت ها،قطعات،نرم افزار ها و برنامه ها علاقه مند هستند،با آن کار میکنند و یا در ترویج آن نقش دارند. اعضای آن شامل فروشندگان پردازنده ها،سیستم های عامل،کامپایلر ها، ابزار های توسعه،اشکال زداها و ابزار های طراحی الکترونیک در سطح بالا و شبیه ساز ها و توسعه دهندگان نرم افزار های کابردی و سیستم میشوند. پروژه های تکمیل شده در سال ۲۰۰۸، گروه کاری ارتباطات چند هسته ای اولین مشخصات فنی کنسرسیوم را به عنوان MCAPI منشر کرد.MCAPI یک API مبتنی بر ارسال پیام است که عناصر اصلی ارتباط و هماهنگ سازی مورد نیاز برای سیستم های نهفته با توزیع نزدیک (چندین هسته روی یک تراشه و/یا تراشه روی برد مدار) را در برمیگیرد. سیستم های هدف برای MCAPI ابعاد چندگانه ای از ناهمگونی را در برمیگیرند (برای مثال: ناهمگونی در هسته پردازشی،ناهمگونی در شبکه اتصال داخلی،ناهمگونی در حافظه،ناهمگونی در سیستم عامل،ناهمگونی در زنجیره ابزار نرم افزاری و ناهمگونی در زبان برنامه نویسی). نسخه بهبود یافته، ویژگی‌های جدیدی از قبیل دامنه‌ها را برای اهداف مسیریابی به آن افزود. | ## بخش 2: انجمن چند هسته ای | MCAPI نسخه ۲.۰ با معرفی «دامنه‌ها»، سطحی از سلسله مراتب را به آن شبکه از گره‌ها اضافه می‌کند.دامنه ها را می‌توان به روش‌های مختلف و خاصِ هر پیاده‌سازی استفاده کرد؛ برای مثال، می‌توانند برای نمایش تمامی هسته‌های موجود روی یک تراشه خاص به کار روند یا برای تقسیم یک توپولوژی به مناطق عمومی و امن مورد استفاده قرار گیرند. این API برای پیاده‌سازی‌های چند هسته‌ای تعبیه‌شده SMP و AMP قابل اجرا است (که در آن AMP هم از نظر نرم‌افزار و هم از نظر سخت‌افزار به ناهمگن اشاره دارد). در سال ۲۰۱۳ گروه کاری روابط برنامه نویسی مدیریت وظایف چند هسته ای(MTAPI) اولین مشخصات فنی خود را منشر کرد.MTAPI یک استاندارد برای رابط برنامه نویسی نرم افزار است که هماهنگی وظایف را در سیستم های توکار موازی با هسته های همگن و ناهمگن پشتیبانی میکند.. از ویژگی های اصلی MTAPI میتوان به زمانبندی در اجرا و تخصیص وظایف هسته اشاره کرد. در سال ۲۰۱۳ کارگروه تمرینات برنامه نویسی چندهسته ای (MPP) یک راهنما برنامه نویسی نرم افزاری چندهسته ای برای این صنعت ارائه کرد که به فهم و سازگاری مسئله های برنامه نویسی چندهسته ای کمک میکند. | ## بخش 3: انجمن چند هسته ای | این راهنمای MPP با استفاده از زبان های C و ++C تمرین های خوبی برای ایجاد راهنماهایی با ارزش های واقعی برای مهندسانی که به برنامه نویسی چندهسته ای روی می آورند، ارائه می دهد. درسال 2015 کارگروه رابط نرم/سخت افزار برای سیستم های چند/بسیار هسته ای (SHIM) یک استاندارد توصیف معماری را برای استفاده در طراحی نرم افزار ارائه کرد. بعضی از ویژگی های معماری که SHIM توصیف میکند عبارتند از: توپولوژی سخت افزار ازجمله هسته های پردازنده،شتاب دهنده ها،حافظه های نهان و کانال های ارتباطی بین هسته ای همراه با جزئیات دلخواه هر عنصر، حافظه و اطلاعات عملکرد ارتباطی. | ## جمع‌بندی | این اقدامات شامل تعامل دوطرفه بین برنامه و برنامه با استفاده از حافظه مشترک و تعامل دو طرفه بین برنامه و درایور است.