چگونه كار ميكند ؟Random Access Memory (RAM
معروفترين حافظه مورد استفاده كامپيوتر است . به اين وسيله از انجايي كه دستيابي به سلول هاي حافظه آن بلافاصله قابل دسترسي هست
random access ميگويند نقطه مقابل RAM را Serial Access Memory (SAM) مينامند همانطور كه از نامش پيداست ديتاها را بصورت سريال مانند نوار كاست نگهداري ميكند . در SAM اگر ديتايي در دسترس نباشد كليه ديتاها چك ميشوند تا به ديتاي مورد نظر برسد . كاربرد SAM در حافظه بصورت بافر بيشتر مورد استفاده است .اما در RAM در هر لحظه اي كه بخواهيد ميتوانيد به ديتاي مورد نظر دسترسي داشته باشيد . در اين مقاله سعي ميكنم تمامي چيزهايي كه لازمست تا بدانيد 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-linememory 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 RAMFPM 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
حافظه اي كه روي كارت گرافيك يا ويدئويي شما نصب شده است .