MikroSim
મિક્રોસિમ એ માઇક્રોસોફ્ટ વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ પર ચાલતા વર્ચ્યુઅલ પ્રોસેસરની સામાન્ય કામગીરી અને વર્તનની હાર્ડવેર-બિન-વિશિષ્ટ સમજૂતી માટેનો એક શૈક્ષણિક સોફ્ટવેર કમ્પ્યુટર પ્રોગ્રામ છે. લઘુચિત્રિત કેલ્ક્યુલેટર, માઇક્રોકન્ટ્રોલર, માઇક્રોપ્રોસેસર્સ અને કમ્પ્યુટર જેવા ઉપકરણોને માઇક્રો સૂચનાઓ (માઇક્રોકોડ) ના ક્રમ દ્વારા નિયંત્રિત રજિસ્ટર ટ્રાન્સફર સ્તર પર કસ્ટમ-વિકસિત સૂચના કોડ પર સમજાવી શકાય છે. આના આધારે અમૂર્તતાના ઉચ્ચ સ્તર પર વર્ચ્યુઅલ એપ્લિકેશન બોર્ડને નિયંત્રિત કરવા માટે સૂચના સમૂહ વિકસાવવો શક્ય છે. સામાન્ય શરૂઆતમાં મિક્રોસિમને શૈક્ષણિક ક્ષેત્રોમાં વ્યાપકપણે ઉપલબ્ધ થવા માટે પ્રોસેસર સિમ્યુલેશન સોફ્ટવેર તરીકે વિકસાવવામાં આવ્યું હતું. માઇક્રોસિમ ઓપરેબિલિટી માઇક્રોકોડ ડેવલપમેન્ટના આધારે શરૂ થાય છે, જેને વર્ચ્યુઅલ કંટ્રોલ યુનિટ માટે માઇક્રો ઇન્સ્ટ્રક્શન્સ (માઇક્રોકોડિંગ) ના ક્રમ તરીકે વ્યાખ્યાયિત કરવામાં આવે છે, તેથી સોફ્ટવેરનો હેતુ CPU સિમ્યુલેટર્સ અને ઇન્સ્ટ્રકશન સેટ ઇમ્યુલેટર્સની ક્ષમતા સહિત વિવિધ સ્તરોના અમૂર્તતા સાથે માઇક્રોકોડ સિમ્યુલેટરનો પ્રથમ અભિગમ છે. વર્તમાન સોફ્ટવેર પુનરાવર્તનમાં માઇક્રોકોડ નિયંત્રિત વર્ચ્યુઅલ એપ્લિકેશન માટે પોતાના કોડેડ સૂચના સમૂહો પર કામ કરવું શક્ય છે. મિક્રોસિમ સાથે કોમ્પ્યુટર એન્જિનિયરિંગના ક્ષેત્રમાં કોમ્પ્યુટર આર્કિટેક્ચર અને સૂચના સમૂહ આર્કિટેક્ચર જેવી લાક્ષણિક અને જાણીતી વિભાવનાઓને બિન-વિશિષ્ટ રીતે ગણવામાં આવે છે, જે માહિતી યુગના શરૂઆતના દિવસોથી સ્થાપિત કરવામાં આવી છે અને હજુ પણ માન્ય છે. આ રીતે સિમ્યુલેશન સોફ્ટવેર ભૂતકાળ અને ભવિષ્યના વિશેષ વિકાસ પર પ્રતિબંધિત થયા વિના કાલાતીત, મફત ઉપદેશાત્મક લાભ મેળવે છે. વિગતવાર દસ્તાવેજીકરણ અને જર્મન અને અંગ્રેજીમાં દ્વિભાષી એપ્લિકેશનનું ગ્રાફિકલ યુઝર ઇન્ટરફેસ (GUI), તેમજ માઇક્રોસોફ્ટની ઓપરેટિંગ સિસ્ટમ વિન્ડોઝ દ્વારા અમુક અંશે આપવામાં આવેલી સોફ્ટવેરની ઉપરની સુસંગતતા, 1992 થી કમ્પ્યુટર એન્જિનિયરિંગના ક્ષેત્રમાં એક સુસ્થાપિત, મૂલ્યવાન ઇ-લર્નિંગ ટૂલ બનવાના કારણો છે. વિકાસનો ઇતિહાસ સોફ્ટવેર એમએસ-ડોસ ઓપરેટિંગ સિસ્ટમ્સ માટે સંકલિત ટર્બો પાસ્કલ હેઠળ લખાયેલા સંસ્કરણ પર આધારિત છે, જેનો ઉપયોગ 1992 સુધી ફિલિપ્સ-યુનિવર્સિટી મારબર્ગ (જર્મની) ખાતે કોમ્પ્યુટર એન્જિનિયરિંગ અને કોમ્પ્યુટર વિજ્ઞાનમાં શૈક્ષણિક હેતુઓ માટે કરવામાં આવ્યો હતો. આ ખ્યાલ માર્ટિન પર્નર દ્વારા 1992ના ઉનાળામાં તેમના ભૌતિકશાસ્ત્રના અભ્યાસ દરમિયાન (1990-95) લેવામાં આવ્યો હતો, તેમાં સુધારો કરવામાં આવ્યો હતો અને માઇક્રોસોફ્ટ વિઝ્યુઅલ બેઝિક સાથે સંકલિત અને વિન્ડોઝ 3.1x પર ચાલતી વિન્ડોઝ એપ્લિકેશનમાં રૂપાંતરિત કરવામાં આવી હતી. આમ કરવાથી, આ સમયે માઇક્રોકોડની રચનાને ટેકો આપવા અને તેના સૂચનાત્મક પ્રભાવને શોધી કાઢવા માટે એમએસ વિન્ડોઝના જીયુઆઈની નવીન કાર્યક્ષમતા અને ઉપયોગનો ઉપયોગ કરીને વિશાળ વૈચારિક સુધારાઓ સાથેનું સિમ્યુલેટર ઉભરી આવ્યું હતું. વિન્ડોઝ હેઠળ ઇ-લર્નિંગ ટૂલના ઉન્નતીકરણોને 1995ના અંત સુધી હેઇન્ઝ-પીટર ગુમ દ્વારા મારબર્ગ યુનિવર્સિટીના ફેકબેરીચ મેથેમેટિક/ઇન્ફોર્મેટિક દ્વારા સમર્થન અને પ્રોત્સાહન આપવામાં આવ્યું છે. સિમ્યુલેટરને નવેમ્બર 1994માં હીડલબર્ગ (જર્મની) માં કોમ્પ્યુટર વિજ્ઞાન શ્રેણીમાં "યુરોપિયન એકેડેમિક સોફ્ટવેર એવોર્ડ 1994" થી સન્માનિત કરવામાં આવ્યું છે. માર્ચ 1995માં હેન્નોવરમાં "હેસિસ્ચેન હોસ્ક્યુલેન" ના પ્રદર્શનમાં કોમ્પ્યુટર પ્રદર્શન સીઇબીઆઇટી '95માં સિમ્યુલેટર રજૂ કરવામાં આવ્યું હતું. 1995 અને 2000 ની વચ્ચે સિમ્યુલેટરને કોઈ નોંધપાત્ર સુધારા વિના "મિક્રોકોડેસિમ્યુલેટર મિક્રોસિમ 1.2" તરીકે પ્રકાશિત કરવામાં આવ્યું હતું. આ સમયે ટૂલને "યુરોપિયન યર ઓફ લાઇવલોંગ લર્નિંગ 1996" સાથે જોડાણમાં યુરોપિયન યુનિયન તરફથી 1000 ઇસીયુનો એવોર્ડ મળ્યો હતો. 1997 માં, "લર્નટેક '97" પ્રદર્શનના સંબંધમાં "મલ્ટિમીડિયા ટ્રાન્સફર' 97" સ્પર્ધામાં સોફ્ટવેર રજૂ કરવામાં આવ્યું હતું. તેના ઉપાંત્ય પુનરાવર્તનમાં, સિમ્યુલેટરને "મિક્રોકોડસિમ્યુલેટર મિક્રોસિમ 2000" હેઠળ પ્રકાશિત કરવામાં આવ્યું છે, જે એમએસ વિન્ડોઝ 95ના 32-બીટ ઓપરેશન માટે ઓપ્ટિમાઇઝ કરવામાં આવ્યું છે. 2008 અને 2009 ની વચ્ચે, સિમ્યુલેટર ખ્યાલમાં સુધારો કરવામાં આવ્યો છે, ફરીથી કામ કરવામાં આવ્યું છે અને વિચારશીલ વિસ્તરણ કરવામાં આવ્યું છે. તેથી તેને કોરમાં માઇક્રોકોડ સિમ્યુલેશન ક્ષમતાઓના સફળ વૈચારિક પાસાઓને સ્પર્શ કર્યા વિના વ્યાપક સુધારાઓ અને વિસ્તરણ પ્રાપ્ત થયા છે. આ હેતુ માટે, મિક્રોસિમની સિમ્યુલેશન શક્યતાઓને વર્ચ્યુઅલ એપ્લિકેશન બોર્ડના તબક્કા સુધી વિસ્તારવા માટે ઓપરેટિંગ સિસ્ટમ અને અંતર્ગત કોમ્પ્યુટેશનલ શક્તિ દ્વારા નિર્ધારિત આજની કમ્પ્યુટિંગ સિસ્ટમની કામગીરીનો લાભ લેવામાં આવે છે. મિક્રોસિમ અનિયંત્રિત સુસંગતતા માટે અને 32-બીટ સંસ્કરણ તરીકે એમએસ વિન્ડોઝ એક્સપી માટે શક્ય તેટલા વ્યાપક વિતરણ માટે સંકલિત અને ઑપ્ટિમાઇઝ કરવામાં આવે છે. આ કાર્યક્રમ એમએસ વિન્ડોઝ વિસ્ટા અને એમએસ વિન્ડોઝ 7ની તમામ 32-અને 64-બીટ ઓપરેટિંગ સિસ્ટમ્સ પર ચાલે છે. આથી, કોઈ વિશેષ XP સુસંગતતા મોડની જરૂર નથી. જાન્યુઆરી 2010 થી, સિમ્યુલેટરને 0/1-સિમવેર દ્વારા "મિક્રોકોડસિમ્યુલેટર મિક્રોસિમ 2010" તરીકે વિતરિત કરવામાં આવે છે. કાર્યાત્મકતા વિન્ડોઝ એપ્લિકેશન વર્ચ્યુઅલ એપ્લિકેશનની ક્રમિક સ્થાપના માટે પરવાનગી આપે છે જે પૂર્વનિર્ધારિત છે અને તેની કાર્યક્ષમતામાં અપરિવર્તનીય છે. એક્સપ્લોરેશન મોડમાં, ચક્રની અંદર એક માઇક્રોકોડ સૂચનાથી પ્રભાવિત નવા ઉમેરાયેલા ઘટકોના સંચાલન સિદ્ધાંત અને નિયંત્રણનું મૂલ્યાંકન કરી શકાય છે. મિક્રોસિમની સૂક્ષ્મ સૂચનાઓની પહોળાઈ 49 બિટ્સ છે. એક સૂક્ષ્મ સૂચના 3-તબક્કાની ઘડિયાળના ત્રણ તબક્કામાં ચલાવવામાં આવે છે. આંશિક તબક્કાઓને "GET", "CALCULATE" અને "PUT" તબક્કા તરીકે ઓળખવામાં આવે છે, જે કેટલાક રજિસ્ટર મૂલ્ય મેળવવા, 32-બીટ ગણતરીને અમલમાં મૂકવા અને ગણતરીના પરિણામને CPU ના આંતરિક રજિસ્ટરમાં સંગ્રહિત કરવા માટેનું કારણ બને છે. સિમ્યુલેશન મોડમાં, એકીકૃત રીતે ચલાવવામાં આવતી સૂક્ષ્મ સૂચનાઓ અનુગામી ચક્રમાં સિમ્યુલેટરના કેન્દ્રીય પ્રક્રિયા એકમને નિયંત્રિત કરે છે. તેથી, એક સૂક્ષ્મ સૂચનાની આંતરિક ક્ષમતાનો ઉપયોગ નિયંત્રણ ભંડારમાં આગામી સૂક્ષ્મ સૂચનાને સંબોધવા માટે થાય છે. સૂક્ષ્મ સૂચના સમૂહ (સામાન્ય રીતે "માઇક્રોકોડ" તરીકે ઓળખાય છે) ધરાવતો નિયંત્રણ ભંડાર દરેક 49-બીટ પહોળા 1024 સૂક્ષ્મ સૂચના શબ્દોનો સમાવેશ કરે છે. માઇક્રોકોડની એડ્રેસેબલ શેડ્યુલિંગ અને ચક્રીય ઓપરેટિંગ મશીન કોડ ઇન્ટરપ્રિટરના અમલીકરણ માટે કંટ્રોલ સ્ટોરની માળખાકીય તકોનો ઉપયોગ કરવો, જે માઇક્રોકોડમાં પ્રોગ્રામ કરવામાં આવે છે તેમજ વ્યક્તિગત માઇક્રો-ઓપરેશન સિક્વન્સના અમલીકરણને મંજૂરી આપે છે, જેને મશીન સૂચનાઓ તરીકે ઓળખવામાં આવે છે. માઇક્રોકોડને મિક્રોસિમ માટે ફર્મવેર તરીકે ગણી શકાય, જેને સુધારી શકાય છે, અને માઇક્રોકોડ-રોમ-ફાઇલમાંથી સંગ્રહિત કરી શકાય છે અને ફરીથી લોડ કરી શકાય છે. માઇક્રો ઇન્સ્ટ્રક્શન એક્ઝેક્યુશન સાયકલમાં, CPU તેમજ ઇનપુટ/આઉટપુટ કંટ્રોલર બાહ્ય 16 kByte વિશાળ રેન્ડમ એક્સેસ મેમરી ડિવાઇસ (RAM) સાથે જોડાયેલ છે. ઇનપુટ-આઉટપુટ નિયંત્રક ઉપકરણ દ્વારા, વર્ચ્યુઅલ ઇનપુટ અને આઉટપુટ ઉપકરણો સાથેના સંચારને ડાયરેક્ટ મેમરી એક્સેસ મોડ (DMA), ઇન્ટર-ઇન્ટિગ્રેટેડ સર્કિટ કનેક્શન (I2C) અને ઇન્ટરપ્ટ વિનંતી કાર્યક્ષમતા (IRQ) દ્વારા સમર્થન આપવામાં આવે છે. બાહ્ય ઉપકરણો સાથેના સંદેશાવ્યવહારને વ્યવહારિક રીતે સમજાવવા માટે આઉટપુટ પોર્ટ, ડિસ્પ્લે, ટાઈમર, ઇવેન્ટ ટ્રિગર, ડિજિટલ-એનાલોગ કન્વર્ટર, કીબોર્ડ અને ડેટા ઇનપુટ/આઉટપુટ ચેનલ વર્ચ્યુઅલ આઇસી ઉપકરણ તરીકે પ્રદાન કરવામાં આવે છે. માઇક્રોકોડ સિમ્યુલેટર 32-બીટ અંકગણિત તર્ક એકમ (ALU) સાથે જોડાયેલા દરેક 32-બીટ પહોળા મુક્તપણે ઉપયોગ કરી શકાય તેવા આઠ રજિસ્ટરનો ઉપયોગ કરે છે. રજિસ્ટર સામગ્રીને હસ્તાક્ષરિત અથવા સહી વગરના પૂર્ણાંક મૂલ્યો તરીકે અથવા 32-બીટ ફ્લોટિંગ પોઇન્ટ નંબરો તરીકે ગણી શકાય. રજિસ્ટર સામગ્રીને સરળતાથી જોઈ શકાય છે, અર્થઘટન કરી શકાય છે અને સંકલિત સિસ્ટમ નંબર એડિટર તરીકે બિટવાઇઝ સુધારી શકાય છે. 32-બીટ ALU એ કેન્દ્રીય પ્રક્રિયા એકમનું મુખ્ય એકમ છે. તે પૂર્ણાંક કામગીરી, વિક્ષેપ નિયંત્રણ અને ફ્લોટિંગ પોઇન્ટ અંકગણિત માટે 128 વિવિધ મૂળભૂત અંકગણિત કામગીરીને ટેકો આપે છે. ફ્લોટિંગ પોઇન્ટ ગણતરીઓ માટે ઉપદેશાત્મક અભિગમ, જે પહેલેથી જ 1940 ના દાયકાની શરૂઆતમાં કોનરેડ ઝુસે દ્વારા તુલનાત્મક રીતે રજૂ કરવામાં આવ્યો છે, તે ઉમેરો/બાદબાકી અને ગુણાકાર/વિભાજનની મુખ્ય કામગીરીમાં સામેલ ઘાતાંક અને મેન્ટિસા માટે મૂળભૂત પેટા-સ્તરની કામગીરીનો ઉપયોગ કરીને રજૂ કરવામાં આવ્યો છે. મેન્ટિસામાં શક્તિશાળી 32-બીટ ફ્લોટિંગ પોઇન્ટ અંકગણિત આદેશોનો સમૂહ અને મૂળભૂત કામગીરીઓ અને પ્રાથમિક વિશ્લેષણાત્મક કાર્યો માટે ઘાતાંક પ્રદાન કરવામાં આવે છે, કારણ કે તે આજના ગાણિતિક કોપ્રોસેસર્સમાં અનુભવાય છે. અહીં, મિક્રોસિમ સાથેના સિમ્યુલેશનમાં આદર્શ રીતે એવું માનવામાં આવે છે કે દરેક સમર્થિત ALU અંકગણિત કામગીરીના અમલ માટે વ્યવહારમાં વાસ્તવિક રીતે જરૂરી સર્કિટ જટિલતાથી સ્વતંત્ર માત્ર એક અલગ કમ્પ્યુટિંગ સમયગાળાની જરૂર છે. સૂક્ષ્મ સૂચનાઓના અમલને વિવિધ ટેમ્પોરલ રિઝોલ્યુશન સાથે વિવિધ સિમ્યુલેશન સ્તરો પર સંચાલિત કરી શકાય છેઃ સૌથી નીચા સિમ્યુલેશન સ્તરમાં, સિમ્યુલેટર GET, CALCULATE અને PUT તબક્કાના તબક્કાવાર અમલને ટેકો આપે છે. વધુ સારી રીતે શોધી શકાય તે માટે એડજસ્ટેબલ વિલંબ સાથે આંશિક તબક્કાઓની પ્રક્રિયા શક્ય છે. આગામી ઉપલા સ્તરમાં, વર્તમાન સૂક્ષ્મ સૂચના સમય વિલંબ વિના સંપૂર્ણ ત્રણ તબક્કાની ઘડિયાળમાં ચલાવવામાં આવે છે. કેટલાક 3-તબક્કાના ઘડિયાળ ચક્રના સતત અમલને કહેવાતા "લોડ ઈન્ક્રીમેન્ટ એક્ઝિક્યુટ" (LIE) ચક્રમાં ટેકો આપવામાં આવે છે. માઇક્રોકોડમાં લખાયેલા દુભાષિયા તરીકે ગણવામાં આવતા LIE ચક્રમાં બાહ્ય RAM માંથી બાઈટ મૂલ્ય તરીકે કોડેડ મશીન સૂચનાઓ લોડ કરવાનું અને ઓપકોડ દ્વારા આપવામાં આવેલા અમલ માટે સંદર્ભિત માઇક્રોકોડ સબરૂટિનમાં માઇક્રો સૂચના ક્રમને શાખા કરવા અને આગામી મશીન સૂચના પુનઃપ્રાપ્ત કરવા માટે LIE પર પાછા ફરવાનું કાર્ય છે. એક એક્ઝેક્યુશન સ્તર ઊંચું હોય છે, જ્યાં સુધી વપરાશકર્તા-નિર્ધારિત વિરામ બિંદુ સુધી પહોંચી ન જાય ત્યાં સુધી અનેક મશીન સૂચનાઓનો ક્રમ એક્ઝેક્યુટેબલ હોય છે, જે મશીન કોડ ક્રમમાં મૂકવામાં આવે છે. બ્રેક પોઇન્ટ વચ્ચે રનનો સમય માપવો શક્ય છે. તેથી મશીન અને માઇક્રોકોડ સ્તર પર અમલીકરણ પ્રદર્શનને બેન્ચમાર્ક કરવું શક્ય છે. સૌથી ટોચના સિમ્યુલેશન સ્તરમાં માઇક્રોકોડ સિમ્યુલેટર વિક્ષેપ વિના સતત સૂક્ષ્મ સૂચનાઓ ચલાવે છે. આ સ્તરમાં, મશીન સૂચના દ્વારા મશીન સૂચના લોડ કરવામાં આવે છે. તેથી, બાહ્ય ઉપકરણો સાથે CPU ની ક્રિયાપ્રતિક્રિયા પર ધ્યાન કેન્દ્રિત કરવું શક્ય છે. વિવિધ વધારાના વિકલ્પો સાથે, જ્યારે મશીન પ્રોગ્રામિંગ દ્વારા એપ્લિકેશનનું નિયંત્રણ આગળ મૂકવામાં આવે ત્યારે પ્રક્રિયાની ઝડપ વધારવાના લાભ માટે વિઝ્યુઅલ સીપીયુ પ્રવૃત્તિઓને દબાવી શકાય છે. સિમ્યુલેટર સાથે પ્રદાન કરાયેલ પ્રદર્શન અનુક્રમણિકા મોનિટર વપરાશકર્તાને મિક્રોસિમની પ્રક્રિયા કામગીરીને બેન્ચમાર્ક કરવા અને તેને સિમ્યુલેટરના હાર્ડવેરની કમ્પ્યુટિંગ શક્તિના સંબંધમાં સેટ કરવા માટે સક્ષમ બનાવે છે, જે ફ્લોટિંગ-પોઇન્ટ ઓપરેશન્સ પ્રતિ સેકન્ડ (એફએલઓપીએસ) અને ઇન્સટ્રક્શન્સ પ્રતિ સેકન્ડ (આઇપીએસ) માં માપી શકાય છે. કહેવાતા "બેઝિક એસેમ્બલર ટૂલ ફોર મિક્રોસિમ" મિક્રોબેટ સાથે, સરળ કાર્યક્રમો એસેમ્બલર પ્રોગ્રામિંગ ભાષામાં વિકસાવી શકાય છે. અહીં, એસેમ્બલર પ્રોગ્રામિંગ લેંગ્વેજના તમામ સપોર્ટેડ નેમોનિક્સ માઇક્રો સૂચના સ્તર પર વપરાશકર્તાના સ્વ-સર્જિત મશીનની સૂચના સેટ દ્વારા નક્કી કરવામાં આવે છે. એડ-ઓન ટૂલ એસેમ્બલી લેંગ્વેજ પ્રોગ્રામને મશીન કોડ અને ડેટામાં અનુવાદિત કરવામાં અને અનુગામી સિમ્યુલેશન માટે દ્વિસંગી કોડને બાહ્ય રેમમાં સ્થાનાંતરિત કરવામાં સક્ષમ છે. મિક્રોબેટ સાથે મળીને માઇક્રોકોડ સિમ્યુલેટર મિક્રોસિમ સ્વીચ-નિયંત્રિત ગણતરી મશીનથી એસેમ્બલર પ્રોગ્રામેબલ એપ્લિકેશનમાં તકનીકી કમ્પ્યુટર વિજ્ઞાનમાં શિક્ષણ પાસાઓની ઉપદેશાત્મક રજૂઆતને ટેકો આપે છે. કમ્પ્યુટર આર્કિટેક્ચર સિમ્યુલેટર સાયકલ સચોટ સિમ્યુલેટર શૈક્ષણિક પ્રોગ્રામિંગ લેંગ્વેજ પૂર્ણ સિસ્ટમ સિમ્યુલેટર સૂચના સમૂહ સિમ્યુલેટર ઇન્સ્ટ્રુમેન્ટેશન (કમ્પ્યુટર પ્રોગ્રામિંગ) વોન ન્યુમેન આર્કિટેક્ચર લિટરેચર પણ જુઓ. સંદર્ભો બાહ્ય કડીઓ શૈક્ષણિક અમૂર્ત મશીનો સિમ્યુલેશન સોફ્ટવેર