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

سوال: نگاشت k-way set associative همراه با بلاک بندی

ارسال:
  

masume_ml پرسیده:

سوال: نگاشت k-way set associative همراه با بلاک بندی

با سلام به دوستان گل مانشتی
وقتی جافظه کش رو با استفاده از نگاشت k-way set associative بلاک بندی میکنیم تعداد کلمات حافظه کش و نحوه ی پیدا کردن کلمه وقتی cpu ادرسی را تولید میکند چطوریه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
با تشکر فرررررررررررررررررررراون
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

maryam.raz پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

وقتی که کش چند تا WAY داره واسه اینکه بدونیم برای آدرس دهی کش به چند بیت نیاز داریم تنها چیزی که مهم هست تعداد SET هاست همون سطرها.اگه مثلا ۴تا سطر داشتیم و هر سطر هم ۲ ستون بود یعنی WAY=2 کاری به ستون نداریم و فقط چون۴ تا سطر داریم پس به ۲بیت واسه آدرس دهی کش نیاز داریم
فقط یه نکته داره که خود سطرها بر اساس ستونها تعیین میشن. وقتی میگن مثلا کش ۸تا بلاک داره خب باید توجه کنیم که اینجا هر سطری ۲تا بلاک داره(به دلیل WAY=2) نه یک بلاک، پس کلا ۴تا سطر داریم نه ۸تا!
کل آدرس هم مث زمانیه که نگاشت مستقیم داریم فقط در اینجا باید آدرس کش رو براساس WAY و SET حساب کنیم.
سرچ کنید مطالب زیاد هست حتی با شکل
نقل قول این ارسال در یک پاسخ

ارسال:
  

masume_ml پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

(۲۵ آذر ۱۳۹۲ ۰۴:۱۲ ب.ظ)maryam.raz نوشته شده توسط:  وقتی که کش چند تا WAY داره واسه اینکه بدونیم برای آدرس دهی کش به چند بیت نیاز داریم تنها چیزی که مهم هست تعداد SET هاست همون سطرها.اگه مثلا ۴تا سطر داشتیم و هر سطر هم ۲ ستون بود یعنی WAY=2 کاری به ستون نداریم و فقط چون۴ تا سطر داریم پس به ۲بیت واسه آدرس دهی کش نیاز داریم
فقط یه نکته داره که خود سطرها بر اساس ستونها تعیین میشن. وقتی میگن مثلا کش ۸تا بلاک داره خب باید توجه کنیم که اینجا هر سطری ۲تا بلاک داره(به دلیل WAY=2) نه یک بلاک، پس کلا ۴تا سطر داریم نه ۸تا!
کل آدرس هم مث زمانیه که نگاشت مستقیم داریم فقط در اینجا باید آدرس کش رو براساس WAY و SET حساب کنیم.
سرچ کنید مطالب زیاد هست حتی با شکل

واقعا ممنونم دوست عزیز

من اینطوری فکر میکنم که در هر سطر بلاک قرار نمیگیره بلکه یه کلمه از بلاک قرار میگیره . اینطوری که یک بلاک قرار بگیره طول کلمه ی حافظه کش بسته به بلاک بندی ما متفاوت میشه!!!!!!!
و اینجاست که کلا قاطی میکنم.....
درست فکر میکنم؟؟؟؟؟؟؟؟؟؟؟
نظرتون رو بگید خوشحال میشمBlush
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

maryam.raz پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

(۲۶ آذر ۱۳۹۲ ۰۱:۴۴ ق.ظ)masume_ml نوشته شده توسط:  
(25 آذر ۱۳۹۲ ۰۴:۱۲ ب.ظ)maryam.raz نوشته شده توسط:  وقتی که کش چند تا WAY داره واسه اینکه بدونیم برای آدرس دهی کش به چند بیت نیاز داریم تنها چیزی که مهم هست تعداد SET هاست همون سطرها.اگه مثلا ۴تا سطر داشتیم و هر سطر هم ۲ ستون بود یعنی WAY=2 کاری به ستون نداریم و فقط چون۴ تا سطر داریم پس به ۲بیت واسه آدرس دهی کش نیاز داریم
فقط یه نکته داره که خود سطرها بر اساس ستونها تعیین میشن. وقتی میگن مثلا کش ۸تا بلاک داره خب باید توجه کنیم که اینجا هر سطری ۲تا بلاک داره(به دلیل WAY=2) نه یک بلاک، پس کلا ۴تا سطر داریم نه ۸تا!
کل آدرس هم مث زمانیه که نگاشت مستقیم داریم فقط در اینجا باید آدرس کش رو براساس WAY و SET حساب کنیم.
سرچ کنید مطالب زیاد هست حتی با شکل

واقعا ممنونم دوست عزیز

من اینطوری فکر میکنم که در هر سطر بلاک قرار نمیگیره بلکه یه کلمه از بلاک قرار میگیره . اینطوری که یک بلاک قرار بگیره طول کلمه ی حافظه کش بسته به بلاک بندی ما متفاوت میشه!!!!!!!
و اینجاست که کلا قاطی میکنم.....
درست فکر میکنم؟؟؟؟؟؟؟؟؟؟؟
نظرتون رو بگید خوشحال میشمBlush
ظرفیت کش همیشه براساس بلاک گفته مشه ، کش کاری به کلمه نداره فقط بلاک رو میشناسه. حالا اگر ما یک way داشتیم پس هر بلاکی در یه سطر قرار میگیره و اگر ۲تا way داشتیم در هرسطر ۲بلاک وهمینجور ...
وقتی تعداد way و set مشخص بشه ما فقط به یک طریق میتونیم بلاک بندی کنیم چیزی دست ما نیست. این خود کش هست که ممکنه ساختار متفاوتی داشته باشه و تعداد بیت های آدرسش هم بسته به way ,set تغییر میکنه
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

masume_ml پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

[/quote]
ظرفیت کش همیشه براساس بلاک گفته مشه ، کش کاری به کلمه نداره فقط بلاک رو میشناسه. حالا اگر ما یک way داشتیم پس هر بلاکی در یه سطر قرار میگیره و اگر ۲تا way داشتیم در هرسطر ۲بلاک وهمینجور ...
وقتی تعداد way و set مشخص بشه ما فقط به یک طریق میتونیم بلاک بندی کنیم چیزی دست ما نیست. این خود کش هست که ممکنه ساختار متفاوتی داشته باشه و تعداد بیت های آدرسش هم بسته به way ,set تغییر میکنه
[/quote]

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

ارسال:
  

maryam.raz پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

ظرفیت کش همیشه براساس بلاک گفته مشه ، کش کاری به کلمه نداره فقط بلاک رو میشناسه. حالا اگر ما یک way داشتیم پس هر بلاکی در یه سطر قرار میگیره و اگر ۲تا way داشتیم در هرسطر ۲بلاک وهمینجور ...
وقتی تعداد way و set مشخص بشه ما فقط به یک طریق میتونیم بلاک بندی کنیم چیزی دست ما نیست. این خود کش هست که ممکنه ساختار متفاوتی داشته باشه و تعداد بیت های آدرسش هم بسته به way ,set تغییر میکنه
[/quote]

مرسی دوست عزیز
کتاب پوران نوشته که بر اساس کلمه است و با بلاک بندی میتونیم اونو بهبودش بدیم !!!!!!!!!
HuhHuhHuhHuhHuhHuhHuhHuhHuhHuhHuhHuhHuh
شدید گیج شدم
[/quote]
خب ما هم از روش بهبود یافته استفاده می کنیم Smileخود آقای اجلالی هم گفتن بر اساس بلاک هست سوالات رو هم ببینی بر اساس بلاک گفتن.شما تعداد بیت های آدرس کش رو ازت خواستن بر اساس بلاک مشخص کن
البته این لغات بلاک و کلمه توی هر کتابی یه معنی میده!
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

jahanmanesh پاسخ داده:

RE: سوال: نگاشت k-way set associative همراه با بلاک بندی

سلام این این حرف درست نیس که کش همیشه بر اساس بلاک گفته میشه ، خیلی از سوالا رو میبینیم که ظرفیت بر اساس تعداد کلمات حافظه گفته میشه ،
ببین اول باید بدونی چجوری پردازنده ادرسشو پیدا میکنه ، ما از یه مجموعه استفاده کردیم ، شما یه جدول ساده رو در نظر بگیر ، هر سطر یه مجموعه میشه Set .
حالا هر سطر این جدولو به K بخش تقسیم کردیم (K-Way) یعنی هر سطرمون K قسمت شده (به هر بخش یه بلاک میگیم)، مابرای پیدا کردن هر قسمت بش یه Tag میدیم که وقتی امدیم توی این سطر مثلا بتونیم به قسمت ۳وم دسترسی داشته باشیم(پس برای هر قسمت یه Tag ذخیره میکنیم)، توی هرکدوم از این قسمت ها هم میتونیم چندتا کلمه قرار بدیم ، تا اینجاش فک کنم بتونی تصور کنی چه شکلیه ، حالا وقتی پردازنده میخواد یه کلمه از کش رو بخونه ، اول میاد و سطرمون توی این جدولو پیدا میکنه،بعدش باید Tag ادرس رو با خونهای سطر مقایسه کنه تا بدونه کدوم قسمت از این سطر رو نیاز داریم ، و بعدش از توی این قسمت کلمه مورد نظرشو برداره

پس اگر ما یه حافظه کش داشته باشیم مثلا ۴way ، و حافظه کش مثلا شامل ۶۴ کلمه باشه و در هر بلاک ۴ کلمه هست و ادرس های پردازنده ۸ بیتی باشن ،
۱/ حافظه اصلی دارای ۲به توانه ۸ بیت ادرس است . یعنی ۲۵۶ کلمه مختلف
۲/کش دارای ۶۴ کلمه است که هر ۴ کلمه توی ۱ بلاک قرار میگیرند ، پس ۶۴/۴ برابر میشه با ۱۶ بلاک
۳/سوال گفته ۴way یعنی در هر مجموعه(در هر سطر جدول) ۴تا بلاک داریم ، پس از ۱۶/۴ برابر میشه با ۴ مجموعه Set
۴/برای هر بلاک یه Tag قرار دادیم ، پس تعداد ( Tag=Block= 16 )
۵/طبق نتیجه گیریمون ۸ بیت هر ادرس پردازنده داره ، خب همونطور که گفتم ، اول باید سطر رو پیذاکنه توی جدول (اول باید مجموعه رو پیدا کنیم ) خب میبینیم که ۴تا Set توی کش داریم ، پس برای نمایش ۴ عدد (برای انتخاب بین این ۴تا )۲ بیت نیاز داریم ، بعدش که مجموعه رو پیدا کردیم باید بلاک رو پیدا کنیم (یعنی باید توی سطرمون ، اون بخش مورد نظرمونو پیدا کنیم) ، چجوری؟ خب میدونیم که گفتیم برای هر بلاک یه Tag قرار دادیم که بتونیم راحت اون بلاکو پیدا کنیم ، پس ، Tag ادرس رو با ۴تا تگ موجود توی این Set مقاییسه میکنیم تا پیدا تگ پیدا بشه و بلاکمون رو بفهمیم کدوم ، ولی راستی Tag چند بیت داره ؟ خب ما ۱۶تا بلاک توو کل کش داریم ، یعنی برای هر بلاک یه تگ ذخیره کردیم ، پس ۱۶ عدد متفاوت داریم برای نمایش ۱۶ عدد ۴ بیت میخوایم دیگه ، پس تگ هامون ۴ بیتی هستن ، حالا که بلاک رو پیدا کردیم ، باید از داخل کلماتش یکیو انتخاب کنیم ، گفته توی هر بلاک ۴ کلمه داریم ، دقت کن مقدار کلمه برامون مهم نیس ، ما ۴تا کلمه دارین که صفر میشه اولین کلمه ، ۱ میشه دومین ... مقدارش مهم نیس جای قرار گیریش مهمه ، حالا برای این ۴ عدد ، ۲ بیت میخوایم که نشون بده کدوم کلمه انتخاب شده

۶/پس ۲بیت برای انتخاب کلمه ، ۲ بیت برای انتخاب ست و ۴ بیت برای انتخاب Tag

شکلشم کشیدم توو عکس هست


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

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  سوال در مورد صفحه بندی در سیستم عامل Azadam ۱ ۱,۸۱۲ ۱۳ دى ۱۴۰۰ ۱۱:۰۴ ق.ظ
آخرین ارسال: Azadam
  دانشگاه های پزشکی رو برای رشته انفورماتیک چطوری اولویت بندی کنم ؟ mrpool ۷ ۹,۰۱۸ ۲۴ فروردین ۱۴۰۰ ۰۱:۵۲ ق.ظ
آخرین ارسال: hossein1991
  [دانلود] کتاب clrs همراه با حل تمرین و پیوست فارسی mehrdad66 ۳۸ ۸۶,۴۹۹ ۲۴ خرداد ۱۳۹۹ ۰۴:۲۲ ب.ظ
آخرین ارسال: Nargeshassani
  ریاضی گسسته روزن ویرایش ۷ همراه با کتاب حل تمرین ها livestrong ۱۲ ۲۰,۵۹۸ ۱۷ اردیبهشت ۱۳۹۹ ۰۴:۳۷ ب.ظ
آخرین ارسال: raziyeh.karbasi
  نگاشت شرکت پذیر مجموعه ای لطفا کمک Sanazzz ۳ ۴,۱۲۶ ۰۲ اسفند ۱۳۹۷ ۰۳:۲۷ ب.ظ
آخرین ارسال: Sanazzz
  بودجه بندی آزمون های آزمایشی رشته مهندسی کامپیوتر مدرسان شریف mhm-pc ۳ ۷,۰۰۵ ۰۲ تیر ۱۳۹۷ ۰۴:۲۱ ق.ظ
آخرین ارسال: Sara1994
Question درخواست معرفی کتاب تمرین ++C همراه با حل ۶۷۸۹۰ ۱ ۳,۳۳۶ ۲۸ خرداد ۱۳۹۷ ۱۱:۲۱ ق.ظ
آخرین ارسال: ardeshir.sadat2@gmail.com
  اولویت بندی دانشگاه ها در نرم افزار بین علم و صنعت، بهشتی ، نصیر و شهرستانها Sepideh96 ۷ ۷,۲۳۲ ۲۲ خرداد ۱۳۹۷ ۰۲:۵۲ ب.ظ
آخرین ارسال: saeed_vahidi
  اولویت بندی دانشگاه های شهر تهران در ارشد IT AmirrezaHatef ۱۳ ۸,۶۱۳ ۱۵ خرداد ۱۳۹۷ ۰۲:۱۹ ب.ظ
آخرین ارسال: Parisa__karimi
  طبقه بندی دانشگاه ها براساس معماری کامپیوتر azarakhsh1986 ۳۱ ۱۹,۱۸۸ ۰۸ خرداد ۱۳۹۷ ۰۵:۳۶ ب.ظ
آخرین ارسال: abolfazl pepco

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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