পাইপলাইনিং: আর্কিটেকচার, সুবিধা এবং অসুবিধাগুলি

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





প্রোগ্রাম কার্যকর করার গতি বৃদ্ধি ফলস্বরূপ গতি বৃদ্ধি করে প্রসেসর। কার্যকর করার গতি বাড়াতে অনেকগুলি উপায় আবিষ্কার করা হয়েছে, হার্ডওয়্যার বাস্তবায়ন এবং সফ্টওয়্যার আর্কিটেকচার উভয়ই। এটি পর্যবেক্ষণ করা হয়েছিল যে একই সাথে নির্দেশাবলী কার্যকর করে কার্যকর করার জন্য প্রয়োজনীয় সময় হ্রাস করা যায়। মধ্যে সমান্তরালতা ধারণা প্রোগ্রামিং প্রস্তাবিত ছিল। এটি অনুসারে, প্রতি ঘড়ি চক্রে একাধিক নির্দেশনা কার্যকর করা যায়। এই ধারণাটি বিভিন্ন প্রযুক্তি যেমন যেমন একটি প্রোগ্রামার দ্বারা অনুশীলন করা যেতে পারে পাইপলাইনিং, একাধিক এক্সিকিউশন ইউনিট এবং একাধিক কোর । এই সমস্ত সমান্তরাল পদ্ধতির মধ্যে পাইপলাইনিং সবচেয়ে বেশি অনুশীলন করা হয়। সুতরাং কিভাবে পাইপলাইনিং পদ্ধতিতে কোনও নির্দেশনা কার্যকর করা যায়? কীভাবে এটি কার্যকর করার গতি বাড়ায়?

পাইপলাইনিং কী?

পাইপলাইনের ধারণাটি উপলব্ধি করতে আসুন প্রোগ্রামটি কীভাবে সম্পাদিত হয় তার মূল স্তরটি দেখি। নির্দেশনা হ'ল কোনও প্রোগ্রামের ক্ষুদ্রতম এক্সিকিউশন প্যাকেট। প্রতিটি নির্দেশে এক বা একাধিক ক্রিয়াকলাপ থাকে। সাধারণ স্কেলার প্রসেসরগুলি প্রতি ঘড়ি চক্রটিতে এক বা একাধিক নির্দেশনা কার্যকর করে, প্রতিটি নির্দেশে কেবল একটি অপারেশন থাকে। প্রত্যাশিত ফলাফল উত্পন্ন করতে নির্দেশাবলী পর্যায়ক্রমে ক্রম হিসাবে কার্যকর করা হয়। এই ক্রমটি নীচে দেওয়া হল




নির্দেশ কার্যকরকরণ সিকোয়েন্স

নির্দেশ কার্যকরকরণ সিকোয়েন্স

  • আইএফ: নির্দেশিকা রেজিস্ট্রারে প্রবেশ করান।
  • আইডি: নির্দেশনা ডিকোড, অপকোডের জন্য নির্দেশকে ডিকোড করে।
  • এজি: ঠিকানা জেনারেটর, ঠিকানা উত্পন্ন করে।
  • ডিএফ: ডেটা আনুন, ডেটা রেজিস্টারে অপারেশনগুলিকে নিয়ে আসে।
  • EX: এক্সিকিউশন, নির্দিষ্ট ক্রিয়াকলাপ সম্পাদন করে।
  • ডব্লিউবি: ফিরে লিখুন, ফলাফলটি আবার লিখেছেন নিবন্ধনকর্মী.

সমস্ত নির্দেশাবলীর জন্য উপরের সমস্ত পদক্ষেপের প্রয়োজন হয় না তবে বেশিরভাগ ক্ষেত্রেই হয়। এই পদক্ষেপে বিভিন্ন হার্ডওয়্যার ফাংশন ব্যবহার করা হয়। পাইপলাইনে এই বিভিন্ন পর্যায়গুলি একই সাথে সঞ্চালিত হয়। পাইপলাইনে এই পর্যায়গুলি বিভিন্ন ক্রিয়াকলাপের মধ্যে স্বতন্ত্র হিসাবে বিবেচিত হয় এবং এটি ওভারল্যাপ করা যায়। সুতরাং, প্রতিটি অপারেশন নিজস্ব স্বাধীন পর্যায়ে থাকার সাথে একত্রে একাধিক ক্রিয়াকলাপ সম্পাদন করা যায়।



নির্দেশ পাইপলাইনিং

পাইপলাইনে নির্দেশাবলী কীভাবে প্রক্রিয়া করা হয় সেদিকে নজর দিন। এটি নীচের চিত্র দ্বারা সহজেই বোঝা যাবে।

নির্দেশ পাইপলাইনিং

নির্দেশ পাইপলাইনিং

অনুমান করুন যে নির্দেশাবলী স্বাধীন। সাধারণ পাইপলাইনিং প্রসেসরে, নির্দিষ্ট সময়ে, প্রতিটি পর্যায়ে কেবল একটি অপারেশন থাকে। প্রাথমিক পর্বটি হ'ল আইএফ পর্যায়। সুতরাং, প্রথম ঘড়ির চক্রে একটি অপারেশন আনা হয়। যখন পরবর্তী ঘড়ির নাড়িটি উপস্থিত হয়, প্রথম ক্রিয়াকলাপ আইডি পর্যায়ে চলে যায় যদি আইএফ পর্যায়টি খালি থাকে। এখন, এই খালি পর্বটি পরবর্তী ক্রিয়াকলাপে বরাদ্দ করা হয়েছে। সুতরাং, দ্বিতীয় ঘড়ির নাড়ির সময় প্রথম অপারেশন আইডি পর্যায়ে এবং দ্বিতীয় অপারেশনটি আইএফ পর্যায়ে হয়।

তৃতীয় চক্রের জন্য, প্রথম অপারেশন হবে এজি পর্যায়ে, দ্বিতীয় অপারেশন আইডি পর্যায়ে এবং তৃতীয় অপারেশন হবে আইএফ পর্যায়ে। এইভাবে, নির্দেশাবলী একযোগে কার্যকর করা হয় এবং ছয়টি চক্রের পরে প্রসেসর প্রতি ঘড়ি চক্রের জন্য একটি সম্পূর্ণ সম্পাদিত নির্দেশ আউটপুট দেয়।


এই নির্দেশটি কি ধারাবাহিকভাবে কার্যকর করা হয়েছে, প্রথমদিকে প্রথম নির্দেশটি সমস্ত পর্যায়ের মধ্য দিয়ে যেতে হবে তারপরে পরবর্তী নির্দেশটি আনা হবে? সুতরাং, প্রতিটি নির্দেশ কার্যকর করার জন্য, প্রসেসরের ছয়টি ঘড়ির চক্র প্রয়োজন would তবে পাইপলাইনযুক্ত প্রসেসরে যেহেতু নির্দেশাবলীর সঞ্চালন একই সাথে হয়, কেবল প্রাথমিক নির্দেশের জন্য ছয়টি চক্রের প্রয়োজন হয় এবং বাকী সমস্ত নির্দেশাবলীর প্রতিটি চক্র অনুসারে একটি হিসাবে কার্যকর করা হয় যার ফলে মৃত্যুদন্ড কার্যকর করার সময় হ্রাস এবং প্রসেসরের গতি বৃদ্ধি পায়।

পাইপলাইনিং আর্কিটেকচার

হার্ডওয়্যার, সংকলক এবং সফ্টওয়্যার কৌশলগুলির সাথে সমান্তরালতা অর্জন করা যেতে পারে। পাইপলাইনের ধারণাটি কাজে লাগাতে কম্পিউটার আর্কিটেকচার অনেক প্রসেসর ইউনিট আন্তঃসংযুক্ত এবং একই সাথে কাজ করে ed পাইপলাইনযুক্ত প্রসেসর আর্কিটেকচারে, পৃথক পৃথক প্রসেসিং ইউনিট রয়েছে এবং পূর্ণাসঙ্গ নির্দেশের জন্য সরবরাহ করা হয়। সিক্যুয়াল আর্কিটেকচারে যেখানে একটি একক কার্যকরী ইউনিট সরবরাহ করা হয়।

পাইপলিন্ড প্রসেসর ইউনিট

পাইপলিন্ড প্রসেসর ইউনিট

স্ট্যাটিক পাইপলাইনে, প্রসেসরের নির্দেশের প্রয়োজনীয়তা নির্বিশেষে পাইপলাইনের সমস্ত স্তরের মাধ্যমে নির্দেশটি পাস করা উচিত। একটি ডায়নামিক পাইপলাইন প্রসেসরে, কোনও নির্দেশনা তার প্রয়োজনীয়তার উপর নির্ভর করে পর্যায়গুলি বাইপাস করতে পারে তবে ক্রম অনুসারে চলে যেতে হয়। একটি জটিল গতিশীল পাইপলাইন প্রসেসরে, নির্দেশাবলী পর্যায়ক্রমে বাইপাস করার পাশাপাশি পর্যায়ক্রমে ক্রম ছাড়াই চয়ন করতে পারে।

আরআইএসসি প্রসেসরগুলিতে পাইপলাইনিং

সবচেয়ে জনপ্রিয় আরআইএসসি আর্কিটেকচার এআরএম প্রসেসর 3-স্টেজ এবং 5-স্টেজ পাইপলাইনিং অনুসরণ করে। 3-পর্যায়ে পাইপলাইনে পর্যায়গুলি হ'ল: আনুন, ডিকোড করুন এবং কার্যকর করুন। এই পাইপলাইনে 3 টি চক্রের বিলম্ব রয়েছে, কারণ পৃথক নির্দেশ সম্পূর্ণ করতে 3 টি ঘড়ি চক্র লাগে।

এআরএম 3 স্টেজ পাইপলাইনিং

এআরএম 3 স্টেজ পাইপলাইনিং

পাইপলাইনের যথাযথ প্রয়োগের জন্য হার্ডওয়্যার আর্কিটেকচারটিও আপগ্রেড করা উচিত। 3 স্টেজ পাইপলাইনের জন্য হার্ডওয়্যারটিতে একটি রেজিস্টার ব্যাংক, এএলইউ, ব্যারেল শিফটার, অ্যাড্রেস জেনারেটর, একটি ইনক্রিমেন্টার, ইন্সট্রাকশন ডিকোডার এবং ডেটা রেজিস্টার অন্তর্ভুক্ত রয়েছে।

এআরএম 3 স্টেজ পাইপলাইনিং ডেটাপাথ

এআরএম 3 স্টেজ পাইপলাইনিং ডেটাপাথ

5 টি ধাপে পাইপলাইনের পর্যায়গুলি হ'ল: আনুন, ডিকোড করুন, এক্সিকিউট করুন, বাফার / ডেটা এবং ফিরে লিখুন।

পাইপলাইনিং বিপত্তি

সাধারণ নির্দেশাবলীর পাশাপাশি একটি সাধারণ কম্পিউটার প্রোগ্রামে শাখা নির্দেশাবলী, বিঘ্নিত ক্রিয়াকলাপ, পড়ার এবং লেখার নির্দেশাবলী রয়েছে। পাইপলাইনিং সব ধরণের নির্দেশাবলীর জন্য উপযুক্ত নয়। পাইপলাইনে কিছু নির্দেশাবলী কার্যকর করা হলে তারা পাইপলাইন স্টল করতে বা এটি পুরোপুরি ফ্লাশ করতে পারে। পাইপলাইনের সময় যে ধরণের সমস্যা হয় তাকে পাইপলাইনিং হ্যাজার্ডস বলা হয়।

বেশিরভাগ কম্পিউটার প্রোগ্রামগুলিতে, একটি নির্দেশিকা থেকে প্রাপ্ত ফলাফলটি অন্য নির্দেশ দ্বারা অপারেন্ড হিসাবে ব্যবহৃত হয়। পাইপলাইনে যখন এই জাতীয় নির্দেশাবলী কার্যকর করা হয়, তখন ব্রেকআপ ডাউন ঘটে কারণ দুটি নির্দেশ অপারেশন সংগ্রহ করা শুরু করলে প্রথম নির্দেশের ফলাফল পাওয়া যায় না। সুতরাং, নির্দেশ দুটি কার্যকর করা এবং ফলাফল উত্পন্ন না হওয়া পর্যন্ত অবশ্যই দুটি স্টল করতে হবে। এই ধরণের বিপত্তিটিকে রিড-লেটার-পাইপ পাইপলাইনিং বিপত্তি বলা হয়।

পাইপলাইনিং হ্যাজার্ড লেখার পরে পড়ুন

পাইপলাইনিং হ্যাজার্ড লেখার পরে পড়ুন

শাখার নির্দেশাবলী কার্যকর করার ফলে পাইপলাইং বিপত্তিও ঘটে। মৃত্যুর সময় শাখার নির্দেশাবলী পাইপলাইনে পরবর্তী নির্দেশাবলী আনার পর্যায়ে প্রভাব ফেলে

পাইপলাইন শাখা আচরণ

পাইপলাইন শাখা আচরণ

পাইপলাইনিং এর সুবিধা

  • নির্দেশনা থ্রুপুট বৃদ্ধি পায়।
  • পাইপলাইন পর্যায়ে সংখ্যা বৃদ্ধি একই নির্দেশাবলী কার্যকর করার নির্দেশ বৃদ্ধি করে।
  • পাইপলাইন ব্যবহার করার সময় দ্রুত ALU ডিজাইন করা যেতে পারে।
  • পাইপলাইনড সিপিইউ র‌্যামের চেয়ে বেশি ক্লক ফ্রিকোয়েন্সিগুলিতে কাজ করে।
  • পাইপলাইনিং সিপিইউর সামগ্রিক কর্মক্ষমতা বাড়ায়।

পাইপলাইনের অসুবিধাগুলি

  • পাইপলাইনযুক্ত প্রসেসরের ডিজাইনিং জটিল।
  • পাইপলাইনযুক্ত প্রসেসরগুলিতে নির্দেশের বিলম্বতা বৃদ্ধি পায়।
  • পাইপলাইনযুক্ত প্রসেসরের থ্রিপুট অনুমান করা কঠিন।
  • দীর্ঘ পাইপলাইন, শাখার নির্দেশাবলীর জন্য ঝুঁকির সমস্যা আরও খারাপ।

পাইপলাইনিং কার্যকরভাবে কার্যকর করার জন্য একই ধাপ অনুসরণ করে এমন সমস্ত নির্দেশাবলীর উপকার করে benefits প্রসেসরগুলির জটিল নির্দেশাবলী রয়েছে যেখানে প্রতিটি নির্দেশ অন্যের চেয়ে আলাদা আচরণ করে পাইপলাইন করা শক্ত। প্রসেসরের পাইপলাইনের 3 বা 5 পর্যায়ে যুক্তিসঙ্গত প্রয়োগ রয়েছে কারণ পাইপ লাইনের গভীরতা বাড়ার সাথে সম্পর্কিত ঝুঁকিগুলি বৃদ্ধি পায়। পাইপলাইনযুক্ত কিছু প্রসেসরের নাম কী তাদের পাইপলাইন মঞ্চে?