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

نسخه‌ی کامل: تعداد بیت Tag در نگاشت انجمنی مجموعه ، سوال آزمون پارسه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام
سوال به این صورته که
کش داریم که ۴Way هست و هر بلاک شامل ۲ کلمه
کدام گزینه زیر میتونه بیت تگ و حجم حافظه اصلی باشه
۱ . ۳ بیت و ۱M کلمه
۲/ ۲ بیت و ۲M کلمه
۳/ ۵بیت و ۲M کلمه
۴/ ۴ بیت و ۱M کلمه

جواب گزینه ۲ که ضمیمه هم کردم. البته یه سری محاسبات قبلش میخواست که تعداد کلمات داخل هر بلوک را بدست بیاریم که همون X هست

حالا اینجا برام ابهام پیش اومده که تو نگاشت انجمنی یه همچین قاعده داشتیم که
c تعداد کلمات کش
t که اگر نگاشت kway باشه k=2^t
w تعداد کلمات داخل هر بلوک
و m تعداد کلمات داخل حافظه اصلی

و داشتیم تعداد بیت تگ m-c+t
و تعداد بیت Set برابر با c-w-t
و فیلد word یا آفست هم میشه w
و اینجا مگه بیت Tag نباید بشه m-c+t
و تعداد کلمات داخل حافظه اصلی m
ولی نمیدونم چرا این سوال با این چیزهایی که گفتم جور در نمیاد. کجای کارم ایراد داره؟
منم متوجه نمیشم چرا حجم حافظه اصلی رو به اندازه ی یک set تقسیم کرده!
حجم حافظه اصلی چه ربطی به اندازه set داره؟
(27 دى 1392 08:47 ب.ظ)kati نوشته شده توسط: [ -> ]منم متوجه نمیشم چرا حجم حافظه اصلی رو به اندازه ی یک set تقسیم کرده!
حجم حافظه اصلی چه ربطی به اندازه set داره؟
احساس میکنم تعداد کلمات حافظه اصلی را با تعداد کلمات کش جابجا گرفته باشه
(27 دى 1392 08:50 ب.ظ)masoud67 نوشته شده توسط: [ -> ]
(27 دى 1392 08:47 ب.ظ)kati نوشته شده توسط: [ -> ]منم متوجه نمیشم چرا حجم حافظه اصلی رو به اندازه ی یک set تقسیم کرده!
حجم حافظه اصلی چه ربطی به اندازه set داره؟
احساس میکنم تعداد کلمات حافظه اصلی را با تعداد کلمات کش جابجا گرفته باشه

اصلا راه حل کلی اینجور سوالات چیه؟ یعنی چطور باید جایگذاری کنیم که به یه تناقض برسیم و رد گزینه کنیم؟ مثلا بعد از بدست اوردن w با جایگذاری گزینه اول به تناقضی نمی رسیم که!Exclamation
(27 دى 1392 08:50 ب.ظ)masoud67 نوشته شده توسط: [ -> ]احساس میکنم تعداد کلمات حافظه اصلی را با تعداد کلمات کش جابجا گرفته باشه

یعنی اگر صورت سوال حجم حافظه کش رو می خواست اون موقع درست درمیومد دیگه! نه؟
اون طوری میشد با بررسی تک تک گزینه ها به جواب رسید (یعنی میومدیم حجم حافظه کش رو به اندازه set تقسیم می کردیم تا تعداد set ها به دست بیاد بعدش هم که میشد تعداد tag ها رو حساب کرد)درست میگم؟
(27 دى 1392 08:57 ب.ظ)kati نوشته شده توسط: [ -> ]
(27 دى 1392 08:50 ب.ظ)masoud67 نوشته شده توسط: [ -> ]احساس میکنم تعداد کلمات حافظه اصلی را با تعداد کلمات کش جابجا گرفته باشه

یعنی اگر صورت سوال حجم حافظه کش رو می خواست اون موقع درست درمیومد دیگه! نه؟
اون طوری میشد با بررسی تک تک گزینه ها به جواب رسید
نه انگار. چون با داشتن c نمیشه m را بدست بیاریم.

(27 دى 1392 08:55 ب.ظ)fulgent نوشته شده توسط: [ -> ]اصلا راه حل کلی اینجور سوالات چیه؟ یعنی چطور باید جایگذاری کنیم که به یه تناقض برسیم و رد گزینه کنیم؟ مثلا بعد از بدست اوردن w با جایگذاری گزینه اول به تناقضی نمی رسیم که!Exclamation
راه حلش این بود که نوشتم. یعنی بر اساس بیت ها. یعنی اینجوری تو کتاب نوشته. حالا نمیدونم این سوال چیز خاصی داره که باید توجه میکردیم و نکردیم
با این راه حل هیچکدوم از گزینه اشتباه نیست. همشون درست میاد
به نظر من فرمولی که استفاده کرده اشتباس و با فرمولایی که شما نوشتین موافقم.به نظرم سوالش یکم اطلاعات کم داره. سر آزمون هر جور فک کردم و از هر روشی رفتم نشد که نشد آخر هم خودم زیر سوال بردم که حتما خوب یاد ندارم این مبحث. Undecided اما غلطه انگار
(27 دى 1392 09:00 ب.ظ)masoud67 نوشته شده توسط: [ -> ]نه انگار. چون با داشتن c نمیشه m را بدست بیاریم.
آهان بله بازم نمیشد! خب پس من همچنان گیجم!! چطوری میشه حلش؟Smile

(27 دى 1392 09:05 ب.ظ)b.kiani نوشته شده توسط: [ -> ]سر آزمون هر جور فک کردم و از هر روشی رفتم نشد که نشد آخر هم خودم زیر سوال بردم که حتما خوب یاد ندارم این مبحث. Undecided اما غلطه انگار

دقیقا منم طبق معمول به خودم بد و بیراه گفتم که چرا باز سر حافظه ها مشکل دارم!
(27 دى 1392 09:07 ب.ظ)kati نوشته شده توسط: [ -> ]آهان بله بازم نمیشد! خب پس من همچنان گیجم!! چطوری میشه حلش؟Smile
این سوال که فکر نکنم حل بشه. ولی کلا اینجوریه که اول باید m-c+t را با تعداد بیت تگ مساوی کنیم که m همون تعداد کلمات حافظه میشه (حجم حافظه = ۲^m) که چون c مجهوله اونو بدست میاریم. بعد تعداد ست را بدست میاریم با رابطه c-w-t که دست آخر باید ببینیم تعداد بیت ست + تعداد بیت تگ + تعداد بیت کلمه w برابر با m میشه یا نه
[tex]\left \{ (m-c t) (c-t-w) w \right \} = m[/tex]
(27 دى 1392 09:19 ب.ظ)masoud67 نوشته شده توسط: [ -> ]
(27 دى 1392 09:07 ب.ظ)kati نوشته شده توسط: [ -> ]آهان بله بازم نمیشد! خب پس من همچنان گیجم!! چطوری میشه حلش؟Smile
این سوال که فکر نکنم حل بشه. ولی کلا اینجوریه که اول باید m-c+t را با تعداد بیت تگ مساوی کنیم که m همون تعداد کلمات حافظه میشه (حجم حافظه = ۲^m) که چون c مجهوله اونو بدست میاریم. بعد تعداد ست را بدست میاریم با رابطه c-w-t که دست آخر باید ببینیم تعداد بیت ست + تعداد بیت تگ + تعداد بیت کلمه w برابر با m میشه یا نه
[tex]\left \{ (m-c t) (c-t-w) w \right \} = m[/tex]
بله ممنون متوجه شدم.
مشکل کلی من همون تقسیم حجم حافظه اصلی به به اندازه ست بود! که گویا ربطی به هم ندارن !
سلام نمیدونم درست متوجه نشدم مشکلتون کجاست،خب داریم میگیم هر way دوتا کلمه میگیره،هر ست هم ۴ تا way هست،خب یعنی اینکه در هر ست ما ۲*۴ تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه۲ مگ / 8 که همون ۲ به توان ۱۸
خب وقتی ۲به توان ۱۸ ست داریم،یعنی برای نمایش ست هامون باید ۱۸ بیت داشته باشیم،توو هر way هم دو کلمه داریم که میشه 1 بیت، که در نهایت
۲۱ - ۱۹= 2

یه چیزی بگم شاید نزدیک کنکور درست نباشه، ولی به هر حال اون فرمولا و جمعو تفرق بیتا کت شما نوشتی،واقعا فرمول نیست،یعنی یه چیزی مثه فرمولای ریاضی توابع مختلط نیست،یه چیز من داوردی هستش که مولف برای درستر رسوندن منظورش ساختشون،درواقع هرچی میگه رو نوشته،به مثال من دقت کن
ادرسهای پردازنده ۲۰ بیتی هستن،توو هر بلاک حافظه کش ۴ کلمه قرار میگیره و کش شامل ۲۵۶ کلمه هستش ...
خب حالا شما دو راه ، فرمول بنویسی یا خودت با توجه به مسئله جوابو بدست بیاری،
من میگم خب، هر بلاک چهار کلمس،پس 2 بیت برا نمایشش میخوام
ش ۲۵۶ کلمس پس یعنی ۲۵۶/۴ برابر ۶۴بلاک داریم،برای نمایش ۶۴ بلاک ۸ بیت میخوام،باقیشم میره واسه تگ.
خب این بهتره یا بخوایم مغزمونو با فرمولو حفظ کردنو ... پر کنیم. معماری درس ریاضی نسس که شما نیاز به فرمول داشته باشی، مثلا اون چیزی که به عنوان فرمول دسترسی به کش میشناسیمش،یه جمله سادس که با نمادهای ریاضی جایگزین شد
برای دستیابی به حافظه باید اول به کش مراجعه کنیم اگر تووش بود فقط زمانه اونو تحمل میکنیم یا اینکه توش نیس در اینصورت زمان رفتن به حافظه اصلی و اوردن اون داده روی کش رو هم تحمل میکنیم.
Tave=H*Tcache + (1-H)(Tcache+Tmemory)
خب دقیقا هر چی بالا گفتم با نمادای ریاضی نشون دادم.حالا اگر توی حافظه اصلی داده نبود یعنی page fault اتفاق افتاد چی؟ میخوای یه فرمول جدیدم برای اون حفظ کنی؟نه اینجور فقط ذهنت با فرمول پر میشه و اگر از یه کش به دوتا تغییر کرد،اگر page faulto , misspenalty ... اضافه شد،همش دونبال فرمول باید بگردیو ... سعی کن بجای فرمول حفظ کردن،نحوه درست شدنه اونو فرمولو درک کنی،که بعدا با توجه به نیازات بتونی اونو تغییر بدیو فرمول خودتو بسازی.

Sent from my GT-N5100 using Tapatalk HD
(27 دى 1392 10:12 ب.ظ)jahanmanesh نوشته شده توسط: [ -> ]سلام نمیدونم درست متوجه نشدم مشکلتون کجاست،خب داریم میگیم هر way دوتا کلمه میگیره،هر ست هم ۴ تا way هست،خب یعنی اینکه در هر ست ما ۲*۴ تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه۲ مگ / ۸ که همون ۲ به توان ۱۸
خب وقتی ۲به توان ۱۸ ست داریم،یعنی برای نمایش ست هامون باید ۱۸ بیت داشته باشیم،توو هر way هم دو کلمه داریم که میشه ۱ بیت، که در نهایت
۲۱ - ۱۹= ۲
همه ی حرفای شما کاملا درست و متین .اما من هم دقیقا به دلیل اینکه قصدی ندارم هیچ فرمولی رو حفظ کنم و میخوام مفهوم سوال رو بفهمم یه مشکل دارم!و سوالم از شما اینه: Smile
الان یه توضیح کوچیکی به من بدید که اندازه حافظه ی اصلی چه ربطی به اندازه ی یک set داره؟ (یعنی چرا اندازه حافظه اصلی رو به اندازه یک ست تقسیم می کنه؟)
ممنون
(27 دى 1392 10:12 ب.ظ)jahanmanesh نوشته شده توسط: [ -> ]سلام نمیدونم درست متوجه نشدم مشکلتون کجاست،خب داریم میگیم هر way دوتا کلمه میگیره،هر ست هم ۴ تا way هست،خب یعنی اینکه در هر ست ما ۲*۴ تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه۲ مگ / ۸ که همون ۲ به توان ۱۸
خب وقتی ۲به توان ۱۸ ست داریم،یعنی برای نمایش ست هامون باید ۱۸ بیت داشته باشیم،توو هر way هم دو کلمه داریم که میشه ۱ بیت، که در نهایت
۲۱ - ۱۹= ۲
اول اینکه اصلا این سوال رو از فرمول نرفتم . فرمولهایی که نوشتم فقط واسه این بود که بگم یا این فرمولها مشکل داره یا سوال
بنده با این جوابی که دادید کامل مخالفم. شما تعداد کلمات حافظه اصلی را تقسیم به تعداد کلمات در هر ست کردید.
مگه تعداد کلمات حافظه اصلی با کش برابره؟
تعداد ست میشه ، تعداد کلمات کش تقسیم بر تعداد کلمات هر ست، که هر ست هم میشه ضرب تعداد کلمات هر بلوک در تعداد way ها

برای مثال اگه این سوال را با استدلال شما حل کنیم یعنی تعداد کلمات حافظه رو تقسیم به تعداد کلمات هر ست کنیم تعداد ست هامون میشه ۳۲ تا و یعنی ۵ بیت برای نمایش که غلطه
این دقیقا کپی جمله شماست
میگیم هر way هشت تا کلمه میگیره،هر ست هم 2 تا way هست،خب یعنی اینکه در هر ست ما ۲*8 تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه (تعداد بلاک حافظه * تعداد کلمات داخل هر بلاک = 64 * 8)/16 که همون ۲ به توان 5

ولی جواب گزینه یک میشه
(27 دى 1392 10:12 ب.ظ)jahanmanesh نوشته شده توسط: [ -> ]هر ست هم ۴ تا way هست،

این جمله رو متوجه نشدم.
(27 دى 1392 10:59 ب.ظ)masoud67 نوشته شده توسط: [ -> ]
(27 دى 1392 10:12 ب.ظ)jahanmanesh نوشته شده توسط: [ -> ]سلام نمیدونم درست متوجه نشدم مشکلتون کجاست،خب داریم میگیم هر way دوتا کلمه میگیره،هر ست هم ۴ تا way هست،خب یعنی اینکه در هر ست ما ۲*۴ تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه۲ مگ / ۸ که همون ۲ به توان ۱۸ w
خب وقتی ۲به توان ۱۸ ست داریم،یعنی برای نمایش ست هامون باید ۱۸ بیت داشته باشیم،توو هر way هم دو کلمه داریم که میشه ۱ بیت، که در نهایت
۲۱ - ۱۹= ۲
اول اینکه اصلا این سوال رو از فرمول نرفتم . فرمولهایی که نوشتم فقط واسه این بود که بگم یا این فرمولها مشکل داره یا سوال
بنده با این جوابی که دادید کامل مخالفم. شما تعداد کلمات حافظه اصلی را تقسیم به تعداد کلمات در هر ست کردید.
مگه تعداد کلمات حافظه اصلی با کش برابره؟
تعداد ست میشه ، تعداد کلمات کش تقسیم بر تعداد کلمات هر ست، که هر ست هم میشه ضرب تعداد کلمات هر بلوک در تعداد way ها

برای مثال اگه این سوال را با استدلال شما حل کنیم یعنی تعداد کلمات حافظه رو تقسیم به تعداد کلمات هر ست کنیم تعداد ست هامون میشه ۳۲ تا و یعنی ۵ بیت برای نمایش که غلطه
این دقیقا کپی جمله شماست
میگیم هر way هشت تا کلمه میگیره،هر ست هم ۲ تا way هست،خب یعنی اینکه در هر ست ما ۲*۸ تا کلمه داریم.
در نتیجه تعداد ست های توی کش میشه (تعداد بلاک حافظه * تعداد کلمات داخل هر بلاک = ۶۴ * ۸)/۱۶ که همون ۲ به توان ۵

ولی جواب گزینه یک میشه

ببخشید شاید خوب نگفتم.
1.خودش میگه 4-way یعنی در هر ست 4تا بلوک داریم و در هر بلوک 2تا کلمه. پس میشه کلا 4٭2 که میشه 8.
نمیدونم شما چرا میگید 2-way خود سوال نوشته 4 -way.

2.در مورد سوال اینکه چرا کلمات حافظه رو مستقیم تقسیم کلمات کش کردم،فک کنم بخشی از سوالو با دقت نخوندید
تو متن سوال میگه ۹۰% رجاعات به کش، hit میشه.یعنی نرخ برخورد از هر ۱۰۰ تا ادرس، ۹۰ تاش توی کش هست و فقط ۱۰تا نیازه به حافظه اصلی بره.حالا اگر دقت کنید منظورش اینه که اکثر دستورات و کلمات حافظه توی کش هستش. در نتیجه :
همونطور که گفته باید همه گزینها جوابو بررسی کنیم،اگر ما 1مگ ادرس داشته باشیم روی حافظه اصلی ۹۰% روی کش هستن،پس باید ماکزیمم بیت رو برای کلمات کشمون در نظر بگیرم که با توجه به اینکه خودش میگه 3بیت تگ،میشه نتیجه گرفت فقط ۲ به توان ۱۷ ادرس روی کش هست که این یعنی حدود فقط ۱۲۸کیلو. ... و این نمیشه ۹۰ درصد از ۱ میلیون ادرس...
حالا تو گزینهای دیگه هم که اینطور بررسی کنیم، بهترین گزینه انتخابی میتونه ۲ باشه چون از همه بیشتر کلمه روی کش داره.
واسه همین که گفته بود ۹۰% برخورد ها اصابت میکنه من کلمات حافظه و کش رو برابر در نظر گرفتم.


(27 دى 1392 11:19 ب.ظ)unicornux نوشته شده توسط: [ -> ]
(27 دى 1392 10:12 ب.ظ)jahanmanesh نوشته شده توسط: [ -> ]هر ست هم ۴ تا way هست،

این جمله رو متوجه نشدم.

سلام عذر میخوام شاید بد گفتم، خوبگفته 4-way هستش یعنی در هر ست 4تا way داریم. یا به عبارت دیگه در هر ست 4تا بلاک داریم یه چیزی شبیه این شکل
کد:
|[--][--][--][--]| set
|[--][--][--][--]| set
|[--][--][--][--]| set
صفحه‌ها: 1 2 3
لینک مرجع