
21-12-2007, 16:53
|
 |
|
|
חבר מתאריך: 16.04.05
הודעות: 5,288
|
|
ציטוט:
|
במקור נכתב על ידי hzhz
אה..  עכשיו הבנתי למה אי אפשר 4GB זיכרון במערכת עם מעבד בעל אוגר 32bit..
הרי ב4096MB זיכרון יש 34,359,738,368 בתים, שכדי לייצגם צריך אוגר בגודל של 35.
אז כמות הזיכרון המקסימלית שניתן לקלוט עם אוגר 32bit היא 512MB? לא מסתדר לי..
|
אתה מערבב כמה נושאים.
4GB זיכרון הם 4294967296 בתים, כלומר 4294967296 כתובות.
מעבד 32 ביט, מסוגל להחזיק מקסימלית מספר בינארי בן 32 ספרות. כלומר המספר המקסימלי שהוא יכול להחזיק באוגר או בבאס שלו (למעט נק' צפה - אבל נעזוב את זה) הוא 32^2 = 4294967296. כלומר הוא יכול לפנות לעד 4294967296 (=4GB) של כתובות.
אז למה בכל זאת מערכת הפעלה 32 ביט מזהה בערך עד 3.5GB? זאת מכיוון שהפנייה לעוד מרכיבים בלוח האם נעשית בעזרת אותם כתובות בדיוק. כלומר 4294967296 הכתובות צריכות להספיק לכולם, ולזיכרון נשארים בערך כמות כתובות שמספיקות ל3.5GB.
עם מעבדי 64 ביט ההגבלה עוד רחוקה מאוד מאיתנו. הם מאפשרים גישה לעד 18446744073709551616 כתובות.
|