אוגר (מחשבים) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
אין תקציר עריכה
שורה 23:
* '''אוגר מונה (counter)''' - אוגר זה מכיל את הפקודה שצריכה להתבצע על ידי המעבד. כאשר המעבד עובר לפקודה זו הכתובת בתוך המונה תתקדם (פקודת jnz). דוגמה: קפיצה לכתובת מסוימת בעקבות פקודה כלשהי, צבירת מספרים ועוד. אוגרים שימושים בשפת [[אסמבלר]] הם (AX,CX,DX).
* '''מצביע המחסנית (stack pointer)''' - [[מחסנית (מבנה נתונים)|מחסנית]] היא מקום מוגדר בזיכרון לאיחסון זמני של נתונים. שמירת הנתונים במחסנית והוצאתם מתבצעת בשיטת "[[נכנס אחרון יוצא ראשון]]" (LIFO), שבה הנתון האחרון שנכנס למחסנית הוא גם הראשון שיוצא ממנה. דוגמה: מתבצעת תוכנית כלשהי כאשר המעבד מגיע לכתובת מסוימת הוא מגלה בה קריאה ל[[פונקציה (תכנות)|פונקציה]] אחרת. לפני שהמעבד עובר לבצע את הפונקציה האחרת הוא שומר במחסנית את הכתובת של הפקודה שבאה אחרי הקריאה לפונקציה, על-מנת שיוכל לחזור לבצע את התוכנית שקראה לפונקציה, אחרי שהפונקציה תסתיים. בגלל תכונת ה-LIFO השימוש במחסנית לקפיצה לפונקציות וחזרה אל התוכנית הקוראת יכולה להתבצע בצורה [[רקורסיה|רקורסיבית]].
* '''אוגר ההוראות (irip=instruction registerpointer)''' - ה[[אות (סיגנל)|אות]]ות אשר מגיעים אל המעבד יכולים להיות מספרים או הוראות כלשהן. אם הגיעה הוראה, אזי היא מופנית לאוגר ההוראות. יחידת הבקרה מפענחת את ההוראה בהתאם לקוד שלה (כפי שרשום באוגר) ומבצעת אותה. [[יחידת בקרה|יחידת הבקרה של המעבד]] דואגת לבצע את ההוראות על פי נתונים נוספים המתקבלים במעבד באוגרים אחרים, ופועלת על פי [[אות שעון]] שמיוצר על ידי [[מתנד (אלקטרוניקה)|מתנד]], שגם את הקצב שלו ניתן לעתים לקבוע על ידי אוגר המיועד לכך.
 
==ראו גם==