تالار گفتمان مانشت
سازمان حافظه ۲ - نسخه‌ی قابل چاپ

سازمان حافظه ۲ - haamidit - 07 آبان ۱۳۹۱ ۰۸:۵۳ ب.ظ

باسلام
کسی میتونه توحل این مساله بم کمک کنهBlush
حافظه نهان ازنوع ۲way set associtiveبه بزرگی ۲۵۶ بایت داریم که هربلوک آن ۱۶بایت است .پردازنده آدرس های ۲۶بیتی تولیدمیکند و رجوعات زیرراازابتدا تا انتهای لیست اجرامیکندودوباره به اول لیست برمیگردد وکلا لیست رااین لیست را۱۰بار اجرا میکند .بافرض اینکه کش خا لی است miss rate بعدازاتمام کار پردازنده چقدر است؟
FF00
FF01
FF02
FF03
FF04
۵F00
۵F01
۵F02
۵F03
۵F04

RE: سازمان حافظه ۲ - mohsen990 - 09 آبان ۱۳۹۱ ۰۳:۰۴ ق.ظ

به به عجب سوالی
فک کنم اینجوری باشه مطمئن نیستم
تعداد بلاک ها برابر ۲۵۶/۱۶=۱۶ تا پس تعداد ست ها برابر ۱۶/۲ = ۸ می باشد. و با توجه به اینکه کلمه ها ۱۶ بایتی است.برای مشخص کردن بایت در کلمه به ۴ بیت نیاز داریم.و برای مشخص کردن ست به ۳ بیت نیاز داریم پس از ۲۶ بیت آدرس ۳بیت برا ست و ۴ بیت برا کلمه میره می مونه ۱۹ بیت تگ.
حالا ظرفیت بلوک به بیت برابر ۱۲۸ می باشد تقسیم به آدرس یعنی ۲۶ می شود ۴/۹۳ .پس در هر بار میس ۵ تا آدرس به کش آورده می شود.حالا با توجه به آدرس های بالا ۵ تای اول (تگ هاشون یکیه ۱۹ بیت آخر)و ۵ تای دوم هم همین طور.
ff00 میس رخ میده چون بلاک خالیه چهارتای بعدیش هم همراه اون آورده میشه در یک ست ذخیره میشه.و ۵f00 نیز چون تگش فرق می کنه دوباره میس اتفاق میافته و ۴ آدرس بعدیش همراه آن به کش آورده می شه در یک ست دیگر ذخیره میشه.
( توجه شود که هر بلوک گنجایش ۵ آدرس و هر ست دو بلوک می باشد)
پس این ۱۰ تا آدرس در دو ست جداگانه در دو بلوک ذخیره می شوند و با یکدیگر تداخلی ندارند پس ۲ بار میس و ۸ بار هیت برای بار اول مراجعه و برای ۹ بار بعدی چون در کش وجود دارند همش هیت رخ میده به عبارتی ۲ درصد میس و ۹۸ درصد هیت.
دیگه از این تشریحی تر بلد نبودم
Big Grin

RE: سازمان حافظه ۲ - masoud.bala - 12 آذر ۱۳۹۱ ۱۲:۰۰ ب.ظ

(۰۹ آبان ۱۳۹۱ ۰۳:۰۴ ق.ظ)mohsen990 نوشته شده توسط:  به به عجب سوالی
فک کنم اینجوری باشه مطمئن نیستم
تعداد بلاک ها برابر ۲۵۶/۱۶=۱۶ تا پس تعداد ست ها برابر ۱۶/۲ = ۸ می باشد. و با توجه به اینکه کلمه ها ۱۶ بایتی است.برای مشخص کردن بایت در کلمه به ۴ بیت نیاز داریم.و برای مشخص کردن ست به ۳ بیت نیاز داریم پس از ۲۶ بیت آدرس ۳بیت برا ست و ۴ بیت برا کلمه میره می مونه ۱۹ بیت تگ.
حالا ظرفیت بلوک به بیت برابر ۱۲۸ می باشد تقسیم به آدرس یعنی ۲۶ می شود ۴/۹۳ .پس در هر بار میس ۵ تا آدرس به کش آورده می شود.حالا با توجه به آدرس های بالا ۵ تای اول (تگ هاشون یکیه ۱۹ بیت آخر)و ۵ تای دوم هم همین طور.
ff00 میس رخ میده چون بلاک خالیه چهارتای بعدیش هم همراه اون آورده میشه در یک ست ذخیره میشه.و ۵f00 نیز چون تگش فرق می کنه دوباره میس اتفاق میافته و ۴ آدرس بعدیش همراه آن به کش آورده می شه در یک ست دیگر ذخیره میشه.
( توجه شود که هر بلوک گنجایش ۵ آدرس و هر ست دو بلوک می باشد)
پس این ۱۰ تا آدرس در دو ست جداگانه در دو بلوک ذخیره می شوند و با یکدیگر تداخلی ندارند پس ۲ بار میس و ۸ بار هیت برای بار اول مراجعه و برای ۹ بار بعدی چون در کش وجود دارند همش هیت رخ میده به عبارتی ۲ درصد میس و ۹۸ درصد هیت.
دیگه از این تشریحی تر بلد نبودم
Big Grin




سلام عرض می کنم خدمت دوست خوبم اولا این سوال مورد داره مورد هم اینه که اصلا پردازنده آدرس ۲۶ بیتی تولید نمکنه و ۱۶ بیت هستش و شما به اشتباه سوال را حل کردید اگه امکان داره با آدرس ۱۶ بیتی سوال را حل کنید که دوستان خوبم به مشکل بر نخورند . ممنونم این سوال در صفحه ۲۱۵ کتاب معماری یوسفی هستش !