تالار گفتمان مانشت
میزان سربار کش - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲
میزان سربار کش - shima_24 - 05 بهمن ۱۳۹۱ ۰۷:۵۵ ب.ظ

بچه ها من با این سوال قسمت اخرش مشکل دارم.یعنی همش رو بلدم ولی سربار کش رو بلد نیستم

در یک پردازنده با قابلیت ادرس بدهی بایت و کلمه تعداد خطوط ادرس ۳۲ بیت است اگر از یک way set-4 با گنجایش MB 2 استفاده شده باشد با فرض اینکه در هر بار دسترسی به حافظه اصلی ۸ کلمه ازحافظه اصلی به کش منتقل شود میزان سربار کش چند بیت است؟
فرض کنید هر کلمه برابر ۴ بایت است

میزان سربار کش - Amir V - 06 بهمن ۱۳۹۱ ۰۹:۵۵ ب.ظ

با سلام.

فکر میکنم سوال غلطه.

موفق باشید.

میزان سربار کش - egm1176 - 06 بهمن ۱۳۹۱ ۱۰:۲۲ ب.ظ

سربار کش تعداد بیت های tag و valid هست چون ما علاوه بر داده باید اونها رو هم رای جستجو نگهداری کنیم.

RE: میزان سربار کش - ansarirobo - 07 بهمن ۱۳۹۱ ۰۲:۰۴ ق.ظ

(۰۵ بهمن ۱۳۹۱ ۰۷:۵۵ ب.ظ)shima_24 نوشته شده توسط:  بچه ها من با این سوال قسمت اخرش مشکل دارم.یعنی همش رو بلدم ولی سربار کش رو بلد نیستم

در یک پردازنده با قابلیت ادرس بدهی بایت و کلمه تعداد خطوط ادرس ۳۲ بیت است اگر از یک way set-4 با گنجایش MB 2 استفاده شده باشد با فرض اینکه در هر بار دسترسی به حافظه اصلی ۸ کلمه ازحافظه اصلی به کش منتقل شود میزان سربار کش چند بیت است؟
فرض کنید هر کلمه برابر ۴ بایت است

برای حل این مسئله چند مرحله باید طی بشه:
۱- تشخیص اندازه ی فیلدهای tag, set و word در آدرس ۳۲ بیتی
من کل جواب این سوال رو می تونم یکجا اعلام کنم ولی بهتر این هستش که مرحله اول رو خودتون انجام بدید و جواب اون رو بدست بیارید تا مرحله مرحله جلو بریم و مشکل اصلی توی حل این سوال پیدا بشه، منتظر جواب هستم.
راهنمایی: کل اندازه ادرس ۳۲ و ۲۱ خانه از آدرس مربوط به کش می باشد.

میزان سربار کش - shima_24 - 07 بهمن ۱۳۹۱ ۰۷:۵۲ ب.ظ

(۰۷ بهمن ۱۳۹۱ ۰۲:۰۴ ق.ظ)ansarirobo نوشته شده توسط:  
(05 بهمن ۱۳۹۱ ۰۷:۵۵ ب.ظ)shima_24 نوشته شده توسط:  بچه ها من با این سوال قسمت اخرش مشکل دارم.یعنی همش رو بلدم ولی سربار کش رو بلد نیستم

در یک پردازنده با قابلیت ادرس بدهی بایت و کلمه تعداد خطوط ادرس ۳۲ بیت است اگر از یک way set-4 با گنجایش MB 2 استفاده شده باشد با فرض اینکه در هر بار دسترسی به حافظه اصلی ۸ کلمه ازحافظه اصلی به کش منتقل شود میزان سربار کش چند بیت است؟
فرض کنید هر کلمه برابر ۴ بایت است

برای حل این مسئله چند مرحله باید طی بشه:
۱- تشخیص اندازه ی فیلدهای tag, set و word در آدرس ۳۲ بیتی
من کل جواب این سوال رو می تونم یکجا اعلام کنم ولی بهتر این هستش که مرحله اول رو خودتون انجام بدید و جواب اون رو بدست بیارید تا مرحله مرحله جلو بریم و مشکل اصلی توی حل این سوال پیدا بشه، منتظر جواب هستم.
راهنمایی: کل اندازه ادرس ۳۲ و ۲۱ خانه از آدرس مربوط به کش می باشد.
بیت های کش چون گفته ۲M میشه ۲۱^۲ پس c=21
۴-way هست یعنی ۲^۲ پس t=2
چون گفته هر کلمه ۴ بایت byte=2
دسترسی به حافظه ۸ کلمه هست پس بیتهای w=3
کل بیت های ادرس ۳۲ هست پس فیلد tag میشه :m-c+t یعنی ۲+۲۱-۳۲=۱۳
تعداد ست ها میشه : c-w-t-b یعنی ۲-۲-۳-۲۱ =۱۴

RE: میزان سربار کش - ansarirobo - 07 بهمن ۱۳۹۱ ۰۸:۳۱ ب.ظ

(۰۷ بهمن ۱۳۹۱ ۰۷:۵۲ ب.ظ)shima_24 نوشته شده توسط:  
(07 بهمن ۱۳۹۱ ۰۲:۰۴ ق.ظ)ansarirobo نوشته شده توسط:  
(05 بهمن ۱۳۹۱ ۰۷:۵۵ ب.ظ)shima_24 نوشته شده توسط:  بچه ها من با این سوال قسمت اخرش مشکل دارم.یعنی همش رو بلدم ولی سربار کش رو بلد نیستم

در یک پردازنده با قابلیت ادرس بدهی بایت و کلمه تعداد خطوط ادرس ۳۲ بیت است اگر از یک way set-4 با گنجایش MB 2 استفاده شده باشد با فرض اینکه در هر بار دسترسی به حافظه اصلی ۸ کلمه ازحافظه اصلی به کش منتقل شود میزان سربار کش چند بیت است؟
فرض کنید هر کلمه برابر ۴ بایت است

برای حل این مسئله چند مرحله باید طی بشه:
۱- تشخیص اندازه ی فیلدهای tag, set و word در آدرس ۳۲ بیتی
من کل جواب این سوال رو می تونم یکجا اعلام کنم ولی بهتر این هستش که مرحله اول رو خودتون انجام بدید و جواب اون رو بدست بیارید تا مرحله مرحله جلو بریم و مشکل اصلی توی حل این سوال پیدا بشه، منتظر جواب هستم.
راهنمایی: کل اندازه ادرس ۳۲ و ۲۱ خانه از آدرس مربوط به کش می باشد.
بیت های کش چون گفته ۲M میشه ۲۱^۲ پس c=21
۴-way هست یعنی ۲^۲ پس t=2
چون گفته هر کلمه ۴ بایت byte=2
دسترسی به حافظه ۸ کلمه هست پس بیتهای w=3
کل بیت های ادرس ۳۲ هست پس فیلد tag میشه :m-c+t یعنی ۲+۲۱-۳۲=۱۳
تعداد ست ها میشه : c-w-t-b یعنی ۲-۲-۳-۲۱ =۱۴

کاملا درسته، حالا مرحله بعد:
۲- آنچه به عنوان سربار در حافظه وجود دارد در واقع همان بیت های tag و valid هستش که برای هر بلوک اضافه شده
یعنی:
tag=13bit
valid=1bit

مقدار سربار = تعداد ست ها * تعداد بلوک ها در هر سطر از حافظه(همان ۴way) * (تعدا بیت های تگ + تعداد بیت ولید)
overhead= 2^14 * 2^2 * (13+1) = 2^17 * 7

باز هم اگر سوالی بود در خدمتم.

RE: میزان سربار کش - ansarirobo - 08 بهمن ۱۳۹۱ ۰۱:۵۶ ق.ظ

(۰۸ بهمن ۱۳۹۱ ۰۱:۵۴ ق.ظ)csharpisatechnology نوشته شده توسط:  اینی که شما حساب کردین سربار هست یا اندازه ی کل cache ؟

مقدار محاسبه شده فقط سربار هستش که اگه کل حافظه نیاز باشه باید با مقدار حافظه کش هم جمع شود.

میزان سربار کش - csharpisatechnology - 12 بهمن ۱۳۹۱ ۰۶:۱۵ ق.ظ

من اینطوری حساب کردم.
فرمت نگاشت مجموعه ای رو در نظر می گیریم:
set+index+word
-------------------------------
اندازه ی کش ۲ مگابایت یعنی ۲ به توان ۲۰ بایت .
هر سطر ۴ بلوک و هر بلوک ۸ کلمه و هر کلمه ۴ بایت است.پس:
اندازه ی هر سطر = ۱۲۸ بایت.
برای بدست آوردن تعداد کل سطرها باید اندازه ی کش رو به اندازه ی هر سطر تقسیم کنیم :
تعداد سطر ها یا مجموعه ها = ۲ به توان ۱۳ .
پس:
set=13
-------------------------------
تعداد بلوک ها = تعداد سطرها*تعداد بلوکهای هرسطر =(۲ به توان ۱۳ )*۴= ۲ به توان ۱۵
پس: index=15
-------------------------------
چون در هر بلوک ۸ کلمه داریم پس:
word=3
-------------------------------
حالا فرمت کلی رو در نظر می گیریم :
tag+index+word=32
پس:
tag+15+3=32
پس :
tag=14
--------------
حالا میریم تا سربار رو حساب کنیم:

به ازای هر سطر ۴ بلوک داریم و هر بلوک یک فیلد تگ ۱۴ بیتی و یک فیلد اعتبار ۱ بیتی دارد.
پس کلا داریم:
سربار=
[tex]2^{13}*4*(14 1)=491520bit[/tex]

تنها جایی که شک دارم اینه : فکر کردم چون ۸ کلمه هر بار به کش آورده میشه پس هر بلوک باید ۸ کلمه داشته باشه.(اگه اینو اشتباه کردم دوستان رفع اشکال بفرمایند)
لطفا درصورت امکان بگید سوال رو از کجا آوردین و گزینه ها چیا هستن تا ابهام برطرف بشه و بدونیم کدوم راه حل دوستان صحیح است.

میزان سربار کش - shima_24 - 12 بهمن ۱۳۹۱ ۰۹:۴۱ ق.ظ

از سوالات آزمونهای پارسه هست .آزمون ۱۰۰% اول

RE: میزان سربار کش - SHF - 12 بهمن ۱۳۹۱ ۱۱:۰۳ ق.ظ

(۰۷ بهمن ۱۳۹۱ ۰۷:۵۲ ب.ظ)shima_24 نوشته شده توسط:  
(07 بهمن ۱۳۹۱ ۰۲:۰۴ ق.ظ)ansarirobo نوشته شده توسط:  برای حل این مسئله چند مرحله باید طی بشه:
۱- تشخیص اندازه ی فیلدهای tag, set و word در آدرس ۳۲ بیتی
من کل جواب این سوال رو می تونم یکجا اعلام کنم ولی بهتر این هستش که مرحله اول رو خودتون انجام بدید و جواب اون رو بدست بیارید تا مرحله مرحله جلو بریم و مشکل اصلی توی حل این سوال پیدا بشه، منتظر جواب هستم.
راهنمایی: کل اندازه ادرس ۳۲ و ۲۱ خانه از آدرس مربوط به کش می باشد.
بیت های کش چون گفته ۲M میشه ۲۱^۲ پس c=21
۴-way هست یعنی ۲^۲ پس t=2
چون گفته هر کلمه ۴ بایت byte=2
دسترسی به حافظه ۸ کلمه هست پس بیتهای w=3
کل بیت های ادرس ۳۲ هست پس فیلد tag میشه :m-c+t یعنی ۲+۲۱-۳۲=۱۳
تعداد ست ها میشه : c-w-t-b یعنی ۲-۲-۳-۲۱ =۱۴

چرا c-w-t-b مگه نباید باشه c-w-t

RE: میزان سربار کش - ansarirobo - 12 بهمن ۱۳۹۱ ۱۲:۴۹ ب.ظ

(۱۲ بهمن ۱۳۹۱ ۰۶:۱۵ ق.ظ)csharpisatechnology نوشته شده توسط:  من اینطوری حساب کردم.
فرمت نگاشت مجموعه ای رو در نظر می گیریم:
set+index+word
-------------------------------
اندازه ی کش ۲ مگابایت یعنی ۲ به توان ۲۰ بایت .
هر سطر ۴ بلوک و هر بلوک ۸ کلمه و هر کلمه ۴ بایت است.پس:
اندازه ی هر سطر = ۱۲۸ بایت.
برای بدست آوردن تعداد کل سطرها باید اندازه ی کش رو به اندازه ی هر سطر تقسیم کنیم :
تعداد سطر ها یا مجموعه ها = ۲ به توان ۱۳ .
پس:
set=13
-------------------------------
تعداد بلوک ها = تعداد سطرها*تعداد بلوکهای هرسطر =(۲ به توان ۱۳ )*۴= ۲ به توان ۱۵
پس: index=15
-------------------------------
چون در هر بلوک ۸ کلمه داریم پس:
word=3
-------------------------------
حالا فرمت کلی رو در نظر می گیریم :
tag+index+word=32
پس:
tag+15+3=32
پس :
tag=14
--------------
حالا میریم تا سربار رو حساب کنیم:

به ازای هر سطر ۴ بلوک داریم و هر بلوک یک فیلد تگ ۱۴ بیتی و یک فیلد اعتبار ۱ بیتی دارد.
پس کلا داریم:
سربار=
[tex]2^{13}*4*(14 1)=491520bit[/tex]

تنها جایی که شک دارم اینه : فکر کردم چون ۸ کلمه هر بار به کش آورده میشه پس هر بلوک باید ۸ کلمه داشته باشه.(اگه اینو اشتباه کردم دوستان رفع اشکال بفرمایند)
لطفا درصورت امکان بگید سوال رو از کجا آوردین و گزینه ها چیا هستن تا ابهام برطرف بشه و بدونیم کدوم راه حل دوستان صحیح است.

یک سوال، ۲MB فکر می کنید میشه ۲۱^۲ یا ۲۰^۲ ؟

(۱۲ بهمن ۱۳۹۱ ۱۱:۰۳ ق.ظ)SHF نوشته شده توسط:  
(07 بهمن ۱۳۹۱ ۰۷:۵۲ ب.ظ)shima_24 نوشته شده توسط:  
(07 بهمن ۱۳۹۱ ۰۲:۰۴ ق.ظ)ansarirobo نوشته شده توسط:  برای حل این مسئله چند مرحله باید طی بشه:
۱- تشخیص اندازه ی فیلدهای tag, set و word در آدرس ۳۲ بیتی
من کل جواب این سوال رو می تونم یکجا اعلام کنم ولی بهتر این هستش که مرحله اول رو خودتون انجام بدید و جواب اون رو بدست بیارید تا مرحله مرحله جلو بریم و مشکل اصلی توی حل این سوال پیدا بشه، منتظر جواب هستم.
راهنمایی: کل اندازه ادرس ۳۲ و ۲۱ خانه از آدرس مربوط به کش می باشد.
بیت های کش چون گفته ۲M میشه ۲۱^۲ پس c=21
۴-way هست یعنی ۲^۲ پس t=2
چون گفته هر کلمه ۴ بایت byte=2
دسترسی به حافظه ۸ کلمه هست پس بیتهای w=3
کل بیت های ادرس ۳۲ هست پس فیلد tag میشه :m-c+t یعنی ۲+۲۱-۳۲=۱۳
تعداد ست ها میشه : c-w-t-b یعنی ۲-۲-۳-۲۱ =۱۴

چرا c-w-t-b مگه نباید باشه c-w-t

من که هیچ وقت فرمول حفظ نمی کنم که به این موارد توجه کنم ولی چون شما پرسیدید باید بگم که بیت های مربوط به آدرس دهی کش در این سوال شامل ۲ بیت اضافه
برای آدرس دهی به بایت هم هستند چونکه در سوال آمده به بایت هم آدرس دهی می شود پس در فرمول عادی باید یک b هم اضافه کرد که کامل شود،یعنی:
۲ بیت برای آدرس بایت + ۳ بیت برای آدرس کلمه + ۱۴ بیت برای آدرس ست + ۱۳ بیت برای آدرس تگ = کلا یک آدرس ۳۲ بیتی

یا

تعداد ست ها = تعداد کل بیت های کش(۲۱^۲) تقسیم بر تعداد بلوک در هر سطر (۲^۲) تقسیم بر تعداد کلمه در هر بلوک (۳^۲) تقسیم بر تعداد بایت در هر کلمه(۲^۲)

(۱۲ بهمن ۱۳۹۱ ۰۶:۱۵ ق.ظ)csharpisatechnology نوشته شده توسط:  من اینطوری حساب کردم.
فرمت نگاشت مجموعه ای رو در نظر می گیریم:
set+index+word
-------------------------------
اندازه ی کش ۲ مگابایت یعنی ۲ به توان ۲۰ بایت .
هر سطر ۴ بلوک و هر بلوک ۸ کلمه و هر کلمه ۴ بایت است.پس:
اندازه ی هر سطر = ۱۲۸ بایت.
برای بدست آوردن تعداد کل سطرها باید اندازه ی کش رو به اندازه ی هر سطر تقسیم کنیم :
تعداد سطر ها یا مجموعه ها = ۲ به توان ۱۳ .
پس:
set=13
-------------------------------
تعداد بلوک ها = تعداد سطرها*تعداد بلوکهای هرسطر =(۲ به توان ۱۳ )*۴= ۲ به توان ۱۵
پس: index=15
-------------------------------
چون در هر بلوک ۸ کلمه داریم پس:
word=3
-------------------------------
حالا فرمت کلی رو در نظر می گیریم :
tag+index+word=32
پس:
tag+15+3=32
پس :
tag=14
--------------
حالا میریم تا سربار رو حساب کنیم:

به ازای هر سطر ۴ بلوک داریم و هر بلوک یک فیلد تگ ۱۴ بیتی و یک فیلد اعتبار ۱ بیتی دارد.
پس کلا داریم:
سربار=
[tex]2^{13}*4*(14 1)=491520bit[/tex]

تنها جایی که شک دارم اینه : فکر کردم چون ۸ کلمه هر بار به کش آورده میشه پس هر بلوک باید ۸ کلمه داشته باشه.(اگه اینو اشتباه کردم دوستان رفع اشکال بفرمایند)
لطفا درصورت امکان بگید سوال رو از کجا آوردین و گزینه ها چیا هستن تا ابهام برطرف بشه و بدونیم کدوم راه حل دوستان صحیح است.

چونکه ۲ مگ رو ۲۰^۲ گرفتی تعداد بیت ست شده ۱۳ بیت در حالی که ۱۴ بیت درست هستش و بازهم به همین دلیل ۱۴ بیت برای تگ بدست اومده که
۱۳ بیت باید باشه پس باید در انتها مقدار سربار می شود:
۱۴^۲ * ۲^۲ * (۱۳+۱)

(۱۲ بهمن ۱۳۹۱ ۰۹:۴۱ ق.ظ)shima_24 نوشته شده توسط:  از سوالات آزمونهای پارسه هست .آزمون ۱۰۰% اول

حالا که منبع هم پیدا شد خوبه که یک سری هم به جواب خود پارسه بزنیم ببینیم که با جواب من تطابق داره یا نه، البته من جواب رو با نفر ۱۰ کنکور سال قبل هم چک کردم ولی بازهم احتیاط بشه اشکالی نداره.

میزان سربار کش - shima_24 - 12 بهمن ۱۳۹۱ ۰۱:۳۲ ب.ظ

(۱۲ بهمن ۱۳۹۱ ۱۲:۴۹ ب.ظ)ansarirobo نوشته شده توسط:  یک سوال، ۲MB فکر می کنید میشه ۲۱^۲ یا ۲۰^۲ ؟

خب میشه ۲۱^۲ چون ۱M برابر ۲۰^۲ هست و در ۲ هم ضرب شده پس میشه ۲۱^۲

RE: میزان سربار کش - ansarirobo - 12 بهمن ۱۳۹۱ ۰۱:۳۳ ب.ظ

(۱۲ بهمن ۱۳۹۱ ۰۹:۴۱ ق.ظ)shima_24 نوشته شده توسط:  از سوالات آزمونهای پارسه هست .آزمون ۱۰۰% اول

خودم جواب رو از توی پاسخنامه پارسه چک کردم، کاملا درست بود، اگه می خواید جواب رو ببینید به لینک زیر برید و سوال ۸۶ رو نگاه کنید:


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


میزان سربار کش - csharpisatechnology - 12 بهمن ۱۳۹۱ ۱۱:۳۱ ب.ظ

این فرمت توی حالت انجمنی بدست آوردم: tag+way+index+word=32
-------------------
index از این راه بدست میاد :
( بیت های لازم برای آدرس دهی کل بلوک ها ) منهای (تعداد بیت های لازم برای انتخاب راه ها)
-------------------
اندازه کش میشه ۲ مگا بایت یعنی ۲* (۲ به توان ۲۰) = ۲ به توان ۲۱ که شما درست می گید.
اندازه ی هر سطر یا مجموعه = ۱۲۸ بایت = ۲ به توان ۷
تعداد مجموعه های کش =( اندازه ی کش) تقسیم بر (اندازه ی هر مجموعه )
(۲ به توان ۲۱) تقسیم بر (۲ به توان ۷) = ۲ به توان ۱۴ . پس:
تعداد مجموعه ها=۲ به توان ۱۴
set=14
---------------
هر مجموعه ۴ بلوک دارد پس:
تعداد کل بلوک ها = تعداد مجموعه * ۴ = (۲ به توان ۱۴)*۴= ۲ به توان ۱۶
---------------
way=lg4=2
---------------
word=lg8=3
--------------
index=16-2=14
--------------
از طرق فرمول ۳۲=way+tag+index+word باید تگ رو بدست بیاریم.
۳۲=tag+2+14+3
پس اندازه ی هر فیلد تگ میشه :
tag=13
----------
بیت valid هم ۱ بیت هست.
------------
به ازای هر بلوک،باید tag+valid بیت داشته باشیم پس تعداد کل میشه :
تعداد بلوک ها * ( tag+valid)
یعنی :
(۲ به توان ۱۶)*(۱+۱۳)=۹۱۷۵۰۴ بیت
حاصل رو تقسیم بر ۱۰۲۴ می کنیم میشه :
۸۹۶ کیلوبیت

RE: میزان سربار کش - ansarirobo - 12 بهمن ۱۳۹۱ ۱۱:۳۸ ب.ظ

(۱۲ بهمن ۱۳۹۱ ۱۱:۳۱ ب.ظ)csharpisatechnology نوشته شده توسط:  دو تا فرمت توی حالت انجمنی بدست آوردم:

set+way+block+word=32
tag+way+index+word=32

block تعداد کل بلوک ها رو نشون میده
----
اندازه کش میشه ۲ مگا بایت یعنی ۲* (۲ به توان ۲۰) = ۲ به توان ۲۱ که شما درست می گید.
اندازه ی هر سطر یا مجموعه = ۱۲۸ بایت = ۲ به توان ۷
تعداد مجموعه های کش =( اندازه ی کش) تقسیم بر (اندازه ی هر مجموعه )
(۲ به توان ۲۱) تقسیم بر (۲ به توان ۷) = ۲ به توان ۱۴ . پس:
تعداد مجموعه ها=۲ به توان ۱۴
set=14
---------------
هر مجموعه ۴ بلوک دارد پس:
تعداد کل بلوک ها = تعداد مجموعه * ۴ = (۲ به توان ۱۴)*۴= ۲ به توان ۱۶
---------------
way=lg4=2
---------------
word=lg8=3
--------------
از طرق فرمول ۳۲=way+tag+index+word باید تگ رو بدست بیاریم.
از اونجایی که ۴way هست پس ۲ بیت از ایندکس باید برای way باشه و index=16-2=14
پس :
۳۲=tag+2+14+3
پس اندازه ی هر فیلد تگ میشه :
tag=13
----------
بیت valid هم ۱ بیت هست.
------------
به ازای هر بلوک،باید tag+valid بیت داشته باشیم پس تعداد کل میشه :
تعداد بلوک ها * ( tag+valid)
یعنی :
(۲ به توان ۱۶)*(۱+۱۳)=۹۱۷۵۰۴ بیت
حاصل رو تقسیم بر ۱۰۲۴ می کنیم میشه :
۸۹۶ کیلوبیت

احسنت، حالا شد، ولی همیشه یادتون باشه که take it easy، اینقدر فرمول و سختگیری نمی خواد