أطلس السيليكونمرجع العتاد
English
المراجع/النظام كاملًا
الأنظمة والإدخال والإخراج

DMA وMMIO وIOMMU

وصول الجهاز إلى الذاكرة ضمن عقد ربط ومزامنة.

إعطاء الجهاز مؤشر CPU لا يعني دائمًا إعطاءه عنوان حافلة صالحًا.
المخزن

بيانات بعمر مُدار.

تجربة تفاعلية

ابحث عن الاختناق

تعمل على جهازك
٠٥٠٠١٬٠٠٠١٬٥٠٠٢٬٠٠٠٠٫٢٥١٤١٦٣٢GFLOP/sالشدة (FLOP / بايت)
الحد الأعلى المثالي٤٠٠ GFLOP/s
المورد المقيّدالذاكرة
نقطة التحول١٠ FLOP/B

شدة حسابية منخفضة تصطدم بسقف الذاكرة. إعادة استخدام البيانات قد تقرّب العمل من سقف الحساب.

حدود هذا النموذج

حد أعلى مثالي بحساب ونقل ثابتين. يتجاهل زمن الوصول والكلفة الإضافية ونقل مستويات المخبأ ومزيج التعليمات.

تتبّع الآلية

ما الذي يحدث في الداخل

١

ربط منظور الجهاز

تنقل DMA البيانات دون نسخ CPU لكل بايت. يربط برنامج التشغيل المخازن بفضاء يستطيع الجهاز استخدامه. تترجم IOMMU عناوين الأجهزة وتقيدها. قد تختلف العناوين الفعلية والافتراضية وعناوين DMA. تربط MMIO سجلات الجهاز بفضاء CPU.

٢

نقل الملكية بأمان

تختلف قواعد تخصيص DMA المتسق وربط DMA المتدفق. قد يحتاج برنامج التشغيل صيانة مخبأ ومزامنة عند نقل الملكية. يجب تنسيق الواصفات وعمر المخازن والاكتمال. الحاجز لا يعوض كل صيانة مطلوبة في منصة غير متسقة.

استخدم ما فهمته

ما أثر ذلك في برنامجك

مهندس الأنظمة والعتاد

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

مطوّر البرمجيات

لـ I/O غير المتزامن كلفة عمر مخزن ومزامنة. أبقِ المخازن حتى الاكتمال وتجنب النسخ المرحلي غير الضروري.

ارجع إلى المصدر

اقرأ المواصفات الأصلية

توضح هذه المراجع العقود الأساسية وتفاصيل التنفيذ. الرسومات هنا نماذج تعليمية مبسطة.

Linux · DMA API guideLinux kernel documentation
Linux · Memory barriersLinux kernel documentation

واصل تتبّع الفكرة

فهمت الفكرة؟ سجّل تقدّمك.