|
Kafedrasi kompyuter arxitekturasi moduli bo‘yicha
|
bet | 25/80 | Sana | 06.07.2024 | Hajmi | 13,43 Mb. | | #266748 |
Bog'liq Kafedrasi kompyuter arxitekturasi moduli bo‘yicha Ko'p darajali kesh
Har bir buyruqni bajarish uchun asosiy xotiraga kirish sekin ishlashga olib kelishi mumkin, soat tezligi ma'lumotlarni topish va olish uchun zarur bo'lgan vaqtga bog'liq. Ushbu xotira kechikishini protsessordan yashirish uchun ma'lumotlarni keshlash qo'llaniladi. Ma'lumotlar protsessor tomonidan har doim talab qilinadigan bo'lsa, ular asosiy xotiradan olinadi va kesh deb nomlangan kichikroq xotira tarkibida saqlanadi. Agar ushbu ma'lumotlarga qo'shimcha ehtiyoj bo'lsa, kesh avval asosiy xotiraga o'tishdan oldin qidiriladi. Ushbu tuzilma asosiy xotiraga nisbatan ma'lumotlarni qidirish va olish uchun sarflangan vaqt bo'yicha protsessorga yaqinroq joylashgan. Keshdan foydalanishning afzalliklari kesh bilan va xotirasiz xotira iyerarxiyasi uchun o'rtacha kirish vaqtini (AAT) hisoblash orqali isbotlanishi mumkin.
O'rtacha kirish vaqti (AAT)
Kichik hajmdagi keshlar tez-tez o'tkazib yuborilishiga olib kelishi mumkin - agar keshni qidirish kerakli ma'lumotlarni taqdim etmasa - natijada ma'lumotlarni olish uchun asosiy xotiraga qo'ng'iroq qilishimiz mumkin. Shunday qilib, AAT ma'lumotlarini qidiradigan har bir strukturaning o'tkazib yuborish tezligiga ta'sir qiladi.
Asosiy xotira uchun AAT Hit vaqti bilan beriladi asosiy xotira. Keshlar uchun AATni berish mumkin.
Bu erda AAT - o'rtacha kirish vaqti, hit time-keshning urish vaqti, miss rate - o'tkazib yuborish darajasi, miss penalty- penaltini o'tkazib yuborish
Keshdan foydalanish xotiraning kechikishini yaxshilashi mumkin, ammo bu har doim ham keshlarni tashkil qilish va bosib o'tish usuli tufayli ma'lumotlarni olish uchun vaqt talab qilinadigan yaxshilanishga olib kelmasligi mumkin. Masalan, bir xil o'lchamdagi to'g'ridan-to'g'ri xaritada saqlanadigan keshlar odatda to'liq assotsiatsiyalangan keshlarga qaraganda yuqori o'tkazib yuborish tezligiga ega. Bu, shuningdek, protsessorni sinovdan o'tkazgan kompyuterning mezoniga va ko'rsatmalar namunasiga bog'liq bo'lishi mumkin. Ammo to'liq assotsiativ keshdan foydalanish ko'proq quvvat sarflanishiga olib kelishi mumkin, chunki u har safar butun keshni qidirishi kerak. Shu sababli, quvvatni iste'mol qilish (va unga bog'liq issiqlik) bilan kesh hajmi o'rtasidagi o'zaro bog'liqlik keshni loyihalashda hal qiluvchi ahamiyatga ega bo'ladi.
7.2-rasm. L3 kesh darajasiga qadar kesh iyerarxiyasi va L1 chipidagi asosiy xotira
Keshni o'tkazib yubormaslik holatida, bunday tuzilmani ishlatishdan maqsad foydasiz bo'lib qoladi va kerakli ma'lumotlarni olish uchun kompyuter asosiy xotiraga o'tishi kerak. Biroq, a ko'p darajali kesh, agar kompyuter protsessorga eng yaqin keshni o'tkazib yuborsa (birinchi darajali kesh yoki L1), u keshning eng yaqin darajasi (lar) ini qidiradi va faqat ushbu usullar bajarilmasa asosiy xotiraga o'tadi. Umumiy tendentsiya L1 keshini kichik va protsessordan 1-2 tsikl tsikli oralig'ida ushlab turish, L1 ga qaraganda ko'proq ma'lumotlarni saqlash uchun keshlarning quyi sathlari hajmi kattalashib boradi, shu sababli uzoqroq, ammo kam sog'inish bilan stavka. Buning natijasida AAT yaxshiroq bo'ladi.[15] Kesh darajalari sonini me'morlar xarajatlar, AAT va o'lchamlar o'rtasidagi kelishmovchiliklarni tekshirgandan so'ng ularning talablariga muvofiq ishlab chiqishi mumkin. Ishlash samaradorligi Xotira tizimlarini bitta chipga joylashtirishga imkon beradigan texnologiya miqyosi bilan, zamonaviy protsessorlarning aksariyati uch yoki to'rttagacha kesh darajasiga ega. AAT-ning pasayishini ushbu misol orqali tushunish mumkin, bu erda kompyuter AAT-ni L3 keshgacha bo'lgan turli xil konfiguratsiyalar uchun tekshiradi.
Misol: asosiy xotira = 50ns, L1 = 1 ns 10% o'tkazib yuborish tezligi bilan, L2 = 5 ns 1% o'tkazib yuborish tezligi bilan), L3 = 10 ns 0,2% o'tkazib yuborish tezligi bilan.
Kesh yo'q, AAT = 50 ns
L1 kesh, AAT = 1 ns + (0,1 × 50 ns) = 6 ns
L1-2 keshlari, AAT = 1 ns + (0,1 × [5 ns + (0,01 × 50 ns)]) = 1,55 ns
L1-3 keshlari, AAT = 1 ns + (0,1 × [5 ns + (0,01 × [10 ns + (0,002 × 50 ns)])]) = 1,5101 ns
|
| |