قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

سخت افزار ، نصب ویندوز

 سخت افزار ، مونتاژ کامپیوتر ، پارتیشن بندی هارد ، نصب ویندوز
در ادمه مطلب توضیحاتی در مورد سخت افزار کامپیوتر ارئه شده است

ادامه مطلب ...

Caching

 سخت افزار 
   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 بایت حافظه اصلی خواهند بود.
 

حافظه RAM

سخت افزار   
 حافظه 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 بوده که دریک نوع خاص اسلات ، در  کامپیوترهای 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 مگابایت توصیه می گردد). میزان حافظه اشاره شده برای هر یک از سیستم های فوق  بر اساس کاربردهای  معمولی ارائه شده است . دستیابی به اینترنت ، استفاده از برنامه های کاربردی خاص و سرگرم کننده ، نرم افزارهای خاص طراحی، انیمیشن سه بعدی و... مستلزم استفاده از حافظه بمراتب بیشتری خواهد بود .
 

BIOS

همه چیز در باره ی بایوس  BIOS


 سخت افزار  
   BIOS 
 یکی از متداولترین موارد کاربرد حافظه های Flash  ، استفاده از آنان در BIOS)Basic Input/Output System)  است . BIOS این اطمینان را به عناصر سخت افزاری نظیر : تراشه ها ، هارد یسک ، پورت ها ، پردازنده  و ... خواهد داد که بدرستی عملیات خود را در کنار یکدیگر انجام دهند.

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

- سیستم عامل : سیستم عامل مجموعه ای از خدمات مورد نیاز برای اجرای یک برنامه  را فراهم می نماید. ویندوز 98 ، 2000 و یا لینوکس نمونه هائی از سیستم های عامل می باشند.

- برنامه های کاربردی : برنامه های کاربردی نرم افزارهائی هستند که بمنظور تامین خواسته های خاصی طراحی و در اختیار کاربران  گذاشته می شوند. برنامه هائی نظیر : Word ، Excel و ... نمونه هائی از این نوع نرم افزارها می باشند.

BIOS در حقیقت نوع سومی از نرم افزارها بوده که کامپیوتر بمنظور عملکرد صحیح خود به آن نیاز خواهد داشت.

 

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

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

- یک برنامه تست با نام POST بمنظور بررسی صحت عملکرد عناصر سخت افراری

- فعال کردن تراشه های BIOS مربوط به سایر کارت های نصب شده در سیستم نظیر : کارت گرافیک و یا کنترل کننده SCSI

- مدیریت مجموعه ای از تنظیمات در رابطه با هارد دیسک،Clock و ...

BIOS  ، یک نرم افزار خاص است که بعنوان اینترفیس ( میانجی ) بین عناصر اصلی سخت افزارهای نصب شده بر روی سیستم و سیستم عامل ایفای وظیفه می نماید. نرم افزار فوق اغلب در حافظه هائی از نوع Flash و بصورت یک تراشه بر روی برد اصلی نصب می گردد. در برخی حالات تراشه فوق یک نوع خاص  از حافظه ROM خواهد بود.

زمانیکه کامپیوتر روشن می گردد BIOS عملیات متفاوتی را انجام خواهد داد:

- بررسی محتویات CMOS برای آگاهی از تنظیمات خاص انجام شده

- لود کردن درایورهای استاندارد و Interrupt handlers

- مقدار دهی اولیه ریجسترها و مدیریت Power

- اجرای برنامه POST  بمنظور اطمینان از صحت عملکرد عناصر سخت افزاری

- تشخیص درایوی که سیستم می بایست از طریق آن راه اندازی (Booting)  گردد.

- مقدار دهی اولیه برنامه مربوط به استقرار سیستم عامل در حافظه (Bootstrap)

اولین موردی را که BIOS بررسی خواهد کرد، اطلاعات ذخیره شده در یک نوع حافظه RAM با ظرفیت 64 بایت است . اطلاعات فوق  بر روی تراشه ای با نام CMOS)Complementry metal oxid semiconductor) ذخیره می گردند. CMOS شامل اطلاعات جزئی در رابطه با سیستم بوده و درصورت بروز هر گونه تغییردر سیستم، اطلاعات فوق نیز تغییر خواهند کرد. BIOS از اطلاعات فوق بمنظور تغییر و جایگزینی مقادیر پیش فرض خود استفاده می نماید.

Interrupt handlers نوع خاصی از نرم افزار بوده که بعنوان یک مترجم بین  عناصر سخت افزاری و سیستم عامل ایفای وظیفه می نماید.مثلا" زمانیکه شما کلیدی را برروی صفحه کلید فعال می نمائید، سیگنال مربوطه، برای Interrupt handler صفحه کلید ارسال شده تا از این طریق به پردازنده اعلام گردد که کدامیک از کلیدهای صفحه کلید فعال شده اند.

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

راه اندازی ( بوتینگ، Booting) کامپیوتر

پس از روشن کردن کامپیوتر، BIOS بلافاصله عملیات خود را آغاز خواهد کرد. در اغلب سیستم ها ،  BIOS  در زمان انجام عملیات مربوطه پیام هائی را نیز نمایش می دهد ( میزان حافظه، نوع هارد دیسک و ...) بمنظور آماده سازی کامپیوتر برای ارائه خدمات به کاربران، BIOS مجموعه ای از عملیات را انجام می دهد. پس از بررسی  و آگاهی از تنظیمات موجود در CMOS و استقرار Interrupt handler در حافظه RAM ،  کارت گرافیک بررسی می گردد. اغلب کارت های گرافیک ، دارای BIOS اختصاصی بوده که حافظه و پردازنده مربوط به کارت گرافیک را مقدار دهی اولیه می نماید. در صورتیکه BIOS اختصاصی برای کارت گرافیک وجود نداشته باشد از درایور استانداری که در ROM ذخیره شده است ، استفاده و درایو مربوطه فعال خواهد شد ( درایور استاندارد کارت گرافیک )  در ادامه BIOS نوع راه اندازی ( راه اندازی مجدد  (Rebbot)   و یا راه اندازی اولیه  (Cold Boot ) را تشخیص خواهد داد .برای تشخیص موضوع فوق، از محتویات آدرس 0000:0472  حافظه  استفاده می گردد. در صورتیکه در آدررس فوق مقدار  123h موجود باشد ، بمنزله "راه اندازی مجدد" بوده و برنامه BOIS  بررسی  صحت عملکرد حافظه را انجام نخواهد داد. در غیر اینصورت ( در صورت وجود هر مقدار دیگر در آدرس فوق )  یک "راه اندازی اولیه " تلقی می گردد. در این حالت بررسی صحت عملکرد و سالم بودن حافظه انجام خواهد شد.  در ادامه پورت های سریال و USB برای اتصال صفحه کلید وموس بررسی خواهند شد. در مرحله بعد  کارت های PCI نصب شده بر روی سیستم بررسی می گردند. در صورتیکه در هر یک از مراحل فوق BIOS با اشکالی برخورد نماید با نواختن چند Beep معنی دار، مورد خطاء را اعلام خواهد کرد. خطاهای اعلام شده اغلب به موارد سخت افزار سیستم مربوط می گردد. 

برنامه BIOS اطلاعاتی در رابطه با نوع پردازنده ، فلاپی درایو ، هارد دیسک ، حافظه تاریخ و شماره ( ورژن ) برنامه 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 با اشکال مواجه شده  و امکان راه اندازی سیستم وجود نخواهد داشت .!