Keshning izchilligi

Vikipediya, ochiq ensiklopediya
Birgalikda xotira manbai uchun bir nechta Kesh. Agar yuqoridagi jarayon oldingi o'qishdan xotira blokining nusxasiga ega bo'lsa va pastki mijoz xotira blokini o'zgartirsa, yuqori jarayonning keshidagi ma'lumotlar nusxasi, agar biron-bir o'zgarish bildirishnomasi yoki o'zgarishlarni tekshirish qo'llanilmasa, eskirgan bo'ladi.

Keshning izchilligi () - Kesh mulki, bu umumiy resurs uchun mahalliy keshlarda saqlanadigan ma'lumotlarning yaxlitligini anglatadi. Keshning izchilligi-bu xotira izchilligining alohida holati.

Tizimdagi jarayonlar xotira kabi umumiy resurslarni keshlashdan foydalanganda, ma'lumotlarning nomuvofiqligi bilan bog'liq muammolar paydo bo'lishi mumkin. Bu, ayniqsa, ko'p protsessorli tizimdagi protsessorlarga nisbatan to'g'ri keladi. Kesh koherensiyasi turli keshlarda ma'lumotlarning izchilligini ta'minlash orqali bunday nizolarni boshqarish uchun mo'ljallangan.

Noto'g'ri keshlar: bitta xotira kamerasining qiymati ikkita Kesh uchun farq qiladi
Izchil keshlar

Muvofiqlik o'qish va yozuvlarning xatti-harakatlarini bir xil xotira joyiga belgilaydi. Quyidagi shartlar bajarilsa, Kesh izchil deb ataladi[1]:

  • yozuv haqida ma'lumot: keshlarning har qandayida ma'lumotlarni o'zgartirish ushbu ma'lumotlarning boshqa nusxalariga (ushbu Kesh liniyasi) qo'shni keshlarda tarqatilishi kerak;
  • tranzaktsiyalarni ketma-ketlashtirish: bir xil xotira uyasiga o'qish va yozish operatsiyalari barcha protsessorlar uchun bir xil tartibda ko'rinishi kerak.

Bunday sharoitda o'qish va yozish operatsiyalari darhol amalga oshiriladi deb taxmin qilinadi. Biroq, bu xotiraning kechikishi va arxitekturaning boshqa xususiyatlari tufayli amalda bo'lmaydi. Agar o'qish yozilgandan keyin juda oz vaqt o'tgach sodir bo'lsa, protsessor tomonidan qilingan o'zgarishlar protsessorga ko'rinmasligi mumkin. Xotira konsistentsiyasi modeli boshqa ipdan o'qiyotganda yozilgan qiymat qachon ko'rilishini aniqlaydi.

Keshni muvofiqlashtirish mexanizmlari[tahrir | manbasini tahrirlash]

Keshning izchilligini ta'minlashning uchta asosiy mexanizmi-katalog (directory), kuzatish (snooping) va ushlash (snarfing) yordamida.

Katalogdan foydalanganda jismoniy xotira blokining holati to'g'risidagi ma'lumotlar faqat katalog deb nomlangan bitta joyda mavjud (jismoniy katalog tizim tugunlariga taqsimlanishi mumkin).

Kuzatuv mexanizmida ma'lum bir jismoniy xotira blokining ma'lumotlarini o'z ichiga olgan har bir Kesh, shuningdek, uning holati to'g'risidagi rasmiy ma'lumotlarning tegishli nusxasiga ega. Markazlashtirilgan yozuvlar tizimi yo'q. Odatda keshlar umumiy (birgalikda) avtobusga joylashtiriladi va barcha keshlarning kontrolörleri tegishli blokning nusxasini o'z ichiga olmaydi yoki yo'qligini aniqlash uchun avtobusni kuzatadi (uni ko'rib chiqadi).

Har qanday Keshdan ma'lumotlar Ramga yozilganda, ushlashni qo'llashda, qolgan nazoratchilar bu o'zgarish haqida signal oladilar (ma'lumotlarni o'zgartirish haqida ma'lumotni"ushlab turadilar") va agar kerak bo'lsa, keshlaridagi tegishli ma'lumotlarni o'zgartiradilar.

Muvofiqlikni qo'llab-quvvatlash protokollari[tahrir | manbasini tahrirlash]

Muvofiqlikni qo'llab-quvvatlash protokollari taqsimlangan xotira bilan tizimdagi barcha keshlar orasidagi ma'lumotlarning to'g'riligini ta'minlash uchun javobgardir. Protokol tanlangan mustahkamlik modeliga muvofiq xotira uyg'unligini qo'llab-quvvatlaydi. Protsessorlarda apparat protokollarining aksariyati (shu jumladan keshni izchil, notekis xotiraga kirishni ta'minlash) ketma-ket muvofiqlik modeliga mos keladi va dasturiy taqsimlangan xotira tizimlarida dasturiy protokollar ko'pincha согласованность по выходу [согласованности по выходу; release consistency] yoki слабая согласованность [слабой согласованности; weak consistency].

Asosiy modellar va Kesh koherentligini qo'llab-quvvatlash protokollari:

Manbalar[tahrir | manbasini tahrirlash]

  1. Yan, Solihin. Fundamentals of parallel multicore architecture. 
  2. 2,0 2,1 Andoza:Wayback 2 Multi Processors, their Memory organizations and Implementations by Intel & AMD
  3. „Принципы работы кэш-памяти — Индикаторы состояния строки“. 2009-yil 25-yanvarda asl nusxadan arxivlangan. Qaraldi: 2009-yil 15-oktyabr.
  4. „StackPath“. 2019-yil 16-fevralda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.
  5. „How AMBA CCIX and GenZ address the needs of the datacenter — Processors blog — Processors — Arm Community“. 2019-yil 12-dekabrda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.
  6. „GitHub — westerndigitalcorporation/omnixtend: An open standard Cache Coherent Fabric Interface repository“. 2020-yil 26-avgustda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.
  7. „Архивированная копия“. 2019-yil 22-fevralda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.
  8. „Google, SiFive и WD основали альянс для продвижения открытых чипов и SoC“. 2019-yil 14-martda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.
  9. „Western Digital Reveals SweRV RISC-V Core, Cache Coherency over Ethernet Initiative“. 2019-yil 25-aprelda asl nusxadan arxivlangan. Qaraldi: 2019-yil 12-mart.

Adabiyotlar[tahrir | manbasini tahrirlash]