نقد و بررسی حافظههای DDR
در این مقاله از حل تلفنی مشکلات کامپیوتر هدف داریم با انواع حافظههای DDR، مشخصات فنی و نحوهی پیشه آنها اغلب آشنا شویم و نسلهای گوناگون این حافظهها از DDR لغایت DDR4 را بررسی و با یکدیگر از جنبههای گوناگون مقایسه خواهیم کرد. وانگهی اصطلاحات تخصصی حافظههای DDR همانند سرعت کلاک، نرخ انتقال داده، تاخیر و تایمینگ را بازبینی خواهیم کرد.
حافظهی DDR SDRAM یا به طور چکیده حافظههای DDR نوعی حافظهی گذرا با دسترسی تصادفی دینامیکی (SDRAM) است که در هر سیکل کلاک به جای یک یکتا داده، دو یکتا دیتا را جابهجا می کنند و لذا به آنها Double Data Rate یا به طور خلاصه DDR گفته می شود. این حافظهها جایگزین حافظههای قدیمی SDR SDRAM شده اند که در آنها در هر سیکل کلاک یک بیت داده منتقل میشد.
در حافظههای DDR یک واحد دیتا در هر خیز (Rise) کلاک و یک یکتا دیتا در هر افت (Down) کلاک جابهجا میشود؛ از این رو نرخ انتقال دادهی این حافظهها نسبت به حافظه های فاقد این ویژگی، در سرعت کلاک یکسان دو مساوی خواهد شد. بنابراین برچسب سرعتی که کمپانی های سازنده بر روی ماژولهای حافظه DDR میزنند، دو برابر سرعت کلاک واقعی آن حافظه است. به عنوان نمونه یک حافظهی DDR4-2133 با سرعت کلاک راستین 1066 مگاهرتز کار میکند، ولی شرکت سازنده سرعت کلاک آن را 2133 مگاهرتز اعلام میکند.
گاه به سرعت درج شده بر روی ماژولِ حافظهی DDR سرعت کارساز نیز میگویند. در این مقاله نیز برای سادگی، سرعت درج شده بر روی ماژول فیزیکی حافظهی DDR را سرعت کارساز و سرعت کلاکی که حافظه عملاً با آن کار میکند، سرعت واقعی خواهیم خواند.
البته باید دانست سرعت کلاکی که برای هر حافظهی DDR قید میشود، حداکثر سرعت آن حافظه بوده و هیچ تضمینی هستی ندارد که حافظهی موردنظر به طور اتوماتیک و به شکل استوار با آن سرعت شغل کند. برای مثال اگر یک حافظهی DDR2-1066 را بر روی سوکتی نصب نماییم که در آن امکان کار با نرخ کلاک واقعی 400 مگاهرتز ( یا 800 مگاهرتز DDR) وجود داشته باشد، بیشینه سرعت کارساز قابل دستیابی برای این ماژول حافظه 800 مگاهرتز است؛ چرا که سیگنال کلاک بدست کنترلر حافظه که در تو پردازنده و در خارج از ماژول قرار گرفته پیشبینی و تامین میشود و این کنترلر بیشینه توانایی پردازش دادهها با نرخ کلاک 400 مگاهرتز در خروجی ماژول را دارد (عموماً کنترلرهای حافظهی DRAM یا به چهره یکپارچه درون پردازنده پیمان دارد یا در تراشهی موسوم به پل شمالی مادربرد مستقر شده اند).
با پروا به اینکه در هر سیکل کلاک 2 بیت داده در حافظههای DDR رد و بدل میشود، با ضرب سرعت واقعی کلاک در عدد 2، تعداد دادهی انتقال یافته (Transfer) در هر ثانیه نیز به دست میآید که با یکتا میلیون انتقال بر ثانیه (MT/s) ذکر میشود و گاه این عدد به عنوان جایگزین سرعت کلاک کارساز حافظهی DDR اعلام میشود.
روش نامگذاری حافظههای DDR
برای نامگذاری تراشههای حافظهی موجود در یک ماژول از عبارت DDRx-yyyy کاربرد می شود که در آن حرف x نشاندهندهی نسلِ حافظه (نظیر DDR2 یا DDR3) و عدد yyyy گویای سرعت کلاک موثر حافظهی مورد عقیده است. ولی برای نامگذاری خود ماژولهای حافظه (DIMM) از عبارت PCx-zzzz استفاده میشود که در آن حرف x مفتوح هم نشاندهندهی دودمان حافظهی DDR است و شماره zzzz بیشینه نرخ انتقال دادهی آن ماژول حافظه را ذکر می کند.
برای محاسبهی حداکثر نرخ انتقال دادهی یک ماژول حافظه، سرعت موثر آن حافظهی DDR را در عدد 64 ضرب و سپس برای تبدیل حاصل به بایت بر 8 تقسیم میکنند (عدد 64 در این رابطه پهنای باس ماژولهای حافظهی DIMM مورد بهرهگیری در کامپیوترهای شخصی است، ماژولهای DIMM دادهها را در بستههای 64 بیتی انتقال میدهند). به عبارت سایر و به سادگی، اگر نرخ کلاک کارساز یک حافظهی DDR را در شماره هشت ضرب کنیم، بیشینه نرخ انتقال دادهی آن ماژول حافظه محاسبه میشود. حداکثر نرخ انتقال دادهی یک ماژول در فصل مشترک کنترلر حافظه و ماژول را میتوان پهنای باند آن ماژول در نظر گرفت.
حداکثر نرخ انتقال دادهی ماژول حافظه = سرعت موثر ماژول × 8
برای نمونه اگر بر روی ماژول حافظه عبارت DDR3-1333 درج شده باشد، این حافظه از دودمان سوم حافظههای DDR بوده و سرعت کلاک کارساز آن 1333 مگاهرتز است. بنابراین، حداکثر نرخ انتقال دادهی این حافظه از ضرب عدد 1333 در عدد 8 به دست میآید که حاصل 10666 مگابایت در هر ثانیه خواهد بود، لذا این ماژول حافظه با نام PC3-10666 تعریف میشود که این عبارت همراه با اسم تراشهی حافظهی باره بهرهگیری (DDR3-1333) بر روی برچسب ماژول درج می شود. گاه شماره به دست آمده رند میشود و مثلاً به جای عدد 10666، ماژول حافظه با عنوان PC3-10600 معرفی میشود.
باید توجه داشت که سرعت و نرخ انتقال دادهی بیان شده بر روی برچسبهای حافظهی DDR، حداکثر سرعت و نرخ انتقال دادهی آن ماژول است و شدنی است دسترسی به این اعداد به لحاظ محدودیتهای مادربرد عملاً امکانپذیر نباشد. از طرفی برای محاسبهی این اعداد و ارقام فرض بر این است که در هر سیکل کلاک میانی تراشه و کنترلرِ حافظه دادههایی رد و بدل شود که معمولا چنین اتفاقی نمیافتد؛ چرا که در بعضی سیکل ها به جای انتقال داده، دستورالعملها و فرامینی وسط کنترلر و تراشه جابهجا میشود. برای مثال گاه فرمانی از سوی کنترلر در بعضی سیکلها به ماژول ارسال میشود تا دیتا های اندوخته شده در محل خاصی از حافظه را تحویل کنترلر دهد و در این گونه موارد دادهای بین کنترلر و تراشه جابهجا نمیشود.
مقایسه گونه ها حافظههای DDR
سرعت کلاک و نرخ انتقال داده
تا به امروز چهار نسل از حافظه های DDR دربرگیرنده DDR3، DDR2، DDR و DDR4 ارائه شده است. تفاوت اصلی میان نسلهای مختلف حافظههای DDR بیشینه نرخ انتقال دادهای است که در هر دودمان از این تراشه ها قابل دستیابی است. به عنوان مثال بیشینه نرخ انتقال دادهی حافظه DDR3 مساوی است با 12800MB/s و بیشینه نرخ انتقال دادهی یک ماژول DDR2 مساوی است با 8533MB/s.
باید توجه داشت که امکان دارد بعضی از سازندگان ماژولهایی با سرعتهای بالاتر از استانداردهای فوق در هر نسل DDR ارائه دهند که این سرعتهای بالاتر فقط از طریق اورکلاک ماژول قابل دستیابی است و به طور عادی مادربرد، خروجی ماژول حافظه را روی آن سرعت تنظیم نمیکند. به عنوان مثال فرض کنید که یک ماژول حافظهی DDR3-2133 یا PC3-17064 خریداری و آن را بر روی سوکت DDR3 سیستم خویش نصب کردهاید. عدد 2133 بیشینه سرعت کلاک کارساز این ماژول است و بسامد کلاکی که این ماژول در شرایط عادی با آن پیشه میکند، عددی کوچکتر است.
ماژولهای DDR3 عموماً با سرعت موثر استاندارد 1333 مگاهرتز (سرعت واقعی 666 مگاهرتز) شغل میکند و برای رسیدن به سرعت کارساز 2133 مگاهرتز ( سرعت راستین 1066 مگاهرتز در چهره پشتیبانی مادربرد) باید به صورت دستی حافظهی رم را اورکلاک کرد. برای اورکلاک حافظهی DDR باید از حمایت مادربرد از آن میزان بسامد قصد اطمینان حاصل کرد و حتیالامکان از حافظههایی بهرهگیری کرد که با تجهیز به خنککنندهی پسندیده امکان دفع گرما مازاد تراشههای DDR را داشته باشد. محدودهی سرعت کلاک موثر در نسل های گوناگون DDR به اضافهی محدوده قابل دستیابی طی اورکلاک در شکل زیر بهتر دیده میشود.