נושאים מתקדמים במערכות מחשב: מערכות משובצות מחשב
Advanced Computer Systems: Embedded Systems


פרופ' סיון טולדו
Prof. Sivan Toledo
סמסטר א' תשע"ב

Fall 2011
ימי ראשון 1-4, מעבדה בימי ראשון 4-7

הערות חשובות

תיאור הקורס

הקורס "נושאים מתקדמים במערכות מחשב" יעסוק בנושאים מתחלפים. בשנת הלימודים הקרובה הקורס יעסוק במערכות משובצות מחשב.

מערכת משובצת מחשב היא מערכת שיש בה מחשב, אבל המטרה העיקרית שלה אינה חישוב, עיבוד נתונים, או הצגת נתונים. מכיון שמחשבים הופכים לזולים וקטנים יותר, יותר ויותר מערכות הופכות למשובצות מחשב. מכוניות, למשל, כוללות כיום עשרות מחשבים שמחוברים בכמה רשתות תקשורת. מחשבים משובצים גם בכמעט כל מכשיר חשמלי ביתי, במכונות תעשייתיות ורובוטים, בציוד תקשורת, במשחקים, ועוד. לפעמים המחשבים הללו פשוטים למדי, אבל לפעמים הם מורכבים ומעניינים.

בקורס נלמד לתכנת מחשבים משובצים, תוך דגש על הבנת הממשק בין החומרה לתוכנה. המיומנויות שהתלמידים בקורס ירכשו יאפשרו להם לתכנת מחשבים משובצים ולהשתתף בתכנון ועיצוב מערכות  משובצות מחשב (ובפרט, לתקשר באופן אפקטיבי עם מתכנן החומרה). המיומנויות הללו יאפשרו לבוגרי הקורס לתכנן מגוון גדול של מוצרים שאי אפשר לתכנן עם מיומנויות תוכנה בלבד. המיומנויות הללו מועילות גם בפיתוח רכיבי תוכנה מסויימים למחשבים גדולים: רכיבים שקרובים לחומרה, כמו מנהלי התקן (דרייברים) וקוד האיתחול של מערכת ההפעלה.

הקורס ילווה במעבדה שבה תלמידים יתרגלו תכנות מחשבים משובצים. עיקר התירגול יתבצע על שני סוגים של מחשבים. סוג אחד הוא לוח עם מעבד ARM ומגוון גדול של ממשקים ורכיבים. המעבד כולל ממשק USB כך שהלוח יכול לדמות כמו מקלדת, עכבר, זיכרון חיצוני, כרטיס קול, וכו'. הלוח כולל מתגים וג'ויסטיקים, נוריות ושני רכיבי תצוגה (כולל מסך LCD קטן), רמקול, ומנוע. לוחות הרחבה מאפשרים לחבר את הלוח לרשת Ethernet ולהוסיף ללוח מעגלים אלקטרוניים נוספים.

המחשב השני הוא סנסור אלחוטי. למחשב הזה יש מעבד יותר חלש, אבל גם חסכוני מאוד באנרגיה, מה שמאפשר להפעיל את המחשב בעזרת סוללות למשך תקופות ארוכות. למחשב יש מספר חיישנים (שני חיישני אור שונים וחיישן טמפרטורה ולחות) ורכיב רדיו. הרדיו מאפשר למחשבים הללו לתקשר עם מחשב גדול ואחד עם השני. המחשב הזה נפוץ ברשתות סנסורים אלחוטיים (wireless sensor networks). רשתות כאלה הם אחד התחומים החדשים והמסעירים בתחום של מערכות מחשב; הן מאפשרות לאסוף כמות גדולה של מידע על העולם הפיזי באופן יחסית פשוט וזול.

פרט לשני המחשבים הללו נדון בקורס בעוד מחשבים משובצים, כולל מחשבים לשליטה ברובוטים, לאיסוף מידע מרשתות תקשורת של מכוניות, ועוד.  כמו כן, הקורס ידגים תכנון של מחשב משובץ חדש ובניית אב טיפוס שלו.

התרגול במעבדה הוא חלק חשוב של הקורס ומהווה את עיקר שיעורי הבית בקורס. מכיון שהתרגול יתבצע על גבי מחשבים לא סטנדרטיים שלא ניתן להוציא מהמעבדה, ההשתתפות במעבדה הינה חובה.

מספר התלמידים בקורס מוגבל (בגלל שהמקום במעבדה מוגבל).

קבצים וחומרי לימוד

האתר הראשי של הקורס הוא http://courses.cs.tau.ac.il/embedded . אותם הקבצים גם זמינים במחשבי הלינוקס של בית הספר תחת /usres/courses/embedded.

הרשימות שמהן יועברו ההרצאות ייסרקו ויועלו לאתר הקורס, לנוחות התלמידים.

מטלות וציונים

בקורס יוטלו שני סוגי מטלות: תרגילים ופרוייקט. דוגמאות של פרוייקטים משנה שעברה אפשר לראות באתר הראשי של הקורס.

את שני סוגי המטלות תלמידים יבצעו ככלל בזוגות. יתכן שאפשר יהיה לקבל אישור לביצוע תרגילים או פרוייקט בבודדים.

 התרגילים מיועדים להיפתר במהלך שעות המעבדה (בדרך כלל במפגש אחד, אבל במקרים מסויימים בשני מפגשי מעבדה ולא רק אחד). בסיום כל מפגש מעבדה, כל צוות ידגים את התוכנה שכתב לעוזר ההוראה בקורס וימסור דוח מעבדה של עד שני עמודים שבו יתוארו הפתרונות שהצוות פיתח לתרגיל. היקף התרגילים גמיש; הכוונה היא שתלמידים ינצלו את זמן המעבדה במלואו, ולשם כך יש חלקים אופציונליים בכל תרגיל. צוותים שמסיימים את חלק החובה יעברו לבצע חלק אופציונלי, או הרחבה מעניינת של התוכנה לפי בחירתם.

במסגרת הפרוייקט כל צוות יפתח מערכת משובצת מחשב אחרת. המערכת יכולה להיות מבוססת על הלוחות שבהם נשתמש לתרגילים, אבל היא יכולה גם להיות מבוססת על לוחות אחרים שיש ברשות המרצה, או על מערכת שתיבנה במיוחד לפרוייקט. הלוחות שיש ברשותנו כוללים רכיבי חומרה שונים שמאפשרים לפתח מערכות מעניינות ללא תוספת חומרה, אבל בהחלט ניתן יהיה לפתח פרוייקטים שמצריכים רכיבי חומרה נוספים, בגבול הסבירות והיכולת הטכנית של צוות הקורס.

העבודה על הפרוייקט תתחיל בשבוע הראשון של הקורס ותימשך לאורך כל הקורס במקביל לתרגילים. פגישות המעבדה יוקדשו לתרגילים בתחילת הקורס ולפרוייקט בסוף הקורס, אבל מטלות אחרות הקשורות בפרוייקט יוטלו החל מתחילת הקורס.

הציון הסופי ישוקלל מ-50% הערכה על ביצוע התרגילים (כולל הערכה של השתתפות פעילה בקורס) ומ-50% הערכה על הפרוייקט. הציון על הפרוייקט יתבסס גם על הערכת הפעילות של הצוות לאורך הסמסטר וגם על הערכת התוצר הסופי.

מטלות והודעות שוטפות