সিআইএসসি বাস্তবায়নের জন্য অনেকে বেছে নিতে পারে এমন অনেকগুলি কারণ রয়েছে। সর্বাধিক বিশিষ্ট কারণটি বিদ্যমান সিআইএসসি নির্দেশিকা সেটের সাথে বাইনারি সামঞ্জস্যের জন্য। সফ্টওয়্যার বাইনারি অনুবাদ প্রযুক্তির উন্নতি হয়েছে, হার্ডওয়্যার-ভিত্তিক সামঞ্জস্যের কিছু প্রযুক্তিগত সুবিধা রয়েছে (পাশাপাশি কম অনুবাদ ক্যাশিংয়ের অসুবিধাও) এবং আরও নির্ভরযোগ্য বলে মনে করার কম প্রযুক্তিগত সুবিধা রয়েছে।
কোড ঘনত্ব সম্ভবত সিআইএসসি বাছাই করার জন্য দ্বিতীয় সবচেয়ে গুরুত্বপূর্ণ কারণ। কোড ঘনত্বের জন্য রেনেসাস আরএক্সকে একটি বিশেষত সিআইএসসি হিসাবে নকশা করা হয়েছিল কারণ এটি মাইক্রোকন্ট্রোলারকে লক্ষ্য করে যেখানে কোড মেমরির আকারটি একটি উল্লেখযোগ্য ব্যয়ের কারণ। পরিবর্তনশীল দৈর্ঘ্যের নির্দেশাবলী, জটিল নির্দেশাবলী (মূলত আরও সম্বোধনের মোডগুলি), অন্তর্নিহিত অপারেশনগুলি এবং নিম্ন রেজিস্টারে সমস্ত সুবিধা কোডের ঘনত্ব গণনা করা হয়।
সিআইএসসি বাছাই করার একটি historicalতিহাসিক (এবং আমার মতে বিভ্রান্তিমূলক) কারণ হ'ল উচ্চ স্তরের ভাষা এবং প্রসেসর ব্যবহার করে প্রোগ্রামারদের মধ্যে সিনেমিক ফাঁক বন্ধ করা। যেহেতু জটিল নির্দেশাবলী সাধারণত সরল নির্দেশাবলীর অনুক্রম দ্বারা প্রতিস্থাপন করা যায়, তাই আরআইএসসি-র জন্য উচ্চ স্তরের ভাষার সংকলকটির জটিলতা ভাষার সাথে মিলে যাওয়া সিআইএসসি-র চেয়ে বেশি জটিল হওয়া দরকার না। আরআইএসসি "শব্দার্থবিরোধী সংঘর্ষ" এড়ায় (যেখানে কোনও প্রসেসরের নির্দেশ সংশ্লিষ্ট ভাষার বিবরণের চেয়ে কম বা কম কাজ করে) এবং শক্তি হ্রাস এবং সময়সূচীকরণের অপ্টিমাইজেশনকে সহায়তা করে। ( আরও তথ্যের জন্য দেখুন "সিআইএসসি বনাম আরআইএসসি সম্পর্কিত সংকলক বিকাশের প্রচেষ্টায় ট্রেড অফগুলি কী কী?" দেখুন)
কোনও নির্দেশ নির্বাহের সাথে জড়িত একটি গুরুত্বপূর্ণ নির্ধারিত ব্যয় থাকতে পারে। এটি আরও প্রকৃত কাজের উপরে এই ওভারহেড ছড়িয়ে দিতে তুলনামূলকভাবে জটিল নির্দেশাবলীর ব্যবহারকে উত্সাহ দেয়; গতিশীল নির্দেশ গণনা হ্রাস কর্মক্ষমতা উন্নত করতে পারে। যুক্তি এবং র্যামের ব্যয় যখন আরওএম এর ব্যয়ের চেয়ে অনেক বেশি ছিল, তখন মাইক্রোকোড সন্ধান করে কোনও নির্দেশকে ডিকোড করে দেওয়ার কারণে জটিল নির্দেশাবলীর জন্য প্রণোদনা তাৎপর্যপূর্ণ ছিল।
ISতিহাসিক প্রমাণগুলির দ্বারা বিপরীত সিআইএসসি ব্যবহারের একটি কারণ হ'ল মাইক্রোকোড প্রতিটি মাইক্রোআরকিটেকচারের জন্য অনুকূলিত করা যেতে পারে তবে মানক গ্রন্থাগারগুলি কোনও নতুন বাস্তবায়নের বৈশিষ্ট্যগুলি শোষণ করতে ধীর হতে পারে। আরইপি এমওভিএসবি-র জন্য মাইক্রোকোডের তুলনায় মেমকোপি সফটওয়্যার বাস্তবায়নের অপ্টিমাইজেশন স্তরটি সূচিত করে যে গ্রন্থাগারগুলি মাইক্রোকোডের চেয়ে বেশি মনোযোগ পেতে পারে। এর একটি অংশ প্রসেসর বিক্রেতার কাছ থেকে একটি বিস্তৃত ব্যবহারকারী বেসকে লক্ষ্য করে আসতে পারে তাই ওপেন সোর্স বা অভ্যন্তরীণ সফ্টওয়্যারের তুলনায় প্রয়াসের ন্যায়সঙ্গত হওয়া আরও কঠিন হতে পারে যেখানে ডেভেলপারদের বা ব্যবহারকারীর স্থানীয় স্বার্থ বাস্তবায়ন প্রচেষ্টাটিকে পক্ষপাত করতে পারে।
প্রসেসরের সাথে একটি অপ্টিমাইজড স্ট্যান্ডার্ড লাইব্রেরি শিপ করতে সক্ষম হওয়ায় উল্লেখযোগ্য আকর্ষণ রয়েছে। প্ল্যাটফর্মের স্ট্যান্ডার্ড লাইব্রেরির স্টোরেজ এবং সম্পাদন সফ্টওয়্যার-হার্ডওয়্যার কোডাইন দ্বারা উল্লেখযোগ্যভাবে অনুকূল করা যেতে পারে। একটি জটিল নির্দেশ এবং একটি প্ল্যাটফর্ম বিমূর্ত স্তর স্তর কল মধ্যে পার্থক্য সূক্ষ্ম হতে পারে (বা অস্তিত্বহীন)। সিআইএসসি জটিল নির্দেশাবলীর জন্য যেমন পল কল পরিচালনা করতে একই বাস্তবায়ন কৌশলগুলি ব্যবহার করতে পারে, বিশেষত হার্ডওয়ারের সাথে সেট করা সাধারণ নির্দেশে সরবরাহ না করা অপারেশনগুলি ব্যবহার করে, চালাক ক্যাচিং এবং ডিকোডিং ব্যবহার করে এবং রেজিস্টার অপারেশনগুলি নির্দিষ্ট করে (যদিও সিআইএসসি করত) প্রায়শই প্রতি ফাংশন এবিআইয়ের অনুরূপ ডেডিকেটেড নিবন্ধগুলি ব্যবহার করুন)। সিআইএসসির সাথে যুক্ত মানসিক মডেল এ জাতীয় অপ্টিমাইজেশনকে উত্সাহিত করতে পারে। তদ্ব্যতীত, "জোর করে অন্তর্ভুক্ত করে ব্যবহারকারীরা কম বিরক্ত হতে পারেন"
তুলনামূলকভাবে জটিল নির্দেশাবলীর ডিকোডিংয়ের তুলনায় আইডিয়ামের স্বীকৃতির তুলনামূলক আরআইএসসি কৌশলের চেয়ে কম ওভারহেড (এবং সম্ভবত আরও নির্ভরযোগ্যভাবে সঠিকভাবে বিবেচনা করার ক্ষেত্রে সঠিক হতে পারে) থাকতে পারে যেখানে নির্দেশের ক্রমটি শব্দার্থক ইউনিট হিসাবে স্বীকৃত। এই ওভারহেড পার্থক্যটি একটি ছোট বাস্তবায়নের ক্ষেত্রে সবচেয়ে লক্ষণীয় হবে তবে এই তথ্য ব্যবহারের জন্য ওভারহেডটি ডিকোড সঞ্চয়গুলির তাত্পর্য হ্রাস করে।
অতিরিক্ত প্রাসঙ্গিক তথ্য হার্ডওয়্যার অপ্টিমাইজেশন সুবিধাজনক করতে পারে। উদাহরণস্বরূপ, মেমোরিতে কোনও মান বাড়ানোর সময়, হার্ডওয়্যার বুঝতে পারে যে মেমরি ঠিকানাটি দু'বার ব্যবহৃত হয় (লোড এবং স্টোরের জন্য) ক্যাশে ওয়ে মেমোয়েজেশন এবং অনুবাদ ক্যাশে করার সুযোগ সরবরাহ করে। জটিল নির্দেশাবলী স্পষ্টভাবে এই জাতীয় তথ্য সরবরাহ করতে পারে। একটি জটিল নির্দেশে, মধ্যবর্তী মানগুলির একটি সুস্পষ্ট আজীবন থাকে (সেই নির্দেশের); প্রাণবন্তের শেষ নির্দেশ করতে একটি traditionalতিহ্যবাহী আরআইএসসি রেজিস্টার মানগুলির সাথে স্পষ্টভাবে ওভাররাইট করা উচিত। (দ্রষ্টব্য: একটি আরআইএসসি একটি রেজিস্টার নির্দিষ্ট করতে পারে যা প্রতিটি ব্যবহারের পরে সর্বদা শূন্য থাকে, একক ব্যবহারের অস্থায়ী মান নির্দিষ্ট করার জন্য একটি উপায় সরবরাহ করে। এই নির্দেশাবলী মাঝারিভাবে আরও জটিল হবে))
যদি বাস্তবায়নের বিশদটি কোনও বিমূর্ত স্তরের পিছনে গোপন না থাকে, তবে বিভিন্ন ট্রেড অফের জন্য অনুকূলকরণের জন্য বিভিন্ন মাইক্রোআরকিটেকচার ব্যবহার করা আরও কঠিন হয়ে পড়ে। আর্কিটেকচারাল গ্যারান্টি হিসাবে মাইক্রোর্কিটেকচারাল বিবরণ প্রকাশ করা মাইক্রোআরকিটেকচারকে তুলনামূলক গ্যারান্টির মধ্যে তালা দেয়। যদিও PAL সফ্টওয়্যার জটিল নির্দেশাবলীর মতোই অনুকূলিত করা যায়, যেমন হার্ডওয়্যার-সফ্টওয়্যার কোডাইন প্রয়োজন। সাংগঠনিক বিচ্ছিন্নতা এবং বৈচিত্র্য কোডইনকে আরও কঠিন করে তোলে।
জটিল নির্দেশাবলী সুবিধাপ্রাপ্ত রাজ্যে সুরক্ষিত অ্যাক্সেস সরবরাহ করতে পারে। উদাহরণস্বরূপ, জটিল নির্দেশাবলী প্রায়শই বিঘ্নের ক্ষেত্রে পারমাণবিক হয়। যদিও একটি আরআইএসসি নির্দেশিকা সেট অস্থায়ীভাবে বাধা স্থগিত করার জন্য একটি ব্যবহারকারী-স্তরের প্রক্রিয়া সরবরাহ করতে পারে, সম্ভবত লিঙ্কড-লোডের মতো এমন কোনও কিছু যাতে সফ্টওয়্যার বিঘ্নিত হলে স্পষ্টতই অপারেশনটি পুনরায় চেষ্টা করে, যেমন সরবরাহ করা আরআইএসসিগুলির জন্য সাধারণ নয়।
একইভাবে, একটি জটিল নির্দেশ নিয়ন্ত্রিত অ্যাক্সেস এবং / অথবা সুবিধাযুক্ত তথ্যের ব্যবহার সরবরাহ করতে পারে। যেহেতু মৃত্যুদন্ডপ্রাপ্ত অপারেশনটি শব্দার্থকে নিয়ন্ত্রণ করেছে, প্রকৃত অধিকার লঙ্ঘন এড়ানো যায়। আরআইএসসি-ভিত্তিক বিকল্পগুলির মধ্যে রয়েছে পল কোড (যা সাধারণত উল্লেখযোগ্য ওভারহেড থাকে) এবং কনফিগারেশন রেজিস্টারগুলিতে (অথবা রেজিস্টারের ছায়া অনুলিপিগুলি) যেগুলি কিছু সুবিধাভোগী রাষ্ট্র রয়েছে তাদের অন্তর্ভুক্ত access একটি বা কয়েকটি বিশেষ মামলার (সিআইএসসি) সমাধান দেওয়ার চেয়ে সাধারণ সমাধান (আরআইএসসি) সরবরাহ করা আরও কঠিন, তবে বিশেষ ক্ষমতা জোগাতে আরও শক্তিশালী এবং কম দুর্বল। যদি কেউ বিশ্বাস করে যে গুরুত্বপূর্ণ বিশেষ কেস খুব কম, তবে সিআইএসসি আরও আকর্ষণীয় হতে পারে।
জটিল নির্দেশাবলীও সফ্টওয়্যার থেকে রাষ্ট্রকে আড়াল করতে পারে। এগুলির একটি উল্লেখযোগ্য সুবিধা প্রসঙ্গ সংরক্ষণ এবং পুনরুদ্ধারের জন্য হবে। রাষ্ট্রকে সংরক্ষণ এবং পুনরুদ্ধার করার নির্দেশাবলীর সাহায্যে, আর্কিটেকচারকে কেবল প্রসঙ্গের আকারটি ওএস-তে যোগাযোগ করতে হবে রাষ্ট্রকে মেমরিতে স্থানান্তর করার জন্য নির্দিষ্ট পদ্ধতি নয়। এটি লিগ্যাসি ওএসে চলমান অ্যাপ্লিকেশনগুলিকে আইএসএ এক্সটেনশানগুলি যুক্ত করে যা রাষ্ট্র যুক্ত করে। (আবার, পল সফ্টওয়্যার একই কার্যকারিতা সরবরাহ করতে পারে))
X86 এর বেশিরভাগ জটিলতা অনেকগুলি এক্সটেনশন জুড়ে সামঞ্জস্য থেকে আসে। জটিল এবং কম অরথোগোনাল নির্দেশাবলী (কোড ঘনত্বের জন্য দরকারী) দিয়ে, এমন কিছু কাজ সরিয়ে যা সাধারণভাবে প্রয়োজন হয় না, অপ্রয়োজনীয় নির্ভরতা শৃঙ্খলা (যেমন, কেবল একটি ক্যারি বিট, কেবলমাত্র একটি গতিশীল শিফট পরিমাণ রেজিস্ট্রার) এড়ানো, এমন কিছু কাজ যুক্ত করে যা পরিণত হয়েছে সাধারণভাবে ব্যবহৃত হতে পারে এবং জটিল নির্দেশের মধ্যে এটি অনুকূলিত করা যায় - এর যে কোনওটির জন্য একটি নতুন নির্দেশ যুক্ত করা প্রয়োজন এবং আইএসএকে কম নান্দনিকভাবে আনন্দদায়ক করা প্রয়োজন।
অনেক ক্ষেত্রে একটি আরআইএসসি এ জাতীয় সমস্যার মুখোমুখি হবে না কারণ নির্দেশাবলী অত্যন্ত অরগানীয় এবং আদিম। কিছু ক্ষেত্রে একটি আরআইএসসিকে নতুন আদিম সংযোজন করার প্রয়োজন হতে পারে তবে এগুলি সাধারণত একাধিক ব্যবহারের জন্য প্রযোজ্য।
এছাড়াও, জটিল নির্দেশাবলীর সমর্থনের জন্য অবকাঠামোটি একবার হয়ে গেলে অতিরিক্ত জটিল নির্দেশাবলীর জন্য বাধাগুলি হ্রাস করা হয়। এটি, পুনরাবৃত্তিতে জটিল নির্দেশাবলীর অনেক ব্যয় of দৃ R়ভাবে আরআইএসসি আইএসএ সিআইএসসি বৈশিষ্ট্যগুলি প্রবর্তনের ক্ষেত্রে পরিপূরক বাধা সহ্য করে।
X86 এর প্রসারণের ফ্রিকোয়েন্সিটি সাধারণ-উদ্দেশ্যমূলক কম্পিউটিং এবং মার্চেন্ট প্রসেসরের মডেলগুলির জন্য আংশিকভাবে এর জনপ্রিয়তার জন্য দায়ী করা যেতে পারে (এগুলি বাইনারি সামঞ্জস্যের গুরুত্বও বাড়ায়)। আরআইএসসি আইএসএগুলি প্রায়শই সিসেম বিক্রেতাদের সাথে আবদ্ধ থাকে যা অ্যাপ্লিকেশনগুলিতে সংকীর্ণ ফোকাসকে উত্সাহ দেয় এবং একটি নির্দিষ্ট আরআইএসসি আইএসএ বাস্তবায়নের জন্য প্রতিযোগিতার অভাবকে কিছুটা বিপণনের জন্য নির্দেশ সেট এক্সটেনশনের ব্যবহারকে নিরুৎসাহিত করে। জনপ্রিয়তা নতুন এক্সটেনশানগুলির বিকাশের ব্যয়কেও কম তাত্পর্যপূর্ণ করে তোলে (পুনরাবৃত্তি ব্যয়গুলি উচ্চতর পরিমাণে কম গুরুত্বপূর্ণ)।
X86 সামঞ্জস্যতা দর্শনের সম্ভবত আরও পরিষ্কার বিরতি প্রদানের পরিবর্তে বিদ্যমান ব্যবস্থাগুলি বাড়ানোর দিকে পক্ষপাতিত্ব করা হয়েছে যার অর্থ নতুন বৈশিষ্ট্য বিদ্যমান বৈশিষ্ট্যগুলির দ্বারা আরও বেশি প্রভাবিত হয়। উচ্চতর এক্সটেনশনের ফ্রিকোয়েন্সি আরও ক্রমবর্ধমান পরিবর্তনগুলিকে উত্সাহ দেয়, যা অर्थোগোনালিটি হ্রাস করার জন্য পুনরায় ব্যবহার পদ্ধতিগুলিকে উত্সাহ দেয়।
ক্লাসিক এমআইপিএসের একাডেমিক উপস্থাপনা (যা এমআইপিএসের আধুনিক সংস্করণের একটি উপসেট এবং বিভিন্ন alচ্ছিক আইএসএ এক্সটেনশানগুলি বাদ দেয়) আধুনিক x86 (যা বাইনারি সামঞ্জস্যতার পিছনে 16-বিট 8086 এবং এসেম্বলি-স্তরের অর্ধ-সামঞ্জস্যকে আরও পিছনে চিহ্নিত করে) এর সমস্ত historicalতিহাসিক ব্যাগেজ সিআইএসসির পক্ষে সেরা কেস বা আরআইএসসির জন্য বাস্তবের কোনও মামলা উপস্থাপন করে না।