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

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

مثالی از حافظهی نهان بافت
ویژگی های حافظه بافت
برای بهبود عملکرد حافظه بافت، عملیات مختلفی به صورت سخت افزاری در کنار آن درون پردازنده گرافیکی تعبیه شده است که در ادامه مهمترین آنها به اختصار ذکر میشوند:
- روش Clamp :در این روش در صورتی که مقدار ایندکس کوچکتر از صفر باشد آن را برابر صفر در نظر میگیرد و به خانه ی صفر از آرایه مد نظر اشاره خواهد کرد و درصورتی که مقدار آن از طول آرایه بیشتر باشد، برابر ایندکس خانهی آخر آرایه در نظر گرفته میشود.
- روش Wrap :هر ایندکس را از مقدار جزء صحیح آن کم میکند و بدین طریق به ازای هر مقدار داده شده، همواره در بازه نرمال شده مختصات قرار میگیرد.
موارد استفاده و جمع بندی
مطالعه بیشتر در مورد ویژگیهای حافظه بافت و نحوه استفاده از آن:
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
ثبت نظر