حافظه

حافظه با هدف ذخيره سازی اطلاعات ( دائم ، موقت ) در کامپيوتر استفاده می گردد و دارای انواع متفاوتی است :

استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی نظير : تلفن های سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد وسيعی استفاده می گردد .هر يک از دستگاه های فوق مدل های خاصی از حافظه را استفاده می نمايند.

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

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

نياز به سرعت دليلی بر وجود حافظه های متنوع
چرا حافظه در کامپيوتر تا بدين ميزان متنوع و متفاوت است ؟ در پاسخ می توان به موارد ذيل اشاره نمود:

ريجستر و 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 نمونه ای از اين نوع حافظه ها است .