איך עובד מעבד 6502 / 6507?

מה זה מעבד?

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

איפה נמצא המעבד?

המעבד פיזית מרותך ללוח האם, ובמחשבים ישנים – ללוח הראשי של הקונסולה או המחשב. ב־Atari, NES, Commodore – השתמשו ב־6502 או בגרסה מצומצמת 6507.

איך המעבד יודע מה לעשות?

המעבד לא "חושב". הוא פשוט:

  1. שולף בייט מהזיכרון
  2. בודק בטבלת הפקודות מה הפירוש של הבייט
  3. מבצע את הפקודה
  4. עובר לבייט הבא

תרשים: מבט מבפנים

תרשים ALU
דוגמה: ה־ALU מקבל פקודה לבצע פעולה מתמטית.

לסיכום

המעבד הוא מכונה פשוטה שמבצעת פקודות בזו אחר זו. כל פעולה – החל מ־LDA ועד קפיצה לכתובת – מתבצעת על בסיס אופקודים קבועים מראש, בעזרת רכיבים חשמליים פנימיים כמו ALU, רגיסטרים, ומפענח פקודות.

מחזור פקודה (Instruction Cycle)

  1. Fetch – המעבד שולף מהזיכרון את הפקודה לפי הכתובת שנמצאת ב־PC.
  2. Decode – יחידת הפענוח מפענחת את האופקוד (Opcode).
  3. Execute – המעבד מבצע את הפעולה: מחשב, כותב לזיכרון, משנה רגיסטרים ועוד.

מרכיבי המעבד

  • PC – מצביע לפקודה הבאה.
  • ALU – יחידת חישוב לוגית, מבצעת חישובים והשוואות.
  • Registers – רגיסטרים לעבודה מהירה עם נתונים:
    • A – Accumulator
    • X, Y – רגיסטרים כללים
    • SP – מחסנית
    • P – סטטוס (Flags)

טבלת פקודות (Opcode Table)

כל פקודה מיוצגת בבייט אחד – זה נקרא Opcode. לדוגמה:

Opcodeפקודהפעולה
A9LDA #immטען ערך ל־A
8DSTA absשמור את A בזיכרון
69ADC #immחיבור עם A
E9SBC #immחיסור מ־A
4CJMP absקפוץ לכתובת
D0BNEקפוץ אם Zero=0