ארכיטקטורה Flashcards
למי רלוונטי ההיכרות עם חומרת המחשב
לכתיבת תוכנית או חלק ממנה בשפת סף
מפתחי קומפיילר
מפתחי תוכניות (אסמבלר)
מפתחי מנהלי התקנים (device drivers)
מפתחי מערכות (embedded)
?מערכת מחשב בנויה מ
חומרה + תוכנה
מה מרכיבי החומרה
מכלול היחידות האלקטרוניות והמכניות (Full Adder`s)
מה מרכיב יחידה אלקטורנית
שבבים (chips)
מעגלים- השבבים בעצמם מורכבים ממעגלים אלקטורנים
שערים- כפי שנלמד במערכות ספרתיות
טרנזיסטורים- השערים הבסיסיים ממומשים ע”י טרנסיסטורים
יחידות מכניות המרכיבות את המחשב הן
ספק כוח
מאווררים
מחברים- sata, usb, fc, rj45
מארזים, של מחשב של דיסק קשיח, כונן דיבידי וכו
מה הן תוכניות במחשב
.exe תוכניות
תוכניות להרצה וספריות אשר מותקנות על הדיסק הקשיח.
תוכניות אלו אינן כוללות תוכניות הכתובות בשפות תכנות עיליות או אסמבלר.
מהו תיאור סכמתי של מערכת מחשב
מחשב (חומרה) -> תוכניות מערכת הפעלה -> תוכניות אפליקציות + ספריות
איך נגדיר את החומרה והתוכנה במחשב במונחים תפעוליים פוליטים
בשביל תפקוד של מחשב צריך את הרשות המבצעת (המחשב והחומרה) והרשות המנחה (התוכנה), הפרדה ביניהן מאפשרת לנו את מגוון הפעולות הגדול שאפשר לבצע במחשב
איזה סוגי זיכרון יש ומה תפקידם
זיכרון ראשי ראם. זיכרון נדיף שאחראי להעתיק את התוכניות מהאחסון לריצה
זיכרון אחסון לא נדיף. שומר קבצים ותוכניות
מערכת ההפעלה
מה תפקידה
מה השירותים שמספקת
אחראית למשאבי המחשב מקנה משאבים לפעולות השונות
שירותים כגון הקצאת מקום
קלט פלט
במהלך התקנת מערכת ההפעלה מה קורה
רישום מידע בדיסק לצורך ניהולו
העתקת תוכנית הos loader לתחילת הדיסק
יצירת מערכת קבצים בדיסק
העתקת קבצים לדיסק כולל האקס קובץ למערכת ההפעלה ושל שאר תוכניות המערכת
מה המעבד יכול לבצע?
הוראות מכונה בלבד
הוראות מכונה שונות מהוראות האסמבלר
ושונות כמובן מהוראות שפה גבוה
איך בכל זאת מעבד מבצע תוכניות בשפה גבוה או הוראות אחרות
מתרגם משפת התכנות לשפת אסמבלר כלומר עושה קומפילציה
אחרת האסמבלר מתרגם את שפת האסמבלר לשפת מכונה (1 0)
מה ההבדל בין הוראות האסמבלר להוראות מכונה מבחינה בינארית
המעבד יודע לזהות את השפה הבינארית רק שהיא כתובה בשפת מכונה
אחרת השפה זרה לו ללא קשר לבינארית או לא
הצירופים הבינארים הם ההבדל מבחינה יכולת הקריאה של המעבד
למה מפתחי אסמבלר חייבים להכיר את הארכיטקטורה של אינטל
כי מי שפיתח את האסמבלר למעבדים ספציפיים חייב להכיר את רשימת ההוראות כדי לייצר הלכה למעשה הוראות אסמבלר ע״מ שהמערכת תפעל
הארכיטקטורה היא בעצם ממשק בין התוכנה לחומרה ובשביל שהחומרה תעבוד ותבצע את רצון המשתמש ע״י התוכנה צריך להכיר את הוראות האסמבלר
לאחר תרגום שפת אסמבלר ע״י הקומפילציה איפה ההוראות מכונה נשמרות ובאיזה סוג קובץ
נשמרות על הדיסק בקובץ מסוג exe
למה למפתחים חשוב לדעת את קבוצת ההוראות של כל מעבד מסוים
כל קבוצת הוראות שונה זו מזו בין המעבדים השונים
יש לקחת בחשבון הרבה שיקולים כגון חומרה קומפיילרים מערכות הפעלה ועוד
זה מחייב ידע טכני רחב
יכולות תכנון של מערכות מורכבות
ארכיטקטורה של מעבד
מה היא ארכיטקטורת המעבד
קבוצת ההוראות של המעבד היא החלק המרכזי בארכיטקטורה אך לא כולו
מה הוא תהליך ביצוע תוכנית מסוימת במחשב
מערכת ההפעלה אומרת למעבד לעזוב הכל ולבצע את התוכנית המבוקשת
המעבד מעתיק של עותק התוכנית מזיכרון האחסון לזיכרון הראשי ע״י הבאת הוראה לזיכרון
המעבד מפענח את ההוראה שמובאת אליו (המשך ביצוע ההוראות ידוע כבר בתוך רשימת ההוראות)
ההוראה מובאת ליחידת הבקרה
לאחר פענוח ההוראה יש ביצוע
אחסון תוצאות ההפעלה בזיכרון הראשי
מדוע מפתחי קומפיילרים למעבד מסוים חייבים להכיר את הארכיטקטורה של המעבד
תפקידו של המעבד בין היתר הוא לתרגם הוראות משתמש לשפת מכונה ע״מ לתקשר עם החומרה ולבצע פעולות במחשב
מפתחי קומפיילר חייבים להכיר את הארכיטקטורה של המעבד ברמה גבוה כדי לכתוב קוד שידע להפעילו
קוד זה הוא שורת הוראות למעבד שמתורגמים משפת תכנות גבוה
מתכנתי הקומפיילר חייבים להכיר את התחביר של הוראות האסמבלר, איך מציינים תוויות למשל, איך מפרידים בין אופרנדים, איך מציינים GPR, כמה מהם יש, שמותיהם, מה גודל הכתובת הלוגית, מהם טיפוסי הנתונים הנתמכים ע״י המעבד- מספרים שלמים עם או בלי סימן כמה ביטים למספר שלם מספרים ממשיים ועוד
כל הפרטים הללו הם חלק מהמכלול הגדול של ארכיטקטורת המעבד או ISA, כל הפרטים הללו מתועדים בפירוט רב במסמכי היעוד שכותבים מפתחי המעבד
מה הוא ההבדל בין שפת אסמבלר לתוכנית אסמבלר
תוכנית בשפת אסמבלר כתובה בשפת אסמבלר והיא בעצם תרגום של תוכנית בשפה גבוה או תוכנית שנכתבה ע״י מתכנת בשפה זו. היא מורכבת מהוראות בשפת האסמבלר אך לא תוכל להיקרא ע״י המעבד. תוכנית האסמבלר היא בעצם תרגום של אותה תוכנית בשפת האסמבלר ומטרתה להעביר את הוראות התוכנית שתורגמה בצורה שהמעבד יוכל לקרוא אותה ע״י הפיכתה לשפת מכונה.
האם תוכנית אסמבלר עבור מעבד מסוים תוכל להתאים גם למעבד אחר
לא, לכל מעבד יש קבוצת הוראות מכונה נפרדות ושלל מרכיבים המשתנים ממעבד למעבד. לכן חשוב למפתחי קומפיילרים לדעת היטב את הארכיטקטורה של כל מעבד ע״מ שידעו לתרגם בצורה נכונה את שפת האסמבלר להוראות מכונה ספציפיות שהמעבד הנתון יוכל לקרוא.
מה ההבדל בין הוראות אסמבלר של מעבד מסוים לבין הוראות המכונה שמתאימה לה
הוראת אסמבלר היא רצף של ביטים המייצגים תווים
הוראות מכונה היא סדרה של ביטים עם מבנה פנימי- הביטים מחולקים למקבצים כלומר שדות של אופקוד ואופרנדים
צירוף הביטים של שפת האסמבלר אינו מוכר למעבד כי אינו יודע לזהות אותם ולפעול בהתאם
מדוע מפתחי תוכנת אסמבלר עבור מעבד מסוים חייבים להכיר את שפת המכונה של המעבד
בכדי להמיר את תוכנית האסמבלר נדרש ידע של האופרנדים והפקודות למעבד
בכדי לכתוב תרגום באופן שיוכל להפעיל את חומרת המחשב ע״י המעבד יש לדעת ידע רחב בשני המרכיבים או שפות