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

1.     מבוא

1.1 תאור כללי

 

מסמך זה מתאר את הקצאת השעות לכל אחד מן הנושאים הנלמדים בקורס “הסבת אקדמאים למערכות משובצות מחשב”.

משך הקורס 800 שעות אקדמאיות ובנוסף פרוייקט סופי בהיקף של 150 שעות.

 

 

הקורס מורכב ממספר נושאים. תנאי המעבר הינם:

  1.  הגשת כל שיעורי הבית.

  2.  מעבר בחינה בציון מינימלי 60.

  3.  תלמיד שלא יעמוד בסטנדרטים יוכל להיות מסולק מהקורס.

 

1.1     מסמכים ישימים

 

 

 1.  Real-Time Software Engineering Education Program. 

 

 

 

 

 

1.2     סיכום נושאי הלימוד

 

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

 

 

 

נושאי לימוד

עיוני

מעשי

סה"כ

1

מערכות ספרתיות

32

16

48

2

ארגון  ותכנות המחשב

56

20

76

3

מבוא לחישוב ושפת ++C

52

44

96

4

++C

56

48

104

5

מערכות משובצות מחשב

64

56

120

6

מבנה נתונים ואלגוריתמים

52

40

92

7

Multi-Task programming

60

44

104

 

סה"כ

372

268

640

 

1.     נושאים והקצאת שעות  לכל נושא

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


 

1.1     מערכות ספרתיות(Digital Systems)   

נושא

עיוני

מעשי

סה"כ

ממשקי חומרה תוכנה

רמות תוכנה: ++C, שפת סף, פקודות מכונה.

חומרה: תאור ארכיטקטורה של  מבנה המחשב.

הבנת אבני הבניין של המחשב.

 

4

 

0

 

 

4

ייצוג נתונים פשוטים  במחשב בשפה עילית:

1. ביט

2. מספר שלם   Integer.

3. תו Character.

4. מספר עם נקודה צפה Float/Real.

 

6

 

2

 

 

8

אריתמטיקה של המחשב:

  1.  שיטת סימן וגודל Sign and Magnitude

  2.  שיטת משלים לאחת One’s Complement

  3.  שיטת המשלים לשניים - Two’s complement

פקודות אריתמטיות ולוגיות

 

4

 

4

 

8

לוגיקה  סיפרתית קומבינטורית

 Combinationnal Digital Logic

  1.  אלגברה בוליאנית: טבלת אמת ומשוואות.

  2.  שערים לוגיים:

   ·   שערי AND, NOT, OR, XOR

   ·   מפענח Decoder

   ·   מרבב Multiplexor

   ·   Programmable Array Logic (PAL)

 

4

 

 

 

4

 

8

יחידה אריתמטית/לוגית ALU

1.                   מחבר למחצה/מלא  Half/Full Adder

2.                   Carry Look ahead

 

6

 

2

 

 

8

מערכות עקיבה  Sequential Logic   

  1.  מצב.

  2.  דיאגרמת מצבים.

  3.  אבני בנין של התקני זיכרון:

   ·   דלגלגים Flip-Flops

   ·   ביט Bit

   ·   בית Byte

   ·   מלה  Word

   ·   רגיסטר

 

 

4

 

4

 

 

8

מבחן

4

 

4

סה"כ

32

16

48

 


 

1.2     ארגון  ותכנות המחשב(Computer Organization)

נושא

עיוני

מעשי

סה"כ

מודל התנהגותי של המחשב

  1.  כיצד מתבצעת פקודת מחשב

  2.  מחזור שעון

  3.  מחזור מכונה

  4.  פקודות מכונה ותזמוניהן

 

 

12

 

4

 

16

ארגון הזיכרון

  1.  שיטות מיעון

  2.  פקודות Load/Store

  3.  ייצוג מערכים ורשומות של ++C במחשב

  4.  זיכרון מטמון

 

4

 

4

 

8

ביצועים

  1.  קשר בין  מחזורי מכונה וביצועי המחשב.

  2.  שיטות למדידת ביצועים

    ·    זמן מחשב    CPU time

    ·    מספר מחזורי שעון לפקודה Clock Per  Instruction Cycle

    ·    מיליוני פקודות לשניה MIPS/MFLOPS

    ·    דיוק השיטות.

    ·    מבחני ביצועים

 

 

4

 

0

 

4

שפת סף

24

12

36

הגנת פרוייקט

8

0

8

מבחן

4

0

4

סה"כ

56

20

76


 

1.3     מבוא לחישוב ושפת ++C  

 

נושא

עיוני

מעשי

סה"כ

 תכנון על פי מחלקות (Classes)

  1.  מבנה מחשב: מהי תוכנית ?

  2.  אובייקטים (עצמים)  ומחלקות.

 

 

4

 

4

 

8

מבנה מחלקה:

  1.  איפיוני נתונים: Integer, Float, Character

  2.  אופרטורים פשוטים: אריתמטיים ולוגיים

   ·   משפטים (Statement)

   ·   פונקציות

   ·   קבצים וספריות.

 

8

 

4

 

12

משפטי בקרה

  1.  If

  2.  Switch

  3.  Break

 

 

4

 

4

 

8

לולאות:

  1.  While

  2.  Do-While

  3.  For

 

4

 

4

 

8

נתונים מורכבים:

1. מערכים

2. ורשומות

 

4

 

4

 

8

מחוונים Pointers  ויישומיהם:

  1.   מחוונים ומערכים.

  2.  אריתמטיקה של מחוונים.

  3.  העברת פרמטרים לפי כתובת  (Reference) 

 

12

 

16

 

28

נושאים נוספים:

  1.  רקורסיה

  2.  קלט/פלט עם קבצים

  3.  ממשק אדם-מכונה

 

8

 

8

 

16

הגנת פרוייקט

8

0

8

מבחן

4

0

4

סה"כ

56

44

100

 


1.4       ++C

 

נושא

עיוני

מעשי

סה"כ

 מחלקות ((Classes

 הקצאה דינמית  (Dynamic Allocation)

 עצם קבוע  (Constant Object)

Constant Member Function

פונקצית חבר Friend Function

 מחלקה חברית  Friend Classes

 

8

 

8

 

16

מחלקה מיכל Container Class

4

4

8

Iterator class

4

 

4

8

ניהול עצמים:

 יצירה  Creation

 ביטול Deletion

 החוונה  This

 

4

 

4

 

8

Operator Overloading

4

8

12

 

הפשטת נתונים Abstract Data Types

 

 

4

 

 

4

 

8

פונקציות וירטואליות שירותים ומחלקות

8

8

16

הצגת מבני נתונים ויישומם ב-++C

 רשימה מקושרת Single/Double Linked List

 מחסנית  Stack

תורים  Queues

 

8

 

8

 

16

הגנת פרוייקט

8

0

8

מבחן

4

0

4

סה"כ

56

48

104

 


1.5     מערכות משובצות מחשב

 

נושא

עיוני

מעשי

סה"כ

ארכיטקטורת  80x86

 

4

4

8

 

ארגון הזיכרון

 

4

4

8

שיטות מיעון (Addressing modes)

4

12

16

מחסנית   (Stack)

 1.  ממשק חומרה תוכנה

 2.  הפעלה/סיום  פונקציה/שגרה  (Call/Ret)

 3.  פקודות מכונה לתמיכה בפונקציה/שגרה (Enter/Leave)

 4.  העברת פרמטרים דרך המחסנית

4

8

12

פסיקות (Interrupts) 

 1.  מהי פסיקה ?

 2.  ממשק חומרה תוכנה.

 3.  תכנות בקר פסיקות  (Programmable Interrupt Controller)

 4.   טיפול בפסיקות  (Interrupt Handling)

 5.  קטע קריטי  (Critical Section)

 6.  Semaphore

 7.  תור מעגלי  (Cyclic Queue)

 

16

16

32

התקני קלט/פלט  הקפיים  (Peripheral I/O) 

 1.  ארגון קלט/פלט

   ·   Memory Mapped

   ·   Isolated

 2.  מונה זמן Timer

 3.  תקשורת מקבילית  (Parallel Communication)

 4.  תקשורת טורית  (Serial Communication)

 5.  Direct Memory Access (DMA)

 

 

20

12

32

פרוייקט

8

0

8

מבחן

4

0

4

סה"כ

64

56

120

 


 

1.6     מבנה נתונים ואלגוריתמים

 

נושא

עיוני

מעשי

סה"כ

מבוא:

  1.  מהו אלגוריתם  ?

  2.  מבנה נתונים ?

  3.  סיבוכיות  (Complexity)

 

4

 

0

 

 

 

4

רשימות:

  1.  חד-כיווניות  (Unidirectional)

  2.  דו כיווניות (Bi-directional)

  3.  ממוינות (Ordered)

  4.  מעגליות  (Circular)

4

4

8

מחסנית (Stack)  

  1.  הפיכת רקורסיה לאיטרציה

Conversion of recursion into iterations

 2. Reversed polish notations

 

4

 

4

 

8

עצים (Trees)

  1.  Tree traversal

   ·   in-order

   ·   pre-order

   ·   post-order

  2.  Tree iterators

  3.  מיון Data ordering: (sorting by a tree)

  4.  עץ מאוזן   Balanced Tree

 

12

 

8

 

20

 

חיפוש ומיון

 1.  חיפוש בינרי  (Binary Search)

 2.  מציאת שורש העץ  (Root finding)

 3.  עץ חיפוש בינרי  Binary Search Tree

 4.  Balanced  (AVL) trees

 5.  סוגים שונים של עצים מאוזנים:

   ·   עץ 2-3  (2/3 Tree)

   ·   B-Tree

מציאת האלמנט ה-K.

Quick Sort

 

16

 

 

16

 

32

 

Hash Table:

  1.   ארגון המידע  (Data Organization)

  2.  Bucket Sorting

 

4

 

8

 

12

הגנת פרוייקט

4

0

4

מבחן

4

0

4

סה"כ

52

40

92


1.7     Multi Task Programming in Windows

 

 

נושא

עיוני

מעשי

סה"כ

מבוא:

 1.  מבנה תוכנית בסביבת  Windows

 2.  קובץ משאבים    Resource File

הודעות בין תהליכים  Message Processing

 

4

 

0

 

 

4

 

 

הפשטה של החומרה Hardware Abstraction 

 1.  צג Display

 2.  מדפסת  Printer  

 3.  זיכרון

 4.  מידע של התקן   Information device context

 

4

 

4

 

8

 

 

הודעותMessages  מאירועים Event driven

 1.  מניהול תפריט/עכבר Mouse/Menu

 2.  מחוונים חכמים  Smart Pointer

 

8

 

8

 

16

 

 

משאבים  (Resources)

4

 

4

8

 

תהליכים ותהליכונים  Processes and Threads1.

 תהליכים Processes

 1.  קטע קריטי Critical section

 2.  תקשורת בין תהליכים Inter Process Communication

 3.  סינכרון

   ·   תיבת-דואר Mail-box

   ·   Semaphores

   ·   מניעה הדדית    Mutual-Exclusion (MutEx)

 

12

 

8

 

20

 

 

גרפיקה

 1.  שיטות מיפוי Mapping Modes

 2.  Window and view port

 3.  עצמים לציור Drawing objects

 4.  פקודות ציור Drawing commands

 5.  Region commands

 

8

 

12

 

20

 

 

Dynamic Link Library

 1.  קישור דינמי/סטטי   Dynamic/Static Link

 2.  שיתוף DLL ע"י מספר תוכנות Sharing DLL's

 3.  Process/Threads  and DLL

 

8

 

8

 

16

 

 

הגנת פרוייקט

8

 

8

מבחן

4

 

4

סה"כ

60

44

104