![]() |
محاسبه حافظه لازم برای کش - نسخهی قابل چاپ |
محاسبه حافظه لازم برای کش - tabassomesayna - 11 دى ۱۳۹۲ ۱۲:۴۹ ق.ظ
سلام دوستان در یک سیستم که یک حافظه اصلی و یک کش با ساختار direct-mapped دارد,اندازه قسمت داده مربوط به کش برابر ۶۴Kbyte می باشد.تعداد خطوط آدرس ۳۰ تا است و اندازه هر بلاک کش ۳۲ بیت است.حافظه لازم برای کل کش چقدر است؟؟(بیت Valid نیز موجود است.) ۲^۱۴ kbit ۱۶kbyte ۷۵۲kbit ۹۴kbit |
Re: محاسبه حافظه لازم برای کش - Donna - 11 دى ۱۳۹۲ ۰۱:۳۶ ب.ظ
اندازه قسمت داده کش ۱۶کیلوبایت هس.اندازه هر بلاک هم ۳۲بیت یا همون ۴بایت هس. پس اگه ۱۶کیلوبایت رو تقسیم رر ۴بایت اندازه هر بلاک کنیم تعداد بلاکهای کشمون بدست میاد که میشه دو به توان ۱۴/ اینکه واضحه چرا اینطوری بدست میاد. برا خودمم یبار توضیح میدم که چون کل داده مون ۱۶کیلوبایته و هر ۴بایت ازین مقدار کل داده، بلاکمون رو نشون میده که درکل میشه دو به توان ۱۴تا بلاک. چون تعداد بلاکها دو به توان ۱۴تاست پس تعداد بیتهای ایندکس میشه ۱۴تا. قسمتword هم تعداد بیتهاش ۲تاس چون اندازه هر بلاک ۴بایته. گفته کل بیتهای آدرس ۳۰تاس پس اگه ۱۴ و۲ رو از ۳۰ کم کنیم ۱۴ تا بیت میمونه واسه قسمت tag. برای هر بلاک ۱۴بیتtag و یه بیتvalid داریم. حالا کل حافظه لازم برای کش رو اینطوری میتونیم بدست بیاریم که: اندازه دیتا + دو به توان ۱۴ در تعداد بیتهای tag + دو به توان ۱۴ تا valid یک بیتی. که همرو جمع کنیم میشه ۷۵۲کیلو . |
RE: محاسبه حافظه لازم برای کش - tabassomesayna - 11 دى ۱۳۹۲ ۰۳:۰۴ ب.ظ
(۱۱ دى ۱۳۹۲ ۰۱:۳۶ ب.ظ)Arshad93 نوشته شده توسط: اندازه قسمت داده کش ۱۶کیلوبایت هس.اندازه هر بلاک هم ۳۲بیت یا همون ۴بایت هس. پس اگه ۱۶کیلوبایت رو تقسیم رر ۴بایت اندازه هر بلاک کنیم تعداد بلاکهای کشمون بدست میاد که میشه دو به توان ۱۴/ اینکه واضحه چرا اینطوری بدست میاد. برا خودمم یبار توضیح میدم که چون کل داده مون ۱۶کیلوبایته و هر ۴بایت ازین مقدار کل داده، بلاکمون رو نشون میده که درکل میشه دو به توان ۱۴تا بلاک. ممنون دوست عزیز از اینکه وقت گذاشتید ![]() |