കാഷെ

കാഷ് എന്ന സാങ്കേതിക പദം കംപ്യൂട്ടറുമായ ബന്ധപ്പെട്ട് പലയിടങ്ങളിലും ഉപയോഗിക്കാറുണ്ട്. ഇതിന്റെ അടിസ്ഥാനമായ തത്വം നമ്മള്‍ ഒരിക്കല്‍ ഉപയോഗിച്ച ഡാറ്റ ( കംപ്യൂട്ടറില്‍ ശേഖരിക്കപ്പെട്ട വിവരങ്ങള്‍ ) അടുത്തു തന്നെ വീണ്ടും ഉപയോഗിക്കാന്‍ സാധ്യതയുണ്ടെന്നതാണ്.

സാധാരണ ഉപയോക്താക്കൾക്ക് പെട്ടന്ന് മനസ്സിലാകുന്ന ഒരുദാഹരണമാണ് വെബ് ബ്രൗസറിലെ കാഷ്. നിങ്ങള്‍ ഫയര്‍ഫോക്സ് , എക്സ്പ്ളോറര്‍ തുടങ്ങിയ ഏതെങ്കിലും ബ്രൗസര്‍ ഉപയോഗിച്ചു ഒരു വെബ്സൈറ്റ് ബ്രൗസ് ചെയ്യുന്നു എന്നു കരുതുക. നിങ്ങള്‍ കണ്ട ഒരു വെബ്പേജിലെ ഡാറ്റയുടെ ഒരു ഭാഗം കംപ്യൂട്ടറില്‍ ശേഖരിക്കപ്പെടും. അടുത്ത തവണ നിങ്ങള്‍ ആ വെബ്പേജ് തുറക്കുമ്പോള്‍ ബ്രൗസര്‍ ആദ്യം ഈ വെബ്സൈറ്റിലെ വിവരങ്ങള്‍ സ്വന്തം കാഷില്‍ ലഭ്യമാണോ എന്നു പരിശോധിക്കും, ആണെങ്കില്‍ അത്രയും ഭാഗം കാഷില്‍ നിന്നെടുക്കും , ഇല്ലെങ്കില്‍ നേരിട്ട് വെബ് സൈറ്റില്‍ നിന്നെടുക്കും. ഇതു ബാന്‍ഡ് വിഡ്ത്ത് ,സി.പി.യു തുടങ്ങിയ വിലപ്പെട്ട കംപ്യൂട്ടര്‍ റിസോഴ്സുകള്‍ ലാഭിക്കാന്‍ സഹായിക്കും.

കാഷ് മെമ്മറി
ഇതേ സാങ്കേതിക വിദ്യ ഹാര്‍ഡ് വെയറുകളിലും സോഫ്റ്റ് വെയറുകളിലും പല രീതികളില്‍ ഉപയോഗിക്കുന്നുണ്ട്. ഹാര്‍ഡ് വെയറില്‍ ഇതിന്റെ ഉദാഹരണമാണ് കാഷ് മെമ്മറി ( Cache Memory) . ഓപറേറ്റിങ്ങ് സിസ്റ്റവും ഉപയോക്താക്കളും നല്കുന്ന ഡാറ്റ പ്രോസസ് ചെയ്ത ശേഷം അതിന്റെ ഔട്പുട്ട് നല്കുകയാണല്ലോ പ്രോസസര്‍ (സി.പി.യു.) ന്റെ ജോലി. ഇതിനു വേണ്ടി റാം മെമ്മറിയില്‍ ( RAM - Random Access Memory ) ഉള്ള ഡാറ്റ പല തവണ ഉപയോഗിക്കേണ്ടീ വരും. ആ സമയത്ത് നേരത്തെ പറഞ്ഞ കാഷെയുടെ അടിസ്ഥാന തത്വമനുസരിച്ച് ഒരിക്കല്‍ ഉപയോഗിച്ച ഡാറ്റ വീണ്ടും ഉപയോഗിക്കാന്‍ ഉള്ള സാധ്യത കൂടൂതലാണ്. ഇതു മുതലെടുക്കാനും അതു വഴി കമ്പ്യൂട്ടറിന്റെ പ്രവര്‍ത്തന മികവ് കൂട്ടാനും റാമിനും പ്രോസസറിനുമിടയില്‍ ഒരു മെമ്മറി അധികമായി കൊണ്ടു വരാന്‍ സാധിക്കും. റാമിനെക്കാള്‍ ചെറുതും എന്നാല്‍ വേഗത കൂടിയതുമായ ഈ മെമ്മറിയെ ആണ് കാഷ് മെമ്മറി എന്നു പറയുന്നതു. ഒരിക്കല്‍ പ്രോസസര്‍ റാമില്‍ നിന്ന് എടുത്ത ഡാറ്റയാണ് അതിനു ശേഷം ഈ മെമ്മറി കാഷിലേക്കു മാറ്റുന്നത്. അല്പ സമയത്തിനകം വീണ്ടും പ്രോസസറിന് ഈ ഡാറ്റ ആവശ്യമായി വന്നാല്‍ അതു റാമില്‍ നിന്ന് എടുക്കുന്നതിനെക്കാള്‍ വേഗത്തില്‍ കാഷില്‍ നിന്ന് എടുക്കാന്‍ സാധിക്കും.

ഒറ്റ നോട്ടത്തില്‍ തന്നെ കാഷെയുടെ ഉപയോഗം വളരെ ആകര്‍ഷകമായി തോന്നാം. പക്ഷെ ഇതു പ്രായോഗികമാക്കുന്നതില്‍ ഒരുപാടു സങ്കീര്‍ണതകളുണ്ട്. ഒരു കാഷ് മെമ്മറിയുടെ പ്രവര്‍ത്തന മികവു് പ്രധാനമായും അത് മദര്‍ ബോര്‍ഡില്‍ പ്രോസസ്സറിനോട് എത്രത്തോളം അടുത്താണ് എന്നതിനെ ആശ്രയിച്ചാണിരിക്കുന്നത് . ഈ കാഷെകളെല്ലാം ഇന്റഗ്രേറ്റഡ് സര്‍ക്യൂട്ടുകളുപയോഗിക്കുന്ന ചിപ്പുകള്‍ ( Integrated Circuit Chip ) ആയിരിക്കും. ഈ ചിപ് പ്രോസസറിനടുത്തു സ്ഥാപിക്കുക എന്നത് സാങ്കേതികമായും സാമ്പത്തികമായും ചിലവുള്ള കാര്യമാണ്. അതു കൊണ്ടു തന്നെ വേഗതക്കും വിലക്കുമിടയില്‍ ന്യായമെന്നു തോന്നുന്ന ഒരു സന്തുലനം ( Reasonable Balance ) നടത്താന്‍ ഹാര്‍ഡ് വെയര്‍ നിര്‍മാതാക്കള്‍ നിര്‍ബന്ധിതരാവും.

കാഷ് പ്രോസസറിനടുത്താവുക എന്നതു കൊണ്ട് ഉദ്ദേശിക്കുന്നത് അവ തമ്മില്‍ ഭൗതികമായ ദൂരം ( Physical distance ) എത്ര ഉണ്ടെന്നതല്ല, മറിച്ച് ഇവക്കു തമ്മില്‍ എത്രത്തോളം വേഗതയില്‍ വിവര വിനിമയം ( Information Exchange ) നടത്താന്‍ സാധിക്കും എന്നതാണ്. നെറ്റ് വര്‍ക്കുകളില്‍ വിവര വിനിമയം നടത്താന്‍ കേബിളുകള്‍ ഉപയോഗിക്കുന്നതു പോലെ മദര്‍ബോര്‍ഡിലെ വിവിധ ഘടകങ്ങള്‍ ആശയ വിനിമയം നടത്തുന്നത് ബസ് ( Bus ) എന്നറിയപ്പെടുന്ന സംവിധാനം ഉപയോഗിച്ചാണ്. പ്രോസസറിനെയും കാഷ്യെയും വേര്‍ത്തിരിക്കുന്ന ബസ്സുകളുടെ വേഗതക്ക് കാഷെയുടെ പ്രവര്‍ത്തന മികവില്‍ പങ്കുണ്ടെന്നു സാരം.

സാങ്കേതിക വിദ്യകള്‍ കൂടുതല്‍ മെച്ചപ്പെട്ടു വന്നതോടെ കാഷെയുടെ കാര്യത്തിലും പുരോഗതികള്‍ ഉണ്ടായി. പ്രോസസറിനും റാമിനുമിടയില്‍ ഒന്നില്‍ കൂടുതല്‍ കാഷെകള്‍ ഉപയോഗിച്ചു തുടങ്ങി. ഇതില്‍ പ്രോസസ്സറിനോട് ഏറ്റവും അടുത്തു കിടക്കുന്ന കാഷെയെ ലെവല്‍ വണ്‍ ( Level 1 ) അഥവാ എല്‍ വണ്‍ ( L1 ) കാഷ് എന്നു വിളിക്കുന്നു. മറ്റ് കാഷെകളുമായി താരതമ്യപ്പെടുത്തുമ്പോള്‍ വേഗത കൂടുതലും ശേഖരിക്കാവുന്ന ഡാറ്റയുടെ അളവ് കുറവും ഉള്ളതാണ് ഈ കാഷ്. ഇതിന് മുകളില്‍ എല്‍ ടൂ കാഷെയും അതിനുമപ്പുറം എല്‍ ത്രീ കാഷെയും ഉണ്ടാവാം. കാഷ് ഏതു ലെവെലില്‍ ആണ് എന്നതനുസരിച്ച് - ലെവലിന്റെ എണ്ണം കൂടുംതോറും - ശേഖരിച്ചു വെക്കാന്‍ കഴിയുന്ന ഡാറ്റയുടെ അളവു കൂടുകയും പ്രോസസറുമായി ഡാറ്റ വിനിമയം നടത്തുന്നതിലുള്ള വേഗത കുറയുകയും ചെയ്യും. ഇത്തരം ഒരു സംവിധാനത്തില്‍ പ്രോസസറിന് എന്തെങ്കിലും വിവരം ആവശ്യമായി വന്നാല്‍ ആദ്യം എല്‍ വണ്‍ കാഷെയിലും പിന്നീട് എല്‍ ടു വിലും അതിനു ശേഷം എല്‍ ത്രീ യിലും നോക്കുകയും ഇവിടെയൊന്നും ലഭ്യമല്ലെങ്കില്‍ റാമില്‍ നിന്ന് കൊണ്ടു വരികയും ചെയ്യും. മിക്ക പ്രോസസ്സറുകളിലും എല്‍ വണ്‍ കാഷ് ചിപ് പ്രോസസറില്‍ നേരിട്ട് പിടിപ്പിച്ചതായിരിക്കും ( Integrated ).

ഇതുപോലെ തന്നെ ഡിസ്ക് കാഷ് എന്ന സംവിധാനം ഹാര്‍ഡ് ഡിസ്കുകളില്‍ ഒരിക്കല്‍ ഉപയോഗിക്കപ്പെട്ട ഡാറ്റ നിശ്ചിത സമയത്തേക്കു കാഷ് ആയി സൂക്ഷിക്കാന്‍ ഉപയോഗിക്കുന്നു. സോഫ്റ്റ് വെയര്‍ തലത്തിലുള്ള കാഷെയുടെ ഒരു ഉദാഹരണമാണ് ഡി.എന്‍.എസ് കാഷ്.

കാഷ് ലൈഫ്
കാഷ് ചെയ്ത ഡാറ്റ ഒരിക്കലും നമുക്കു ഒരുപാടു സമയത്തേക്കു കാഷ് മെമ്മറിയില്‍ സൂക്ഷിക്കാന്‍ പറ്റില്ല. കാരണം കാഷ് ചെയ്ത ഡാറ്റയുടെ യഥാര്‍ഥ കോപ്പിയില്‍ ( റാമില്‍ ഉള്ള ) മാറ്റം വന്നിട്ടുണ്ടെങ്കില്‍ ആ മാറ്റം കഴിയുന്നതും വേഗം ആ ഡാറ്റ ഉപയോഗിക്കുന്ന ഹാര്‍ഡ് വെയര്‍ / സോഫ്റ്റ് വെയറിനു ലഭ്യമാകണം. ഇല്ലെങ്കില്‍ ഉപയോക്താവിന് തെറ്റായ ഔട്പുട്ട് ലഭിക്കാന്‍ സാധ്യത കൂടുതലാണ്. ഇതു കൊണ്ടു തന്നെ കാഷെ ഉപയോഗിക്കുന്ന സോഫ്റ്റ് വെയറുകള്‍ / ഹാര്‍ഡ് വെയറുകള്‍ ഒരു നിശ്ചിത ഡാറ്റ എത്ര സമയം വരെ കാഷ് ആയി സൂക്ഷിക്കാം എന്നതിന് അതിന്റേതായ ഒരു പരിധി വെക്കാറുണ്ട്. ഇതിനെ പൊതുവെ കാഷ് ലൈഫ് ( Cache Life) എന്നു പരയുന്നു.

കാഷ് ഹിറ്റ് / മിസ്
കാഷ് സൗകര്യമുള്ള ഒരു സോഫ്റ്റ് വെയര്‍ / ഹാര്‍ഡ് വെയര്‍ അതിനു ആവശ്യമുള്ള ഡാറ്റ ആദ്യം തിരയുന്നതു അതിന്റെ കാഷെയില്‍ ആയിരിക്കും.അവിടെ ലഭ്യമല്ലെങ്കില്‍ മാത്രമേ ആ ഡാറ്റയുടെ യഥാര്‍ഥ ഉറവിടത്തില്‍ ( Source ) നിന്നും ഡാറ്റ എടുക്കുകയുള്ളു. ഇങ്ങനെ തിരയുന്ന ഡാറ്റ കാഷില്‍ നിന്നു തന്നെ ലഭിക്കുകയാണെങ്കില്‍ അതിനെ കാഷ് ഹിറ്റ് ( Cache Hit ) എന്നും അല്ലെങ്കില്‍ കാഷ് മിസ് ( Cache Miss ) എന്നും പറയുന്നു.

No comments: