DSD_Project1.pdf

‫طراحي سيستمهاي ديجيتال (‪)04-223‬‬
‫نيمسال نخست ‪23-22‬‬
‫دانشكدهي مهندسي كامپيوتر‬
‫فاز اول پروژه ی اول درس‬
‫شبكههاي روي تراشه به عنوان راه حلي كارا و مقياسپذیر براي متصل كردن هستههاي پردازشي در یک تراشه چند‬
‫هستهاي ارائه شدهاند‪ .‬در یک شبكهي روي تراشه‪ ،‬هستهها به كمک واحدهاي مسيریاب‪ 1‬به شبكه متصل و اطالعات در‬
‫قالب بستههایي در شبكه مسيریابي ميشوند‪ .‬واحدهاي مسيریاب نيز با استفاده از كانالهاي ارتباطي و بر اساس یک‬
‫ساختار از پيش تعيين شده به نام همبندي‪ 2‬به یكدیگر متصل ميگردند‪.‬‬
‫در این پروژه ما قصد داریم یک سيستم شبكه روي تراشه مبتني بر توپولوژي توري‪ 3‬دو بعدي با سایز ‪ 4×4‬را پيادهسازي‬
‫نمایيم‪ .‬بنابراین هر گره شبكه‪ ،‬حداكثر ‪ 5‬كانال ورودي (شرق‪ ،‬غرب‪ ،‬شمال‪ ،‬جنوب و تزریق‪ 4‬از پردازنده ي متناظر ) و‬
‫‪ 5‬كانال خروجي (شرق‪ ،‬غرب‪ ،‬شمال‪ ،‬جنوب و تحویل‪ 5‬به پردازنده ي متناظر ) خواهد داشت كه براي هر كانال‬
‫فيزیكي چهار كانال مجازي در نظر گرفته شده است‪.‬‬
‫هر پردازنده پيام ارسالي را در قالب بسته هایي قرار مي دهد‪ .‬كه هر بسته از ‪ 2‬یا چند ‪ Flit‬تشكيل مي شود‪ ،‬تعریف ‪Flit‬‬
‫ها به صورت زیر ميباشد‪:‬‬
‫‪Virtual‬‬
‫‪channel‬‬
‫)‪(2 bits‬‬
‫‪Destination ID‬‬
‫‪Source ID‬‬
‫)‪(4 bits‬‬
‫)‪(4 bits‬‬
‫‪Virtual‬‬
‫‪channel‬‬
‫‪Data‬‬
‫)‪(12 bits‬‬
‫)‪(2 bits‬‬
‫‪Virtual‬‬
‫‪channel‬‬
‫‪Data‬‬
‫)‪(12 bits‬‬
‫)‪(2 bits‬‬
‫)‪Don’t care (14 bits‬‬
‫‪Don’t‬‬
‫‪care‬‬
‫‪0‬‬
‫‪Head‬‬
‫‪Flit:‬‬
‫‪0‬‬
‫)‪(4 bits‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Body‬‬
‫‪Flit:‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Tail‬‬
‫‪Flit:‬‬
‫‪1‬‬
‫‪Invalid‬‬
‫‪Flit:‬‬
‫پهناي كانال هاي ارتباطي شبكه به اندازه طول یک ‪ Flit‬است بدین معني كه یک ‪ Flit‬به طور موازي در یک پالس‬
‫ساعت به مسيریاب بعدي ارسال مي شود‪.‬‬
‫روشي كه به وسيله ي آن بسته هاي اطالعاتي گره هاي مياني را در مسير خود به سمت مقصد طي مي كنند راهگزیني‬
‫‪6‬‬
‫ناميده مي شود ‪ .‬تا كنون روشهاي راهگزیني متعددي پيشنهاد شده اند ‪ ،‬اما معروف ترین آنها عبارتند از راهگزیني‬
‫‪1‬‬
‫‪router‬‬
‫‪topology 2‬‬
‫‪mesh 3‬‬
‫‪injection 4‬‬
‫‪ejection 5‬‬
‫‪switching 6‬‬
‫طراحي سيستمهاي ديجيتال (‪)04-223‬‬
‫نيمسال نخست ‪23-22‬‬
‫‪8‬‬
‫‪9‬‬
‫‪10‬‬
‫دانشكدهي مهندسي كامپيوتر‬
‫بستهاي‪ ، 7‬راهگزیني خزشي ‪ ،‬راهگزیني مداري و راهگزیني ‪ ، VCT‬شما مختارید بر اساس عالقه و توانایي خود‬
‫یكي از این روشها را در طراحي و پياده سازي شبكه ي خود انتخاب كنيد ‪.‬‬
‫در شبكه هاي روي تراشه براي رسيدن از گرهي به گره دیگر چندین مسير مختلف وجود دارد ‪ ،‬الگوریتمي كه مسير‬
‫رسيدن بسته به مقصد را مشخص مي كند اگوریتم مسيریابي ناميده مي شود ‪ .‬الگوریتم هاي مسيریابي بر حسب نوع‬
‫مسيري كه در اختيار بسته ها قرار مي دهند به سه دسته ي مسيریابي قطعي‪ ، 11‬كامالً تطبيقي‪ 12‬و تطبيقي جزئي‪ 13‬تقسيم‬
‫مي شوند كه به ترتيب تنها یک مسير كمينه ‪ ،‬تمامي مسيرهاي كمينه ي ممكن و یا برخي از آنها را در اختيار بسته قرار‬
‫مي دهند ‪ .‬در این پروژه شما باید الگوریتم های مسيریابي ‪) XY‬قطعي( و فرد‪-‬زوج‪ ( 14‬تطبيقي جزئي) را پيادهسازي‬
‫كنيد ‪ ،‬همچنين ميتوانيد یک الگوریتم كامال تطبيقي مانند ‪ Duato‬را نيز پيادهسازي نمایيد كه در این صورت نمره ي‬
‫اضافي دریافت خواهيد كرد‪.‬‬
‫تذكر ‪ :‬در پياده سازي الگوریتم هاي تطبيقي و تطبيقي جزئي انتخاب بين مسيرهاي ممكن موجود را باید بر اساس‬
‫ازدحام‪ 15‬مسيرهاي پيشنهادي انجام دهيد ‪ .‬براي این منظور شما باید شاخصي كه نمایانگر ازدحام مسيرها است را‬
‫تعریف نموده و براي اندازه گيري این شاخص واحد هایي را نيز پيشنهاد دهيد ‪.‬‬
‫در فاز اول شما باید معماري پيشنهادي خود را ارائه كنيد كه در آن تمام واحدهاي الزم براي طراحي مسيریابها و‬
‫توپولوژي كلي شبكه با جزئيات كاملي از قبيل سيگنالهاي ورودي و خروجي‪ ،‬هدف و وظيفهي واحدهاي پيشنهادي‬
‫ذكر شده باشند‪ .‬در این فاز احتياجي به پياده سازي واحدها نبوده و صرفاً ارائه یک طرح بلوک دیاگرامي كافي است‪ ،‬اما‬
‫توجه به این نكته ضروري بوده كه طراحي شما در فازهاي بعدي نيز باید منطبق بر معماري پيشنهادیتان در این فاز‬
‫باشد ( در غير اینصورت مشمول كسر نمره خواهد شد) ‪.‬‬
‫زمان و نحوه ی تحویل‬
‫شنبه ‪ 1391/7/27‬ساعت ‪ 23:55‬روي درس افزار‬
‫یادآوریهای عمومي‬
‫لطفاً توجه داشته باشيد كه‪:‬‬
‫‪ .1‬به ازاي هر روز دیركرد در تحویل تمرینها ‪ %10‬جریمه منظور خواهد شد‪.‬‬
‫‪ .2‬بههيچ عنوان تمریني را از دیگران كپي نكنيد و به دیگران كپي ندهيد‪ .‬درغيراینصورت نمرهي آن تمرین‬
‫براي هر دو طرف (كپيدهنده و كپيگيرنده) ‪ -100‬منظور خواهد شد‪.‬‬
‫موفق باشيد‬
‫‪7‬‬
‫‪packet switching‬‬
‫‪wormhole switching 8‬‬
‫‪circuit switching 9‬‬
‫‪virtual cut through 10‬‬
‫‪deterministic 11‬‬
‫‪fully adaptive 12‬‬
‫‪partially adaptive 13‬‬
‫‪odd-even 14‬‬
‫‪congestion 15‬‬