{"id":424,"date":"2026-09-05T22:00:48","date_gmt":"2026-09-06T01:00:48","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/como-funcionam-placas-de-video\/"},"modified":"2026-09-08T05:02:38","modified_gmt":"2026-09-08T08:02:38","slug":"como-funcionam-placas-de-video","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2026\/09\/como-funcionam-placas-de-video\/","title":{"rendered":"How graphics cards work"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro encaixando placa de video no slot\" src=\"\/wp-content\/uploads\/2026\/09\/placas-de-video-v3.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p>How many calculations does a graphics card perform per second to draw a frame of <em>Cyberpunk<\/em> or train a network? The channel <strong>Branch Education<\/strong> took apart an RTX 3090 \u2014 literally \u2014 and reconstructed the die <strong>GA102<\/strong> in 3D. This text follows the video <a href=\"https:\/\/www.youtube.com\/watch?v=h9Z4oGN89MU\">How do Graphics Cards Work? Exploring GPU Architecture<\/a>. The Blackwell generation is already out; the architecture lesson is the same.<\/p>\n<p><!-- more --><\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/h9Z4oGN89MU\" title=\"How do Graphics Cards Work? Exploring GPU Architecture \u2014 Branch Education\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0\"><\/iframe>\n<\/div>\n<h2>The scale<\/h2>\n<p>Three anchors from the video:<\/p>\n<ul>\n<li><em>Super Mario 64<\/em> (1996): ~<strong>100 million<\/strong> calculations per second.<\/li>\n<li><em>Minecraft<\/em> (2011): ~<strong>100 billion<\/strong>.<\/li>\n<li>RTX 3090: more than <strong>36 TFLOPS<\/strong>. The 4090, mentioned in the same video, rises to <strong>82,58 TFLOPS<\/strong>.<\/li>\n<\/ul>\n<p>If each of the 8 billion humans performed one multiplication per second, it would take ~4.400 more Earths to match a high-end GPU. The silicon fits on a coin.<\/p>\n<h2>The CPU is a jet, the GPU a cargo ship<\/h2>\n<p>Both are processors. Their philosophies are opposites:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">CPU  \u2014 jato\npoucos n\u00facleos (8\u201324) | lat\u00eancia baixa | cache L2\/L3 enorme\npreditor de desvio | controle flex\u00edvel | kernel, disco, rede\n\nGPU  \u2014 navio cargueiro\nmilhares de n\u00facleos (10.496 na 3090) | vaz\u00e3o (throughput)\ncontrole compartilhado | a mesma conta em milh\u00f5es de dados\n<\/code><\/pre>\n<p>The CPU takes off and lands at thousands of airports: sequential, unpredictable tasks. The GPU carries tens of thousands of containers between two fixed ports: millions of vertices, pixels, or network weights undergoing the <em>same<\/em> operation. It is the same perspective as the post <a href=\"\/en\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">GPU vs TPU<\/a> \u2014 here the zoom is on the consumer die, not the datacenter accelerator.<\/p>\n<h2>Inside GA102 (Ampere)<\/h2>\n<p>The 3090 uses the <strong>GA102<\/strong>: custom Samsung 8 nm, <strong>28,3 billion<\/strong> transistors, 628 mm\u00b2. Rigid hierarchy:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">GA102\n  7 GPC  (Graphics Processing Clusters)\n    12 SM por GPC  \u2192  84 SM no sil\u00edcio inteiro\n      4 parti\u00e7\u00f5es \/ warp schedulers por SM\n        32 CUDA cores por parti\u00e7\u00e3o  (128 por SM)\n        1 Tensor Core por parti\u00e7\u00e3o  (4 por SM)\n      1 RT Core por SM\n\nGA102 cheio: 10.752 CUDA | 336 Tensor | 84 RT\n<\/code><\/pre>\n<p>The 3080 \/ 3080 Ti \/ 3090 \/ 3090 Ti cards come from the <em>same<\/em> design. During photolithography, dust and wafer defects kill an SM. Instead of throwing away 628 mm\u00b2, NVIDIA disables the block with a laser \u2014 <strong>binning<\/strong>:<\/p>\n<ul>\n<li><strong>3090 Ti:<\/strong> perfect silicon, 10.752 CUDA.<\/li>\n<li><strong>3090:<\/strong> 10.496 (2 SM off).<\/li>\n<li><strong>3080 Ti:<\/strong> 10.240 (4 SM off).<\/li>\n<li><strong>3080:<\/strong> 8.704 (16 SM off).<\/li>\n<\/ul>\n<h2>The CUDA core is an FMA<\/h2>\n<p>Each CUDA core has ~410 thousand transistors. The circuit that matters is the <strong>FMA<\/strong> (Fused Multiply-Add), one operation per clock cycle:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">Resultado = A \u00d7 B + C\n<\/code><\/pre>\n<p>It is the backbone of 3D graphics and AI \u2014 the same MAC of the <a href=\"\/en\/2026\/09\/o-que-e-uma-rede-neural\/\">neuron<\/a> and <a href=\"\/en\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">Tensor Core \/ MXU<\/a>. In Ampere, half the paths are FP32; the other half handles FP32 or INT32 in the same cycle. More expensive calculations (division, root, sine, cosine) fall to the <strong>SFU<\/strong> \u2014 only 4 per SM.<\/p>\n<h2>GDDR6X, PAM-4, and GDDR7's PAM-3<\/h2>\n<p>Thousands of cores without data sit idle. CPU RAM (DDR4\/DDR5) runs on a 64-bit bus, around 50\u201380 GB\/s. The 3090 carries <strong>24 GB of GDDR6X<\/strong> (Micron) on a bus of <strong>384 bits<\/strong>, ~<strong>936 GB\/s<\/strong> (the video rounds it to 1 TB\/s).<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">CPU + DDR5          GPU + GDDR6X\nbarramento 64-bit   barramento 384-bit\n~60 GB\/s            ~1 TB\/s\ncaminh\u00e3o de entrega porto de cont\u00eaineres\n<\/code><\/pre>\n<p>Computers are not just 0 and 1 on the traces. To avoid doubling the clock (heat, noise):<\/p>\n<ul>\n<li><strong>PAM-4 (GDDR6X):<\/strong> four voltage levels. Each symbol carries 2 bits (<code data-no-translation=\"\">00<\/code>, <code data-no-translation=\"\">01<\/code>, <code data-no-translation=\"\">10<\/code>, <code data-no-translation=\"\">11<\/code>).<\/li>\n<li><strong>PAM-3 (GDDR7):<\/strong> three states (\u22121, 0, +1). Encodes 3 bits in 2 ternary digits \u2014 simpler decoder, greater noise tolerance, less power.<\/li>\n<\/ul>\n<h2>SIMD, the cowboy hat, and \u201cembarrassingly parallel\u201d<\/h2>\n<p>Drawing a 3D world is an <strong>embarrassingly parallel<\/strong>problem: splitting it into thousands of independent pieces costs almost nothing. The hat in the video has ~14.000 vertices (X, Y, Z) and 28.000 triangles:<\/p>\n<ol>\n<li><strong>Model space:<\/strong> vertices at the object's origin (0, 0, 0).<\/li>\n<li><strong>World space:<\/strong> translation, rotation, scaling \u2014 each vertex \u00d7 a 4\u00d74 matrix.<\/li>\n<li>A scene with 5.000 objects and ~8 million vertices: the <em>same<\/em> instruction on millions of numbers. This is <strong>SIMD<\/strong> (Single Instruction, Multiple Data).<\/li>\n<\/ol>\n<h2>From SIMD to SIMT \u2014 and where \u201cwarp\u201d came from<\/h2>\n<p>Until ~2016, the warp of 32 threads marched in lockstep, like a Greek phalanx. In modern SIMT, each thread has its own program counter and registers. An <code data-no-translation=\"\">if\/else<\/code> that splits the warp in half (<strong>warp divergence<\/strong>) does not stall the entire SM: both paths run, then reconcile in the 128 KB L1 per SM.<\/p>\n<p>The name <strong>warp<\/strong> did not come from <em>Star Trek<\/em>. It came from weaving: the Jacquard loom (1804) selected the warp threads (<em>warp threads<\/em>) in parallel, using punched cards.<\/p>\n<p>The <strong>GigaThread Engine<\/strong> distributes thread blocks across free SMs. It is the dispatcher that makes 10 thousand cores look like a single program.<\/p>\n<h2>SHA-256, ASIC, and Tensor Core<\/h2>\n<p>The same machine serves more than gaming.<\/p>\n<p><strong>Bitcoin mining.<\/strong> Each SHA-256 attempt (different nonce) is independent of the previous one. The 3090 produced ~95 million hashes\/s. A dedicated ASIC exceeds 250 trillion\/s: spoon versus excavator. GPUs for Bitcoin are dead.<\/p>\n<p><strong>Tensor Cores and DLSS.<\/strong> Instead of scalar pairwise operations, the Tensor Core processes an entire matrix in mixed floating point in one instruction:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">D = A \u00d7 B + C\n<\/code><\/pre>\n<p>It is the foundation of neural networks and transformers on consumer silicon \u2014 the same MatMul that the post on <a href=\"\/en\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">GPU vs TPU<\/a> places in the TPU's systolic MXU, and that the crash course on <a href=\"\/en\/2026\/09\/deep-learning-para-iniciantes\/\">deep learning<\/a> treats as the training calculation. On Linux, the practical shortcut for using that computation without buying a cluster is <a href=\"\/en\/2026\/09\/rodando-ia-local-no-linux-com-ollama\/\">Ollama<\/a>.<\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=h9Z4oGN89MU\">Branch Education \u2014 How do Graphics Cards Work?<\/a><\/li>\n<li><a href=\"\/en\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">GPU vs TPU: how AI chips work<\/a><\/li>\n<li><a href=\"\/en\/2026\/09\/o-que-e-uma-rede-neural\/\">What is a neural network?<\/a><\/li>\n<li><a href=\"\/en\/2026\/09\/deep-learning-para-iniciantes\/\">Deep Learning for beginners<\/a><\/li>\n<li><a href=\"\/en\/2026\/09\/rodando-ia-local-no-linux-com-ollama\/\">Local AI on Linux with Ollama<\/a><\/li>\n<\/ul>\n<p>A graphics card is not \u201cthousands of little CPUs.\u201d It is a port: mass FMA, memory far wider than CPU DDR, and a dispatcher (GigaThread) that only works while the problem splits itself. Branch Education showed the port from within. The rest \u2014 DLSS, LLM, dead mining \u2014 is the same ship with different cargo.<\/p>","protected":false},"excerpt":{"rendered":"<p>How many calculations does a graphics card perform per second to draw a Cyberpunk frame or train a network? Branch Education took apart an RTX 3090 \u2014 literally \u2014 and reconstructed the GA102 die in 3D. This article follows the video How do Graphics Cards Work? Exploring GPU Architecture. The generation \u2026 <a title=\"How graphics cards work\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2026\/09\/como-funcionam-placas-de-video\/\" aria-label=\"Read more about Como funcionam as placas de v\u00eddeo\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115,2],"tags":[153,134,116,152],"class_list":["post-424","post","type-post","status-publish","format-standard","hentry","category-ia","category-linux","tag-cuda","tag-gpu","tag-ia","tag-nvidia"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=424"}],"version-history":[{"count":2,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/424\/revisions"}],"predecessor-version":[{"id":1126,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/424\/revisions\/1126"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}