حافظه های رم (RAM) را همه ی ما به عنوان حافظه های فرار و اتفاقی (Random) می شناسیم. یک رم به دادههای ذخیره شده اجازه میدهد تا مستقیما در هر مرحله تصادفی در دسترس باشند. در دسته بندی جافظه های رم شاهد 3 مدل مختلف تحت عناوین SRAM، DRAM و PRAM هستیم. دو نمونه نخست بیشترین کاربرد و استفاده را دارند. در این مطلب به شناخت و تفاوت های این دو گونه می پردازیم.
متاسفانه در مقالات موجود در این زمینه اشاره چندانی به “کنترلر” های حافظه نشده است. پیش از هر چیز این کنترلرهای حافظه رم هستند که در معماری و الگوریتم نوع تراشه موثر هستند. کنترلر حافظه یک مدار دیجیتالی است که جریان حرکت داده را به حافظه اصلی و برعکس کنترل می کند.که می تواند یک تراشه ی مجزا یا اضافه شده به تراشه ی دیگری باشد.مانند یک die(قالب) از میکروپروسسور. همانطور که گفته شد، این فرآیند می تواند در قالب یک تراشه و چیپست دیگر جای گیرد؛ در بسیاری از پلتفرم ها این مدار در چیپست پل شمالی ادغام شده است. کنترلرها قیمت متوسطی دارند و این حافظه های رم هستند که تعیین کننده اصلی قیمت یک بارگذاری حافظه در کامپیوتر هستند.
دو نمونه مورد بحث یعنی SRAM و DRAM را می توانید با نام های غیر اختصاری Static Random Access Memory و Dynamic Random Access Memory بیابید. هر دو حافظه دارای عملکردهای مشابه اما متفاوت در سرعت، مصرف انرژی و هزینه تمام شده هستند. به طور عمده مدل های SRAM از قیمت و هزینه تولید بیشتری برخوردار هستند و تجهیزات تولید کننده آنها نیازمند دقت بالایی هستند.
DRAM
حافظه های DRAM در حافظه های رم و کش های SSD و HDD ها بیشترین کاربرد را دارند. تلفیقی از هر دو ذخیره ساز وجود دارد که SSHD نام دارد و در آنها نیز حافظه ای مشابه وجود دارد. یک کنترلر در ذخیره ساز های مورد نظر وجود دارد که این حافظه فلش را کنترل می کند. در حافظه های DRAM هر بیت داده در یک سلول مجزا نگهداری می شود. اما برای نگهداری بیت ها یک اکوسیستم خاص نیاز است. هر بیت در اختیار یک خازن و ترانزیستور قرار می گیرد. خازن می تواند دقیقا رفتار یک خازن عادی را داشته و شارژ یا دشارژ شود. این شارژ و دشارژ به معنی 0 و 1 و یا همان قطع و وصل در زبان ماشین تلقی می شود. نقطه ضعف خازن طراحی شده دقیقا به مشابه دیگر خازن های الکترونیکی است؛ تمامی خازن ها در اکثر موارد دچار نشت جریان شده و در یک پریود زمانی جریان ذخیره شده درون آنها تخلیه می شود. به همین سبب در بسیاری از مدارات دیجیتال و آنالوگ برای آنها راه حلی به نام دوباره سازی جریان (Refresh) در نظر می گیرند.
در حافظه های DRAM نیز این حافظه ها به طور مداوم در حال رفرش هستند. از همین رو به آنها حافظه های پویا گفته می شود. نرخ تجدید پذیری این حافظه ها در یک استاندارد تکمیلی بسیار بالا است. هر یک سطر در هر 64 میلی ثانیه و یا حتی کمتر رفرش می شود. در برخی از مدل ها بروز رسانی به صورت سطر به سطر صورت می گیرد و در برخی دیگر سلول ها پشت به پشت بروز رسانی می شوند. همانطور که گفته شد حافظه های DRAM در رم های امروزه، کش های SSD و مواردی از این دست مورد استفاده قرار می گیرد.
(دیاگرام یک DRAM از نمای نزدیک)
SRAM
حافظه های SRAM دارای سرعت عمل بیشتری هستند. این حافظه ها نیز به نوعی نیمه هادی محسوب می شوند. این حافظه ها نیازی به Refresh اطلاعات ندارند و مکانیزم دست یابی و ذخیره سازی اطلاعات در آنها متفاوت با آنچه در DRAM اتفاق می افتد است. در سیستم های SRAM از تکنیک “فلیپ فلاپ” (Flip-Flop) استفاده می شود. مزایای حافظه های SRAM شامل:
قابلیت اعتماد بالا
سادگی تولید یک مدار دیجیتال و در کل عدم پیچیدگی در فرآیند بلوک
مصرف پایین انرژی
سرعت بسیار بالا و مناسب برای کار در فرکانس های بالا
معایب این حافظه ها نیز بدین شرح است:
قیمت بالا
ظرفیت پایین حافظه
(ترانزیستورها با نام M نشان داده شده است)
در حافظه های SRAM عموما بین 4 الی 8 ترانزیستور برای ذخیره “یک بیت” داده استفاده می شود. همچنین تعدادی ترانزیستور (عموما دو عدد) در زمینه کنترل خواندن/نوشتن استفاده می گردد. امروزه حافظه هایی از SRAM وجود دارند که حتی بیش از 10 ترانزیستور را در یک بلوک-بیت استفاده می کنند. جالب است بدانید که نوعی از حافظه های SRAM وجود دارند که حافظه های آنها به صورت غیر فرار است. Non-volatile SRAM یا nvSRAM ها جهت حفظ اطلاعات بسیار مهم مانند شبکه های آب و هوا، هوا فضا، پزشکی، اطلاعات نظامی و … استفاده می شوند.
حافظه های SRAM در 3 حالت منطقی قرار می گیرند؛ نخست حالت نوشتن (Write)، حالت خواندن (Read) و در نهایت حالت آماده به کار (Stand By). حافظه های SRAM در زمینه هایی مانند کش (Cache) پردازنده (CPU). حافظه بافر در برخی از هارد دیسک ها و ذخیره سازها، حافظه کش در شتاب دهنده های گرافیکی و GPU و… مواردی از این دست مورد استفاده قرار می گیرند. فلیپ فلاپها اساس ذخیره کنندگی در کامپیوتر مخصوصا پردازندهها هستند پس نمیتوان حافظه ایستا را فقط محدود به رم دانست. یک الگوریتم مشابه با SRAM ها در حافظه های “ثبات” (Register) نیز استفاده می شود. برای آشنایی بیشتر: حافظه های ثبات، حافظه های سریع درون پردازنده ای هستند. این حافظه ها به سرعت اجرا و عملکرد برنامه ها به کار می رود. پردازنده مقادیر و Data های پرکاربرد را در این حافظه ذخیره سازی می کند و فراخوانی آنها با سرعت بیشتری انجام می شود. این حافظه ها نیز به مشابه SRAM بوده اما مقدار آنها همواره کمتر است. این حافظه ها به طور مستقیم به واحد های CU و ALU در ارتباط هستند. ثبات های SRAM به دو صورت در دسترس قرار دارند. Register های آدرس پذیر که توسط برنامه نویسان قابل کنترل هستند و دوم حافظه هایی که از دسترس برنامه نویسان دور بوده و تنها توسط سخت افزار هدایت می شود.
امیدواریم از این مطلب استفاده کرده باشید. در صورت وجود هر گونه پرسش، در انتهای مطلب ذکر نمائید تا بدان پاسخ دهیم.
چه نام كاربري خوبي داري….
ممنون …عالي و كاربردي بود..
ممنون عالی بود
درود بر شما، دوست عزیز چیپست پل شمالی در هیچ پلتفرمی نمیشه کاملا حذف بشه.حتی وقتی میگن چیپست پل شمالی ادغام شده، همچنان یک تراشه بر روی برد برای یک سری کارهاش وجود داره.مثال همین پلتفرم AMD AM4 نسخه لپ تاپ.
بسیار مفید بود…مرسی:-bd
سلام دوستان و همچنین آقای آریایی 😉
خیلی خیلی ممنون . خیلی خوبه که از این دست مقالات آموزشی تو سایت قرار می دید . فقط اگه تعداد این دسته متن ها تو سایت بیشتر بشه خیلی بهتره.:-bd:-bd
” در بسیاری از پلتفرم ها این مدار در چیپست پل شمالی ادغام شده است. “
تو mobo های جدید که پل شمالی نداریم ، وظیفه اون رو همون چیپست اصلیmobo انجام می ده ؟
یه خواهش هم دارم : اگه می شه از معادل های فارسی بعضی کلمات استفاده نکنید مثلا خود کلمه die رو به کار ببرید بهتره تا معادلش.
موفق باشید
سلام دوستان و همچنین آقای آریایی 😉
خیلی خیلی ممنون . خیلی خوبه که از این دست مقالات آموزشی تو سایت قرار می دید . فقط اگه تعداد این دسته متن ها تو سایت بیشتر بشه خیلی بهتره.:-bd:-bd
” در بسیاری از پلتفرم ها این مدار در چیپست پل شمالی ادغام شده است. “
تو mobo های جدید که پل شمالی نداریم ، وظیفه اون رو همون چیپست اصلیmobo انجام می ده ؟
یه خواهش هم دارم : اگه می شه از معادل های فارسی بعضی کلمات استفاده نکنید مثلا خود کلمه die رو به کار ببرید بهتره تا معادلش.
موفق باشید