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

متوسط زمان دستیابی - ابراهیم۱ - ۱۳ دى ۱۳۹۱ ۰۵:۲۹ ب.ظ

سلام خسته نباشید
این سوال اگه کسی میتونه توضیح بده من نفهیمدم
مهندسی کامپیوتر ۸۷:
حافظه اصلی دارای حجم بایت ۲^۲۰ (دو به توان بیست) بایت است حافظه کش دارای از نوع نگاشت مستقیم دارای ۲^۱۴ (دو به توان ۱۴) بایت است بلوکهای حافظه ۱۶بایت است خواندن اطلاعات از حافظه نهان ۱نانو ثانیه طول میکشدو خواندن هربلوک از حافظه اصلی به ۴۰نانو ثانیه نیاز دارد رشته ادرسها زیر توسط پردازنده خوانده میشود وابتدا حافظه تهی است
همگی در مبنای ۱۶ هستند
۰۱۰۰۰,۰۱۰۰۱,۰۱۰۰۲,۵۹۰۰۰,۵۹۰۰f,01003,56780,5678f,56790,56791
متوسط زمان دستیابی به رشته های ادرس فوق چند ثانیه است؟ (پاسخ گزینه ۳)
۱)۱ ۲)۱۱ ۳)۲۱ ۴)۴۰

میخام نحوه hit ,mis بدنم

RE: متوسط زمان دستیابی - mp1368 - 14 دى ۱۳۹۱ ۰۲:۵۴ ب.ظ

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

حافظه کش دارای [tex]2^{14}[/tex] بایت میباشد که به بلاک های ۱۶ بایتی تقسیم شده است پس [tex]\frac{2^{14}}{2^{4}} = 2^{10}[/tex] بلاک در کش داریم و همون طور که میدونیم برای آدرس دهی این تعداد بلاک کش به ۱۰ بیت نیاز داریم و هر بلاک نیز به چهار بیت برای آدرس دهی بایت هایش نیاز دارد . خب با توجه به اعداد که در مسئله داده شده در شکل زیر به صورت تصویری تقسیم بیتهای هر آدرس رو تشریح کرده ایم

[attachment=8719]

خب حالا باید به این نکته توجه کنیم که به ازای ورود هر بلاک به کش ۱۶ خانه از حافظه ی اصلی درون اون بلاک به کش وارد میشه که معادل ۰ تا F چهار بیت پایین آدرس هستش. حالا باید توجه داشت که دو آدرس ۰۱۰۰۰H و ۵۹۰۰۰H دارای یک ایندکس همسان هستن

[attachment=8720]

با توجه به این نکات گفته شده در ادامه برخورد یا عدم برخورد هر خانه رو بررسی میکنیم

۱ ) ۰۱۰۰۰H : در کش وجود ندارد Miss پس باید بلاک حاوی این خانه به کش وارد شود

با ورود این بلاک حاوی این خانه تمام خانه های با شماره های زیر به بلاک ۵۱۲ کش نگاشت میشوند (به عکس بالا نگاه کنید)

[tex]01000H$ - $ 01001H$ - $ 01002H$ - $ 01003H$ - $ 01004H$ - $ 01005H$ - $ 01006H$ - $ 01007H$ - $ 01008H$ - $ 01009H$ - $ 0100AH$ - $ 0100BH$ - $ 0100CH$ -$ 0100DH$ -$ 0100EH$ - $ 0100FH$[/tex]

۲ ) ۰۱۰۰۱H : در کش وجود دارد پس Hit


۳ ) ۰۱۰۰۲H : در کش وجود دارد پس Hit


۴) ۵۹۰۰۰H : در کش وجود ندارد Miss پس باید بلاک حاوی این خانه به کش وارد شود و چون هم ایندکس بلاک بالایی بود پس بلاک حاوی این خانه به جای بلاک بالا در کش نگاشت میشود .

با ورود این بلاک حاوی این خانه تمام خانه های با شماره های زیر به بلاک ۵۱۲ کش نگاشت میشوند (به عکس بالا نگاه کنید)
[tex]59000H$ - $ 59001H$ - $ 59002H$ - $ 59003H$ - $ 59004H$ - $ 59005H$ - $ 59006H$ - $ 59007H$ - $ 59008H$ - $ 59009H$ - $ 5900AH$ - $ 5900BH$ - $ 5900CH$ -$ 5900DH$ -$ 5900EH$ - $ 5900FH$[/tex]


۵) ۵۹۰۰FH : در کش وجود دارد پس Hit

۶ ) ۰۱۰۰۳H : در کش وجود ندارد Miss پس باید بلاک حاوی این خانه به کش وارد شود

[tex]01000H$ - $ 01001H$ - $ 01002H$ - $ 01003H$ - $ 01004H$ - $ 01005H$ - $ 01006H$ - $ 01007H$ - $ 01008H$ - $ 01009H$ - $ 0100AH$ - $ 0100BH$ - $ 0100CH$ -$ 0100DH$ -$ 0100EH$ - $ 0100FH$[/tex]


۷ ) ۵۶۷۸۰H : در کش وجود ندارد Miss پس باید بلاک حاوی این خانه به کش وارد شود

[tex]56780H$ - $ 56781H$ - $ 56782H$ - $ 56783H$ - $ 56784H$ - $ 56785H$ - $ 56786H$ - $ 56787H$ - $ 56788H$ - $ 56789H$ - $ 5678AH$ - $ 5678BH$ - $ 5678CH$ -$ 5678DH$ -$ 5678EH$ - $ 5678FH$[/tex]


۸ ) ۵۶۷۸FH : در کش وجود دارد پس Hit

۹ ) ۵۶۷۹۰H : در کش وجود ندارد Miss پس باید بلاک حاوی این خانه به کش وارد شود

[tex]56790H$ - $ 56791H$ - $ 56792H$ - $ 56793H$ - $ 56794H$ - $ 56705H$ - $ 56796H$ - $ 56797H$ - $ 56798H$ - $ 56799H$ - $ 5679AH$ - $ 5679BH$ - $ 5679CH$ -$ 5679DH$ -$ 5679EH$ - $ 5679FH$[/tex]


۱۰ ) ۵۶۷۹۱H : در کش وجود دارد پس Hit

همون طوری که دیدیم از کل ۱۰ ارجاع ۵ تا Hit داشتیم پس :

[tex]HitRatio= \frac{NumberHit}{AllRefrence} = \frac{5}{10}= 0.5[/tex]

[tex]Time$ Access= Hit$ Ratio * 1^{ns} (1-Hit Ratio)* 40^{ns} = 0.5*1^{ns} 0.5*40^{ns}=21ns[/tex]