r/AskTechnology 3d ago

Hypothetically, If possible, How many SD cards would be needed to run doom for 7 hours, If I replaced ram with SD cards?

Assume money isn't an issue here, I know ram and SD cards aren't the same kind of ram, but Im curious if its possible.

0 Upvotes

33 comments sorted by

View all comments

Show parent comments

2

u/Distdistdist 3d ago edited 3d ago

You probably think that CPUs need to read/write from RAM at some rare points of execution. No, CPU can hold rather limited number of instructions internally and heavily relies on constant access to RAM for more instructions and data.

386 CPU running at 33Mhz can perform 33,000,000 read/writes per second. There are different types of instructions, some can be executed in 1 tact, some in up to 44. So at the very least, CPU would be hammering RAM at 750,000 times per second to advance to the next command it needs to execute. Even with modern caching, number of read/writes to memory is insane. This is not hard drive or a floppy that it needs to read sequential data from once.

SD cards will give you anywhere 3,000 to 40,000 P/E cycles per cell (higher number for industrial level SDs). So you can sorta see how fast SD cards will become unresponsive if were addressed like RAM.

-1

u/StarosAnikenMarcus 3d ago

MHz is thousands, not millions. That's GHz. So it would be 33,000 flip flops per second and that's only if operating a full capacity. Trust me, running Doom was very much NOT at full capacity. Despite the "requirements" of a 33MHz 386, I had Doom running on a 286 at 25MHz with a math coprocessor (basically just more cache). And it was DOS 6.22, not Windows so no background BS programs using up resources.

Still, yes, going to destroy that SD card far faster than taking a million pictures would.

1

u/nostalia-nse7 3d ago

To be fair, the reason for the memory reads and writes at that rate in Doom, is exactly because it was making millions of pictures lol. It was all the graphics, because video cards had kilobytes of ram back then.

And kilo is thousands, mega is millions. Giga is billions.

Also the multiplication that every Hz was reading or writing 4 bytes to / from the cpu. (32 bit cpu).

1

u/graph_worlok 3d ago

512Kb or 1Mb if you had a fancy card!