تبلیغات
مروارید 89 - حافظه کش و تکنولوژی آن
    
    سخن امروز  : 
به وبلاگ مروارید 89 خوش آمدید.

.:. معرفی وبلاگ .:.


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


با تشكر : محمودرضا علیزاده



.:. نویسندگان وبلاگ .:.

  :: محمودرضا علیزاده (16)


.:. تصویر تصادفی .:.


.:. معرفی وبلاگ به دوستان .:.

نام شما :
ایمیل شما :
نام دوست شما :
ایمیل دوست شما :


.:. خوراك وبلاگ .:.


مشترك خوراك وبلاگ شوید، تا هیچ مطلبی را از دست ندهید


.:. آمار وبلاگ .:.

کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل مطالب :
آخرین بازدید :

آخرین بروز رسانی :






.:. امكانات وبلاگ .:.





.:. زبان های دیگر .:.

  1. حافظه کش و تکنولوژی آن
    چهارشنبه 10 شهریور 1389


    حافظه کش و تکنولوژی آن :




    حافظه Cache چیست ؟
    فرض کنیم که شما هر روز به رستوران می رید . هر روز راس ساعت 5 بعد از ظهر سفارش غذا می دید . هروز 4 نوع غذا رو به ترتیب خاص سفارس می دید . راس ساعت 5 همبرگر سفارش می دید گارسون سفارش شما رو بررسی می کنه به آشپزخونه میره بعد از 1 دقیقه همبرگر رو برای شما میاره شما همبرگر رو خورده و سفارش سوسیس می دید مجددا سفارش توسط گارسون به آشپزخانه منتقل شده و بعد از یک دقیقه غذا آماده می شه . به همین ترتیب شما سه غذای دیگه رو سفارش داده و برای هر غذا 1 دقیقه معطل میشید . خوب شما هروز همین غذاهارو سفارش داده و برای آماده شدن هر غذا 1 دقیقه معطل می شید . گارسون با خودش فکر می کنه که برای اینکه هم خودش کمتر کار کنه و هم شما کمتر معطل بشید بیاد و 1 میز دیگه ای آماده از غذاهای شما رو تهیه کنه و بلافاصله بعد از سفارش شما غذا رو روی میزتون بزاره . در اینجا گارسون" باس " آشپزخانه " رم " و میز آماده " کش " در نظر گرفته می شن . بعد از چند روز شما همبرگر رو میخورید طبق عادت گارسون برای شما سوسیس میاره اما شما می گید که امروز املت می خوام! اینجا گارسون مجددا مجبور میشه که 1 دقیقه شما رو در انتظار بزاره تا املت رو براتون بیاره . در اینجا گارسون میز دومی رو تهیه می کنه که بر اساس انتخاب های دوم شما چیده شده . بدین ترتیب شما اگر غذایی رو سفارش بدین که در میز اول نباشه اما در میز دوم باشه بلافاصله غذا رو میل می کنید و معطل نمی شید . میز دوم در اینجا کش سطح دو یا " Cache L2 " هست . اصطلاحی که امروزه در رابطه با فول کش یا هالف کش گفته میشه همین کش سطح 2 هست . اصول کار پردازنده بدین صورت که پیش بینی دستورات بعدی رو کرده و جواب دستورات رو در حافظه ی نهان یا همون کش می ذاره . جالبه که بدونید پردازنده 90% دستورات بعدی رو درست حدس میزنه و اگر حدس پردازنده غلط از کار در بیاد مجبوره که به حافظه ی رم مراجعه کنه که همین مراجعه باعث تاخیر زیادی در کار پردازنده میشه . نکته ی که قابل گفتن هست اینه که این حافظه بسیار گران قیمت هست و به صرفه نیست که برای بالا بردن سرعت کامپیوتر حافظه کش تهیه کنید .مجبورید پردازنده هم عوض کنید.
    کتابداری را در نظر بگیرید که در یک کتابخانه مسئول تحویل کتاب به متقاضیان است . فرض کنید در سیستم فوق ( درخواست و تحویل کتاب ) از مفهوم Cache استفاده نمی گردد. اولین متقاصی کتابی را درخواست می نماید( فرض شده است که متقاضی خود نمی تواند مستقیما" کتاب مورد نظر را از قفسه مربوطه ،بردارد) ، کتابدار، کتاب مورد نظر را از قفسه مربوطه پیدا و در ادامه آن را تحویل متقاضی می نماید. متقاضی پس از ساعاتی مراجعه و کتاب را تحویل می دهد. کتابدار، کتاب تحویلی را مجددا" در قفسه مربوطه قرار می دهد. پس از لحظاتی یک متقاضی دیگر مراجعه و همان کتاب قبلی را درخواست می نماید ، کتابدار مجددا" می بایست به بخش مربوطه در کتابخانه مراجعه و پس از بازیابی کتاب ، آن را در اختیار متقاضی دوم قرار دهد. همانگونه که ملاحظه می گردد ، کتابدار مکلف است برای تحویل هر کتاب ( ولو کتاب هائی که فرکانس استفاده از آنان توسط متقاضیان زیاد باشد ) به بخش مربوطه مراجعه و پس از یافتن کتاب آن را در اختیار متقاضیان قرار دهد. آیا روشی وجود دارد که با استناد به آن بتوان عملکرد و کارآئی کتابدار را بهبود بخشید ؟
    در پاسخ به سوال فوق می توان با ایجاد یک سیستم Cache برای کتابدار ، کارآئی آن را افزایش داد. فرض کنید بخشی را با ظرفیت حداکثر ده کتاب در مجاورت ( نزدیکی ) کتابدار آماده نمائیم . کتاب هائی که توسط متقاضیان برگردانده می شود، در بخش فوق ذخیره خواهند شد. مثال فوق را با در نظر گرفتن سیستم Cache ایجاد شده برای کتابدار مجددا" دنبال می نمائیم . در ابتدای فعالیت روزانه ، بخش Cache خالی بوده و هنوز در آن کتابی قرار نگرفته است . اولین متفقاصی مراجعه و کتابی را درخواست می نماید . کتابدار می بایست به بخش مربوطه مراجعه و کتاب را از قفسه مربوطه براشته و در اختیار متقاضی قرار دهد. متقاضی پس از تحویل کتاب ، چند ساعت بعد مراجعه و کتاب را تجویل کتابدار خواهد داد. کتابدار، کتاب تحویلی را در بخش پیش بینی شده برای Cache قرار می دهد. لحظاتی بعد متقاضی دیگر مراجعه و درخواست همان کتاب را می نماید .کتابدار در ابتدا بخش مربوط به Cache را جستجو و در صورت یافتن کتاب ، آن را به متقاضی تحویل خواهد داد. در این حالت ضرورتی به مراجعه کتابدار به بخش و قفسه های مربوطه نخواهد بود. در روش فوق زمان تحویل کتاب به متقاضی بهبود چشمگیری پیدا خواهد کرد. در صورتیکه کتاب درخواستی توسط متقاضی در بخش Cache کتابخانه نباشد ، چه اتفاقی خواهد افتاد؟ در ابتدا مدت زمانی صرف خواهد شد که کتابدار به این اطمینان برسد که کتاب درخواستی در بخش Cache موجود نمی باشد ( جستجو) یکی از چالش های اصلی در رابطه با طراحی Cache به حداقل رساندن زمان جستجو در Cache است .سخت افزارهای جدید ، زمان فوق را به صفر نزدیک کرده اند. پس از حصول اطمینان از عدم وجود کتاب در بخش Cache ، کتابدار می بایست با مراجعه به بخش مربوطه آن را انتخاب و در ادامه در اختیار متقاضی قرار دهد.
    با توجه به دو مثال فوق ، چندین نکته مهم در رابطه با Cache استنباط می گردد:
    -
    تکنولوژی Cache ، استفاده از حافظه های سریع ولی کوچک ، بمنظور افزایش سرعت یک حافظه کند ولی با حجم بالا است .زمانیکه از Cache استفاده می گردد ، در ابتدا می بایست محتویات آن بمنظوریافتن اطلاعات مورد نظربررسی گردد. فرآیند فوق را Cache hit می گویند. در صورتیکه اطلاعات مورد نظر در Cache موجود نباشند (Cache miss) ، کامپیوتر می بایست در انتظار تامین داده های خود از حافظه اصلی سیستم باشد (حافظه ای کند ولی با حجم بالا (
    -
    اندازه Cache محدود بوده وسعی می گردد که ظرفیت فوق حتی المقدور زیاد باشد ، ولی بهرحال اندازه آن نسبت به رسانه های ذخیره سازی دیگر بسیار کم است .
    -
    این امکان وجود خواهد داشت که از چندین لایه Cache استفاده گردد.

    تکنولوژی Cache
    یکی از سوالاتی که ممکن است در ذهن خواننده این بخش خطور پیدا کند این است که " چرا تمام حافظه کامپیوترها از نوع L1 Cache نمی باشند تا دیگر ضرورتی به استفاده از Cache وجود نداشته باشد؟" در پاسخ می بایست گفت که اشکالی ندارد وهمه چیز هم بخوبی کار خواهد کرد ولی قیمت کامپیوتر بطرز قابل ملاحظه ای افزایش خواهد یافت . ایده Cache ، استفاده از یک مقدار کم حافظه ولی با سرعت بالا( قیمت بالا) برای افزایش سرعت و کارآئی میزان زیادی حافظه ولی با سرعت پایین ( قیمت ارزان ) است .
    در طراحی یک کامپیوتر هدف فراهم کردن شرایط لازم برای فعالیت پردازنده با حداکثر توان و در سریعترین زمان است . یک تراشه 500 مگاهرتزی ، در یک ثانیه پانصد میلیون مرتبه سیکل خود را خواهد داشت ( هر سیکل در دونانوثانیه ) . بدون استفاده از L1 و L2 Cache ، دستیابی به حافظه حدودا" 60 نانوثانیه طول خواهد کشید. بهرحال استفاده از Cache اثرات مثبت خود را بدنبال داشته و باعث بهبود کارآئی پردازنده می گردد.اگر مقدار L2 Cache معادل 256 کیلو بایت و ظرفیت حافظه اصلی معادل 64 مگابایت باشد ، 256000 بایت مربوط به Cache با استفاده از روش های موجود قادر به Cache نمودن 64000000 بایت حافظه اصلی خواهند بود.



    آخرین ویرایش: جمعه 12 شهریور 1389 05:41 ب.ظ

    | نظرات () | نویسنده : محمودرضا علیزاده

.:. صفحات وبلاگ .:.



.:. لینك باكس .:.


*** وبمستر عزیز به منظور افزایش بازدید وبلاگتان، لینك وبلاگتان را به لینك باكس ارسال كنید ***



تبادل لینك