Sunday, September 15, 2013

કમ્પ્યુટર વિશે જાણો.

કમ્પ્યુટર

ધ નાસા કોલંબિયા સુપરકમ્પ્યુટર.
કોમ્પ્યુટર કે કમ્પ્યુટર એટલે એવું યંત્ર કે જે તેને કમ્પ્યુટર પ્રોગ્રામીંગકરીને અપાયેલી સુચનાઓ મુજબ કાર્ય કરીને વિવિધ સ્વરૂપની માહિતી અને ડેટા પર વિવિધ પ્રક્રિયા કરી શકે છે.
આધુનિક કમ્પ્યુટર્સને મળતા આવતા પહેલા ડિવાઇસિસ 20મી સદીની મધ્યના હતા (૧૯૪૦–૧૯૪૫), જોકે કમ્પ્યુટરનો અભિગમ અને વિવિધ યંત્રો અગાઉ અસ્તિત્વ ધરાવતા કમ્પ્યુટર્સ જેવા હતા.અગાઉના ઇલેક્ટ્રોનિક કમ્પ્યુટર્સ વિશાળ ઓરડાના કદના હતાં, અને આધુનિક સો જેટલા પર્સનલ કમ્પ્યુટર્સ જેટલી વીજળી વાપરી નાખતા હતા.[૧]આધુનિક કમ્પ્યુટર્સ નાની ઇન્ટિગ્રેટેડ સર્કિટ પર આધારિત છે અને માહિતીના સંગ્રહની દ્રષ્ટિએ અબજોગણા વધુ સક્ષમ છે.[૨]હાલમાં, સાદા કમ્પ્યુટર્સ કાંડા ઘડિયાળમાં સમાવી શકાય તેટલા નાના બની શકે છે અને તે ઘડિયાળની બેટરીથી ચલાવી શકાય છે. વિવિધ પ્રકારના પર્સનલ કમ્પ્યુટર્સ માહિતી યુગના ઓળખ ચિન્હોરૂપ છે, જોકે, હાલમાં જે પ્રકાર સર્વ સામાન્ય છે તે એમ્બેડેડ કમ્પ્યુટર. એમ્બેડેડ કમ્પ્યુટર્સ નાના સરળ યંત્રો છે જેનો ઉપયોગ બીજા યંત્રોને અંકુશમાં રાખવા થાય છે-ઉદાહરણ તરીકે, એમ્બેડેડ કમ્પ્યુટર્સ લડાકુ વિમાનથી લઇને ઔદ્યોગિક રોબોટ્સ, ડિજિટલ કેમેરા અને બાળકોના રમકડાંમાં જોવા મળી શકે છે.
સૂચનાઓની યાદીનો સંગ્રહ અને અમલ કરવાની ક્ષમતાને કમ્પ્યુટર પ્રોગ્રામ કહે છે જે કમ્પ્યુટર્સને ખુબજ ઉપયોગી બનાવે છે અને અન્ય ગણન યંત્રોથી (જેવા કે કેલ્ક્યુલેટર)થી તેને અલગ પાડે છે.ચર્ચ ટર્નીંગ થિસીસ એ આ વિવિધતાનું ગણીતીય નિરૂપણ છેઃ ચોક્કસ ઓછામાં ઓછી ક્ષમતા સાથેનું કોઇ પણ કમ્પ્યુટર તે સૈદ્ધાંતિક રીતે અન્ય કમ્પ્યુટરો જે કાર્ય કરે છે તે જ કાર્ય હાથ ધરવા સક્ષમ હોય છે. તેથી, પર્સનલ ડિજિટલ આસિસ્ટંટ (પિડિએ) અને સુપરકમ્પ્યુટર સુધીની ક્ષમતા અને જટિલતા ધરાવતા કમ્પ્યુટર્સ સમાન સમય અને સંગ્રહ શક્તિ સાથે એક સરખા કમ્પ્યુટેશનલ કામ કરવા સક્ષમ હોય છે.

કમ્પ્યુટિંગનો ઇતિહાસ

ધ જેક્વાર્ડ લૂમ - પહેલા પ્રોગ્રામ થઇ શકે તેવા સાધનોમાંનું એક હતું.
અગાઉના સમયનાં કમ્પ્યુટર્સનાં કોઇ એક ડિવાઇઝને ઓળખવુ પણ અઘરૂ છે કારણે સમયાંતરે "કમ્પ્યુટર" શબ્દનો અર્થ બદલાતો જાય છે.મૂળરૂપે, "કમ્પ્યુટર" શબ્દ એવા વ્યક્તિનો ઉલ્લેખ કરે છે જે આંકડાકીય ગણતરી કરી શકે આવા માનવીય કમ્પ્યુટર ઘણીવાર યાંત્રિક ગણતરીના સાધનની પણ મદદ લેતા હોય છે.
આધુનિક કમ્પ્યુટરનો ઇતિહાસ બે અળગ પ્રાવૈધિક વિજ્ઞાન સાથે શરૂ થાય છે - આપોઆપ થતી ગણતરી અને પ્રોગ્રામેબિલિટી.
અગાઉના યાંત્રિક ગણન સાધનોના ઉદાહરણમાં અબાકસ, સ્લાઇડ રૂલ (ગણતરી આપોઆપ કરી શકાય તેવી પટ્ટી) અને નક્ષત્રમાપક યંત્ર તથા એન્ટિખિથેરાની યાંત્રિક પધ્ધતિ(જે ૧૫૦-૧૦૦ BC સમયમાં અસ્તિત્વ ધરાવતા હતા) નો સમાવેશ થાય છે. એલેક્ઝાન્ડ્રીયાના હેરોન (c.10-70 AD) માં મિકેનિકલ થિયેટર બન્યું હતું જે 10 મિનિટ સુધી નાટક બતાવતું હતું અને તે દોરડાઓ તથા ડ્રમ્સની જટિલ પધ્ધતિ દ્વારા ચાલતુ હતું, મિકેનિઝમનો કયો હિસ્સો ખેલ કરશે તે નક્કી કરવા કદાચ તેની રચના કરવામાં આવી હતી.[૩]આ પ્રોગ્રામેબિલિટીનો સાર છે.
"કેસલ ક્લોક", ખગોળશાસ્ત્રને લગતી ઘડિયાળની શોધ અલ-જઝારીએ ૧૨૦૬માં કરી હતી, તેને સૌથી પહેલુ પ્રોગ્રામ કરી શકાય તેવું એનાલોગ કમ્પ્યુટર ગણવામાં આવે છે.[૪]તે રાશિ, સૂર્યની ભ્રમણકક્ષા અને ચંદ્રની ભ્રમણકક્ષા બતાવતું હતું અર્ધચન્દ્રાકાર પોઇન્ટર દર કલાકે સ્વંયચાલિત દરવાજા ખોલીને બહાર આવે છે, અને વોટર વ્હીલ સાથે જોડેલા કેમ્શેફ્ટ દ્વારા ચાલતા લિવર દ્વારા [૫][૬]પાંચ રોબોટિક સંગીતકારો સંગીત વગાડે છે.સમગ્ર વર્ષ દરમિયાન દિવસ અને રાતની બદલતી લંબાઇ માપવા દરરોજ દિવસ અને રાતની લંબાઇને ફરી પ્રોગ્રામ કરી શકાય છે.[૪]
મધ્ય યુગના અંતમાં યુરોપિયન મેથેમેટિક્સ અને એન્જિનિયરીંગમાં નવું જોમ જોવા મળ્યું, અને વિલ્હેલ્મ શિકાર્ડનું ૧૬૨૩ યંત્ર યુરોપિયન એન્જિનીયર્સ દ્વારા બનાવવામાં આવેલા મિકેનિકલ કેલ્ક્યુલેટર્સમાં પહેલુ હતું.જોકે, તેમાનાં કોઇપણ ડિવાઇઝિસ કમ્પ્યુટરની આધુનિક વ્યાખ્યામાં બંધ બેસતા નથી કારણ કે તેને પ્રોગ્રામ કરી શકાતા નથી.
૧૮૦૧માં, જોસેફ મેરી જેક્વાર્ડે કાપડ બનાવવાની સાળમાં સુધારો કર્યો હતો. તેમણે સાળમાં જટિલ પેટર્ન્સનું વણાટ કામ ઓટોમેટિકલી થાય તે માટે ચોક્કસ ઢબે કાણા પાડેલા પેપરની શ્રેણીનો ઉપયોગ ઢાંચા તરીકે કર્યો હતો. તેના પરિણામે કમ્પ્યુટરના વિકાસમાં જેક્વાર્ડ લૂમ મહત્વનું પગલુ બની રહ્યું કારણ કે વણાટની પેટર્ન્સ તરીકે પંચ કરેલા કાર્ડનો ઉપયોગ સૌથી પહેલો મર્યાદિત પ્રોગ્રામેબિલીટીના પ્રકાર તરીકે જોઇ શકાય.
તે ઓટોમેટિક ગણતરીનું પ્રોગ્રામેબિલીટી સાથેનું મિશ્રણ હતું તેણે પહેલુ ઓળખાવી શકાય તેવુ કમ્પ્યુટર બનાવ્યું હતું.૧૮૩૭માં, એનાલિટીકલ એન્જિન કહેવાતુ સંપૂર્ણ પ્રોગ્રામ કરી શકાય તેવા મિકેનિકલ કમ્પ્યુટરની કલ્પના અને ડિઝાઇન આપનાર ચાલ્સ બેબેજ પહેલો હતો.[૭]મર્યાદિત ભંડોળને કારણે, અને ડિઝાઇન સાથે બેદરકારી ન સહી સકનાર બેબેજે ખરેખર ક્યારેય એનાલિટીકલ એન્જિન બનાવી શક્યા નહોતા.
ટૅબ્યુલેટિંગ મશીન દ્વારા અમેરિકાના સંયુક્ત યુનાઇટેડ રાજ્યોની વસ્તીગણત્રી, ૧૮૯૦માં પંચ કાર્ડનો મોટા પાયાનો ઓટોમેટેડ ડેટા પ્રોસેસ કરવામાં આવ્યો હતો, જેની ડિઝાઇન હર્મન હોલ્લેરિથ દ્વારા તૈયાર કરવામાં આવી હતી અને કમ્પ્યુટીંગ ટેબ્યુલેટીંગ રેકોર્ડીંગ કોર્પોરેશન દ્વારા ઉત્પાદન કરવામાં આવ્યું હતું. જે બાદમાં આઇબીએમ થયું. ૧૯મી સદીના અંતમાં અસંખ્ય ટેકનોલોજીઓ, જે બાદમાં પ્રેક્ટીકલ કમ્પ્યુટરો દેખાવા માંડ્યા બાદ રિયલાઇજેશનમાં ઉપયોગી સાબિત થયા હતા. જેમાં પંચકાર્ડ, બૂલિયન બિજગણિત, વેક્યુમ ટ્યૂબ, થર્મીયોનિક વાલ્વ અને ટેલિપ્રિન્ટરનો સમાવેશ થાય છે.
૨૦મી સદીના પૂર્વાધમાં વૈજ્ઞાનિક ગણત્રીઓની ઘણી જરૂરિયાત વ્યવહારદક્ષ એનાલોગ કમ્પ્યુટર દ્વારા પુરી કરવામાં આવતી હતી, જે ગણત્રી માટે સીધા યંત્રચાલીત અથવા વિદ્યુતવાલીત મોડેલનો ઉપયોગ કરે છે.જોકે, તે પ્રોગ્રામ કરી શકાય તેવા નહોતા અને મોટેભાગે તેમાં આધુનિક ડિજિટલ કમ્પ્યુટર્સ જેવી સંપૂર્ણતા અને ઝડપનો અભાવ છે.
ક્રમશ વધુ શક્તિશાળી અને લવચીક કમ્પ્યુટિંગ ડિવાઇસિસની રચના ૧૯૩૦ અને ૧૯૪૦માં થઇ હતી, ધીમે ધીમે તેમાં આધુનિક કમ્પ્યુટર્સમાં જોવા મળતી મહત્વની લાક્ષણિકતાઓનો ઉમેરો થતો ગયો.ડિજિટલ ઇલેક્ટ્રોનિક્સ (મોટેભાગે ક્લુડ શેનન દ્વારા ૧૯૩૭માં શોધાયેલું) અને વધુ લવચીક પ્રોગ્રામેબિલિટીનો ઉપયોગ આવશ્યક જરૂરી પગલા હતાં, પણ આ માર્ગ સાથે એક પોઇન્ટને પહેલુ ડિજિટલ ઇલેક્ટ્રોનિક કમ્પ્યુટર ગણાવવું મુશ્કેલ છે.નોંધનિય સિધ્ધિઓનો સમાવેશ કરવામાં આવ્યો છે:
એડસક એવા પહેલા કમ્પ્યુટર્સમાંનું એક હતું જેમાં સ્ટોર્ડ પ્રોગ્રામવોન ન્યુમન આર્કિટેક્ચરનો અમલ કરાયો હતો.
  • કોનરેડ ઝુસનાં ઇલેક્ટ્રોમિકેનિકલ ધ ઝેડ3 (૧૯૪૧) પહેલુ એવુ વર્કિંગ મશીન હતું જેમાં દ્વિઅંકી ગણીતની વિશિષ્ઠતા હતી, તેમાં ફ્લોટિંગ પોઇન્ટ એરિથમેટિક અને પ્રોગ્રામેબિલિટીનો સમાવેશ થતો હતો.૧૯૯૮માં ઝેડ3 વ્યવસ્થિતરીતે સંપૂર્ણતા ધરાવતુ સાબિત થયું હતું, તેથી તે વિશ્વનું પહેલુ ઓપરેશનલ કમ્પ્યુટર બન્યું
  • પ્રોગ્રામ ન થઇ શકે તેવુ એટનાસોફ-બેરી કમ્પ્યુટર (૧૯૪૧) વેક્યુમ ટ્યુબ આધારિત કમ્પ્યુટેશન, દ્વિઅંકી આંકડાઓ, અને રિજનરેટિવ કેપેસિટર મેમરીનો ઉપયોગ કરે છે.
  • રહસ્યમય બ્રિટિશ કોલોસસ કમ્પ્યુટર્સ (૧૯૪૩),[૮] જેની પ્રોગ્રામ ક્ષમતા મર્યાદિત હતી પણ એવુ લાગતું હતું કે આ ડિવાઇઝમાં વપરાતી હજારો ટ્યુબ્સ ભરોસાપાત્ર બની શકે અને ઇલેક્ટ્રોનિક રીતે તે ફરી પ્રોગ્રામ કરી શકાય.તેનો ઉપયોગ જર્મન યુધ્ધ સમયનાં કોડ્સ બ્રેક કરવા માટે થતો હતો.
  • હારવર્ડ માર્ક I (૧૯૪૪), લાર્જ-સ્કેલ ઇલેક્ટ્રોમિકેનિકલ કમ્પ્યુટર જેની પ્રોગ્રામિંગ ક્ષમતા મર્યાદિત હતી.
  • યુ. એસ. આર્મીની બેલિસ્ટિક્સ સંશોધન પ્રયોગશાળા ઍનિઆક (૧૯૪૬), જે દશાંશ ગણિતનો ઉપયોગ કરતું હતું અને તેને પહેલુ સામાન્ય હેતુ માટેનું વિજાણુ કમ્પ્યુટર કહી શકાય કોનરાડ ઝુસનું ૧૯૪૧નું ઝેડ3 ઇલેક્ટ્રોનિક્સના સ્થાને ઇલેક્ટ્રોમેગ્નેટ્સનો ઉપયોગ કરતું હતું.જોકે, શરૂઆતમાં, ENIACનું આર્કિટેક્ચર લવચીક નહોતું જેના પ્રોગ્રામિંગમાં ફેરફાર કરવા તેનું ફરી વાયરિંગ જરૂરી હતું.
ENIACના કેટલાંક વિકાસકારો તેના પ્રવાહોને ઓળખી રહ્યા હતા, અને વધુ લવચીક તથા ભવ્ય ડિઝાઇન લઇને આવ્યા, જે સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચર અથવા વોન ન્યુમેન આર્કિટેક્ચર તરીકે ઓળખાતી હતી.આ ડિઝાઇનનું ઔપચારિક વર્ણન સૌથી પહેલા જ્હોન વોન ન્યુમેન દ્વારા પેપરમાં ફર્સ્ટ ડ્રાફ્ટ ઓફ અ રિપોર્ટ ઓન EDVAC, તરીકે થયું હતું, તેની વહેંચણી 1945માં થઇ હતી.આ સમયગાળામાં સ્ટોર્ડ-પ્રોગ્રામ આધારિત કમ્પ્યુટર્સ વિકસાવવા ઘણાં પ્રોજેક્ટ્સ હાથ ધરાયા હતા, તેમાંનો પહેલો ગ્રેટ બ્રિટનમાં પુરો થયો હતો. માન્ચેસ્ટર સ્મોલ-સ્કેલ એક્સપેરિમેન્ટલ મશીન (SSEM અથવા "Baby")ને સૌથી પહેલા કામ કરતું પ્રદર્શિત કરવામાં આવ્યું હતું, જ્યારે SSEMનાં એક વર્ષ પછી EDSAC પુરો થયો હતો, તે સ્ટોર્ડ પ્રોગ્રામ ડિઝાઇનનું પહેલું પ્રેક્ટિકલ અમલીકરણ હતું.તેના થોડા સમય બાદ વોન ન્યુમેનના પેપરમાં દર્શાવાયેલુ મશીન EDVAC પુરૂ થયું હતું પણ વધુ બે વર્ષ સુધી તેનો સંપૂર્ણ ઉપયોગ જોવા મળ્યો નહોતો.
લગભગ દરેક આધુનિક કમ્પ્યુટર્સ સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચરના કેટલાંક પ્રકારનો ઉપયોગ કરે છે, તેને એકમાત્ર એવુ લક્ષણ બનાવે છે જેના દ્વારા હવે "કમ્પ્યુટર" શબ્દ ઓળખાય છે.૧૯૪૦ના પહેલા ઇલેક્ટ્રોનિક, સામાન્ય હેતુના કમ્પ્યુટર્સ કરતા હવે ટેક્નોલોજિસમાં ધરખમ ફેરફાર થયા હોવાછતાં, મોટેભાગે હજુ પણ ન્યુમેન આર્કિટેક્ચરનો ઉપયોગ થાય છે.
માઇક્રોપ્રોસેસર્સ નાના કદના ડિવાઇસિસ છે જે મોટેભાગે સ્ટોર્ડ પ્રોગ્રામ સિપિયુ માં વપરાતા હોય છે.
ઇલેક્ટ્રોનિક એલિમેન્ટ્સ તરીકે વેક્યુમ ટ્યુબનો ઉપયોગ કરતા કમ્પ્યુટર્સ ૧૯૫૦ સુધી વપરાતા હતા, ૧૯૬૦ સુધીમાં તેના સ્થાને ટ્રાન્ઝિસ્ટર આધારિત મશીન્સ આવી ગયા, જે વધુ નાના, ઝડપી, ઉત્પાદનમાં સસ્તા, ઓછી વીજળી વાપરનારા, અને વધુ વિશ્વસનિય હતા.પહેલું ટ્રાન્ઝિસ્ટરાઇઝ્ડ કમ્પ્યુટર યુનિવર્સિટી ઓફ માન્ચેસ્ટરમાં ૧૯૫૩માં બતાવવામાં આવ્યું હતું.[૯]૧૯૭૦માં, ઇન્ટિગ્રેટેડ સર્કિટ ટેક્નોલોજી અને ત્યારબાદ તરત થયેલી ઇન્ટેલ ૪૦૦૪ જેવા માઇક્રોપ્રોસેસર્સની રચનાએ, તેના કદ અને કિંમતમાં વધુ ઘટાડો કર્યો હતો તથા ઝડપ અને કમ્પ્યુટર્સની વિશ્વસનિયતામાં વધારો કર્યો હતો. ૧૯૮૦ સુધીમાં કમ્પ્યુટર્સ ઘણાં નાના અને સસ્તા થઇ ગયા હતા જેથી વોશિંગ મશીન્સ જેવા ઘરેલુ ઉપકરણોમાં સરળ મિકેનિકલ કંટ્રોલ તરીકે મુકી શકાય. ૧૯૮૦ હોમ કમ્પ્યુટરનું પણ સાક્ષી બન્યું અને હવે સર્વવ્યાપક પર્સનલ કમ્પ્યુટર છે. ઇન્ટરનેટની ઉત્ક્રાંતિ સાથે, પર્સનલ કમ્પ્યુટર્સ ઘરની ટેલિવિઝન અને ટેલિફોન જેવી વસ્તુઓ જેટલા સામાન્ય બની ગયા.
આધુનિક સ્માર્ટફોન ટેકનિકલ રીતે સંપૂર્ણ પ્રોગ્રામ ક્ષમતાવાળા કમ્પ્યુટર્સ છે અને ૨૦૦૯માં મોટાભાગે આ પ્રકારના કમ્પ્યુટર્સ અસ્તિત્વ ધરાવે છે.

સ્ટોર્ડ પ્રોગ્રામ આર્કિટેક્ચર

બીજા બધા મશિન્સથી જુદુ પાડતું આધુનિક કમ્પ્યુટર્સનું મુખ્ય લક્ષણ એ છે કે તે પ્રોગ્રામ કરી શકાય છે. એવુ કહી શકાય કે કમ્પ્યુટરને સૂચનાઓની યાદી આપી શકાય છે અને તે તેમાં સંગ્રહી શકાય અને ભવિષ્યમાં ગમે ત્યારે તેને ઉપયોગમાં લઇ શકાય છે.
મોટાભાગના કિસ્સાઓમાં, કમ્પ્યુટર સૂચનાઓ સરળ હોય છે. ઉદાહરણ તરીકે બીજા નંબરમાં એક નંબર ઉમેરો, કેટલોક ડેટા એક સ્થળેથી બીજા સ્થળે ખસેડો, કોઇ એક્સટર્નલ ડિવાઇઝને સંદેશો મોકલો, વગેરે. આ સૂચનાઓ કમ્પ્યુટરની મેમરીમાંથી વાંચી શકાય છે અને જે ક્રમાંકમાં તે આપવામાં આવી હોય તે અનુસાર તેની ઉપર કામ થતું હોય છે. જોકે, તેમાં કેટલીક ખાસ પ્રકારની સૂચનાઓ હોય છે જે કમ્પ્યુટરને આગળ વધવાનું કે પ્રોગ્રામમાં પાછળની કોઇ જગ્યાએ પહોચવાનું અને ત્યાંથી કામ આગળ વધારવાનું કહે છે. તેને "જમ્પ" સૂચનાઓ (અથવા "બ્રાન્ચિસ" કહે છે.વધુમાં, જમ્પ સૂચનાઓ કદાચ શરતી વિધાનને આધિન કરવામાં આવે છે જેથી સૂચનાઓની વિવિધ શ્રેણી અગાઉની કેટલીક ગણતરીઓ અથવા કોઇ એક્સટર્નલ ઇવેન્ટના પરિણામને આધારે વપરાઇ શકે.કેટલાંક કમ્પ્યુટર્સ એવા પ્રકારના જમ્પ પુરા પાડે છે જે ક્યાંથી જમ્પ થાય છે તે સ્થળને યાદ રાખે અને જમ્પ સૂચનાઓને અનુસરવા બીજી સૂચનાઓ તરફ પાછા ફરવાનું પણ યાદ રાખે છે અને આ દ્વારા સબરૂટિનને ટેકો આપે છે.
પ્રોગ્રામના અમલને પુસ્તક વાંચવા સાથે જોડી શકાય.જ્યારે કોઇ પણ વ્યક્તિ સામાન્ય રીતે દરેક શબ્દ અને લાઇન સુધી શ્રેણીમાં પહોંચે ત્યારે, ટેક્સ્ટમાં અગાઉના સ્થાન પર ફરીથી આવી જાય અથવા રસ વિનાના વિભાગોને કૂદાવી જાય. તેજ રીતે કમ્પ્યુટર કેટલીકવાર પાછુ જાય અને જ્યા સુધી કેટલીક આંતરિક શરતો પરિપૂર્ણ ન થાય ત્યા સુધી પ્રોગ્રામની કેટલીક શરતોને વારંવાર રીપીટ કરે છે. તેને પ્રોગ્રામમાં રહેલો "અંકુશનો પ્રવાહ" કહે છે અને જેના કારણે કમ્પ્યુટર માનવીય હસ્તક્ષેપ વગર વારંવાર કામ કરી શકે છે.
તુલનાત્મક રીતે, પોકેટ કેલ્ક્યુલેટર વાપરતી વ્યકિત સરવાળા જેવી સામાન્ય ગણતરી ફક્ત બટન દબાવીને કરી શકે છે.પણ જો એક સાથે 1 થી 1,000 આંકડા ઉમેરવાના હોય તો હજારો બટન દબાવવા પડે અને ઘણો સમય લાગે અને ભૂલ થવાની પણ શક્યતા રહે છે.
એકવાર આ પ્રોગ્રામ રન કરવાનું કહેવામાં આવે, તો કમ્પ્યુટર માનવીય હસ્તક્ષેપ વગર વધારાનું કામ વારંવાર કરશે.તે ક્યારેય ભૂલ કરતુ નથી અને આધુનિક પીસી મિલિયન સેકન્ડ[૧૦]માં કામ પૂરૂ કરી શકે છે.
જોકે, કમ્પ્યુટરો પોતાની જાતે “વિચારી” શકતા નથી, તેઓ ફકત જે રીતે પ્રોગ્રામ હોય તે રીતે જ સમસ્યા ઉકેલી શકે છે. બુદ્ધિશાળી વ્યક્તિ વધુ પડતા એડીશન ટાસ્કની મુશ્કેલી અનુભવતો હોય છે, જે તરત જ તેવો અનુભવ કરશે કે દરેક નંબરો ઉમેરો કરવાને બદલે જે તે વ્યક્ત સરળ રીતે સમીકરણનો ઉપયોગ કરી શકે છે.
1+2+3+...+n = {{n(n+1)} \over 2}
અને નાના કામ દ્વારા સાચા જવાબ (500,500)સુધી આવી પહોંચે છે. [૧૧] અન્ય શબ્દોમાં કહીએ તો ઉપરના ઉદાહરણ અનુસાર એક પછી એક નંબરો ઉમેરો કરવા માટે જે કમ્પ્યુટરમાં પ્રોગ્રામ કરવામાં આવ્યો હોય તો તે કાર્યક્ષમતા અથવા વૈકલ્પિક ઉકેલની ચિંતા કર્યા વિના યોગ્ય રીતે જ કામ કરશે.

પ્રોગ્રામ્સ

૧૯૭૦ના પંચ્ડ કાર્ડ ફોર્ટ્રાન પ્રોગ્રામમાંથી એક લાઇનનો સમાવેશ કરે છે. કાર્ડ "Z(1) = Y + W(1)" વાંચે છે અને ઓળખ હેતુ માટે “PROJ039”લેબલ થયેલું હોય છે.
કમ્પ્યુટર પ્રોગ્રામ, વર્ડ પ્રોસેસર અથવા વેબ બ્રાઉઝર માટેના પ્રોગ્રામોની જેમ થોડી સુચનાઓથી લઇને અસંખ્ય સુચનાઓને અનુસરી શકે છે. વિશિષ્ટ આધુનિક કમ્પ્યુટર સેકંડદીઠ ગીગાહર્ટઝ અથવા જીએચઝેડની અબજો સુચનાઓને અનુસરી શકે છે અને ભાગ્યે જ ઓપરેશનના અનેક વર્ષો સુધી ભૂલ કરી શકે છે. મોટા કમ્પ્યુટર વિવિધ હજ્જારો સુચનાઓનો સમાવેશ કરતા હોય છે અને તે લખવા માટે અનેક પ્રોગ્રામર્સની સહાય લઇ શકે છે, આમ ભૂલ વિના સમગ્ર પ્રોગ્રામ લખાઇ જવાની સંભાવના અત્યંત ઓછી છે. કમ્પ્યુટર પ્રોગ્રામમા આવતી ભૂલોને “બગ્સ” કહેવાય છે. બગ્સ સારા હોઇ શકે છે અને પ્રોગ્રામની ઉપયોગિતાને અસર કરતા નથી અથવા નજીવી અસર હોઇ શકે છે. પરંતુ કેટલાક કિસ્સામાં તે પ્રોગ્રામને “હેન્ગ” કરી શકે છે એટલેકે સ્થગીત કરી શકે છે-કે જેથી કમ્પ્યૂટર માઉસ ક્લિક્સ અથવા કીસ્ટ્રોક્સનો પ્રતિભાવ આપતું નથી અથવા સંપૂર્ણપણે નિષ્ફળ અથવા “ક્રેશ” થઇ જાય છે. અલબત્ત સારા બગ્સ કેટલીકવાર ખરાબ ઇરાદા સાથે “એક્સપ્લોઇટ”લખતા ખરાબ યૂઝર દ્વારા નુકસાન પહોંચાડી શકે છે- બગ અને પ્રોગ્રામનો યોગ્ય અમલ ખોરવવા માટે કોડ તૈયાર કરવામાં આવ્યા છે. બગ્સ એ મોટેભાગે કમ્પ્યુટરની ખામીને લીધે આવતા નથી. કમ્પ્યુટરો તેમને આપવામાં આવતી સુચનાઓને જ અનુસરતા હોવાથી બગ્સ મોટે ભાગે પ્રોગ્રામરની ભૂલનું પરિણામ અથવા પ્રોગ્રામની ડિઝાઇનમાં કરેલ ભૂલનું પરિણામ હોય છે. [૧૨] મોટા ભાગના કમ્પ્યુટરોમાં, વ્યક્તિગત સુચનાઓને મશિન કોડ તરીકે સ્ટોર કરવામાં આવે છે, જેમાં દરેક સુચનાઓને વિશિષ્ટ નંબર(તેના ઓપરેશન કોડ અથવા ટૂંકાણ માટે ઓપકોડ આપવામાં આવે છે. બે નંબર ઉમેરવા માટેના કમાન્ડને એક ઓપકોડ હશે, તેમને મલ્ટીપ્લાય કરવા માટેના કમાન્ડને અન્યઓપકોડ અને તે રીતે હશે. સરળ કમ્પ્યુટરો થોડી વિવિધ સુચનાઓને અનુસરવા સક્ષમ હશે; જ્યારે વધુ જટિલ કમ્પ્યુટરો પાસે વિશિષ્ટ ન્યૂમરિકલ કોડ સાથે હજ્જારોમાંથી પસંદગી કરવાની રહેશે. કમ્પ્યુટરની મેમરી નંબરો સ્ટોર કરવા સક્ષમ હોવાથી તે સુચના કોડ્સ પણ સ્ટોર કરી શકે છે. તેના કારણે એક અગત્યની હકીકત એવી થાય છે કે સમગ્ર પ્રોગ્રામ (કે જે ફક્ત સુચનાઓની યાદી છે)ને નંબરોની યાદી તરીકે પ્રદર્શિત કરી શકાય છે અને તે જો ન્યૂમરિક ડેટા હોય તો કમ્પ્યુટરની અંદર તેમની રીતે ખોટા આંક દર્શાવી શકે છે. તેઓ જે ઓપરેટ કરે છે તે ડેટાની સાથે કમ્પ્યુટરની મેમરીમાં પ્રોગ્રામ સ્ટોર કરવાનો મૂળ ખ્યાલ એ છે કે વોન ન્યમનનો ક્રક્સ અથવા સ્ટોર થયેલા આર્કિટેક્ચર પ્રોગ્રામ છે. કેટલાક કિસ્સાઓમાં કમ્પ્યુટર કેટલોક ડેટા સેવ શકે છે અથવા તે ઓપરેટ કરે છે તે ડેટામાંથી અલગ મૂકાયેલા સમગ્ર પ્રોગ્રામને મેમરીમાં સમાવી શકે છે. તેને હાર્વર્ડ માર્ક I કમ્પ્યુટર બાદ હાર્વર્ડ આર્કિટેક્ચર કહેવાય છે. આધુનિક વોન ન્યૂમન કમ્પ્યુટર તેમની ડિઝાઇનમાં હાર્વર્ડ આર્કિટેક્ચરના કેટલાક લક્ષણો જેમ કે સીપીયુ કેશ, સમાવેલ હોય છે. "મશિન ભાષા"ના લાંબા નંબરોની યાદીની જેમ કમ્પ્યુટર પ્રોગ્રામ લખવો શક્ય છે અને આ તરકીબનો ઉપયોગ અગાઉના કમ્પ્યુટરો[૧૩]માં કરવામાં આવતો હતો, જે વ્યવહારમાં આવી રીતે, ખાસ કરીને જટિલ પ્રોગ્રામ માટે કરવું અત્યંત કંટાળાજનક છે. તેના બદલે તેના ફંકશનનો નિર્દેશ કરતી હોય તેવી ટૂંકા નામવાળી દરેક મૂળ સુચનાઓ આપી શકાય અને તે નેમોનિકને યાદ રાખવી સરળ છે જેમ કે એડીડી, સબ, મલ્ટ અથવા જંપ. આ નેમોનિક્સ સામુહિક રીતે કમ્પ્યુટરની "એસેમ્બલી ભાષા" તરીકે ઓળખાય છે. એસેમ્બલી ભાષામાં લખેલા પ્રોગ્રામોને કમ્પ્યુટર ખરેખર સમજી શકે (મશિન ભાષા) તેવી ભાષામાં રૂપાંતર કરવાનું કામ એસેમ્બ્લર તરીકે ઓળખાતા કમ્પ્યુટર પ્રોગ્રામ દ્વારા કરવામાં આવે છે. મશિન ભાષાઓ અને એસેમ્બલી ભાષાઓને સામૂહિક રીતે લો લેવલ પ્રોગ્રામીંગ લેંગ્વેજ તરીકે ઓળખાય છે અને તે ખાસ પ્રકારના કમ્પ્યુટર તરીકે વિશિષ્ટ બનવા લાયક છે. ઉદાહરણ તરીકે એઆરએમ આર્કિટેક્ચર કમ્પ્યુટર (જેમ કે પર્સનલ ડિજિટલ આસિસ્ટંટ (પીડીએ) અથવા હેન્ડ હેલ્ડ વિડીયોગેમ) ઇન્ટેલ પેન્ટિયમ અથવા એએમડી એથલોન 64, જે કદાચ પર્સનલ કમ્પ્યુટરમાં હોઇ શકે છે, કમ્પ્યુટરની મશિન ભાષા સમજી શકે નહી. [૧૪] મશિન ભાષા કરતા નોંધપાત્ર રીતે સરળ હોવા છતાં એસેમ્બલી પ્રોગ્રામમાં લાંબા પ્રોગ્રામો લખવા ઘણી વાર મુશ્કેલ અને ભૂલ થઇ શકે તેવા હોય છે. તેથી, મોટા ભાગના જટિલ પ્રોગ્રામો વધુ સંક્ષિપ્ત હાઇ લેવલ પ્રોગ્રામીંગ ભાષામાં લખેલા હોય છે, જે ક્મ્પ્યુટર પ્રોગ્રામરની જરૂરિયાતોને વધુ સરળ (અને તેથી પ્રોગ્રામરને ઓછી ભૂલો કરવા સહાય કરે છે) રીતે છતી કરવા સક્ષમ હોય છે. હાઇ લેવલ ભાષાઓ સામાન્ય રીતે કંપાઇલર નામના અન્ય કમ્પ્યુટર પ્રોગ્રામનો ઉપયોગ કરીને સામાન્ય રીતે મશિન ભાષામાં (અથવા કેટલીકવાર એસેમ્બલી ભાષા અને ત્યાર બાદ મશિન ભાષામાં)‘’ભાષાંતરીત’’ હોય છે. [૧૫] હાઇ લેવલ ભાષાઓ એસેમ્બલી ભાષાઓ કરતા વધુ સંક્ષિપ્ત હોવાથી, વિવિધ પ્રકારના કમ્પ્યુટરની મશિન ભાષામાં સમાન પ્રકારની હાઇ લેવલ ભાષા ભાષાંતર કરવી કરવા માટે અલગ કંપાઇલરોનો ઉપયોગ કરવો શક્ય છે. વિવિધ પ્રકારના કમ્પ્યુટર આર્કિટેક્ચર જેમ કે પર્સોનલ કમ્પ્યુટર્સ અને અલગ અલગ વીડીયો ગેઇમ કોન્સોલ માટે વીડીયો ગેઇમ ઉપલબ્ધ કરાવી શકાય તે માટેના સોફ્ટવેરના અનેક ઉપોયોગોનો એક ભાગ છે. મોટી સોફ્ટવેર સિસ્ટમ્સ વિકસાવવાનું કાર્ય પુષ્કળ પરસ્પરાવલંબી પ્રયત્ન છે. ધારણાયુકત શિડ્યૂલ અને બજેટ પર સ્વીકાર્ય. ઊંચી વિશ્વસનીયતા સાથે સોફ્ટવેરના ઉત્પાદને ઐતિહાસિક રીતે ભારે પડકાર ફેંક્યો છે; સોફ્ટવેર એન્જિનીયરીંગની શૈક્ષણિક અને વ્યાવસાયિક શિસ્ત ખાસ કરીને આ સમસ્યા પર ધ્યાન કેન્દ્રિત કરે છે.

કમ્પ્યુટર્સ કેવી રીતે કામ કરે છે

બહોળા હેતુ વાળા કમ્પ્યુટરમાં ચાર વિભાગો હોય છેઃ એરિથમેટિક અને લોજિક યુનિટ (એએલયુ), કંટ્રોલ યુનિટ, મેમરી અને ઇનપુટ અને આઉટપુટ ડિવાઇસ (સામૂહિક રીતે I/0 તરીકે ઓળખાય છે) આ હિસ્સાઓ કમ્પ્યુટર "બસ" દ્વારા આંતરિક રીતે જોડાયેલા હોય છે, ઘણીવાર તે વાયર્સના જથ્થા દ્વારા બનેલા હોય છે.
કંટ્રોલ યુનિટ, એએલયુ રજિસ્ટર કરે છે અને બેઝિક I/O (અને ઘણીવાર તેની સાથે ગાઢ રીતે સંકળાયેલા અન્ય હાર્ડવેર)સામૂહિક રીતે સેન્ટ્રલ પ્રોસેસીંગ યુનિટ (સીપીયુ) તરીકે ઓળખાય છે. પ્રારંભના સીપીયુ અસંખ્ય સ્વતંત્ર કોમ્પોનન્ટનું મિશ્રણ હતા પરંતુ, ૧૯૭૦ના મધ્યથી સીપીયુને ખાસ રીતે માઇક્રોપ્રોસેસર તરીકે ઓળખાતી એક જ ઇન્ટીગ્રેટેડ સર્કિટ પર ઊભા કરવામાં આવ્યા હતા.

કંટ્રોલ યુનિટ

કંટ્રોલ યુનિટ (ઘણી વાર કંટ્રોલ સિસ્ટમ અથવા સેન્ટ્રલ કંટ્રોલર તરીકે ઓળખાય છે)કમ્પ્યુટરના વિવિધ કોમ્પોનન્ટને આદેશ આપે છે. તે પ્રોગ્રામમાં એક પછી એક સુચનાઓ વાંચે છે અને દૂભાષિત (ડિકોડસ)કરે છે. કંટ્રોલ સિસ્ટમ દરેક સુચનાઓને ડિકોડ કરે છે અને તેને અસંખ્ય કંટ્રોલ સિગ્નલોમાં રૂપાંતર કરે છે જે કમ્પ્યુટરના અન્ય ભાગને ઓપરેટ કરે છે. [૧૬] એડવાન્સડ કમ્પ્યુટમાં કંટ્રોલ સિસ્ટમ કામગીરીમાં સુધારો લાવવા માટે કેટલીક સુચનાઓના ક્રમમાં ફેરફાર કરી શકે છે. દરેક સીપીયુમાં અગત્યનો કોમ્પોનન્ટ એટલે કે પ્રોગ્રામ કાઉન્ટર સર્વસામાન્ય હોય છે, ખાસ મેમરી સેલ રજિસ્ટર જે, હવે પછીની સુચના મેમરીના ક્યા લોકેશનમાં વાંચવામાં આવશે તેનું ધ્યાન રાખે છે. [૧૭]
એમઆઇપીએસ આર્કિટેક્ચર સુચનાઓ કેટલી ચોક્કસ છે તે દર્શાવતો
ડાયાગ્રામ કંટ્રોલ સિસ્ટમ દ્વારા ડિકોડેડ કરવામાં આવશે.
કંટ્રોલ સિસ્ટમનું ફંકશન નીચે દર્શાવેલી નોંધ પ્રમાણે છે, જેમ કે આ એક સરળ વર્ણન છે અને આમાના કેટલાક પગલાંઓ એકી સમયે અથવા તો સીપીયુના પ્રકારના આધારે વિવિધ રીતે અનુસરવામાં આવશે.
  1. પ્રોગ્રામ કાઉન્ટર દ્વારા દર્શાવવામાં આવેલા સેલમાંથી પછીની સુચના માટે કોડ વાંચો.
  2. દરેક સિસ્ટમ્સ માટે કમાન્ડ અને સિગ્નલ્સના કમાન્ડના સેટમાં સુચના માટે ન્યૂમરિક કોડને ડિકોડ કરો.
  3. પ્રોગ્રામ કાઉન્ટરમાં વઘારો કરો, જેથી પછીની સુચનાને અનુસરે.
  4. મેમરી(અથવા કદાચ ઇનપુટ ડિવાઇસ)માં રહેલા સેલમાંથી જરૂરી સુચનાનો જેતે ડેટા વાંચો. આ જરૂરી ડેટાનું લોકેશન ખાસ કરીને ઇન્સ્ટ્રક્શન કોડમાં સ્ટોર થયેલું હોય છે.
  5. એએલયુ અથવા રજિસ્ટરને જરૂરી ડેટા પૂરો પાડો.
  6. જો સુચનાઓ એએલયુ અથવા ખાસ હાર્ડવેરને પૂર્ણ કરવા માટે જરૂરી હોય તો, વિનંત કરાયેલ કામગીરી હાથ ધરવા માટે હાર્ડવેરને સુચના આપો.
  7. એએલયુ બેક ટુ મેમર લોકેશન અથવા તો રજિસ્ટર અથોવા કદાચ આઉટપુટ ડિવાઇસમાંથી પરિણામ લખો.
  8. (1) સ્ટેપ પર પાછા આવો.
પ્રોગ્રામ કાઉન્ટર (સરળ રીતે)માત્ર મેમરી સેલ્સનો સેટ હોવાથી, તેને એએલયુમાં ગણતરી દ્વારા ફેરવી શકાય છે. પ્રોગ્રામ કાઉન્ટરમાં 100 ઉમેરતા વધુ ડાઉન પ્રોગ્રામ માટે 100 લોકેશનમાંથી તે પછીની સુચના વાંચવમાં પરિણમશે. જે પ્રોગ્રામ કાઉન્ટરને સુધારે છે તે સુચનાઓને ઘણી વખત “જંપ્સ” તરીકે ઓળખવામાં આવે છે અને લૂપ્સની મંજૂરી આપે છે (કમ્પ્યુટર દ્વારા વારંવાર કરવામાં આવતી સુચનાઓ)અને ઘણી વખત શરતી સુચનાત્મક અમલ (અંકુશ પ્રવાહ)ના બન્ને ઉદાહરણો કરે છે. એવું નોંધી શકાય છે કે પ્રોસેસ દ્વારા કંટ્રોલ યુનિટ જે શ્રેણીબંધ કામગીરી કરે છે તે સુચના તેની રીતે ટૂંકા કમ્પ્યુટર પ્રોગ્રામ જેવી જ હોય છે અને ખરેખર, કેટલાક વધુ જટિલ સીપીયુ ડિઝાઇન્સમાં અન્ય એક વધુ નાનુ કમ્પ્યુટર હોય છે જે માઇક્રોસિક્વન્સર તરીકે ઓળખાય છે, જે માઇક્રોકોડ પ્રોગ્રામ રન કરે છે, જે આ તા ઘટનાઓના નિર્માણ માટે કારણભૂત હોય છે.

એરિથમેટિક/લોજિક યુનિટ (ALU)

એએલયુ કામગીરીના બે પ્રકાર માટે સક્ષમ હોય છેઃ એરિથમેટિક અને લોજિક. ખાસ એએલયુ ટેકો પૂરો પાડે છે તેવી એરિથમેટિક કામગીરીનો સેટ કદાચ ઉમેરણ કે બાદબાકી માટે મર્યાદિત હોય અથવા તો ગુણાકાર અથવા ભાગાકાર, ત્રિકોણમિતિ ફંકશન્સ (સાઇન, કોસાઇન વગેરે)અને વર્ગમૂળનો સમાવેશ કરતી હોય. કેટલાક લોકો સંપૂર્ણ ક્રમાંકો (ઇન્ટેજર) ઓપરેટ કરી શકતા હોય, જ્યારે અન્યો મર્યાદિત પ્રિસિશન છતા રિયલ નંબરઓ છતા કરવા માટે ફ્લોટીંગ પોઇન્ટનો ઉપયોગ કરે છે. જોકે, અન્ય કોઇ પણ કમ્પ્યુટર કે જે ફક્ત સરળમાં સરળ ઓપરેશન હાથ ધરવા સક્ષમ હોય તેને તે કામ કરી શકે તેવા સરળ પગલાંઓમાં વધુ જટિલ ઓપરેશનો તોડી પાડવામાં પ્રોગ્રામ કરી શકાય. તેથી, કોઇપણ કમ્પ્યુટરને કોઇ પણ એરિથમેટિક પ્રોગ્રામ હાથ ધરવા માટે પ્રોગ્રામ કરી શકાય, જોકે, તેનું એએલયુ જો ઓપરેશનને સીધો ટેકો પૂરો પાડતું ન હોય તો તે વધુ સમય લેશે. એએલયુ પણ ક્રમાંકોની તુલના કરી શકે છે અને એક એકની સમાન, અન્ય કરતા વધુ કે ઓછા (“શુ 64 65 કરતા મોટા છે?”)તેના આધારે બૂલીયન ટ્રૂથ વેલ્યુ (સાચી કે ખોટી)પરત આપી શકે છે.
લોજિક એપરેશન્સમાં બૂલિયન લોજિક: એંડ, ઓર, એક્સઓર અને નોટનો સમાવેશ થાય છે. આ જટિલ શરતી વિધાન અને પ્રોસેસીંગ બૂલિયન લોજિકએમ બન્ને માટે ઉપયોગી થઇ શકે છે.
સુપરસ્કેલર્સ કમ્પ્યુટર્સમાં એક કરતા વધુ એએલયુનો સમાવેશ થાય છે, જેથી એક જ સમયે વિવિધ સુચનાઓની પ્રોસેસ કરી શકે. એસઆઇએમડી અને એમઆઇએમડી લાક્ષણિકતાઓ સાથેના ગ્રાફિક્સ પ્રોસેસર્સ ઘણી વખત એવા એએલયુ પૂરા પાડે છે જે સદીશ અને મેટ્રિસેસ પર એરિથમેટિક હાથ ધરી શકે છે.

મેમરી

મેગ્નેટિક કોર મેમરી (Magnetic core memory)ને જ્યાં સુધી સેમિકંડક્ટર મેમરી દ્વારા સંપૂર્ણપણે દૂર કરવામાં ન આવી ત્યા સુધી 1960ના દાયકામાં કમ્પ્યુટર્સ માટે લોકપ્રિય મેઇન મેમરી હતી.
સેલની યાદી તરીકે કમ્પ્યુટરની મેમરીને જોઇ શકાય છે, જેમાં ક્રમાકો મૂકી શકાય છે અથવા વાંચી શકાય છે. દરેક સેલને ક્રમાંકિત “એડ્રેસ” હોય છે અને તેને એક જ ક્રમાંકમાં સ્ટોર કરી શકાય છે. કમ્પ્યુટરને “સેલ ક્રમાકિત 1357માં 123 ક્રમાંક મૂકવા કહી શકાય છે” અથવા “સેલ 1357થી સેલ 2468 સુધીમાં ક્રમાંક ઉમેરવા અને સેલ 1595માં જવાબ મૂકવા” સુચના આપી શકાય છે. મેમરીમાં સ્ટોર થયેલ માહિતી વ્યવહારીક રીતે કંઇ પણ પ્રદર્શિત કરી શકે છેઅક્ષરો, ક્રમાંકો અને કમ્પ્યુટર સુચનાઓ પણ સમાન ક્રમમાં મૂકી શકાય છે. વિવિધ પ્રકારની માહિતી વચ્ચે સીપીયુ અલગ નહી પડતા હોવાથી મેમરી ક્રમાંકની શ્રેણી સિવાય બીજુ કશું જ જોતી નથી તેને અગત્યતા આપવાનો આધાર સોફ્ટવેર પર છે.
મોટે ભાગે દરેક આધુનિક કમ્પ્યુટરોમાં આઠ બીટ ના જૂથમાં (જે બાઇટ તરીકે ઓળખાય છે) દ્વિઅંકી આંકડા સંગ્રહ કરવા માટે દરેક મેમરી સેલ નાખવામાં આવેલો હોય છે. દરેક બાયટ 256 વિવિધ નંબરો પ્રદર્શિત કરવા સક્ષમ હોય છે; ક્યાં તો 0થી 255 અથવા -128થી +127 સુધી. મોટા નંબરો સ્ટોર કરવા માટે, વિવિધ પરીમાણોમાં બાયટ્સનો ઉપયોગ કરી શકાય (ખાસ કરીને બે, ચાર અથવા આઠ). જ્યારે નકારાત્ક નંબરની જરૂરિયાત હોય ત્યારે, તેને સામાન્ય રીતે ટુઝ કોમ્પ્લીમેન્ટ નોટેશનમાં સ્ટોર કરવામાં આવે છે. અન્ય વ્યવસ્થાઓ શક્ય છે, પરંતુ ખાસ પ્રકારની એપ્લીકેશનો અથવા ઐતિહાસિક સંદર્ભોની બહાર સામાન્ય રીતે જોવા મળતી નથી. કમ્પ્યુટર જ્યાં સુધી નંબરના સ્વરૂપમાં પ્રદર્શિત થતી હોય ત્યાં સુધી કોઇ પણ પ્રકારની માહિતીને મેમરીમાં સ્ટોર કરી શકે છે. આધુનિક કમ્પ્યુટરો અબજો અથવા ટ્રીલીયન બાયટ્સ મેમરી પણ ધરાવે છે.
સીપીયુ મેમરી સેલ્સનો ખાસ સેટ ધરાવે છે જે રજિસ્ટર્સ તરીકે ઓળખાય છે, જે મેઇમ મેમરી એરિયા કરતા વધુ ઝડપથી વાંચી કે લખી શકાય છે. બે અથવા એકસો રજિસ્ટર્સની વચ્ચે સીપીયુના પ્રકારના આધારે ટિપીકલી હોય છે. જરૂર હોય તેવા દરેક સમયે મેઇન મેમરીમાં પ્રવેશવાનું દૂર કરવા માટે વારંવાર જરૂર પડતા ડેટા માટે રજિસ્ટર્સ ઉપયોગમાં લેવામાં આવે છે. ડેટા સતત આગળ વધતા હોવાથી, મેઇમ મેમરી(જે ઘણી વખત એએલયુ અને કંટ્રોલ યુનિટની તુલનામાં ઘણી વખત ધીમુ હોય છે)માં પ્રવેશવાની જરૂરીયાતમાં ઘટાડો કરે છે, અને તેના લીધે કમ્પ્યુટરની સ્પીડમાં ભારે વધારો કરે છે.
કમ્પ્યુટર મેઇમ મેમરી બે મુખ્ય જાતોમાં આવે છેઃ રેન્ડમ એક્સેસ મેમરી અથવા રેમ અને રીડ ઓન્લી મેમરી અથવા રૉમ. સીપીયુ કમાન્ડ આપે તેમ રેમ કોઇ પણ સમયે વાંચી અને લખી શકે છે, પરંતુ આરઓએમ ડેટા અને સોફ્ટવેર સાથે પ્રિ લોડેડ હોય છે, જેમાં કદ ફેરફાર થતો નથી, તેથી સીપીયુ તેની પરથી ફક્ત વાંચી જ શકે છે. રોમ ખાસ કરીને કમ્પ્યુટરના પ્રારંભિક સ્ટાર્ટ અપ સુચનાઓને સ્ટોર કરવા માટે ઉપયોગમાં લેવામાં આવે છે. સામાન્ય રીતે, રોમ નિઃશંકપણે તેનો ડેટા પુનઃપ્રાપ્ત કરે છે અને કમ્પ્યુટરનો પાવર ઓફ કરતી વખતે આરએએમની યાદી ભૂંસાઇ જાય છે. પીસીમાં, બાયોસ તરીકે ઓળખાતા ખાસ પ્રોગ્રામનો રોમમાં સમાવેશ થાય છે, જે કમ્પ્યુટર ચાલુ કરવામાં અથવા રિસેટ કરવામાં આવે ત્યારે હાર્ડ ડિસ્ક ડ્રાઇવ પરથી રોમમાં કમ્પ્યુટરની ઓપરેટિંગ સિસ્ટમ લોડીંગ કરવાનો આદેશ આપે છે. જેમાં ડિસ્ક ડ્રાઇવ ન હોય તેવા એમબેડેડ કમ્પ્યુટર્સમાં તમામ સોફ્ટવેરને આરઓએમમાં સમાવિષ્ટ ટાસ્ક કરવાની જરૂર પડે છે. આરઓએમમાં સમાવિષ્ટ સોફ્ટવેર ફર્મવેર તરીકે ઓળખાય છે, કેમ કે તે સોફ્ટવેર કરતા હાર્ડવેર જેમ વધુ કાલ્પનિક હોય છે. ટર્ન ઓફ હોય ત્યારે ડેટા પ્રાપ્ત કરીને આરઓએમ અને આરએએમ વચ્ચે ફ્લેશ મેમરી તફાવત પાડે છે, પરંતુ રેમ જેમ પુનઃલખી શકાય તેમ હોય છે. જોકે, ફ્લેશ મેમરી પરંપરાગત આરઓએમ અને આરએએમની તુલનામાં ઘણું ધીમુ હોય છે, તેથી જ્યારે હાઇ સ્પીડ જરૂર ન હોય ત્યારે એપ્લીકેશનો મર્યાદિત કરવામાં તેનો ઉપયોગ થાય છે. [૧૮]
અત્યંત આધુનિક કમ્પ્યુટર્સમાં એક કે તેનાથી વધુ આરએએમ કેશ મેમરી હોય છે, જે રજિસ્ટર્સ કરતા ધીમી હોય છે પરંતુ મેઇન મેમરી કરતા ઝડપી હોય છે. વિવિધ પ્રકારેની કેચ સાથેના કમ્પ્યુટરોને સામાન્ય રીતે કેચમાં આપોઆપ રીતે જ સતત જરૂરી ડેટા ખસેડવા માટે તૈયાર કરવામાં આવ્યા હોય છે, જેમાં ઘણી વખત પ્રોગ્રામરને ભાગ્યે જ દરમિયાનગીરી કરવાનો વખત આવે છે.

ઇનપુટ/આઉટપુટ (I/O)

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

મલ્ટીટાસ્કીંગ

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

મલ્ટીપ્રોસેસિંગ

ક્રે એ ઘણા સુપરકમ્પ્યુટર્સ તૈયાર કર્યા હતા, જેમાં મલ્ટીપ્રોસેસીંગનો મોટા પાયે ઉપયોગ કરાયો હતો.
કેટલાક કમ્પ્યુટર મલ્ટીપ્રોસેસીંગ સંચરનાનું સર્જન કરીને એક કે તેનાથી વધુ સીપીયુ વચ્ચે પોતાનું કામ વહેંચી શકે છે. પરંપરાગત રીતે, આ તરકીબ મોટા અને શક્તિશાળી કમ્પ્યુટર જેમ કે સુપરકમ્પ્યુટર, મેઇનફ્રેમ કમ્પ્યુટર અને સર્વર્સમાં વપરાશમાં લેવામાં આવી હતી. જોકે, મલ્ટીપ્રોસેસર અને મલ્ટી કોર (સીંગલ ઇન્ટીગ્રેટેડ સર્કિટ પર મલ્ટીપલ સીપીયુ)પર્સોનલ અને લેપ્ટોપ કમ્પ્યુટર્સ વ્યાપક પ્રમાણમાં ઉપલબ્ધ બન્યા છે અને પરિણામ સ્વરૂપે લોઅર એન્ડ બજારોમાં વધુ પડતા વપરાશના પ્રારંભ થઇ રહ્યો છે.
સુપરકમ્પ્યુટર વિશિષ્ટ રીતે ઘણી વખત વિશિષ્ટ આર્કિટેક્ચર ધરાવતા હોય છે, જે બેઝિક સ્ટોર કરેલા પ્રોગ્રામ આર્કિટેક્ચર અને સામાન્ય હેતુ વાળા કમ્પ્યુટર્સથી નોંધપાત્ર રીતે અલગ પડે છે.[૧૯] તે ઘણી વખત હજ્જારો સીપીયુ, કસ્ટમાઇઝ્ડ હાઇ સ્પીડ ઇન્ટરકનેક્ટસ અને ખાસ કમ્પ્યુટીંગ હાર્ડવેર ધરાવે છે. મોટા ભાગના પ્રોગ્રામ ઓર્ગેનાઇઝેશનોને એક સમયે મોટા ભાગના ઉપલબ્ધ સ્ત્રોતોનો સફળતાપૂર્વક ઉપયોગ કરવાની જરૂરિયાત હોવાને કારણે આ પ્રકારની ડિઝાઇનો ફક્ત ખાસ ટાસ્ક માટે ઉપયોગી બની શકે તેમ છે. સુપરકમ્પ્યુટર્સ સામાન્ય રીતે મોટા પાયાના સિમ્યુલેશન, ગ્રાફિક્સ રેન્ડરીંગ અને ક્રિપ્ટોગ્રાફી એપ્લીકેશનમાં તેમજ કહેવાતા “એમ્બ્રેસીંગલી પેરેલલ” ટાસ્કમાં ઉપયોગમાં આવે છે.

નેટવર્કિંગ અને ઇન્ટરનેટ

ઇન્ટરનેટ પર રાઉટિંગના ભાગનું
વિઝ્યુલાઇઝેશન.
કમ્પ્યુટરોનો ૧૯૫૦થી એકકરતા વધુ સ્થાનોસાથે માહિતી સંકલન માટે ઉપયોગ થતો આવ્યો છે. અમેરિકાની મિલીટરીના સેમી ઓટોમેટિક ગ્રાઉન્ડ એનવાર્યનમેન્ટ (સૅજ)એ આ પ્રકારની સિસ્ટમનું સૌપ્રથમ મોટા પાયાનું ઉદાહરણ છે, જે અસંખ્ય ખાસ હેતુ વાળી વ્યાપારી સિસ્ટમો જેમ કે "સેબ્રે"માં પરિણમી હતી.
૧૯૭૦માં અમેરિકાની સંશોધન સંસ્થાઓ ખાતેના કમ્પ્યુટર એન્જિનીયરોએ ટેલિકોમ્યુનિકેશન ટેકનોલોજીના ઉપયોગ વડે પોતાના કમ્પ્યુટરોને સાંકળવાનો પ્રારંભ કર્યો હતો. આ પ્રયત્નને એઆરપીએ (હવે ડીએઆરપીએ)અને કમ્પ્યુટર નેટવર્ક દ્વારા ભંડોળ પૂરું પાડવામાં આવ્યું હતું કે જેણે અર્પાનેટ (એડવાન્સ્ડ રિસર્ચ પ્રોજેક્ટ્સ એજન્સી નેટવર્ક અથવા એઆરપીએએનઇટી)નું ઉત્પાદન કર્યું હતું. ટેકનોલોજીએ અર્પાનેટને શક્ય ફેલાવા અને વિકાસ માટે શક્ય બનાવી હતી. દરમિયાનમાં નેટવર્ક શૈક્ષણિક અને મિલીટરી સંસ્થાઓથી પણ આગળ ફેલાયું હતું અને ઇન્ટરનેટ તરીકે જાણીતુ બન્યુ. નેટવર્કીંગના ઉદભવમાં કુદરતની પુનઃવ્યખ્યા અને કમ્પ્યુટરની સરહદોનો સમાવેશ થાય છે. વ્યક્તિગત કમ્પ્યુટરના સ્ત્રોતોના વિસ્તરણ તરીકે નેટવર્ક પરના અન્ય કમ્પ્યુટરના સ્ત્રોતો જેમ કે પેરિફેરલ ડિવાઇસ, સંગ્રહીત માહિતી અને તેવા પ્રકારોને વ્યાખ્યાયિત કરવામાં અને એક્સેસ કરવાની ક્ષમતાનો સમાવેશ કરવા માટે કમ્પ્યુટર ઓપરેટિંગ સિસ્ટમ્સ અને એપ્લીકેશનોને સુધારવામાં આવી હતી. પ્રારંભમાં આ સવલત જે લોકો હાઇ ટેક પર્યાવરણોમાં કામ કરતા હતા તેમને ઉપલબ્ધ હતી, પરંતુ ૧૯૯૦માં એપ્લીકેશનો જેમ કે ઇમેલ અને વર્લ્ડ વાઇડ વેબની સાથે સસ્તી ઝડપી નેટવર્કીંગ ટેકનોલોજી જેમ કે ઇધરનેટ અને એડીએસએલના ફેલાવા સાથે કમ્પ્યુટર નેટવર્કીંગ લગભગ તમામ સ્થળે ઉપલબ્ધિ તરીકે ઉભરી આવી હતી. હકીકતમાં નેટવર્ક થયેલા કમ્પ્યુટરોની સંખ્યા મોટી માત્રામાં વધતી જાય છે. પર્સનલ કમ્પ્યુટર્સનો મોટો ભાગ માહિતીની આપ-લેમાં નિયમિતપણે ઇન્ટરનેટ સાથે જોડાયેલો છે. “વાયરલેસ” નેટવર્કીંગ ઘણી વખત મોબાઇલ ફોન નેટવર્કનો ઉપયોગ કરે છે, તેનો અર્થ એ કે મોબાઇલ કમ્પ્યુટીંગ પર્યાવરણમાં પણ નેટવર્કીંગનો સર્વસ્વ ઉપલબ્ધિનો વ્યાપ વધતો જાય છે.





No comments:

Post a Comment