|
|
حافظه- کامپیوتر ۸۷ - نسخهی قابل چاپ |
|
حافظه- کامپیوتر ۸۷ - viase - 02 فروردین ۱۳۹۵ ۰۲:۱۶ ب.ظ
[attachment=19734]سلام میشه یه نمونه شماره بلاک واسه یه آدرس رو تو این سوال بدست بیارین زمان دستیابی هم چطور بدست میاد(به روش اجلالی ترجیحا) ممنون |
|
RE: حافظه- کامپیوتر ۸۷ - Saman - 02 فروردین ۱۳۹۵ ۰۶:۱۲ ب.ظ
سلام چون بلوک های cache 16 بایت (۴کلمه) بنابر این با هر miss که داریم،۴ کلمه متوالی وارد حافظه کش میشود(اصل محلی بودن دسترسی هاست) با درخواست آدرس [tex]01000_H[/tex] که اولین آدرس است miss رخ میدهد.بعد از این miss سه آدرس : [tex]01001_H[/tex] و [tex]01002_H[/tex] و [tex]01003_H[/tex] میان توی بلوک اول ،اما ترتیب دسترسی ها این هستش که در کلمه ی چهارم ما به این آدرس باید برویم : [tex]59000_H[/tex] این دسترسی باعث میشود آدرس [tex]01003_H[/tex] بیرون انداخته شود و در حقیقت یک miss برای دسترسی به [tex]59000_H[/tex] رخ دهد. حالا دوباره دسترسی ما به این آدرس هست [tex]5900F_H[/tex] دقت کنید که F اینجا آدرس شماره ی WORD است.این رو توی حافظه داشتیم و میشه hit . دسترسی بعدی [tex]01003_H[/tex] است که چون انداختیمش بیرون miss رخ میده، دسترسی بعدی [tex]56780_H[/tex] است که براش miss رخ میده و آدرس هایی رو که میاره با خودش مثلان این هاست : [tex]56780_H\: ,\: 56781_H\: ,\: 56782_H\: ,\: .\: .\: .\: ta\: 567815[/tex] حالا اینو با F نشون داده که نماینده ی همون ۴ بیت WORD هست که من زدم تا ۱۵، هر آدرسی توی این محدوده بیاد hit میشه.پس برای [tex]5678F_H[/tex] نیز hit رخ میدهد آدرس بعدی هم دقیقا همین طور است.اولی miss , بعدی hit. پس داریم : ۵ بار hit و ۵بار miss پس نرخ برخورد ۰/۵ است. و داریم : [tex]T_{ave}\: =\: t_c\: \: (1\: -\: h)\: t_m\: =\: 1\: \: 0.5\: \times40\: =\: 21\: ns[/tex] |