۱
subtitle
ارسال: #۱
  
درصدنقصان در نگاشت مجموعه ای(it 85)
لطفا بگید درصد نقصان تو این سوال چجوری بدست میاد و اگر از روش directخواسته بود چی میشد؟
لطفا اگه ممکنه کاملا تشریحی بگید(سوال ۳۷ پوران)
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
لطفا اگه ممکنه کاملا تشریحی بگید(سوال ۳۷ پوران)
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۱
ارسال: #۲
  
RE: درصدنقصان در نگاشت مجموعه ای(it 85)
همانطوری که دوستمون گفتن در نگاشت ۲-way جا برای همه آدرس ها هست!
دفعه اول که با آدرس FF00 کار داریم، miss اتفاق می افته و به دلیل اینکه هر بلوک ۱۶ بایت هست پس از آدرس FF00 تا FF0F را در یک حرکت به cache می آوریم و در set0 میگذاریم، آدرسهای بعدی در کش هست تا به آدرس ۵F00 میرسیم و دوباره miss اتفاق می افته، اینبار بلوک ۱۶ بایتی از اطلاعات از حافظه به کش آورده میشه یعنی از ۵F00 تا ۵F0F. اینبار به دلیل اینکه آدرس دهی ۲-way هست و یه set خالی داریم اینبار این بلوک در set1 گذاشته میشود. در تکرارهای بعدی این دستورات، همگی در کش هستند و دیگر miss اتفاق نمی افتد. یعنی از ۱۰۰ آدرس در تکرار حلقه ها فقط ۲ نقص صفحه خواهیم داشت.
دقت کنید که در حالت direct مجموعه ها (set) ها وجود ندارند . دفعه اول که در برخورد با FF00 نقص صفحه اتفاق می افته، آدرس های FF00-FF0F به کش آورده میشه و آدرس های بعدی در کش هست تا به ۵F00 میرسیم و اینبار هم دوباره بلاک ۱۶تایی از حافظه به کش آورده میشه ولی در همان بلاک صفر قرار می گیرد، یعنی آدرس های ۵F00-5F0F جایگزین آدرس های FF00-FF0F میشه. پس در دور اول ۲ تا نقص داشتیم، در دور دوم هم به دلیل نبود آدرس ff00 این روند ادامه داره و در هر تکرار آدرسها، ۲ نقص صفحه داریم. در مجموع ۲ * ۱۰ = ۲۰ نقص که با نسبت ۱۰۰ دستور کل، درصد نقص صفحه میشه ۲۰ %
شکلش رو هم کشیدم واستون.
دفعه اول که با آدرس FF00 کار داریم، miss اتفاق می افته و به دلیل اینکه هر بلوک ۱۶ بایت هست پس از آدرس FF00 تا FF0F را در یک حرکت به cache می آوریم و در set0 میگذاریم، آدرسهای بعدی در کش هست تا به آدرس ۵F00 میرسیم و دوباره miss اتفاق می افته، اینبار بلوک ۱۶ بایتی از اطلاعات از حافظه به کش آورده میشه یعنی از ۵F00 تا ۵F0F. اینبار به دلیل اینکه آدرس دهی ۲-way هست و یه set خالی داریم اینبار این بلوک در set1 گذاشته میشود. در تکرارهای بعدی این دستورات، همگی در کش هستند و دیگر miss اتفاق نمی افتد. یعنی از ۱۰۰ آدرس در تکرار حلقه ها فقط ۲ نقص صفحه خواهیم داشت.
دقت کنید که در حالت direct مجموعه ها (set) ها وجود ندارند . دفعه اول که در برخورد با FF00 نقص صفحه اتفاق می افته، آدرس های FF00-FF0F به کش آورده میشه و آدرس های بعدی در کش هست تا به ۵F00 میرسیم و اینبار هم دوباره بلاک ۱۶تایی از حافظه به کش آورده میشه ولی در همان بلاک صفر قرار می گیرد، یعنی آدرس های ۵F00-5F0F جایگزین آدرس های FF00-FF0F میشه. پس در دور اول ۲ تا نقص داشتیم، در دور دوم هم به دلیل نبود آدرس ff00 این روند ادامه داره و در هر تکرار آدرسها، ۲ نقص صفحه داریم. در مجموع ۲ * ۱۰ = ۲۰ نقص که با نسبت ۱۰۰ دستور کل، درصد نقص صفحه میشه ۲۰ %
شکلش رو هم کشیدم واستون.
۱
ارسال: #۳
  
RE: درصدنقصان در نگاشت مجموعه ای(it 85)
ببینید ما بلوک های ۱۶ بایتی ( ۱۶*۸ بیت)داریم و آدرس های ۱۶ بیتی پس "در هر بلاک ۸ تا آدرس" جا میگیره
کافیه set و tag اون ارجاعات رو محاسبه و ببینید همه در مجموعه صفرند ولی با ۲ نوع tag متفاوت، و از اونجاییکه نگاشتمون ۲-way هست پس برای هر ۲ نوع tag جا هست
پس فقط به ازای ff00 و ۵f00 نقصان داریم و با اوردن بلوک اون ها به کش ناخواسته باقی آدرس ها هم اوردیم پس میشه ۲% miss
اما در مورد direct چون شماره بلاک کش (یا همون set حالت قبل) ff00 و ۵f00 برابره در صورت ورود هر کدام بلاک دیگری بیرون میره پس در هر بار ۲ نقصان داریم که در ۱۰ بار میشه بعبارتی ۲۰%
ببخشید اگه نتونستم بهتر از این توضیح بدم
کافیه set و tag اون ارجاعات رو محاسبه و ببینید همه در مجموعه صفرند ولی با ۲ نوع tag متفاوت، و از اونجاییکه نگاشتمون ۲-way هست پس برای هر ۲ نوع tag جا هست
پس فقط به ازای ff00 و ۵f00 نقصان داریم و با اوردن بلوک اون ها به کش ناخواسته باقی آدرس ها هم اوردیم پس میشه ۲% miss
اما در مورد direct چون شماره بلاک کش (یا همون set حالت قبل) ff00 و ۵f00 برابره در صورت ورود هر کدام بلاک دیگری بیرون میره پس در هر بار ۲ نقصان داریم که در ۱۰ بار میشه بعبارتی ۲۰%
ببخشید اگه نتونستم بهتر از این توضیح بدم
۰
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close