מדרג זיכרון
מדרג זיכרון מתאר את הסדר ההיררכי שבו מאורגן זיכרון המחשב בארכיטקטורת מחשב מודרנית. השיטה נועדה לנצל את תכונת מקומיות הזיכרון שאותה מפגינות רוב תוכניות המחשב, ולהאיץ את ביצועי המחשב.
רוב המעבדים המודרניים פועלים בקצב הגבוה באופן משמעותי מקצב העבודה של הזיכרון הראשי, וכתוצאה מכך, המעבד נאלץ להמתין ללא הרף לפעולות האחזור והאחסון (I/O) של הזיכרון. בשיטת הניהול המדרגי, נתונים המשמשים את התוכנה מובאים להתקני זיכרון מהירים יותר בקרבת המעבד, ובשל תכונת מקומיות הזיכרון, מואצת מהירות הביצוע של התוכנית.
הניהול המדרגי של הזיכרון הוא קריטי לביצועי המחשב. מהירות העיבוד המעשית של רוב סוגי התוכניות תלויה פחות במהירות המעבד ויותר במקומיות הייחוס בגישה לזיכרון, יעילות זיכרון המטמון, וכן בקצב העברת הנתונים בין הרמות השונות במדרג[1].
מדרג הזיכרון ברוב המחשבים הוא כדלקמן[2]:
רכיב | זמן גישה אקראית | קיבולת | טווח אחסון הנתונים | מחיר |
---|---|---|---|---|
אוגרי מעבד | מיידי או תוך מחזור שעון אחד | מאות בתים | מיידי | יקר מאוד |
זיכרון מטמון L1 | 3 מחזורי שעון | עשרות KB | מיידי | יקר מאוד |
זיכרון מטמון L2 | 10 מחזורי שעון | לרוב יותר מ-512KB | מיידי | יקר |
זיכרון מטמון L3[3] | עשרות מחזורי שעון | מספר MB | קצר מאוד | יקר |
זיכרון ראשי | 120 מחזורי שעון[4] | עד מאות GB | קצר, זמן ריצת התוכנה | בינוני עד יקר למדי |
אמצעי אחסון (בלתי נדיף) | ||||
זיכרון הבזק | מהיר | עד מאות GB | בינוני, חודשים | זול |
Solid state drive | מהיר מאוד | עד עשרות TB | ארוך, שנים | זול |
דיסק קשיח | מאות אלפי מחזורי שעון | עד עשרות TB | ארוך, שנים | זול מאוד |
סרט מגנטי | איטי מאוד | עד עשרות PB | ארוך, עשרות שנים | בינוני |
![](http://up.wiki.x.io/wikipedia/commons/thumb/0/0c/ComputerMemoryHierarchy.svg/600px-ComputerMemoryHierarchy.svg.png)
ניהול מדרגי של הזיכרון
עריכהשימוש מיטבי במדרג הזיכרון מחייב שיתוף פעולה בין המתכנת, המהדר, מערכת ההפעלה והחומרה. במודל התכנותי של ארכיטקטורות UMA ו-CC-NUMA, ניהול זיכרון המטמון מתבצע תמיד בחומרה והוא חבוי ברמת התוכנה. ואכן, שפות תכנות ומערכות הפעלה מודרניות מסתירות את מדרג הזיכרון מהמתכנת, ומציגות מודל מפושט יותר הכולל לרוב רק שתי רמות: זיכרון ראשי וזיכרון משני, כאשר גם מידע הנכתב לזיכרון הראשי, עקב תכונת הזיכרון הווירטואלי, עשוי להיכתב בפועל לזיכרון המשני. עם זאת, בשפת סף ובשפות המאפשרות שימוש ישיר בשפת סף (כגון C), ניתן לגשת לאוגרים באופן ישיר.
ראו גם
עריכהקישורים חיצוניים
עריכההערות שוליים
עריכה- ^ מהירות הריצה של תוכניות המבצעות חישובים רבים על מעט מידע תלויה לחלוטין במהירות המעבד (CPU-Bound). תוכניות אלה נפוצות בפתרון בעיות חישוביות כגון חוזק מבנים וכדומה.
- ^ זמני הגישה והגדלים המוצגים הם טיפוסיים למערכות מחשב בשנת 2007.
- ^ רכיב אופציונלי, אינו מותקן בהכרח בכל המחשבים.
- ^ זמני הגישה עלולים להיות לא אחידים בארכיטקטורת NUMA.