ARMulator
এআরএম ইন্সট্রাকশন সেট সিমুলেটর, যা এআরমুলেটর নামেও পরিচিত, এআরএম-ভিত্তিক চিপের সমস্ত ব্যবহারকারীদের এআরএম লিমিটেডের ডেভেলপমেন্ট সিস্টেম বিজনেস ইউনিট দ্বারা প্রদত্ত সফ্টওয়্যার ডেভেলপমেন্ট সরঞ্জামগুলির মধ্যে একটি। সোফি উইলসনের নির্দেশের প্রাথমিক বিকাশের জন্য এটি তার ঐতিহ্যের জন্য ঋণী। এই ঐতিহ্যের কিছু অংশ এখনও এআরমুলেটরে একটি টিউব বিবিসি মাইক্রো মডেলের বিধানে দৃশ্যমান। বৈশিষ্ট্যগুলি এআরমুলেটর সি-তে লেখা হয় এবং এটি কেবল একটি নির্দেশ সেট সিমুলেটরের চেয়েও বেশি কিছু সরবরাহ করে, এটি সিস্টেম অনুকরণের জন্য একটি ভার্চুয়াল প্ল্যাটফর্ম সরবরাহ করে। এটি একটি এআরএম প্রসেসর এবং নির্দিষ্ট এআরএম সহপ্রসেসর অনুকরণ করার জন্য প্রস্তুত। যদি প্রসেসরটি একটি এমবেডেড সিস্টেমের অংশ হয়, তবে লাইসেন্সধারীরা এআরমুলেটর মডেলে অতিরিক্ত হার্ডওয়্যারের নিজস্ব বাস্তবায়ন যুক্ত করতে এআরমুলেটরকে প্রসারিত করতে পারে। এআরমুলেটর সময়-ভিত্তিক আচরণ এবং ইভেন্টের সময়সূচীতে সহায়তা করার জন্য বেশ কয়েকটি পরিষেবা সরবরাহ করে এবং মেমরি ম্যাপ এবং সহ-প্রসেসর সম্প্রসারণের উদাহরণ সহ জাহাজ সরবরাহ করে। এইভাবে, তারা তাদের সম্পূর্ণ এমবেডেড সিস্টেম অনুকরণ করতে এআরমুলেটর ব্যবহার করতে পারে। এআরমুলেটরের একটি প্রধান সীমাবদ্ধতা হল এটি একবারে শুধুমাত্র একটি এআরএম সিপিইউ অনুকরণ করতে পারে, যদিও এআরএম11 পর্যন্ত প্রায় সমস্ত এআরএম কোর উপলব্ধ। এআরমুলেটর-এর কার্যকারিতা ব্যবহৃত প্রযুক্তির জন্য ভাল, এটি প্রতি এআরএম নির্দেশে প্রায় 1000 হোস্ট (পিসি) নির্দেশাবলী। এর মানে হল যে 90-এর দশকের মাঝামাঝি থেকে শেষের দিকে পিসিগুলির জন্য 1 মেগাহার্টজের অনুকরণীয় গতি স্বাভাবিক ছিল। নির্ভুলতাও ভাল, যদিও এটি সঠিক চক্রের পরিবর্তে সঠিক চক্র গণনা হিসাবে শ্রেণীবদ্ধ করা হয়, এর কারণ হল এআরএম পাইপলাইন সম্পূর্ণরূপে মডেল করা হয় না (যদিও রেজিস্টার ইন্টারলকগুলি হয়)। রেজোলিউশন একটি নির্দেশের জন্য, ফলস্বরূপ যখন রেজিস্টার ইন্টারলকগুলি একক ধাপ উপেক্ষা করা হয় এবং প্রোগ্রামটি কেবল চালানোর চেয়ে বিভিন্ন চক্র গণনা ফেরত দেওয়া হয়, এটি অনিবার্য ছিল। এআরমুলেটর পরীক্ষা করা সবসময়ই একটি সময়সাপেক্ষ চ্যালেঞ্জ ছিল, সম্পূর্ণ এআরএম স্থাপত্য বৈধতা স্যুটগুলি নিযুক্ত করা হয়েছিল। সি কোডের 1 মিলিয়নেরও বেশি লাইনে এটি মোটামুটি ভারী পণ্য ছিল। এআরমুলেটর আর্মসডি (এআরএম সিম্বলিক ডিবাগার) বা এসডিটি এবং পরবর্তী এডিএস পণ্যগুলিতে পাঠানো গ্রাফিকাল ডিবাগারগুলির ব্যবহার করে রানটাইম ডিবাগিংয়ের অনুমতি দেয়। এআরমুলেটর একটি টেক্সট ফাইল কনফিগারেশন (armul.conf) সহ একটি অদৃশ্য সরঞ্জাম হিসাবে ভুগছিল যা অনেকে কনফিগার করতে জটিল বলে মনে করেছিল। এআরএম প্রসেসরের উচ্চ নির্ভুলতা, চক্র কলযোগ্য সহ-যাচাইকরণ মডেলের ভিত্তি তৈরি করে এআরমুলেটর II, এই সিওভি মডেলগুলি (চক্র নির্ভুল সিমুলেটর দেখুন) এআরএম প্রসেসরের জন্য অনেক কোভেরিফিকেশন সিস্টেমের ভিত্তি ছিল। ম্যাক, আরআইএসসি ওএস প্ল্যাটফর্ম, ডিইসি আলফা, এইচপি-ইউএক্স, সোলারিস, সানওএস, উইন্ডোজ, লিনাক্স সহ এআরমুলেটর তার জীবনকাল জুড়ে খুব বিস্তৃত প্ল্যাটফর্মে উপলব্ধ ছিল। 1990-এর দশকের মাঝামাঝি সময়ে উইন্ডোজ প্ল্যাটফর্মগুলিকে সমর্থন করতে অনীহা ছিল; উইন্ডোজ 95-এর আগে এটি একটি তুলনামূলকভাবে চ্যালেঞ্জিং প্ল্যাটফর্ম ছিল। 1990-এর দশকের শেষের দিকে এবং 2000-এর দশকের গোড়ার দিকে সোলারিস, উইন্ডোজ এবং লিনাক্স ছাড়া সকলের জন্য সমর্থন সরিয়ে ফেলা হয়েছিল-যদিও নিঃসন্দেহে কোড বেসটি #ifdef RISCOS-এর মতো ব্যবহারিক পদ্ধতিতে ভরা রয়েছে। এআরমুলেটর II প্রাথমিক এআরএম টুলকিটের পাশাপাশি পরবর্তী এসডিটি 2.5, এসডিটি 2.5.1, এডিএস 1.0, এডিএস 1.1, এডিএস 1.2, আরসিভিটি 1.0 এবং আলাদাভাবে আরভিআইএসএস হিসাবে পাঠানো হয়েছিল। সিপিইউগুলির বিকাশের সময় বিশেষ মডেল তৈরি করা হয়েছিল, বিশেষত এআরএম9ই, এআরএম10 এবং এআরএম11, এই মডেলগুলি থাম্ব-2 এবং ট্রাস্টজোনের মতো স্থাপত্য সিদ্ধান্তে সহায়তা করেছিল। এআরমুলেটর ধীরে ধীরে পর্যায়ক্রমে বাদ দেওয়া হয়েছে এবং জাস্ট-ইন-টাইম সংকলন-ভিত্তিক উচ্চ কার্যকারিতা সিপিইউ এবং সিস্টেম মডেল দ্বারা প্রতিস্থাপিত হয়েছে (নীচে ফাস্টসিম লিঙ্ক দেখুন)। এআরমুলেটর 1-কে ওপেন সোর্স করা হয়েছিল এবং এটি এআরমুলেটরের জিএনইউ সংস্করণের ভিত্তি। মূল পার্থক্যগুলি মেমরি ইন্টারফেস এবং পরিষেবাগুলিতে রয়েছে, এছাড়াও নির্দেশ ডিকোডটি ভিন্নভাবে করা হয়। জি. ডি. বি ডিবাগারের অংশ হিসেবে এ. আর. এম জি. এন. ইউ টুলস-এ জি. এন. ইউ এ. আর. মুলেটর পাওয়া যায়। এআরএম প্রসেসরের উচ্চ নির্ভুলতা, চক্র কলযোগ্য সহ-যাচাইকরণ মডেলের ভিত্তি তৈরি করে এআরমুলেটর II, এই সিওভি মডেলগুলি (চক্র নির্ভুল সিমুলেটর দেখুন) এআরএম প্রসেসরের জন্য অনেক কোভেরিফিকেশন সিস্টেমের ভিত্তি ছিল। মেন্টর গ্রাফিকের সিমলেস-এ বাজারের শীর্ষস্থানীয় সিওভি সিস্টেম রয়েছে যা অনেক এআরএম কোর এবং অন্যান্য অনেক সিপিইউ সমর্থন করে। এআরমুলেটর II প্রাথমিক এআরএম টুলকিটের পাশাপাশি পরবর্তী এসডিটি 2.5, এসডিটি 2.5.1, এডিএস 1.0, এডিএস 1.1, এডিএস 1.2, আরভিসিটি 1.0 এবং পৃথকভাবে আরভিআইএসএস হিসাবে পাঠানো হয়েছিল। দ্বিতীয় এআরমুলেটরে মূল অবদানকারীরা ছিলেন মাইক উইলিয়ামস, লুইস জেমসন, চার্লস ল্যাভেন্ডার, ডোনাল্ড সিনক্লেয়ার, ক্রিস ল্যাম্ব এবং রেবেকা ব্রায়ান (যিনি এআরমুলেটরে প্রকৌশলী এবং পরে পণ্য ব্যবস্থাপক হিসাবে কাজ করেছিলেন)। অ্যালান স্কিলম্যানও উল্লেখযোগ্য ইনপুট দিয়েছিলেন, যিনি সেই সময়ে এআরএম কোভেরিফিকেশন মডেলগুলিতে কাজ করছিলেন। ডেভ জাগগার ছিলেন এআরমুলেটর আই-এর একজন প্রধান অবদানকারী। সিপিইউগুলির বিকাশের সময় বিশেষ মডেল তৈরি করা হয়েছিল, বিশেষত এআরএম9ই, এআরএম10 এবং এআরএম11, এই মডেলগুলি থাম্ব-2 এবং ট্রাস্টজোনের মতো স্থাপত্য সিদ্ধান্তে সহায়তা করেছিল। আরও দেখুন এআরএম আর্কিটেকচার কম্পিউটার আর্কিটেকচার সিমুলেটর ওভিপসিম কেমু সিমিক্স রেফারেন্স এক্সটার্নাল লিঙ্ক অফিসিয়াল এআরমুলেটর তথ্য ইউক্লিনাক্স জিডিবি এআরমুলেটর হোমপেজ আরভিআইএসএস (এআরমুলেটর) ইউজার গাইড মেন্টরের সিমলেস হোমপেজ ইম্পেরাসের হোমপেজঃ এআরএম কোর এআরএম ফাস্ট মডেলস ডকুমেন্টেশন (ফাস্টসিম) রেড স্কুইরেল অ্যাকোর্ন আর্কিমিডিস এমুলেটর ওপেন সোর্স এআরএম এমুলেটরের একটি তালিকা জিএনইউ ডিবাগার এআরএম আর্কিটেকচার ফ্রি সিমুলেশন সফ্টওয়্যার বছরের ভূমিকা অনুপস্থিত