בית התפתחות מהי הקצאת פנקסים? - הגדרה מטכנולוגיה

מהי הקצאת פנקסים? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של הקצאת רישום?

הקצאת רישום מתייחסת לתרגול של הקצאת משתנים לרישומים כמו גם טיפול בהעברת נתונים לרשומות ומחוצה לה. הקצאת רישום עשויה להתרחש:

  • על חסימה בסיסית, המכונה הקצאת רישום מקומית
  • על פני פונקציה או נוהל שלם, המכונה הקצאת רישום גלובלית
  • מעל גבולות פונקציה חוצים באמצעות גרף שיחות, המכונה הקצאת רישומים בין פרוצדורליים

Techopedia מסביר את הרשמת ההקצאה

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


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


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


ישנם שני סוגים של הקצאת רישומים:

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