تالار گفتمان مانشت
نگاشت شرکت پذیر مجموعه ای لطفا کمک - نسخه‌ی قابل چاپ

نگاشت شرکت پذیر مجموعه ای لطفا کمک - Sanazzz - 29 بهمن ۱۳۹۷ ۰۸:۱۷ ب.ظ

سلام
لطفا خواهشا کمک کنین
تو مثال اولی همشو متوجه شدم یه مشکلی دارم که چرا وقتی گفته بلوک هایی با سایز ۴ کلمه ای
این ۴ کلمه رو به عنوان دو بیت برای بخش index در نظر نگرفته؟
مگه index نمیشه word+set

و لطفا مثال دومو توضیح بدین خواهشا
خیلی خیلی خیلی ممنون یشممم تشکرااات ویژههههه
[تصویر:  466408_op5w_p_20190218_191204_vhdr_on_1.jpg]

RE: نگاشت شرکت پذیر مجموعه ای لطفا کمک - Sanazzz - 30 بهمن ۱۳۹۷ ۰۳:۰۳ ب.ظ

فکر کنم فهمیدم Smile
میگه هر مجموعه دو بلوک داره و هر بلوک ۴ کلمه پس هر مجموعه ۸ تا کلمه داره
در کل حافظه نهان ۲۰۴۸ کلمه است که تقسیم به ۸ میشه ۲۵۶ مجموعه یا همون set که با ۸ بیت نشون میدیم
بعد ۲ بیت هم برای اینکه بلوکمون ۴ کلمه ایه جاش تو هر بلوک مشخص بشه
در کل ۱۰ بیت شد برای حافظه کش از ۱۷ تایه مابقی ۷ تاش برای tag
یعنی درست فهمیدم واقعاااااااااا!!!!!!!!!!! Smile))))
البته با کمک اینجا

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


RE: نگاشت شرکت پذیر مجموعه ای لطفا کمک - msh90005 - 02 اسفند ۱۳۹۷ ۰۱:۴۷ ب.ظ

(۳۰ بهمن ۱۳۹۷ ۰۳:۰۳ ب.ظ)Sanazzz نوشته شده توسط:  فکر کنم فهمیدم Smile
میگه هر مجموعه دو بلوک داره و هر بلوک ۴ کلمه پس هر مجموعه ۸ تا کلمه داره
در کل حافظه نهان ۲۰۴۸ کلمه است که تقسیم به ۸ میشه ۲۵۶ مجموعه یا همون set که با ۸ بیت نشون میدیم
بعد ۲ بیت هم برای اینکه بلوکمون ۴ کلمه ایه جاش تو هر بلوک مشخص بشه
در کل ۱۰ بیت شد برای حافظه کش از ۱۷ تایه مابقی ۷ تاش برای tag
یعنی درست فهمیدم واقعاااااااااا!!!!!!!!!!! Smile))))
البته با کمک اینجا

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

ببین اطلاعاتی که سوال داده ایناست :

تعداد کلمه حافظه اصلی ۱۲۸k پس ۱۷^۲ ( هر کلمه هم ۳۲ بیتی که همون دیتای ماست و فعلا باهاش کاری نداریم)
کش مجموعه ای که هر مجموعه شامل ۲ بلاک هستند
و سایز بلوک ها هم ۴ کلمه ای هستن
فضای آدرس دهی کش هم ۱۱ بیت هست ( یعنی ۲۰۴۸ تا از کلمه های یا ردیف های حافظه میتونه در کش باشه)

حالا الف گفته فرمت ادرس :
مرحله اول)میدونیم که فرمت آدرس در نگاشت مجوعه ای به صورت tag/set/word هست و چون خود سوال گفته فضای آدرس حافظه ۱۲۸k یا همون ۱۷ بیت هست پس مجموع tag+set+word باید ۱۷ بیت باشه

مرحله دوم)نیاز داریم اندازه هر کدوم از tag/set/word ها رو حساب کنیم یا حداقل ۲ تاش رو حساب کنیم
word: چون تو سوال گفته بلاک ها ۴ کلمه ای هستن پس برای word داریم ۲ بیت

set: تعداد مجموعه ها همون تعداد بلاک های کش تقسیم بر k هست پس باید بریم تعداد بلاک کش رو حساب کنیم
تعداد بلاک های کش هم فضای آدرس کش/سایز بلاک که ۲۰۴۸/۴=۵۱۲ (ساده بنویسیم ۱۱-۲=۹) که همون ۵۱۲=۲^۹
حالا میتونیم set رو حساب کنیم که میشه ۵۱۲/۲=۲۵۶ یا (۹-۱=۸) که همون ۲۵۶=۲^۸

حالا این یعنی چی ؟ یعنی ما ۲۵۶ تا مجموعه داریم که هر کدوم از اینها شامل ۲ تا بلاک هستن که هر بلاک شامل ۴ کلمه هست (اگه متوجه نشدی سعی کن شکل بکشی)

خب تا همینجا الف حل میشه یعنی ۷ =(۲+۸) - ۱۷ پس tag ما باید ۷ بیتی باشه ولی ما جدا خودمون حساب میکنیم که بررسی کنیم درسته یا نه!

مرحله ۳ ) برای محاسبه تگ تو روش های مختلف فرق میکنه حالا این ینی چی ؟ (میگم که همش و یجا ببینی کامل داستان رو درک کنی)

۱- نگاشت مستقیم : tag = لگاریتم ( نسبت اندازه حافظه به اندازه کش) خیلی ساده بخوام بگم همون (تعداد بیت ادرس حافظه - تعداد بیت ادرس کش ) که میشه تعداد بیت های tag در نگاشت مستقیم

۲- full-asscociative یا انجمنی کامل : tag = لگاریتم(تعداد بلاک حافظه) که این یعنی برای ادرس دهی ادرس خود بلاک حافظه تو tag قرار میگیره

۳- k-way set associative یا مجموعه انجمنی : tag = لگاریتم (نسبت اندازه حافظه به اندازه کش ) + لگاریتم (k یا همون تعداد بلاک در هر مجموعه)

اگه دقت کنید روش مجموعه ای خودش ترکیب روش مستقیم و انجمنی کامل هست و tag هم میشه مجموع tag های این دو روش البته دقت کنید که اینجا دیگه باید به جای لگاریتم(تعداد بلاک حافظه)، لگاریتم( تعداد بلاک هر مجموعه همون k) رو قرار میدیم

خب حالا tag سوال رو حساب کنیم که روش ۳ میشه دیگه : گلاریتم( ۱۲۸k / 2048) + لگاریتم ( ۲) = ۶ + ۱ = ۷ که دقیقا درسته همچی Big Grin

قسمت ب هم که فک نکنم مشکل داشته باشی

سوال ۲۰ هم خودم نفهمیدمBig Grin[/align]

RE: نگاشت شرکت پذیر مجموعه ای لطفا کمک - Sanazzz - 02 اسفند ۱۳۹۷ ۰۳:۲۷ ب.ظ

(۰۲ اسفند ۱۳۹۷ ۰۱:۴۷ ب.ظ)msh90005 نوشته شده توسط:  
(30 بهمن ۱۳۹۷ ۰۳:۰۳ ب.ظ)Sanazzz نوشته شده توسط:  فکر کنم فهمیدم Smile
میگه هر مجموعه دو بلوک داره و هر بلوک ۴ کلمه پس هر مجموعه ۸ تا کلمه داره
در کل حافظه نهان ۲۰۴۸ کلمه است که تقسیم به ۸ میشه ۲۵۶ مجموعه یا همون set که با ۸ بیت نشون میدیم
بعد ۲ بیت هم برای اینکه بلوکمون ۴ کلمه ایه جاش تو هر بلوک مشخص بشه
در کل ۱۰ بیت شد برای حافظه کش از ۱۷ تایه مابقی ۷ تاش برای tag
یعنی درست فهمیدم واقعاااااااااا!!!!!!!!!!! Smile))))
البته با کمک اینجا

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

ببین اطلاعاتی که سوال داده ایناست :

تعداد کلمه حافظه اصلی ۱۲۸k پس ۱۷^۲ ( هر کلمه هم ۳۲ بیتی که همون دیتای ماست و فعلا باهاش کاری نداریم)
کش مجموعه ای که هر مجموعه شامل ۲ بلاک هستند
و سایز بلوک ها هم ۴ کلمه ای هستن
فضای آدرس دهی کش هم ۱۱ بیت هست ( یعنی ۲۰۴۸ تا از کلمه های یا ردیف های حافظه میتونه در کش باشه)

حالا الف گفته فرمت ادرس :
مرحله اول)میدونیم که فرمت آدرس در نگاشت مجوعه ای به صورت tag/set/word هست و چون خود سوال گفته فضای آدرس حافظه ۱۲۸k یا همون ۱۷ بیت هست پس مجموع tag+set+word باید ۱۷ بیت باشه

مرحله دوم)نیاز داریم اندازه هر کدوم از tag/set/word ها رو حساب کنیم یا حداقل ۲ تاش رو حساب کنیم
word: چون تو سوال گفته بلاک ها ۴ کلمه ای هستن پس برای word داریم ۲ بیت

set: تعداد مجموعه ها همون تعداد بلاک های کش تقسیم بر k هست پس باید بریم تعداد بلاک کش رو حساب کنیم
تعداد بلاک های کش هم فضای آدرس کش/سایز بلاک که ۲۰۴۸/۴=۵۱۲ (ساده بنویسیم ۱۱-۲=۹) که همون ۵۱۲=۲^۹
حالا میتونیم set رو حساب کنیم که میشه ۵۱۲/۲=۲۵۶ یا (۹-۱=۸) که همون ۲۵۶=۲^۸

حالا این یعنی چی ؟ یعنی ما ۲۵۶ تا مجموعه داریم که هر کدوم از اینها شامل ۲ تا بلاک هستن که هر بلاک شامل ۴ کلمه هست (اگه متوجه نشدی سعی کن شکل بکشی)

خب تا همینجا الف حل میشه یعنی ۷ =(۲+۸) - ۱۷ پس tag ما باید ۷ بیتی باشه ولی ما جدا خودمون حساب میکنیم که بررسی کنیم درسته یا نه!

مرحله ۳ ) برای محاسبه تگ تو روش های مختلف فرق میکنه حالا این ینی چی ؟ (میگم که همش و یجا ببینی کامل داستان رو درک کنی)

۱- نگاشت مستقیم : tag = لگاریتم ( نسبت اندازه حافظه به اندازه کش) خیلی ساده بخوام بگم همون (تعداد بیت ادرس حافظه - تعداد بیت ادرس کش ) که میشه تعداد بیت های tag در نگاشت مستقیم

۲- full-asscociative یا انجمنی کامل : tag = لگاریتم(تعداد بلاک حافظه) که این یعنی برای ادرس دهی ادرس خود بلاک حافظه تو tag قرار میگیره

۳- k-way set associative یا مجموعه انجمنی : tag = لگاریتم (نسبت اندازه حافظه به اندازه کش ) + لگاریتم (k یا همون تعداد بلاک در هر مجموعه)

اگه دقت کنید روش مجموعه ای خودش ترکیب روش مستقیم و انجمنی کامل هست و tag هم میشه مجموع tag های این دو روش البته دقت کنید که اینجا دیگه باید به جای لگاریتم(تعداد بلاک حافظه)، لگاریتم( تعداد بلاک هر مجموعه همون k) رو قرار میدیم

خب حالا tag سوال رو حساب کنیم که روش ۳ میشه دیگه : گلاریتم( ۱۲۸k / 2048) + لگاریتم ( ۲) = ۶ + ۱ = ۷ که دقیقا درسته همچی Big Grin

قسمت ب هم که فک نکنم مشکل داشته باشی

سوال ۲۰ هم خودم نفهمیدمBig Grin[/align]
خیلی خیلی خیلی خیلیییی ممنونممممم
تشکرات ویژه که وقت گذاشتین
واقعا ممنون