نیاز به مطالب »» نرم افزار های مستقر در حافظه

با سلام

من مطالبی رو در مورد نرم افزار های مستقر در حافظه ( ram ) نیاز دارم حیلی فوری هست
و این مطالب رو تا هفته دیگه نیاز دارم اگر pdf یا مطالبی دارم خیلی ممنون میشم اگه کمک
کنید

با تشکر
 
سلام
HTML:
حافظه با هدف ذخيره سازی اطلاعات دائم ، موقت در کامپيوتر استفاده می گردد. از نمونه حافظه ها می توان
نمونه های زیر را معرفی کرد . ( نمونه های مهم در این پروژه معرفی کامل شده است ) .
RAM ، ROM ، Cache ، Dynamic RAM ، Static RAM ، Flash Memory ، Virtual Memory ، Video Memory ، BIOS
استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی نظير : تلفن های
سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد وسيعی از آنها استفاده بعمل می
آيد.هر يک از دستگاههای فوق مدل های متفاوتی از حافظه را استفاده می نمايند.
مبانی اوليه حافظه
با اينکه می توان واژه " حافظه " را بر هر نوع وسيله ذخيره سازی الکترونيکی اطلاق کرد، ولی اغلب از
واژه فوق برای مشخص نمودن حافظه های سريع با قابليت ذخيره سازی موقت استفاده بعمل می آيد. در
صورتيکه پردازنده مجبور باشد برای بازيابی اطلاعات مورد نياز خود بصورت دائم از هارد ديسک استفاده
نمائد، قطعا" سرعت عمليات پردازنده ( با آن سرعت بالا کند خواهد گرديد. زمانيکه اطلاعات مورد نياز
پردازنده در حافظه ذخيره گردند، سرعت عمليات پردازنده از بعد دستيابی به داده های مورد نياز بيشتر خواهد
گرديد. از حافظه های متعددی بمنظور نگهداری موقت اطلاعات استفاده می گردد. 

مجموعه متنوعی ازانواع حافظه ها وجود دارد . پردازنده با 
توجه به ساختار سلسله مراتبی فوق به آنها دستيابی پيدا خواهد کرد. زمانيکه در سطح حافظه های دائمی نظير
هارد و يا حافظه دستگاههائی نظير صفحه کليد، اطلاعاتی موجود باشد که پردازنده قصد استفاده از آنان را
داشته باشد ، می بايست اطلاعات فوق از طريق حافظه RAM در اختيار پردازنده قرار گيرند. در ادامه
پردازنده اطلاعات و داده های مورد نياز خود را در حافظه Cache و دستورالعمل های خاص عملياتی خود را
در ريجسترها ذخيره می نمايد.
تمام عناصر سخت افزاری پردازنده، هارد ديسک ، حافظه و و عناصر نرم افزاری ( سيستم عامل و...)
بصورت يک گروه عملياتی بکمک يکديگر وظايف محوله را انجام می دهند . بدون شک در اين گروه " حافظه
" دارای جايگاهی خاص است . از زمانيکه کامپيوتر روشن تا زمانيکه خاموش می گردد ، پردازنده بصورت
پيوسته و دائم از حافظه استفاده می نمايد. بلافاصله پس از روشن نمودن کامپيوتر اطلاعات اوليه برنامه
POST از حافظه ROM فعال شده و در ادامه وضعيت حافظه از نظر سالم بودن بررسی می گردد عمليات
سريع خواندن ، نوشتن .در مرحله بعد کامپيوتر BIOS را ازطريق ROM فعال خواهد کرد. BIOS اطلاعات
اوليه و ضروری در رابطه با دستگاههای ذخيره سازی، وضعيت درايوی که می بايست فرآيند بوت از آنجا

آغاز گردد، امنيت و ... را مشخص می نمايد. در مرحله بعد سيستم عامل از هارد به درون حافظه
RAM استفرار خواهد يافت . بخش های مهم و حياتی سيستم عامل تا زمانيکه سيستم روشن است در حافظه
ماندگار خواهند بود. در ادامه و زمانيکه يک برنامه توسط کاربر فعال می گردد، برنامه فوق در حافظه
RAM مستقر خواهد شد. پس از استقرار يک برنامه در حافظه و آغاز سرويس دهی توسط برنامه مورد نظر
در صورت ضرورت فايل های مورد نياز برنامه فوق، در حافظه مستفر خواهند شد.و در نهايت زمانيکه به
حيات يک برنامه خاتمه داده می شود (Close) و يا يک فايل ذخيره می گردد ، اطلاعات بر روی يک رسانه
ذخيره سازی دائم ذخيره و نهايتا" حافظه از وجود برنامه و فايل های مرتبط ، پاکسازی ! می گردد.
همانگونه که اشاره گرديد در هر زمان که اطلاعاتی ، مورد نياز پردازنده باشد، می بايست اطلاعات درخواستی
در حافظه RAM مستقر تا زمينه استفاده از آنان توسط پردازنده فراهم گردد. چرخه درخواست اطلاعات
موجود درRAM توسط پردازنده ، پردازش اطلاعات توسط پردازنده و نوشتن اطلاعات جديد در حافظه يک
سيکل کاملا" پيوسته بوده و در اکثر کامپيوترها سيکل فوق ممکن است در هر ثانيه ميليون ها مرتبه تکرار
گردد.

نياز به سرعت دليلی بر وجود حافظه های متنوع
چرا حافظه در کامپيوتر تا بدين ميزان متنوع و متفاوت است ؟ در پاسخ می توان به موارد ذيل اشاره نمود:
پردازنده های با سرعت بالا نيازمند دستيابی سريع و آسان به حجم بالائی از داده ها بمنظور افزايش بهره وری
و کارآئی خود می باشند.. در صورتيکه پردازنده قادر به تامين و دستيابی به داده های مورد نياز در زمان
مورد نظر نباشد، می بايست عمليات خود را متوقف و در انتظار تامين داده های مورد نياز باشد. پردازند ه
های جديد وبا سرعت يک گيگا هرتز به حجم بالائی از داده ها ( ميليارد بايت در هر ثانيه ) نياز خواهند داشت .
پردازنده هائی با سرعت اشاره شده گران قيمت بوده و قطعا" اتلاف زمان مفيد آنان مطلوب و قابل قبول
نخواهد بود. طراحان کامپيوتر بمنظور حل مشکل فوق ايده " لايه بندی حافظه " را مطرح نموده اند. در اين

راستا از حافظه های گران قيمت با ميزان اندک استفاده و از حافظه های ارزان تر در حجم بيشتری استفاده
بعمل می آيد. ارزانترين حافظه متدواول ، هارد ديسک است . هارد ديسک يک رسانه ذخيره سازی ارزان
قيمت با توان ذخيره سازی حجم بالائی از اطلاعات است . با توجه به ارزان بودن فضای ذخيره سازی اطلاعات
بر روی هارد، اطلاعات مورد نظر بر روی آنها ذخيره و با استفاده از روش های متفاوتی نظير : حافظه
مجازی می توان بسادگی و بسرعت بدون نگرانی از فضای فيزيکی حافظه RAM ، از آنها استفاده نمود.
حافظه RAM سطح دستيابی بعدی در ساختار سلسله مراتبی حافظه است . اندازه بيت يک پردازنده نشاندهنده
تعداد بايت هائی از حافظه است که در يک لحظه می توان به آنها دستيابی داشت. مثلا" يک پردازنده شانزده
بيتی ، قادر به پردازش دو بايت در هر لحظه است . مگاهرتز واحد سنجش سرعت پردازش در پردازنده ها
است و معادل "ميليون در هر ثانيه" است . مثلا" يک کامپيوتر 32 بيتی پنتيوم iii با سرعت 800-MHz ،
قادر به پردازش چهار بايت بصورت همزمان و 800 ميليون بار در ثانيه است . حافظه RAM بتنهائی دارای
سرعت مناسب برای همسنگ شدن با سرعت پردازنده نيست . بهمين دليل است که از حافظه های
Cache استفاده می گردد. بديهی است هر اندازه که سرعت حافظه RAM بالا باشد مطلوب تر خواهد
بود.اغلب تراشه های مربوطه امروزه دارای سرعتی بين 50 تا 70 Nanoseconds می باشند. سرعت خواندن
و يا نوشتن در حافظه ارتباط مستقيم با نوع حافظه استفاده شده دارد .در اين راستا ممکن است از حافظه های
DRAM,SDRAM,RAMBUS استفاده گردد. سرعت RAM توسط پهنا و سرعت Bus ، کنترل می
گردد. پهنای Bus ، تعداد بايتی که می تواند بطور همزمان برای پردازنده ارسال گردد را مشخص و سرعت
BUS به تعداد دفعاتی که می توان يک گروه از بيت ها را در هر ثانيه ارسال کرد اطلاق می گردد. سيکل منظم
حرکت داده ها از حافظه بسمت پردازنده را Bus Cycle می گويند مثلا" يک Bus با وضعيت : 100MHz و
32 بيت، بصورت تئوری قادر به ارسال چهار بايت به پردازنده و يکصد ميليون مرتبه در هر ثانيه است . در
حاليکه يک BUS شانرده بيتی 66MHZ بصورت تئوری قادر به ارسال دو بايت و 66 ميليون مرتبه در هر
ثانيه است . با توجه به مثال فوق مشاهده می گردد که با تغيير پهنای BUS از شانزده به سي و دو و سرعت
از 66MHz به 100MHz سرعت ارسال داده برای پردازنده سه برابر گرديد.

ريجستر و Cache
با توجه به سرعت بسيار بالای پردازنده حتی در صورت استفاده از Bus عريض وسريع همچنان مدت زمانی
طول خواهد کشيد تا داده ها از حافظه RAM برای پردازنده ارسال گردند. Cache با اين هدف طراحی شده
است که داده های مورد نياز پردازنده را که احتمال استفاده از آنان بيشتر است ، در دسترس تر قرار دهد
. عمليات فوق از طريق بکارگيری مقدار اندکی از حافظه Cache که Primary و يا Level 1 ناميده
شود صورت می پذيرد. ظرفيت حافظه های فوق بسيار اندک بوده و از دو کيلو بايت تا شصت و چهار کيلو بايت
را، شامل می گردد. نوع دوم Cache که Secodray و يا level 2 ناميده می شود بر روی يک کارت حافظه
و در مجاورت پردازنده قرار می گيرد. اين نوع Cache دارای يک ارتباط مستقيم با پردازنده است. يک مدار
کنترل کننده اختصاصی بر روی برد اصلی که " کنترل کننده L2 " ناميده می شود مسئوليت عمليات مربوطه
را برعهده خواهد گرفت . با توجه به نوع پردازنده ، اندازه حافظه فوق متغير بوده و دارای دامنه ای بين
256Kb تا 2MB است. برخی از پردازنده های با کارائی بالا اخيرا" اين نوع Cache را بعنوان جزئی
جداناپذير در کنار خود دارند. ( بخشی از تراشه پردازنده ) در اين نوع پردازنده ها با توجه به اينکه
Cache بخشی از پردازنده محسوب می گردد، اندازه آن متغير بوده و بعنوان يکی از مهمترين شاخص ها در
کارائی پردازنده مطرح است.
نوع ديگری از RAM با نام SRAM حافظ های با دستيابی تصادفی ايستا نيز وجود داشته که در آغاز
برای Cache استفاده می گرديد. اين نوع حافظه ها از چندين ترانزيستور ( معمولا" چهار تا شش ) برای هر
يک از سلول های حافظه خود استفاده می نمايند. حافظه های فوق دارای مجموعه ای از فليپ فلاپ ها با دو
وضعيت خواهند بود. بنابراين حافظه های فوق قادر به بازخوانی اطلاعات بصورت پيوسته نظير حافظه های
DRAM نخواهند بود. هر يک از سلول های حافظه ماداميکه منبع تامين انرژی آنها فعال (On) باشد داده
های خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات بصورت پريوديک
نخواهد بود . سرعت حافظه های فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در حال حاضر بعنوان جايگزينی

استاندارد برای حافظه های RAM مطرح نمی باشند.
انواع حافظه
حافظه ها را می توان بر اساس شاخص های متفاوتی تقسيم بندی کرد . Volatile و Nonvolatile نمونه ای
از اين تقسيم بندی ها است . حافظه های volatile بلافاصله پس از خاموش شدن سيستم اطلاعات خود را از
دست می دهند. و همواره برای نگهداری اطلاعات خود به منبع تامين انرژی نياز خواهند داشت . اغلب حافظه
های RAM در اين گروه قرار می گيرند. حافظه های Nonvolatile داده های خود را همچنان پس از خاموش
شدن سيستم حفظ خواهند کرد. حافظه ROM نمونه ای از اين نوع حافظه ها است .

Caching
اگر تا کنون برای خود کامپيوتری تهيه کرده باشيد ، واژه " Cache" برای شما آشنا خواهد بود.
کامپيوترهای جديد دارای Cache از نوع L1 و L2 می باشند. شايد در هنگام خريد يک کامپيوتر از طرف
دوستانتان توصيه هائی به شما شده باشد مثلا" : " سعی کن از تراشه های Celeron استفاده نکنی چون
دارای Cache نمی باشند! "
Cache يک مفهوم کامپيوتری است که بر روی هر نوع کامپيوتر با يک شکل خاص وجود دارد. حافظه های
Cache ، نرم افزارهای با قابليت Cache هارد ديسک و صفحات Cache همه بنوعی از مفهوم Caching
استفاده می نمايند. حافظه مجازی که توسط سيستم های عامل ارائه می گردد نيز از مفهوم فوق استفاده می
نمايد.

مبانی Caching
Caching يک تکنولوژی استفاده شده برای زير سيستم های حافظه ، در کامپيوتر است . مهمترين هدف يک
Cache افزايش سرعت و عملکرد کامپيوتر بدون تحميل هزينه های اضافی برای تهيه سيستم است . با استفاده
از Cache عمليات کاربران با سرعت بيشتری انجام خواهد شد.
کتابداری را در نظر بگيريد که در يک کتابخانه مسئول تحويل کتاب به متقاضيان است . فرض کنيد در سيستم
فوق ( درخواست و تحويل کتاب ) از مفهوم Cache استفاده نمی گردد. اولين متقاصی کتابی را درخواست می
نمايد( فرض شده است که متقاضی خود نمی تواند مستقيما" کتاب مورد نظر را از قفسه مربوطه ،بردارد) ،
کتابدار، کتاب مورد نظر را از قفسه مربوطه پيدا و در ادامه آن را تحويل متقاضی می نمايد. متقاضی پس از
ساعاتی مراجعه و کتاب را تحويل می دهد. کتابدار، کتاب تحويلی را مجددا" در قفسه مربوطه قرار می دهد.
پس از لحظاتی يک متقاضی ديگر مراجعه و همان کتاب قبلی را درخواست می نمايد ، کتابدار مجددا" می
بايست به بخش مربوطه در کتابخانه مراجعه و پس از بازيابی کتاب ، آن را در اختيار متقاضی دوم قرار
دهد.همانگونه که ملاحظه می گردد ، کتابدار مکلف است برای تحويل هر کتاب ( ولو کتاب هائی که فرکانس
استفاده از آنان توسط متقاضيان زياد باشد ) به بخش مربوطه مراجعه و پس از يافتن کتاب آن را در اختيار
متقاضيان قرار دهد. آيا روشی وجود دارد که با استناد به آن بتوان عملکرد و کارآئی کتابدار را بهبود بخشيد ؟
در پاسخ به سوال فوق می توان با ايجاد يک سيستم Cache برای کتابدار ، کارآئی آن را افزايش داد. فرض
کنيد بخشی را با ظرفيت حداکثر ده کتاب در مجاورت ( نزديکی ) کتابدار آماده نمائيم . کتاب هائی که توسط
متقاضيان برگردانده می شود، در بخش فوق ذخيره خواهند شد. مثال فوق را با در نظر گرفتن سيستم Cache
ايجاد شده برای کتابدار مجددا" دنبال می نمائيم . در ابتدای فعاليت روزانه ، بخش Cache خالی بوده و هنوز
در آن کتابی قرار نگرفته است . اولين متفقاصی مراجعه و کتابی را درخواست می نمايد . کتابدار می بايست به
بخش مربوطه مراجعه و کتاب را از قفسه مربوطه براشته و در اختيار متقاضی قرار دهد. متقاضی پس از

تحويل کتاب ، چند ساعت بعد مراجعه و کتاب را تجويل کتابدار خواهد داد. کتابدار، کتاب تحويلی را در بخش
پيش بينی شده برای Cache قرار می دهد. لحظاتی بعد متقاضی ديگر مراجعه و درخواست همان کتاب را می
نمايد .کتابدار در ابتدا بخش مربوط به Cache را جستجو و در صورت يافتن کتاب ، آن را به متقاضی تحويل
خواهد داد. در اين حالت ضرورتی به مراجعه کتابدار به بخش و قفسه های مربوطه نخواهد بود. در روش فوق
زمان تحويل کتاب به متقاضی بهبود چشمگيری پيدا خواهد کرد. در صورتيکه کتاب درخواستی توسط متقاضی
در بخش Cache کتابخانه نباشد ، چه اتفاقی خواهد افتاد؟ در ابتدا مدت زمانی صرف خواهد شد که کتابدار به
اين اطمينان برسد که کتاب درخواستی در بخش Cache موجود نمی باشد ( جستجو) يکی از چالش های اصلی
در رابطه با طراحی Cache به حداقل رساندن زمان جستجو در Cache است .سخت افزارهای جديد ، زمان
فوق را به صفر نزديک کرده اند. پس از حصول اطمينان از عدم وجود کتاب در بخش Cache ، کتابدار می
بايست با مراجعه به بخش مربوطه آن را انتخاب و در ادامه در اختيار متقاضی قرار دهد.
با توجه به مثال فوق ، چندين نکته مهم در رابطه با Cache استنباط می گردد:
- تکنولوژی Cache ، استفاده از حافظه های سريع ولی کوچک ، بمنظور افزايش سرعت يک حافظه کند ولی
با حجم بالا است
- زمانيکه از Cache استفاده می گردد ، در ابتدا می بايست محتويات آن بمنظور يافتن اطلاعات مورد نظر
بررسی گردد. فرآيند فوق را Cache hit می گويند. در صورتيکه اطلاعات مورد نظر در Cache موجود
نباشند (Cache miss) ، کامپيوتر می بايست در انتظار تامين داده های خود از حافظه اصلی سيستم باشد
حافظه ای کند ولی با حجم بالا
- اندازه Cache محدود بوده وسعی می گردد که ظرفيت فوق حتی المقدور زياد باشد ، ولی بهرحال اندازه آن
نسبت به رسانه های ذخيره سازی ديگر بسيار کم است .
- اين امکان وجود خواهد داشت که از چندين لايه Cache استفاده گردد.

CACHE در کامپیوتر
کامپيوتر، ماشينی است که زمان انجام کارها توسط آن با واحدهای خيلی کوچک اندازه گيری می گردد.زمانيکه
ريزپردازنده قصد دستيابی به حافظه اصلی را داشته باشد، می بايست مدت زمانی معادل 60 نانوثانيه را برای
اين کار در نظر بگيرد. سرعت فوق بسيار بالا است ولی سرعت ريزپردازنده بمراتب بيشتر است . ريزپردازنده
قادر به داشتن سيکل هائی به اندازه دو نانوثانيه است . تفاوت سرعت بين پردازنده و حافظه کاملا" مشهود
بوده و قطعا" رضايت پردازنده در اين خصوص کسب نخواهد شد. پردازنده می بايست تاوان کند بودن حافظه را
خود بپردازد . انتظار پردازنده و هرز رفتن زمان مفيد وی کوچکترين تاوانی است که می بايست پردازنده
پذيرای آن باشد.
بمنظور حل مشکل فوق ، فرض کنيد از يک نوع حاص حافظه، با ظرفيت کم ولی با سرعت بالا 30 نانوثانيه
، استفاده گردد . سرعت دستيابی به حافظه فوق دو مرتبه سريعتر نسبت به حافظه اصلی است .اين نوع
حافظه راL2 Cache می نامند. فرض کنيد از يک حافظه بمراتب سريعتر ولی با حجم کمتر استفاده و آن را
مستقيما" با پردازنده اصلی درگير نمود. سرعت دستيابی به حافظه فوق می بايست در حد و اندازه سرعت
پردازنده باشد .اين نوع حافظه ها را L1 Cache می گويند.
در کامپيوتر از زيرسيستمهای متفاوتی استفاده می گردد.از Cache می توان در رابطه با اکثر زير سيستمهای
فوق استفاده تا کارآئی آنان افزايش يابد.

تکنولوژی Cache
يکی از سوالاتی که ممکن است در ذهن خواننده اين بخش خطور پيدا کند اين است که " چرا تمام حافظه
کامپيوترها از نوع L1 Cache نمی باشند تا ديگر ضرورتی به استفاده از Cache وجود نداشته باشد؟" در
پاسخ می بايست گفت که اشکالی ندارد وهمه چيز هم بخوبی کار خواهد کرد ولی قيمت کامپيوتر بطرز قابل
ملاحظه ای افزايش خواهد يافت . ايده Cache ، استفاده از يک مقدار کم حافظه ولی با سرعت بالا( قيمت بالا)

برای افزايش سرعت و کارآئی ميزان زيادی حافظه ولی با سرعت پايين ( قيمت ارزان ) است .
در طراحی يک کامپيوتر هدف فراهم کردن شرايط لازم برای فعاليت پردازنده با حداکثر توان و در سريعترين
زمان است . يک تراشه 500 مگاهرتزی ، در يک ثانيه پانصد ميليون مرتبه سيکل خود را خواهد داشت ( هر
سيکل در دونانوثانيه ) . بدون استفاده از L1 و L2 Cache ، دستيابی به حافظه حدودا" 60 نانوثانيه طول
خواهد کشيد. بهرحال استفاده از Cache اثرات مثبت خود را بدنبال داشته و باعث بهبود کارآئی پردازنده می
گردد.اگر مقدار L2 Cache معادل 256 کيلو بايت و ظرفيت حافظه اصلی معادل 64 مگابايت باشد ، 256000
بايت مربوط به Cache با استفاده از روش های موجود قادر به Cache نمودن 64000000 بايت حافظه
اصلی خواهند بود.

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

HTML:
"حافظه RAM
حافظه (RAM (Random Access Memory شناخته ترین نوع حافظه در دنیای کامپیوتر است . روش دستیابی به این نوع از حافظه ها تصادفی است . چون می توان به هر سلول حافظه مستقیما" دستیابی پیدا کرد . در مقابل حافظه های RAM ، حافظه های(SAM(Serial Access Memory وجود دارند. حافظه های SAM اطلاعات را در مجموعه ای از سلول های حافظه ذخیره و صرفا" امکان دستیابی به آنها بصورت ترتیبی وجود خواهد داشت. ( نظیر نوار کاست ) در صورتیکه داده مورد نظر در محل جاری نباشد هر یک از سلول های حافظه به ترتیب بررسی شده تا داده مورد نظر پیدا گردد. حافظه های SAM در مواردیکه پردازش داده ها الزاما" بصورت ترتیبی خواهد بود مفید می باشند ( نظیر حافظه موجود بر روی کارت های گرافیک ). داده های ذخیره شده در حافظه RAM با هر اولویت دلخواه قابل دستیابی خواهند بود.


مبانی حافظه های RAM
حافظه RAM ، یک تراشه مدار مجتمع (IC) بوده که از میلیون ها ترانزیستور و خازن تشکیل شده است .در اغلب حافظه ها با استفاده و بکارگیری یک خازن و یک ترانزیستور می توان یک سلول را ایجاد کرد. سلول فوق قادر به نگهداری یک بیت داده خواهد بود. خازن اطلاعات مربوط به بیت را که یک و یا صفر است ، در خود نگهداری خواهد کرد.عملکرد ترانزیستور مشابه یک سوییچ بوده که امکان کنترل مدارات موجود بر روی تراشه حافظه را بمنظور خواندن مقدار ذخیره شده در خازن و یا تغییر وضعیت مربوط به آن ، فراهم می نماید.خازن مشابه یک ظرف ( سطل) بوده که قادر به نگهداری الکترون ها است . بمنظور ذخیره سازی مقدار" یک" در حافظه، ظرف فوق می بایست از الکترونها پر گردد. برای ذخیره سازی مقدار صفر، می بایست ظرف فوق خالی گردد.مسئله مهم در رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدین ترتیب پس از گذشت چندین میلی ثانیه یک ظرف مملو از الکترون تخلیه می گردد. بنابراین بمنظور اینکه حافظه بصورت پویا اطلاعات خود را نگهداری نماید ، می بایست پردازنده و یا " کنترل کننده حافظه " قبل از تخلیه شدن خازن، مکلف به شارژ مجدد آن بمنظور نگهداری مقدار "یک" باشند.بدین منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنویسی می نماید.عملیات فوق (Refresh)، هزاران مرتبه در یک ثانیه تکرار خواهد شد.علت نامگذاری DRAM بدین دلیل است که این نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پویا خواهند بود. فرآیند تکراری " بازخوانی / بازنویسی اطلاعات" در این نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه بر روی یک تراشه سیلیکون و بصورت آرائه ای مشتمل از ستون ها ( خطوط بیت ) و سطرها ( خطوط کلمات) تشکیل می گردند. نقطه تلاقی یک سطر و ستون بیانگر آدرس سلول حافظه است .
حافظه های DRAM با ارسال یک شارژ به ستون مورد نظر باعث فعال شدن ترانزیستور در هر بیت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعیتی خواهند شد که خازن می بایست به آن وضغیت تبدیل گردد. در زمان خواندن Sense-amplifier ، سطح شارژ موجود در خازن را اندازه گیری می نماید. در صورتیکه سطح فوق بیش از پنجاه درصد باشد مقدار "یک" خوانده شده و در غیراینصورت مقدار "صفر" خوانده خواهد شد. مدت زمان انجام عملیات فوق بسیار کوتاه بوده و بر حسب نانوثانیه ( یک میلیاردم ثانیه ) اندازه گیری می گردد. تراشه حافظه ای که دارای سرعت 70 نانوثانیه است ، 70 نانو ثانیه طول خواهد کشید تا عملیات خواندن و بازنویسی هر سلول را انجام دهد.
سلول های حافظه در صورتیکه از روش هائی بمنظور اخذ اطلاعات موجود در سلول ها استفاده ننمایند، بتنهائی فاقد ارزش خواهند بود. بنابراین لازم است سلول های حافظه دارای یک زیرساخت کامل حمایتی از مدارات خاص دیگر باشند.مدارات فوق عملیات زیر را انجام خواهند داد :
-- مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون )
-- نگهداری وضعیت بازخوانی و باز نویسی داده ها ( شمارنده )
-- خواندن و برگرداندن سیگنال از یک سلول ( Sense amplifier)
-- اعلام خبر به یک سلول که می بایست شارژ گردد و یا ضرورتی به شارژ وجود ندارد ( Write enable)
سایر عملیات مربوط به "کنترل کننده حافظه" شامل مواردی نظیر : مشخص نمودن نوع سرعت ، میزان حافظه و بررسی خطاء است .
حافظه های SRAM دارای یک تکنولوژی کاملا" متفاوت می باشند. در این نوع از حافظه ها از فلیپ فلاپ برای ذخیره سازی هر بیت حافظه استفاده می گردد. یک فلیپ فلاپ برای یک سلول حافظه، از چهار تا شش ترانزیستور استفاده می کند . حافظه های SRAM نیازمند بازخوانی / بازنویسی اطلاعات نخواهند بود، بنابراین سرعت این نوع از حافظه ها بمراتب از حافظه های DRAM بیشتر است .با توجه به اینکه حافظه های SRAM از بخش های متعددی تشکیل می گردد، فضای استفاده شده آنها بر روی یک تراشه بمراتب بیشتر از یک سلول حافظه از نوع DRAM خواهد بود. در چنین مواردی میزان حافظه بر روی یک تراشه کاهش پیدا کرده و همین امر می تواند باعث افزایش قیمت این نوع از حافظه ها گردد. بنابراین حافظه های SRAM سریع و گران و حافظه های DRAM ارزان و کند می باشند . با توجه به موضوع فوق ، از حافظه های SRAM بمنظور افزایش سرعت پردازنده ( استفاده از Cache) و از حافظه های DRAM برای فضای حافظه RAM در کامپیوتر استفاده می گردد.
ما ژول های حافظه
تراشه های حافظه در کامییوترهای شخصی در آغاز از یک پیکربندی مبتنی بر Pin با نام (DIP(Dual line Package استفاده می کردند. این پیکربندی مبتنی بر پین، می توانست لحیم کاری درون حفره هائی برروی برداصلی کامپیوتر و یا اتصال به یک سوکت بوده که خود به برد اصلی لحیم شده است .همزمان با افزایش حافظه ، تعداد تراشه های مورد نیاز، فضای زیادی از برد اصلی را اشغال می کردند.از روش فوق تا زمانیکه میزان حافظه حداکثر دو مگابایت بود ، استقاده می گردید.
راه حل مشکل فوق، استقرار تراشه های حافظه بهمراه تمام عناصر و اجزای حمایتی در یک برد مدار چاپی مجزا (Printed circut Board ) بود. برد فوق در ادامه با استفاده از یک نوع خاص از کانکنور ( بانک حافظه ) به برد اصلی متصل می گردید. این نوع تراشه ها اغلب از یک پیکربندی pin با نام Small Outline J-lead ) soj ) استفاده می کردند . برخی از تولیدکنندگان دیگر که تعداد آنها اندک است از پیکربندی دیگری با نام Thin Small Outline Package )tsop) استفاده می نمایند. تفاوت اساسی بین این نوع پین های جدید و پیکربندی DIP اولیه در این است که تراشه های SOJ و TSOR بصورت surface-mounted در PCB هستند. به عبارت دیگر پین ها مستقیما" به سطح برد لحیم خواهند شد . ( نه داخل حفره ها و یا سوکت ) .
تراشه ها ی حافظه از طریق کارت هائی که " ماژول " نامیده می شوند قابل دستیابی و استفاده می باشند.. شاید تاکنون با مشخصات یک سیستم که میزان حافظه خود را بصورت 32 * 8 , یا 16 * 4 اعلام می نماید ، برخورده کرده باشید.اعداد فوق تعداد تراشه ها ضربدر ظرفیت هر یک از تراشه ها را که بر حسب مگابیت اندازه گیری می گردند، نشان می دهد. بمنظور محاسبه ظرفیت ، می توان با تقسیم نمودن آن بر هشت میزان مگابایت را بر روی هر ماژول مشخص کرد.مثلا" یک ماژول 32 * 4 ، بدین معنی است که ماژول دارای چهار تراشه 32 مگابیتی است .با ضرب 4 در 32 عدد 128 ( مگابیت) بدست می آید . اگر عدد فوق را بر هشت تقسیم نمائیم به ظرفیت 16 مگابایت خواهیم رسید.
نوع برد و کانکتور استفاده شده در حافظه های RAM ، طی پنج سال اخیر تفاوت کرده است . نمونه های اولیه اغلب بصورت اختصاصی تولید می گردیدند . تولید کنندگان متفاوت کامپیوتر بردهای حافظه را بگونه ای طراحی می کردند که صرفا" امکان استفاده از آنان در سیستم های خاصی وجود داشت . در ادامه (SIMM (Single in-line memory مطرح گردید. این نوع از بردهای حافظه از 30 پین کانکتور استفاده کرده و طول آن حدود 3/5 اینچ و عرض آن یک اینچ بود ( یازده سانتیمتر در 2/5 سانتیمتر ) .در اغلب کامپیوترها می بایست بردهای SIMM بصورت زوج هائی که دارای ظرفیت و سرعت یکسان باشند، استفاده گردد. علت این است که پهنای گذرگاه داده بیشتر از یک SIMM است . مثلا" از دو SIMM هشت مگابایتی برای داشتن 16 مگابایت حافظه بر روی سیستم استفاده می گردد. هر SIMM قادر به ارسال هشت بیت داده در هر لحظه خواهد بود با توجه به این موضوع که گذرگاه داده شانزده بیتی است از نصف پهنای باند استفاده شده و این امر منطقی بنظر نمی آید.در ادامه بردهای SIMM بزرگتر شده و دارای ابعاد 25 / 4 * 1 شدند( 11 سانتیمتر در 2/5 سانتیمتر ) و از 72 پین برای افزایش پهنای باند و امکان افزایش حافظه تا میزان 256 مگابایت بدست آمد.

بموازات افزایش سرعت و ظرفیت پهنای باند پردازنده ها، تولیدکنندگان از استاندارد جدید دیگری با نام dual in-line memory module)DIMM) استفاده کردند.این نوع بردهای حافظه دارای 168 پین و ابعاد 1 * 5/4 اینچ ( تقریبا" 14 سانتیمتر در 2/5 سانتیمتر ) بودند.ظرفیت بردهای فوق در هر ماژول از هشت تا 128 مگابایت را شامل و می توان آنها را بصورت تک ( زوج الزامی نیست ) استفاده کرد. اغلب ماژول های حافظه با 3/3 ولت کار می کنند. در سیستم های مکینتاش از 5 ولت استفاده می نمایند. یک استاندارد جدید دیگر با نام Rambus in-line memory module ، RIMM از نظر اندازه و پین با DIMM قابل مقایسه است ولی بردهای فوق ، از یک نوع خاص گذرگاه داده حافظه برای افزایش سرعت استفاده می نمایند.

اغلب بردهای حافظه در کامپیوترهای دستی (notebook) از ماژول های حافظه کاملا" اختصاصی استفاده می نمایند ولی برخی از تولیدکنندگان حافظه از استاندارد small outline dual in-line memory module) SODIMM استفاده می نمایند. بردهای حافظه SODIMM دارای ابعاد 1* 2 اینچ ( 5 سانتیمنتر در 5 /2 سانتیمنتر ) بوده و از 144 پین استفاده می نمایند. ظرفیت این نوع بردها ی حافظه در هر ماژول از 16 مگابایت تا 256 مگابایت می تواند باشد.
بررسی خطاء
اکثر حافظه هائی که امروزه در کامپیوتر استفاده می گردند دارای ضریب اعتماد بالائی می باشند.در اکثر سیستم ها ،" کنترل کننده حافظه " درزمان روشن کردن سیستم عملیات بررسی صحت عملکرد حافظه را انجام می دهد. تراشه های حافظه با استفاده از روشی با نام Parity ، عملیات بررسی خطاء را انحام می دهند. تراشه های Parity دارای یک بیت اضافه برای هشت بیت داده می باشند.روشی که Parity بر اساس آن کار می کند بسیار ساده است . در ابتداParity زوج بررسی می گردد. زمانیکه هشت بیت ( یک بایت) داده ئی را دریافت می دارند، تراشه تعداد یک های موجود در آن را محاسبه می نماید.در صورتیکه تعداد یک های موجود فرد باشد مقدار بیت Parity یک خواهد شد. در صورتیکه تعداد یک های موجود زوج باشد مقدار بیت parity صفر خواهد شد. زمانیکه داده از بیت های مورد نظر خوانده می شود ، مجددا" تعداد یک های موجود محاسبه و با بیت parity مقایسه می گردد.درصورتیکه مجموع فرد و بیت Parity مقدار یک باشد داده مورد نظر درست بوده و برای پردازنده ارسال می گردد. اما در صورتیکه مجموع فرد بوده و بیت parity صفر باشد تراشه متوجه بروز یک خطاء در بیت ها شده و داده مورد نظر کنار گذاشته می شود. parity فرد نیز به همین روش کار می کند در روش فوق زمانی بیت parity یک خواهد شد که تعداد یک های موجود در بایت زوج باشد.
مسئله مهم در رابطه با Parity عدم تصحیح خطاء پس از تشخیص است . در صورتیکه یک بایت از داده ها با بیت Parity خود مطابقت ننماید داده دور انداخته شده سیستم مجددا" سعی خود را انجام خواهد داد. کامپیوترها نیازمند یک سطح بالاتربرای برخورد با خطاء می باشند.برخی از سیستم ها از روشی با نام به error correction code)ECC) استفاده می نمایند. در روش فوق از بیت های اضافه برای کنترل داده در هر یک از بایت ها استفاده می گردد. اختلاف روش فوق با روش Parity در این است که از چندین بیت برای بررسی خطاء استفاده می گردد. ( تعداد بیت های استفاده شده بستگی به پهنای گذرگاه دارد ) حافظه های مبتنی بر روش فوق با استفاده از الگوریتم مورد نظر نه تنها قادر به تشخیص خطا بوده بلکه امکان تصحیح خطاهای بوجود آمده نیز فراهم می گردد. ECCهمچنین قادر به تشخیص خطاها در مواردی است که یک یا چندین بیت در یک بایت با مشکل مواجه گردند .
انواح حافظه RAM
Static random access memory)SRAM) . این نوع حافظه ها از چندین ترانزیستور ( چهار تا شش ) برای هر سلول حافظه استفاده می نمایند. برای هر سلول از خازن استفاده نمی گردد. این نوع حافظه در ابتدا بمنظور cache استفاده می شدند.
Dynamic random access memory)DRAM) . در این نوع حافظه ها برای سلول های حافظه از یک زوج ترانزیستورو خازن استفاده می گردد .
Fast page mode dynamic random access memory)FPM DRAM) . شکل اولیه ای از حافظه های DRAM می باشند.در تراشه ای فوق تا زمان تکمیل فرآیند استقرار یک بیت داده توسط سطر و ستون مورد نظر، می بایست منتظر و در ادامه بیت خوانده خواهد شد.( قبل از اینکه عملیات مربوط به بیت بعدی آغاز گردد) .حداکثر سرعت ارسال داده به L2 cache معادل 176 مگابایت در هر ثانیه است .
Extended data-out dynamic random access memory)EDO DRAM) . این نوع حافظه ها در انتظار تکمیل و اتمام پردازش های لازم برای اولین بیت نشده و عملیات مورد نظر خود را در رابطه با بیت بعد بلافاصله آغاز خواهند کرد. پس از اینکه آدرس اولین بیت مشخص گردید EDO DRAM عملیات مربوط به جستجو برای بیت بعدی را آغاز خواهد کرد. سرعت عملیات فوق پنج برابر سریعتر نسبت به حافظه های FPM است . حداکثر سرعت ارسال داده به L2 cache معادل 176 مگابایت در هر ثانیه است .
Synchronous dynamic random access memory)SDRM) از ویژگی "حالت پیوسته " بمنظور افزایش و بهبود کارائی استفاده می نماید .بدین منظور زمانیکه سطر شامل داده مورد نظر باشد ، بسرعت در بین ستون ها حرکت و بلافاصله پس از تامین داده ،آن را خواهد خواند. SDRAM دارای سرعتی معادل پنج برابر سرعت حافظه های EDO بوده و امروزه در اکثر کامپیوترها استفاده می گردد.حداکثر سرعت ارسال داده به L2 cache معادل 528 مگابایت در ثانیه است .
Rambus dynamic random access memory )RDRAM) یک رویکرد کاملا" جدید نسبت به معماری قبلی DRAM است. این نوع حافظه ها از Rambus in-line memory module)RIMM) استفاده کرده که از لحاظ اندازه و پیکربندی مشابه یک DIMM استاندارد است. وجه تمایز این نوع حافظه ها استفاده از یک گذرگاه داده با سرعت بالا با نام "کانال Rambus " است . تراشه های حافظه RDRAM بصورت موازی کار کرده تا بتوانند به سرعت 800 مگاهرتز دست پیدا نمایند.
Credit card memory یک نمونه کاملا" اختصاصی از تولیدکنندگان خاص بوده و شامل ماژول های DRAM بوده که دریک نوع خاص اسلات ، در Laptop ها استفاده می گردد .
PCMCIA memory card .نوع دیگر از حافظه شامل ماژول های DRAM بوده که در Laptop استفاده می شود.
FlashRam نوع خاصی از حافظه با ظرفیت کم برای استفاده در دستگاههائی نظیر تلویزیون، VCR بوده و از آن به منظور نگهداری اطلاعات خاص مربوط به هر دستگاه استفاده می گردد. زمانیکه این نوع دستگاهها خاموش باشند همچنان به میزان اندکی برق مصرف خواهند کرد. در کامپیوتر نیز از این نوع حافظه ها برای نگهداری اطلاعاتی در رابطه با تنظیمات هارد دیسک و ... استفاده می گردد.
VideoRam)VRAM) یک نوع خاص از حافظه های RAM بوده که برای موارد خاص نظیر : آداپتورهای ویدئو و یا شتا ب دهندگان سه بعدی استفاده می شود. به این نوع از حافظه ها multiport dynamic random access memory) MPDRAM) نیز گفته می شود.علت نامگذاری فوق بدین دلیل است که این نوع از حافظه ها دارای امکان دستیابی به اطلاعات، بصورت تصادفی و سریال می باشند . VRAM بر روی کارت گرافیک قرار داشته و دارای فرمت های متفاوتی است. میزان حافظه فوق به عوامل متفاوتی نظیر : " وضوح تصویر " و " وضعیت رنگ ها " بستگی دارد.
به چه میزان حافظه نیاز است ؟
حافظه RAM یکی از مهمترین فاکتورهای موجود در زمینه ارتقاء کارآئی یک کامپیوتر است . افزایش حافظه بر روی یک کامپیوتر با توجه به نوع استفاده می تواند در مقاطع زمانی متفاوتی انجام گیرد. در صورتیکه از سیستم های عامل ویندوز 95 و یا 98 استفاده می گردد حداقل به 32 مگابایت حافظه نیاز خواهد بود. ( 64 مگابایت توصیه می گردد) .اگر از سیستم عامل ویندوز 2000 استفاده می گردد حداقل به 64 مگابایت حافظه نیاز خواهد بود.( 128 مگابایت توصیه می گردد) در ویندوز ایكس پی میزان نیاز به حافظه رم به 128 مگابایت افزایش یافته است ..سیستم عامل لینوکس صرفا" به 4 مگابایت حافظه نیاز دارد. در صورتیکه از سیستم عامل اپل استفاده می گردد به 16 مگابایت حافظه نیاز خواهد بود.( 64 مگابایت توصیه می گردد). میزان حافظه اشاره شده برای هر یک از سیستم های فوق بر اساس کاربردهای معمولی ارائه شده است . دستیابی به اینترنت ، استفاده از برنامه های کاربردی خاص و سرگرم کننده ، نرم افزارهای خاص طراحی، انیمیشن سه بعدی و... مستلزم استفاده از حافظه بمراتب بیشتری خواهد بود .

به این دو مطلب نگاهی بندازید که تا حدودی بیانگر یک مطلب است ولی اگر مد نظر شما نبود بفرمایید تا دنبال مطلب بهتری بگردیم.
موفق باشید.
 

جدیدترین ارسال ها

بالا