تالار گفتمان مانشت

نسخه‌ی کامل: نگاشت مستقیم در cache
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سوال‌: یک کش مستقیم شامل 8 بلاک 4 کلمه ای است و پردازنده از آدرس 0 تا 63 را تولید می کند. کش در ابتدا خالی است.
الف- نرخ برخورد را محاسبه کنید.
ب- اگر پردازنده 10 بار آدرس 0-63 را تولید کند نرخ برخورد را با شرایط زیر محاسبه کنید:
  1. در صورتی که کش شامل 8 بلاک 4 کلمه ای باشد.
  2. در صورتی که کش شامل 4 بلاک 8 کلمه ای باشد.
  3. اگر 8 بلاک 8 کلمه ای باشد.

------------------------------------------------------------------------------
من تازه دارم این مبحث رو می خونم و رشته‌ام ریاضی کاربردی بوده که می خوام علوم کامپیوتر امتحان بدم واسه همین فکر نکنید این چقدر گیج می زنه Wink

البته تو کتاب معماری کامپیوتر پوران صفحه 198 قسمت "ب" رو حل کرده. من اگه الف رو که خودم طرح کردم بفهمم‌، به جورایی بقیشو می فهمم. البته دوستان اگه توضیح تکمیلی جهت درک بهتر بدن خوشحال می شم.

الف - به نظر من وقتی کش خالیه و آدرس 0 تا 31 باید در کش پر بشه این خودش 8 تا miss داره. دلیلشم اینه که 0 وقتی تو کش نیست کل بلاکی که صفر در اون هست رو از حافظه اصلی رو کش انتقال میده. به همین ترتیب 4 - 8 ... تا 28 که کلا میشه 8 تا miss واسه 32 تا 63 هم همین اتفاق می افته و اونم 8 تا miss داره .پس جمعا 16 تا miss داره و در کل که 64 تا ارجاع هست پس hit rate اش می شه 16/64 یا 25% . جوابم درسته؟
خوب من دقت نکردم.

نمیدونم چرا ولی طبق جزوه فقط 32 آدرس (0-31 )بررسی میشه پس میشه 8 miss که میشه 25% miss و 75% hitrate
اده اول وارد کش بشه تا انتهای بلوک هم وارد میشه پس مراجعات بعدی miss نداره
(22 آبان 1389 08:02 ب.ظ)javadjj نوشته شده توسط: [ -> ]اده اول وارد کش بشه تا انتهای بلوک هم وارد میشه پس مراجعات بعدی miss نداره

واسه بار اول آدرس های مضرب 4 حتما miss داره. چون CPU درخواست آدرس میده و می بینه تو کش نیست(کش خالیه) پس واسه بار اول Miss داریم.
سلام
اگر تا الان جوابش رو نگرفتین من اینجوری حلش کردم:
قسمت الف:
در اینجا چون اندازه بلاک 4 کلمه است و در هر میس یک بلاک وارد کش میشه پس برای هر 4 کلمه 1 میس داریم تا بلاک شامل اون کلمه وارد حافظه بشه.
در نتیجه برای هر 4 تا کلمه 3تاش hit میشه.
پس نرخ اصابت میشه 4/3که همون 75%هست.
****************************
قسمت ب:
1: این قسمت مورد بالایی هست که 10 بار تکرار میش پس نرخ hit همون 75%هست.
آدرس 6 بیتی تولید شده توسط cpu بیت اول رو تگ میگیریم 3بیت بعدی شماره بلوک 2بیت آخر برای مشخص کردن کردن کلمه.
******************************
2: برای 4بلاک 8 کلمه ای به ازای هر 8 کلمه یک میس داریم یعنی نرخ اصابت میش 8/7.
بیت اول تگ 2بیت بعدی شماره بلوک و 3بیت آخر شماره کلمه.
*****************************
3:این قسمت هم مثل دومی میشه یعنی به ازای هر 8 کلمه 7 تا hit داریم پس نرخ اصابت 8/7میش برای یک بار.
3بیت اول شماره بلاک 3بیت بعدی شماره کلمه و تگ نداریم.
اما با تکرار 10 بار ادرسهای 0تا 63 چون کلا 8تا میس داریم نرخ میس:64*10/8پس نرخ اصابت میشه نرخ میس-1 که میشه تقریبا 98%.
لینک مرجع