پروژه طراحی باس درون تراشه ای با عملکرد بالا (MSBUS) به همراه اسلایدر ارائه
در این پروژه به طراحی یک باس با کارایی بالا و پیچیدگی پایین برای سیستم های درون تراشه ای پرداخته ایم. باس های موجود از نظر عملکرد در سطح بسیار بالایی قرار دارند، اما از لحاظ مصرف منابع بهینه نیستند. همچنین سطح بالایی از تراشه را به خود اختصاص می دهند. بنابراین ما طراحی را به گونه ای انجام داده ایم تا تعادل میان باند موردنیاز منابع و میزان پیچیدگی، وجود داشته باشد.
امروزه دو نکته در طراحی باس های درون تراشه ای اهمیت بالایی دارند: کاهش انرژی مصرفی در باس های درون تراشه ای و کاهش پیچیدگی آنها
این پروژه و گزارش مربوط به درس مدار واسط رشته معماری کامپیوتر می باشد.
مقدمه
هدف طراحی یک باس با پیچیدگی کمتر و کارایی بالا برای سیستم های درون تراشهای است. چرا که باسهای موجود دارای عملکرد بسیار بالایی هستند اما از لحاظ مصرف منابع بهینه نمیباشند. و سطح بالایی از تراشه را اشغال میکنند بنابراین باید طراحی بصورتی انجام شود تا اعتدال بین پهنای باند مورد نیاز منابع در دسترس و میزان پیچیدگی واسط برقرار گردد.
امروزه کاهش انرژی مصرفی در باسهای درون تراشه و کاهش پیچیدگی آنها از اهمیت بالایی برخوردار است. در صنعت پروتکل مورد استفاده برای باسها اکثرا از نوع معماری باسهای میکروکنترلی پیشرفته (AHB) و رابط eXensible پیشرفته (AXI) از ARM Holdings و Wishbone از شرکت Silicore و open core protocol (OCP) از شرکت OCP international partnership و CoreConnect از شرکت IBM و STBus از STMicroelectronics هستند. تمام این باسها اطلاعات را بصورت خطی انتقال میدهند، اما در برخی از کاربردهای خاص مانند پردازش تصویر، بینایی کامپیوتر، و ارتباطات بیسیم، پردازش دادهها که معمولا بارگذاری و ذخیره بلوکهای داده بر اساس ارتباط میان اطلاعات مجاور، اتصال، نواحی، و مرزها، انجام میگیرد. در این موارد انتقال ماتریسی و یا بلوکی اطلاعات به انتقال اطلاعات بصورت پشت سر هم خطی ترجیح داده میشود . علاوه بر این، برای برخی از ساختارهای پیشرفته باس از قبیل multibus و multilayer architectures ، در صورتی که اکثر ارتباطات در یک سطح باس و یا یک لایه از باس انجام شود، پهنای باند میتواند بهبود یابد. با این وجود، تعداد زیادی از سیمها و منطقهای داخلی مانند مالتی پلکسرها برای تبدیل لایههای مختلف دادهها، و بافر و یا first-in–first-outs (FIFOs)ها برای کنترل جریان اطلاعات لازم میباشند، که از نظر فضای اشغالی و مصرف انرژی پر هزینه هستند. برای غلبه بر محدودیت فوق، نوعی باس کم هزینه با مصرف انرژی پایین به نام master–slave bus (MSBUS) ارائه میشود.که باعث ایجاد تعادل میان عملکرد و هزینه میشود و ویژگیهای مورد نیاز برای مصرف توان کمتر و راندمان بالا را فراهم میکند.علاوه براین ویژگیهای عملکردی باس از قبیل پهنای باند معتبر داده(VDB) و بازده انرژی پویا (DEE) از جمله اهداف هستند، همچنین معیارهای متداولی مانند مدت زمان انتقال (TC) ، بازده سیم (WE) ، توان دینامیک (DP)، و مصرف انرژی (DE) ، به عنوان مدل تحلیلی در این بحث آورده شده است. که برای تجزیه و تحلیل عملکرد باس و مقایسه نتایج تجربی پس از پیاده سازی سخت افزاری استفاده میشود.
فهرست پروژه طراحی باس درون تراشه ای با عملکرد بالا (MSBUS)
- مقدمه
-
فصل اول: معرفی باسهای درون تراشهای شرکت ARM
- AMBA AHB
- AMBA AXI
-
فصل دوم: پروتکل MSBUS
- پروتکل باس
- حالت انتقال بلوکی
-
فصل سوم :مدلهای تحلیلی
-
فصل چهارم :نتایج پیاده سازی سخت افزاری
-
فصل پنجم : نتایج آزمایشها و شبیه سازیها
-
فصل ششم : پیشنهاد
- مراجع
-
فهرست شکلها
- شکل ۱: معماری باس AMBA
- شکل ۲: معماری کلی پروتکل AXI
- شکل ۳: معماری کانال خواندن
- شکل ۴: معماری کانال نوشتن
- شکل ۵: نمودار زمان بندی MSBUS.
- شکل ۶: انتقال بلوکی در SBUS
- شکل ۷: MSBUS برپایه سیستم درون تراشهای
- شکل ۸: نسبت عملکرد MSBUS/AHB و MSBUS/AXI
- شکل ۹: مقدار خطا در مدلهای عملکرد باس
- شکل ۱۰: انتقال اطلاعات بصورت پیش پردازش دستور
- شکل ۱۱: انتقال اطلاعات بصورت خارج از نوبت
- شکل ۱۲: مقایسه عملکرد MSBUS با قابلیت انتقال خارج از نوبت
- شکل ۱۳: باس مالتی پلکس
- شکل ۱۴: باس چند لایه
-
فهرست جدولها
- جدول: ۱ مقایسه منابع
- جدول ۲: مقایسه توان
- جدول ۳: معیارهای عملکرد تجربی
- جدول ۴: نتایج مدلسازی معیارهای عملکرد
پیشنهاد1 – استفاده از روش انتقال اطلاعات خارج از نوبت :
با توجه به این که این باس توانایی انتقال اطلاعات و پیش پردازش فرمانها را دارد میتوان روش سرویسدهی خارج از نوبت را اگرچه حتی در سطح پایین برروی آن پیاده سازی کرد. این کار باعث میشود تاخیرها باعث کاهش سرعت انتقال نشود. و انتقالها بر اساس زمان آماده شدن اطلاعات منتقل شوند. این کار میتواند باعث کاهش زمان انتقال ، بهبود پهنای باند ، بهبود کارایی سیم و استفاده بهتر از منابع شود اما باید توجه داشت.
در شکل 11 مثالی انتقال اطلاعات بصورت خارج از نوبت آورده شده است که در آن فرض شده است سیگنالهای دریافت و ارسال باهم تداخل نداشته باشند. که با توجه به ساختار دوجهته باس این فرض درست است.
برای آزمایش عملکرد این پیشنهاد الگوهای محک سابق کارایی نخواهند داشت چون در الگوهای قبل تنها یک ارسال و یک دریافت اطلاعات پیش بینی شده بود و با پنین الگویی نمیتوان ساختار انتقال خارج از نوبت را مورد آزمایش قرار داد لذا باید الگوهای محک جدیدی برای ساختار خارج از نوبت تعریف کرد که در آن حداقل چند ارسال و چند دریافت اطلاعات در نظر گرفته شده باشد. بعنوان نمونه میتوان پنج ارسال خطی و پنج دریافت خطی را برای انتقال خطی و پنج ارسال و پنج دریافت را برای انتقال ماتریسی در نطر گرفت.
با توجه به نتایج بدست آمده و مقایسه آنها با پیشبینیهایی که در ابتدای پیشنهاد گفته شد میتوان عملکرد این تغییر را تعیین کرد.
معایب انتقال خارج از نوبت در MSBUS:
- افزایش سربار سخت افزاری
- افزایش پیچیدگی مدار
- افزایش توان مصرفی
- افزایش سیگنالهای کنترلی
پیشنهاد2 – قابلیت پشتیبانی بیش از یک Master در MBUS:
با توجه به قابلیتهای جدید MSBUS نسبت به تکنولوژیهای پیشین مانن پشتیبانی از انتقال بلوکی اطلاعات
وجود چند پردازنده در سیستم چندان دور از ذهن نخواهد بود. لذا عدم پشتیبانی از چند Master در MBUS یک ایراد محسوب خواهد شد. برای رفع این مشکل ساختار MBUS را تغییر میدهیم تا توانایی پشتیبانی از چند Master را داشته باشد.
باید توجه کرد اگرچه Multilayer bus ساختار پیچیدهتری دارد و از پهنای باند بالاتری برخوردار است اما چون MBUS برای انتقالات با پهنای باند پایین و پیچیدگی کم طراحی شده است ساختار باس مالتی پلکس شده میتواند پیشنهاد بهتری باشد. برای Arbitration نیز میتوان از ساختارهای با اولویت قابل برنامهریزی استفاده کرد.
تاثیرات منفی اعمال چند master بر روی عملکرد سیستم:
- افزایش تاخیر ارسال و دریافت بدلیل فرایند Arbitration
- افزایش سربار سخت افزاری
- افزایش پیچیدگی مدار
- افزایش هزینه