Cache

**Кэш** (Cache) нь персонал компьютерийн микропроцессор өгөгдөлд богино хугацаанд хүрэх, командыг түргэн гүйцэтгэх үүрэг бүхий микросхем юм. Энэ нь персонал компьютерийн хурд, хүчин чадлыг тодорхойлох бас нэгэн чухал үзүүлэлт болдог.Компьютерийг асаахад үйлдлийн системийг санах ойд ачаалдаг. Сүүлийн үед ердийн компьютерийн санах ойн хэмжээ ихэвчлэн 16Мb-аас дээш байгаа бөгөөд график горимд ажилладаг жирийн хэрэглэгчийн компьютер 64Mb буюу түүнээс дээш байх нь илүүтэй гэж үздэг. Зөөврийн компьютер голдуу 16MB-с дээш санах ойтой ирэх нь бий. Санах ойг RAM гэж нэрлэдэг. Санах ой нь хэд хэдэн төрөлтэй байдаг. RAM Random Access Memory  Персонал компьютер ажиллаж байх үед мэдээллийг хаана хадгалах эсвэл хааш нь шилжүүлэх зэргийг RAM буюу шуурхай санах ой зохицуулж байдаг.  RAM нь процессороос өгсөн командын дагуу өгөгдлийг асар хурдан хугацаанд уян болон хатуу диск рүү бичих эсвэл эдгээрээс болон CDROM-с уншдаг.

Гэхдээ эдгээр уншсан мэдээлэл нь зөвхөн таны компьютерийг асаалттай байх хугацаанд л хадгалагдаж байх ба унтраасан тохиолдолд мэдээллээ бүрэн алддаг байна. Харин дахин асаахад үйлдлийн систем болоод зарим хэрэгцээт файл болон командуудыг хатуу дискнээсээ дахин ачаалдаг. RAM-д хадгалагдаж байгаа эдгээр мэдээллүүд хэт ихэссэн өөрөөр хэлбэл түүний багтаамжаас хэтэрсэн тохиолдолд хатуу дискэн дээр бичилт хийдэг ба үүнийг virtual memory гэнэ.

Харин хатуу дискний сул зай багассан үед компьютер удаан ажиллах, гацах нь ихсэх буюу "out of memory" гэсэн алдааг өгдөг байна. ROM  Read Only Memory Тогтмол санах ой руу өгөгдлийг бичих боломжгүй зөвхөн уншдаг бөгөөд компьютерийг асаахад ажиллуулдаг boot программ хадгалагддаг. Түүний RAM-аас ялгагдах гол онцлог нь компьютерийг унтраасан байхад ч өөр дээрх мэдээллээ алдалгүй хадгалсаар байдагт оршино. Учир нь тогтмол санах ойг таны компьютер дотор байрлах 3.5 V-ийн зай тэжээж байдаг. PROM Programmable read-only memory  Энэ төрлийн санах ойд программийг хадгалж болох бөгөөд хэрвээ PROM нь ашиглагдаж байвал энэ программийг устгаж цэвэрлэх боломжгүй зөвхөн өөр тийшээ зөөж хадгалах боломжтой.

EPROM Erasible programmable read-only memory  PROM-н нэг төрөл бөгөөд программийг бичиж мөн устгаж болдог. Хэт ягаан туяаны тусламжтайгаар программийг устгадаг.

EEPROM Electrically erasable programmable read-only memory. Мөн PROM-н н6эг төрөл бөгөөд цахилгаан цэнэгийн тусламжтайгаар мэдээллийг нь устгах, дахин програмчилж болох нэгэн төрлийн тогтмол санах ой юм. Программчлахын тулд motherboard-с суглах шаардлага байдаггүй. Учир нь компьютерт хэрэглэгддэг ердийн хүчдэл түүнийг програмчлахад хангалттай байдаг. Энэ төрлийн санах ойн хамгийн энгийн жишээ бол BIOS-ын микросхем юм.

## Үүрэг
Ихэнх компьютеруудын хурд удааширдаг шалтгаан нь үндсэн процессороосоо болж биш харин санах ойгоос өгөгдлийг оруулж гаргах хугацаанаас болдог. Энэ давчуу гарцаар өгөгдлийг гаргах гол арга зам нь кэйш санах ой юм. кэйш санах ой хэрэглэж буйн гол санаа нь үндсэн санах ой процессор 2-ын дунд цөөн тооны асар хурдтай чипүүдийг буффер эсвэл кэйш болгон ашиглаж байгаад юм. Процессор өгөгдлийг унших хэрэгтэй болсон үедээ хамгийн түрүүнд кэйшийн орчинд өгөгдөл байгаа эсэхийг шалгадаг. Хэрэв кэйш дотроос өгөгдлийг олвол үүнийг "**кэйшийн ололт**" гэж үзээд үндсэн санах ойгоос илүү бэрхшээлтэй замаар өгөгдлийг унших шаардлагагүй болж байгаа юм. Гэхдээ зөвхөн өгөгдөл кэйшд байгаа тохиолдолд үндсэн санах ойд хандах шаардлагагүй, гэвч хуулах процессын үеэр кэйшээс олсон юуг ч байсан дараа хэрэг болох үед нь бэлэн байлгадаг. Энэ бүх үйл явц нь кэйш оператор гэж нэрлэгдэх багц логик давтамжит хөдөлгөөнөөр хянагддаг.
кэйшийн удирдлагын нэг гол ажил бол "**кэйшийн уялдаа холбоог**" хянаж байх. кэйшийн уялдаа холбоо гэдэг нь кэйшээс тусгагдсан ямар нэг өөрчлөлтийг үндсэн санах ойд хадгалах эсвэл устгах үйлдэл юм. Ийм үйлдэлд хүрэх хэд хэдэн арга байдаг. Процессорын хамгийн энгийн зүйлээр кэйш болон үндсэн санах ойд зэрэг бичих юм. Мөн өөрөөр "**нэвт бичих**" арга бөгөөд энэ нь процессор үндсэн санах ойд биш зөвхөн кэйшд бичдэгээрээ ялгаатай.
кэйшийн тохируулгад өөрчлөгдсөн дүн нь "**бүрхэг**" тэмдэглэгддэг ба тэрийг кэйшийн удирдлагад өөрсдийн контентуудыг буцаан үндсэн санах ойд шинэ кэйшийн өгөгдөл хадгалах зай гарахаас өмнө бич гэж заадаг. Араас бичих кэйш нь бичих үйл явцыг хурдасгаж өгдөг боловч илүү ухаалаг кэйшийн удирдлагыг шаарддаг. Ихэнх кэйш удирдлагууд нь тухайн цагтаа кэйш болон үндсэн санах ойн хооронд зөөгдөх шаардлагатай зөвхөн нэг өгөгдлөөс шугаман багц өгөгдлийг илүүд үздэг. Ихэнх програмууд заавраа санах ойд дараалласан байдлаар байрлуулан хугацаа алдсанаас шууд нэг талбараас нөгөөрүү үсрэхийг илүүд үздэг нь кэйшийн шугаман өгөгдлийн боловсруулалтыг сайжруулахад хүргэдэг. Цаг бүрт дамжуулагдсан өгөгдлийн хэмжээг шугамын урт гэж нэрлэдэг.

Учир нь кэйшүүдэд хязгаарлагдмал хэмжээтэй байдаг болж кэйш менежмент гэгч гарч ирж дизайны асуудлын чухал хэсэг болсон. Кэйшийн хэмжээг болгоомжтой сонгож, солих бодлогын үр дүнд үзүүлэлт ихээхэн нэмэгддэг. 

Хоёрдогч хадгалагч нь үндсэн санах ойд ашиглахад бэлэн болгож заавал хуулсан байх ёстой ба аюулгүй байдлын үүднээс хуулахааса өмнө заавал үндсэн санах ойд дата байх ёстой болсноос хойш хоёрдогч хадгалагчаас үндсэн санах ойд маш хурдан шилжиж харуулах боломжтой болсон. Файл систем дата хэмээгч хоёрдогч хадгалалтанд байнга байж, хадгалалт иерархийн хэдэн түвшинд гарч ирэх болно. Хамгийн өндөр түвшинд үйлдлийн систем үндсэн санах ойд байгаа файл системийн кэйшийг хамгаалах боломжтой. Мөн электрон RAM дискүүд файл систем интерфэйс рүү нэвтрэх өндөр хурдны хадгалалт болж ашиглагддаг. Хоёрдогч хадгалчийн үндсэн хэсэг нь соронзон диск дээр байдаг. Соронзон диск хадгалагч нь нэг эргэлтэндээ ихэнхидээ соронзон тууз дээр байк ап (back up) хийнэ эсвэл хатуу дискний алдаанаас болж мэдээлэл устаж үгүй болохыг салгаж болох дискүүд хамгаалж байдаг. Зарим системүүд хуучин мэдээллийг хоёрдогч хадгалагчаас гуравдагчид илүү бага зайтайгаар автоматаар хуулж архивлаж байдаг. Хардвэйрийн загвар болон үйлдлийн системийн удирдлагаас хамаарч хадгалагч иерархийн түвшингүүдийн хооронд мэдээжийн болон далд байдлаар мэдээллийн солилцоо байдаг. Үйлдлийн системийн ямар нэг оролцоогүйгээр ихэнхидээ хардвэйрийн функц нь кэйшээс CPU рүү мэдээллийг хуулах үйлдэл байдаг. Тодруулбал мэдээллийн дискээс санах ой руу хийх шилжилт хөдөлгөөн нь ихэнхидээ үйлдлийн системийн удирдлага дор явагдана.

Шаталсан хадгалалтын зохион байгуулалтанд хадгалалтын системийн өөр өөр түвшинд нэг ижил мэдээлэл гарч ирэх боломжтой. Жишээ нь интежер А нь нэгээр нэмэгдэж Б файлд хадгалагдана. Б файл нь соронзон диск дээр хадгалаастай байгаа. Тоолуурын нэмэх үйлдэл нь эхний оруулах оролт гаралт үйлдэл диск блок руу хуулагдаж, диск блокийг агуулж буй А нь үндсэн санах ойд байршсан. Үүний араас А-г кэйш рүү болон дотоод регистерт хуулж байна. Ингэснээр А-ийн хуулбар нь дараах хэд хэдэн хэсгүүдэд илэрч гарч ирнэ. Үүнд: Соронзон диск, үндсэн санах ой, кэйш, дотоод регистер. Тоолуур гадаад регистерүүдэд байршихад өөр өөр хадгалах системүүд дээр байрлах А-ийн утга өөрчлөгддөг. А-д шинээр утга олгогдох бол дотоод регистерээс буцаад соронзон диск рүү хуулагдах ба үүний дараа А-ийн бүх утгууд бүгд ижил болно.
А интежерт хандахад иерархийн хамгийн өндөр түвшинд заавал хуулагдсан байх ёстой болсоноос хойш тооцоолох орчинд ямар нэгэн хүндрэлгүйгээр нэг процесс яг цагтаа зогсдог болсон. Хэдий тийм боловч давхар ажиллагааны орчинд CPU нь буцах юм. Хэрэв хэд хэдэн процессууд А-д хандах хүсэлтэй  байх юм бол процесс тус бүр нь дээд зэргээр санаа тавьж ажиллана. 

Давхар ажиллагаат процессын орчинд дотоод регистерүүдийг хадгалах болгонд CPU бүр дотоод кэйшүүдийг байршуулах болж улмаар улам ээдрээтэй байдал үүсэх юм. 

Ангилал:Үйлдлийн систем