সংক্ষিপ্ত উত্তর
নির্দেশটি ডিকোডিং এবং সম্পাদন করার পদক্ষেপগুলি পূর্ববর্তী নির্দেশের পরবর্তী ধাপের সমান্তরালে সম্পাদিত হয়। এই কৌশলটি পাইপলাইনিং হিসাবে পরিচিত। দেখুন উপর আরআইএসসি প্রসেসর থেকে কম।
একটি একক ইস্যু আরআইএসসি আর্কিটেকচার সাধারণত রেজিস্ট্রেশন করার জন্য রেজিস্টার হওয়ার পরিবর্তে স্মৃতিতে আঘাত করা লোড / স্টোর ক্রিয়াকলাপের জন্য অপেক্ষা করার রাজ্য এবং সময় গ্রহণের কারণে সাধারণত চক্র প্রতি এক নির্দেশের চেয়ে সামান্য কম পড়বে। বিলম্ব স্লট আপনাকে একটি আর্কিটেকচারাল হুক দেয় যা আপনাকে এই সময়ের কিছুটা ফিরে পাওয়ার অনুমতি দিতে পারে। দেখুন উপর আরআইএসসি প্রসেসর থেকে কম।
একটি নির্দেশ চক্র হ'ল একটি নির্দেশ কার্যকর করার জন্য প্রয়োজনীয় সময়ের দৈর্ঘ্য। এটি স্থাপত্য এবং (কিছু ক্ষেত্রে) নির্দেশাবলীর সাথে পৃথক হবে। উদাহরণস্বরূপ, এমআইপিএস আর 2000/3000 এর মতো কোনও কিছুর বেশিরভাগ নির্দেশাবলী একটি চক্র নেয়। মেমোরি অ্যাক্সেসের সাথে জড়িত নির্দেশাবলী (লোড / স্টোর, শাখা) একাধিক চক্র গ্রহণ করে, যদিও বিলম্ব স্লটটির অর্থ আপনি বিলম্ব স্লটে অন্য কোনও কিছু (সম্ভবত একটি এনওপি) কার্যকর করতে সক্ষম হতে পারেন। পাইপলাইনবিহীন আর্কিটেকচারগুলিতে বেশিরভাগ ক্লকচক্রের নির্দেশ চক্র থাকতে পারে, প্রায়শই ঠিকানা মোডের সাথে পরিবর্তিত হয়। দেখুন উপর আরআইএসসি প্রসেসর, প্রথাগত CISC architecures এবং hardwired আর্কিটেকচারের থেকে কম।
একাধিক-ইস্যু ডিজাইন সমান্তরালভাবে একাধিক নির্দেশনা চালিয়ে এই ধারণাটি কিছুটা ঝাপসা করতে পারে।
সিআইএসসি প্রসেসরের নির্দেশাবলী থাকতে পারে যা বিভিন্ন সময় ব্যয় করে। ঘড়ির চক্রের সঠিক সংখ্যাটি আর্কিটেকচার এবং নির্দেশের উপর নির্ভর করে। সিআইএসসি আইএসএ-তে নেওয়া বিভিন্ন ক্লক চক্রের একটি কারণ হ'ল তারা ভারী পাইপলাইনযুক্ত আর্কিটেকচার তৈরিতে কঠোর। দেখুন প্রথাগত CISC আর্কিটেকচারের থেকে কম।
দীর্ঘ উত্তর
একক ইস্যুতে এমআইপিএস, স্পার্ক বা অন্যান্য সিপিইউয়ের জন্য, সমস্ত (প্রথম অনুমানের জন্য) নির্দেশাবলী একটি চক্রের ক্ষেত্রে ইস্যু করে, যদিও তাদের 'বিলম্ব স্লট' নামে পরিচিত কিছু থাকতে পারে।
আরআইএসসি প্রসেসরগুলিতে
এই প্রসঙ্গে, একটি একক ইস্যু সিপিইউ হ'ল যেখানে আধুনিক সিপিইউগুলি যেভাবে সিপিইউ ফ্লাইটের উপর নির্ভরশীলতা বিশ্লেষণ এবং নির্দেশাবলীর সমান্তরাল জারি করে না, অর্থাৎ তাদের কেবলমাত্র একটি এক্সিকিউশন ইউনিট রয়েছে যা নির্দেশাবলী কার্যকর করে তারা স্মৃতি থেকে পড়া ক্রম। এই সম্পর্কে আরও পরে।
বেশিরভাগ পুরানো আরআইএসসি প্রসেসরগুলি সিঙ্গল-ইস্যু ডিজাইন এবং এগুলি এম্বেডড সিস্টেমে এখনও ব্যাপকভাবে ব্যবহৃত হয়। একটি 32-বিট সিঙ্গল-ইস্যু পূর্ণসংখ্যার আরআইএসসি কোর প্রায় 25,000-30,000 গেটে প্রয়োগ করা যেতে পারে, সুতরাং এই জাতীয় সিপিইউ কোরগুলিতে খুব কম বিদ্যুত খরচ এবং খুব ছোট পায়ের ছাপ রয়েছে। এটি তাদেরকে এসওসি (সিস্টেম-অন-চিপ) পণ্যগুলিতে সংহত করতে সহজ এবং সস্তা করে তোলে।
আরআইএসসি সিপিইউ ডিজাইনগুলি পাইপলাইনযুক্ত - নির্দেশিকাটির প্রক্রিয়াকরণটি বিভিন্ন পর্যায়ে করা হয়, প্রতিটি নির্দেশ পাইপলাইনটি প্রতিটি পর্যায়ক্রমে পরবর্তী পর্যায়ে চলে যায় passed বেশিরভাগ ক্ষেত্রে সিঙ্গল-ইস্যু পাইপলাইন করা সিপিইউ প্রতি ঘড়ি চক্রের একটি নির্দেশের কাছাকাছি কিছু কার্যকর করে।
কিছু আর্কিটেকচারের মেমরি থেকে ব্রাঞ্চিং বা লোড / স্টোরের মতো নির্দেশ থাকে যেখানে মেমরি অ্যাক্সেসের দ্বারা নেওয়া অতিরিক্ত চক্র কোডটিতে দৃশ্যমান।
উদাহরণস্বরূপ, একটি স্পার্ক ভি 7 / ভি 8 ডিজাইনে শাখা নিজেই সঞ্চালনের আগে একটি শাখা আসলে সম্পাদন করার পরে পরবর্তী নির্দেশনা দেয়। সাধারণত আপনি শাখার পরে স্লটে একটি এনওপি রাখতেন তবে আপনি যদি কিছু কার্যকর করতে পারেন তবে আপনি এটিতে আরও একটি নির্দেশিকা রাখতে পারেন।
এমআইপিএস আর 2000 / আর 3000 আর্কিটেকচারের লোড / স্টোরের নির্দেশাবলীতে একই জাতীয় বিলম্ব স্লট ছিল। আপনি যদি মেমরি থেকে কোনও মান লোড করেন তবে এটি অন্য চক্রের জন্য নিবন্ধে আসলে উপস্থিত হবে না। আপনি স্লটে একটি এনওপি লাগাতে পারেন বা অন্য কিছু করতে পারেন যদি আপনি এমন কিছু করার জন্য দরকারী যেটি সবে জারি করা লোড অপারেশনের উপর নির্ভর করে না।
মেমরিটি যদি সিপিইউর চেয়ে ধীর হয় তবে প্রায়শই এটি হয়ে থাকে, আপনি মেমরির অ্যাক্সেসগুলিতে অতিরিক্ত ওয়েট স্টেটগুলি পেতে পারেন । অপেক্ষার রাজ্যগুলি মেমরি অ্যাক্সেস সম্পন্ন না হওয়া পর্যন্ত এক বা একাধিক ক্লক চক্রের জন্য সিপিইউ স্থির করে দেয়। অনুশীলনে, এই অপেক্ষার রাজ্যগুলি এবং মেমরির অ্যাক্সেসের জন্য অতিরিক্ত সময়ের অর্থ সিঙ্গল-ইস্যু সিপিইউ ডিজাইনগুলি প্রতি ঘড়ি চক্রের তুলনায় এক নির্দেশের চেয়ে কিছুটা কম। বিলম্ব স্লটগুলি মেমরি অপারেশন সঞ্চালনের সময় কিছু অন্যান্য নির্দেশ কার্যকর করে কোডের অনুকূলকরণের কিছু সম্ভাব্য সুযোগ দেয়।
Ditionতিহ্যবাহী সিআইএসসি প্রসেসর
সিআইএসসি প্রসেসরগুলি এমন নকশাগুলি ছিল যা বিভিন্ন সময়ে বিভিন্ন নির্দেশনা থাকতে পারে। প্রায়শই তাদের কাছে হার্ডওয়ারে সরাসরি প্রয়োগ করা আরও জটিল নির্দেশনা ছিল যা একটি আরআইএসসি সিপিইউতে সফ্টওয়্যারে করতে হবে।
বেশিরভাগ মেইনফ্রেম আর্কিটেকচার এবং এম 68 কে এবং ইন্টেল 386 পর্যন্ত সমস্ত পিসি ডিজাইনগুলি ছিল চিরাচরিত মাইক্রোকডেড সিআইএসসি সিপিইউ। এই ডিজাইনগুলি প্রতি ঘড়িতে ধীর হয়ে প্রমাণিত হয়েছে এবং আরআইএসসি সিপিইউগুলির চেয়ে বেশি গেট ব্যবহার করেছে।
মাইক্রো-
মাইক্রোকোডযুক্ত আর্কিটেকচারের একটি উদাহরণ (এমওএস 6502) এখানে অনুকরণে দেখা যায় । মাইক্রোকোডটি চিত্রের শীর্ষে দেখা যায়।
মাইক্রোকোড নির্দেশাবলী কার্যকর করতে সিপিইউতে সক্রিয় হওয়া ডেটা প্রবাহ এবং ক্রিয়াকে নিয়ন্ত্রণ করে। মাইক্রোকোডের ধাপগুলি লুপ করে আপনি একটি সিপিইউর অংশগুলি সক্রিয় করতে পারেন, এএলইউগুলির মাধ্যমে ডেটা স্থানান্তর করতে বা অন্যান্য পদক্ষেপগুলি সম্পাদন করতে পারেন। কোনও নির্দেশিকা কার্যকর করতে সিপিইউতে পুনরায় ব্যবহারযোগ্য উপাদানগুলি একাধিক ক্লকচক্রের উপর সমন্বয় করা যেতে পারে। 6502 এর ক্ষেত্রে কিছু পাইপলাইনযুক্ত ক্রিয়াও মাইক্রোকোডের দ্বারা কার্যকর করা যেতে পারে।
মাইক্রোকোডেড ডিজাইনগুলি কোনও নির্দেশ সম্পূর্ণ করার জন্য বেশ কয়েকটি ঘড়ির চক্র গ্রহণের ব্যয়ে শক্ত ওয়্যার্ড চিপগুলির চেয়ে কম সিলিকন ব্যবহার করে। নকশার উপর নির্ভর করে, এই সিপিইউগুলিতে প্রতিটি নির্দেশ অনুসারে বিভিন্ন ধরণের সময় লাগবে।
হার্ডওয়ার্ড আর্কিটেকচার
হার্ডওয়্যারড ডিজাইন (মাইক্রোকোডের সাথে অগত্যা পারস্পরিক একচেটিয়া নয়) সিঙ্ক্রোনিকভাবে একটি নির্দেশনা কার্যকর করে বা একাধিক ক্লক চক্র জুড়ে কিছু করার জন্য তাদের নিজস্ব সমন্বয়কারী থাকতে পারে। এগুলি সাধারণত আরও উত্সর্গীকৃত হার্ডওয়্যার ব্যয়ে দ্রুত হয় এবং সমতুল্য কার্যকারিতার একটি মাইক্রোকোডযুক্ত ডিজাইনের চেয়ে এটি প্রয়োগ করা আরও ব্যয়বহুল।
এর বিখ্যাত উদাহরণটি ছিল মূল আমদাহল 470/6 সিপিইউ , যা নির্দিষ্ট আইবিএম সিস্টেম / 370 মডেলের সিপিইউয়ের জন্য একটি ড্রপ-ইন প্রতিস্থাপন ছিল। আইএমএমের ৩0০ সিপিইউ মাইক্রোকোডের উপর নির্ভরশীল ছিল এমন সময়ে আমদাহাল সিপিইউ একটি হার্ডওয়ার্ড ডিজাইন ছিল। আমদাহাল সিপিইউ তাদের প্রতিস্থাপন করা আইবিএম সিপিইউগুলির চেয়ে প্রায় 3 গুণ বেশি দ্রুত ছিল।
বলা বাহুল্য, আইবিএম বিস্মিত হয়নি এবং এর ফলে একটি আদালত যুদ্ধ শুরু হয়েছিল যা আইবিএমকে কয়েক বছর আগে সম্মতি সংক্রান্ত ডিক্রি সমাপ্ত না হওয়া পর্যন্ত তাদের মেইনফ্রেম আর্কিটেকচারটি খুলতে বাধ্য করেছিল।
সাধারণত, এই ধরণের হার্ডওয়ার্ড ডিজাইনটি এখনও আরআইএসসি সিপিইউ-এর মতো ঘড়ি-ঘড়ির জন্য ততটা দ্রুত ছিল না যতটা ভিন্ন ভিন্ন নির্দেশনার সময় এবং ফর্ম্যাটগুলি আরআইএসসি নকশা যেমন পাইপলাইনের পক্ষে তেমন সুযোগ দেয় না।
একাধিক ইস্যু ডিজাইন
বেশিরভাগ আধুনিক সিপিইউ হ'ল একাধিক ইস্যু আর্কিটেকচার যা একক থ্রেডের মধ্যে এক সাথে একাধিক নির্দেশকে প্রক্রিয়া করতে পারে। চিপ আগত নির্দেশ প্রবাহের উপর একটি গতিশীল নির্ভরতা বিশ্লেষণ করতে পারে এবং সমান্তরালভাবে নির্দেশাবলী ইস্যু করতে পারে যেখানে আগের গণনার ফলাফলের উপর নির্ভরতা নেই।
কোডগুলিতে কতটা সমান্তরালতা অর্জন করা যায় তার উপর এই চিপগুলির থ্রুটপুট নির্ভর করে তবে বেশিরভাগ আধুনিক সিপিইউ বেশিরভাগ কোডে চক্রের জন্য বেশ কয়েকটি নির্দেশকে গড়ে তুলবে।
মডার্ন ইন্টেল এবং অন্যান্য x86 / এক্স 64 আইএসএ সিপিইউগুলির একটি স্তর রয়েছে যা পুরাতন স্কুল সিআইএসসি নির্দেশকে মাইক্রো নির্দেশাবলীতে সেট করে দেয় যা পাইপলাইনযুক্ত আরআইএসসি-স্টাইলের একাধিক ইস্যু কোরের মাধ্যমে খাওয়ানো যেতে পারে। এটি কিছু ওভারহেড যুক্ত করেছে যা সিপিইউগুলিতে আইএসএগুলির সাথে উপস্থিত নেই যা পাইপলাইনের জন্য ডিজাইন করা হয়েছে (যেমন আরআইএসসি আর্কিটেকচার যেমন এআরএম বা পাওয়ারপিসি)।
VLIW ডিজাইন
ভিআইএলডাব্লু ডিজাইন, যার মধ্যে ইন্টেল ইটানিয়াম সম্ভবত সবচেয়ে বেশি পরিচিত, কখনও মূলধারার আর্কিটেকচার হিসাবে গ্রহণ করেনি, তবে আইআইআরসি রয়েছে এমন অনেকগুলি ডিএসপি আর্কিটেকচার যা এই ধরণের নকশা ব্যবহার করে। একটি ভিএলআইডাব্লু ডিজাইন সমান্তরালভাবে জারি করা একাধিক নির্দেশাবলী সম্বলিত একটি নির্দেশের শব্দের সাথে একাধিক-ইস্যুকে স্পষ্ট করে তোলে।
এগুলি ভাল অপ্টিমাইজ করা সংকলকগুলির উপর নির্ভরশীল ছিল , যা প্রতিটি নির্দেশের শব্দের উপর একাধিক স্লটে উপলব্ধ একাধিক স্লটে নির্দেশনাগুলি ফেলে রেখে সমান্তরালতার জন্য নির্ভরতা এবং সুযোগগুলি চিহ্নিত করে।
ভিএলআইডাব্লু আর্কিটেকচারগুলি সংখ্যা সংক্রান্ত অ্যাপ্লিকেশনগুলির জন্য বেশ ভাল কাজ করে কারণ ম্যাট্রিক্স / অ্যারে অপ্সগুলি ব্যাপক সমান্তরালতার সুযোগ দেয় offer কিছুক্ষণের জন্য সুপারকমপুটিং অ্যাপ্লিকেশনগুলিতে ইটানিয়ামের কুলুঙ্গি বাজার ছিল এবং এই ধরণের একটি আইএসএ ব্যবহার করে কমপক্ষে একটি সুপার কম্পিউটার আর্কিটেকচার - মাল্টিফ্লো ট্র্যাক - উত্পাদিত হয়েছিল।
স্মৃতি এবং ক্যাচিং
আধুনিক সিপিইউগুলি মেমরির থেকে অনেক বেশি দ্রুত, তাই মেমরি থেকে প্রত্যক্ষ পাঠগুলি শত শত ওয়েট স্টেট তৈরি করতে পারে যা মেমরির অ্যাক্সেস সম্পূর্ণ না হওয়া পর্যন্ত সিপিইউকে অবরুদ্ধ করে। ক্যাচিং, এখন একাধিক স্তরে সম্পন্ন, ক্যাশে সর্বাধিক ব্যবহৃত ব্যবহৃত মেমরি অবস্থানগুলি ধারণ করে। যেহেতু সিপিইউগুলি সাধারণত লুপগুলিতে কোড কার্যকর করতে প্রচুর সময় ব্যয় করে তার অর্থ আপনি সম্প্রতি ব্যবহার করেছেন মেমরি অবস্থানগুলি পুনরায় ব্যবহারের ভাল হিট রেট পাবেন। এই সম্পত্তিটিকে 'রেফারেন্সের লোকেশন' বলা হয়।
আপনি যেখানে রেফারেন্সের লোকেশন পাবেন সিপিইউ সর্বোত্তম গতির কাছাকাছি সময়ে কাজ করতে পারে। পরবর্তী স্তরে ক্যাশে মিস না করে বেশ কয়েকটি ওয়েট স্টেটস পড়ে; মূল স্মৃতিতে ক্যাশে মিস করা কয়েকশো হতে পারে।
সুতরাং, সিপিইউ চিপগুলির আসল থ্রুটপুট মেমরির অ্যাক্সেস প্যাটার্নগুলির দক্ষতার উপর নির্ভরশীল হতে পারে। পুরো বইগুলি এর জন্য কোডটি অপ্টিমাইজ করার জন্য লেখা হয়েছে, এবং এটি নিজস্ব ক্ষেত্রে একটি জটিল বিষয়।