ولی چیزی که شاید ندانید این است که اکثر وسایل دیجیتالی روزمره نیز دارای حافظه میباشند. برای مثال میتوان به تلفن همراه، کنسولهای بازی، رادیو اتومبیل، دستگاه ضبط و پخش DVD و CD و حتی تلویزیون نام برد.
اساس کار حافظه کامپیوتر:
گرچه حافظه به هر نوع ذخیره ساز اطلاعات به صورت دیجیتال گفته میشود، ولی معمولاً منظور از حافظه کامپیوتر، نوع غیر دائم و سریع آن است.
اگر پردازنده کامپیوتر شما برای دسترسی به اطلاعات مجبور به جستجو در هارد (HDD) بود، حتی سادهترین عملیات ساعتها به طول میانجامید. ولی وقتی اطلاعات قبل از رفتن به پردازشگر به حافظه منتقل شود، پردازشگر فقط در حجم کوچکی به دنبال اطلاعات میگردد.
اطلاعات چه از صفحه کلید وارد شود و چه از هارد، همگی ابتدا به RAM منتقل میشوند.
تمام اجزای کامپیوتر به صورت یک تیم با هم در ارتباط هستند. حافظه یکی از مهمترین اجزای این تیم است. از زمانی که کامپیوتر خود را روشن میکنید تا وقتی که آن را خاموش میکنید مراحلی طی میشود که به صورت ساده میتوان آنها را به صورت زیر بیان کرد:
• کامپیوترتان را روشن میکنید.
• کامپیوتر روی ROM] ROM چطور کار میکند؟]اطلاعاتی ذخیره میکند و تستی به نام POST را اجرا میکند. این تست برای اطمینان از سالم بودن اجزای اصلی ضروری است. در جریان این تست یک بیت روی هر کدام از حافظهها ذخیره و خوانده میشود تا از کارکرد حافظهها اطمینان حاصل شود.
• کامپیوتر BIOS را روی ROM ذخیره میکند. BIOS شامل اطلاعات سادهای مثل آدرس هارد و سی.دی درایو، ترتیب بوت (BOOT) کردن و Plug and Play (شناسایی خودکار قطعات) است.
• سیستم عامل روی RAM ذخیره میشود. به این معنی که فقط اجزای اصلی سیستم عامل روی این حافظه ذخیره میشود. با این کار سرعت کار کامپیوتر بالا میرود.
• وقتی برنامهای را اجرا میکنید، ابتدا اجزای اصلی آن روی RAMذخیره میشود و در صورت نیاز اجزای دیگر آن ذخیره میشود. همچنین اگر این برنامهها به فایلی دسترسی دارند این برنامه روی RAM ذخیره میشود.
• وقتی فایلی را بعد از مورد استفاده قرار گرفتن توسط برنامهای دوباره ذخیره میکنید، از RAM پاک میشود و به حافظه دائمی منتقل میشود.
در این پروسه فایلهایی که اجرا میشوند روی RAM یا حافظه غیر دائمی ذخیره میشود. به این ترتیب وقتی فایلی را باز یا برنامهای را اجرا میکنید، پردازشگر کامپیوتر از RAM در خواست اطلاعات میکند و بعد از انجام پردازش روی اطلاعات آن را دوباره به RAM میفرستد.
این کار به صورت یک چرخه ادامه پیدا میکند. در اکثر کامپیوترها وقتی برنامهای بسته میشود تمام اطلاعات آن و تمام فایلهای استفاده شده توسط آن ازRAM پاک میشود. به همین دلیل اگر اطلاعات روی حافظه دائمی ذخیره نشود از بین میرود.
سوالی که بعد از نگاه به لیستی که در ابتدا آورده شد به ذهنی هر کسی میرسد این است که چرا یک کامپیوتر به اکثر این حافظهها نیاز دارد.
انواع حافظههای کامپیوتر:
یک کامپیوتر ساده دارای حافظههای زیر است:
• Cache Level1 و Cache Level2
• یک RAM ساده
• حافظه مجازی (Virtual Memory)
• هارد دیسک
پردازشگرهای قوی و پر سرعت نیاز به دسترسی سریع به اطلاعات دارند. اگر این اطلاعات با تأخیر برسند، کار پردازشگر مختل میشود.
پردازشگری با سرعت 1گیگاهرتز توانایی پردازش میلیونها بایت در یک ثانیه را دارد. مشکل اساسی که سازندگان سخت افزار با آن روبرو هستند این است که حافظهای که توانایی همکاری با
پردازشگرهای مدرن را داشته باشد بسیار گران است و کاربران عادی توانایی تهیه آن را ندارند.
سازندگان حافظه این مشکل را حل کردهاند. به این ترتیب که تعداد کمی حافظه ارزان قیمت را با تعداد بیشتری حافظه ارزانتر به هم متصل میکنند.
ارزانترین نوع حافظه؛ نوع دائمی آن است. هارد دیسک بسیار ارزان تر از سایر حافظهها است. این نوع حافظه آخرین لایه حافظه پردازشگر را به نام حافظه مجازی (Virtual Memory) را تشکیل میدهد.
لایه بعدی RAM است. اندازه بیت (bit) پردازشگر نشان میدهد که چه مقدار اطلاعات را در یک لحظه از RAM میتواند دریافت کند. برای مثال یک پردازشگر 16 بیتی میتواند 2بایت (byte) اطلاعات از RAM بگیرد.(8بیت = 1 بایت)
مگاهرتز بیانگر تعداد پردازشها به میلیون در یک ثانیه است. به این معنی که یک پردازشگر 800 مگاهرتزی 32 بیتی مینواند 4 بایت اطلاعات را 800میلیون بار در ثانیه پردازش کند.
RAM کامپیوتر هرگز توانایی کار با این سرعت بالا را ندارد. به همین دلیل در این میان از Cache استفاده میشود. در ادامه به معرفی Cache میپردازیم.
RAM:
سرعت RAM توسط پهنای گذرگاه (Bus Width) و سرعت گذرگاه آن (Bus Speed) کنترل میشود. پهنای گذرگاه به تعداد بیتهایی که به پردازشگر فرستاده میشود، گفته میشود و سرعت گذرگاه به تعداد دفعاتی که این بیتها در یک ثانیه به پردازشگر میروند.
هر بار که اطلاعات از حافظه به پردازشگر میرود یک نوع چرخه موسوم به Bus Cycle ایجاد میشود. همان طور که گفته شد پردازشگر 100مگاهرتزی 32 بیتی توانایی پردازش 100میلیون بار 4 بایت اطلاعات را دارد و پردازشگر 66مگاهرتزی 16 بیتی توانایی پردازش نصف این مقدار اطلاعات به تعداد 66میلیون بار در ثانیه را دارد. با محاسبهای ساده درمییابید که سرعت پردازش اولی نقریباً سه برابر دومی است. (132میلیون بایت به 400میلیون بایت)
ولی تصوری که از سرعت عملکرد RAM داریم با واقعیت تفاوت دارد. زمان لازم برای خواندن اطلاعات توسط پردازشگر (Latency) از سوی RAM این تفاوت را ایجاد میکند. برای مثال RAM که با سرعت 100مگاهرتزی کار میکند توانایی فرستادن یک بیت اطلاعات در 0.00000001 ثانیه را دارد ولی ممکن است خواندن اولین بیت 0.00000005 ثانیه طول بکشد. برای جبران این عقب ماندگی پردازشگر از تکنیکی به نام Burst Mode استفاده میکند.
با این روش به کنترل گر حافظه پردازشگر این فرض داده میشود که انتظار آمدن اطلاعات بعدی را از همان قسمت داشته باشد که اطلاعات قبلی از آن آمده است و پردازشگر شروع به پردازش پیاپی اطلاعات میکند. این بدین معنی است که تنها خواندن اولین بیت اطلاعات از پردازشگر زمان میگیرد.
Cache:
Cache یکی از ابزاری است که اطلاعات را آسانتر در اختیار پردازشگر قرار میدهد. Cache اطلاعاتی را که بیشتر توسط پردازشگر استفاده میشود را در خود ضبط میکند. محل قرارگرفتن آن داخل پردازشگر است. حجم نوع اول Level 1 Cache)) از 2 تا 64کیلوبایت است.
نوع دوم (Level 2 Cache) حافظهای جدا از پردازشگر است و مستقیماً به پردازشگر متصل است. حجم این نوع آن از 256کیلوبایت تا 2 مگابایت است. در اکثر کامپیوترها 95درصد اطلاعات مورد استفاده پردازشگر توسط Cache تهیه میشود. حجم Cache تأثیر زیادی روی کارکرد پردازشگر دارد. [Cache چطور کار میکند؟]
Register:
آخرین لایه حافظه کامپیوتر Register است. Register حافظهای است که درون پردازشگر قرار دارد و پردازشگر مستقیماً از آن استفاده میکند. اطلاعات مربوط به پردازش اطلاعات و عملیات محاسباتی و منطقی(ALU : Arithmetic And Logic Unit) در این حافظه قرار دارد.