![]() |
سوال کنکور مهندسی کامپیوتر سال ۸۹ - نسخهی قابل چاپ |
سوال کنکور مهندسی کامپیوتر سال ۸۹ - arshad90 - 18 بهمن ۱۳۸۹ ۰۵:۱۵ ب.ظ
حافظه نهان (cache) از نوع شرکت پذیر مجموعه ای دو راهه (۲ way set associative) با کلا ۸ بلوک ۴ کلمه ای موجود است. بزرگی حلقه اصلی ۲۵۶M کلمه است. با فرض اینکه cache در ابتدا خالی است نرخ فقدان (miss rate) بعد از اتمام رشته مراجعات به آدرس های حافظه اصلی (از چپ به راست) چقدر می شه؟ (آدرسها به صورت Hex نشان داده شده اند). [tex]12F, 23F, 12B, 23B, 12C, 23C, 67D, 69D, 69F, 69C.[/tex]
۱)۴۰% ۲)۶۰% ۳)۵۰% ۴)۷۰% |
RE: سوال معماری کامپیوتر ۸۹ - ۵۴m4n3h - 18 بهمن ۱۳۸۹ ۱۱:۱۸ ب.ظ
بلوکها ۴ کلمه هستند پس برای آدرس دهی داخل بلوک ۲ بیت لازم هست. ۸ تا بلوک داریم و حافظه ۲way هست پس یعنی ۴ تا ست داریم که برای آدرس دهی بهشون ۲ بیت لازم هست. یعنی در واقع ۴ تا ست داریم که بیت شمارهی ۲ و ۳ شمارهی ست رو مشخص میکنه و هر ست هم دوتا جا داره! توی این جا فقط لازمه که سمت راست ترین رقم هگز رو به باینری تبدیل کنیم تا بفهمیم که بلوک توی کدوم ست قرار میگیره. مثلاً آدرس اول F=1111 پس این صفحه توی ست شماره ۳ قرار میگیره Miss ۲۳F --> F=1111 این هم توی ست شماره ۳ قرار میگیره و با این که بخش سمت چپ آدرسش متفاوت هست، اما لازم نیست که کسی رو از کش بیرون کنیم، چون ستش ۲ تا جا داره! Miss ۱۲B --> B=1011 توی ست شماره ۲ قرار میگیره Miss ۲۳B --> B=1011 توی دومین خونه از ست شماره ۲ قرار میگیره Miss ۱۲C --> C=1101 این هم توی ست شماره ۳ هست و اگه دقت کنید میبینید که این بلوک قبلاً به کش آورده شده بود (با ۱۲F توی یه بلوک هستند) Hit به همین ترتیب که ادامه بدید، به این نتیجه میرسید که ۶ تا Miss میشه و بقیه Hit به این ترتیب: m m m m h h m m h h |
RE: سوال معماری کامپیوتر ۸۹ - ۵۴m4n3h - 19 بهمن ۱۳۸۹ ۱۰:۵۰ ق.ظ
(۱۹ بهمن ۱۳۸۹ ۱۲:۱۹ ق.ظ)arshad90 نوشته شده توسط: "بزرگی حلقه اصلی ۲۵۶M کلمه است". یعنی عملا این جمله تاثیری تو حل نداره. درسته؟بله! (۱۹ بهمن ۱۳۸۹ ۰۲:۳۵ ق.ظ)sal_dovomi نوشته شده توسط: این ۱۲B 12C چه جوری تویه بلاک قرار میگیرن؟توی این مسئله آدرسها ۱۲ بیتی هستند که ۲ بیت پایینشون برای آدرس دهی داخل بلاک هست (چون بلاکها ۴ کلمه ای هست) و ۱۰ بیت بالا برای آدرس دهی به این بلاک ها! یعنی اگه دو تا آدرس ۱۰ بیت بالاشون مثل هم باشه، توی یک بلاک هستند. که ۱۲F و ۱۲C همون طور که می بینید ۱۰ بیت بالاشون یکی هست. |
RE: سوال معماری کامپیوتر ۸۹ - msdn - 27 بهمن ۱۳۸۹ ۰۲:۵۱ ق.ظ
(۱۸ بهمن ۱۳۸۹ ۱۱:۱۸ ب.ظ)۵۴m4n3h نوشته شده توسط: بلوکها ۴ کلمه هستند پس برای آدرس دهی داخل بلوک ۲ بیت لازم هستمیشه از ۲۳C به بعدش را هم حل کنید؟ |
سوال معماری کامپیوتر ۸۹ - bijibuji - 27 بهمن ۱۳۸۹ ۰۹:۱۲ ق.ظ
msdn جان شما ۲ بیت سمت راست رو بیخیال شو ۲ بیت بعدی (بیت ۳ و ۴) رو معیار قرار بده برای اینکه ببینی دو کلمه در یک ست هستند یا نه بقیه بیت های سمت چپ (۱۲ بیت) رو معیار قرار بده برای اینکه ببینی قبلا این بلوک رو از حافظه آوردی یا نه ----------- برای اینکه بدونی قبلا بلوکی رو آوردی باید عدد دو رقمی (مبنای ۱۶) ذکر شده در ارجاعات به حافظه یکسان باشه مثلا ۶۹=۶۹ یا ۱۲=۱۲ و ... حالا اگر این عدد دو رقمی (مبنای ۱۶) یکی بود در دو ارجاع مختلف باید حتما شماره ست اش(دو بیت بعدی) یکسان باشه تا Hit بشه در مثالها F و C با هم Hit دارن در مواردی که عدد دو رقمی سمت چپ (مبنای ۱۶) شون یکی باشه این حالت در ۴ مورد از ده مورد اتفاق افتاده که می شه %۴۰ |