کمپیوٹر فن تعمیر میں براہ راست میموری رسائی (DMA)

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





کمپیوٹر پروگرام کے نفاذ کے ل it ، اس میں کمپیوٹر کے ایک سے زیادہ جزو کی ہم وقت سازی کی ضرورت ہوتی ہے۔ مثال کے طور پر، پروسیسرز - کنٹرول سے متعلق ضروری معلومات ، پتے… وغیرہ ، بسیں فراہم کرنا - معلومات اور ڈیٹا میموری سے اور I / O آلات پر منتقل کرنا… وغیرہ۔ سسٹم کا دلچسپ عنصر جس طرح سے پروسیسر ، میموری اور I / O آلات کے مابین معلومات کی منتقلی کا انتظام کرتا ہے۔ عام طور پر ، پروسیسرز منزل پر موجود ڈیٹا کی اسٹوریج میں منتقلی کے آغاز سے ہی اعداد و شمار کی منتقلی کے تمام عمل کو کنٹرول کرتے ہیں۔ اس سے پروسیسر پر بوجھ پڑتا ہے اور زیادہ تر وقت یہ مثالی حالت میں رہتا ہے ، اس طرح اس نظام کی استعداد کار میں کمی واقع ہوتی ہے۔ I / O آلات اور میموری کے مابین ڈیٹا کی منتقلی میں تیزی لانے کے لئے ، ڈی ایم اے کنٹرولر اسٹیشن ماسٹر کی حیثیت سے کام کرتا ہے۔ ڈی ایم اے کنٹرولر پروسیسر کی کم سے کم مداخلت کے ساتھ ڈیٹا منتقل کرتا ہے۔

ڈی ایم اے کنٹرولر کیا ہے؟

اصطلاح DMA کا مطلب براہ راست میموری تک رسائی ہے۔ براہ راست میموری تک رسائی کے ل used استعمال ہارڈ ویئر ڈیوائس کو DMA کنٹرولر کہا جاتا ہے۔ ڈی ایم اے کنٹرولر ایک کنٹرول یونٹ ہے ، I / O ڈیوائس کا حصہ انٹرفیس سرکٹ ، جو I / O آلات اور مین میموری کے مابین پروسیسر کی کم سے کم مداخلت کے ساتھ ڈیٹا کے بلاکس کو منتقل کرسکتا ہے۔




کمپیوٹر فن تعمیر میں DMA کنٹرولر ڈایاگرام

ڈی ایم اے کنٹرولر بس اور ان پٹ آؤٹ پٹ آلات کے درمیان انٹرفیس فراہم کرتا ہے۔ اگرچہ یہ پروسیسر کی مداخلت کے بغیر ڈیٹا منتقل کرتا ہے ، لیکن یہ پروسیسر کے ذریعہ کنٹرول کیا جاتا ہے۔ پروسیسر ڈی ایم اے کنٹرولر کا آغاز ، پتہ ڈیٹا بلاک میں الفاظ کی تعداد اور ڈیٹا کی منتقلی کی سمت بھیج کر شروع کرتا ہے۔ i.e. I / O آلات سے میموری تک یا مرکزی میموری سے I / O آلات تک۔ ایک سے زیادہ بیرونی ڈیوائس کو ڈی ایم اے کنٹرولر سے منسلک کیا جاسکتا ہے۔

کمپیوٹر فن تعمیر میں ڈی ایم اے

کمپیوٹر فن تعمیر میں ڈی ایم اے



ڈی ایم اے کنٹرولر ایڈریس یونٹ پر مشتمل ہوتا ہے ، پتے تیار کرنے اور منتقلی کے لئے I / O آلہ منتخب کرنے کے لئے۔ اس میں منتقلی بلاکس کی تعداد کی گنتی کو برقرار رکھنے اور ڈیٹا کی منتقلی کی سمت کا اشارہ کرنے کیلئے کنٹرول یونٹ اور ڈیٹا شمار بھی شامل ہے۔ جب منتقلی مکمل ہوجاتی ہے تو ، ڈی ایم اے ایک رکاوٹ بڑھا کر پروسیسر کو مطلع کرتا ہے۔ ڈی ایم اے کنٹرولر کا مخصوص بلاک ڈایاگرام ذیل کے اعداد و شمار میں دکھایا گیا ہے۔

ڈی ایم اے کنٹرولر کا مخصوص بلاک ڈایاگرام

ڈی ایم اے کنٹرولر کا مخصوص بلاک ڈایاگرام

ڈی ایم اے کنٹرولر کا کام کرنا

ڈی ایم اے کنٹرولر کو ڈیٹا کی منتقلی کے ل the بس کو پروسیسر کے ساتھ بانٹنا پڑتا ہے۔ آلہ جو ایک مقررہ وقت پر بس کو تھامے رکھتا ہے اسے بس ماسٹر کہا جاتا ہے۔ جب I / O ڈیوائس سے میموری یا نائب آیت میں منتقل کرنا پڑتا ہے تو ، پروسیسر موجودہ پروگرام ، عمل میں اضافے کو روکتا ہے پروگرام کاؤنٹر ، اعداد و شمار کو اسٹیک پر منتقل کرتا ہے اور پھر ڈی ایم اے منتخب سگنل ڈی ایم اے کنٹرولر کو ایڈریس بس پر بھیجتا ہے۔

اگر ڈی ایم اے کنٹرولر مفت ہے ، تو وہ پروسیسر سے بس کے کنٹرول کے لئے بس کی درخواست سگنل کو بڑھا کر درخواست کرتا ہے۔ پروسیسر بس گرانٹ سگنل بڑھا کر بس کنٹرولر کو دیتا ہے ، اب ڈی ایم اے کنٹرولر بس ماسٹر ہے۔ پروسیسر DMA کنٹرولر کو میموری ایڈریسز ، ڈیٹا کی منتقلی کے بلاکس کی تعداد اور ڈیٹا کی منتقلی کی سمت بھیج کر شروع کرتا ہے۔ ڈی ایم اے کنٹرولر کو اعداد و شمار کی منتقلی کا کام تفویض کرنے کے بعد ، اعداد و شمار کی منتقلی کی تکمیل تک مثالی طور پر انتظار کرنے کے بجائے ، پروسیسر اسٹیک سے ہدایات حاصل کرنے کے بعد پروگرام پر عمل درآمد دوبارہ شروع کرتا ہے۔


ڈی ایم اے بذریعہ ڈی ایم اے کمپیوٹر میں ڈی ایم اے کی منتقلی

ڈی ایم اے کنٹرولر کے ذریعہ کمپیوٹر میں ڈیٹا کی منتقلی

ڈی ایم اے کنٹرولر میں اب بسوں کا مکمل کنٹرول ہے اور وہ سی پی یو سے آزاد میموری اور I / O آلات کے ساتھ براہ راست بات چیت کرسکتے ہیں۔ یہ پروسیسر کو موصولہ کنٹرول ہدایات کے مطابق ڈیٹا کی منتقلی کرتا ہے۔ ڈیٹا کی منتقلی کی تکمیل کے بعد ، یہ بس کی درخواست سگنل کو غیر فعال کردیتا ہے اور سی پی یو بس گرانٹ سگنل کو غیر فعال کردیتا ہے اس طرح سے بسوں کا کنٹرول سی پی یو میں منتقل ہوتا ہے۔

جب I / O آلہ منتقلی شروع کرنا چاہتا ہے تو وہ DMA کنٹرولر کو DMA درخواست کا سگنل بھیجتا ہے ، جس کے لئے کنٹرولر تسلیم کرتا ہے کہ اگر یہ مفت ہے۔ پھر کنٹرولر بس کے پروسیسر سے درخواست کرتا ہے ، بس کی درخواست کا اشارہ بڑھاتا ہے۔ بس گرانٹ سگنل ملنے کے بعد یہ آلہ سے ڈیٹا منتقل کرتا ہے۔ این چینل شدہ ڈی ایم اے کنٹرولر کے لئے بیرونی آلات کی ن تعداد متصل ہوسکتی ہے۔

ڈی ایم اے ڈیٹا کو تین طریقوں میں منتقل کرتا ہے جس میں مندرجہ ذیل شامل ہیں۔

سے) برسٹ موڈ : اس وضع میں ڈی ایم اے پورے ڈیٹا کی منتقلی کی تکمیل کے بعد ہی بسوں کو سی پی یو کے حوالے کردیتی ہے۔ دریں اثنا ، اگر سی پی یو کو بس کی ضرورت ہو تو اسے مثالی رہنا ہوگا اور ڈیٹا کی منتقلی کا انتظار کرنا ہوگا۔

ب) سائیکل چوری کا موڈ : اس موڈ میں ، ڈی ایم اے ہر بائٹ کی منتقلی کے بعد بسوں کا کنٹرول سی پی یو کو دیتا ہے۔ یہ مسلسل بس کنٹرول کے لئے درخواست جاری کرتا ہے ، ایک بائٹ کی منتقلی کرتا ہے اور بس کو واپس کرتا ہے۔ اس کے ذریعے سی پی یو کو زیادہ تر انتظار کرنے کی ضرورت نہیں ہے اگر اعلی ترجیحی کام کے ل a بس کی ضرورت ہو۔

c) شفاف موڈ: یہاں ، ڈی ایم اے اس وقت اعداد و شمار کی منتقلی کرتا ہے جب سی پی یو ہدایت پر عملدرآمد کر رہا ہوتا ہے جس میں بسوں کے استعمال کی ضرورت نہیں ہوتی ہے۔

8237 ڈی ایم اے کنٹرولر

  • چینلز کی تعداد میں اضافہ کرنے کے لچک کے ساتھ 8237 میں 4 I / O چینل ہیں۔
  • ہر چینل کو انفرادی طور پر پروگرام کیا جاسکتا ہے اور اس میں 64k ایڈریس اور ڈیٹا کی قابلیت ہے۔
  • ٹائمنگ کنٹرول بلاک ، پروگرام کمانڈ کنٹرول بلاک ، ترجیحی انکوڈر بلاک 8237A کے تین اہم بلاکس ہیں۔
  • اندرونی وقت اور بیرونی کنٹرول سگنل ٹائمنگ کنٹرول بلاک کے ذریعے چلتے ہیں۔
  • مائکرو پروسیسر کے ذریعہ ڈی ایم اے کو دیئے گئے مختلف کمانڈز کو پروگرام کمانڈ کنٹرول بلاک کے ذریعہ ضابطہ ربائی کیا جاتا ہے۔
  • کس چینل کو سب سے زیادہ ترجیح دی جانی چاہئے اس کا فیصلہ ترجیح ہے انکوڈر بلاک .
    8237A میں 27 داخلی رجسٹر ہیں۔

8237A دو سائیکلوں میں کام کرتا ہے۔ آئیڈیل سائیکل اور ایکٹو سائیکل ، جہاں ہر ایک سائیکل میں ایک گھڑی کی مدت پر مشتمل 7 الگ الگ ریاستیں شامل ہیں۔

S0- پہلی ریاست ، جہاں کنٹرولر نے بس کے لئے درخواست کی ہے اور پروسیسر سے منظوری کے منتظر ہے۔

S1 ، S2 ، S3 ، S4 8237A کی ورکنگ اسٹیٹس کہلاتا ہے جہاں اعداد و شمار کی اصل منتقلی ہوتی ہے۔ اگر منتقلی کے انتظار کے لئے مزید وقت کی ضرورت ہو تو ریاستوں کے مابین ایس ڈبلیو کو شامل کیا جائے گا۔

میموری کے لئے میموری کی منتقلی کو پڑھنے سے میموری اور تحریری طور پر میموری کی منتقلی کرنی پڑتی ہے۔ واحد منتقلی کے لئے آٹھ ریاستیں درکار ہیں۔ پہلی چار ریاستیں جن میں S11 ، S12 ، S13 ، S14 شامل ہیں ، پڑھنے سے میموری کی منتقلی کرتی ہیں اور اگلی چار S21 ، S22 ، S23 ، S24 تحریری طور پر میموری کی منتقلی کے لئے ہیں۔

ڈی ایم اے مثالی حالت میں جاتا ہے جب کوئی چینل سروس کی درخواست نہیں کرتا ہے اور ایس آئی اسٹیٹ انجام نہیں دیتا ہے۔ ایس آئی غیر فعال ریاست ہے جہاں ڈی ایم اے غیر فعال ہوتا ہے جب تک کہ درخواست موصول نہ ہوجائے۔ اس حالت میں ، DMA پروگرام کی حالت میں ہے جہاں پروسیسر DMA پروگرام کرسکتا ہے۔

جب ڈی ایم اے مثالی حالت میں ہے اور چینل کی مزید درخواستیں نہیں ملتا ہے تو ، یہ پروسیسر کو ایچ آر کیو سگنل بھیجتا ہے اور ایکٹو ایکٹیویشن میں داخل ہوتا ہے جہاں وہ برسٹ موڈ ، سائیکل اسٹیلنگ موڈ یا شفاف وضع کے ذریعہ ڈیٹا کی منتقلی کا آغاز کرسکتا ہے۔

8237 پن ڈایاگرام

8237 پن ڈایاگرام

8257 ڈی ایم اے کنٹرولر

جب سنگل انٹیل 8212 I / O پورٹ ڈیوائس کے ساتھ جوڑا بنایا جاتا ہے تو ، 8257 DMA کنٹرولر ایک مکمل 4 چینل تشکیل دیتا ہے ڈی ایم اے کنٹرولر . منتقلی کی درخواست موصول ہونے پر 8257 کنٹرولر-

  • پروسیسر سے سسٹم بس پر کنٹرول حاصل کرتا ہے۔
  • اعلی ترجیحی چینل سے منسلک پردیی کا اعتراف کیا گیا ہے۔
  • میموری پتے کے کم سے کم اہم بٹس سسٹم بس کی ایڈریس لائنوں A0-A7 پر منتقل کردیئے جاتے ہیں۔
  • سب سے اہم 8 بٹ میموری ایڈریس کو ڈیٹا لائنوں کے ذریعے 8212 I / O بندرگاہ پر چلایا جاتا ہے۔
  • پیری فیرلز اور ایڈریس میموری کی جگہوں کے مابین ڈیٹا کی منتقلی کے ل controls مناسب کنٹرول سگنلز تیار کرتا ہے۔
  • جب بائٹس کی مخصوص تعداد کو منتقل کیا جاتا ہے ، تو کنٹرولر ٹرمینل کاؤنٹی (ٹی سی) آؤٹ پٹ کو چالو کرکے منتقلی کے سی پی یو کے اختتام سے آگاہ کرتا ہے۔

ہر چینل کے لئے 8257 دو پر مشتمل ہے 16 بٹ رجسٹر - 1) ڈی ایم اے ایڈریس رجسٹر اور 2) ٹرمینل کاؤنٹر رجسٹر ، جسے چینل کو چالو کرنے سے پہلے شروع کیا جانا چاہئے۔ رسائی کیلئے پہلا میموری مقام کا پتہ DMA ایڈریس رجسٹر میں بھری ہوئی ہے۔ ٹرمینل کاؤنٹ رجسٹر میں بھری ہوئی قیمت کے نچلے آرڈر کے 14 بٹس ، ٹرمینل کاؤنٹ آؤٹ پٹ کو چالو کرنے سے پہلے ڈی ایم اے سائیکل مائنس ایک کی نشاندہی کرتے ہیں۔ کسی چینل کے لئے آپریشن کی قسم کا اشارہ ٹرمینل گنتی کے اندراج کے سب سے اہم دو بٹس سے ہوتا ہے۔

8257 پن ڈایاگرام

8257 پن ڈایاگرام

ڈی ایم اے کنٹرولر کے فوائد اور نقصانات

ڈی ایم اے کنٹرولر کے فوائد اور نقصانات میں مندرجہ ذیل شامل ہیں۔

فوائد

  • ڈی ایم اے نے سی پی یو کی شمولیت کو نظرانداز کرکے میموری آپریشنز کو تیز کردیا۔
  • سی پی یو پر کام کا زیادہ بوجھ کم ہوتا ہے۔
  • ہر منتقلی کے ل clock ، صرف گھڑی کے چکروں کی تعداد کی ضرورت ہے

نقصانات

  • جب ڈی ایم اے کو ڈیٹا کی منتقلی کے لئے استعمال کیا جاتا ہے تو کیشے کی ہم آہنگی کا مسئلہ دیکھا جاسکتا ہے۔
  • نظام کی قیمت میں اضافہ ہوتا ہے۔

ڈی ایم اے ( براہ راست میموری تک رسائی ) کنٹرولر کو گرافکس کارڈز ، نیٹ ورک کارڈز ، ساؤنڈ کارڈز وغیرہ میں استعمال کیا جارہا ہے… ملٹی کور پروسیسرز میں انٹرا چپ ٹرانسفر کے لئے ڈی ایم اے بھی استعمال ہوتا ہے۔ اس کے تین طریقوں میں سے ایک میں کام کرتے ہوئے ، ڈی ایم اے پروسیسر کا بوجھ کافی حد تک کم کرسکتا ہے۔ آپ نے ڈی ایم اے کے کس طریق کار میں کام کیا ہے؟ آپ جس موڈ پر غور کرتے ہیں وہ کون سا زیادہ موثر ہے؟