PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله حافظه



آبجی
22nd March 2010, 08:12 PM
حافظه
حافظه با هدف ذخيره سازی اطلاعات (دائم، موقت)در کامپيوتر استفاده می گردد و انواع آن بسیار زیاد است. استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای دیگری نظير: تلفن های سلولی، 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 با وضعيت: 100 MHz و 32 بيت، بصورت تئوری قادر به ارسال چهار بايت به پردازنده و يکصد ميليون مرتبه در هر ثانيه است. در حاليکه يک BUS شانرده بيتی 66MHZ بصورت تئوری قادر به ارسال دو بايت و 66 ميليون مرتبه در هر ثانيه است. با توجه به مثال فوق مشاهده می گردد که با تغيير پهنای BUS از شانزده به سي و دو و سرعت از 66 MHz به 100 MHz سرعت ارسال داده برای پردازنده سه برابر گرديد.

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

آبجی
22nd March 2010, 08:13 PM
حافظه 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) بود. برد فوق (بانک حافظه) در ادامه با استفاده از يک نوع خاص از Connector به برد اصلی متصل می گرديد. اين نوع تراشه ها اغلب از يک پيکربندی 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 مگابايت خواهيم رسيد.
نوع برد و Connector استفاده شده در حافظه های RAM، طی پنج سال اخير تفاوت کرده است. نمونه های اوليه اغلب بصورت اختصاصی توليد می گرديدند. توليد کنندگان مختلف کامپيوتر بردهای حافظه را به گونه ای طراحی می کردند که صرفا" امکان استفاده از آنها در سيستم های خاصی وجود داشت.
در ادامه ( SIMM ( Single in-line memory module مطرح گرديد. اين نوع از بردهای حافظه از 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 بوده که دريک نوع خاص اسلات، در کامپيوترهای noteBook استفاده می گردد.
PCMCIA memory card. نوع ديگر از حافظه شامل ماژول های DRAM بوده که در notebook استفاده می شود.
FlashRam نوع خاصی از حافظه با ظرفيت کم برای استفاده در دستگاههائی نظير تلويزيون، VCR بوده و از آن به منظور نگهداری اطلاعات خاص مربوط به هر دستگاه استفاده می گردد. زمانيکه اين نوع دستگاهها خاموش باشند همچنان به ميزان اندکی برق مصرف خواهند کرد. در کامپيوتر نيز از اين نوع حافظه ها برای نگهداری اطلاعاتی در رابطه با تنظيمات هارد ديسک و ... استفاده می گردد.
VideoRam ) VRAM) يک نوع خاص از حافظه های RAM بوده که برای موارد خاص نظير: آداپتورهای ويدئو و يا شتاب دهندگان سه بعدی استفاده می شود. به اين نوع از حافظه ها multiport dynamic random access memory) MPDRAM) نيز گفته می شود. علت نامگذاری فوق بدين دليل است که اين نوع از حافظه ها دارای امکان دستيابی به اطلاعات، بصورت تصادفی و سريال می باشند. VRAM بر روی کارت گرافيک قرار داشته و دارای فرمت های متفاوتی است. ميزان حافظه فوق به عوامل متفاوتی نظير: "وضوح تصوير" و "وضعيت رنگ ها " بستگی دارد.

به چه ميزان حافظه نياز است ؟
حافظه RAM يکی از مهمترين فاکتورهای موجود در زمينه ارتقاء کارآئی يک کامپيوتر است. افزايش حافظه بر روی يک کامپيوتر با توجه به نوع استفاده می تواند در مقاطع زمانی متفاوتی انجام گيرد. در صورتي که از سيستم های عامل ويندوز 95 و يا 98 استفاده می گردد حداقل به 32 مگابايت حافظه نياز خواهد بود. (64 مگابايت توصيه می گردد).اگر از سيستم عامل ويندوز 2000 استفاده می گردد حداقل به 64 مگابايت حافظه نياز خواهد بود. (128 مگابايت توصيه می گردد). سيستم عامل لينوکس صرفا" به 4 مگابايت حافظه نياز دارد. در صورتي که از سيستم عامل اپل استفاده می گردد به 16 مگابايت حافظه نياز خواهد بود. ( 64 مگابايت توصيه می گردد). ميزان حافظه اشاره شده برای هر يک از سيستم های فوق بر اساس کاربردهای معمولی ارائه شده است. دستيابی به اينترنت، استفاده از برنامه های کاربردی خاص و سرگرم کننده، نرم افزارهای خاص طراحی، انيميشن سه بعدی و... مستلزم استفاده از حافظه بمراتب بيشتری خواهد بود.

آبجی
22nd March 2010, 08:14 PM
حافظه ROM
حافظه ROM يک نوع مدار مجتمع (IC) است که در زمان ساخت داده هائی در آن ذخيره می گردد. اين نوع از حافظه ها علاوه بر استفاده در کامپيوترهای شخصی در ساير دستگاههای الکترونيکی نيز به خدمت گرفته می شوند. حافظه های ROM از لحاظ تکنولوژی استفاده شده، دارای انواع زير می باشند:
ROM
PROM
EPROM
EEPROM
Flash Memory
هر يک از مدل های فوق دارای ويژگی های منحصر به فرد خود می باشند. حافظه های فوق در موارد زير دارای ويژگی مشابه می باشند:
داده های ذخيره شده در اين نوع تراشه ها "غير فرار" بوده و پس از خاموش شدن منبع تامين انرژی اطلاعات خود را از دست نمی دهند.
داده های ذخيره شده در اين نوع از حافظه ها غير قابل تغيير بوده و يا اعمال تغييرات در آنها مستلزم انجام عمليات خاصی است.



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

حافظه PROM
توليد تراشه های ROM مستلزم صرف وقت و هزينه بالائی است. بدين منظور اغلب توليد کنندگان، نوع خاصی از اين نوع حافظه ها را که PROM) Programmable Read-Only Memory ) ناميده می شوند، توليد می کنند. اين نوع از تراشه ها با محتويات خالی با قيمت مناسب عرضه شده و می تواند توسط هر شخص با استفاده از دستگاههای خاصی که Programmer ناميده می شوند، برنامه ريزی گردند. ساختار اين نوع از تراشه ها مشابه ROM بوده با اين تفاوت که در محل برخورد هر سطر و ستون از يک فيوز (برای اتصال به يکديگر) استفاده می گردد. يک شارژ که از طريق يک ستون ارسال می گردد از طريق فيوز به يک سلول پاس داده شده و بدين ترتيب به يک سطر Grounded که نماينگر مقدار "يک" است، ارسال خواهد شد. با توجه به اينکه تمام سلول ها دارای يک فيوز می باشند، درحالت اوليه (خالی)، يک تراشه PROM دارای مقدار اوليه "يک" است. بمنظور تغيير مقدار يک سلول به صفر، از يک Programmer برای ارسال يک جريان خاص به سلول مورد نظر، استفاده می گردد. ولتاژ بالا، باعث قطع اتصال بين سطر و ستون (سوختن فيوز) خواهد شد. فرآيند فوق را "Burning the PROM " می گويند.
حافظه های PROM صرفا" يک بار قابل برنامه ريزی هستند. حافظه های فوق نسبت به RAM شکننده تر بوده و يک جريان حاصل از الکتريسيته ساکن، می تواند باعث سوخته شدن فيور در تراشه شده و مقدار يک را به صفر تغيير نمايد. از طرف ديگر (مزايا) حافظه ای PROM دارای قيمت مناسب بوده و برای نمونه سازی داده برای يک ROM، قبل از برنامه ريزی نهائی، کارآئی مطلوبی دارد.

حافظه EPROM
استفاده کاربردی از حافظه های ROM و PROM با توجه به نياز به اعمال تغييرات در آنها قابل تامل است (ضرورت اعمال تغييرات و اصلاحات در اين نوع حافظه ها می تواند به صرف هزينه بالائی منجر گردد) حافظه های EPROM) Eraseable programmable read-only memory) پاسخی مناسب به نياز های مطرح شده است (نياز به اعمال تغييرات) تراشه های EPROM را می توان چندين مرتبه باز نويسی کرد. پاک نمودن محتويات يک تراشه EPROM مستلزم استفاده از دستگاه خاصی است که باعث ساطع کردن يک فرکانس خاص ماوراء بنفش(نور) باشد. پيکربندی اين نوع از حافظه ها مستلزم استفاده از يک EPROM Programer است که ولتاژd را در يک سطح خاص ارائه نمايد (با توجه به نوع EPROM استفاده شده) اين نوع حافظه ها، نيز دارای شبکه ای مشتمل از سطر و ستون می باشند. در يک EPROM سلول موجود در نقظه برخورد سطر و ستون دارای دو ترانزيستور است .ترانزيستورهای فوق توسط يک لايه نازک اکسيد از يکديگر جدا شده اند. يکی از ترانزيستورها Floating Gate و ديگری Control Gate ناميده می شود. Floating Gate صرفا" از طريق Control Gate به سطر مرتبط است. مادامي که لينک برقرار باشد سلول دارای مقدار يک خواهد بود. به منظور تغيير مقدار فوق به صفر به فرآيندی با نام Fowler-Nordheim tunneling نياز است. Tunneling بمنظور تغيير محل الکترون های Floating gate استفاده می گردد. يک شارژ الکتريکی بين 10 تا 13 ولت به floating gate داده می شود. شارژ از ستون شروع و پس از ورود به floating gate در ground تخليه خواهد گرديد. شارژ فوق باعث می گردد که ترانزيستور floating gate مشابه يک "پخش کننده الکترون " رفتار نمايد. الکترون های مازاد، فشرده شده و در سمت ديگر لايه اکسيد به دام افتاده و يک شارژ منفی را باعث می گردند. الکترون های شارژ شده منفی، بعنوان يک صفحه عايق بين control gate و floating gate رفتار می نمايند. دستگاه خاصی با نام Cell sensor سطح شارژ پاس داده شده به floating gate را مونيتور خواهد کرد. در صورتيکه جريان گيت بيشتر از 50 درصد شارژ باشد در اينصورت مقدار "يک" را دارا خواهد بود. زماني که شارژ پاس داده شده از 50 درصد آستانه عدول نموده مقدار به "صفر" تغيير پيدا خواهد کرد. يک تراشه EPROM دارای گيت هائی است که تمام آنها باز بوده و هر سلول آن مقدار يک را دارا است.
بمنظور باز نويسی يک EPROM می بايست در ابتدا محتويات آن پاک گردد. برای پاک نمودن می بايست يک سطح از انرژی زياد را بمنظور شکستن الکترون های منفی Floating gate استفاده کرد. در يک EPROM استاندارد، عمليات فوق از طريق اشعه ماوراء بنفش با فرکانس 253/ 7 انحام می گردد. فرآيند حذف در EPROM انتخابی نبوده و تمام محتويات آن حذف خواهد شد. برای حذف يک EPROM می بايست آن را از محلی که نصب شده، جدا کرده و به مدت چند دقيقه زير اشعه ماوراء بنفش دستگاه پاک کننده EPROM قرار داد.


حافظه های EEPROM و Flash Memory
با اينکه حافظه ای EPROM يک موفقيت مناسب نسبت به حافظه های PROM از بعد استفاده مجدد می باشند ولی كماكان نيازمند بکارگيری تجهيزات خاص و دنبال نمودن فرآيندهای خسته کننده بمنظور حذف و نصب مجدد آنان در هر زمانی است که به يک شارژ نياز باشد. در ضمن، فرآيند اعمال تغييرات در يک حافظه EPROM نمی تواند همزمان با نياز و بصورت تصاعدی صورت پذيرد و در ابتدا می بايست تمام محتويات را پاک نمود. حافظه های Electrically Eraseable Programmable Read Only Memory ) EEOPROM) پاسخی مناسب به نيازهای موجود است. در حافظه های EEPROM تسهيلات زير ارائه می گردد:
برای بازنويسی تراشه نياز به جدا نمودن تراشه از محل نصب شده نخواهد بود.
برای تغيير بخشی از تراشه نياز به پاک نمودن تمام محتويات نخواهد بود.
اعمال تغييرات در اين نوع تراشه ها مستلزم بکارگيری يک دستگاه اختصاصی نخواهد بود.
به جای استفاده از اشعه ماوراء بنفش، می توان الکترون های هر سلول را با استفاده از يک برنامه محلی و بکمک يک ميدان الکتريکی به وضعيت طبيعی برگرداند. عمليات فوق باعث حذف سلول های مورد نظر شده و می توان مجددا" آنها را بازنويسی نمود. تراشه های فوق در هر لحظه يک بايت را تغيير خواهند داد. فرآيند اعمال تغييرات در تراشه های فوق کند بوده و در مواردی که می بايست اطلاعات با سرعت تغيير يابند، سرعت لازم را نداشته و دارای چالش های خاص خود می باشند.
توليدکنندگان با ارائه Flash Memory که يک نوع خاص از حافظه های EEPROM می باشد به محدوديت اشاره شده پاسخ لازم را داده اند. در حافظه Falsh از مدارات از قبل پيش بينی شده در زمان طراحی، بمنظور حذف استفاده می گردد (بکمک ايجاد يک ميدان الکتريکی). در اين حالت می توان تمام و يا بخش های خاصی از تراشه را که "بلاک " ناميده می شوند، حذف کرد. اين نوع حافظه نسبت به حافظه های EEPROM سريعتر است، چون داده ها از طريق بلاک هائی که معمولا" 512 بايت می باشند (به جای يک بايت در هر لحظه) نوشته می گردند. شکل زير حافظه BIOS را که نوع خاصی از حافظه ROM مدل Flash memory است، نشان می دهد.

آبجی
22nd March 2010, 08:16 PM
حافظه مجازي
حافظه مجازی يکی از بخش های متداول در اکثر سيستم عامل های کامپيوترهای شخصی است. سيستم فوق با توجه به مزايای عمده، به سرعت متداول و با استقبال کاربران کامپيوتر مواجه شده است.
اکثر کامپيوترها در حال حاضر از حافظه های محدود با ظرفيت 64، 128 و يا 256 مگابايت استفاده می نمايند. حافظه موجود در اکثر کامپيوترها به منظور اجرای چندين برنامه بصورت همزمان توسط کاربر ، پاسخگو نبوده و با کمبود حافظه مواجه خواهد شد. مثلا" در صورتي که کاربری به طور همزمان، سيستم عامل، يک واژه پرداز، مرورگر وب و يک برنامه برای ارسال نامه الکترونيکی را فعال نمايد، 32 و يا 64 مگابايت حافظه، ظرفيت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر يک از نرم افزارهای فوق نخواهند بود. يکی از راهکارهای غلبه بر مشکل فوق افزايش و ارتقای حافظه موجود است. با ارتقای حافظه و افزايش آن ممکن است مشکل فوق در محدوده ای ديگر مجددا" بروز نمايد. راهکار دیگر استفاده از حافظه مجازی است.
در تکنیک حافظه مجازی از فضای هارد ديسک استفاده می گردد. در چنين حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته اند، از حافظه خارج و در محلی خاص بر روی هارد ديسک ذخيره می گردند. بدين ترتيب بخشی از حافظه اصلی آزاد و زمينه استقرار يک برنامه جديد در حافظه فراهم خواهد شد. عمليات ارسال اطلاعات از حافظه اصلی بر روی هارد ديسک بصورت خودکار (به وسیله سیستم عامل) انجام می گيرد.




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

پيکربندی حافظه مجازی
ويندوز 98 دارای يک برنامه هوشمند برای مديريت حافظه مجازی است. در زمان نصب ويندوز، پيکربندی و تنظيمات پيش فرض برای مديريت حافظه مجازی انجام خواهد شد. تنظيمات انجام شده در اغلب موارد پاسخگو بوده و نيازی به تغيير آنها وجود نخواهد داشت. در برخی موارد لازم است که پيکربندی مديريت حافظه مجازی بصورت دستی انجام گيرد. برای انجام اين کار در ويندوز 98، گزينه System را از طريق Control panel انتخاب و در ادامه گزينه Performance را فعال نمائيد. در بخش Advanced setting، گزينه Virtual memory را انتخاب نمائيد.

با نمايش پنجره مربوط به Virtual Memory، گزينه "Let me specify my own virtual memory setting " را انتخاب تا زمينه مشخص نمودن مکان و طرفيت حداقل و حداکثر فايل مربوط به حافظه مجازی فراهم گردد. در فيلد Hard disk محل ذخيره نمودن فايل و درفيلد های ديگر حداقل و حداکثر ظرفيت فايل را بر حسب مگابايت مشخص نمائيد. برای مشخص نمودن حداکثر فضای مورد نياز حافظه مجازی می توان هر اندازه ای را مشخص نمود. تعريف اندازه هايي به ميزان دو برابر حافظه اصلی کامپيوتر برای حداکثر ميزان حافظه مجازی توصيه می گردد.




ميزان حافظه موجود هارد ديسک که برای حافظه مجازی در نظر گرفته خواهد شد بسيار حائر اهميت است. در صورتي که فضای فوق بسيار ناچيز انتخاب گردد، همواره با پيام خطائی مطابق "Out of Memory" مواجه خواهيم شد. پيشنهاد می گردد نسبت حافظه مجازی به حافظه اصلی دو به يک باشد. يعنی مثلا در صورتيکه حافظه اصلی موجود 16 مگابايت باشد، حداکثر حافظه مجازی را 32 مگابايت در نظر گرفت.

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

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

آبجی
22nd March 2010, 08:17 PM
حافظه پشته
يك ويژگي مفيد كه در CPU اغلب كامپيوتر ها وجود دارد پشته است. پشته در واقع یک لیستی است با ویژگی اولين ورودي آخرين خروجي (LIFO). پس پشته يك محل ذخيره سازي است (مثل حافظه) كه اطلاعات را به نحوي ذخيره مي كند كه هميشه آخرين كميت ذخيره شده اولين كميت بازيابي شونده باشد. عمل يك پشته را مي توان با روي هم چيدن سيني ها مقايسه كرد. آخرين سيني در بالاي مجموعه سيني ها اولين سيني برداشته شده از آن خواهد بود.

سازمان پشته
در يك كامپيوتر ديجيتال، پشته اصولاً يك بخشی از حافظه است، به همراه ثبات آدرسي كه تنها مي تواند بشمارد. (پس از يك مقدار اوليه كه مي توان در آن وارد كرد) ثباتي كه آدرس پشته را نگهداري مي نمايد اشاره گر پشته (SP) ناميده مي شود، زيرا مقدار آن هميشه به آخرین كميت ذخیره شده در پشته اشاره مي كند.
بر خلاف پشته اي از سيني ها كه در آن خود سيني را مي توان خارج يا داخل پشته كرد، ثبات هاي فيزيكي پشته فقط همواره براي خواندن يا نوشتن در دسترس قرار دارند. در واقع كلمه است كه مي تواند در پشته درج يا حذف شود.

PUSH و POP
PUSH و POP دو عملی است که در پشته تعریف می شود و عبارتند از: درج (Push) کمیت يا حذف كميت (POP) در پشته عمل درج داده را Push (فشار دادن يا هول دادن) ناميده اند زيرا این عمل را مي توان بصورت فشار دادن يك كميت جديد در بالاي آن تصور كرد. عمل حذف را POP (كشيدن يا برداشتن) گويند زيرا این عمل را مي توان به صورت حذف يك كميت از بالاي آن در نظر گرفت. البته باید در نظر داشت که عملا چيزي به داخل پشته فشار داده نمی شود و يا چیزی از كشيده نمي شود. اين اعمال با افزايش يا كاهش محتویات ثبات اشاره گر پشته، شبيه سازي مي گردند.

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

آبجی
22nd March 2010, 08:18 PM
BIOS

يكي از متداول ترين موارد کاربرد حافظه های Flash، استفاده از آنان در BIOS ) Basic Input/Output System) است. BIOS اين اطمينان را به عناصر سخت افزاری نظير: تراشه ها، هارد ديسك، پورت ها، پردازنده و ... خواهد داد که به درستی عمليات خود را در کنار يکديگر انجام دهند.
هر کامپيوتر (شخصی، دستی) دارای يک ريزپردازنده بعنوان واحد پردازشگر مرکزی است. به منظور الزام پردازنده برای انجام يک عمليات خاص، می بايست مجموعه ای از دستورالعمل ها که نرم افزار ناميده می شوند نوشته شده و در اختيار پردازنده قرار گيرد. از دو نوع نرم افزار استفاده می گردد :
- سيستم عامل: سيستم عامل مجموعه ای از خدمات مورد نياز برای اجرای يک برنامه را فراهم می نمايد. ويندوز 98، 2000 و يا لينوکس نمونه هائی از سيستم های عامل می باشند.
- برنامه های کاربردی: برنامه های کاربردی نرم افزارهائی هستند که بمنظور تامين خواسته های خاصی، طراحی و در اختيار کاربران گذاشته می شوند. برنامه هائی نظير: Word، Excel و ... نمونه هائی از اين نوع نرم افزارها می باشند.
BIOS در حقيقت نوع سومی از نرم افزارها بوده که کامپيوتر به منظور عملکرد صحيح خود به آن نياز خواهد داشت.




خدمات ارائه شده توسط BIOS

نرم افزار BIOS دارای وظايف متعددی است. ولی بدون شک مهمترين وظيفه آن استقرار سيستم عامل در حافظه است. زمانيکه کامپيوتر روشن و ريزپردازنده سعی در اجرای اولين دستورالعمل های خود را داشته باشد، می بايست دستورالعمل های اوليه از مکان ديگر در اختيار آن گذاشته شوند (در حافظه اصلی کامپيوتر هنوز اطلاعاتی قرار نگرفته است) دستورالعمل های مورد نظر را نمی توان از طريق سيستم عامل در اختيار پردازنده قرار داد چراکه هنوز سيستم عامل در حافظه مستقر نشده و همچنان بر روی هارد ديسک است. مشکل اينجاست که می بايست با استفاده از روشهائی به پردازنده اعلام گردد که سيستم عامل را به درون حافظه مستقر تا در ادامه امکان استفاده از خدمات سيستم عامل فراهم گردد. BIOS دستورالعمل های لازم را در اين خصوص ارائه خواهد کرد. برخی از خدمات متداول که BIOS ارائه می دهد، بشرح زير می باشد:
- يک برنامه تست با نام POST بمنظور بررسی صحت عملکرد عناصر سخت افزاري
- فعال کردن تراشه های BIOS مربوط به ساير کارت های نصب شده در سيستم نظير: کارت گرافيک و يا کنترل کننده SCSI
- مديريت مجموعه ای از تنظيمات در رابطه با هارد ديسک، Clock و ...
BIOS، يک نرم افزار خاص است که بعنوان Interface (واسط) بين عناصر اصلی سخت افزارهای نصب شده بر روی سيستم و سيستم عامل ايفای وظيفه می نمايد. نرم افزار فوق اغلب در حافظه هائی از نوع Flash و بصورت يک تراشه بر روی برد اصلی نصب می گردد. در برخی حالات عملکرد تراشه فوق مشابه يک نوع خاص از حافظه ROM خواهد بود.

زماني که کامپيوتر روشن می گردد BIOS عمليات متفاوتی را انجام خواهد داد:
- بررسی محتويات CMOS برای آگاهی از تنظيمات خاص انجام شده
- Load کردن درايورهای استاندارد و Interrupt handlers
- مقدار دهی اوليه ثبات هاو مديريت Power
- اجرای برنامه POST بمنظور اطمينان از صحت عملکرد عناصر سخت افزاری
- تشخيص درايوی که سيستم می بايست از طريق آن راه اندازی (Booting) گردد.
- مقدار دهی اوليه برنامه مربوط به استقرار سيستم عامل در حافظه (Bootstrap )
اولين موردی را که BIOS بررسی خواهد کرد، اطلاعات ذخيره شده در يک نوع حافظه RAM با ظرفيت 64 بايت است. اطلاعات فوق بر روی تراشه ای با نام CMOS ذخيره می گردند. CMOS شامل اطلاعات جزئی در رابطه با سيستم بوده و درصورت بروز هر گونه تغيير در سيستم، اطلاعات فوق نيز تغيير خواهند کرد. BIOS از اطلاعات فوق بمنظور تغيير و جايگزينی مقادير پيش فرض خود استفاده می نمايد.
Interrupt handlers نوع خاصی از نرم افزار بوده که به عنوان يک مترجم بين عناصر سخت افزاری و سيستم عامل ايفای وظيفه می نمايد. مثلا" زماني که شما کليدی را برروی صفحه کليد فعال می نمائيد، سيگنال مربوطه، برای Interrupt handler صفحه کليد ارسال شده تا از اين طريق به پردازنده اعلام گردد که کداميک از کليدهای صفحه کليد فعال شده اند.
درايورها يک نوع خاص ديگر از نرم افزارها بوده که مجموعه عمليات مجاز بر روی يک دستگاه را تبیین و راهکارهای ( توابع ) مربوطه را ارائه خواهند. اغلب دستگاه های سخت افزاری نظير: صفحه کليد، موس، هارد و فلاپی درايو دارای درايورهای اختصاصی خود می باشند. با توجه به اينکه BIOS بصورت دائم با سيگنال های ارسالی توسط عناصر سخت افزاری مواجه است، معمولا" يک نسخه از آن در حافظه RAM کپی خواهد شد.

راه اندازی یا بوتينگ (Booting ) کامپيوتر
پس از روشن کردن کامپيوتر، BIOS بلافاصله عمليات خود را آغاز خواهد کرد. در اغلب سيستم ها، BIOS در زمان انجام عمليات مربوطه پيام هائی را نيز نمايش می دهد ( ميزان حافظه، نوع هارد ديسک و ...) به منظور آماده سازی کامپيوتر برای ارائه خدمات به کاربران، BIOS مجموعه ای از عمليات را انجام می دهد. پس از بررسی و آگاهی از تنظيمات موجود در CMOS و استقرار Interrupt handler در حافظه RAM، کارت گرافيک بررسی می گردد. اغلب کارت های گرافيک، دارای BIOS اختصاصی بوده که حافظه و پردازنده مربوط به کارت گرافيک را مقدار دهی اوليه می نمايد. در صورتيکه BIOS اختصاصی برای کارت گرافيک وجود نداشته باشد از درايور استانداری که در ROM ذخيره شده است، استفاده و درايو مربوطه فعال خواهد شد ( درايور استاندارد کارت گرافيک )
در ادامه BIOS نوع راه اندازی ( راه اندازی مجدد [یا Reboot] و يا راه اندازی اوليه [Cold Boot] را تشخيص خواهد داد. برای تشخيص موضوع فوق، از محتويات آدرس 0000:0472 حافظه استفاده می گردد. در صورتي که در آدررس فوق مقدار 123h موجود باشد، بمنزله "راه اندازی مجدد" بوده و برنامه BOIS بررسی صحت عملکرد حافظه را انجام نخواهد داد. در غير اينصورت ( در صورت وجود هر مقدار ديگر در آدرس فوق ) يک "راه اندازی اوليه " تلقی می گردد. در اين حالت بررسی صحت عملکرد و سالم بودن حافظه انجام خواهد شد.
در ادامه پورت های سريال و USB برای اتصال صفحه کليد و موس بررسی خواهند شد. در مرحله بعد کارت های PCI نصب شده بر روی سيستم بررسی می گردند. در صورتيکه در هر يک از مراحل فوق BIOS با اشکالی برخورد نمايد با نواختن چند Beep معنی دار، مورد خطاء را اعلام خواهد کرد. خطاهای اعلام شده اغلب به موارد سخت افزار سيستم مربوط می گردد.
برنامه BIOS اطلاعاتی در رابطه با نوع پردازنده، فلاپی درایو، هارد ديسک، حافظه تاريخ و شماره (Version) برنامه BIOS، نوع صفحه نمايشگر را نمايش خواهد داد. در صورتي که بر روی سيستم از آداپتورهای SCSI استفاده شده باشد ، BIOS درايور مربوط به آن را از BIOS اختصاصی آداپتور فعال و BIOS اختصاصی اطلاعاتی را در رابطه با آداپتور SCSI نمايش خواهد داد. در ادامه برنامه BIOS نوع درايوی را که می بايست فرآيند انتقال سيستم عامل از آن آغاز گردد را تشخيص خواهد داد. برای نيل به هدف فوق از تنظيمات موجود در CMOS استفاده می گردد. اولويت درايو مربوطه برای بوت سيستم متغير و به نوع سيستم بستگی دارد. اولويت فوق می تواند شامل مواردی نظير: A, C, CD و يا C, A, CD و ... باشد. ( A نشاندهنده فلاپی درايو C نشاندهنده هاردديسک و CD نشاندهنده درايو CD-ROM است ) در صورتيکه درايو مشخص شده شامل برنامه های سيستم عامل نباشد پيام خطائی نمايش داده خواهد شد. (Non System disk or disk error )

پيکربندی BIOS
در بخش قبل اشاره گرديد که BIOS در موارد ضروری از تنظيمات ذخيره شده در CMOS استفاده می نمايد. برای تغيير دادن تنظيمات مربوطه می بايست برنامه پيکربندی CMOS فعال گردد. برای فعال کردن برنامه فوق می بايست در زمان راه اندازی سيستم کليدهای خاصی را فعال تا زمينه استفاده از برنامه فوق فراهم گردد.
در اغلب سيستم ها بمنظور فعال شدن برنامه پيکربندی کليد Esc يا Del يا F1 يا F2 يا Ctrl-Esc يا Ctrl-Alt-Esc را می بايست فعال کرد. ( معمولا" در زمان راه اندازی سيستم نوع کليدی که فشردن آن باعث فعال شدن برنامه پيکربندی می گردد، بصورت يک پيام بر روی صفحه نمايشگر نشان داده خواهد شد ) پس از فعال شدن برنامه پيکربندی با استفاده از مجموعه ای از گزينه ها می توان اقدام به تغيير پارامترهای مورد نظر کرد.
تنظيم تاريخ و زمان سيستم، مشخص نمودن اولويت درايو بوت، تعريف يک رمز عبور برای سيستم، پيکربندی درايوها ( هارد، فلاپی ، CD ) و ... نمونه هائی از گزينه های موجود در اين زمينه می باشند. در زمان تغيير هر يک از تنظيمات مربوطه در CMOS می بايست دقت لازم را بعمل آورد چراکه در صورتيکه عمليات فوق بدرستی انجام نگيرد اثرات منفی بر روی سيستم گذاشته و حتی در مواردی باعث اختلال در راه اندازی سيستم خواهد شد.



BIOS از تکنولوژی CMOS بمنظور ذخيره کردن تنظيمات مربوطه استفاده می نمايد. در اين تکنولوژی يک باتری کوچک ليتيوم انرژی (برق) لازم برای نگهداری اطلاعات بمدت چندين سال را فراهم می نمايد.

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

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد