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

سوال:پیاده سازی lru با ماتریس n*n

ارسال:
  

aria پرسیده:

سوال:پیاده سازی lru با ماتریس n*n

من هر چی این موضوع رو می خونم نمی فهمم چه از روی کتاب پارسه چه از روی مقسمی لطفا اگه کسی می تونه این مطلب رو توضیح بده ممنون می شم
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

azad_ahmadi پاسخ داده:

سوال:پیاده سازی lru با ماتریس n*n

سلام. موضوع پیچیده ای نیست.
یکی از راههای پیاده سازی سخت افزاری الگوریتم LRU استفاده از یک ماتریس n*n هست. وقتی n قاب صفحه در اختیار داریم، سخت افزار می تواند یک ماتریس n*n ایجاد کند که در ابتدای کار همه خانه های ان عدد ۰ هست. هنگامی که به یک قاب صفحه رجوع میشه """" همه بیت های سطر مربوطه عدد یک"""" و """"همه بیت های ستون مربوطه عدد صفر"""" می گیرند. و برای بار بعدی وقتی که مراجعه به صفحه ای شود که هم اکنون در حافظه نیست، صفحه ای (یا به عبارت بهتر) سطری انتخاب می شود که معادل عدد دودویی ان از همه سطر های دیگه کمتر باشه.

یک مثال : اگر تعداد قاب صفحه برابر ۴ باشد و رشته مراجعات به صفحه از چپ به راست به صورت ۰/۱/۲/۳/۱/۴ باشد، دسترسی به صفحات چگونه است؟

جواب: همونطور که از صورت مساله پیداست، تعدا قابها ۴ تا هستند، پس نیاز به یک ماتریس ۴*۴ هست که در ابتدای کار همه خانه ها صفر هستند. وقتی مراجعه به صفحه ۰ انجام می گیره، همه خانه های سطر اول برابر ۱ و همه خانه های ستون اول برابر ۰ خواهند بود (پس سطر اول برابر ۰۱۱۱ خواهد بود). حالا که به صفحه شماره ۱ مراجعه میشه همه خانه های سطر دوم برابر با یک و همه ستون های سطر دوم برابر ۰ خواهد بود (توجه داشته باش که این عدد گذاری برای مراجعه به صفحه شماره ۱، روی سطر اول ماتریس هم اثر گذاشته و از ۰۱۱۱ به ۰۰۱۱ تغییر پیدا می کند، دلیلش هم عدد گذاری برای صفحه شماره ۱ است). وبه همین صورت برای صفحات شماره ۲ و ۳ هم این عدد گذاری انجام میشود. در زیر مرحله به مرحله ماتریس رو می کشم:
(درخواست صفحه ۰ در ابتدای کار)
۰۱۱۱
۰۰۰۰
۰۰۰۰
۰۰۰۰
(درخواست صفحه ۱)
۰۰۱۱
۱۰۱۱
۰۰۰۰
۰۰۰۰
(درخواست صفحه ۲)
۰۰۰۱
۱۰۰۱
۱۱۰۱
۰۰۰۰
(درخواس صفحه ۳ و آخرین صفحه، چون تعداد قابها برابر ۴ است)
۰۰۰۰
۱۰۰۰
۱۱۰۰
۱۱۱۰
(دوباره نوبت به صفحه شماره ۱ میرسه و چون این صفحه وجود داره پس اعداد همون سطر که قبلا ذخیره شده مقدار میگیرن)
۰۰۰۰
۱۰۱۱
۱۰۰۰
۱۰۱۰
حالا که نیاز به صفحه ۴ هست و صفحه خالی وجود نداره و صفحه ۴ هم قبلا بارگذاری نشده پس طبق قانون، سطری که مقدار دودویی اون از همه کمتره برای جایگذاری انتخاب میشه. (یعنی سطر اول)
پس با ورود صفحه شماره ۴ ماتریس بصورت :
۱۰۰۰
۰۰۱۱
۰۰۰۰
۰۰۱۰

تا اونجا که تونستم واضح توضیح دادم Smile اگه باز مشکلی داشتید بپرسید در خدمت خواهیم بود.
موفق باشید.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

aria پاسخ داده:

RE: سوال:پیاده سازی lru با ماتریس n*n

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  پکیج آموزشی طراحی وب + فارسی سازی وردپرس + سئو Happiness.72 ۶ ۶,۴۰۶ ۱۸ بهمن ۱۳۹۹ ۰۱:۱۵ ب.ظ
آخرین ارسال: saqarmoshtaq
  مرتب سازی سریع تصادفی چیست؟ Xzrix ۰ ۱,۴۱۶ ۱۴ آذر ۱۳۹۹ ۰۷:۲۲ ب.ظ
آخرین ارسال: Xzrix
  شبیه سازی مقاله Q-Learning kadoos ۱۶ ۱۵,۵۹۹ ۲۵ آبان ۱۳۹۹ ۰۹:۱۹ ب.ظ
آخرین ارسال: nasim.nasim۱
Sad ذخیره ماتریس پایین مثلثی / بالا مثلثی به شیوه سطری یا ستونی shayesteNEY ۵ ۱۰,۰۶۱ ۲۲ مهر ۱۳۹۹ ۱۱:۲۸ ب.ظ
آخرین ارسال: Negiiin
  متن به هم ریخته در نرم افزار Notepad HAMID3F ۱۵ ۲۱,۴۳۲ ۱۷ شهریور ۱۳۹۹ ۰۸:۲۶ ق.ظ
آخرین ارسال: rezasedghi100
Question درخواست کمک و راهنمایی در ns2 r.jafari ۳ ۳,۷۴۵ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۳۷ ب.ظ
آخرین ارسال: mohsentafresh
  کتاب شبیه سازی آمنت omnet++ berkeley ۱ ۳,۹۲۳ ۰۴ اردیبهشت ۱۳۹۹ ۱۲:۳۳ ق.ظ
آخرین ارسال: محمد رستمی
  سئو چیست؟ - سئو - بهینه سازی سایت msnmsn ۲ ۲۵ ۲۳ آبان ۱۳۹۸ ۰۱:۱۳ ب.ظ
آخرین ارسال: xiaomi
  ضرب ماتریس ها roller1829 ۰ ۱,۸۷۸ ۱۹ مهر ۱۳۹۸ ۰۲:۴۸ ب.ظ
آخرین ارسال: roller1829
  مجموعه آموزش تصویری ابزار شبیه سازی و بررسی پروتکل امنیتی اسکایتر net work ۰ ۲,۳۹۹ ۲۲ فروردین ۱۳۹۸ ۰۳:۲۵ ب.ظ
آخرین ارسال: net work

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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