تالار گفتمان مانشت

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

و لطفا مثال دومو توضیح بدین خواهشا
خیلی خیلی خیلی ممنون یشممم تشکرااات ویژههههه
[تصویر:  466408_op5w_p_20190218_191204_vhdr_on_1.jpg]
فکر کنم فهمیدم Smile
میگه هر مجموعه دو بلوک داره و هر بلوک ۴ کلمه پس هر مجموعه ۸ تا کلمه داره
در کل حافظه نهان ۲۰۴۸ کلمه است که تقسیم به ۸ میشه ۲۵۶ مجموعه یا همون set که با ۸ بیت نشون میدیم
بعد ۲ بیت هم برای اینکه بلوکمون ۴ کلمه ایه جاش تو هر بلوک مشخص بشه
در کل ۱۰ بیت شد برای حافظه کش از ۱۷ تایه مابقی ۷ تاش برای tag
یعنی درست فهمیدم واقعاااااااااا!!!!!!!!!!! Smile))))
البته با کمک اینجا

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

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

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

تعداد کلمه حافظه اصلی 128k پس 17^2 ( هر کلمه هم 32 بیتی که همون دیتای ماست و فعلا باهاش کاری نداریم)
کش مجموعه ای که هر مجموعه شامل 2 بلاک هستند
و سایز بلوک ها هم 4 کلمه ای هستن
فضای آدرس دهی کش هم 11 بیت هست ( یعنی 2048 تا از کلمه های یا ردیف های حافظه میتونه در کش باشه)

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

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

set: تعداد مجموعه ها همون تعداد بلاک های کش تقسیم بر k هست پس باید بریم تعداد بلاک کش رو حساب کنیم
تعداد بلاک های کش هم فضای آدرس کش/سایز بلاک که 2048/4=512 (ساده بنویسیم 11-2=9) که همون 512=2^9
حالا میتونیم set رو حساب کنیم که میشه 512/2=256 یا (9-1=8) که همون 256=2^8

حالا این یعنی چی ؟ یعنی ما 256 تا مجموعه داریم که هر کدوم از اینها شامل 2 تا بلاک هستن که هر بلاک شامل 4 کلمه هست (اگه متوجه نشدی سعی کن شکل بکشی)

خب تا همینجا الف حل میشه یعنی 7 =(2+8) - 17 پس tag ما باید 7 بیتی باشه ولی ما جدا خودمون حساب میکنیم که بررسی کنیم درسته یا نه!

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

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

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

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

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

خب حالا tag سوال رو حساب کنیم که روش 3 میشه دیگه : گلاریتم( 128k / 2048) + لگاریتم ( 2) = 6 + 1 = 7 که دقیقا درسته همچی Big Grin

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

سوال 20 هم خودم نفهمیدمBig Grin[/align]
(02 اسفند 1397 01:47 ب.ظ)msh90005 نوشته شده توسط: [ -> ]
(30 بهمن 1397 03:03 ب.ظ)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]
خیلی خیلی خیلی خیلیییی ممنونممممم
تشکرات ویژه که وقت گذاشتین
واقعا ممنون
لینک مرجع