كيفية إيجاد النسبة المئوية للوقت المستهلك لوحدة المعالجة المركزية أثناء تشغيل DMA?

سؤال

برمجة الأنظمة المضمنة على معالج ARM Cortex-M3 / M4 (الوصول المباشر للذاكرة) هي طريقة مستقلة عن النظام الأساسي لنقل البيانات بين وحدة المعالجة المركزية وذاكرة الوصول العشوائي للنظام الرئيسي. عادةً ما تكون عمليات DMA أسرع من عمليات الوصول إلى الذاكرة العادية لأن وحدة المعالجة المركزية لا تضطر إلى الانتظار حتى ينتهي نظام التشغيل من تحميل العنوان الفعلي المطلوب في سجلاتها قبل أن تتمكن من قراءة البيانات أو كتابتها.

تُستخدم عمليات DMA لنقل البيانات بين وحدة المعالجة المركزية والأجهزة الطرفية, مثل محركات الأقراص الصلبة أو ذاكرة فلاش. يمكن أن يكون التحليل الميكانيكي الديناميكي (DMA) كثيف الموارد, حسب نوع البيانات التي يتم نقلها. يمكنك استخدام مراقب الأداء في Windows 10 لقياس مقدار الوقت الذي تستغرقه وحدة المعالجة المركزية في المهام المختلفة ثم تحديد المهمة التي تستهلك أكبر قدر من الموارد.

لفعل هذا, افتح مراقب الأداء بالبحث عن “مراقبة الأداء” في قائمة البداية والنقر عليها. التالى, حدد "الأجهزة’ من العمود الأيسر وانقر بزر الماوس الأيمن على أي اسم جهاز تحته للحصول على خيارات إضافية مثل "Perfmon Data Collector Script". انقر فوق "إنشاء مجموعة المجموعة الأساسية"’ زر بجوار القرص الهدف الخاص بك (على سبيل المثال ج:), تعيين فاصل جمع (قل كل 5 الدقائق) وانقر على "ابدأ". سيبدأ النص البرمجي في التقاط معلومات الأداء تلقائيًا وسترى تقريرًا مفصلاً بالنسبة المئوية لوقت وحدة المعالجة المركزية التي تم قضاؤها خلال كل مرحلة من مراحل العملية بما في ذلك عمليات نقل DMA في وقت التشغيل.

لمعرفة مقدار وقت وحدة المعالجة المركزية الذي تستهلكه عمليات DMA, يمكنك استخدام علامة تبويب "الأداء" في "إدارة المهام". انقر فوق “العمليات” ثم حدد “DMA”. سيعرض هذا قائمة بجميع مهام DMA النشطة, بالإضافة إلى النسب المئوية المرتبطة بها من إجمالي وقت المعالج.

‫أضف إجابة