به صورت نرمافزاری قسمت از حافظه اصلی را به عنوان بافر در نظر میگیرد.
=== تعیین اندازه بافرحافظه میانگیر ===
# سیستمعامل زمان بارگذاری اندازه بافرحافظه میانگیر را تعیین میکند.
# بر با استفاده از دستورات سیستمعاملی اندازه بافرحافظه میانگیر را تعیین میکند.
# طریق برنامهنویسی و کنترل آن بوسیله اجرای یک مایکرو که قسمتی از حافظه را به عنوان بافرحافظه میانگیر در نظر میگیرد و محتوای بافرحافظه میانگیر را با فایلهای تحت پردازش مرتبط میکند.
=== نحوه استفاده از بافرحافظه میانگیر ===
# روش انتقالی: انتقال اطلاعات از بافرحافظه میانگیر به working area و پردازش آن.
# روش مکانی: آدرس اطلاعات به پردازشگر داده میشود و از همان بافرحافظه میانگیر به عنوان محیط کاری استفاده میکند.
=== میزان بافرحافظه میانگیر ===
# باید آنقدر باشد که اختلاف سرعت را بپوشاند.
# آنقدر باشد که working area زیاد محدود نشود چون پردازش کند میشود.
=== انواع بافرینگجاگیری حافظه های میانگیر ===
# ساده: یک بافرحافظه میانگیر در اختیار برنامه قرار میگیرد.
# مضاعف: دو بافرحافظه میانگیر در اختیار برنامه قرار میگیرد، میتوان در اثنا خواندن یک بلاک و انتقال آن به یک بافر،حافظه میانگیر، محتوای بافرحافظه میانگیر دیگر را که پر است، پردازش کرد.
# چندگانه: در این نوع بافرینگجایگیری بافرهاحافظه میانگیر، حافظه های میانگیر به طور خودکار از پیش پر میشود و در حالی که برنامه فایل پرداز روی محتوای بافرحافظه میانگیر کار میکند، سیستم بافرحافظه میانگیر دیگری را پر و آماده میسازد.
# بافرحافظه میانگیر چرخشی: در این نوعنوع، بافرنگحافظه بافرهاهای میانگیر پشت سر هم نوشته میشوند و پس از پر شدن آخرین بافرحافظه میانگیر دوباره بافرحافظه میانگیر اولی پر میشود.
== بافرهای نوری (Optical buffer) ==
=== تشریح یک مثال ===
برای مثال انتفال اطلاعات از [[پردازشگر مرکزی]] به [[چاپگر]] را در نظر بگیرید. [[CPU]] قطعهای است که در مقایسه با چاپگر بسیار سریع پردازش میکند و اگر ما بخواهیم اطلاعاتی را از پردازشگر به چاپگر بدون وجود بافرحافظه میانگیر بفرستیم باید در زمان کاری پردازشگر وقفه (نرمافزاری) بیاندازیم تا پس از انتقال یک کاراکتر به چاپگر کاراکتر دیگری به چاپگر فرستاده شود و این به معنای کند شدن کار پردازشگر و در نهایت کند شدن کل سیستم است.
بنابراین بین پردازشگر مرکزی و چاپگر میتوان بافریحافظه میانگیری (چه به صورت سختافزاری و چه به صورت نرمافزاری) قرار داد تا پردازشگر اطلاعات را برای بافرحافظه میانگیر فرستاده و چاپگر سر صبر و حوصله آنها را چاپ نماید و پردازشگر هم پس از فرستادن اطلاعات میتواند به کارهای دیگری برسد.
از طرفی حافظه بافرمیانگیر به صورت نرمافزاری هم وجود دارد که برای ذخیره سازی موفت اطلاعات به کار میرود. این حافظه رزرو بخشی از حافظه اصلی است و چون سختافزاری نیست طول آن میتواند متغیر هم باشد.
برای مثال نرمافزارهای CD Writer از حافظه بافرمیانگیر نرمافزاری استفاده میکنند.
توجه داشته باشید که حافظه بافرمیانگیر برای انتقال اطلاعات بین دو واحد سختافزاری استفاده میشود و برای انتقال اطلاعات بین واحدهای نرمافزاری از نام بافرحافظه میانگیر استفاده نمیشود.
== منابع ==
|