2. KESHLASH
Mahalliy ravishda qayta ishlangan ma'lumotlar hisoblash dinamikasida paydo bo'lishi va asosiy xotirada statik ajratish bilan bir sohada to'planishi shart emasligi sababli, bufer xotira assotsiativ xotira sifatida tashkil etilgan bo'lib, ularda ma'lumotlar ularning asosiy xotiradagi manzillari bilan birgalikda saqlanadi. ... Ushbu bufer xotira kesh xotirasi deb ataladi. Kesh xotirasi hisoblash dinamikasida zarur bo'lgan ma'lumotlar tuzilmalarini asosiy xotiraning statik ma'lumotlar tuzilmalari bilan moslashuvchan muvofiqlashtirishga imkon beradi.
Keshda qatorlar to'plami mavjud (kesh satrlari), ularning har biri ketma-ket manzillarga ega bo'lgan aniq sonli manzilli xotira birliklaridan (bayt, so'zlar) iborat. Odatda satr hajmi: 16, 64, 128, 256 bayt.
Tez-tez kesh xotirasini tashkil qilishning uchta usuli qo'llaniladi, ularni amalga oshirish uchun zarur bo'lgan qo'shimcha qurilmalar miqdori farqlanadi. Bu to'g'ridan-to'g'ri xaritalangan kesh, qisman assotsiativ kesh va to'liq assotsiatsiyalangan kesh. [3]
To'g'ridan-to'g'ri xaritalash bilan kesh xotirasidan foydalanganda, manzil manzilning yuqori, o'rta va pastki bitlari guruhlarini tashkil etuvchi uchta komponentning to'plami sifatida mos ravishda teg, satr raqami, ofset. Masalan, 16-bitli manzil bilan yuqori 5 bit yorliqni, keyingi 7 bit satr raqamini, oxirgi 4 bit esa chiziq ofsetini aks ettirishi mumkin. Bunday holda, satr 16 ta manzilli xotira birligidan iborat bo'lib, keshdagi umumiy satrlar 128. To'g'ridan-to'g'ri xaritalash bilan kesh xotirasi qatorlar to'plamidir, ularning har biri yorliq komponentasi va chiziq xotirasi elementlarini o'z ichiga oladi, ularning manzili satr boshiga nisbatan ofset bilan aniqlanadi. ... Bunday holda, xotira elementining manzili va buning mumkin bo'lgan joylashuvi o'rtasida birma-bir yozishmalar o'rnatiladi
keshdagi xotira elementi, ya'ni: xotira elementi har doim manzilning "satr raqami" komponentasi tomonidan belgilangan qatorda joylashgan bo'lib, manzilning "ofset" komponentasi tomonidan belgilangan qator holatida joylashgan. [2]
Keshda so'ralgan manzilda ma'lumotlar elementining mavjudligi teg qiymati bilan belgilanadi. Agar kesh satri yorlig'i manzilning "yorlig'i" komponentiga teng bo'lsa, u holda ma'lumotlar elementi kesh tarkibiga kiradi.
Aks holda, kesh xotirasida manzilda ko'rsatilgan yorliq bilan almashtirish kerak.
Kesh xotirasida kerakli ma'lumotlar liniyasi mavjudligini aniqlash uchun berilgan satr va manzil teglarini faqat bitta taqqoslash zarur bo'lganligi sababli va satrlarni almashtirish belgilangan joyda amalga oshirilganligi sababli, ushbu turdagi kesh xotirasini amalga oshirish uchun zarur bo'lgan uskunalar miqdori juda oz ...
Ushbu tashkilotning kamchiliklari aniq. Agar dastur o'z navbatida bitta satrdan, lekin har xil yorliqli qiymatlardan foydalangan holda xotira elementlaridan foydalansa, demak, bu har bir kirish imkoniyati bilan asosiy xotiraning ma'lumotlariga havola bilan satrni almashtirishga olib keladi.
Assotsiativ kesh manzilning ikki komponentli ko'rinishini ishlatadi: yuqori tartibli guruh yorliq sifatida, past darajali guruh esa chiziqli ofset sifatida ko'rib chiqiladi.
Keshdagi chiziqni topish satr yorlig'i manzil yorlig'i qiymatiga mos kelishi bilan aniqlanadi. Keshdagi satrlar soni o'zboshimchalik bilan bo'lishi mumkin (tabiiy cheklov - bu mumkin bo'lgan yorliqlar soni). Shuning uchun kesh xotirasida kerakli satrning joylashishini aniqlashda manzil yorlig'ini barcha kesh satrlari teglari bilan taqqoslash kerak. Agar siz buni ketma-ket, ketma-ket qilsangiz, taqqoslash vaqti juda katta bo'ladi. Shuning uchun taqqoslash barcha satrlarda parallel ravishda kesh xotirasini tashkil qilishning ushbu usuliga nom bergan assotsiativ xotirani qurish tamoyillaridan foydalangan holda amalga oshiriladi.
Kesh xotirasida kerakli satr bo'lmasa, uning satrlaridan biri kerakli qator bilan almashtirilishi kerak. O'zgartiriladigan mag'lubiyatni aniqlash uchun turli algoritmlardan foydalaniladi, masalan, tsiklik, kamdan kam ishlatiladigan satrni almashtirish, eng uzoq vaqt davomida ulanmagan simni almashtirish va boshqalar. [1]
Qisman-assotsiativ kesh yuqoridagi ikkala usulni birlashtiradi: kesh assotsiativ kesh bloklari to'plamidan iborat. Adresning o'rta komponenti to'g'ridan-to'g'ri yo'naltirilgan kesh xotirasidan farqli o'laroq, satr raqami emas, balki assotsiativ bloklardan birining soni. Ma'lumotlarni qidirishda teglarni assotsiativ taqqoslash faqat bloklar to'plami uchun amalga oshiriladi (bir nechta bunday to'plamlar mavjud bo'lganda keshni tashkil qilish mumkin), ularning soni manzilning o'rta qismiga to'g'ri keladi. To'plamdagi n satrlar soni bo'yicha kesh xotirasi n-kiritish deb nomlanadi.
Asosiy xotiradagi ma'lumotlar bilan kesh xotirasi o'rtasidagi yozishmalar kesh xotirasidagi ma'lumotlar o'zgartirilgan asosiy xotiraning ushbu sohalarida o'zgarishlar kiritish orqali ta'minlanadi. Ma'lumotlarning izchilligi asosiy hisoblash bilan parallel ravishda ta'minlanadi. Uni amalga oshirishning bir necha yo'li mavjud (va shunga ko'ra, kesh xotirasi bilan ishlashning bir necha usullari).
Buning bir usuli keshdagi ma'lumotlarni o'zgartirgandan so'ng darhol RAMga o'zgartirish kiritishni o'z ichiga oladi. Bunday holda, protsessor asosiy xotiraga yozishni tugashini kutish bilan ishlamaydi. Asosiy xotira kesh ma'lumotlarining to'g'ri nusxasini saqlaydi va satrlarni almashtirishda qo'shimcha harakatlar talab qilinmaydi. Ushbu rejimda ishlaydigan kesh xotirasi yozish xotirasi deb ataladi.
Boshqa bir usul asosiy xotiradagi o'zgarishlarni faqat ma'lumotlar liniyasi keshdan chiqarilgan paytda aks ettirishni o'z ichiga oladi. Agar yozish kerak bo'lgan xotira manzilidagi ma'lumotlar kesh xotirasida bo'lsa, u holda faqat kesh xotirasi yoziladi. Keshda ma'lumotlar bo'lmasa, ular asosiy xotiraga yoziladi. Kesh bilan ishlashning ushbu tartibi "orqaga qaytarish" deb nomlanadi.
Shuningdek, oraliq variantlar mavjud (garchi buferlangan yozish), unda asosiy xotirada o'zgarishlarni kiritish uchun so'rovlar buferlanadi va protsessor xotirada yozish jarayoni davomida saqlanmaydi. Ushbu yozuv kesh xotirasi boshqaruvchisi asosiy xotiraga kirishi bilanoq amalga oshiriladi.
Yozishni orqaga qaytarish keshi protsessor avtobusiga kam yuklaydi va yaxshi ishlashni ta'minlaydi, ammo yozishni orqaga qaytarish keshining boshqaruvchisi ancha murakkab.
Kesh boshqaruvchisi protsessor tomonidan berilgan xotira manzillarini kuzatib boradi va agar manzil kesh satrlaridan birida joylashgan ma'lumotlarga mos keladigan bo'lsa, "kesh urishi" qayd etiladi va keshdagi ma'lumotlar protsessorga yuboriladi. Agar keshda ma'lumotlar bo'lmasa, unda "o'tkazib yuborish" yoziladi va kerakli satrni xotiradan keshga etkazish uchun harakatlar boshlanadi. Bir qator ko'rsatmalar to'plamini bir vaqtning o'zida bajaradigan ba'zi protsessorlarda chiziqni almashtirish mexanizmi ishga tushirilishidan oldin bir nechta o'tkazib yuborishga yo'l qo'yiladi. [2]
Kesh xotirasini qaysi usulida tashkil etish afzalroq ekanligi haqida munozaralarda kompilyator tomonidan dasturlarni ishlab chiqarishning o'ziga xos xususiyatlari, shuningdek dastur tayyorlanayotganda kompilyator va kesh xotirasi boshqaruvchisi faoliyati to'g'risidagi ma'lumotlardan foydalanish kerak. Ya'ni kompilyator va kesh xotirasini tashkil qilishning o'ziga xos xususiyatlari tufayli ma'lum qoidalarga muvofiq yozilgan dasturlarni bajarishda kompilyator tomonidan qo'llab-quvvatlanadigan kesh xotirasini tashkil qilishning oddiy usuli keshni tashkil qilishning murakkab usulidan ko'ra yaxshiroq natija berishi mumkin. xotira.
Dastur va ma'lumotlar xotirasining sohalari har xil bo'lganligi va ularga bir vaqtning o'zida kirish imkoni bo'lganligi sababli, xotira bilan ishlashda parallellikni oshirish uchun alohida ko'rsatmalar va ma'lumotlar keshlari amalga oshiriladi. [4]
Xulosa
Ushbu ish xotira iyerarxiyasi va keshlash masalalarini o'rganishga bag'ishlangan edi. Biz xotira iyerarxiyasining darajalari, tuzilishi va funktsiyalarini ko'rib chiqdik. Biz kompyuter xotirasining ierarxik tuzilishi kompyuterning xotira quyi tizimining narxini pasaytirishi mumkinligini aniqladik, chunki tez-tez zarur bo'lgan ma'lumotlar yuqori tezlikda (va qimmatroq) xotirada saqlanadi, kamdan kam ishlatiladigan ma'lumotlarning katta miqdori nisbatan arzon tashqi xotirada saqlanishi mumkin. ... Xotira iyerarxiyasi deganda kompyuterlar me'morchiligining samaradorligini oshirish uchun katta ahamiyatga ega bo'lgan xususiyatlar (protsessor tezligi va xotiraga kirish vaqti o'rtasidagi farqni yumshatish) tushuniladi. Asosiy darajalar: registrlar, kesh xotirasi, RAM, disk xotirasi. Disk xotirasidan registrlarga xotira darajalari bo'yicha kirish vaqti kamayadi, so'z (bayt) uchun xarajatlar oshadi. Hozirgi kunda shunga o'xshash ierarxiya hatto shaxsiy kompyuterlarda ham qo'llab-quvvatlanmoqda.
Shuningdek, biz ishlash printsiplari va kesh xotirasining turlarini ko'rib chiqdik. Kesh - bu kirish tezligi pastroq bo'lgan (bundan keyin "asosiy xotira" deb nomlangan) doimiy ravishda xotirada saqlanadigan ma'lumotlarga kirishni tezlashtirish uchun mo'ljallangan, kirish tezligi yuqori bo'lgan xotira. Keshlash protsessorlar, qattiq disklar, brauzerlar va veb-serverlar tomonidan qo'llaniladi. Keshning asosiy g'oyasi sodda: unda eng ko'p ishlatiladigan so'zlar mavjud. Agar protsessorga so'z kerak bo'lsa, u avval kesh xotirasiga kiradi. Faqatgina so'z yo'q bo'lsa, u asosiy xotiraga murojaat qiladi. Agar so'zlarning muhim qismi keshda bo'lsa, o'rtacha kirish vaqti sezilarli darajada kamayadi.
Kesh yozuvlar to'plamidan iborat. Har bir yozuv ma'lumotlar xotirasi yoki ma'lumotlar elementining nusxasi bo'lgan ma'lumotlar bloki (kichik ma'lumotlar) bilan bog'liq. Har bir yozuvda keshdagi ma'lumotlar elementlari va ularning asosiy xotiradagi nusxalari o'rtasidagi moslikni aniqlaydigan identifikator mavjud.
Do'stlaringiz bilan baham: |