سؤال لماذا يعرض Windows فقط حوالي 3.5 غيغابايت من ذاكرة الوصول العشوائي 4 غيغابايت الخاصة بي؟


قمت مؤخراً بترقية ذاكرة الوصول العشوائي الخاصة بالكمبيوتر إلى 4 جيجابايت. يعرض تثبيت Windows 32-بت فقط 3574 ميغا بايت من الذاكرة. كيف يمكنني جعل Windows يستخدم كمية الذاكرة RAM بالكامل؟


88
2017-08-21 10:38


الأصل


تم الرد على هذا الصباح فقط في superuser.com/questions/27006/... - Tom
هذا يحتاج إلى أن يرقى مثل الأصوات 2000 سبب يبدو وكأن كل يوم أنني واجهت شخص آخر يسأل "أين هي ذاكرتي؟" يجب أن تأخذ Microsoft ذلك خارج مربع الحوار. . . - surfasb
يا صاح ، أنت بحاجة إلى نظام تشغيل 64 بت. على محمل الجد ، ابدأ في توفير أموالك الآن. ثم يصبح هذا السؤال نقطة خلافية عندما يكون لديك نظام يدعم فعليًا كل الذاكرة التي يمكنك وضعها في اللوحة الأم. - Fiasco Labs
اشعر بحذر شديد حول وحدة النظام لأية الرطوبة أو الرطوبة. يمكن أن يكون "تسرب الذاكرة". - EleventhDoctor
ala: بسبب تقسيم ذاكرة kernel ... (1Gb تخصيص بواسطة kernel). يبدو أنك تستخدم بالفعل مفتاح التبديل / 3gb ... - user2284570


الأجوبة:


لا يمكنك:

نرى المتأنق ، أين بلدي 4 غيغابايت من ذاكرة الوصول العشوائي؟

إذا كنت ترغب في احتواء الذاكرة والأجهزة في نطاق عناوين 32 بت: لا يمكن إعطاء مساحة الذاكرة المتوفرة بالكامل التي تبلغ 4 غيغابايت إلى الذاكرة.
  ما الذي يحدث في الواقع إذا خرجت وشراء 4 غيغابايت من الذاكرة لجهاز الكمبيوتر الخاص بك؟
  هناك ثقب في خريطة الذاكرة الخاصة بك ل IO. (الآن 25٪ فقط من إجمالي مساحة العنوان ، لكنه لا يزال يمثل ثغرة كبيرة). لذلك ستكون سعة الذاكرة السفلية 3 غيغابايت متاحة ، ولكن هناك مشكلة في آخر 1 جيجابايت.

الحل العملي الوحيد هو تثبيت نظام تشغيل 64 بت. في Windows Vista والإصدارات الأحدث ، تكون مفاتيح الترخيص 32 بت و 64 بت قابلة للتبادل. إذا كان بإمكانك الحصول على وسائط تثبيت Windows لإصدار 64 بت من نظام التشغيل الخاص بك ، فيمكنك إعادة التثبيت باستخدام مفتاح الترخيص الأصلي الخاص بك.


70
2017-08-21 10:40



لا أفهم - أليس 2 ^ 32 4 غيغابايت؟ - Matt
في الواقع ، قرأت المقالة المرتبطة - Matt
جيد أن تعرف هذا - LiuYan 刘研
VonC: ماذا عن هذه؟ - user2284570
@ user2284570 صحيح ، يمكن PAE مساعدة ، ولكن الذي لا يزال على WXp؟ ؛) - VonC


أولاً ، يدعم نظام التشغيل Windows XP (32 بت) 4 جيجابايت فقط. هذا لا ينطبق فقط على Windows XP. بدلا من ذلك ، ينطبق على 32 بت سطح المكتب ويندوز - تدعم أنظمة Linux ذات 32 بت مع PAE والعديد من إصدارات Windows Server 32bit أكثر من 4 غيغابايت لكل مقالة مرتبطة. لن ترى أبداً أكثر من 4 جيجابايت إذا كنت تستخدم نظام تشغيل Windows XP 32 بت. ومع ذلك ، فقد وجدت سببًا أكثر تفصيلاً لظهور النظام على ذاكرة الوصول العشوائي الخاصة بك أقل مما هو مثبت بالفعل.

من عند مشكلة ذاكرة RAM سعة 3 جيجابايت وليس 4 جيجابايت (مدونة Microsoft MSDN):

نظرًا لقرار معماري تم اتخاذه منذ فترة طويلة ، إذا كان لديك ذاكرة وصول عشوائي (RAM) ثابتة بسعة 4 غيغابايت ، فإن Windows قادر فقط على الإبلاغ عن جزء من ذاكرة الوصول العشوائي (RAM) 4 جيجابايت الفعلية (تتراوح بين 2.75 جيجابايت إلى 3.5 جيجابايت اعتمادًا على الأجهزة المثبتة وشرائح اللوحة الأم & BIOS).

هذا السلوك بسبب "الحجوزات IO الذاكرة المعينة". هذه التحفظات تراكب مساحة العنوان الفعلي وتخفي تلك العناوين المادية بحيث لا يمكن استخدامها للذاكرة العاملة. هذا مستقل عن نظام التشغيل الذي يعمل على الجهاز.

يتم حجز أجزاء كبيرة من مساحة العنوان أقل من 4 جيجابايت (أعلى عنوان يمكن الوصول إليه عبر 32 بت) للاستخدام بواسطة أجهزة النظام:

  • BIOS - بما في ذلك ACPI ودعم الفيديو القديم
  • حافلة PCI بما في ذلك الجسور الخ
  • سيحفظ دعم PCI Express 256 ميجابايت على الأقل ، حتى 768 ميجابايت بناءً على الذاكرة المثبتة في بطاقة الرسومات

ما يعنيه هذا هو أن النظام النموذجي قد يرى بين 256 ميغا بايت و 1 غيغابايت من مساحة العنوان أقل من 4 جيجابايت محجوزة لاستخدام الأجهزة التي لا يستطيع نظام التشغيل الوصول إليها. مواصفات شرائح Intel جيدة جداً في شرح نطاقات العناوين التي يتم حجزها بشكل افتراضي وفي بعض الحالات يتم استدعاء 1.5 غيغابايت دائمًا محجوز وبالتالي يتعذر الوصول إلى Windows.

هناك المزيد من المعلومات إذا قمت بمراجعة المصدر. ومع ذلك ، قد تتمكن من الاستفادة من 8 جيجابايت كاملة مثبتة في حالة اتباع هذه تعليمات.

بالحديث عن تجربة شخصية ، هذه ليست مشكلة جديدة. لقد واجهت هذه المشكلة نفسها منذ بضع سنوات عندما قمت بإنشاء نظام Windows Vista بسرعة 4 جيجابايت 32 بت عند إصدار Vista لأول مرة. كانت هناك مشاركات لا حصر لها في المنتديات مرتبطة بهذا الموضوع.

اقرأ أيضا مايكروسوفت KB 929605 - ذاكرة النظام التي يتم الإعلام عنها في مربع الحوار "معلومات النظام" في نظام التشغيل Windows Vista أقل مما تتوقع إذا تم تثبيت 4 غيغابايت من ذاكرة الوصول العشوائي.


8
2017-08-29 04:20



وثائق مايكروسوفت هنا يدعم نظام التشغيل Windows XP ما يصل إلى 128 جيجابايت من ذاكرة الوصول العشوائي ، إذا كانت البنية الأساسية 64 بت. هل يمكنك تحديث إجابتك؟ - Dan Dascalescu
SgtOJ: ماذا عن هذه؟ - user2284570
SgtOJ: لا ينطبق حد RAM البالغ 4 جيجابايت على "جميع أنظمة التشغيل 32 بت". يمكن استخدام نظام تشغيل 32 بت يدعم بشكل كامل PAE (مثل Windows Server 2003) بسرور أكثر من ٤ غيغابايت من ذاكرة الوصول العشوائي. يقيّد "32 بت" مساحة العنوان الظاهرية ، وليس فعليًا. - Jamie Hanrahan
JamieHanrahan التي لا تزال تعني أنه لا يمكن استخدام برنامج واحد أكثر من 4 غيغابايت. وأعتقد أنه يعني أن النفقات العامة لحجز IO مستقلة عن نظام التشغيل. - jiggunjer
jiggunjer في أي مكان في السؤال أو الإجابة التي كنت أعلق عليها ، هل تم ذكرها أو ضمنيًا أن ما تم طرحه حول ما كان يمكن أن يستخدمه "برنامج واحد". ولا هو حجز I / O بصرامة نظام التشغيل المستقل. - Jamie Hanrahan


إذا كنت تستخدم 32 بت Windows XP ، فهذا غير ممكن. نظرًا لعدم وجود مساحة عنوان كافية متاحة للاستفادة من ذاكرة الوصول العشوائي الإضافية

سيكون أفضل حل هو الترقية إلى إصدار 64 بت من Windows لأنه يدعم 4 غيغابايت من ذاكرة الوصول العشوائي.


3
2017-08-21 10:43



2^32 ما يكفي "مساحة العنوان" لتناسب 4 GiB. أنت خطأ مساحة العنوان والذاكرة الفعلية. ترى كل عملية في إصدارات Windows الحديثة مساحة العنوان 4 GiB الكاملة على الرغم من ذلك بشكل طبيعي فقط 2 GiB قابلة للاستخدام بسبب تقسيم UM / KM لمساحة العنوان الظاهرية. - 0xC0000022L
@ 0xC0000022L: هذه ليست القضية التي يتم مناقشتها هنا. - Ben Voigt
وفقا لمايكروسوفت، فإن معظم إصدارات Windows 7 (بما في ذلك 32 بت) تدعم ما يصل إلى 192 غيغابايت من ذاكرة الوصول العشوائي. الشرط الوحيد هو أن البنية الأساسية هي 64 بت. لذا ، فإن أفضل حل هو الترقية من XP إلى Windows 7. هل يمكنك تحديث إجابتك؟ - Dan Dascalescu
Shaharyar: ماذا عن هذه؟ - user2284570


كما قال الآخرون ، هذا غير ممكن.

تفسير:

كل قطعة من الذاكرة لها عنوان. يحدد نظام التشغيل طول العنوان. بالنسبة لأنظمة التشغيل الأقدم ، فإن طول العنوان هو 32 بت ، والذي يسمح فقط بعناوين 2 ^ 32 (4 294 967 296). الآن ، بالنظر إلى هذا الرقم ، قد يبدو أن نظام التشغيل الخاص بك يجب أن يدعم 4 جيجابايت ، ولكن جميع الأجهزة الأخرى (الأكثر أهمية ، ذاكرة الوصول العشوائي في بطاقة الفيديو) التي تحتوي على ذاكرة داخلية يتم أيضًا تعيينها في مساحة العنوان هذه.

إنها كما لو كنت تحاول توزيع أرقام هواتف مكونة من 120000 رقم من ستة أرقام.


3
2017-08-21 10:56



أنت تقوم بخلط ذاكرة الوصول العشوائي ومساحة العنوان. - 0xC0000022L
@ 0xC0000022L: لا هو ليس كذلك. إنه يتحدث عن مساحة العنوان الفعلية ، بينما يجب أن يتم تعيين ذاكرة الوصول العشوائي إلى أن تكون قابلة للاستخدام. - Ben Voigt
@ بنVoigt: ماذا عن هذه؟ - user2284570
PAE رائع ، إذا تمت كتابة كل رمز النواة لاستخدامه. لسوء الحظ ، فإن الكثير من كود النواة هو برامج التشغيل التي كتبها أطراف ثالثة والذين بالكاد يستطيعون الحصول على الأشياء مستقرة مع نموذج الذاكرة المسطحة. يتطلب تمكين PAE التخلص من كافة برامج التشغيل الموجودة بافتراض نموذج مسطح. لهذا السبب يقوم خادم Windows بتمكين PAE والعميل لا. انظر إجابة ستيفب. - Ben Voigt
@ بنVoigt: منذ عام 1997 ، السائقين الذين يفترضون الذاكرة <4GB نادرة لأن كل برامج تشغيل WDM يمكن تثبيتها على ويندوز 2000/2003 ... - user2284570


تدعم اللوحة الأم القديمة فقط ذاكرة الوصول العشوائي الفعلية بسرعة 4bb ، بينما تدعم اللوحات الحديثة الكثير. يمكن أن تعالج وحدة المعالجة المركزية Intel P4 دائمًا أكثر من 4 جيجابايت (باستخدام ما يسمى ملحق العنوان الفعلي أو PAE)

اتخذت Microstoft "قرارًا تسويقيًا" بعدم دعم المزيد من مساحة العنوان الفعلي في 4bb في إصدارات "العميل" من جميع الإصدارات 32 بت من أنظمة التشغيل الخاصة بها - والتي تتضمن كل ذلك من W2K إلى 32 بت Windows 8 (إذا قمت بزيارة KB KB الصفحات سوف تلاحظ أن إصدارات خادم 32bit يمكن أن تدعم الكثير - حتى 128 جيجا أعتقد مع 32 بت 'Enterprise Edition' - وهذا هو السبب في أن نظام التشغيل "32 بت" المناسب (لينكس الخ) على نفس الأجهزة يمكنه دائما الوصول إلى جميع ذاكرة الوصول العشوائي المادية.

(ملاحظة جانبية - حصل على 32bit Win7 المستخدمين حتى سئمت مع هذا الحد 'غبي' أنهم "اخترق" Kernal للسماح لرؤوس إلى ذاكرة الوصول العشوائي المادية الكاملة .. وغني عن القول ، وهذا يكسر الترخيص الخاص بك وغير قانوني في الواقع في الولايات المتحدة (DCMA )

جزء "الاحتياطات" الخاص بـ Windows XP 32 بت في مساحة عنوان 4g b لاستخدام السائق. لا يوجد سبب يمنعك من "معالجة" ذاكرة الوصول العشوائي الفعلية خارج نطاق 4Gb (باستخدام PAE) إلا أن العديد من السائقين القدامى في وقت Windows XP Pro فشلوا في القيام بذلك وستحصلون على خطأ "BSOD" (تستخدم برامج التشغيل الحديثة PAE بشكل صحيح و في نظرية لا يوجد سبب لماذا يحتاجون إلى أكثر من 32 ميغابايت من صفحات الفضاء "لو" (ك "نافذة") في المجموع حتى لدعم بطاقة الرسومات 2GB (سيكون 2gb في الفضاء "مرحبا" أي فوق 4Gb علامة)

في XP SP2 ، تضاعفت MS تقريباً حجم مساحة العنوان 'المحجوزة' للسائقين في محاولة للقضاء على الموت الزرقاء وكان ذلك منذ ذلك الحين (لا تريد MS "تصحيح" برامج التشغيل == أنهم يريدون بيعك 64 بت نظام التشغيل بدلا من ذلك). يكون للأجهزة الفعلية تأثير صفر تقريبًا على هذه المساحة "المحجوزة".

إذا كان لديك 4 جيجابايت أو أكثر من ذاكرة الوصول العشوائي الفعلية ، فإن معظم XP + sp2 + سيرى هو حوالي 3.25 غيغابايت. أما بقية يمكن الوصول إليها باستخدام مختلف برامج تشغيل الأقراص RAM (وليس MS واحد بالطبع) = اذهب للبحث عن شيء ما يستخدم "مساحة العنوان غير المرئي" أو "مساحة 4 جيجابايت عالية" على إكس بي برو) .. باستخدام "مفقود" .75 جيجابايت كجزء من "الذاكرة الظاهرية" الخاصة بك يمكن أن تسرع النظام الخاص بك ...

لاحظ أن مفتاح / 3G يمكن أن يسمح لتطبيقات 32 بت بالوصول إلى 3Gb على نظام تشغيل 32 بت (إذا كان لديهم علامة LargeAddressAware محددة في رأسهم .exe - وفي هذه الحالة يمكنهم الوصول إلى 4bb على نظام 64 بت) ولكن على XP تحتاج إلى تحديد / USERVA كذلك لوقف نظام التشغيل يجري 'تقلص من ذاكرة الوصول العشوائي :-)


3
2017-09-24 09:51



دعم Windows XP SP1> 4 غيغابايت من ذاكرة الوصول العشوائي إذا أضفت رمز التبديل / PAE إلى boot.ini - user2284570


إذا كنت ترغب في الاستفادة من 4 جيجابايت كاملة ، فإن الخيار الوحيد هو الترقية إلى نظام تشغيل 64 بت:

  • Windox XP 64
  • ويندوز فيستا 64
  • لينكس
  • ماكس OS / X (حسنا ، قد تحتاج إلى جهاز كمبيوتر شخصي جديد لذلك أيضا)

نظام التشغيل Windows XP العادي هو 32 بت فقط ، وهذا يحد من الذاكرة إلى 3.5 غيغابايت كحد أقصى. تحقق من الرابط VonC المنشور للحصول على تفاصيل حول هذا الموضوع.


0
2017-08-21 10:51



كونها 32 بت لا تحد من الذاكرة إلى 3.5 غيغابايت كحد أقصى. إنها أجهزة أخرى تأكل مساحة العنوان المتوفرة ، لذا فإن 3.75 غيغابايت ممكن أيضًا. -1 - MaxVT
هذا هو السبب في أنني قلت "تحقق من الرابط للحصول على التفاصيل" :-) - FrankS
صيح. تدرج مايكروسوفت ذلك يدعم XP 64 بت حتى 128 جيجابايت من ذاكرة الوصول العشوائي. - Dan Dascalescu


إذا كنت تستخدم رسومات مدمجة ، فبإمكانك تحويل ذلك إلى أسفل ، وهذا سيعني أن النظام سيكون قادرًا على معالجة المزيد من ذاكرة الوصول العشوائي لنظامك.

ولكن ، أفضل حل هو بالتأكيد الحصول على نظام تشغيل x64.

لا يوجد سبب ليس على أي حال. تعمل معظم البرامج في x64 مع XP / Vista / 7 وجود طبقة مضاهاة x86. السائقين فقط ذلك ربما كن المشكلة.


0
2017-08-21 11:35



x64 السائقين على ويندوز إكس بي برو x64 هي القمامة ، ولكن برامج التشغيل ويندوز فيستا و 7 x64 كانت ناضجة جدا لفترة من الوقت الآن. - MDMarra


إنه سؤال معقد إلى حد ما لأنه يتطلب عدة مكونات للعمل. هذه المكونات هي:

  • وحدة معالجة مركزية
  • وحدة تحكم الذاكرة
  • BIOS / (U) EFI
  • نظام التشغيل
  • الوضعية

لا يتعلق العنصر الأخير بالمشكلة بشكل مباشر ، ولكني أضفتها لمجرد اكتمالها.

باختصار ، جميع المكونات المذكورة أعلاه يجب أن تدعم أكثر من 4 جيجابايت من الذاكرة لكي تنجح.

وحدة معالجة مركزية

دعونا نبدأ مع وحدة المعالجة المركزية. ولكن من المهم أولاً ملاحظة أن وحدة المعالجة المركزية لا تملك أي قدرة سحرية على ذلك استعمال أي ذاكرة على الاطلاق. بدلا من ذلك يمكن فقط التمكن من أي عنوان داخل مساحة قابلة للعنونة. الآن هنا يأتي الشاهد الشيء. وحدة المعالجة المركزية 32 بت قادرة على الوصول  عناوين في النطاق من 0 إلى 4 GiB. لكن هذا النطاق لا يستوعب ذاكرة RAM فقط ، SMRAM، عنوان جدول الرسومات ولكن أيضا كل المطلوب الذاكرة المعينة I / O وغيرها الكثير ، والتي قد تتطلب جزءًا كبيرًا من نطاق العنوان هذا. نتيجة لذلك قد يكون من الممكن تماما ، أن بعض عناوين الذاكرة كانت مظلل من قبل هذه الاستخدامات ، وبالتالي لا تتوفر للعمليات على ذاكرة الوصول العشوائي. من أجل استعادة الذاكرة المخفية فمن الضروري تمديد وحدة المعالجة المركزية مساحة العنوان يمكن الوصول إليه. في حالة وحدة المعالجة المركزية 32 بت ملحق العنوان الفعلي يمكن ان تساعد. والذي يسمح معالجةما يصل الى 64 GiB. 64 بت وحدة المعالجة المركزية العاملة في وضع 64 بت الأصلي هو قادر افتراضيا على الوصول يصل إلى 16 EiB ، وهو ضخم نوعًا ما ولا يتطلب مثل هذه الحيل. ولكن من ناحية أخرى ، من غير العملي أن تستخدم وحدة المعالجة المركزية (CPU) ذات 64 بت عنونة 64 بت ، لذا فهي في الواقع لا تزال محدودة بسبب ناقل العناوين الخاص بها إلى نطاق أقل من 16 EiB.

وحدة تحكم الذاكرة

في البداية كان يقع في نورثبريدجي، ولكن تم نقله إلى المعالج من قبل AMD بداية مع معالجات AMD64 و Intel من خلال معالجات Nehalem الخاصة بهم. حتى لو كانت وحدة المعالجة المركزية مع PAE قادرة على الوصول 64 GiB في حد ذاته ، فإنه لا يزال بحاجة إلى MCU للوصول إلى ذاكرة الوصول العشوائي. ببساطة: وحدة المعالجة المركزية الوصول عنوان معين يحصل على ردها إما من جهاز PCI ، فلاش BIOS ROM أو MCU ، إذا كان العنوان المطلوب موجود في ذاكرة الوصول العشوائي ، وهلم جرا. ليس من غير المألوف بالنسبة ل MCU (سواء كان في Northbridge أو في وحدة المعالجة المركزية) لدعم أقل من ذلك بكثير مساحة قابلة للعنونة من 64 GiB لأسباب التسويق على سبيل المثال.

BIOS / (U) EFI

يعتبر BIOS / (U) EFI مهمًا أيضًا حيث إنه من واجبهم تهيئة الأجهزة قبل أن يتمكن أي شيء من العمل فعليًا. من بين أمور أخرى فهي مسؤولة عن رسم الخرائط المعالج بأكمله مساحة قابلة للعنونة مع نطاقات الذاكرة من الأجهزة ، والحافلات ، وذاكرة الوصول العشوائي وهلم جرا. ومن المثير للاهتمام أنه قد يحدث أن تكون ذاكرة الوصول العشوائي بأكملها مقطوعة وتوضع في عدة أماكن غير متتالية. تكمن المشكلة في BIOS في أن مطوري البرامج قد لا يتوقعون استخدام أكثر من 3 غيغا بايت من ذاكرة الوصول العشوائي (RAM) داخل نظامهم ، وعلى هذا النحو ، لن يقوم نظام BIOS بتعيين كل الذاكرة المستخدمة بشكل صحيح. على الأرجح هذا لن يحدث ل (U) EFI.

نظام التشغيل

يجب أن يدعم نظام التشغيل أيضًا معالجة أكثر من 4 ذاكرة جي بي. لتكون أكثر تحديدًا ، يجب أن تقوم بتكوين وحدة المعالجة المركزية لاستخدام PAE. بعض أنظمة تشغيل 32 بت قادرة تمامًا على استخدام PAE والوصول إلى أكثر من 4 GiB ، والبعض الآخر لديه حد أقصى للذاكرة على الرغم من أنها تمكّن PAE من تعزيز الأمان (Windows XP كنموذج). مرة أخرى لا تملك أنظمة تشغيل 64 بت بشكل طبيعي مثل هذه الصعوبات وتدعم عادة أكثر من 4 غيغابايت من الذاكرة.

الوضعية

النقطة الأخيرة هي من عالم مختلف ، لأن التطبيقات عادة ما تعمل في مساحة العنوان الظاهرية، لقد أضفتها من أجل اكتمالها. ومع ذلك ، فإنه يستغرق بعض الخطوات الإضافية أثناء تجميع التطبيق لتكون قادرة على استخدام المزيد من الذاكرة. افتراضيا 32 بت تطبيق قادر فقط على استخدام 2 غيغابايت من الذاكرة. يمكن نفس تطبيق 32 بت عنوان ما يصل إلى 4 جي بي من الذاكرة ، شريطة أن يدعم نظام التشغيل ذلك وقد مكّن وحدة المعالجة المركزية PAE. بشكل أكثر تحديدا ، يمكن ذلك استعمال ما يصل إلى 3 جي بي من الذاكرة ، يمكن أن يكون 1 غيغا بايت الأخرى قابلاً للعنونة كمكتبات مشتركة ونواة نظام التشغيل ، ولكن لا يمكن الكتابة (في النهاية يعتمد ذلك على بنية نظام التشغيل بدلاً من التطبيق نفسه). مرة أخرى ، تدعم تطبيقات 64 بت في الأصل معالجة أكثر من 4 غيغابايت من الذاكرة وليس لديها مثل هذه المشاكل في المقام الأول.

لوضع كل هذا في منظور ، دعنا نفكر في عدة أمثلة.

يعتبر إنتل 82945G تحكم الذاكرة. يوضح موقع Intel ، أنه لا يدعم PAE ويقتصر على 4 غيغابايت من ذاكرة الوصول العشوائي. دعونا نتشاور الفقرة 9 System Address Map من ورقة البيانات. لديها الكثير من المعلومات. الأكثر إثارة للاهتمام هو Figure 9-3. Main Memory Address Range: Figure 9-3. Main Memory Address Range والفقرة 9.2 Main Memory Address Range (1 MB to TOLUD)والتي تنص على ما يلي:

يمتد نطاق العنوان هذا من 1 ميغابايت إلى أعلى الذاكرة الفعلية المسموح بها   يمكن الوصول إليها عن طريق (G) MCH (كما هو مبرمج في سجل TOLUD). جميع الوصول إلى العناوين   في نطاق هذا النطاق ، يتم إرسالها بواسطة G (M) إلى الذاكرة الرئيسية إلا إذا كانت تندرج تحت الخيار الاختياري   TSEG أو فتحة ISA اختيارية أو ذاكرة VGA IGD مسروقة اختيارية.   يوفر (G) MCH الحد الأقصى لمساحة ذاكرة العنوان الرئيسي من 4 جيجابايت (2 جيجابايت للـ   82945GC / 82945GZ / 82945PL). لا تقوم (M) MCH بإعادة رسم ذاكرة APIC أو PCI Express   الفراغ. هذا يعني أنه عندما يصل مقدار الذاكرة الفعلية التي تم ملؤها في النظام إلى 4 غيغابايت   (2 جيجابايت لـ 82945GC / 82945GZ / 82945PL) ، ستكون هناك ذاكرة فعلية موجودة حتى الآن غير   عنونة وبالتالي غير قابل للاستخدام من قبل النظام.

كما تقول ، لأنها لا تدعم PAE ، فإنه في النهاية غير قادر على ذلك إعادة رسم خريطة PCI وكل MMIO آخر في الاعلى 4 GiB ، وبالتالي فإن بعض الذاكرة سوف تكون مظللة وغير مستخدمة. وهذا يعني أنه حتى إذا تم استخدامه مع وحدة المعالجة المركزية التي تدعم معالجة 36 بت ، فإن الذاكرة فوق 4 GiB ستظل غير متوفرة و بعض الذاكرة قريبة من الحد 4 GiB سوف تكون أيضا غير المستخدمة.

على العكس ، دعنا نفكر إنتل 82955X وحدة تحكم الذاكرة، والتي ترتبط بالسابق ، ولكن تم تحديدها لدعم 8 جيجابايت على عكس السابق! فقرة ورقة البيانات 2.1 Host Interface Signals يقترح ، أنه لا يستخدم ناقل العنوان 36 بت إلى وحدة المعالجة المركزية ، وهو علامة جيدة. فقرة 7 System Address Map لديه مزيد من الأفكار. قارن Figure 7-1. System Address Ranges إلى الشخص الذي رأيناه من قبل: Figure 7-1. System Address Ranges هذا يشير بوضوح إلى أنه قادر على استخدام أكثر من 4 غيغابايت من ذاكرة الوصول العشوائي ، شريطة أن يتم استخدامه مع وحدة المعالجة المركزية أيضا قادرة على معالجة 36 بت. من الجدير بالذكر أيضا أن الفقرة 7 System Address Map ينص علي MCH supports 64 GB of addressable memory space. ومع ذلك يتم توضيح ذلك ، وهذا الحد الأقصى صالحة للاستعمال ذاكرة الوصول العشوائي محدودة 8 غيغابايت. هذا مرة أخرى يعلن الفرق بين عنونة و صالحة للاستعمال كما كنت أحاول أن أنقل في قسم وحدة المعالجة المركزية.

في الختام ، أود أن أشير إلى أن اثنين من رقائق ذات الصلة في الواقع فرق كبير في التعامل مع الذاكرة.

دعونا نتفقد إنتل بنتيوم المعالج إكستريم إيديشن 840. يدعم مجموعة التعليمات 64 بت ، لكنه لا يدعم PAE. مما يعني أنه إذا تم تشغيله في وضع 32 بت ، فلن يكون قادرًا على استخدام أكثر من 4 غيغا بايت من ذاكرة الوصول العشوائي (يرجى تصحيح لي إذا كنت مخطئا في هذا الافتراض). يتيح التحقق من ورقة البيانات والجدول Table 4-3. Signal Description. على الرغم من أن وحدة المعالجة المركزية هذه قادرة على توفير 64 بت ، إلا أنها لا تزال محدودة بسبب ناقل العنوان الذي يبلغ عرضه 36 بت ، مما يحده إلى يمكن الوصول نطاق العنوان تبدأ من 0 إلى 64 GiB.

الآن دعونا دراسة وحدة المعالجة المركزية أحدث. يأخذ معالج انتل كور i7-7700 فمثلا. يتم الإعلان عن دعم حتى 64 غيغابايت من ذاكرة الوصول العشوائي. الآن يتيح التحقق من ورقة البيانات منه. فقرة 2.3 System Address Map يقنعنا أن هذا وحدة المعالجة المركزية عنونة النطاق من 0 حتى 512 جيجا بسبب ناقل العنوان 39 بت. لاحظ أنه لا يزال بعيدًا عن نطاق 16 EiB النظري لوحدة المعالجة المركزية 64 بت. المثير للدهشة على الرغم من أنه يوضح أن هذه وحدة المعالجة المركزية لا تدعم ما يصل إلى 32 من GiB صالحة للاستعمال RAM الحد الأقصى (على عكس 64 غيغابايت على الموقع). هناك أيضا صورة للاهتمام هنا Figure 2-2. System Address Range Example: Figure 2-2. System Address Range Example يقوم بعمل جيد يوضح المشكلة مع تظليل الذاكرة بواسطة أجهزة PCI إلخ. كما يقترح طريقة للتغلب على هذه المشكلة بواسطة رسم الخرائط مجموعة من ذاكرة الوصول العشوائي الحقيقية إلى نطاق العنوان العلوي داخل وحدة المعالجة المركزيةعنونة نطاق. وبالتالي استعادة تلك الذاكرة المخفية للاستخدام. لاحظ أن إعادة الضبط هذه تتم بواسطة BIOS / (U) EFI عند تهيئة الأجهزة وهو بالضبط لهذا السبب قمت بتضمين BIOS / (U) EFI في قائمة التعدادات أعلاه.

لقد أخذت منتجات إنتل كمثال ، ولكن الشيء نفسه ينطبق على AMD.

الآن دعونا نناقش كيف تشارك أنظمة التشغيل. تشتمل نواة لينكس على دعم وضع PAE الكامل بدءًا من الإصدار 2.3.23 ومن الممكن تمامًا الحصول على أكثر من 4 غيغابايت من الذاكرة صالحة للاستعمال مع نواة لينكس على نظام 32 بت. ومع ذلك كن على علم قضية غير محددة مع نواة لينكس 32 بت على نظام مع أكثر من 4 غيغابايت من ذاكرة الوصول العشوائي على بعض الأجهزة (في تجربتي لديها شيء للقيام به مع طلقات TLB). على أي حال ويكيبيديا لديها معلومات جيدة عن دعم PAE. من المثير للاهتمام أن Windows XP محدود بـ 4 غيغابايت ، في حين أن Windows Server 2003 Enterprise / Datacenter SP2 قادر تمامًا على 64 جيجابايت. نفس الشيء بالنسبة إلى أزواج Windows Desktop-Server الأخرى.

كما ترى ، هناك العديد من التوليفات بين المكونات المدرجة ، وفي بعض الحالات قد يؤدي استبدال وحدة المعالجة المركزية أو نظام التشغيل إلى المساعدة. من الأصعب بكثير التعامل مع BIOS / (U) EFI أو MCU حيث أن الأولى مملوكة ومدمجة في النظام ولا يمكن تعديلها بسهولة ، حيث تم دمج الأخير في وحدة المعالجة المركزية أو ملحوم على اللوحة.


0
2017-10-17 20:43





فإنه يظهر 3574MB رام لأن هذا هو مقدار ذاكرة الوصول العشوائي مجانية ومتاحة للكمبيوتر لاستخدامها في أي وقت. هذا الرقم هو ذاكرة الوصول العشوائي (RAM) التي يمتلكها جهاز الكمبيوتر الخاص بك وصولاً كاملاً لأن البرامج والإعدادات المثبتة مسبقًا على جهاز الكمبيوتر تستخدم كمية معينة من ذاكرة الوصول العشوائي (RAM) ، والتي تبلغ 426 ميجابايت في حالتك. بلدي 64GB 64bit الكمبيوتر يظهر 5.8GB المتاحة من ذاكرة الوصول العشوائي كامل 6GBs. سيكون أفضل رهان هو النظر في ترقية جهاز الكمبيوتر الخاص بك


-4
2017-07-02 13:24



إذا كانت سعة الـ 3.5 غيغابايت هي ذاكرة الوصول العشوائي المجانية ، فلماذا يظل Windows يقسمها إلى ذاكرة وصول عشوائي (RAM) حرة وتستخدم ذاكرة الوصول العشوائي (RAM)؟ إنه نظام تشغيل ، يجب أن يعرف كل شيء ، خاصةً إذا كان هناك شيء يستخدم ذاكرة بمقدار 0.5 غيغابايت. لا تشغل البرامج المثبتة ذاكرة الوصول العشوائي حتى يتم تشغيلها. - gronostaj