یکی از مهمترین مسائل موجود در قطعات کامپیوتری، حافظه نهان سیپییو است که در این مقاله به موضوع حافظه cache چیست اشاره خواهیم داشت.
حافظه کش یا Cache Memory یک جز جدانشدنی از قطعات کامپیوتری است که مبتنی بر تراشه است و روند بازیابی اطلاعات از حافظه را بهبود میبخشد. کش یک فضای ذخیره سازی موقت است که پردازنده را قادر میسازد تا اطلاعات و دادهها را بهراحتی از آن بازیابی کند. این فضای ذخیره سازی موقت که به عنوان حافظه پنهان شناخته میشود در مقایسه با حافظه اصلی؛ به راحتی در دسترس پردازنده قرار میگیرد. این مقاله از سایت ماهان شبکه مربوط به آشنایی شما با حافظه کش است که تا حد ممکن سعی شده اطلاعات مفیدی در اختیارتان قرار بگیرد.
حافظه کش چیست؟
گاهی اوقات به حافظه کش، حافظه CPU گفته میشود زیرا معمولاً مستقیماً در تراشه CPU ادغام میشود یا روی یک تراشه جداگانه قرار میگیرد که دارای یک گذرگاه جداگانه با CPU است. همین نزدیک بودن کش و CPU از لحاظ فیزیکی، سبب میشود تا کارایی سیستم افزایش یابد. برای اینکه حافظه پنهان به پردازنده نزدیک باشد؛ باید بسیار کوچکتر از حافظه اصلی طراحی شود. در نتیجه فضای ذخیره سازی کمتری نسبت به حافظه اصلی دارد وقیمت آن نیز گرانتر است. فناوری حافظه کش پیچیدهتر است و همین امر سبب افزایش عملکرد میشود.
حافظه کش چیست
حافظه کش بین 10 تا 100 برابر سریعتر از RAM عمل میکند و تنها چند نانو ثانیه نیاز است تا به درخواست CPU سرور پاسخ دهد. نام سخت افزار واقعی که برای حافظه کش استفاده میشود، حافظه دسترسی تصادفی ایستا با سرعت بالا (SRAM) است. نام سخت افزاری که در حافظه اصلی کامپیوتر استفاده میشود، حافظه با دسترسی تصادفی پویا (DRAM) است.
حافظه کش را با اصطلاح گستردهتر کش اشتباه نگیرید. کش ها ذخیره های موقتی از دادهها هستند که میتوانند هم در سخت افزار و هم در نرم افزار وجود داشته باشند. حافظه کش به جزء سخت افزاری خاصی اشاره دارد که به رایانهها اجازه میدهد تا حافظه پنهان در سطوح مختلف شبکه ایجاد کنند. باید بدانید که توضیحات فوق فقط برای آشنایی شما با cache چیست میباشد که بدنیست بدانید در ادامه سعی شده به سایر موضوعات کاربردی و مشابه اشاره شود تا بتوانیم دادههای مختلف و مهمی را در اختیارتان قرار دهید.
مزایای حافظه کش
- حافظه نهان سریعتر از حافظه اصلی است.
- در مقایسه با حافظه اصلی زمان دسترسی کمتری مصرف میکند.
- داده ها، دستورالعملها و اطلاعات را برای استفاده موقت ذخیره میکند.
- یک کش اولیه زمان دسترسی کمتری نسبت به رجیستر پردازنده دارد و همیشه روی تراشه پردازنده قرار میگیرد.
- حافظه کش دستورالعملهایی را که ممکن است دفعه بعد مورد نیاز پردازنده باشد را ذخیره میکند. زیرا در مقایسه با حافظه با دسترسی تصادفی (RAM) به بازیابی سریعتر اطلاعات کمک میکند.
- حافظه کش یک حافظه نیمه هادی با سرعت بالا است که میتواند سرعت پردازنده را افزایش دهد.
معایب Cache Memory
- حافظه کش دارای ظرفیت محدودی است.
- دادهها را بهطور موقت ذخیره میکند نه دائمی.
- حافظه کش هزینه نهایی بیشتری نسبت به حافظه اصلی دارد که میتواند هزینه کل سیستم را افزایش دهد.
- هنگامی که کامپیوتر خاموش میشود، دادههای ذخیره شده در آن از بین میروند.
انواع حافظههای Cache
با پایان یافتن توضیحات مربوط به اینکه حافظه cache چیست و چه کاربردی دارد حال میتوانید با مدلهای گوناگون این مبحث آشنا شوید که بدنیست بدانید فارغ از این موضوع نکتههای مهم دیگری نیز مورد بررسی قرار گرفته تا بتوانید با دانش بالاتری این مقاله را ترک کنید. همانطور که در قسمت قبل عنوان کردیم، حافظه کش یک حافظه موقت، سریع و گران قیمت است. این حافظه در سطوح مختلفی تعریف میشود که نزدیکی و دسترسی آن به ریز پردازنده را توصیف میکند. اگر به مشخصات فنی پردازندههای سرور hp دقت کرده باشید؛ در کنار مقدار حافظه کش، L1، L2 و یا L3 قرار داده شده است که تفسیر آن به شرح زیر است:
- حافظه کش L1: حافظه نهان اولیه یک حافظه با سرعت بسیار بالا اما ابعاد بسیار کوچک است که در تراشه پردازنده به عنوان کش CPU نعبیه میشود.
- حافظه کش L2: حافظه کش ثانویه ظرفیت بیشتری نسبت به کش اولیه دارد که ممکن است روی سی پی یو تعبیه شود یا روی یک تراشه جداگانه قرار گیرد. همچنین میتواند دارای یک گذرگاه سیستم جایگزین پرسرعت باشد که کش و CPU را به هم متصل میکند. به این ترتیب ترافیک در گذرگاه اصلی سیستم کند نمیشود.
- حافظه کش L3: کش سطح 3 (L3) یک حافظه تخصصی است که برای بهبود عملکرد L1 و L2 ایجاد شده است. L1 یا L2 می تواند به طور قابل توجهی سریعتر از L3 باشد، اگرچه L3 معمولاً دو برابر سرعت DRAM است. با پردازندههای چند هستهای، هر هسته میتواند حافظه نهان L1 و L2 اختصاصی داشته باشد، اما میتواند یک کش L3 را به اشتراک بگذارد. اگر حافظه نهان L3 به یک دستورالعمل ارجاع دهد، معمولاً به سطح بالاتری از کش ارتقا مییابد.
مقایسه حافظه کش و حافظه اصلی
DRAM به عنوان حافظه اصلی کامپیوتر عمل میکند و محاسبات را روی دادههای بازیابی شده از ذخیره سازی انجام میدهد. حافظه نهان و DRAM هر دو حافظههای فرار هستند که با قطع برق محتویات خود را از دست میدهند. توجه داشته باشید که DRAM روی مادربرد نصب میشود و CPU از طریق یک اتصال باس به آن دسترسی پیدا میکند.
معمولا DRAM تقریباً نصف حافظه نهان L1، L2 یا L3 سریع است و هزینه بسیار کمتری دارد. دسترسی سریعتری به دادهها نسبت به حافظه فلش، درایوهای دیسک سخت (HDD) و ذخیرهسازی نوار فراهم میکند. در چند دهه گذشته از DRAM استفاده شد تا مکانی برای ذخیره دادههای دیسکی که اغلب به آنها دسترسی داشت برای بهبود عملکرد ورودی/خروجی فراهم کند.
DRAM باید هر چند میلی ثانیه یکبار تجدید شود. حافظه کش که نوعی حافظه با دسترسی تصادفی نیز هست، نیازی به رفرش ندارد. این به طور مستقیم در CPU تعبیه شده است تا به پردازنده سریعترین دسترسی ممکن را به مکانهای حافظه بدهد و زمان دسترسی با سرعت نانوثانیه را به دستورالعملها و دادههای مکرر ارجاع میدهد. SRAM سریعتر از DRAM است، اما چون این تراشه فناوری پیچیدهتری دارد، ساخت آن نیز گرانتر است. حال که با مبحث حافظه پنهان چیست آشنا شدید باید بدانید که این حافظه در مقابل حافظه مجازی تفاوتهای بسیاری داشته است که اگر با این موضوع آشنایی ندارید کافیست که توضیحات درج شده در ادامه را مطالعه کنید.
حافظه کش در مقابل حافظه مجازی (Virtual Memory)
یک رایانه دارای مقدار محدودی DRAM و حتی حافظه کش کمتری است. هنگامی که یک برنامه بزرگ یا چندین برنامه در حال اجرا هستند، امکان استفاده کامل از حافظه وجود دارد. برای جبران کمبود حافظه فیزیکی، سیستم عامل کامپیوتر (OS) میتواند حافظه مجازی ایجاد کند. این حافظه مجازی درحقیقت یک محیط شبیهسازی شده از پردازنده یا RAM بوده که به صورت حافظه نهان، توسط شرکت سازنده در ان تعبیه شده تا در شرایطی که فضای کافی برای عملکرد قطعه کافی نیست، از این حافظه پنهان استفاده شود تا قطعات کمتر در فشار باشند.
حافظه کش
برای انجام این کار، سیستم عامل به طور موقت دادههای غیرفعال را از DRAM به فضای ذخیره سازی دیسک منتقل میکند. این رویکرد فضای آدرس مجازی را با استفاده از حافظه فعال در DRAM و حافظه غیرفعال در هارد دیسک افزایش میدهد تا آدرس های پیوستهای را ایجاد کند که هم یک برنامه و هم دادههای آن را نگه میدارد. حافظه مجازی به رایانه اجازه میدهد برنامههای بزرگتر یا چندین برنامه را به طور همزمان اجرا کند و هر برنامه به گونهای عمل میکند که گویی حافظه نامحدودی دارد.
به منظور کپی کردن حافظه مجازی در حافظه فیزیکی، سیستم عامل حافظه را به فایلهای صفحه یا فایلهای مبادلهای که حاوی تعداد معینی آدرس هستند، تقسیم میکند. این صفحات بر روی یک دیسک ذخیره میشوند و در صورت نیاز، سیستم عامل آنها را از دیسک به حافظه اصلی کپی میکند و آدرس حافظه مجازی را به یک آدرس فیزیکی ترجمه میکند. این ترجمه ها توسط یک واحد مدیریت حافظه (MMU) انجام میشود.
کارایی و عملکرد حافظه کش به چه صورت است؟
حافظه کش بسیار مهم است زیرا کارایی بازیابی اطلاعات را بهبود میبخشد. این نوع حافظه دستورالعملها و دادههایی را ذخیره میکند که بهطور مکرر در عملکرد برنامهها یا اطلاعاتی که CPU در آینده به آنها نیاز دارد، موثر است. بنابراین، هنگامی که یک پردازنده اطلاعاتی را درخواست میکند که قبلاً یک نمونه در حافظه نهان دارد، نیازی به رفتن به حافظه اصلی یا هارد دیسک برای واکشی دادهها ندارد. پردازنده در مقایسه با حافظه اصلی، دسترسی سریعتری به حافظه کش دارد که باعث افزایش سرعت کلی برنامه میشود. در واقع میتوان گفت حافظه نهان منبع ارزشمندی برای ارزیابی عملکرد کلی یک سیستم است.
حافظه کش سریعترین حافظه موجود است و به عنوان یک بافر بین RAM و CPU عمل میکند. پردازنده هر بار که نیاز به خواندن یا نوشتن یک مکان دارد، بررسی میکند که آیا ورودی مربوطه در حافظه پنهان موجود است یا خیر، بنابراین زمان مورد نیاز برای دسترسی به اطلاعات از حافظه اصلی را کاهش می دهد.
حافظه کش رید کنترلر چیست؟
کارتهای رید کنترلر میتوانند دادهها را بهطور موقت از سیستم میزبان ذخیره کنند تا زمانی که با موفقیت در رسانه ذخیره سازی شوند. اگر در حین ذخیره سازی برق قطع شود، به احتمال بسیار زیادی دادهها از بین میروند و یکپارچگی دائمی دادهها به خطر میافتد. حافظه کش RAID روشی مقرون به صرفه برای بهبود عملکرد ورودی/خروجی با نوشتن دادهها در حافظه پنهان کنترلر قبل از نوشتن روی دیسک است. با این حال، در صورت قطع برق یا خرابی سرور، نوشتههای موجود در حافظه پنهان ممکن است از بین بروند.
توجه داشته باشید که کش رید کنترلر با ظرفیتهای 256 مگابایت، 512 مگابایت، 1 گیگابایت و 2 گیگابایت در ماهان شبکه ایرانیان موجود است و شما میتوانید با توجه به نوع رید کنترلر خود، ماژول کش را نیز خریداری کنید. حافظه پنهان کنترلر RAID میتواند عملکرد را در هنگام نوشتن دادهها به میزان قابل توجهی افزایش دهد. اگر برق قطع شود، محتوای این کش از بین میرود، مگر اینکه محتوا توسط ماژول پشتیبان باتری محافظت شده باشد.
سخن پایانی
حافظه کش چیست و چه کاربردی دارد به صورت کامل مورد بررسی قرار گرفت. به صورت خلاصه میتوان گفت که حافظه پنهان سیپیو یا سایر قطعات یک فضای مجازی ولی قابل استفاده است که برای نگهداری دادههای مهم در قالب فایلهای بسیار کوچک کارایی دارد. در حقیقت به زبان دیگر میتوان حافظه کش را یک مسیر برای دسترسی به دادهها دانست تا قطعات نظیر رم و سی پی یو سادهتر بتوانند آنها را شناسایی و یا دستهبندی کنند. دیدگاه شما نسبت به این مبحث چیست؟ با ماهان شبکه ایرانیان همراه باشید و نظر خود را برایمان به اشتراک بگذارید.