سیستم عامل به سبک تِرِد سیستم عامل به سبک تِرِد



شما این تِرِد رو مطالعه کردید آفرین.🍻
تصویر: اوپس 502
اوپس: تصویر 502
فرزاد 1405/4/2

دسترسی مستقیم به مموری آموزش و یادگیری دسترسی مستقیم به مموری به صورت رایگان


DMA مکانیزمی هستش که به دستگاه های I/O این اجازه رو میده که بدون نیاز به دخالت CPU بتونن با مموری (RAM) در ارتباط باشن!
بزارید یا یه مثال ساده براتون توضیح بدم :)
فرض کنید شما یه انبار (RAM) ، یه مدیر انبار (CPU) و یه کامیون به همراه بارش دارید (Storage Device + 5GB). فرض میگیرم این ۵ گیگ دیتا میشه ۱۰۰۰ تا جعبه!‌
در حالت معمولی مدیر انبار باید بیاد دونه دونه جعبه ها رو از کامیون برداره و ببره بذاره تو انبار !‌ وقتی دیتا حجیم باشه تعداد جعبه ها هم افزایش پیدا میکنه و در نتیجه مدیر انبار کار دیگه ای نمیتونه انجام بده. 📦

اینجا CPU میاد و یه کارگر (DMA) استخدام میکنه و بهش میگه “جعبه ها رو از کامیون بردار، ببر بذار تو انبار!” و خودش میره به بقیه کار ها رسیدگی میکنه. هر وقت کار DMA تموم شد میاد و میگه: “رئیس کار انجام شد!🖐️” این همون interrupt خودمونه که بعد از اتمام کار از طرف DMA صادر میشه!

یکم بیشتر بدونید

پردازنده وقتی میخواد به DMA درخواست بده اطلاعات زیر رو بهش میده:

  • اینکه آیا درخواست مربوط به read-write هستش یا نه.
  • آدرس ماژول I/O که قراره باهاش کار کنه (بسته به سناریو میتونه مبدا یا مقصد باشه)
  • آدرس شروع دیتایی که باید تو RAM بنویسه یا بخونه (بسته به سناریو میتونه مبدا یا مقصد باشه)
  • مقدار (تعداد Word ها) دیتایی که قراره جا به جا شه(خونده یا نوشته شه)

پس به طور خیلی خلاصه DMA یه ارتباط مستقیم بین مبدا انتقال و مقصد برقرار میکنه و جا به جایی رو انجام میده بدون نیاز به دخالت CPU :)

DMA Controller دقیقا چیه؟
DMA Controller یه قطعه سخت افزاری هستش که بسته به نوع معماری میتونه داخل چیپست کنترل حافظه، داخل خود CPU (خیلی رایج) و داخل خود دستگاه I/O باشه.
مسیر انتقال دیتایی که DMA ازش استفاده می کنه چیه؟
مسیری که DMA برای انتقال دیتا استفاده میکنه Bus ها هستند که توی ترد اول این فصل باهاشون آشنا شدیم!!
شماره تِرِد : شماره 13 از 13

نظرات