مقالات تخصصی
آیا می دانید تفاوت میان DDR، DDR2 و DDR3 چیست؟
در این مطلب آموزشی قصد داریم شما را با تفاوتهای اصلی انواع مموری شامل DDR، DDR2 و DDR3 آشنا نماییم.
پیش از شروع مبحث لازم است که نگاهی داشته باشیم به مشخصات کلی مموریها. هر سه این حافظهها از نوع خاصی از حافظههای SDRAM (یا حافظه دستیابی تصادفی پویای همگام) هستند بدان معنا که از نوعی سیگنال زمانبندی شده (Clock Signal) برای یکسانسازی اطلاعات استفاده میکند. کلمه DDR از عبارت Double Data Rate یا نرخ دوبرابری داده گرفته شده است. این نوع حافظهها در هر چرخه کلاک دو واحد داده را منتقل میکنند؛ بدان معنا که از لحاظ عملکردی دوبرابر سریعتر از حافظههایی هستند که دارای همین سرعت کلاک میباشند (و از آن جمله میتوان به SDRAMها اشاره نمود که دیگر برای انواع PC قابل دسترسی نیستند).
به موجب همین قابلیت (یعنی انتقال دو برابری داده در یک بازه زمانی) معمولا حداکثر نرخ کلاک این دادهها دوبرابر میزان واقعی اعلام و روی محصول برچسب گذاری میشود. برای مثال حافظههای DDR2-800 دارای سرعت کلاک 400 مگاهرتز میباشد و سرعت کلاک DDR2-1066 و DDR3-1066 نیز برابر با 533 مگاهرتز میباشد و حافظههای DDR3-1333 نیز با سرعت کلاک 666.6 مگاهرتز کار میکنند.
لازم به یادآوری است که این سرعتها، حداکثر میزانی است که حافظه میتواند از آن استفاده نماید. با این حال، این مسأله به هیچ وجه به معنای این نیست که حافظه به صورت خودکار در آن «سرعتها» کار میکند. برای مثال اگر یک DDR2-1066 را روی سیستمی نصب کرده باشید که تنها میتواند با سرعت 400 مگاهرتز (800 MHz DDR) به زیرسیستمهای حافظه دسترسی داشته باشید، سرعت دسترسی پردازنده به حافظه کامپیوتر همان 400 مگاهرتز خواهد بود (یعنی برابر با 800 MHz DDR) و نه 533 مگاهرتز (1066 MHz DDR). علت این مسأله هم آن است که سیگنال کلاک از طریق کنترلر حافظه مشخص میشود که نوعی مدار در خارج از مموری است (این کنترلر هم یا در داخل CPU قرار دارد یا روی یکی از چیپهای مادربرد).
این سیستم نام گذاری یعنی DDRx-yyy (که در آن منظور از X نسل فناوری و Y سرعت کلاک DDR میباشد. برای مثال DDR2-1066 همان DDR نسل دوم است که سرعت کلاکی برابر با 1066 مگاهرتز دارد.) به صورت نظری تنها برای چیپهای حافظه مورد استفاده قرار میگیرد. در ماژولهای حافظه یا همان بردهای مداری که چیپهای حافظه روی آنها لحیم میشود از سیستم نامگذاری دیگری استفاده میشود: در این سیستم مشخصات ماژول به صورت PCx-zzzz اعلام میشود که در آن X همان نسل فناوری است و zzzz نیز حداکثر سرعت نظری انتقال داده (حداکثر پهنای باند) است. این عدد به شما میگوید که در هر ثانیه چند بایت داده میان کنترلر و ماژول حافظه منتقل میشود و فرض هم بر آن است که در هر پالس کلاک، دادهها میان این دو قسمت جابجا میشود. برای به دست آوردن این رقم کافی است که سرعت کلاک DDR به مگاهرتز در رقم 8 ضرب شود؛ در واقع درستترین روش آن است که سرعت کلاک را در رقم 64 ضرب و سپس باقی مانده را به 8 تقسیم نمایید که نتیجه هر دو تقریبا یکی است. با انجام این عملیات به حداکثر سرعت انتقال داده ماژول با واحد مگابایت بر ثانیه دست پیدا خواهید کرد.
بگذارید یک مثال برای شما بیاوریم. فرض کنید رم شما از نوع DDR2-800 است. برای به دست آوردن حداکثر سرعت انتقال داده آن کافی است عدد 800 را در 8 ضرب نمایید که حاصل برابر با 6400 خواهد شد، در نتیجه ماژول حافظهای که برای این رم مناسب است از نوع PC2-6400 خواهد بود. لازم به یادآوری است که در برخی موارد رقم حاصل گرد میشود، برای مثال حداکثر سرعت نظری انتقال داده یک رم DDR3-1333 برابر با 10666 مگابایت بر ثانیه است. ماژولهای حافظهای که از این نوع مموری استفاده میکنند PC3-10666 یا PC3-10600 خوانده میشوند که این نام بسته به کارخانه تولید کننده متغیر خواهد بود.
باز هم لازم به یادآوری است که این ارقام، صرفا ارقام نظری هستند و هیچگاه در واقعیت محقق نمیشوند. این مسأله هم دلایل ریاضی دارد. فرض ما این است که مموری در هر چرخه کلاک دادهها را برای کنترلر حافظه ارسال میکند که این مسأله در اصل رخ نمیدهد. کنترلر و مموری باید فرامین را با یکدیگر مبادله کنند (برای مثال، یک فرمان به مموری دستور میدهد تا داده های ذخیره شده را به یک موقعیت مشخص برساند) و در طول این زمان مموری دادهها را منتقل نمیکند.
حال که با اطلاعات اولیه در مورد حافظههای DDR را فرا گرفتید، بگذارید در مورد مشخصات هر یک سخن بگوییم.
سرعتها
یکی از تفاوتهای اصلی میان DDR، DDR2 و DDR3 بالاترین میزان سرعت انتقال داده آنهاست. برخی تولیدکنندگان میتوانند چیپهای حافظهای را ارائه نمایند که سرعتی فراتر از میزان اعلام شده کمپانی داشته باشد: برای مثال مموریهایی که برای اورکلاکرها ارائه میشوند از این دست هستند. مموریهایی که سرعت کلاکشان به عدد 33 و 66 مگاهرتز ختم میشود گرد شده ارقام 33.3333 و 66.6666 هستند.
ولتاژها
حافظههای DDR3 با ولتاژ پایینتری نسبت به انواع DDR2 کار میکنند و انواع DDR2 هم در مقایسه با DDR به ولتاژ پایینتری نیاز دارند. این بدان معناست که حافظههای DDR3 مصرف برق پایینتری نسبت به انواع DDR2 دارند و همین مسأله در مورد انواع DDR2 و DDR صادق است.
در واقع ولتاژ مورد نیاز حافظههای DDR برابر با 2.5V میباشد و حافظههای DDR2 برابر با 1.8V و انواع DDR3 نیز 1.5V ولتاژ نیاز دارند (هرچند که در حال حاضر بیشتر ماژولهایی که به ولتاژ 1.6V یا 1.65V نیاز دارند مرسوم میباشند و چیپهایی که به ولتاژ 1.35V نیاز دارند احتمالا در آینده متداول میشود). برخی ماژولهای حافظه ممکن است به ولتاژهای بالاتری نسبت به آنچه در بالا گفته شد نیاز داشته باشند. این مسأله به خصوص در مورد مموریهایی رخ میدهد که سرعت کلاکشان بالاتر از میزان رسمی اعلام شده توسط کمپانی سازنده است.
دوره تأخیر پاسخ دهی یا لتنسی (Latency)
لتنسی در واقع مدت زمانی است که کنترلر حافظه باید بین درخواست اطلاعات و ارسال آن منتظر بماند. این فاکتور معمولا با عنوان CAS یا LC بیان میشود و منظور از آن نیز در واقع همان تعداد چرخههای کلاک است. برای مثال، منظور از CL3 در اطلاعات اعلام شده برای یک مموری آن است که کنترلر حافظه باید تا سه چرخه کلاک منتظر بماند تا دادهها پس از دریافت درخواست ارسال شوند. در یک مموری با CL5 نیز کنترلر حافظه باید مدت زمان بیشتری را منتظر بماند که برابر است با 5 چرخه کلاک. بنابراین بهتر است همواره به دنبال مموریهایی باشید که دوره تأخیر پاسخ دهی کوتاهتری دارند.
حافظههای DDR3 نسبت به انواع DDR2 دارای دوره تأخیر پاسخ دهی بیشتری هستند و انواع DDR2 نیز نسبت به مدلهای DDR تأخیر بیشتری دارند که این مسأله لزوما به معنای طولانیتر بودن زمان انتظار نیست (این مسأله تنها در زمان مقایسه مموریهای مختلف آن هم زمانی که با سرعت کلاک یکسان عمل میکنند صادق خواهد بود).
برای مثال یک رم DDR2-800 CL5 تأخیر زمانی کمتری (یعنی سریعتر) برای شروع ارسال داده نسبت به یک رم DDR3-800 CL7 دارد. با این همه، چون هردوی آنها از نوع حافظههای 800 مگاهرتزی هستند، حداکثر سرعت نظری انتقال دادهشان (6400 مگابایت بر ثانیه) نیز یکسان است. علاوه بر این، لازم به یادآوری است که حافظههای DDR6 مصرف برق کمتری نسبت به انواع DDR2 دارند.
زمانی که در مقام مقایسه ماژولهای حافظه با سرعت کلاکهای مختلف بر میآییم، باید بتوانیم یک معادله ساده ریاضی را حل کنیم تا بهتر قادر به مقایسه تأخیر پاسخدهی آنها باشیم. توجه داشته باشید که بحث در مورد چرخه کلاک است. هرچه سرعت کلاک بالاتر باشد، هر چرخه کلاک کوتاهتر خواهد بود (یعنی در بازه زمانی کوتاهتری رخ میدهد). برای مثال در یک مموری DDR2-800 هر چرخه کلاک در حدود 2.5 نانو ثانیه (هر نانوثانیه برابر با 0.000000001 ثانیه است) طول میکشد. معادله ساده است: بازه زمانی برابر است با 1 تقسیم بر فرکانس. (توجه داشته باشید که در این فرمول سرعت کلاک واقعی را استفاده نمایید نه کلاک DDR). برای آسانتر شدن مسأله، جدول زیر را برای شما آماده کرده ایم. زمان انتظار اولیه برای مموری DDR2-800 با CL5 برابر با 12.5 نانو ثانیه است (2.5X5). حال تصور کنید که یک مموری DDR3-1333 با CL7 داشته باشیم. با این حافظه هر چرخه کلاک دارای دوره تأخیر پاسخدهی 1.5 نانو ثانیه خواهد بود (به جدول زیر رجوع نمایید)، بنابراین حداکثر زمان انتظار (لتنسی) برابر با 10.5 نانو ثانیه (1.5×7) خواهد بود. حتی اگر در ظاهر، دوره تأخیر پاسخدهی این مموری نسبت به مدل قبلی بیشتر به نظر می آید (7 در مقایسه با 5) زمان انتظار کوتاهتر خواهد بود. بنابراین تصور نکنید که حافظههای DDR3 دوره تأخیر پاسخدهی بیشتری دارند چراکه این مسأله به سرعت کلاک مموری شما بستگی دارد.
به طور معمول تولیدکنندگان زمانبندیهای مربوط به مموری را در قالب تعدادی عدد بیان میکنند که با استفاده از – از هم جدا میشوند (مثلا 5-5-5-5 یا 10-10-10-7). در این زنجیره عددی، دوره تأخیر پاسخدهی معمولا نخستین رقم است. به مثالهای ذکر شده در شکل 3 و 4 توجه نمایید.
DDR2-1066 با CL5
DDR3-1066 با LC7
انتقال اطلاعات
مموریهای داینامیک یا پویا دادهها را در داخل صفحهای متشکل از خازنهای کوچک ذخیره میکنند. این حافظهها دو بیت داده را در هر چرخه کلاک از صفحه خازنی به بافر داخلی I/O منتقل میکنند که به این فرایند، انتقال دو بیتی گفته میشود. در مموریهای DDR2 این مسیر داخلی انتقال داده به چهار بیت افزایش داده شد و بعدها به 8 بیت رسید. در واقع علت آنکه انواع DDR3 با سرعت کلاک بالاتری نسبت به انواع DDR2 کار میکنند همین مسأله است.
سرعت کلاکی که تا به حال از آن صحبت کردیم به محیط خارجی مربوط میشود (یعنی در اینترفیس I/O مموری یا همان موقعیتی که ارتباط میان مموری و کنترلر رخ میدهد) اما عملکرد مموری در داخل اندکی فرق دارد.
برای درک بهتر این موضوع، بگذارید مقایسهای میان DDR-400 و DDR2-400 و DDR3-400 انجام دهیم. (ما میدانیم که در واقعیت DDR3-400 وجود خارجی ندارد اما تصور میکنیم که این نوع حافظه وجود دارد). این سه چیپ به صورت خارجی در هر چرخه کلاک دو واحد داده را با سرعت 200 مگاهرتز منتقل میکنند و در نتیجه عملکرد بیرونیشان به گونهای است که انگار با سرعت 400 مگاهرتز کار میکنند. اما در داخل، چیپ DDR دو بیت داده را میان صفحه مموری و بافر I/O منتقل میکند بنابراین برای آنکه این مسیر داده مطابقت بیشتری با سرعت اینترفیس I/O داشته باشد باید با سرعت 200 مگاهرتز (200 MHzx2=400 MHz) کار کند. همین مسأله در مورد انواع DDR3 صادق است. در این نوع حافظه مسیر داده مجددا دوبرابر شده و به 8 بیت رسید و به همین دلیل میتواند با نصف سرعت کلاک DDR2 (یعنی یک چهارم سرعت DDR) کار کند و همان عملکرد را از خود نشان دهد (50 MHzx8= 400 MHz).
هر بار که نسل جدیدی از مموری به بازار عرضه میشود، ظرفیت مسیر انتقال داده نیز دو برابر میشود و این بدان معناست که میتوان پیشبینی کرد که نسل بعدی مموریهای عرضه شده به بازار سرعتی در حدود دوبرابر نسل قبلی خود داشته باشند.
پایانه مقاومتی (Resistive Termination)
در حافظههای DDR، پایانه مقاومتی مورد نیاز روی مادربرد قرار گرفته است در حالی که در حافظههای DDR2 و DDR3 این پایانه در داخل چیپ مموری قرار دارد (که به این تکنیک ODT هم گفته میشود).
این کار با هدف «پاکسازی» سیگنالها انجام میشود. در شکل 5، میتوانید سیگنالهایی که به چیپ حافظه میرسند را مشاهده نمایید. در سمت چپ، سیگنالهای موجود روی سیستمی را میبینید که از پایانه مادربرد استفاده میکنند (مموریهای DDR)، در حالی که در سمت راست سیگنالهای موجود روی سیستمی را مشاهده میکنید که از فناوری ODT استفاده میکنند (مموریهای DDR3 و DDR2). حتی یک فرد آماتور هم میتواند ببیند که سیگنالهای موجود در سمت راست تمیزتر بوده و از ثبات بیشتری نسبت به سیگنالهای سمت چپ برخوردار است. در مربع زرد رنگ نیز میتوانید به خوبی تفاوت چهارچوبهای زمانی را مشاهده نمایید. این چهارچوب زمانی در واقع همان زمانی است که مموری برای خواندن یا نوشتن داده نیاز دارد. با استفاده از پایانه ODT این محدوده زمانی بیشتر میشود و سرعت کلاک نیز افزایش مییابد چون مموری زمان بیشتری را برای خواندن و نوشتن داده در اختیار دارد.
مشخصات فیزیکی
در پایان، به بحث تفاوت فیزیکی میرسیم. چیپهای حافظهای که میخرید روی یک برد مداری به نام ماژول مموری لحیم میشوند. ماژولهای مموری برای هر نسل از DDR از لحاظ ظاهری با یکدیگر فرق دارند، بنابراین، به عنوان مثال نمیتوان یک ماژول DDR2 را در سوکت DDR3 قرار داد. چنانچه مادربرد شما از هر دو ماژول DDR2 و DDR3 پشتیبانی نکند نمیتوانید سیستم خود را بدون تعویض مادربرد و در نهایت CPU از DDR2 به DDR3 منتقل نمایید. ماژولهای DDR2 و DDR3 دارای پینهای یکسان هستند اما برش مهم روی بدنه این دو در دو بخش متفاوت قرار دارد.
تفاوت لبه های DDR و DDR2
تفاون لبه های DDR2 و DDR3
در تمامی چیپهای DDR2 و DDR3 از بسته بندی BGA (یا سطح مشبک توپی) استفاده میشود، در حالی که در انواع DDR این بخش از نوع TSOP است، با این حال تعداد کمی از انواع DDR با بسته بندی BGA (تولید کینگ مکس) در بازار موجود است که چندان مرسوم نیستند. در شکل زیر میتوانید تفاوت آنها را مشاهده نمایید.
چیپ های DDR اغلب دارای بسته بندی TSOP هستند
چیپهای DDR2 و DDR3 اغلب دارای بسته بندی BGA هستند.