تبیان، دستیار زندگی
 حافظه (RAM(Random Access Memory شناخته ترین نوع حافظه در دنیای  كامپیوتر است . روش دستیابی به این نوع از حافظه ها  تصادفی است . چون می توان به هر سلول حافظه مستقیما" دستیابی پیدا كرد . در مقابل حافظه هایR...
بازدید :
زمان تقریبی مطالعه :

آشنایی با حافظه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)

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

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

حافظه های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 dualin-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

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

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

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

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

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

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

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

PCMCIAmemory 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