PDA

نسخه کامل مشاهده نسخه کامل : آشنایی با حافظه RAM!!



سعید مشکی
23-04-2005, 10:57
آشنايي با حافظه RAM

حافظه (RAM(Random Access Memory شناخته شده ترين نوع حافظه در دنياي كامپيوتر است . روش دستيابي به اين نوع از حافظه ها تصادفي است . چون مي توان به هر سلول حافظه مستقيما" دستيابي پيدا كرد . در مقابل حافظه هاي RAM ، حافظه هاي(SAM(Serial Access Memory وجود دارند. حافظه هاي SAM اطلاعات را در مجموعه اي از سلول هاي حافظه ذخيره و صرفا" امكان دستيابي به آنها بصورت ترتيبي وجود خواهد داشت. ( نظير نوار كاست ) در صورتيكه داده مورد نظر در محل جاري نباشد هر يك از سلول هاي حافظه به ترتيب بررسي شده تا داده مورد نظر پيدا گردد. حافظه هاي SAM در موارديكه پردازش داده ها الزاما" بصورت ترتيبي خواهد بود مفيد مي باشند ( نظير حافظه موجود بر روي كارت هاي گرافيك ). اما داده هاي ذخيره شده در حافظه RAM با هر اولويت دلخواه قابل دستيابي خواهند بود.

مباني حافظه هاي RAM

حافظه RAM ، يك تراشه مدار مجتمع (IC) بوده كه از ميليون ها ترانزيستور و خازن تشكيل شده است .در اغلب حافظه ها با استفاده و بكارگيري يك خازن و يك ترانزيستور مي توان يك سلول را ايجاد كرد. سلول فوق قادر به نگهداري يك بيت داده خواهد بود. خازن اطلاعات مربوط به بيت را كه يك يا صفر است ، در خود نگهداري خواهد كرد.عملكرد ترانزيستور مشابه يك سوييچ بوده كه امكان كنترل مدارات موجود بر روي تراشه حافظه را به منظور خواندن مقدار ذخيره شده در خازن يا تغيير وضعيت مربوط به آن ، فراهم مي نمايد. خازن مشابه يك ظرف ( سطل) بوده كه قادر به نگهداري الكترون ها است . به منظور ذخيره سازي مقدار" يك" در حافظه، ظرف فوق مي بايست از الكترونها پر گردد. براي ذخيره سازي مقدار صفر، مي بايست ظرف فوق خالي گردد.مسئله مهم در رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدين ترتيب پس از گذشت چندين ميلي ثانيه يك ظرف مملو از الكترون تخليه مي گردد. بنابراين به منظور اينكه حافظه بصورت پويا اطلاعات خود را نگهداري نمايد ، مي بايست پردازنده يا " كنترل كننده حافظه " قبل از تخليه شدن خازن، مكلف به شارژ مجدد آن به منظور نگهداري مقدار "يك" باشند. بدين منظور كنترل كننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنويسي مي نمايد.عمليات فوق (Refresh)، هزاران مرتبه در يك ثانيه تكرار خواهد شد.علت نامگذاري DRAM بدين دليل است كه اين نوع حافظه ها مجبور به بازخواني اطلاعات بصورت پويا خواهند بود. فرآيند تكراري " بازخواني / بازنويسي اطلاعات" در اين نوع حافظه ها باعث مي شود كه زمان تلف و سرعت حافظه كند گردد.

سلول هاي حافظه بر روي يك تراشه سيليكون و بصورت آرائه اي مشتمل از ستون ها ( خطوط بيت ) و سطرها ( خطوط كلمات) تشكيل مي گردند. نقطه تلاقي يك سطر و ستون بيانگر آدرس سلول حافظه است .

حافظه هاي DRAM با ارسال يك شارژ به ستون مورد نظر باعث فعال شدن ترانزيستور در هر بيت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعيتي خواهند شد كه خازن مي بايست به آن وضعيت تبديل گردد. در زمان خواندن Sense-amplifier ، سطح شارژ موجود در خازن را اندازه گيري مي نمايد. در صورتيكه سطح فوق بيش از پنجاه درصد باشد مقدار "يك" خوانده شده و در غيراينصورت مقدار "صفر" خوانده خواهد شد. مدت زمان انجام عمليات فوق بسيار كوتاه بوده و بر حسب نانوثانيه ( يك ميلياردم ثانيه ) اندازه گيري مي گردد. تراشه حافظه اي كه داراي سرعت 70 نانوثانيه است ، 70 نانو ثانيه طول خواهد كشيد تا عمليات خواندن و بازنويسي هر سلول را انجام دهد.

سلول هاي حافظه در صورتيكه از روش هائي بمنظور اخذ اطلاعات موجود در سلول ها استفاده ننمايند، به تنهائي فاقد ارزش خواهند بود. بنابراين لازم است سلول هاي حافظه داراي يك زيرساخت كامل حمايتي از مدارات خاص ديگر باشند.مدارات فوق عمليات زير را انجام خواهند داد :

· مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون )

· نگهداري وضعيت بازخواني و باز نويسي داده ها ( شمارنده )

· خواندن و برگرداندن سيگنال از يك سلول ( Sense amplifier)

· اعلام خبر به يك سلول كه مي بايست شارژ گردد يا ضرورتي به شارژ وجود ندارد ( Write enable)

ساير عمليات مربوط به "كنترل كننده حافظه" شامل مواردي نظير : مشخص نمودن نوع سرعت ، ميزان حافظه و بررسي خطاء است .

حافظه هاي SRAM داراي يك تكنولوژي كاملا" متفاوت مي باشند. در اين نوع از حافظه ها از فليپ فلاپ براي ذخيره سازي هر بيت حافظه استفاده مي گردد. يك فليپ فلاپ براي يك سلول حافظه، از چهار تا شش ترانزيستور استفاده مي كند . حافظه هاي SRAM نيازمند بازخواني / بازنويسي اطلاعات نخواهند بود، بنابراين سرعت اين نوع از حافظه ها به مراتب از حافظه هاي DRAM بيشتر است .با توجه به اينكه حافظه هاي SRAM از بخش هاي متعددي تشكيل مي گردد، فضاي استفاده شده آنها بر روي يك تراشه به مراتب بيشتر از يك سلول حافظه از نوع DRAM خواهد بود. در چنين مواردي ميزان حافظه بر روي يك تراشه كاهش پيدا كرده و همين امر مي تواند باعث افزايش قيمت اين نوع از حافظه ها گردد. بنابراين حافظه هاي SRAM سريع و گران و حافظه هاي DRAM ارزان و كند مي باشند . با توجه به موضوع فوق ، از حافظه هاي SRAM به منظور افزايش سرعت پردازنده ( استفاده از Cache) و از حافظه هاي DRAM براي فضاي حافظه RAM در كامپيوتر استفاده مي گردد.

ما ژول هاي حافظه

تراشه هاي حافظه در كامييوترهاي شخصي در آغاز از يك پيكربندي مبتني بر Pin با نام (DIP(Dual line Package استفاده مي كردند. اين پيكربندي مبتني بر پين، مي توانست لحيم كاري درون حفره هائي برروي برداصلي كامپيوتر و يا اتصال به يك سوكت بوده كه خود به برد اصلي لحيم شده است .همزمان با افزايش حافظه ، تعداد تراشه هاي مورد نياز، فضاي زيادي از برد اصلي را اشغال مي كردند.از روش فوق تا زمانيكه ميزان حافظه حداكثر دو مگابايت بود ، استقاده مي گرديد.

راه حل مشكل فوق، استقرار تراشه هاي حافظه بهمراه تمام عناصر و اجزاي حمايتي در يك برد مدار چاپي مجزا (Printed circut Board) بود. برد فوق در ادامه با استفاده از يك نوع خاص از كانكتور ( بانك حافظه ) به برد اصلي متصل مي گرديد. اين نوع تراشه ها اغلب از يك پيكربندي pin با نام( Small Outline J-lead ) soj استفاده مي كردند . برخي از توليدكنندگان ديگر كه تعداد آنها اندك است از پيكربندي ديگري با نام Thin Small Outline Package )tsop) استفاده مي نمايند. تفاوت اساسي بين اين نوع پين هاي جديد و پيكربندي DIP اوليه در اين است كه تراشه هاي SOJ و TSOR بصورت surface-mounted در PCB هستند. به عبارت ديگر پين ها مستقيما" به سطح برد لحيم خواهند شد . ( نه داخل حفره ها و يا سوكت ) .

تراشه ها ي حافظه از طريق كارت هائي كه " ماژول " ناميده مي شوند قابل دستيابي و استفاده مي باشند. شايد تاكنون با مشخصات يك سيستم كه ميزان حافظه خود را بصورت 32 * 8 , يا 16 * 4 اعلام مي نمايد ، برخورده كرده باشيد.اعداد فوق تعداد تراشه ها ضربدر ظرفيت هر يك از تراشه ها را كه بر حسب مگابيت اندازه گيري مي گردند، نشان مي دهد. به منظور محاسبه ظرفيت ، مي توان با تقسيم نمودن آن بر هشت ميزان مگابايت را بر روي هر ماژول مشخص كرد. مثلا" يك ماژول 32 * 4 ، بدين معني است كه ماژول داراي چهار تراشه 32 مگابيتي است . با ضرب 4 در 32 عدد 128 ( مگابيت) بدست مي آيد . اگر عدد فوق را بر هشت تقسيم نمائيم به ظرفيت 16 مگابايت خواهيم رسيد.

نوع برد و كانكتور استفاده شده در حافظه هاي RAM ، طي پنج سال اخير تفاوت كرده است . نمونه هاي اوليه اغلب بصورت اختصاصي توليد مي گرديدند . توليد كنندگان متفاوت كامپيوتر بردهاي حافظه را بگونه اي طراحي مي كردند كه صرفا" امكان استفاده از آنان در سيستم هاي خاصي وجود داشت . در ادامه SIMM (Single in-line memory ) مطرح گرديد. اين نوع از بردهاي حافظه از 30 پين كانكتور استفاده كرده و طول آن حدود 3/5 اينچ و عرض آن يك اينچ بود ( يازده سانتيمتر در 2/5 سانتيمتر ) .در اغلب كامپيوترها مي بايست بردهاي SIMM بصورت زوج هائي كه داراي ظرفيت و سرعت يكسان باشند، استفاده گردد. علت اين است كه پهناي گذرگاه داده بيشتر از يك SIMM است . مثلا" از دو SIMM هشت مگابايتي براي داشتن 16 مگابايت حافظه بر روي سيستم استفاده مي گردد. هر SIMM قادر به ارسال هشت بيت داده در هر لحظه خواهد بود با توجه به اين موضوع كه گذرگاه داده شانزده بيتي است از نصف پهناي باند استفاده شده و اين امر منطقي به نظر نمي آيد. در ادامه بردهاي SIMM بزرگتر شده و داراي ابعاد 25 / 4 * 1 شدند( 11 سانتيمتر در 2/5 سانتيمتر ) و از 72 پين براي افزايش پهناي باند و امكان افزايش حافظه تا ميزان 256 مگابايت بدست آمد.

به موازات افزايش سرعت و ظرفيت پهناي باند پردازنده ها، توليدكنندگان از استاندارد جديد ديگري با نام ( dual in-line memory module)DIMM استفاده كردند.اين نوع بردهاي حافظه داراي 168 پين و ابعاد 1 * 5/4 اينچ ( تقريبا" 14 سانتيمتر در 2/5 سانتيمتر ) بودند. ظرفيت بردهاي فوق در هر ماژول از هشت تا 128 مگابايت را شامل و مي توان آنها را بصورت تك ( زوج الزامي نيست ) استفاده كرد. اغلب ماژول هاي حافظه با 3/3 ولت كار مي كنند. در سيستم هاي مكينتاش از 5 ولت استفاده مي نمايند. يك استاندارد جديد ديگر با نام Rambus in-line memory module ، RIMM از نظر اندازه و پين با DIMM قابل مقايسه است ولي بردهاي فوق ، از يك نوع خاص گذرگاه داده حافظه براي افزايش سرعت استفاده مي نمايند.

اغلب بردهاي حافظه در كامپيوترهاي كيفي از ماژول هاي حافظه كاملا" اختصاصي استفاده مي نمايند ولي برخي از توليدكنندگان حافظه از استاندارد ديگري با نام( small outline dual in-line memory module ) يا SODIMM استفاده مي نمايند. بردهاي حافظه SODIMM داراي ابعاد 1* 2 اينچ ( 5 سانتيمنتر در 5 /2 سانتيمنتر ) بوده و از 144 پين استفاده مي نمايند. ظرفيت اين نوع بردها ي حافظه در هر ماژول از 16 مگابايت تا 256 مگابايت مي تواند باشد.

بررسي خطاء

اكثر حافظه هائي كه امروزه در كامپيوتر استفاده مي گردند داراي ضريب اعتماد بالائي مي باشند.در اكثر سيستم ها ،" كنترل كننده حافظه " درزمان روشن كردن سيستم عمليات بررسي صحت عملكرد حافظه را انجام مي دهد. تراشه هاي حافظه با استفاده از روشي با نام Parity ، عمليات بررسي خطاء را انجام مي دهند. تراشه هاي Parity داراي يك بيت اضافه براي هشت بيت داده مي باشند.روشي كه Parity بر اساس آن كار مي كند بسيار ساده است . در ابتداParity زوج بررسي مي گردد. زمانيكه هشت بيت ( يك بايت) داده ئي را دريافت مي دارند، تراشه تعداد يك هاي موجود در آن را محاسبه مي نمايد. در صورتيكه تعداد يك هاي موجود فرد باشد مقدار بيت Parity يك خواهد شد. در صورتيكه تعداد يك هاي موجود زوج باشد مقدار بيت parity صفر خواهد شد. زمانيكه داده از بيت هاي مورد نظر خوانده مي شود ، مجددا" تعداد يك هاي موجود محاسبه و با بيت parity مقايسه مي گردد. درصورتيكه مجموع فرد و بيت Parity مقدار يك باشد داده مورد نظر درست بوده و براي پردازنده ارسال مي گردد. اما در صورتيكه مجموع فرد بوده و بيت parity صفر باشد تراشه متوجه بروز يك خطاء در بيت ها شده و داده مورد نظر كنار گذاشته مي شود. parity فرد نيز به همين روش كار مي كند در روش فوق زماني بيت parity يك خواهد شد كه تعداد يك هاي موجود در بايت زوج باشد.

مسئله مهم در رابطه با Parity عدم تصحيح خطاء پس از تشخيص است . در صورتيكه يك بايت از داده ها با بيت Parity خود مطابقت ننمايد داده دور انداخته شده سيستم مجددا" سعي خود را انجام خواهد داد. كامپيوترها نيازمند يك سطح بالاتربراي برخورد با خطاء مي باشند. برخي از سيستم ها از روشي با نام به error correction code)ECC) استفاده مي نمايند. در روش فوق از بيت هاي اضافه براي كنترل داده در هر يك از بايت ها استفاده مي گردد. اختلاف روش فوق با روش Parity در اين است كه از چندين بيت براي بررسي خطاء استفاده مي گردد. ( تعداد بيت هاي استفاده شده بستگي به پهناي گذرگاه دارد ) حافظه هاي مبتني بر روش فوق با استفاده از الگوريتم مورد نظر نه تنها قادر به تشخيص خطا بوده بلكه امكان تصحيح خطاهاي بوجود آمده نيز فراهم مي گردد. ECCهمچنين قادر به تشخيص خطاها در مواردي است كه يك يا چندين بيت در يك بايت با مشكل مواجه گردند .

انواح حافظه RAM

Static random access memory)SRAM) . اين نوع حافظه ها از چندين ترانزيستور ( چهار تا شش ) براي هر سلول حافظه استفاده مي نمايند. براي هر سلول از خازن استفاده نمي گردد. اين نوع حافظه در ابتدا به منظور cache استفاده مي شدند.

Dynamic random access memory)DRAM) . در اين نوع حافظه ها براي سلول هاي حافظه از يك زوج ترانزيستور و خازن استفاده مي گردد .

Fast page mode dynamic random access memory)FPM DRAM) . شكل اوليه اي از حافظه هاي DRAM مي باشند. در تراشه اي فوق تا زمان تكميل فرآيند استقرار يك بيت داده توسط سطر و ستون مورد نظر، مي بايست منتظر و در ادامه بيت خوانده خواهد شد.( قبل از اينكه عمليات مربوط به بيت بعدي آغاز گردد) .حداكثر سرعت ارسال داده به L2 cache معادل 176 مگابايت در هر ثانيه است .

Extended data-out dynamic random access memory)EDO DRAM) . اين نوع حافظه ها در انتظار تكميل و اتمام پردازش هاي لازم براي اولين بيت نشده و عمليات مورد نظر خود را در رابطه با بيت بعد بلافاصله آغاز خواهند كرد. پس از اينكه آدرس اولين بيت مشخص گرديد EDO DRAM عمليات مربوط به جستجو براي بيت بعدي را آغاز خواهد كرد. سرعت عمليات فوق پنج برابر سريعتر نسبت به حافظه هاي FPM است . حداكثر سرعت ارسال داده به L2 cache معادل 176 مگابايت در هر ثانيه است .

Synchronous dynamic random access memory)SDRM) از ويژگي "حالت پيوسته " بمنظور افزايش و بهبود كارائي استفاده مي نمايد .بدين منظور زمانيكه سطر شامل داده مورد نظر باشد ، بسرعت در بين ستون ها حركت و بلافاصله پس از تامين داده ،آن را خواهد خواند. SDRAM داراي سرعتي معادل پنج برابر سرعت حافظه هاي EDO بوده و امروزه در اكثر كامپيوترها استفاده مي گردد.حداكثر سرعت ارسال داده به L2 cache معادل 528 مگابايت در ثانيه است .

Rambus dynamic random access memory )RDRAM) يك رويكرد كاملا" جديد نسبت به معماري قبلي DRAM است. اين نوع حافظه ها از Rambus in-line memory module)RIMM) استفاده كرده كه از لحاظ اندازه و پيكربندي مشابه يك DIMM استاندارد است. وجه تمايز اين نوع حافظه ها استفاده از يك گذرگاه داده با سرعت بالا با نام "كانال Rambus " است . تراشه هاي حافظه RDRAM بصورت موازي كار كرده تا بتوانند به سرعت 800 مگاهرتز دست پيدا نمايند.

Credit card memory يك نمونه كاملا" اختصاصي از توليدكنندگان خاص بوده و شامل ماژول هاي DRAM بوده كه دريك نوع خاص اسلات ، در كامپيوترهاي noteBook استفاده مي گردد .

PCMCIA memory card .نوع ديگر از حافظه شامل ماژول هاي DRAM بوده كه در notebook استفاده مي شود.

FlashRam نوع خاصي از حافظه با ظرفيت كم براي استفاده در دستگاههائي نظير تلويزيون، VCR بوده و از آن به منظور نگهداري اطلاعات خاص مربوط به هر دستگاه استفاده مي گردد. زمانيكه اين نوع دستگاهها خاموش باشند همچنان به ميزان اندكي برق مصرف خواهند كرد. در كامپيوتر نيز از اين نوع حافظه ها براي نگهداري اطلاعاتي در رابطه با تنظيمات هارد ديسك و ... استفاده مي گردد.

VideoRam)VRAM) يك نوع خاص از حافظه هاي RAM بوده كه براي موارد خاص نظير : آداپتورهاي ويدئو و يا شتا ب دهندگان سه بعدي استفاده مي شود. به اين نوع از حافظه ها multiport dynamic random access memory) MPDRAM) نيز گفته مي شود.علت نامگذاري فوق بدين دليل است كه اين نوع از حافظه ها داراي امكان دستيابي به اطلاعات، بصورت تصادفي و سريال مي باشند . VRAM بر روي كارت گرافيك قرار داشته و داراي فرمت هاي متفاوتي است. ميزان حافظه فوق به عوامل متفاوتي نظير : " وضوح تصوير " و " وضعيت رنگ ها " بستگي دارد.

به چه ميزان حافظه نياز است ؟

حافظه RAM يكي از مهمترين فاكتورهاي موجود در زمينه ارتقاء كارآئي يك كامپيوتر است . افزايش حافظه بر روي يك كامپيوتر با توجه به نوع استفاده مي تواند در مقاطع زماني متفاوتي انجام گيرد. در صورتيكه از سيستم هاي عامل ويندوز 95 و يا 98 استفاده مي گردد حداقل به 32 مگابايت حافظه نياز خواهد بود. ( 64 مگابايت توصيه مي گردد) .اگر از سيستم عامل ويندوز 2000 استفاده مي گردد حداقل به 64 مگابايت حافظه نياز خواهد بود.( 128 مگابايت توصيه مي گردد) .سيستم عامل لينوكس صرفا" به 4 مگابايت حافظه نياز دارد. در صورتيكه از سيستم عامل اپل استفاده مي گردد به 16 مگابايت حافظه نياز خواهد بود.( 64 مگابايت توصيه مي گردد). ميزان حافظه اشاره شده براي هر يك از سيستم هاي فوق بر اساس كاربردهاي معمولي ارائه شده است . دستيابي به اينترنت ، استفاده از برنامه هاي كاربردي خاص و سرگرم كننده ، نرم افزارهاي خاص طراحي، انيميشن سه بعدي و... مستلزم استفاده از حافظه به مراتب بيشتري خواهد بود .

برگرفته از سايت Srco