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

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

ارسال:
  

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

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 میشوند و نرخ برخورد ۰ هست.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  حافظه نانو Sanazzz ۱ ۱,۷۰۲ ۱۲ اردیبهشت ۱۳۹۸ ۱۲:۲۶ ق.ظ
آخرین ارسال: Sanazzz
  نحوه مشخص کردن بیت‌های حافظه کنترل Erfan_Ekh ۰ ۱,۸۲۴ ۰۹ تیر ۱۳۹۷ ۰۳:۱۷ ب.ظ
آخرین ارسال: Erfan_Ekh
  مهندسی کامپوتر ۹۵ - حافظه مجازی mahshid_dd ۲ ۲,۵۶۰ ۰۲ اردیبهشت ۱۳۹۷ ۰۲:۰۵ ب.ظ
آخرین ارسال: mahshid_dd
  درخواست حل سوال ۷۲ از کامپیوتر ۹۶- مشکل در فهم حافظه نانو Sepideh96 ۱ ۱,۹۸۳ ۱۷ دى ۱۳۹۶ ۰۹:۲۷ ب.ظ
آخرین ارسال: yahmat
  حافظه ها amir_ghanati ۳ ۲,۷۶۵ ۲۴ مهر ۱۳۹۶ ۰۳:۰۴ ب.ظ
آخرین ارسال: msour44
  کوبیدگی - بخش حافظه مجازی سیستم عامل mehran.hzd ۳ ۳,۹۷۵ ۱۵ خرداد ۱۳۹۶ ۰۲:۵۶ ب.ظ
آخرین ارسال: msour44
  مدل مجموعه کاری - بخش حافظه مجازی سیستم عامل mehran.hzd ۱ ۲,۰۶۱ ۱۴ خرداد ۱۳۹۶ ۰۳:۲۶ ب.ظ
آخرین ارسال: msour44
  Hit Ratio در حافظه TLB آی تی ۹۵ M3t30r ۴ ۳,۰۵۷ ۰۳ اردیبهشت ۱۳۹۶ ۰۱:۰۴ ق.ظ
آخرین ارسال: پرهوده
  حجم حافظه نهان-سوال ۱۰۵- it 93 peace2013 ۴ ۲,۶۸۷ ۲۳ فروردین ۱۳۹۶ ۱۱:۲۴ ب.ظ
آخرین ارسال: peace2013
  اندازه حافظه مجازی - منطقی - فیزیکی wskf ۰ ۱,۳۱۵ ۲۰ فروردین ۱۳۹۶ ۱۰:۵۱ ب.ظ
آخرین ارسال: wskf

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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