۰
subtitle
ارسال: #۱
سوال IT 89 : اندازه فیلد tag
دوستان لطفا کمک کنید من گیج شدم این۴*۸*۴ یعنی چی؟ و ۲ داخل پرانتز تعداد بیت چی هستش؟
![[تصویر: 321593_60970078653137005239.png]](https://img.manesht.ir/321593_60970078653137005239.png)
(۲۲ آذر ۱۳۹۳ ۰۲:۴۴ ب.ظ)Hamid_0311 نوشته شده توسط: با سلام دوست عزیز میشه به چند حالت توضیحش داد متاسفانه بعضی کتاب ها فقط سعی می کنن یک فرمول بگن و دانشجو هم همونو حفظ می کنه بدون اینکه اثباتشو بفهمه و اگر یکم سوالو بپیچونن دیگه نمی تونه باهاش سوالو حل کنه اگر بفهمیدش خودتون راحت می تونید براش فرمولو بنویسید
خوب مساله داره میگه که ادرس های که پردازنده تولید می کنه ۶۴ بیتی هست و میگه که اندازه هر بلاک کش ۸ کلمه ای است یعنی ۲ به توان ۳ پس برای ۸ تا کلمه به ۳ بیت نیاز داریم پس ۳ بیت سمت راست این ۶۴ بیت مشخص کننده اینکه که کدوم کلمه ی کش هستش
خوب حالا گفته که اندازه کل حافظه کش ۲۵۶ کیلو بایت یعنی ۲ به توان ۱۸ پس ادرس های کش ۱۸ بیتی است حالا باید ببینیم توی این حافظه چندتا بلاک می تونیم تشکیل بدهیم پس ۲ به توان ۱۸ تقسیم بر ۲ به توان ۳ یعنی همون اندازه بلاک که ۸ هست میشه تا تعداد بلاک کش به دست بیاد که میشه ۲ به توان ۱۵
خوب حالا می خواهیم بدونیم این ۲ به توان ۱۵ تا بلاکی که داریم توی چند تا مجموعه می تونیم جا بدهیم توی سوال گفته ۴ way پس ۲ به توان ۱۵ تقسیم بر ۴ که همون ۲ به توان ۲ هست میشه ۲ به توان ۱۳ خوب مساله حل شد چطوری ؟ می دونیم که فرمت ادرس تولیدی به این شکل هست که
tag-set-word
خوب word که فهمیدیم ۳ بیتی است
set هم ۱۳ بیتی است پس ۱۶ بیت از ۶۴ بیت رفت و باقیمنانده هم میشه tag
این یک روش بود
روش تستی
اگر ادرس های تولیدی پردازنده m بیتی باشن
اگر way توانی از ۲ باشه که اینجا هست و فرض کنیم که way به صورت ۲ به توان t بنویسیم
و کلمه و اندازه بلاک هم ۲ به توان w
و اندازه کش هم ۲ به توان C باشه
داریم
تعداد بیت تگ = m-c+t
تعداد بیت ست = c-w-t
تعداد بیت کلمه هم = w
امیدوارم متوجه شده باشید یکم تو انجمن توضیح دادن سخته
دقت کنید معماری مثل منطقی نیست که روال تکراری باشه و باید تجزیه تحلیلشون کنید اگر خوب متوجه نشید نمی تونید تستاشو خوب بزنید و غلط میزنید
موفق باشید.
(۲۲ آذر ۱۳۹۳ ۰۱:۲۰ ب.ظ)King2 نوشته شده توسط: به نظرم ۴*۸*۴ به این دلیله که ما درهرمجموعه ۴ بلوک داریم وهربلوک ۸ کلمه وهرکلمه ۴ بایت است.پس حاصل کسرنوشته شده تعداد مجموعه ها رومی ده.درداخل پرانتز ۱۱ بیت برای انتخاب مجموعه،۳ بیت هم برای انتخاب کلمه است.اما کوچکترین واحد آدرس دهی بایت است ودرهر کلمه ۴ بایت داریم.پس ۲ بیت هم برای آدرس دهی بایت درکلمه.البته به نظرم باید یک بیت هم برای validبودن یا نبودن کناربگذاریم.
(۲۲ آذر ۱۳۹۳ ۰۲:۳۰ ب.ظ)M4$0UD نوشته شده توسط:(22 آذر ۱۳۹۳ ۰۱:۲۰ ب.ظ)King2 نوشته شده توسط: به نظرم ۴*۸*۴ به این دلیله که ما درهرمجموعه ۴ بلوک داریم وهربلوک ۸ کلمه وهرکلمه ۴ بایت است.پس حاصل کسرنوشته شده تعداد مجموعه ها رومی ده.درداخل پرانتز ۱۱ بیت برای انتخاب مجموعه،۳ بیت هم برای انتخاب کلمه است.اما کوچکترین واحد آدرس دهی بایت است ودرهر کلمه ۴ بایت داریم.پس ۲ بیت هم برای آدرس دهی بایت درکلمه.البته به نظرم باید یک بیت هم برای validبودن یا نبودن کناربگذاریم.
جوابت کاملا درسته اما قسمت آخرش اشتباه کردی. بیتی که مربوط به valid بودن هست در آدرس نقشی نداره و در واقع داخل کش ذخیره میشه.