پیش‌نویس:حافظه دودرگاهی

حافظهٔ ویدئویی دو‌درگاهی 
حافظهٔ ویدئویی دو‌درگاهی (به انگلیسی: Dual-ported Video RAM) نوعی از حافظهٔ دسترسی تصادفی دو‌درگاهی است که از حافظهٔ دسترسی تصادفی پویا (DRAM) مشتق شده و در گذشته برای ذخیرهٔ بافر فریم در کارت‌های گرافیک مورد استفاده قرار می‌گرفت. این نوع حافظه در زمان خود معمولاً با نام VRAM شناخته می‌شد.

برخلاف DRAM معمولی، VRAM دارای دو درگاه دسترسی مستقل است: یکی برای پردازندهٔ مرکزی (CPU) و دیگری برای کنترل‌کنندهٔ نمایش ویدئویی (VDC). این معماری امکان دسترسی هم‌زمان را فراهم می‌کند؛ به‌طوری‌که در حالی که پردازنده داده‌ها را در حافظه می‌نویسد، کنترل‌کنندهٔ نمایش می‌تواند به‌صورت مستقل داده‌ها را بخواند. این ویژگی باعث حذف حالت‌های انتظار (Wait State)، افزایش کارایی و نمایش روان‌تر تصاویر می‌شود.

VRAM از میانهٔ دههٔ ۱۹۸۰ تا میانهٔ دههٔ ۱۹۹۰ به‌طور گسترده مورد استفاده قرار گرفت. با ظهور فناوری‌های جدیدتر و سریع‌تر حافظه، استفاده از VRAM دو‌درگاهی به‌تدریج کنار گذاشته شد. امروزه اصطلاح «VRAM» ممکن است به انواع جدید حافظه‌های گرافیکی نیز اطلاق شود که می‌تواند با این نوع قدیمی‌تر اشتباه گرفته شود.

 تاریخچه 
رایانه‌های اولیه از حافظهٔ دسترسی تصادفی پویا (DRAM) برای ذخیرهٔ داده‌های تصویری مورد نیاز نمایشگرها استفاده می‌کردند. در آن زمان، تولید سیگنال تصویری با زمان‌بندی بسیار دقیق برای نمایش روی تلویزیون‌ها یا نمایشگرهای مبتنی بر ویدئوی ترکیبی ضروری بود. با توجه به سرعت پایین حافظه‌های آن دوره، خواندن مداوم داده‌ها توسط سخت‌افزار گرافیکی بخش بزرگی از ظرفیت حافظه را اشغال می‌کرد و با نیاز پردازندهٔ مرکزی به دسترسی به همان حافظه تداخل داشت.

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

در اوایل دههٔ ۱۹۸۰، با ظهور نمایشگرهای با وضوح بالاتر و محیط‌های گرافیکی کاربر (GUI)، نیاز به عملکرد بیشتر در سامانه‌های گرافیکی افزایش یافت. راه‌حل نهایی استفاده از حافظه‌ای بود که بتواند به‌طور هم‌زمان توسط پردازنده و سخت‌افزار نمایش مورد استفاده قرار گیرد.

این فناوری در سال ۱۹۸۰ توسط ف. دیل (F. Dill)، دی. لینگ (D. Ling) و آر. متیک (R. Matick) در مرکز پژوهشی آی‌بی‌ام ابداع شد و در سال ۱۹۸۵ تحت شمارهٔ ثبت اختراع 4,541,075 به ثبت رسید. نخستین استفادهٔ تجاری از VRAM در سال ۱۹۸۶ در یک آداپتور گرافیکی با وضوح بالا برای رایانهٔ IBM RT PC انجام شد.

VRAM با افزایش توان عملیاتی بافر فریم، امکان تولید گرافیک رنگی با وضوح و سرعت بالا را با هزینه‌ای کمتر فراهم کرد. این پیشرفت نقش مهمی در گسترش رابط‌های کاربری گرافیکی در دههٔ ۱۹۸۰ و ۱۹۹۰ داشت.

 توضیحات فنی 
حافظهٔ DRAM از نظر داخلی به صورت آرایه‌ای از سطرها و ستون‌های خازن‌ها سازمان‌دهی شده است که محل تقاطع هر سطر و ستون، یک بیت داده را در یک سلول ذخیره می‌کند. در کاربردهای معمول، هنگامی که پردازنده به DRAM دسترسی پیدا می‌کند، مقدار کوچکی از داده (برای مثال یک بایت) را درخواست می‌کند. برای خواندن یک بایت، DRAM نشانی ارائه‌شده را به مجموعه‌ای از هشت سلول متناظر با هشت بیت آن بایت تبدیل می‌کند، سپس کل سطر حاوی آن سلول‌ها را می‌خواند و دادهٔ موردنیاز را در ثبات‌های داخلی ذخیره می‌کند تا از طریق گذرگاه داده قابل دسترسی باشد. در آن زمان، طول سطرها معمولاً ۱۰۲۴ سلول بود.

حافظه‌های DRAM از نوع «مخرب» هستند؛ به این معنا که فرایند خواندن داده موجب از بین رفتن محتوای ذخیره‌شده می‌شود. بنابراین پس از هر بار خواندن، داده‌ها باید دوباره در همان سطر نوشته شوند. به همین دلیل، حتی اگر تنها یک بایت موردنیاز باشد، کل سطر خوانده و سپس بازنویسی می‌شود. در نتیجه، DRAM به‌طور مداوم سطرهای کامل را می‌خواند، بخش کوچکی از آن‌ها را مورد استفاده قرار می‌دهد و سپس کل محتوا را مجدداً ذخیره می‌کند.

VRAM با حفظ داده‌های اضافی خوانده‌شده، این فرایند را بهبود می‌بخشد. داده‌های خوانده‌شده از سطر علاوه بر ذخیره در ثبات‌های معمول، به مجموعهٔ دیگری از ثبات‌ها که به یک شیفت‌رجیستر متصل هستند نیز منتقل می‌شوند. از این مرحله به بعد، داده‌ها می‌توانند به‌صورت ترتیبی و هر بار یک بیت از طریق شیفت‌رجیستر خوانده شوند. این سازوکار تنها به دو پایه نیاز دارد: یکی برای خروجی داده و دیگری برای سیگنال راه‌انداز یا استروب.

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

عملکرد این فناوری در مقالهٔ «حافظهٔ نمایشگر رستری با قابلیت نشانی‌دهی کامل» (All Points Addressable Raster Display Memory) نوشتهٔ آر. متیک، دی. لینگ، اس. گوپتا و اف. دیل در سال ۱۹۸۴ تشریح شده است.

برای استفاده از درگاه ویدئویی، کنترل‌کننده ابتدا از طریق درگاه DRAM سطر موردنظر از آرایهٔ حافظه را انتخاب می‌کند. سپس VRAM کل آن سطر را به یک بافر سطری داخلی که در واقع یک شیفت‌رجیستر است، کپی می‌کند. پس از آن، کنترل‌کننده می‌تواند همچنان از درگاه DRAM برای رسم اشیای گرافیکی استفاده کند. در همین زمان، سیگنالی موسوم به «ساعت شیفت» (Shift Clock یا SCLK) به درگاه ویدئویی VRAM اعمال می‌شود. هر پالس SCLK باعث می‌شود بیت بعدی داده از شیفت‌رجیستر به درگاه ویدئویی منتقل شود. در طراحی‌های متداول، محتوای هر سطر حافظه و در نتیجه محتوای شیفت‌رجیستر با یک خط افقی کامل از تصویر نمایش‌داده‌شده متناظر است.

 گذار به SDRAM 
در طول دههٔ ۱۹۹۰، بسیاری از سامانه‌های گرافیکی از VRAM استفاده می‌کردند و ظرفیت آن، که معمولاً بر حسب مگابیت بیان می‌شد، یکی از ویژگی‌های تبلیغاتی محصولات به شمار می‌رفت.

در اواخر دههٔ ۱۹۹۰، فناوری‌های حافظهٔ SDRAM به‌تدریج از نظر قیمت، چگالی ذخیره‌سازی و سرعت به سطحی رسیدند که بتوانند جایگزین VRAM شوند. این امر با وجود آن بود که SDRAM تنها یک درگاه دسترسی داشت و برای انجام وظایف مشابه به سازوکارهای مدیریتی بیشتری نیاز داشت.

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

 منابع 

1- "US4541075 - Random access memory having a second input/output port", patentscope.wipo.int, retrieved 2026-05-15

2- SM55161A 262144×16 bit VRAM data sheet (PDF), Austin Semiconductor, archived from the original (PDF) on 2011-07-07, retrieved 2009-03-02
:رده:مقاله‌های ایجادشده توسط ایجادگر