زمان کنونی: ۰۳ تیر ۱۳۹۸, ۰۳:۳۴ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

نگاشتها در حافظه

ارسال:
  

ابراهیم۱ پرسیده:

Wink نگاشتها در حافظه

با عرض سلام خسته نباشید
It 86))
یک حافظه کش دستور با گنجایش ۲۵۶ بایت در نظر بگیرید هر بلوک ان حاوی یک کلمه ۳۲بیتی است فرض کنید یک حلقه حاوی ۶۵ دستور متوالی برای ۳ بار اجرا میشود بافرض خالی بودن کش در ابتدا نرخ برخورد در دودوحالت زیر چند است(هر دستور ۳۲ بیت است)
الف)اگر کش از direct mapping استفاده کند
ب)اگر کش به صورتfully associative با سیاست جایگزینی lru باشد
۱)الف)۰ ب)۶۵/۴۲ ۲)الف) ۶۵/۴۲ ب)۰ ۳)الف) ۶۵/۴۲ ب)۶۵/۴۲ ۴)الف)۰ ب)۰
اصلاتفاوت این ۳ تا نگاشت گفته شده چیه و این سوال چجوری حل میشه
با تشکر

۵
ارسال:
  

narges_r پاسخ داده:

RE: نگاشتها در حافظه

فکر میکنم گزینه ۲ درست باشه

برای کش مستقیم داریم:
تعداد بلاکهای کش برابر است با: [tex]\frac{256*8}{32}=2^{6}=64[/tex]
اما تعداد بلاکهای دستور ۶۵ تا هستند اگر فرض کنیم دستورات از شماره ۰ تا ۶۴ وارد کش میشه پس از بلاک شماره ۰ کش تا بلاک شماره ۶۳ کش کامل پر میشه اما برای بلاک ۶۵ ام (بلاک شماره ۶۴ دستورات) بلاک خالی وجود نداره
از اونجایی که در کش مستقیم شماره بلاکهای مشخص در حافظه در بلاکهای یکسان در کش قرار میگیرند میبینیم که بلاک شماره ۶۴ دستورات و بلاک شماره ۱ دستورات باهم در بلاک شماره یک کش قرار میگیرند
در دور اول که کش خالی هست همه ۶۵ دسترسی miss میشه اما در دور دوم همه بلاکها در کش قرار دارند فقط بلاک شماره یک موجود نیست پس در دور دوم ۲ تا miss داریم در دور سوم هم همینطور
پس در ۳*۶۵ تا دسترسی ۶۵+۲+۲ تا miss داریم پس نرخ برخورد برابر میشه با:
[tex]\frac{3*65-69}{3*65}=\frac{42}{65}[/tex]

اما برای کش انجمنی:
ساختار کش انجمنی این هست که مانند کش مستقیم بلاکهای مشخص در یک بلاک کش قرار نمیگیرن بلکه تعدادی بیت برای اولویت دهی به بلاکها برای خواندن و نوشتن در کش قرار داده شده که بر مبنای اون بیتها در کش نوشته میشه
مثلا در اینجا که در کش ۶۴ بلاک داریم برای هر بلاک ۶ بیت در نظر گرفته شده که وقتی در بلاکی در کش نوشته میشه بیتهای اولویت اون بلاک در کش تبدیل به صفر میشه و بقیه بلاکها یکی به بیتهای اولویتشون اضافه میشه و برای خواندن هم به شیوه دیگه ای این تغییر روی بیتهای اولویت بلاکها اعمال میشه
عمل نوشتن در بلاکی اعمال میشه که بیتهای اولویت اون بیشترین مقدار دارند.
اگر اینجا هم فرض کنیم از دستور شماره ۰ تا دستور شماره ۶۴ وارد کش میشه پس اول که دستور صفر وارد بلاک شماره صفر کش بشه بیتهای اولویت بلاک شماره صفر تبدیل به صفر میشه بعد از اون وقتی دستور شماره یک وارد کش میشه بیتهای الویت بلاک شماره یک ۰ و بیتهای الویت بلاک شماره صفر تبدیل به یک میشه واگر همین کارو ادامه بدیم وقتی به دستور ۶۵ام(دستور شماره ۶۴) میرسیم میبینیم برای نوشتن دستور ۶۵ام باید یکی از دستوراتو از کش خارج کنیم و این دستور جایگزین کنیم که بیتهای اولویت بلاک ۶۳ که دستور شماره ۶۳ را در خود دارد کوچکترین مقدار داره(۰) وبلاک صفر بزرگترین پس دستور ۶۵ام(دستور شماره ۶۴) باید جایگزین دستور شماره صفر در بلاک صفر بشه تا اینجا ما یک دور دستورات اجرا کردیم که ۶۵ miss داشتیم حال وقتی بخواهیم دور دومو اجرا کنیم دستور صفر در کش موجود نیست و مطابق توضیحاتی که برای جایگزینی دستور ۶۵ام دادیم، دستور صفر باید جایگزین دستور شماره یک در بلاک یک بشه چون بلاک شماره یک در کش دارای بیشترین مقدار در بیتهای الویت هست و همین اتفاق برای دستور یک و ... میفته که میبینیم در دور دوم هم ۶۵ miss داریم و در دور سوم هم همینطور
پس در اجرای دستورات با این نوع کش همه اجراها دچار miss میشوند و نرخ برخورد ۰ هست.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Question حافظه نانو و VM ( آی تی ۹۰) ۸Operation ۱ ۲,۰۴۰ ۰۷ بهمن ۱۳۹۱ ۰۳:۴۰ ب.ظ
آخرین ارسال: Bache Mosbat
  سوال کنکور از حافظه masoomeh_s ۷ ۳,۱۶۷ ۲۵ دى ۱۳۹۱ ۱۲:۳۳ ق.ظ
آخرین ارسال: teacherpc
  سوال حافظه علوم کامپیوتر ۸۱ fa_karoon ۱ ۱,۳۷۹ ۲۹ آذر ۱۳۹۱ ۱۱:۱۹ ب.ظ
آخرین ارسال: csharpisatechnology
  سوال حافظه سال ۷۹ fa_karoon ۳ ۱,۷۱۲ ۲۸ آذر ۱۳۹۱ ۰۹:۰۸ ب.ظ
آخرین ارسال: fa_karoon
  حافظه های برگ برگ sanaz5 ۱ ۱,۴۰۶ ۲۷ آذر ۱۳۹۱ ۰۱:۴۱ ب.ظ
آخرین ارسال: Parva
  ۳ سوال از فصل حافظه پوران mahsa.tsi ۲ ۱,۷۹۲ ۲۱ آذر ۱۳۹۱ ۱۲:۱۵ ب.ظ
آخرین ارسال: آنجلا
  سازمان حافظه ۲ haamidit ۲ ۱,۵۴۷ ۱۲ آذر ۱۳۹۱ ۱۲:۰۰ ب.ظ
آخرین ارسال: masoud.bala
  سوال از فصل ۷ (حافظه)معماری پوران uka ۴ ۲,۲۰۴ ۱۲ آذر ۱۳۹۱ ۱۱:۱۷ ق.ظ
آخرین ارسال: naderx
  سازمان حافظه haamidit ۴ ۱,۶۳۴ ۱۷ آبان ۱۳۹۱ ۰۴:۰۰ ق.ظ
آخرین ارسال: csharpisatechnology
  سوال از حافظه شیوا۸۸ ۲ ۱,۴۲۴ ۰۵ آبان ۱۳۹۱ ۰۳:۴۴ ق.ظ
آخرین ارسال: Fardad-A

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close