زمان کنونی: ۰۴ آذر ۱۴۰۳, ۰۹:۵۵ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

نحوه تشخیص miss , hit (سازمان حافظه)

ارسال:
  

alice پرسیده:

Tongue نحوه تشخیص miss , hit (سازمان حافظه)

سلاااااااام دوستان عزیز
میشه یکی برام توضیح بده در تست پایین چجوری باید بفهمم کدوم آدرس miss و کدوم hit ؟؟؟؟ Exclamation


یک حافظه اصلی به بزرگی ۲۵۶K کلمه و یک حافظه نهان به بزرگی ۴ بلوک ۴ کلمه ای موجود است.روش نگاشت مستقیم استفاده می شود.با فرض خالی بودن cache ,نرخ برخورد در انتهای صدور آدرس های ذیل ( از چپ به راست ) از طرف پردازنده کدام است؟

۱۷۰,۲۵۷,۱۶۸,۲۴۶,۱۷۶,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۶,۱۷۵,۱۷۴,۱۷۳,۱۷۲,۱۷۱,​۱۷۰,۱۶۹,۱۶۸,۱۶۷,۱۶۸,۱۶۵,۱۶۴
نقل قول این ارسال در یک پاسخ

۵
ارسال:
  

e.shrm پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

(۰۳ دى ۱۳۹۲ ۰۷:۳۵ ب.ظ)alice نوشته شده توسط:  سلاااااااام دوستان عزیز
میشه یکی برام توضیح بده در تست پایین چجوری باید بفهمم کدوم آدرس miss و کدوم hit ؟؟؟؟ Exclamation


یک حافظه اصلی به بزرگی ۲۵۶K کلمه و یک حافظه نهان به بزرگی ۴ بلوک ۴ کلمه ای موجود است.روش نگاشت مستقیم استفاده می شود.با فرض خالی بودن cache ,نرخ برخورد در انتهای صدور آدرس های ذیل ( از چپ به راست ) از طرف پردازنده کدام است؟

۱۷۰,۲۵۷,۱۶۸,۲۴۶,۱۷۶,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۶,۱۷۵,۱۷۴,۱۷۳,۱۷۲,۱۷۱,​۱۷۰,۱۶۹,۱۶۸,۱۶۷,۱۶۸,۱۶۵,۱۶۴

کل حافظه اصلی قراره تو این ۴ تا بلاک قرار بگیره. هر بلاک هم که ۴ تا کلمه است.
بنابراین داریم :
بلاک ۰ : (کلمه ۰ تا ۳) (کلمه ۱۶ تا ۱۹)
بلاک ۱ : (کلمه ۴ تا ۷) ......................
بلاک ۲ : (کلمه ۸ تا ۱۱) ........................
بلاک ۳ : (کلمه ۱۲ تا ۱۵) ......................

بنابراین برای هر آدرسی که بهت میدن باید پیدا کنی توی کدوم بلاک قرار میگره و چندمین کلمه هست.
اگه آدرسی که بهت دادن تقسیم بر اندازه بلاک کنی (اینجا گفته ۴ کلمه) باقیمانده میشه اینکه چندمین کلمه تو بلاکه.
مثلا برای ۳ ، تقسیم بر ۴ ، باقیمانده میشه ۳ که یعنی شماره کلمه ۳ هست. (آخرین کلمه بلوک)
جالا باید ببینم تو کدوم بلوک قرار میگیره ، اون خارج قسمتی که بدست اومده را نقسیم بر تعداد بلوک کش میکنیم (اینجا ۴ تا بلوک). باقیمانده میشه اینکه تو کدوم بلوک هست.
مثلا برای آدرس ۱۹ ، اول تقسیم بر ۴ میکنیم باقیمانده میشه ۳ ، و خارج قسمت میشه ۴ .
این ۴ رو نقسیم بر ۴ میکنیم ، باقیمانده میشه ۰ .
پس این آدرس آخرین کلمه از بلاک شماره ۰ هست.
حالا در مورد سوال :
مثلا آدرس ۱۷۰ :
اون تقسیم بر ۴ میکنیم : باقیمانده = ۲ خارج قسمت میشه ۴۲ ، ۴۲ رو تقسیم ۴ میکنی باقیمانده میشه ۲/
یعنی کلمه شماره ۲ از بلوک شماره ۲ هست. بنابراین با درخواست ای آدرس بلوک شماره دو هر چی که قبلا داشت پاک میشه این مقادیر جدید از حافظه خونده میشه و جاش قرار میگیره.
این یعنی آدرس هایی که باهاش لود میشه (۱۶۸ تا ۱۷۱ هست ) بنابراین به ازای ۱۷۰ ما miss داریم ولی اگر بعد از اون ۱۶۸ رو بخوان دیگه ما اونو تو حافظه داریم پس hit میشه.
در مورد ۲۵۷ :
تقسیم بر ۴ میشه باقیمانده میشه ۱ ، و ۶۴ تقسیم بر ۴ باقیمانده میشه ۰ . یعنی آدرس (۲۵۶ تا ۲۵۹ ) تو بلوک ۰ لود میشن. پس به ازای این miss داریم.

به این نکته توجه کن که اگه مثلا آدرس یعد از این یه چیزی بود که دوباره تو بلوک ۰ لود میشد ، دیگه آدرس های قبلی که داشتیم تو این بلوک همه از بین میرن و به ازای اونا miss خواهیم داشت.
حواست به این هم باشه که شماره ها از ۰ شروع میشه. یعنی اگه شماره کلمه ات در اومد ۳ این یعنی چهارمین کلمه و آخرین کلمه از بلوک.

یه کم توضیحش سخت بود با نوشتن. سعی کردم واضح توضیح بدم.
نقل قول این ارسال در یک پاسخ

ارسال:
  

alice پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

(۰۳ دى ۱۳۹۲ ۰۸:۳۳ ب.ظ)e.sharmi نوشته شده توسط:  کل حافظه اصلی قراره تو این ۴ تا بلاک قرار بگیره. هر بلاک هم که ۴ تا کلمه است.
بنابراین داریم :
بلاک ۰ : (کلمه ۰ تا ۳) (کلمه ۱۶ تا ۱۹)
بلاک ۱ : (کلمه ۴ تا ۷) ......................
بلاک ۲ : (کلمه ۸ تا ۱۱) ........................
بلاک ۳ : (کلمه ۱۲ تا ۱۵) ......................

بنابراین برای هر آدرسی که بهت میدن باید پیدا کنی توی کدوم بلاک قرار میگره و چندمین کلمه هست.
اگه آدرسی که بهت دادن تقسیم بر اندازه بلاک کنی (اینجا گفته ۴ کلمه) باقیمانده میشه اینکه چندمین کلمه تو بلاکه.
مثلا برای ۳ ، تقسیم بر ۴ ، باقیمانده میشه ۳ که یعنی شماره کلمه ۳ هست. (آخرین کلمه بلوک)
جالا باید ببینم تو کدوم بلوک قرار میگیره ، اون خارج قسمتی که بدست اومده را نقسیم بر تعداد بلوک کش میکنیم (اینجا ۴ تا بلوک). باقیمانده میشه اینکه تو کدوم بلوک هست.
مثلا برای آدرس ۱۹ ، اول تقسیم بر ۴ میکنیم باقیمانده میشه ۳ ، و خارج قسمت میشه ۴ .
این ۴ رو نقسیم بر ۴ میکنیم ، باقیمانده میشه ۰ .
پس این آدرس آخرین کلمه از بلاک شماره ۰ هست.
حالا در مورد سوال :
مثلا آدرس ۱۷۰ :
اون تقسیم بر ۴ میکنیم : باقیمانده = ۲ خارج قسمت میشه ۴۲ ، ۴۲ رو تقسیم ۴ میکنی باقیمانده میشه ۲/
یعنی کلمه شماره ۲ از بلوک شماره ۲ هست. بنابراین با درخواست ای آدرس بلوک شماره دو هر چی که قبلا داشت پاک میشه این مقادیر جدید از حافظه خونده میشه و جاش قرار میگیره.
این یعنی آدرس هایی که باهاش لود میشه (۱۶۸ تا ۱۷۱ هست ) بنابراین به ازای ۱۷۰ ما miss داریم ولی اگر بعد از اون ۱۶۸ رو بخوان دیگه ما اونو تو حافظه داریم پس hit میشه.
در مورد ۲۵۷ :
تقسیم بر ۴ میشه باقیمانده میشه ۱ ، و ۶۴ تقسیم بر ۴ باقیمانده میشه ۰ . یعنی آدرس (۲۵۶ تا ۲۵۹ ) تو بلوک ۰ لود میشن. پس به ازای این miss داریم.

به این نکته توجه کن که اگه مثلا آدرس یعد از این یه چیزی بود که دوباره تو بلوک ۰ لود میشد ، دیگه آدرس های قبلی که داشتیم تو این بلوک همه از بین میرن و به ازای اونا miss خواهیم داشت.
حواست به این هم باشه که شماره ها از ۰ شروع میشه. یعنی اگه شماره کلمه ات در اومد ۳ این یعنی چهارمین کلمه و آخرین کلمه از بلوک.

یه کم توضیحش سخت بود با نوشتن. سعی کردم واضح توضیح بدم.

دوست عزیز از راهنماییت واقعا متشکرم TongueTongue
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

e.shrm پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

(۰۳ دى ۱۳۹۲ ۱۰:۴۶ ب.ظ)alice نوشته شده توسط:  
(03 دى ۱۳۹۲ ۰۸:۳۳ ب.ظ)e.sharmi نوشته شده توسط:  

دوست عزیز از راهنماییت واقعا متشکرم TongueTongue

خواهش میکنم
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

soheila2012 پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

خوش به حالت که متوجه شدی!!
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

bestgirl پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

(۰۳ دى ۱۳۹۲ ۰۸:۳۳ ب.ظ)e.sharmi نوشته شده توسط:  
(03 دى ۱۳۹۲ ۰۷:۳۵ ب.ظ)alice نوشته شده توسط:  سلاااااااام دوستان عزیز
میشه یکی برام توضیح بده در تست پایین چجوری باید بفهمم کدوم آدرس miss و کدوم hit ؟؟؟؟ Exclamation


یک حافظه اصلی به بزرگی ۲۵۶K کلمه و یک حافظه نهان به بزرگی ۴ بلوک ۴ کلمه ای موجود است.روش نگاشت مستقیم استفاده می شود.با فرض خالی بودن cache ,نرخ برخورد در انتهای صدور آدرس های ذیل ( از چپ به راست ) از طرف پردازنده کدام است؟

۱۷۰,۲۵۷,۱۶۸,۲۴۶,۱۷۶,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۵,۱۷۶,۱۷۷,۱۷۶,۱۷۵,۱۷۴,۱۷۳,۱۷۲,۱۷۱,​۱۷۰,۱۶۹,۱۶۸,۱۶۷,۱۶۸,۱۶۵,۱۶۴

کل حافظه اصلی قراره تو این ۴ تا بلاک قرار بگیره. هر بلاک هم که ۴ تا کلمه است.
بنابراین داریم :
بلاک ۰ : (کلمه ۰ تا ۳) (کلمه ۱۶ تا ۱۹)
بلاک ۱ : (کلمه ۴ تا ۷) ......................
بلاک ۲ : (کلمه ۸ تا ۱۱) ........................
بلاک ۳ : (کلمه ۱۲ تا ۱۵) ......................

بنابراین برای هر آدرسی که بهت میدن باید پیدا کنی توی کدوم بلاک قرار میگره و چندمین کلمه هست.
اگه آدرسی که بهت دادن تقسیم بر اندازه بلاک کنی (اینجا گفته ۴ کلمه) باقیمانده میشه اینکه چندمین کلمه تو بلاکه.
مثلا برای ۳ ، تقسیم بر ۴ ، باقیمانده میشه ۳ که یعنی شماره کلمه ۳ هست. (آخرین کلمه بلوک)
جالا باید ببینم تو کدوم بلوک قرار میگیره ، اون خارج قسمتی که بدست اومده را نقسیم بر تعداد بلوک کش میکنیم (اینجا ۴ تا بلوک). باقیمانده میشه اینکه تو کدوم بلوک هست.
مثلا برای آدرس ۱۹ ، اول تقسیم بر ۴ میکنیم باقیمانده میشه ۳ ، و خارج قسمت میشه ۴ .
این ۴ رو نقسیم بر ۴ میکنیم ، باقیمانده میشه ۰ .
پس این آدرس آخرین کلمه از بلاک شماره ۰ هست.
حالا در مورد سوال :
مثلا آدرس ۱۷۰ :
اون تقسیم بر ۴ میکنیم : باقیمانده = ۲ خارج قسمت میشه ۴۲ ، ۴۲ رو تقسیم ۴ میکنی باقیمانده میشه ۲/
یعنی کلمه شماره ۲ از بلوک شماره ۲ هست. بنابراین با درخواست ای آدرس بلوک شماره دو هر چی که قبلا داشت پاک میشه این مقادیر جدید از حافظه خونده میشه و جاش قرار میگیره.
این یعنی آدرس هایی که باهاش لود میشه (۱۶۸ تا ۱۷۱ هست ) بنابراین به ازای ۱۷۰ ما miss داریم ولی اگر بعد از اون ۱۶۸ رو بخوان دیگه ما اونو تو حافظه داریم پس hit میشه.
در مورد ۲۵۷ :
تقسیم بر ۴ میشه باقیمانده میشه ۱ ، و ۶۴ تقسیم بر ۴ باقیمانده میشه ۰ . یعنی آدرس (۲۵۶ تا ۲۵۹ ) تو بلوک ۰ لود میشن. پس به ازای این miss داریم.

به این نکته توجه کن که اگه مثلا آدرس یعد از این یه چیزی بود که دوباره تو بلوک ۰ لود میشد ، دیگه آدرس های قبلی که داشتیم تو این بلوک همه از بین میرن و به ازای اونا miss خواهیم داشت.
حواست به این هم باشه که شماره ها از ۰ شروع میشه. یعنی اگه شماره کلمه ات در اومد ۳ این یعنی چهارمین کلمه و آخرین کلمه از بلوک.

یه کم توضیحش سخت بود با نوشتن. سعی کردم واضح توضیح بدم.

خیلی قشنگ توضیح دادی مرسیییییییTongue
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

soheila2012 پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

ای بابا پ چرا من متوجه نمیشم.
مشاهده‌ی وب‌سایت کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

آنجلا پاسخ داده:

RE: نحوه تشخیص miss , hit (سازمان حافظه)

ببینید فلسفه این کارو باید بفهمید تا هر سوالی بهتون دادن راحت بدونید چه کار کنید: ما یه حافظه ی اصلی داریم یه دونه هم حافظه ی کش..هر بار باید بریم از حافظه اصلی یه خونه رو بیاریم بریزیم توی کش...شما اصل محلی بودن رو که میدونید: میگه ما الان با هر خونه ی حافظه سر و کار داشته باشیم تا چند لحظه ی دیگه به همجواراش نیاز پیدا میکنیم مثلا ما اگه الان با خونه ی ۰ حافظه کار داریم چند لحظه بعد به خونه ی ۱ و چند لحظه ی بعدتر به ۲ و .. نیاز خواهیم داشت..پس میایم چیکار میکنیم : میگیم ما که داریم خونه ی صفر رو میاریم چه کاریه! خونه های ۱ و ۲و ۳و ۴و ..و در واقع همجواراش رو هم میاریم که چند لحظه ی بعد که به ۱ کار داریم از قبل توی کش آورده بوده باشیم...حالا یه چیزی: نمیشه همینجوری ۰ رو آوردیم ۱و۲و۳و۴و۵و.. همه رو بیاریم که اصن جا نیس که بیاریم به همین خاطر باید تیکه تیکه یا همون توی معماری بهش میگن بلاک بلاک باید بیاریم..حالا این تیکه چقدره و کی سایزش رو تعیین میکنه ؟ جواب: کش...در واقع باید ببینید هر خونه ی کش یا همون هر بلاک کش چه تعداد کلمه جا میشه مثلا توی این مثال ۴تا ..پس میاین حافظه ی اصلی رو ۴ تا ۴ تا تیکه تیکش میکنی مثلا ۰و۱و۲و۳ توی تیکه یا همون بلاک ۰ ...۴و۵و۶و۷ توی بلاک ۱///۸و۹و۱۰و۱۱ توی بلاک ۲/// و الی آخر ..حالا یه چیز دیگه رو میخوام بگم: مثلا الان ۹ توی کدوم بلاکه و چندمین کلمه ی اون بلاکه؟ باید ۹ رو بر تعداد خونه ها یا همون تعداد بلاک های کش که ۴ تاست تقسیم کنید تا بفهمید توی تیکه چندم حافظه ی اصلیه و چندمین کلمه اش؟: ۹/۴=۲ و یه دونه هم باقیمانده میاره خارج قسمت همون شماره بلاک رونشون میده باقی موندش هم چندمین کلمه ی او ن بلاک بودن رو نشون میده مثلا اینجا ۹ کلمه ی دوم از بلاک شماره ۲ هست پس یه کلمه قبل از این و دو کلمه بعد از ۹ هم با هم تشکیل یه بلاک رو میدن و با هم میان میرن توی خونه ی دوم کش..پس واسه ۹ میس شد ولی اگه دور بعد به ۱۰ و ۱۱ نیاز داشته باشیم دیگه توی کش هستند و میس رخ نمیده بقیه ش که همون چیزایی که بالاتر مفصل دوستمون گفتن..نوشتنی نمیشه توضیح داد..
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  آموزش نحوه گرفتن پرتره ای حرفه ای mortazangz ۰ ۱,۵۱۶ ۲۵ بهمن ۱۴۰۰ ۰۲:۱۹ ب.ظ
آخرین ارسال: mortazangz
  تشخیص گوگل مپس با Live View AR برای مکان دقیق elecomco ۱ ۴,۲۵۰ ۰۵ بهمن ۱۳۹۹ ۰۲:۴۹ ب.ظ
آخرین ارسال: kooshaideal1
  نحوه محاسبه دفیق لگاریتم بدون ماشین حساب mcse2010 ۲ ۸۲,۶۰۹ ۲۸ مهر ۱۳۹۸ ۰۹:۳۸ ق.ظ
آخرین ارسال: chemical_darton29
  نحوه مطالعه دروس...راهنمایی لطفا... mona64 ۳ ۴,۳۵۰ ۲۰ مهر ۱۳۹۸ ۱۰:۵۹ ب.ظ
آخرین ارسال: marvelous
  نحوه کار با شبیه ساز cooja amani96 ۳ ۳,۹۳۱ ۱۲ مرداد ۱۳۹۸ ۰۲:۳۵ ق.ظ
آخرین ارسال: marvelous
  نرم‌افزار انتخاب رشته سازمان سنجش WILL ۰ ۲,۴۰۵ ۱۸ تیر ۱۳۹۸ ۱۰:۳۹ ق.ظ
آخرین ارسال: WILL
  حافظه نانو Sanazzz ۱ ۱,۹۱۶ ۱۲ اردیبهشت ۱۳۹۸ ۱۲:۲۶ ق.ظ
آخرین ارسال: Sanazzz
Question نحوه دانلودpatent imsad88 ۲ ۵,۸۲۳ ۰۳ آذر ۱۳۹۷ ۰۶:۲۱ ب.ظ
آخرین ارسال: zahramotieeyan
  تشخیص خطا در تحلیلگر لغوی یا نحوی zahra2012 ۵ ۸,۲۸۸ ۲۶ مرداد ۱۳۹۷ ۰۴:۲۹ ب.ظ
آخرین ارسال: tohid.salmani
  تشخیص کاراکتر با شبکه عصبی safoora s ۴ ۴,۲۲۲ ۱۸ مرداد ۱۳۹۷ ۱۰:۵۰ ب.ظ
آخرین ارسال: kilookiloo

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close