سفارش تبلیغ
صبا ویژن
اوقات شرعی
گنجی سودمندتر از دانش نیست . [امام علی علیه السلام]
امروز: پنج شنبه 103 تیر 14

 اگر
تا کنون برای خود کامپیوتری تهیه  کرده باشید ، واژه "
Cache"  برای شما آشنا خواهد بود.
کامپیوترهای جدید دارای Cache از نوع
L1 و L2 می
باشند. شاید در هنگام خرید یک کامپیوتر از طرف دوستانتان توصیه هائی به
شما شده باشد مثلا" : " سعی کن از تراشه های Celeron
استفاده نکنی چون دارای Cache نمی باشند! "
 Cache
یک مفهوم کامپیوتری است که  بر روی هر نوع کامپیوتر با یک شکل خاص
وجود دارد. حافظه های Cache ، نرم افزارهای
با قابلیت Cache هارد دیسک و صفحات
Cache همه بنوعی از مفهوم
Caching استفاده می نمایند.
حافظه مجازی که
توسط سیستم های عامل ارائه می گردد نیز از مفهوم فوق استفاده می نماید.

مبانی
Caching  
Caching
یک تکنولوژی استفاده شده برای  زیر سیستم های حافظه ، در کامپیوتر
است . مهمترین هدف یک Cache افزایش سرعت و
عملکرد کامپیوتر بدون تحمیل هزینه های اضافی برای تهیه سیستم است . با
استفاده از Cache عملیات  کاربران با
سرعت بیشتری انجام خواهد شد.

کتابداری را در نظر بگیرید که
در یک کتابخانه مسئول تحویل کتاب به متقاضیان است . فرض کنید در سیستم
فوق ( درخواست و تحویل کتاب ) از مفهوم Cache
استفاده نمی گردد. اولین متقاصی کتابی را درخواست می نماید( فرض شده
است که متقاضی خود نمی تواند مستقیما" کتاب مورد نظر  را از قفسه
مربوطه ،بردارد)  ، کتابدار، کتاب مورد نظر را از قفسه مربوطه
پیدا  و در ادامه آن را تحویل متقاضی می نماید. متقاضی پس از
90ساعاتی مراجعه و کتاب را تحویل می دهد. کتابدار، کتاب  تحویلی را
مجددا" در  قفسه مربوطه قرار می دهد. پس از لحظاتی یک متقاضی دیگر
مراجعه و همان کتاب قبلی را درخواست می نماید ، کتابدار مجددا" می
بایست به بخش مربوطه در کتابخانه مراجعه و پس از بازیابی کتاب ، آن را
در اختیار متقاضی دوم قرار دهد.همانگونه که ملاحظه می گردد ، کتابدار
مکلف است برای تحویل هر کتاب ( ولو کتاب هائی که فرکانس استفاده از
آنان توسط متقاضیان زیاد باشد ) به بخش مربوطه مراجعه و پس از یافتن
کتاب آن را در اختیار متقاضیان قرار دهد.  آیا روشی وجود دارد که
با استناد به آن بتوان عملکرد و کارآئی کتابدار را بهبود بخشید ؟

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

 


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/2 و ساعت 1:21 عصر | نظرات دیگران()
 لیست کل یادداشت های این وبلاگ
نرم افزارهای ضدویروس
[عناوین آرشیوشده]

بالا

طراح قالب: رضا امین زاده** پارسی بلاگ پیشرفته ترین سیستم مدیریت وبلاگ

بالا