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 קבוע
ומתי מוקצה
לא הוא ניתן לשינוי
מוקצה בעליית מערכת ההפעלה
איפה השמר כתובת לhtab
Sdr1
Register
Erat
ראשי תיבות
Effective to real translation
מה זה erat
מטמון חומרתי קטן
מכיל כ128 רשומות
ממש מהר לגשת כמחזור שעון אחד
מעביר ישירות מאפקטיביות לפיזי
דומה לtlb בx86
מחזיק את התרגומים האחרונים שנעשו
אם מוצאים בו זה חוסך את כל המסלול חיפוש הארוך
מהם מקומות החיפוש בעת נסיון גישה לכתובת אפקטיבית
ולכמה כל רמה מקבילה בx86
מחפש בerat
מקביל לtlb l1
Tlb
Like tlb l2
Htab
Like tlb l3
If not found in any of them go to the os to get the real address
מה זה tlb2
בגלל שהזיכרונות רק גדולו ןהכיסוי של הtlb הלך וקטן
בדומה לx86
הוסיפו לppc מטמון tlb2 יותר איטי ומכיל כ1000 רשומות
כמה hash function
יש לhtab
2
ראשי ומשני
מתי נחפש בhtab
Tlb miss
מה תהליך החיפוש בhtab
ננסה את 2 פונקציות הhash
בכל אחת
נחשב את הhash
נבדוק האם הכותבת הוירטואלית נמצאת בpteg
(8 הכתובות)
אם מצאנו אז החומרה תכניס את המיפוי הוירטואלי לפיזי תtlb ותריץ שוב את החיפוש מהתחלה
אם לא אז נעבור תhash השני
אם לא מצאנו בשניהם
החומרה תקפיץ page fault
מערכת ההפעלה תתרגם את הכתובת ותכניס אותה לאחד מהpteg המתאימות לפי הhash
ואז החומרה תריץ
את החיפוש מחדש והפים תמצא
איזה מקביליות ניתן לבצע בחיפוש htab
אפשר לחשב את 2 הhashים במקביל
אפשר לחפש ב8 הpte בpteg במקביל