19 بهمن 1392, 10:31 ب.ظ
19 بهمن 1392, 10:36 ب.ظ
تو صورت سوال گفته تعداد set هامون 32 هست ، پس برای مشخص کردن اون ها به 5 بیت نیاز داریم.
از طرفی گفته تعداد بلوک های حافظه اصلی 1k برابر کش هست پس تعداد بلوک های حافظه اصلی میشه : 32*4*1024
که میشه 2 به نمای 17
حالا با توجه به اینکه نوع کش set associative هست ، تعداد بیت set بعلاوه تعداد بیت tag مشخص کننده بلوک های حافظه اصلی هستند.
بنابراین داریم : set+tag=17 ---------->> داریم tag=17-5=12
از طرفی گفته تعداد بلوک های حافظه اصلی 1k برابر کش هست پس تعداد بلوک های حافظه اصلی میشه : 32*4*1024
که میشه 2 به نمای 17
حالا با توجه به اینکه نوع کش set associative هست ، تعداد بیت set بعلاوه تعداد بیت tag مشخص کننده بلوک های حافظه اصلی هستند.
بنابراین داریم : set+tag=17 ---------->> داریم tag=17-5=12
19 بهمن 1392, 11:05 ب.ظ
(19 بهمن 1392 10:31 ب.ظ)tarane.68 نوشته شده توسط: [ -> ]با سلام خدمت دوستانتعداد بلاک های کش = تعداد مجموعه ها * تعداد بلوک هر مجموعه = ۳۲ * ۴= ۷^۲
اگه لطف کنین این سوال رو توضیح بدید ممنون میشم
چون در هر مجموعه ۴ بلاک قرار داره پس نگاشت ۴way هست که در نظر میگیرم t= logk = 2 یا همون k = 2^t
و تعداد بلاک حافظه اصلی ۱۰^۲ برابر حافظه کش = ۱۰^۲ * ۷ ^۲ = ۱۷^۲
پس برای آدرس دهی حافظه نیاز به ۱۷ بیت داریم
و به سه قسمت زیر تقسیم میشه
W تعداد بیت برای نمایش کلمات در هر بلاک
set = C- w - t تعداد بیت برای نمایش مجموعه های کش
Tag= m - c + t تعداد بیت برای نمایش تگ
m = 17 که همون تعداد بیت برای آدرس دهی حافظه بود
t = 2 که مربوط به kway بود
C میشه تعداد بلاک در کش که برابر با ۷ بیت بود (بالا بدست آوردیم)
حالا میریم سراغ فیلد تگ
Tag = m - c+ t = 17 - 7 + 2 = 12
19 بهمن 1392, 11:08 ب.ظ
(19 بهمن 1392 11:05 ب.ظ)masoud67 نوشته شده توسط: [ -> ]چون در هر مجموعه ۴ بلاک قرار داره پس نگاشت ۴way هست که در نظر میگیرم t= logk = 2 یا همون k = 2^t
این 4way به معنی این نبود که توی هر خط کش، ما 4 تا مجموعه داریم؟
19 بهمن 1392, 11:12 ب.ظ
(19 بهمن 1392 11:08 ب.ظ)Riemann نوشته شده توسط: [ -> ]kway به این معنی بود که ما در هر مجموعه از کش k بلوک داریم . اگر هر خط کش یعنی یک مجموعه کش، درسته ولی اگه منظور از هر خط کش چیز دیگه ای هست ، نمیدونم.(19 بهمن 1392 11:05 ب.ظ)masoud67 نوشته شده توسط: [ -> ]چون در هر مجموعه ۴ بلاک قرار داره پس نگاشت ۴way هست که در نظر میگیرم t= logk = 2 یا همون k = 2^t
این ۴way به معنی این نبود که توی هر خط کش، ما ۴ تا مجموعه داریم؟
چون صورت سوال گفته 32 مجموعه 4 بلوکی داریم پس 32 مجموعه 4way داریم
19 بهمن 1392, 11:33 ب.ظ
(19 بهمن 1392 11:08 ب.ظ)Riemann نوشته شده توسط: [ -> ]این ۴way به معنی این نبود که توی هر خط کش، ما ۴ تا مجموعه داریم؟
20 بهمن 1392, 01:14 ق.ظ
20 بهمن 1392, 05:56 ب.ظ
جواب های همه شما دوستان درست اما دقت کنید که علاوه بر tagو set ما offset هم داریم اما چون استثنا در این سوال حرفی از سایز بلوک نزده پس در نظر نمیگیریم والا کمتر از 12 میشد....
20 بهمن 1392, 07:46 ب.ظ
ممنون از همه دوستان
لطف کردید
موفق باشید
لطف کردید
موفق باشید