زمان تاخیر پایین یا فرکانس بالای حافظه؟


قبل از شروع بحث ابتدا لازم مي‌دانيم برخی از اصطلاحات مرتبط با ماژول‌های حافظه را به طور مختصر تشریح کنیم تا در ادامه مقاله دید وسیع‌تری نسبت به مطالب داشته باشید.

 

همانطور که مي‌دانيد در کامپیوتر و به طور کلی در سیستم‌های ارتباطی دیجیتال، تمامي ‌ارتباطات توسط سیگنال کلاک (Clock Signal) صورت مي‌گیرد. زمانی که طول مي‌کشد هر سیگنال کلاک، بازه زمانی بین حالت Low و High (حالت صفر منطقی تا يک منطقی) را طی کند، زمان تناوب یا T مي‌نامند (شکل۱). از طرفی به تعداد نوسانات در واحد زمان (ثانیه)، فرکانس يا F گفته مي‌شود.

 

شکل ۱

 

همانطور که در شکل ۱ مشاهده مي‌کنید، هر چه فرکانس (F) افزایش یابد، زمان تناوب سیگنال (T) نیز کاهش مي‌يابد.

در ارتباطات بسیار پیچیده بین حافظه، کنترلر حافظه و پردازنده نیز به دلیل وجود محدودیت‌های سخت‌افزاری نظیر ایدآل نبودن سرعت سوئیچ میلیون‌ها ترانزیستور به کار رفته در قطعات نام برده و فناوري‌هاي تخشخیص خطا (ECC) و …، همواره مقداری تاخیر (تعدادی سیکل کلاک) بین درخواست‌ها و دریافت‌های مختلف بین قطعات نام برده وجود دارد. به این تاخیر‌ها اصلاحاً تایمینگ مي‌گویند (شکل ۲).

 

شکل ۲

 

شاید بارها در ماژول‌های حافظه به عباراتی مانند ۲۰-۷-۷-۷ یا ۲۴-۹-۹-۹ یا CL5 یا CL9 و … برخورده باشید. این مقادیر استاندارد تایمینگ‌های تست شده توسط ماژول مورد نظر را تعیین مي‌کنند و عباراتی مثل PC3-8500 یا PC3-12800 و … استاندارد فرکانس کاری ماژول را مشخص مي‌کنند.

برای مثال در بازار کنونی، یک ماژول استاندارد PC3-10600 با فرکانس کاری (I/O Bus Clock)1333MHz و تایمینگ ۲۴-۹-۹-۹ راه‌اندازی مي‌شود. استاندارد‌های JEDEC در مورد ماژول‌های DDR3 مطابق جدول ۱ است.

 

 

تا این جا مفهوم تایمینگ را به صورت سطحی تشریح کردیم. در ادامه تعدادی از مهم‌ترین اصطلاحات را نام برده و مختصرا در مورد هر یک توضیح خواهیم داد.

برای درک بهتر موضوع، بهتر است چنین تصور کنید که داده‌ها در یک تقاطع به صورت سطری و ستونی قرار گرفته‌اند. در این صورت تعاریف کلی هر یک از مولفه‌های به کار رفته در شکل ۳ به شرح زیر خواهد بود:

 

شکل ۳

 

CMD) Command Rate): مدت زمان بين درخواست اطلاعات توسط کنترلر حافظه و فعال شدن Memory Chip مورد نظر و ارسال اطلاعات درخواست شده به پردازنده است . اگر مقدار این مولفه ۱ باشد، تنها یک سیکل کلاک لازم است تا این فرآیند صورت گیرد و اگر مقدار این مولفه ۲ باشد، طی ۲ سیکل کلاک این فرآیند تکمیل مي‌شود.

(CAS Latency (CL: مدت زمان تاخير بين درخواست اطلاعات از طرف CPU تا ارسال اطلاعات از طرف ماژول حافظه است (زمان بين درخواست CPU و ارسال داده از طرف حافظه).

(Delay RAS to CAS (tRCD: زمان بين فعال‌سازي سطر (RAS) تا فعال‌سازي ستون (CAS)؛ مکان ماتریسی كه اطلاعات در آن ذخيره شده است.

tRP) RAS Precharge Delay): زماني كه طول مي‌كشد تا دسترسي به سطر فعلي غيرفعال شده و دسترسي به سطر ديگر فعال گردد.

tRAS) Active To Precharge Delay): مدت زماني كه حافظه بايد صبر كند تا دسترسي بعدي به آن آغاز شود.

برای مثال برای حافظه‌ای که فرکانس نامي ‌آن ۶۶۷MHz Real)1333MHz) و CL آن ۹ است، زمان تاخیر CAS Latency مطابق شکل ۴ محاسبه مي‌شود:

 

شکل ۴

 

در واقع به صورت تئوری ۱۳٫۵ نانو ثانیه طول مي‌کشد تا اطلاعات درخواست شده توسط پردازنده از طرف حافظه ارسال شود.

واضح هست اگر هر یک از مقادیر تایمینگ کمتر باشد، با کاهش زمان تاخیر در تبادل اطلاعات، کارآیی کلی سیستم افزایش خواهد یافت.

شاید دانستن این موضوع برای شما نیز جالب باشد که در استاندارد ساخت چيپ‌هاي حافظه DDR3 با ولتاژ استاندارد ۱٫۵V SSTL فرکانس‌های بالاتر از ۱۶۰۰MHz وجود خارجی ندارند!

و از آن جالب‌تر نیز این موضوع است که حتی درصد زیادی از حافظه‌های DDR3 1333MHz با زمان تاخیر پایین و به خصوص مدل‌های با فرکانس‌های بالاتر از DDR3 1600MHz موجود در بازار، در واقع مدل‌های اورکلاک شده با چیپ‌های DDR3 1066 و DDR3 1333MHz هستند!

حال شاید این سوال در ذهن شما ایجاد شود که چگونه چنین امری امکان دارد و چه عامل یا عواملی، پایداری ماژول‌هایی را که به صورت کارخانه‌ای با فرکانس‌های بالاتر و تایمینگ‌های پایین‌تر از مقادیر نامي‌ راه‌اندازی مي‌شوند، تضمین مي‌کند؟

جواب این سوال تا حدودی پیچیده و در عین حال ساده است! چندین عامل مهم در شکل‌گیری چنین فرآیندی نقش محوری دارند:

 

سازندگان چيپ‌هاي حافظه اغلب در کاتالوگ محصولات خود هیچ گونه خنک‌کننده‌ای را الزاما در نظر نمي‌گیرند. در واقع اگر مونتاژکنندگان ماژول‌های حافظه چيپ‌ها را در فرکانس، تایمینگ و ولتاژ نامي ‌خودشان راه‌اندازی کنند، هیچ نیازی به تعبیه خنک‌کننده (هیت‌سینک) نخواهد بود.

اما بسیاری از کمپانی‌های معتبر مونتاژ ماژول‌های حافظه، با تعبیه هیت‌سینک‌های آلومینیومي گران‌قیمت، علاوه بر اینکه ظاهری بسیار شکیل به محصولات خود مي‌بخشند، تا حدودی حرارت اضافی ناشي از اورکلاک آنها را نيز کنترل مي‌کنند.

 

اغلب اوقات یک برد مدار چاپی ۶ لایه با کیفیت معمولی (از نظر کیفیت برد، درصد خلوص مس به کار رفته در ميسر‌ها و عرض ‌مسيرهای تغذیه‌کننده جریان مصرفی چیپ‌ها) ملزومات راه‌اندازی یک ماژول با مشخصات فنی استاندارد را فراهم مي‌سازد.

اما همین PCB ممکن است در فرکانس‌های بالا و تایمینگ‌های پایین، که متعاقبا نیاز به ولتاژ راه‌اندازی بیشتر از مقدار استاندارد دارد، در درازمدت جواب‌گوی کار نباشد. بنابراين مونتاژکنندگان چنین ماژول‌هایی از PCB با تعداد لایه‌های بیشتر (۸ لایه) و با کیفیت ساخت بالاتر استفاده مي‌کنند تا پایداری ماژول را در درازمدت تضمین نمایند.

 

کمپانی‌های صاحب نام در مونتاژ ماژول‌های حافظه، در برخی از مدل‌های با فرکانس‌های فوق‌العاده بالا (برای مثال در مدل‌های DDR3، بالاتر از ۲۰۰۰MHz) از چيپ‌هايي با کیفیت ساخت فوق‌العاده استفاده مي‌کنند. این چیپ‌ها معمولاً به صورت محدود و با قیمت نسبتا بالاتر از چیپ‌های عادی به فروش مي‌رسند.

 

براي تست عملی در این مقاله از ۳ نوع ماژول ۴GB ( 2x2GB) مختلف از مدل‌های اورکلاک شده کمپانی A-DATA و سیستم مبتنی بر پردازنده اینتل لابراتوار بهره گرفتيم.

مشخصات فنی ماژول‌ها و سیستم تست به شرح زیر است:

 

۲ x 2GB PC-10700 DDR3 1333+ CL7 (20-7-7-7)
2 x 2GB PC-12800 DDR3 1600+ CL8 (24-8-8-8)
2 x 2GB PC-16000 DDR3 2000X CL9 (24-9-9-9)

 

جدول ۲: مشخصات سيستم تست

 

نکته مهم: چون در این پلتفرم مقدار Memory Multiplier حداکثر ۱۲ است، بنابراين در صورت استفاده از حافظه‌های با فرکانس بیشتر از ۱۶۰۰ مگاهرتز، به ناچار مجبور به افزایش فرکانس BCLK از ۱۳۳ مگاهرتز به ۱۶۶ مگاهرتز خواهیم بود.

چون با افزایش فرکانس BCLK، فرکانس گذرگاه QPI نیز افزایش خواهد یافت و افزایش فرکانس این گذرگاه در افزایش پهنای باند حافظه نقش به سزایی خواهد داشت و به نوعی استاندارد تست‌های این مقاله را کاهش خواهد داد، بنابراين برای حل این مشکل در همه مدل‌ها فرکانس BCLK را ۱۶۶ مگاهرتز تنظیم کرده و با انتخاب Multiplier Memory مناسب سعی بر آن شد تا هر ۳ ماژول در فرکانسی نزدیک به فرکانس نامي ‌خودشان فعالیت کنند. در شکل ۵ و ۶ مي‌توانید فرکانس‌های ماژول‌ها، فرکانس گذرگاه QPI و هسته پردازنده را مشاهده کنید.

 

شکل ۵

 

شکل ۶

 

تست Memory Read و Memory Write نرم‌افزار معتبر Everest با تمامي‌کنترلر‌های حافظه سازگاری کامل دارد. این تست همچنین با تمامي‌ ملحقات دستورالعمل‌های x86 ، MMX، ۳DNow!، SSE و  SSE2يا  SSE4.1سازگاری کامل داشته و چون ثابت شده تست‌های Multithread مرتبط با پهنای باند حافظه، مقادیری بیش از مقدار واقعی را نشان مي‌دهند، به صورت Single Thread اقدام به ارزیابی پهنای باند حافظه مي‌کند. این تست، اطلاعات ۱۶ مگابايتي را که به مقادیر يک مگابايتي تقسیم شده‌اند، از حافظه اصلی به پردازنده منتقل مي‌کند.

همانطور که در شکل ۷ مي‌بينيد و در ابتدای مقاله نيز به آن اشاره شد، با ثابت نگاه داشتن فرکانس هسته پردازنده و فرکانس BCLK در هر ۳ ماژول، نتایج مرتبط با پهنای باند نوشتن در حافظه (Memory Write) تقریباً ثابت مانده است.

از طرفی افزایش کارآیی در تست پهنای باند خواندن از حافظه (Memory Read) کاملاً مشهود است. در واقع فرکانس کاری بالا تاثیر بیشتری نسبت به زمان تاخیر پایین در تست‌های پهنای باند حافظه از خود نشان داده است!

 

شکل ۷

 

Memory Latency ، براي سنجش و نمونه‌برداری از مقدار زمان تاخیری است که طی آن پردازنده داده‌ها را از حافظه اصلی مي‌خواند. در واقع این پارامتر مدت زماني است که طول مي‌کشد پردازنده داده‌ها را از حافظه درخواست کند تا آن داده‌ها به رجیستر‌های Integer پردازنده برسند. هر چه این زمان کمتر باشد، عملکرد بهتری را نیز شاهد خواهیم بود.

 این تست نیز همانند تست Memory Read با بیشتر ملحقات دستورالعمل‌های x86، MMX، ۳DNow!، SSE، SSE2 يا SSE4.1 سازگاری کامل داشته و فقط از یک Thread در جریان تست استفاده مي‌کند.

شاید با دیدن نتایج شکل ۸ تعجب کنید! همانطور که مشاهده مي‌شود، باز هم نتایج فرکانس بالا نسبت به تایمینگ پایین، برتری دارد. همانطور که در ابتدای مقاله اشاره شد، علت این امر فرکانس کاری بالا است.

برای مثال در مدل DDR3 2000MHz CL9 فرکانس بالای I/O Clock که با کاهش زمان دوره تناوب همراه است، هم به صورت تئوری و هم به صورت عملی زمان تاخیر کمتری را نسبت به مدل DDR3 1333MHz ثبت کرده است.

برای محاسبه زمان تاخیر تئوری یکی از مولفه‌ها خودتان دست به کار شوید و طبق فرمول بسیار ساده‌ای که در ابتدای مقاله اشاره شد، Latency را محاسبه کنید.

 

شکل ۸

 

در این تست‌ها از نرم‌افزار‌های معتبر بنچ مارک نظیر ۳DMARK Vantage ، PCMARK Vantage، SIS SANDRA، Everest و دو گيم پرطرفدار بازار (Crysis و Resident Evil 5) استفاده کردیم. نتایج مطابق جدول ۳ است.

 

جدول ۳

 

نتایج به روشنی حاکي از آن است که اختلاف کارآیی کلی سیستم در هیچ یک از تست‌های متعارف و معمول حتی نزدیک به ۳% نیز نمي‌رسد! در واقع در بسیاری از تست‌ها مي‌توان از اختلاف‌هایی که مشاهده مي‌شود، صرف نظر کرد!

 

در این مقاله سعي داشتيم تا به صورتی ساده شما را با اصطلاحات ابتدایی به کار رفته در مباحث حافظه آشنا سازیم تا برای رسیدن به هدف نهایی این مقاله مسیر هموارتری را طی کنیم. همانطور که در تست‌ها ملاحظه کردید، با وجود اختلاف کارآیی فاحش در تست پهنای باند خالص حافظه، در هیچ یک از تست‌های کارآیی کلی سیستم، به هیچ وجه اختلاف قابل توجهی مشاهده نشد.

علت اصلی آن است که در بسیاری از نرم‌افزار‌های کاربردی کنونی نقش سرعت حافظه بسیار کم‌رنگ‌تر از عوامل دیگر است. امری که در بسیاری از اوقات به آن توجه نمي‌شود و کاربر علي‌رغم هزینه‌های بالایی که برای خرید حافظه‌های گران‌قیمت اورکلاک شده صرف مي‌کند، از عملکرد کلی سیستم رضایت ندارد.

در صورتی که با خرید حافظه‌هایی با فرکانس‌های کاری استاندارد و قیمت کمتر و اعمال هزینه برای تهیه پردازنده یا کارت گرافیک قدرتمندتر به وضوح افزایش کارآیی بالاتری را تجربه خواهد کرد.

در پایان به شما توصیه مي‌کنيم اگر بودجه محدودی را برای خرید سیستم در نظر گرفته‌ايد، ماژول‌هایی با فرکانس استاندارد و قیمت مناسب خريداري کنيد و با توجه به نوع کاربرد، روي قطعات دیگر سیستم، نظیر پردازنده، کارت گرافیک و مادربورد تمرکز کنيد.

از طرفی اگر به دنبال بهترین‌ها به هر قیمتی هستید، مدل‌هايی با فرکانس کاری بیشتر (حتی با زمان تاخیر بالا) را به مدل‌هایي با فرکانس کاری کمتر و زمان تاخیر پایین‌ترجیح دهید.

 



منبع: ماهنامه رايانه خبر