מדרג זיכרון

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

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

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

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

מדרג הזיכרון ברוב המחשבים הוא כדלקמן[2]:

רכיב זמן גישה אקראית קיבולת טווח אחסון הנתונים מחיר
אוגרי מעבד מיידי או תוך מחזור שעון אחד מאות בתים מיידי יקר מאוד
זיכרון מטמון L1 3 מחזורי שעון עשרות KB מיידי יקר מאוד
זיכרון מטמון L2 10 מחזורי שעון לרוב יותר מ-512KB מיידי יקר
זיכרון מטמון L3‏[3] עשרות מחזורי שעון מספר MB קצר מאוד יקר
זיכרון ראשי 120 מחזורי שעון[4] עד מאות GB קצר, זמן ריצת התוכנה בינוני עד יקר למדי
אמצעי אחסון
זיכרון הבזק איטי למדי עד מאות GB בינוני, חודשים זול
דיסק קשיח מאות אלפי מחזורי שעון עד עשרות TB ארוך, שנים זול מאוד
סרט מגנטי איטי מאוד עד עשרות PB ארוך, עשרות שנים בינוני
מדרג הזיכרון בארכיטקטורת מחשב מודרנית. לכל רמה בהיררכיה התכונות הבאות: היא מהירה יותר, קטנה יותר פיזית ובעלת זמן המתנה קצר יותר מהרמה הקודמת לה.

ניהול מדרגי של הזיכרון[עריכת קוד מקור | עריכה]

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

ראו גם[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ מהירות הריצה של תוכניות המבצעות חישובים רבים על מעט מידע תלויה לחלוטין במהירות המעבד (CPU-Bound). תוכניות אלה נפוצות בפתרון בעיות חישוביות כגון חוזק מבנים וכדומה.
  2. ^ זמני הגישה והגדלים המוצגים הם טיפוסיים למערכות מחשב בשנת 2007.
  3. ^ רכיב אופציונלי, אינו מותקן בהכרח בכל המחשבים.
  4. ^ זמני הגישה עלולים להיות לא אחידים בארכיטקטורת NUMA.