حافظه وسیلهای است که میتوان اطلاعات را در آن ذخیره و باز یابی نمود . در مفهوم گسترده تر این واژه به وسایل ذخیره سازی خارجی چون دیسکگردان و یا نوارگردان اطلاق میشود . وسیله ذخیره سازی نیمه هادی مستقیما به پردازنده وصل میشود . حافظه پنهان یا Cache حافظه سریعی است که برای افزایش سرعت ارتباط سیستم با دستگاههای کندتر مورد استفاده قرار میگیرد و استفاده از آن باعث میشود که سرعت و قابلیتهای دستگاه سریع هرز نرود. مهمترین حافظه پنهان در CPU ها وجود دارد که به دو نوع اولیه و ثانویه ( L۱ و L۲ ) تقسیم میشود و امروزه حافظه پنهان که در CPU ها ساختن آن هزینه بسیشتری دارد تا ۴ مگابایت هم میرسد. حافظه با هدف ذخيره سازی اطلاعات ( دائم ، موقت ) در کامپيوتر استفاده میگردد و دارای انواع متفاوتی است :
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 ناميده میشود صورت میپذيرد . ظرفيت حافظههای فوق بسيار اندک بوده و از دو کيلو بايت تا 512 کيلو بايت را ، شامل میگردد . نوع دوم Cache که Secodray و يا level 2 ناميده میشود بر روی يک کارت حافظه و در مجاورت پردازنده قرار می گيرد . اين نوع Cache دارای يک ارتباط مستقيم با پردازنده است . يک مدار کنترل کننده اختصاصی بر روی برد اصلی که " کنترل کننده L2 " ناميده میشود مسئوليت عمليات مربوطه را برعهده خواهد گرفت . با توجه به نوع پردازنده ، اندازه حافظه فوق متغير بوده و دارای دامنهای بين 256Kb تا چند مگابایت است . برخی از پردازندههای با کارائی بالا اخيرا" اين نوع Cache را بعنوان جزئی جداناپذير در کنار خود دارند . ( بخشی از تراشه پردازنده ) در اين نوع پردازندهها با توجه به اينکه Cache بخشی از پردازنده محسوب میگردد ، اندازه آن متغير بوده و بعنوان يکی از مهمترين شاخص ها در کارائی پردازنده مطرح است .
نوع ديگری از RAM با نام SRAM ( حافظ های با دستيابی تصادفی ايستا ) نيز وجود داشته که در آغاز برای Cache استفاده می گرديد . اين نوع حافظهها از چندين ترانزيستور ( معمولا" چهار تا شش ) برای هر يک از سلول های حافظه خود استفاده می نمايند . حافظههای فوق دارای مجموعهای از فليپ فلاپ ها با دو وضعيت خواهند بود . بنابراين حافظههای فوق قادر به بازخوانی اطلاعات بصورت پيوسته نظير حافظههای DRAM نخواهند بود . هر يک از سلول های حافظه ماداميکه منبع تامين انرژی آنها فعال (On) باشد دادههای خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات بصورت پريوديک نخواهد بود . سرعت حافظههای فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در حال حاضر بعنوان جايگزينی استاندارد برای حافظههای RAM مطرح نمیباشند .
انواع حافظه :
حافظهها را میتوان بر اساس شاخص های متفاوتی تقسيم بندی کرد . Volatile و Nonvolatile نمونهای از اين تقسيم بندی ها است . حافظههای volatile بلافاصله پس از خاموش شدن سيستم اطلاعات خود را از دست میدهند . و همواره برای نگهداری اطلاعات خود به منبع تامين انرژی نياز خواهند داشت . اغلب حافظههای RAM در اين گروه قرار می گيرند . حافظههای Nonvolatile دادههای خود را همچنان پس از خاموش شدن سيستم حفظ خواهند کرد . حافظه ROM نمونهای از اين نوع حافظهها است .
-
- تعداد بازدید: 1022
- تاریخ انتشار: يكشنبه 19 دی 1389 ساعت 22:02


