حافظه
حافظه با هدف ذخيره سازی اطلاعات ( دائم ، موقت ) در کامپيوتر استفاده می گردد و دارای انواع متفاوتی است :
• RAM
• ROM
• Cache
• Dynamic RAM
• Static RAM
• Flash Memory
• Virtual Memory
• Video Memory
• BIOS
استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی نظير : تلفن های سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد وسيعی استفاده می گردد .هر يک از دستگاه های فوق مدل های خاصی از حافظه را استفاده می نمايند.
تمام عناصر سخت افزاری ( پردازنده، هارد ديسک ، حافظه و ...) و عناصر نرم افزاری ( سيستم عامل و...) بصورت يک گروه عملياتی بکمک يکديگر وظايف محوله را انجام می دهند . بدون شک در اين گروه " حافظه " دارای جايگاهی خاص است . از زمانيکه کامپيوتر روشن تا زمانيکه خاموش می گردد ، پردازنده بصورت پيوسته و دائم از حافظه استفاده می نمايد. بلافاصله پس از روشن نمودن کامپيوتر اطلاعات اوليه ( برنامه 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 سرعت ارسال داده برای پردازنده سه برابر گرديد.
نوع ديگری از RAM با نام SRAM ( حافظ های با دستيابی تصادفی ايستا ) نيز وجود داشته که در آغاز برای Cache استفاده می گرديد. اين نوع حافظه ها از چندين ترانزيستور ( معمولا" چهار تا شش ) برای هر يک از سلول های حافظه خود استفاده می نمايند. حافظه های فوق دارای مجموعه ای از فليپ فلاپ ها با دو وضعيت خواهند بود. بنابراين حافظه های فوق قادر به بازخوانی اطلاعات بصورت پيوسته نظير حافظه های DRAM نخواهند بود. هر يک از سلول های حافظه ماداميکه منبع تامين انرژی آنها فعال (On) باشد داده های خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات بصورت پريوديک نخواهد بود . سرعت حافظه های فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در حال حاضر بعنوان جايگزينی استاندارد برای حافظه های RAM مطرح نمی باشند.
• RAM
• ROM
• Cache
• Dynamic RAM
• Static RAM
• Flash Memory
• Virtual Memory
• Video Memory
• BIOS
استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی نظير : تلفن های سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد وسيعی استفاده می گردد .هر يک از دستگاه های فوق مدل های خاصی از حافظه را استفاده می نمايند.
مبانی اوليه حافظه
تمام عناصر سخت افزاری ( پردازنده، هارد ديسک ، حافظه و ...) و عناصر نرم افزاری ( سيستم عامل و...) بصورت يک گروه عملياتی بکمک يکديگر وظايف محوله را انجام می دهند . بدون شک در اين گروه " حافظه " دارای جايگاهی خاص است . از زمانيکه کامپيوتر روشن تا زمانيکه خاموش می گردد ، پردازنده بصورت پيوسته و دائم از حافظه استفاده می نمايد. بلافاصله پس از روشن نمودن کامپيوتر اطلاعات اوليه ( برنامه 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
نوع ديگری از RAM با نام SRAM ( حافظ های با دستيابی تصادفی ايستا ) نيز وجود داشته که در آغاز برای Cache استفاده می گرديد. اين نوع حافظه ها از چندين ترانزيستور ( معمولا" چهار تا شش ) برای هر يک از سلول های حافظه خود استفاده می نمايند. حافظه های فوق دارای مجموعه ای از فليپ فلاپ ها با دو وضعيت خواهند بود. بنابراين حافظه های فوق قادر به بازخوانی اطلاعات بصورت پيوسته نظير حافظه های DRAM نخواهند بود. هر يک از سلول های حافظه ماداميکه منبع تامين انرژی آنها فعال (On) باشد داده های خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات بصورت پريوديک نخواهد بود . سرعت حافظه های فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در حال حاضر بعنوان جايگزينی استاندارد برای حافظه های RAM مطرح نمی باشند.
انواع حافظه