内存越多,问题越多 (2025)
Mo RAM, Mo Problems (2025)

原始链接: https://fabiensanglard.net/curse/

一位复古电脑爱好者在组装一台1997年的Quake电脑时,发现了一个令人惊讶的性能问题。尽管他以低廉的价格(60美元)购入了大量的SDRAM(384MiB),但初步测试却显示性能下降了25%——从44 fps降至33 fps。 大量的故障排除,包括更换组件和重新安装操作系统,都未能解决问题。这个问题只有在安装*两个或更多*内存模块时才会出现。根本原因不是内存故障,而是430FX芯片组和主板(XA100)的限制。 该芯片组只能有效地缓存最多64MB的内存。虽然主板宣传了512MB的缓存,但实际上上限约为128MB。超过这个限制会导致系统无法使用L2缓存,从而严重影响性能。讽刺的是,*移除*内存反而提高了帧率,这表明在复古计算的世界里,更多并不总是更好。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 更多内存,更多问题 (2025) (fabiensanglard.net) 11 分,由 blfr 1小时前发布 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 考虑申请YC 2026年夏季项目!申请截止至5月4日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文
Mo RAM, mo problems

Feb 16, 2025

Mo RAM, mo problems


As a retro-computer enthusiast, it seems that parts are either insanely expensive or dirt cheap. If the first case has obvious problems, the second can also lead to issues.

When I built the Quake PC, the motherboard and HDD were worth their weight in gold. But the price of RAM modules was ridiculously low. So I maxed out by buying $40,000 worth of 1997 SDRAM, namely 384 MiB, for the price of $60.

From 44 fps to 33 fps


After I got the machine working, I ran benchmarks for weeks. I was constantly swapping video-cards, changing RAM types (SDRAM, EDO), adding RAM, removing RAM, and testing different CPUs. The CPU in my collection that ran Quake the best was the Pentium MM 233MHz clocking demo1 at 44.6 fps. That figure was consistent with benchmarks of the era.

I wrote an article about winquake then took a break from 1997. A month later I had the idea to measure Michael Abrash assembly optimizations. I ran the same benchmark again. But this time I measured 33 fps. That was nearly 25% slower. What happened?

Troubleshooting


I tried pretty much everything I could think of. I swapped the graphic card, removed all the 3D accelerators, updated the drivers, downgraded the drivers, wiped the whole system, re-installed everything, double checked that I was still using the MMX 233Mhz, and verified the frequency multiplier. Still 33 fps.

Did a RAM module go bad? I tried to remove one of them. 33 fps. Remove a second one (leaving only one). Now the game ran at 44 fps. Two modules going bad? Hm, that seems weird. I tried to swap modules, leaving only one in the machine. All of them ran the game a 44 fps. Only when two of more are in the machine, the framerate drops back to 33 fps.

Epiphany


I vaguely remembered something about having too much RAM from the excellent Upgrading and Repairing PCs 10th edition.

That last issue is one that many people are not aware of. The 430FX chipset can only cache up to 64M of main memory. This means that if you install more than 64M of RAM in your system, performance will suffer greatly. Now, many think this won’t be that much of a problem—after all, they don't normally run enough software to load past the first 64M anyway. That is another misunderstanding, because Windows 95 and NT load from the top down.

This means, for example, that if you install 96M of RAM (one 64M and one 32M bank), then virtually all of your software, including the main operating system, will be loading into the non-cached region above 64M. Only if you use more than 32M would you begin to see an improvement in performance. tem.

- Upgrading and Repairing PCs 10th edition

My motherboard, an XA100, is from 1998 and advertised[1] as supporting caching of 512MiB, but there is clearly something amiss there. It seems it actually can only cache in the neighborhood of 128 MiB. Which means any amount over that, made everything run without a L2 cache!

And that is the story of how I made that PC faster, by removing RAM.

References



*
联系我们 contact @ memedata.com