Trance
06-01-09, 18:34
حافظه اصلي سيستم (RAM) يكي از مهمترين بخشهاي كامپيوتر است كه معمولاً توجه كمي به آن ميشود. پردازندههاي امروزي بسيار سريعتر از حافظهها هستند و معمولاً براي دسترسي به اطلاعات ذخيره شده در حافظه بايد زماني را در انتظار بمانند.
Only the registered members can see the link
حافظه اصلي سيستم (RAM) يكي از مهمترين بخشهاي كامپيوتر است كه معمولاً توجه كمي به آن ميشود. پردازندههاي امروزي بسيار سريعتر از حافظهها هستند و معمولاً براي دسترسي به اطلاعات ذخيره شده در حافظه بايد زماني را در انتظار بمانند.
در چنين مواقعي پردازنده در وضعيت بيكاري قرار ميگيرد و هيچگونه كاري انجام نميدهد (البته در عمل هيچگاه اتفاق نميافتد). اين موضوع سبب شده تا حافظه شبيه به يك گلوگاه شود و كارايي سيستم را تا حد زيادي محدود كند. بنابراين اگر بخواهيد كارايي پردازنده سيستم محدود نشود بايد حافظهاي سريعتر از پردازنده داشته باشيد.
Dual Channel روشي است كه سرعت ارتباطي بين كنترلركننده حافظه و حافظه را دو برابر ميكند و موجب بهبود كارايي سيستم ميشود. ما در اين مقاله هر آنچه كه لازم است در مورد فناوريDual Channel بدانيد را شرح خواهيم داد. چگونه كار ميكند؟ چگونه بايد پيكربندي كرد؟ و چگونگي محاسبه سرعت انتقال اطلاعات و... .
اجازه دهيد قبل از آنكه به بررسي نحوه عملكرد حافظههاي Dual Channel بپردازيم، در مورد نحوه ارتباط حافظه با سيستم توضيحاتي را ارائه دهيم. حافظه توسط مدارهايي كه كنترلر حافظه ناميده ميشوند كنترل ميشود.
اين مدارها بهطور كلي در سيستمهاي مبتني بر پردازندههاي اينتل در چيپست پل شمالي و در سيستمهاي مبتني بر پردازندههاي K8 شركت AMD در درون پردازنده قرار دارد. لازم به ذكر است كه اين كنترلر در پردازندههاي سري K7(بهعنوان مثال پردازندههاي سري Athlon XP) در چيپست پل شمالي قرار داشت.
حافظه به واسطه يك سري از سيمها به كنترلر حافظه متصل است. اين سيمها به سه گروه مختلف تقسيم ميشوند: داده، آدرس و كنترل. سيمهاي مربوط به باس داده، دادههاي خواندن و نوشتن را انتقال خواهند داد. در وضعيت خواندن، دادهها را از حافظه به كنترلر حافظه و سپس به پردازنده انتقال ميدهند و در وضعيت نوشتن، دادهها را از پردازنده به كنترلر حافظه و سپس به حافظه انتقال ميدهند.
Only the registered members can see the link (Only the registered members can see the link)
تصوير 1
سيمهاي مربوط به باس آدرس، مشخص ميكنند كه دادهها در كدام قسمت حافظه بايد نوشته شود و يا از كدام قسمت حافظه بايد خوانده شود. سيمهاي كنترل، فرمانها را به ماژول حافظه ارسال ميكنند و مشخص ميكنند كه اين دادهها چه نوع عملكردي را انجام دهند.
بهعنوان مثال تعيين ميكنند كه دادهها مربوط به عمليات خواندن يا نوشتن (ذخيرهكردن) هستند. در باس كنترل، سيمهاي مهم ديگري نيز رايج هستند كه مربوط به فركانس حافظه ميشوند.
شكل روبهرو بهطور مختصر تمامي موارد ذكر شده از جمله نحوه انتقال اطلاعات در يك سيستم مبتني بر اينتل را نمايش ميدهد. در پردازندههاي شركت 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 بيت اطلاعات انتقال پيدا ميكند. اين موضوع خيلي مهم است كه به نرخ انتقال اطلاعات از نظر تئوري توجه كنيد.
Only the registered members can see the link (Only the registered members can see the link)
تصوير 2
زمانيكه ما اين مقادير را محاسبه ميكنيم، ادعا ميكنيم كه اين ميزان انتقال اطلاعات در هر سيكل اتفاق خواهد افتاد، اما در حقيقت چنين انتقالي هيچگاه اتفاق نميافتد، زيرا پردازنده و كنترلر حافظه در هر زمان صد درصد اطلاعات را انتقال نميدهند.
بنابراين زمانيكه شما نرخ انتقال اطلاعات واقعي سيستم خود را توسط نرمافزاري مانند SiSoft Sandraاندازهگيري ميكنيد، هميشه مقاديري پايينتر از حداكثر نرخ انتقال اطلاعات تئوري به دست خواهيد آورد.
به اين نكته توجه كنيد كه اين افزايش كارايي صد درصدي تنها در زير سيستم حافظه اعمال ميشود و هيچگاه موجب افزايش كارايي صد درصد كل سيستم نخواهد شد. تنها درصد كمي از اين افزايش كارايي حافظه روي كل سيستم تأثير خواهد گذاشت.
يك كامپيوتر از قطعات متعددي تشكيل شده است كه افزايش كارايي يكي از اين قطعات حتي به ميزان دو برابر موجب افزايش كارايي كل سيستم به ميزان دو برابر نخواهد شد.
اكنون ما ميخواهيم جزئيات آنچه بهطور فيزيكي در باس داده حافظه اتفاق ميافتد را شرح دهيم، زيرا آنچه تاكنون توضيح دادهايم هيچگاه بهطور عملي اتفاق نخواهد افتاد.
عصر شبکه
Only the registered members can see the link
حافظه اصلي سيستم (RAM) يكي از مهمترين بخشهاي كامپيوتر است كه معمولاً توجه كمي به آن ميشود. پردازندههاي امروزي بسيار سريعتر از حافظهها هستند و معمولاً براي دسترسي به اطلاعات ذخيره شده در حافظه بايد زماني را در انتظار بمانند.
در چنين مواقعي پردازنده در وضعيت بيكاري قرار ميگيرد و هيچگونه كاري انجام نميدهد (البته در عمل هيچگاه اتفاق نميافتد). اين موضوع سبب شده تا حافظه شبيه به يك گلوگاه شود و كارايي سيستم را تا حد زيادي محدود كند. بنابراين اگر بخواهيد كارايي پردازنده سيستم محدود نشود بايد حافظهاي سريعتر از پردازنده داشته باشيد.
Dual Channel روشي است كه سرعت ارتباطي بين كنترلركننده حافظه و حافظه را دو برابر ميكند و موجب بهبود كارايي سيستم ميشود. ما در اين مقاله هر آنچه كه لازم است در مورد فناوريDual Channel بدانيد را شرح خواهيم داد. چگونه كار ميكند؟ چگونه بايد پيكربندي كرد؟ و چگونگي محاسبه سرعت انتقال اطلاعات و... .
اجازه دهيد قبل از آنكه به بررسي نحوه عملكرد حافظههاي Dual Channel بپردازيم، در مورد نحوه ارتباط حافظه با سيستم توضيحاتي را ارائه دهيم. حافظه توسط مدارهايي كه كنترلر حافظه ناميده ميشوند كنترل ميشود.
اين مدارها بهطور كلي در سيستمهاي مبتني بر پردازندههاي اينتل در چيپست پل شمالي و در سيستمهاي مبتني بر پردازندههاي K8 شركت AMD در درون پردازنده قرار دارد. لازم به ذكر است كه اين كنترلر در پردازندههاي سري K7(بهعنوان مثال پردازندههاي سري Athlon XP) در چيپست پل شمالي قرار داشت.
حافظه به واسطه يك سري از سيمها به كنترلر حافظه متصل است. اين سيمها به سه گروه مختلف تقسيم ميشوند: داده، آدرس و كنترل. سيمهاي مربوط به باس داده، دادههاي خواندن و نوشتن را انتقال خواهند داد. در وضعيت خواندن، دادهها را از حافظه به كنترلر حافظه و سپس به پردازنده انتقال ميدهند و در وضعيت نوشتن، دادهها را از پردازنده به كنترلر حافظه و سپس به حافظه انتقال ميدهند.
Only the registered members can see the link (Only the registered members can see the link)
تصوير 1
سيمهاي مربوط به باس آدرس، مشخص ميكنند كه دادهها در كدام قسمت حافظه بايد نوشته شود و يا از كدام قسمت حافظه بايد خوانده شود. سيمهاي كنترل، فرمانها را به ماژول حافظه ارسال ميكنند و مشخص ميكنند كه اين دادهها چه نوع عملكردي را انجام دهند.
بهعنوان مثال تعيين ميكنند كه دادهها مربوط به عمليات خواندن يا نوشتن (ذخيرهكردن) هستند. در باس كنترل، سيمهاي مهم ديگري نيز رايج هستند كه مربوط به فركانس حافظه ميشوند.
شكل روبهرو بهطور مختصر تمامي موارد ذكر شده از جمله نحوه انتقال اطلاعات در يك سيستم مبتني بر اينتل را نمايش ميدهد. در پردازندههاي شركت 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 بيت اطلاعات انتقال پيدا ميكند. اين موضوع خيلي مهم است كه به نرخ انتقال اطلاعات از نظر تئوري توجه كنيد.
Only the registered members can see the link (Only the registered members can see the link)
تصوير 2
زمانيكه ما اين مقادير را محاسبه ميكنيم، ادعا ميكنيم كه اين ميزان انتقال اطلاعات در هر سيكل اتفاق خواهد افتاد، اما در حقيقت چنين انتقالي هيچگاه اتفاق نميافتد، زيرا پردازنده و كنترلر حافظه در هر زمان صد درصد اطلاعات را انتقال نميدهند.
بنابراين زمانيكه شما نرخ انتقال اطلاعات واقعي سيستم خود را توسط نرمافزاري مانند SiSoft Sandraاندازهگيري ميكنيد، هميشه مقاديري پايينتر از حداكثر نرخ انتقال اطلاعات تئوري به دست خواهيد آورد.
به اين نكته توجه كنيد كه اين افزايش كارايي صد درصدي تنها در زير سيستم حافظه اعمال ميشود و هيچگاه موجب افزايش كارايي صد درصد كل سيستم نخواهد شد. تنها درصد كمي از اين افزايش كارايي حافظه روي كل سيستم تأثير خواهد گذاشت.
يك كامپيوتر از قطعات متعددي تشكيل شده است كه افزايش كارايي يكي از اين قطعات حتي به ميزان دو برابر موجب افزايش كارايي كل سيستم به ميزان دو برابر نخواهد شد.
اكنون ما ميخواهيم جزئيات آنچه بهطور فيزيكي در باس داده حافظه اتفاق ميافتد را شرح دهيم، زيرا آنچه تاكنون توضيح دادهايم هيچگاه بهطور عملي اتفاق نخواهد افتاد.
عصر شبکه