আমি মনে করি যে আমি একটি ট্রিভিয়া প্রশ্নের উত্তর খুঁজছি। আমি বুঝতে চেষ্টা করছি যে এমআইপিএস আর্কিটেকচারটি কেন কোনও রেজিস্টারে একটি স্পষ্ট "শূন্য" মান ব্যবহার করে আপনি যখন নিজের বিপরীতে কোনও রেজিস্টার এক্সওর করে একই জিনিস অর্জন করতে পারেন। কেউ বলতে পারে যে অপারেশনটি আপনার জন্য ইতিমধ্যে সম্পন্ন হয়েছে; তবে, আমি সত্যিই এমন পরিস্থিতিটি ভাবতে পারি না যেখানে আপনি প্রচুর "শূন্য" মান ব্যবহার করবেন। আমি হেনেসির মূল কাগজপত্র পড়েছি এবং এটি সত্যিকারের ন্যায়সঙ্গততা ছাড়াই একটি শূন্যকে সত্য হিসাবে বিবেচনা করে।
শূন্যের একটি হার্ড-কোডেড বাইনারি অ্যাসাইনমেন্ট থাকার যৌক্তিক কারণটি কি বিদ্যমান?
আপডেট: পিআইসি 32 এমজেডের এমআইপিএস কোরের জন্য এক্সসি 32-জিসিসি থেকে এক্সিকিউটেবলের 8 কেতে আমার কাছে "শূন্য" এর একক উদাহরণ রয়েছে।
add t3,t1,zero
আসল উত্তর: আমি যে ব্যক্তিকে এমআইপিএস এবং শর্তের কোড সম্পর্কে তথ্য ছিল তাকে অনুদান প্রদান করি। উত্তরটি আসলে শর্তগুলির জন্য এমআইপিএস আর্কিটেকচারে রয়েছে। যদিও আমি প্রথমে এটির জন্য সময় নির্ধারণ করতে চাইছিলাম না , আমি ওপেনস্পার্ক , এমআইপিএস-ভি এবং ওপেনপাওয়ারের জন্য আর্কিটেকচার পর্যালোচনা করেছি (এই নথিটি অভ্যন্তরীণ ছিল) এবং সংক্ষিপ্তসারগুলি এখানে দেওয়া হল। পাইপলাইনের আর্কিটেকচারের কারণে শাখাগুলির তুলনায় আর0 রেজিস্টার প্রয়োজনীয়।
- পূর্ণসংখ্যা শূন্য এবং শাখার সাথে তুলনা করুন (বিজেজ, বিজিটিজ, ব্লাজ, ব্ল্টজ)
- পূর্ণসংখ্যা দুটি রেজিস্টার এবং শাখা (বেক, বাইন) তুলনা করুন
- পূর্ণসংখ্যা দুটি রেজিস্টার এবং ট্র্যাপের তুলনা করুন (টেক, টিজ, টিলটি, টেন)
- পূর্ণসংখ্যার তুলনা করুন নিবন্ধকার এবং তাত্ক্ষণিক এবং ফাঁদ (টেকি, টেজি, টল্টি, টেনি)
হার্ডওয়্যার বাস্তবায়নের ক্ষেত্রে এটি কীভাবে দেখায় কেবল তা নীচে আসে। এমআইপিএস-ভি ম্যানুয়ালটি থেকে, 68 পৃষ্ঠায় একটি অনাদায়ী উদ্ধৃতি রয়েছে:
শর্তসাপেক্ষ শাখাগুলি দুটি রেজিস্টারের মধ্যে পাটিগণিত তুলনা অপারেশনগুলি অন্তর্ভুক্ত করার জন্য ডিজাইন করা হয়েছিল (পিএ-আরআইএসসি এবং এক্সটেনসা আইএসএ তেও হয়েছিল), শর্ত কোডগুলি ব্যবহার করার পরিবর্তে (x86, এআরএম, এসপিএআরসি, পাওয়ারপিসি), বা কেবল শূন্যের বিপরীতে একটি নিবন্ধের তুলনা করতে ( আলফা, এমআইপিএস, বা দুটি কেবলমাত্র সমতা (এমআইপিএস) এর জন্য নিবন্ধভুক্ত। এই নকশাটি পর্যবেক্ষণ দ্বারা অনুপ্রাণিত হয়েছিল যে একটি সম্মিলিত তুলনা এবং শাখার নির্দেশকে একটি নিয়মিত পাইপলাইনে টিএস করে, অতিরিক্ত শর্তের কোডের অবস্থা বা অস্থায়ী নিবন্ধের ব্যবহার এড়ানো যায় এবং স্থির কোডের আকার এবং গতিশীল নির্দেশ আনতে ট্র্যাক হ্রাস করে। আরেকটি বিষয় হ'ল শূন্যের তুলনায় তুলনামূলকভাবে তুচ্ছ তরঙ্গীয় সার্কিটের বিলম্বের প্রয়োজন হয় (বিশেষত উন্নত প্রক্রিয়াগুলিতে স্থির যুক্তিতে সরে যাওয়ার পরে) এবং এটি গণিতের দৈর্ঘ্যের তুলনায় প্রায় ব্যয়বহুল। একটি সংযুক্ত তুলনা এবং শাখা নির্দেশের আরেকটি সুবিধা হ'ল শাখাগুলি সামনের-শেষ নির্দেশ প্রবাহে আগে পর্যবেক্ষণ করা হয় এবং এর আগে পূর্বাভাস দেওয়া যেতে পারে। এক্ষেত্রে শর্ত কোড সহ একটি ডিজাইনের সুবিধা রয়েছে যেখানে একই শর্ত কোডের ভিত্তিতে একাধিক শাখা নেওয়া যেতে পারে তবে আমরা বিশ্বাস করি যে এই ক্ষেত্রেটি তুলনামূলকভাবে বিরল।
এমআইপিএস-ভি নথি উদ্ধৃত বিভাগটির লেখককে আঘাত করে না। আমি তাদের সময় এবং বিবেচনার জন্য সবাইকে ধন্যবাদ জানাই।