در این مقاله سعی میکنم تمامی چیزهایی که لازمست تا بدانید RAM چیست و چه میکند را توضیح میدهم .
یک چیپ حافظه تقریبا شبیه به میکروپروسسور همان IC (Integrated Circuit) هست در این مدارات مجتمع میلیون ها ترانزیستور و خازن قرار دارد . در تقریبا تمامی کامپیوتر ها در حافظه dynamic random access memory (DRAM) ترانزیستور و خازن مجموعا با هم یک سلول از حافظه را تشکیل میدهند که نمایش دهنده یک بیت از حافظه هستند . خازن یک بیت از حافظه را نگهداری میکند یا صفر یا یک . در مقابل ترانزیستور بصورت سوئیچی عمل میکند که وظیفه کنترل مدارات را روی چیپ حافظه دارد که ایا خازن را بخواند یا اینکه موقعیت را برای نخواندن ان و تغییر موضع ایجاد کند .

خازن را میتوانید مثل سطلی در نظر بگیرید که الکترون ها در ان ذخیره میشوند . برای ذخیره کردن 1 در سلول حافظه این سطل پر از الکترون میشود و برای 0 شدن خالی از الکترون میشود . مشکلی که این خازنها دارند اینستکه پس از مرور زمان نشتی میکنند و گرایش به خالی شدن دارند . این اتفاقات در کمتر از میلی ثانیه اتفاق می افتد . بنابراین برای عملکرد درست حافظه پویا یا حتی CPU کنترل کننده حافظه باید انها را شارژکند تا مقدار 1 را در خودشان نگه دارند . یعنی کنترل کننده حافظه مدام حافظه را میخواند و دوباره انرا مینویسد ! این عملیات بصورت خودکار در یک ثانیه هزاران بار اتفاق می افتد .
برای تصور قضیه فوق در ذهنتان فرض کنید سطل آبی داریم که از زیر سوراخ کوچکی دارد وقتی سطل را از اب پر میکنی و شیر اب را قطع کردی اب ظرف رو به اتمام میرود حالا برای اینکه ظرف همیشه پر از اب یا همان الکترون باشد یک شناور میگذاریم که با پایین امدن ان اب دوباره به ظرف بریزد .

عملیات refresh شدن رم برای رم های پویا هست و عملا برای همین قضیه به این نام نامیده شده اند . بنابراین رم های پویا مداوما باید در حال refresh شدن باشند درغیر اینصورت اطلاعات داخل خود را از دست میدهند . بنابراین این refresh شدن ها باعث میشود از سرعت این رم کم بشود .

سلول های حافظه روی یک تخته سیلیکونی قرار دارند که بصورت ارایه ای از ستون ها و سطر ها هست به ستون ها bitline و به سطرها wordline میگویند . محل تقاطع این دو محدوده شناسایی ادرس های سلول حافظه میباشد .

DRAM ها مداوما ستونهایشان را شارژ میکنند تا ترانزیستور های خود را بصورت فعال نگهدارند . وقتی قرار باشد که مقدار یک را به خازن اختصاص دهد انرا شارژ میکند اما وقتی میخواهد ان مقدار را بخواند که ایا مقدار یک را دارد یا نه یک امپلی فایر حساس مشخص میکند که ایا خازن ظرفیتش از الکترون باندازه بیش از 50% هست یا خیر اگر هست مقدار یک دارد وگرنه باید مقدار یک به ان داده میشود . تحلیل عملکرد DRAM تا همینجا بماند بنابراین یادتان باشد که خازن ها به تنهایی نمیتوانند کاری کنند بلکه RAS و CAS برای ادرس دهی خازنها لازمند . یک کنتور برای انکه لحظات رفرش شدن را بشمارد . یک امپلی فایر حساس برای خواندن مقدار خازن و اینکه ایا خازن قابل نوشتن هست یا خیر .

Static RAM (SRAM) از تکنولوژی متفاوتی استفاده میکند . در رم از نوع ایستا نوعی flip-flop وجود دارد که هر بیت از حافظه را نگهداری میکند . یک فلیپ فلاپ برای حافظه چهار تا شش ترانزیستور سیم کشی شده به هم دارد اما دیگر نیازی به تازه شدن و refresh شدن ندارند . و این همان نقطه ای است که باعث میشود رم ایستا از رم پویا پیشی بگیرد . به هر حال از انجایی که بخش های بیشتری نسبت به رم پویا در رم ایستا داریم بنابراین سلول های حافظه فضای بیشتری نسبت به رم پویا اشغال میکنند . بنابراین شما روی چیپ حافظه از حافظه کمتری برخوردار میشوید که باعث میشود این نوع حافظه گران شود .

بنابراین رم ایستا سرعت بیشتری دارد اما گرانتر است اما رم پویا سرعت کمتری دارد در عوض ارزان تر است . لذا رم ایستا برای کش CPU بهتر است و رم پویا برای حافظه های بزرگتر پرکاربرد تر است .

چیپ های حافظه امروزه بصورت کارتهایی که ماژول مینامیم هستند حتما شده که روی این حافظه ها اعدادی مثل 8*32 یا 4*16 را دیده باشید این اعداد تعداد چیپهای موجود در ان چیپ را نمایش میدهند و اینکه هر اما اینکه چه نوع رمی بر روی چه نوع پایه ای قرار بگیرد نیز نکته ایست که نباید از ان به این سادگی رد شد . در مقالات قبلی درمورد نحوه اتصال رم با مادربرد توضیحاتی داده ام . اما نکاتی را باز هم یاداور میشوم :

SIMM single in-line memory module این برد از حافظه از 30 پین برای اتصال با ابعاد 9*2 سانتیمتر دارد در اکثر کامپیوتر ها SIMM ها را باید بصورت جفت نصب کنید علاوه بران میزان حافظه نیز در این جفت باید یکی باشد این بان دلیل است که پهنای باند ارتباطی باس مادربرد شما بیش از یک SIMM میباشد . یعنی برای انکه شما از 16 مگابایت رم بهره مند شوید باید دو رم 8 مگابایتی نصب کنید . که هر SIMM بفرض میتواند 8 بیت دیتا منتقل کند . در حالیکه باس سیستم میتواند 16 مگابایت منتقل کند . SIMM های اخیر در ابعاد 11*2.5 سانتیمتر هستند که از 72 پین برای اتصال استفاده میکنند که این پینها برای افزایش پهنای باند است که تا بیش از 256 مگابایت رم هم میتوان برانها نصب کرد .

اما همانطور که میدانید SIMM ها قدیمی شده و تکنولوژی جدید بنام Dual in-line Memory Module (DIMM) وجود دارد . که دارای 164 یا 184 پین هستند با ابعاد تقریبا 14*2.5 سانتیمتر DIMM ها میتوانند از 8 مگابایت تا 1 گیگابایت گنجایش برای رم داشته باشند و دیگر نیازی به اینکه بصورت جفت قرار بگیرند ندارند . نوع دیگری هم وجود دارد که در مقاله مربوطه در مورد Rambus in-line Memory Module (RIMM) توضیح داده ام

انواع رم های متداول

SRAM Static RAM
دارای چندین ترانزیستور به تعداد 8 تا 6 برای هر سلول حافظه اما بدون خازن در هر سلول که بهتر است برای کش استفاده شود

DRAM Dynamic RAM
دارای سلول های حافظه با ترانزیستور و خازن که نیاز به refresh شدن دارد .

Fast page mode Dynamic RAM FPM DRAM
نوع اولیه DRAM بود ماکسیموم سرعت انتقال داده ها در کش از نوع لایه دو به 176 MBps میرسید

EDO DRAM Extended data-output Dynamic RAM
مثل دیگر رم ها صبر نمیکند که تمامی اعمال پردازش روی بیت اول انجام شود و سپس سراغ بیت بعدی برود بلکه همان وقتی که ادرس بیت اول را شناسایی کرد بدنبال بیت بعدی میرود تقریبا 5% سرعت بیشتری نسبت به FPM RAM دارد حداکثر سرعت برای کش لایه دو مقدار 264 MBps میباشد .

SD RAM Synchronous dynamic random access memory
5% سرعت بیشتری نسبت به EDO DRAM دارد و معمولتر از نسخه اخیر است حداکثر سرعت ارتباط با کش لایه 2 به 528 MBps میرسد

DDR SDRAM Double Rate SDRAM
همان SDRAM منتهی با پهنای باند بیشتر حداکثر سرعت ارتباط با کش لایه 2 مقدار 1064 MBps میباشد البته برای باس 133

RDRAM Rambus DRAM
سرعتی فوق العاده ای دارد اما قیمت زیادی هم دارد .

CMOS RAM
مقدار کمی از حافظه که در کامپیوتر شما برای شناسایی دیگر اجزا به کار میرود این حافظه به یک باتری کوچک نیازمند است همان باطری که وقتی در کیس را باز میکنید و انرا میبینید .

VRAM video RAM
حافظه ای که روی کارت گرافیک یا ویدئویی شما نصب شده است .