تبلیغات
هویجوری... - چگونگی كاركرد Cache در كامپیوتر

فقط و فقط از ترسیدن بترس. ناپلئون

چگونگی كاركرد Cache در كامپیوتر

نویسنده :
تاریخ:دوشنبه 4 آبان 1388-01:50 ق.ظ

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

با تمام این صحبت‌ها و پرس و جوها به نظر می‌رسد كه Cache در كار كامپیوتر اهمیت زیادی دارد. با یك مثال ساده شروع می‌كنیم و اهمیت كار Cache را بررسی می‌كنیم.

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

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

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

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

در كامپیوتر زمان در مقیاس نانو ثانیه و شاید كمتر از آن سنجیده می‌شود. پردازشگر فقط 60 نانو ثانیه زمان می‌خواهد كه به اطلاعات داخل RAM دسترسی پیدا كند. ولی با وجود Cache این زمان تنها 2 نانوثانیه طول می‌كشد. به همین دلیل 60 نانو ثانیه خیلی طولانی به نظر می‌رسد.

اگر یك حافظه كوچك بین RAM و پردازشگر قراربگیرد و كار Caching را انجام ‌دهد و دسترسی به اطلاعات آن با سرعت انجام شود، این كار به نظر خوب می‌رسد.

اگر فقط 30نانوثانیه طول بكشد، یعنی نصف زمان لازم برای دسترسی مستقیم پردازشگر به RAM. این همان L2 یا Level 2 Cache است.

اگر این حافظه را داخل پردازشگر قرار دهیم زمان دسترسی به این حافظه مساوی زمانی است كه پردازشگر صرف می‌كند تا اطلاعات را پردازش كند. این همان L1 یا Level 1 Cache است. این نوع Cache در یك پردازشگر پنتیوم 223 مگاهرتزی با 3.5برابر L2 كار می‌كند كه آن هم 2 برابر سریع‌تر از دسترسی بدون Cache به RAM است.

بعضی از پردازشگر‌ها هر دو Cache را در داخل خود دارد. این Cache كه بین پردازشگر و RAM قرار داده می‌شود و از اجزای Motherboard است، L3 نامیده می‌شود.

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

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

سالهاست كه فلاپی دیسك دیگر كاربرد ندارد. ولی اگر هنوز هم از فلاپی دیسك‌هایی قدیمی خود دارید، می‌توانید با انجام یك عملیات ساده كار Cache را دقیقاً در فلاپی ببینید.

یك فایل متن به فرض مثال به بزرگی 300كیلوبایت را روی فلاپی بریزید. یك بار كامپیوترتان را خاموش و روشن كنید. فایل را از روی فلاپی اجرا كنید. چراغ فلاپی درایو روشن می‌شود و شروع به خواندن فایل می‌كند. یك بار دیگر فایل را از روی فلاپی باز كنید. مشاهده خواهید كرد كه دیگر فلاپی درایو كار نمی‌كند و فایل به سرعت اجرا می‌شود. این همان ذخیره اطلاعات روی Cache است.

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

در معماری كامپیوتر هدف این است كه پردازشگر با تمام سرعت خود كار كند. برای مثال یك پردازشگر 500 مگاهرتزی، 500 میلیون بار در یك ثانیه یك پردازش را انجام می‌دهد. كه به عبارتی یك پردازش را در 2 نانو ثانیه انجام می‌دهد. بدون Cache هر بار دسترسی به RAM 60 نانوثانیه طول می‌كشد. این امر به این معنی است كه برای هر بار دسترسی به RAM ،30 نوبت پردازش به تا?خیر می‌افتد.

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

حال بهتر در می‌یابید كه چرا استفاده از حافظه‌های سریع در كامپیوتر به صرفه نیست و با استفاده از همین سیستم‌های كوچك و ارزان می‌توان به سرعت مطلوب نزدیك شد.


نوع مطلب : فن آوری و IT 

داغ کن - کلوب دات کام
نظرات() 
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




Admin Logo
themebox Logo
QR Code generator