Computer Organization and Programming ארגון ותכנו ת המחשב - את"מ הרצאה מבוא 2
שפה עילית מול שפ ת מ כונה שפה עילית language) (High level שפת מכונה Language) (Machine תכנית בשפ ה עיל ית (C, Pascal, ) תכנית בשפת מכ ונה מהדר Compiler קלט Input מחשב פלט Output שפה עילית מול שפ ת מ כונה לשם מה שפה עילי ת? קרובה לשפת הבעיה אלגוריתם language) (Problem oriented. קריאה ע"י בני אדם וקלה לכתיבה. פיתוח וניפוי שגיאות (debugging) מהיר יחסית. אחידה איננה תלויה במחשב בו עובדים (תאימה, ניידת,.(portable אז לשם מה שפת מכונה? ניצול ממצה של המכונה (המחשב) עליו עובדים: חיסכון בזמן ריצה חיסכון האחסון נתונים. 4 2
מעבר מ שפה עילי ת לשפ ת מכונה. הידור (Compilation) תרגום התכנית העילית מתבצע על כולה לפני ריצתה.. 2 פירוש (Interpretation) התרגום מתבצע בזמן ריצה. תכנית הפירוש (Interpreter) מתרגמת כל פקודה בתכנית העילית עם ביצועה. לא נוצרת תכנית בשפת מכונה. יתרון הפירוש: מעקב נוח ו-.debugging חסרון: זמן ריצה. 5 מבנה הקליפו ת שפה עילית L5 Compiler שפתAssembly L4 Assembler שפת מכונה ומ"ה L מערכת הפעלה Operating System שפת מכונה "רגילה" L2 Interpreter Micro program שפת מיקרו-תכנות L Native compiler מעגלים אלקטר ונ יים L0 6
לL לL מכונה מדומה Virtual Machine שפת מכונה L2 שפת מכונה L חומרה Hardware M M2 M2 = (L,M) שפת המכונה של החומרה M Lהיא שפת המכונה של החומרה M2 2Lהיא 7 מבנה הקליפו ת - הסבר מה בין התרגום מתבצע בד"כ ע"י :interpreter כל פקודה ב- L2 מתורגמת בזמן ריצה לסדרת פקודות (קצרה) של L. קיימת זיקה חזקה ביניהן שתיהן לתויות במחשב. הבחירה ביניהן לפי יעילות בזמן ריצה מול קלות התכנות וניפוי השגיאות. קיימות מערכות מחשבים בהן אין גישה ל- L למתכנת מצוי. מה בין 2 L2- L- L מכילה את פקודות L2 ובקשות למתן שירותים שונים הניתנים ע"י תכניות שירות מיוחדות המהוות את מערכת ההפעלה. למשל: פניות להתקני קלט-פלט, הקצאות זכרון, הרצת מספר תוכניות במקביל... 8 4
לL מבנה הקליפו ת - הסבר מה בין L4- השפות,L,L2 L נראות כסדרות מספרים ולכן קשות לקריאה. הינה רישום L בשפת "אנוש", כאשר כל פקודה ב- L4 מתאימה לפקודה L4 ב- L. ב- L 06000 8 דוגמה: ב- PDP- פקודת החיבור תירשם כ- ADD R0, R ב-.L4 במספר מחשהים מתורגמת השפה העילית לשפת Assembly ובאחרים ישירות לשפת מכונה L. במערכות מחשבים רבות קיימת שפת Assembly מיוחדת לשפת מיקרו- תכנות L. 9 חומרה ותוכנה חומרה (Hardware) הרכיבים הפיזיים שבמחשב, מעגלים אלקטרוניים, זכרונות, צגים, מדפסות... תוכנה (Software) אלגור יתמים הממומ שים ב אמצעות תכנ יות. Firmware חומרה + תוכ נה קבו עה על יה. התכנ ית הקב ועה ה יא ב ד"כ מיקרו- תכנית. 0 מימוש בחומרה יקר יותר אולם מהיר יותר. דוגמאות מעבר מתוכנה לחומרה: כפל וחילוק בשלמים, פעולות בנק' צפה, חישוב בדיוק כפול. 5
תהלי כים Processes תהליך (Process) תכנית בעת ביצועה. בכל עת נמצא תהליך במצב (state) המוגדר ע"י: התכנית. הפקודה הבאה לביצוע. ערכי המש תנים וה נת ונים של ה ת כני ת. מצב התקני הק לט והפ לט שבשי מוש. הנחה: התכ נית אי נה מש נה את עצמה. וקטור המצב מה שמשת נה. המעבד מעביר את התה לי ך מווקטור מצב אחד למשנ הו ע"פ הורא ות התו כנ ית. המעבד יכול להיות מחשב (חומרה) או תוכנית פירוש (interpreter). תהליכים - דוגמה program simple; var i,j: integer; begin i := 0; j := ; i := i + 2; j := i + j; i := i * j + 4; j := i * i; end. ווקט ור המצב: מצב סופי מצב התחלתי i: j: :הפקודה הבאה?? 0? 2 0 2 4 2 5 0 6 0 00 2 6