મૂળભૂત કમ્પ્યુટર આર્કિટેક્ચર: પાઠ્યપુસ્તક. પ્રોસેસર્સ. કમ્પ્યુટર કમાન્ડ સિસ્ટમ. નિયંત્રણ ઉપકરણો. ઇન્ટ્રાપ્રોસેસર માહિતી ઇનપુટ/આઉટપુટ સિસ્ટમ્સનું સંગઠન કમ્પ્યુટર આદેશોના પ્રકાર

કમ્પ્યુટરનું કાર્યાત્મક અને માળખાકીય સંગઠન.

ટ્રિગર્સ

આ એક મેમરી તત્વ છે. યાદ રાખવા, સંગ્રહ કરવા વગેરે માટે સક્ષમ ઉપકરણ. માહિતી

RS ફ્લિપ-ફ્લોપ્સમાં બે દરવાજા હોય છે, એક ગેટ છે અથવા નહીં, સેકન્ડ અને ના.

RS ટ્રિગર યાદ રાખે છે કે તેના કયા ઇનપુટને છેલ્લી વખતના એક સમાન સિગ્નલ મળ્યા હતા. જો સિગ્નલ S ઇનપુટ પર લાગુ કરવામાં આવ્યું હતું, તો ફ્લિપ-ફ્લોપ એક સ્ટોર કરે છે. જો R ઇનપુટ પર સિગ્નલ લાગુ કરવામાં આવ્યું હોય, તો ફ્લિપ-ફ્લોપ શૂન્ય સ્ટોર કરે છે.

0 1 1 - સેટ 1

1 0 0 - સેટ 0

1 1 - મંજૂરી નથી

કાસ્કેડમાં એડર્સને કનેક્ટ કરીને, તમે કોઈપણ સંખ્યાના અંકો સાથે બાઈનરી નંબરો માટે લોજિકલ એડર સર્કિટ મેળવી શકો છો.

એડર્સ અને હાફ-એડર એ સિંગલ-સાયકલ લોજિક સર્કિટ છે. ટ્રિગર્સ બહુ-ચક્ર છે.

રજિસ્ટર્સ એમાં લખેલા નંબરોને રેકોર્ડ કરવા, સંગ્રહિત કરવા અને કન્વર્ટ કરવા માટે બનાવાયેલ છે. પ્રાથમિક રજિસ્ટર સેલ તરીકે ટ્રિગરનો ઉપયોગ થાય છે.

કાઉન્ટર એ એક એકમ છે જે ઇનપુટ સિગ્નલોની સંખ્યાને અડધી ગણતરી કરવા અને પરિણામોને બાઈનરી કોડમાં રેકોર્ડ કરવા માટે રચાયેલ છે.

આ એક અમૂર્ત મોડેલ છે જે કમ્પ્યુટરની ક્ષમતાઓનું વર્ણન કરે છે. તે હલ કરવામાં આવતા કાર્યોના પ્રકાર અને સંસાધન આવશ્યકતાઓ અને કાર્યોના પ્રકારો (મેમરી, પ્રોસેસરની લાક્ષણિકતાઓ) દ્વારા નક્કી કરવામાં આવે છે.

કમ્પ્યુટરનું માળખાકીય સંગઠન એ ભૌતિક મોડેલ છે જે ઘટકો અને બ્લોક્સના ક્રમ અને સંબંધો સ્થાપિત કરે છે.

આદેશ એ બાઈનરી કોડના રૂપમાં માહિતીનો સંગ્રહ છે, જે પ્રોસેસરને જરૂરી ક્રિયાઓ કરવા માટે જરૂરી અમુક ફીલ્ડ્સ ધરાવે છે.

કમાન્ડ ફોર્મેટ એ તેના ક્ષેત્રો, કોડ, ઑપરેશન કોડ અને ઑપરેન્ડ્સના સરનામાં અને પરિણામનું સરનામું સહિત સંમત થયેલ બંધારણ છે.

કોપ A1 A3 કોપ A1 A2 A3

કોપ. ß---a3---à

સંબોધન પદ્ધતિઓ: સરનામું અને સહયોગી (સામગ્રી દ્વારા શોધો) - આદેશ ધરાવતા કોડને ઓળખવા માટે તમામ કોષો જોવા.

સરનામું શોધ - સરનામાં સેલમાં સમાવિષ્ટ નંબર દ્વારા મેમરીમાંથી માહિતી મેળવવામાં આવે છે. દેખાવમાં તે સ્પષ્ટ અથવા ગર્ભિત હોઈ શકે છે. સ્પષ્ટ - સરનામાં કોડ કોષો સમાવતા નથી. સ્ટેક એડ્રેસિંગમાં ગર્ભિત એડ્રેસિંગનો ઉપયોગ થાય છે.

સ્ટેક ખાલી છે લખો લખો વાંચો B વાંચો A સ્ટેક ખાલી છે

સ્ટેક એ ક્રમિક મેમરી કોષો અથવા રજીસ્ટરોનું જૂથ છે. ત્યાં કોઈ સ્ટેક સરનામું નથી, અને નિયંત્રણ યોજના નીચેના નિયમ અનુસાર રચાય છે. વાંચવા કે લખવા માટે માત્ર એક જ રજિસ્ટર ઉપલબ્ધ છે, એક સેલ સ્ટેકની ટોચ છે. છેલ્લે લખેલું રજીસ્ટર પ્રથમ ગણાશે.

ઓટો-ઇન્ડેક્સ એડ્રેસીંગ – આધુનિક કોમ્પ્યુટરમાં વપરાય છે. રજિસ્ટર મેમરીની સામગ્રીઓ ઓપરેશન પહેલા અથવા પછી, કાયમી ધોરણે નિર્ધારિત, નિર્દિષ્ટ રકમ દ્વારા વધારો અથવા ઘટાડો થાય છે. મોટી માત્રામાં ડેટાની પ્રક્રિયા કરતી વખતે આ પ્રકારનો ઉપયોગ થાય છે.



એકેડેમિશિયન ગ્લુશકોવનો સિદ્ધાંત.

માહિતી પ્રક્રિયા માટે સાર્વત્રિક ઉપકરણ (1956). તેમાં રજિસ્ટર, એડર્સ અને અન્ય નોડ્સનો સમાવેશ થાય છે જે તમને માહિતી પ્રાપ્ત કરવા, સ્ટોર કરવા અને રૂપાંતરિત કરવાની મંજૂરી આપે છે. માહિતી પ્રક્રિયા ઉપકરણની સમયસર કાર્ય કરવાની પ્રક્રિયામાં ઘડિયાળના અંતરાલોનો ક્રમ હોય છે જેમાં ઓપરેટિંગ એકમ ચોક્કસ કામગીરી કરે છે, આ કામગીરીનો અમલ નિયંત્રણ સંકેતો અનુસાર થાય છે.

માઇક્રોપ્રોગ્રામ એ માઇક્રોકમાન્ડ્સનો ક્રમ છે જે ઓપરેશનના અમલને સુનિશ્ચિત કરે છે.

માઇક્રોકમાન્ડ એ નિયંત્રણ સંકેતોનો ક્રમ છે.

સામાન્ય માહિતી. ચોક્કસ માઇક્રોપ્રોસેસરના નિશ્ચિત સૂચના સમૂહને કહેવામાં આવે છે આદેશ સિસ્ટમ.પ્રોસેસરની કાર્યક્ષમતા સંયોજન દ્વારા નક્કી કરવામાં આવે છે મૂળભૂતવિવિધ ઓપરેશન કોડ સાથે આદેશો. કુલ સંખ્યામૂળભૂત આદેશોની સંખ્યા કરતાં સિસ્ટમમાં હંમેશા વધુ આદેશો (ઓપરેશન કોડ્સ) હોય છે. ઉદાહરણ તરીકે, મૂળભૂત આદેશમાં MOV dst, scr આદેશનો સમાવેશ થાય છે, જે સ્ત્રોત scr થી ગંતવ્ય dst પર ડેટા મોકલવાનું કાર્ય પૂરું પાડે છે. સિસ્ટમમાં આવા ઘણા આદેશો હોઈ શકે છે. કમાન્ડ સિસ્ટમ ટેબલના રૂપમાં રજૂ કરવામાં આવી છે. કોષ્ટકનું માળખું અલગ હોઈ શકે છે, પરંતુ સામાન્ય રીતે તે આદેશ વિશે નીચેની માહિતી ધરાવે છે:

  • નેમોનિકઆદેશ, જે આદેશ નામનું સંક્ષેપ છે. આ કરવા માટે, આદેશ દ્વારા કરવામાં આવતી કામગીરીના નામના 3-4 લેટિન અક્ષરોનો ઉપયોગ કરો. નેમોનિક્સઆદેશના ઓપકોડનું પ્રતિનિધિત્વ કરવાનું અનુકૂળ સ્વરૂપ છે. એસેમ્બલી ભાષામાં આદેશનું વર્ણન કરતી વખતે પણ તેનો ઉપયોગ થાય છે. એસેમ્બલર પ્રોગ્રામ ઓપકોડ્સના નેમોનિક નોટેશનને અનુરૂપ દ્વિસંગી સમકક્ષમાં રૂપાંતરિત કરે છે;
  • હેક્સાડેસિમલ કોડ્સઆદેશો;
  • ફ્લેગ્સ પર એક્ઝિક્યુટેડ કમાન્ડનો પ્રભાવપ્રોગ્રામ સ્ટેટસ રજિસ્ટર;
  • બાઇટ્સની સંખ્યાટીમ પર અને મશીન ચક્ર અને ચક્રની સંખ્યા, આદેશ ચલાવવા માટે ખર્ચવામાં આવે છે;
  • મૌખિકઅને/અથવા પ્રતીકાત્મક વર્ણનઆદેશ દ્વારા કરવામાં આવેલ કામગીરી.

ઘણીવાર, સગવડ માટે, કમાન્ડ સિસ્ટમને કાર્યક્ષમતા પર આધારિત અલગ જૂથોમાં વિભાજિત કરવામાં આવે છે. ઉદાહરણ તરીકે, KR580VM80 માઇક્રોપ્રોસેસરની કમાન્ડ સિસ્ટમ, જેમાં 78 મૂળભૂત આદેશો છે, તે 5 જૂથોમાં વહેંચાયેલું છે. નીચે દરેક જૂથના આદેશોની કાર્યાત્મક સુવિધાઓનું સંક્ષિપ્ત વર્ણન છે.

આદેશોની લંબાઈ 1 થી 3 બાઇટ્સ સુધીની હોય છે. ઓપકોડ હંમેશા આદેશના પ્રથમ બાઈટમાં મૂકવામાં આવે છે. આદેશનો બીજો બાઈટ તાત્કાલિક ઓપરેન્ડ અથવા પોર્ટ એડ્રેસ માટે ફાળવવામાં આવે છે, બીજા અને ત્રીજા બાઈટ એ મેમરી સેલનું સરનામું છે. આદેશો માત્ર એક જ મેમરી એડ્રેસના સ્પષ્ટ સેટિંગને મંજૂરી આપે છે, એટલે કે તે યુનિકાસ્ટ કમાન્ડ્સના વર્ગ સાથે સંબંધિત છે. આદેશોનું વર્ણન કરતી વખતે, ઉપયોગ કરો નીચેના હોદ્દો:

  • src, dst - 8-બીટ સ્ત્રોત અને ગંતવ્ય. સ્ત્રોત અથવા ગંતવ્ય એ 8-બીટ રજિસ્ટર A, B, C, D, E, H અથવા મેમરી સેલ Mમાંથી એક હોઈ શકે છે, જેની ઍક્સેસ રજિસ્ટર જોડી H L દ્વારા પ્રદાન કરવામાં આવે છે, જેમાં મોકલવામાં આવી રહેલા બાઈટનું સરનામું હોય છે. ઓપકોડમાં, સ્ત્રોત src અને ડેસ્ટિનેશન dst ત્રણ-બીટ કોડ SSS અને DDD તરીકે ઉલ્લેખિત છે;
  • RP – રજિસ્ટર જોડીનો બે-બીટ કોડ BC, DE, N L, A + RP (સાઇન રજિસ્ટર) અથવા સ્ટેક પોઇન્ટર SP;
  • ડેટા, ડેટા 16 – 8- અને 16-બીટ ઓપરેન્ડ;
  • addr, પોર્ટ - 16-બીટ મેમરી એડ્રેસ અને 8-બીટ પોર્ટ એડ્રેસ;
  • (addr), (SP) – ઉલ્લેખિત સરનામાં પર મેમરી સેલની સામગ્રી;
  • (SP)+, -(SP) – સ્ટેક સાથે પોસ્ટ-ઇન્ક્રીમેન્ટ અને પ્રી-ઇન્ક્રીમેન્ટ ઓપરેશન્સ. ફોરવર્ડિંગ આદેશો. જૂથમાં પ્રોગ્રામ્સમાં સૌથી વધુ ઉપયોગમાં લેવાતી ડેટા ટ્રાન્સફર સૂચનાઓ છે, જેનાં સ્ત્રોતો અને ગંતવ્ય આંતરિક પ્રોસેસર રજિસ્ટર, મુખ્ય મેમરી અને બાહ્ય ઉપકરણો હોઈ શકે છે. સ્ટેટસ રજિસ્ટર ફ્લેગ્સ પર આદેશોની કોઈ અસર થતી નથી.

કમાન્ડ નેમોનિક એ કરવામાં આવી રહેલા ઓપરેશનની લાક્ષણિકતાઓ અને એડ્રેસીંગ મેથડને પ્રતિબિંબિત કરે છે. ઉદાહરણ તરીકે, નેમોનિક MOV, MVI ઓપરેન્ડ્સની હિલચાલ સૂચવે છે; LDA, LDAX, LXI, LHLD - લોડ કરવા માટે (લોડ); STA, STAX, SHLD - સાચવવા માટે. બાઈટ સાથેની કામગીરી માટે, નેમોનિક MOV, MVI, LDA, STA, LDAX, STAX નો ઉપયોગ થાય છે; શબ્દો સાથેની કામગીરી માટે - LXI, LHLD, SHLD. એક્યુમ્યુલેટરની સામગ્રી લોડ કરતી વખતે અને સાચવતી વખતે ડાયરેક્ટ એડ્રેસિંગ નેમોનિક્સ LDA અને STA દ્વારા પ્રતિબિંબિત થાય છે, નેમોનિક્સ LDAX અને STAX દ્વારા પરોક્ષ એડ્રેસિંગ.

આ જૂથની ટીમોનો સારાંશ કોષ્ટકમાં આપવામાં આવ્યો છે. 5.8. તેઓ તમને આની મંજૂરી આપે છે:

  • ડેટા ટ્રાન્સફર કામગીરીસ્ત્રોત (src) અને ગંતવ્ય (dst) વચ્ચે, જે dst ← src (આદેશ 1) તરીકે લખાયેલ છે. સ્ત્રોતો અને ગંતવ્ય એ આંતરિક રજિસ્ટર છે સામાન્ય હેતુ(A, B, C, D, E, H) અને મેમરી સેલ M. કોઈપણ સંયોજનને મંજૂરી છે, M ← M ના અપવાદ સાથે, એટલે કે, મેમરી સેલ M ફરીથી લોડ કરવાની મંજૂરી નથી;
  • લોડિંગસામાન્ય હેતુના રજીસ્ટર અને સેલ M બીજા બાઈટ B2 (કમાન્ડ 2) સાથે અને રજીસ્ટર જોડી BC, DE, HL (સ્ટેક પોઈન્ટર SP સહિત) બીજા B2 અને ત્રીજા B3 બાઈટ (કમાન્ડ 3) સાથે અને B3 હંમેશા લોડ થાય છે. ઉચ્ચ રજીસ્ટર (B, D, H) જોડી, B2 – થી નીચા રજીસ્ટર (C, E, L);
  • ફોરવર્ડિંગબેટરી A અને મુખ્ય મેમરી (આદેશો 4÷7), બેટરી અને બાહ્ય ઉપકરણ વચ્ચેનો ડેટા (આદેશો 8, 9). બેટરી A અને મેમરી વચ્ચે સ્થાનાંતરિત કરતી વખતે, મેમરી કોષોના સરનામાં રજિસ્ટર જોડી BC, DE અથવા આદેશના ત્રીજા અને બીજા બાઇટ્સ (B3B2) માં સ્થિત હોય છે;

કોષ્ટક 5.8

નેમોનિક્સ

ચલાવવામાં આવ્યો

કામગીરી

કામગીરી

dst src

(ઉમેરો)

નોંધો: RP – રજિસ્ટર જોડીનો 2-બીટ કોડ BC, DE, HL, A + RP (ફીચર રજિસ્ટર) અથવા સ્ટેક પોઇન્ટર SP; B – બાઇટ્સ, U – ચક્ર, T – ચક્ર.

  • ફોરવર્ડિંગએચએલ રજિસ્ટર અને મેમરીની જોડી વચ્ચેનો ડેટા (ટીમ 10, 11). આ કિસ્સામાં, L રજિસ્ટરમાંથી ઑપરેન્ડ B3B2 સરનામાંવાળા સેલને મોકલવામાં આવે છે, જે આદેશના ત્રીજા અને બીજા બાઈટમાંથી બને છે અને H રજિસ્ટરમાંથી એક ઉચ્ચ સરનામા પર મોકલવામાં આવે છે. રિવર્સ ફોરવર્ડિંગ દરમિયાન, પ્રથમ ઓપરેન્ડ B3B2 સરનામાંવાળા સેલમાંથી L રજિસ્ટરમાં લોડ થાય છે, પછી બીજાને H રજિસ્ટરમાં B3B2+1 સરનામા સાથે સેલમાંથી લોડ કરવામાં આવે છે;
  • ફોરવર્ડિંગરજિસ્ટરની જોડી વચ્ચેનો ડેટા, જેમાં એક્યુમ્યુલેટર A અને RP ફીચર રજિસ્ટરની જોડી અને સ્ટેક (ટીમ 12, 13)નો સમાવેશ થાય છે. સ્ટેક પર લખતી વખતે, સ્ટેક પોઈન્ટરની સામગ્રીમાં એક દ્વારા ઘટાડો થાય છે, અને સરનામાં SP-1 પર પ્રથમ ઓપરેન્ડ B, D, H, અથવા Aમાંથી એકમાં લોડ થાય છે, પછી સ્ટેક પોઈન્ટરની સામગ્રીમાં ઘટાડો થાય છે. ફરી એક દ્વારા, અને બીજું ઓપરેન્ડ રજિસ્ટર C, E, L અથવા RP માંથી સરનામાં SP–2 પર લોડ થાય છે. સ્ટેકમાંથી પોપિંગ કરતી વખતે, રજીસ્ટર C, E, L, અથવા RPમાંથી એક પ્રથમ સ્ટેક પોઇન્ટરના સરનામાં SP સાથે સેલમાં સંગ્રહિત ઓપરેન્ડ સાથે લોડ થાય છે. પછી સમાવિષ્ટોને એક દ્વારા વધારવામાં આવે છે, સરનામાં SP + 1 પરના સેલમાંથી, બીજા ઓપરેન્ડને B, D, H, અથવા A રજિસ્ટરમાંથી એકમાં લોડ કરવામાં આવે છે, અને સ્ટેક પોઈન્ટરની સામગ્રીઓ ફરીથી એક દ્વારા વધારવામાં આવે છે અને લે છે. મૂલ્ય SP + 2. એ નોંધવું જોઈએ કે જ્યારે સ્ટેકમાંથી રજિસ્ટર જોડીઓ A, RP (તેનો કોડ RP = 11) લોડ કરવામાં આવે છે, ત્યારે RP એટ્રિબ્યુટ રજિસ્ટરના ટ્રિગર્સની સ્થિતિ બદલાય છે. આ એકમાત્ર આદેશ છે (તમામ ડેટા ટ્રાન્સફર આદેશોમાંથી) જે લક્ષણોને અસર કરે છે;
  • ફોરવર્ડિંગસ્ટેક પોઇન્ટર એસપી અને પ્રોગ્રામ કાઉન્ટર પીસી (સૂચના 14, 15) માં રજીસ્ટર એચએલની જોડીની સામગ્રી;
  • વિનિમય HL અને DE રજિસ્ટર જોડી, HL રજિસ્ટર જોડી અને સ્ટેક વચ્ચેનો ડેટા (સૂચનો 16, 17). વિનિમય કરતી વખતે, HL રજિસ્ટર જોડીની સામગ્રીઓ DE જોડી અથવા સ્ટેકમાં મૂકવામાં આવે છે, અને DE રજિસ્ટર જોડી અથવા સ્ટેકની સામગ્રી HL જોડીમાં મૂકવામાં આવે છે. વિનિમય કામગીરી "↔" પ્રતીક દ્વારા સૂચવવામાં આવે છે.

અંકગણિત આદેશો. માઇક્રોપ્રોસેસરની કમ્પ્યુટિંગ ક્ષમતાઓ 8-બીટ ઓપરેન્ડ્સ પર સરળ ઉમેરા અને બાદબાકી સૂચનાઓ સુધી મર્યાદિત છે. ગુણાકાર અને ભાગાકાર ક્રિયાઓ અમલમાં મૂકવામાં આવે છે પ્રોગ્રામેટિકલી. આદેશોનો સમૂહ (કોષ્ટક 5.9) તમને આ કરવા દે છે:

  • વધુમાંઅને બાદબાકી 8-બીટ ઓપરેન્ડ કેરી સાથે અને વગર (સૂચનો l÷8), જ્યારે એક ઓપરેન્ડ હંમેશા એક્યુમ્યુલેટરમાં હોય છે, અને બીજો સામાન્ય હેતુના રજીસ્ટર (મેમરી સેલ M)માં હોય છે અથવા આદેશનો બીજો બાઈટ હોય છે. . મલ્ટિબાઈટ નંબરો ઉમેરતી અને બાદ કરતી વખતે ફીચર રજિસ્ટરના ટ્રાન્સફર સિગ્નલ Cના મૂલ્યને ધ્યાનમાં લેતા આદેશોનો ઉપયોગ કરવામાં આવે છે. આ જ હેતુ માટે, તમે 16-બીટ એડ્રેસેબલ રજિસ્ટર સાથે HL રજિસ્ટરની જોડીના સમાવિષ્ટો ઉમેરવા માટે આદેશ 9 નો ઉપયોગ કરી શકો છો;
  • અંકગણિત સરખામણીસામાન્ય હેતુ રજીસ્ટર Rn (મેમરી સેલ M) અથવા બીજા બાઈટ B2 (10+11 આદેશો) ની સામગ્રી સાથે સંચયક A ની સામગ્રી. આ કિસ્સામાં, બાદબાકી A – Rn અથવા A – B2 કરવામાં આવે છે. સરખામણીનું પરિણામ લક્ષણ રજિસ્ટરના ટ્રિગર સિગ્નલો દ્વારા નક્કી કરવામાં આવે છે: જો Z = 1, તો પછી A = Rn અથવા A = B2; જો S = 1, તો A > Rn અથવા A > B2. બેટરીની સામગ્રી બદલાતી નથી;
  • વધારોઅને ઘટાડો 1 દ્વારા (વધારોઅને ઘટાડો)રજીસ્ટર અને રજીસ્ટર જોડીની સામગ્રી. જ્યારે પ્રોગ્રામિંગ ઘણીવાર

કોષ્ટક 5.9

નેમોનિક્સ

ઓપરેશન કરવાનું છે

કામગીરી

A ← A + src + C

A ←A – src – C

A ← A + ડેટા + CY

A ← A – ડેટા

A ← A – ડેટા – CY

A – scr (સરખામણી)

A – scr (સરખામણી)

dst ← dst – 1

A ← 2/10-સુધારણા A

ઓપરેન્ડની કિંમતમાં એક વડે વધારો અથવા ઘટાડો કરવાની જરૂર છે. આ કરવા માટે, તમે પ્રોગ્રામમાં B2 = 1 લખીને ઉમેરા A + B2 અથવા બાદબાકીની ક્રિયાઓનો ઉપયોગ કરી શકો છો, જો કે, સૂચના પ્રણાલી 8- અને ઘટાડવા માટે વિશેષ સૂચનાઓ (12-5-15) પ્રદાન કરે છે. 16-બીટ ઓપરેન્ડ્સ;

દશાંશ કરેક્શન BCD 8421 (સૂચના 16) માં અંકગણિત કામગીરી કર્યા પછી સંચયકની સામગ્રી. આ કિસ્સામાં, સંચયકની સામગ્રીને બે નિબલ તરીકે રજૂ કરવામાં આવે છે, જેમાંથી દરેક દશાંશ અંકને અનુરૂપ છે. કરેક્શન § 5.2 (p. 99) માં નિર્ધારિત નિયમો અનુસાર દશાંશ સુધારણા બ્લોક દ્વારા કરવામાં આવે છે.

લોજિકલ કામગીરી આદેશો. આ જૂથના આદેશો (કોષ્ટક 5.10) તમને અમલ કરવાની મંજૂરી આપે છે:

  • ડબલ લોજિકલ કામગીરી ગુણાકાર(અને), વધુમાં(અથવા) અને વિશિષ્ટઅથવા 8-બીટ ઓપરેન્ડથી વધુ (સૂચનો 1÷6). લોજિકલ ઓપરેશન્સ બીટવાઇઝ હોય છે અને દરેક આઠ ઓપરેન્ડ બિટ્સ માટે સ્વતંત્ર રીતે કરવામાં આવે છે. નોન-એડ્રેસેબલ ઓપરેન્ડ એક્યુમ્યુલેટરમાં સ્થિત છે, અને ઓપરેશનનું પરિણામ પણ ત્યાં જાય છે. બીજો ઓપરેન્ડ એ સામાન્ય હેતુના રજિસ્ટર (મેમરી સેલ એમ)માંથી એક અથવા સૂચનાના બીજા બાઈટની સામગ્રી છે;
  • ઊંધુંબેટરી A (કમાન્ડ 7) ની સામગ્રી;
  • ધ્વજ આદેશો (8, 9) ઊંધું કરવુંઅને સ્થાપનોએટ્રિબ્યુટ રજિસ્ટર ટ્રાન્સફર ટ્રિગરનો બીટ સી;
  • બે પ્રકાર ચક્રીય પાળીબેટરી સમાવિષ્ટો ડાબે અને જમણે (યુલ-13 આદેશો). પ્રથમ પ્રકારની શિફ્ટ્સ (વહન વિનાની પાળી) એ તમામ સંચયકર્તા ટ્રિગર્સને રિંગમાં બંધ કરીને અમલમાં મૂકાય છે; રિંગ બંને દિશામાં લોજિકલ અને અંકગણિત શિફ્ટ કે જે કમાન્ડ સિસ્ટમમાં ખૂટે છે તે પહેલા સી બીટને 0 અથવા 1 પર વિસ્તૃત શિફ્ટ સાથે સેટ કરીને અમલમાં મૂકી શકાય છે.

નિયંત્રણ ટ્રાન્સફર આદેશો. નિયંત્રણ સ્થાનાંતરિત કરતી વખતે, મેમરી કોશિકાઓના સમાવિષ્ટોને લાવવાની ક્રમિક પ્રક્રિયા વિક્ષેપિત થાય છે અને પ્રોસેસરને અન્ય મેમરી વિસ્તારને સંબોધવામાં આવે છે. હાઇલાઇટ કરો

કોષ્ટક 5.10

નેમોનિક્સ

ચલાવવામાં આવ્યો

કામગીરી

કામગીરી

A ← A l src – ગુણાકાર

A ← A v src – ઉમેરો

A ← A © src – સિવાય. અથવા

A ← A l ડેટા

A ← A © ડેટા

ત્રણ પ્રકારના નિયંત્રણ ટ્રાન્સફર આદેશો: આદેશો સંક્રમણઆપેલ સરનામે (JMP), કૉલસબરૂટિન (કૉલ) અને પરતસબરૂટિન (RET) થી. આનો સમાવેશ થાય છે બિનશરતીઅને શરતીટીમો શરતી આદેશો સંક્રમણ કરે છે, સબરૂટિનને કૉલ કરે છે અને એટ્રિબ્યુટ રજિસ્ટર (અથવા રાજ્ય) ના ચાર ટ્રિગર્સ Z, C, S, Pમાંથી એકના સિગ્નલના મૂલ્ય દ્વારા નિર્દિષ્ટ ધ્વજની સ્થિતિના આધારે સબરૂટિનમાંથી પાછા ફરે છે. . 8080 પ્રોસેસર ચાર ફ્લેગ્સ (Z, C, P, S) ની બંને સ્થિતિ (1 અને 0) નો ઉપયોગ કરે છે, જે દરેક આદેશ માટે 8 વિકલ્પોની મંજૂરી આપે છે (કોષ્ટક 5.11). એટ્રિબ્યુટ (શરત) નું હોદ્દો એસ્ટરિસ્ક (**) ને બદલે શરતી આદેશો J**, C**, R** ના નેમોનિકમાં દર્શાવેલ છે. ઉદાહરણ તરીકે, NC એટ્રિબ્યુટ, જેના માટે જ્યારે C = 0, JNC આદેશને અનુરૂપ હોય ત્યારે સંક્રમણની સ્થિતિ સંતુષ્ટ માનવામાં આવે છે.

શરતી અને બિનશરતી બંને કૂદકા અને સબરૂટિન કૉલ્સ 64-કિલોબાઇટ મેમરી સ્પેસમાં કોઈપણ બિંદુ પર નિયંત્રણ સ્થાનાંતરિત કરવા માટે સંપૂર્ણ 16-બીટ ફોરવર્ડ સરનામાંનો ઉપયોગ કરે છે.

કોષ્ટક 5.11

ચાલો કોષ્ટકમાં પ્રસ્તુત આદેશોની વિશેષતાઓ જોઈએ. 5.12.

ત્રણ-બાઇટ JMP સૂચનાનો ઉપયોગ કરીને, તે અમલમાં મૂકવામાં આવે છે બિનશરતીનિયંત્રણનું સ્થાનાંતરણ. આ કિસ્સામાં, આદેશના બીજા અને ત્રીજા બાઇટ્સ (પ્રોગ્રામ ચાલુ રાખવાનું સરનામું એડ્રેસ) પીસી કમાન્ડ કાઉન્ટરમાં દાખલ કરવામાં આવે છે (B3 ની સામગ્રી ઉચ્ચ-ઓર્ડર બિટ્સમાં છે, B2 લો-ઓર્ડરમાં છે).

ટીમો શરતીકંટ્રોલ ટ્રાન્સફર J** શરતના આધારે કોમ્પ્યુટેશનલ પ્રક્રિયાની શાખાને અમલમાં મૂકે છે. જ્યારે શરત (હા) પૂરી થાય છે, ત્યારે આદેશના બીજા અને ત્રીજા બાઇટ્સ PC કાઉન્ટરમાં દાખલ થાય છે, અન્યથા (NO) કાઉન્ટરની સામગ્રી 3 એકમો દ્વારા વધે છે. પ્રોગ્રામ પ્રોગ્રામ કાઉન્ટરમાં સ્થિત સરનામાં પર ચાલુ રહે છે, એટલે કે. આગામી આદેશમાંથી.

કોષ્ટક 5.12

નેમોનિક્સ

ચલાવવામાં આવ્યો

કામગીરી

કામગીરી

ટીમો બિનશરતી(કૉલ) અને શરતી(** સાથે) કૉલ્સમુખ્ય મેમરીના બીજા ભાગમાં સંગ્રહિત સબરૂટિનને ઍક્સેસ કરવા માટે વપરાય છે. આ સૂચનાઓ હંમેશા સ્ટેક પર PC પ્રોગ્રામ કાઉન્ટરની સામગ્રીને સંગ્રહિત કરીને વિક્ષેપિત મુખ્ય પ્રોગ્રામ પર પાછા ફરવાની ક્ષમતા પ્રદાન કરે છે. રીટર્ન ઓપરેશન કર્યા પછી:

  • ખાતે બિનશરતીકૉલ કરો અથવા શરતની પરિપૂર્ણતાઆદેશના બીજા અને ત્રીજા બાઇટ્સ પીસી પ્રોગ્રામ કાઉન્ટરમાં દાખલ થાય છે;
  • ખાતે શરત પૂરી કરવામાં નિષ્ફળતાપ્રોગ્રામ કાઉન્ટરની સામગ્રી 3 એકમો દ્વારા વધારવામાં આવે છે.

પ્રોગ્રામ પીસી પ્રોગ્રામ કાઉન્ટરમાં સ્થિત સરનામા પર ચાલુ રહે છે.

સમૂહમાં આદેશો છે જે તમને અમલ કરવાની મંજૂરી આપે છે બિનશરતી(RET) અને વળતર માટે નિયંત્રણનું શરતી (K**) ટ્રાન્સફરવિક્ષેપિત કાર્યક્રમ માટે. જ્યારે આ સૂચનાઓ એક્ઝિક્યુટ કરવામાં આવે છે, ત્યારે રીટર્ન એડ્રેસ સ્ટેકમાંથી PC પ્રોગ્રામ કાઉન્ટર પર ફરીથી લખવામાં આવે છે, જેના માટે પોસ્ટ ઇન્ક્રીમેન્ટ એડ્રેસિંગ પદ્ધતિનો ઉપયોગ કરવામાં આવે છે. જો વળતરની શરત પૂરી ન થઈ હોય (શરત સાથેના આદેશ માટે), તો પ્રોગ્રામ કાઉન્ટર પીસીના સમાવિષ્ટોને એકથી વધારીને આગલા આદેશમાં સંક્રમણ હાથ ધરવામાં આવે છે. રીટર્ન સૂચનાઓ સિંગલ-બાઈટ સૂચનાઓ છે કારણ કે સ્ટેક પોઇન્ટર SP સ્ટેક સ્થાનના સરનામાને વિક્ષેપિત પ્રોગ્રામમાં પરત કરવાના સરનામા સાથે સંગ્રહિત કરે છે.

PCHL સૂચના પ્રોગ્રામ કાઉન્ટર PC ને રજિસ્ટર જોડી HL માં સંગ્રહિત સરનામા સાથે લોડ કરે છે.

જનરલ મેનેજમેન્ટ ટીમો. આ જૂથના આદેશો (કોષ્ટક 5.13) નો ઉપયોગ માઇક્રોપ્રોસેસરના ઓપરેટિંગ મોડને સેટ કરવા માટે થાય છે. RST સૂચનાનો ઉપયોગ માઇક્રોપ્રોસેસરને પુનઃપ્રારંભ કરવા અને જ્યારે સર્વિસિંગમાં વિક્ષેપ આવે ત્યારે થાય છે. તેનો અમલ કરતી વખતે:

  • પ્રોગ્રામ કાઉન્ટરનાં સમાવિષ્ટો સ્ટેક પોઇન્ટરમાં બનેલા SP – 1, SP – 2 સરનામાં પર સ્ટેક પર ટ્રાન્સફર કરવામાં આવે છે, જે મુખ્ય પ્રોગ્રામ પર પાછા ફરવાની ખાતરી આપે છે;
  • 8 ઇન્ટરપ્ટ સર્વિસ પ્રોગ્રામમાંથી એકની શરૂઆતનું 16-બીટ એડ્રેસ પ્રોગ્રામ કાઉન્ટર પર મોકલવામાં આવે છે.

કોષ્ટક 5.13

નેમોનિક્સ

ચલાવવામાં આવ્યો

કામગીરી

કામગીરી

–(SP) ← PC ← 8×n, n = 0 – 7

વિક્ષેપોને સક્ષમ કરો

વિક્ષેપોને અક્ષમ કરો

માસ્ક વાંચવું

માસ્ક ઇન્સ્ટોલ કરી રહ્યું છે

કોઈ ઓપરેશન નથી

EI interrupt enable કમાન્ડ INTE interrupt enable ટ્રિગરને સિંગલ સ્ટેટ પર સેટ કરે છે, જેના કારણે માઇક્રોપ્રોસેસર ઇન્ટરપ્ટ વિનંતીઓનો જવાબ આપે છે. DI interrupt disable આદેશ INTE ફ્લિપ-ફ્લોપને શૂન્ય પર સેટ કરે છે. ખાલી NOP સૂચનાનો ઉપયોગ પ્રોગ્રામેબલ વિલંબ લૂપ્સમાં થાય છે. HLT સ્ટોપ કમાન્ડ પ્રોગ્રામ એક્ઝેક્યુશનને સમાપ્ત કરવા માટેનું કારણ બને છે.

મહત્વપૂર્ણ અભિન્ન ભાગકમ્પ્યુટરનું આર્કિટેક્ચર એ આદેશોની સિસ્ટમ છે. છતાં મોટી સંખ્યામાંકોમ્પ્યુટરની જાતો, સૌથી નીચા ("મશીન") સ્તરે તેઓમાં ઘણું સામ્ય છે. કોઈપણ કમ્પ્યુટરની કમાન્ડ સિસ્ટમમાં માહિતી પ્રોસેસિંગ આદેશોના નીચેના જૂથો આવશ્યકપણે સમાવિષ્ટ છે. 1. ડેટા ટ્રાન્સફર (સેન્સસ) આદેશો કે જે માહિતીને એક જગ્યાએથી બીજા સ્થાને નકલ કરે છે. 2. અંકગણિત કામગીરી, જેના માટે કોમ્પ્યુટર ટેકનોલોજી વાસ્તવમાં તેનું નામ લે છે. અલબત્ત, આધુનિક કમ્પ્યુટરમાં કોમ્પ્યુટેશનલ ક્રિયાઓનો હિસ્સો નોંધપાત્ર રીતે ઘટ્યો છે, પરંતુ તેઓ હજી પણ પ્રોગ્રામ્સમાં મહત્વપૂર્ણ ભૂમિકા ભજવે છે. નોંધ કરો કે મૂળભૂત અંકગણિત કામગીરીમાં સામાન્ય રીતે સરવાળો અને બાદબાકીનો સમાવેશ થાય છે (બાદમાં આખરે મોટાભાગે એક યા બીજી રીતે ઉમેરણમાં ઘટાડો થાય છે). ગુણાકાર અને ભાગાકાર માટે, ઘણા કમ્પ્યુટર્સમાં તે મુજબ કરવામાં આવે છે ખાસ કાર્યક્રમો. 3. તાર્કિક કામગીરી કે જે કોમ્પ્યુટરને પ્રક્રિયા કરવામાં આવી રહેલી માહિતીનું વિશ્લેષણ કરવાની મંજૂરી આપે છે. સૌથી સરળ ઉદાહરણો સરખામણી છે, તેમજ જાણીતા લોજિકલ ઓપરેશન્સ AND, OR, NOT (વ્યુત્ક્રમ). વધુમાં, વ્યક્તિગત કોડ બિટ્સનું વિશ્લેષણ, તેમના રીસેટ અને ઇન્સ્ટોલેશન ઘણીવાર તેમાં ઉમેરવામાં આવે છે. 4. બાઈનરી કોડ ડાબે અને જમણે શિફ્ટ થાય છે. આદેશોના આ જૂથના મહત્વને સાબિત કરવા માટે, કૉલમ ગુણાકારના નિયમને યાદ કરવા માટે તે પૂરતું છે: દરેક અનુગામી ઉત્પાદન ડાબી તરફ એક અંકની શિફ્ટ સાથે આવી યોજનામાં લખાયેલ છે. કેટલાક ખાસ કિસ્સાઓમાં, ગુણાકાર અને ભાગાકારને સામાન્ય રીતે શિફ્ટ દ્વારા બદલી શકાય છે (યાદ રાખો કે શૂન્યને જમણી બાજુએ ઉમેરીને અથવા દૂર કરીને, એટલે કે, ખરેખર દશાંશ સંખ્યાને સ્થાનાંતરિત કરીને, તમે તેને 10 ગણો વધારી અથવા ઘટાડી શકો છો). 5. બાહ્ય ઉપકરણો સાથે વિનિમય માટે માહિતીના ઇનપુટ અને આઉટપુટ માટેના આદેશો. કેટલાક કમ્પ્યુટર્સમાં, બાહ્ય ઉપકરણો એ વિશિષ્ટ સેવા મેમરી સરનામાં છે, તેથી ઇનપુટ અને આઉટપુટ વસ્તી ગણતરી આદેશોનો ઉપયોગ કરીને હાથ ધરવામાં આવે છે. 6. નિયંત્રણ આદેશો કે જે બિનરેખીય અલ્ગોરિધમનો અમલ કરે છે. આમાં મુખ્યત્વે શરતી અને બિનશરતી કૂદકા, તેમજ સબરૂટિન (વળતર સાથે કૂદકો) કૉલ કરવા માટેના આદેશોનો સમાવેશ થાય છે. કેટલાક કમ્પ્યુટર્સમાં લૂપ્સ ગોઠવવા માટે વિશેષ આદેશો હોય છે, પરંતુ આ જરૂરી નથી: લૂપને શરતી અને બિનશરતી સંક્રમણોના એક અથવા બીજા સંયોજનમાં ઘટાડી શકાય છે. મોટે ભાગે, આદેશોના આ જ જૂથમાં પ્રોસેસરને નિયંત્રિત કરવા માટે અમુક ઑપરેશન્સનો સમાવેશ થાય છે, જેમ કે "સ્ટોપ" અથવા NOP ("કોઈ ઑપરેશન"). કેટલીકવાર તેઓ વિશિષ્ટ જૂથમાં વિભાજિત થાય છે. જેમ જેમ પ્રોસેસર ઉપકરણની જટિલતા વધે છે, કંટ્રોલ બિટ્સની સ્થિતિનું વિશ્લેષણ કરતા અને તેના પર કાર્ય કરતા આદેશોની સંખ્યા પણ વધે છે. અહીં, ઉદાહરણ તરીકે, અમે પ્રોસેસર ઓપરેટિંગ મોડ બિટ્સ અને બાહ્ય ઉપકરણોમાંથી વિક્ષેપ મિકેનિઝમ્સ માટે કંટ્રોલ બિટ્સનું નામ આપી શકીએ છીએ. તાજેતરમાં બધું મોટી ભૂમિકાસૂચના સમૂહમાં એક ડેટા ફોર્મેટમાંથી બીજામાં રૂપાંતરિત કરવાના આદેશો છે (ઉદાહરણ તરીકે, 8-બીટથી 16-બીટ, વગેરે), જે નોંધપાત્ર રીતે ડેટા પ્રોસેસિંગને સરળ બનાવે છે. વિવિધ પ્રકારો , પરંતુ સૈદ્ધાંતિક રીતે ઘણા સરળ આદેશોના ક્રમ દ્વારા બદલી શકાય છે. કમાન્ડ સિસ્ટમને ધ્યાનમાં લેતા, તેના નિર્માણમાં બે આધુનિક પરસ્પર સ્પર્ધાત્મક દિશાઓનો ઉલ્લેખ કરવામાં મદદ કરી શકાતી નથી: CISC (કોમ્પ્લેક્સ ઇન્સ્ટ્રક્શન સેટ કમ્પ્યુટર) આદેશોના સંપૂર્ણ સેટ સાથેનું કમ્પ્યુટર અને મર્યાદિત સેટ સાથે - RISC (ઘટાડો સૂચના સેટ કમ્પ્યુટર). વિભાજન એ હકીકતને કારણે ઉભું થયું કે મોટાભાગે કમ્પ્યુટરને તેના સૂચનોના સમૂહનો એક નાનો ભાગ અમલમાં મૂકવો પડે છે, જ્યારે બાકીનો છૂટાછવાયા ઉપયોગ થાય છે (એક લોકપ્રિય લેખ નીચેની વિઝ્યુઅલ સામ્યતાના રૂપમાં મજાકમાં શબ્દસમૂહ આપે છે: “20 % વસ્તી 80% બીયર પીવે છે." આમ, જો તમે કામગીરીના સમૂહને સૌથી સરળ અને ટૂંકામાં નોંધપાત્ર રીતે મર્યાદિત કરો છો, પરંતુ તેમને કાળજીપૂર્વક ઑપ્ટિમાઇઝ કરો છો, તો તમને એકદમ કાર્યક્ષમ અને ઝડપી RISC મશીન મળશે. સાચું, તમારે સૉફ્ટવેરમાં "કાઢી નાખેલા" આદેશોને અમલમાં મૂકવાની જરૂરિયાત દ્વારા ઝડપ માટે ચૂકવણી કરવી પડશે, પરંતુ ઘણીવાર આ ચુકવણી વાજબી હોય છે: ઉદાહરણ તરીકે, વૈજ્ઞાનિક ગણતરીઓ અથવા કમ્પ્યુટર ગ્રાફિક્સ માટે, પ્રોગ્રામિંગ સમસ્યાઓ કરતાં ઝડપ વધુ મહત્વપૂર્ણ છે. આધુનિક માઇક્રોપ્રોસેસરોની સૂચના પ્રણાલીથી સંબંધિત મુદ્દાઓ આ પ્રકરણમાં પછીથી વધુ વિગતવાર ચર્ચા કરવામાં આવશે. સારાંશ માટે, અમે ફરી એક વાર ભારપૂર્વક જણાવીએ છીએ કે કમ્પ્યૂટરના ઝડપી ઉત્ક્રાંતિ દરમિયાન આદેશોનો મૂળભૂત સમૂહ થોડો બદલાયો છે. તે જ સમયે, મેમરીમાં માહિતીના સ્થાનનું સરનામું સૂચવવાની પદ્ધતિઓમાં નોંધપાત્ર ફેરફારો થયા છે અને તે વિશેષ વિચારણાને પાત્ર છે. કમ્પ્યુટર કમાન્ડમાં સામાન્ય રીતે બે ભાગો હોય છે - ઓપરેશનલ અને એડ્રેસ. ઓપરેશનલ ભાગ (અન્યથા ઓપરેશન કોડ - OPC કહેવાય છે) સૂચવે છે કે માહિતી સાથે કઈ ક્રિયા કરવાની જરૂર છે. સરનામાંનો ભાગ વર્ણવે છે કે વપરાયેલી માહિતી ક્યાં સંગ્રહિત છે. થોડાક મશીન ઓપરેશન કંટ્રોલ કમાન્ડમાં એડ્રેસનો કોઈ ભાગ ન હોઈ શકે, ઉદાહરણ તરીકે, સ્ટોપ કમાન્ડમાં; ઓપરેટિંગ ભાગ હંમેશા ત્યાં છે. કમાન્ડ સિસ્ટમ્સની સામાન્ય સૂચિમાં ઑપરેશન કોડને ચોક્કસ પરંપરાગત સંખ્યા તરીકે વિચારી શકાય છે. મૂળભૂત રીતે, આ સૂચિ ચોક્કસ આંતરિક પેટર્ન અનુસાર બનાવવામાં આવી છે, જો કે તે હંમેશા સ્પષ્ટ હોતી નથી. સરનામાંના ભાગમાં ઘણી મોટી વિવિધતા છે અને વધુ વિગતવાર ધ્યાનમાં લેવી જોઈએ. સૌ પ્રથમ, અમે નોંધીએ છીએ કે સૂચનાઓ તેમાં સામેલ ઓપરેન્ડ્સની સંખ્યાના આધારે એક-, બે- અથવા ત્રણ-સરનામું હોઈ શકે છે. પ્રથમ કોમ્પ્યુટરમાં સૌથી સરળ અને સૌથી સાહજિક થ્રી એડ્રેસ કમાન્ડ સિસ્ટમ હતી. ઉદાહરણ તરીકે: મેમરી એડ્રેસ A1 અને A2 માંથી નંબરો લો, તેમને ઉમેરો અને સરનામું A3 માં મૂકો. જો ઓપરેશનની જરૂર હોય નાની સંખ્યા સરનામાંઓ, પછી વધારાના મુદ્દાઓનો ઉપયોગ થતો ન હતો. ચાલો કહીએ કે વસ્તી ગણતરીની કામગીરીમાં માત્ર માહિતી A1 અને A3 ના સ્ત્રોત અને પ્રાપ્તકર્તા કોષો સૂચવવામાં આવ્યા હતા, અને A2 ની સામગ્રીનો કોઈ અર્થ નહોતો. થ્રી-એડ્રેસ કમાન્ડ ડિસિફર કરવા માટે સરળ હતું અને વાપરવા માટે અનુકૂળ હતું, પરંતુ જેમ જેમ RAM નું પ્રમાણ વધતું ગયું તેમ તેમ તેની લંબાઈ પ્રતિબંધિત રૂપે મોટી થઈ ગઈ. ખરેખર, આદેશની લંબાઈ એ ત્રણ સરનામાં અને ઓપરેશન કોડની લંબાઈનો સરવાળો છે. તે અનુસરે છે, ઉદાહરણ તરીકે, 1024 કોષોની સાધારણ RAM માટે, ફક્ત એક આદેશનો સરનામું ભાગ લખવા માટે 3 * 10 = 30 દ્વિસંગી બિટ્સની જરૂર છે, જે તકનીકી અમલીકરણ માટે ખૂબ અનુકૂળ નથી. તેથી, બે-સરનામા મશીનો દેખાયા, જેમાં પરિણામ રેકોર્ડ કરવા માટેના સરનામાને દૂર કરીને આદેશની લંબાઈ ઘટાડવામાં આવી હતી. આવા કમ્પ્યુટર્સમાં, ઓપરેશનનું પરિણામ વિશિષ્ટ રજિસ્ટર (એડર) માં રહે છે અને તે પછીની ગણતરીઓમાં ઉપયોગ માટે યોગ્ય હતું. કેટલાક મશીનોમાં, એક ઓપરેન્ડને બદલે પરિણામ લખવામાં આવ્યું હતું. આદેશનું વધુ સરળીકરણ યુનિકાસ્ટ મશીનોની રચના તરફ દોરી ગયું. ચાલો ચોક્કસ સરળ ઉદાહરણનો ઉપયોગ કરીને આવા કમ્પ્યુટરની કમાન્ડ સિસ્ટમનો વિચાર કરીએ. ધારો કે આપણે RAM સરનામાં A1 અને A2 સાથેના કોષોમાં સંગ્રહિત સંખ્યાઓ ઉમેરવાની જરૂર છે, અને સરનામું A3 સાથે કોષમાં સરવાળો મૂકવાની જરૂર છે. આ સમસ્યાને ઉકેલવા માટે, યુનિકાસ્ટ મશીનને ત્રણ આદેશો ચલાવવાની જરૂર પડશે: સેલ A1 ની સામગ્રીને ઍડરમાં બહાર કાઢો; A2 ના નંબર સાથે ઉમેરનાર ઉમેરો; એડરમાંથી A3 પર પરિણામ લખો. એવું લાગે છે કે યુનિકાસ્ટ મશીનને ત્રણ-એડ્રેસ મશીન કરતાં કાર્ય પૂર્ણ કરવા માટે ત્રણ ગણા આદેશોની જરૂર પડશે. હકીકતમાં, આ હંમેશા કેસ નથી. અભિવ્યક્તિ A5 = (A1 + A2)*AZ/A4 ની ગણતરી કરવા માટે તમારા પોતાના પ્રોગ્રામની યોજના બનાવવાનો પ્રયાસ કરો અને તમે જોશો કે તમારે ત્રણ ત્રણ-સરનામા આદેશોની જરૂર પડશે અને ફક્ત પાંચ યુનિકાસ્ટ આદેશોની જરૂર પડશે. આમ, યુનિકાસ્ટ મશીન કેટલીક રીતે વધુ કાર્યક્ષમ છે, કારણ કે તે મેમરીમાં બિનજરૂરી મધ્યવર્તી પરિણામો લખતું નથી. સંપૂર્ણતા માટે, તે સરનામા વિનાના (શૂન્ય-સરનામા) મશીનને અમલમાં મૂકવાની સંભાવના વિશે કહેવું જોઈએ જે મેમરીને ગોઠવવાની વિશેષ રીતનો ઉપયોગ કરે છે - એક સ્ટેક. આવા મશીનના સિદ્ધાંતોને સમજવા માટે કેટલાક એકદમ વિગતવાર સમજૂતીની જરૂર પડશે. આજકાલ, એડ્રેસલેસ કમ્પ્યુટર્સ વ્યવહારીક રીતે ઉપયોગમાં લેવાતા નથી. તેથી, અમે અમારી જાતને ફક્ત એ હકીકતનો ઉલ્લેખ કરવા માટે મર્યાદિત કરીશું કે સમાન રીતે ગોઠવાયેલ આદેશ સિસ્ટમ કેટલાક પ્રોગ્રામેબલ માઇક્રોકેલ્ક્યુલેટરનો આધાર હતો (ઉદાહરણ તરીકે, "BZ-21" અને "BZ-34" અને તેના જેવા). અત્યાર સુધી, મશીન સૂચનાની રચનાનું વર્ણન કરવા માટે, અમે માહિતીના સરનામાની સાહજિક ખ્યાલનો ઉપયોગ કર્યો છે. ચાલો હવે RAM તત્વોને વધુ વિગતવાર અને કડક રીતે સંબોધવાના મુદ્દાને ધ્યાનમાં લઈએ. પ્રથમ બે પેઢીના કમ્પ્યુટર્સમાં મેમરી સૌથી સરળ રીતે ગોઠવવામાં આવી હતી. તેમાં વ્યક્તિગત કોષોનો સમાવેશ થતો હતો, જેમાંથી દરેકની સામગ્રી એક એકમ તરીકે વાંચવામાં અથવા લખવામાં આવતી હતી. દરેક મેમરી સેલનો પોતાનો નંબર હતો, જેને સરનામું કહેવામાં આવતું હતું. દેખીતી રીતે, પડોશી RAM કોષોના સરનામાં સળંગ પૂર્ણાંકો છે, એટલે કે. એકથી અલગ. વિચારણા હેઠળના કોમ્પ્યુટરો માત્ર એક જ પ્રકારના ડેટા (વાસ્તવિક સંખ્યાઓ) નો ઉપયોગ કરતા હતા અને તેમની લંબાઈ મશીન સૂચનાની લંબાઈ જેટલી હતી અને મેમરીની ક્ષમતા અને મશીનના અન્ય તમામ ઉપકરણો સાથે એકરુપ હતી. ઉદાહરણ તરીકે, અમે નિર્દેશ કરીએ છીએ કે સામાન્ય બીજી પેઢીના કોમ્પ્યુટરના કોષમાં 36 બાઈનરી બિટ્સ હોય છે. ઘણી વાર, પ્રોગ્રામનો હેતુ સમાન સૂત્રોનો ઉપયોગ કરીને પ્રક્રિયા કરવાનો હતો, ક્રમિક રીતે સ્થિત કોષોની સામગ્રીની ચોક્કસ માત્રા (ભાષાઓમાં ઉચ્ચ સ્તરઆ પ્રકારની રચનાઓને પાછળથી એરે તરીકે ઓળખવામાં આવી હતી). કોમ્પ્યુટરની પ્રથમ બે પેઢીઓએ માહિતી એરેની ચક્રીય પ્રક્રિયા માટે વિશેષ પદ્ધતિઓ પ્રદાન કરી હતી. આ હેતુ માટે, મશીન સૂચનાઓમાં, નિયમિત સરનામાંઓ ઉપરાંત, સુધારી શકાય તેવા સરનામાંનો ઉપયોગ કરવાનું શક્ય હતું જેમાં એક વિશેષ નિયંત્રણ બીટ એક પર સેટ કરવામાં આવ્યો હતો. જ્યારે આદેશ ચલાવવામાં આવ્યો હતો, ત્યારે આ રીતે ચિહ્નિત થયેલ સંશોધિત સરનામાં વિશેષ ઇન્ડેક્સ કોષોના મૂલ્ય સાથે ઉમેરવામાં આવ્યા હતા. ઇન્ડેક્સ કોષોની સામગ્રીને બદલીને, એરેના વિવિધ ઘટકોને ઍક્સેસ કરવાનું શક્ય હતું. અમે ખાસ કરીને ભારપૂર્વક જણાવીએ છીએ કે કમાન્ડ એક્ઝિક્યુટ કરવામાં આવે તે સમયે પરિણામી એડ્રેસની રચના કંટ્રોલ યુનિટમાં કરવામાં આવી હતી, તેથી RAM માં મૂળ કમાન્ડ ફેરફારો વિના સાચવવામાં આવ્યો હતો. સરનામાંને સંશોધિત કરવા માટે વર્ણવેલ પદ્ધતિએ ચક્રીય કાર્યક્રમોના લેખનને નોંધપાત્ર રીતે સરળ બનાવ્યું છે, જેમ કે સળંગ રેમ કોષોનો સરવાળો શોધવો, વ્યક્તિગત મેમરી વિભાગોની નકલ કરવી વગેરે. ત્રીજી પેઢીના કમ્પ્યુટર્સમાં, મેમરી કન્સ્ટ્રક્શનની વિચારધારા નોંધપાત્ર રીતે બદલાઈ ગઈ છે: RAM સાથે વિનિમય માટે માહિતીનો ન્યૂનતમ ભાગ 8 દ્વિસંગી અંકોની બરાબર સેટ કરવામાં આવ્યો હતો, એટલે કે. એક બાઈટ. વિવિધ પ્રકારના ડેટા પર પ્રક્રિયા કરવાનું શક્ય બન્યું છે: ટેક્સ્ટ અક્ષરો (1 બાઇટ), પૂર્ણાંકો (2 બાઇટ્સ), સામાન્ય અથવા ડબલ ચોકસાઇની વાસ્તવિક સંખ્યાઓ (અનુક્રમે 4 અથવા 8 બાઇટ્સ). આ સંદર્ભમાં, માહિતી માપનનું એક નવું પરંપરાગત એકમ રજૂ કરવામાં આવ્યું - મશીન શબ્દ. તે 4 બાઇટ્સ જેટલું હતું અને ધોરણની લંબાઈને અનુરૂપ હતું વાસ્તવિક સંખ્યા. માહિતીના તમામ પ્રમાણને એકમોમાં માપવાનું શરૂ થયું જે શબ્દના ગુણાંકમાં છે: ડબલ શબ્દ, અર્ધ-શબ્દ, વગેરે. સ્વાભાવિક રીતે, બાઇટ સંસ્થા સાથેના મશીનોમાં સરનામું (RAM સેલ નંબર) અલગ બાઇટનો સંદર્ભ આપવાનું શરૂ કર્યું; મેમરી બાઇટ્સ એક દ્વારા વધતી સંખ્યા ધરાવે છે. એક શબ્દમાં અનેક ક્રમિક બાઇટ્સ હોય છે. શબ્દના સરનામાં તરીકે, તે બનાવે છે તે બાઈટમાંથી એકનું સરનામું લેવાનું અનુકૂળ છે (સામાન્ય રીતે લો બાઈટ, જેમાં સૌથી નાની સંખ્યા હોય છે, તેનો ઉપયોગ થાય છે). આમ, શબ્દોના સરનામાં એક પછી એક બદલાતા નથી; તેમની વૃદ્ધિ બાઈટમાં મશીન શબ્દની લંબાઈ પર આધારિત છે અને ચાર જેટલી છે. મશીન શબ્દનું કદ દેખીતી રીતે પ્રક્રિયા કરવામાં આવતી માહિતીના ફોર્મેટના આધારે પસંદ કરવામાં આવ્યું હતું, અને કોઈપણ ઉપકરણોની બીટ ક્ષમતાના સંબંધમાં નહીં. આની પુષ્ટિ કરવા માટે, અહીં EC પરિવારના સામાન્ય ત્રીજી પેઢીના કમ્પ્યુટર્સ વિશેની કેટલીક હકીકતો છે. EC-1022 મોડેલના અંકગણિત-તાર્કિક એકમમાં 16 દ્વિસંગી બિટ્સ હતા, EC-1033માં 32 બિટ્સ હતા અને EC-1050માં 64 બિટ્સ હતા. તે જ સમયે, ES-1022 અને ES-1033 માં RAM ની એક ઍક્સેસ માટે, ES-1050 - 8 બાઇટ્સ (અને ES-1045 - 16 બાઇટ્સ) માં 4 બાઇટ્સ પસંદ કરવામાં આવ્યા હતા. આમ, સંખ્યાઓની વિવિધતા સૂચવે છે કે 32 બિટ્સ (4 બાઇટ્સ) એ અમુક તકનીકી રીતે ફાળવેલ માહિતીની માત્રા ન હતી. ત્રીજી પેઢીની કારમાં ઘણી વધુ સુવિધાઓ દેખાય છે: વિવિધ લંબાઈડેટાને સંબોધિત કરવાની પદ્ધતિ, વિશેષ અલ્ટ્રા-રેન્ડમ રજિસ્ટર મેમરીની હાજરી, કેટલાક રજિસ્ટરના સરવાળા તરીકે અસરકારક RAM સરનામાની ગણતરી વગેરેના આધારે આદેશો. આ બધું આગળ ચોથી પેઢીના કમ્પ્યુટર્સમાં વિકસાવવામાં આવ્યું હતું, જેના માટે માઇક્રોપ્રોસેસર બીટ ક્ષમતા એક બની હતી. સૌથી મહત્વપૂર્ણ લાક્ષણિકતાઓ. અમે ચોથી પેઢીની કોમ્પ્યુટર મેમરીની માળખાકીય વિશેષતાઓની વિચારણા આગામી વિભાગ સુધી મુલતવી રાખીશું.

કમ્પ્યુટર આર્કિટેક્ચરનો એક મહત્વપૂર્ણ ઘટક સૂચના સિસ્ટમ છે, તેથી અમે આ મુદ્દાને વધુ ધ્યાનમાં લઈશું.

હેઠળ ટીમ બાઈનરી કોડના રૂપમાં પ્રસ્તુત માહિતીની સંપૂર્ણતાને સમજો, જે પ્રોસેસરને આગળનું પગલું કરવા માટે જરૂરી છે.

આદેશ કોડમાં, માહિતી સમાવવા માટે અમુક બિટ્સ (ક્ષેત્રો) ફાળવવામાં આવે છે:

ઓપરેશનના પ્રકાર વિશે,

RAM કોષોના સરનામાં જેમાં પ્રોસેસ્ડ ડેટા સંગ્રહિત થાય છે,

મેમરી કોષોના સરનામાં જ્યાં ઓપરેશનનું પરિણામ લખવામાં આવશે.

ક્ષેત્રોનું પૂર્વ-સંમત માળખું જે કમ્પ્યુટરને આદેશ કોડના ઘટકોને ઓળખવાની મંજૂરી આપે છે તેને કહેવામાં આવે છે આદેશ ફોર્મેટ .

કમાન્ડ ફોર્મેટના ઉદાહરણો આકૃતિ 5 માં દર્શાવવામાં આવ્યા છે.

આકૃતિ 5

આદેશ કોડનું મુખ્ય તત્વ ઓપરેશન કોડ (OPC) છે, જે આ આદેશ પર કઈ ક્રિયાઓ કરવામાં આવશે તે નિર્ધારિત કરે છે. N ફોર્મેટના સૌથી નોંધપાત્ર બિટ્સ તેના માટે ફાળવવામાં આવ્યા છે.

બાકીના બિટ્સમાં A1 અને A2 છે - ઓપરેન્ડના સરનામાં, A3 - પરિણામનું સરનામું.

એડ્રેસીંગ મેથડ બદલતી વખતે કમાન્ડ ફોર્મેટમાં ફીલ્ડ્સનું વિતરણ બદલાઈ શકે છે.

આદેશની લંબાઈ સરનામાં ક્ષેત્રોની સંખ્યા પર આધારિત છે. સરનામાંઓની સંખ્યાના આધારે, ટીમોને સરનામા વિના વિભાજિત કરવામાં આવે છે; એક-, બે-, ત્રણ-સરનામું.

યાદ કરો કે કમાન્ડ કોડમાં ડેટા વિશેની માહિતી હોય છે જેના પર અમુક કામગીરી કરવાની જરૂર હોય છે. આ ડેટાને ઓપરેન્ડ કહેવામાં આવે છે. સામાન્ય રીતે, ઓપરેન્ડ્સ કોમ્પ્યુટરની RAM અથવા રજીસ્ટર મેમરીમાં સમાયેલ હોય છે. મેમરીમાં જે રીતે ઓપરેન્ડ જોવા મળે છે તે પણ સૂચના ફોર્મેટ નક્કી કરે છે.

મેમરીમાં ઓપરેન્ડ શોધવા માટે 2 જુદા જુદા સિદ્ધાંતો છે: સહયોગી અને સરનામું:

- સહયોગી શોધ (મેમરી સેલના સમાવિષ્ટો દ્વારા શોધો) આદેશ દ્વારા ઉલ્લેખિત એસોસિએટીવ ફીચર ધરાવતા કોડને ઓળખવા માટે તમામ મેમરી કોષોની સામગ્રીને જોવાનો સમાવેશ થાય છે.

- સરનામું શોધ ધારે છે કે ઓપરેન્ડ કમાન્ડ એડ્રેસ ફીલ્ડમાં ઉલ્લેખિત સરનામા પર છે.

ઓપરેન્ડના એક્ઝિક્યુટિવ એડ્રેસ અને સૂચનાના એડ્રેસ કોડ વચ્ચે તફાવત કરવામાં આવે છે.

ઓપરેન્ડ એક્ઝેક્યુશન સરનામુંમેમરી સેલ નંબરનો બાઈનરી કોડ છે જેના દ્વારા ઓપરેન્ડ લખવામાં અથવા વાંચવામાં આવશે.

આદેશ સરનામું કોડઆદેશના એડ્રેસ ફીલ્ડમાં બાઈનરી કોડ કહેવાય છે, જેની મદદથી ઓપરેન્ડનું એક્ઝિક્યુટિવ એડ્રેસ જનરેટ કરવું જરૂરી છે. કોમ્પ્યુટરમાં, એડ્રેસ કોડ અને એક્ઝિક્યુટિવ એડ્રેસ એકરૂપ થતા નથી, તેથી એડ્રેસિંગ મેથડને આદેશના એડ્રેસ કોડમાંથી એક્ઝિક્યુટિવ એડ્રેસ બનાવવાની પદ્ધતિ તરીકે વ્યાખ્યાયિત કરી શકાય છે.

અમે આ ખ્યાલોનો ઉપયોગ ઓપરેન્ડને સંબોધવાની પદ્ધતિઓનું વર્ણન કરવા માટે કરીશું.

મેમરીમાં ઓપરેન્ડની શોધના પ્રકારને આધારે ઓપરેન્ડને સંબોધવાની પદ્ધતિઓનું વર્ગીકરણ કરવામાં આવે છે:

1) આદેશમાં સરનામાની માહિતીની હાજરી દ્વારા:

-સ્પષ્ટ સંબોધન. કોડની આ પદ્ધતિ સાથે, આદેશમાં ઓપરેન્ડ એડ્રેસ ફીલ્ડ હોય છે;



- ગર્ભિત સંબોધન. આ પદ્ધતિ સાથે, સૂચનામાં કોઈ સરનામું ક્ષેત્ર નથી, અને ઓપરેન્ડનું સરનામું opcode દ્વારા સૂચિત છે. ઉદાહરણ તરીકે, ગંતવ્ય પ્રાપ્ત કરનારનું સરનામું સૂચનામાંથી બાકાત રાખવામાં આવી શકે છે, જે સૂચવે છે કે પરિણામ બીજા ઓપરેન્ડની જગ્યાએ લખાયેલું છે.

2) રેમની ઍક્સેસની આવર્તન અનુસાર:

- સીધું સંબોધન.ડાયરેક્ટ એડ્રેસીંગ સાથે, ઓપરેન્ડ સીધું જ આદેશના એડ્રેસ ફીલ્ડમાં સ્થિત છે (આકૃતિ 6).

આકૃતિ 6

- સીધું સંબોધન (તાત્કાલિક સંબોધન).ડાયરેક્ટ એડ્રેસીંગ સાથે, ઓપરેન્ડને કમાન્ડ ફીલ્ડમાં એડ્રેસ કોડનો ઉપયોગ કરીને એક્સેસ કરવામાં આવે છે. આ કિસ્સામાં, એક્ઝિક્યુટિવ સરનામું આદેશ કોડના સરનામા સાથે એકરુપ છે. આ નીચેની આકૃતિ (આકૃતિ 7) દ્વારા સમજાવી શકાય છે.

આકૃતિ 7

- પરોક્ષ સંબોધન.પરોક્ષ સંબોધન સાથે, સૂચના કોડ મેમરી કોષનું સરનામું સ્પષ્ટ કરે છે જેમાં ઓપરેન્ડ પોતે સ્થિત નથી, પરંતુ તેનું સરનામું, જેને પોઇન્ટર કહેવાય છે. આ નીચેની આકૃતિ (આકૃતિ 8) દ્વારા સમજાવી શકાય છે.

આકૃતિ 7

3) મેમરી કોષોના સરનામાં બનાવવાની પદ્ધતિ અનુસાર:

- સંપૂર્ણ સંબોધનધારો કે મેમરી સેલના એડ્રેસનો દ્વિસંગી કોડ સૂચનાના એડ્રેસ ફીલ્ડમાંથી અથવા પરોક્ષ એડ્રેસિંગના કિસ્સામાં અન્ય કોઈ સેલમાંથી સંપૂર્ણપણે કાઢી શકાય છે.

- સંબંધિત સંબોધનધારો કે ઓપરેન્ડનો દ્વિસંગી કોડ કેટલાક ઘટકોમાંથી બનેલો છે:

બી - બેઝ કોડ;

અને - ઇન્ડેક્સ કોડ;

સી - ઓફસેટ કોડ.

આ ઘટકોનો ઉપયોગ વિવિધ સંયોજનોમાં થાય છે.

સંબંધિત સંબોધનના પ્રકાર:



આકૃતિ 9

રજીસ્ટર મેમરીનો ઉપયોગ ઓપરેન્ડનું સરનામું બનાવવા માટે થાય છે.

એરેમાં i ઓપરેન્ડનું સરનામું ઓપરેન્ડ એરેના પ્રારંભિક સરનામાના સરવાળા તરીકે વ્યાખ્યાયિત કરવામાં આવે છે, જે ઑફસેટ S દ્વારા આપવામાં આવે છે, અને ઇન્ડેક્સ i, એક રજિસ્ટર મેમરી રજિસ્ટરમાં લખાયેલ છે, જેને ઇન્ડેક્સ રજિસ્ટર કહેવાય છે.

ઇન્ડેક્સ રજિસ્ટરનું સરનામું ઇન્ડેક્સ એડ્રેસ ફીલ્ડ Ai દ્વારા આદેશમાં સ્પષ્ટ થયેલ છે.

દરેક i-th ચક્રમાં, ઇન્ડેક્સ રજિસ્ટરની સામગ્રીઓ સતત મૂલ્ય દ્વારા બદલાય છે, સામાન્ય રીતે 1.

એરે તત્વો પર સમાન કામગીરીની જરૂર હોય તેવા એરે સાથેના પ્રોગ્રામ્સ સાથે કામ કરવા માટે, આ પ્રકારના એડ્રેસિંગનો ઉપયોગ કરવો અનુકૂળ છે

2) ઓટો-ઇન્ડેક્સ એડ્રેસિંગ.ઑટો-ઇન્ડેક્સિંગ દરમિયાન, RP રજિસ્ટરમાં સ્થિત પરોક્ષ સરનામું ઑપરેશન કરવામાં આવે તે પહેલાં અથવા પછી સતત રકમ દ્વારા ઑટોમૅટિક રીતે વધતું જાય છે (ઑટો-ઇન્ક્રિમેન્ટલ ઍડ્રેસિંગ) અથવા ઘટાડો (ઑટો-ડિક્રિમેન્ટલ ઍડ્રેસિંગ) થાય છે.

3) સ્ટેક એડ્રેસિંગ. આધુનિક કમ્પ્યુટર્સમાં સ્ટેક મેમરીનો વ્યાપક ઉપયોગ થાય છે. સ્ટેક એક્સેસ એડ્રેસ કમાન્ડમાં ન હોવા છતાં, તે કંટ્રોલ સર્કિટ દ્વારા જનરેટ થાય છે (આકૃતિ 9):

આકૃતિ 9

રેકોર્ડ વાંચવા માટે માત્ર એક જ રજિસ્ટર ઉપલબ્ધ છે - સ્ટેકની ટોચ.

આ સંબોધન પદ્ધતિનો ઉપયોગ, ખાસ કરીને, સબરૂટિન કૉલ કરતી વખતે પ્રોગ્રામ ઇન્ટરપ્ટ સિસ્ટમ દ્વારા થાય છે.

સ્ટેક મેમરી સ્ટેક પોઇન્ટર અને ઓટો-ઇન્ડેક્સ એડ્રેસિંગનો ઉપયોગ કરીને નિયમિત મેમરીની ટોચ પર લાગુ કરવામાં આવે છે. તાર્કિક રીતે, સ્ટેકને ફાળવેલ મેમરી કોષો ગોઠવવામાં આવે છે જેથી છેલ્લું લખેલું સરનામું પહેલા વાંચવામાં આવે અને પ્રથમ લખેલું સરનામું છેલ્લે વાંચવામાં આવે. આ તાર્કિક સંસ્થા એક ખાસ કાઉન્ટર દ્વારા બનાવવામાં આવી છે. આ કાઉન્ટરને સ્ટેક પોઇન્ટર એસપી કહેવામાં આવે છે, જે માઇક્રોપ્રોસેસર રજીસ્ટર છે. મેમરી સેલ જેમાં આ ક્ષણેલખી શકાય છે, ઉદાહરણ તરીકે, સબરૂટિનમાંથી રીટર્ન એડ્રેસ કહેવાય છે સ્ટેકની ટોચ . સ્ટેકને ગોઠવવા માટે બનાવાયેલ મેમરી કોષોની સંખ્યા કહેવાય છે સ્ટેક ઊંડાઈ . છેલ્લો મેમરી સેલ કે જેના પર લખી શકાય છે તેને કહેવામાં આવે છે સ્ટેકની નીચે . સ્ટેક પર લખવાનું ઑટો-ડિક્રીમેન્ટલ એડ્રેસિંગનો ઉપયોગ કરીને કરવામાં આવે છે, અને ઑટોઇન્ક્રીમેન્ટલ એડ્રેસિંગ (આકૃતિ 10) નો ઉપયોગ કરીને વાંચન કરવામાં આવે છે.

આકૃતિ 10

ઉદાહરણ. C માં લખેલા સબરૂટિનને કૉલ કરવો.

સી ભાષામાં, સબરૂટિનને ફંક્શન કહેવામાં આવે છે. ફંક્શનમાં દલીલો અને સ્થાનિક ચલો હોઈ શકે છે, એટલે કે ચલો કે જે ફંક્શનના અમલ દરમિયાન જ અસ્તિત્વમાં હોય છે. ધારો કે ફંક્શન બે ઇનપુટ દલીલો x અને y પૂર્ણાંક પ્રકાર પર આધાર રાખે છે અને ત્રણ સ્થાનિક ચલ a, b અને cનો ઉપયોગ કરે છે, પૂર્ણાંક પ્રકારના પણ. કાર્ય પૂર્ણાંક મૂલ્ય આપે છે.

સબરૂટિન:

મુખ્ય કાર્યક્રમ:

ઉદાહરણ તરીકે, પ્રોગ્રામમાં ચોક્કસ બિંદુએ, ફંક્શન f ને દલીલો સાથે બોલાવવામાં આવે છે x = 2, y = 3. કૉલિંગ પ્રોગ્રામ ફંક્શન f ની દલીલો x અને y ના વાસ્તવિક મૂલ્યોને સ્ટેક પર દબાણ કરે છે, સાથે સ્ટેકની ટોચ પર ફંક્શનની પ્રથમ દલીલ અને તેની નીચે બીજી દલીલ. જ્યારે ફંક્શન કૉલ સૂચના એક્ઝિક્યુટ કરવામાં આવે છે, ત્યારે રિટર્ન એડ્રેસ પણ સ્ટેકની ટોચ પર ધકેલવામાં આવે છે. જ્યારે ફંક્શન f શરૂ થાય છે, ત્યારે સ્ટેક આના જેવો દેખાય છે:

એક્ઝેક્યુશન પહેલાં, ફંક્શન f એ તેના સ્થાનિક ચલ a, b, c માટે સ્ટેક પર મેમરી વિસ્તાર મેળવવો આવશ્યક છે.

અમલમાં મૂકાયેલ મશીન ક્રિયાઓનો સમૂહ તે બનાવે છે આદેશ સિસ્ટમ .

મોટી સંખ્યામાં કમ્પ્યુટર્સ હોવા છતાં, સૌથી નીચા ("મશીન") સ્તરે તેઓમાં ઘણું સામ્ય છે.

કોઈપણ કમ્પ્યુટરની કમાન્ડ સિસ્ટમમાં માહિતી પ્રોસેસિંગ આદેશોના નીચેના જૂથો આવશ્યકપણે સમાવિષ્ટ છે:

1. ડેટા ટ્રાન્સફર (સેન્સસ) આદેશો કે જે માહિતીને એક જગ્યાએથી બીજા સ્થાને નકલ કરે છે.

પ્રોસેસર રજીસ્ટર વચ્ચે વિનિમય,

CPU અને રેમ,

પ્રોસેસર અને પેરિફેરલ ઇન્સ્ટોલેશન.

2. અંકગણિત કામગીરી. મૂળભૂત અંકગણિત કામગીરીમાં સામાન્ય રીતે સરવાળો અને બાદબાકીનો સમાવેશ થાય છે (બાદમાં મોટાભાગે સરવાળો આવે છે). ગુણાકાર અને ભાગાકાર માટે, ઘણા કમ્પ્યુટર્સમાં તેઓ વિશિષ્ટ અલ્ગોરિધમનો ઉપયોગ કરીને કરવામાં આવે છે.

3. તાર્કિક કામગીરી કે જે કોમ્પ્યુટરને પ્રક્રિયા કરવામાં આવી રહેલી માહિતીનું વિશ્લેષણ કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, સરખામણી ઓપરેશન્સ અથવા જાણીતા લોજિકલ ઓપરેશન્સ AND, OR, NOT. વધુમાં, તેઓ ઘણીવાર વ્યક્તિગત કોડ બિટ્સ, તેમના રીસેટ અને ઇન્સ્ટોલેશનનું વિશ્લેષણ ઉમેરે છે.

4. બાઈનરી કોડ ડાબે અને જમણે શિફ્ટ થાય છે. આદેશોના આ જૂથના મહત્વને સાબિત કરવા માટે, કૉલમ ગુણાકારના નિયમને યાદ કરવા માટે તે પૂરતું છે: દરેક અનુગામી ઉત્પાદન ડાબી તરફ એક અંકની શિફ્ટ સાથે આવી યોજનામાં લખાયેલ છે. કેટલાક ખાસ કિસ્સાઓમાં, ગુણાકાર અને ભાગાકારને સામાન્ય રીતે શિફ્ટ દ્વારા બદલી શકાય છે (યાદ રાખો કે શૂન્યને જમણી બાજુએ ઉમેરીને અથવા દૂર કરીને, એટલે કે, ખરેખર દશાંશ સંખ્યાને સ્થાનાંતરિત કરીને, તમે તેને 10 ગણો વધારી અથવા ઘટાડી શકો છો).

5. બાહ્ય ઉપકરણો સાથે વિનિમય માટે માહિતીના ઇનપુટ અને આઉટપુટ માટેના આદેશો. કેટલાક કમ્પ્યુટર્સમાં, બાહ્ય ઉપકરણો એ વિશિષ્ટ સેવા મેમરી સરનામાં છે, તેથી ઇનપુટ અને આઉટપુટ વસ્તી ગણતરી આદેશોનો ઉપયોગ કરીને હાથ ધરવામાં આવે છે.

6. નિયંત્રણ આદેશો કે જે બિનરેખીય અલ્ગોરિધમનો અમલ કરે છે. આમાં મુખ્યત્વે શરતી અને બિનશરતી કૂદકા, તેમજ સબરૂટિન (વળતર સાથે કૂદકો) ઍક્સેસ કરવા માટેના આદેશોનો સમાવેશ થાય છે. કેટલાક કમ્પ્યુટર્સમાં લૂપ્સ ગોઠવવા માટે વિશેષ આદેશો હોય છે, પરંતુ આ જરૂરી નથી: લૂપને શરતી અને બિનશરતી સંક્રમણોના એક અથવા બીજા સંયોજનમાં ઘટાડી શકાય છે. મોટે ભાગે, આદેશોના આ જ જૂથમાં પ્રોસેસરને નિયંત્રિત કરવા માટે થોડા ઓપરેશન્સનો સમાવેશ થાય છે - જેમ કે "સ્ટોપ" અથવા NOP ("કોઈ ઓપરેશન"). કેટલીકવાર તેઓ વિશિષ્ટ જૂથમાં વિભાજિત થાય છે.

કમાન્ડ સિસ્ટમને ધ્યાનમાં લેતા, તેના નિર્માણમાં બે આધુનિક પરસ્પર સ્પર્ધાત્મક દિશાઓનો ઉલ્લેખ કરવામાં મદદ કરી શકાતી નથી: CISC (કોમ્પ્લેક્સ ઇન્સ્ટ્રક્શન સેટ કમ્પ્યુટર) આદેશોના સંપૂર્ણ સેટ સાથેનું કમ્પ્યુટર અને મર્યાદિત સેટ સાથે - RISC (ઘટાડો સૂચના સેટ કમ્પ્યુટર). વિભાજન એ હકીકતને કારણે ઉભું થયું કે મોટાભાગે કમ્પ્યુટરને તેના આદેશોના સમૂહનો એક નાનો ભાગ ચલાવવાનો હોય છે, જ્યારે બાકીનો સમયાંતરે ઉપયોગમાં લેવાય છે. આમ, જો તમે કામગીરીના સમૂહને સૌથી સરળ અને ટૂંકામાં નોંધપાત્ર રીતે મર્યાદિત કરશો, તો તમને એકદમ કાર્યક્ષમ અને ઝડપી RISC મશીન મળશે. સાચું, તમારે સૉફ્ટવેરમાં "કાઢી નાખેલા" આદેશોને અમલમાં મૂકવાની જરૂરિયાત દ્વારા ઝડપ માટે ચૂકવણી કરવી પડશે, પરંતુ ઘણીવાર આ ચુકવણી વાજબી હોય છે: ઉદાહરણ તરીકે, વૈજ્ઞાનિક ગણતરીઓ અથવા કમ્પ્યુટર ગ્રાફિક્સ માટે, પ્રોગ્રામિંગ સમસ્યાઓ કરતાં ઝડપ વધુ મહત્વપૂર્ણ છે.