இடைமாற்று நினைவகம்



இடைமாற்று நினைவகம் (Cache (/kæʃ/ (ⓘ) KASH[1]) என்பது தரவுகளைத் தற்காலிகமாகச் சேமித்து வைக்கும் வன்பொருள் அல்லது மென்பொருள் பகுதியாகும். இதனை இடைநினைவி அல்லது இடை நினவகம் என்றும் அழைக்கலாம். இதன் முதன்மை நோக்கம், வருங்காலத்தில் தேவைப்படும் தரவுக் கோரிக்கைகளை, மிக விரைவாக நிறைவேற்றுவதாகும். ஒரு குறிப்பிட்ட தரவு இடைநினைவகத்தில் ஏற்கனவே சேமிக்கப்பட்டிருந்தால், அதை அதன் மூலச் சேமிப்பகத்திலிருந்து (எடுத்துக்காட்டாக, வன்வட்டு அல்லது முதன்மை நினைவகம்) பெறுவதை விட, மிகக் குறைந்த நேரத்தில் எடுத்துவிட முடியும்.[2] இது கணினியின் ஒட்டுமொத்த செயல்பாட்டு வேகத்தை அதிகரிப்பதோடு, செயல்திறனையும் மேம்படுத்துகிறது.[3]
செயற்கொள்கை
[தொகு]இடைநினைவகத்தின் செயல்பாடு 'அணுக்க இடவரைவு' (Locality of reference) என்ற தத்துவத்தின் அடிப்படையில் அமைகிறது. கணினி தரவை அணுகும்போது, அதே தரவையோ அல்லது அதற்கு அருகிலுள்ள தரவுகளையோ, மீண்டும் அணுகும் வாய்ப்பு அதிகம் என்ற அடிப்படையில் இது இயங்குகிறது. தரவுக் கோரிக்கை வரும்போது, முதலில் இடைநினைவகத்தில் தேடப்படும்; அங்கு தரவு இருந்தால் அது தரவிடு (Cache Hit) எனப்படும். தரவு இல்லையெனில், அது தரவெடு (Cache Miss) எனக் கருதப்பட்டு, மெதுவான மூலச் சேமிப்பகத்திலிருந்து தரவு கொண்டு வரப்பட்டு, எதிர்காலத் தேவைக்காக இடைநினைவகத்தில் படி எடுக்கப்படும்.[4]
படிநிலைகள்
[தொகு]தற்போதுள்ள நுண்செயலிகளில் இடைநினைவகம் பல்வேறு நிலைகளாகப் பிரிக்கப்பட்டுள்ளது. இவை பொதுவாக L1, L2 மற்றும் L3 எனக் குறிக்கப்படுகின்றன. இதில் L1 கேச் என்பது அளவில் சிறியது, ஆனால் மிக வேகமானது, இது செயலகத்தின் உள்ளேயே அமைந்திருக்கும். L2 மற்றும் L3 நிலைகள் முறையே அளவில் பெரியவை, ஆனால் வேகம் சற்றே குறைவாக இருக்கும். இந்த படிநிலை அமைப்பானது, அதிவேகச் செயலகத்திற்கும், ஒப்பீட்டளவில் மெதுவான முதன்மை நினைவகத்திற்கும் (நேரடி அணுகல் நினைவகம்) இடையே உள்ள வேக இடைவெளியைக் குறைக்கப் பயன்படுகிறது.
ஒத்திசைவு
[தொகு]பல்வேறு செயலிகளைக் கொண்ட கணினிகளில், ஒவ்வொரு செயலியும் ஒரு பொதுவான தரவின் தனித்தனி படித்தரவுகளை, தங்கள் இடைநினைவகத்தில் வைத்திருக்கும்போது, ஒரு செயலி அந்தத் தரவை மாற்றினால், மற்றொன்றில் பழைய தரவு இருக்கும் சிக்கல் எழும். இத்தகைய சூழலில், அனைத்து இடைநினைவகங்களிலும் தரவு ஒரே சீராகவும், புதுப்பிக்கப்பட்ட நிலையிலும் இருப்பதை உறுதி செய்யும் தொழில்நுட்பமே இடைநினைவக ஒத்திசைவு(Cache Coherence) ஆகும். இது பகிரப்பட்ட நினைவக அமைப்புகளில், தரவு சிதைவதைத் தடுக்கிறது.[5]
முன்கொணர்தல்
[தொகு]கணினி தரவைக் கோருவதற்கு முன்பாகவே, அடுத்து எந்தத் தரவு தேவைப்படும் என்பதைக் கணித்து, அதை மெதுவான முதன்மை நினைவகத்திலிருந்து, வேகமான இடைநினைவகத்திற்கு முன்கூட்டியே (Prefetching) கொண்டு வரும் முறையே முன்சேகரிப்பு அல்லது முன்கொணர்தல் எனப்படும். இது வன்பொருள் அல்லது மென்பொருள் மூலம் செயல்படுத்தப்படலாம், இதன் மூலம் செயலி தரவுக்காகக் காத்திருக்கும் நேரம் (Latency), பெருமளவு குறைக்கப்படுகிறது. இத்தொழில்நுட்பம், கணினியின் ஒட்டுமொத்த செயல்பாட்டுத் திறனை அடுத்த நிலைக்குக் கொண்டு செல்கிறது.[6]
முக்கியத்துவம்
[தொகு]இடைநினைவகம் வன்பொருளில் மட்டுமல்லாது, மென்பொருள் மட்டத்திலும் விரிவாகப் பயன்படுத்தப்படுகிறது. இணைய உலாவிகள் அடிக்கடி பார்க்கப்படும் வலைப்பக்கங்களைச் சேமித்து வைத்து, மீண்டும் அவற்றை விரைவாகத் திறக்க உதவுகின்றன. தரவுத்தள மேலாண்மை மற்றும் இயக்க முறைமைகளும் அடிக்கடி பயன்படுத்தப்படும் கோப்புகளை, விரைவாக அணுக இந்தத் தொழில்நுட்பத்தைப் பயன்படுத்துகின்றன. இது கணினி வளங்களின் சுமையைக் குறைப்பதோடு, பயனர் அனுபவத்தையும் மேம்படுத்துகிறது.[7]
மேலாண்மை
[தொகு]இடைநினைவகம் அளவில் சிறியது என்பதால், அது நிறைந்தவுடன் புதிய தரவுகளைச் சேமிக்க, பழைய தரவுகளை நீக்க வேண்டியது அவசியமாகிறது. இதற்காக இடமாற்றக் கொள்கைகள் பயன்படுத்தப்படுகின்றன. இதில் மிகவும் புகழ்பெற்றது 'மிக அண்மையில் பயன்படுத்தப்படாதவை' ntly Used - LRU) எனும் முறையாகும்; இது நீண்ட நேரமாகப் பயன்படுத்தப்படாத தரவுகளை நீக்கிவிட்டு, புதிய தரவுகளுக்கு இடமளிக்கிறது. மேலும், இடைநினைவகத்தில் மாற்றப்படும் தரவு முதன்மை நினைவகத்திலும், எப்போது புதுப்பிக்கப்பட வேண்டும் என்பதை 'எழுத்துக் கொள்கைகள்' (Write Policies) தீர்மானிக்கின்றன. 'உடனடி எழுத்து' (Write-through) முறையில், தரவு உடனுக்குடன் முதன்மை நினைவகத்தில் எழுதப்படும், 'பின்பு எழுத்து' (Write-back) முறையில் தரவு இடைநினைவகத்திலிருந்து நீக்கப்படும் போது மட்டுமே, முதன்மை நினைவகத்தில் புதுப்பிக்கப்படும்.[8]
மேற்கோள்கள்
[தொகு]- ↑ "Cache". Oxford Dictionaries. Archived from the original on 18 August 2012. Retrieved 2 August 2016.
- ↑ Zhong, Liang; Zheng, Xueqian; Liu, Yong; Wang, Mengting; Cao, Yang (February 2020). "Cache hit ratio maximization in device-to-device communications overlaying cellular networks". China Communications 17 (2): 232–238. doi:10.23919/jcc.2020.02.018. பன்னாட்டுத் தர தொடர் எண்:1673-5447. Bibcode: 2020CComm..17b.232Z. http://dx.doi.org/10.23919/jcc.2020.02.018.
- ↑ Hennessy, John L.; Patterson, David A. (2011). Computer Architecture: A Quantitative Approach. Elsevier. ISBN 978-0-1238-3872-8.
- ↑ "Cache memory". Encyclopædia Britannica. Retrieved 2024-04-23.
- ↑ Culler, David; Singh, J.P. (1999). Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann. ISBN 978-1558603431.
- ↑ Baer, J.L.; Chen, T.F. (1995). "An effective on-chip prefetching scheme". IEEE Transactions on Computers 44 (5): 671–682. https://archive.org/details/sim_ieee-transactions-on-computers_ieee-transactions-on-computers_1995-05_44_5/page/670.
- ↑ Smith, A. J. (1982). "Cache Memories". ACM Computing Surveys 14 (3): 473–530. https://archive.org/details/sim_acm-computing-surveys_1982-09_14_3/page/472.
- ↑ Tanenbaum, Andrew S. (2006). Structured Computer Organization. Pearson Prentice Hall. ISBN 978-0-13-148521-1.