بررسی ماژول های حافظه (RAM)
ماژول های حافظه (RAM)
RAM مخففRandom Access Memory می باشد. از RAM برای ذخیره سازی اطلاعات و دسترسی سریع به دیتا استفاده می شود. روش دستيابی به اين نوع از حافظه ها تصادفی است چون می توان به هر سلول حافظه مستقيما دستيابی پيدا کرد. در مقابل حافظه های RAM، حافظه هایSAM یا Serial Access Memory وجود دارند. حافظه هایSAM اطلاعات را در مجموعه ای از سلول های حافظه ذخيره و صرفا امکان دستيابی به آنها بصورت ترتيبی وجود خواهد داشت (مانند نوار کاست)، در صورتي که داده مورد نظر در محل جاری نباشد ، سلول های حافظه به ترتيب بررسی شده تا داده مورد نظر پيدا گردد.
حافظه RAM، يک تراشه مدار مجتمع (IC) است که از ميليون ها ترانزيستور و خازن تشکيل می گردد. در اغلب حافظه ها با استفاده و بکارگيری يک خازن و يک ترانزيستور می توان يک سلول را ايجاد کرد. سلول فوق قادر به نگهداری يک بيت داده می باشد. خازن اطلاعات مربوط به هر بيت را که يک و يا صفر است، در خود نگهداری خواهد کرد. عملکرد ترانزيستور مشابه يک سوئيچ بوده که امکان کنترل مدارات موجود بر روی تراشه حافظه را به منظور خواندن مقدار ذخيره شده در خازن و يا تغيير وضعيت مربوط به آن، فراهم می نمايد. برای اينکه حافظه بصورت پويا اطلاعات خود را نگهداری نمايد، می بايست پردازنده و يا کنترل کننده حافظه قبل از تخليه شدن خازن، مکلف به شارژ مجدد آن به منظور نگهداری مقدار 1 باشند.
بدين منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا اطلاعات را بازنويسی می نمايد. عمليات Refresh، هزاران مرتبه در يک ثانيه تکرار خواهد شد. علت نامگذاری DRAM بدين دليل است که اين نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پويا خواهند بود. فرآيند تکراری بازخوانی/ بازنويسی اطلاعات در اين نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه روی يک تراشه سيليکون و بصورت آرائه ای مشتمل از ستون ها (خطوط بيت) و سطرها ( خطوط کلمات) تشکيل می گردند. نقطه تلاقی يک سطر و ستون بيانگر آدرس سلول حافظه است . حافظه هایDRAM با ارسال يک شارژ به ستون مورد نظر باعث فعال شدن ترانزيستور در هر بيت ستون، خواهند شد. در زمان نوشتن خطوط سطر شامل وضعيتی خواهند شد که خازن می بايست به آن وضعيت تبديل گردد. در زمان خواندن Sense Amplifier، سطح شارژ موجود در خازن را اندازه گيری می نمايد. در صورتي که سطح فوق بيش از پنجاه درصد باشد مقدار 1 خوانده شده و در غير اينصورت مقدار 0 خوانده خواهد شد. مدت زمان انجام عمليات فوق بسيار کوتاه بوده و بر حسب نانو ثانيه اندازه گيری می گردد.
دو نوع حافظه RAM وجود دارد.
SRAM مخففStatic RAM می باشد. برای ذخیره سازی 1 بیت اطلاعات نیاز به 6 ترانزیستور دارد و از خازنها برای نگهداری اطلاعات استفاده نمی کند. حافظه هایSRAM نیازی بهRefresh شدن متوالی ندارند زیرا ترانزیستور های تشکیل دهنده آن تا زمانی که برق سیستم قطع نشده باشد اطلاعات را در خود نگهداری می کنند. اغلب در جاهایی که به سرعت بالا در حافظه نیاز است استفاده می شود.
درSRAM ها سرعت خواندن و نوشتن اطلاعات بسیار بالا می باشد چرا که نیاز با شارژ متناوب ترانزیستور ها نیست.
به علت استفاده از تزانزیستور های فراوان، قیمت بالایی دارند.
DRAM مخففDynamic RAM می باشد. برای ذخیره سازی 1 بیت اطلاعات نیاز به یک ترانزیستور و یک خازن دارد. خازنهای حافظه های DRAM باید بطور مرتب Refresh و شارژ شوند تا اطلاعات از بین نرود.
درDRAM ها سرعت خواندن و نوشتن اطلاعات نسبت بهSRAM ها پایین تر است زیرا نیاز است بطور مرتب خازن هایDRAM شارژ شوند و این امر نسبت بهSRAM ها زمان بر است.
به علت استفاده از ترانزیستور های کمتر نسبت بهSRAM ها قیمت پایین تری دارند و به همین خاطر مشتری پسند تر هستند.
انواع حافظه هایDRAM
دو نوع حافظه DRAM وجود دارد.
ADRAM که مخففAsynchronous DRAM می باشد.
نسل قدیمی حافظه هایDRAM بودند. مشکلی که حافظه هایDRAM قدیمی داشتند عدم هماهنگی آنها با پردازنده بود. حافظه هایDRAM قدیمی از رابط کاربری (اینترفیس) غیر همزمان یا ناهمگام (Asynchronous) استفاده می کردند، یعنی حافظه هایDRAM قدیمی مستقل از پردازنده عمل می کردند. مشکلی که بوجود می آمد این بود که حافظه از پس درخواست های فراوان و پشت سر هم پردازنده بر نمی آمد. اما با ظهور حافظه هایSDRAM این مشکل حل شد.
SDRAM که مخففSynchronous DRAM می باشد.
فرآیند همزمان سازی پاسخ های حافظه به درخواست های پردازنده توسط این حافظه ها انجام شد. تکنولوژی SDRAM در اوایل دهه 1990 ایجاد شد.
حافظه هایSDRAM در هر کلاک تنها یک دستور را قبول می کرد یا به عبارت دیگر در این نوع حافظه ها در هر پالس تنها یک مرتبه اطلاعات منتقل می شد.
حافظه هایSDRAM حافظه های 64 بیتی هستند.
ماژول هایDIMM درSDRAM دارای 168 پایه (پین) هستند.
ولتاژ مصرفی حافظه هایSDRAM برابر 3.3 تا 3.5 ولت می باشد.
حافظه هایSDRAM تاخیر های موجود در حافظه هایADRAM یاAsynchronous DRAM را ندارند زیرا سیگنال های وارد شده با حافظه از قبل توسط Memory Controller با کلاک های مادربرد (FSB) همزمان شده اند.
از نظر ظاهری حافظه هایSDRAM دارای دو شیار هستند.
حداکثر فرکانس حافظه هایSDRAM برابر 133 مگا هرتز می باشد. بنابراین با احتساب 64 بیت بودن باس حافظه نرخ انتقال اطلاعات با توجه به فرمول زیر برابر 1 گیگا بایت در ثانیه می باشد.
64 * (133) / 8 = 1064 MB/S
نکته : حافظه هایSDRAM در هر پالس 64 بیت اطلاعات را منتقل می کنند و این کار در هر پالس یک بار انجام می شود. با این روش کارایی سیستم در حد پایینی نگه داشته می شد بنابراین نیاز به حافظه های دیگری بود که سرعت بیشتر و نرخ انتقال اطلاعات بیشتر و مصرف برق کمتری داشته باشند، بدین ترتیب حافظه هایDDR ، DDR2، DDR3 و DDR4 ساخته شدند.
این حافظه ها همگی از نسل حافظه های SDRAM و ادامه این نسل می باشند.
ماژول هایDDR
مخففDouble Data Rate می باشد. حافظه هایDDR در هر پالس دو مرتبه اطلاعات را منتقل می کنند. اطلاعات یک بار در لبه بالا رونده کلاک و یک بار در لبه پایین رونده کلاک منتقل می شود. فرکانس درج شده روی این حافظه ها دو برابر سرعت کلاک آنها است. بر فرض اگر روی یک حافظهDDR سرعت 533 مگا هرتز نوشته شده باشد در حقیقت سرعت آن 200 مگا هرتز می باشد و با توجه به اینکه در هر پالس دو مرتبه اطلاعات منتقل می شود سرعت برابر 400 مگا هرتز روی آن حک می شود. بنابراین اگر مادربردی داشته باشید که با کلاک 200 مگا هرتز کار کند می توانید حافظه ای با سرعت 400 مگا هرتز داشته باشید.
حافظه هایDDR حافظه های 64 بیتی هستند.
ماژول هایDIMM درDDR دارای 184 پایه (پین) هستند.
ولتاژ مصرفی حافظه هایDDR برابر 2.5 ولت می باشد.
از نظر ظاهری حافظه هایDDR دارای یک شیار هستند.
حافظه هایDDR از یکسری حافظه های میانجی (Buffer) استفاده می کنند تا سرعت واکشی (Fetch) اطلاعات از حافظه برابر 2 بیت در ثانیه شود.
در اینجا مشاهده می شود که در حافظه هایDDR در هر پالس، اطلاعات دو مرتبه منتقل می شود. فرض کنید یک حافظهDDR با سرعت 400 مگا هرتز دارید و قصد دارید این حافظه را روی یک مادربرد باFSB برابر 100 مگا هرتز قرار دهید. حافظه شما در نهایت با سرعت 200 مگا هرتز کار خواهد کرد چون سرعت کلاک مادربرد برابر 100 مگا هرتز بود وMemory Controller که وظیفه مدیریت حافظه را بر عهده دارد ناچار است خود را با سرعت کلاک مبنا (100) وفق دهد، بنابراین سرعت حافظه با وجود تکنولوژیDDR هیچگاه به مقدار 400 مگا هرتز نخواهد رسید.
نام گذاری حافظه هایDDR وDDR2 وDDR3
برای نام گذاری نسل حافظه هایSDRAM دو روش وجود دارد.
روش DDRX-YYY
DDRX معرف تکنولوژیDDR و نسل های آن می باشد.
به جایX می توان بر حسب تکنولوژیDDR2 ، DDR3 یا DDR4 اعداد 2 ، 3 و 4 را قرار داد.
YYY معرف حداکثر سرعت کلاک حافظه می باشد.
روش PCX-ZZZ X
معرف نسل حافظه مانند 2 (DDR2) یا 3 (DDR3) می باشد.
ZZZ معرف حداکثر نرخ انتقال اطلاعات در حافظه می باشد.
برای مثالPC-3200 که با توجه به باس 64 بیتی حافظه از فرمول زیر حداکثر نرخ انتقال اطلاعات برابر 3.2 گیگا بایت در ثانیه می شود.
64 * (2*200) / 8 = 3.2 GB/S
نکته : حافظه های نسلSDRAM مانندDDR وDDR2 وDDR3 هیچگاه در فرکانس حک شده روی آنها کار نمی کنند. چند دلیل برای این امر وجود دارد.
Memory Controller خودش را باس مادربرد (FSB یاHT یا QPI) هماهنگ می کند و همه چیز به سرعت کلاک مادربرد بستگی دارد ، بنابراین امکان دارد حافظه در حداکثر فرکانس خود کار نکند. می دانید که کلیه قطعات خود را با سرعت کلاک مبنا هماهنگ می کنند و حافظه ها هم از این قاعده مستثنی نیستند.
Timing در حافظه
مقدار تاخیر یاDelay در خواندن و نوشتن اطلاعات حافظه گفته می شود. به عبارت دیگر زمان پاسخ دهی حافظه به پردازنده و پیدا کردن اطلاعات درخواست شده و ارسال آنها به پردازنده است. بنابراین بصورت ایده آل اطلاعات در یک پالس خوانده نخواهد شد و در خواندن و نوشتن اطلاعات به اندازه چند پالس تاخیر وجود دارد.
زمان پاسخ گویی حافظه در قبال پردازنده می باشد. زمانTiming حافظه بصورت 4 عدد مختلف مشخص می شود.
این اعداد ترکیب موارد زیر می باشد. 5.3.3.7 CL.tRCD.tRP.tRAS
CL مخففCAS Latency یاColumn Address Strobe Latency می باشد. مدت زمان تاخیر بین دستور داده شده از طرف پردازنده تا هنگام ارسال جواب است. به عبارت دیگر مدت زمان تاخیر بین ارسال دستور ازMemory Controller تا زمان فراهم شدن اطلاعات درخواستی از حافظه می باشد.
عدد 5 نشان دهنده تاخیر برابر 5 کلاک می باشد.
خواندن (یا نوشتن) اطلاعات از حافظه و ارسال به پردازنده بصورت ایده آل در یک کلاک انجام نخواهد شد و همیشه مقداری تاخیر یاDelay وجود خواهد داشت. در اینجا اختلاف بین تاخیر 3 و 5 کلاک نشان داده شده است. طبیعی است هر چه تعداد کلاک هایCL کمتر باشد سرعت حافظه بیشتر خواهد بود.
نکته : تمام اعدادTiming به تعداد کلاک ها اشاره دارد. فرض کنید یک حافظهDDR-400 دارید.
با توجه به اینکه حافظه هایDDR در هر پالس دو مرتبه اطلاعات را منتقل می کنند در نتیجه فرکانس واقعی این حافظه برابر 200 مگا هرتز می باشد. مدت زمان طی شدن یک پالس با استفاده از فرمول زیر برابر 3.75 نانو ثانیه می باشد.
T = 1 / F
نانو ثانیه T = 1 / 266 = 3.75
بنابراین با ضرب 5 در 3.75 مدت زمان تاخیر 5 کلاک یعنی 18.75 نانو ثانیه بدست می آید. یعنی 18.75 نانو ثانیه طول می کشد تا اطلاعات درخواست شده پردازنده از حافظه به آن منتقل شوند.
tRCD مخففTime Row Address To Column Address Delay می باشد. مدت زمان تاخیر بین فعال شدن یک سطر (RAS یا Row Address Strobe) و فعال شدن یک ستون (CAS یا Column Address Strobe) می باشد.
عدد 3 نشان دهنده تاخیر برابر 3 کلاک می باشد.
هر چیپ حافظه بصورت یک ماتریس سازماندهی شده است. در تقاطع هر سطر و ستون یک خازن وجود دارد که با اعمال ولتاژ یا عدم اعمال ولتاژ به آن نگه دارنده 0 و 1 می باشد. برایActive کردن یک خانه در حافظه از دو دستور RAS (سیگنال فعال سازی سطر) و CAS (سیگنال فعال سازی ستون) استفاده می شود.
در ابتدا با سیگنالRAS سطر مربوطه فعال می شود سپس با ارسال سیگنالCAS ستون مربوطه فعال می شود در نتیجه اطلاعات از یک خانه حافظه خوانده می شود. مدت زمان تاخیر بینActive شدن سطر و ستون مربوطه و خواندن اطلاعات راtRCD می گویند.
tRP مخففTime Row PreCharge می باشد. مدت زمان تاخیر بین غیر فعال شدن سطر فعلی و فعال شدن (دستور Active) سطر جدید می باشد. در واقع با استفاده از سیگنال PreCharge سطر فعلی غیر فعال می شود و سطر جدید با سیگنالRAS فعال می شود.
عدد 3 نشان دهنده تاخیر برابر 3 کلاک می باشد.
با ارسال سیگنالPreCharge سطر فعال فعلی غیر فعال می شود و سطر جدید فعال می شود. مدت زمان تاخیر بین غیر فعال شدن سطر فعلی و فعال شدن سطر جدیدtRP نامیده می شود.
tRAS مخففTime Row Address Strobe می باشد. مدت زمانی است که بعد از اینکه دستورRAS برایActive شدن سطر جدید به کار گرفته شد دستور PreCharge دیگری اجرا نخواهد شد، در واقع اشاره به محدوده زمانی دارد که حافظه می تواند یک سطر را بخواند یا بنویسد.
عدد 7 نشان دهنده تاخیر برابر 7 کلاک می باشد. فرض کنید دستورPreCharge اجرا شده است و سطر فعلی غیر فعال می شود. با دستورRAS سطر جدید فعال می شود. از این لحظه به بعد، حافظه به اندازه 7 کلاک فرصت دارد تا سیگنالCAS ارسال شود و عملیات خوانده یا نوشتن انجام شود. اگر 7 کلاک گذشت و عملیات خوانده و نوشتن در حافظه انجام نشد سیگنالPreCharge ارسال می شود و سطر را غیر فعال می کند و سطر جدید فعال می شود. در محدوده زمانی 7 کلاک به هیچ وجه سیگنالPreCharge ارسال نخواهد شد مگر اینکه 7 کلاک تمام شده باشد.
CR مخففCommand Rate می باشد. به مدت زمان تاخیر بین فعال شدنMemory Chip های روی حافظه و فرستادن اولین دستور به حافظه می باشد. معمولا به دو صورت زیر می باشد.
T1 و T2
مقدارT1 نشان دهنده تاخیر برابر 1 پالس می باشد.
نکته :Timing در بحثOver Clock حافظه اهمیت فراوان دارد. با افزایش فرکانسFSB مادربرد فرکانس حافظه بیشتر می شود. با افزایش فرکانس حافظه، زمان Timing حافظه هم افزایش پیدا می کند. در تنظیم زمانTiming موقعیOver Clock جواب می دهد که سیستم پایدار بماند. در مبحثOver Clock باید دقت شود که فرکانس حافظه بیشتر از مقدار درج شده روی آن نشود چرا که افزایش فرکانس باعث سوختن چیپ های حافظه می شود.
ماژول هایDDR2
مخففDouble Data Rate 2 می باشد.
حافظه های DDR2 مانند حافظه هایDDR در هر پالس دو مرتبه اطلاعات را منتقل می کنند. اطلاعات یک بار در لبه بالا رونده کلاک و یک بار در لبه پایین رونده کلاک منتقل می شود. فرکانس درج شده روی این حافظه ها دو برابر سرعت کلاک آن ها است. بر فرض اگر روی یک حافظهDDR2 سرعت 800 مگا هرتز نوشتن شده باشد در حقیقت سرعت آن 400 مگا هرتز می باشد و با توجه به اینکه در هر پالس دو مرتبه اطلاعات منتقل می شود سرعت برابر 800 مگا هرتز روی آن حک می شود. بنابراین اگر مادربردی داشته باشید که با کلاک 400 مگا هرتز کار کند می توانید حافظه ای با سرعت 800 مگا هرتز داشته باشید.
حافظه هایDDR2 حافظه های 64 بیتی هستند.
ماژول هایDIMM درDDR2 دارای 240 پایه (پین) هستند.
ولتاژ مصرفی حافظه هایDDR2 برابر 1.8 ولت می باشد.
از نظر ظاهری حافظه هایDDR2 دارای یک شیار هستند.
کمترین زمان تاخیر در حافظه هایDDR2 برابر 3 کلاک می باشد.
حافظه هایDDR2 از یکسری حافظه های میانجی (Buffer) استفاده می کنند تا سرعت واکشی (Fetch) اطلاعات از حافظه 2 برابر سرعت واکشی اطلاعات از حافظه هایDDR شود. سرعت واکشی در حافظه هایDDR2 برابر 4 بیت در ثانیه می باشد.
نکته : حافظه هایDDR2 از سیستم انتقال اطلاعاتQuadruple Data Transfer (انتقال اطلاعات بصورت 4 مرتبه در هر سیکل) استفاده نمی کنند و در عمل از تکنولوژیDDR (انتقال اطلاعات بصورت 2 مرتبه در هر سیکل) استفاده می کنند. مشاهده می شود که در اغلب سایت ها سیستم انتقال اطلاعات در هر سیکل در حاظه هایDDR2 برابر 4 مرتبه انتقال اطلاعات و در حافظه هایDDR3 برابر 8 مرتبه انتقال اطلاعات ذکر می شود ولی در حال حاظر هر دو تکنولوژیDDR2 و DDR3 از سیستم انتقال اطلاعات برابر 2 مرتبه انتقال اطلاعات (تکنولوژی DDR) در هر سیکل استفاده می کنند. قابل ذکر است که در مادربرد هایی که ازFSB استفاده می کنند سیستم انتقال اطلاعات بصورتQuad می باشد.
در فرکانس و پهنای باند انواع حافظه هایDDR2 را نشان داده شده است. برای مثال حافظه های 1066 مگا هرتزی با مشخصهPC2-8500 با توجه به فرمول زیر می توانند حداکثر 8.5 گیگا بایت پهنای باند ایجاد کنند.
64*(2*533)/8=8.5 GB/S
ماژول هایDDR3
مخففDouble Data Rate 3 می باشد.
با تکنولوژی 90 نانو متری در اوایل سال 2005 و اواسط سال 2006 ساخته و به بازار عرضه شده اند.
حافظه های DDR3مانند حافظه های DDR و DDR2 برخلاف رویه 8 مرتبه انتقال اطلاعات در هر سیکل در عمل از 2 مرتبه انتقال اطلاعات در هر سیکل استفاده می کند.
حافظه هایDDR3 حافظه های 64 بیتی هستند.
ماژول هایDIMM در DDR3 دارای 240 پایه (پین) هستند.
ولتاژ مصرفی حافظه های DDR3 برابر 1.5 ولت می باشد.
از نظر ظاهری حافظه های DDR3دارای یک شیار هستند.
کمترین زمان تاخیر در حافظه های DDR3برابر 5 کلاک می باشد.
حافظه های DDR3 از یکسری حافظه های میانجی (Buffer) استفاده می کنند تا سرعت واکشی (Fetch) اطلاعات از حافظه 4 برابر سرعت واکشی اطلاعات از حافظه های DDR شود. سرعت واکشی در حافظه های DDR3 برابر 8 بیت در ثانیه می باشد.
با وجود عملکرد حافظه هایDDR3 در فرکانس بالاتر نسبت به حافظه هایDDR2 دارای مصرف ولتاژ پایین تری می باشند.
فرکانس و پهنای باند انواع حافظه هایDDR3 را نشان داده شده است. برای مثال حافظه های 1600 مگا هرتزی با مشخصهPC3-12800 با توجه به فرمول زیر می توانند حداکثر 12.8 گیگا بایت پهنای باند ایجاد کنند.
64*(2*800)/8=12.8 GB/S
حافظه هایGDDR وGDDR2 وGDDR3
حافظه های مورد استفاده در کارت گرافیک با حافظه های اصلی سیستم تفاوت هایی دارند. از جمله این تفاوت ها می توان به اختلاف ولتاژ مصرفی حافظه های سیستم و حافظه های گرافیک اشاره کرد. به خاطر تفاوت هایی از این دست تصمیم گرفته شد که نامگذاری حافظه های گرافیک را تغییر دهند و حرفG که مخفف Graphic می باشد را به اول حافظه ها اضافه کنند.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.