مباني حافظه اصلي PC
منظورما ازحافظه دراين مقاله، فضاي کاري پردازنده کامپيوتر مي باشد که بعنوان يک محيط ذخيره سازي موقت، برنامه ها و داده هايي را که مي بايست توسط پردازنده، مورد پردازش قرار گيرند، روي آن ذخيره مي شوند. فضاي حافظه، موقت در نظر گرفته مي شود زيرا داده ها و برنامه ها مادامي که کامپيوتر داراي توان الکتريکي مي باشد، روي حافظه باقي مي مانند.
در اين مقاله قصد داريم که حافظه را از هر دو جنبه فيزيکي و منطقي مورد بررسي قرار دهيم. ابتدا در خواهيم يافت که حافظه چيست، در کجاي معماري PC قرار دارد و چگونه کار مي کند. سپس روي انواع گوناگون حافظه، سرعت ها و بسته بندي تراشه ها و ماژول هاي حافظه، مطالبي را خواهيم آموخت.
همچنين طرح منطقي حافظه، تعريف حوزه هاي گوناگون و کاربردهاي آن ها، از نقطه نظر سيستمي را بررسي خواهيم نمود. از آنجائيکه طرح منطقي ( با کاربردهاي حافظه از نقطه نظر پردازنده) مد نظر مي باشد، نگاشت حافظه و طرح منطقي آن شايد مشکل ترين موضوعات در مباحث PC تلقي گردد.
حافظه اصلي( اغلب حافظه RAM)، از آن جهت حافظه RAM ناميده مي شود که مي توان به آن دسترسي غيرترتيبي داشت. اين نام اغلب کمي گمراه کننده است. حافظه ROM از نوع دسترسي غيرترتيبي بوده ولي آن را از حافظه RAM متمايز مي کنند. زيرا اين نوع حافظه، داده ها را حتي پس از قطع توان الکتريکي به سيستم، حفظ مي نمايد. همچنين حافظه ديسک سخت نيز داراي دسترسي غيرترتيبي است، اما آن را بعنوان حافظه RAM در نظر نمي گيريم. در طي سال ها، تعريف RAM از يک عبارت با حروف اختصاري ساده، به چيزي که بعنوان فضاي کاري حافظه اصلي پردازنده مورد استفاده قرار مي گيرد، تغيير يافته است و معمولاً از تراشه اي به نام DRAM ساخته مي شود. يکي از مشخصات تراشه هاي DRAM يا RAM ديناميکي، آن است که داده ها را به طور ديناميکي ذخيره مي کنند و اين در واقع دو معني دارد. يکي اينکه اطلاعات را مي توان بارها و بارها روي حافظه RAM بازنويسي نمود. معناي دوم اين مفهوم آن است که حافظه هاي DRAM الزام مي دارند که داده ها، هر چند ميلي ثانيه يکبار، مجدداً روي اين نوع حافظه بازنويسي گشته يا به اصطلاح Refresh گردند.
نوعي از حافظه RAM به نام RAM استاتيکي( SRAM) نيازي به بازسازي پريوديک ( Refresh) ندارد. اين مشخصه مهم RAM بدان معناست که داده ها فقط هنگامي ذخيره مي شوند که توان الکتريکي موجود باشد. هنگامي که ما در مورد حافظه کامپيوتري صحبت مي کنيم، معمولاً منظورمان حافظه RAM يا حافظه فيزيکي سيستم مي باشد که اصولاً تراشه ها يا ماژول هاي مورد استفاده به وسيله پردازنده براي ذخيره سازي برنامه ها و داده ها مد نظر مي باشند. اين عبارت اغلب با کلمه Storage اشتباه گرفته مي شود چرا که عبارت Storage بايد هنگامي استفاده گردد که به چيزهايي همانند ديسک سخت يا نوارهاي مغناطيسي اشاره مي کنيد. اگرچه آن ها مي توانند بعنوان شکلي از RAM با نام حافظه مجازي، مورد استفاده قرار گيرند.
واژه RAM را مي توان هم به تراشه هاي فيزيکي که حافظه سيستم را شکل مي دهند، اطلاق نمود و هم به طرح يا نگاشت منطقي حافظه منصوب مي گردد. نگاشت يا طرح منطقي، به چگونگي نگاشت آدرس هاي حافظه به تراشه هاي واقعي و هريک از مکان هاي آدرس، اطلاق مي شود.
کاربران تازه وارد به دنياي کامپيوتر، اغلب حافظه اصلي ( RAM) را با Storage اشتباه مي گيرند. زيرا هر دوي آن ها داراي ظرفيت هايي هستند که با واحدهاي مشابهي بيان مي گردند. بهترين تشابه براي توضيح رابطه بين حافظه و Storage، تصور يک دفتر کار با يک ميز تحرير و يک کمد فايل مي باشد. ميز تحرير را مي توان بعنوان حافظه RAM و کمد فايل را، Storage تعريف نمود. در اين مثال کمد فايل که نقش ديسک سخت را بازي مي کند، برنامه ها و داده هاي کامپيوتري را براي مدت زمان طولاني نگهداري مي نمايد. ميز تحرير، نقش حافظه اصلي سيستم را بازي نموده و امکان مي دهد تا شخص کارمند که بعنوان پردازنده عمل مي نمايد، به هريک از فايل هاي موجود در آن دسترسي مستقيم داشته باشد. فايل ها، برنامه ها و اسنادي هستند که مي توانيد بداخل حافظه منتقل کنيد. براي کار با يک فايل ويژه، مي بايست آن را از کابينت فايل برداشته و روي ميز تحريرقرار دهيد. اگر اين کشو به اندازه کافي بزرگ باشد، ممکن است در آن واحد روي آن، چندين فايل را داشته باشيد. به همين صورت اگر سيستم شما داراي حافظه بيشتري باشد، مي توانيد برنامه هاي بيشتر يا بزرگتري را اجرا نموده و روي اسناد بزرگتري کار کنيد.
افزودن ديسک سخت به يک سيستم، همانند قرار دادن يک کابينت فايل بزرگتر در دفتر کار مي باشد. فايلهاي بيشتري را مي توان به طور دائمي در آن نگهداري نمود. افزودن حافظه بيشتر به يک سيستم، همانند استفاده از يک ميز بزرگتر مي باشد. شما مي توانيد در آن واحد، روي برنامه ها و داده هاي بيشتري کار کنيد.
يک تفاوت بين اين مثال و روشي که اجزاي کامپيوتر کار مي کنند، آن است که هنگامي که يک فايل به داخل حافظه بارگذاري مي شود، در واقع يک کپي از فايل به حافظه منتقل مي شود. هنوز فايل اصلي در داخل ديسک سخت وجود دارد. به دليل ماهيت موقتي حافظه، هريک از فايل هايي را که پس از انتقال به داخل حافظه، تغيير کرده باشند هنگام انتقال به ديسک سخت، مي بايست مجدداً ذخيره گردند. اگر فايل تغيير يافته مجدداً ذخيره نگردد، کپي اصلي فايل روي ديسک سخت، به صورت تغيير نيافته باقي مي ماند. اين درست مثل گفتن آن است که هنگام تعطيل شدن و پايان وقت اداري، هر تغيير ايجاد شده در فايل هاي باقيمانده روي آن ناديده گرفته مي شود. حافظه، برنامه ها را هنگام اجراي آن ها، همراه با داده هايي که به وسيله اين برنامه مورد استفاده قرار مي گيرند، به طور موقتي نگهداري مي نمايد. تراشه هاي RAM، گاهي اوقات Volatile Storage ناميده مي شوند زيرا هنگامي که شما کامپيوتر را خاموش مي کنيد يا يک نوسان در جريان برق ايجاد مي شود، اطلاعات ذخيره شده در RAM از بين مي رود مگر آنکه شما آن ها را روي ديسک سخت ذخيره کرده باشيد. براي فهم بهتر حافظه فيزيکي يک سيستم، شما مي بايست ببينيد که آن ها در کجا قرار دارند و چگونه خود را با سيستم وفق مي دهند. سه نوع اصلي حافظه فيزيکي که در کامپيوترهاي شخصي امروزي مورد استفاده قرار مي گيرند، عبارتند از:
ROM( حافظه فقط خواندني)
DRAM( حافظه ديناميکي با دسترسي غيرترتيبي)
SRAM( حافظه RAM استاتيکي)
تنها نوع حافظه که شما نياز به خريد و نصب آن روي سيستم داريد، حافظه DRAM مي باشد. ساير انواع حافظه، بصورت داخلي در مادربورد(ROM)، پردازنده( SRAM) و ساير قطعات مثل کارت ويدئويي، ديسک هاي سخت و غيره مورد استفاده قرار مي گيرند.
معمولاً حافظه ROM سيستم، در آدرس E0000h يا F0000h آغاز مي گردد که 128 يا 64 کيلوبايت از انتهاي اولين مگابايت حافظه را اشغال مي کند. از آنجائيکه تراشه ROM معمولاً تا 128 کيلوبايت ظرفيت دارد، برنامه هاي ROM مجاز خواهند بود تا کل 128 کيلوبايت آخر اولين مگابايت حافظه RAM را اشغال نمايند( شامل آدرس دستورالعمل Startup در آدرس FFFF0h که 16 بايت از انتهاي فضاي بايوس را اشغال مي کند. برخي تراشه هاي ROM مادربرد تا 256 کيلوبايت يا 512 کيلوبايت ظرفيت دارند. برنامه اضافي در اين تراشه ها براي نگهداري درايور کارت ويدئويي( آدرس هاي C0000h-C7FFFh) روي مادربوردها استفاده مي گردد.
به نظر عجيب مي رسد که کامپيوتر شخصي اجراي دستورالعمل هاي بايوس را از 16 بايت آخر حافظه ROM آغاز مي کند، اما اين يک طرح هدفمند مي باشد. همه آنچه که يک برنامه نويس ROM مجبور به انجام آن است، قرار دادن يک دستورالعمل Jmp(jump) در آن آدرس مي باشد که به پردازنده مي گويد به شروع واقعي برنامه ROM در اغلب موارد نزديک به آدرس F0000h پرش نمايد که معمولاً 64 کيلوبايت اول حافظه است. اين کار مثل آن است که خواندن هر کتاب را از 16 صفحه انتهاي آن آغاز نموده و سپس همه ناشرين کتاب با يکديگر توافق نمايند تا يک دستورالعمل را در انتهاي کتاب قرار داده که به خواننده بگويد به صفحه اول کتاب، در کدام قسمت آن مراجعه کند. با تنظيم مکان Startup با اين روش، شرکت اينتل امکان داد تا تراشه ROM به هر اندازه دلخواهي رشد کند. ضمن اينکه اين محيط را در انتهاي بالاي آدرس ها در اولين مگابايت فضاي آدرس حافظه حفظ مي نمايد.
برنامه اصلي بايوس ROM در داخل يک تراشه ROM روي مادربرد قرار دارد، اما کارت هاي آداپتور با تراشه هاي ROM، داراي روتين هاي بايوس ثانوي بوده و درايورهاي مورد نياز براي يک کارت الحاقي خاص،( به ويژه کارت هاي سخت افزاري که مي بايست در طي فرايند بوت فعال باشند مثل کارت هاي ويدئويي) در داخل تراشه اصلي مادربرد قرار مي گيرند. کارت هايي که نياز به درايورهاي فعال در طي پروسه بوت ندارند( همانند کارت هاي صوتي) معمولاً نيازي به تراشه ROM ندارند زيرا اين درايورها را بعداً مي توان از روي ديسک سخت فراخواني نمود.
از آنجائيکه بايوس، بخش اصلي کد ذخيره شده در ROM مي باشد، ما غالب ROM را، ROM BIOS مي ناميم. در PCهاي قديمي تر، ROM BIOS مي تواند شامل 5 يا 6 تراشه باشد. اما اغلب PCهاي امروزي فقط يک تراشه ROM دارند.
ROMهاي کارت آداپتور، همانند آنهايي که به وسيله کارت هاي ويدئويي، اسکازي و کارت هاي شبکه( در ايستگاه هاي کاري بدون ديسک) مورد استفاده قرار مي گيرند در طي اولين بخش پروسه بوت( POST) به طور اتوماتيک به وسيله ROM مادربرد، اسکن شده و خوانده مي شوند. ROM مادربرد، محيطي ويژه از حافظه RAM رزرو شده براي ROMهاي آداپتور( آدرس C0000-DFFFFh) را با هدف يافتن فايل هاي 55AAh Signature( که نشان دهنده شروع يک ROM مي باشند) را جستجو نموده و مي خواند.
همه ROMهاي آداپتور مي بايست با 55AAh آغاز شوند در غير اينصورت، مادربرد نمي تواند آن ها را تشخيص دهد. بايت سوم نشان مي دهد که اندازه ROM در واحدهاي 512 بايتي به نام Paragraphs تخصيص داده شده و بايت چهارم، شروع واقعي برنامه هاي درايور مي باشد. بايت اندازه به وسيله ROM مادربرد براي اهداف تست مورد استفاده قرار مي گيرد. ROM مادربرد، همه بايت هاي ROM را به يکديگر اضافه نموده و حاصل جمع را به تعداد بايت ها تقسيم مي کند. نتيجه مي بايست يک باقيمانده 100h را توليد نمايد. بدينگونه هنگام ايجاد يک ROM براي يک آداپتور، برنامه نويس معمولاً از يک بايت fill در انتها براي عمليات Checksum استفاده مي نمايد. با استفاده از اين Checksum، مادربرد هر ROM آداپتور را در طي POST تست نموده و هر موردي که دچار اشکال شده باشد را علامت گذاري مي کند.
بايوس مادربرد به طور اتوماتيک اين برنامه را در هريک از آداپتورها اجرا مي نمايد. شما اين مسأله را در اغلب سيستم ها هنگام روشن نمودن کامپيوتر و اجراي عمليات POST مشاهده مي کنيد.
بهره عملکرد حاصل از بکارگيري تکنيک ROM Shadowing اغلب خيلي کم مي باشد و در صورت عدم Setup صحيح مي تواند سبب بروز مشکلاتي گردد. بنابراين در اغلب موارد، کار معقول آن است که فقط بايوس مادربرد( و حداکثر بايوس کارت تصوير) را Shadow نموده و ساير قسمت هاي بايوس را ناديده بگيريد.
معمولاً تکنيک ROM Shadowing تنها وقتي مفيد است که شما سيستم هاي عامل 16 بيتي مثل DOS يا ويندوز X3 را اجرا مي کنيد. در صورتي که سيستم هاي عامل 32 بيتي يا 64 بيتي استفاده قرار کنيد، تکنيک ROM Shadowing مفيد واقع نمي شود زيرا اين سيستم هاي عامل هنگام اجرا از کد 16 بيتي ROM استفاده نمي کنند. در عوض اين سيستم هاي عامل، درايورهاي 32 بيتي را به داخل حافظه RAM منتقل نموده که جايگزين کد بايوس 16 بيتي که فقط در طي مرحله Startup سيستم مورد استفاده قرار مي گيرد، مي نمايد.
فرمان هاي کنترلي ROM Shadowing، در برنامه CMOS Setup در ROM مادربرد يافت مي شود.
ROM( حافظه خواندني)
PROM( حافظه ROM قابل برنامه ريزي)
EPROM( حافظه PROM قابل پاک شدن)
EEPROM( حافظه PROM قابل پاک شدن به طور الکتريکي که از آن گاهي اوقات بعنوان Flash ROM ياد مي شود)
بدون توجه به نوع تراشه ROM که سيستم شما استفاده مي نمايد، اصولاً داده هاي ذخيره شده در يک تراشه ROM، غير فرار بوده و در غير از مواردي که به طور عمدي پاک مي شوند، داده ها را در خود حفظ مي نمايد.
با وجوديکه گفتيم اين تراشه ها در ابتدا خالي از داده مي باشند، در واقع به لحاظ فني آن ها در ابتداي عرضه به مشتري، داراي اطلاعات « 1» باينري، در تمام سلول هاي حافظه خود هستند. به عبارت ديگر يک تراشه ROM يک مگابيتي، داراي يک ميليون مکان بيت مي باشد که هريک از آن ها حاوي يک عدد 1 باينري هستند. سپس يک تراشه PROM خالي را مي توان با داده هاي مورد نظر پر نمود. براي اين کار به يک دستگاه مخصوص به نام ROM Programmer نياز داريم.
برنامه ريزي تراشه ROM، گاهي اوقات burning ناميده مي شود که در آن هر بيت 1 باينري، بعنوان يک فيوز تلقي مي شود. اغلب تراشه ها با ولتاژ 5 ولت کار مي کنند. اما هنگامي که يک تراشه PROM، برنامه ريزي مي شود، يک ولتاژ بالاتر(معمولاً 12 ولت) به آدرس هاي گوناگون داخل تراشه اعمال مي گردد. اين ولتاژ بالاتر در واقع فيوزها را در مکان هاي مطلوب، مي سوزاند و بدين ترتيب برخي از اعداد باينري 1، به عدد صفر تبديل مي شوند. اگرچه مي توان، 1 باينري را به صفر تبديل نمود، اين فرايند قابل بازگشت نيست. بدان معنا که نمي توان يک صفر باينري را در داخل اين تراشه ها به 1 باينري باز گرداند.
ROM Programmer، برنامه اي را که شما مايليد در داخل تراشه بنويسيد بررسي نموده و سپس در مکان هاي معيني روي تراشه، « 1» باينري را به «0» تبديل مي کند.
تراشه هاي PROM، اغلب به عنوان تراشه هاي OTP( يک بار قابل برنامه ريزي) ياد مي شوند. آن ها يک بار قابل برنامه ريزي بوده و هرگز پاک نمي شوند. اغلب تراشه هاي PROM، خيلي ارزان هستند. بنابراين اگر بخواهيد برنامه داخل اين نوع تراشه را تغيير دهيد، آن را دور انداخته و يک تراشه جديد را جايگزين آن مي کنيد.
عمل برنامه ريزي يک تراشه PROM از چند ثانيه تا چند دقيقه( وابسته به اندازه تراشه) و الگوريتم مورد استفاده به وسيله دستگاه برنامه ريزي، به طول مي انجامد. برخي از اين دستگاه ها در آن واحد مي توانند چندين تراشه PROM را برنامه ريزي کنند.
هدف استفاده از اين پنجره، امکان استفاده از نور فرابنفش براي نفوذ به قالب تراشه و پاک کردن محتويات تراشه مي باشد. از پنجره کريستال کوارتز استفاده مي گردد زيرا اشعه فرابنفش نمي تواند از شيشه معمولي عبور کند. البته وجود پنجره کوارتز باعث مي گردد که تراشه هاي EPROM گران تر از تراشه هاي OTP PROM باشند.
نور فرابنفش با ايجاد يک واکنش شيميايي که باعث جوش خوردن نقاط اتصال قطع شده فيوزها مي گردد، تراشه را پاک مي کند. بدينگونه هر باينري در داخل تراشه، تبديل به 1 باينري مي گردد و تراشه به حالت اوليه خود که در آن همه سلول هاي حافظه، مبين عدد 1 باينري هستند، تبديل مي شود. اشعه فرابنفش مي بايست در طول موج 2537 آنگسترم و شدت نور نسبتاً بالاي 12000 uw/cm2 مي باشد که مي بايست از فاصله 2 تا 3 سانتيمتري روي تراشه بتابد. مدت زمان لازم براي پاک شدن محتويات تراشه، 5 تا 15 دقيقه مي باشد. يک دستگاه EPROM eraser، داراي يک منبع نور فرابنفش مي باشد که شما تراشه ها را در داخل اين دستگاه در معرض نور فرابنفش قرار مي دهيد. برخي دستگاه هاي EPROM eraser حرفه اي، تا 50 تراشه EPROM را در آن واحد پاک مي کنند.
پنجره کريستال کوارتز روي يک تراشه EPROM، معمولاً به وسيله يک نوار باريک پوشانده مي شود که اين کار مانع آن مي گردد که تراشه در معرض نور فرابنفش به طور غيرعمدي قرار گيرد. نور فرابنفش موجود در اشعه خورشيد و حتي روشنايي استاندارد اتاق مي تواند سبب تغيير محتويات تراشه EPROM گردد. به اين دليل پس از آنکه تراشه، برنامه ريزي گرديد، شما مي بايست با استفاده از يک نوار باريک، پنجره روي تراشه را بپوشانيد.
هنگام استفاده از يک تراشه EEPROM، نيازي به دستگاه هاي ROM Programmer يا EPROM eraser نمي باشد. همه مادربردهاي ساخته شده از سال 1994 به بعد از تراشه هاي EEPROM استفاده مي کنند.
شماره قطعه تراشه هاي 28xxxx، EEPROM يا 29xxxx مي باشد. همچنين اين تراشه ها فاقد پنجره کوارتز مي باشند. وجود تراشه EEPROM يا flash ROM در داخل مادربرد بدان معناست که اکنون مي توانيد بدون نياز به تعويض تراشه آن را ارتقاء دهيد. در اغلب موارد شما بايوس جديد را از سايت وب سازنده مادربرد دريافت نموده و سپس با استفاده از يک برنامه مخصوص، محتويات تراشه ROM مادربرد خود را روزآمد مي نماييد.
سلول هاي حافظه در يک تراشه DRAM، خازن هاي کوچکي هستند که با استفاده از ذخيره سازي بار الکتريکي در خود، اطلاعات يک بيت از داده را در خود ذخيره مي کنند. مشکل مربوط به حافظه DRAM آن است که آن ها داراي ماهيت ديناميکي هستند. همچنين به دليل طرح خاص آن ها، مي بايست دائماً Refresh گردند. در غير اينصورت بارهاي الکتريکي در تک تک خازن هاي حافظه، از دست خواهد رفت و داده ها پاک مي شوند. اغلب سيستم ها، داراي يک کنترلر حافظه مي باشند.( معمولاً در داخل پل شمالي چيپ ست مادربرد) که معمولاً هر 15 ميلي ثانيه يکبار، عمليات Refresh حافظه را انجام مي دهند. اين بدان معناست که هر 15 ميلي ثانيه يکبار، همه رديف ها در حافظه به منظور بازسازي داده ها، مجدداً خوانده مي شوند.
بازسازي اطلاعات حافظه، متأسفانه وقت پردازنده را نسبت به ساير وظايف آن، بيشتر به خود اختصاص مي دهد. زيرا هر سيکل بازسازي اطلاعات، به چند سيکل CPU نياز دارد. در سيستم هاي قديمي تر، سيکل بازسازي داده ها، تا 10 درصد يا بيشتر از کل زمان CPU را به خود اختصاص مي داد. اما در سيستم هاي جديد با فرکانس پردازنده چند گيگاهرتز، سيکل بازسازي حافظه کمتر از 1 درصد کل زمان CPU مي باشد. برخي سيستم ها به شما اجازه مي دهند تا از طريق، CMOS Setup پارامترهاي زمانبندي بازسازي حافظه را تغيير دهيد. زمان بين سيکل هاي بازسازي حافظه(tREF)، برحسب ميلي ثانيه نيست بلکه بر حسب سيکل ساعت بيان مي شود.
اما توجه داشته باشيد که افزايش زمان بين سيکل هاي بازسازي حافظه( tREF) به منظور تسريع عملکرد سيستم مي تواند سبب گردد تا برخي سلول هاي حافظه شروع به نشت بار نمايند که مي تواند سبب بروز خطاي Soft error گردد. يک Soft error، نوعي خطاي داده است که به وسيله يک تراشه معيوب ايجاد نمي گردد. توصيه مي شود که از پارامترهاي پيش فرض زمانبندي بازسازي داده ها استفاده کنيد. از آنجائيکه زمان لازم براي بازسازي داده ها در حافظه، کمتر از 1 درصد عرض باند سيستم هاي مدرن را به خود اختصاص مي دهد، تغيير نرخ بازسازي، تأثير کمي روي عملکرد سيستم دارد.بسياري از سيستم هاي جديد، اجازه تغيير تنظيمات زمانبندي حافظه را نمي دهند و از تنظيمات اتوماتيک استفاده مي کنند. روي يک سيستم داراي تنظيمات اتوماتيک، مادربرد پارامترهاي زمانبندي SPD ROM را روي ماژول حافظه خوانده و سرعت هاي سيکل بازسازي را براي انطباق با آن تنظيم مي نمايد.
حافظه هاي DRAM، فقط از يک زوج ترانزيستور و خازن به ازاي هر بيت داده استفاده مي کنند و اين امر امکان مي دهد که آن ها بسيار متراکم بوده و ظرفيت حافظه بيشتري را به ازاي هر تراشه نسبت به ساير انواع حافظه ارائه نمايند. اخيراً تراشه هاي DRAM با چگالي هايي تا 4 گيگابيت( 512MB) به ازاي هر تراشه عرضه شده اند و اين بدان معناست که تراشه هاي DRAM با 4 ميليارد ترانزيستور يا بيشتر ساخته شده اند. اين عدد خيلي بيشتراز ترانزيستورهاي داخل پردازنده هاست. اما مي بايست به اين نکته توجه کنيد که در يک تراشه حافظه، ترانزيستورها و خازن ها، در يک شبکه منظم و معمولاً مربع شکل از ساختارهاي تکراري ساده ترتيب بندي شده اند. بر خلاف پردازنده که يک مدار پيچيده تر از ساختارهاي متفاوت بوده و داراي عناصري است که در يک سبک نامنظم به يکديگر متصل مي باشند.
ترانزيستور مربوط به هر سلول بيت DRAM، وضعيت بار خازن مجاور خود را بررسي مي کند. اگر خازن باردار باشد، سلول داراي محتواي «1» مي باشد. در صورت عدم وجود بار، محتواي داده اي آن، «0» خواهد بود. بار موجود در خازن هاي کوچک، دائماً در حال خالي شدن بوده و به همين دليل اين سلول ها مي بايست دائماً Refresh گردند.
حافظه SRAM، با زمان هاي دسترسي 0.45ns يا کمتر موجود مي باشد که مي تواند همگام با پردازنده هاي 2.2GHz يا سريع تر عمل نمايد. چرا که در طراحي حافظه SRAM، يک مجموعه از شش ترانزيستور براي هر بيت حافظه وجود دارد. استفاده از ترانزيستورها( بدون خازن ها)، بدان معناست که نيازي به بازسازي متناوب سلول هاي حافظه نمي باشد. زيرا هيچ خازني وجود ندارد که با گذشت زمان بار خود را از دست بدهد. مادامي که توان الکتريکي لازم به سلول هاي حافظه اعمال گردد، حافظه SRAM اطلاعات خود را حفظ خواهد نمود. با توجه به اين خصيصه ها چرا از حافظه SRAM براي همه واحد حافظه سيستم استفاده نمي گردد؟ پاسخ اين سؤال ساده است:
در مقايسه با DRAM، حافظه SRAM خيلي سريع تر مي باشد، اما در عين حال به لحاظ تراکم يا چگالي سلول هاي حافظه، از حافظه DRAM خيلي عقب تر بوده و نيز از آن خيلي گران تر است. تراکم کمتر سلول هاي حافظه بدان معناست که تراشه هاي SRAM به لحاظ فيزيکي بزرگتر هستند و در کل، تعداد بيت هاي داده بسيار کمتري را در خود ذخيره مي کنند. تعداد زياد ترانزيستورها و طرح خوشه اي اين حافظه بدان معناست که تراشه هاي SRAM هم به لحاظ فيزيکي، بزرگتر از تراشه هاي DRAM هستند و هم از جنبه توليد، گران تر از آن تمام مي شوند. براي مثال يک ماژول DRAM، داراي 512 مگابايت حافظه RAM يا بيشتر بوده در حاليکه ماژول هاي SRAM با همان اندازه فيزيکي، فقط 9 مگابايت ظرفيت دارند و با وجود اين حجم حافظه، با حافظه 512 مگابايتي DRAM قيمت يکساني خواهند داشت. هزينه بالا و محدوديت هاي فيزيکي مانع از آن مي شود که حافظه SRAM، بعنوان حافظه اصلي براي سيستم هاي PC مورد استفاده قرار گيرد.
با وجوديکه حافظه SRAM براي استفاده در کامپيوترهاي شخصي( بعنوان حافظه اصلي) خيلي گران مي باشد، طراحان PC، روشي را براي استفاده مؤثر از SRAM يافته اند. به جاي پرداخت هزينه براي حافظه SRAM، بعنوان حافظه اصلي سيستم که بتواند با سرعت CPU سازگاري داشته باشد، مقدار کوچکي از حافظه SRAM بعنوان حافظه کاشه در سيستم هاي کامپيوتري مورد استفاده قرار مي گيرد. حافظه کاشه با سرعت هاي نزديک يا حتي معادل با سرعت پردازنده عمل نموده و اين همان حافظه ايست که پردازنده معمولاً مستقيماً اطلاعات را از روي آن مي خواند و يا روي آن مي نويسد. در طي عمليات خواندن، داده ها در حافظه کاشه سريع، در اختيار پردازنده کامپيوتر قرار مي گيرد. براي تبديل زمان دسترسي از نانوثانيه به مگاهرتز از فرمول ذيل استفاده مي شود:
nanoseconds× 100=MHz/1
به همين شکل براي تبديل از مگاهرتز به نانوثانيه از فرمول معکوس ذيل استفاده کنيد:
MHz× 1000= nanoseconds/1
امروزه حافظه هايي سريع تر از 1GHz( 1 نانوثانيه) موجود هستند، اما تا اواخر دهه 90 ميلادي، DRAM به 16MHz( شصت نانوثانيه) محدود مي شد. هنگامي که سيستم هاي PC با فرکانس 16 مگاهرتز يا کمتر اجرا مي شدند، حافظه DRAM، کاملاً همگام با مادربرد و پردازنده سيستم عمل مي نمود و نيازي به حافظه کاشه نداشت. اما به محض آنکه پردازنده ها، سد 16 مگاهرتز را شکستند، DRAM ديگر نمي توانست همگام با سيستم عمل نمايد و اين دقيقاً همان زماني بود که حافظه SRAM وارد سيستم PC گرديد. اين رخداد به سال 1986 و 1987 برمي گردد که در آن زمان، سيستم هاي مبتني بر پردازنده هاي 386 با سرعت هاي 20 مگاهرتز و بيشتر عرضه گرديدند. اين سيستم ها، اولين کامپيوترهاي شخصي هستند که از حافظه کاشه استفاده نمودند. از آنجائيکه حافظه کاشه مي تواند با سرعت پردازنده اجرا گردد، سيستم طوري طراحي مي گردد که کنترلر کاشه، نيازهاي حافظه پردازنده را پيش بيني نموده و از قبل داده هاي لازم را به داخل حافظه کاشه پر سرعت منتقل مي کند. بدين گونه همچنان که پردازنده يک آدرس حافظه را فراخواني مي کند، داده ها مي توانند از داخل حافظه کاشه ( به جاي حافظه اصلي) بازيابي گردند.
ميزان مؤثر بودن عملکرد حافظه کاشه به صورت hit ratio بيان مي شود. اين مفهوم، نسبت موفقيت هاي حافظه کاشه، به کل زمانهاي دسترسي حافظه مي باشد. يک hit هنگامي رخ مي دهد که داده هايي که پردازنده به آن نياز دارد، از حافظه اصلي به حافظه کاشه( از قبل) منتقل مي شود. بدان معنا که پردازنده مي تواند داده هاي مذکور را از حافظه کاشه بخواند. miss در حافظه کاشه هنگامي رخ مي دهد که کنترلر کاشه، نياز به يک آدرس خاص در حافظه اصلي را پيش بيني ننموده و داده هاي مطلوب از قبل به داخل کاشه منتقل نمي شود. در مورد دوم، پردازنده مي بايست داده ها را از حافظه اصلي که سرعت آن خيلي پايين تر است، بازيابي نمايد. هر بار که پردازنده داده هاي مورد نظر را از حافظه اصلي با سرعت خيلي کمتري نسبت به پردازنده، سيکل مي زند. اگر پردازنده با حافظه کاشه روي قالب پردازنده، با سرعت 3.6GHz سيکل بزند( روي يک باس 1333MHz)، هم پردازنده و هم حافظه کاشه روي تراشه، داراي زمان سيکل زني 0.28 نانوثانيه هستند در حاليکه حافظه اصلي داراي زمان سيکل زني 0.75ns بوده که 5 برابر کندتر از حافظه کاشه مي باشد. بنابراين هر بار پردازنده 3.6 گيگاهرتزي از حافظه اصلي بخواند، راندمان عملکرد آن به 1333MHz تقليل پيدا مي کند. علت کندي پردازنده هنگام خواندن از روي حافظه اصلي، وجود زمان هاي انتظار مي باشد که در آن، پردازنده هيچ کاري انجام نمي دهد. بنابراين در اينجا به اهميت وجود حافظه کاشه پي مي بريم.
براي حداقل ساختن نياز پردازنده به خواندن داده ها از حافظه اصلي، 2 تا 3 لايه از حافظه کاشه در سيستم هاي مدرن با نام هاي کاشه سطح يک( L1)، سطح دو(L2) و سطح سه(L3) وجود دارند. کاشه L1 همچنين به نام کاشه داخلي نيز معروف است زيرا هميشه به عنوان بخشي از پردازنده روي قالب آن تعبيه مي شود. از آنجائيکه کاشه L1 هميشه هم سرعت با هسته مرکزي پردازنده اجرا مي شود، سريع ترين نوع کاشه در سيستم مي باشد. همه پردازنده هاي 486 و بعدي، از کاشه L1 روي قالب پردازنده استفاده مي کنند. کاشه L2، اصولاً کاشه خارجي ناميده مي شود زيرا هنگام ظهور خود، روي تراشه پردازنده قرار نداشت. چرا که در همه سيستم هاي 386 و 486 و پردازنده اصلي پنتيوم،اين حافظه روي مادربرد قرار داشت. در اين سيستم ها، کاشه L2 داراي سرعتي همسان با باس مادربرد و CPU بود زيرا روي مادربرد قرار داشته و به باس CPU متصل بود.
با توجه به بهبود عملکرد سيستم ها، طرح هاي بعدي پردازنده از اينتل و AMD، کاشه L2 را روي خود پردازنده قرار دادند. در همه پردازنده ها از اواخر سال 1999، کاشه L2 مستقيماً بعنوان بخشي از قالب پردازنده طراحي گرديد. در تراشه هايي با حافظه کاشه L2 روي قالب تراشه، سرعت آن با سرعت پردازنده کاملاً يکسان مي باشد. در مقابل، اغلب پردازنده هاي قبل از سال 1999 داراي حافظه هاي کاشه L2 روي مادربرد بودند. حافظه کاشه L2 در بسياري از اين پردازنده هاي قديمي تر، داراي سرعتي معادل نصف يا يک سوم سرعت هسته پردازنده بود. سرعت کاشه خيلي مهم است بنابراين سيستم هاي داراي حافظه کاشه L2 روي مادربرد، کندتر عمل مي نمودند. قرار دادن L2 در داخل پردازنده، سرعت آن را به ميزان قابل توجهي افزايش داد.
پردازنده هايي با حافظه کاشه L2داخلي، سريع تر از موردهاي نصب شده روي مادربرد عمل مي نمايند؛ بنابراين اغلب مادربردهاي طراحي شده براي پردازنده هايي با کاشه داخلي، هيچ فضايي براي نگهداري حافظه کاشه روي مادربرد ندارند.
حافظه کاشه L3 در ايستگاه هاي کاري پر قدرت و پردازنده هاي سرور همانند زئون و خانواده ايتانيوم از سال 2001 به بعد وجود دارد. اولين پردازنده روميزي با کاشه L3، Pentium 4 Extreme Edition نام گرفت. اين يک تراشه سطح بالاست که در اواخر سال 2003 معرفي گرديد و داراي 2 مگابايت حافظه کاشه L3 روي قالب پردازنده مي باشد. با وجوديکه پيش بيني مي شد از کاشه L3 بطور وسيعي در پردازنده هاي دسک تاپ استفاده گردد، اما نسخه هاي بعدي Pentium 4 Extreme Edition، از کاشه L3 استفاده نکردند و در عوض از کاشه L2 بزرگتر، بمنظور بهبود عملکرد پردازنده بهره گيري کردند. کاشه L3 در سال 2007 با ظهور AMD Phenom و در سال 2008 با Intel Core i7، ( که هر دو داراي چهار هسته روي يک قالب پردازنده بودند) به حوزه پردازنده هاي PC بازگشت. کاشه L3 بويژه براي پردازنده هايي با چهار هسته يا بيشتر مناسب است چرا که همه هسته ها مي توانند اين کاشه( روي قالب پردازنده) را با يکديگر به اشتراک گذارند. کليد فهم حافظه کاشه و حافظه اصلي، بررسي اين نکته است که در کجاي معماري سيستم به آن ها نياز داريم.
سرعت هاي تراشه و سيستم، برحسب مگاهرتز که به معناي يک ميليون سيکل بر ثانيه و گيگاهرتز که يک ميليارد سيکل در ثانيه مي باشد، بيان مي گردد. پردازنده هاي امروزي در طيف 2GHz-4GHz اجرا مي شوند که بيشتربهبودهاي عملکرد، ناشي از اعمال تغييرات در طرح CPU( مثل چند هسته اي) است تا افزايش سرعت صرف کلاک پردازنده.
از آنجاييکه صحبت در مورد سرعت سي پي يو کمي گمراه کننده است، فکر مي کنم جالب باشد ببينيم آنها چگونه با هم مقايسه مي شوند. قبلاً به شما نشان داديم که چگونه به صورت رياضي اين مقادير را به يکديگر تبديل کنيد.
در تاريخ PC، همواره شاهد بوده ايم که حافظه در همگام شدن با CPU( به لحاظ زماني) با مشکل مواجه بوده است و به همين خاطر از چندين سطح حافظه کاشه، براي گرفتن درخواست هاي پردازنده از حافظه اصلي کندتر( در ميانه راه) استفاده گرديده است. اگرچه اخيراً سيستم هايي که از DDR2، DDR و DDR3 SDRAM استفاده مي نمايند، داراي عملکرد باس حافظه معادل با باس پردازنده هستند. هنگاميکه سرعت باس حافظه، معادل با سرعت باس پردازنده باشد، عملکرد حافظه اصلي براي آن سيستم در وضعيت بهينه است.
در سال 2007 حافظه DDR2 و DDR3 با سرعت هايي تا 1066MHz و بالاتر به بازار آمدند. در سال 2009، حافظه DDR3 با سرعت هايي تا 1600MHz در سيستم هاي جديد به شدت محبوبيت يافت.
حافظه DRAM استاندارد( 60 نانوثانيه) معمولاً داراي زمانبندي burst mode به صورت 5-3-3-3 مي باشد. اين بدان معناست که اولين دسترسي، به 5 سيکل زماني( در يک باس سيستم 66 مگاهرتزي، اين زمان به صورت 15ns=75ns×100 محاسبه مي گردد) و سيکل هاي بعدي هرکدام سه سيکل زماني را به خود اختصاص مي دهند( 15ns=45ns× 3). همانطور که مي بينيد، زمانبندي واقعي سيستم تا حدي کمتر از سرعت اسمي حافظه مي باشد. بدون تکنيک bursting، دسترسي به حافظه به صورت 5-5-5-5 مي باشد. زيرا تأخير کاملي براي هر انتقال حافظه لازم خواهد بود. حافظه DRAM که از Paging و bursting پشتيباني مي کند، حافظه Fast Page mode DRAM يا FPM نام دارد.
براي تسريع دسترسي به حافظه FPM، تکنيک ديگري به نام interleaving وجود دارد. در اين طرح، دو بانک جداگانه از حافظه با يکديگراستفاده مي گردند و دسترسي به صورت متناوب از يکي به ديگري( بعنوان بانک هاي زوج و فرد) سوئيچ مي گردد. هنگامي که يکي از بانک ها مورد دسترسي قرار مي گيرد، بانک ديگر در حال شارژ مجدد مي باشد و آدرس هاي رديف و ستون آن انتخاب مي شود. سپس همين که بانک اولي در اين زوج بانک، عمليات بازگرداندن داده ها را به اتمام رساند، بانک دوم با احتساب قسمت تأخير سيکل زماني، اين مرحله را به پايان رسانده و اکنون آماده بازگرداندن داده ها به CPU مي باشد. در حاليکه بانک دوم داده ها را باز مي گرداند، بانک اول در حال شارژ مجدد و انتخاب آدرس رديف و ستون دسترسي بعدي مي باشد. اين همپوشاني دسترسي ها در دو بانک، اثر تأخير يا سيکل هاي شارژ مجدد را کاهش داده و امکان بازيابي داده ها را به صورت سريع تر ممکن مي نمايد. تنها مشکل روش interleaving آن است که شما مي بايست زوج هاي مشابهي از بانک ها را با يکديگر نصب کنيد که اين امر، مقدار SIMMها يا DIMMها را دو برابر مي کند. اين روش در سيستم هاي حافظه با پهناي 32 بيت محبوبيت داشت اما در خانواده پنتيوم به دليل عرض حافظه 64 بيتي، محبوبيت خود را از دست داد. براي اجراي interleaving در يک سيستم پنتيوم، شما مي بايست در آن واحد، حافظه 128 بيتي را نصب کنيد بدان معنا که چهار SIMM 72 پين يا دو DIMMرا براي اين کار نياز داريد.
نقش EDO در جهت سرعت بخشيدن به حافظه آن است که با فعال نگه داشتن کنترلر حافظه براي شروع يک دستورالعمل جديد، آدرس ستون( ضمن خواندن داده ها در آدرس فعلي) سيکل هاي زماني حافظه بهبود مي يابد. اين روش با روشي که در سيستم هاي قديمي تر از طريق interleaving بانک هاي حافظه انجام مي گيرد، مشابه مي باشد اما برخلاف interleaving با EDO شما نيازي به نصب دو بانک مشابه حافظه به طور همزمان در سيستم خود نخواهيد داشت.
EDO-RAM داراي ترتيب سيکل هاي زماني burst mode به صورت 2-2-2-5 مي باشد. اين را با ترتيب 3-3-3-5 که در حافظه هاي Fast Page mode DRAM مورد استفاده قرار مي گيرند، مقايسه کنيد. براي انجام چهار انتقال از حافظه، EDO به يازده سيکل زماني کامل نياز دارد در حالي که FPM به چهارده سيکل کامل نياز خواهد داشت. اين به معناي 22 درصد بهبود در زمان سيکل بندي حافظه مي باشد. اما در آزمايشات عملي، ميزان بهبود در حدود 5 درصد محاسبه مي شود. با وجوديکه بهبود عملکرد سيستم در کل کوچک به نظر مي رسد، نکته مهم در مورد EDO آن است که اين روش از تراشه DRAM اصلي مورد استفاده در FPM، بهره گيري نموده است. بدان معنا که هيچ هزينه اضافي نسبت به FPM در اين تکنولوژي صرف نمي گردد.
EDO-RAM معمولاً به شکل SIMM با 72 پين عرضه مي گردد. براي استفاده واقعي از حافظه EDO، چيپ ست مادربرد از سال 1995 ( Intel 430FX) تا 1997( Intel 430TX) از تکنيک EDO پشتيباني مي نمود. از آنجائيکه هزينه ساخت تراشه هاي حافظه EDO با تراشه هاي استاندارد يکسان است و نيز با توجه به پشتيباني شرکت اينتل از تراشه هاي EDO در همه چيپ ست هاي خود، بازار PC به يکباره به سمت استفاده از EDO شتاب گرفت.
EDO-RAM براي سيستم هايي با سرعت باس تا 66 مگاهرتز بسيار مناسب بود اما از سال 1998 بازار مربوط به حافظه هاي EDO، با ظهور معماري جديدتر و سريع تر SDRAM رو به کاهش نهاد.
شکل ديگري از حافظه Burst EDO، EDO نام دارد. حافظه BEDO اصولاً همان حافظه EDO با ويژگي هاي خاص burst mode به منظور افزايش سرعت انتقال داده ها نسبت به EDO استاندارد مي باشد. متأسفانه فقط يک چيپ ست( Intel 440FX) از
آن پشتيباني نمود و در نتيجه اين تکنيک به سرعت به وسيله حافظه SDRAM جايگزين گرديد. BEDO هرگز عملاً وارد خط توليد نگرديد.
همانند EDO-RAM، چيپ ست شما مي بايست از اين نوع حافظه پشتيباني کند. از سال 1997 با معرفي چيپ ست هاي 430DX و 430TX، اغلب چيپ ست هاي اينتل از حافظه SDRAM بعنوان محبوب ترين نوع حافظه براي سيستم هاي جديد استفاده مي کنند.
عملکرد حافظه SDRAM بسيار بهتر از FPM يا EDO-RAM مي باشد. از آنجائيکه SDRAM هنوز نوعي حافظه DRAM محسوب مي شود، تأخير زماني اوليه در آن همچنان باقي است اما کل زمان هاي سيکل، خيلي سريع تر از حافظه FPM يا EDO مي باشد. زمان بندي SDRAM براي يک دسترسي burst mode به صورت 1-1-1-5 مي باشد. بدان معنا که چهار عمل خواندن از حافظه فقط در هشت سيکل باس سيستم تکميل مي گردد. اين مقدار را با يازده سيکل مربوط به EDO و چهارده سيکل زماني مربوط به FPM مقايسه کنيد. اين مسأله باعث مي گردد تا حافظه SDRAM، 20 درصد سريع تر از EDOباشد. به همين دليل اغلب سيستم هاي جديد PC از سال 1998 تاکنون از حافظه SDRAM بهره گيري مي کنند.
SDRAM به شکل DIMM فروخته مي شود و به جاي واحد نانوثانيه با واحد مگاهرتز درجه بندي مي گردد.
SDRAM DDR در طي سال 2000 به بازار عرضه گرديد اما تا ظهور مادربردها و چيپ ست هاي پشتيباني کننده از آن، تا سال 2001 نتوانست سهمي از بازار را به خود اختصاص دهد. SDRAM DDR از يک ماژول جديد DIMM با 184 پين استفاده مي کند. DIMM DDRها، داراي تنوعي از سرعت ها بوده و معمولاً به ولتاژ 2.5 ولت نياز دارند. آن ها اساساً شکل توسعه يافته اي از DIMM SDRAM هاي استاندارد مي باشند که براي پشتيباني از double Clocking که در آنجا به ازاي هر سيکل ساعت، دو انتقال صورت مي گيرد، مجدداً طراحي گشتند. براي متمايز شدن از DDR معمولي اغلب SDR، SDRAM ناميده مي شود.
DDR2 DIMMها، شباهت زيادي به DDR DIMMها دارند اما داراي پين هاي بيشتري نسبت به آن ها بوده و از شکاف هاي متفاوتي براي جلوگيري از نصب اشتباه حافظه، استفاده مي کنند. ماژول حافظه DDR2 داراي 240 پين مي باشد که اين تعداد به طور قابل توجهي بيش از حافظه DDR متعارف يا SDRAM DIMM مي باشد.
علاوه بر فراهم نمودن سرعت ها و عرض باند بيشتر، DDR2 داراي مزاياي ديگري مي باشد. اين حافظه از ولتاژ کمتري نسبت به حافظه متداول DDR استفاده مي نمايد( 1.8V در مقايسه با 2.5V). بنابراين مصرف توان و توليد حرارت کاهش مي يابد. از آنجائيکه روي تراشه هاي DDR2، به تعداد پين هاي بيشتري نياز داريم، اين تراشه ها معمولاً از روش بسته بندي FPGA به جاي TSOP استفاده مي کنند.
در آوريل سال 1998، کنسرسيوم JEDEC و اعضاي آن، کار روي مشخصه DDR2 را آغاز نموده و در ماه سپتامبر سال 2003، اين استاندارد را عرضه نمودند. توليد تراشه DDR2 از اواسط سال 2003 آغاز گرديد و اولين چيپ ست ها، مادربردها و سيستم هايي که از DDR2 پشتيباني مي نمودند در اواسط سال 2004 به بازار عرضه شدند. توليد با حجم انبوه تراشه هاي DDR2 و ماژول هاي آن در اواخر سال 2003 آغاز گرديد و عرضه چيپ ست ها و مادربردهاي پشتيباني کننده از اين نوع حافظه در اواسط سال 2004 وارد بازار شد. گزينه هاي ديگري از حافظه DDR2 همانند G-DDR2(DDR2 گرافيکي) در برخي از کارت هاي گرافيکي سطح بالا نيز استفاده مي گردد. پشتيباني گسترده از DDR2 در سيستم هاي مبتني بر اينتل در سال 2005 آغاز گرديد. فقدان پشتيباني از DDR2 در سيستم هاي AMD در سال 2005 کاملاً مشهود بود که در آن زمان خانواده پردازنده هاي AtHlon 64 و Opteron از کنترلرهاي مجتمع حافظه DDR استفاده مي کردند. سيستم هاي مبتني بر پردازنده AMD در نيمه سال 2006 ( با عرضه مادربردهاي مجهز به سوکت AM2)، پشتيباني از DDR2 را آغاز نمودند( سوکت F نيز از حافظه DDR2 پشتيباني مي کند).
توجه به اين نکته جالب است که AMD دو سال بعد از اينتل، از DDR به DDR2 سوئيچ نمود. چرا که AMD به جاي قرار دادن کنترلر حافظه در چيپ ست پل شمالي، آن را در خود آتلون 64( و پردازنده هاي بعد از آن)تعبيه نمود. عليرغم جنبه هاي مثبتي که در اين کار وجود دارد، يک جنبه منفي اين امر، عدم سازگاري سريع با معماري هاي جديد حافظه مي باشد زيرا انجام اين کار نياز به طراحي مجدد پردازنده و سوکت پردازنده را در پي خواهد داشت. اگرچه با عرضه پردازنده هاي Core i7 در سال 2008، اينتل کنترلر حافظه از چيپ ست به پردازنده منتقل نمود.
ماژول هاي DDR3، از طرح هاي پيشرفته سيگنال شامل self-drive calibration و data synchronization همراه با يک سنسور حرارتي onboard بهره گيري مي نمايند. حافظه DDR3 به1.5Vبرق نياز دارد که بيست درصد کمتر از ولتاژ 1.8V مورد استفاده در DDR2 است. ولتاژ کمتر همراه با راندمان بالاتر، در کل مصرف توان را در مقايسه با DDR2 به ميزان سي درصد کاهش مي دهد.
DDR3 مناسب ترين گزينه براي سيستم هايي است که در آنها باس پردازنده/ حافظه، با فرکانس 1333MHz و بالاتر کار مي کنند( که از حداکثر ميزان 1066MHz پشتيباني شده توسط DDR2 بيشتر است). براي حافظه هاي سريع تر در سيستم هاي استاندارد( اورکلاک نشده)، ماژول هاي DDR3 با مشخصه 10600-PC3 و PC3-12800 به ترتيب سرعت ارسال بايت 10667MBps و 12800MBps امکان پذير مي سازند. هنگاميکه با قابليت دوکاناله ترکيب شود، يک زوج ماژول 12800-PC3، منجر به خروجي کل 256000MBps مي گردد. پردازنده هايي با پشتباني سه کاناله( همانند Core 7)، با استفاده از DDR3-1333 و DDR3-1600، داراي عرض باندهاي حافظه، بترتيب 3200MBps و 38400MBps مي باشند. جدول زير انواع ماژول هاي حافظه DDR3 و مشخصه هاي عرض باند آنها را نشان مي دهد.
ماژول هاي 240 پين DDR3، در تعداد پين، اندازه و شکل با ماژول هاي DDR2 مشابه هستند؛ اگرچه ماژول هاي DDR3 با مدارات DDR2 ناسازگار بوده و غيرقابل جابجايي مي باشند.
به واسطه فقدان پشتيباني صنعتي از سوي سازندگان چيپ ست و مادربرد، حافظه RDRAM ديگر نقش مهمي را در کامپيوترهاي شخصي آينده بازي نکرد.
منبع:نشريه بزرگراه رايانه، شماره 132.
در اين مقاله قصد داريم که حافظه را از هر دو جنبه فيزيکي و منطقي مورد بررسي قرار دهيم. ابتدا در خواهيم يافت که حافظه چيست، در کجاي معماري PC قرار دارد و چگونه کار مي کند. سپس روي انواع گوناگون حافظه، سرعت ها و بسته بندي تراشه ها و ماژول هاي حافظه، مطالبي را خواهيم آموخت.
همچنين طرح منطقي حافظه، تعريف حوزه هاي گوناگون و کاربردهاي آن ها، از نقطه نظر سيستمي را بررسي خواهيم نمود. از آنجائيکه طرح منطقي ( با کاربردهاي حافظه از نقطه نظر پردازنده) مد نظر مي باشد، نگاشت حافظه و طرح منطقي آن شايد مشکل ترين موضوعات در مباحث PC تلقي گردد.
حافظه اصلي( اغلب حافظه RAM)، از آن جهت حافظه RAM ناميده مي شود که مي توان به آن دسترسي غيرترتيبي داشت. اين نام اغلب کمي گمراه کننده است. حافظه ROM از نوع دسترسي غيرترتيبي بوده ولي آن را از حافظه RAM متمايز مي کنند. زيرا اين نوع حافظه، داده ها را حتي پس از قطع توان الکتريکي به سيستم، حفظ مي نمايد. همچنين حافظه ديسک سخت نيز داراي دسترسي غيرترتيبي است، اما آن را بعنوان حافظه RAM در نظر نمي گيريم. در طي سال ها، تعريف RAM از يک عبارت با حروف اختصاري ساده، به چيزي که بعنوان فضاي کاري حافظه اصلي پردازنده مورد استفاده قرار مي گيرد، تغيير يافته است و معمولاً از تراشه اي به نام DRAM ساخته مي شود. يکي از مشخصات تراشه هاي DRAM يا RAM ديناميکي، آن است که داده ها را به طور ديناميکي ذخيره مي کنند و اين در واقع دو معني دارد. يکي اينکه اطلاعات را مي توان بارها و بارها روي حافظه RAM بازنويسي نمود. معناي دوم اين مفهوم آن است که حافظه هاي DRAM الزام مي دارند که داده ها، هر چند ميلي ثانيه يکبار، مجدداً روي اين نوع حافظه بازنويسي گشته يا به اصطلاح Refresh گردند.
نوعي از حافظه RAM به نام RAM استاتيکي( SRAM) نيازي به بازسازي پريوديک ( Refresh) ندارد. اين مشخصه مهم RAM بدان معناست که داده ها فقط هنگامي ذخيره مي شوند که توان الکتريکي موجود باشد. هنگامي که ما در مورد حافظه کامپيوتري صحبت مي کنيم، معمولاً منظورمان حافظه RAM يا حافظه فيزيکي سيستم مي باشد که اصولاً تراشه ها يا ماژول هاي مورد استفاده به وسيله پردازنده براي ذخيره سازي برنامه ها و داده ها مد نظر مي باشند. اين عبارت اغلب با کلمه Storage اشتباه گرفته مي شود چرا که عبارت Storage بايد هنگامي استفاده گردد که به چيزهايي همانند ديسک سخت يا نوارهاي مغناطيسي اشاره مي کنيد. اگرچه آن ها مي توانند بعنوان شکلي از RAM با نام حافظه مجازي، مورد استفاده قرار گيرند.
واژه RAM را مي توان هم به تراشه هاي فيزيکي که حافظه سيستم را شکل مي دهند، اطلاق نمود و هم به طرح يا نگاشت منطقي حافظه منصوب مي گردد. نگاشت يا طرح منطقي، به چگونگي نگاشت آدرس هاي حافظه به تراشه هاي واقعي و هريک از مکان هاي آدرس، اطلاق مي شود.
کاربران تازه وارد به دنياي کامپيوتر، اغلب حافظه اصلي ( RAM) را با Storage اشتباه مي گيرند. زيرا هر دوي آن ها داراي ظرفيت هايي هستند که با واحدهاي مشابهي بيان مي گردند. بهترين تشابه براي توضيح رابطه بين حافظه و Storage، تصور يک دفتر کار با يک ميز تحرير و يک کمد فايل مي باشد. ميز تحرير را مي توان بعنوان حافظه RAM و کمد فايل را، Storage تعريف نمود. در اين مثال کمد فايل که نقش ديسک سخت را بازي مي کند، برنامه ها و داده هاي کامپيوتري را براي مدت زمان طولاني نگهداري مي نمايد. ميز تحرير، نقش حافظه اصلي سيستم را بازي نموده و امکان مي دهد تا شخص کارمند که بعنوان پردازنده عمل مي نمايد، به هريک از فايل هاي موجود در آن دسترسي مستقيم داشته باشد. فايل ها، برنامه ها و اسنادي هستند که مي توانيد بداخل حافظه منتقل کنيد. براي کار با يک فايل ويژه، مي بايست آن را از کابينت فايل برداشته و روي ميز تحريرقرار دهيد. اگر اين کشو به اندازه کافي بزرگ باشد، ممکن است در آن واحد روي آن، چندين فايل را داشته باشيد. به همين صورت اگر سيستم شما داراي حافظه بيشتري باشد، مي توانيد برنامه هاي بيشتر يا بزرگتري را اجرا نموده و روي اسناد بزرگتري کار کنيد.
افزودن ديسک سخت به يک سيستم، همانند قرار دادن يک کابينت فايل بزرگتر در دفتر کار مي باشد. فايلهاي بيشتري را مي توان به طور دائمي در آن نگهداري نمود. افزودن حافظه بيشتر به يک سيستم، همانند استفاده از يک ميز بزرگتر مي باشد. شما مي توانيد در آن واحد، روي برنامه ها و داده هاي بيشتري کار کنيد.
يک تفاوت بين اين مثال و روشي که اجزاي کامپيوتر کار مي کنند، آن است که هنگامي که يک فايل به داخل حافظه بارگذاري مي شود، در واقع يک کپي از فايل به حافظه منتقل مي شود. هنوز فايل اصلي در داخل ديسک سخت وجود دارد. به دليل ماهيت موقتي حافظه، هريک از فايل هايي را که پس از انتقال به داخل حافظه، تغيير کرده باشند هنگام انتقال به ديسک سخت، مي بايست مجدداً ذخيره گردند. اگر فايل تغيير يافته مجدداً ذخيره نگردد، کپي اصلي فايل روي ديسک سخت، به صورت تغيير نيافته باقي مي ماند. اين درست مثل گفتن آن است که هنگام تعطيل شدن و پايان وقت اداري، هر تغيير ايجاد شده در فايل هاي باقيمانده روي آن ناديده گرفته مي شود. حافظه، برنامه ها را هنگام اجراي آن ها، همراه با داده هايي که به وسيله اين برنامه مورد استفاده قرار مي گيرند، به طور موقتي نگهداري مي نمايد. تراشه هاي RAM، گاهي اوقات Volatile Storage ناميده مي شوند زيرا هنگامي که شما کامپيوتر را خاموش مي کنيد يا يک نوسان در جريان برق ايجاد مي شود، اطلاعات ذخيره شده در RAM از بين مي رود مگر آنکه شما آن ها را روي ديسک سخت ذخيره کرده باشيد. براي فهم بهتر حافظه فيزيکي يک سيستم، شما مي بايست ببينيد که آن ها در کجا قرار دارند و چگونه خود را با سيستم وفق مي دهند. سه نوع اصلي حافظه فيزيکي که در کامپيوترهاي شخصي امروزي مورد استفاده قرار مي گيرند، عبارتند از:
ROM( حافظه فقط خواندني)
DRAM( حافظه ديناميکي با دسترسي غيرترتيبي)
SRAM( حافظه RAM استاتيکي)
تنها نوع حافظه که شما نياز به خريد و نصب آن روي سيستم داريد، حافظه DRAM مي باشد. ساير انواع حافظه، بصورت داخلي در مادربورد(ROM)، پردازنده( SRAM) و ساير قطعات مثل کارت ويدئويي، ديسک هاي سخت و غيره مورد استفاده قرار مي گيرند.
سخت افزار ROM
معمولاً حافظه ROM سيستم، در آدرس E0000h يا F0000h آغاز مي گردد که 128 يا 64 کيلوبايت از انتهاي اولين مگابايت حافظه را اشغال مي کند. از آنجائيکه تراشه ROM معمولاً تا 128 کيلوبايت ظرفيت دارد، برنامه هاي ROM مجاز خواهند بود تا کل 128 کيلوبايت آخر اولين مگابايت حافظه RAM را اشغال نمايند( شامل آدرس دستورالعمل Startup در آدرس FFFF0h که 16 بايت از انتهاي فضاي بايوس را اشغال مي کند. برخي تراشه هاي ROM مادربرد تا 256 کيلوبايت يا 512 کيلوبايت ظرفيت دارند. برنامه اضافي در اين تراشه ها براي نگهداري درايور کارت ويدئويي( آدرس هاي C0000h-C7FFFh) روي مادربوردها استفاده مي گردد.
به نظر عجيب مي رسد که کامپيوتر شخصي اجراي دستورالعمل هاي بايوس را از 16 بايت آخر حافظه ROM آغاز مي کند، اما اين يک طرح هدفمند مي باشد. همه آنچه که يک برنامه نويس ROM مجبور به انجام آن است، قرار دادن يک دستورالعمل Jmp(jump) در آن آدرس مي باشد که به پردازنده مي گويد به شروع واقعي برنامه ROM در اغلب موارد نزديک به آدرس F0000h پرش نمايد که معمولاً 64 کيلوبايت اول حافظه است. اين کار مثل آن است که خواندن هر کتاب را از 16 صفحه انتهاي آن آغاز نموده و سپس همه ناشرين کتاب با يکديگر توافق نمايند تا يک دستورالعمل را در انتهاي کتاب قرار داده که به خواننده بگويد به صفحه اول کتاب، در کدام قسمت آن مراجعه کند. با تنظيم مکان Startup با اين روش، شرکت اينتل امکان داد تا تراشه ROM به هر اندازه دلخواهي رشد کند. ضمن اينکه اين محيط را در انتهاي بالاي آدرس ها در اولين مگابايت فضاي آدرس حافظه حفظ مي نمايد.
برنامه اصلي بايوس ROM در داخل يک تراشه ROM روي مادربرد قرار دارد، اما کارت هاي آداپتور با تراشه هاي ROM، داراي روتين هاي بايوس ثانوي بوده و درايورهاي مورد نياز براي يک کارت الحاقي خاص،( به ويژه کارت هاي سخت افزاري که مي بايست در طي فرايند بوت فعال باشند مثل کارت هاي ويدئويي) در داخل تراشه اصلي مادربرد قرار مي گيرند. کارت هايي که نياز به درايورهاي فعال در طي پروسه بوت ندارند( همانند کارت هاي صوتي) معمولاً نيازي به تراشه ROM ندارند زيرا اين درايورها را بعداً مي توان از روي ديسک سخت فراخواني نمود.
از آنجائيکه بايوس، بخش اصلي کد ذخيره شده در ROM مي باشد، ما غالب ROM را، ROM BIOS مي ناميم. در PCهاي قديمي تر، ROM BIOS مي تواند شامل 5 يا 6 تراشه باشد. اما اغلب PCهاي امروزي فقط يک تراشه ROM دارند.
ROMهاي کارت آداپتور، همانند آنهايي که به وسيله کارت هاي ويدئويي، اسکازي و کارت هاي شبکه( در ايستگاه هاي کاري بدون ديسک) مورد استفاده قرار مي گيرند در طي اولين بخش پروسه بوت( POST) به طور اتوماتيک به وسيله ROM مادربرد، اسکن شده و خوانده مي شوند. ROM مادربرد، محيطي ويژه از حافظه RAM رزرو شده براي ROMهاي آداپتور( آدرس C0000-DFFFFh) را با هدف يافتن فايل هاي 55AAh Signature( که نشان دهنده شروع يک ROM مي باشند) را جستجو نموده و مي خواند.
همه ROMهاي آداپتور مي بايست با 55AAh آغاز شوند در غير اينصورت، مادربرد نمي تواند آن ها را تشخيص دهد. بايت سوم نشان مي دهد که اندازه ROM در واحدهاي 512 بايتي به نام Paragraphs تخصيص داده شده و بايت چهارم، شروع واقعي برنامه هاي درايور مي باشد. بايت اندازه به وسيله ROM مادربرد براي اهداف تست مورد استفاده قرار مي گيرد. ROM مادربرد، همه بايت هاي ROM را به يکديگر اضافه نموده و حاصل جمع را به تعداد بايت ها تقسيم مي کند. نتيجه مي بايست يک باقيمانده 100h را توليد نمايد. بدينگونه هنگام ايجاد يک ROM براي يک آداپتور، برنامه نويس معمولاً از يک بايت fill در انتها براي عمليات Checksum استفاده مي نمايد. با استفاده از اين Checksum، مادربرد هر ROM آداپتور را در طي POST تست نموده و هر موردي که دچار اشکال شده باشد را علامت گذاري مي کند.
بايوس مادربرد به طور اتوماتيک اين برنامه را در هريک از آداپتورها اجرا مي نمايد. شما اين مسأله را در اغلب سيستم ها هنگام روشن نمودن کامپيوتر و اجراي عمليات POST مشاهده مي کنيد.
ROM Shadowing
بهره عملکرد حاصل از بکارگيري تکنيک ROM Shadowing اغلب خيلي کم مي باشد و در صورت عدم Setup صحيح مي تواند سبب بروز مشکلاتي گردد. بنابراين در اغلب موارد، کار معقول آن است که فقط بايوس مادربرد( و حداکثر بايوس کارت تصوير) را Shadow نموده و ساير قسمت هاي بايوس را ناديده بگيريد.
معمولاً تکنيک ROM Shadowing تنها وقتي مفيد است که شما سيستم هاي عامل 16 بيتي مثل DOS يا ويندوز X3 را اجرا مي کنيد. در صورتي که سيستم هاي عامل 32 بيتي يا 64 بيتي استفاده قرار کنيد، تکنيک ROM Shadowing مفيد واقع نمي شود زيرا اين سيستم هاي عامل هنگام اجرا از کد 16 بيتي ROM استفاده نمي کنند. در عوض اين سيستم هاي عامل، درايورهاي 32 بيتي را به داخل حافظه RAM منتقل نموده که جايگزين کد بايوس 16 بيتي که فقط در طي مرحله Startup سيستم مورد استفاده قرار مي گيرد، مي نمايد.
فرمان هاي کنترلي ROM Shadowing، در برنامه CMOS Setup در ROM مادربرد يافت مي شود.
انواع تراشه هاي ROM
ROM( حافظه خواندني)
PROM( حافظه ROM قابل برنامه ريزي)
EPROM( حافظه PROM قابل پاک شدن)
EEPROM( حافظه PROM قابل پاک شدن به طور الکتريکي که از آن گاهي اوقات بعنوان Flash ROM ياد مي شود)
بدون توجه به نوع تراشه ROM که سيستم شما استفاده مي نمايد، اصولاً داده هاي ذخيره شده در يک تراشه ROM، غير فرار بوده و در غير از مواردي که به طور عمدي پاک مي شوند، داده ها را در خود حفظ مي نمايد.
ROM
PROM
با وجوديکه گفتيم اين تراشه ها در ابتدا خالي از داده مي باشند، در واقع به لحاظ فني آن ها در ابتداي عرضه به مشتري، داراي اطلاعات « 1» باينري، در تمام سلول هاي حافظه خود هستند. به عبارت ديگر يک تراشه ROM يک مگابيتي، داراي يک ميليون مکان بيت مي باشد که هريک از آن ها حاوي يک عدد 1 باينري هستند. سپس يک تراشه PROM خالي را مي توان با داده هاي مورد نظر پر نمود. براي اين کار به يک دستگاه مخصوص به نام ROM Programmer نياز داريم.
برنامه ريزي تراشه ROM، گاهي اوقات burning ناميده مي شود که در آن هر بيت 1 باينري، بعنوان يک فيوز تلقي مي شود. اغلب تراشه ها با ولتاژ 5 ولت کار مي کنند. اما هنگامي که يک تراشه PROM، برنامه ريزي مي شود، يک ولتاژ بالاتر(معمولاً 12 ولت) به آدرس هاي گوناگون داخل تراشه اعمال مي گردد. اين ولتاژ بالاتر در واقع فيوزها را در مکان هاي مطلوب، مي سوزاند و بدين ترتيب برخي از اعداد باينري 1، به عدد صفر تبديل مي شوند. اگرچه مي توان، 1 باينري را به صفر تبديل نمود، اين فرايند قابل بازگشت نيست. بدان معنا که نمي توان يک صفر باينري را در داخل اين تراشه ها به 1 باينري باز گرداند.
ROM Programmer، برنامه اي را که شما مايليد در داخل تراشه بنويسيد بررسي نموده و سپس در مکان هاي معيني روي تراشه، « 1» باينري را به «0» تبديل مي کند.
تراشه هاي PROM، اغلب به عنوان تراشه هاي OTP( يک بار قابل برنامه ريزي) ياد مي شوند. آن ها يک بار قابل برنامه ريزي بوده و هرگز پاک نمي شوند. اغلب تراشه هاي PROM، خيلي ارزان هستند. بنابراين اگر بخواهيد برنامه داخل اين نوع تراشه را تغيير دهيد، آن را دور انداخته و يک تراشه جديد را جايگزين آن مي کنيد.
عمل برنامه ريزي يک تراشه PROM از چند ثانيه تا چند دقيقه( وابسته به اندازه تراشه) و الگوريتم مورد استفاده به وسيله دستگاه برنامه ريزي، به طول مي انجامد. برخي از اين دستگاه ها در آن واحد مي توانند چندين تراشه PROM را برنامه ريزي کنند.
EPROM
هدف استفاده از اين پنجره، امکان استفاده از نور فرابنفش براي نفوذ به قالب تراشه و پاک کردن محتويات تراشه مي باشد. از پنجره کريستال کوارتز استفاده مي گردد زيرا اشعه فرابنفش نمي تواند از شيشه معمولي عبور کند. البته وجود پنجره کوارتز باعث مي گردد که تراشه هاي EPROM گران تر از تراشه هاي OTP PROM باشند.
نور فرابنفش با ايجاد يک واکنش شيميايي که باعث جوش خوردن نقاط اتصال قطع شده فيوزها مي گردد، تراشه را پاک مي کند. بدينگونه هر باينري در داخل تراشه، تبديل به 1 باينري مي گردد و تراشه به حالت اوليه خود که در آن همه سلول هاي حافظه، مبين عدد 1 باينري هستند، تبديل مي شود. اشعه فرابنفش مي بايست در طول موج 2537 آنگسترم و شدت نور نسبتاً بالاي 12000 uw/cm2 مي باشد که مي بايست از فاصله 2 تا 3 سانتيمتري روي تراشه بتابد. مدت زمان لازم براي پاک شدن محتويات تراشه، 5 تا 15 دقيقه مي باشد. يک دستگاه EPROM eraser، داراي يک منبع نور فرابنفش مي باشد که شما تراشه ها را در داخل اين دستگاه در معرض نور فرابنفش قرار مي دهيد. برخي دستگاه هاي EPROM eraser حرفه اي، تا 50 تراشه EPROM را در آن واحد پاک مي کنند.
پنجره کريستال کوارتز روي يک تراشه EPROM، معمولاً به وسيله يک نوار باريک پوشانده مي شود که اين کار مانع آن مي گردد که تراشه در معرض نور فرابنفش به طور غيرعمدي قرار گيرد. نور فرابنفش موجود در اشعه خورشيد و حتي روشنايي استاندارد اتاق مي تواند سبب تغيير محتويات تراشه EPROM گردد. به اين دليل پس از آنکه تراشه، برنامه ريزي گرديد، شما مي بايست با استفاده از يک نوار باريک، پنجره روي تراشه را بپوشانيد.
EEPROM
هنگام استفاده از يک تراشه EEPROM، نيازي به دستگاه هاي ROM Programmer يا EPROM eraser نمي باشد. همه مادربردهاي ساخته شده از سال 1994 به بعد از تراشه هاي EEPROM استفاده مي کنند.
شماره قطعه تراشه هاي 28xxxx، EEPROM يا 29xxxx مي باشد. همچنين اين تراشه ها فاقد پنجره کوارتز مي باشند. وجود تراشه EEPROM يا flash ROM در داخل مادربرد بدان معناست که اکنون مي توانيد بدون نياز به تعويض تراشه آن را ارتقاء دهيد. در اغلب موارد شما بايوس جديد را از سايت وب سازنده مادربرد دريافت نموده و سپس با استفاده از يک برنامه مخصوص، محتويات تراشه ROM مادربرد خود را روزآمد مي نماييد.
DRAM
سلول هاي حافظه در يک تراشه DRAM، خازن هاي کوچکي هستند که با استفاده از ذخيره سازي بار الکتريکي در خود، اطلاعات يک بيت از داده را در خود ذخيره مي کنند. مشکل مربوط به حافظه DRAM آن است که آن ها داراي ماهيت ديناميکي هستند. همچنين به دليل طرح خاص آن ها، مي بايست دائماً Refresh گردند. در غير اينصورت بارهاي الکتريکي در تک تک خازن هاي حافظه، از دست خواهد رفت و داده ها پاک مي شوند. اغلب سيستم ها، داراي يک کنترلر حافظه مي باشند.( معمولاً در داخل پل شمالي چيپ ست مادربرد) که معمولاً هر 15 ميلي ثانيه يکبار، عمليات Refresh حافظه را انجام مي دهند. اين بدان معناست که هر 15 ميلي ثانيه يکبار، همه رديف ها در حافظه به منظور بازسازي داده ها، مجدداً خوانده مي شوند.
بازسازي اطلاعات حافظه، متأسفانه وقت پردازنده را نسبت به ساير وظايف آن، بيشتر به خود اختصاص مي دهد. زيرا هر سيکل بازسازي اطلاعات، به چند سيکل CPU نياز دارد. در سيستم هاي قديمي تر، سيکل بازسازي داده ها، تا 10 درصد يا بيشتر از کل زمان CPU را به خود اختصاص مي داد. اما در سيستم هاي جديد با فرکانس پردازنده چند گيگاهرتز، سيکل بازسازي حافظه کمتر از 1 درصد کل زمان CPU مي باشد. برخي سيستم ها به شما اجازه مي دهند تا از طريق، CMOS Setup پارامترهاي زمانبندي بازسازي حافظه را تغيير دهيد. زمان بين سيکل هاي بازسازي حافظه(tREF)، برحسب ميلي ثانيه نيست بلکه بر حسب سيکل ساعت بيان مي شود.
اما توجه داشته باشيد که افزايش زمان بين سيکل هاي بازسازي حافظه( tREF) به منظور تسريع عملکرد سيستم مي تواند سبب گردد تا برخي سلول هاي حافظه شروع به نشت بار نمايند که مي تواند سبب بروز خطاي Soft error گردد. يک Soft error، نوعي خطاي داده است که به وسيله يک تراشه معيوب ايجاد نمي گردد. توصيه مي شود که از پارامترهاي پيش فرض زمانبندي بازسازي داده ها استفاده کنيد. از آنجائيکه زمان لازم براي بازسازي داده ها در حافظه، کمتر از 1 درصد عرض باند سيستم هاي مدرن را به خود اختصاص مي دهد، تغيير نرخ بازسازي، تأثير کمي روي عملکرد سيستم دارد.بسياري از سيستم هاي جديد، اجازه تغيير تنظيمات زمانبندي حافظه را نمي دهند و از تنظيمات اتوماتيک استفاده مي کنند. روي يک سيستم داراي تنظيمات اتوماتيک، مادربرد پارامترهاي زمانبندي SPD ROM را روي ماژول حافظه خوانده و سرعت هاي سيکل بازسازي را براي انطباق با آن تنظيم مي نمايد.
حافظه هاي DRAM، فقط از يک زوج ترانزيستور و خازن به ازاي هر بيت داده استفاده مي کنند و اين امر امکان مي دهد که آن ها بسيار متراکم بوده و ظرفيت حافظه بيشتري را به ازاي هر تراشه نسبت به ساير انواع حافظه ارائه نمايند. اخيراً تراشه هاي DRAM با چگالي هايي تا 4 گيگابيت( 512MB) به ازاي هر تراشه عرضه شده اند و اين بدان معناست که تراشه هاي DRAM با 4 ميليارد ترانزيستور يا بيشتر ساخته شده اند. اين عدد خيلي بيشتراز ترانزيستورهاي داخل پردازنده هاست. اما مي بايست به اين نکته توجه کنيد که در يک تراشه حافظه، ترانزيستورها و خازن ها، در يک شبکه منظم و معمولاً مربع شکل از ساختارهاي تکراري ساده ترتيب بندي شده اند. بر خلاف پردازنده که يک مدار پيچيده تر از ساختارهاي متفاوت بوده و داراي عناصري است که در يک سبک نامنظم به يکديگر متصل مي باشند.
ترانزيستور مربوط به هر سلول بيت DRAM، وضعيت بار خازن مجاور خود را بررسي مي کند. اگر خازن باردار باشد، سلول داراي محتواي «1» مي باشد. در صورت عدم وجود بار، محتواي داده اي آن، «0» خواهد بود. بار موجود در خازن هاي کوچک، دائماً در حال خالي شدن بوده و به همين دليل اين سلول ها مي بايست دائماً Refresh گردند.
حافظه کاشه: SRAM
حافظه SRAM، با زمان هاي دسترسي 0.45ns يا کمتر موجود مي باشد که مي تواند همگام با پردازنده هاي 2.2GHz يا سريع تر عمل نمايد. چرا که در طراحي حافظه SRAM، يک مجموعه از شش ترانزيستور براي هر بيت حافظه وجود دارد. استفاده از ترانزيستورها( بدون خازن ها)، بدان معناست که نيازي به بازسازي متناوب سلول هاي حافظه نمي باشد. زيرا هيچ خازني وجود ندارد که با گذشت زمان بار خود را از دست بدهد. مادامي که توان الکتريکي لازم به سلول هاي حافظه اعمال گردد، حافظه SRAM اطلاعات خود را حفظ خواهد نمود. با توجه به اين خصيصه ها چرا از حافظه SRAM براي همه واحد حافظه سيستم استفاده نمي گردد؟ پاسخ اين سؤال ساده است:
در مقايسه با DRAM، حافظه SRAM خيلي سريع تر مي باشد، اما در عين حال به لحاظ تراکم يا چگالي سلول هاي حافظه، از حافظه DRAM خيلي عقب تر بوده و نيز از آن خيلي گران تر است. تراکم کمتر سلول هاي حافظه بدان معناست که تراشه هاي SRAM به لحاظ فيزيکي بزرگتر هستند و در کل، تعداد بيت هاي داده بسيار کمتري را در خود ذخيره مي کنند. تعداد زياد ترانزيستورها و طرح خوشه اي اين حافظه بدان معناست که تراشه هاي SRAM هم به لحاظ فيزيکي، بزرگتر از تراشه هاي DRAM هستند و هم از جنبه توليد، گران تر از آن تمام مي شوند. براي مثال يک ماژول DRAM، داراي 512 مگابايت حافظه RAM يا بيشتر بوده در حاليکه ماژول هاي SRAM با همان اندازه فيزيکي، فقط 9 مگابايت ظرفيت دارند و با وجود اين حجم حافظه، با حافظه 512 مگابايتي DRAM قيمت يکساني خواهند داشت. هزينه بالا و محدوديت هاي فيزيکي مانع از آن مي شود که حافظه SRAM، بعنوان حافظه اصلي براي سيستم هاي PC مورد استفاده قرار گيرد.
با وجوديکه حافظه SRAM براي استفاده در کامپيوترهاي شخصي( بعنوان حافظه اصلي) خيلي گران مي باشد، طراحان PC، روشي را براي استفاده مؤثر از SRAM يافته اند. به جاي پرداخت هزينه براي حافظه SRAM، بعنوان حافظه اصلي سيستم که بتواند با سرعت CPU سازگاري داشته باشد، مقدار کوچکي از حافظه SRAM بعنوان حافظه کاشه در سيستم هاي کامپيوتري مورد استفاده قرار مي گيرد. حافظه کاشه با سرعت هاي نزديک يا حتي معادل با سرعت پردازنده عمل نموده و اين همان حافظه ايست که پردازنده معمولاً مستقيماً اطلاعات را از روي آن مي خواند و يا روي آن مي نويسد. در طي عمليات خواندن، داده ها در حافظه کاشه سريع، در اختيار پردازنده کامپيوتر قرار مي گيرد. براي تبديل زمان دسترسي از نانوثانيه به مگاهرتز از فرمول ذيل استفاده مي شود:
nanoseconds× 100=MHz/1
به همين شکل براي تبديل از مگاهرتز به نانوثانيه از فرمول معکوس ذيل استفاده کنيد:
MHz× 1000= nanoseconds/1
امروزه حافظه هايي سريع تر از 1GHz( 1 نانوثانيه) موجود هستند، اما تا اواخر دهه 90 ميلادي، DRAM به 16MHz( شصت نانوثانيه) محدود مي شد. هنگامي که سيستم هاي PC با فرکانس 16 مگاهرتز يا کمتر اجرا مي شدند، حافظه DRAM، کاملاً همگام با مادربرد و پردازنده سيستم عمل مي نمود و نيازي به حافظه کاشه نداشت. اما به محض آنکه پردازنده ها، سد 16 مگاهرتز را شکستند، DRAM ديگر نمي توانست همگام با سيستم عمل نمايد و اين دقيقاً همان زماني بود که حافظه SRAM وارد سيستم PC گرديد. اين رخداد به سال 1986 و 1987 برمي گردد که در آن زمان، سيستم هاي مبتني بر پردازنده هاي 386 با سرعت هاي 20 مگاهرتز و بيشتر عرضه گرديدند. اين سيستم ها، اولين کامپيوترهاي شخصي هستند که از حافظه کاشه استفاده نمودند. از آنجائيکه حافظه کاشه مي تواند با سرعت پردازنده اجرا گردد، سيستم طوري طراحي مي گردد که کنترلر کاشه، نيازهاي حافظه پردازنده را پيش بيني نموده و از قبل داده هاي لازم را به داخل حافظه کاشه پر سرعت منتقل مي کند. بدين گونه همچنان که پردازنده يک آدرس حافظه را فراخواني مي کند، داده ها مي توانند از داخل حافظه کاشه ( به جاي حافظه اصلي) بازيابي گردند.
ميزان مؤثر بودن عملکرد حافظه کاشه به صورت hit ratio بيان مي شود. اين مفهوم، نسبت موفقيت هاي حافظه کاشه، به کل زمانهاي دسترسي حافظه مي باشد. يک hit هنگامي رخ مي دهد که داده هايي که پردازنده به آن نياز دارد، از حافظه اصلي به حافظه کاشه( از قبل) منتقل مي شود. بدان معنا که پردازنده مي تواند داده هاي مذکور را از حافظه کاشه بخواند. miss در حافظه کاشه هنگامي رخ مي دهد که کنترلر کاشه، نياز به يک آدرس خاص در حافظه اصلي را پيش بيني ننموده و داده هاي مطلوب از قبل به داخل کاشه منتقل نمي شود. در مورد دوم، پردازنده مي بايست داده ها را از حافظه اصلي که سرعت آن خيلي پايين تر است، بازيابي نمايد. هر بار که پردازنده داده هاي مورد نظر را از حافظه اصلي با سرعت خيلي کمتري نسبت به پردازنده، سيکل مي زند. اگر پردازنده با حافظه کاشه روي قالب پردازنده، با سرعت 3.6GHz سيکل بزند( روي يک باس 1333MHz)، هم پردازنده و هم حافظه کاشه روي تراشه، داراي زمان سيکل زني 0.28 نانوثانيه هستند در حاليکه حافظه اصلي داراي زمان سيکل زني 0.75ns بوده که 5 برابر کندتر از حافظه کاشه مي باشد. بنابراين هر بار پردازنده 3.6 گيگاهرتزي از حافظه اصلي بخواند، راندمان عملکرد آن به 1333MHz تقليل پيدا مي کند. علت کندي پردازنده هنگام خواندن از روي حافظه اصلي، وجود زمان هاي انتظار مي باشد که در آن، پردازنده هيچ کاري انجام نمي دهد. بنابراين در اينجا به اهميت وجود حافظه کاشه پي مي بريم.
براي حداقل ساختن نياز پردازنده به خواندن داده ها از حافظه اصلي، 2 تا 3 لايه از حافظه کاشه در سيستم هاي مدرن با نام هاي کاشه سطح يک( L1)، سطح دو(L2) و سطح سه(L3) وجود دارند. کاشه L1 همچنين به نام کاشه داخلي نيز معروف است زيرا هميشه به عنوان بخشي از پردازنده روي قالب آن تعبيه مي شود. از آنجائيکه کاشه L1 هميشه هم سرعت با هسته مرکزي پردازنده اجرا مي شود، سريع ترين نوع کاشه در سيستم مي باشد. همه پردازنده هاي 486 و بعدي، از کاشه L1 روي قالب پردازنده استفاده مي کنند. کاشه L2، اصولاً کاشه خارجي ناميده مي شود زيرا هنگام ظهور خود، روي تراشه پردازنده قرار نداشت. چرا که در همه سيستم هاي 386 و 486 و پردازنده اصلي پنتيوم،اين حافظه روي مادربرد قرار داشت. در اين سيستم ها، کاشه L2 داراي سرعتي همسان با باس مادربرد و CPU بود زيرا روي مادربرد قرار داشته و به باس CPU متصل بود.
با توجه به بهبود عملکرد سيستم ها، طرح هاي بعدي پردازنده از اينتل و AMD، کاشه L2 را روي خود پردازنده قرار دادند. در همه پردازنده ها از اواخر سال 1999، کاشه L2 مستقيماً بعنوان بخشي از قالب پردازنده طراحي گرديد. در تراشه هايي با حافظه کاشه L2 روي قالب تراشه، سرعت آن با سرعت پردازنده کاملاً يکسان مي باشد. در مقابل، اغلب پردازنده هاي قبل از سال 1999 داراي حافظه هاي کاشه L2 روي مادربرد بودند. حافظه کاشه L2 در بسياري از اين پردازنده هاي قديمي تر، داراي سرعتي معادل نصف يا يک سوم سرعت هسته پردازنده بود. سرعت کاشه خيلي مهم است بنابراين سيستم هاي داراي حافظه کاشه L2 روي مادربرد، کندتر عمل مي نمودند. قرار دادن L2 در داخل پردازنده، سرعت آن را به ميزان قابل توجهي افزايش داد.
پردازنده هايي با حافظه کاشه L2داخلي، سريع تر از موردهاي نصب شده روي مادربرد عمل مي نمايند؛ بنابراين اغلب مادربردهاي طراحي شده براي پردازنده هايي با کاشه داخلي، هيچ فضايي براي نگهداري حافظه کاشه روي مادربرد ندارند.
حافظه کاشه L3 در ايستگاه هاي کاري پر قدرت و پردازنده هاي سرور همانند زئون و خانواده ايتانيوم از سال 2001 به بعد وجود دارد. اولين پردازنده روميزي با کاشه L3، Pentium 4 Extreme Edition نام گرفت. اين يک تراشه سطح بالاست که در اواخر سال 2003 معرفي گرديد و داراي 2 مگابايت حافظه کاشه L3 روي قالب پردازنده مي باشد. با وجوديکه پيش بيني مي شد از کاشه L3 بطور وسيعي در پردازنده هاي دسک تاپ استفاده گردد، اما نسخه هاي بعدي Pentium 4 Extreme Edition، از کاشه L3 استفاده نکردند و در عوض از کاشه L2 بزرگتر، بمنظور بهبود عملکرد پردازنده بهره گيري کردند. کاشه L3 در سال 2007 با ظهور AMD Phenom و در سال 2008 با Intel Core i7، ( که هر دو داراي چهار هسته روي يک قالب پردازنده بودند) به حوزه پردازنده هاي PC بازگشت. کاشه L3 بويژه براي پردازنده هايي با چهار هسته يا بيشتر مناسب است چرا که همه هسته ها مي توانند اين کاشه( روي قالب پردازنده) را با يکديگر به اشتراک گذارند. کليد فهم حافظه کاشه و حافظه اصلي، بررسي اين نکته است که در کجاي معماري سيستم به آن ها نياز داريم.
انواع حافظه RAM
سرعت هاي تراشه و سيستم، برحسب مگاهرتز که به معناي يک ميليون سيکل بر ثانيه و گيگاهرتز که يک ميليارد سيکل در ثانيه مي باشد، بيان مي گردد. پردازنده هاي امروزي در طيف 2GHz-4GHz اجرا مي شوند که بيشتربهبودهاي عملکرد، ناشي از اعمال تغييرات در طرح CPU( مثل چند هسته اي) است تا افزايش سرعت صرف کلاک پردازنده.
از آنجاييکه صحبت در مورد سرعت سي پي يو کمي گمراه کننده است، فکر مي کنم جالب باشد ببينيم آنها چگونه با هم مقايسه مي شوند. قبلاً به شما نشان داديم که چگونه به صورت رياضي اين مقادير را به يکديگر تبديل کنيد.
در تاريخ PC، همواره شاهد بوده ايم که حافظه در همگام شدن با CPU( به لحاظ زماني) با مشکل مواجه بوده است و به همين خاطر از چندين سطح حافظه کاشه، براي گرفتن درخواست هاي پردازنده از حافظه اصلي کندتر( در ميانه راه) استفاده گرديده است. اگرچه اخيراً سيستم هايي که از DDR2، DDR و DDR3 SDRAM استفاده مي نمايند، داراي عملکرد باس حافظه معادل با باس پردازنده هستند. هنگاميکه سرعت باس حافظه، معادل با سرعت باس پردازنده باشد، عملکرد حافظه اصلي براي آن سيستم در وضعيت بهينه است.
در سال 2007 حافظه DDR2 و DDR3 با سرعت هايي تا 1066MHz و بالاتر به بازار آمدند. در سال 2009، حافظه DDR3 با سرعت هايي تا 1600MHz در سيستم هاي جديد به شدت محبوبيت يافت.
Fast Page mode DRAM
حافظه DRAM استاندارد( 60 نانوثانيه) معمولاً داراي زمانبندي burst mode به صورت 5-3-3-3 مي باشد. اين بدان معناست که اولين دسترسي، به 5 سيکل زماني( در يک باس سيستم 66 مگاهرتزي، اين زمان به صورت 15ns=75ns×100 محاسبه مي گردد) و سيکل هاي بعدي هرکدام سه سيکل زماني را به خود اختصاص مي دهند( 15ns=45ns× 3). همانطور که مي بينيد، زمانبندي واقعي سيستم تا حدي کمتر از سرعت اسمي حافظه مي باشد. بدون تکنيک bursting، دسترسي به حافظه به صورت 5-5-5-5 مي باشد. زيرا تأخير کاملي براي هر انتقال حافظه لازم خواهد بود. حافظه DRAM که از Paging و bursting پشتيباني مي کند، حافظه Fast Page mode DRAM يا FPM نام دارد.
براي تسريع دسترسي به حافظه FPM، تکنيک ديگري به نام interleaving وجود دارد. در اين طرح، دو بانک جداگانه از حافظه با يکديگراستفاده مي گردند و دسترسي به صورت متناوب از يکي به ديگري( بعنوان بانک هاي زوج و فرد) سوئيچ مي گردد. هنگامي که يکي از بانک ها مورد دسترسي قرار مي گيرد، بانک ديگر در حال شارژ مجدد مي باشد و آدرس هاي رديف و ستون آن انتخاب مي شود. سپس همين که بانک اولي در اين زوج بانک، عمليات بازگرداندن داده ها را به اتمام رساند، بانک دوم با احتساب قسمت تأخير سيکل زماني، اين مرحله را به پايان رسانده و اکنون آماده بازگرداندن داده ها به CPU مي باشد. در حاليکه بانک دوم داده ها را باز مي گرداند، بانک اول در حال شارژ مجدد و انتخاب آدرس رديف و ستون دسترسي بعدي مي باشد. اين همپوشاني دسترسي ها در دو بانک، اثر تأخير يا سيکل هاي شارژ مجدد را کاهش داده و امکان بازيابي داده ها را به صورت سريع تر ممکن مي نمايد. تنها مشکل روش interleaving آن است که شما مي بايست زوج هاي مشابهي از بانک ها را با يکديگر نصب کنيد که اين امر، مقدار SIMMها يا DIMMها را دو برابر مي کند. اين روش در سيستم هاي حافظه با پهناي 32 بيت محبوبيت داشت اما در خانواده پنتيوم به دليل عرض حافظه 64 بيتي، محبوبيت خود را از دست داد. براي اجراي interleaving در يک سيستم پنتيوم، شما مي بايست در آن واحد، حافظه 128 بيتي را نصب کنيد بدان معنا که چهار SIMM 72 پين يا دو DIMMرا براي اين کار نياز داريد.
EDO(Extended Data out RAM)
نقش EDO در جهت سرعت بخشيدن به حافظه آن است که با فعال نگه داشتن کنترلر حافظه براي شروع يک دستورالعمل جديد، آدرس ستون( ضمن خواندن داده ها در آدرس فعلي) سيکل هاي زماني حافظه بهبود مي يابد. اين روش با روشي که در سيستم هاي قديمي تر از طريق interleaving بانک هاي حافظه انجام مي گيرد، مشابه مي باشد اما برخلاف interleaving با EDO شما نيازي به نصب دو بانک مشابه حافظه به طور همزمان در سيستم خود نخواهيد داشت.
EDO-RAM داراي ترتيب سيکل هاي زماني burst mode به صورت 2-2-2-5 مي باشد. اين را با ترتيب 3-3-3-5 که در حافظه هاي Fast Page mode DRAM مورد استفاده قرار مي گيرند، مقايسه کنيد. براي انجام چهار انتقال از حافظه، EDO به يازده سيکل زماني کامل نياز دارد در حالي که FPM به چهارده سيکل کامل نياز خواهد داشت. اين به معناي 22 درصد بهبود در زمان سيکل بندي حافظه مي باشد. اما در آزمايشات عملي، ميزان بهبود در حدود 5 درصد محاسبه مي شود. با وجوديکه بهبود عملکرد سيستم در کل کوچک به نظر مي رسد، نکته مهم در مورد EDO آن است که اين روش از تراشه DRAM اصلي مورد استفاده در FPM، بهره گيري نموده است. بدان معنا که هيچ هزينه اضافي نسبت به FPM در اين تکنولوژي صرف نمي گردد.
EDO-RAM معمولاً به شکل SIMM با 72 پين عرضه مي گردد. براي استفاده واقعي از حافظه EDO، چيپ ست مادربرد از سال 1995 ( Intel 430FX) تا 1997( Intel 430TX) از تکنيک EDO پشتيباني مي نمود. از آنجائيکه هزينه ساخت تراشه هاي حافظه EDO با تراشه هاي استاندارد يکسان است و نيز با توجه به پشتيباني شرکت اينتل از تراشه هاي EDO در همه چيپ ست هاي خود، بازار PC به يکباره به سمت استفاده از EDO شتاب گرفت.
EDO-RAM براي سيستم هايي با سرعت باس تا 66 مگاهرتز بسيار مناسب بود اما از سال 1998 بازار مربوط به حافظه هاي EDO، با ظهور معماري جديدتر و سريع تر SDRAM رو به کاهش نهاد.
شکل ديگري از حافظه Burst EDO، EDO نام دارد. حافظه BEDO اصولاً همان حافظه EDO با ويژگي هاي خاص burst mode به منظور افزايش سرعت انتقال داده ها نسبت به EDO استاندارد مي باشد. متأسفانه فقط يک چيپ ست( Intel 440FX) از
آن پشتيباني نمود و در نتيجه اين تکنيک به سرعت به وسيله حافظه SDRAM جايگزين گرديد. BEDO هرگز عملاً وارد خط توليد نگرديد.
SDRAM
همانند EDO-RAM، چيپ ست شما مي بايست از اين نوع حافظه پشتيباني کند. از سال 1997 با معرفي چيپ ست هاي 430DX و 430TX، اغلب چيپ ست هاي اينتل از حافظه SDRAM بعنوان محبوب ترين نوع حافظه براي سيستم هاي جديد استفاده مي کنند.
عملکرد حافظه SDRAM بسيار بهتر از FPM يا EDO-RAM مي باشد. از آنجائيکه SDRAM هنوز نوعي حافظه DRAM محسوب مي شود، تأخير زماني اوليه در آن همچنان باقي است اما کل زمان هاي سيکل، خيلي سريع تر از حافظه FPM يا EDO مي باشد. زمان بندي SDRAM براي يک دسترسي burst mode به صورت 1-1-1-5 مي باشد. بدان معنا که چهار عمل خواندن از حافظه فقط در هشت سيکل باس سيستم تکميل مي گردد. اين مقدار را با يازده سيکل مربوط به EDO و چهارده سيکل زماني مربوط به FPM مقايسه کنيد. اين مسأله باعث مي گردد تا حافظه SDRAM، 20 درصد سريع تر از EDOباشد. به همين دليل اغلب سيستم هاي جديد PC از سال 1998 تاکنون از حافظه SDRAM بهره گيري مي کنند.
SDRAM به شکل DIMM فروخته مي شود و به جاي واحد نانوثانيه با واحد مگاهرتز درجه بندي مي گردد.
DDR SDRAM
SDRAM DDR در طي سال 2000 به بازار عرضه گرديد اما تا ظهور مادربردها و چيپ ست هاي پشتيباني کننده از آن، تا سال 2001 نتوانست سهمي از بازار را به خود اختصاص دهد. SDRAM DDR از يک ماژول جديد DIMM با 184 پين استفاده مي کند. DIMM DDRها، داراي تنوعي از سرعت ها بوده و معمولاً به ولتاژ 2.5 ولت نياز دارند. آن ها اساساً شکل توسعه يافته اي از DIMM SDRAM هاي استاندارد مي باشند که براي پشتيباني از double Clocking که در آنجا به ازاي هر سيکل ساعت، دو انتقال صورت مي گيرد، مجدداً طراحي گشتند. براي متمايز شدن از DDR معمولي اغلب SDR، SDRAM ناميده مي شود.
DDR2 SDRAM
DDR2 DIMMها، شباهت زيادي به DDR DIMMها دارند اما داراي پين هاي بيشتري نسبت به آن ها بوده و از شکاف هاي متفاوتي براي جلوگيري از نصب اشتباه حافظه، استفاده مي کنند. ماژول حافظه DDR2 داراي 240 پين مي باشد که اين تعداد به طور قابل توجهي بيش از حافظه DDR متعارف يا SDRAM DIMM مي باشد.
علاوه بر فراهم نمودن سرعت ها و عرض باند بيشتر، DDR2 داراي مزاياي ديگري مي باشد. اين حافظه از ولتاژ کمتري نسبت به حافظه متداول DDR استفاده مي نمايد( 1.8V در مقايسه با 2.5V). بنابراين مصرف توان و توليد حرارت کاهش مي يابد. از آنجائيکه روي تراشه هاي DDR2، به تعداد پين هاي بيشتري نياز داريم، اين تراشه ها معمولاً از روش بسته بندي FPGA به جاي TSOP استفاده مي کنند.
در آوريل سال 1998، کنسرسيوم JEDEC و اعضاي آن، کار روي مشخصه DDR2 را آغاز نموده و در ماه سپتامبر سال 2003، اين استاندارد را عرضه نمودند. توليد تراشه DDR2 از اواسط سال 2003 آغاز گرديد و اولين چيپ ست ها، مادربردها و سيستم هايي که از DDR2 پشتيباني مي نمودند در اواسط سال 2004 به بازار عرضه شدند. توليد با حجم انبوه تراشه هاي DDR2 و ماژول هاي آن در اواخر سال 2003 آغاز گرديد و عرضه چيپ ست ها و مادربردهاي پشتيباني کننده از اين نوع حافظه در اواسط سال 2004 وارد بازار شد. گزينه هاي ديگري از حافظه DDR2 همانند G-DDR2(DDR2 گرافيکي) در برخي از کارت هاي گرافيکي سطح بالا نيز استفاده مي گردد. پشتيباني گسترده از DDR2 در سيستم هاي مبتني بر اينتل در سال 2005 آغاز گرديد. فقدان پشتيباني از DDR2 در سيستم هاي AMD در سال 2005 کاملاً مشهود بود که در آن زمان خانواده پردازنده هاي AtHlon 64 و Opteron از کنترلرهاي مجتمع حافظه DDR استفاده مي کردند. سيستم هاي مبتني بر پردازنده AMD در نيمه سال 2006 ( با عرضه مادربردهاي مجهز به سوکت AM2)، پشتيباني از DDR2 را آغاز نمودند( سوکت F نيز از حافظه DDR2 پشتيباني مي کند).
توجه به اين نکته جالب است که AMD دو سال بعد از اينتل، از DDR به DDR2 سوئيچ نمود. چرا که AMD به جاي قرار دادن کنترلر حافظه در چيپ ست پل شمالي، آن را در خود آتلون 64( و پردازنده هاي بعد از آن)تعبيه نمود. عليرغم جنبه هاي مثبتي که در اين کار وجود دارد، يک جنبه منفي اين امر، عدم سازگاري سريع با معماري هاي جديد حافظه مي باشد زيرا انجام اين کار نياز به طراحي مجدد پردازنده و سوکت پردازنده را در پي خواهد داشت. اگرچه با عرضه پردازنده هاي Core i7 در سال 2008، اينتل کنترلر حافظه از چيپ ست به پردازنده منتقل نمود.
DDR3
ماژول هاي DDR3، از طرح هاي پيشرفته سيگنال شامل self-drive calibration و data synchronization همراه با يک سنسور حرارتي onboard بهره گيري مي نمايند. حافظه DDR3 به1.5Vبرق نياز دارد که بيست درصد کمتر از ولتاژ 1.8V مورد استفاده در DDR2 است. ولتاژ کمتر همراه با راندمان بالاتر، در کل مصرف توان را در مقايسه با DDR2 به ميزان سي درصد کاهش مي دهد.
DDR3 مناسب ترين گزينه براي سيستم هايي است که در آنها باس پردازنده/ حافظه، با فرکانس 1333MHz و بالاتر کار مي کنند( که از حداکثر ميزان 1066MHz پشتيباني شده توسط DDR2 بيشتر است). براي حافظه هاي سريع تر در سيستم هاي استاندارد( اورکلاک نشده)، ماژول هاي DDR3 با مشخصه 10600-PC3 و PC3-12800 به ترتيب سرعت ارسال بايت 10667MBps و 12800MBps امکان پذير مي سازند. هنگاميکه با قابليت دوکاناله ترکيب شود، يک زوج ماژول 12800-PC3، منجر به خروجي کل 256000MBps مي گردد. پردازنده هايي با پشتباني سه کاناله( همانند Core 7)، با استفاده از DDR3-1333 و DDR3-1600، داراي عرض باندهاي حافظه، بترتيب 3200MBps و 38400MBps مي باشند. جدول زير انواع ماژول هاي حافظه DDR3 و مشخصه هاي عرض باند آنها را نشان مي دهد.
ماژول هاي 240 پين DDR3، در تعداد پين، اندازه و شکل با ماژول هاي DDR2 مشابه هستند؛ اگرچه ماژول هاي DDR3 با مدارات DDR2 ناسازگار بوده و غيرقابل جابجايي مي باشند.
RDRAM
به واسطه فقدان پشتيباني صنعتي از سوي سازندگان چيپ ست و مادربرد، حافظه RDRAM ديگر نقش مهمي را در کامپيوترهاي شخصي آينده بازي نکرد.
منبع:نشريه بزرگراه رايانه، شماره 132.
/ج