Ppc Flashcards
איך מוחלק הזכרון בppc
3 רמות
כל אחת מתורגמת להבאה
אפקטיבי
לכל תהליך יש 64 ביט
לא ייחודי לכל תהליך
וירטואלית
מרחב זיכרון גדול של 80 ביט
כל התהליכים חיים בו
אם לשתי תהלכים יש אותה כתובת אז זה אותו זכרון בשניהם והוא משותף
פיזי
62 ביט של זכרון אמיתי
לאיזה חתיכות מחלוק הזכרון
בppc
איזה משלושת החלקים מחלוק ככה
סגמנטים
רלוונטי רק לאפקטיבי והווירטואלי
שהם בגודל 256 מגה
64 דפים
סגמנטים הם רציפים בזכרון האפקטיבי והווירטואלי
כמה סגמנטים יש במרחב האפקטיבי והוורטואלי
ואיך כתובת מתורגמת ברמת הביט בכל שכבה מהם
באפקטיבי
2^64/2^28
= 2^36
לכן 36 ביטים שמאליים הם מספר סגמנט
16 ביטים למספר דף
12 לoffset
בוירטואלי
2^80/2/^28
=2^52
מתורגם כמו הקודם רק שיש 52 ראשונים לסימון מספר סגמנט
Ppc slb
ראשי תיבות
Segment lookaside buffer
Slb
מה זה
מי מנהל
איפה נמצאת
מטמון קטן וחומרתי
כ32 רשומות שדורש סייקל בודד לגשת אליהם
מכילה מיפויים בין
סגמנט אפקטיבי
לסגמנט וירטואלי
מערכת ההפעלה מנהלת
מה קורה לslb
בשינוי הקשר
ומי עושה
מערכת ההפעלה
Invalidates אותה
מה קורה בעת
Slb miss
ומי עשה
מערכת ההפעלה תיצר seg fault inntrupt
ואז תכניס את המיפוי הנכון לטבלה
מי יותר מהיר
Tlb or slb
Slb
כסייקל אחד
Tlb
כעשר
מי יותר גדול slb or tlb
Tlb
About 1024
Alb
About 32
Tlb explian in ppc
מה גודלה
כמה גודל רשומה
כמה כאלה יש בכלל
ממפה בין מספר דף וירטואלי
שזה 68 הביטים העליונים
למספר דף פיזי
שזה 50 הביטים העליונים (הכל פחות 12 של offset(
משותף לכל התהליכים יש הזכרון הוירטואלי משותף
מה קורה ל
Tlb
בערת החלפת הקשר
לא קורה לה כלום
כי היא משותפת לכל התהליכים
הם חולקים אותו מרחב וירטואלי
מה קורה
Tlb miss
Hw and os
ממלאים אותה על ידי הליכה ב
HTaB
מה גודל
Pte
Ppc
בכל אחד יש מיפוי
בין מספר דף וירטואלי לפיזי
שזה גודל של כל אחד מהם פחות 12 של offset
80-12
62-12
לכן
68+50=118
שזה 16 בתים
מה זה
Pteg
Pte group
זה כמו pte cache line שהמעבד קורא 8 רשומות
גם פה קורה 8 רשומות של 16 בתים
האם הגודל של htab קבוע
ומתי מוקצה
לא הוא ניתן לשינוי
מוקצה בעליית מערכת ההפעלה