સંગણક
સંગણક કે કમ્પ્યુટર એટલે એવું યંત્ર કે જે તેને ક્રમાદેશન (કમ્પ્યુટર પ્રોગ્રામીંગ) કરીને અપાયેલી સુચનાઓ મુજબ કાર્ય કરીને વિવિધ સ્વરૂપની માહિતી અને ડેટા પર વિવિધ પ્રક્રિયા કરી શકે છે.
વિગત
આધુનિક સંગણકોને મળતા આવતા પહેલા ડિવાઇસિસ 20મી સદીની મધ્યના હતા (૧૯૪૦–૧૯૪૫), જોકે કમ્પ્યુટરનો અભિગમ અને વિવિધ યંત્રો અગાઉ અસ્તિત્વ ધરાવતા કમ્પ્યુટર્સ જેવા હતા. અગાઉના ઇલેક્ટ્રોનિક કમ્પ્યુટર્સ વિશાળ ઓરડાના કદના હતાં, અને આધુનિક સો જેટલા પર્સનલ કમ્પ્યુટર્સ જેટલી વીજળી વાપરી નાખતા હતા. આધુનિક કમ્પ્યુટર્સ નાની ઇન્ટિગ્રેટેડ સર્કિટ પર આધારિત છે અને માહિતીના સંગ્રહની દ્રષ્ટિએ અબજોગણા વધુ સક્ષમ છે. હાલમાં, સાદા કમ્પ્યુટર્સ કાંડા ઘડિયાળમાં સમાવી શકાય તેટલા નાના બની શકે છે અને તે ઘડિયાળની વીજકોષ (બેટરી)થી ચલાવી શકાય છે. વિવિધ પ્રકારના વ્યક્તિગત કમ્પ્યુટર્સ માહિતી યુગના ઓળખ ચિન્હોરૂપ છે, જોકે, હાલમાં જે પ્રકાર સર્વ સામાન્ય છે તે એમ્બેડેડ કમ્પ્યુટર. એમ્બેડેડ કમ્પ્યુટર્સ નાના સરળ યંત્રો છે જેનો ઉપયોગ બીજા યંત્રોને અંકુશમાં રાખવા થાય છે-ઉદાહરણ તરીકે, એમ્બેડેડ કમ્પ્યુટર્સ લડાકુ વિમાનથી લઇને ઔદ્યોગિક રોબોટ્સ, ડિજિટલ કેમેરા અને બાળકોના રમકડાંમાં જોવા મળી શકે છે.
સૂચનાઓની યાદીનો સંગ્રહ અને અમલ કરવાની ક્ષમતાને ક્રમાદેશ (કમ્પ્યુટર પ્રોગ્રામ) કહે છે જે કમ્પ્યુટર્સને ખુબજ ઉપયોગી બનાવે છે અને અન્ય ગણનયંત્રોથી (જેવા કે કેલ્ક્યુલેટર)થી તેને અલગ પાડે છે.ચર્ચ ટર્નીંગ થિસીસ એ આ વિવિધતાનું ગણીતીય નિરૂપણ છેઃ ચોક્કસ ઓછામાં ઓછી ક્ષમતા સાથેનું કોઇ પણ કમ્પ્યુટર તે સૈદ્ધાંતિક રીતે અન્ય કમ્પ્યુટરો જે કાર્ય કરે છે તે જ કાર્ય હાથ ધરવા સક્ષમ હોય છે. તેથી, પર્સનલ ડિજિટલ આસિસ્ટંટ (પિડિએ) અને સુપરકમ્પ્યુટર સુધીની ક્ષમતા અને જટિલતા ધરાવતા કમ્પ્યુટર્સ સમાન સમય અને સંગ્રહ શક્તિ સાથે એક સરખા કમ્પ્યુટેશનલ કામ કરવા સક્ષમ હોય છે.
કમ્પ્યુટિંગનો ઇતિહાસ
અગાઉના સમયનાં કમ્પ્યુટર્સનાં કોઇ એક ડિવાઇઝને ઓળખવુ પણ અઘરૂ છે કારણે સમયાંતરે "કમ્પ્યુટર" શબ્દનો અર્થ બદલાતો જાય છે.મૂળરૂપે, "કમ્પ્યુટર" શબ્દ એવા વ્યક્તિનો ઉલ્લેખ કરે છે જે આંકડાકીય ગણતરી કરી શકે આવા માનવીય કમ્પ્યુટર ઘણીવાર યાંત્રિક ગણતરીના સાધનની પણ મદદ લેતા હોય છે.
આધુનિક કમ્પ્યુટરનો ઇતિહાસ બે અળગ પ્રાવૈધિક વિજ્ઞાન સાથે શરૂ થાય છે - આપોઆપ થતી ગણતરી અને પ્રોગ્રામેબિલિટી.
અગાઉના યાંત્રિક ગણન સાધનોના ઉદાહરણમાં અબાકસ, સ્લાઇડ રૂલ (ગણતરી આપોઆપ કરી શકાય તેવી પટ્ટી) અને નક્ષત્રમાપક યંત્ર તથા એન્ટિખિથેરાની યાંત્રિક પધ્ધતિ(જે ૧૫૦-૧૦૦ BC સમયમાં અસ્તિત્વ ધરાવતા હતા) નો સમાવેશ થાય છે. એલેક્ઝાન્ડ્રીયાના હેરોન (c.10-70 AD) માં મિકેનિકલ થિયેટર બન્યું હતું જે 10 મિનિટ સુધી નાટક બતાવતું હતું અને તે દોરડાઓ તથા ડ્રમ્સની જટિલ પધ્ધતિ દ્વારા ચાલતુ હતું, મિકેનિઝમનો કયો હિસ્સો ખેલ કરશે તે નક્કી કરવા કદાચ તેની રચના કરવામાં આવી હતી.[૧]આ પ્રોગ્રામેબિલિટીનો સાર છે.
"કેસલ ક્લોક", ખગોળશાસ્ત્રને લગતી ઘડિયાળની શોધ અલ-જઝારીએ ૧૨૦૬માં કરી હતી, તેને સૌથી પહેલુ પ્રોગ્રામ કરી શકાય તેવું એનાલોગ કમ્પ્યુટર ગણવામાં આવે છે.[૨]તે રાશિ, સૂર્યની ભ્રમણકક્ષા અને ચંદ્રની ભ્રમણકક્ષા બતાવતું હતું અર્ધચન્દ્રાકાર પોઇન્ટર દર કલાકે સ્વંયચાલિત દરવાજા ખોલીને બહાર આવે છે, અને વોટર વ્હીલ સાથે જોડેલા કેમ્શેફ્ટ દ્વારા ચાલતા લિવર દ્વારા [૩][૪]પાંચ રોબોટિક સંગીતકારો સંગીત વગાડે છે.સમગ્ર વર્ષ દરમિયાન દિવસ અને રાતની બદલતી લંબાઇ માપવા દરરોજ દિવસ અને રાતની લંબાઇને ફરી પ્રોગ્રામ કરી શકાય છે.[૨]
મધ્ય યુગના અંતમાં યુરોપિયન મેથેમેટિક્સ અને એન્જિનિયરીંગમાં નવું જોમ જોવા મળ્યું, અને વિલ્હેલ્મ શિકાર્ડનું ૧૬૨૩ યંત્ર યુરોપિયન એન્જિનીયર્સ દ્વારા બનાવવામાં આવેલા મિકેનિકલ કેલ્ક્યુલેટર્સમાં પહેલુ હતું.જોકે, તેમાનાં કોઇપણ ડિવાઇઝિસ કમ્પ્યુટરની આધુનિક વ્યાખ્યામાં બંધ બેસતા નથી કારણ કે તેને પ્રોગ્રામ કરી શકાતા નથી.
૧૮૦૧માં, જોસેફ મેરી જેક્વાર્ડે કાપડ બનાવવાની સાળમાં સુધારો કર્યો હતો. તેમણે સાળમાં જટિલ પેટર્ન્સનું વણાટ કામ ઓટોમેટિકલી થાય તે માટે ચોક્કસ ઢબે કાણા પાડેલા પેપરની શ્રેણીનો ઉપયોગ ઢાંચા તરીકે કર્યો હતો. તેના પરિણામે કમ્પ્યુટરના વિકાસમાં જેક્વાર્ડ લૂમ મહત્વનું પગલુ બની રહ્યું કારણ કે વણાટની પેટર્ન્સ તરીકે પંચ કરેલા કાર્ડનો ઉપયોગ સૌથી પહેલો મર્યાદિત પ્રોગ્રામેબિલીટીના પ્રકાર તરીકે જોઇ શકાય.
તે ઓટોમેટિક ગણતરીનું પ્રોગ્રામેબિલીટી સાથેનું મિશ્રણ હતું તેણે પહેલુ ઓળખાવી શકાય તેવુ કમ્પ્યુટર બનાવ્યું હતું.૧૮૩૭માં, એનાલિટીકલ એન્જિન કહેવાતુ સંપૂર્ણ પ્રોગ્રામ કરી શકાય તેવા મિકેનિકલ કમ્પ્યુટરની કલ્પના અને ડિઝાઇન આપનાર ચાલ્સ બેબેજ પહેલો હતો.[૫]મર્યાદિત ભંડોળને કારણે, અને ડિઝાઇન સાથે બેદરકારી ન સહી સકનાર બેબેજે ખરેખર ક્યારેય એનાલિટીકલ એન્જિન બનાવી શક્યા નહોતા.
ટૅબ્યુલેટિંગ મશીન દ્વારા અમેરિકાના સંયુક્ત યુનાઇટેડ રાજ્યોની વસ્તીગણત્રી, ૧૮૯૦માં પંચ કાર્ડનો મોટા પાયાનો ઓટોમેટેડ ડેટા પ્રોસેસ કરવામાં આવ્યો હતો, જેની ડિઝાઇન હર્મન હોલ્લેરિથ દ્વારા તૈયાર કરવામાં આવી હતી અને કમ્પ્યુટીંગ ટેબ્યુલેટીંગ રેકોર્ડીંગ કોર્પોરેશન દ્વારા ઉત્પાદન કરવામાં આવ્યું હતું. જે બાદમાં આઇબીએમ થયું. ૧૯મી સદીના અંતમાં અસંખ્ય ટેકનોલોજીઓ, જે બાદમાં પ્રેક્ટીકલ કમ્પ્યુટરો દેખાવા માંડ્યા બાદ રિયલાઇજેશનમાં ઉપયોગી સાબિત થયા હતા. જેમાં પંચકાર્ડ, બૂલિયન બિજગણિત, વેક્યુમ ટ્યૂબ, થર્મીયોનિક વાલ્વ અને ટેલિપ્રિન્ટરનો સમાવેશ થાય છે.
૨૦મી સદીના પૂર્વાધમાં વૈજ્ઞાનિક ગણત્રીઓની ઘણી જરૂરિયાત વ્યવહારદક્ષ એનાલોગ કમ્પ્યુટર દ્વારા પુરી કરવામાં આવતી હતી, જે ગણત્રી માટે સીધા યંત્રચાલીત અથવા વિદ્યુતવાલીત મોડેલનો ઉપયોગ કરે છે.જોકે, તે પ્રોગ્રામ કરી શકાય તેવા નહોતા અને મોટેભાગે તેમાં આધુનિક ડિજિટલ કમ્પ્યુટર્સ જેવી સંપૂર્ણતા અને ઝડપનો અભાવ છે.
ક્રમશ વધુ શક્તિશાળી અને લવચીક કમ્પ્યુટિંગ ડિવાઇસિસની રચના ૧૯૩૦ અને ૧૯૪૦માં થઇ હતી, ધીમે ધીમે તેમાં આધુનિક કમ્પ્યુટર્સમાં જોવા મળતી મહત્વની લાક્ષણિકતાઓનો ઉમેરો થતો ગયો.ડિજિટલ ઇલેક્ટ્રોનિક્સ (મોટેભાગે ક્લુડ શેનન દ્વારા ૧૯૩૭માં શોધાયેલું) અને વધુ લવચીક પ્રોગ્રામેબિલિટીનો ઉપયોગ આવશ્યક જરૂરી પગલા હતાં, પણ આ માર્ગ સાથે એક પોઇન્ટને પહેલુ ડિજિટલ ઇલેક્ટ્રોનિક કમ્પ્યુટર ગણાવવું મુશ્કેલ છેઢાંચો:Ref harvard.નોંધનિય સિધ્ધિઓનો સમાવેશ કરવામાં આવ્યો છે:
- કોનરેડ ઝુસનાં ઇલેક્ટ્રોમિકેનિકલ ધ ઝેડ3 (૧૯૪૧) પહેલુ એવુ વર્કિંગ મશીન હતું જેમાં દ્વિઅંકી ગણીતની વિશિષ્ઠતા હતી, તેમાં ફ્લોટિંગ પોઇન્ટ એરિથમેટિક અને પ્રોગ્રામેબિલિટીનો સમાવેશ થતો હતો.૧૯૯૮માં ઝેડ3 વ્યવસ્થિતરીતે સંપૂર્ણતા ધરાવતુ સાબિત થયું હતું, તેથી તે વિશ્વનું પહેલુ ઓપરેશનલ કમ્પ્યુટર બન્યું
- પ્રોગ્રામ ન થઇ શકે તેવુ એટનાસોફ-બેરી કમ્પ્યુટર (૧૯૪૧) વેક્યુમ ટ્યુબ આધારિત કમ્પ્યુટેશન, દ્વિઅંકી આંકડાઓ, અને રિજનરેટિવ કેપેસિટર મેમરીનો ઉપયોગ કરે છે.
- રહસ્યમય બ્રિટિશ કોલોસસ કમ્પ્યુટર્સ (૧૯૪૩),[૬] જેની પ્રોગ્રામ ક્ષમતા મર્યાદિત હતી પણ એવુ લાગતું હતું કે આ ડિવાઇઝમાં વપરાતી હજારો ટ્યુબ્સ ભરોસાપાત્ર બની શકે અને ઇલેક્ટ્રોનિક રીતે તે ફરી પ્રોગ્રામ કરી શકાય.તેનો ઉપયોગ જર્મન યુધ્ધ સમયનાં કોડ્સ બ્રેક કરવા માટે થતો હતો.
- હારવર્ડ માર્ક I (૧૯૪૪), લાર્જ-સ્કેલ ઇલેક્ટ્રોમિકેનિકલ કમ્પ્યુટર જેની પ્રોગ્રામિંગ ક્ષમતા મર્યાદિત હતી.
- યુ. એસ. આર્મીની બેલિસ્ટિક્સ સંશોધન પ્રયોગશાળા ઍનિઆક (૧૯૪૬), જે દશાંશ ગણિતનો ઉપયોગ કરતું હતું અને તેને પહેલુ સામાન્ય હેતુ માટેનું વિજાણુ કમ્પ્યુટર કહી શકાય કોનરાડ ઝુસનું ૧૯૪૧નું ઝેડ3 ઇલેક્ટ્રોનિક્સના સ્થાને ઇલેક્ટ્રોમેગ્નેટ્સનો ઉપયોગ કરતું હતું.જોકે, શરૂઆતમાં, ENIACનું આર્કિટેક્ચર લવચીક નહોતું જેના પ્રોગ્રામિંગમાં ફેરફાર કરવા તેનું ફરી વાયરિંગ જરૂરી હતું.
ENIACના કેટલાંક વિકાસકારો તેના પ્રવાહોને ઓળખી રહ્યા હતા, અને વધુ લવચીક તથા ભવ્ય ડિઝાઇન લઇને આવ્યા, જે સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચર અથવા વોન ન્યુમેન આર્કિટેક્ચર તરીકે ઓળખાતી હતી.આ ડિઝાઇનનું ઔપચારિક વર્ણન સૌથી પહેલા જ્હોન વોન ન્યુમેન દ્વારા પેપરમાં ફર્સ્ટ ડ્રાફ્ટ ઓફ અ રિપોર્ટ ઓન EDVAC, તરીકે થયું હતું, તેની વહેંચણી 1945માં થઇ હતી.આ સમયગાળામાં સ્ટોર્ડ-પ્રોગ્રામ આધારિત કમ્પ્યુટર્સ વિકસાવવા ઘણાં પ્રોજેક્ટ્સ હાથ ધરાયા હતા, તેમાંનો પહેલો ગ્રેટ બ્રિટનમાં પુરો થયો હતો. માન્ચેસ્ટર સ્મોલ-સ્કેલ એક્સપેરિમેન્ટલ મશીન (SSEM અથવા "Baby")ને સૌથી પહેલા કામ કરતું પ્રદર્શિત કરવામાં આવ્યું હતું, જ્યારે SSEMનાં એક વર્ષ પછી EDSAC પુરો થયો હતો, તે સ્ટોર્ડ પ્રોગ્રામ ડિઝાઇનનું પહેલું પ્રેક્ટિકલ અમલીકરણ હતું.તેના થોડા સમય બાદ વોન ન્યુમેનના પેપરમાં દર્શાવાયેલુ મશીન EDVAC પુરૂ થયું હતું પણ વધુ બે વર્ષ સુધી તેનો સંપૂર્ણ ઉપયોગ જોવા મળ્યો નહોતો.
લગભગ દરેક આધુનિક કમ્પ્યુટર્સ સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચરના કેટલાંક પ્રકારનો ઉપયોગ કરે છે, તેને એકમાત્ર એવુ લક્ષણ બનાવે છે જેના દ્વારા હવે "કમ્પ્યુટર" શબ્દ ઓળખાય છે.૧૯૪૦ના પહેલા ઇલેક્ટ્રોનિક, સામાન્ય હેતુના કમ્પ્યુટર્સ કરતા હવે ટેક્નોલોજિસમાં ધરખમ ફેરફાર થયા હોવાછતાં, મોટેભાગે હજુ પણ ન્યુમેન આર્કિટેક્ચરનો ઉપયોગ થાય છે.
ઇલેક્ટ્રોનિક એલિમેન્ટ્સ તરીકે વેક્યુમ ટ્યુબનો ઉપયોગ કરતા કમ્પ્યુટર્સ ૧૯૫૦ સુધી વપરાતા હતા, ૧૯૬૦ સુધીમાં તેના સ્થાને ટ્રાન્ઝિસ્ટર આધારિત મશીન્સ આવી ગયા, જે વધુ નાના, ઝડપી, ઉત્પાદનમાં સસ્તા, ઓછી વીજળી વાપરનારા, અને વધુ વિશ્વસનિય હતા.પહેલું ટ્રાન્ઝિસ્ટરાઇઝ્ડ કમ્પ્યુટર યુનિવર્સિટી ઓફ માન્ચેસ્ટરમાં ૧૯૫૩માં બતાવવામાં આવ્યું હતું.[૭]૧૯૭૦માં, ઇન્ટિગ્રેટેડ સર્કિટ ટેક્નોલોજી અને ત્યારબાદ તરત થયેલી ઇન્ટેલ ૪૦૦૪ જેવા માઇક્રોપ્રોસેસર્સની રચનાએ, તેના કદ અને કિંમતમાં વધુ ઘટાડો કર્યો હતો તથા ઝડપ અને કમ્પ્યુટર્સની વિશ્વસનિયતામાં વધારો કર્યો હતો. ૧૯૮૦ સુધીમાં કમ્પ્યુટર્સ ઘણાં નાના અને સસ્તા થઇ ગયા હતા જેથી વોશિંગ મશીન્સ જેવા ઘરેલુ ઉપકરણોમાં સરળ મિકેનિકલ કંટ્રોલ તરીકે મુકી શકાય. ૧૯૮૦ હોમ કમ્પ્યુટરનું પણ સાક્ષી બન્યું અને હવે સર્વવ્યાપક પર્સનલ કમ્પ્યુટર છે. ઇન્ટરનેટની ઉત્ક્રાંતિ સાથે, પર્સનલ કમ્પ્યુટર્સ ઘરની ટેલિવિઝન અને ટેલિફોન જેવી વસ્તુઓ જેટલા સામાન્ય બની ગયા.
આધુનિક સ્માર્ટફોન ટેકનિકલ રીતે સંપૂર્ણ પ્રોગ્રામ ક્ષમતાવાળા કમ્પ્યુટર્સ છે અને ૨૦૦૯માં મોટાભાગે આ પ્રકારના કમ્પ્યુટર્સ અસ્તિત્વ ધરાવે છે.
સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચર
બીજા બધા મશિન્સથી જુદુ પાડતું આધુનિક કમ્પ્યુટર્સનું મુખ્ય લક્ષણ એ છે કે તે પ્રોગ્રામ કરી શકાય છે. એવુ કહી શકાય કે કમ્પ્યુટરને સૂચનાઓની યાદી આપી શકાય છે અને તે તેમાં સંગ્રહી શકાય અને ભવિષ્યમાં ગમે ત્યારે તેને ઉપયોગમાં લઇ શકાય છે.
મોટાભાગના કિસ્સાઓમાં, કમ્પ્યુટર સૂચનાઓ સરળ હોય છે. ઉદાહરણ તરીકે બીજા નંબરમાં એક નંબર ઉમેરો, કેટલોક ડેટા એક સ્થળેથી બીજા સ્થળે ખસેડો, કોઇ બહાર ના ડિવાઇસ ને સંદેશો મોકલો, વગેરે. આ સૂચનાઓ કમ્પ્યુટરની મેમરી માંથી વાંચી શકાય છે અને જે ક્રમાંકમાં તે આપવામાં આવી હોય તે અનુસાર તેની ઉપર કામ થતું હોય છે. જોકે, તેમાં કેટલીક ખાસ પ્રકારની સૂચનાઓ હોય છે જે કમ્પ્યુટરને આગળ વધવાનું કે પ્રોગ્રામમાં પાછળની કોઇ જગ્યાએ પહોચવાનું અને ત્યાંથી કામ આગળ વધારવાનું કહે છે. તેને "જમ્પ" સૂચનાઓ (અથવા "બ્રાન્ચિસ") કહે છે.વધુમાં, જમ્પ સૂચનાઓ કદાચ શરતી વિધાનને આધિન કરવામાં આવે છે જેથી સૂચનાઓની વિવિધ શ્રેણી અગાઉની કેટલીક ગણતરીઓ અથવા કોઇ બહાર ના ઇવેન્ટ ના પરિણામને આધારે વપરાઇ શકે.કેટલાંક કમ્પ્યુટર્સ એવા પ્રકારના જમ્પ પુરા પાડે છે જે ક્યાંથી જમ્પ થાય છે તે સ્થળને યાદ રાખે અને જમ્પ સૂચનાઓને અનુસરવા બીજી સૂચનાઓ તરફ પાછા ફરવાનું પણ યાદ રાખે છે અને આ દ્વારા સબરૂટિનને ટેકો આપે છે.
પ્રોગ્રામના અમલને પુસ્તક વાંચવા સાથે જોડી શકાય.જ્યારે કોઇ પણ વ્યક્તિ સામાન્ય રીતે દરેક શબ્દ અને લાઇન સુધી શ્રેણીમાં પહોંચે ત્યારે, ટેક્સ્ટમાં અગાઉના સ્થાન પર ફરીથી આવી જાય અથવા રસ વિનાના વિભાગોને કૂદાવી જાય. તેજ રીતે કમ્પ્યુટર કેટલીકવાર પાછુ જાય અને જ્યા સુધી કેટલીક આંતરિક શરતો પરિપૂર્ણ ન થાય ત્યા સુધી પ્રોગ્રામની કેટલીક શરતોને વારંવાર રીપીટ કરે છે. તેને પ્રોગ્રામમાં રહેલો "અંકુશનો પ્રવાહ" કહે છે અને જેના કારણે કમ્પ્યુટર માનવીય હસ્તક્ષેપ વગર વારંવાર કામ કરી શકે છે.
તુલનાત્મક રીતે, પોકેટ કેલ્ક્યુલેટર વાપરતી વ્યકિત સરવાળા જેવી સામાન્ય ગણતરી ફક્ત બટન દબાવીને કરી શકે છે.પણ જો એક સાથે 1 થી 1,000 આંકડા ઉમેરવાના હોય તો હજારો બટન દબાવવા પડે અને ઘણો સમય લાગે અને ભૂલ થવાની પણ શક્યતા રહે છે.મોટાભાગના કિસ્સાઓમાં કમ્પ્યુટરઉદાહરણ તરીકે:
mov #0, sum ; sum ને 0 વેલ્યુ આપો
mov #1, num ; num ને 1 વેલ્યુ આપો
loop: add num, sum ; num ને sum માં ઉમેરો, અને આ સૂચના ને loop નામ આપો
add 1,num ; num માં 1 ઉમેરો
cmp num,#1000 ; num ને 1000 સાથે સરખાવો
ble loop ; જો num, 1000 કરતા નાનો હોય તો loop પર જાવ
halt ; પ્રોગ્રામ નો અંત, સૂચનાઓ અનુસરવાનું બંધ કરો
એકવાર આ પ્રોગ્રામ રન કરવાનું કહેવામાં આવે, તો કમ્પ્યુટર માનવીય હસ્તક્ષેપ વગર વધારાનું કામ વારંવાર કરશે.તે ક્યારેય ભૂલ કરતુ નથી અને આધુનિક પીસી મિલી સેકન્ડસ[૮]માં કામ પૂરૂ કરી શકે છે.
જોકે, કમ્પ્યુટરો પોતાની જાતે “વિચારી” શકતા નથી, તેઓ ફકત જે રીતે પ્રોગ્રામ હોય તે રીતે જ સમસ્યા ઉકેલી શકે છે. બુદ્ધિશાળી વ્યક્તિ ધ્યાન માં લેશે કે અહીં બવ બધા સરવાળા થઇ રહ્યા છે અને તરત જ અવો અનુભવ કરશે કે દરેક નંબર ઉમેરો કરવાને બદલે જે તે વ્યક્તી સરળ રીતે સમીકરણનો ઉપયોગ કરી શકે છે.
અને નાના કામ દ્વારા સાચા જવાબ (500,500) સુધી આવી પહોંચે છે. [૯] અન્ય શબ્દોમાં કહીએ તો ઉપરના ઉદાહરણ અનુસાર એક પછી એક નંબરો ઉમેરો કરવા માટે જે કમ્પ્યુટરમાં પ્રોગ્રામ કરવામાં આવ્યો હોય તો તે કાર્યક્ષમતા અથવા વૈકલ્પિક ઉકેલની ચિંતા કર્યા વિના યોગ્ય રીતે જ કામ કરશે.
પ્રોગ્રામ્સ
કમ્પ્યુટર પ્રોગ્રામ, વર્ડ પ્રોસેસર અથવા વેબ બ્રાઉઝર માટેના પ્રોગ્રામોની જેમ થોડી સુચનાઓથી લઇને અસંખ્ય સુચનાઓને અનુસરી શકે છે. વિશિષ્ટ આધુનિક કમ્પ્યુટર સેકંડદીઠ ગીગાહર્ટઝ અથવા GHz ની ગતિ થી અબજો સુચનાઓને અનુસરી શકે છે અને ભાગ્યે જ ઓપરેશનના અનેક વર્ષો માં એક વાર ભૂલ કરી શકે છે. મોટા કમ્પ્યુટર વિવિધ હજ્જારો સુચનાઓનો સમાવેશ કરતા હોય છે અને તે લખવા માટે અનેક પ્રોગ્રામર્સની સહાય લઇ શકે છે, આમ ભૂલ વિના સમગ્ર પ્રોગ્રામ લખાઇ જવાની સંભાવના અત્યંત ઓછી છે. કમ્પ્યુટર પ્રોગ્રામમા આવતી ભૂલોને “બગ્સ” કહેવાય છે. બગ્સ સારા હોઇ શકે છે અને પ્રોગ્રામની ઉપયોગિતાને અસર કરતા નથી અથવા નજીવી અસર હોઇ શકે છે. પરંતુ કેટલાક કિસ્સામાં તે પ્રોગ્રામને “હેન્ગ” કરી શકે છે એટલેકે સ્થગીત કરી શકે છે-કે જેથી કમ્પ્યૂટર માઉસ ક્લિક્સ અથવા કીસ્ટ્રોક્સનો પ્રતિભાવ આપતું નથી અથવા સંપૂર્ણપણે નિષ્ફળ અથવા “ક્રેશ” થઇ જાય છે. અલબત્ત સારા બગ્સ કેટલીકવાર ખરાબ ઇરાદા સાથે “એક્સપ્લોઇટ”લખતા ખરાબ યૂઝર દ્વારા નુકસાન પહોંચાડી શકે છે- બગ અને પ્રોગ્રામનો યોગ્ય અમલ ખોરવવા માટે કોડ તૈયાર કરવામાં આવ્યા છે. બગ્સ એ મોટેભાગે કમ્પ્યુટરની ખામીને લીધે આવતા નથી. કમ્પ્યુટરો તેમને આપવામાં આવતી સુચનાઓને જ અનુસરતા હોવાથી બગ્સ મોટે ભાગે પ્રોગ્રામરની ભૂલનું પરિણામ અથવા પ્રોગ્રામની ડિઝાઇનમાં કરેલ ભૂલનું પરિણામ હોય છે. [૧૦] મોટા ભાગના કમ્પ્યુટરોમાં, વ્યક્તિગત સુચનાઓને મશિન કોડ તરીકે સ્ટોર કરવામાં આવે છે, જેમાં દરેક સુચનાઓને વિશિષ્ટ નંબર(તેના ઓપરેશન કોડ અથવા ટૂંકાણ માટે ઓપકોડ આપવામાં આવે છે. બે નંબર ઉમેરવા માટેના કમાન્ડને એક ઓપકોડ હશે, તેમને મલ્ટીપ્લાય કરવા માટેના કમાન્ડને અન્યઓપકોડ અને તે રીતે હશે. સરળ કમ્પ્યુટરો થોડી વિવિધ સુચનાઓને અનુસરવા સક્ષમ હશે; જ્યારે વધુ જટિલ કમ્પ્યુટરો પાસે વિશિષ્ટ ન્યૂમરિકલ કોડ સાથે હજ્જારોમાંથી પસંદગી કરવાની રહેશે. કમ્પ્યુટરની મેમરી નંબરો સ્ટોર કરવા સક્ષમ હોવાથી તે સુચના કોડ્સ પણ સ્ટોર કરી શકે છે. તેના કારણે એક અગત્યની હકીકત એવી થાય છે કે સમગ્ર પ્રોગ્રામ (કે જે ફક્ત સુચનાઓની યાદી છે)ને નંબરોની યાદી તરીકે પ્રદર્શિત કરી શકાય છે અને તે જો ન્યૂમરિક ડેટા હોય તો કમ્પ્યુટરની અંદર તેમની રીતે ખોટા આંક દર્શાવી શકે છે. તેઓ જે ઓપરેટ કરે છે તે ડેટાની સાથે કમ્પ્યુટરની મેમરીમાં પ્રોગ્રામ સ્ટોર કરવાનો મૂળ ખ્યાલ એ છે કે વોન ન્યમનનો ક્રક્સ અથવા સ્ટોર થયેલા આર્કિટેક્ચર પ્રોગ્રામ છે. કેટલાક કિસ્સાઓમાં કમ્પ્યુટર કેટલોક ડેટા સેવ શકે છે અથવા તે ઓપરેટ કરે છે તે ડેટામાંથી અલગ મૂકાયેલા સમગ્ર પ્રોગ્રામને મેમરીમાં સમાવી શકે છે. તેને હાર્વર્ડ માર્ક I કમ્પ્યુટર બાદ હાર્વર્ડ આર્કિટેક્ચર કહેવાય છે. આધુનિક વોન ન્યૂમન કમ્પ્યુટર તેમની ડિઝાઇનમાં હાર્વર્ડ આર્કિટેક્ચરના કેટલાક લક્ષણો જેમ કે સીપીયુ કેશ, સમાવેલ હોય છે. "મશિન ભાષા"ના લાંબા નંબરોની યાદીની જેમ કમ્પ્યુટર પ્રોગ્રામ લખવો શક્ય છે અને આ તરકીબનો ઉપયોગ અગાઉના કમ્પ્યુટરો[૧૧]માં કરવામાં આવતો હતો, જે વ્યવહારમાં આવી રીતે, ખાસ કરીને જટિલ પ્રોગ્રામ માટે કરવું અત્યંત કંટાળાજનક છે. તેના બદલે તેના ફંકશનનો નિર્દેશ કરતી હોય તેવી ટૂંકા નામવાળી દરેક મૂળ સુચનાઓ આપી શકાય અને તે નેમોનિકને યાદ રાખવી સરળ છે જેમ કે એડીડી, સબ, મલ્ટ અથવા જંપ. આ નેમોનિક્સ સામુહિક રીતે કમ્પ્યુટરની "એસેમ્બલી ભાષા" તરીકે ઓળખાય છે. એસેમ્બલી ભાષામાં લખેલા પ્રોગ્રામોને કમ્પ્યુટર ખરેખર સમજી શકે (મશિન ભાષા) તેવી ભાષામાં રૂપાંતર કરવાનું કામ એસેમ્બ્લર તરીકે ઓળખાતા કમ્પ્યુટર પ્રોગ્રામ દ્વારા કરવામાં આવે છે. મશિન ભાષાઓ અને એસેમ્બલી ભાષાઓને સામૂહિક રીતે લો લેવલ પ્રોગ્રામીંગ લેંગ્વેજ તરીકે ઓળખાય છે અને તે ખાસ પ્રકારના કમ્પ્યુટર તરીકે વિશિષ્ટ બનવા લાયક છે. ઉદાહરણ તરીકે એઆરએમ આર્કિટેક્ચર કમ્પ્યુટર (જેમ કે પર્સનલ ડિજિટલ આસિસ્ટંટ (પીડીએ) અથવા હેન્ડ હેલ્ડ વિડીયોગેમ) ઇન્ટેલ પેન્ટિયમ અથવા એએમડી એથલોન 64, જે કદાચ પર્સનલ કમ્પ્યુટરમાં હોઇ શકે છે, કમ્પ્યુટરની મશિન ભાષા સમજી શકે નહી. [૧૨] મશિન ભાષા કરતા નોંધપાત્ર રીતે સરળ હોવા છતાં એસેમ્બલી પ્રોગ્રામમાં લાંબા પ્રોગ્રામો લખવા ઘણી વાર મુશ્કેલ અને ભૂલ થઇ શકે તેવા હોય છે. તેથી, મોટા ભાગના જટિલ પ્રોગ્રામો વધુ સંક્ષિપ્ત હાઇ લેવલ પ્રોગ્રામીંગ ભાષામાં લખેલા હોય છે, જે ક્મ્પ્યુટર પ્રોગ્રામરની જરૂરિયાતોને વધુ સરળ (અને તેથી પ્રોગ્રામરને ઓછી ભૂલો કરવા સહાય કરે છે) રીતે છતી કરવા સક્ષમ હોય છે. હાઇ લેવલ ભાષાઓ સામાન્ય રીતે કંપાઇલર નામના અન્ય કમ્પ્યુટર પ્રોગ્રામનો ઉપયોગ કરીને સામાન્ય રીતે મશિન ભાષામાં (અથવા કેટલીકવાર એસેમ્બલી ભાષા અને ત્યાર બાદ મશિન ભાષામાં)‘’ભાષાંતરીત’’ હોય છે. [૧૩] હાઇ લેવલ ભાષાઓ એસેમ્બલી ભાષાઓ કરતા વધુ સંક્ષિપ્ત હોવાથી, વિવિધ પ્રકારના કમ્પ્યુટરની મશિન ભાષામાં સમાન પ્રકારની હાઇ લેવલ ભાષા ભાષાંતર કરવી કરવા માટે અલગ કંપાઇલરોનો ઉપયોગ કરવો શક્ય છે. વિવિધ પ્રકારના કમ્પ્યુટર આર્કિટેક્ચર જેમ કે પર્સોનલ કમ્પ્યુટર્સ અને અલગ અલગ વીડીયો ગેઇમ કોન્સોલ માટે વીડીયો ગેઇમ ઉપલબ્ધ કરાવી શકાય તે માટેના સોફ્ટવેરના અનેક ઉપોયોગોનો એક ભાગ છે. મોટી સોફ્ટવેર સિસ્ટમ્સ વિકસાવવાનું કાર્ય પુષ્કળ પરસ્પરાવલંબી પ્રયત્ન છે. ધારણાયુકત શિડ્યૂલ અને બજેટ પર સ્વીકાર્ય. ઊંચી વિશ્વસનીયતા સાથે સોફ્ટવેરના ઉત્પાદને ઐતિહાસિક રીતે ભારે પડકાર ફેંક્યો છે; સોફ્ટવેર એન્જિનીયરીંગની શૈક્ષણિક અને વ્યાવસાયિક શિસ્ત ખાસ કરીને આ સમસ્યા પર ધ્યાન કેન્દ્રિત કરે છે.
ઉદાહરણ
જો કમ્પ્યુટરને બે શેરીઓ વચ્ચેના આંતરિક ભાગમાં ટ્રાફિક સિગ્નલ આપવા માટે કામે લગાવવામાં આવ્યું છે તેવું માનો. કમ્પ્યુટર પાસે નીચે જણાવેલી ત્રણ મૂળ સુચનાઓ છે.
- ચાલુ (શેરીનું નામ, રંગ)ચોક્કસ રંગ સાથ શેરીના નામ પર પ્રકાશ ફેંકે છે.
- બંધ (શેરીનું નામ, રંગ)ચોક્કસ રંગ નહી દર્શાવીને શેરીના નામ પર પ્રકાશ ફેંકે છે.
- થોભો (સેકંડ)થોડી ક્ષણો માટે ઊભા રહેવાનું કહે છે.
- "શરૂવાત" પ્રોગ્રામ શરૂ કરવા માટે
- "પુનરાવર્તન કરો" જે લૂપમાં પ્રોગ્રામના ચોક્કસ ભાગને ફરીથી કરવાનું કમ્પ્યુટરને કહે છે.
સૂચનાઓ ડાબી તરફ // ના ચિન્હ્ સાથે હોય છે. શેરીનું નામ બ્રોડવે અને મેઇન છે તેવું માનો.
શરૂવાત
//બ્રોડવે ટ્રાફિક ને જવા દેવા માટે
બંધ(બ્રોડવે, રેડ)
ચાલુ(બ્રોડવે, ગ્રીન)
થોભો(૬૦ સેકન્ડ્સ)
//સ્ટોપ બ્રોડવે ટ્રાફિક
બંધ(બ્રોડવે, ગ્રીન)
ચાલુ(બ્રોડવે, યલો)
થોભો (૩ સેકન્ડ્સ)
બંધ (બ્રોડવે, યલો)
ચાલુ(બ્રોડવે, રેડ)
//લેટ મેઇન ટ્રાફિક ગો
બંધ(મેઇન, રેડ)
ચાલુ(મેઇન, ગ્રીન)
થોભો(૬૦ સેકન્ડ્સ)
//સ્ટોપ મેઇન ટ્રાફિક
બંધ(મેઇન, ગ્રીન)
ચાલુ(મેઇન, યલો)
થોભો(૩ સેકન્ડ્સ)
બંધ(મેઇન, યલો)
ચાલુ(મેઇન, રેડ)
//ટેલ કમ્પ્યુટર ટુ કન્ટીન્યુઅસ્લી રિપિટ ધ પ્રોગ્રામ.
ઉપર આપેલી બધી સુચનાનું પુનરાવર્તન કરો
આ સૂચનાઓ સાથે, કમ્પ્યુટર બન્ને શેરીઓમાં લાલ, લીલી, પીળી અને ફરી લાલનું વર્તુળ ચાલુ રાખશે.
જોકે, કમ્પ્યુટર સાથે ઓન/ઓફની સાદી સ્વીચ જોડાયેલી હોય તો, તેનો અર્થ એ કે જ્યારે કોઇ નિભાવ કાર્ય ચાલુ હોય ત્યારે ફ્લેશ રેડ પ્રકાશ કરવા માટે ઉપયોગમાં લેવાની હોય છે. ત્યારબાદ પ્રોગ્રામ કમ્પ્યુટરને નીચે પ્રમાણે સૂચના આપશે:
શરૂવાત
જો સ્વીચ ==બંધ હોય તોઃ //નોર્મલ ટ્રાફિક સિગ્નલ ઓપરેશન
{
//લેટ બ્રોડવે ટ્રાફિક ગો
બંધ(બ્રોડવે, રેડ)
ચાલુ(બ્રોડવે, ગ્રીન)
થોભો(60 સેકન્ડ્સ)
//સ્ટોપ બ્રોડવે ટ્રાફિક
બંધ(બ્રોડવે, ગ્રીન)
ચાલુ(બ્રોડવે, યલો)
થોભો(3 સેકન્ડ્સ)
બંધ (બ્રોડવે, યલો)
ચાલુ(બ્રોડવે, રેડ)
//લેટ મેઇન ટ્રાફિક ગો
બંધ(મેઇન, રેડ)
ચાલુ(મેઇન, ગ્રીન)
થોભો(60 સેકન્ડ્સ)
//સ્ટોપ મેઇન ટ્રાફિક
બંધ(મેઇન, ગ્રીન)
ચાલુ(મેઇન, યલો)
થોભો(3 સેકન્ડ્સ)
બંધ(મેઇન, યલો)
ચાલુ(મેઇન, રેડ)
//ટેલ ધ કમ્પ્યુટર ટુ રિપિટ ધીસ સેક્શન કન્ટીન્યુઅસ્લી.
પુનરાવર્તન કરો
}
જો સ્વીચ ==ચાલુ હોય તોઃ //મેઇન્ટેનન્સ મોડ
{
//ટર્ન ધ રેડ લાઇટ્સ ઓન એન્ડ વેઇટ 1 સેકન્ડ.
ચાલુ(બ્રોડ વે, રેડ)
ચાલુ(મેઇન, રેડ)
થોભો(1 સેકન્ડ)
//ટર્ન ધ રેડ લાઇટ્સ ઓફ એન્ડ વેઇટ 1 સેકન્ડ.
બંધ(બ્રોડવે, રેડ)
બંધ(મેઇન, રેડ)
થોભો(1 સેકન્ડ)
//આ સેકશનમાં સ્ટેટેમેન્ટ ફરીથી કરવા માટે કમ્પ્યુટરને કહો.
પુનરાવર્તન કરો
}
આ રીતે, જ્યારે સ્વીચ ઓન હોય ત્યારે ટ્રાફિક સિગ્નલ ફ્લેશ રેડ પ્રોગ્રામ રન કરશે અને જ્યારે સ્વીચ ઓફ હોય ત્યારે સાધારણ પ્રોગ્રામ રન કરશે. આ બન્ને પ્રોગ્રામના ઉદાહરણો કમ્પ્યુટર પ્રોગ્રામના સરળ, પરિચિત ટ્રાફિક સિગ્નલ સંદર્ભમાં દર્શાવે છે. કોઇપણ અનુભવી પ્રોગ્રામર પ્રોગ્રામમાં અસંખ્ય સોફ્ટવેર બગ્સ સ્પોટ કર શકે છે, ઉદા. તરીકે જ્યારે સ્વીચ ફલેશ રેડ પ્રકાશ પાડતી હોય ત્યારે લીલી લાઇટ ઓફ હોય તેની ચકાસણી કરતી નથી. જોકે, તમામ શક્ય બગ્સ દૂર કરવાથી આ પ્રોગ્રામને લાંબો અને જટિલ બનાવશે અને ટેકનિકલ સિવાયના વાંચકોને મૂંઝવશેઃ આ ઉદાહરણનો ઉદ્દેશ કમ્પ્યુટરની સુચનાઓ કેવી રીતે લાદવામાં આવી છે તેનું સાવ સરળ નિદર્શન માત્ર છે.
કમ્પ્યુટર્સ કેવી રીતે કામ કરે છે
બહોળા હેતુ વાળા કમ્પ્યુટરમાં ચાર વિભાગો હોય છેઃ એરિથમેટિક અને લોજિક યુનિટ (એએલયુ), કંટ્રોલ યુનિટ, મેમરી અને ઇનપુટ અને આઉટપુટ ડિવાઇસ (સામૂહિક રીતે I/0 તરીકે ઓળખાય છે) આ હિસ્સાઓ કમ્પ્યુટર "બસ" દ્વારા આંતરિક રીતે જોડાયેલા હોય છે, ઘણીવાર તે વાયર્સના જથ્થા દ્વારા બનેલા હોય છે.
કંટ્રોલ યુનિટ, એએલયુ રજિસ્ટર કરે છે અને બેઝિક I/O (અને ઘણીવાર તેની સાથે ગાઢ રીતે સંકળાયેલા અન્ય હાર્ડવેર)સામૂહિક રીતે સેન્ટ્રલ પ્રોસેસીંગ યુનિટ (સીપીયુ) તરીકે ઓળખાય છે. પ્રારંભના સીપીયુ અસંખ્ય સ્વતંત્ર કોમ્પોનન્ટનું મિશ્રણ હતા પરંતુ, ૧૯૭૦ના મધ્યથી સીપીયુને ખાસ રીતે માઇક્રોપ્રોસેસર તરીકે ઓળખાતી એક જ ઇન્ટીગ્રેટેડ સર્કિટ પર ઊભા કરવામાં આવ્યા હતા.
કંટ્રોલ યુનિટ
કંટ્રોલ યુનિટ (ઘણી વાર કંટ્રોલ સિસ્ટમ અથવા સેન્ટ્રલ કંટ્રોલર તરીકે ઓળખાય છે)કમ્પ્યુટરના વિવિધ કોમ્પોનન્ટને આદેશ આપે છે. તે પ્રોગ્રામમાં એક પછી એક સુચનાઓ વાંચે છે અને દૂભાષિત (ડિકોડસ)કરે છે. કંટ્રોલ સિસ્ટમ દરેક સુચનાઓને ડિકોડ કરે છે અને તેને અસંખ્ય કંટ્રોલ સિગ્નલોમાં રૂપાંતર કરે છે જે કમ્પ્યુટરના અન્ય ભાગને ઓપરેટ કરે છે. [૧૪] એડવાન્સડ કમ્પ્યુટમાં કંટ્રોલ સિસ્ટમ કામગીરીમાં સુધારો લાવવા માટે કેટલીક સુચનાઓના ક્રમમાં ફેરફાર કરી શકે છે. દરેક સીપીયુમાં અગત્યનો કોમ્પોનન્ટ એટલે કે પ્રોગ્રામ કાઉન્ટર સર્વસામાન્ય હોય છે, ખાસ મેમરી સેલ રજિસ્ટર જે, હવે પછીની સુચના મેમરીના ક્યા લોકેશનમાં વાંચવામાં આવશે તેનું ધ્યાન રાખે છે. [૧૫]
એમઆઇપીએસ આર્કિટેક્ચર સુચનાઓ કેટલી ચોક્કસ છે તે દર્શાવતો
કંટ્રોલ સિસ્ટમનું ફંકશન નીચે દર્શાવેલી નોંધ પ્રમાણે છે, જેમ કે આ એક સરળ વર્ણન છે અને આમાના કેટલાક પગલાંઓ એકી સમયે અથવા તો સીપીયુના પ્રકારના આધારે વિવિધ રીતે અનુસરવામાં આવશે.
- પ્રોગ્રામ કાઉન્ટર દ્વારા દર્શાવવામાં આવેલા સેલમાંથી પછીની સુચના માટે કોડ વાંચો.
- દરેક સિસ્ટમ્સ માટે કમાન્ડ અને સિગ્નલ્સના કમાન્ડના સેટમાં સુચના માટે ન્યૂમરિક કોડને ડિકોડ કરો.
- પ્રોગ્રામ કાઉન્ટરમાં વઘારો કરો, જેથી પછીની સુચનાને અનુસરે.
- મેમરી(અથવા કદાચ ઇનપુટ ડિવાઇસ)માં રહેલા સેલમાંથી જરૂરી સુચનાનો જેતે ડેટા વાંચો. આ જરૂરી ડેટાનું લોકેશન ખાસ કરીને ઇન્સ્ટ્રક્શન કોડમાં સ્ટોર થયેલું હોય છે.
- એએલયુ અથવા રજિસ્ટરને જરૂરી ડેટા પૂરો પાડો.
- જો સુચનાઓ એએલયુ અથવા ખાસ હાર્ડવેરને પૂર્ણ કરવા માટે જરૂરી હોય તો, વિનંત કરાયેલ કામગીરી હાથ ધરવા માટે હાર્ડવેરને સુચના આપો.
- એએલયુ બેક ટુ મેમર લોકેશન અથવા તો રજિસ્ટર અથોવા કદાચ આઉટપુટ ડિવાઇસમાંથી પરિણામ લખો.
- (1) સ્ટેપ પર પાછા આવો.
પ્રોગ્રામ કાઉન્ટર (સરળ રીતે)માત્ર મેમરી સેલ્સનો સેટ હોવાથી, તેને એએલયુમાં ગણતરી દ્વારા ફેરવી શકાય છે. પ્રોગ્રામ કાઉન્ટરમાં 100 ઉમેરતા વધુ ડાઉન પ્રોગ્રામ માટે 100 લોકેશનમાંથી તે પછીની સુચના વાંચવમાં પરિણમશે. જે પ્રોગ્રામ કાઉન્ટરને સુધારે છે તે સુચનાઓને ઘણી વખત “જંપ્સ” તરીકે ઓળખવામાં આવે છે અને લૂપ્સની મંજૂરી આપે છે (કમ્પ્યુટર દ્વારા વારંવાર કરવામાં આવતી સુચનાઓ)અને ઘણી વખત શરતી સુચનાત્મક અમલ (અંકુશ પ્રવાહ)ના બન્ને ઉદાહરણો કરે છે. એવું નોંધી શકાય છે કે પ્રોસેસ દ્વારા કંટ્રોલ યુનિટ જે શ્રેણીબંધ કામગીરી કરે છે તે સુચના તેની રીતે ટૂંકા કમ્પ્યુટર પ્રોગ્રામ જેવી જ હોય છે અને ખરેખર, કેટલાક વધુ જટિલ સીપીયુ ડિઝાઇન્સમાં અન્ય એક વધુ નાનુ કમ્પ્યુટર હોય છે જે માઇક્રોસિક્વન્સર તરીકે ઓળખાય છે, જે માઇક્રોકોડ પ્રોગ્રામ રન કરે છે, જે આ તા ઘટનાઓના નિર્માણ માટે કારણભૂત હોય છે.
એરિથમેટિક/લોજિક યુનિટ (ALU)
એએલયુ કામગીરીના બે પ્રકાર માટે સક્ષમ હોય છેઃ એરિથમેટિક અને લોજિક. ખાસ એએલયુ ટેકો પૂરો પાડે છે તેવી એરિથમેટિક કામગીરીનો સેટ કદાચ ઉમેરણ કે બાદબાકી માટે મર્યાદિત હોય અથવા તો ગુણાકાર અથવા ભાગાકાર, ત્રિકોણમિતિ ફંકશન્સ (સાઇન, કોસાઇન વગેરે)અને વર્ગમૂળનો સમાવેશ કરતી હોય. કેટલાક લોકો સંપૂર્ણ ક્રમાંકો (ઇન્ટેજર) ઓપરેટ કરી શકતા હોય, જ્યારે અન્યો મર્યાદિત પ્રિસિશન છતા રિયલ નંબરઓ છતા કરવા માટે ફ્લોટીંગ પોઇન્ટનો ઉપયોગ કરે છે. જોકે, અન્ય કોઇ પણ કમ્પ્યુટર કે જે ફક્ત સરળમાં સરળ ઓપરેશન હાથ ધરવા સક્ષમ હોય તેને તે કામ કરી શકે તેવા સરળ પગલાંઓમાં વધુ જટિલ ઓપરેશનો તોડી પાડવામાં પ્રોગ્રામ કરી શકાય. તેથી, કોઇપણ કમ્પ્યુટરને કોઇ પણ એરિથમેટિક પ્રોગ્રામ હાથ ધરવા માટે પ્રોગ્રામ કરી શકાય, જોકે, તેનું એએલયુ જો ઓપરેશનને સીધો ટેકો પૂરો પાડતું ન હોય તો તે વધુ સમય લેશે. એએલયુ પણ ક્રમાંકોની તુલના કરી શકે છે અને એક એકની સમાન, અન્ય કરતા વધુ કે ઓછા (“શુ 64 65 કરતા મોટા છે?”)તેના આધારે બૂલીયન ટ્રૂથ વેલ્યુ (સાચી કે ખોટી)પરત આપી શકે છે.
લોજિક એપરેશન્સમાં બૂલિયન લોજિક: એંડ, ઓર, એક્સઓર અને નોટનો સમાવેશ થાય છે. આ જટિલ શરતી વિધાન અને પ્રોસેસીંગ બૂલિયન લોજિકએમ બન્ને માટે ઉપયોગી થઇ શકે છે.
સુપરસ્કેલર્સ કમ્પ્યુટર્સમાં એક કરતા વધુ એએલયુનો સમાવેશ થાય છે, જેથી એક જ સમયે વિવિધ સુચનાઓની પ્રોસેસ કરી શકે. એસઆઇએમડી અને એમઆઇએમડી લાક્ષણિકતાઓ સાથેના ગ્રાફિક્સ પ્રોસેસર્સ ઘણી વખત એવા એએલયુ પૂરા પાડે છે જે સદીશ અને મેટ્રિસેસ પર એરિથમેટિક હાથ ધરી શકે છે.
મેમરી
સેલની યાદી તરીકે કમ્પ્યુટરની મેમરીને જોઇ શકાય છે, જેમાં ક્રમાકો મૂકી શકાય છે અથવા વાંચી શકાય છે. દરેક સેલને ક્રમાંકિત “એડ્રેસ” હોય છે અને તેને એક જ ક્રમાંકમાં સ્ટોર કરી શકાય છે. કમ્પ્યુટરને “સેલ ક્રમાકિત 1357માં 123 ક્રમાંક મૂકવા કહી શકાય છે” અથવા “સેલ 1357થી સેલ 2468 સુધીમાં ક્રમાંક ઉમેરવા અને સેલ 1595માં જવાબ મૂકવા” સુચના આપી શકાય છે. મેમરીમાં સ્ટોર થયેલ માહિતી વ્યવહારીક રીતે કંઇ પણ પ્રદર્શિત કરી શકે છેઅક્ષરો, ક્રમાંકો અને કમ્પ્યુટર સુચનાઓ પણ સમાન ક્રમમાં મૂકી શકાય છે. વિવિધ પ્રકારની માહિતી વચ્ચે સીપીયુ અલગ નહી પડતા હોવાથી મેમરી ક્રમાંકની શ્રેણી સિવાય બીજુ કશું જ જોતી નથી તેને અગત્યતા આપવાનો આધાર સોફ્ટવેર પર છે.
મોટે ભાગે દરેક આધુનિક કમ્પ્યુટરોમાં આઠ બીટ ના જૂથમાં (જે બાઇટ તરીકે ઓળખાય છે) દ્વિઅંકી આંકડા સંગ્રહ કરવા માટે દરેક મેમરી સેલ નાખવામાં આવેલો હોય છે. દરેક બાયટ 256 વિવિધ નંબરો પ્રદર્શિત કરવા સક્ષમ હોય છે; ક્યાં તો 0થી 255 અથવા -128થી +127 સુધી. મોટા નંબરો સ્ટોર કરવા માટે, વિવિધ પરીમાણોમાં બાયટ્સનો ઉપયોગ કરી શકાય (ખાસ કરીને બે, ચાર અથવા આઠ). જ્યારે નકારાત્ક નંબરની જરૂરિયાત હોય ત્યારે, તેને સામાન્ય રીતે ટુઝ કોમ્પ્લીમેન્ટ નોટેશનમાં સ્ટોર કરવામાં આવે છે. અન્ય વ્યવસ્થાઓ શક્ય છે, પરંતુ ખાસ પ્રકારની એપ્લીકેશનો અથવા ઐતિહાસિક સંદર્ભોની બહાર સામાન્ય રીતે જોવા મળતી નથી. કમ્પ્યુટર જ્યાં સુધી નંબરના સ્વરૂપમાં પ્રદર્શિત થતી હોય ત્યાં સુધી કોઇ પણ પ્રકારની માહિતીને મેમરીમાં સ્ટોર કરી શકે છે. આધુનિક કમ્પ્યુટરો અબજો અથવા ટ્રીલીયન બાયટ્સ મેમરી પણ ધરાવે છે.
સીપીયુ મેમરી સેલ્સનો ખાસ સેટ ધરાવે છે જે રજિસ્ટર્સ તરીકે ઓળખાય છે, જે મેઇમ મેમરી એરિયા કરતા વધુ ઝડપથી વાંચી કે લખી શકાય છે. બે અથવા એકસો રજિસ્ટર્સની વચ્ચે સીપીયુના પ્રકારના આધારે ટિપીકલી હોય છે. જરૂર હોય તેવા દરેક સમયે મેઇન મેમરીમાં પ્રવેશવાનું દૂર કરવા માટે વારંવાર જરૂર પડતા ડેટા માટે રજિસ્ટર્સ ઉપયોગમાં લેવામાં આવે છે. ડેટા સતત આગળ વધતા હોવાથી, મેઇમ મેમરી(જે ઘણી વખત એએલયુ અને કંટ્રોલ યુનિટની તુલનામાં ઘણી વખત ધીમુ હોય છે)માં પ્રવેશવાની જરૂરીયાતમાં ઘટાડો કરે છે, અને તેના લીધે કમ્પ્યુટરની સ્પીડમાં ભારે વધારો કરે છે.
કમ્પ્યુટર મેઇમ મેમરી બે મુખ્ય જાતોમાં આવે છેઃ રેન્ડમ એક્સેસ મેમરી અથવા રેમ અને રીડ ઓન્લી મેમરી અથવા રૉમ. સીપીયુ કમાન્ડ આપે તેમ રેમ કોઇ પણ સમયે વાંચી અને લખી શકે છે, પરંતુ આરઓએમ ડેટા અને સોફ્ટવેર સાથે પ્રિ લોડેડ હોય છે, જેમાં કદ ફેરફાર થતો નથી, તેથી સીપીયુ તેની પરથી ફક્ત વાંચી જ શકે છે. રોમ ખાસ કરીને કમ્પ્યુટરના પ્રારંભિક સ્ટાર્ટ અપ સુચનાઓને સ્ટોર કરવા માટે ઉપયોગમાં લેવામાં આવે છે. સામાન્ય રીતે, રોમ નિઃશંકપણે તેનો ડેટા પુનઃપ્રાપ્ત કરે છે અને કમ્પ્યુટરનો પાવર ઓફ કરતી વખતે આરએએમની યાદી ભૂંસાઇ જાય છે. પીસીમાં, બાયોસ તરીકે ઓળખાતા ખાસ પ્રોગ્રામનો રોમમાં સમાવેશ થાય છે, જે કમ્પ્યુટર ચાલુ કરવામાં અથવા રિસેટ કરવામાં આવે ત્યારે હાર્ડ ડિસ્ક ડ્રાઇવ પરથી રોમમાં કમ્પ્યુટરની ઓપરેટિંગ સિસ્ટમ લોડીંગ કરવાનો આદેશ આપે છે. જેમાં ડિસ્ક ડ્રાઇવ ન હોય તેવા એમબેડેડ કમ્પ્યુટર્સમાં તમામ સોફ્ટવેરને આરઓએમમાં સમાવિષ્ટ ટાસ્ક કરવાની જરૂર પડે છે. આરઓએમમાં સમાવિષ્ટ સોફ્ટવેર ફર્મવેર તરીકે ઓળખાય છે, કેમ કે તે સોફ્ટવેર કરતા હાર્ડવેર જેમ વધુ કાલ્પનિક હોય છે. ટર્ન ઓફ હોય ત્યારે ડેટા પ્રાપ્ત કરીને આરઓએમ અને આરએએમ વચ્ચે ફ્લેશ મેમરી તફાવત પાડે છે, પરંતુ રેમ જેમ પુનઃલખી શકાય તેમ હોય છે. જોકે, ફ્લેશ મેમરી પરંપરાગત આરઓએમ અને આરએએમની તુલનામાં ઘણું ધીમુ હોય છે, તેથી જ્યારે હાઇ સ્પીડ જરૂર ન હોય ત્યારે એપ્લીકેશનો મર્યાદિત કરવામાં તેનો ઉપયોગ થાય છે. [૧૬]
અત્યંત આધુનિક કમ્પ્યુટર્સમાં એક કે તેનાથી વધુ આરએએમ કેશ મેમરી હોય છે, જે રજિસ્ટર્સ કરતા ધીમી હોય છે પરંતુ મેઇન મેમરી કરતા ઝડપી હોય છે. વિવિધ પ્રકારેની કેચ સાથેના કમ્પ્યુટરોને સામાન્ય રીતે કેચમાં આપોઆપ રીતે જ સતત જરૂરી ડેટા ખસેડવા માટે તૈયાર કરવામાં આવ્યા હોય છે, જેમાં ઘણી વખત પ્રોગ્રામરને ભાગ્યે જ દરમિયાનગીરી કરવાનો વખત આવે છે.
ઇનપુટ/આઉટપુટ (I/O)
I/O એટલે કે કમ્પ્યુટર બહારની દુનિયામાંથી માહિતી મેળવે છે અને તેના પરિણામો પરત મોકલે છે. કમ્પ્યુટરને ઇનપુટ કે આઉટપુટ પૂરા પાડતા ડિવાઇસને પેરિફેરલ તરીકે ઓળખવામાં આવે છે. વિશિષ્ટ પ્રકારના પર્સનલ કમ્પ્યુટરના પેરિફેરલ્સમાં ઇનપુટ ડિવાઇસીસ જેમ કે કી બોર્ડ અને માઉસ અને આઉટપુટ ડિવાઇસીસ જેમ કે કમ્પ્યુટર મોનિટર (ડિસ્પ્લે) અને પ્રિન્ટરનો સમાવેશ થાય છે. હાર્ડ ડિસ્ક ડ્રાઇવ, ફ્લોપી ડિસ્ક ડ્રાઇવ, ઓપ્ટીકલ ડિસ્ક ડ્રાઇવ અને પૅન ડ્રાઇવ ઇનપુટ અને આઉટપુટ ડિવાઇસ એમ બન્ને રીતે ઉપયોગી છે. કમ્પ્યુટર નેટવર્કિંગ I/O નો બીજો એક પ્રકાર છે. ઘણી વખત I/O ડિવાઇસીસમાં તેમના પોતાના સીપીયુ અને મેમરી હોવાથી એકરીતે તેઓ પણ કોમ્પ્લેક્સ કમ્પ્યુટર્સ છે. ગ્રાફિક્સ પ્રોસેસીંગ યુનિટમાં પચાસ અથવા વધુ નાજુક કમ્પ્યુટર્સનો કદાચ સમાવેશ થઇ શકે છે, જે ત્રીપરીમાણીય ગ્રાફિક્ ડિસ્પ્લે કરવા માટે જરૂરી ગણતરીઓ હાથ ધરે છે. આધુનિક ડેસ્કટોપ કમ્પ્યુટરમાં નાના કમ્પ્યુટરોનો સમાવેશ થાય છે, જે મેઇન સીપીયુને I/O હાથ ધરવામાં મદદ કરે છે.
મલ્ટીટાસ્કીંગ
કમ્પ્યુટરને તેની મેઇન મેમરીમાં સમાવિષ્ટ એક મહાકાય પ્રોગ્રામ રન કરે છે તે રીતે જ કદાચ જોઇ શકાય છે, ત્યારે કેટલીક સિસ્ટમ વિવિધ પ્રોગ્રામો એકી સાથે ચલાવી શકે તેવો દેખાવ આપે તે જરૂરી છે. વારાફરતી દરેક પ્રોગ્રામો રન કરવા ઝડપથી કમ્પ્યુટર સ્વીચ ફેરવતા આ હાંસલ કરી શકાયું છે. કેટલાક લોકો એવું માને છે કે ઇન્ટરપ્ટ તરીકે કહેવાતા ખાસ પ્રકારના સિગ્નલ સાથે આ પૂરું થઇ ગયું છે, જે સામયિક ધોરણે કમ્પ્યુટરને સુચનાઓનો જ્યાં તે હોય અને તેના બદલે કંઇ બીજુ કરવાના અમલ કરવાથી અટકાવી દે છે. ઇન્ટરપ્ટ પહેલા તે અમલ કરતું હતું તે યાદ કરતી વેળાએ કમ્પ્યુટર ટાસ્કમાં બાદમાં પરત ફરી શકે છે. જો વિવિધ પ્રોગ્રામો “એક જ સમયે ચાલતા હોય” ત્યારે, ઇન્ટરપ્ટની ઉત્પત્તિ દર સેકંડે વિવિધ હજ્જારો ઇન્ટરપ્સના ઉદભવમાં પરિણમે છે, જે દરેક પ્રોગ્રામ સ્વીચ માટે કારણભૂત બને છે. માનવીય દ્રષ્ટિકોણ કરતા ઝડપી મેગ્નીટ્યૂડના વિવિધ ઓર્ડરોની આધુનિક કમ્પ્યુટરો વિશિષ્ટ રીતે સુચનાઓનો અમલ કરે છે, ત્યારે કદાચ, પ્રસ્તુત ઉદાહરણમાં ફક્ત એક જ અમલ કરતું હોવા છતાં ઘણા પ્રોગ્રામો એક સમયે ચાલતા હોય તેવું દેખાય છે. આ મલ્ટીટાસ્કીંગની પદ્ધતિને ઘણી વખત “ટાઇમ શેરીંગ”તરીકે ઓળખવામાં આવે છે, કેમ કે દરેક પ્રોગ્રામને વારફરતી સમયની “સ્લાઇસ” ફાળવવામાં આવી હોય છે.
સસ્તા કમ્પ્યુટર્સના યુગ પહેલા, મલ્ટીટાસ્કીંગ માટેનો મુખ્ય ઉપયોગ સમાન કમ્પ્યુટરની વહેંચણી માટે ઘણા લોકોને મંજૂરી આપવાનો હતો.
મલ્ટીટાસ્કીંગ કમ્પ્યુટરને તે કેટલા પ્રોગ્રામો ચલાવે છે તેના સીધા પ્રમાણમાં વિવિધ પ્રોગ્રામો રન કરવાની વચ્ચે વધુ ધીમી રીતે કામ કરવાની ફરજ પાડશે તેવું લાગે છે. જોકે, મોટા ભાગના પ્રોગ્રામો પોતાના ટાસ્ક પૂરા કરવામાં સ્લો ઇનપુટ/આઉટપુટ ડિવાઇસ માટે રાહ જોવામાં પોતાના મોટા ભાગનો સમય ખર્ચી નાખે છે. જો પ્રોગ્રામ, યૂઝર માઉસ પર ક્લિક કરે અથવા તો કીબોર્ડ પરની કી દબાવે તેની રાહ જોતો હોય તો, તે જે ઘટના થવાની રાહ જુએ છે તે ન થાય ત્યાં સુધી “ટાઇમ સ્લાઇસ” લેશે નહી. આ ક્રિયા અન્ય પ્રોગ્રામોને અમલ માટે મુક્ત કરે છે, જેથી ઘણા પ્રોગ્રામો અસ્વીકાર્ય સ્પીડ લોસ વિના એકી સમયે ચાલી શકે.
મલ્ટીપ્રોસેસિંગ
કેટલાક કમ્પ્યુટર મલ્ટીપ્રોસેસીંગ સંચરનાનું સર્જન કરીને એક કે તેનાથી વધુ સીપીયુ વચ્ચે પોતાનું કામ વહેંચી શકે છે. પરંપરાગત રીતે, આ તરકીબ મોટા અને શક્તિશાળી કમ્પ્યુટર જેમ કે સુપરકમ્પ્યુટર, મેઇનફ્રેમ કમ્પ્યુટર અને સર્વર્સમાં વપરાશમાં લેવામાં આવી હતી. જોકે, મલ્ટીપ્રોસેસર અને મલ્ટી કોર (સીંગલ ઇન્ટીગ્રેટેડ સર્કિટ પર મલ્ટીપલ સીપીયુ)પર્સોનલ અને લેપ્ટોપ કમ્પ્યુટર્સ વ્યાપક પ્રમાણમાં ઉપલબ્ધ બન્યા છે અને પરિણામ સ્વરૂપે લોઅર એન્ડ બજારોમાં વધુ પડતા વપરાશના પ્રારંભ થઇ રહ્યો છે.
સુપરકમ્પ્યુટર વિશિષ્ટ રીતે ઘણી વખત વિશિષ્ટ આર્કિટેક્ચર ધરાવતા હોય છે, જે બેઝિક સ્ટોર કરેલા પ્રોગ્રામ આર્કિટેક્ચર અને સામાન્ય હેતુ વાળા કમ્પ્યુટર્સથી નોંધપાત્ર રીતે અલગ પડે છે.[૧૭] તે ઘણી વખત હજ્જારો સીપીયુ, કસ્ટમાઇઝ્ડ હાઇ સ્પીડ ઇન્ટરકનેક્ટસ અને ખાસ કમ્પ્યુટીંગ હાર્ડવેર ધરાવે છે. મોટા ભાગના પ્રોગ્રામ ઓર્ગેનાઇઝેશનોને એક સમયે મોટા ભાગના ઉપલબ્ધ સ્ત્રોતોનો સફળતાપૂર્વક ઉપયોગ કરવાની જરૂરિયાત હોવાને કારણે આ પ્રકારની ડિઝાઇનો ફક્ત ખાસ ટાસ્ક માટે ઉપયોગી બની શકે તેમ છે. સુપરકમ્પ્યુટર્સ સામાન્ય રીતે મોટા પાયાના સિમ્યુલેશન, ગ્રાફિક્સ રેન્ડરીંગ અને ક્રિપ્ટોગ્રાફી એપ્લીકેશનમાં તેમજ કહેવાતા “એમ્બ્રેસીંગલી પેરેલલ” ટાસ્કમાં ઉપયોગમાં આવે છે.
નેટવર્કિંગ અને ઇન્ટરનેટ
ઇન્ટરનેટ પર રાઉટિંગના ભાગનું
કમ્પ્યુટરોનો ૧૯૫૦થી એકકરતા વધુ સ્થાનોસાથે માહિતી સંકલન માટે ઉપયોગ થતો આવ્યો છે. અમેરિકાની મિલીટરીના સેમી ઓટોમેટિક ગ્રાઉન્ડ એનવાર્યનમેન્ટ (સૅજ)એ આ પ્રકારની સિસ્ટમનું સૌપ્રથમ મોટા પાયાનું ઉદાહરણ છે, જે અસંખ્ય ખાસ હેતુ વાળી વ્યાપારી સિસ્ટમો જેમ કે "સેબ્રે"માં પરિણમી હતી.
૧૯૭૦માં અમેરિકાની સંશોધન સંસ્થાઓ ખાતેના કમ્પ્યુટર એન્જિનીયરોએ ટેલિકોમ્યુનિકેશન ટેકનોલોજીના ઉપયોગ વડે પોતાના કમ્પ્યુટરોને સાંકળવાનો પ્રારંભ કર્યો હતો. આ પ્રયત્નને એઆરપીએ (હવે ડીએઆરપીએ)અને કમ્પ્યુટર નેટવર્ક દ્વારા ભંડોળ પૂરું પાડવામાં આવ્યું હતું કે જેણે અર્પાનેટ (એડવાન્સ્ડ રિસર્ચ પ્રોજેક્ટ્સ એજન્સી નેટવર્ક અથવા એઆરપીએએનઇટી)નું ઉત્પાદન કર્યું હતું. ટેકનોલોજીએ અર્પાનેટને શક્ય ફેલાવા અને વિકાસ માટે શક્ય બનાવી હતી. દરમિયાનમાં નેટવર્ક શૈક્ષણિક અને મિલીટરી સંસ્થાઓથી પણ આગળ ફેલાયું હતું અને ઇન્ટરનેટ તરીકે જાણીતુ બન્યુ. નેટવર્કીંગના ઉદભવમાં કુદરતની પુનઃવ્યખ્યા અને કમ્પ્યુટરની સરહદોનો સમાવેશ થાય છે. વ્યક્તિગત કમ્પ્યુટરના સ્ત્રોતોના વિસ્તરણ તરીકે નેટવર્ક પરના અન્ય કમ્પ્યુટરના સ્ત્રોતો જેમ કે પેરિફેરલ ડિવાઇસ, સંગ્રહીત માહિતી અને તેવા પ્રકારોને વ્યાખ્યાયિત કરવામાં અને એક્સેસ કરવાની ક્ષમતાનો સમાવેશ કરવા માટે કમ્પ્યુટર ઓપરેટિંગ સિસ્ટમ્સ અને એપ્લીકેશનોને સુધારવામાં આવી હતી. પ્રારંભમાં આ સવલત જે લોકો હાઇ ટેક પર્યાવરણોમાં કામ કરતા હતા તેમને ઉપલબ્ધ હતી, પરંતુ ૧૯૯૦માં એપ્લીકેશનો જેમ કે ઇમેલ અને વર્લ્ડ વાઇડ વેબની સાથે સસ્તી ઝડપી નેટવર્કીંગ ટેકનોલોજી જેમ કે ઇધરનેટ અને એડીએસએલના ફેલાવા સાથે કમ્પ્યુટર નેટવર્કીંગ લગભગ તમામ સ્થળે ઉપલબ્ધિ તરીકે ઉભરી આવી હતી. હકીકતમાં નેટવર્ક થયેલા કમ્પ્યુટરોની સંખ્યા મોટી માત્રામાં વધતી જાય છે. પર્સનલ કમ્પ્યુટર્સનો મોટો ભાગ માહિતીની આપ-લેમાં નિયમિતપણે ઇન્ટરનેટ સાથે જોડાયેલો છે. “વાયરલેસ” નેટવર્કીંગ ઘણી વખત મોબાઇલ ફોન નેટવર્કનો ઉપયોગ કરે છે, તેનો અર્થ એ કે મોબાઇલ કમ્પ્યુટીંગ પર્યાવરણમાં પણ નેટવર્કીંગનો સર્વસ્વ ઉપલબ્ધિનો વ્યાપ વધતો જાય છે.
આગળના વિષયો
હાર્ડવેર
હાર્ડવેર શબ્દ તમામ પ્રકારના કમ્પ્યુટરના ભાગ કે જે સ્થાયી પદાર્થ હોય તેને આવરી લે છે. સર્કિટ, ડિસ્પ્લે, પાવર સપ્લાય, કેબલ્સ, કી બોર્ડ, પ્રિન્ટર્સ અને માઇસ (માઉસીસ)એ હાર્ડવેર છે.
પેરિફેરલ ડિવાઇઝ (Peripheral device) (ઇનપુટ/આઉટપુટ (Input/output)) | ઇનપુટ | માઉસ (Mouse), કીબોર્ડ (Keyboard), જોયસ્ટિક (Joystick), ઇમેજ સ્કેનર (Image scanner) |
આઉટપુટ | મોનિટર (Monitor), પ્રિન્ટર (Printer) | |
બન્ને | ફ્લોપી ડિસ્ક ડ્રાઇવ (Floppy disk drive), હાર્ડ ડિસ્ક (Hard disk), ઓપ્ટિકલ ડિસ્ક ડ્રાઇવ (Optical disc), ટેલિપ્રિન્ટર (Teleprinter) | |
કમ્પ્યુટર બસો (Computer bus) | ટૂંકી રેન્જ | RS-232 (RS-232), SCSI (SCSI), PCI (PCI), USB (USB) |
લાંબી રેન્જ (કમ્પ્યુટર નેટવર્કિંગ (Computer networking)) | એથરનેટ (Ethernet), ATM (ATM), FDDI (FDDI) |
સોફ્ટવેર
સોફ્ટવેર કમ્પ્યુટરના એવા ભાગોનો ઉલ્લેખ કરે છે, જે મટીરીયલ સ્વરૂપમાં નથી, જેમ કે પ્રોગ્રામ્સ, ડેટા, પ્રોટોકોલ્સ વગેરે. જ્યારે હાર્ડવેરમાં સોફ્ટવેર સ્ટોર કરવામાં આવ્યો હોય ત્યારે, તેને સરળ રીતે સુધારી શકાતું નથી (જેમ કે આઇબીએમ પીસી કોમ્પેટીબલમાં બાયોસ, રિડ-ઓન્લી મેમરી (આરઓએમ અથવા રોમ), તે હાર્ડવેર અને સોફ્ટવેર વચ્ચે કોઇક સ્થળે અચોક્કસ વિસ્તારમાં આવે છે તે નિર્દેશ કરવા માટે તેને ઘણી વખત “ફર્મવેર” કહેવાય છે.
પ્રોગ્રામિંગ ભાષાઓ
પ્રોગ્રામીંગ ભાષા કમ્પ્યુટરને ચલાવવા માટે પ્રોગ્રામ નિર્દેશના વિવિધ માર્ગો પૂરા પાડે છે કુદરતી ભાષા સિવાય, પ્રોગ્રામીંગ ભાષાઓ અસ્પષ્ટ નહી અને ટૂંકાણમાં મંજૂરી આપવા માટે તૈયાર કરવામાં આવી છે. તે શુદ્ધ રીતે લખાયેલી ભાષા છે અને ઘણી વખત મોટેથી વાંચવામાં પણ મુશ્કેલ છે તે ક્યાંતો મશિન ભાષામાં કમ્પાઇલર દ્વારા અથવા એસેમ્બ્લર દ્વારા ચાલનસમય પહેલા ભાષાંતરીત હોય છે અથવા ઇન્ટરપ્રિટર દ્વારા ચાલનસમય વખતે સીધી જ ભાષાંતર કરવામાં આવે છે. કેટલીક વખત બે ટેકનીકની હાઇબ્રીડ પદ્ધતિ દ્વારા પ્રોગ્રામ હાથ ધરવામાં આવે છે. હજ્જારો વિવિધ પ્રોગ્રામીંગ ભાષાઓ છે-જેમાંની કેટલીક સામાન્ય હેતુ માટેની હતી, જ્યારે અન્ય કેટલીક ભાષાઓ કેટલાક ખાસ હેતુ માટે જ ઉપયોગી હતી.
પ્રોગ્રામિંગ ભાષાઓની યાદી | પ્રોગ્રામિંગ ભાષાઓની સમયરેખા, પ્રોગ્રામિંગ ભાષાઓની શ્રેણીગત યાદી, પ્રોગ્રામિંગ ભાષાઓની વારસાગત યાદી, પ્રોગ્રામિંગ ભાષાઓની મૂળાક્ષરો મુજબની યાદી, બિન-અંગ્રેજી આધારિત પ્રોગ્રામિંગ ભાષાઓ |
સામાન્ય રીતે વપરાતી એસેમ્બ્લી ભાષાઓ | ARM આર્કિટેક્ચર, MIPS આર્કિટેક્ચર, X૮૬ એસેમ્બલી ભાષા |
સામાન્ય રીતે વપરાતી ઉંચા સ્તરની ભાષાઓ | Ada, BASIC, C, C++, C#, COBOL, ફોર્ટ્રાન, Java, Lisp, Pascal, Object Pascal |
સામાન્ય રીતે વપરાતી સ્ક્રીપ્ટીંગ ભાષાઓ | Bourne script (BASH), JavaScript, Python, Ruby, PHP, Perl |
વ્યવસાયો અને સંગઠનો
કમ્પ્યુટરનો ઉપયોગ સમાજ આખામાં ફેલાયો હોવાથી કમ્પ્યુટર સાવિષ્ટ કારકીર્દીઓની સંખ્યામાં વધારો થયો છે. હાર્ડવેર, સોફ્ટવેર અને ફર્મવેરની થીમ આધારિત જે લોકો ઉદ્યોગમાં કામ કર છે તેવા લોકોના મગજ કેટલીકવખત બિનસંબંધિત રીતે વેટવેર અથવા “મીટવેર” તરીકે જાણીતા છે.
હાર્ડવેર સાથે જોડાયેલા | ઇલેક્ટ્રિકલ એન્જિનિયરીંગ, ઇલેક્ટ્રોનિક્સ એન્જિનિયરીંગ, કમ્પ્યુટર એન્જિનિયરીંગ, ટેલિકોમ્યુનિકેશન્સ એન્જિનિયરીંગ, ઓપ્ટિકલ એન્જિનિયરીંગ, નેનોસ્કેલ એન્જિનિયરીંગ |
સોફ્ટવેર સાથે જોડાયેલા | કમ્પ્યુટર વિજ્ઞાન, માનવીય કમ્પ્યુટર ક્રિયાપ્રતિક્રિયા, ઇન્ફોર્મેશન ટેક્નોલોજી, સોફ્ટવેર એન્જિનિયરીંગ, સાયન્ટિફિક કમ્પ્યુટિંગ, વેબ ડિઝાઇન, ડેસ્કટોપ પબ્લિશિંગ |
સાથે મળીને કામ કરવા માટે કમ્પ્યુટરની જરૂરિયાત અને માહિતીની આપ-લે કરવા માટે સક્ષમતા હાંસલ કરવા માટેની સ્થિતિએ ઔપચારીક અને બિનઔપચારીક રીતે ઘણા સ્ટાન્ડર્ડ ઓર્ગેનાઇઝેશનો, ક્લબો અને સોસાયટીઓને વિસ્તરવાની જરૂરિયાત ઊભી કરી છે.
સ્ટાન્ડર્ડ્સ ગ્રુપ્સ | અમેરિકન નેશનલ સ્ટાન્ડર્ડ ઇન્સ્ટિટ્યૂટ, ઇન્ટરનેશનલ ઇલેક્ટ્રોટેકનિકલ કમિશન, ઇન્સ્ટિટ્યૂટ ઓફ ઇલેક્ટ્રીકલ એન્ડ ઇલેક્ટ્રોનિક્સ એન્જિનિયર્સ, ઇન્ટરનેટ એન્જિનિયરીંગ ટાસ્ક ફોર્સ, ઇન્ટરનેશનલ ઓર્ગેનાઇઝેશન ફોર સ્ટાન્ડર્ડાઇઝેશન, વર્લ્ડ વાઇડ વેબ કોન્સર્ટિયમ |
વ્યાવસાયીક મંડળો | એસોસિએશન ફોર કમ્પ્યુટિંગ મશીનરી (એ.સિ.એમ.), એ.સિ.એમ. સ્પેશ્યલ ઇન્ટરેસ્ટ ગ્રૂપ્સ, ઇન્સ્ટિટ્યુશન ઓફ એન્જિનિયરીંગ એન્ડ ટેક્નોલોજી, આઇ.એફ.આઇ.પી. |
ફ્રી સોફ્ટવેર/ઓપન-સોર્સ સોફ્ટવેર ગ્રૂપ્સ | ફ્રી સોફ્ટવેર ફાઉન્ડેશન, મોઝીલા ફાઉન્ડેશન, અપાચે સોફ્ટવેર ફાઉન્ડેશન |
ત્યાં પણ જૂઓ
એક્સટર્નલ લિંક્સ
- કમ્પ્યુટર મિનિ-આર્ટિકલ સંગ્રહિત ૨૦૦૯-૦૩-૩૦ ના રોજ વેબેક મશિન
નોંધ
- ↑ "Heron of Alexandria". મૂળ માંથી 2013-12-27 પર સંગ્રહિત. મેળવેલ 2008-01-15.
- ↑ ૨.૦ ૨.૧ Ancient Discoveries, Episode 11: Ancient Robots, History Channel, http://www.youtube.com/watch?v=rxjbaQl0ad8, retrieved 2008-09-06
- ↑ હાવર્ડ આર. ટર્નર (૧૯૯૭), મધ્યયુગિન ઇસ્લામમાં વિજ્ઞાનનો સ્પષ્ટ પરિચય, p.184, યુનિવર્સિટી ઓફ ટેક્સાસ પ્રેસ, ISBN 0-292-78149-0
- ↑ ડોનાલ્ડ રૂટલેજ હિલ, મિકેનિકલ એન્જિનિયરીંગ ઇન ધ મિડિયેવલ નિયર ઇસ્ટ, સાઇન્ટીફિક અમેરિકન, મે ૧૯૯૧, pp. 64-9 ડોનાલ્ડ રૂટલેજ હિલ, મિકેનિકલ એન્જિન્યીંગ સંગ્રહિત ૨૦૦૭-૧૨-૨૫ ના રોજ વેબેક મશિન)
- ↑ એનાલિટીકલ એન્જિનની ભેળસેળ બેબેજના ડિફરન્સ એન્જિન સાથે ન થવી જોઇએ, જે પ્રોગ્રામ ન કરી શકાય તેવું યાંત્રિક ગણનયંત્ર હતું.
- ↑ બી. જેક કોપલેન્ડ, ઇડી., કોલોસસ: બ્લેચલી પાર્કના કોડબ્રેક્રિંગ કોમ્પ્યુર્સના રહસ્યો, ઓક્સફોર્ડ યુનિવર્સિટી પ્રેસ, 2006
- ↑ Lavington 1998, p. 37
- ↑ આ પ્રોગ્રામ આજ રીતે PDP-11 (PDP-11) માઇક્રોકમ્પ્યુટર (minicomputer) માટે પણ લખાયો હતો અને કેટલીક ખાસ વસ્તુઓ બતાવે છે જે કમ્પ્યુટર કરી શકે.સેમિકોલન્સ (;) પછીની બધીજ ટેક્સ્ટ માનવીય વાંચકોના હીત માટેની સૂચનાઓ (comments) છે.કમ્પ્યુટરમાં તેનું કોઇ મહત્વ નથી અને તે ઉપેક્ષિત છે.ઢાંચો:Ref harvard
- ↑ કમ્પ્યુટરની મૂળભૂત મર્યાદિતતાનો ઉકેલ લાવી શકે તેવો પ્રોગ્રામ તૈયાર કરવા ઘણી વાર પ્રયત્ન કરવામાં આવ્યો છે. સોફ્ટવેર જે શીખવાની નકલ અને અપનાવે છે તે કૃત્રિમ બુદ્ધિ (artificial intelligence)નો એક ભાગ છે.
- ↑ પ્રોગ્રામરની બેદરકારીના લીધે જ બગ્સ હોય છે તે સનાત સત્ય નથી. કમ્પ્યુટર હાર્ડવેર કદાચ નિષ્ફળ જઇ શકે છે અથવા તો ફંડામેન્ટલ મુશ્કેલી હોઇ શકે તેમ છે, જે ચોક્કસ પરિસ્થિતિઓમાં અણધાર્યા પરિણામો ઉત્પન્ન કરે છે ઉદા. તરીકે ૧૯૯૦ના પ્રારંભમાં ફ્લોટિંગ પોઇન્ટ ડિવીઝન ઓપરેશન માટે અયોગ્ય પરિણામો ઉત્પન્ન કરવા માટે પેન્ટિયમ FDIV બગ ઇન્ટેલ માઇક્રોપ્રોસેસર પર અસર કરી હતી. માઇક્રોપ્રોસેસરમાં ડિઝાઇનમાં ખરાબીના કારણે આમ થયું હતું અને અસરગ્રસ્ત ડિવાઇસના થોડા રિકોલમાં પરિણમી હતી.
- ↑ ત્યાર પછીના કેટલાક કમ્પ્યુટરોમાં મશિન કોડમાં સીધી રીતે જ પ્રોગ્રામ કરવામાં આવ્યો હતો. કેટલાક મીનીકમ્પ્યુટર જેમ કે ડીઇસી પીડીપી-8ને સ્વીચની પેનલો પરથી સીધી રીતે જ પ્રોગ્રામ કરી શકાયા હોત. જોકે, આ પદ્ધતિ સામાન્ય રીતે બૂટીંગ પ્રોસેસના ભાગરૂપે જ વાપરવામાં આવે છે. અત્યંત આધુનિક કમ્પ્યુટરો કેટલીક નોન વોલેટાઇલ મેમરીમાંથી બૂટ પ્રોગ્રામ વાંચીને આપોઆપ જ સમગ્ર બૂટ કરે છે.
- ↑ જોકે કેટલીકવાર વિવિધ કમ્પ્યુટર વચ્ચે મશિન ભાષાની સ્પર્ધાત્મકતાનું સ્વરૂપ હોય છે. X૮૬-૬૪ કોમ્પેટીબલ માઇક્રોપ્રોસેસર જેમ કે એડવાન્સ માઇક્રો ડિવાઇસિસ (એએમડી) એથલોન ૬૪, ઇન્ટેલ કોર ૨ માઇક્રોપ્રોસેસર ચલાવે છે તે સમાન પ્રકારના પ્રોગ્રામ ચલાવી શકે છે, તેમજ ઇન્ટેલ પેન્ટિયમ અને ઇન્ટેલ ૮૦૪૮૬ જેવા અગાઉના માઇક્રોપ્રોસેસર માટે તૈયાર કરવામાં આવેલા પ્રોગ્રામ્સ પણ ચલાવી શકે છે. આ અત્યંત પ્રારંભિક વ્યાપારી કમ્પ્યુટર્સથી અલગ પડે છે, જે ઘણી વાર એક જ વાર બનાવવામાં આવ્યા હતા અને અન્ય કમ્પ્યુટરની તુલનામાં બિનસ્પર્ધાત્મક હતા.
- ↑ પ્રોગ્રામીંગ ભાષાંતર કરતા ઉચ્ચ કક્ષાની ભાષાઓ અમુકવાર ઇન્ટરપ્રિટેડ લેન્ગવેજ હોય છે. ઇન્ટરપ્રિટર તરીકે જાણીતા અન્ય પ્રોગ્રામ દ્વારા મશિન કોડમાં ઇન્ટપ્રિટેડ ભાષાઓ ભાષાંતર થતી હોય છે.
- ↑ સુચનાઓના દૂભાષીકરણમાં કંટ્રોલ યુનિટના નિયમો ભૂતકાળમાં અલગ પડ્યા હતા અત્યંત આધુનિક કમ્પ્યુટરોમાં સુચનાઓના દૂભાષીકરણ માટે જ કંટ્રોલ યુનિટ જવાબદાર હોવાથી આ બાબત હંમેશા આગવી રહેશે નહી. ઘણા કમ્પ્યુટરોમાં કેટલીક સુચનાઓનો સમાવેશ થાય છે, જે થોડા ઘણા અંશે કંટ્રોલ સિસ્ટમ દ્વારા અને થોડા ઘણા અંશે અન્ય ઘટક દ્વારા દૂભાષીકરણ થાય છે. ખાસ કરીને ખાસ પ્રકારના કમ્પ્યુટીંગ હાર્ડવેર કે જે થોડા અંશે સ્વ સમાવિષ્ટ હોય છે તેમાં જ લાગુ પડે છે. ઉદા. તરીકે ઇડીવીએસી, જેમાં કંટ્રોલ યુનિટ કે જેણે ચાર સુચનાઓનું દૂભાષીકર કર્યું હતું તેનો ઉપયોગ વડે સૌપ્રથમ આધુનિક પ્રોગ્રામ કમ્પ્યુટર ડિઝાઇન કરવામાં આવશે.તમામ એરિથમેટિક (અંકગણિત)સંબધિત સુચનાઓ તેના એરિથમેટિક યુનિટ સમક્ષ પાસ કરવામાં આવી હતી અને વધુમાં તેને ત્યાં ડિકોડેડ કરવામાં આવી હતી.
- ↑ એડવાન્સડ કમ્પ્યુટમાં કંટ્રોલ સિસ્ટમ કામગીરીમાં સુધારો લાવવા માટે કેટલીક સુચનાઓના ક્રમમાં ફેરફાર કરી શકે છે.
- ↑ ફ્લેશ મેમરી પણ ખતમ થતા પહેલા અમુક વખત સુધી પુનઃ લખી શકાય છે, જે તેને હેવી રેન્ડમ એક્સેસ યુસેઝ માટે ઓછું ઉપયોગી બનાવે છે. ઢાંચો:Ref harvard
- ↑ જોકે, સસ્તી કોમોડિટી હાર્ડવેરના અસંખ્ય ટુકાડાઓમાંથી સુપરકમ્પ્યુટરની રચના કરવી તે અત્યંત સર્વસામાન્ય છે; સામાન્ય રીતે વ્યક્તિગત કમ્પ્યુટર નેટવર્ક દ્વારા જોડાયેલા હોય છે. ભારે લોકપ્રિય કમ્પ્યુટર ક્લસ્ટર ઘણી વખત સર્વસામાન્ય ડિઝાઇનો કરતા વધુ નીચી કિંમતે સુપરકમ્પ્યુટરની કામગીરી પૂરી પાડી શકે છે. ભારે શક્તિશાળી સુપરકમ્પ્યુટર્સ માટે હજુ પણ કસ્ટમ આર્કિટેક્ચરનો ઉપયોગ થતો હોવાથી તાજેતરના વર્ષોમાં ક્લસ્ટર કમ્પ્યુટર્સનો ઝડપી ફેલાવો થયો છે.ઢાંચો:Ref harvard
- ↑ અત્યંત મોટા 64 બીટ ઇન્સ્ટ્રક્શન સેટ આર્કિટેક્ચર (instruction set architecture) એ અગાઉની ડિઝાઇનું વિસ્તરણ છે. આલ્ફા સિવાયના આ ટેબલમાં આપેલ તમામ પ્રકારના આર્કિટેક્ચર તેમનું 64 બીટ પુનઃરજૂઆત કરવામાં આવી તે પહેલા 32 બીટ ફોર્મ્સમાં સમાવિષ્ટ હતા.
સંદર્ભો
- a Kempf, Karl (1961). "Historical Monograph: Electronic Computers Within the Ordnance Corps". Aberdeen Proving Ground (United States Army). Cite journal requires
|journal=
(મદદ) - a Phillips, Tony (2000). "The Antikythera Mechanism I". American Mathematical Society. મૂળ માંથી 2006-04-27 પર સંગ્રહિત. મેળવેલ 2006-04-05.
- a Shannon, Claude Elwood (1940). "A symbolic analysis of relay and switching circuits". Massachusetts Institute of Technology. Cite journal requires
|journal=
(મદદ) - a Digital Equipment Corporation (1972). PDP-11/40 Processor Handbook (PDF). Maynard, MA: Digital Equipment Corporation.[હંમેશ માટે મૃત કડી]
- a Verma, G.; Mielke, N. (1988). "Reliability performance of ETOX based flash memories". IEEE International Reliability Physics Symposium. Cite journal requires
|journal=
(મદદ)CS1 maint: multiple names: authors list (link) - a Meuer, Hans (2006-11-13). "Architectures Share Over Time". TOP500. મેળવેલ 2006-11-27. Unknown parameter
|coauthors=
ignored (|author=
suggested) (મદદ); Check date values in:|date=
(મદદ)CS1 maint: discouraged parameter (link) - Lavington, Simon (1998), A History of Manchester Computers (2 ed.), Swindon: The British Computer Society, ISBN 0902505018
- Stokes, Jon (2007). Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture. San Francisco: No Starch Press. ISBN 978-1-59327-104-6.