2 תרגיל בית מספר

Transcription

2 תרגיל בית מספר
‫אוניברסיטת חיפה‬
‫‪ – 7514.302‬רשתות משנות תצורה – ד"ר אסתי שטיין‬
‫החוג למדעי המחשב‬
‫אביב ‪7537‬‬
‫תרגיל בית מספר ‪2‬‬
‫תאריך הגשה‪ :‬יום א' ‪ 75450437‬עד חצות‬
‫‪ 43‬נתונה רשת משנה תצורה כמו שראינו בכיתה )‪ (Reconfigurable Mesh‬הפועלת ב – ‪4bit model‬‬
‫הקלט לרשת הם שתי מחרוזות בינאריות באורך ‪ X = x0 x1 .. xN-1 : N‬ו ‪Y = y0 y1 .. yN-1 -‬‬
‫צריך להחזיר את אורך המחרוזת המשותפת לשניהם מימין‪ 4‬האלגוריתם יסתיים בזמן קבוע‪4‬‬
‫דוגמא‪ ,Y = 01110011 ,X = 11010011 ,N = 8 :‬המחרוזת המשותפת מימין תהיה ‪ 10011‬ואורכה = ‪40‬‬
‫א‪ 4‬יש לשרטט סכימת מלבנים ולהסביר את שלבי האלגוריתם (במלים)‪ 4‬יש לציין שימוש באלגוריתמים שלמדנו‪4‬‬
‫על ההסבר להיות נהיר‪ ,‬מתומצת ובסעיפים‪4‬‬
‫ב‪ 4‬מה גודל ה‪ mesh -‬המינימלי לביצוע האלגוריתם? נמקו‪4‬‬
‫ג‪ 4‬כתבו את האלגוריתם‪ ,‬ע"פ השלבים כמו שכתבנו בכיתה‪4‬‬
‫‪ 47‬נתונה רשת משנה תצורה כמו שראינו בכיתה )‪ ,(Reconfigurable Mesh‬ב ‪4Bit model‬‬
‫הקלט ל ‪ RM‬יהיו ‪ n‬סיביות ‪4x0..xn-1‬‬
‫רוצים למצוא את כל המספרים אליהם מתחלק ‪ 4 (0≤i≤n-1) xi‬האלגוריתם יסתיים בזמן קבוע‪4‬‬
‫לדוגמא‪ :‬אם ‪ xi = 05‬אזי כל המספרים המחלקים אותו יהיו‪42, 5, 10, 25 :‬‬
‫א‪ 4‬תנו אלגוריתם למציאת כל המחלקים כאמור‪ 4‬יש להסביר בעזרת סכימת ריבועים כללית‪( 4‬כמו שהראינו‬
‫את אלגוריתם הסכום של ‪ n‬מספרים שלמים בהרצאה)‪4‬‬
‫יש להראות מהיכן ייכנס הקלט‪ ,‬ומהיכן יצא הפלט‪ ,‬ולפרט את השלבים‪4‬‬
‫ב‪ 4‬מה גודל ה‪ mesh -‬המינימלי לביצוע האלגוריתם? נמקו‬
‫ג‪ 4‬כתבו את האלגוריתם‪ ,‬ע"פ השלבים כמו שכתבנו בכיתה‪4‬‬
‫‪ 41‬נתונה רשת משנה תצורה כמו שראינו בכיתה )‪ ,(Reconfigurable Mesh‬בגודל ‪42n × 3‬‬
‫יש לכתוב אלגוריתם שיסכם ‪ n‬ספרות בינאריות (‪4) Bit model‬‬
‫הקלט לאלגוריתם יהיה‪ bn-1, bn-2, .. , b1, b0 :‬כאשר }‪bi {0, 1‬‬
‫הפלט יהיה‪ ( i=0..n-1 bi :‬סכום כל הספרות הבינאריות מהקלט)‪4‬‬
‫רמז‪ :‬השתמשו באלגוריתם של ה‪4) Parallel Prefix Reminder ( Modulo -‬‬
‫א‪ 4‬מה תהיה סיבוכיות הזמן הנמוכה ביותר האפשריות לביצוע האלגוריתם‪ 4‬נמקו!!‬
‫ב‪ 4‬עבור הקלט ‪ 1 0 1 1 0 1 1 1 :‬שרטטו את האלגוריתם שלב אחר שלב‪4‬‬
‫ג‪ 4‬ג‪ ]37%[ 4‬כתבו את השלב הכללי של האלגוריתם (כמו שכתבנו בכיתה)‪:‬‬
‫בהצלחה!‬
‫‪Read :‬‬
‫‪Execute :‬‬
‫‪Configure :‬‬
‫‪Send:‬‬