تخطَّ إلى المحتوى
PS5PCEM
يعملالبرنامج الثابت وHLE

الذاكرة المباشرة والذاكرة المرنة والمجمّعات

عناوين الضيف عناوين حقيقية للمضيف. الذاكرة المباشرة مجمّع فيزيائي مشترك متناثر يُعيَّن في ذلك الفضاء، وتضيف MemoryPool عمليات الحجز والالتزام والدفعات فوق الدعم نفسه.

ملاحظات المستودع حتى 10 أكتوبر 2026

عنوان الضيف هو عنوان المضيف

تعمل شيفرة الضيف x86-64 أصليًا وتحتوي عناوين مطلقة، لذلك لا يستطيع PS5PCEM نقل العملية إلى تخصيص اعتباطي. تحجز وحدة الذاكرة تخطيط الجهاز قبل تحميل أي وحدة. تبدأ النافذة التي يديرها النظام عند 0x40000 وتمتد إلى ما دون 32 GiB بقليل. تليها نوافذ النظام المحجوزة ونوافذ الأجهزة. تمتد نافذة المستخدم على Windows وLinux من 0x10_0000_0000 إلى 0xFC_0000_0000، أي 944 GiB من فضاء العناوين. تبدأ macOS تلك النافذة من موضع أعلى وتحصل على 560 GiB.

هذه النطاقات حجوزات، وليست ذاكرة RAM ملتزَمًا بها. تُلتزَم الصفحات بوحدات من 16 KiB عند إنشاء تعيين، ويلغي إلغاء التعيين التزامها بينما يبقى الحجز الخارجي. لا يستطيع تخصيص مضيف آخر أن يسرق عنوان الضيف بين الاستعمالات.

الذاكرة المباشرة والمرنة

الذاكرة المباشرة هي اسم الضيف لذاكرة الفيديو الفيزيائية. تحجز اللعبة نطاقًا فيزيائيًا ثم تعيّنه. الخطوتان منفصلتان. يتحقق التعيين من أن النطاق الفيزيائي كله كان محجوزًا، ويترجم حماية CPU وGPU، وإما يلتزم العنوان الثابت بعينه أو يبحث عن فجوة محاذاة. يمكن تعيين الإزاحة الفيزيائية نفسها عند عدة عناوين افتراضية، وهذه الأسماء المستعارة متّسقة لأنها تتشارك كائن دعم متناثرًا واحدًا.

التعيين الثابت في نطاق حجزته اللعبة أصلًا يلتزم داخل الحجز. تحرير الحجز أولًا يُسقط مطالبة اللعبة بالأجزاء التي لم تعيّنها بعد. تُحرَّر الذاكرة الفيزيائية بالشكل الذي تطلبه اللعبة، وقد يكون فجوة في الوسط أو امتدادًا لعدة حجوزات. تستخدم الذاكرة المرنة جدول فضاء العناوين نفسه، بميزانية افتراضية للمنصة قدرها 4 GiB، وتبحث في النافذة التي يديرها النظام ابتداءً من 0x02_0000_0000 قبل الرجوع إلى نافذة المستخدم.

MemoryPool والتزام Windows

تصدر صادرات MemoryPool الستة في libkernel حجز ساحة افتراضية، وتوسيع السعة الفيزيائية، والتزام دعم مشترك وإلغاء التزامه، وتشغيل دفعات مرتّبة، والإبلاغ عن إحصاءات الكتل. لا يمكن تعيين الكتل الممنوحة كذاكرة مباشرة عادية ولا تحريرها ما دامت ملتزَمًا بها. تعمل دفعات الالتزام وإلغاء الالتزام والحماية وتغيير النوع. تبقى دفعة MOVE غير مدعومة وتعيد خطأً بدل الادعاء أن الكتل تحركت.

على Windows تتشارك عروض الذاكرة المباشرة المحاذاة عروض أقسام بعرض 64 KiB. لذلك لا يصبح كل رفع مؤقت أو إعادة قراءة أو صفحة ضيف بعرض 16 KiB تكلفة التزام خاصة به تنمو بلا حد. تستخدم استعلامات الحجز سجل الاستعلام الافتراضي للضيف البالغ 72 بايتًا، وتبلّغ عن نطاقات نصف مفتوحة ببتات الحماية الأصلية.

ما هو منفَّذ

  • نوافذ عناوين ضيف ثابتة، تُلتزَم في صفحات من 16 KiB وتُحرَّر من دون التخلي عن الحجز.
  • أسماء مستعارة متّسقة لإزاحة فيزيائية واحدة من الذاكرة المباشرة.
  • ذاكرة مرنة بميزانية افتراضية قدرها 4 GiB، وإلغاء تعيين ثابت ومن دون استبدال وجزئي.
  • حجز MemoryPool وتوسيعها والتزامها وإلغاء التزامها وإحصاؤها ودفعاتها المرتّبة باستثناء MOVE.

ما زال ناقصًا

  • دفعة MOVE في MemoryPool غير مدعومة صراحة.
  • تحرير نطاق لا تملكه اللعبة ما زال خطأً.
  • الحجوزات افتراضية. الصفحات التي تعيّنها اللعبة وحدها تستهلك التزام المضيف.

آليات مرتبطة

ماذا تصف هذه الصفحات

يتبع النص ملاحظات المعمارية وتقارير تشرين الأول/أكتوبر 2026 في مستودع PS5PCEM. نجاح اختبار محدد ليس معدل إطارات جديدًا ولا إكمالًا جديدًا للعبة.

كل التقنيات