اصطلاح سلسله مراتب حافظه دربارهٔ طراحی معماری کامپیوتراستفادهکامپیوتر استفاده میشود، وقتی درموردعملکرددر مورد عملکرد طراحی معماری کامپوتر،کامپیوتر، پیشبینی الگوریتم و سازههای [[برنامه نویسی]] سطح پایین بحث میشود مانند ارجاع محلی."سلسله مراتب حافظه" در ذخیرهسازی کامپیوترهرکامپیوتر هر سطح را با زمان پاسخ متمایز میکند. از آنجا که زمان پاسخ، پیچیدگی،پیچیدگی و ظرفیت با هم مرتبط هستند، سطوح نیز ممکن است با توجه به فناوری کنترل متمایز شود.
بسیاری از بده بستانبستانها هادرتمایزدر تمایز قایل شدن در کارایی در سطح بالا شامل ساختارسلسلهساختار سلسله مراتب حافظه میشودبهمیشود. به عنوان مثال اندازه و فناوری هر مؤلفه؛ بنابراین مؤلفههای مختلف میتوانندبهمیتوانند به عنوان انئاع مختلف سلسله مراتب حافظه در نظر گرفته شوند(m1,m2,…) به گونهای که هر کدام از این mها به عنوان یک تابعی به m بعدی در سلسله مراتب است. برای انتظارمحدوددرانتظار محدود در سطوح بالاتر، سطوح پایینپایینتر تربایدباید از طریق پر کردن بافر و سپس علامت دهی برای فعال کردن انتقال باید پاسخگو باشند.
== چهار سطح ذخیرهسازی بزرگ وجود دارد ==
# داخلی – ثباتهای پردازشگر و [[حافظه نهان]]
# ذخیرهسازی انبوه آنلاین - ذخیرهسازی ثانویه
# ذخیرهسازی انبوه آفلاین- ذخیرهسازی برای سومین بار
این سلسله مراتب اصلی ساختار حافظه است. بسیاری از ساختارهای مفیددیگریمفید دیگری هم هستند. به عنوان مثال، یک الگوریتم [[صفحه بندی]] ممکن است به عنوان یک سطح برای [[حافظه مجازی]] در هنگام طراحی [[معماری کامپیوتر]] در نظر گرفته شود.
== مثال استفاده ازایناز این اصطلاح ==
در این جا برخی از نقل قولها هستند.
* اضافه کردن پیچیدگی سلسله مراتب حافظه را کند میکند.
* زمان تأخیر و [[پهنای باند]] دو معیارهای مرتبط با حافظه کش و حافظه هستند. هیچکدام از آنها یکسان نیستند، اما مخصوص به یک مؤلفه خاص از سلسله مراتب حافظه است
* پیشبینی محل اطلاعات در سلسله مراتب حافظه دشوار است.
* محل در سلسله مراتب حافظه زمان مورد نیاز رابرایرا برای رخ دادن واکشی اولیه، تعیین میکند.
== کاربرد مفهوم ==
* سطح 3(L3) کش به اشترک گذاشته شده - در اندازه ۶ مگابایت. بهترین سرعت دسترسی حدود ۱۰۰گیگابایت برثانیه است
* سطح 4(L4) کش به اشترک گذاشته شده - در اندازه ۱۲۸مگابایت. بهترین سرعت دسترسی حدود ۴۰ گیگابایت برثانیه است
* [[حافظه اصلی]] – دراندازه چندین گیگابایت. بهترین سرعت دسترسی حدود ۱۰ گیگابایت برثانیه است. دزموزددر مورد ماشینهای NUMA، سرعت دسترسی یکسان نیست.
* ذخیرهسازی در دیسک – دراندازهدر اندازه چندین ترابایت. ازسالاز سال ۲۰۱۳، بهترین سرعت دسترسی از یک درایو جامددرحدودجامد در حدود ۶۰۰مگابایت برثانیه است.
* ذخیرهسازی ثالث – در اندازه بیش از یک بیلیون بایت. ازسال ۲۰۱۳، بهترین سرعت دسترسی حدود ۱۶۰مگابایت برثانیه است.
اکثر پردازندههای مدرن چنان سریع هستندکههستند که برای اکثر حجم سنگین کار برنامه، تنگنا محل مرجع وکاراییو کارایی ذخیرهسازی و انتقال حافظه بین سلسله مراتب مختلف حافظه. در نتیجه CPUبیشتروقتCPUبیشتر خودراوقت خود را تلف میکند ومنتظرو منتظر کامل شدن ورودی و خروجی حافظه میماند. این گاهی اوقات هزینه فضا نامیده میشود. شرایط برای دادههای که در حال از دست رفتن هستند از یک سطح بالاتر به ترتیب عبارتند از: ریختن ثبات (با توجه به فشار ثبات: ثبات برای کش)، فقدان [[حافظه پنهان]] (کش به حافظه اصلی) وخطایو خطای صفحه (حافظه اصلی به دیسک) [[زبانهای برنامه نویسی]] مدرن عمدتاً دو سطح حافظه را فرماندهی میکنند، حافظه اصلی و ذخیرهسازی دیسک، از طریق زبانهای اسمبلی و اسمبلرهای درون خط در زبانهایی مثل C میتوان به ثباتها بهطور مستقیم دسترسی یافت. استفاده بهینه از سلسله مراتب حافظه نیاز به همکاری برنامه، سختافزار و کامپایلرها دارد (و همچنین حمایت اساسی از سیستم عامل):
* برنامه نویسان مسئول حرکت دادهها بین دیسک و حافظه از طریق فایل I/ OهستندO هستند. ▼
[[زبانهای برنامه نویسی]] مدرن عمدتاً دو سطح حافظه را فرماندهی میکنند، حافظه اصلی و ذخیرهسازی دیسک، از طریقزبانهای اسمبلی و اسمبلرهای درون خط درزبانهایی مثل C میتوان به ثباتها بهطور مستقیم دسترسی یافت. استفاده بهینه ازسلسله مراتب حافظه نیاز به همکاری برنامه، سختافزار و کامپایلرها دارد (و همچنین حمایت اساسی از سیستم عامل):
▲* برنامه نویسان مسئول حرکت دادهها بین دیسک و حافظه از طریق فایل I/Oهستند.
* سختافزار مسئول حرکت دادهها بین حافظه و کش است
* کامپایلر بهینهسازی مسئول تولید کد میشود که زمانی که اجرا شود، باعث استفاده سختافزار از کش و ثبت بهطور کارآمد میشود.
|