پائپ لائننگ: فن تعمیر ، فوائد اور نقصانات

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





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

پائپ لائننگ کیا ہے؟

پائپ لائننگ کے تصور کو سمجھنے کے لئے آئیے اس پروگرام کی تعمیل کرنے کی بنیادی سطح کو دیکھیں۔ ہدایت کسی پروگرام کا سب سے چھوٹا عملدرآمد پیکٹ ہوتا ہے۔ ہر ہدایت میں ایک یا ایک سے زیادہ کام ہوتے ہیں۔ سادہ پیمانے پر اسکیلر پروسیسر ہر گھڑی کے چکر میں ایک یا ایک سے زیادہ ہدایات پر عمل درآمد کرتے ہیں ، ہر ایک ہدایت کے ساتھ صرف ایک عمل ہوتا ہے۔ متوقع نتائج پیدا کرنے کے لئے ، مراحل کی ترتیب کے طور پر ہدایات پر عمل درآمد کیا جاتا ہے۔ یہ ترتیب ذیل میں دی گئی ہے




ہدایات پر عمل درآمد

ہدایات پر عمل درآمد

  • IF: انسٹرکشن رجسٹر میں ہدایات لاتا ہے۔
  • ID: انسٹرکشن کوڈوڈ ، آپ کوڈ کیلئے ہدایات کو ڈی کوڈ کرتا ہے۔
  • AG: ایڈریس جنریٹر ، ایڈریس تیار کرتا ہے۔
  • ڈی ایف: ڈیٹا بازیافت ، اعداد و شمار کے اندراج میں آپریٹرز لاتا ہے۔
  • سابق: عملدرآمد ، مخصوص آپریشن کو انجام دیتا ہے۔
  • ڈبلیو بی: واپس لکھیں ، اس کا نتیجہ واپس لکھ دیں رجسٹر.

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



ہدایات پائپ لائننگ

آئیے اس ہدایت کو دیکھیں جس طرح سے پائیلیننگ میں ہدایات پر کارروائی کی جاتی ہے۔ اسے نیچے آریھ کے ذریعہ آسانی سے سمجھا جاسکتا ہے۔

ہدایات پائپ لائننگ

ہدایات پائپ لائننگ

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

تیسرے چکر کے لئے ، پہلا آپریشن اے جی مرحلے میں ہوگا ، دوسرا آپریشن آئی ڈی مرحلے میں ہوگا اور تیسرا آپریشن آئی ایف مرحلے میں ہوگا۔ اس طرح ، ہدایات کو بیک وقت عمل میں لایا جاتا ہے اور چھ سائیکلوں کے بعد پروسیسر ہر گھڑی کے دور میں مکمل طور پر عمل درآمد کی ہدایت تیار کرے گا۔


کیا یہ ہدایت ترتیب وار عمل میں آئی ہے ، ابتدائی طور پر پہلی ہدایت کو تمام مراحل سے گزرنا پڑتا ہے اس کے بعد اگلی ہدایت لائی جائے گی؟ لہذا ، ہر ہدایات پر عمل درآمد کے لئے ، پروسیسر کو چھ گھڑیوں کی ضرورت ہوگی۔ لیکن ایک پائپ لینڈ پروسیسر میں جیسے کہ ہدایات پر عمل درآمد بیک وقت ہوتا ہے ، صرف ابتدائی ہدایت میں چھ سائیکلوں کی ضرورت ہوتی ہے اور باقی تمام ہدایات کو ہر ایک کے مطابق ایک پر عمل کیا جاتا ہے جس سے عملدرآمد کا وقت کم ہوجاتا ہے اور پروسیسر کی رفتار میں اضافہ ہوتا ہے۔

پائپ لائننگ فن تعمیر

ہم آہنگی ہارڈ ویئر ، مرتب ، اور سافٹ ویئر کی تکنیک سے حاصل کی جاسکتی ہے۔ پائپ لائننگ کے تصور میں استحصال کرنا کمپیوٹر فن تعمیر بہت سارے پروسیسر یونٹ آپس میں جڑے ہوئے ہیں اور بیک وقت کام کرتے ہیں۔ پائپ لینڈ پروسیسر فن تعمیر میں ، وہاں الگ الگ پروسیسنگ یونٹ ہوتے ہیں جو انٹیجرز اور فلوٹنگ پوائنٹ ہدایات کے لئے فراہم کیے جاتے ہیں۔ جبکہ ترتیب وار فن تعمیر میں ، ایک واحد فنکشنل یونٹ مہیا کیا جاتا ہے۔

پائپ لینیڈ پروسیسر یونٹ

پائپ لینیڈ پروسیسر یونٹ

جامد پائپ لائننگ میں ، پروسیسر کو ہدایت کی ضرورت سے قطع نظر پائپ لائن کے تمام مراحل میں سے ہدایات کو گزرنا چاہئے۔ متحرک پائپ لائن پروسیسر میں ، ایک ہدایت اپنی ضرورت کے مطابق مراحل کو عبور کرسکتی ہے لیکن اسے ترتیب وار ترتیب میں جانا پڑتا ہے۔ ایک پیچیدہ متحرک پائپ لائن پروسیسر میں ، ہدایات مرحلوں کو نظرانداز کرنے کے ساتھ ساتھ ترتیب سے دور مراحل کا بھی انتخاب کرسکتی ہیں۔

RISC پروسیسرز میں پائپ لائننگ

سب سے زیادہ مقبول RISC فن تعمیر اے آر ایم پروسیسر 3 مرحلے اور 5 مرحلے پائپ لائننگ کی پیروی کرتا ہے۔ 3 مرحلے میں پائپ لائننگ کے مراحل یہ ہیں: بازیافت کریں ، ڈیکوڈ کریں اور عمل کریں۔ اس پائپ لائننگ میں 3 سائیکل لیٹینسی ہوتی ہے ، کیونکہ ایک فرد ہدایت مکمل ہونے میں 3 گھڑی کے چکر لگاتی ہے۔

بازو 3 مرحلے پائپ لائننگ

بازو 3 مرحلے پائپ لائننگ

پائپ لائننگ کے مناسب نفاذ کے لئے ہارڈ ویئر کے فن تعمیر کو بھی اپ گریڈ کیا جانا چاہئے۔ 3 اسٹیج پائپ لائننگ کے لئے ہارڈ ویئر میں ایک رجسٹر بینک ، ALU ، بیرل شفٹر ، ایڈریس جنریٹر ، ایک انریمنٹر ، انسٹرکشن کوٹواچک ، اور ڈیٹا رجسٹر شامل ہیں۔

بازو 3 اسٹیج پائپ لائننگ ڈیٹا پاتھ

بازو 3 اسٹیج پائپ لائننگ ڈیٹا پاتھ

5 مراحل میں پائپ لائننگ کے مراحل یہ ہیں: بازیافت ، ضابطہ سازی ، عملدرآمد ، بفر / ڈیٹا اور واپس لکھیں۔

پائپ لیننگ خطرات

عام کمپیوٹر پروگرام میں آسان ہدایات کے علاوہ ، برانچ کی ہدایات ، رکاوٹیں چلنے ، پڑھنے اور لکھنے کی ہدایات موجود ہیں۔ پائپ لائننگ ہر قسم کی ہدایات کے لئے موزوں نہیں ہے۔ جب پائپ لائننگ میں کچھ ہدایات پر عمل درآمد کیا جاتا ہے تو وہ پائپ لائن کو اسٹال کرسکتے ہیں یا اسے مکمل طور پر فلش کرسکتے ہیں۔ پائیلیننگ کے دوران پائے جانے والے اس قسم کی پریشانیوں کو پپیلیننگ ہیزرز کہتے ہیں۔

زیادہ تر کمپیوٹر پروگراموں میں ، ایک انسٹرکشن کا نتیجہ دوسرے انسٹرکشن کے ذریعہ اوپرینڈ کے طور پر استعمال ہوتا ہے۔ جب پائپیلیننگ میں اس طرح کی ہدایات پر عمل درآمد کیا جاتا ہے ، تو ٹوٹ جاتا ہے کیونکہ جب ہدایات دو آپریڈس کو جمع کرنا شروع کرتی ہے تو پہلی ہدایت کا نتیجہ دستیاب نہیں ہوتا ہے۔ لہذا ، جب تک کہ ایک پر عمل درآمد نہ ہو اور نتیجہ برآمد نہ ہو اس وقت تک انسٹرکشن دو رکے۔ خطرہ کی اس قسم کو پڑھیں – after-write پائپ لائننگ خطرہ۔

پائپ لائننگ خطرہ لکھنے کے بعد پڑھیں

پائپ لائننگ خطرہ لکھنے کے بعد پڑھیں

برانچ کی ہدایات پر عمل درآمد پائپ لائننگ کے خطرہ کا بھی سبب بنتا ہے۔ عمل درآمد کرتے وقت برانچ کی ہدایات پائپ لائننگ میں اگلی ہدایات کے بازیافت کے مراحل پر اثر ڈالتا ہے۔

پائپ لینڈ برانچ سلوک

پائپ لینڈ برانچ سلوک

پائپ لائننگ کے فوائد

  • ہدایات تھرا پٹ میں اضافہ ہوتا ہے۔
  • پائپ لائن کے مراحل کی تعداد میں اضافے سے بیک وقت عمل میں آنے والی ہدایتوں کی تعداد میں اضافہ ہوتا ہے۔
  • تیز رفتار ALU ڈیزائن کیا جاسکتا ہے جب پائپ لائننگ استعمال کی جاتی ہے۔
  • پائپ لینیڈ سی پی یو کے ریم سے زیادہ گھڑی کی فریکوئینسی پر کام کرتا ہے۔
  • پائپ لائننگ سے سی پی یو کی مجموعی کارکردگی بڑھ جاتی ہے۔

پائپ لائننگ کے نقصانات

  • پائپ لین پروسیسر کی ڈیزائننگ پیچیدہ ہے۔
  • پائیلین پروسیسروں میں انسٹرکشن لیٹپن میں اضافہ ہوتا ہے۔
  • پائپ لینڈ پروسیسر کی تھروپٹ پیشن گوئی کرنا مشکل ہے۔
  • طویل پائپ لائن ، شاخوں کی ہدایات کے ل haz خطرہ کا مسئلہ زیادہ تر۔

پائپ لائننگ سے ان تمام ہدایات کو فائدہ ہوتا ہے جو عملدرآمد کے لئے اسی طرح کے اقدامات پر عمل پیرا ہیں۔ پروسیسرز جن کے پاس پیچیدہ ہدایات ہیں جہاں ہر ہدایت دوسرے سے مختلف سلوک کرتی ہے پائپ لائن لگانا مشکل ہے۔ پروسیسرز کے پاس پائپ لائن کے 3 یا 5 مراحل کے ساتھ معقول اوزار ہیں کیونکہ جب پائپ لائن کی گہرائی میں اضافہ ہوتا ہے تو اس سے متعلقہ خطرات بڑھ جاتے ہیں۔ ان پائپ لائن اسٹیج کے ساتھ کچھ پائیلین پروسیسرز کا نام بتائیں؟