۰
subtitle
ارسال: #۱
  
تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
سلام
من این جملات را میگم ببینید کدومش غلطه و بهم بگید
اینجا منظورم از بیت تگ ، تعداد بیت Tag در فیلد آدرس نیست ، بلکه تعداد فیلدهای تگی هست که در کش ذخیره میشه
۱/ توی نگاشت مستقیم direct ما به ازای هر بلوک (که میتونه شامل چند کلمه باشه) یک فیلد تگ و یک بیت اعتبار داریم (فرض کنید همین یه دونه بیت کنترلی باشه)
۲/ توی نگاشت کاملا شرکت پذیر fully باز هم به ازای هر بلوک یک فیلد تگ و یک بیت اعتبار داریم
۳/ توی نگاشت مجموعه ای set ، به ازای هر مجموعه چند تا بلاک داریم و به ازای هر بلاک یک فیلد تگ و یک بیت اعتبار داریم
۴/ پس با این اوصاف اگر در سه نگاشت بالا که تعداد کلمات داخل هر بلاک یکسان باشه ، تعداد فیلد تگ و اعتبار ذخیره شده در کش (نه تعداد بیت برای آدرس دهی آنها) برای هر سه مورد یکی میشه
مثلا در کش مستقیم که حاوی ۶۴ بلوک هست، حداکثر میتونه ۶۴ فیلد تگ و ۶۴ فیلد اعتبار ذخیره کنه
آیا این جملاتی که گفتم درسته ؟
من این جملات را میگم ببینید کدومش غلطه و بهم بگید
اینجا منظورم از بیت تگ ، تعداد بیت Tag در فیلد آدرس نیست ، بلکه تعداد فیلدهای تگی هست که در کش ذخیره میشه
۱/ توی نگاشت مستقیم direct ما به ازای هر بلوک (که میتونه شامل چند کلمه باشه) یک فیلد تگ و یک بیت اعتبار داریم (فرض کنید همین یه دونه بیت کنترلی باشه)
۲/ توی نگاشت کاملا شرکت پذیر fully باز هم به ازای هر بلوک یک فیلد تگ و یک بیت اعتبار داریم
۳/ توی نگاشت مجموعه ای set ، به ازای هر مجموعه چند تا بلاک داریم و به ازای هر بلاک یک فیلد تگ و یک بیت اعتبار داریم
۴/ پس با این اوصاف اگر در سه نگاشت بالا که تعداد کلمات داخل هر بلاک یکسان باشه ، تعداد فیلد تگ و اعتبار ذخیره شده در کش (نه تعداد بیت برای آدرس دهی آنها) برای هر سه مورد یکی میشه
مثلا در کش مستقیم که حاوی ۶۴ بلوک هست، حداکثر میتونه ۶۴ فیلد تگ و ۶۴ فیلد اعتبار ذخیره کنه
آیا این جملاتی که گفتم درسته ؟
۴
ارسال: #۲
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
تشکر از همه دوستان
بالاخره بعد از یه ساعت ریاضت ، تونستم جوابم را پیدا کنم
فقط خداوکیلی فیلد تگ را با بیت های تگ اشتباه نگیرید
اگر در هر سه روش تعداد کلمات در هر بلاک برابر باشه، و تعداد بلوک کش در هر سه حالت برابر باشه، تعداد فیلدهای tag و valid ذخیره شده در کش در هر سه حالت برابر هستن , چون تعداد فیلد ذخیره شده در کش برای تگ و اعتبار همیشه میشه برابر با تعداد بلاک کش
اما تعداد بیتی که بابت اینها ذخیره میشه بستگی به شرایط تعداد بلوک و way داره
ولی این یکی برقراره که تعداد بیت تگی که نگاشت مستقیم ذخیره میکنه، همیشه کوچکتر مساوی تعداد بیت تگی هست که نگاشت مجموعه ای ذخیره میکنه
با یه مثال توضیح میدم که اگر یه موقع با این سوال گیج شدید، حداقل نفرین به من نکنید
مثلا فرض کنید که کش ما [tex]2^b[/tex] بلوک داره (در هر سه حالت)
و مثلا تعداد کلمات در هر بلوک بشه [tex]2^w[/tex]
و مثلا تعدا کلمات حافظه بشه [tex]2^m[/tex]
و نگاشت مجموعه ای هم باشه kway که [tex]2^t=k[/tex]
تو هر سه حالت تعداد فیلد ذخیره شده برابر است با [tex]2^b[/tex]
ولی تعداد بیت ذخیره شده برای تگ (فعلا بیخیال بیت اعتبار میشیم) به شرح زیر است
حالا تو نگاشت مستقیم داریم . برای هر فیلد تعداد بیت های آدرس این میشه
[tex]word = w[/tex]
[tex]blocks = b[/tex]
[tex]tag = m - b - w[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - b - w)[/tex]
تو نگاشت مجموعه ای داریم . برای هر فیلد تعداد بیت های آدرس این میشه
[tex]word = w[/tex]
[tex]Set= b-t[/tex]
[tex]tag = m - b - w t[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - b - w t)[/tex]
با این فرمول معلوم میشه که تعداد بیت تگ ذخیره شده واسه نگاشت مجموعه ای به واسطه حضور t همیشه بزرگتر مساوی نگاشت مستقیم میشه
و در نگاشت کامل
[tex]word = w[/tex]
[tex]tag = m - w[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - w)[/tex]
سوال ما به سر رسید ، کلاغه ....
بالاخره بعد از یه ساعت ریاضت ، تونستم جوابم را پیدا کنم
فقط خداوکیلی فیلد تگ را با بیت های تگ اشتباه نگیرید
اگر در هر سه روش تعداد کلمات در هر بلاک برابر باشه، و تعداد بلوک کش در هر سه حالت برابر باشه، تعداد فیلدهای tag و valid ذخیره شده در کش در هر سه حالت برابر هستن , چون تعداد فیلد ذخیره شده در کش برای تگ و اعتبار همیشه میشه برابر با تعداد بلاک کش
اما تعداد بیتی که بابت اینها ذخیره میشه بستگی به شرایط تعداد بلوک و way داره
ولی این یکی برقراره که تعداد بیت تگی که نگاشت مستقیم ذخیره میکنه، همیشه کوچکتر مساوی تعداد بیت تگی هست که نگاشت مجموعه ای ذخیره میکنه
با یه مثال توضیح میدم که اگر یه موقع با این سوال گیج شدید، حداقل نفرین به من نکنید
مثلا فرض کنید که کش ما [tex]2^b[/tex] بلوک داره (در هر سه حالت)
و مثلا تعداد کلمات در هر بلوک بشه [tex]2^w[/tex]
و مثلا تعدا کلمات حافظه بشه [tex]2^m[/tex]
و نگاشت مجموعه ای هم باشه kway که [tex]2^t=k[/tex]
تو هر سه حالت تعداد فیلد ذخیره شده برابر است با [tex]2^b[/tex]
ولی تعداد بیت ذخیره شده برای تگ (فعلا بیخیال بیت اعتبار میشیم) به شرح زیر است
حالا تو نگاشت مستقیم داریم . برای هر فیلد تعداد بیت های آدرس این میشه
[tex]word = w[/tex]
[tex]blocks = b[/tex]
[tex]tag = m - b - w[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - b - w)[/tex]
تو نگاشت مجموعه ای داریم . برای هر فیلد تعداد بیت های آدرس این میشه
[tex]word = w[/tex]
[tex]Set= b-t[/tex]
[tex]tag = m - b - w t[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - b - w t)[/tex]
با این فرمول معلوم میشه که تعداد بیت تگ ذخیره شده واسه نگاشت مجموعه ای به واسطه حضور t همیشه بزرگتر مساوی نگاشت مستقیم میشه
و در نگاشت کامل
[tex]word = w[/tex]
[tex]tag = m - w[/tex]
خب حالا تعداد بیت تگ ذخیره شده برابر
[tex]total-tag-cache = 2^b( m - w)[/tex]
سوال ما به سر رسید ، کلاغه ....
۰
ارسال: #۳
  
RE: تعداد بیت تگ و اعتبار کدام نگاشت بیشتر است ؟
(۱۴ بهمن ۱۳۹۲ ۱۰:۲۹ ق.ظ)masoud67 نوشته شده توسط: سلامیه ساعت دارم فکر میکنم "نگاشت کاملا شرکت پذیر باز" چیه که تا حالا ندیدم! ترجمه جالبی بود !
من این جملات را میگم ببینید کدومش غلطه و بهم بگید
۱/ توی نگاشت مستقیم ما به ازای هر بلوک (که میتونه شامل چند کلمه باشه) یک فیلد تگ و یک بیت اعتبار داریم (فرض کنید همین یه دونه بیت کنترلی باشه)
۲/ توی نگاشت کاملا شرکت پذیر باز هم به ازای هر بلوک یک فیلد تگ و یک بیت اعتبار داریم
۳/ توی نگاشت مجموعه ای ، به ازای هر مجموعه چند تا بلاک داریم و به ازای هر بلاک یک فیلد تگ و یک بیت اعتبار داریم
۴/ پس با این اوصاف اگر در سه نگاشت بالا که تعداد کلمات داخل هر بلاک یکسان باشه ، تعداد بیت تگ و اعتبار برای هر سه مورد یکی میشه
آیا این جملاتی که گفتم درسته ؟
کلا یه موردی رو باید حواسمون باشه اینکه بلاک که میگیم منظورمون بلاکه حافظه اصلیه با بلاک cache .
کلا به تعداد لگاریتم تعداد بلوک حافظه اصلی بیت تگ داریم فکر میکنم.
در مورد حالت سوم ، باید حواسمون باشه که بیت تگ + بیت set با هم میشن به اندازه لگاریتم تعداد بلوک حافظه اصلی
ارسال: #۴
  
RE: تعداد بیت تگ و اعتبار کدام نگاشت بیشتر است ؟
(۱۴ بهمن ۱۳۹۲ ۱۰:۴۰ ق.ظ)e.sharmi نوشته شده توسط: یه ساعت دارم فکر میکنم "نگاشت کاملا شرکت پذیر باز" چیه که تا حالا ندیدم! ترجمه جالبی بود !ظاهرا سوالمو خیلی بد پرسیدم ، سوالو اصلاحش کردم
کلا یه موردی رو باید حواسمون باشه اینکه بلاک که میگیم منظورمون بلاکه حافظه اصلیه با بلاک cache .
کلا به تعداد لگاریتم تعداد بلوک حافظه اصلی بیت تگ داریم فکر میکنم.
در مورد حالت سوم ، باید حواسمون باشه که بیت تگ + بیت set با هم میشن به اندازه لگاریتم تعداد بلوک حافظه اصلی
اینجا منظورم از بیت تگ ، تعداد بیت Tag در فیلد آدرس نیست ، بلکه تعداد فیلدهای تگ و اعتباری هست که در کش ذخیره میشه
(۱۴ بهمن ۱۳۹۲ ۱۰:۵۵ ق.ظ)unicornux نوشته شده توسط: تعداد بیت اعتبار که همیشه ۱ پس کلا مهم نیست. در واقع سوالت اینه که " آیا با تعداد یکسان بلاک در یک کش تعداد بیت های tag یکسانه؟ "سوالمو اصلاح کردم. خیلی افتضاح پرسیده بودم
۰
ارسال: #۵
  
RE: تعداد بیت تگ و اعتبار کدام نگاشت بیشتر است ؟
(۱۴ بهمن ۱۳۹۲ ۱۰:۲۹ ق.ظ)masoud67 نوشته شده توسط: سلام
من این جملات را میگم ببینید کدومش غلطه و بهم بگید
اینجا منظورم از بیت تگ ، تعداد بیت Tag در فیلد آدرس نیست ، بلکه تعداد فیلدهای تگی هست که در کش ذخیره میشه
۱/ توی نگاشت مستقیم ما به ازای هر بلوک (که میتونه شامل چند کلمه باشه) یک فیلد تگ و یک بیت اعتبار داریم (فرض کنید همین یه دونه بیت کنترلی باشه)
۲/ توی نگاشت کاملا شرکت پذیر باز هم به ازای هر بلوک یک فیلد تگ و یک بیت اعتبار داریم
۳/ توی نگاشت مجموعه ای ، به ازای هر مجموعه چند تا بلاک داریم و به ازای هر بلاک یک فیلد تگ و یک بیت اعتبار داریم
۴/ پس با این اوصاف اگر در سه نگاشت بالا که تعداد کلمات داخل هر بلاک یکسان باشه ، تعداد بیت تگ و اعتبار برای هر سه مورد یکی میشه
آیا این جملاتی که گفتم درسته ؟
تعداد بیت اعتبار که همیشه ۱ پس کلا مهم نیست. در واقع سوالت اینه که " آیا با تعداد یکسان بلاک در یک کش تعداد بیت های tag یکسانه؟ " ؟
۰
ارسال: #۶
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
به نظرم اینا هیچ ربطی بهم ندارند.
تعداد بیت تگ کل برابر تعداد بیت تگ یه بلاک ضربدر تعداد بلاکه.
تعداد بیت تگ هر بلاک تو هرکدوم از اینا هم با هم متفاوته. و حتی تعداد بلاک ها. مثلا برای مورد سوم کاملا بستگی به تعداد way داره و . . .
من برای اینکه مطمئن بشم. سوال سال ۹۱ رو با بلاک سایز ۶۴ برای همه حل کردم ، شما هم حل کنید میبینید که پاسخ هاشون یکسان نمیشه.
تعداد بیت تگ کل برابر تعداد بیت تگ یه بلاک ضربدر تعداد بلاکه.
تعداد بیت تگ هر بلاک تو هرکدوم از اینا هم با هم متفاوته. و حتی تعداد بلاک ها. مثلا برای مورد سوم کاملا بستگی به تعداد way داره و . . .
من برای اینکه مطمئن بشم. سوال سال ۹۱ رو با بلاک سایز ۶۴ برای همه حل کردم ، شما هم حل کنید میبینید که پاسخ هاشون یکسان نمیشه.
۰
ارسال: #۷
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
خب اونجور که من متوجه شدم شما یه چیزه بدیهی رو پرسیدی
اگر حجم حافظه اصلی تو همه حالت ها یکسان باشه و تو همه این کش ها تعداد بلاک ها برابر باشه (فارق از تعداد way ها برای Set-Associative ) خب مسلما تعداد بیت تگی که به این ها اختصاص داده میشه برابره دیگه، هاااا؟
درست منظور رو گرفتم؟
اگر حجم حافظه اصلی تو همه حالت ها یکسان باشه و تو همه این کش ها تعداد بلاک ها برابر باشه (فارق از تعداد way ها برای Set-Associative ) خب مسلما تعداد بیت تگی که به این ها اختصاص داده میشه برابره دیگه، هاااا؟
درست منظور رو گرفتم؟
ارسال: #۸
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
(۱۴ بهمن ۱۳۹۲ ۱۱:۵۰ ق.ظ)hosshah نوشته شده توسط: خب اونجور که من متوجه شدم دوستمون یه چیزه بدیهی رو پرسیدنحافظه ۶۴ کیلو بایت. آدرس ۳۲ بیتی
اگر حجم حافظه اصلی تو همه حالت ها یکسان باشه و تو همه این کش ها تعداد بلاک ها برابر باشه (فارق از تعداد way ها برای Set-Associative ) خب مسلما تعداد بیت تگی که به این ها اختصاص داده میشه برابره دیگه، هاااا؟
درست منظور رو گرفتم؟
در حالت دایرکت : سایز بلاک برابر ۶۴
تعداد بلاک = ۲ به نمای ۱۰
تعداد بیت تگ یک بلاک = ۱۶
تعداد بیت تگ کل = دو به نمای ۱۴
-----------------------------------------------------------------
حافظه ۶۴ کیلو بایت. آدرس ۳۲ بیتی
در حالت Fully associative : سایز بلاک برابر ۶۴
تعداد بلاک = دو به نمای ۱۰
تعداد بیت تگ یک بلاک = ۲۶
تعداد بیت تگ کل = ۱۳ در ۲ به نمای ۱۱
ارسال: #۹
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
بله من باید میگفتم تعداد بیت بلاک ها هم برابر باشه درسته مرسی
ارسال: #۱۰
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
ارسال: #۱۱
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
بله باز هم سوتی
متوجه شدم مرسی ولی تو دایرکت و مجموعه ای دیگه برابرن
متوجه شدم مرسی ولی تو دایرکت و مجموعه ای دیگه برابرن
۰
ارسال: #۱۲
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
یه نکته دذ مورد گزینه ۴ : تعداد فیلد تگ به انداره تعداد بلوک ذخیره میشه، ولی اندازه تگ فرق میکنه.
۰
ارسال: #۱۳
  
RE: تعداد فیلد تگ و اعتبار کدام نگاشت بیشتر است ؟
من تازه صورت مساله رو گرفتم
تعداد بیت نه! اساسا فیلد تگ.
----------
تعداد فیلد تگ میشه ، اندازه تعداد بلاک ها ، تعداد بلاک ها هم برابر اندازه حافظه اصلی تقسیم بر تعداد کلماته. پس اگه تعداد کلمات هر بلاک یکی باشه ، بله تعداد فیلد تگ یکسانه. همینطور برای بیت اعتبار.
-----------
از اون سوالا بود که آدم باید دقیق میخوند.
تعداد بیت نه! اساسا فیلد تگ.
----------
تعداد فیلد تگ میشه ، اندازه تعداد بلاک ها ، تعداد بلاک ها هم برابر اندازه حافظه اصلی تقسیم بر تعداد کلماته. پس اگه تعداد کلمات هر بلاک یکی باشه ، بله تعداد فیلد تگ یکسانه. همینطور برای بیت اعتبار.
-----------
از اون سوالا بود که آدم باید دقیق میخوند.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close