تالار گفتمان مانشت
تعداد کل بیت های tag در direct map - نسخه‌ی قابل چاپ

تعداد کل بیت های tag در direct map - 30noohe - 01 بهمن ۱۳۹۲ ۰۲:۰۴ ب.ظ

سلام

کل حافظه کش ۶۴ کیلوبایته، به یک پردازنده ۳۲ بیتی با گذرگاه آدرس ۳۲ بیتی متصل شده. سایز بلاک: ۶۴ بایت و از روش دایرکت مپ استفاده شده.
کل بیت های tag استفاده شده در این نوع حافظه نهان چقدر است؟

روش حلش که معمولا توی همه کتاب ها هست:
تعداد بیت برای word : لوگاریتم ۶۴= ۶ بیت
تعداد بیت برای بلاک: ۶۴k / 64 = ۱۰ بیت
تعداد بیت تگ برای هر خانه جدول کش: ۳۲- ۱۶= ۱۶
تعداد کل بیت تگ: ۲^۱۰ * ۱۶ = ۲ به توان ۱۴ بیت

چیزی که من ابهام دارم اینه که چرا حافظه موجود کش رو تقسیم بر اندازه بلاک میکنه؟ با این کارش میخواد تعداد سطر های کش رو پیدا کنه! ولی به نظر من این درست نیست چون برای هر رکورد تعداد بیت هایی برای تگ نیز داریم! یعنی هر رکورد جدول برابر = اندازه یک بلاک+ تعداد بیت های تگ هست
به نظرتون کجای کارم اشتباست؟

RE: تعداد کل بیت های tag در direct map - amin222 - 01 بهمن ۱۳۹۲ ۰۵:۳۲ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۲:۰۴ ب.ظ)۳۰noohe نوشته شده توسط:  سلام

کل حافظه کش ۶۴ کیلوبایته، به یک پردازنده ۳۲ بیتی با گذرگاه آدرس ۳۲ بیتی متصل شده. سایز بلاک: ۶۴ بایت و از روش دایرکت مپ استفاده شده.
کل بیت های tag استفاده شده در این نوع حافظه نهان چقدر است؟

روش حلش که معمولا توی همه کتاب ها هست:
تعداد بیت برای word : لوگاریتم ۶۴= ۶ بیت
تعداد بیت برای بلاک: ۶۴k / 64 = ۱۰ بیت
تعداد بیت تگ برای هر خانه جدول کش: ۳۲- ۱۶= ۱۶
تعداد کل بیت تگ: ۲^۱۰ * ۱۶ = ۲ به توان ۱۴ بیت

چیزی که من ابهام دارم اینه که چرا حافظه موجود کش رو تقسیم بر اندازه بلاک میکنه؟ با این کارش میخواد تعداد سطر های کش رو پیدا کنه! ولی به نظر من این درست نیست چون برای هر رکورد تعداد بیت هایی برای تگ نیز داریم! یعنی هر رکورد جدول برابر = اندازه یک بلاک+ تعداد بیت های تگ هست
به نظرتون کجای کارم اشتباست؟

سلام
به ازای هر بلاک فیلد تگ داریم اندازه کش رو به انداره بلاک تقسیم میکنن تا مشخص بشه جند تا بلاک تو کش داریم

RE: تعداد کل بیت های tag در direct map - 30noohe - 01 بهمن ۱۳۹۲ ۰۵:۴۴ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۵:۳۲ ب.ظ)amin222 نوشته شده توسط:  
(01 بهمن ۱۳۹۲ ۰۲:۰۴ ب.ظ)۳۰noohe نوشته شده توسط:  سلام

کل حافظه کش ۶۴ کیلوبایته، به یک پردازنده ۳۲ بیتی با گذرگاه آدرس ۳۲ بیتی متصل شده. سایز بلاک: ۶۴ بایت و از روش دایرکت مپ استفاده شده.
کل بیت های tag استفاده شده در این نوع حافظه نهان چقدر است؟

روش حلش که معمولا توی همه کتاب ها هست:
تعداد بیت برای word : لوگاریتم ۶۴= ۶ بیت
تعداد بیت برای بلاک: ۶۴k / 64 = ۱۰ بیت
تعداد بیت تگ برای هر خانه جدول کش: ۳۲- ۱۶= ۱۶
تعداد کل بیت تگ: ۲^۱۰ * ۱۶ = ۲ به توان ۱۴ بیت

چیزی که من ابهام دارم اینه که چرا حافظه موجود کش رو تقسیم بر اندازه بلاک میکنه؟ با این کارش میخواد تعداد سطر های کش رو پیدا کنه! ولی به نظر من این درست نیست چون برای هر رکورد تعداد بیت هایی برای تگ نیز داریم! یعنی هر رکورد جدول برابر = اندازه یک بلاک+ تعداد بیت های تگ هست
به نظرتون کجای کارم اشتباست؟

سلام
به ازای هر بلاک فیلد تگ داریم اندازه کش رو به انداره بلاک تقسیم میکنن تا مشخص بشه جند تا بلاک تو کش داریم

مشکل من هم ده همینه. به ازای هر بلاک یه فیلد تگ توی کش داریم! پس اندازه کل حافظه برابر است با:
x:تعداد بلاک
y: اندازه هر بلاک
z: اندازه فیلد تگ
اندازه کل حافظه: xyz

این چیزی که شما میگین ماله وقتیه که اندازه کل حافظه = اندازه یه بلاک x تعداد بلاک
ولی در صورتی که من فکر میکنم اینطوری نیس! اینجا یه فیلد تگ هم داریم

RE: تعداد کل بیت های tag در direct map - amin222 - 01 بهمن ۱۳۹۲ ۰۵:۵۵ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۵:۴۴ ب.ظ)۳۰noohe نوشته شده توسط:  
(01 بهمن ۱۳۹۲ ۰۵:۳۲ ب.ظ)amin222 نوشته شده توسط:  
(01 بهمن ۱۳۹۲ ۰۲:۰۴ ب.ظ)۳۰noohe نوشته شده توسط:  سلام

کل حافظه کش ۶۴ کیلوبایته، به یک پردازنده ۳۲ بیتی با گذرگاه آدرس ۳۲ بیتی متصل شده. سایز بلاک: ۶۴ بایت و از روش دایرکت مپ استفاده شده.
کل بیت های tag استفاده شده در این نوع حافظه نهان چقدر است؟

روش حلش که معمولا توی همه کتاب ها هست:
تعداد بیت برای word : لوگاریتم ۶۴= ۶ بیت
تعداد بیت برای بلاک: ۶۴k / 64 = ۱۰ بیت
تعداد بیت تگ برای هر خانه جدول کش: ۳۲- ۱۶= ۱۶
تعداد کل بیت تگ: ۲^۱۰ * ۱۶ = ۲ به توان ۱۴ بیت

چیزی که من ابهام دارم اینه که چرا حافظه موجود کش رو تقسیم بر اندازه بلاک میکنه؟ با این کارش میخواد تعداد سطر های کش رو پیدا کنه! ولی به نظر من این درست نیست چون برای هر رکورد تعداد بیت هایی برای تگ نیز داریم! یعنی هر رکورد جدول برابر = اندازه یک بلاک+ تعداد بیت های تگ هست
به نظرتون کجای کارم اشتباست؟

سلام
به ازای هر بلاک فیلد تگ داریم اندازه کش رو به انداره بلاک تقسیم میکنن تا مشخص بشه جند تا بلاک تو کش داریم

مشکل من هم ده همینه. به ازای هر بلاک یه فیلد تگ توی کش داریم! پس اندازه کل حافظه برابر است با:
x:تعداد بلاک
y: اندازه هر بلاک
z: اندازه فیلد تگ
اندازه کل حافظه: xyz

این چیزی که شما میگین ماله وقتیه که اندازه کل حافظه = اندازه یه بلاک x تعداد بلاک
ولی در صورتی که من فکر میکنم اینطوری نیس! اینجا یه فیلد تگ هم داریم
بازم سلام دوست خوبم وقتی اندازه کش رو تو مسئله میدن منظورشون اندازه ای که بصورت خالص برای نگهداری فقط و فقط دیتا بکار میره فیلد تگ جزئی از آدرسه نه دیتا تازه به اون روشی که شما حساب کردی بیت v , m , رو به حساب نیاوردی توی کتاب آقای یوسفی چند تا مثال هست که اندازه کش رو بر اساس تمام بیتهای تشکیل دهندش خواسته اینجوری میشه روش شما. ولی وقتی میگن اندازه کش اینقدر کیلو بایت منظورشون دیتای کش هست نه چیز دیگه

RE: تعداد کل بیت های tag در direct map - 30noohe - 01 بهمن ۱۳۹۲ ۰۶:۰۱ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۵:۵۵ ب.ظ)amin222 نوشته شده توسط:  بازم سلام دوست خوبم وقتی اندازه کش رو تو مسئله میدن منظورشون اندازه ای که بصورت خالص برای نگهداری فقط و فقط دیتا بکار میره فیلد تگ جزئی از آدرسه نه دیتا تازه به اون روشی که شما حساب کردی بیت v , m , رو به حساب نیاوردی توی کتاب آقای یوسفی چند تا مثال هست که اندازه کش رو بر اساس تمام بیتهای تشکیل دهندش خواسته اینجوری میشه روش شما. ولی وقتی میگن اندازه کش اینقدر کیلو بایت منظورشون دیتای کش هست نه چیز دیگه
سلام
آهان فهمیدم الآن،ممنون دوست عزیز