21得票3回答
如何为旧游戏机编程?

我想知道如何编程老游戏机,只是为了好玩。 我可以使用C这样的编程语言吗?我需要使用汇编语言吗?我不了解任何控制台的编译器、汇编器或API。我需要编译成ROM镜像并在模拟器中测试,因为我没有任何控制台。 每个控制台都有其有趣的特点,我想和它们一起玩耍。 Atari 2600(只有128字...

15得票2回答
为什么RAM的速度不如寄存器/缓存内存快?

为什么我们需要在高速缓存中进行缓存,为什么不能将RAM内存制作得像寄存器或高速缓存一样快,或者将高速缓存扩大到与RAM内存(4GB)一样大,这样就可以把所有的数据都放入高速缓存了吗?有没有好的文章或书籍来理解这些概念?

11得票5回答
我需要为CDC设备编写自己的主机端USB驱动程序吗?

这可能不被视为直接与编程有关,但我不知道还能去哪里询问。我已经尝试查看各种网站,但目前为止谷歌并没有给我带来帮助。 我正在研发一款设备,该设备可能连接到各种Windows/Linux/Mac平台,但我无法确定是否需要为它编写自己的设备驱动程序,或者功能是否由标准驱动程序提供。 我的设备是一...

23得票6回答
为什么浮点数除法很慢?

浮点数除法算法的步骤是什么?为什么它的结果比乘法慢?它是否与我们手动进行的除法一样?通过反复除以除数,减去结果得到余数,再次对齐数字并继续直至余数小于特定值?此外,如果我们使用牛顿-拉夫逊方法而不是传统的除法,为什么会提高性能?a = b / c 我们做什么d = 1 / c a = b *...

11得票1回答
我能否在Windows中的用户模式程序中读取CPU性能计数器?

我想要在所有最新的x86硬件上编程和读取硬件性能计数器。 在Linux上,有各种perf_events系统来完成这个任务(以及从未修改的程序外部执行它的perf实用程序)。 Windows中是否有类似的内置功能?如果没有内置功能,则第二好的方法可能是使用第三方代码,但不需要我签名驱动程序。

19得票2回答
操作系统是如何检测硬件的?

操作系统是否从BIOS获取此信息,还是自行扫描总线以检测系统上安装的硬件。在网上搜索后,不同的来源说了不同的事情。有些人说BIOS检测硬件,然后将其存储在内存中,操作系统随后读取,而其他人则说操作系统扫描总线(例如PCI)以学习硬件信息。 我认为现代操作系统会忽略BIOS并自行执行这个过程。...

13得票2回答
为什么 Ryzen 上的 p-state 状态 MSR 没有改变?

我试图检测我的CPU当前的p-state状态。我发现对于我的Ryzen 1700x系统,即使核心明显不处于该状态,p-state状态MSR(C001_0063)始终返回2。我认为它可能在初始BIOS(v0403)中起作用,但现在无法下载1。 我的CPU已经超频2到3.8GHz。我使用cpuf...

18得票4回答
程序超过了理论内存传输速率

我有一台配备Intel Core 2 Duo 2.4GHz CPU和2x4Gb DDR3模块1066MHz的笔记本电脑。 我希望这个内存可以以1067 MiB/sec的速度运行,并且只要存在两个通道,最大速度就是2134 MiB/sec(在操作系统内存调度器允许的情况下)。 我制作了一个小...

27得票10回答
二进制,浮点数和现代计算机

我一直在阅读与浮点数和计算机处理浮点数操作有关的内容。阅读这些内容时,我最常见的问题是为什么它们如此不准确?我知道这是因为二进制无法准确地表示所有实数,因此这些数字会被舍入到“最佳”近似值。 我的问题是,既然我们知道这一点,为什么还要将二进制作为计算机操作的基础?使用一个比2更大的基数是否会...

7得票3回答
硬件监视点 - 它们是如何工作的?

GDB监视点是如何工作的?是否可以实现类似的功能以在指定位置利用字节级访问?