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

זה לא שכן יש מידע שחוזר אחורה ואז לא ניתן להגיד דבר על ה-.
בנוסף, בכל זמן נתון יש רק פקודה אחת המתבצעת בזמן נתון ← זה לא .
נשים לב כי מכונת המצבים לא תהיה כזו פשוטה, אך מה שכן, שלבי ה- זהים לכל הפקודות שכן שם אנו מגלים מהי הפקודה.

נשים לב כי זוהי מכונת .
נסתכל על ה- החדש לו נוסיף אוגרים זמניים אשר יאפשרו לנו להחזיק ערכים מסויימים במשך כמה מחזורים:

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

בשלב ה- אנו נקרא מידע מהאוגרים של המערכת ובנוסף, אנו נבצע חישוב ספקולטיבי של מיקום אליו נקפוץ במקרה וזוהי פקודת קפיצה למקרה בו נדרש לקפוץ.

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



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