کش در کامپیوتر اصطلاحی است که در مورد برخی قطعات مثل هارد و سیپییو بکار میرود پس اول به سراغ خود اصطلاح Cache میروم تا ببینیم این فناوری چه میکند.
کش معمولا در زیر مجموعه حافظهها قرار میگیرد و کاربرد اصلی آن هم افزایش سرعت سیستم است بطوریکه قیمت آن همچنان قابل قبول باشد. این فناوری پلی است بین یک منطقه اطلاعات بزرگ با سرعت پائین و محلی که این اطلاعات مورد استفاده قرار میگیرد. جنس این حافظه از نوع استاتیک است که داخل خود پردازنده قرار دارد. بدلیل اینکه بسیاری از عملیات کامپیوتر تکراری و قابل پیش بینی است و تراشه های سیلیکان بسیار سریعتر از درایوهای دیسک مکانیکی می باشند، سرعت دسترسی به اطلاعات با قرار گرفتن در این بخش، بسیار سریعتر می شود. این حافظه بین CPU و Ram قرار می گیرد.
وقتی اطلاعات از روی هارد دیسک یا رم فراخوانده میشوند این اطلاعات قبل از اینکه به مقصد اصلی برسند در نقطهای ذخیره میشوند که به این نقطه کش میگوئیم. سرعت انتقال اطلاعات از کش بالاتر از رم و هارد است و بخشی که نیاز به اطلاعات دارد میتواند با سرعت بیشتری به آنها دسترسی پیدا کند و در همین فاصله دادههای دیگر را فرا بخواند یا آنها را به خروجیها منتقل کند.
امروزه تقربا تمام هارد دیسکها و DVD درایوها مجهز به این حافظه ذخیره کوتاه مدت هستند که به آن بافر هم گفته میشود اما در این قطعات معمولا از یک سطح حافظه استفاده میشود و مانند اغلب پردازندههای امروزی مجهز به دو و سه سطح از حافظه کش نیستند. با این حال همین مقدار هم تاثیر قابل توجهی در کارایی آنها دارد. اما ببینیم این کش چه تاثیری در پردازنده دارد.
Catch در کامپیوتر
کامپیوتر، ماشینی است که زمان انجام کارها توسط آن با واحدهای خیلی کوچک اندازه گیری می گردد.زمانیکه ریزپردازنده قصد دستیابی به حافظه اصلی را داشته باشد، می بایست مدت زمانی معادل 60 نانوثانیه را برای این کار در نظر بگیرد. سرعت فوق بسیار بالا است ولی سرعت ریزپردازنده بمراتب بیشتر است . ریزپردازنده قادر به داشتن سیکل هائی به اندازه دو نانوثانیه است . تفاوت سرعت بین پردازنده و حافظه کاملا" مشهود بوده و قطعا" رضایت پردازنده در این خصوص کسب نخواهد شد. پردازنده می بایست تاوان کند بودن حافظه را خود بپردازد . انتظار پردازنده و هرز رفتن زمان مفید وی کوچکترین تاوانی است که می بایست پردازنده پذیرای آن باشد.
به منظور حل مشکل فوق ، فرض کنید از یک نوع حاص حافظه، با ظرفیت کم ولی با سرعت بالا (30 نانوثانیه) استفاده گردد . سرعت دستیابی به حافظه فوق دو مرتبه سریعتر نسبت به حافظه اصلی است .این نوع حافظه راL2 Cache می نامند. فرض کنید از یک حافظه بمراتب سریعتر ولی با حجم کمتر استفاده و آن را مستقیما" با پردازنده اصلی درگیر نمود. سرعت دستیابی به حافظه فوق می بایست در حد و اندازه سرعت پردازنده باشد .این نوع حافظه ها را L1 Cache می گویند. در کامپیوتر از زیرسیستمهای متفاوتی استفاده می گردد.از Cache می توان در رابطه با اکثر زیر سیستمهای فوق استفاده تا کارآئی آنان افزایش یابد.
به طور کلی وظیفه تمام این لایهها این است که تا حد امکان دادهها را نزدیک پردازنده نگه دارند تا پردازنده مجبور به فراخوانی اطلاعات از فاصلهای دورتر با سرعت کمتر و زمان بالاتر نباشد. اینها باعث شده تا در ساختار لایهها مخصوصا لایه دوم و سوم علاوه بر ذخیره اطلاعات مورد نیاز، از اشغال پهنای باند پردازنده با انتقال دادهها بین هستهها و ایجاد ترافیک غیرضروری در این ناحیه خودداری شود.
چندین نکته مهم در رابطه با Cache :
تکنولوژی Cache ، استفاده از حافظه های سریع ولی کوچک ، به منظور افزایش سرعت یک حافظه کند ولی با حجم بالا است
زمانیکه از Cache استفاده می گردد ، در ابتدا می بایست محتویات آن به منظور یافتن اطلاعات مورد نظر بررسی گردد. فرآیند فوق را Cache hit می گویند. در صورتیکه اطلاعات مورد نظر در Cache موجود نباشند (Cache miss) ، کامپیوتر می بایست در انتظار تامین داده های خود از حافظه اصلی سیستم باشد ( حافظه ای کند ولی با حجم بالا )
اندازه Cache محدود بوده وسعی می گردد که ظرفیت فوق حتی المقدور زیاد باشد ، ولی بهرحال اندازه آن نسبت به رسانه های ذخیره سازی دیگر بسیار کم است .
این امکان وجود خواهد داشت که از چندین لایه Cache استفاده گردد.
امید انوری - مربوط به درس مبانی کامپیوتر - شنبه - نوبت اول