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

نسخه‌ی کامل: مقدرا tag و index
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان سوال زیر رو توضیح می دید لطفا.
نمی تونم مقدرا tag و index رو بدست بیارم .

[تصویر:  433944_8ntv_photo_2017-03-28_17-21-43.jpg]

[تصویر:  433944_c5ub_photo_2017-03-28_17-21-48.jpg]
سلام

ما دوتا نشونه توی سوال داریم
1)
اینکه اندازه حافظه اصلی چنده؟!
2)
اینکه اندازه کش چند تاست؟!
طبق سلسله مراتب تولید حافظه از cpu تا زمان نگاشتش به حافظه اصلی با عبور از کش داریم :

اندازه حافظه اصلی :
[tex]256MW=2^8\times2^{20}\times W\: =2^{28}W[/tex]
اندازه کش :
[tex]128KB=2^7\times2^{10}B=2^{17}B[/tex]
---------------
حال یک نگاه دو طرفه به اوضاع داشته باشیم :
دقت کنید که TAG تنها به ازای کش وجود دارد و با توجه به نوع نگاشت به ازای هر SET یک تگ خوایم داشت.

دقت کنید که با توجه به اندازه ی کلی حافظه اصلی : تعداد بیت های مشخص کننده [tex]2^{30}[/tex] خواهد بود یعنی آدرس تولید شده 30 بیتی است! دو بیت اضافه شده نیز به این خاطر است که حافظه دارای تعداد کلمات 4 بایتی است که برای مشخص نمودنش به 2 بیت نیاز داریم که مجموعا میشود [tex]2^{30}[/tex].
و دقت کنید که اوضاع برای کش نیز به همین شکل است به استثنای TAG ها.
بیایید از طرف تولید آدرس به کش به مساله نگاه کنیم : همان طور که میدانید TAG ها در این محاسبه نقشی ندارند و تنها خطوط تعیین کننده ی تعداد بیت ها در کش ، طبق اندازه ی کش [tex]2^{17}[/tex] خواهد بود.
از 30 بیتِ در دسترس که تشکیل آدرس میدهد 17 بیت کم کنید :
می ماند 13 بیت برای TAG.

حال بیایید از طرف حافظه به قضیه نگاه کنیم :
دو بیت که تعداد کلمات حافظه که حاوی 4بایت است را مشخص میکرد.جدای از اندازه ی TAG با کم کردن این مقدار از 17 بیت مورد نظر تنها 15 بیت دیگر باقی میماند(همان طور که مشاهده میکنید در گزینه ها مقدار index با اندازه ی 15 نیز موجود است!) دلیل رد این گزینه قالب نگاشت میباشد که برای مشخص نمودن یک راه مورد نظر، نیاز به یک بیت برای WORD خواهیم داشت که این یک بیت نیز باید از 15 بیتِ باقی مانده کم شود و تعداد index=14 خواهد شد.(دقت کنید که اگر در سوال بر دو راهه بودن تاکید میداشت اندازه ی WORD همچنان 1 باقی میماند)!
--------
مهم ترین موضوع در پاسخگویی به این مسائل تشخیص سیاست نگاشت + تقسیم بندی های حافظه(بلاک ها و بایت ها و تعداد کلمات آدرس پذیر) + قالب دستور العمل است.
سلام
با احترام به پاسخ samanbeigmiri
از روی اطلاعات مزبوط به زمان های دسترسی و نرخ برخورد می توان تعداد کلمه در بلاک را بدست اورد.با فرض عدم ارتباط مستقیم cpu با حافظه اصلی .
[tex]t_{avg}=ht_c+(1-h)(t_c+t_{transfer})=t_c+(1-h)t_{transfer}[/tex]
زمانی که Miss رخ می دهد بلاک از حافظه به کش منتقل می شود که زمان دسترسی به هر کلمه در حافظه اصلی طبق سوال ۷۵ns است پس اگر بلاک x کلمه داشته باشد زمان انتقال یک بلاک به کش[tex]75\ast x\: ns[/tex] زمان می برد باتوجه به زمان های داده شده در عنوان سوال داریم
[tex]25=10+0.1\: \ast\: 75\ast\: x\: \rightarrow\: \: x=2[/tex] یعنی هر بلاک دو کلمه دارد.
این سوال ابهام دارد. از روی عنوان سوال مشخص نیست که بایت قابل ادرس دهی است یا کلمه و cpu ارتباط مستقیمی با حافظه اصلی دارد یا نه. هر چند در صورت وجود ارتباط مستقیم به نظر دیگر نمی توان تعداد کلمات را از این دیتا ها بدست اورد.

(08 فروردین 1396 07:32 ب.ظ)samanbeigmiri نوشته شده توسط: [ -> ]سلام

ما دوتا نشونه توی سوال داریم
۱)
اینکه اندازه حافظه اصلی چنده؟!
۲)
اینکه اندازه کش چند تاست؟!
طبق سلسله مراتب تولید حافظه از cpu تا زمان نگاشتش به حافظه اصلی با عبور از کش داریم :

اندازه حافظه اصلی :
[tex]256MW=2^8\times2^{20}\times W\: =2^{28}W[/tex]
اندازه کش :
[tex]128KB=2^7\times2^{10}B=2^{17}B[/tex]
---------------
حال یک نگاه دو طرفه به اوضاع داشته باشیم :
دقت کنید که TAG تنها به ازای کش وجود دارد و با توجه به نوع نگاشت به ازای هر SET یک تگ خوایم داشت.

دقت کنید که با توجه به اندازه ی کلی حافظه اصلی : تعداد بیت های مشخص کننده [tex]2^{30}[/tex] خواهد بود یعنی آدرس تولید شده ۳۰ بیتی است! دو بیت اضافه شده نیز به این خاطر است که حافظه دارای تعداد کلمات ۴ بایتی است که برای مشخص نمودنش به ۲ بیت نیاز داریم که مجموعا میشود [tex]2^{30}[/tex].
و دقت کنید که اوضاع برای کش نیز به همین شکل است به استثنای TAG ها.
بیایید از طرف تولید آدرس به کش به مساله نگاه کنیم : همان طور که میدانید TAG ها در این محاسبه نقشی ندارند و تنها خطوط تعیین کننده ی تعداد بیت ها در کش ، طبق اندازه ی کش [tex]2^{17}[/tex] خواهد بود.
از ۳۰ بیتِ در دسترس که تشکیل آدرس میدهد ۱۷ بیت کم کنید :
می ماند ۱۳ بیت برای TAG.

حال بیایید از طرف حافظه به قضیه نگاه کنیم :
دو بیت که تعداد کلمات حافظه که حاوی ۴بایت است را مشخص میکرد.جدای از اندازه ی TAG با کم کردن این مقدار از ۱۷ بیت مورد نظر تنها ۱۵ بیت دیگر باقی میماند(همان طور که مشاهده میکنید در گزینه ها مقدار index با اندازه ی ۱۵ نیز موجود است!) دلیل رد این گزینه قالب نگاشت میباشد که برای مشخص نمودن یک راه مورد نظر، نیاز به یک بیت برای WORD خواهیم داشت که این یک بیت نیز باید از ۱۵ بیتِ باقی مانده کم شود و تعداد index=14 خواهد شد.(دقت کنید که اگر در سوال بر دو راهه بودن تاکید میداشت اندازه ی WORD همچنان ۱ باقی میماند)!
--------
مهم ترین موضوع در پاسخگویی به این مسائل تشخیص سیاست نگاشت + تقسیم بندی های حافظه(بلاک ها و بایت ها و تعداد کلمات آدرس پذیر) + قالب دستور العمل است.
حال یک نگاه دو طرفه به اوضاع داشته باشیم :
دقت کنید که TAG تنها به ازای کش وجود دارد و با توجه به نوع نگاشت به ازای هر SET یک تگ خوایم داشت.

با احترام فکر کنم منظور شما از اینکه tag تنها به ازای کش وجود دارد این باشد که به ازای هر بلوک از کش یک tag داریم .اگر چنین باشد این موضوع کلیت ندارد و گاها به ازای هر کلمه یک tag وجود دارد(در پوران هم به ان اشاره شده) ولی خوب در تست ها به ازای هر بلوک یک تگ داریم (این هم یکی از پیش فرض های است که طراحان محترم مد نظر دارند!!!)
من دقیقا متوجه منظور شما هستم
یک مثال بزنم که خیالتان هم راحت کنم بزرگوارBig Grin

مثلا در بخش کنترل ریز برنامه ریزی شده از سال 89 به بعد نظر طراح برای محاسبات موجود در حافظه نانو به کل تغییر کرده!!(تغییری کاملا اشتباه که حتی از لحاظ پیاده سازی و سخت افزاری هم غلط است!!!)
و اما نکته ی جالب تر اینجاست که در کنکور دکترای امسال همان نگاه غلط را باید داشت که بتوان به مساله پاسخ داد!!(و جالب تر اینکه طراح یکی از گزینه ها را بر اساس نگاه درست در مساله قرار داده !!!)
----
من نظرم این هستش که هر جور شده شما سوالات کنکور رو منطبق بر نظر طراح حل کنید و سعی کنید نگاه غلط طراح رو هم درک کنید.
من خودم اگر یه همچین سوالی بیاد با همین شیوه جوابشو در میارم!Big Grin

جالب اینجاست که در حل من تعدادی از بیت ها توی هر رفت و برگشت از حافظه به کش و بالعکس از دست میره و من کاملا از این موضوع آگاهم!!
(08 فروردین 1396 08:49 ب.ظ)samanbeigmiri نوشته شده توسط: [ -> ]من نظرم این هستش که هر جور شده شما سوالات کنکور رو منطبق بر نظر طراح حل کنید و سعی کنید نگاه غلط طراح رو هم درک کنید.
من خودم اگر یه همچین سوالی بیاد با همین شیوه جوابشو در میارم!Big Grin
امان از این اساتید طراحHuh
لینک مرجع