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

نسخه‌ی کامل: حافظه ها + میزان سربار اضافه شده به Cache
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام . ممنون میشم یه نفر این سوال رو واسم توضیح بده.
میزان سربار اضافه شده به Cache یعنی چی؟
اندازه مجموعه رو چطوری پیدا میکنه؟

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
(17 بهمن 1392 12:17 ب.ظ)kati نوشته شده توسط: [ -> ]سلام . ممنون میشم یه نفر این سوال رو واسم توضیح بده.
میزان سربار اضافه شده به Cache یعنی چی؟
اندازه مجموعه رو چطوری پیدا میکنه؟

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

یعنی tag و valid. هر آنچه که دیتا نیست.
4 way داریم پس کل کش تقسیم بر 4 ===> 64k/4=16k کلمه داریم.
هر set چهار بلاک داره پس 16k/4=4k ست هم داریم. و باقیه ماجرا...
(17 بهمن 1392 12:39 ب.ظ)unicornux نوشته شده توسط: [ -> ]
(17 بهمن 1392 12:17 ب.ظ)kati نوشته شده توسط: [ -> ]سلام . ممنون میشم یه نفر این سوال رو واسم توضیح بده.
میزان سربار اضافه شده به Cache یعنی چی؟
اندازه مجموعه رو چطوری پیدا میکنه؟

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

یعنی tag و valid. هر آنچه که دیتا نیست.
۴ way داریم پس کل کش تقسیم بر ۴ ===> 64k/4=16k کلمه داریم.
هر set چهار بلاک داره پس ۱۶k/4=4k ست هم داریم. و باقیه ماجرا...

قسمت بولد شده فکر نمی کنم ربطی به ۴ راهه بودنش داشته باشه.به نظرم وقتی اندازه ی کلمه مشخص نمی شه باید ۴ بایت در نظر بگیریمش. درست می گم؟
(17 بهمن 1392 03:17 ب.ظ)hosein_khoshdel نوشته شده توسط: [ -> ]
(17 بهمن 1392 12:39 ب.ظ)unicornux نوشته شده توسط: [ -> ]
(17 بهمن 1392 12:17 ب.ظ)kati نوشته شده توسط: [ -> ]سلام . ممنون میشم یه نفر این سوال رو واسم توضیح بده.
میزان سربار اضافه شده به Cache یعنی چی؟
اندازه مجموعه رو چطوری پیدا میکنه؟

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

یعنی tag و valid. هر آنچه که دیتا نیست.
۴ way داریم پس کل کش تقسیم بر ۴ ===> 64k/4=16k کلمه داریم.
هر set چهار بلاک داره پس ۱۶k/4=4k ست هم داریم. و باقیه ماجرا...

قسمت بولد شده فکر نمی کنم ربطی به ۴ راهه بودنش داشته باشه.به نظرم وقتی اندازه ی کلمه مشخص نمی شه باید ۴ بایت در نظر بگیریمش. درست می گم؟

با فرض شما حل کنیم طول هر خونه کش میشه 32 بیت. یعنی 12 بیت ایندکس بره بیرون باید 11 بیت برای بلاک آفست بزاریم که در مجموع tag+index=20 بشه! درست میگم؟

من شکلی که از کش دارم با شکلی که شما دارین فرق داره. همشم تقصیر کتابِ پترسونِ. اما همیشه درست در میاد.
راستش منم متوجه ربطه اینکه ست رو به 4 تقسیم کردید نشدم!!
من خودم فکر میکردم باید به قول دوستمون اندازه ی یک word رو ، چهار بایت در نظر بگیریم!!
در آخر من هنوز متوجه نشدم ! یاری برسانید !
سوالای معماری متاسفانه هیچ استانداردی برای حلشون وجود نداره ظاهرا!
اگه اندازه هر بلاک رو 4 بایت در نظر بگیریم باز یه مشکلی هست. اگه 4 بایت برای هر بلاک باشه 2 بیت بایت آفست خواهیم داشت. تعداد ست هامون هم 4k هست پس 12 بیت برای تعیین ست میخوایم. یعنی اینجوری 6 بیت برای tag باقی میمونه. یعنی 7بیت سربار داریم. 16k*7=112k سربار!
ظاهرا اینجا هر بلاک رو 4 بایت در نظر گرفته ولی بایت آفست رو در نظر نگرفته!!!!
توی کتاب پوران دکتر یوسفی یک فرمت برای آدرس نگاشت های set-associative ارائه دادن که من تا حالا به تناقضی باهاش برنخوردم.
درصورتی که:

تعداد کلمات حافظه اصلی = دو به توان m
تعداد کلمات cache = دو به توان c
تعداد بلاک در هر set = دو به توان t
تعداد کلمات در هر بلاک = دو به توان w

m-c+t بیت برای tag
c-w-t بیت برای index
w بیت Block offset

در این سوال هم اگر در نظر بگیریم که یک کلمه ۴ بایت هست، cache شامل ۱۶k کلمه خواهد بود. که یعنی دو به توان ۱۴ و c=14.
حافظه هم که آدرس ۲۰ بیتی داره یعنی دو به توان ۲۰ کلمه درش جا میشه و m=20.
نگاشت ۴ راهه هست یعنی در هر set تعداد ۴ یا دو به توان ۲ بلاک داریم و t=2.

==> تعداد بیت برای tag میشه m-c+t = 20 - 14 + 2 = 8. بنابراین tag نیاز به ۸ بیت داره.

۸ + یک بیت برای valid میشه ۹ بیت سربار برای هر بلاک.

حالا با توجه به گزینه ها فقط گزینه ۴ بر ۹ بخش پذیره و اونم با ضریب ۱۶kb. این یعنی در سوال هر کلمه یه بلاک در نظر گرفته شده و به ازای هر بلاک یک tag و یک valid داریم.
لینک مرجع