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 અને ટ્રસ્ટઝોન જેવા સ્થાપત્ય સંબંધી નિર્ણયોમાં મદદ કરી હતી. એઆરમુલેટરને ધીમે ધીમે તબક્કાવાર દૂર કરવામાં આવ્યું છે અને તેને જસ્ટ-ઇન-ટાઇમ સંકલન-આધારિત ઉચ્ચ પ્રદર્શન સીપીયુ અને સિસ્ટમ મોડેલ્સ દ્વારા બદલવામાં આવ્યું છે (નીચે ફાસ્ટસિમ લિંક જુઓ). એઆરમુલેટર I ને ઓપન સોર્સ બનાવવામાં આવ્યું હતું અને એઆરમુલેટરના જીએનયુ વર્ઝન માટેનો આધાર છે. મુખ્ય તફાવતો મેમરી ઇન્ટરફેસ અને સેવાઓમાં છે, સૂચના ડીકોડ પણ અલગ રીતે કરવામાં આવે છે. જીએનયુ આર્મ્યુલેટર એઆરએમ જીએનયુ ટૂલ્સમાં જીડીબી ડિબગરના ભાગ રૂપે ઉપલબ્ધ છે. એઆરમુલેટર II એ એઆરએમ પ્રોસેસરોના ઉચ્ચ ચોકસાઈ, ચક્ર કૉલ કરી શકાય તેવા સહ-ચકાસણી મોડેલો માટેનો આધાર બનાવ્યો, આ કોવી મોડેલો (ચક્ર સચોટ સિમ્યુલેટર જુઓ) એઆરએમ પ્રોસેસરો માટે ઘણી કોવી ચકાસણી પ્રણાલીઓનો આધાર હતા. માર્ગદર્શક ગ્રાફિકની સીમલેસમાં બજારની અગ્રણી કોવી સિસ્ટમ છે જે ઘણા એઆરએમ કોર અને અન્ય ઘણા સીપીયુને ટેકો આપે છે. એઆરમુલેટર II એ પ્રારંભિક એઆરએમ ટૂલકીટો તેમજ પછીના એસ. ડી. ટી. 2.5, એસ. ડી. ટી. 2.5.1, એ. ડી. એસ. 1.0, એ. ડી. એસ. 1.1, એ. ડી. એસ. 1.2, આર. વી. સી. ટી. 1.0 અને અલગથી આર. વી. આઈ. એસ. એસ. તરીકે મોકલ્યા હતા. એઆરમુલેટર II માં મુખ્ય યોગદાન આપનારાઓમાં માઇક વિલિયમ્સ, લુઇસ જેમ્સન, ચાર્લ્સ લેવેન્ડર, ડોનાલ્ડ સિન્કલેર, ક્રિસ લેમ્બ અને રેબેકા બ્રાયન (જેમણે એઆરમુલેટર પર એન્જિનિયર અને પછીથી પ્રોડક્ટ મેનેજર તરીકે કામ કર્યું હતું) હતા. એલન સ્કિલમેન દ્વારા પણ નોંધપાત્ર ઇનપુટ આપવામાં આવ્યું હતું, જે તે સમયે એઆરએમ કો-વેરિફિકેશન મોડલ પર કામ કરી રહ્યા હતા. એઆરમુલેટર I માં મુખ્ય યોગદાન આપનાર ડેવ જગર હતા. સીપીયુના વિકાસ દરમિયાન ખાસ મોડેલોનું ઉત્પાદન કરવામાં આવ્યું હતું, ખાસ કરીને એઆરએમ9ઇ, એઆરએમ10 અને એઆરએમ11, આ મોડેલોએ થમ્બ-2 અને ટ્રસ્ટઝોન જેવા સ્થાપત્ય સંબંધી નિર્ણયોમાં મદદ કરી હતી. એ. આર. એમ. આર્કિટેક્ચર કોમ્પ્યુટર આર્કિટેક્ચર સિમ્યુલેટર ઓ. વી. પી. સિમ કેમુ સિમિક્સ સંદર્ભો બાહ્ય લિંક્સ સત્તાવાર એ. આર. એમ્યુલેટર માહિતી યુક્લિનક્સ જી. ડી. બી. એ. આર. એમ્યુલેટર હોમપેજ આર. વી. આઈ. એસ. એસ. (એ. આર. એમ્યુલેટર) વપરાશકર્તા માર્ગદર્શિકા માર્ગદર્શકનું સીમલેસ હોમપેજ ઇમ્પેરાસનું હોમપેજઃ એ. આર. એમ. કોર એ. આર. એમ. ફાસ્ટ મોડલ્સ દસ્તાવેજીકરણ (ફાસ્ટસિમ) લાલ ખિસકોલી એકોર્ન આર્કિમિડીઝ એમુલેટર ઓપન સોર્સ એ. આર. એમ. ઇમ્યુલેટરની સૂચિ જી. એન. યુ. ડીબગર એ. આર. એમ. આર્કિટેક્ચર ફ્રી સિમ્યુલેશન સોફ્ટવેર વર્ષ પરિચય ખૂટે છે