کارت گرافیک کارش چیه

saalek110

Well-Known Member
هوش مصنوعی Deepseek:

کارت گرافیک کارش چیه

اول:
مسئله چیست؟

کامپیوتر همه‌چیز را به صورت صفر و یک ذخیره می‌کند. اما مانیتور چیزی جز «روشن/خاموش شدن پیکسل‌ها» نمی‌فهمد. پس یک واسطه لازم است که:

۱. داده‌های خام (متن، عکس، بازی) را بگیرد.
۲. آنها را به سیگنال‌های قابل نمایش برای مانیتور ترجمه کند.
۳. این کار را سریع و مداوم انجام دهد (مثلاً ۶۰ بار در ثانیه).

این واسطه همان کارت گرافیک است.


---

دوم: کارت گرافیک دقیقاً چه کارهایی می‌کند؟

۱. تولید تصویر (رندر)

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

· هر پیکسل چه رنگی باشد؟
· کجا قرار بگیرد؟
· چه موقعیت و اندازه‌ای داشته باشد؟

۲. تبدیل داده به سیگنال

داده‌های دیجیتال (۰ و ۱) را به سیگنالی تبدیل می‌کند که مانیتور بفهمد (VGA، HDMI، DisplayPort).

۳. محاسبات گرافیکی (مهم‌ترین بخش امروز)

اینجا جایی است که کارت گرافیک از یک «مترجم ساده» به یک «ابَررایانه» تبدیل می‌شود:

الف) محاسبات ۲D:

· کشیدن پنجره‌ها، متن، آیکون‌ها
· جابه‌جایی پنجره‌ها بدون لگ
· شفافیت، سایه، افکت‌های ساده

ب) محاسبات ۳D (انقلاب اصلی):
در یک بازی سه‌بعدی، هر ثانیه میلیون‌ها محاسبه ریاضی لازم است:

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

قبل از آمدن GPU، CPU همه این کارها را انجام می‌داد. نتیجه: بازی‌های سه‌بعدی اولیه بسیار کند و ساده بودند.

۴. حافظه اختصاصی (VRAM)

کارت گرافیک حافظه خودش را دارد که جدا از RAM اصلی است. چرا؟

· چون GPU به پهنای باند فوق‌العاده بالا نیاز دارد (بیشتر از CPU).
· چون نباید برای هر فریم منتظر RAM اصلی بماند.
· این حافظه تصاویر بافت، فریم‌بافر و داده‌های سه‌بعدی را نگه می‌دارد.


۵. خروجی به مانیتور

در نهایت، تصویر نهایی (فریم) از حافظه به سیگنال تبدیل شده و به مانیتور می‌رود.

---

سوم: چرا CPU به تنهایی کافی نیست؟

CPU یک نابغه همه‌فن‌حریف است، اما برای محاسبات موازی انبوه ساخته نشده.

مثال ساده:

· CPU مثل یک ریاضیدان فوق‌باهوش است که می‌تواند معادلات پیچیده را یکی‌یکی و خیلی سریع حل کند.
· GPU مثل یک ارتش ۱۰۰۰۰ نفره از حسابداران ساده است که هر کدام فقط جمع و ضرب بلدند، اما همه با هم کار می‌کنند.

برای کشیدن یک تصویر، شما به میلیون‌ها محاسبه ساده اما همزمان نیاز دارید. این دقیقاً کاری است که GPU در آن استاد است.

---

چهارم: خلاصه در یک جمله

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

saalek110

Well-Known Member
این بار کامل، مفصل و از صفر توضیح می‌دهم که کارت گرافیک چیست و چه می‌کند. بدون عجله، مرحله به مرحله.

---

کارت گرافیک چیست و چه کاری انجام می‌دهد؟

فصل اول: مسئله بنیادی — چرا اصلاً کارت گرافیک لازم است؟

۱.۱ کامپیوتر چگونه «فکر» می‌کند؟

کامپیوتر در عمق وجودش فقط یک چیز را می‌فهمد: جریان برق هست یا نیست.

· اگر برق باشد → ۱
· اگر برق نباشد → ۰

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

۱.۲ اما مانیتور چه می‌فهمد؟

مانیتور هیچ‌چیز از صفر و یک نمی‌فهمد. مانیتور فقط یک چیز می‌فهمد:

«این نقطه (پیکسل) روشن باشد یا خاموش؟ اگر روشن، با چه رنگی؟ با چه شدتی؟»

یک مانیتور معمولی Full HD از ۱۹۲۰ × ۱۰۸۰ = ۲,۰۷۳,۶۰۰ پیکسل ساخته شده. یعنی حدود ۲ میلیون نقطه کوچک کنار هم.

و مانیتور باید این ۲ میلیون نقطه را ۶۰ بار در ثانیه (یا بیشتر) از نو بکشد تا تصویر متحرک به نظر برسد.

۱.۳ پس شکاف کجاست؟

```
دنیای کامپیوتر: ۰۱۰۱۰۰۱۱۱۰۱۰۱۰۰۱۱۱۰۱۰...
⬇️ ؟؟؟ ⬇️
دنیای مانیتور: پیکسل ۱: قرمز | پیکسل ۲: آبی | پیکسل ۳: خاموش | ...
```

چه کسی این ترجمه را انجام می‌دهد؟
چه کسی تصمیم می‌گیرد کدام پیکسل چه رنگی باشد؟
چه کسی این کار را ۶۰ بار در ثانیه برای ۲ میلیون پیکسل انجام می‌دهد؟

پاسخ: کارت گرافیک (و در قلب آن، GPU).

---

فصل دوم: کارت گرافیک از چه اجزایی ساخته شده؟

یک کارت گرافیک مدرن (مثلاً NVIDIA RTX 4090 یا AMD RX 7900) از این اجزا تشکیل شده:

۲.۱ — GPU (واحد پردازش گرافیکی) — مغز کارت گرافیک

این یک تراشه سیلیکونی عظیم است (گاهی بیش از ۷۰ میلیارد ترانزیستور). GPU خودش از بخش‌های زیر ساخته شده:

الف) هسته‌های پردازشی (CUDA Cores / Stream Processors)

· هزاران هسته کوچک که هر کدام یک محاسبه ساده را انجام می‌دهند.
· مثلاً RTX 4090 حدود ۱۶,۳۸۴ هسته دارد.
· این هسته‌ها همه با هم کار می‌کنند (پردازش موازی).

ب) واحدهای بافت (TMU — Texture Mapping Units)

· وظیفه: کشیدن «پوست» (Texture) روی سطوح سه‌بعدی.
· مثلاً آجرکاری روی دیوار یک ساختمان در بازی.

ج) واحدهای خروجی (ROP — Render Output Units)

· وظیفه: نوشتن پیکسل نهایی در حافظه تصویر.
· کنترل عمق، شفافیت، ترکیب رنگ‌ها.

د) هسته‌های RT (Ray Tracing Cores) — از سال ۲۰۱۸

· وظیفه: محاسبه مسیر پرتوهای نور به صورت واقع‌گرایانه.
· برای بازتاب، شکست نور، سایه‌های دقیق.

ه) هسته‌های Tensor — از سال ۲۰۱۸

· وظیفه: محاسبات هوش مصنوعی.
· برای DLSS (بالا بردن کیفیت با AI)، حذف نویز، تولید فریم.

۲.۲ — حافظه اختصاصی (VRAM)

چرا کارت گرافیک حافظه جداگانه دارد؟

· سرعت: VRAM (مثل GDDR6X) پهنای باندی حدود ۱۰۰۰ گیگابایت بر ثانیه دارد. RAM اصلی کامپیوتر (DDR5) حدود ۸۰ گیگابایت بر ثانیه. یعنی VRAM حدود ۱۲ برابر سریع‌تر است.
· چرا اینقدر سریع؟ چون GPU باید در هر ثانیه صدها میلیون پیکسل را بخواند و بنویسد. اگر حافظه کند باشد، GPU باید منتظر بماند و این فاجعه است.

VRAM چه چیزی را نگه می‌دارد؟

· فریم‌بافر (Framebuffer): تصویر نهایی که به مانیتور می‌رود.
· بافت‌ها (Textures): تصاویر دیوار، زمین، لباس، صورت شخصیت‌ها.
· بافر عمق (Z-Buffer): برای فهمیدن اینکه چه چیزی جلوی چه چیزی است.
· داده‌های هندسی: مختصات نقاط، مثلث‌ها، نرمال‌ها.
· شیدرها: برنامه‌های کوچکی که می‌گویند هر پیکسل چه رنگی شود.

۲.۳ — مدار تغذیه (VRM)

GPU های مدرن می‌توانند تا ۴۵۰ وات یا بیشتر برق مصرف کنند. VRM وظیفه دارد برق را از پاور کامپیوتر بگیرد، تنظیم کند و به GPU برساند.

۲.۴ — سیستم خنک‌کننده

GPU هنگام کار بسیار داغ می‌شود (گاهی بیش از ۸۰ درجه سانتی‌گراد). خنک‌کننده شامل:

· هیت‌سینک (قطعه فلزی با پره‌های زیاد)
· فن‌ها
· لوله‌های حرارتی (Heat Pipes)
· در مدل‌های بالا: خنک‌کننده مایع

۲.۵ — خروجی‌ها

· HDMI: برای مانیتور و تلویزیون
· DisplayPort: برای مانیتورهای گیمینگ با نرخ تازه‌سازی بالا
· DVI (قدیمی): برای مانیتورهای قدیمی
· USB-C: برای مانیتورهای مدرن و هدست واقعیت مجازی

۲.۶ — رابط اتصال به مادربرد

· AGP (قدیمی): از سال ۱۹۹۷ تا ۲۰۰۴
· PCI Express (PCIe): از سال ۲۰۰۴ تا امروز
· PCIe x16 یعنی ۱۶ لاین ارتباطی موازی.
· نسل‌های مختلف: PCIe 1.0, 2.0, 3.0, 4.0, 5.0 — هر نسل دو برابر سریع‌تر.

---

فصل سوم: کارت گرافیک دقیقاً چه محاسباتی انجام می‌دهد؟

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

۳.۱ — خط لوله گرافیکی (Graphics Pipeline)

هر فریم (تصویر) که می‌بینید، از این مراحل عبور می‌کند:

```
داده‌های خام (مختصات، بافت، نور)
⬇️
۱. Vertex Processing (پردازش رأس‌ها)
⬇️
۲. Primitive Assembly (مونتاژ اولیه)
⬇️
۳. Rasterization (رستر کردن)
⬇️
۴. Fragment Processing (پردازش قطعات)
⬇️
۵. Output Merging (ادغام خروجی)
⬇️
تصویر نهایی روی مانیتور
```

بیایید هر مرحله را باز کنیم:

---

مرحله ۱: پردازش رأس‌ها (Vertex Processing)

رأس (Vertex) چیست؟
هر شیء سه‌بعدی از مثلث‌ها ساخته شده. هر مثلث سه رأس دارد. هر رأس یک نقطه در فضای سه‌بعدی است: (x, y, z).

مثلاً یک مکعب ساده ۸ رأس دارد. یک شخصیت بازی ممکن است ۵۰,۰۰۰ رأس یا بیشتر داشته باشد.

GPU با رأس‌ها چه می‌کند؟

الف) تبدیل مختصات (Transform):

· مختصات سه‌بعدی جهان → مختصات دوربین → مختصات دوبعدی صفحه.
· این یعنی: «این نقطه در فضا کجاست؟ از دید دوربین کجا دیده می‌شود؟ روی صفحه کجا بیفتد؟»
· این کار با ماتریس‌های ریاضی انجام می‌شود (ضرب ماتریس ۴×۴).

ب) نورپردازی (Lighting):

· این نقطه چقدر نور می‌گیرد؟
· زاویه نور نسبت به سطح چقدر است؟
· رنگ نور چیست؟
· سایه دارد یا نه؟

ج) شیدر رأس (Vertex Shader):

· یک برنامه کوچک که برای هر رأس اجرا می‌شود.
· مثلاً: «این رأس را ۱۰ سانتی‌متر به راست ببر» یا «موج روی آب را شبیه‌سازی کن».

---

مرحله ۲: مونتاژ اولیه (Primitive Assembly)

· رأس‌های پردازش‌شده کنار هم گذاشته می‌شوند تا مثلث بسازند.
· مثلث‌هایی که خارج از دید دوربین هستند، حذف می‌شوند (Culling).
· مثلث‌هایی که پشت اشیاء دیگر هستند، حذف می‌شوند (Occlusion Culling).

---

مرحله ۳: رستر کردن (Rasterization)

این مهم‌ترین مرحله است.

GPU باید هر مثلث را به پیکسل تبدیل کند. یعنی:

«این مثلث سه‌بعدی، روی کدام پیکسل‌های دوبعدی صفحه می‌افتد؟»

مثلاً یک مثلث کوچک ممکن است فقط ۱۰ پیکسل را بپوشاند. یک مثلث بزرگ (مثل زمین) ممکن است ۱ میلیون پیکسل را بپوشاند.

خروجی این مرحله: قطعات (Fragments) — هر قطعه یک «پیکسل بالقوه» است.

---

مرحله ۴: پردازش قطعات (Fragment Processing)

قطعه (Fragment) چیست؟
یک قطعه = یک پیکسل + اطلاعات اضافی (عمق، رنگ، بافت، نور).

برای هر قطعه، GPU این کارها را انجام می‌دهد:

الف) بافت‌گذاری (Texture Mapping):

· تصویر بافت (مثلاً آجر) را از VRAM می‌خواند.
· مختصات بافت (u, v) را محاسبه می‌کند.
· رنگ بافت را در آن نقطه برمی‌دارد.
· فیلترینگ (Filtering) انجام می‌دهد تا بافت صاف به نظر برسد.

ب) نورپردازی پیشرفته:

· محاسبه نور مستقیم، غیرمستقیم، بازتاب، شکست.
· سایه‌ها.
· نور محیط (Ambient)، نور نقطه‌ای (Point)، نور جهت‌دار (Directional).

ج) شیدر قطعه (Fragment Shader / Pixel Shader):

· یک برنامه کوچک که برای هر قطعه اجرا می‌شود.
· مثلاً: «اگر این پیکسل زیر آب است، رنگش را آبی کن و موج بزن».
· مثلاً: «اگر این پیکسل در سایه است، ۳۰٪ تیره‌ترش کن».
· مثلاً: «بازتاب آسمان را روی این سطح فلزی محاسبه کن».

د) تست عمق (Depth Test):

· این قطعه جلوی قطعات دیگر است یا پشت آنها؟
· اگر پشت باشد، حذف می‌شود (Z-Buffer).

ه) تست شفافیت (Alpha Test):

· اگر قطعه شفاف است، با قطعات پشتش ترکیب می‌شود.

---

مرحله ۵: ادغام خروجی (Output Merging)

· رنگ نهایی هر پیکسل محاسبه و در فریم‌بافر نوشته می‌شود.
· فریم‌بافر یک تصویر کامل در VRAM است.
· وقتی همه پیکسل‌ها آماده شدند، فریم‌بافر به مانیتور فرستاده می‌شود.

---

۳.۲ — محاسبات ریاضی در هر فریم

بیایید عددی نگاه کنیم. یک بازی مدرن با تنظیمات بالا:

پارامتر مقدار تقریبی
رأس‌ها در هر فریم ۵ تا ۲۰ میلیون
مثلث‌ها در هر فریم ۲ تا ۱۰ میلیون
قطعات (پیکسل‌های بالقوه) ۵۰ تا ۵۰۰ میلیون
محاسبات ریاضی در هر ثانیه ۱۰ تا ۱۰۰ تریلیون عملیات
فریم در ثانیه ۶۰ تا ۲۴۰
پهنای باند حافظه ۵۰۰ تا ۱۰۰۰ گیگابایت بر ثانیه

این اعداد را با CPU مقایسه کنید:

· CPU معمولی: ۸ تا ۱۶ هسته، حدود ۰.۵ تا ۱ تریلیون عملیات در ثانیه.
· GPU مدرن: هزاران هسته، ۱۰ تا ۱۰۰ تریلیون عملیات در ثانیه.

نتیجه: GPU حدود ۱۰۰ برابر CPU در محاسبات گرافیکی سریع‌تر است.



ادامه بحث این پست در پست بعدی ، در این پست فروم اجازه طولانی بودن را نداد.....
 

saalek110

Well-Known Member
فصل چهارم: چرا GPU اینقدر سریع‌تر از CPU است؟



۴.۱ — تفاوت در معماری



CPU:

· ۸ تا ۱۶ هسته (مثل ۱۶ ریاضیدان نابغه)

· هر هسته بسیار پیچیده و قدرتمند

· می‌تواند تصمیم‌های منطقی پیچیده بگیرد (if, else, حلقه، شرط)

· برای کارهای ترتیبی عالی است

· اما نمی‌تواند هزاران کار را همزمان انجام دهد


GPU:
· هزاران هسته (مثل ۱۰,۰۰۰ حسابدار ساده)

· هر هسته ساده و کوچک

· فقط می‌تواند محاسبات ساده انجام دهد (جمع، ضرب، مقایسه)

· برای کارهای موازی عالی است

· می‌تواند هزاران محاسبه را همزمان انجام دهد



۴.۲ — مثال ملموس

فرض کنید می‌خواهید ۱۰,۰۰۰ عدد را با هم جمع کنید.

CPU (۱۶ هسته):

· هر هسته ۶۲۵ عدد را یکی‌یکی جمع می‌کند.

· زمان: نسبتاً طولانی.

GPU (۱۰,۰۰۰ هسته):

· هر هسته یک عدد را جمع می‌کند.

· همه با هم، در یک لحظه.

· زمان: تقریباً ۶۰۰ برابر سریع‌تر.


۴.۳ — چرا CPU مثل GPU نیست؟

چون CPU باید تصمیم بگیرد. مثلاً:

· «اگر کاربر کلیک کرد، این کار را کن»

· «اگر فایل وجود داشت، بخوان»

· «اگر خطا بود، مدیریت کن»


این تصمیم‌ها نیاز به منطق پیچیده دارند که GPU نمی‌تواند انجام دهد.

اما گرافیک تصمیم‌های ساده و تکراری است:

· «این پیکسل را قرمز کن»

· «این رأس را جابه‌جا کن»

· «این بافت را بکش»



برای همین GPU ساخته شده.



فصل پنجم: انواع کارت گرافیک



۵.۱ — گرافیک یکپارچه (Integrated / Onboard)


· روی همان تراشه CPU یا مادربرد قرار دارد.

· حافظه اختصاصی ندارد؛ از RAM اصلی استفاده می‌کند.

· قدرت کم، مصرف برق کم، ارزان.

· مناسب: کارهای اداری، وب‌گردی، فیلم دیدن.

· مثال: Intel Iris Xe, AMD Radeon Vega (در APU).


۵.۲ — گرافیک مجزا (Discrete)

· یک کارت جداگانه در اسلات PCIe مادربرد.

· حافظه اختصاصی (VRAM) دارد.

· قدرت بالا، مصرف برق بالا، گران.

· مناسب: بازی، رندرینگ، هوش مصنوعی، طراحی سه‌بعدی.

· مثال: NVIDIA RTX 4090, AMD RX 7900 XTX.

۵.۳ — گرافیک مجتمع در حافظه (HBM)

· نوع خاصی از گرافیک مجزا که حافظه را روی خود تراشه دارد.

· بسیار سریع‌تر و کم‌مصرف‌تر.

· مثال: AMD Radeon VII, Intel Xe HPG.


فصل ششم: کاربردهای فراتر از بازی

کارت گرافیک امروز فقط برای بازی نیست:


کاربرد توضیح

هوش مصنوعی آموزش شبکه‌های عصبی (GPT, Stable Diffusion)

رندرینگ حرفه‌ای ساخت انیمیشن (Pixar, DreamWorks)

شبیه‌سازی علمی پیش‌بینی آب‌وهوا، شبیه‌سازی مولکولی

رمزارز استخراج بیت‌کوین و اتریوم (قدیم)

پزشکی تحلیل تصاویر MRI و CT

خودران پردازش تصویر لحظه‌ای در تسلا

واقعیت مجازی رندر دو تصویر همزمان برای دو چشم



فصل هفتم: خلاصه نهایی

کارت گرافیک یک پردازنده تخصصی است که:

۱. داده‌های دیجیتال را به تصویر قابل نمایش تبدیل می‌کند.

۲. میلیون‌ها محاسبه موازی را در هر ثانیه انجام می‌دهد.

۳. بار محاسبات سنگین گرافیکی را از دوش CPU برمی‌دارد.

۴. حافظه اختصاصی فوق‌سریع دارد.

۵. از یک خط لوله پیچیده (Vertex → Raster → Fragment → Output) عبور می‌کند.

۶. برای بازی، هوش مصنوعی، رندرینگ و شبیه‌سازی حیاتی است.
 

جدیدترین ارسال ها

بالا