Umumiy xotirali multiprotsessorlar
Umumiy xotirali multiprotsessorlar Reja: 1. Kirish 2. Kesh uyg’unligi va xotiraning barqarorligi 3. Sinxronlashtirish va o'zaro chi qarish 4. Foydalanilgan adabiyotlar
Kirish Umumiy xotirali protsessorlar oddiy va umumiy dasturlash modeli tufayli mashhur bo'lib, bu kod va ma'lumotlarni almashishni qo'llab-quvvatlaydigan parallel dasturiy ta'minotni oddiy ishlab chiqish imkonini beradi. Umumiy - xotira protsessorlari barcha protsessorlar uchun yagona jismoniy manzil maydonini ta'minlaydi va har bir protsessor o'zining mahalliy xotirasi va keshidan foydalangan holda o'z dasturini ishga tushirishi mumkin. Protsessorlar, shuningdek, alohida modullarda joylashtirilgan umumiy xotiradan foydalanish imkoniyatiga ega. Protsessorlar har qanday protsessorgaot ir ajhausaqitanjrciumn umumiy o'zgaruvchilar yordamida aloqa qiladilar. Umumiy xotirali ko'p protsessorli tizimda xotira 1- rasmda ko'rsatilganidek, ierarxik tarzda tashkil etilgan. Rasmda n t a protsessor va b umumiy xotira moduliga ega tizim ko'rsatilgan. Har bir protsessor o'zining ichki registrlariga, keshiga va mahalliy xotirasiga ega. Kesh protsessor tomonidan ishlatiladigan barcha ma'lumotlarni saqlaydi. Mahalliy xotira boshqa protsessorlar bilan bo'lishish uchun mo'ljallanmagan mahalliy o'zgaruvchilarni saqlaydi. Umumiy xotira protsessorlar o'rtasida almashinishi kerak bo'lgan umumiy o'zgaruvchilarni saqlaydi. O'zaro ulanish tarmog'i bir vaqtning o'zida bir nechta protsessorlarga tarmoq orqali turli xil umumiy xotira modullariga kirish imkonini beradi. Bu bir vaqtning o'zida bir nechta xotirani o'qish/yozish operatsiyalarini bajarishga imkon beradi. Bu umumiy xotira protsessorlarida ikkita muhim fikrni keltirib chiqaradi: 1. Kesh kogerentligi 2. Sinxronizatsiya va o'zaro istisno
1-rasm Umumiy – xotira protsessorlari. Har bir protsessorda mahalliy kesh va mahalliy xotira mavjud. Barcha protsessorlar umumiy xotira modullariga ulanish tarmog'I orqali kirishlari mumkin. Kesh uyg’unligi va xotiraning barqarorligi Protsessorlarga shaxsiy keshlarni ulash xotiraning kechikishini protsessor tezligiga moslashtirish orqali dasturning bajarilishini tezlashtiradi. Shunday qilib, o'qish, yozish operatsiyalari arifmetik va mantiqiy birlik (ALU) operatsiyalari bilan bir xil vaqtni oladi. 1-jadvalda kesh uyg'unligini tavsiflash uchun foydalaniladigan terminologiya berilgan. Kesh foydalidir, chunki ko'pgina vazifalar yoki ilovalar vaqtinchalik va fazoviy joylashuvni ko'rsatadi . Vaqtinchalik joylashuv yaqin kelajakni anglatadi. Fazoviy joylashuv yaqin kelajakda joriy ma'lumotlarga yaqin joylashgan ma'lumotlardan foydalanishni anglatadi. Shu sababli, umumiy xotira va keshlar o'rtasidagi ma'lumotlarni yuklash/saqlash operatsiyalari bloklar rordamida amalga oshiriladi . 2- rasmda umumiy xotirada saqlanadigan bloklar va ularning ma'lum bir protsessor keshidagi nusxalari o'rtasidagi munosabat ko'rsatilgan. Kesh ba'zi bloklarni feg yordamida saqlaydi, bu blokning manzilini umumiy xotirada saqlaydi. Keshda saqlangan har bir blok satr deb ataladigan qator sifatida saqlanadi. Mahalliy kesh Mahalliy xotira Umumiy xotira modullari
Bir qator quyidagi komponentlarni o'z ichiga oladi: 1. Satrdagi ma'lumotlar umumiy xotiradagi blok bilan mos keladimi yoki yo'qligini ko'rsatish uchun yaroqli bit ( V ) 2. Keshdagi satr manzili bo'lgan indeks 3. Umumiy xotiradagi blok manziliga ishora qiluvchi teg 4. Blokda saqlangan ma'lumotlarni o'z ichiga olgan ma'lumotlar. Umumiy xotira tizimlari uchun keshlar, shuningdek, xotira ziddiyatlarini bartaraf etishga yordam beradi ikki yoki undan ortiq protsessorlar bir xil xotira moduliga kirishga harakat qilganda. Umumiy xotirada saqlangan ma'lumotlarning nusxalari saqlangan nusxalarga mos kelishi kerak mahalliy keshlarda. Bu kesh uyg'unligi deb ataladi . Umumiy o'zgaruvchining nusxalari, agar ularning barchasi teng bo'lsa , kogerent ao'ladi. Agar protsessor tomonidan har bir o'qish operatsiyasi oldingi yozish natijasida hosil bo'lgan qiymatni topsa, keshlar samarali hisoblanadi. Kesh uyg'unligi dasturning to'g'ri bajarilishini ta'minlash va tizimning yuqori ishlashini ta'minlash uchun muhimdir. 1-jadval Kesh muvofiqligini tavsiflash uchun foydalaniladigan terminologiya Terminlari Ma'nosi Bloklash Umumiy xotirada saqlanadigan qo ' shni so ' zlar yoki ma ' lumotlar guruhi Translyatsiya Ma'lumot barcha keshlarga yuborilganda Kesh Xotiraga kirish vaqtini qisqartirish va protsessorlar o ' rtasidagi umumiy xotira to ' qnashuvlarini kamaytirish uchun protsessor bilan bir xil chipda amalga oshiriladigan kichik yuqori tezlikli xotira Kesh uyg’unligi Umumiy xotiradagi blokning tarkibi va turli keshlar bir xil emas.
Kesh muvofiqligini saqlash protokoli siyosati kesh uyg'unligini saqlash uchun amalga oshirildi Kogerent tizim Umumiy xotiradan blokning har bir o ' qilishi , boshqa har qanday oxirgi yozma tomonidan ishlab chiqarilgan bir xil ma ' lumotlarni topsa protsessor Global ma'lumotlar Umumiy xotirada saqlangan ma'lumotlar Chiziq Tegi va yaroqli biti bilan keshda saqlanadigan blok Mahalliy ma'lumotlar Keshda saqlangan ma'lumotlar O'zgartirilgan blok Keshdagi blok ma ' lumotlari umumiy ma ' lumotlarda yangilanmagan xotira Multicast Ma'lumot barcha keshlarga emas, balki ba'zilariga yuboriladi. O'zgartirish Yangisiga joy ochish uchun keshdan blokni olib tashlash blok Fazoviy joylashuv Xuddi shu blokdagi ma ' lumotlar qisqa vaqt ichida ishlatiladi . Vaqtinchalik joylashuv Blokdagi ma ' lumotlar so ' zi qisqa vaqt ichida ishlatiladi . Unicast Ma'lumot faqat bitta keshga yuboriladi. Yaroqli Blok tarkibi yangilangan. Yozing - orqaga Umumiy xotiradagi blok keshdagi tegishli blok almashtirilganda yangilanadi . Yozing - orqali Umumiy xotiradagi blok keshdagi tegishli blok o ' zgartirilganda yangilanadi . Faraz qilaylik , ikkita protsessor , P 1 va P 2, ularning ikkita alohida keshlarida saqlangan bir xil umumiy o ' zgaruvchilardan foydalaning . Agar P 1 o ' zining mahalliy qiymatini o ' zgartirsa , biz P 2 o ' zgarishlardan xabardor ekanligiga ishonch hosil qilishimiz kerak .