راه نجات؛ نگاهي به فناوري Dual Channel
حافظه اصلی سیستم (RAM) یكی از
مهمترین بخشهای كامپیوتر است كه معمولاً توجه كمی به آن میشود.
پردازندههای امروزی بسیار سریعتر از حافظهها هستند و معمولاً برای
دسترسی به اطلاعات ذخیره شده در حافظه باید زمانی را در انتظار بمانند.
در چنین مواقعی
پردازنده در وضعیت بیكاری قرار میگیرد و هیچگونه كاری انجام نمیدهد
(البته در عمل هیچگاه اتفاق نمیافتد). این موضوع سبب شده تا حافظه شبیه
به یك گلوگاه شود و كارایی سیستم را تا حد زیادی محدود كند. بنابراین اگر
بخواهید كارایی پردازنده سیستم محدود نشود باید حافظهای سریعتر از
پردازنده داشته باشید.
Dual Channel روشی است كه سرعت ارتباطی بین كنترلركننده حافظه و حافظه را
دو برابر میكند و موجب بهبود كارایی سیستم میشود. ما در این مقاله هر
آنچه كه لازم است در مورد فناوریDual Channel بدانید را شرح خواهیم داد.
چگونه كار میكند؟ چگونه باید پیكربندی كرد؟ و چگونگی محاسبه سرعت انتقال
اطلاعات و... .
اجازه دهید قبل از
آنكه به بررسی نحوه عملكرد حافظههای Dual Channel بپردازیم، در مورد
نحوه ارتباط حافظه با سیستم توضیحاتی را ارائه دهیم. حافظه توسط مدارهایی
كه كنترلر حافظه نامیده میشوند كنترل میشود.
این مدارها بهطور كلی در سیستمهای مبتنی بر پردازندههای اینتل در
چیپست پل شمالی و در سیستمهای مبتنی بر پردازندههای K8 شركت AMD در
درون پردازنده قرار دارد. لازم به ذكر است كه این كنترلر در پردازندههای
سری K7(بهعنوان مثال پردازندههای سری Athlon XP) در چیپست پل شمالی
قرار داشت.
حافظه به واسطه یك سری از سیمها به كنترلر حافظه متصل است. این سیمها به
سه گروه مختلف تقسیم میشوند: داده، آدرس و كنترل. سیمهای مربوط به باس
داده، دادههای خواندن و نوشتن را انتقال خواهند داد. در وضعیت خواندن،
دادهها را از حافظه به كنترلر حافظه و سپس به پردازنده انتقال میدهند و
در وضعیت نوشتن، دادهها را از پردازنده به كنترلر حافظه و سپس به حافظه
انتقال میدهند.
سیمهای
مربوط به باس آدرس، مشخص میكنند كه دادهها در كدام قسمت حافظه باید
نوشته شود و یا از كدام قسمت حافظه باید خوانده شود. سیمهای كنترل،
فرمانها را به ماژول حافظه ارسال میكنند و مشخص میكنند كه این دادهها
چه نوع عملكردی را انجام دهند.
بهعنوان مثال تعیین میكنند كه دادهها مربوط به عملیات خواندن یا نوشتن
(ذخیرهكردن) هستند. در باس كنترل، سیمهای مهم دیگری نیز رایج هستند كه
مربوط به فركانس حافظه میشوند.
شكل روبهرو بهطور مختصر تمامی موارد ذكر شده از جمله نحوه انتقال
اطلاعات در یك سیستم مبتنی بر اینتل را نمایش میدهد. در پردازندههای
شركت AMD كنترلر حافظه درون پردازنده قرار دارد و بنابراین باس حافظه بدون
هیچگونه واسطهای مستقیماً به پردازنده متصل است. (تصویر یک)
سرعت حافظه (فركانس
حافظه)، حداكثر میزان حافظه پشتیبانی شده و نوع حافظه (DDR2 ،DDR و DDR3)
توسط چیپست در سیستمهای مبتنی بر پردازندههای اینتل و در سیستمهای
مبتنی بر پردازندههای K8 شركت AMD، توسط پردازنده مشخص میشود.
بهعنوان مثال سیستمهای مبتنی بر پردازندههای اینتل به دلیل آنكه
چیپست مادربورد تعیین كننده نوع حافظه است، قادر به پشتیبانی از
حافظههای DDR3 هستند، در حالیكه سیستمهای مبتنی بر پردازندههای AM2
شركت AMD از آنجا كه كنترلر حافظه درون آنها نمیتواند حافظههای DDR3 را
شناسایی كند، در حال حاضر قادر به پشتیبانی از این حافظهها نیستند.
كنترلر حافظه تنها میتواند یك فركانس تولید كند. بنابراین اگر روی سیستمی
كه دارای كنترلر حافظه با فركانس 667 مگاهرتز (2×333 مگاهرتز) است حافظه
DDR2 800 مگاهرتزی قرار گیرد تنها با فركانس 667 مگاهرتز عمل خواهد كرد.
معمولاً این محدودیت كنترلر حافظه تنها در سیستمهای مبتنی بر
پردازندههای اینتل مشاهده میشود.
بهطوریكه پردازنده شركت AMD قادر به پشتیبانی از حافظههای DDR2 800
(پردازندههای مبتنی بر سوكت AM2) یا حداكثر حافظههای DDR2 1066
(پردازندههای مبتنی بر سوكت +Phenom AM2) هستند. موضوع جالب توجه دیگر
مربوط به حداكثر میزان حافظهای است كه سیستم میتواند تشخیص دهد.
بیشتر پردازندههای اینتل دارای باس آدرس حافظه 32 یا 36 بیتی هستند
(منظور باس آدرس درون باس خارجی پردازنده FSB است). این موضوع سبب میشود
تا پردازنده به ترتیب قادر به تشخیص حداكثر 4 (32ّ2) و 64 گیگابایت
(36ّ2) حافظه باشد، اما از آنجا كه كنترلر حافظه دسترسی به حافظه را تعیین
میكند (نه مستقیماً پردازنده) این موضوع موجب محدودیت حداكثر میزان حافظه
مورد پشتیبانی میشود.
بهعنوان مثال چیپستهای سری P35 و G33 شركت اینتل میتوانند حداكثر از
هشت گیگابایت حافظه (دو گیگابایت در هر سوكت حافظه) پشتیبانی كنند.
سازندگان مادربوردها ممكن است برای كاهش هزینه ساخت و تولید مادربوردهای
ارزانقیمتتر مادربوردهای تنها با دو سوكت حافظه تولید كنند. این موضوع
موجب میشود تا مادربوردهای مبتنی بر این چیپستها به جای هشت گیگابایت
تنها از چهار گیگابایت حافظه (دو گیگابایت در هر درگاه حافظه و جمعاً چهار
گیگابایت) پشتیبانی كنند.
به دلیل اینكه همه انواع ماژولهای حافظه قابل دسترس امروزی 64 بیتی
هستند، بنابراین عرض باس حافظه 64 بیت است. فناوری Dual Channel در حقیقت
به این بخش از معماری حافظه توجه كرده است و باس حافظه را از 64 بیت به
128 بیت افزایش داده است.
Dual Channel چیست؟
كنترلر حافظه یك چیپست اگر به جای یك عرض باس داده 64 بیتی از یك عرض باس
داده 128 بیت استفاده كند، در اصطلاح دارای قابلیت Dual Channel است. به
عبارت سادهتر مادربوردهایی كه دارای چیپستی با كنترلر حافظه 128 بیتی
هستند از قابلیت Dual Channel پشتیبانی میكنند. توسط این فناوری نرخ
انتقال اطلاعات بهطور تئوری به میزان دو برابر افزایش پیدا میكند.
حداكثر نرخ انتقال اطلاعات تئوری (MTTR) از روش زیر محاسبه میشود:
8/ تعداد بیت منتقل شده در هر سیکل× تعداد دفعات انتقال در هر سیکل × فرکانس واقعی= MTTR
8/ تعداد بیت انتقال داده شده در هر سیکل × فرکانس MTTR=DDR حافظههای DDR
حافظههای
مبتنی بر فناوری Double Data Rate) DDR) مانند DDR-SDRAM ،DDR2-SDRAM و
DDR3-SDRAM میتوانند در هر سیكل دو مرتبه اطلاعات را انتقال دهند، اما
حافظههای سنتی SDRAM تنها میتوانند در هر سیكل یك مرتبه انتقال اطلاعات
انجام دهند. با توجه به این موضوع حافظههای مبتنی بر معماری DDR معمولاً
با دو برابر فركانس واقعی شناسایی میشوند.
بهعنوان مثال یك حافظه DDR2 800 دارای فركانس 400 مگاهرتز است. بنابراین
در فرمول اول باید در قسمت «تعداد دفعات انتقال در هر سیكل» عدد دو را
برای حافظههای سری DDR قرار دهید و در صورت استفاده از فرمول دوم لازم
است آنچه روی حافظه نوشته شده (بهعنوان مثال DDR2 800 عدد 800) را قرار
دهید.
با توجه به فرمولهای ذكر شده در بالا نرخ انتقال اطلاعات در یك حافظه
DDR2 800 برابر با 6400 مگابایت بر ثانیه است. اگر توجه كرده باشید برخی
از سازندگان حافظهها، ماژولهای حافظه DDR2 800 خود را تحت نام PC2-6400
عرضه میكنند.
اگر فناوری Dual Channel همراه با ماژولهای حافظه DDR2 800 به كار گرفته
شود، حداكثر نرخ انتقال اطلاعات تئوری حافظه دو برابر خواهد شد و از 6400
مگابایت بر ثانیه به 12800 مگابایت بر ثانیه افزایش پیدا میكند. دلیل این
موضوع نیز كاملاً روشن است، زیرا در هر سیكل به جای 64 بیت، 128 بیت
اطلاعات انتقال پیدا میكند. این موضوع خیلی مهم است كه به نرخ انتقال
اطلاعات از نظر تئوری توجه كنید.
تصویر 2
زمانیكه ما
این مقادیر را محاسبه میكنیم، ادعا میكنیم كه این میزان انتقال اطلاعات
در هر سیكل اتفاق خواهد افتاد، اما در حقیقت چنین انتقالی هیچگاه اتفاق
نمیافتد، زیرا پردازنده و كنترلر حافظه در هر زمان صد درصد اطلاعات را
انتقال نمیدهند.
بنابراین زمانیكه شما نرخ انتقال اطلاعات واقعی سیستم خود را توسط
نرمافزاری مانند SiSoft Sandraاندازهگیری میكنید، همیشه مقادیری
پایینتر از حداكثر نرخ انتقال اطلاعات تئوری به دست خواهید آورد.
به این نكته توجه كنید كه این افزایش كارایی صد درصدی تنها در زیر سیستم
حافظه اعمال میشود و هیچگاه موجب افزایش كارایی صد درصد كل سیستم نخواهد
شد. تنها درصد كمی از این افزایش كارایی حافظه روی كل سیستم تأثیر خواهد
گذاشت.
یك كامپیوتر از قطعات متعددی تشكیل شده است كه افزایش كارایی یكی از این
قطعات حتی به میزان دو برابر موجب افزایش كارایی كل سیستم به میزان دو
برابر نخواهد شد.
اكنون ما میخواهیم جزئیات آنچه بهطور فیزیكی در باس داده حافظه اتفاق
میافتد را شرح دهیم، زیرا آنچه تاكنون توضیح دادهایم هیچگاه بهطور
عملی اتفاق نخواهد افتاد.
ابتدا به بررسی سیستمی
میپردازیم كه از خصوصیت Dual Channel پشتیبانی نمیكند (یك سیستم تك
كاناله Single Channel). زمانیكه میگوییم عرض باس حافظه 64 بیت است، این
موضوع به این معنی است كه بین كنترلر حافظه و درگاههای حافظه 64 عدد سیم
وجود دارد. به عبارت سادهتر كنترلر حافظه توسط 64 عدد سیم به سوكتهای
حافظه متصل شده است. این سیمها از D0 تا D63 نامگذاری میشوند.
تصویر 3
بهطور كلی باس
داده بین درگاههای حافظه تقسیم میشوند. باسهای كنترل و آدرس روی سوكت
حافظه مناسب، در صورتی فعال خواهند شد كه مشخص باشد آدرس در كدام قسمت
باید اطلاعات را ذخیرهكند یا از كجا خوانده شود. شكل روبهرو این موضوع
را بهطور واضح نمایش میدهد.
سیستمهایی كه از
فناوری Dual Channel پشتیبانی میكنند دارای عرض باس حافظه 128 بیتی
هستند. بنابراین 128 سیم برای اتصال كنترلر حافظه و سوكت حافظه وجود دارد.
این سیمها از D0 تا D127 نامگذاری میشوند. از آنجا كه هر یك از
ماژولهای حافظه میتوانند تنها 64 بیت داده را در هر سیكل انتقال دهند،
دو ماژول حافظه برای پر كردن باس داده 128 بیتی مورد نیاز است.
بهطور كلی برای آنكه فناوری Dual Channel فعال شود نیاز به تعداد ماژولهای حافظه به صورت زوج است.
اگر سیستم شما از فناوری Dual Channel پشتیبانی كند، اما تنها یك ماژول
حافظه روی آن قرار گیرد، بهطور قطع این فناوری عمل نخواهد كرد، زیرا در
هر سیكل تنها 64 بیت داده انتقال پیدا میكند.
دو یا چهار ماژول حافظه برای آنكه بتوانند به صورت Dual Channel عمل كنند
باید دارای ظرفیت، زمانبندی و فركانس یكسان باشند. (تصویر سه)
فعال كردن حالت Dual Channel
برای فعال كردن Dual Channel نیاز به پشتیبانی چیپست و مادربورد (در
سیستمهای مبتنی بر پردازندههای اینتل) و پشتیبانی پردازنده (درسیستمهای
مبتنی بر پردازندههای AMD) و دو یا چهار ماژول حافظه یكسان سازگار با
حافظه مورد پشتیبانی توسط مادربورد DDR-SDRAM ،DDR2-SDRAM و DDR3-SDRAM)
دارید.
پردازندههای شركت AMD مبتنی بر سوكت 939، 940، +AM2، AM2 و F (همچنین
مادربوردهای سوكت 462 كه دارای چیپست nForce2 هستند) از فناوری Dual
Channel پشتیبانی میكنند. برای سیستمهای مبتنی بر پردازندههای اینتل
نیز لازم است كه به دفترچه راهنمای مادربورد یا وبسایت سازنده مادربورد
مراجعه كنید.
اگر تنها
یك ماژول حافظه داشته باشید، نمیتوانید از فناوری Dual Channel استفاده
كنید. بنابراین اگر قصد دارید سیستمی تهیه كنید كه دو گیگابایت حافظه
داشته باشد بهتر است دو عدد ماژول یك گیگابایتی به جای یك ماژول دو
گیگابایتی داشته باشید، زیرا در این صورت میتوانید از ویژگی Dual Channel
كه موجب افزایش كارایی میشود، استفاده كنید.
اگر مادربورد شما تنها دو اسلات حافظه داشته باشد برای فعال كردن ویژگی
Dual Channel باید درون هر دو اسلات، ماژول حافظه قرار دهید.
مادربوردهایی كه دارای چهار اسلات حافظه هستند روشهای متفاوتی برای فعال
كردن ویژگی Dual Channel دارند.
اگر شما چهار ماژول حافظه یكسان داشته باشید، با قرار دادن آنها روی چهار
اسلات حافظه میتوانید از ویژگی Dual Channel استفاده كنید، اما اگر
دارای دو ماژول حافظه هستید باید به روش زیر عمل كنید. (تصویر چهار و پنج)
در مادربوردهای مبتنی
بر پردازندههای اینتل باید یكی از حافظهها را در اسلات یك و دیگری را
در اسلات سه یا یكی از حافظهها را درون اسلات دو و دیگری را در اسلات
چهار قرار دهید. بیشتر سازندگان مادربوردها با رنگبندی متفاوت نحوه قرار
دادن حافظهها را مشخص كردهاند.
برای استفاده از پیكربندی Dual Channel در این مادربوردها لازم است كه حافظهها را در اسلاتهای همرنگ قرار دهید.
توجه: پیكربندی Dual Channel در بعضی مادربوردها مطابق روش ذكر شده در
بالا نیست و برای فعال شدن حالت دو كاناله باید حافظه را روی اسلاتهای یك
و دو یا سه و چهار قرار داد. (تصویر شش)
اجازه دهید اكنون
توضیحات فنی بیشتری ارائه كنیم. اسلات یك و دو بهطور فیزیكی متصل به
كانال A هستند، در صورتیكه اسلات سه و چهار متصل به كانال Bهستند.
زمانیكه شما ماژولهای حافظه را روی اسلات یك و سه یا دو و چهار نصب
میكنید یعنی شما هر ماژول حافظه را روی یك كانال متفاوت نصب كردهاید،
بنابراین هر دو باس 64 بیتی فعال میشوند و عرض باس حافظه به 128 بیت
افزایش پیدا میكند.
اگر شما حافظهها را درون كانالهای یكسان قرار دهید (نصب كردن حافظهها
روی كانال یك و دو یا سه و چهار) كنترلر حافظه تنها یك باس 64 بیتی را
خواهد دید و بنابراین سیستم در وضعیت Single Channel عمل میكند.
فعال
كردن قابلیت Dual Channel روی سیستمهای مبتنی بر پردازندههای AMD كمی
متفاوت است. برای فعال كردن قابلیت Dual Channel در مادربوردهای مبتنی بر
پردازندههای AMD نیز باید از حافظههای یكسان و یك جور استفاده كرد، اما
با این تفاوت كه در این مادربوردها اسلاتها به صورت یك در میان با یكدیگر
Dual Channelنمیشوند.
به عبارت سادهتر برای پیكربندی Dual Channel در تمامی مادربوردهای AMD
(شامل MSI) باید حافظهها را درون اسلاتهای همرنگ قرار داد.
در شكل روبهرو یك مادربورد مبتنی بر پردازندههای AMD كه اسلات یك و دو
آن زرد و اسلات سه و چهار آن بنفش است نمایش داده شده است. برای پیكربندی
Dual Channel در این مادربورد تنها لازم است كه حافظهها را درون
اسلاتهای همرنگ قرار داد. (تصویر هفت و هشت)
بررسی فعال شدن Dual Channel
بعد
از پیكربندی Dual Channel لازم است بررسی شود كه آیا حافظهها در این
وضعیت عمل میكنند یا خیر ؟ بیشتر مادربوردهای رایج، اطلاعات مربوط به
وضعیت Dual Channel را در صفحه POST (صفحه سیاه رنگی كه بعد از روشن كردن
سیستم دیده میشود و مشخصات پردازنده، مادربورد، میزان حافظه و
هارددیسكها را نمایش میدهد) نشان میدهند.
در این صفحه در
صورتیكه مادربورد در وضعیت Dual Channel قرار گرفته باشد، عبارت Dual
Channel و در غیر اینصورت عبارت Single Channel نمایش داده خواهد شد.
(تصویر نه)
تصویر 10
روش دیگر، استفاده از
برنامههای تشخیص مشخصات سخت افزار است. ما توصیه میكنیم از نرمافزار
CPU-Zبرای بررسی اطلاعات مربوط به حافظه استفاده كنید.
در این برنامه و در
منوی Memory گزینهای به نام #Channels وجود دارد. در صورتیكه جلوی این
گزینه عبارت Dual درج شده باشد به این معنی است كه سیستم در وضعیت Dual
Channel عمل میكند.
در این منو همچنین میتوان اطلاعاتی در مورد فركانس حافظه و نحوه زمانبندی آن به دست آورد.
لازم به ذكر است كه در
بخش فركانس حافظه، فركانس واقعی حافظه نمایش داده میشود كه باید ضربدر
عدد دو (در صورت استفاده از حافظههای خانواده DDR) شود.
در شكل زیر فركانس حافظه مورد استفاده ما 333 نمایش داده شده است، اما در حقیقت این حافظه یك DDR2 667 است. (تصویر ده)
سه شنبه 25 آبان 1389 2:27 AM
تشکرات از این پست