تالار گفتمان مانشت
سوال کنکور مهندسی فناوری اطلاعات سال ۸۵ (حافظه) - نسخه‌ی قابل چاپ

سوال کنکور مهندسی فناوری اطلاعات سال ۸۵ (حافظه) - sh4477 - 22 دى ۱۳۹۰ ۰۸:۱۴ ب.ظ

سلام
سوال ۳۷ - صفحه ۲۱۵ پوران-فصل حافظه
زاستش یک توضیح هم گرفتم‌، ولی بازم نفهمیدمش Huh

سوال ۳۷ - صفحه ۲۱۵ پوران-فصل حافظه - narges_r - 23 دى ۱۳۹۰ ۰۱:۰۸ ق.ظ

برای حل این سوال اول بدست میاریم که چند بیت برای word و set و tag باید در نظر بگیریم
چون ۲۵۶ بایت داریم و هربلوک ان ۱۶ بایت هست پس تعداد بلوکها برابره با ۲۵۶/۱۶=۴^۲ حالا چون در هر ست دو بلاک هست تعداد بلاکها برابر ۲/ ۴^۲ که میشه ۸ تا پس ۳ بیت برای مشخص کردن set در نظر میگیریم از طرفی هم هر بلوک ۱۶ بایت داره پس ۴ بیت برای مشخص کردن word در نظر میگیریم
وقتی یکبار به حافظه مراجعه میکنیم و miss رخ میده علاوه بر اینکه اون ادرسی که منجر به میس شده به حافظه منتقل تمام ادرسهایی که با ادرس مورد نظر در یک بلوک هستند به حافظه منتقل میشه
در این سوال هم ۴ بیت اول ادرسها word هستند و وقتی اولین بار به اولین ادرس FF00 مراجعه میشه و miss رخ میده، FF00 به حافظه منتقل میشه به همراه ۱۵ ادرس دیگه چون بلاکها ۱۶ بایتی هستند پس در واقع با اولین miss تمام FF00 تا FF0F به کش منتقل میشن پس وقتی ببه ادرس بعد که FF01 هست مراجعه میشه دیگه miss رخ نمیده چون در کش موجوده همینطور تو در مورد ادرسهای FF02 تا FF04 اما وقتی به ۵F00 میرسیم دوباره miss رخ میده که وقتی این ادرس به کش منتقل میشه ادرسهای ۵F01 تا ۵F0F هم به کش منتقل میشه که در صورت رجوع به اونها دیگه miss رخ نمیده
پس در دور اول اجرا دوبار miss رخ میده ولی در دورهای بعدی اجرا دیگه miss رخ نمیده چون ادرسهای مورد نظر در کش هستند پس در ۱۰دور اجرای ۱۰ ادرس یعنی ۱۰۰ مراجعه به کش فقط ۲ miss رخ میده که درصد نقصان میشه ۲ درصد

امیدوارم توضیحاتم واضح بوده باشه

RE: سوال ۳۷ - صفحه ۲۱۵ پوران-فصل حافظه - sh4477 - 23 دى ۱۳۹۰ ۱۱:۱۳ ق.ظ

(۲۳ دى ۱۳۹۰ ۰۱:۰۸ ق.ظ)narges_r نوشته شده توسط:  برای حل این سوال اول بدست میاریم که چند بیت برای word و set و tag باید در نظر بگیریم....

واقعا ممنونم از لطفتون‌، چند تا سوال داشتم ؟
۱)یعنی اینجا ما هر کلمه رو یک بایت گرفتیم ؟
۲)مگه نباید در صورت miss یک set رو منتقل کنیم چرا یک بلاک رو میاریم؟
۳)۴ بیت اول واسه word‌، سه تای بعدی واسه set‌، یعنی هر دوی FF00 , 5F00 و همراهانشون توی
set0
یکل در بلاک اول و دیگری در بلاک دوم قرار میگیره؟
اگه نه‌، در کدام set هستند و شماره set چطور بدست میاد؟

ممنون

RE: سوال ۳۷ - صفحه ۲۱۵ پوران-فصل حافظه - narges_r - 23 دى ۱۳۹۰ ۰۴:۰۲ ب.ظ

(۲۳ دى ۱۳۹۰ ۱۱:۱۳ ق.ظ)sh4477 نوشته شده توسط:  واقعا ممنونم از لطفتون‌، چند تا سوال داشتم ؟...

بله هر کلمه یک بایت هست
خوب فکرمیکنم در هر ست یک بلاک منتقل میشه
وقتی در هر میس یک بلاک منتقل بشه و ما در این کش ستهامون دوبلاکه هستن که وجه تمایز بلاکها در هر ست tag اونهاست، ۴ بیت اول که مربوط به word هست که ادرسو نسبت به بلاک مشخص میکنه یعنی وقتی word=0 هست یعنی خانه شماره صفر بلاک مورد نظر پس یکسان بودن word در اینجا مهم نیست اما ما اینجا ستهای یکسان داریم اما چون با هر میس یک بلاک جابجا میشه وهر ست دوبلاک داره پس یکی در یک بلاک ست صفر و دیگری در بلاک دیگه ست صفر قرار میگیره
اما مثلا اگر کش نوع مستقیم بود دو میس روی هم منتقل میشد و در هر دور ارجاع یک میس داشتیم