چه کسی حافظه مرا خورد؟
هفته نامه بزرگراه فناوری – تا بهحال فکر کردهاید که چه کسی قطعات حافظه را کنترل میکند. قطعات آرزو دارند که از زیر بار فشار حاصل از پردازش شانه خالی کنند، اما حافظههای حیوونکی این آرزو را با خود به گور خواهند برد چراکه تا عمل پردازش وجود دارد، سیستم نیازمند محلی برای ذخیره موقت دادهها خواهد بود.
فقط برای یادآوری عرض میکنم که مادربردها از دو تراشه (Chip) با نامهای پل شمالی (Northbridge) و پل جنوبی (Southbridge) برای کنترل عملیات پردازشی و تبادل اطلاعات بین دستگاهها و قطعات مرتبط با سیستم استفاده میکنند. اگر به طرز قرارگیری مادربرد در داخل بدنه سیستم دقت کرده باشید، ملاحظه خواهید کرد که یکی از این دو تراشه در بالا و دیگری در پایین قرار میگیرند.
فکر میکنم دلیل نامگذاری این دوتراشه موقعیت قرارگیری آنها باشد. در بین این دو، پل شمالی که بیشتر به چیپست مادربرد معروف است، نقش فرماندهی سیستم را برعهده داشته و پل جنوبی در نقش معاون ایشان ایفای نقش میکند. حافظهها بهصورت کامل توسط چیپست اصلی کنترل و مدیریت میشوند.
به بیان دقیقتر قسمتی از چیپست مادربرد، وظیفه کنترل فعالیتهای مرتبط با حافظه و مدیریت رابطه حافظه با پردازنده را برهده دارد. پردازنده برای دسترسی به هر بخش از حافظه، درخواست خود را بهصورت کتبی خدمت چیپست اصلی تقدیم کرده تا این امکان مهیا شود. لازم به ذکر است که موارد درخواستی پردازنده توسط چیپست از حافظه دریافت و تحویل پردازنده خواهند شد.
تمام مادربردهای مبتنی بر پردازندههای Intel از این شیوه استفاده میکنند. اما شرکت AMD همزمان با معرفی پردازندههای 64 بیتی Athlon64 تغییر جالبی در این شیوه اعمال کرد، بدینصورت که کنترلگر حافظه را از داخل چیپست اصلی مادربرد خارج و آن را به داخل پردازنده منتقلکرد تا پردازنده، دسترسی مستقیم به محتویات حافظه داشته باشد. با این شیوه، AMD واسطهگری و حقدلالی چیپست اصلی را قطع کرد و با این کار افزایش زمان دسترسی به دادههای ذخیره شده بر روی تراشههای حافظه را توسط پردازنده موجب شد.
در همان زمان شرکت nVIDIA طی یک فرصتطلبی رندانه، بساط عیش و طرب چیپست جنوبی (معاون کلانتر) را در مادربردهای مبتنی بر پردازندههای 64 بیتی AMD بر باد داد و اعلام کرد که برای مدیریت تمام قطعات و دستگاههای مرتبط با سیستم از یک چیپست منفرد استفاده خواهد کرد و البته این کار را نیز عملی کرد. اقدام nVIDIA نهتنها خللی به کیفیت سیستمهای مبتنی بر پردازندههای 939 پینی و 64 بیتی AMD وارد نکرد، بلکه پردازندههای 64 بیتی به کمک این شیوه نیروی دوبارهای گرفته و وارد حوزههای جدیدی از پردازش شدند و اینچنین بود که جبهه تخاصم پردازندههای 64 بیتی AMD با پردازندههای Intel آرایش تازهای بهخود گرفت. عامل مهمی که در این جبهه بر توان طرفین تاثیرگذار بوده، نوع حافظههای مورد استفاده است.
پردازندههای 64 بیتیAMD از حافظه نسل DDR تا سرعت 533 مگاهرتز پشتیبانی کرده و در آن سوی میدان، تمام پردازندههای Intel از حافظههای DDR و DDR2 پشتیبانی میکنند. البته پردازندههای جدید دوهستهای Intel فقط از DDR2 تا سرعت 1024 مگاهرتز حمایت میکنند. دقت داشته باشید که توسعه حافظهها کمی از قابلیتهی پردازندهها عقبتر است. سریعترین حافظه DDR2 موجود در بازار از سرعت 800 مگاهرتز پشتیبانی میکند. ناگفته نماند که AMD برای عقب نماندن از غافله در اقدامی ناشی از ناچاری سوکت پردازندههای خود را از 939 پینی به M2 تغییر داد و همزمان با نمایشگاه بزرگ Computex 2006 تایپه اقدام به عرضه پردازندههای جدید با این سوکت کرد که علاوه بر پشتیبانی از حافظههای DDR2 از معماری ساخت 65 نانومتری نیز پشتیبانی میکنند.
نسل جدید حافظههای SDRAM با نام QDDR در مرحله مطالعه است که تا سه سال آینده نتیجه آن اعلام خواهد شد. جدیدترین نسل حافظههای SDRAM با نام DDR3 SDRAM توسط Intel درحال توسعه است و احتمال دارد تا دو سال آینده جایگزین DDR2 شود.
حافظه در کارتهای گرافیکی
اما کارتهای گرافیکی بعد از حافظههای موقت سیستمی، اصلیترین مشتری حافظهها هستند. جلوههای بصری ایجاد شده توسط کامپیوتر بدون در اختیار داشتن حافظه مستقل کیفیت دلچسبی نخواهند داشت. یاد آن دوران بخیر که Trident با چهار مگابایت حافظه مستقل که بر روی برد (Board) کارت گرافیک نصب شده بود، مخاطبان خود را به سقف میچسباند. TNT2 M64 نیز با 16 مگابایت حافظه بلایی مشابه بر سر مخاطبان میآورد. مقدار 64 مگابایت و اندکی پس از آن 128 مگابایت به استاندارد کارتهای گرافیکی تبدیل شد، اما صرف افزایش اندازه حافظه جوابگوی طنازیهای پردازشگرهای گرافیکی (GPU) نبودند. برای رفع این مشکل حافظههای نسل DDR SDRAM جایگزین حافظههای SDRAM شدند.
اندکی بعد عطش کیفیت و سرعت بالاتر و بهتر، نسل DDR را به وادی عجز و لاوه کشاند تا اینکه حافظههای نسل DDR2 و اندکی پس از آن GDDR3 وارد صحنه شدند تا پردازشگرهای گرافیکی جدید را رام کنند. درحال حاضر GDDR3 آخرین نسل حافظههاست که البته فقط برای کارتهای گرافیکی و آن هم به همت Samsung توسعه داده شده و کارتهای گرانقیمت استفاده میشود. تراشه کنترلی حافظههای گرافیکی بر روی برد کارتگرافیک قرار گرفته و امکان دسترسی سریع و بدون دخالت مادربد را برای پردازشگرهای گرافیکی فراهم میکنند. در برخی سیستمها، تراشه کنترلی گرافیک در داخل چیپست مادربرد قرار گرفته و مقداری از حافظه موقت سیستم را بهعنوان حافظه گرافیکی برای خود سوا میکنند.
به اینگونه سیستمها عنوان Graphic Onboard و حافظه جدا شده از حافظه اصلی سیستم، حافظه مشترکشده (Shared) خطاب میشود. این سیستمها برای هر کاری غیر از پردازش گرافیکی استفاده میشوند. ساخت تراشههای حافظه برای کارتهای گرافیک محلی است که هر کس بدان راه نمییابد. Samsung، Hynix، Nanya، Infineon و Winbond از اصلیترین تولیدکنندگان تراشه حافظه برای کارتهای گرافیکی هستند.
کمی بیشتر
ارتقای کیفی تراشههای حافظه نتیجه برنامههای تحقیقاتی گسترده و بلندمدتی بود که شرکتهای فعال در حوزه نیمهرسانا برای بخشهای تحقیق و توسعه (R&D) خود تعریف کرده بودند. مواد نیمهرسانای جدید، ظرفیتهای گرمایی بسیار بالا، قیمت تولید عمده کاملا رقابتی، انعطاف الکتریکی غیرقابل چشمپوشی و توان عملیاتی (مصرفی) ناچیزی داشتند و با ولتاژ کمتری نسبت به نسل قبلی کار میکردند. این موارد دست طراحان سختافزار را برای معرفی نسل جدیدی از حافظهها باز گذاشته بود و اینچنین بود که نسلهای حافظه یکی پس از دیگری ظاهر میشدند. آن چیزی که امروزه در بازا با نام حافظه میشناسیم، تمام حافظه نیست. گونههای مختلفی از تراشههای حافظه برای کاربردهای متفاوت طراحی و پیادهسازی شدهاند که برخی ماندگار شده و بسیاری غزل خداحافظی سر دادهاند.
حافظههایی که مخاطب عام با آن سروکار دارد در سه دسته قرار میگیرند. حافظههای پویا (Dynamic RAM) که به DRAM معروف شدهاند و هماکنون نسلهای SDRAM، DDR SDRAM و DDR2 SDRAM بهعنوان حافظههای موقت در سیستمهای کنونی درحال انجام وظیفه و خدمت به خلق خدا هستند. اما گونهای دیگر از این تراشهها در حافظههای Flash مورد استفاده قرار میگیرند. این دسته از حافظهها برمبنای تراشههای EEPROM تولد میشوند و بیشتر برای جابهجایی اطلاعات یا سیستم ذخیرهسازی دستگاههای موسیقی قابل حمل مورد استفاده قرار میگیرند. تراشههای EEPROM بدون جریان الکتریکی قادر به حفظ دادهها هستند، اما گونه دیگری از حافظهها که به حافظههای Static معروف هستند در داخل پردازندهها قرار میگیرند. برای جلوگیری از عدم تعادل بین سرعت تراشه حافظههای فعلی (DDR و DDR2) و سرعت بالای بسیاری از پردازندهها، از یک حافظه واسطه و فوقالعاده سریع در داخل پردازنده استفاده میشود که در بین عموم به Cache معروف شدهاند.
قیمت این حافظه بسیار بالا بوده و بههمین دلیل است که اضافه شدن یک مگابایت به حافظه Cache پردازنده باعث جهش افسارگسیخته قیمت آن میشود. اگر کمی فنیتر صحبت کنیم، حافظههای Cache خود به سه دسته Level 1، Level 2 و Level 3 تقسیم میشوند و در این بین سرعت و قیمت Cache L1 از بقیه بیشتر و ارزشمندتر است. نکته جالب در پردازنده این است که میزان Cache L1 در پردازندههای 64 بیتی AMD حدود چهار برابر میزان این حافظه در پردازندههای Intel است و از آن سو میزان Cache L2 در پردازندههای Intel بهطور متوسط حدود چهار برابر این مقدار در پردازندههای 64 بیتی AMD است. پردازندههای کنونی عموما از حافظه Cache L3 استفاده نمیکنند.