تالار گفتمان مانشت
سوال ۶۶ معماری مهندسی کامپیوتر ۹۱ - نسخه‌ی قابل چاپ

سوال ۶۶ معماری مهندسی کامپیوتر ۹۱ - samaneh22 - 16 بهمن ۱۳۹۱ ۰۲:۳۳ ب.ظ

این سوال را ماهان فکر کنم اشتباه تحلیل کرده
گفته اندازه حافظه اصلی میشه ۳۲^۲ بیت.درصورتیکه سوال گفته ۳۲ بیتیه
من نگاشت مستقیم و نگاشت مجموعه ای انجمنی را فهمیدم ولی با نگاشت انجمنیfully associative مشکل دارم.
من حساب کردم میشه ۱۲^۲*۲۰/
اگر کسی میدونه لطفا توضیح بده

سوال ۶۶ معماری مهندسی کامپیوتر ۹۱ - d.KH - 16 بهمن ۱۳۹۱ ۰۴:۲۳ ب.ظ

یه تعریف داریم:
اگر اندازه k-way set برابر با تعداد تمام بلاکهای حافظه کش باشه مشابه با fully associative میشه بنابراین می تونیم از همون روش k- way برای بدست آوردن تعداد فیلد تگ استفاده کنیم.

خوب در اینجا ما ۴^۲=۱۶کلمه در هر بلاک داریم و حافظه کش برابر با ۱۶^۲ کلمه می باشد.

پس تداد بلاک های ما برابر با ۴^۲/ ۱۶^۲ = ۱۲^۲ می شه(با توجه به تعریف بالا پس ۱۲^۲ = K-way set ، به عبارتی تعداد بلاک در هر مجموعه(set) می شه.)(لازم به ذکره که باید فقط یه مجموعه(set) داشته باشیم.)

بنابراین چون تمام بلاک ها در یک مجموعه قرار می گیرن پس فیلد set=0 اما تعداد set موجود ۱ میشه.
خوب از دو فیلد باقی مانده یکی word=4 بیت و فیلد tag=28 بیت می شه(مجموعا ۳۲ بیت عرض آدرس دهی).

در انتها
تعداد بیت Tag = تعداد مجموعه set و* K * عرض بیتی تگ
۱ * ۱۲ ^ ۲ * ۲۸ => 1 * 12 ^ 2 * ( 2 ^ 2 * 7 ) => 14 ^ 2 * 7