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

نسخه‌ی کامل: محاسبه حافظه لازم برای کش
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
در یک سیستم که یک حافظه اصلی و یک کش با ساختار direct-mapped دارد,اندازه قسمت داده مربوط به کش برابر 64Kbyte می باشد.تعداد خطوط آدرس 30 تا است و اندازه هر بلاک کش 32 بیت است.حافظه لازم برای کل کش چقدر است؟؟(بیت Valid نیز موجود است.)
2^14 kbit
16kbyte
752kbit
94kbit
اندازه قسمت داده کش 16کیلوبایت هس.اندازه هر بلاک هم 32بیت یا همون 4بایت هس. پس اگه 16کیلوبایت رو تقسیم رر 4بایت اندازه هر بلاک کنیم تعداد بلاکهای کشمون بدست میاد که میشه دو به توان 14. اینکه واضحه چرا اینطوری بدست میاد. برا خودمم یبار توضیح میدم که چون کل داده مون 16کیلوبایته و هر 4بایت ازین مقدار کل داده، بلاکمون رو نشون میده که درکل میشه دو به توان 14تا بلاک.
چون تعداد بلاکها دو به توان 14تاست پس تعداد بیتهای ایندکس میشه 14تا. قسمتword هم تعداد بیتهاش 2تاس چون اندازه هر بلاک 4بایته.
گفته کل بیتهای آدرس 30تاس پس اگه 14 و2 رو از 30 کم کنیم 14 تا بیت میمونه واسه قسمت tag.
برای هر بلاک 14بیتtag و یه بیتvalid داریم.
حالا کل حافظه لازم برای کش رو اینطوری میتونیم بدست بیاریم که: اندازه دیتا + دو به توان 14 در تعداد بیتهای tag + دو به توان 14 تا valid یک بیتی.
که همرو جمع کنیم میشه 752کیلو .
(11 دى 1392 01:36 ب.ظ)Arshad93 نوشته شده توسط: [ -> ]اندازه قسمت داده کش ۱۶کیلوبایت هس.اندازه هر بلاک هم ۳۲بیت یا همون ۴بایت هس. پس اگه ۱۶کیلوبایت رو تقسیم رر ۴بایت اندازه هر بلاک کنیم تعداد بلاکهای کشمون بدست میاد که میشه دو به توان ۱۴/ اینکه واضحه چرا اینطوری بدست میاد. برا خودمم یبار توضیح میدم که چون کل داده مون ۱۶کیلوبایته و هر ۴بایت ازین مقدار کل داده، بلاکمون رو نشون میده که درکل میشه دو به توان ۱۴تا بلاک.
چون تعداد بلاکها دو به توان ۱۴تاست پس تعداد بیتهای ایندکس میشه ۱۴تا. قسمتword هم تعداد بیتهاش ۲تاس چون اندازه هر بلاک ۴بایته.
گفته کل بیتهای آدرس ۳۰تاس پس اگه ۱۴ و۲ رو از ۳۰ کم کنیم ۱۴ تا بیت میمونه واسه قسمت tag.
برای هر بلاک ۱۴بیتtag و یه بیتvalid داریم.
حالا کل حافظه لازم برای کش رو اینطوری میتونیم بدست بیاریم که: اندازه دیتا + دو به توان ۱۴ در تعداد بیتهای tag + دو به توان ۱۴ تا valid یک بیتی.
که همرو جمع کنیم میشه ۷۵۲کیلو .

ممنون دوست عزیز از اینکه وقت گذاشتید Smile
لینک مرجع