رفتن به مطلب

سه کاناله بودن يا نبودن!


 اشتراک گذاری

Recommended Posts

post-59-099436000 1315305522_thumb.jpg

حافظه يک سيستم همواره به عنوان يک عامل محدود‌کننده کارايي سيستم محسوب مي‌شود که اين موضوع به دليل سرعت پايين حافظه (تاخير خواندن و نوشتن از سلول‌هاي حافظه) نسبت به پردازنده است. در اکثر موارد به خاطر تاخير سلول‌هاي حافظه در خواندن و نوشتن داده‌ها، پردازنده ‌بايد منتظر رسيدن داده از حافظه بماند که اين موضوع زمان بيکاري (IDLE) بودن آن را افزايش مي‌دهد که نهايتاً به کاهش بهره‌وري (Utilization) پردازنده مي‌انجامد. وجود اين مشکل در سال‌هاي اخير سازندگان حافظه و پردازنده را بر آن داشته تا همواره دنبال راه‌هايي براي افزايش سرعت ارتباط حافظه و پردازنده مرکزي باشند که استفاده از فناوري DDR يا (Double Data Rate) و مشتقات آن (DDR2 ،DDR3 و …) را مي‌توان در همين راستا دانست. در اين فناوري هدف تسريع خود سلول‌هاي حافظه است به طوري که خواندن از آن يا نوشتن در آن زمان کمتري تلف کند اما بايد توجه داشت که اين فقط قسمتي از موضوع است. همان‌‌طور که مي‌دانيد حافظه توسط مداري به نام کنترل‌کننده حافظه (Memory Controller) کنترل مي‌شود. اين مدار در پردازنده‌هاي جديدIntel (معماري Nehalem) و پردازنده‌هاي Athlon64 شرکت AMD، درون خود پردازنده جاسازي شده است که به آن IMC يا (Integrated Memory Controller) مي‌گويند اما در پردازنده‌هاي قديمي‌تر هر دو شرکت، مدار کنترل‌کننده حافظه درون چيپ‌ست مادربورد (Northbridge) قرار داشت. يک کنترل‌کننده حافظه صرف نظر از اينکه کجا قرار داشته باشد، همواره با سه سري سيم (Bus) به حافظه‌هاي سيستم متصل است. اين سيم‌ها عبارتند از Address bus (براي آدرس‌دهي سلول مورد نظر در حافظه)، Data bus (براي انتقال‌داده‌ها به / از حافظه) و Control Bus (براي مشخص‌کردن عمليات مورد نظر، مانند خواندن يا نوشتن). البته سيگنال پالس ساعت (clock) نيز به صورت يک سيم جدا به حافظه متصل مي‌شود. تعداد خطوط باس آدرس و باس داده دو پارامتر مهم در تعيين حداکثر ظرفيت حافظه قابل پشتيباني توسط سيستم و سرعت انتقال داده‌ها بين پردازنده و حافظه است. بنابراين يکي از راه‌هاي افزايش سرعت ارتباط حافظه و پردازنده، افزايش پهناي باند اتصال حافظه به کنترل‌کننده آن است. (تصوير يک)

post-59-017048400 1315305551_thumb.jpg

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

ارزيابي سرعت انتقال داده بين حافظه و کنترل‌کننده آن

براي يک ماژول حافظه پارامتري به نام MTTR تعريف شود که سرنام عبارات Maximum Theoretical Transfer Rate است. اين پارامتر حداکثر سرعت انتقال داده بين حافظه و کنترل‌کننده آن (بر حسب مگابايت در ثانيه) است که البته کاملاً تئوري بوده و در عمل سرعت واقعي، به خاطر نبود امکان انتقال داده در همه سيکل‌ها، کمتر از اين مقدار است.

8 / تعداد بيت منتقل شده در هر سيکل ×تعداد دفعات انتقال داده در هر سيکل × فرکانس واقعي حافظه = MTTR

تعداد بيت منتقل شده در هر سيکل × فرکانس حالت دي دي ار = MTTR

توجه به اين نکته در اينجا ضروري است که در فناوري DDR ، داده در هر سيکل ساعت دوبار منتقل مي‌شود (يک بار در لبه بالا رونده پالس و بار ديگر در لبه پايين رونده). بنابراين فرکانس DDR دو برابر فرکانس واقعي ماژول حافظه است. مثلا سرعت واقعي يک ماژول DDR2-800 برابر 400 مگاهرتز است. به همين دليل فرمول اول يک پارامتر بيشتر از فرمول دوم دارد.

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

حافظه‌هاي چندکاناله؛ افزايش کارايي سيستم

در يک کنترل‌کننده حافظه معمولي، مقدار پارامتر تعداد بيت منتقل شده در هر سيکل (در فرمول MTTR) برابر 64 است. يعني اين کنترل‌کننده از طريق يک کانال داده با حافظه‌هاي سيستم در ارتباط است. تصوير 2 يک کنترل‌کننده حافظه مستقر در پردازنده را نشان مي‌دهد که از طريق باس داده (سيم‌هاي D01-D64) با حافظه سيستم در ارتباط است.

post-59-053250400 1315305571_thumb.jpg

حال اگر بخواهيم سرعت و کارايي ارتباط حافظه و کنترل‌کننده را بالا ببريم بدون آنکه در خود حافظه تغييري بوجود بياوريم، افزايش تعداد کانال‌هاي ارتباطي بين حافظه و کنترل‌کننده بهترين راه است. کنترل‌کننده‌هاي حافظه‌دوکاناله (Dual Channel) و سه‌کاناله (Tri channel يا Triple Channel) به همين دليل بوجود آمدند. از آنجا که سه‌کاناله فناوري جديدي است و نسخه مکمل و پيشرفته دو کاناله محسوب مي‌شود، در اينجا قصد داريم به معرفي ساختار و ويژگي‌هاي آن بپردازيم.

ابتدا شرکت اينتل در پردازنده‌هاي Core i7 (سري 9xx با کد Bloomfield و Gulftown) که در سوکت LGA1366 قرار مي‌گيرند، کنترل‌کننده حافظه سه‌کاناله را ارائه کرد. در اين روش ارتباط ماژول‌هاي حافظه و کنترل‌کننده، با سه کانال داده برقرار مي‌شود. به عبارت بهتر مي‌توان گفت به جاي يک باس داده، سه باس داده داريم که هر کدام 64 سيم دارند. در نتيجه تعداد بيت منتقل شده در هر سيکل برابر 192=3×64 خواهد شد. اين روش MTTR را نسبت به حالت تک‌کاناله سه برابر مي‌کند و کارايي ارتباط سيستم با حافظه را تا حد زيادي افزايش مي‌دهد. تصوير 3 اين موضوع را نشان مي‌دهد.

post-59-069273500 1315305587_thumb.jpg

حداکثر ظرفيت حافظه قابل پشتيباني توسط سيستم در حالت سه کاناله تفاوتي با حالت معمولي يا دو کاناله ندارد. زيرا همان‌طور که مي‌دانيد عامل تعيين‌کننده ظرفيت مجاز حافظه در هر سيستم، تعداد خطوط باس آدرس است (در يک سيستم با 32 سيم آدرس، حداکثر حافظه مجاز چهار گيگابايت خواهد بود.) اما مساله‌اي که در حافظه‌هاي چندکاناله بوجود مي‌آيد نحوه پر شدن سلول‌هاي حافظه است. در حالت تک‌کاناله، سلول‌هاي حافظه به صورت ترتيبي و پشت سر هم پر مي‌شوند و زماني که يک ماژول حافظه پر شد، داده‌ها در اولين خانه ماژول بعدي قرار مي‌گيرند يعني اگر در سيستم دو ماژول حافظه که هرکدام يک گيگابايت ظرفيت دارند نصب شده باشد، سلول‌هاي حافظه ماژول دوم از نظر فضاي آدرس در انتهاي ماژول اول قرار مي‌گيرند. اما در حالت چندکاناله (در حالت خاص، سه‌کاناله) با توجه به اينکه هر کانال داده به يک ماژول حافظه مجزا متصل است و باس آدرس بين تمام ماژول‌هاي حافظه مشترک است، استفاده از روش قبل کارايي سيستم را پايين مي‌آورد بنابراين از روشي به نام interleaving استفاده مي‌شود. در اين روش اگر يک کنترل‌کننده حافظه سه‌کاناله و سه ماژول مجزاي حافظه داشته‌باشيم، سلول‌هاي هم‌شماره ماژول‌هاي حافظه به ترتيب پر مي‌شوند.

يعني ابتدا سلول اول هر سه ماژول پر مي‌شود، سپس سلول دوم هر سه ماژول و اين روند تا آخر ادامه پيدا مي‌کند. تصوير 4 سه ماژول حافظه و نحوه پر و خالي شدن آنها در روش interleaving را نشان مي‌دهد.

post-59-057331000 1315305607_thumb.jpg

روش‌فعال‌سازي حالت سه کاناله (Triple Channel) در سيستم

براي اينکه بتوان از قابليت Triple Channel استفاده کرد، در ابتدا بايد مادربورد و پردازنده اين قابليت را پشتيباني کنند. در چنين مادربوردهايي، تعداد اسلات‌هاي قرارگيري حافظه مضرب 3 است که معمولاً هر گروه سه‌تايي از آنها به يک رنگ خاص هستند. اين رنگ نشان دهنده اين‌است که براي فعال شدن قابليت سه‌کاناله، بايد سه ماژول حافظه را در سه اسلات هم‌رنگ قرار داد. تصوير 5 يک مادربورد foxconn با چيپ‌ست X58 را نشان مي‌دهد که قابليت چندکاناله را پشتيباني مي‌کند. در مادربوردي مانند تصوير 5، فعال‌سازي سه‌کانال حافظه کار ساده‌اي است. کافي است سه ماژول حافظه از نوع DDR3 (قابليت سه کاناله فقط براي اين حافظه‌هاي ارائه شده‌است) با ظرفيت و سرعت يکسان را روي اسلات‌هاي هم‌رنگ نصب کنيم. در اين صورت حالت سه‌کاناله فعال شده و در زمان Boot، سيستم اين موضوع را اعلام مي‌کند.

post-59-095436600 1315305641_thumb.jpg

البته کنترل‌کننده‌هاي سه کاناله مي‌توانند در مدهاي ديگري (غير از سه‌کاناله) نيز فعاليت کنند. اگر فقط دو اسلات از سه اسلات حافظه يک مادربورد سه‌کاناله پر شود، در اين صورت اين دو ماژول حافظه در حالت دو کاناله (Dual Channel) کار خواهند کرد. همچنين اگر ماژول‌هاي هم‌ظرفيت در دسترس نباشد، مي‌توان از حالت دوکاناله يا سه‌کاناله در مد Flex استفاده کرد. مد Flex همان‌طور که از نام آن مشخص است، به يک کنترل‌کننده حافظه قابليت انعطاف مي‌دهد. در اين مد، مي‌توان دو ( يا سه) ماژول غير هم‌ظرفيت را در اسلات‌ها نصب کرد. کنترل‌کننده حافظه مقدار مشترک بين ماژول‌ها را به صورت دوکاناله (يا سه‌کاناله) استفاده مي‌کند و بقيه ظرفيت حافظه‌ها به صورت تک‌کاناله (Single Channel) استفاده مي‌شود. مثلاً اگر يک ماژول 512 مگابايتي و يک ماژول يک گيگابايتي داشته‌باشيد، اگر آنها را روي اسلات‌هاي هم‌رنگ نصب کنيد، مقدار 512 مگابايت از هرکدام از ماژول‌ها به صورت دوکاناله استفاده مي‌شود و 512 مگابايت باقي‌مانده تک‌کاناله خواهد شد.

ارزيابي بهبود کارايي کنترل‌کننده حافظه سه‌کاناله

با توجه به افزايش 50 درصدي پهناي باند حافظه (MTTR) در حالت سه‌کاناله (نسبت به دو کاناله) انتظار مي‌رود که در عمل نيز تقريباً به همين اندازه سرعت انتقال داده‌ها بين حافظه و کنترل‌کننده افزايش يافته باشد. اما تست‌هاي انجام شده توسط سايت Tom’s hardware نتايج جالب‌تري را نشان مي‌دهند. متخصصين اين سايت پهناي باند حافظه‌ها را در سه حالت تک‌کاناله، دوکاناله و سه‌کاناله روي پردازنده ‌Core i7 (که کنترل‌کننده سه کاناله دارد) اندازه‌گيري کرده‌اند و آن را با پهناي باند اندازه‌گيري شده در حالت دوکاناله روي پردازنده‌هاي ‍Core 2 Extreme QX9770 و Phenom X4 9550 Black Edition (که کنترل‌کننده حافظه ذاتاً دو کاناله‌است) ، مقايسه کرده‌اند. نتايج بدست آمده را در جدول 6 مي‌توانيد مشاهده کنيد.

post-59-082801000 1315305669_thumb.jpg

مقايسه پهناي باند Read (نوشتن)حالت دوکاناله در دو پردازنده Core i7 و Core 2 (که هر دو از حافظه DDR3-1333 استفاده کرده‌‌اند) نشان مي‌دهد که خود کنترل‌کننده حافظه علاوه بر افزايش تعداد کانال، تغييرات مهم ديگري نيز کرده‌است. البته يکي از دلايل دو برابر بودن پهناي باند Read دو کاناله در پردازنده Core i7 نسبت به Core 2 را مي‌توان قرار گرفتن کنترل‌کننده حافظه درون خود پردازنده در پردازنده‌هاي Nehalem شرکت اينتل دانست. مقايسه نتايج بدست آمده پردازنده Core i7 در حالت سه‌کاناله با حالت دوکاناله نشان ‌مي‌دهد که افزايش پهناي باند از آنچه که در حالت تئوري محاسبه مي‌شود بسيار کمتر است و حتي در مورد Write تغييري نشان نمي‌دهد. شايد براي حل اين موضوع بايد منتظر کنترل‌کننده حافظه با کارايي بالاتر باشيم.

اشاره: در مورد پردازنده ‌Phenom x4 بايد به اين موضوع توجه داشت که پردازنده‌هايي که در اين تست مورد استفاده قرار گرفته است قابليت پشتيباني از حافظه‌هاي DDR2 را دارد.

سه‌کاناله کردن حافظه‌ها را مي‌توان در واقع راهي براي بالابردن سرعت ارتباط حافظه‌ها، از طريق زياد کردن تعداد راه‌هاي ارتباطي حافظه و سيستم و استفاده بيشتر از ماژول‌هاي حافظه بطور همزمان، دانست. با توجه به افزايش مداوم سرعت حافظه‌ها و ارائه شدن ماژول‌هاي DDR4 توسط بعضي سازندگان حافظه، به نظر مي‌رسد در سمت مقابل نيز سازندگان کنترل‌کننده‌هاي حافظه نيز بيکار نمي‌نشينند و فناوري چهارکاناله (Quad Channel) را ارائه خواهند کرد. در اين صورت بايد منتظر يک رابط 256 بيتي براي انتقال داده باشيم که همراه سرعت بالاي 2400 مگاهرتز (حداکثر 4200 مگاهرتز) حافظه‌هاي DDR4، پهناي باند بسيار زيادي را براي ما به ارمغان بياورد.

منبع : الماس ایران

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...