似乎,现在除了开发设备驱动程序或操作系统内核的核心之外,没有人使用汇编。有人知道它目前正被用于其他用途吗?
我指的是PC风格和更大的硬件,而不是带有微小处理器的嵌入式设备。
发布于 2009-06-19 18:22:26
作为现代的C++,Boost对像atomic shared counters这样的低级性能关键位使用了内联汇编。
编辑:正如@TokenMacGuy正确指出的那样,“性能”在这里是一个错误的词。Boost使用汇编语言处理在标准C++中无法完成的事情,比如原子(由于某些原因,编译器的内部功能不可用)。
发布于 2009-06-19 18:14:20
显然,编译器后端和动态重新编译CPU模拟器等相关技术都需要汇编语言编程。
汇编语言编程也经常用于视频游戏编程,以利用当前编译器还不能很好地支持的新CPU功能。然而,这是一种罕见,这些天,特别是因为在PC上,有这么多不同的CPU来支持。不过,我预计这在配备统一硬件的控制台上会更常见一些。
编辑:如今游戏的大部分计算都是在图形处理器中完成的。仅使用OpenGL或DirectX并不总是能够最大限度地利用这些计算资源,这些处理器的供应商提供了大量工具来从其硬件中挤出更多资源。虽然Cuda或OpenCL是众所周知的术语,但它们在图形处理器硬件上仍然处于相对较高的抽象级别,填补了一个非常类似于典型(冯诺依曼)CPU上的C的角色。看看这些产品的developer pages,你会发现几十种方法来优化使用GPU计算资源,并在每个抽象级别。
发布于 2009-06-19 18:13:51
我相信Folding@Home并行计算项目使用优化的汇编代码来获得最大的速度。*
*注意:这并不意味着汇编总是比C/C++快。
https://stackoverflow.com/questions/1019313
复制相似问题