زنگ تفريح شماره 114
حافظههاي كامپيوتري چگونه كار ميكنند؟
مقدمهاي بر نحوه عملكرد حافظه كامپيوتري:
اگر به انواع مختلف حافظههاي الكترونيكي كه در زندگي روزمره با آن سروكار داريد توجه كنيد، متعجب خواهيد شد.
RAM، ROM، CACHE، Dynamic RAM، Static RAM، Flash memory، Virtual memory، memory Video، BIOS
|
شما ميدانيد كامپيوتري كه روبهروي شماست حافظه دارد. چيزي كه ممكن است ندانيد اين است كه بيشتر موارد الكترونيكي كه شما هر روزهاستفاده ميكنيد حافظه دارند، مانند گوشيهاي موبايل، PDAها، كنسولهاي بازي، راديوهاي ماشين، VCRها و تلويزيونها.
در زنگ تفريح اين شماره، نحوه عملكرد حافظه در كامپيوتر و انواع حافظهها را مورد بررسي قرار ميدهيم
|
اساس حافظههاي كامپيوتري
با اينكه بهطور تكنيكي هر نوعي از دستگاه هاي الكترونيكي حافظه است، اما معمولاٌ به ذخيرهسازي سريع و موقتي حافظه گفته ميشود.اگر CPU (پردازنده) كامپيوتر بايد دائماٌ به هاردديسك دسترسي ميداشت تا بتواند هر تكه دادهاي را كه نياز دارد بازيابي كند بسيار كند عمل ميكرد. وقتي اطلاعات در حافظه نگهداري ميشوند، پردازنده ميتواند سريعتر به آن دسترسي داشته باشد. بيشتر انواع حافظه، اطلاعات را به طور موقتي ذخيره ميكند.
همانطور كه در شكل بالا مشاهده ميكنيد، دسترسي پردازنده به حافظه بر اساس سلسله مراتب مجزا است. هر چه از ذخيرهسازهاي دائمي، وروديها بيشتر دادهها اول به RAMميروند. سپس پردازنده قسمتهايي از دادهها را كه در آينده به آنها نياز خواهد داشت را معمولاٌ در Cache(ذخيره گاه) ذخيره ميكند و دستورات مشخص و معين را در رجيستر حفظ ميكند.
بيشتر قسمتهاي كامپيوترتان مانند پردازنده، هارددرايو و سيستمعامل به صورت گروهي با هم كار ميكنند و حافظه يكي از قسمتهاي مهم و ضروري اين گروه است. از لحظهاي كه شما كامپيوترتان را روشن ميكنيد تا لحظهاي كه آن را خاموش مي كنيد، پردازنده بيوقفه از حافظه استفاده ميكند. بياييد با هم به اين سناريو نگاهي بيندازيم:
• شما كامپيوترتان را روشن ميكنيد
• كامپيوتر اطلاعات را از ROM (حافظه فقط خواندني ) بارگذاري ميكند و تست خودآزمايي قدرت (POST) را اجرا ميكند تا مطمئن شود تمام قسمتهاي بزرگ به صورت مناسب عمل ميكنند. به عنوان بخشي از اين آزمايش، كنترل كننده حافظه، تمام آدرسهاي حافظه را با عملكرد خواندن/ نوشتن سريع كنترل ميكند تا مطمئن شود هيچ خطايي در چيپهاي حافظه نيست. خواندن / نوشتن به اين معناست كه داده روي يك بيت نوشته ميشود و بعد از همان بيت خوانده ميشود.
• كامپيوتر (BIOS) را از حافظه ROM بارگذاري ميكند. BIOS اطلاعات پايهاي در رابطه با دستگاه هاي ذخيره سازي، تواليهاي بوت، امنيت، پلاگين و بازي (قابليت شناسايي اتوماتيك وسايل) و موارد ديگر را فراهم ميكند.
• كامپيوتر سيتم عامل را از هاردديسك روي RAM بارگذاري ميكند. بهطور كلي، قسمت بحراني سيستم عامل در طول زماني كه كامپيوتر روشن است روي RAM نگهداري ميشود. اين موضوع به پردازنده اين اجازه را ميدهد كه دسترسي فوري به سيستم عامل داشته باشد، كه اجرا و عملكرد سيستم را بهبود ميبخشد.
• وقتي شما يك برنامه كاريردي را باز ميكنيد، برنامه روي RAM بارگذاري ميشود. براي محافظت از استفاده از RAM بيشر برنامه هاي كاربردي فقط قسمتهاي مهم برنامهشان را در ابتدا بارگذلري ميكنند و سپس بقيه قسمتهايي كه نياز دارند را .
• بعد از اينكه يك برنامه كاربردي بارگذاري شد، هر فايلي كه براي استفاده در اين برنامه كاربردي باز شده بود روي RAM بارگذاري ميشود.
• وقتي شما يك فايل را ذخيره ميكنيد و برنامهي كاربردي را ميبنديد، فايل روي قسمت مخصوصي از حافظه دستگاه ذخيره ميشود، و سپس آن فايل و برنامه كاربردي از روي RAM پاكسازي ميشود.
در ليست بالا هر بار كه هر چيزي بارگذاري شد يا باز شد، روي RAM قرار ميگرفت.اين يعني روينواحي ذخيره سازي موقتي قرار گرفته است پس پردازنده به راحتي به آن اطلاعات دستنرسي داشته است، پردازنده دادههايي كه از RAM نياز دارد را درخواست ميكند و آن دادهها را پردازش ميكند و دوباره آنها را در يك چرخه ادامه دار مينويسد. در بيشتر كامپيوترها اين انتقال دادهها بين پردازنده و RAM در هر ثانيه ميليونها بار تكرار ميشود. وقتي يك برنامه كاربردي بسته ميشود، آن برنامه و همه فايلهاي همراه آن معمولاٍ از روي RAM پاك ميشود ات فضا براي دادههاي جديد ايجاد شود. اگر فايلهاي تعويضي قبل از پاك شدن روي حافظه دائمي ذخيره نشده باشند، از دست ميروند.
انواع حافظه هاي كامپيوتري
يك كامپيوتر معمولي داراي سطوح زير است:
1. Cache در سطح1 و در سطح 2
2. سيستم RAM معمولي
3. حافظه مجازي
4. هارد ديسك
ممكن است با خودتان فكر كنيد كه چرا انقدر زياد؟
پردازنده براي ارتقاع عملكردش نياز به دسترسي سريع به مقدار زيادي داده دارد. اگر پردازنده نتواند به دادهاي كه به آن نياز دارد دسترسي داشته باشد، از كار دست ميكشد ومنتظر آن ميشود. پردازنده هاي مدرن با سرعت حدود 1 گيگاهرتز ميتوانند حجم عظيمي از دادهها را مصرف كنند. تقريباٌ بيليونها داده در هر ثانيه.
مشكلي كه طراحان كامپيوتر با آن مواجه هستند اين است كه حافظه پردازندههاي 1گيگاهرتز بسيار گران است. گرانتر از چيزي كه يك فرد بتواند در حجم زياد بپردازد. طراحان اين مشكل را با حافظه (tiering) يا رديفي حل كردهاند. استفاده از حافظه هاي گران قيمت در تعداد كم و پشتيباني از آنها با تعداد زيادي از حافظه هاي ارزانتر.
ارزانترين حافظه خواندن / نوشتن كه امروزه بسيار مورد استفاده است هارد ديسك است. هارد ديسكها تعداد زيادي از ذخيرهسازهاي ارزان و دائمي را فراهم ميكنند. شما ميتوانيد براي هر مگابايت هاردديسك مقدار ناچيزي بپردازيد. از آنجا كه فضاي ذخيرهسازي روي هاردديسك ارزان و فراوان است، آخرين سطح از حافظه پردازنده را در سلسله مراتب شكل مي دهد و به آن حافظه مجازي ميگويند. مرحله بعدي در سلسله مراتب حافظه RAM است.
RAM يا Random Access Memory (دسترسي تصادفي) مهم ترين فاكتور در عملكرد كامپيوترهاست و به اين علت به آن دسترسي تصادفي ميگويند كه شما ميتوانيد بدون هيچ ترتيبي به هر سلول حافظه كه ميخواهيد دسترسي داشته باشيد.
چند نكته مهم در رابطه با RAM:
سايز بيتي پردازنده به شما ميگويد كه به چه مقدار بايت اطلاعاتي از RAM دسترسي داريد. براي مثال يك پردازنده 16 بيتي ميتواند 2 بايت را به طور همزمان پردازش كند. (1 بايت = 8 بيت، پس 16 بيت برابر است با 2 بايت)
مگاهرتز معيار اندازهگيري سرعت پردازش پردازنده يا سيكل كلاك (cycle clock) در هر ميليون بار بر ثانيه است.
سيستم كامپيوتري RAM به تنهايي آنقدر سريع نيست كه بتواند با سرعت پردازنده هماهنگ شود. به همين دليل است كه كامپيوترها به Cache (ذخيرهگاه) نياز دارند.هرچه سرعت RAM بيشتر باشد، بهتر است. بيشتر چيپها امروزه با نرخ سيكل 50تا70 نانوثانيه عمل مي كنند.سرعت خواندن / نوشتن معمولاٌ عملكردي از نوع RAM اي است كه استفاده ميشود مانند DRAM، SDRAM، RAMBUS .