6-ma’ruza. Kesh xotira. Xotira modullarini yig‘ish va ularning turlari
Kesh xotira
Xotira modullarini yig‘ish va ularning turlari
Tezkor va doimiy xotira qurilmalari
Kesh xotira
Protsessorlar har doim xotiraga nisbatan tez ishlagan. Protsessorlar ham, xotira
ham parallel ravishda takomillashtirilib kelinmoqda.
Konveyerli va superskalyar
arxitekturali, unumdorligi juda katta bo‘lgan protsessorlar ishlab chiqarilmoqda. Xotira
qurilmalarini ishlab chiqaruvchilar esa birinchi galda, uning hajmini oshirishga harakat
qilmoqdalar, tezkorligini emas. Shuning uchun ham protsessorlar va xotiralarning
ishlash tezliklari orasidagi farq yana ham kattalashmoqda.
Tezliklarning bunday
farqlari tufayli, protsessor xotiraga unga kerakli so‘zni o‘qib olish uchun murojaat
qilganida, bir nechta mashina sikllarini bekor o‘tkazib yuborishiga to‘g‘ri kelayapti.
Xotira protsessorga nisbatan
qanchalik sekin ishlasa, shunchalik ko‘proq sikllar
davomida protsessor uni kutib turishi kerak bo‘layapti.
Bu muammoni hal qilishning bir nechta yo‘llari mavjud ekan. Shulardan biri,
uncha katta bo‘lmagan hajmga ega, ammo nisbatan ancha tez ishlaydigan, protsessor
bilan asosiy xotira orasida joylashgan xotiradan foydalanish ekan (2.6-rasm). Bunday
xotira kesh-xotira deb ataladi («cacher» - fransuz tilida «yashirish» degan so‘zni
anglatadi). Kesh-xotirada dastur tomonidan ko‘p ishlatiladigan so‘zlar
yoki asosiy
xotiraning ma’lum bir qismi saqlanadi. Asosiy xotiraning bu qismi, o‘sha
paytda
ishlayotgan dastur tomonidan ko‘proq foydalanilishi mumkin bo‘lgan qismi bo‘ladi.
Bu lokallik tamoili deb ataladi (rus tilida – принцип локальности).
Buyruqlar va ma’lumotlarni qanday saqlanishiga qarab kesh-xotiraning ikki xili
mavjud. Buyruqlar ham, ma’lumotlar ham birgalikda
saqlanadigan kesh-xotira
birlashtirilgan kesh-xotira deb ataladi (rus tilida - объединенная кэш-память).
Buyruqlar alohida, ma’lumotlar alohida saqlanadigan kesh-xotira esa alohida ajratilgan
kesh-xotira deb ataladi (rus tilida - разделенная кэш-память). Hozirgi kompyuterlarda
ko‘proq alohida ajratilgan kesh-xotiradan foydalanilmoqda.
2.6-rasm. Kesh-xotira joylashgan o‘rni
Kesh-xotirani qo‘llashning – bir, ikki va uch sathli variantlari mavjud. 2.7-
rasmda uch sathli kesh-xotiraga ega bo‘lgan tizim keltirilgan. Birinchi sath kesh-
xotirasi (L1) markaziy protsessor ichida joylashgan bo‘lib, u buyruqlar uchun (L1-I)
va ma’lumotlar uchun (L1-D) mo‘ljallangan odatda 16 dan 64 Kbayt gacha xajmga ega
bo‘lgan alohida ajratilgan kesh-xotiradan iboratdir. Protsessor
yonida u bilan bitta
blokda joylashgan ikkinchi sath kesh-xotirasi (L2) esa, 512 Kbayt dan 1 Mbayt gacha
xajmga ega bo‘lishi mumkin bo‘lgan, buyruqlar ham, ma’lumotlar
ham birgalikda
saqlanadigan, birlashtirilgan kesh-xotiradan iborat bo‘ladi. Uchinchi sath kesh-xotirasi
protsessor joylashgan plataga o‘rnatilgan bo‘lib, u bir necha megabayt xajmga ega
bo‘lgan statik tezkor xotira qurilmasidan (TXQ) iborat bo‘ladi (rus tilida –
статическое оперативное запоминающее устройство - ОЗУ).
Statik TXQ dinamik TXQ dan ancha tez ishlaydi. Qoida bo‘yicha birinchi sath
kesh-xotirasidagi barcha ma’lumotlar,
ikkinchi sath kesh-xotirasida, ikkinchi sath
kesh-xotirasining barcha ma’lumotlari esa, uchinchi sath kesh-xotirasida ham yozilgan
bo‘ladi. Kesh-xotiraning bir necha xillari mavjud: to‘g‘ridan-to‘g‘ri akslantiriluvchi
kesh-xotira (rus tilida – кэш-память прямого отображения) va assotsativ kesh-xotira.