قراءة محتويات ذاكرة التخزين المؤقت وحدة المعالجة المركزية

StackOverflow https://stackoverflow.com/questions/1006981

سؤال

هل هناك أي طريقة لقراءة محتويات ذاكرة التخزين المؤقت وحدة المعالجة المركزية?العمارة هي الذراع.

أنا م إبطال مجموعة من العناوين ومن ثم نريد أن نتأكد ما إذا كان يبطل أم لا.على الرغم من أنني يمكن أن تفعل القراءة والكتابة من مجموعة من العناوين دون إبطال و التحقق من إبطال أريد أن أعرف ما إذا كان من الممكن قراءة محتويات ذاكرة التخزين المؤقت

شكرا!!

هل كانت مفيدة؟

المحلول

ARM9 يوفر ذاكرة التخزين المؤقت التلاعب اختبار السجلات التي تسمح لك لفحص حالة ذاكرة التخزين المؤقت.وهنا نقطة انطلاق معقولة:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0151c/Chdcfejb.html

على ICache و DCache يتم الاحتفاظ باستخدام MCR و MRC تعليمات CP15 يسجل 7 و 9, تعريف الذراع v4T مبرمج نموذج.عمليات إضافية متوفرة باستخدام MCR و MRC إلى CP15 سجل 15.هذه العمليات جنبا إلى جنب مع أولئك الذين يستخدمون يسجل 7 و 9 لتمكين اختبار مخابئ بالكامل في البرنامج.

هذه هي الإرشادات المميز حتى أنها قد لا تكون متاحة على منصة الهدف.

أود أن تبدأ مع بسيطة برنامج مقالب الدولة من كل ذاكرة التخزين المؤقت خطوط.هذا يجب أن تعطيك معلومات كافية لقراءة البيانات في ذاكرة التخزين المؤقت بمجرد قراءة مواقع الذاكرة ذاكرة التخزين المؤقت علامات تقدم.

نصائح أخرى

وأنا مترددة في إرسال هذا مستحيل، لذلك أنا أكتب أنه من الصعب للغاية. وربما لا توجد إجابة عامة. بالنظر إلى أن مخبأ CPU يعمل بشفافية أنه من غير الممكن لقراءة محتواه من وحدة المعالجة المركزية المرفقة دون تغيير محتوى ذاكرة التخزين المؤقت. وعادة ما يتم تنفيذه مخابئ CPU كما CAM (محتوى عنونة الذاكرة، الذاكرة الترابطية) اذا حاولت وحدة المعالجة المركزية للوصول إلى البيانات، وبدا ذاكرة التخزين المؤقت حتى، إذا كانت البيانات ليست هناك هم المنال من الذاكرة، ولكن أخشى أن هذه العملية شفافة إلى وحدة المعالجة المركزية .

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

سوف

والأمل شخص مع أعمق معرفة الأب تسليط الضوء.

وهناك الدخول على موقع ويكيبيديا مناقشة التخزين المؤقت وحدة المعالجة المركزية: http://en.wikipedia.org/wiki/CPU_cache

وبحكم التعريف، كل ما كنت بحاجة إلى القيام به لقراءة محتويات ذاكرة التخزين المؤقت سيكون لتحميل موقع الذاكرة التي تخزن ذاكرة التخزين المؤقت. إذا كان يعمل ذاكرة التخزين المؤقت بشكل صحيح، فإنه استخراج المحتوى من ذاكرة التخزين المؤقت.

ومع ذلك، إذا كنت تحاول قراءة محتوى I-ذاكرة التخزين المؤقت، الذي يعتمد معماريا. بالإضافة إلى ذلك، سيكون لديك شروط السباق للنظر فيها. تعليمات لقراءة محتويات ذاكرة التخزين المؤقت قد قصد الإفراط في كتابة محتويات ذاكرة التخزين المؤقت نفسها.

كما جاء في هذا الموضوع, ببساطة استخدام وحدة المعالجة المركزية يمكن أن يسبب محتويات ذاكرة التخزين المؤقت إلى تغيير.منذ (معظم) ذاكرة التخزين المؤقت تطبيقات عمدا شفاف تماما إلى وحدة المعالجة المركزية, أنك لن تكون قادرا على عرض محتويات ذاكرة التخزين المؤقت مباشرة من داخل البرنامج تعمل على التقليدية وحدات المعالجة المركزية.

أن تفعل شيئا مثل هذا يتطلب إما ذاكرة التخزين المؤقت-علم المعالجة المركزية (مع تعليمات خاصة من أجل السيطرة على ذاكرة التخزين المؤقت ؛ ليس لدي فكرة إذا كانت هذه موجودة حقا) ، أو كنت بحاجة إلى تثبيت منفصل HW وحدة عرض ذاكرة التخزين المؤقت.هنا هي 2 الأفكار يجب أن:

  1. استبدال الخاص بك الأصلي ذاكرة التخزين المؤقت وحدة تحكم مع واحد يحتوي إضافية ميزات التحكم و يمكن توصيل نظام الحافلات قراءة البيانات.هذا تحكم يجلس "بين" وحدة المعالجة المركزية ذاكرة التخزين المؤقت.

  2. المكان الثانوية وحدة بالتوازي مع الأصل ذاكرة التخزين المؤقت ، مع قراءة-فقط الوصول إلى ذاكرة التخزين المؤقت.خاص باستخدام يقطع خط (أو أجهزة مماثلة -لا - برامج إشارة), وحدة المعالجة المركزية ثم يمكن أن تؤدي إلى تفريغ ذاكرة التخزين المؤقت إلى هذه الوحدة النمطية الذاكرة ، ثم قراءتها مرة أخرى (على حافلة) في وقت لاحق.هذا تحكم لا تؤثر على عمل ذاكرة التخزين المؤقت الخاصة بك;فإنه ببساطة تسمح لك أن تأخذ لقطات في أي وقت من الأوقات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top