سرعت دستیابی به حافظه - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

سرعت دستیابی به حافظه

+2 امتیاز

سلام به دوستان

آیا سرعت دستیابی به RAM و cache برابره؟ اگر نیست علتش چیه؟angel

سوال شده آذر 6, 1392  بوسیله ی Xavi (امتیاز 627)   24 83 110

2 پاسخ

+3 امتیاز
 
بهترین پاسخ
سرعت دستیابی به cache چند برابر رم هست.

مثلا ممکنه L1 ۴ برابر و L2 ۳ برابر و L3 ۲ برابر باشه.(این نسبتها دقیق نیست چون این اعداد رابطه خاصی با هم ندارند.)

در کامپیوتر شخصی من L1 75GBps و L2 60GBps و L3 40GBps و RAM 16GBps سرعت داره.

علتش فاصلست.رم از پردازنده فاصله داره که باعث میشه اطلاعات با تاخیر بیشتری بینشون منتقل بشه و نمیتونن حجم زیادی اطلاعات رو با تاخیر زیاد جابه جا کنند.به همین دلیل هست که سازندگان کامپیوتر به جای سرعت, پهنای باند حافظه رو هم زیاد میکنند.مثل پردازنده های ۶۴ بیت یا ۱۲۸ بیت که ۱۲۸ بیتی ها هنوز در دسترس کاربران عادی قرار نگرفتن و فقط جنبه آزمایشگاهی دارند.یا پهنای باند کارتهای گرافیک که الان یکی از عوامل عمده تایین قیمتشون هستند.
پاسخ داده شده آذر 6, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
انتخاب شد آذر 28, 1392 بوسیله ی BlueBlade
+2 امتیاز

توی کامپیوترهای جدید Cache L1 از 8 تا 64 کیلو بایت و cache L2 از 256 کیلوبایت تا 2 mg و cache L3 هم وجود داره که تا 8mg  هستش.

اگر داده های شما از cache L2 بزرگتر باشه یا پراکنده باشه و یا نیاز به دستیابی غیر ترتیبی داشته باشه عملیات پردازش کلاک بیشتری مصرف می کنه. خواندن ونوشتن یک متغیر اگر cache شده باشه 2 یا 3 کلاک بیشتر طول نمی کشه و اگر cache نشده باشه  چند صد کلاک ممکنه طول بکشه. اصلاً فلسفه استفاده stack همین وگرنه heap بود نیازی به تعریف stack نبود داده های موجود در stack فرض بر این هستند که استفاده مکرر میشه از آنها و همچنین مقدار شون محدود هست که این فضا روی cache L1 آینه میشه.

پاسخ داده شده آذر 6, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده آذر 6, 1392 بوسیله ی مصطفی ساتکی
...