سلسله‌مراتب حافظه: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
FreshmanBot (بحث | مشارکت‌ها)
جز replaced: می شود ← می‌شود، یافته است ← یافته‌است، می کند ← می‌کند، پیش بینی ← پیش‌بینی (2)، به طور ← به‌طور (2)، با ویرایشگر خودکار فارسی
خط ۱:
اصطلاح سلسله مراتب حافظه دربارهدربارهٔ طراحی معماری کامپیوتراستفاده می‌شود، وقتی درموردعملکرد طراحی معماری کامپوتر، پیش بینیپیش‌بینی الگوریتم و سازه‌های [[برنامه نویسی]] سطح پایین بحث می‌شود مانند ارجاع محلی."سلسله مراتب حافظه" در ذخیره‌سازی کامپیوترهر سطح را با زمان پاسخ متمایز می‌کند. از آنجا که زمان پاسخ، پیچیدگی، و ظرفیت با هم مرتبط هستند، سطوح نیز ممکن است با توجه به فناوری کنترل متمایز شود.
بسیاری از بده بستان هادرتمایز قایل شدن در کارایی در سطح بالا شامل ساختارسلسله مراتب حافظه می شودبهمی‌شودبه عنوان مثال اندازه و فناوری هر مولفه؛مؤلفه؛ بنابراین مولفه‌هایمؤلفه‌های مختلف می‌توانندبه عنوان انئاع مختلف سلسله مراتب حافظه در نظر گرفته شوند(m1,m2,…) به گونه‌ای که هر کدام از این mها به عنوان یک تابعی به m بعدی در سلسله مراتب است. برای انتظارمحدوددر سطوح بالاتر، سطوح پایین ترباید ازطریق پر کردن بافر و سپس علامت دهی برای فعال کردن انتقال باید پاسخگو باشند
== چهار سطح ذخیره‌سازی بزرگ وجود دارد ==
# داخلی – ثباتهای پردازشگر و [[حافظه نهان]]
خط ۱۳:
* تکنولوژی حافظه COMx فضای فلش را در سلسله مراتب گسترش می‌دهد.
* یکی از راه‌های اصلی برای افزایش کارایی سیستم به حداقل رساندن پایین رفتن سلسله مراتب حافظه برای دستکاری اطلاعات.
* زمان تأخیر و [[پهنای باند]] دو معیارهای مرتبط با حافظه کش و حافظه هستند. هیچ‌کدام از آنها یکسان نیستند، اما مخصوص به یک مولفهمؤلفه خاص از سلسله مراتب حافظه است
* پیش بینیپیش‌بینی محل اطلاعات در سلسله مراتب حافظه دشوار است.
* محل در سلسله مراتب حافظه زمان مورد نیاز رابرای رخ دادن واکشی اولیه، تعیین می‌کند.
 
== کاربرد مفهوم ==
تعداد سطوح در سلسله مراتب حافظه و عملکرد در هر سطح در طول زمان افزایش یافته استیافته‌است. برای مثال سلسله مراتب حافظه پردازنده اینتل هاسول موبایل ۲۰۱۳ عبارت است از:
* ثبات‌های پردازشگر- سریعترین دسترسی ممکن (معمولاً۱چرخه CPU). دراندازه چند هزار بایت
* حافظه کش
خط ۳۰:
* ذخیره‌سازی در دیسک – دراندازه چندین ترابایت. ازسال ۲۰۱۳، بهترین سرعت دسترسی ازیک درایو جامددرحدود ۶۰۰مگابایت برثانیه است.
* ذخیره‌سازی ثالث – در اندازه بیش از یک بیلیون بایت. ازسال ۲۰۱۳، بهترین سرعت دسترسی حدود ۱۶۰مگابایت برثانیه است.
اکثر پردازنده‌های مدرن چنان سریع هستندکه برای اکثر حجم سنگین کار برنامه، تنگنا محل مرجع وکارایی ذخیره‌سازی وانتقال حافظه بین سلسله مراتب مختلف حافظه. درنتیجه CPUبیشتروقت خودرا تلف می کندومنتظرمی‌کندومنتظر کامل شدن ورودی و خروجی حافظه می‌ماند. این گاهی اوقات هزینه فضا نامیده می‌شود. شرایط برای داده‌های که در حال از دست رفتن هستند از یک سطح بالاتر به ترتیب عبارتند از: ریختن ثبات (با توجه به فشار ثبات: ثبات برای کش)، فقدان [[حافظه پنهان]] (کش به حافظه اصلی) وخطای صفحه (حافظه اصلی به دیسک)
[[زبان‌های برنامه نویسی]] مدرن عمدتاً دو سطح حافظه را فرماندهی می‌کنند، حافظه اصلی و ذخیره‌سازی دیسک، ازطریقزبان‌های اسمبلی و اسمبلرهای درون خط درزبان‌هایی مثل C می‌توان به ثبات‌ها به طوربه‌طور مستقیم دسترسی یافت. استفاده بهینه ازسلسله مراتب حافظه نیاز به همکاری برنامه، سخت‌افزار و کامپایلرها دارد (و همچنین حمایت اساسی از سیستم عامل):
* برنامه نویسان مسئول حرکت داده‌ها بین دیسک و حافظه از طریق فایل I/Oهستند.
* سخت‌افزار مسئول حرکت داده‌ها بین حافظه و کش است
* کامپایلر بهینه‌سازی مسئول تولید کد می‌شود که زمانی که اجرا شود، باعث استفاده سخت‌افزار از کش و ثبت به طوربه‌طور کارآمد می‌شود.
بسیاری از برنامه نویسان یک سطح از حافظه را فرماندهی می‌کنند. این کار خوب است تا زمانی که برنامه به یک دیوار اجرا برخورد می‌کند. سپس سلسله مراتب حافظه در طول بازیابی کد ارزیابی می‌شود.<ref>http://en.wikipedia.org/wiki/Memory_hierarchy</ref>