دسترسی مستقیم به حافظه

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

دستیابی مستقیم به حافظه یا دسترسی مستقیم به حافظه (به انگلیسی: Direct memory access) (با نماد اختصاری DMA) یک ویژگی کامپیوترهای مدرن است که به بعضی از زیرساخت‌های سخت‌افزاری کامپیوتر اجازه دسترسی به حافظه سیستم را به صورت مستقل از واحد پردازش مرکزی می‌دهد.

بدون DMA، زمانی که پردازشگر از ورودی/خروجی برنامه‌ریزی شده (Programmed I/O) استفاده میکند، در تمام مدتی که فرایند خواندن یا نوشتن در حال انجام است، پردازشگر به‌طور کامل مشغول است، و در نتیجه، نمی‌تواند روی وظایف دیگری کار کند. با استفاده از DMA، پردازشگر تنها فرایند انتقال را آغاز کرده، در هنگامی که انتقال در جریان است مشغول کارهای دیگر می‌شود. در انتها، زمانی که کل فرایند به اتمام برسد، وقفه‌ای از کنترل گر DMA دریافت میکند. این قابلیت در دو حالت بسیار مفید است. زمانی که سرعت انتقال از سرعت کار پردازشگر بالاتر است و در نتیجه می‌تواند گلو گاه فرایند انتقال شد، و دیگر زمانی که پردازشگر به جای انتظار برای یک انتقال کُند، می‌تواند کارهای مفید دیگری در سیستم انجام دهد. بسیاری از سیستم‌های سخت افزاری، شامل کنترل گرهای دیسک گردان ها، کارت‌های گرافیکی، کارت‌های شبکه و کارت‌های صدا از قابلیت DMA استفاده می‌کنند. همچنین، این قابلیت در پردازنده‌های چند هسته ای نیز استفاده می‌شود.

رایانه‌هایی که از کانال DMA بهره می برند، توانایی انتقال داده بین دستگاه‌ها را با سربار بسیار کمتری برای پردازشگر دارند. به‌طور مشابه، یک پردازه درون یک پردازنده ی چند هسته‌ای نیز می‌تواند بدون هدر کردن وقت پردازشگر خود، داده را به حافظه ی محلی خود انتقال دهد. در نتیجه، عمل محاسبه و انتقال داده می‌تواند به‌طور موازی پیش برود.

منابع[ویرایش]

ویکی‌پدیا انگلیسی