এমআইপিএস আমি নির্দেশের ফর্ম্যাটগুলি বুঝতে, আপনাকে এমআইপিএস পাইপলাইনটি বুঝতে হবে এবং সিপিইউ বাস্তবায়ন প্রযুক্তির প্রায় 1985 সম্পর্কেও ভাবতে হবে you আপনি যদি চিত্রটি দেখেন (আপনি এটি জানেন) তবে আপনি দেখতে পাবেন যে রেজিস্টার ফাইল রিডিংটি রয়েছে আইডি পর্যায়ে, ঠিক পরে যদি।
আর-টাইপ নির্দেশের উদ্দেশ্যে, আইডি পর্যায়ে নিম্নলিখিত কাজগুলি করা দরকার:
- নির্ধারণ এটা আসলে হয় একটি R- টাইপ নির্দেশ।
- যদি তা হয় তবে রেজিস্টার থেকে মানগুলি লোড করতে রেজিস্টার ফাইলটি বলুন।
এই আলোচনার উদ্দেশ্যে, এটি আপনার প্রথম চিন্তা করা উচিত task আপনার যদি নিবন্ধগুলি থেকে কোনও মান প্রয়োজন হয় এমনকি যদি আপনার কাজ করতে হয় তবে আপনাকে নির্দেশনা ডিকোডিংয়ের অনেক কাজ করতে হয়, আপনি নিবন্ধটি পড়া শুরু করার আগে এই বিলম্ব আরও বাড়িয়ে তোলে। এটি আইডি পর্যায়ের জটিলতাও বাড়ায়। সমস্ত আর-টাইপ নির্দেশাবলীর জন্য একটি একক ওপকোড সংরক্ষণ করে আপনি জটিলতাটি সর্বনিম্ন রাখেন।
এটি কিছুটা অদ্ভুত বলে মনে হচ্ছে যে আপনি পাঁচটি বিট সরিয়ে নেওয়ার জন্য উত্সর্গ করেছেন। আমি কয়েকটি সম্ভাব্য ব্যাখ্যার কথা ভাবতে পারি। একটি হ'ল এটি রাউটিংকে সরল করে দেয় (এই পাঁচটি বিটগুলি সরাসরি রেজিস্টার ফাইলটিতে সরাসরি খাওয়ানো হয়, এই পাঁচটি বিটগুলি ব্যারেল শিফ্টারে সর্বদা খাওয়ানো হয় those ছয়টি বিটগুলি কোন ফাংশনটি সম্পাদন করতে হবে তা নির্ধারণ করতে সর্বদা ALU তে প্রবেশ করে)।
তারা ভবিষ্যতে সম্মিলিত শিফট-বাম এবং অ্যাড নির্দেশিকাগুলি প্রবর্তনের কথা ভাবছিলেন। এটি সম্ভবত ফর্ম হতে হবে:
$d = $s + ($t << shamt)
2গুলি+ 1গুলি
আজ, আমরা সম্ভবত আরও জটিল ডিকোডিং পর্যায়ে থাকার বিষয়ে দু'বার চিন্তা করব না, বিশেষত যেহেতু একটি সাধারণ সুপারসকলার সিপিইউয়ের পাইপলাইনে পরে রেজিস্টার ফাইল অ্যাক্সেসগুলি ঘটে থাকে। অনেক আধুনিক সিপিইউ এমনকি এল 1 ক্যাশে কোনও নির্দেশিকা সন্নিবেশ করার সময়ে কিছু মোটা নির্দেশের ডিকোডিংও করে । "যথাযথ" নির্দেশিকাটির ডিকোডিংটিকে সহজ এবং দ্রুততর করার জন্য আপনি অতিরিক্ত তথ্য সংরক্ষণের জন্য আই-ক্যাশে লাইনগুলি কয়েকটি বিট বিস্তৃত করেছেন (মুরের আইকে ধন্যবাদ, আপনার কাছে প্রচুর ট্রানজিস্টর নষ্ট হওয়ার দরকার আছে) to
তারা সম্ভবত অপকোড ক্ষেত্রটিকে যতটা সম্ভব ছোট রাখতে চেয়েছিলেন তার একটি কারণ এটি যাতে জে টাইপের নির্দেশকে অপ্রয়োজনীয়ভাবে শাস্তি দেয় না। আপনি সম্ভবত জানেন যে, জে-টাইপ নির্দেশাবলী সিউডো-সরাসরি ঠিকানা ব্যবহার করে। ঘরে বসে যে কারওরকম সুবিধার্থে আমি এটি সংক্ষেপে ব্যাখ্যা করব।
জে-টাইপ নির্দেশের ঠিকানা ক্ষেত্রটি 26 বিট। কারণ নির্দেশাবলী সর্বদা 4-বাইট সারিবদ্ধ থাকে, আপনার কমপক্ষে উল্লেখযোগ্য দুটি বিট সংরক্ষণ করার দরকার নেই, যার অর্থ আপনার কাছে কার্যকরভাবে 28 বিট ঠিকানা রয়েছে। যাইহোক, এমআইপিএস I এ ঠিকানা স্থান 32-বিট। সুতরাং জাম্পের অবস্থানের শীর্ষ চারটি বিট প্রোগ্রামের কাউন্টার থেকে নেওয়া হয়েছে।
এর অর্থ হ'ল আপনি সরাসরি এমন কোনও জায়গায় যেতে পারবেন না যেখানে পিসি অবস্থানের সর্বাধিক উল্লেখযোগ্য চার বিট আলাদা। পরিবর্তে আপনাকে স্ক্র্যাচ রেজিস্ট্রারের মাধ্যমে আরও ব্যয়বহুল তিন-নির্দেশাবলীর লাফাতে হবে:
lui $r,target >> 16
ori $r,$r,target & 0xFFFF
jr $r
আজকের দিনে এটি খুব খারাপ নয়, তবে 1985 সালে এটি অনেকগুলি ঘড়ির চক্র।
ঠিকানার ক্ষেত্র থেকে কিছুটা চুরি করা সরাসরি জंपের কার্যকর পরিসরটিকে আরও কমাবে। আপনি দেখতে পাচ্ছেন যে এটি কীভাবে মূল্য দিতে খুব বেশি দাম হতে পারে।