سلسله‌مراتب حافظه: چرا کامپیوترها از چند نوع حافظه استفاده می‌کنند

هیچ فناوری حافظه واحدی هم‌زمان سریع، بزرگ، و ارزان نیست. این مقاله مفهوم سلسله‌مراتب حافظه که چند فناوری حافظه مختلف را ترکیب می‌کند تا به سرعت سریع‌ترین آن‌ها با هزینه ارزان‌ترین نزدیک شود را معرفی می‌کند، سپس فناوری‌های اصلی که هر سطح را می‌سازند مرور می‌کند.

سلسله‌مراتب حافظهSRAM و DRAMفناوری‌های حافظه

~3 min read · Updated Sep 6, 2026

چرا یک نوع حافظه هرگز کافی نیست

یک حافظه ایده‌آل باید بسیار سریع باشد، مقدار عظیمی داده نگه دارد، و هزینه بسیار کمی داشته باشد. در عمل، هیچ فناوری واحدی به هر سه به‌طور هم‌زمان دست نمی‌یابد: حافظه سریع‌تر همیشه به‌ازای هر بایت گران‌تر است و معمولاً کوچک‌تر، در حالی که حافظه ارزان‌تر و بزرگ‌تر همیشه کندتر است. این مبادله مسئله مرکزی است که Memory Hierarchy برای حل آن طراحی شده است.

ایده اصلی: ترکیب چند سطح

به‌جای انتخاب یک فناوری حافظه، یک کامپیوتر چند سطح مختلف حافظه را ترکیب می‌کند، هرکدام با تعادل متفاوتی از سرعت، اندازه، و هزینه. داده‌ای که پرکاربرد است در کوچک‌ترین، سریع‌ترین، گران‌ترین سطح نگه داشته می‌شود، در حالی که داده‌ای که کمتر استفاده می‌شود در سطوح به‌تدریج بزرگ‌تر، کندتر، و ارزان‌تر که از پردازنده دورترند قرار دارد.

سریع‌ترین، کوچک‌ترین، گران‌ترین:
رجیسترها → کش → حافظه اصلی → دیسک/SSD
کندترین، بزرگ‌ترین، ارزان‌ترین

SRAM: پایه‌ای برای حافظه سریع و کوچک

SRAM (Static Random Access Memory) هر بیت را با استفاده از یک مدار کوچک از ترانزیستورها ذخیره می‌کند که مقدارش را به‌طور پیوسته تا زمانی که توان تأمین شود نگه می‌دارد، بدون نیاز به رفرش دوره‌ای. این باعث می‌شود SRAM برای دسترسی بسیار سریع باشد، اما هر سلول ذخیره‌سازی به چند ترانزیستور نیاز دارد، که آن را از نظر فیزیکی بزرگ‌تر و به‌ازای هر بیت گران‌تر از جایگزینی که برای حافظه اصلی استفاده می‌شود می‌کند.

DRAM: پایه‌ای برای حافظه بزرگ و ارزان

DRAM (Dynamic Random Access Memory) هر بیت را با استفاده از یک ترانزیستور واحد و یک خازن ذخیره می‌کند، که بسیار فشرده‌تر و ارزان‌تر برای تولید به‌ازای هر بیت نسبت به SRAM است. مبادله این است که شارژ خازن با گذشت زمان نشت می‌کند، پس DRAM باید به‌طور دوره‌ای Refreshed شود — مقادیر ذخیره‌شده‌اش در فواصل منظم دوباره نوشته شوند — تا از دست دادن داده جلوگیری شود، و خواندن از آن به‌طور محسوسی بیشتر از خواندن از SRAM طول می‌کشد.

چرا این دو فناوری متفاوت استفاده می‌شوند

به‌دلیل این مبادلات، SRAM تقریباً منحصراً برای حافظه Cache کوچک و بسیار سریع که مستقیماً درون یا بسیار نزدیک به پردازنده ساخته شده استفاده می‌شود، در حالی که DRAM برای Main Memory بزرگ‌تری استفاده می‌شود که داده بسیار بیشتری را با کسری از هزینه به‌ازای هر بیت نگه می‌دارد، به قیمت زمان دسترسی کندتر.

فراتر از SRAM و DRAM: ذخیره‌سازی پایدار

زیر حافظه اصلی در سلسله‌مراتب، ذخیره‌سازی پایدار قرار دارد، مانند Solid-State Drives (SSDs) یا Hard Disk Drives (HDDs) مغناطیسی سنتی، که داده را حتی وقتی توان قطع می‌شود حفظ می‌کنند، داده بسیار بیشتری نسبت به DRAM نگه می‌دارند، اما دسترسی به آن‌ها به‌طور قابل‌توجهی کندتر است، به‌ویژه هارد دیسک‌ها، که شامل حرکت مکانیکی برای مکان‌یابی فیزیکی داده هستند.

چرا درک این پایه اهمیت دارد

هر تکنیکی که در باقی این فصل بحث می‌شود — استراتژی‌های کش، حافظه مجازی، و بهینه‌سازی کارایی — به‌طور خاص به‌دلیل مبادلات بنیادین توصیف‌شده در اینجا بین سرعت، اندازه، و هزینه وجود دارد. بدون درک اینکه چرا هیچ فناوری حافظه واحدی نمی‌تواند هر نیازی را برآورده کند، تصمیمات طراحی پشت سلسله‌مراتب کش خودسرانه به‌نظر می‌رسند نه ضروری.

Written & researched by Dr. Shahin Siami

Related Articles

تصورات غلط رایج درباره محاسبات موازی و درس‌های نهایی کتاب

پس از پوشش هر چیزی از موازی‌سازی سطح رشته تا محاسبات در مقیاس انبار، ارزش دارد تصورات غلط پایداری درباره سیستم‌های موازی که حتی مهندسان باتجربه هم گاهی به آن‌ها دارند را اصلاح کنیم. این مقاله به مغالطات رایج درباره مقیاس‌پذیری و سخت‌افزار موازی می‌پردازد، سپس فصل پردازش موازی را با پیوند دادن مسیر کامل از یک دستور منفرد تا یک ساختمان پر از ماشین‌های همکار به پایان می‌رساند.

Continue

واقعیت‌های عملی: بنچمارک CPU در مقابل GPU و ضرب ماتریس چندپردازنده‌ای

مقایسه منصفانه یک CPU و یک GPU نیازمند مدلی است که هم توان عملیاتی محاسباتی و هم محدودیت‌های پهنای باند حافظه را با هم در نظر بگیرد. این مقاله مدل roofline مورد استفاده برای مقایسه سخت‌افزار واقعی مانند Intel Core i7 و NVIDIA Tesla GPU را معرفی می‌کند، سپس نشان می‌دهد ضرب ماتریس چگونه در سراسر چند پردازنده تسریع می‌شود، به‌عنوان کاربرد عملی نهایی مفاهیم موازی این فصل.

Continue

بنچمارک کردن چندپردازنده‌ها و مدل‌سازی کارایی موازی

سنجش کارایی یک سیستم موازی نیازمند ابزارها و سنجه‌های متفاوتی نسبت به سنجش یک پردازنده تک‌هسته‌ای است. این مقاله بنچمارک‌های تخصصی مورد استفاده برای ارزیابی سیستم‌های چندپردازنده را پوشش می‌دهد، توضیح می‌دهد چگونه رفتار مقیاس‌پذیری را با افزودن پردازنده‌های بیشتر مدل‌سازی کنیم، و قانون آمدال را در زمینه سنجش کارایی دنیای واقعی بازبینی می‌کند.

Continue

شبکه‌سازی کلاستر: ارتباط با دنیای بیرون

یک کلاستر از ماشین‌ها فقط زمانی مفید است که بتواند به‌طور کارآمد هم داخلی و هم با دنیای بیرون ارتباط برقرار کند. این مقاله لایه‌های شبکه‌سازی درگیر در ارتباط کلاستر، مبادلات بین تأخیر و پهنای باند در مقیاس، و اینکه کلاسترها چگونه به شبکه‌های خارجی و کاربران متصل می‌شوند را پوشش می‌دهد.

Continue

کلاسترها، کامپیوترهای در مقیاس انبار، و توپولوژی‌های شبکه

فراتر از یک تراشه واحد، موازی‌سازی به کل ساختمان‌های پر از کامپیوترهای مستقلی که با هم کار می‌کنند گسترش می‌یابد. این مقاله گذار از چندپردازنده‌سازی حافظه مشترک به کلاسترهایی از ماشین‌های جداگانه را توضیح می‌دهد، مفهوم محاسبات در مقیاس انبار را معرفی می‌کند، و توپولوژی‌های شبکه که این ماشین‌های مستقل را به‌طور کارآمد متصل می‌کنند را پوشش می‌دهد.

Continue

مقدمه‌ای بر GPU: موازی‌سازی عظیم برای بارهای کاری سنگین از نظر داده

یک GPU ایده SIMD که پیش‌تر در این مجموعه پوشش داده شد را به یک مقیاس افراطی می‌برد، و هزاران رشته سبک را به‌طور هم‌زمان اجرا می‌کند تا حجم عظیمی از داده مستقل را پردازش کند. این مقاله توضیح می‌دهد چرا GPU ها از نظر معماری این‌قدر با CPU متفاوت‌اند، مدل اجرای رشته آن‌ها چگونه کار می‌کند، و چه نوع بارهای کاری بیشترین بهره را از این طراحی می‌برند.

Continue