(۲۲ دى ۱۳۹۰ ۰۱:۳۳ ق.ظ)goldoonehkhanoom نوشته شده توسط: حافظه نهان یک سیستم کامپیوتری از نوع set-associative است.اگرتعداد مجموعه های ۴بلوکی حافظه نهان ۳۲ باشد و تعدادبلوکهای حافظه اصلی ۱k برابر حافظه نهان باشد. تعداد بیتهای فیلد tag چیست؟؟؟؟
به نظر من tag=10bit هست اما توضیحی که در کتاب مقسمی اورده شده tag=12bit شده و بی خیال تعداد بیت برای بلوک شده ظاهرا.نظردوستان؟؟؟؟
تو حافظه های مجموعه ایی ما برای نگاشت آدرس باید مشخص کنیم تو کدوم مجموعه (set) و کدوم کلمه در بلاک های داخل مجموعه و همین طور اگه کلمات بیشتر از ۱ بایت باشن باید تعداد بیت برای اونها(مشخص کردن بایت های کلمه) رو هم در نظر بگیریم و بقیه بیتها میشه مال tag
پس باید بدنیم چندتا مجموعه داریم و در هر بلاک چند کلمه و هر کلمه چند بایت؟ چیزی که واسمون مهم نیست تعداد بلاک هاست
چون گفته که حافظهی اصلی ۱k بزرگتره پس کل ظرفیت کل حافظه میشه:
32∗4∗1K=25∗22∗210=217
که تعداد بیت آدرسمون میشه ۱۷ بیت.
ما در صورتی میتونیم بگیم که ۱۷ بیت برای کل حافظه در نظر میگیریم که هر کلمه رو یک بایت در نظر بگیریم و هر بلاک رو یک کلمه چون در غیر این صورت باید تعداد بیت واسه آدرسمون بیشتر از این باشه.
و چون تو سوال هیچی در مورد تعداد کلمات داخل بلاک و تعداد بایت های یک کلمه نگفته همهی اونها رو ۱ در نظر میگیریم.
تو این سوال تعداد مجموعهها مشخصه --->32 یعنی
25
پس ۵ بیت واسشون کنار میذاریم.
طبق اونچه که اول گفتم فقط از آدرس تعداد بیت مربوط به set و تعداد کلمات داخل بلاک رو کم میکنیم
تعداد کلمات داخل بلاک ۱ هست یعنی:
20
پس بیتی برای اون در نظر نمیگیریم.
همین طور با توجه به اینکه سوال از تعداد بایت کلمه هم صحبت نکرده پس اونم میشه کلمه هم ۱ بایتی هست که بازم میشه:
20 و بیتی براش در نظر نمیگیریم.
در نتیجه از ۱۷ بیت فقط ۵ بیت مربوط به مجموعهها و بقیه (۱۲ بیت) مربوط به tag