11得票3回答
C#中实现真正低级别的声音生成?

有没有合理的方法可以在C#中创建任意声波并从扬声器播放? 多年来,这个问题一直不断地出现,我总是在找不到解决方案后失败了很多次。 我想要做的就像是一个反向可视化工具,也就是说,我不想从声音中生成“数字”,我希望从数字中生成声音。 比如说,我提供一个函数,它需要采样率、采样大小和声音数据(...

7得票2回答
FWORD中的F代表什么?

我正在学习汇编语言,遇到了FWORD(6字节)。我很好奇F代表什么?维基页面上没有相关信息,MSDN上也没有。 https://en.wikipedia.org/wiki/FWord https://msdn.microsoft.com/en-us/library/26c4cbza.aspx

7得票3回答
我该如何学习编写控制台模拟器?

可能重复: 模拟器如何工作以及它们是如何编写的? 我想尝试编写一个基本的Gameboy模拟器,甚至可能是NES模拟器。我知道C语言的基础知识,我还擅长Java,所以我知道编程的必要基础。但我不知道的是,人们如何将所有数据处理成C程序并从中创建模拟器。我知道应该从源代码学习,但是仅凭一堆代码...

11得票2回答
iPhone iOS4 低级相机控制?

在 iPhone 4 的 iOS4 上有没有办法手动设置静态相机的低级别设置,例如快门速度、光圈或ISO?我认为官方 SDK 中不存在这种功能,但也许有人已经找到了一些私有 API 来实现此功能? 我发现我的 iPhone 4 相机无法使用,因为即使在相当不错的照明条件下,它总是坚持以最慢的...

7得票1回答
如何确保一段代码永远不会离开CPU缓存(L3)?

最新的Intel XEON处理器拥有30MB的L3内存,这足以容纳一个轻型1类Hypervisor。 我想了解如何将这样的Hypervisor保留在CPU内部,即防止其被刷新到RAM或至少在发送到内存/磁盘之前加密数据。 假设我们在裸机上运行,并且我们可以使用DRTM(Late Launc...

10得票2回答
CPU如何执行像MUL/MULT这样的指令?

MUL(x86)/MULT(mips)在不同的汇编语言中均表示乘法。对于程序员来说,它是一个黑匣子。我对CPU如何实现乘法感兴趣,而不考虑架构。假设我的寄存器中有两个16位值,并且我是CPU,因此必须使用我拥有的其他位操作指令(and、or、xor、not、shl、shr等)来实现MUL。我该...

8得票5回答
如何在Linux上将两个虚拟地址映射到同一物理内存?

我面临一个相当棘手的问题。我试图让两个虚拟内存区域指向同一物理内存。关键在于在不同的内存区域上有不同的页面保护参数。 在这个论坛上,用户似乎有一个解决方案,但它似乎有点hacky,并且很明显可以通过性能更好的方式来完成: http://www.linuxforums.org/forum/pr...

9得票2回答
实模式下的x86汇编语言:基础是如何完成的?

我目前正在阅读第一个Linux内核的源代码中的boot.s文件(假设0.01确实是第一个公开发布的版本)。 我懂得C语言和汇编语言,但后者比前者要少得多。即便如此,我似乎能够理解并基本掌握源文件中的代码。 然而,这个文件让我感到困惑。我现在意识到这是实模式,而不是保护模式。毋庸置疑,在我出...

9得票6回答
LWARX和STWCX的x86等效指令

我正在寻找类似于PowerPC处理器上的LWARX和STWCX或在x86平台上实现类似功能的方法。另外,哪里可以找到有关锁定/无等待编程的好文章/网站/论坛(例如如何实现无锁引用计数系统)?需要实现一个多线程访问和更改智能指针的无锁引用计数系统。我需要一种在x86处理器上实现类似LWARX和S...

43得票3回答
为什么Linux不使用通过TSS进行硬件上下文切换的方式?

我读到了以下陈述: x86架构包括一种特定的段类型,称为任务状态段(TSS),用于存储硬件上下文。尽管Linux不使用硬件上下文切换,但它仍然被迫为系统中每个不同的CPU设置一个TSS。 我想知道: 为什么Linux不使用硬件支持来进行上下文切换? 硬件方法难道不比软件方法快得多吗...