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

سازمان حافظه - ابراهیم۱ - ۱۲ دى ۱۳۹۱ ۰۴:۱۵ ب.ظ

سلام خسته نباشید
سوال:یک کش با نگاشت مستقیم با ۶۴kb بایت دیتا،با این فرض که هربلاک یک کلمه وهر کلمه ۴ بایت باشد کلا جند بیت است؟فرض کنید ادرس پردازنده ۳۲بیتی است.(مثال صفحه ۱۹۷ پوران معماری)
لطفا اگه کسی بلده دقیق توضیح بده چون من هر کاری می کنم w مساوی ۲ نمیشه
با تشکر

RE: سازمان حافظه - mp1368 - 14 دى ۱۳۹۱ ۰۱:۵۲ ق.ظ

(۱۲ دى ۱۳۹۱ ۰۴:۱۵ ب.ظ)ابراهیم۱ نوشته شده توسط:  سلام خسته نباشید
سوال:یک کش با نگاشت مستقیم با ۶۴kb بایت دیتا،با این فرض که هربلاک یک کلمه وهر کلمه ۴ بایت باشد کلا جند بیت است؟فرض کنید ادرس پردازنده ۳۲بیتی است.(مثال صفحه ۱۹۷ پوران معماری)
لطفا اگه کسی بلده دقیق توضیح بده چون من هر کاری می کنم w مساوی ۲ نمیشه
با تشکر

سلام این سوال که چیز خاصی نداره .

همون طوری که گفته هر بلاک یک کلمه و هر کلمه ۴ بایت است پس ما باید تا آدرس دهی بایتهای هر بلاک کش محاسبه کنیم.
گفته تعداد بلاک های کش ۱۶k است [tex]2^{10}*2^{4}=2^{14}[/tex] پس به ۱۴ بیت برای آدرس دهی بلاک های کش نیاز داریم و چون قراره که ۴ بایت داخل هر بلاک کش رو هم آدرس دهی کنیم پس [tex]2^{2}[/tex] یعنی ۲ بیت نیز برای آدرس دهی این چهار بایت به کار میبریم ، خب پس تعداد بیت های Tag نیز [tex]32-(14 2)=16[/tex] میشه .

در ادامه همون طوری که کتاب هم حساب کرده تعداد کل بیت های کش برابر :

[tex]64 Kbyte 16K * 16 bit 16K *1bit= 784 Kbit[/tex]