چکیده
با پیشرفت تکنولوژی و کوچکتر شدن روز افزون تعداد ترانزیستورها، پیچیدگی سیستم های چند پردازنده ای برروی تراشه ها درحال افزایش است به دلیل افزایش عناصر پردازشی بر روی تراشه ما با مشکل منابع حافظه به دلیل تأخیر سیم و همچنین تاخیر کش برای منابع بر روی تراشه و تراکم ترافیک شبکه مواجه هستیم. شبکه بر تراشه((NOC در حال حاضر به عنوان یک الگوی امیدوارکننده از ارتباط بین هسته ها در پردازنده های بساهسته ای در نظر گرفته شده است. در این مقاله ما به بررسی اینکه چگونه سازمان منطقه ای کش میانگین تأخیر شبکه را کاهش می دهد، می پردازیم و یک ساختار کش محلی برای پردازنده های بر پایه NOC ارائه می دهیم. آزمایشات نشان داده است که تأخیر دسترسی کشL2 تا حدود زیادی توسط سازمان الگوی اتصال درNOC معلوم می شود، و سازمان کش منطقه ای بسیار مهم در کارایی بهترکش NOC است.
واژه های کلیدی: پردازنده های بساهسته ای، بهبود سرعت ، افزایش کارایی، ساختار حافظه نهان
-۱ مقدمه
به دلیل افزایش تعداد ترانزیستورها در سال ۲۰۰۳ تولیدکنندگان تراشه متوجه شدند، دیگر نمی توانند ولتاز عملیاتی ترانزیستورها را مانند قبل کاهش دهند و در نتیجه نمی توانند با همان نرخ، اندازه ترانزیستورها را کاهش و سرعت تراشه ها را افزایش دهند. این وضعیت به افزایش گرمایی منجر شد که در هر مترمربع سیلیکون تولید می شد. در نتیجه طراحان با مشکلی مواجه شدند که از آن با عنوان دیوار توان یاد می شود؛ یعنی حداکثر توان قابل دستیابی برای هر پردازنده ، به دلیل افزایش بسیار زیاد گرما با محدودیت چشمگیری مواجه شد. اکنون طراحان این واقعیت را پذیرفته اند که با وجود کوچک تر شدن ترانزیستورها، امکان افزایش سرعت پردازنده ها به واسطه افزایش ترانزیستورهای یک تراشه وجود ندارد. بنابراین اگر تعداد بسیار زیادی ترانزیستور را درون یک پردازنده بزرگ قرار دهید، سرعت پردازش آن بیش از یک تراشه امروزی نخواهد بود. این واقعیت رویکرد جدید را که در آن ترانزیستورهای مذکور را به جای یک پردازنده در چندین هسته پردازشی نصب می کنند به خوبی توجیه می کند. پردازشی که در آن بیش از یک هسته استفاده شود را پردازش چند هسته ای((multi cores گویند، یکی از دلایل دیگر استفاده از پردازنده های چند هسته ای افزایش قابلیت اعتماد سیستم می باشد. همچنین با استفاده از این سیستم ها بار موجود بر روی هسته پخش شده و صف انتظار کاهش پیدا می کند و توان عملیاتی زیاد می شود. یکی دیگر از قابلیت های این سیستم ها استفاده از حافظه نهان((cache در دو لایه یا بیشتر می باشد که وجود چند لایه کش برای هر کدام از هسته ها باعث میشود علاوه بر آنکه نوع پردازنده به واسطه چند هسته، پردازش سریعتری داشته باشد بتوانند اطلاعات مورد نیاز در پردازش را سریعتر بدست آورند و به
طور کلی فرآیندها سریعتر به پایان برسند. در این پردازنده ها از حافظه نهان L2 به صورت مشترک استفاده می شود.
امروزه با زیادتر شدن نیاز به افزایش سرعت در پردازش ها سیستم های چند هسته ای کم کم جای خود را به سیستم های بسا هسته ای (many cores) می دهند. یکی از جریانات مهم در ساخت و طراحی سیستم های دیجیتال، سیستم های روی تراشه هستند. در این سیستم ها، چندین و در آینده نزدیک ده ها و صدها هسته پردازشی و حافظه ای شامل پردازنده های سیگنال،سخت افزارهای خاص منظوره،مدارهای منطقی برنامه پذیر، پردازنده های همه منظوره و انواع حافظه و مدارات جانبی در داخل یک تراشه مجتمع می شوند.[۱]
در ادامه به بررسی کاربرد حافظه نهان و چند نمونه ساختار حافظه نهان می پردازیم و در ادامه یک سطح جدید برای آن ارائه می دهیم و با استفاده از نرم افزار Noxim به بررسی و مقایسه تأخیرها می پردازیم.
-۲ ساختار کش و تإخیر شبکه
شبکه بر روی هسته، معمولا مش های سوئیچ و منابع n×m می باشد که منابع با استفاده بسته های داده ارتباط برقرار می کنند. منبع می تواند یک المان پردازشی باشد یا بلوک حافظه یا هر سخت افزار سفارش شده، درست مثل ارتباط داخلی هسته. حافظه نهان های بزرگ امروزه به بانک های بسیار زیادی تقسیم شده اند که بدین ترتیب سرعت دسترسی بالا را حفظ می کنند . برخی بانک های شدید معماری کش که تأخیر سیم را برای بانک های نزدیک پردازنده کاهش می دهد،توسط کیم نشان داده شده است. [۲] اگر چه این ساختار کش برای شبکه بر روی قطعه پردازنده های بسا هسته ای
مناسب نیست. هر دو معماری کش مرکزی و کش ناحیه ای هر دو از تأخیر
۷۷۲۲
شبکه رنج می برند، مخصوصأ زمانی که ترافیک شبکه بالاست. آزمایشات نشان می دهد که میانگین تأخیر شبکه با افزایش سایز شبکه به سرعت افزایش می یابد. در شبکه ۸×۸ اگر یک پردازنده بخواهد به کشL2 دسترسی پیدا کند که در مرکز ۱۶ بانک قرار گرفته است تأخیر دسترسی شبکه هزاران سایکل می شود ولی اگر آن را به ۴ ناحیه ۴×۴ تقسیم کنیم تأخیر حدود ۸ سایکل می شود.