Qiymat keshini kodlash - Value cache encoding

Quvvat sarfi ikkalasi uchun ham tobora muhim ahamiyat kasb etmoqda ko'milgan, mobil hisoblash va yuqori samarali tizimlar.[1] Yopiq chip ma'lumotlar avtobusi tizim quvvatining muhim qismini iste'mol qiladi. Ma'lum bo'lishicha, chipdan tashqari ma'lumotlar uzatish tarmog'i tomonidan iste'mol qilinadigan umumiy quvvatning 9,8% dan 23,2% gacha iste'mol qilinadi. tizim tizimga bog'liq. Shunday qilib, kuch chipdan tashqari ma'lumotlar avtobusini iste'mol qilish umumiy quvvat sarfini kamaytiradi.

Kirish

[2] Chipdan tashqari avtobuslar yuqoriroq bilan bog'liq sig'im ichki tugun sig'imlarini qadrlaydi va shuning uchun minimallashtirish texnikasi tashqi manzil va ma'lumotlar avtobuslarida, hatto ichki sig'imlarda kommutatsiyani biroz ko'tarilishi hisobiga o'tish juda foydali. Chipdan tashqarida quvvat sarfini kamida ushbu ikkita usul bilan kamaytirish mumkin: davomida faollashtirilgan avtobus liniyalari sonini kamaytirish ma'lumotlar uzatish va faol avtobus liniyalaridagi bit o'tish sonini kamaytirish orqali. Ushbu ikkala texnikaning aralashmasi maqbul natija beradi.
Qiymat keshini kodlash - bu o'chirib tashlangan ma'lumotlar uzatish tarmog'idagi quvvat sarfini kamaytirish uchun ishlatiladigan sxema. Ushbu sxemada ma'lumotlar uzatish shinasining ikkala tomonidagi Kesh, chipdan tashqari ma'lumotlar uzatish avtobuslarida dinamik quvvat tarqalishini kamaytirish uchun ishlatiladi. Ushbu keshlar doimo ularning mazmuni bir xil bo'lishi uchun saqlanadi.

Sxema tafsilotlari

Ushbu protokolda biz kichik biridan foydalanamiz kesh (qiymat keshi yoki qisqacha VC deb nomlanadi) chipdan tashqaridagi ma'lumotlar uzatish shinasining har ikki tomonida. Ushbu qiymat keshlari yaqinda avtobus orqali uzatilgan ma'lumotlar qiymatlarini kuzatib boradi. Ushbu keshlardagi yozuvlar har ikkala qiymat keshining tarkibi doimo bir xil bo'lishi uchun tuzilgan. Ma'lumot qiymatini avtobus orqali uzatish kerak bo'lganda, avval uning qiymat keshida ekanligini tekshiramiz jo'natuvchi (bu xotira yoki kesh bo'ladimi). Agar shunday bo'lsa, biz ma'lumotlarning haqiqiy qiymatining o'rniga faqat indeksni (ya'ni, uning kesh manzili yoki indeksini) uzatamiz va boshqa tomon (qabul qiluvchi) ushbu indeks va uning qiymati keshidan foydalanib ma'lumot qiymatini aniqlay oladi. .
Ma'lumotlar keshidagi ma'lumotlarni faqat 1 bitli kommutatsiya faolligi yordamida uzatish uchun qiymat keshining hajmi ma'lumotlar shinasi kengligi bilan cheklanadi. Ya'ni, 32-bitli avtobus bilan VC faqat 32 ta yozuvga ega bo'lishi mumkin edi. Bizning quvvat protokolimiz tomonidan ishlatiladigan qiymat keshlari juda kichik bo'lgani uchun indeks qiymatining kengligi haqiqiy ma'lumotlar qiymatining kengligidan ancha kichikdir. Binobarin, uzatish uchun kamroq chipli avtobus liniyalarini faollashtirish kerak
Bizning yondashuvimiz chipdan tashqari ma'lumotlar shinasi orqali uzatiladigan ma'lumotlar qiymatlarining joylashuvidan foydalanib, birinchi variantga erishishga harakat qiladi. Shu bilan birga, ma'lumotlarning kengligi (uzatilishi kerak) kamaytirilgandan so'ng, biz har bir uzatishda bitni almashtirishning o'rtacha faolligini pasayishini (umuman) kutishimiz mumkin. Bundan tashqari, ushbu kommutatsiya faolligini bizning strategiyamiz bilan birgalikda taniqli avtobus kodlash sxemalari yordamida kamaytirish mumkin

Keshning izchilligi

Qabul qiluvchilar tomoni VC uchun jo'natuvchi bilan bir xil joylashtirish va almashtirish siyosatini yuritadi. Shunday qilib, avtobus orqali yuborilgan ma'lumotlarning qiymati VC qabul qiluvchisiga xuddi shu indeks joylashgan joyda, xuddi VC jo'natuvchisida ko'chiriladi. Biz avtobus orqali yuborilayotgan ma'lumotlar so'zma-so'z ma'lumotmi yoki VCga indeksmi yoki yo'qligini ko'rsatish uchun bitta qo'shimcha nazorat bitidan foydalanamiz. Xotira yozish faoliyati xuddi shu tarzda amalga oshiriladi.

Misol

Dastlab 100 va 200 qiymatlari VKda mavjud emas deb taxmin qilamiz. Tranzaksiya # 1 paytida A xotiradan keshga yuboriladi. Ba'zi bir manzilda (masalan, xotiraning X manzili) saqlangan so'ralgan ma'lumotlar elementi 100 qiymatiga ega. Xotira tekshiruvi VC-ni 100 qiymatini qidiradi va o'tkazib yuborishni aniqlaydi. Shuning uchun, 100 qiymati chipdan tashqari ma'lumotlar shinasi orqali yuboriladi. Bundan tashqari, bizning quvvat protokolimizdan so'ng, 100 qiymati manba va boradigan joyning VC-larining bir xil joyida (masalan, 5) saqlanadi. Bitim №2 uchun xotira tekshiruvi 200 qiymatini qidiradi, VCda qiymatni topa olmaydi va yuqorida aytib o'tilganidek amallarni takrorlaydi. Ushbu nuqtada ikkala uchidagi qiymat keshlari 100 va 200 ma'lumotlar qiymatlarini o'z ichiga oladi. №3 tranzaksiya jarayonida xotira tekshiruvi o'qish so'rovini bajarish uchun 100 qiymatini yuborish kerakligini topadi (oldingi xotira joyida yoki bir xil qiymatga ega bo'lgan boshqa xotira joylashuvi). Ammo, shuni e'tiborga olingki, 100-sonli tranzaksiya natijasida 5-jo'natmaning VC-da 100 qiymati allaqachon mavjud. Shuning uchun, 100 qiymatini yuborish o'rniga, xotira tekshirgichi faqat indeks qiymatini 5 yuboradi. Qabul qilgich esa, VC ning 5-joyidan haqiqiy ma'lumotlarning qiymatini (bu holda 100 ta) oladi. Va nihoyat, Transaction # 4-da biz 200 qiymatiga ega bo'lgan D ma'lumotlar elementini xotiraga yuborishni xohlaymiz (ya'ni yozish talabi). Ammo, 200 qiymati allaqachon VC-larda xotiradan keshga tranzaksiya # 2 natijasida keshlangan. Binobarin, 200 qiymatining keshlangan nusxasiga (VCda mavjud) indeks, Transaction # 4 ni bajarish uchun, lekin teskari yo'nalishda ishlatiladi. Ushbu so'nggi tranzaksiya shuni ko'rsatadiki, bitta yo'nalishdagi tranzaksiya paytida VC-larga joylashtirilgan ma'lumotlar teskari yo'nalishda operatsiya davomida qayta ishlatilishi mumkin (VC dan).

O'zgartirish siyosati

[3]LRU ikkala keshda almashtirish siyosati sifatida ishlatiladi. U mos yozuvlar biti va n-bit yordamida amalga oshiriladi vaqt muhri keshda saqlangan har bir qiymat uchun. Kiritishda qiymat paydo bo'lganda, mos yozuvlar biti o'rnatiladi. Muntazam ravishda mos yozuvlar biti n-bit vaqt tamg'asining yuqori tartibli bit holatiga o'tkaziladi, buning natijasida vaqt tamg'asidagi barcha bitlar o'ng tomonga siljiydi va vaqt tamg'asidagi eng past tartibli bit tashlanadi. Masalan, vaqt tamg'asi 000 bu qiymat so'nggi uch vaqt oralig'ida ko'rinmaganligini anglatadi, vaqt tamg'asi 100 bu so'nggi intervalda ko'rilganligini anglatadi va mos yozuvlar bit to'plami bilan vaqt tamg'asi 000 u joriy vaqt oralig'ida uchraganligini anglatadi.
Yuqorida aytib o'tilgan operatsiya ikkala keshning barcha yozuvlarida barcha mos yozuvlar bitlarini qayta tiklash bilan amalga oshiriladi. Shunday qilib, temtimestamp qiymatlarning paydo bo'lish tarixini so'nggi n vaqt oralig'ida saqlaydi.
Agar yozuv kerak bo'lsa va qiymat chiqarib yuborilsa, tanlangan yozuv eng kichik vaqt tamg'asi va aniq mos yozuvlar bitiga ega bo'ladi. Ushbu qiymat ushbu tanlangan yozuvda yangi mos yozuvlar biti va vaqt tamg'asi (barchasi 0) bilan qo'yiladi.

Qiymat keshining turi

Protokolni tavsiflagandan so'ng, endi keshni saqlash uchun ikkita yondashuvni ko'rib chiqamiz:

  1. Ikkala keshni ham avvalgi yugurishdagi qiymatlarning paydo bo'lish chastotasiga qarab belgilangan qiymatlar to'plamidan foydalanib boshlash mumkin.
  2. Dastur ishlayotganda tez-tez o'zgarib turadigan qiymatlar to'plamini saqlab qolish mumkin. Shunday qilib, tez-tez qiymat jadvallarining tarkibi ijroning turli qismlari uchun tez-tez uchraydigan qiymatlarning o'zgarishiga moslashadi.
    Keshni belgilangan qiymat bilan to'ldirishning afzalligi shundaki, kodlovchilar jadval mazmunini dinamik ravishda o'zgartirishi shart emas, shuning uchun ish vaqti xarajatlari kamayadi. Biroq, bu qiymatlar qo'ldan oldin ma'lum bo'lishini talab qiladi va har xil dastur turli xil qiymatlarga muhtoj. Ikkinchi usul, aksincha, ma'lumotlar qiymatlari bo'yicha apriori ma'lumotlarga muhtoj emas va turli dasturlar orasida farq qilmaydi. Ushbu xususiyatlar bilan biz narxini to'laymiz

tez orada tez-tez uchraydigan qiymatlarni aniqlash.

Boshqa dastur

Biz muhokama qilgan protokol avtobusda qo'llanildi, uning bir uchi chipdagi kesh, boshqa uchi esa chipdan tashqarida edi xotira, strategiyamizni chipdan tashqari L2 kesh bilan ishlashga moslashtirish mumkin. Bundan tashqari, quvvat protokoli chipdagi L1 keshi va chipdagi L2 keshini almashtirish faolligini kamaytirish uchun ham ishlatilishi mumkin (garchi natijalar chipdan tashqari avtobusda bo'lgani kabi yaxshi bo'lmasa ham). Darhaqiqat, bizning strategiyamiz istalgan ikkitasida ishlatilishi mumkin muloqot qilish qurilmalar tizimda (VC ko'magi bilan). Bundan tashqari, biz nuqta-nuqta konfiguratsiyasi bilan cheklanmaymiz. Ya'ni, bizning yondashuvimiz bir nechta qurilmalar umumiy (quvvatga chanqoq) ma'lumotlar shinasi orqali aloqa qiladigan muhitda ishlashga imkon beradi.
Shubhasiz, bu holda, boshqa narsalar qatori, bizga muvofiqlik mexanizmi kerak bo'ladi (uni muhokama qilish ushbu maqola doirasidan tashqarida). Bizning strategiyamizning kamchiliklari - bu ikkita qiymat keshi uchun zarur bo'lgan qo'shimcha joy (biri chipda, ikkinchisi chipda). Ushbu maqolada biz o'zimizning yondashuvimizning elektron makoniga ta'sirini batafsil o'rganishni taqdim etmaymiz. Eksperimental natijalar qismida ko'rsatilgandek, hatto kichik VC (128 ta yozuv) ham yaxshi energiya xatti-harakatlarini keltirib chiqaradi; Shunday qilib, biz kosmik xarajatlar biznikiga bog'liq deb kutishimiz mumkin optimallashtirish ortiqcha bo'lmaydi.

Shuningdek qarang

Adabiyotlar

  1. ^ Quvvat protokoli: Chipdan tashqari ma'lumotli avtobuslarda quvvat sarfini kamaytirish http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1176262
  2. ^ Dinesh S Suresh; Agitni taqiqlash; Jun Yang; Valid Najjar (2005 yil 28-iyun). "Chipdan tashqari ma'lumotli avtobuslar uchun sozlanadigan avtobus kodlovchi" (PDF). Olingan 2015-04-22.
  3. ^ Jun Yang; Gupta, R. (2001). "Kam quvvatli ma'lumotlarni kiritish / chiqarish uchun FV kodlash". ISLPED'01: 2001 yil past quvvatli elektronika va dizayn bo'yicha xalqaro simpozium materiallari (IEEE katalogi. №.01TH8581). ieeexplore.ieee.org. 84-87 betlar. doi:10.1109 / LPE.2001.945379. ISBN  1-58113-371-5.