تالار گفتمان مانشت
مهندسی کامپیوتر - سراسری ۸۷ - نسخه‌ی قابل چاپ

مهندسی کامپیوتر - سراسری ۸۷ - ali.majed.ha - 02 اسفند ۱۳۹۵ ۱۲:۲۴ ب.ظ

با عرض سلام
می شه لطفا در مورد این سوال راهنمایی بفرمایید ؟
من توی تشخیص اینکه کدم آدرس hit می شه و کدوم miss مشکل دارم.
با سپاس

RE: مهندسی کامپیوتر - سراسری ۸۷ - Pure Liveliness - 02 اسفند ۱۳۹۵ ۱۲:۴۳ ب.ظ

سلام. حقیقتش اینطوری که کلییی سوال پرسیدید من نوعی رغبت نمیکنم اگه شاید بلد باشمم جواب بدم. به نظرم سوالو میذاشتید بعد اگه ابهامی میموند دونه دونه میپرسیدید بهتر بود.

RE: مهندسی کامپیوتر - سراسری ۸۷ - ali.majed.ha - 02 اسفند ۱۳۹۵ ۰۱:۱۴ ب.ظ

(۰۲ اسفند ۱۳۹۵ ۱۲:۴۳ ب.ظ)Pure Liveliness نوشته شده توسط:  سلام. حقیقتش اینطوری که کلییی سوال پرسیدید من نوعی رغبت نمیکنم اگه شاید بلد باشمم جواب بدم. به نظرم سوالو میذاشتید بعد اگه ابهامی میموند دونه دونه میپرسیدید بهتر بود.

سلام
ببخشید، حق با شما هست. ولی هرچی از این نمونه سوال ها توی کتاب مدرسا حل کرده، فقط گفته برای کدوم hit و برای کدوم miss داریم. اصلا توضیح نداده که چرا ؟
می شه بفرمایید مثلا توی این سوال چه جوری تشخیص بدم که hit رخ داده یا نه ؟ من این نمونه سوال ها رو اصلا نمی تونم حل کنم.
شرمنده اگه بد پرسیدمSad

(۰۲ اسفند ۱۳۹۵ ۱۲:۴۳ ب.ظ)Pure Liveliness نوشته شده توسط:  سلام. حقیقتش اینطوری که کلییی سوال پرسیدید من نوعی رغبت نمیکنم اگه شاید بلد باشمم جواب بدم. به نظرم سوالو میذاشتید بعد اگه ابهامی میموند دونه دونه میپرسیدید بهتر بود.

دوست گرامی، سوالم رو اصلاح کردم.

RE: مهندسی کامپیوتر - سراسری ۸۷ - M a h d i - 02 اسفند ۱۳۹۵ ۰۴:۵۷ ب.ظ

سلام. هر بایت رو یه کلمه در نظر می گیریم.
حافظه اصلی : [tex]2^{20}[/tex] => m=20
کش : [tex]2^{14}[/tex] => c=14
تعداد کلمه در هر بلاک: [tex]16=2^4[/tex] => w=4

فیلد index نشون میده که هر بلاک از حافظه در چه بلاکی از کش قرار می گیره. حالا آدرس های داده شده (هر آدرس بیانگر یک کلمه است) رو با باینری می نویسیم و طبق جدول زیر محدوده index آدرس داده شده رو مشخص می کنیم.
۰۱۰۰۰H= 0000 0001 0000 0000 0000
قسمت خط کشیده شده مشخص کننده index هست.
وقتی این کلمه رو Fetch میکنیم ، آدرس های ۰۱۰۰۰H تا ۰۱۰۰FH در قالب یک بلاک به کش وارد می شوند پس :
آدرس اول miss و دو آدرس بعدی hit میشود.
به همین ترتیب که بررسی کنی miss و hit ها مشخص میشه.

RE: مهندسی کامپیوتر - سراسری ۸۷ - ali.majed.ha - 02 اسفند ۱۳۹۵ ۰۶:۳۷ ب.ظ

(۰۲ اسفند ۱۳۹۵ ۰۴:۵۷ ب.ظ)M a h d i نوشته شده توسط:  سلام. هر بایت رو یه کلمه در نظر می گیریم.
حافظه اصلی : [tex]2^{20}[/tex] = m
کش : [tex]2^{14}[/tex] = c
تعداد کلمه در هر بلاک: [tex]16=2^4[/tex] = w

فیلد index نشون میده که هر بلاک از حافظه در چه بلاکی از کش قرار می گیره. حالا آدرس های داده شده (هر آدرس بیانگر یک کلمه است) رو با باینری می نویسیم و طبق جدول زیر محدوده index آدرس داده شده رو مشخص می کنیم.
۰۱۰۰۰H= 0000 0001 0000 0000 0000
قسمت خط کشیده شده مشخص کننده index هست.
وقتی این کلمه رو Fetch میکنیم ، آدرس های ۰۱۰۰۰H تا ۰۱۰۰FH در قالب یک بلاک به کش وارد می شوند پس :
آدرس اول miss و دو آدرس بعدی hit میشود.
به همین ترتیب که بررسی کنی miss و hit ها مشخص میشه.

خیلی لطف کردید دوست عزیز، فقط بی زحمت توضیح می دی چرا هر کلمه رو معادل ۱ بایت در نظر گرفتی ؟ یعنی من اگر هر کلمه رو معادل ۲ بایت در نظر بگیرم، ۳ بیت کم ارزش برای آدرس دهی به کلمات داخل هر بلاک وجود داره، پس هر بلاک می تونه از ۰۱۰۰۰h تا ۰۱۰۰۷h رو درخودش جا بده. قانون خاصی داره ؟

RE: مهندسی کامپیوتر - سراسری ۸۷ - M a h d i - 06 اسفند ۱۳۹۵ ۰۳:۲۷ ب.ظ

(۰۲ اسفند ۱۳۹۵ ۰۶:۳۷ ب.ظ)alimamala نوشته شده توسط:  خیلی لطف کردید دوست عزیز، فقط بی زحمت توضیح می دی چرا هر کلمه رو معادل ۱ بایت در نظر گرفتی ؟ یعنی من اگر هر کلمه رو معادل ۲ بایت در نظر بگیرم، ۳ بیت کم ارزش برای آدرس دهی به کلمات داخل هر بلاک وجود داره، پس هر بلاک می تونه از ۰۱۰۰۰h تا ۰۱۰۰۷h رو درخودش جا بده. قانون خاصی داره ؟

به نظرم من قانون خاصی نداره و نمیشه یه نسخه کلی پیچید و به نظرم باید توی صورت سوال قید می شد و از طرفی چندین تست دیدم که به مانند همین مسئله هر بایت رو معادل یک کلمه گرفته بود بدون اینکه از اندازه کلمه حرفی بزنه.(مثلا مهندسی کامپیوتر۹۱)
با این حال من جواب پوران رو هم براتون قرار میدم.

پی نوشت:چون همه تست های فصل حافظه رو نزده بودم مجبور بودم دیرتر پاسخ نقل قولتون رو بدم.