Menu
Coddy logo textTech

כיצד פקודות פועלות

חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 4 מתוך 45.

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

הוראות הן מספרים.

זוהי אמת יסודית על מחשבים. הכול הוא מספר. הנתונים שאיתם עובדים (כמו המספר 42) הם מספר. הכתובת שבה הנתונים נמצאים (כמו 1000) היא מספר. וגם ההוראות עצמן (כמו mov, add, cmp) הן מספרים.

כשכותבים קוד אסמבלי כמו mov rax, 5, האסמבלר ממיר את הטקסט הקריא לבני אדם למספר שהמעבד מבין. המספר הזה נקרא קוד הוראה.

היכן נשמרות ההוראות?

הוראות מאוחסנות בזיכרון, בדיוק כמו נתונים. אין מקום מיוחד להוראות. הזיכרון מכיל את שניהם:

  • נתונים (מספרים, תווים, מערכים)
  • הוראות (התוכנית עצמה)

ה-CPU אינו יודע מה ההבדל. הוא פשוט קורא את מה שנמצא בכתובת הזיכרון שעליה מצביע מונה התוכנית. למדת על ה-PC בקצרה בשיעור 0.1. עכשיו הגיע הזמן להבין בדיוק איך הוא עובד.

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

מחזור השליפה והביצוע:

המעבד חוזר על שלושת השלבים האלה לנצח:

שלבמה קורה
1. FETCHקוראים את ההוראה בכתובת שב־PC
2. EXECUTEמבצעים את ההוראה הזאת
3. ADVANCEמעבירים את PC להוראה הבאה

דוגמה פשוטה:

אם PC = 1000, ה-CPU:

  • מביא את ההוראה שבכתובת 1000
  • מבצע אותה
  • מעביר את PC לכתובת הבאה (1000 + גודל ההוראה)

לאחר מכן הוא חוזר על עצמו עם הערך החדש של PC.

כך נראית הוראה:

לכל הוראה יש שני חלקים:

חלקמה הוא עושהדוגמה
קוד פעולהמה לעשותmov, add, cmp
אופרנדיםעל מה לבצע זאתrax, 5, [result]

להוראות מסוימות יש אופרנד אחד (כמו inc rax כדי להוסיף 1). לאחרות יש שניים (כמו mov rax, 5). ויש כאלה שיש להן שלושה (כמו add rax, rbx, rcx בארכיטקטורות מסוימות).

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Assembly אונליין