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

نسخه‌ی کامل: حافظه cache، علوم کامپیوتر 81
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
در یک سیستم که یک حافظه اصلی و یک کش با ساختار نگاشت مستقیم دارد:
-داده مربوط به کش: 64 کیلو بایت
-تعداد خطوط آدرس: ۳۰
-اندازه هر بلاک کش: 32 بیت
حافظه لازم برای کل کش را حساب کنید.

در پاسخ کتاب پوران تعداد بلاکها که 2 به توان 14 میشه رو بدست اوورده سپس از طریق فرمول زیر تعداد بیتهای کش را حساب کرده که اشکال اصلی من همین فرموله:
block+ word) index bit's count = log 64 kbyte = 16] so tag = 14 bit)]

پ.ن:سوال ۲۶ از فصل سازمان حافظه پوران
(05 آذر 1393 08:18 ب.ظ)ldns0098 نوشته شده توسط: [ -> ]در یک سیستم که یک حافظه اصلی و یک کش با ساختار نگاشت مستقیم دارد:
-داده مربوط به کش: ۶۴ کیلو بایت
-تعداد خطوط آدرس: ۳۰
-اندازه هر بلاک کش: ۳۲ بیت
حافظه لازم برای کل کش را حساب کنید.

در پاسخ کتاب پوران تعداد بلاکها که ۲ به توان ۱۴ میشه رو بدست اوورده سپس از طریق فرمول زیر تعداد بیتهای کش را حساب کرده که اشکال اصلی من همین فرموله:
block+ word) index bit's count = log 64 kbyte = 16] so tag = 14 bit)]

پ.ن:سوال ۲۶ از فصل سازمان حافظه پوران


نکته ای که در مورد این جور سوالا باید در نظر گرفت اینه که داده های ذخیره شده در هر بلاک کش شامل data,tag,v می باشند
باید توجه کرد که tag و v به ازا هر بلاک ذخیره میشوند( کاری به این نداریم که بلاک چند کلمه است و یا یا اینکه در هر مجموعه چند بلاک است)
پس برای اینکه حجم کل tagها و حجم کل vها را بدست بیاریم باید تعداد بلاک های را داشته باشیم
پس حجم کل کش از سه قسمت تشکیل شده است
1-حجم مربوط به data
2-حجم مربوط به tag
3-حجم مربوط به v

خود سوال حجم داده گفته 64 کیلو بایت
پس فقط کافیه تعداد بلاک ها را بدست آوره ضربدر تعداد بیت tag + تعداد بلاگ ضربدر بیت v که یک بیت می باشد
اندازه هر بلاک 32 بیت یا 4 بایت میباشد پس تعداد بلاک هایمان می شود حجم داده بلاک بر حسب بایت تقسیم به 4
که اگر 64 کیلوبایت را تقسیم به 4 کنیم میشود 2 به توان 14 (2 به توان 16 بایت تقسیم به 2 به توان 2)
پس تعداد بلاک هایمان شد 2 به توان 14
حالا باید تعداد بیت های تک رو بدست بیاوریم
گفتیم که آدرس در نگاشت مستقیم شامل سه قسمت می باشد
1- word که برای آدرس دهی بایت های داخل بلاک بکار میرود. در این سوال هر بلاک شامل 4 بایت است پس word می شود 2 بیت
2- block in cache که برای آدرس دهی بلاک های داخل کش بکار میرود. در این جا 2 به توان 14 بلاک داریم پس این قسمت 14 بیتی می شود
3- قسمت مربوط به tag . که بقیه بیت ها مربوط به tag می باشند
خود سوال گفته آدرس ها 30 بیتی هستند که اگه بیت های مربوط به word و block که جمعا 16 بیت هستند رو ازش کم کنیم میماند 14 بیت
یعنی tag در این سوال 14 بیتی است.
پس حجم کل کش:
1-قسمت مربوط به داده که خود سوال گفته 64 کیلو بایت اما چون گزینه ها بر حسب کیلوبیت هستند. این را به بیت تبدیل میکنیم
2-قسمت مربوط به tag که گفتیم میشود تعداد بلاک ضربدر تعداد بیت های tag یعنی می شود 2 به توان 14 ضربدر 14 بیت
3-قسمت مربطو به v که می شود تعداد بلاک ضربدر تعداد بیت v که یک بیت است
اگه این سه قسمت رو باهم جمع کنیم می شوند 752 کیلو بیت

امیدوارم خوب توضیح داده باشم
دستتون درد نکنه.چقدر این پوران بد گفته.شما فقط باید استاد دانشگاه شین...نوشتنتون که اینه بیانتون چه خوبه....

فقط من همیشه یه سوال دارم 4 بایت یعنی در هر بلاک 4 کلمه داریم؟ که با دو ببت معلوم میشن؟
یا 4 بایت را نمیگیریم 32 بیت که هر بلاک 32 بیت شه و 5 بیت بخواد واسه ادرس دهی؟ اینجا رو قاطی کردم...حقیقتش مفهمو کلمه را درست فکر کنم نفهمیدم ...
لینک مرجع