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

محاسبه درصدhitدر نگاشت های مختلف

ارسال:
  

abji22 پرسیده:

محاسبه درصدhitدر نگاشت های مختلف

سلام ی سوال از فصل حافظه از درصد hit
لطففاراهنمایی کنید وبگید در روش های مختلف نگاشت hit چجوری حساب میشه
ممنونم(سوال۳۸ پوران)

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

۱
ارسال:
  

ana9940 پاسخ داده:

RE: محاسبه درصدhitدر نگاشت های مختلف

ببین توی این سوال ها باید اندازه بلاک رو دقیق حساب کنی. خب این سوال خودش اندازه بلاک رو گفته ۳۲/ و البته نکته مهم اینه که در آخر سوال گفته دستورات هم ۳۲ بیتی هست. (مثل اون یکی سوال نیست که هر بار که واسه یه دستور به بلاک می رفتیم، یه سری دستورات دیگه رو هم بشه آورد!) در هر مراجعه به حافظه فقط میشه یه دستور رو آورد چون هر دستوری یه بلاک رو پر می کنه.
چون ۲۵۶ بایت حافظه کش داریم ، و هر بلاک هم ۳۲ بیت هست (یعنی ۴ بایت) پس به تعداد ۲۵۶/۴= ۶۴ بلاک داریم.
اگه فرض کنیم دستورات ما از ۰ تا ۶۳ هستن، خب طبیعتا در اولین آدرس یعنی Inst0 نقص صفحه داریم، میریم اون رو به کش میاریم و در بلاک صفر میگذاریم و چون ۳۲ بیت هست تمام بلاک رو پر میکنه، آدرس بعدی یعنی Inst1 نیر نقص صفحه داریم و دوباره اون رو به کش میاریم و در بلاک ۱ می گذاریم ، همین روند تا دستور ۶۳ ادامه پیدا میکنه، دستور ۶۴ نیز نقص صفحه داریم و الان دیگه کش پر شده و البته Inst64 نیز جای ثابتی دارد یعنی بلاک صفر پس به جای دستور صفر کپی میشه، حالا برای دور های دوم و سوم ، دستورات ۱ تا ۶۳ در کش هست، در بلاک صفر هم دستور ۶۴، در دور دوم دوباره از دستور صفر شروع میشه که در کش نیست، Miss داریم و به جای دستور ۶۴ که الان در بلاک صفر هست کپی میشه ، دستور ۱ تا ۶۳ hit اتفاق می افته، دستور ۶۴ دوباره miss داریم ، دور سوم هم به همین ترتیب.
پس دور اول هیچی hit نداشتیم، دور دوم و سوم ۶۳ hit داشتیم. پس hit ratio میشه :
۲*۶۳/۳*۶۵
در حالت fully assciative برعکس direct آدرس هایی که از حافظه اصلی آورده میشه مکان ثابتی در کش نداره، مثل حالت اول ، در دور اول آدرس های ۰ تا ۶۳ Miss اتفاق می افته، حالا در دستور ۶۴ هم miss داریم، در Direct دستور ۶۴ام باید در بلاک صفر گذاشته بشه ولی Fully assciative این اجبار نیست و چون مقایسه به طور موازی با همه بلاک ها انجام میشه، براسال الگوریتم جایگزینی، بلاکی انتخاب میشه و دستور مورد نظر در آن کپی میشه الان چون گفته LRU، دستوری که زمان زیادی از استفاده ی اون گذشته را جایگزین می کنیم یعنی دستور ۶۴ جایگزین دستور ۱ میشه، در دور دوم دوباره دستور ۱ رو میخوایم که نیست، اون رو میاریم و طبق الگوریتم LRU جایگزین دستور ۲ می کنیم، همین طور جلو میریم و می بینیم که همه ش دستورات قبلی جایگزین میشه و هیچ وقت hit نخواهیم داشت.
یعنی تمام تشکیلات مقایسه موازی و الگوریتم LRU به هیچ دردی نخورد!Big Grin
شکل هم در ضمیمه آورده شده!


فایل‌(های) پیوست شده

نقل قول این ارسال در یک پاسخ

ارسال:
  

khordad.girl پاسخ داده:

RE: محاسبه درصدhitدر نگاشت های مختلف

(۱۲ آذر ۱۳۹۳ ۰۸:۳۴ ب.ظ)ana9940 نوشته شده توسط:  ببین توی این سوال ها باید اندازه بلاک رو دقیق حساب کنی. خب این سوال خودش اندازه بلاک رو گفته ۳۲/ و البته نکته مهم اینه که در آخر سوال گفته دستورات هم ۳۲ بیتی هست. (مثل اون یکی سوال نیست که هر بار که واسه یه دستور به بلاک می رفتیم، یه سری دستورات دیگه رو هم بشه آورد!) در هر مراجعه به حافظه فقط میشه یه دستور رو آورد چون هر دستوری یه بلاک رو پر می کنه.
چون ۲۵۶ بایت حافظه کش داریم ، و هر بلاک هم ۳۲ بیت هست (یعنی ۴ بایت) پس به تعداد ۲۵۶/۴= ۶۴ بلاک داریم.
اگه فرض کنیم دستورات ما از ۰ تا ۶۳ هستن، خب طبیعتا در اولین آدرس یعنی Inst0 نقص صفحه داریم، میریم اون رو به کش میاریم و در بلاک صفر میگذاریم و چون ۳۲ بیت هست تمام بلاک رو پر میکنه، آدرس بعدی یعنی Inst1 نیر نقص صفحه داریم و دوباره اون رو به کش میاریم و در بلاک ۱ می گذاریم ، همین روند تا دستور ۶۳ ادامه پیدا میکنه، دستور ۶۴ نیز نقص صفحه داریم و الان دیگه کش پر شده و البته Inst64 نیز جای ثابتی دارد یعنی بلاک صفر پس به جای دستور صفر کپی میشه، حالا برای دور های دوم و سوم ، دستورات ۱ تا ۶۳ در کش هست، در بلاک صفر هم دستور ۶۴، در دور دوم دوباره از دستور صفر شروع میشه که در کش نیست، Miss داریم و به جای دستور ۶۴ که الان در بلاک صفر هست کپی میشه ، دستور ۱ تا ۶۳ hit اتفاق می افته، دستور ۶۴ دوباره miss داریم ، دور سوم هم به همین ترتیب.
پس دور اول هیچی hit نداشتیم، دور دوم و سوم ۶۳ hit داشتیم. پس hit ratio میشه :
۲*۶۳/۳*۶۵
در حالت fully assciative برعکس direct آدرس هایی که از حافظه اصلی آورده میشه مکان ثابتی در کش نداره، مثل حالت اول ، در دور اول آدرس های ۰ تا ۶۳ Miss اتفاق می افته، حالا در دستور ۶۴ هم miss داریم، در Direct دستور ۶۴ام باید در بلاک صفر گذاشته بشه ولی Fully assciative این اجبار نیست و چون مقایسه به طور موازی با همه بلاک ها انجام میشه، براسال الگوریتم جایگزینی، بلاکی انتخاب میشه و دستور مورد نظر در آن کپی میشه الان چون گفته LRU، دستوری که زمان زیادی از استفاده ی اون گذشته را جایگزین می کنیم یعنی دستور ۶۴ جایگزین دستور ۱ میشه، در دور دوم دوباره دستور ۱ رو میخوایم که نیست، اون رو میاریم و طبق الگوریتم LRU جایگزین دستور ۲ می کنیم، همین طور جلو میریم و می بینیم که همه ش دستورات قبلی جایگزین میشه و هیچ وقت hit نخواهیم داشت.
یعنی تمام تشکیلات مقایسه موازی و الگوریتم LRU به هیچ دردی نخورد!Big Grin
شکل هم در ضمیمه آورده شده!
ببخشید تو حالت اول دستورات ۰ تا ۶۴ که آورد وقتی دستور ۶۴ جایگزین ۰ شد چرا دور بعدی از ۱ شرو شده دستورات؟؟ :-؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

ana9940 پاسخ داده:

RE: محاسبه درصدhitدر نگاشت های مختلف

نه دستورات از ۱ شروع نشده!
در دور دوم هم دستورات از ۰ تا ۶۴ هست، دیتاهایی که الان توی کش داریم(یعنی در دور دوم ) به این ترتیبه: دستور۶۴ در آدرس صفر، دستور ۱ در آدرس ۱ ، دستور ۲ در آدرس ۲ و ..... .
حالا برای دسترسی به دستور ۰ ، نیازه اون رو از حافظه اصلی بیارم داخل کش، به همین خاطر miss داریم، سپس دستور۱ رو میخوایم که توی کش هست، دستورات ۲ تا ۶۳ هم، در کش هست، ( ۱ تا ۶۳ hit داریم) دستور ۶۴ در کش نیست، اون از حافظه اصلی به داخل کش میاریم و در آدرس صفر جایگزین دستور صفر می کنیم.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

abji22 پاسخ داده:

RE: محاسبه درصدhitدر نگاشت های مختلف

توشکل مربوط به نگاشت کامل چرا ۶۴نیستش؟
نقل قول این ارسال در یک پاسخ

ارسال:
  

ana9940 پاسخ داده:

RE: محاسبه درصدhitدر نگاشت های مختلف

(۱۳ آذر ۱۳۹۳ ۱۲:۳۷ ب.ظ)abji22 نوشته شده توسط:  توشکل مربوط به نگاشت کامل چرا ۶۴نیستش؟
شماره دستورات رو از ۰ تا ۶۴ گرفتم، بعد در حالت Fully اشتباهی ۶۵ رو نوشتم به جای ۶۴/ Cool
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  پیشنهاد نام برای سلسه گفتگوها با افراد مختلف Doctorwho ۰ ۱,۴۱۵ ۰۳ اردیبهشت ۱۴۰۰ ۱۲:۳۹ ق.ظ
آخرین ارسال: Doctorwho
  محاسبه ارتفاع درخت.... baharkhanoom ۳ ۷,۴۹۹ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۴۸ ب.ظ
آخرین ارسال: mohsentafresh
  بررسی وضعیت کار و درآمد گرایشهای مختلف. عزیز دادخواه ۱ ۲,۴۵۵ ۰۴ دى ۱۳۹۸ ۰۱:۱۲ ب.ظ
آخرین ارسال: marvelous
  نحوه محاسبه دفیق لگاریتم بدون ماشین حساب mcse2010 ۲ ۸۰,۰۲۱ ۲۸ مهر ۱۳۹۸ ۰۹:۳۸ ق.ظ
آخرین ارسال: chemical_darton29
  محاسبه تراز معدل موثر از رشته آی تی یا علوم کامپیوتر به مهندسی کامپیوتر یا بالعکس gnulinux ۰ ۲,۳۰۱ ۲۱ شهریور ۱۳۹۸ ۰۸:۳۷ ق.ظ
آخرین ارسال: gnulinux
  نگاشت شرکت پذیر مجموعه ای لطفا کمک Sanazzz ۳ ۳,۷۳۲ ۰۲ اسفند ۱۳۹۷ ۰۳:۲۷ ب.ظ
آخرین ارسال: Sanazzz
  تقسیم برای محاسبه کد افزونه چرخشی (CRC) Sanazzz ۴ ۶,۱۷۶ ۲۰ آذر ۱۳۹۷ ۰۱:۱۸ ب.ظ
آخرین ارسال: Sanazzz
  محاسبه چندمین عنصر آرایه Mr.R3ZA ۶ ۶,۱۱۸ ۱۹ شهریور ۱۳۹۷ ۰۸:۱۲ ب.ظ
آخرین ارسال: Saman
  اهمیت طراحی سایت در کسب و کارهای مختلف moona70 ۲ ۳,۰۴۵ ۱۳ تیر ۱۳۹۷ ۰۶:۵۶ ب.ظ
آخرین ارسال: mez1
  بخش های مختلف ( آزمون IELTS) sanjeshmoshaveran ۰ ۱,۸۹۷ ۱۲ تیر ۱۳۹۷ ۰۲:۲۵ ب.ظ
آخرین ارسال: sanjeshmoshaveran

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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