কম্পিউটার পাইপলাইনিং
কম্পিউটার পাইপলাইনিং প্রথম 486 চিপে ইন্টেল দ্বারা চালু হয়েছিল। একটি পাইপলাইন যেভাবে কাজ করে তা একটি শিল্প সমাবেশ লাইনের অনুরূপ। CPU-এর মধ্যে, স্বতন্ত্র ফাংশন সহ সার্কিট ইউনিটের একটি সিরিজ নির্দেশ প্রক্রিয়াকরণ পাইপলাইন গঠন করে; একটি x86 নির্দেশনা পাঁচ বা ছয়টি ধাপে বিভক্ত করা হয়, যা এই ইউনিট দ্বারা ক্রমানুসারে কার্যকর করা হয়। এটি একটি একক CPU ঘড়ি চক্রের মধ্যে একটি নির্দেশ সম্পূর্ণ করতে সক্ষম করে, যার ফলে CPU এর প্রক্রিয়াকরণের গতি বৃদ্ধি পায়। ক্লাসিক পেন্টিয়াম প্রসেসরে, প্রতিটি পূর্ণসংখ্যা পাইপলাইনে চারটি ধাপ থাকে-নির্দেশনা প্রিফেচ, ডিকোড, এক্সিকিউট এবং রাইট-ব্যাক-যখন ভাসমান-পয়েন্ট পাইপলাইন আটটি ধাপ নিয়ে গঠিত।
পাইপলাইনিং একটি মূল প্রযুক্তি যা মাইক্রোপ্রসেসরে (CPUs) ব্যাপকভাবে ব্যবহৃত হয়। এটি সিপিইউ-এর মধ্যে নির্দেশাবলী কার্যকর করার পদ্ধতি বর্ণনা করে; পাইপলাইন বোঝার জন্য, প্রথমে নির্দেশাবলী এবং তাদের কার্যকর করার প্রক্রিয়া বুঝতে হবে।
কম্পিউটার নির্দেশাবলী
একটি কম্পিউটার নির্দেশ বাইনারি ডেটার একটি নির্দিষ্ট সেট যা CPU-কে কী করতে হবে তা বলে। যদি সিপিইউকে একটি ম্যানুফ্যাকচারিং প্ল্যান্টের সাথে তুলনা করা হয়, তাহলে একটি নির্দেশনা একটি গ্রাহকের আদেশের অনুরূপ; এটি সিপিইউ "ফ্যাক্টরি"-এর মধ্যে একটি ধারাবাহিক ক্রিয়া শুরু করে, যা শেষ পর্যন্ত একটি গণনামূলক ফলাফল-সম্পন্ন পণ্য দেয়৷ কিভাবে এই আসলে কাজ করে? প্রথমত, CPU-এর নির্দেশ আনয়ন ইউনিটের অর্ডার গ্রহণের জন্য অবশ্যই একটি বিভাগ থাকতে হবে; দ্বিতীয়ত, সিপিইউ-এর নির্দেশ নির্বাহ ইউনিটের অর্ডারগুলি- পূরণ করার জন্য একটি কর্মশালা থাকতে হবে৷ একটি কারখানায়, একটি আইটেমের উত্পাদন একাধিক উত্পাদন ধাপে বিভক্ত হয়; একইভাবে, একটি নির্দেশকে সিপিইউ-এর মধ্যে সংশ্লিষ্ট মাইক্রো-অপারেশনের একটি সিরিজে রূপান্তরিত করা হয়। এই মাইক্রো-অপারেশনগুলিকে ক্রমানুসারে সম্পূর্ণ করা সমগ্র নির্দেশের বাস্তবায়ন গঠন করে৷
নির্দেশ নির্বাহ
কম-সিপিইউতে, নির্দেশ কার্যকর করা হয় সিরিয়াল; সহজভাবে বলতে গেলে, পরবর্তীটি শুরু হওয়ার আগে একটি নির্দেশ সম্পূর্ণ হয়। এটি তার প্রারম্ভিক দিনগুলিতে উপরে উল্লিখিত কারখানার মতো, যেখানে শুধুমাত্র একটি ছোট ওয়ার্কশপ এবং একা কাজ করার একমাত্র মালিকের সমন্বয়ে গঠিত: একটি আদেশ পাওয়ার পরে, তিনি সেই প্রথম আদেশটি পূরণ করতে সম্পূর্ণরূপে ব্যাপৃত হবেন এবং দ্বিতীয়টি গ্রহণ করতে পারবেন না। অর্ডার গ্রহণ এবং সম্পূর্ণ করার চক্র-বা নির্দেশাবলী আনা এবং কার্যকর করা-এইভাবে একটি ধারাবাহিক প্রক্রিয়া। পরে, বস আবিষ্কার করেন যে অর্ডার নেওয়ার জন্য বেশি সময় লাগে না। একজন সহকারীর সাহায্যে দুজনে স্বাধীনভাবে কাজ করতে পারতেন; এটি বসকে একটি নতুন অর্ডার গ্রহণ করার অনুমতি দেয় যখন একই সাথে আগেরটির পণ্যগুলি শেষ করে। সিপিইউ আর্কিটেকচারের পরিপ্রেক্ষিতে, এটি নির্দেশনা-নির্দেশ থেকে আনয়ন ইউনিট-এক্সিকিউশন ইউনিটকে আলাদা করার সাথে মিলে যায়। ফলস্বরূপ, CPU বর্তমান নির্দেশটি কার্যকর করার সময় সমান্তরালভাবে পরবর্তী নির্দেশ আনতে পারে। এটি সিপিইউ প্রযুক্তিতে একটি গুণগত উল্লম্ফনের প্রতিনিধিত্ব করে, কাজগুলিকে সিরিয়াল থেকে সমান্তরাল প্রক্রিয়াকরণে স্থানান্তরিত করে এবং নির্দেশনা পাইপলাইনের প্রোটোটাইপ স্থাপন করে।
একবার সিপিইউ পূর্বোক্ত পদক্ষেপটি সম্পন্ন করলে, অবশিষ্ট চ্যালেঞ্জটি সমান্তরাল প্রক্রিয়াকরণ ক্ষমতা বাড়ানোর মধ্যে রয়েছে। ফ্যাক্টরি অ্যাসেম্বলি লাইন থেকে অনুপ্রেরণা নিয়ে, সিপিইউ ডিজাইনাররা একটি একক নির্দেশের প্রয়োগকে একাধিক স্বতন্ত্র ধাপে বিভক্ত করেছেন-বা "মাইক্রো-নির্দেশাবলী"-যার ফলে নির্দেশনার জটিলতা উল্লেখযোগ্যভাবে হ্রাস, লজিক ডিজাইনকে সরলীকরণ এবং গতি বাড়ায়৷ পাইপলাইন প্রযুক্তি ব্যবহার করে সিপিইউ-তে, একটি নির্দেশ তার প্রথম "পর্যায়" শেষ হওয়ার সাথে সাথে পরবর্তী নির্দেশটি কার্যকর করা শুরু করার জন্য পাইপলাইনে প্রবেশ করে। স্পষ্টতই, এই পাইপলাইনিং পদ্ধতির জন্য একাধিক এক্সিকিউশন ইউনিটের প্রয়োজন-এক্স86 চিপগুলিতে প্রয়োগ করা একটি বৈশিষ্ট্য।
