امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

DMA چیست؟ معرفی Direct Memory Access در حافظه

DMA یا Direct Memory Access چیست؟ همانطور که میدانید CPU یا پردازنده سیستم در فرآیند فراخوانی اطلاعات از حافظه RAM دخیل میباشد و برای انجام پردازش روی داده ها بایستی اطلاعات را از حافظه RAM فرخوانی کند همین امر موجب میشود که زمان زیادی برای انتقال داده ها از حافظه RAM به سایر دستگاه ها در کامپیوتر شود. اینجاست که تکنولوژی DMA پا به میان میگذارد تا انجام این فرآیند با سرعت بیشتری صورت پذیرد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

DMA یا Direct Memory Access روشی برای انتقال داده ها از حافظه RAM به اجزاء دیگر کامپیوتر بدون پردازش آن توسط CPU میباشد. از آنجا که داده های ورودی و خروجی از کامپیوتر توسط CPU پردازش میشوند، اما برخی از داده ها نیاز به پردازش ندارند و یا میتوانند توسط دستگاه دیگری در کامپیوتر مورد پردازش قرار گیرند. یکی از مزیت های اصلی تکنولوژی DMA در همین است که از بار پردازشی CPU میکاهد و راهی بهینه برای انتقال داده ها از حافظه RAM به سایر دستگاه های موجود در کامپیوتر ایجاد میکند.

وب سایت توسینسو

به عنوان مثال کارت صدا ممکن است نیاز به داده هایی داشته باشد که در حافظه RAM سیستم ذخیره شده است از آنجایی که کارت صدا به تنهایی میتواند داده های صوتی را پردازش کند از این رو میتواند از DMA استفاده کند و با bypass کردن CPU و درگیر نکردن آن برای پردازش داده ها خودش پردازش لازم روی داده ها را انجام بدهد.

کارت های گرافیک نیز از تکنولوژی DMA پشتیبانی میکنند که میتوانند بدون درگیر کردن GPU برای انجام پردازش روی داده ها داده ها را از حافظه RAM فراخوانی کنند و روی آنها پردازش لازم را انجام دهند. هارد دیسک های پشتیبانی کننده از تکنولوژی Ultra DMA از DMA برای انتقال داده ها استفاده میکنند که سرعت بسیار قابل ملاحظه ای را نسبت به هارد دیسک هایی که از قابلیت DMA پشتیبانی نمیکنند را دارند.

به این نکته توجه کنید که برای استفاده دستگاه ها از قابلیت DMA بایستی هر کدام از آن دستگاه ها به یک DMA Channel اختصاص داده شوند. هر نوع پورت در کامپیوترتان دارای یک سری از DMA Channel ها هستند که برای دستگاه های متصل شده به آن پورت ها اختصاص می یابند. به عنوان مثال یک PCI controller و یک Hard drive controller هر کدام دارای یک سری از DMA Channel های اختصاصی خودشان میباشند.


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات