1 / 85

מבוא למערכות מחשב ואסמבלי

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

sachi
Download Presentation

מבוא למערכות מחשב ואסמבלי

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. ספר הלימוד: פרק 1 המחשב הדיגיטלי 1.1 מבוא 1.2 מודל מופשט של מחשב 1.3 מבנה מחשב פשוט ואופן ביצוע ההוראות בשפת מכונה 1.4 הקשר בין יחידות המחשב פרק 2 ייצוג מידע במחשב 2.1 מבוא 2.2 ייצוג מספרים שלמים 2.3 ייצוג מספרים ממשיים 2.4 ייצוג טקסט 2.5 ייצוג תמונה 2.6 יחידות זיכרון לאחסון מידע במחשב מטח אוגוסט 2005

  4. ספר הלימוד (המשך): פרק 3 פעולות אריתמטיות על ייצוג בינארי במחשב 3.1 חיבור וחיסור מספרים בינאריים בלתי מכוונים 3.2 שיטות לייצוג מספרים בינאריים מכוונים 3.3 חיבור וחיסור מספרים בינאריים שלמים מכוונים 3.4 תחום הייצוג של מספרים בינאריים שלמים מכוונים ובלתי מכוונים פרק 4 שפת אסמבלי והמודל התכנותי של מעבד 8086 4.1 מבוא 4.2 המודל התכנותי של ה-8086 4.3 ארגון הזיכרון במעבד 8086 4.4 כתיבת תכנית בשפת אסמבלי 4.5 הגדרת משתנים בשפת אסמבלי נספח – תיאור תהליך הרצת התכנית מטח אוגוסט 2005

  5. ספר הלימוד (המשך): פרק 5 תכנות בסיסי בשפת אסמבלי 5.1 מבוא 5.2 הוראות להעברת נתונים 5.3 הוראות אריתמטיות – חיבור וחיסור 5.4 הוראות בקרה 5.5 הוראות כפל וחילוק 5.6 הוראות לוגיות 5.7 הוראות הזזה וסיבוב פרק 6 שיטות מיעון, מערכים ורשומות 6.1 הצהרה על מערכים ורשומות 6.2 שיטות מיעון 6.3 מיעון מיידי Immediate addressing 6.4 מיעון אוגר Register addressing 6.5 מיעון ישיר Direct addressing mode 6.6 מיעון עקיף בעזרת אוגר Indirect Addressing Register 6.7 מיעון אינדקס (Direct Indexed Mode) 6.8 מיעון בסיסBase Relative Addressing 6.9 מיעון אינדקס-בסיס Based Indexed Addressing Modes מטח אוגוסט 2005

  6. ספר הלימוד (המשך): פרק 7 מחסנית, שגרות ומקרו 7.1 מבוא 7.2 כתיבת פרוצדורה וזימונה 7.3 המחסנית ומצביע המחסנית 7.4 העברת פרמטרים 7.5 מימוש משתנים מקומיים 7.6 העברת מערך כפרמטר לפרוצדורה 7.7 מימוש פונקציות 7.8 פונקציה רקורסיבית 7.9 מקרו מטח אוגוסט 2005

  7. ספר הלימוד (המשך): פרק 8 עיבוד מחרוזות ובלוקים של נתונים 8.1 הגדרת מחרוזות בשפת אסמבלי 8.2 מבנה של הוראות מחרוזת 8.3 העתקת מחרוזות – ההוראה MOVS 8.4 חזרה על פעולת ההעתקה 8.5 כתיבת תווים במחרוזת – ההוראה (Store a String) STOS 8.6 קריאת תו ממחרוזת – ההוראה LODS(Load a String) 8.7 השוואת מחרוזות ההוראה CMPS(CoMPare String) 8.8 חיפוש תו במחרוזת הוראה SCAS (SCAn String) 8.9 טבלאות תרגום וההוראה XLAT מטח אוגוסט 2005

  8. ספר הלימוד (המשך): פרק 9 פסיקות וקלט-פלט 9.1 מבוא 9.2 שימוש בשגרת השירות של DOS 9.3 מנגנון ביצוע פסיקות במעבד 8086 9.4 קריאה ושינוי של פסיקה 9.5 הוראות IN ו- OUT פרק 10 ארכיטקטורה של מעבדים מתקדמים 10.1 ההשפעה של ההתפתחות הטכנולוגית על מבנה מעבדים מתקדמים 10.2 מבנה האוגרים במעבדים מתקדמים 10.3 ארכיטקטורת "צינור הוראות" (pipelining) 10.4 ארגון זיכרון מטח אוגוסט 2005

  9. פדגוגיה • בעיות: • מושגים רבים חדשים • שילוב מהיר של התנסות • סדר הלימוד:הצגת חומרה קודם? • הצעות: • מבט-על מופשט והעמקה בצורה ספירילית • להציג פרק 3 (עיבוד על ייצוג בינארי יחד עם פרק 5) • שימוש בסימולטור • קישור לידע קיים במדעי המחשב • התייחסות לתפישות של תלמידים על המחשב ואופן השימוש בו מטח אוגוסט 2005

  10. ספרות • שפת סף 8086/88 הוצאת בי"ס לטכנולוגיה של או"פ • ארגון המחשב ותכנותו – הוצאת או"פ • משפחת המיקרופרוססרים 8086/88, ג'ון אופנבק, תרגום לעברית של או"פ • Computer Organization and Assembly Language Programming, Thorne M. • The 80x86 Family, Design, Programming and Interfacing, Uffenbeck J. • Structured Computer Organization, by Andrew Tanenbaum מטח אוגוסט 2005

  11. פרק ראשון מבוא • מטרות • הצגת מבט-על של מחשב ואופן ביצוע תכנית • הצגת הסיבות ללימוד המקצוע • הכרת המושגים הבאים: תכנה, חומרה, ארכיטקטורה, ארגון, מהדר/מפרש, שפות נמוכות ושפות עיליות, ארכיטקטורת פון ניומן • תכנים: • ארכיקטורה וארגון של מחשב • מחזור הבאה-ביצוע של הוראות ומבנה מחשב פשוט • היסטוריה: התפתחות של מחשבים מטח אוגוסט 2005

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

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

  14. מחשב חמרה ותכנה • הפרדה בין חמרה ותכנה • הפרדה מאפשרת להתייחס למחשב כאל מכונה למטרות כלליות, בו ניתן להריץ מגוון של יישומים שונים על אותה החמרה, לדוגמה: • ממעבדי תמלילים, גיליונות אלקטרוניים, מוזיקה, מולטימדיה יישומי תקשורת ועוד. • התלות הדדית: • התכנה מגדירה מה המחשב צריך לבצע או את אופן הפעולה של החמרה, ומכאן התכנה שולטת בחמרה. • החמרה מגדירה איזה סוג תכנה תוכל לפעול עליה, במלים אחרות, אלו הוראות ניתן יהיה לכתוב ואיך תפעל התכנית. מטח אוגוסט 2005

  15. יישומים ממשק משתמש GUI משתמש רכיבים אלקטרוניים טכנולוגיה מהנדס/ארכיטקט מתכנת היבטים שונים מחשב שפות תכנות מהדרים מטח אוגוסט 2005

  16. שפת המחשבשפות נמוכותLow level language • שפת מכונה (Machine Language) • בשפה בינארית הוראה אוסף 0 ו- 1 • שפה אסמבלי או שפת סף (Assembly language) • בשפת סף במקום מספרים בינאריים יש קודים מנמוניים (Mnemonic codes) . • קוד מנמוני נכתב באותיות לטיניות, והוא מורכב ממילה או מקיצור של מילה המייצגת פעולה שיש לבצע. • לדוגמה: ADD, CMP (CoMPare) • לכל הוראה בשפת סף יש הוראה בשפת מכונה חסרון – תלות בחומרה , חוסר ניידות מטח אוגוסט 2005

  17. שפת המחשבשפות עיליותHigh level language איך מתכנת "מתקשר" עם המחשב? • שפות עיליות הן מופשטות • הוראות בהן דומות לשפה טבעית והן מגדירות פעולות בצורה לוגית בלי להתייחס לחמרת המחשב. • לדוגמה, כדי לכתוב הוראת קלט אנו משתמשים במילה המציינת פעולת הקריאה (read) ורשימה של משתנים בהם יאחסנו נתונים • אנו לא מתייחסים כלל למקלדת, למבנה, לאופן הפעולה והקישור למחשב יתרון - אין תלות בחומרה , ניידות מטח אוגוסט 2005

  18. מטח אוגוסט 2005

  19. תיווך בין שפת המכונה לשפה עילית קובץ exe • תרגום משפה עילית לשפת מכונה: הידור או פירוש • לכל סוג מחשב מהדר או מפרש מתאים • להעביר תכנית ממחשב למחשב עם חמרה שונה - מהדרים שוב מטח אוגוסט 2005

  20. תפישה* חדשה ב - JAVA * לא בקורס מטח אוגוסט 2005

  21. מודל מכונה וירטואלית הנחות: • תיאור מופשט (אבסטרקטי) מאפשר להבין את המבנה ועקרונות של הפעולה של המחשב מבלי לרדת לפרטים של אופן המימוש • רמות הפשטה: • תכנית נכתבת למכונה וירטואלית בשפה L1 • יש אפשרות לתרגם לתכנית בשפה L0 • L0 מתבצעת על מכונה M מטח אוגוסט 2005

  22. תכנה חמרה מטח אוגוסט 2005

  23. מודל השכבות • רמה 0 : • שערים לוגיים ופעולות לוגיות • מימוש רכיבים כמו אוגרים, מונים, מסכמים • מבוסס על רכיבים אלקטרוניים • רמה 1: ארכיטקטורה של ארגון של המכונה ( hardware system architecture- HAS) • מתאר באופן עקרוני כיצד המחשב פועל כדי לבצע את הוראות המכונה. • מהן היחידות העיקריות במחשב ומה הקשר ביניהם, איזה מידע זורם בין היחידות השונות מטח אוגוסט 2005

  24. מודל השכבות • רמה 2: ארכיטקטורה של אוסף הוראות המכונה (Instruction Set Architecture - ובקיצור ISA) • מהן הפעולות שמחשב מסוגל לבצע, למשל: • האם כפל היא אחת מפעולות של המחשב או שלביצוע הכפל עלינו להשתמש בפעולות חיבור בלבד • מבנה של הוראה • סוגי נתונים בהם המחשב מטפל ואופן הגישה אליהם. מטח אוגוסט 2005

  25. מודל השכבות • רמה 3 – מערכת הפעלה (operating system) • מערכת הפעלה היא תכנה המתווכת בין משתמש מחשב (משתמש ביישום או מתכנת) לבין החמרה ומטפלת בהקצאת משאבי המחשב ובביצוע פעולות הדרושות להרצת תכנית. • מערכת הפעלה מרחיבה את ISA ומספקת שירותים נוספים • לדוגמה, מערכת הפעלה מטפלת בהרצה של תכניות מספר תכניות במקביל • מערכת הפעלה מספקת שירותים שונים וביניהם טיפול בקבצים השמורים על זיכרונות חיצוניים, דיסק קשיח למשל, ובאחזורם. • רמה 4 – שפת אסמבלי (מתורגמת לשפת מכונה) • רמה 5 – שפה עילית (מתורגמת לשפת מכונה) בקורס זה אנו מתייחסים בהרחבה לרמות 1,2 ו- 4 מטח אוגוסט 2005

  26. ארכיטקטורה וארגון המחשב ארכיטקטורה (Architecture): מאפיינים של מחשב מנקודת מבט של מתכנת: פעולות שמחשב מסוגל לבצע, למשל, האם כפל היא אחת מפעולות של המחשב או שלביצוע הכפל עלינו להשתמש בפעולות חיבור בלבד; מבנה של הוראה; סוגי נתונים בהם המחשב מטפל ואופן הגישה אליהם. מתייחס לשאלה “מה”המחשב יודע לעשות? רמה 2 ISA – אוסף הוראות המכונה, רמה 1 - HSA מטח אוגוסט 2005

  27. ארכיטקטורה וארגון המחשב ארגון (Organization): מנקודת מבטשל ארכיטקט/מהנדס, מתאר באופן עקרוני כיצד המחשב פועל כדי לבצע את הוראות: • באילו רכיבי חומרה אנו משתמשים בהוראה, • מהן היחידות העיקריות במחשב ומה הקשר ביניהם, • איזה מידע זורם בין היחידות השונות. • הגדרה לוגית של המעגלים הדרושים לביצוע הוראות המכונה, למשל האם פעולת כפל תמומש בעזרת חומרה (מעגל אלקטרוני) או בתכנה על ידי סדרה של פעולות חיבור. רמה 1 HSA, רמה 0 המכונה הדיגטאלית מטח אוגוסט 2005

  28. ארכיטקטורה וארגון המחשב • במחשבים אישיים נשמר עקרון תאימות (Compatibility): תכניות שנכתבו למחשבים ישנים (שנות ה- 80) מורצים גם במחשבים מודרניים: • ISA של מחשב מודרני כולל ISA של מחשב ישן • HAS והמימוש של מחשב ישן שונה מזה של מחשב מודרני מטח אוגוסט 2005

  29. למה ללמוד שפת סף/שפת מכונה? • דרך טובה ללמוד את מבנה המחשב והקשר בין תכנה לחמרה וכך לשפר את ההבנה והתכניות בשפות עיליות • כשמריצים רקורסיה למה יש בעיה של זיכרון? • למה מתקבלת תוצאה נכונה כשמחברים שני מספרים שלמים גדולים? • איך משפיעים מבני התכנות שבהם אנו משתמשים על זמן ביצוע התכנית? • כתיבת יישומים המתייחסים להתקני חמרה וחלקים ממערכת ההפעלה • יישומים של זמן אמת (כיום משתמשים גם בשפות עיליות – שפת C) • בכתיבת קומפיילרים צריך להכיר את ISA מטח אוגוסט 2005

  30. ארכיטקטורת פון ניומן von Neumann architecture • הארכיטקטורה של מחשב מושפעת מגורמים רבים כמו: טכנולוגיה, שפות תכנות, יישומים, היסטוריה של התפתחות המחשבים וגם ההתפתחות הצפויה בתחום המחשוב. • רב המחשבים היום מבוססים על ארכיטקטורה פון ניומן שפותחה לפני כשישים שנה • פון ניומן וצוות של מדענים פתחו בשנת 1951 מחשב שנקרא EDVAC המבוסס על רעיון מהפכני בארכיטקטורה שלו. מטח אוגוסט 2005

  31. ארכיטקטורת פון ניומן von Neumann architecture • עקרון התכנית המאוחסנת(stored program( לפיו תכנית מאוחסנת כמספרים באותו זיכרון בו מאוחסנים הנתונים.   • מבנה סכמתי • המעבד (Processor) תפקידו לבצע את התכנית • יחידת הזיכרון (Memory) בה מאוחסנים נתונים והוראות • ·יחידת הקלט/פלט (I/O Devices) משמשת לקליטת נתונים מהמשתמש ולהצגת תוצאות של ביצוע התכנית • ·ערוצי תקשורת הנקראים פסים (bus) והם מקשרים בין יחידות שונות ומעבירים מידע מיחידה ליחידה. מטח אוגוסט 2005

  32. איך מתבצעת תכנית במחשב? • כותבים תכנית ומתרגמים אותה לשפת מכונה • בעזרת מערכת ההפעלה טוענים ומריצים • ההרצה כוללת מספר פעולות שהן שקופות מבחינתנו וביניהן: התכנית בשפת מכונה והנתונים של התכנית נטענים לזיכרון • תהליך ביצוע של הוראות התכנית: לכל הוראה מתבצע מחזור הבאה-ביצוע הכולל שני שלבים : • שלב הבאה (fetch) – קריאת ההוראה ופענוחה • שלב ביצוע (execute) ההוראה מטח אוגוסט 2005

  33. ארכיטקטורה של "מחשב" פשוט • כדי להבין את הארכיטקטורה (ISA ו- HAS) של מחשב: • נתכנן “מחשב” פשוט בארכיטקטורת פון ניומן. • נגדיר שפת מכונה בסיסית באמצעותה נכתוב תכניות • ה"מחשב" הפשוט יוכל לבצע את מחזור הבאה-ביצוע של תכנית המאוחסנת בזיכרון מטרות פדגוגיות: • מבט-על • להבין את המבנה של הוראה בשפת מכונה • להבין איך מתבצעת הוראה • שימוש במודל פשוט יסייע להבין בהמשך את אופן פעולה של מחשבים מתקדמים: • המודל הפשוט יכיל תיאור של הרכיבים שמגדירים מצב תכנית בתהליך ביצוע מחזור הבאה-ביצוע מטח אוגוסט 2005

  34. ארכיטקטורה של "מחשב" פשוט הזיכרון לאחסון הוראות ונתונים • הזיכרון בנוי כמערך חד-ממדי המכיל 100 תאים: • לכל תא בזיכרון יש כתובת שהיא מספר בין 0 ל- 99. • בכל תא ניתן לאחסן מספר עשרוני (שלם וחיובי) בן 6 ספרות שהוא: הוראה, נתון או כתובת של תא בזיכרון. • המעבד יכול לפנות לכל תא בזיכרון על ידי ציון כתובת התא ולבצע אחת משתי הפעולות הבאות • א. קריאה של תוכן התא • ב. כתיבה נתון (כתיבת הוראות מתבצעת בנפרד מהרצת התכנית). מטח אוגוסט 2005

  35. ארכיטקטורה של "מחשב" פשוט מבנה המעבד: כדי לבצע מחזור הבאה-ביצוע המעבד כוללשתי יחידות עיקריות: • יחידת בקרה המטפלת בשלב ההבאה (הכולל גם פענוח של הוראה) • יחידת ביצוע המטפלת בביצוע החישובים יחידת הבקרה כדי לבצע את שלב ההבאה היא צריכה שני סוגים של מידע: • כתובת של התא בה מאוחסנת ההוראה שעליה לבצע • מילון כדי לדעת לפענח את ההוראה. מטח אוגוסט 2005

  36. ארכיטקטורה של "מחשב" פשוט • אירגון יחידת הבקרה: • אוגר (register) יחידת זיכרון: • גודלה תא אחד • יכול להכיל מספר בן 6 ספרות (כמו תא בזיכרון) • אין צורך בכתובת ואנו פונים אליו בשם שניתן לאוגר. • שני אוגרים חשובים: • אוגר IP משמש לשמירה של הכתובת של ההוראה שעל המעבד להביא מהזיכרון והוא נקרא מצביע להוראה (Instruction Pointer). • אוגר IR משמש לשמירת ההוראה שהובאה מהזיכרון אל המעבד והוא נקרא אוגר הוראות) Instruction Register) ובו משתמשים לצורך פענוח ההוראה. • רכיבים וספים שלא נתייחס אליהם: יחידה לחישוב כתובת, יחידה לטיפול בפניה לפסים, יחידה לפענוח הוראות וכדומה מטח אוגוסט 2005

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

  38. ארכיטקטורה של "מחשב" פשוט • יחידות זיכרון בהן משתמש ה- ALU • יחידות זיכרון לשמירת נתונים עליהם מתבצעות הפעולות • אילוץ חומרה: כל פעולה אריתמטית או לוגית (חיבור/השוואה) שמבצעת היחידה האריתמטית לוגית, מתבצעת על נתונים שנמצאים באוגרים אלו. במחשב שלנו יש 2 אוגרים למטרות כליליות אותם נכנה כ: DR1 ו- DR2. • אוגר נוסף הנקרא אוגר דגלים FR (Flag Register) • תפקידו לשמור תוצאות של ביצוע פעולות לוגיות • לדוגמה, בביצוע השוואה האם X = Y? צריך לשמור מידע (אמת או שקר) מטח אוגוסט 2005

  39. מבנה סכמתי של "מחשב" פשוט מבנה סכמתי זה יאפשר לתאר מצב של מחשב לאחר ביצוע הוראה מסוימת מטח אוגוסט 2005

  40. הגדרת אוסף הוראות ה"מחשב" הפשוט -ISA • הוראה בשפה עילית מכילה: • פעולה הנקראת אופרטור (operator) שהיא מילה שמורה • אופרנדים (operand) עליהם מתבצעת הפעולה. • לדוגמה את ההוראה: שים את הערך 8 במשתנה A ניתן לרשום בשפה עילית בצורה הבאה: בשפת C בשפת פסקל A: = 8;A= 8; • הוראת ההשמה כוללת אופרטור '=' ושני אופרנדים: המשתנה A והקבוע 8. • ההוראות בשפה עילית מורכבות ויכולות להכיל מספר אופרטרים ומספר אופרנדים. • לדוגמה ההוראה (פסאודו-קוד) : B : A=A+B+C כוללת שני אופרטרים: '+' ו- '=', ושלושה אופרנדים A, B ו-C. בשפה עילית ישנן הוראות מורכבות עוד יותר כגון הוראת for או if הכוללת תנאים לוגיים מורכבים ועוד. מטח אוגוסט 2005

  41. הגדרת אוסף הוראות ה"מחשב" הפשוט -ISA • המבנה של הוראות במחשב שלנו הוא הרבה יותר פשוט. כל הוראה צריכה לכלול רק: • אופרטור אחד • מספר האופרנדים משתנה בין 1 ל- 2. • למה? אילוץ חומרה: מבנה הוראות פשוט מאפשר לבנות חמרה מתאימה המפענחת את ההוראה בצורה חד משמעית. מטח אוגוסט 2005

  42. הגדרת אוסף הוראות ה"מחשב" הפשוט -ISA • במחשב שלנו הוראה תהיה אחת משני המבנים הבאים הבא: • operator operand1 • operator operand1 operand2 •  קיימים שלושה סוגים של אופרנדים: • נתון • אוגר (DR1או DR2 ) • תא זיכרון (משתנה בשפה עילית) . • נניח כי כל ההוראה נשמרת בתא אחד בזיכרון (כלומר המספר שמייצג את הוראה יהיה לכל היותר בן 6 ספרות). מטח אוגוסט 2005

  43. שיקולים בהגדרת אוסף הוראות של מחשב -ISA • תכנון ISA הוא מורכב וכולל שיקולים רבים: • אילו הוראות יכיל אוסף הוראות של המחשב הפשוט? • קובע את כללי המשחק מנקודת מבט של מתכנת, צריך לתת תמיכה במימוש של שפות עיליות • יותר פקודות יותר מעגלי פענוח ומעגלים למימוש • איך מעבד ידע לפענח הוראה? • איך מעבד יבדיל בין הוראה לנתון? • הטכנולוגיה הקיימת: • האם ניתן לממש פעולה במעגל? מחיר? זמן ביצוע? מטח אוגוסט 2005

  44. הגדרת אוסף הוראות ה"מחשב" הפשוט -ISA נגדיר 5 הוראות שיאפשרו לכתוב תכניות פשוטות ולתאר את תהליך הביצוע שלהן: • הוראת השמה • הוראת חיבור • הוראת השוואה • הוראת קפיצה בלתי מותנית • הוראת קפיצה מותנית מטח אוגוסט 2005

  45. הוראת ההשמה אופרנד2 ,אופרנדmov 1 א.   מבנה לוגי של הוראת השמה הכוללת שני אופרנדים משמעותה היא: אופרנד2 ← אופרנד1 • אילוצים: • אופרנד1 חייב להיות אוגר משני האוגרים DR1, DR2 • אופרנד2 יכול להיות אחד משלוש האפשרויות: נתון, אוגר או תא בזיכרון. החלטה זו היא אילוץ בו אנו חייבים להתחשב בכתיבת תכניות במחשב זה. לדוגמה, כדי להעתיק נתון מתא זיכרון אחד לתא אחר, נצטרך להשתמש בשתי הוראות השמה: הראשונה תעתיק נתון מתא זיכרון לאוגר , והוראה שנייה תעתיק מטח אוגוסט 2005

  46. קידוד הוראת השמה • הוראה בשפת מכונה היא מספר ובמחשב שלנו הוא מספר עשרוני עד 6 ספרות • צריך פענוח חד משמעי ולדעת להבחין בין סוגי ההשמה השונים. לדוגמה בין: MOV DR1, DR2 MOV DR1, 23 • צריכים לקבוע קוד מספרי ייחודי לכל פעולה ולכל אוגר כך שפענוח של הוראה יהיה חד משמעי. • אחת האפשרויות להבדיל בין הוראות השמה השונות היא : לייצג כל הוראת השמה בקוד אחר. ובהתאם במחשב שלנו יש חמש הוראות השמה המתוארות בטבלה הבאה מטח אוגוסט 2005

  47. הוראת השמה בשפת מכונה של המחשב הפשוט • גם לאוגרים נקבע קודים מספריים: • קוד 01 מציין את האוגר DR1 • קוד 02 מציין את האוגר DR2. • הנתונים בהם המחשב יכול לטפל הם: שלמים בין 0 ל- 99 בלבד!! מטח אוגוסט 2005

  48. הוראת השמה בשפת מכונה של המחשב הפשוט • כיצד המעבד יבדיל בין קוד 01 שהוא קוד ההוראהmov1 לקוד 01 שהוא אוגר 1DR? • תשובה: בהתאם למבנה הקבוע של ההוראה בה שני אופרנדים: xx yy zz • xx מציין שתי ספרות של קוד פעולה • yy מציין שתי ספרות של אופרנד1 • zz מציין שתי ספרות של אופרנד2. • כך ההוראה המתחילה ב- 01 מתייחסת לקוד פעולה(mov1), ואילו 01 המופיע במיקום 3 ו- 4 (yy ) או במיקום 5 ו -6 (zz) הוא האוגר 1DR. מטח אוגוסט 2005

  49. הוראת השמה בשפת מכונה של המחשב הפשוט • דוגמאות: התייחסות למשתנים משתנה הוא ייצוג לוגי של מקום אחסון בזיכרון. לכל משתנה יש כתובת ותא בו מאוחסן הנתון. לדוגמה, כי לרשום הוראת ההשמה a=27, כאשר למשתנה a מאוחסן בתא שכתובתו 10 מטח אוגוסט 2005

  50. הוראת החיבור בשפת מכונה של המחשב הפשוט • הוראת חיבור כוללת שני אופרנדים וניתנת לתיאור בצורה הבאה: אופרנד2 ,אופרנד1 add • סוגי אופרנדים מותרים: • אופרנד1 חייב להיות אוגר משני האוגרים DR1, DR2 • אופרנד2 יכול להיות אחד משתי אפשרויות: נתון או אוגר. • תוצאת החיבור מושמת תמיד באופרנד 1.   מטח אוגוסט 2005

More Related