DMA 不就是一个 “做一件特别事情” 的 CPU 吗
例如,显示图形
for (int i = 1; i <= H; i++) {
for (int j = 1; j <= W; j++)
putchar(j <= i ? '*' : ' ');
putchar('\n');
}
难办的是性能:NES: 6502 @ 1.79Mhz; IPC = 0.43
76543210
||||||||
||||||++- Palette
|||+++--- Unimplemented
||+------ Priority
|+------- Flip horizontally
+-------- Flip vertically
CPU 只
如果我们有更多的晶体管?
2D 图形加速硬件:图片的 “裁剪” + “拼贴”
实现 3D
GameBoy Advance
三维空间中的三角形需要正确渲染
例子:GLSL (Shading Language)
一个完整的众核多处理器系统