کاربرد Cache در رایانه

دانلود نرم افزار کامپیوتر ، کاربرد Cache

تصویر و عکس کاربرد Cache در رایانه

اگربرای خرید کامپیوتر از دوستان و اطرافیان خود پرسش کرده اید کدام سیستم بهتر است، حتماً نام Cache را شنیده اید احتمالا نام هایی مانند L2یا L1را هم شنیده باشید. یا احتمالا رفیقی به شما نقل کرده باشد که «Celeron تهیه نکن ‍!Celeron روی خودش Cache نداره!»

با تمام این گفتمانها و پرس و جوها به چشم مییاید که Cache در کار کامپیوتر اهمیت زیادی دارد. با یک مثال ساده آغاز می کنیم و اهمیت کار Cache را چک میکنیم.

یک کتابخانه را فرض کنید که برای دریافت کتاب باید از مسئول کتابخانه بخواهید تا آن کتاب را برای شما از مخزن بیاورد. (کتابخانه های مهم به این صورت فعالیت میکنند). نخستین فرد وارد کتابخانه می شود و کتاب «موبی دیک» را از مسئول کتابخانه می خواهد. مسئول به مخزن می رود و کتاب را برای او می آورد. مراجعه کننده کتاب را باز می گرداند. مسئول کتاب را به مخزن باز می گرداند و مجدداً باز می گردد و چشم انتظار نفر بعدی می شود. چنانچه مشتری دوم هم درپی کتاب «موبی دیک» باشد، مسئول باید مجدداً به مخزن برود. حال چنانچه در جوار قبل خوان یک قفسه با ظرفیت ۱۰ کتاب گذاریم مسئول کتابخانه ناگزیر نیست برای یافتن کتاب هایی که قبلاً از مخزن آورده شده به مخزن بازگردد. Cache هم به این صورت فعالیت میکند.Cache در کلمه به معنی ذخیره و مخزن است.

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

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

اصلیترین قسمت ساختن Cache همین است. اینکه به چه صورت می توان با حضور Cache و با حضور این زمان زاید، به خوب ترین نحو و به صورت بهینه از این سیستم بهره گرفت.

در کامپیوتر زمان در مقیاس نانو ثانیه و احتمالا کمتر از آن منطقی می شود. پردازشگر فقط ۶۰ نانو ثانیه زمان می خواهد که به اطلاعات داخل RAM دسترسی یابد. ولی با حضور Cache این زمان تنها ۲ نانوثانیه زمان میبرد. به همین علت ۶۰ نانو ثانیه خیلی طولانی به چشم مییاید.

چنانچه یک حافظه کوچک بین RAM و پردازشگر قراربگیرد و کار Caching را به انجام رساند و دسترسی به اطلاعات آن سریع صورت گیرد، این کار به نظر خوب می رسد.
چنانچه فقط ۳۰نانوثانیه زمان ببرد، یعنی نصف زمان ضروری برای دسترسی مستقیم پردازشگر به RAM. این همان L2یا Level 2 Cache است.

چنانچه این حافظه را داخل پردازشگر گذاریم زمان دسترسی به این حافظه مساوی وقتی است که پردازشگر صرف می کند تا اطلاعات را پردازش کند. این همان L1یا Level 1 Cache است. این نوع Cache در یک پردازشگر پنتیوم ۲۲۳ مگاهرتزی با ۵٫۳برابر L2کار می کند که آن هم ۲ برابر با سرعتتر از دسترسی بدون Cache به RAM است.

بعضی از پردازشگر ها هر دو Cache را در داخل خود دارد. این Cache که بین پردازشگر و RAM گذاشته میشود و از اجزای Motherboard است، L3 نامیده می شود.
زمان اتصال به فضای مجازی، کمترین سرعت در سرعت های موجود در کار با کامپیوتر است. هربار که از فضای مجازی بهره میگیرید، مرورگر اطلاعات صفحه وب را در فایلی نگه میدارد و در صورتی که مجدداً به همان صفحه بروید (Back) به مکان اتصال به سرور مستقیماً به فایل نگه داشته شده می رود و زمان کمتری صرف می شود.

Cache تنها در پردازشگر حضور ندارد و می توان آن را در داخل اجزای دیگر قرار داد. برای مثال هارد دیسک شما دارای Cache بسیار سریع است. هر بار که اطلاعات خوانده می شود در Cache هارد دیسک نیز نگه داشته میشود. CD Drive دستگاه شما نیز دارای Cache است.

سالهاست که فلاپی دیسک دیگر کاربرد ندارد. ولی چنانچه هنوز هم از فلاپی دیسک هایی کهنه خود دارید، قادر هستید با انجام یک عملیات ساده کار Cache را دقیقاً در فلاپی نگاه بکنید.
یک فایل نوشته به فرض مثال به بزرگی ۳۰۰کیلوبایت را روی فلاپی بریزید. یک بار کامپیوترتان را خاموش و روشن کنید. فایل را از روی فلاپی اجرا کنید. چراغ فلاپی درایو روشن می شود و آغاز به خواندن فایل می کند. یک بار دیگر فایل را از روی فلاپی گشایید. خواهید دید که دیگر فلاپی درایو فعالیت نمیکند و فایل به سرعت اجرا می شود. این همان ذخیره اطلاعات روی Cache است.

پرسش متداولی که در ذهن همه قادر هست باشد این است که به چه دلیل تمام حافظه ها را آنقدر پر سرعت نمی سازند که دیگر احتیاجی Cache نباشد. در جواب باید گفت که این کار کاملاً عملی است ولی قیمت کامپیوتر به شدت بالا برده میشود. هدف اصلی بهره گیری از تمام این قطعات این است که کاری را که می توان با یک قطعه قیمتی به انجام رساند با شمار بیشتری قطعه کم هزینه به انجام رساند.

در سازنده ای کامپیوتر هدف این است که پردازشگر با تمام سرعت خود فعالیت کند. برای مثال یک پردازشگر ۵۰۰ مگاهرتزی، ۵۰۰ میلیون بار در یک ثانیه یک پردازش را به انجام میرساند. که به واژه ای یک پردازش را در ۲ نانو ثانیه به انجام میرساند. بدون Cache هر بار دسترسی به RAM 30 نانوثانیه زمان میبرد. این امر به این معنی است که برای هر بار دسترسی به RAM ،۶۰ نوبت پردازش به تأخیر می افتد.

اینکه به چه صورت اطلاعات هر برنامه Cache (ذخیره) می شود، به قسمتی از علوم کامپیوتر برمی گردد که Locality Of Reference نام دارد. این راهکار یا بهتر بگوییم، تئوری، اظهار می کند که فقط بخش بسیار کوچولوای از هر برنامه؛ عامل اصلی اجرا شدن تمام برنامه است. به همین علت فقط همین قسمت کوچک است که در Cache نگه داشته میشود. توضیح این تئوری و اینکه دقیقاً به چه صورت از این تئوری در Caching بهره گرفته میشود از موضوع ما خارج است. حال بهتر در کشف میکنید که به چه دلیل بهره گیری از حافظه های سریع در کامپیوتر به صرفه نیست و با بهره گیری از همین دستگاه های کوچک و کم هزینه می توان به سرعت موردعلاقه نزدیک شد.

کاربرد Cache در رایانه