حافظه میانگیر

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

حافظه میانگیر[۱] (به انگلیسی: Buffer)، در لغت به معنای حائل و یا میانگر می‌باشد که در علوم مختلف به شکلی متفاوت به مفهوم یک حافظهٔ میانجی و یا موقت بکار می‌رود.

مثلاً در شیمی محلول بافر[۲] محلولی است که ph را ثابت نگه می‌دارد، بنابراین به کمک این محلول می‌توان در مراحل مختلف یک فرایند شمیایی ph را ثابت نگه داشته و آن را اندازه‌گیری نماییم. مدارهای بافر نیز در الکترونیک مفهومی نزدیک به این دارند. به این صورت که اطلاعات سیگنال دریافتی را در خود ذخیره نموده و بر حسب نیاز به سیستم بعدی تحویل می‌دهند. مدارهای بافر به طور کلی به دو دسته آنالوگ و دیجیتال تقسیم می‌شوند.

بافرهای آنالوگ[ویرایش]

در بافر آنالوگ، سیگنال به صورت آنالوگ به مدار بافر رسیده و به طبقهٔ بعدی تحویل داده می‌شود که در صورتی که سیگنال از جنس جریان باشد به آن بافر جریان و در صورتی که از جنس ولتاژ باشد به آن بافر ولتاژ گفته می‌شود.

بافرهای دیجیتال[ویرایش]

بافر دیجیتال به صورت حافظه عمل می‌کند و سیگنال دیجیتال به بافر وارد شده و به صورت دیجتال به بخش بعدی تحویل داده می‌شود. اگر سیگنال به صورت موازی وارد مدار بافر و به صورت موازی از آن خارج شود آن بافر موازی گفته می‌شود و در صورتی که سیگنال به صورت سری وارد مدار بافر و به صورت سری از آن خارج شود آن بافر سری گفته می‌شود، ترکیب این دو می‌تواند به نام بافرهای سری-موازی شناخته شود.

انواع بافر دیجیتال[ویرایش]

  • سخت‌افزاری:

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

  • نرم‌افزاری:

به صورت نرم‌افزاری قسمت از حافظه اصلی را به عنوان بافر در نظر می‌گیرد.

تعیین اندازه حافظه میانگیر[ویرایش]

  1. سیستم‌عامل زمان بارگذاری اندازه حافظه میانگیر را تعیین می‌کند.
  2. بر با استفاده از دستورات سیستم‌عاملی اندازه حافظه میانگیر را تعیین می‌کند.
  3. طریق برنامه‌نویسی و کنترل آن بوسیله اجرای یک مایکرو که قسمتی از حافظه را به عنوان حافظه میانگیر در نظر می‌گیرد و محتوای حافظه میانگیر را با فایل‌های تحت پردازش مرتبط می‌کند.

نحوه استفاده از حافظه میانگیر[ویرایش]

  1. روش انتقالی: انتقال اطلاعات از حافظه میانگیر به working area و پردازش آن.
  2. روش مکانی: آدرس اطلاعات به پردازشگر داده می‌شود و از همان حافظه میانگیر به عنوان محیط کاری استفاده می‌کند.

میزان حافظه میانگیر[ویرایش]

  1. باید آنقدر باشد که اختلاف سرعت را بپوشاند.
  2. آنقدر باشد که working area زیاد محدود نشود چون پردازش کند می‌شود.

انواع جاگیری حافظه های میانگیر[ویرایش]

  1. ساده: یک حافظه میانگیر در اختیار برنامه قرار می‌گیرد.
  2. مضاعف: دو حافظه میانگیر در اختیار برنامه قرار می‌گیرد، می‌توان در اثنا خواندن یک بلاک و انتقال آن به یک حافظه میانگیر، محتوای حافظه میانگیر دیگر را که پر است، پردازش کرد.
  3. چندگانه: در این نوع جایگیری حافظه میانگیر، حافظه های میانگیر به طور خودکار از پیش پر می‌شود و در حالی که برنامه فایل پرداز روی محتوای حافظه میانگیر کار می‌کند، سیستم حافظه میانگیر دیگری را پر و آماده می‌سازد.
  4. حافظه میانگیر چرخشی: در این نوع، حافظه های میانگیر پشت سر هم نوشته می‌شوند و پس از پر شدن آخرین حافظه میانگیر دوباره حافظه میانگیر اولی پر می‌شود.

بافرهای نوری (Optical buffer)[ویرایش]

امروزه بیشترین پژوهش‌های مربوط به بافر در این زمینه انجام می‌پذیرد، بافر نوری وسیله ایست که توانایی ذخیرهٔ موقت نور را دارد، این نوع بافر در مخابره‌های نوری کاربرد دارد. بحث مورد پژوهش در این زمینه اینست که آیا به کمک این نوع بافرها می‌توان سرعت نور را کاهش داد؟

کاربرد مدارهای بافر[ویرایش]

مدارهای بافر بسته به نوع خود کاربردهای متفاوتی دارند:

بافرهای آنالوگ: بافر ولتاژ زمانی کاربرد دارد که می‌خواهیم ولتاژ را از مداری با امپدانی خروجی بالا به مداری با امپدانس خروجی پایین تحویل دهیم که بوسیلهٔ بافر مانع از لود شدن سیگنال مدار اول بروی مقاومت ورودی مدار دوم و تداخل این دو مدار می‌شویم. بافر جریان نیز متشابها هنگامی بکار می‌رود که می‌خواهیم سیگنال از جنس جریان را از مداری با امپدانس خروجی پایین به مداری با امپدانس ورودی بالا تحویل دهیم.

بافرهای دیجیتال در اتصالات بین سخت‌افزارها، فرستادن داده به شبکه، باز خوانی اطلاعات، ویا نمایش خروجی کاربرد دارند. که دلیل استفاده از بافر احتمال تفاوت سرعت آنها و یا زمان شروع بکار قسمت‌های مختلف می‌باشد.

در حالت کلی موارد کاربرد مدارهای بافر عبارتند از:

  • اتصال دو مدار با امپدانس‌های ورودی و خروجی غیر ایدآل و جلوگیری از تخریب اطلاعات
  • اتصال دوبخش که سرعت‌های متفاوتی در پردازش دارند
  • ذخیره موقت اطلاعات برای استفاده در زمانی دیگر
  • تاخیر در دریافت اطلاعات به منظور رسیدن به زمان کافی برای انجام پردازش
  • نگه داشتن اطلاعات برای استفادهٔ متعدد در انجام فرایند

بافرهای ایده‌آل[ویرایش]

بافر ولتاژ ایده‌آل[ویرایش]

بافری است با امپدانس ورودی بی نهایت و امپدانس خروجی صفر برای جلوگیزی از بار گیری، از دیگر ویژگی‌های این نوع بافر خطی بودن در دامنه‌ها وفرکانسهای مختلف سیگنال ورودی و نداشتن تاخیر در تحویل خروجی می‌باشد.

بافر جریان ایده‌آل[ویرایش]

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

مثال‌هایی از بافرهای آنالوگ و دیجیتال[ویرایش]

بافرهای آنالوگ[ویرایش]

بافر ولتاژ
  • مدارهای شامل ترانزیستورهای قدرت: مدارهایی که شامل ترانزیستورهای قدرت می‌باشند مانند مدارهای مورد استفاده در لوازم صوتی که با بهرهٔ ولتاژ یک جریان را به شدت تقویت می‌کنند.
  • آپ-امپ با فیدبک منفی
  • مدار کلکتور مشترک
  • مدار درین مشترک
  • مدارهای امیتر(سورس) مشترک و بیس(گیت) مشترک نیز بافرهای ولتاژ با بهره(گین) غیر یک محسوب می‌شوند.
بافر جریان
  • مدارهای بیس مشترک و گیت مشترک

بافرهای دیجیتال[ویرایش]

  • در مبدل‌های آنالوگ به دیجیتال
  • در مبدل‌های سر به موازی وموازی به سری
  • در کلیه ورودی‌ها و خروجی‌های سخت‌افزاری رایانه مانند: صفحهٔ نمایش، موس، کیبورد و...
  • در پورت‌های ورودی: مانند پورت‌های usb، com، wireless و...
  • در لوازمی که به شبکه متصلند
  • بسیاری از سخت‌افزارهای رایانه مانند: هارد درایو، سی دی درایو و

تشریح یک مثال[ویرایش]

برای مثال انتفال اطلاعات از پردازشگر مرکزی به چاپگر را در نظر بگیرید. CPU قطعه‌ای است که در مقایسه با چاپگر بسیار سریع پردازش می‌کند و اگر ما بخواهیم اطلاعاتی را از پردازشگر به چاپگر بدون وجود حافظه میانگیر بفرستیم باید در زمان کاری پردازشگر وقفه (نرم‌افزاری) بیندازیم تا پس از انتقال یک کاراکتر به چاپگر کاراکتر دیگری به چاپگر فرستاده شود و این به معنای کند شدن کار پردازشگر و در نهایت کند شدن کل سیستم است.

بنابراین بین پردازشگر مرکزی و چاپگر می‌توان حافظه میانگیری (چه به صورت سخت‌افزاری و چه به صورت نرم‌افزاری) قرار داد تا پردازشگر اطلاعات را برای حافظه میانگیر فرستاده و چاپگر سر صبر و حوصله آن‌ها را چاپ نماید و پردازشگر هم پس از فرستادن اطلاعات می‌تواند به کارهای دیگری برسد.

از طرفی حافظه میانگیر به صورت نرم‌افزاری هم وجود دارد که برای ذخیره سازی موفت اطلاعات به کار می‌رود. این حافظه رزرو بخشی از حافظه اصلی است و چون سخت‌افزاری نیست طول آن می‌تواند متغیر هم باشد.

برای مثال نرم‌افزارهای CD Writer از حافظه میانگیر نرم‌افزاری استفاده می‌کنند.

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

منابع[ویرایش]

  1. میانگیر واژهٔ مصوب فرهنگستان زبان و ادب فارسی در حوزهٔ رایانه، به جای buffer در انگلیسی است. «فرهنگ واژه‌های مصوّب فرهنگستان - دفتر پنجم، بخش لاتین، صفحهٔ ۱۹»(فارسی)‎. وب‌گاه رسمی فرهنگستان زبان و ادب فارسی. بازبینی‌شده در ۶ خرداد ۱۳۸۹. 
  2. فرهنگستان زبان و ادب فارسی در حوزهٔ شیمی، به جای buffer، خود بافر را تصویب کرده. «فرهنگ واژه‌های مصوّب فرهنگستان: ۱۳۷۶ تا ۱۳۸۵، بخش لاتین، صفحهٔ ۳۵»(فارسی)‎. وب‌گاه رسمی فرهنگستان. بازبینی‌شده در ۶ خرداد ۱۳۸۹.