Компьютерийн cache нь CPU(Төв боловсруулах нэгж)-нд илүү хурдан хандах зорилгоор тогтмол ханддаг өгөгдөл, зааварчилгааг хадгалдаг жижиг, өндөр хурдны санах ойн нэгж юм.
Cache-ийн зорилго нь RAM буюу үндсэн санах ойгоос өгөгдөлд хандах хугацааг багасгах бөгөөд RAM-наас өгөгдөлд хандах хугацаа CPU-ний боловсруулах хурдтай харьцуулахад удаан байдаг.
Cache-ийг компьютерийн системийн янз бүрийн түвшинд ашигладаг бөгөөд үүнд CPU-ний cache, санах ойн cache(RAM cache гэж нэрлэдэг) болон дискний cache гэх мэт орно.
CPU-ний Cache: CPU cache-ийг ихэвчлэн процессорын cache гэж нэрлэдэг бөгөөд шууд CPU-ний чип дээр эсвэл түүний ойролцоо байрладаг. Энэ нь CPU ойрын хугацаанд хандах боломжтой өгөгдөл, зааварчилгааг түр зуур хадгалах хэсэг болдог. CPU-ний Cache нь L1, L2, заримдаа L3 cache гэх мэт олон түвшинд хуваагддаг бөгөөд түвшин бүр өөр өөр хүчин чадал, хурдтай байдаг.
![](https://www.cybercomputing.co.uk/Languages/LANGgraphics/diagrams/cache2.png)
Санах ойн cache (RAM Cache): CPU-ний cache-ээс гадна системийн түвшинд ажилладаг санах ойн cache-үүд байдаг. Cанах ойн cache гэгддэг эдгээр cache нь үндсэн санах ойноос (RAM) саяхан хандсан өгөгдөл, зааварчилгааг хадгалдаг. Эдгээр нь RAM-аас өгөгдөлд хандах хугацааг багасгахад тусалдаг.
![](https://i.ytimg.com/vi/V6G8EdcF1P0/maxresdefault.jpg)
Дискний cache: Дискний cache нь (HDD) эсвэл (SSD)-ээс байнга ханддаг өгөгдлийг cache санах ойд хадгалах үүрэгтэй юм. Энэ cache санах ой нь төхөөрөмжийн техник хангамжийн нэг хэсэг байж болох ба эсвэл үйлдлийн систем үүнийг удирддаг байна. Дискний cache нь дискнээс өгөгдөл унших, бичихэд зарцуулагдах хугацааг багасгаснаар системийн ерөнхий гүйцэтгэлийг сайжруулдаг.
Хэрэглэгч хүссэн өгөгдөлдөө хандах үед эхлээд cache-ийг шалгана. Хэрэв өгөгдөл cache-д байвал үүнийг “cache hit” гэж нэрлэдэг. Харин cache байхгүй тохиолдолд “cache miss” гэж нэрлэгддэг бөгөөд өгөгдлийг үндсэн санах ойн(RAM)-оос татаж аваад cache рүү хуулдаг байна. Тэгэхээр cache-д байхгүй, RAM-аас хэрэглэгчийн хүссэн өгөгдлийг авах нь мэдээж илүү удаан хугацаа зарцуулах нь байна.
![](https://digma.ai/wp-content/uploads/2024/03/image-2-1024x464.png)
Safari, Firefox, Chrome зэрэг вэб хөтчүүд байнга ханддаг вэб хуудасны ачааллах хугацааг багасгахын тулд хөтчийн cache-ийг ашигладаг. Хэрэглэгч вэб хуудсанд хандах үед хүссэн өгөгдлүүд нь тухайн хөтчийн cache-д хадгалагдсан байдаг байна. Хөтчийн cache нь вэб хуудаснаас файлуудыг дахин уншихаас илүү хурдан өгөгдлийг унших боломжтой гэсэн үг юм.
Cache нь хэд хэдэн давуу талтай бөгөөд үүнд:
Гүйцэтгэл. Мэдээллийг cache-д хадгалах нь компьютер илүү хурдан ажиллах боломжийг олгодог. Жишээлбэл, өгөгдлийн сангийн cache нь өгөгдлийг татаж авах хугацааг хурдасгадаг бөгөөд татаж авахад шаардлагатай хугацаа, нөөцийг хэмнэдэг байна.
Офлайн боломж. Cache нь мөн программуудыг интернэт холболтгүйгээр ажиллах боломжийг олгодог. Программын cache нь саяхан хандсан эсвэл байнга ашиглагддаг өгөгдөлд хурдан хандах боломжийг олгодог. Гэхдээ cache нь программын бүх функцэд хандах боломжийг олгодоггүй юм.
![](https://miro.medium.com/v2/resize:fit:1400/1*YbHW8STXVw9A-R1WDUzESw.png)
Нөөцийн үр ашигтай байдал. Хурд, уян хатан байдлаас гадна cache нь физик төхөөрөмжүүдэд нөөцийг хэмнэхэд тусалдаг. Жишээлбэл, cache рүү хандах нь батарейны хүчийг хэмнэдэг.
![](https://www.prisma.io/dataguide/static/f950c899e6be1b733a8fff259cb4dd82/9f622/write-back.png)
Cache-ийн алгоритмууд
Cache-ийг тогтвортой ажиллагаанд байлгахын тулд хийх заавруудыг cache-ийн алгоритмаар шийднэ.
Least Frequently Used: Хамгийн бага тоотой ашиглагдсан өгөгдлийг эхлээд хасах замаар дараагийн өгөгдлийг оруулна.
Least Recently Used: Cache нь хэмжээнийхээ хязгаартаа хүрэхэд ашиглагдаагүй хамгийн удсан өгөгдлийг cache-аас гаргана.
Most Recently Used: Хамгийн сүүлд ашигласан өгөгдлийг эхлээд устгана. Энэ нь удсан өгөгдлийг ашиглах магадлал өндөр үед энэ арга нь хамгийн тохиромжтой.
CPU-ний cache нь RAM-аас 10-100 дахин хурдан бөгөөд CPU-ний хүсэлтэд хариу өгөхөд хэдхэн наносекунд л шаардагдагддаг байна.