رم چیست؟
شاید بارها برایتان این سوال پیش آمده باشد که رم چیست؟ چه کاربردی در کامپیوتر و سرور و سایر دستگاهها دارد؟ صحبت مقاله ما امروز در مورد رم یا همان RAM می باشد و با اصطلاح عامیانه رم گوشی که تکنولوژی دیگری است کاملا متفاوت است.
در واقع امروز قصد داریم در مورد یکی از مهمترین قطعات کامپیوتر صحبت کنیم ، رم ( حافظه ی اصلی Primary Memory) یا حافظه ی موقت
RAM (Random Access Memory) چیست؟
رم ها به ماژول هایی به نام DIMM نیز شناخته می شوند DIMM (Dual inline memory module)
Dual بودن به این دلیل هست که پین های حافظه در دو طرف رم قرار دارند و DIMMها میتوانند در اندازه های ۶۸، ۸۴، ۲۴۰، یا ۲۸۸ پین باشند
رم ها بر روی اسلات های حافظه که بر روی مادربرد طراحی شده قرار میگیرند ، نکته ای که وجود داره هماهنگی بین نسل ها و معماری حافظه با اسلات حافظه ها هست که درادامه به آن می پردازیم.
ساختار حافظه و ارتباط آن با CPU
همه ی اطلاعات کامپیوتر در حافظه ی دایمی یا همان هارد دیسک ها ذخیره و بارگذاری می شوند، رم ها واسط بین هارد دیسک ها و سی پی یو هستند.
برای پردازش یک فایل موسیقی فایل ابتدا از دیسک به رم انتقال داده شده و سپس به سی پی یو هدایت می شود
حال اگر حافظه ی رم گنجایش لازم برای فایلی که از هارد دیسک فراخوانی شده را نداشته باشد، هارد درایو منتظر می ماند که رم دیتای قبلی را به سی پی یو ارسال کند و سپس منتظر باقی فایل ها از سمت هارد درایو می شود، به همین دلیل هر مقدار که حافظه بیشتر باشد سرعت کامپیوتر با لود شدن دیتای بیشتر روی رم مراجعه به هارد کمتر شده و از آنجایی که سرعت رم بسیار بالاتر از هارد هست ما تجربه ی بهتری در استفاده از کامپیوتر خواهیم داشت.
رم ها برای فعالیت به الکترسیته یا برق مداوم نیاز دارند، و در صورت قطع شدن برق اطلاعات ذخیره شده ی آنها از از بین خواهد رفت.
انواع رم چیست؟
DRAM
یا Dynamic RAM یکی از انواع رم می باشد که از تعداد بسیار زیادی Capacitor یا مخزن نگهدارنده ی الکتریسیته دارند. با شارژ شدن یکی از این مخازن عملا می توان صفر و یک را تعریف کرد.
نکته ای که این رم ها دارند احتیاج به شارژ شدن آنها می باشد، یعنی می بایستی بصورت مداوم از شارژ یا دشارژ بودن مخازن اطمینان داشت.
نکته : به دلیل Refresh شدن الکتریسیته در مخازن به این نوع رم ها Dynamic میگویند.
SDRAM یا اس دی رم چیست؟
یا Synchronous Dynamic RAM به نسخه ی بروز شده ی DRAM گفته می شود. تفاوت آن با DRAM در سینک بودن با تایم یا clock سیستم می باشد. و بدین ترتیب دارای سرعت بیشتری می باشد. همزمانی با ساعت سیستم کنترل کردن سیگنال ها را آسان تر می کند و بدین صورت سرعت افزایش می یابد.
SIMM vs DIMM
شکل قدیمی و منسوخ شده ی اسلات رم SIMM بوده که تنها قادر به انتقال 32 بیت دیتا در هر Cycle بوده. (کلاک یا cycle به معنی مقدار دفعاتی که یک حافظه در یک ثانیه امکان انتقال اطلاعات را دارد)
در DIMM شکل Pin ها تغییر کرده و سرعت انتقال در هر Cycle به 64 بیت افزایش پیدا کرده است.
Speed
شاید اعداد زیادی را در مورد رم ها شنیده باشید ، مثلا سرعت رم یا نسل های مختلف DDR .
ولی قبل از پرداختن به این موارد باید اساس محاسبه ی سرعت رم را بدانیم.
همانطور که گفته شد رم ها در هر کلاک 64 بیت را منتقل می کنند ، در کامپیوتر کمترین مقدار 1 بیت می باشد و هر 8 بیت یک بایت را تشکیل می دهد.
بنابراین
8 Bits = 1 Byte
64 / 8 = 8 Byte Wide Bus
یعنی در هر کلاک یک رم با فرمول بالا قادر به انتقال 8 بایت دیتا می باشد.
حال بیایید یک نسل از رم های SDRAM را بررسی کنیم.
همانطور که مشاهده می کنید بر روی لیبل رم عبارت PC133 نوشته شده است که نمایانگر حداکثر سرعت این رم در هر Cycle می باشد (133MHz)
در بالاتر اشاره کردیم که هر SDRAM از 8 بایت دیتا در هر کلاک (ثانیه) استفاده می کند.
بنابراین :
PC 133
133 MHz = The speed at which operates
8-byte wide bus
133 MHz * 8 bytes = 1066 MB/s
طبق فرمول بالا این رم قادر به انتقال 1066مگابایت در ثانیه می باشد.
نکته : (در واقع سرعت این رم 133.3333 MHz می باشد که برای راحتی در خواندن اعداد رند شده است )
شروع نسل تازه با اختراع DDR
DDR یا Double Data Rate اشاره به ارسال دو برابری نسبت به SDRAM ها دارد.
همانطور که گفته شد رم ها با کلاک یا ساعت سیستم هماهنگ هستند و با هرثانیه از ساعت سیستم یک بار اقدام به ارسال اطلاعات می کنند.
در این تکنولوژی به جای شروع هر ثانیه ی جدید رم دی انتهای هر ثانیه نیز اقدام به ارسال اطلاعات می کند.
اگر ساعت سیستم را چیزی شبیه به راه رفتن انسان بدانیم ، شروع هر ثانیه یعنی یک قدم با پای چپ و پایان آن با یک قدم با پای راست می توان تشبیه کرد.
تصویر زیر درک بهتری از این مفهوم به شما خواهد داد:
دی نتیجه رم های DDR قادر به ارسال دو برابری دیتا نسبت به نسل قبل خود هستند.
اما تغییرات دیگری نیز در ظاهر رم ها رخ داد
در این نسل به جای درج سرعت کلاک به تنهایی ، این بار جمع نهایی پهنای باند نیز درج شد.
DDR-333 = Clock Speed
PC-2700 = Actual Total Bandwidth
333 MHz * 8 = 2700 MBs
رم DDR2 چیست؟
نسل جدید تر از DDR که قابلیت های زیر به آن اضافه شد:
- نرخ انتقال دو برابری نسبت به نسل قبل
- افزایش فرکانس به 800MHz
- افزایش تعداد Pin ها از 184 به 240
- اضافه شده عدد 2 به عبارت DDR و PC
رم DDR3 چیست؟
این نسل نیز نسبت به DDR2 بهبود بسیار زیادی داشته که شامل :
- افزایش سرعت 2 برابر نسبت به نسل قبل
- مصرف کمتر برق نسبت به نسل قبل
- تغییر مکان notch یا حفره ی اسلات
رم DDR4 چیست؟
تغییرات
- نرخ انتقال 2 برابری نسبت به نسل قبل
- مصرف کمتر برق
- استفاده از 288 Pin
ECC در رم چیست؟
حال به بررسی یک تکنولوژی بسیار مهم می پردازیم که بیشتر برای رم سرور ها در نظر گرفته می شود.
Error Correction Check یک فرایند بررسی برای رفع خطاهای احتمالی رم می باشد ، در رم هایی که ECC را ساپورت می کنند ما شاهد یک چیپ اضافه در ماژول های رم هستیم.
Buffered/Un-Buffered – Registered/Un-Registered
مفهوم دیگری که باید به آن بپردازیم انواعی دیگر از رم ها هستند که نحوه ی کارکرد متفاوتی دارند. در ابتدا باید به نحوه ی ارتباط Memory controller با رم ها بپردازیم.
در کامپیوتر 2 چیپست شمالی و جنوبی نقش های کنترلی را بر عهده دارند ، Northbridge یا چیپست شمالی وظیفه ی کنترل کردن مقدار های مختلف RAM را بر عهده دارد.
در تصویر بالا نحوه ی ارتباط کنترلر با بانک های حافظه را مشاهده می کنید. این نوع رم Unbuffered یا Unregistered می باشد و کنترلر مستقیما با بانک های حافظه جهت اعمال موارد کنترلی نظیر شارژ کردن ارتباط می گیرد.
حال در نظر بگیرید که در سرور شما تعداد بسیار زیادی ماژول رم و بالطبع تعداد بسیار زیادی چیپ یا بانک رم داشته باشید ، در این صورت وظیفه ی نگهداری از رم ها و اعمال فرمان های مختلف از سمت کنترلر حافظه بسیار زیاد خواهد شد و این چیپست بسیار داغ شده و کارایی بسیار ضعیف تری خواهد داشت.
در این وضعیت امکان ایجاد خطا از سمت چیپست های حافظه نیز بسیار محتمل خواهد بود، پس این نوع رم مناسب فضای کاری سرور نیست و Reliability کمی خواهد داشت.
اما در رم های Registered یا Buffered ارتباط کنترلر با رم ها بصورت مستقیم نیست و ابتدا با ماژول های Register و سپس با بانک های رم برقرار می شود
این واسطه گری مزایا و معایب خود را دارد
معایب:
- ارتباط با رجیستر ها به اندازه ی یک clock cycle از لحاظ زمانی هزینه خواهد داشت و سیستم یک clock cycle عقب خواهد بود.
مزایا:
- ارتباط با یک رجیستر overhead کمتری بر روی کنترلر و سی پی یو خواهد داشت
- سی پی یو و کنترلر قادر به ارتباط گیری با تعداد بیشتری از ماژول های رم خواهند بود ( یعنی فضای رم و تعداد رم بالاتر در هر سرور)
نکته : دقت کنید که رم می تواند در عین حال که ECC دارد دارای ویژگی Registered نیز باشد.
Load Reduced
تا به اینجا متوجه شدیم که کنترلر برای دستورات مختلف ابتدا به رجیسترر متصل میشه و بعد چیپ ها فعال میشن، اما در تکنولوژی LRDIMM نه تنها دستورات بلکه حتی خود دیتا هم از چیپ بافر گذر میکنه که در شکل زیر کاملا مشخص هست.
مزایا:
- با استفاده از این مدل میتوانیم حداکثر حافظه ی بیشتری رو روی یک سرور داشته باشیم
- تحمیل بار کمتر روی پردازنده و کنترلر مموری
- مصرف برق کمتر از RDIMM
معایب:
- گرانتر از RDIMM
- کند تر از RDIMM
Rank in Memory
یک مبحث بسیار مهم در تصمیم گیری برای خرید توجه به تعداد Rank در ماژول حافظه هست . شاید توضیح این مورد کمی پیچیده باشد اما با مطالعه ی موارد زیر به درک درست از مفهوم Rank خواهیم رسید.
- رنک تعداد چیپست ( بانک) های فیزیکی نصب شده روی ماژول رم نیست.
- رنک به معنی دو طرفه یا یک طرفه بودن چیپست (بانک ) ها نیست.
- رنک به معنی دوطرفه بودن Pin ها نیست.
- رنک با Channel متفاوت است.
در واقع اگر بخواهیم بصورت منطقی چیپست (بانک) های رم را دسته بندی کنیم از Rank استفاده میکنیم.
نحوه ی ساخت رم ها و نحوه ی مهندسی معماری داخلی آنها را در انواع زیر متفاوت ساخته است :
- Single Rank یا 1R
- Dual Rank یا 2R
- Quad Rank یا 4R
- Octal Rank یا 8R
بر روی لیبل به طور مثال عبارت 1Rx8 نشان دهنده ی Single Rank بودن و 8 عدد حافظه ی چیپست ( فیزیکی ) بر روی رم است.
با افزایش Rank پهنای باند اسمی افزایش پیدا می کند اما چون آدرس دهی به Single Rank نسبت به Dual یا Quad Rank بیشتر است و در نهایت تاخیر در پردازش اطلاعات رخ خواهد داد.
برتری تعداد رنک بالا زمانی محسوس است که از فضای بسیار بالای رم بهره ببریم، در غیر این صورت توجیه منطقی برای انتخاب رم با رنک بالا وجود ندارد.
Dual Channel / Single Channel
Channel به لینک فیزیکی بین CPU و حافظه گفته می شود که بسته به مادربرد و سی پی یو متفاوت است.
اگر CPU از تعداد بیشتری از Channel پشتیبانی کند در عمل راه های دسترسی پردازنده به حافظه ی سیستم بیشتر خواهد بود.
نتیجه گیری
انتخاب رم مناسب برای سیستم یکی از مواردی هست که باید همیشه به آن دقت کنیم زیرا که انتخاب رم نادرست منجر به عدم هماهنگی و در نهایت کم شدن کارایی سیستم و بالا رفتن هزینه های نهایی گردد. همچنین انتخاب رم مناسب همیشه باید بر اساس نیاز شما باشد. به طور مثال اگر شما به سرعت رم احتیاج بیشتری نسبت به حجم آن دارید رم با مشخصات RDIMM Single Rank گزینه ی خوبی برای شما میتواند باشد.