02 تير 1395, 04:05 ب.ظ
03 تير 1395, 03:40 ق.ظ
(02 تير 1395 04:05 ب.ظ)jionelmessi نوشته شده توسط: [ -> ]با سلام
ی موردی داخل این روش برای من نا مفهومه اونم قسمت tag است
اصلا واقعا دلیل استفاده از tag چیست
tag واسه این هست که برای بلوکهای حافظه که به یک بلوک مشترک از کش نگاشت میشن، تمییز قائل بشیم.
فرض کنید 100 تا بلوک حافظه دارید ولی کش 10 تا بلوک داره. توو حالت direct map میاید میگید که خونهای از حافظه که میخواد وارد کش بشه رو، باقیمانده به 10 رو حساب کنیم و توو اون خونه بنویسیم. یعنی مثلاً خونهی 52ی حافظه به 2ی کش میره، 74 میره به 4 و ...
حالا فرض کنید میخواید بدونید که خونهی 52 از حافظه، آیا داخل کش قرار داره یا نه. خب میدونید که باید به خونهی 2 کش نگاه کنید اما این خونهی 2، ممکن هست به 12، 32، 92 و هر عددی از 0 تا 100 که باقیماندهش به 10، دو هست متعلق باشه. پس چنتا بیت دیگه هم برای تمییز قائل شدن میخواید. برای اینکار از tag استفاده میکنند. مثلاً شما میگید وقتی خونهی 52 رو وارد خونهی 2 از کش کردم، توو بیتهای tag بنویسم 5 که بعداً متوجه بشم این به 52 متعلق هست و نه مثلاً به 12 و 32 و ... اینطوری وقتی درخواست به 52 اومد، شما میدونید که به 2ی کش باید نگاه کنید و علاوه بر اون، بیتهای tag هم باید 5 باشند.
04 تير 1395, 03:19 ب.ظ
بسیار عالی قشنگ فهمیدم مرسی