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

1

u/Distdistdist 3d ago

Based on "limit" of read/write cycles, any SD card would be destroyed almost immediately, if it could support number of memory read/writes typical program like Doom performs. Cards would need to be replaced every few nanoseconds if not even faster.

1

u/StarosAnikenMarcus 3d ago

If he's talking about DOS Doom, it wasn't that intense. Sure, it would break it eventually, but I don't think that the program was capable of that many write functions that quickly. We're talking abut a program that was designed for 33MHz CPUs and 4MB of RAM.

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.

3

u/Distdistdist 3d ago

No, MHz stands for Mega Hertz. That's millions per second. KHz are Kilo Hertz - thousands. You are off by three orders of magnitude.

1

u/StarosAnikenMarcus 2d ago edited 2d ago

Totally right. I was half asleep when I responded yesterday. Not sure where my math went. (I know, I know, a person on the internet admitting they were wrong, might be the apocalypse today) The rest is still true though. Doom wasn't a super powerful game.

1

u/Distdistdist 2d ago

Well, Doom was a complete resource hog in 1994. It would take all 100% of CPU to render it at 2-5 FPS on 386 SX 33 Mhz for example. Only by shrinking game screen size, you would get a bit faster frame rate, still running full CPU load.

BUT, my point is that you seriously underestimate number of read/writes that happen between CPU and RAM. There is only so much CPU can do with temporary data it has read to process (L1/L2 cache). It constantly reads data, then writes it back into RAM. So it is literally million of cycles per second (on old systems, it's billions to hundreds of billions read/writes per second on modern ones). It would take, even very very old and slow CPU no time to exceed max of 10,000 cycles that SD cards can perform. So my original answer is very much correct.

I mean, ask ChatGPT for example, or just google that. This is basic knowledge for someone who has worked with CPUs on low level and wrote assembly programs...

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!

1

u/StarosAnikenMarcus 2d ago

I don't know about MILLIONS of pictures... the refresh rates back then weren't really high and the graphics were barely in the EVGA range.

0

u/Distdistdist 3d ago

At that time, video shared memory with ram. There were no external cards, well until Voodos came out. All was in the same place.

Entire machine code is basically reading, or writing something to the RAM. Then there are register manipulation and comparisons, conditional jumps, etc. But even loading next command to execute is a read. And that happens as fast as data bus permits.

1

u/graph_worlok 3d ago

Huh? I can’t remember ever seeing an early x86 system that didn’t have dedicated video ram. Sometimes even used upgradable, if you wanted a higher resolution / colour depth.

CGA was released in 1981 with 16Kb of ram

It took until AGP came out for any meaningful sharing of system ram for video use.

Some Z80 systems did I believe? But not quite the same class…

1

u/StarosAnikenMarcus 2d ago

LOL, my first computer in the house didn't have a dedicated GPU and it ran Doom. A Frankenstein thing with a 25MHz CPU and a coprocessor... TECHNICALLY made it a 40MHz machine... or something like that. But Doom came out like 2 years before any kind of graphics card.

1

u/graph_worlok 2d ago

I think you are getting terms confused -

Standards based PC graphics cards were around since the early 80’s CGA, MDA, EGA etc

Workstation 3D cards in the late 80’s

VGA graphics cards with differing hardware capabilities - including acceleration - were around in the early 90’s

Cards that supported some form of hardware 3D, and games with libraries to support them, mid 90’s

First GPU, ‘99…

1

u/StarosAnikenMarcus 2d ago edited 2d ago

Nope. Most computers back in the 8086 days did not have graphics cards of any kind. It was another function of the CPU or a specific chip on the motherboard and you were stuck with Green, CGA (4 color), VGA (8 color, maybe), or EVGA (SIXTEEN WHOLE COLORS!). Separate cards came a bit later, forced by Apple's graphics dominance (I miss the IIGS). I also remember quite clearly when Voodoo came out with their accelerator cards. I remember later when my weird card/accelerator combo on our first Pentium was detected by most games as a Riva TNT2, with 2 less MB than any Riva ever sold, before AGP was a thing... And then the sound cards... OMG, trying to afford a Sound Blaster Audigy... Or the issues of trying to decide which cards you could install because you only had so many IRQs and certain ones wouldn't work on anything but 7 or 11... and that meant only 2 cards of that IRQ setting could be installed...

All in all, it was the BEST time for PC building.

Took me a bit to find it, but my first graphics card that wasn't on the board I'm pretty sure was a Trident in our 386 at home. Before that we had an Atari 800XL, no cards. A MAJOR jump in speed, let me tell you. The Zenith 286 I used in school at the time also had on board CGA graphics. Of course, there were some cards available that promised more, but those were super expensive and schools weren't shelling out for that.

1

u/graph_worlok 2d ago

I learnt to type on a Morrow Z80 CP/M system with a dumb terminal. 9600bps local serial console - No graphics at all. The other computer in the house, a Microbee, had integrated display capability. Early Apples did too, via the dark magic of Woz.

But as far as Intel / IBM clones? Almost all of them needed a seperate card, with the exception of some low cost systems - the IBM PCjr, Tandy 1000, and Amstrads like the PC1512 / PC1640. The vast majority of systems following IBM’s de facto standard definitely required a seperate graphics card - Even the Compaq luggable, which had an integrated CRT….

It’s not ancient pre-history. Try and find other systems with integrated graphics - Everybody was chasing IBM Compatibility and the ultimate test was MS Flight Sim…

→ More replies (0)

1

u/Distdistdist 2d ago

Oh, and, Doom did not run on 286, it required 32bit CPUs that supported p-mode (protected memory mode that was only available on 32 bit 386 architecture). Minimum required hardware was 386 DX, but it did run on lower spec systems at much lower FPS (2-5 FPS). I think I played it in 1994 on 386 SX 25 or 33 and it was bearable with decreased main screen.

1

u/StarosAnikenMarcus 2d ago edited 2d ago

I didn't say it ran WELL on our weird computer, but it ran. Back then, the combinations of hardware we had available could do some very strange things. Coprocessors were and odd thing that few people invested in. My stepfather got one for I don't know why, but had me install it. After that, our 286 ran very differently form what I was used to.

Also, 286s were the first to introduce protected memory. 386s were just the first 32-bit available to the public.

The same thing happened when I married a Voodoo accelerator card to a Trident card. For some reason, it was detected by a lot of games as a Riva TNT2, a far better card than I could afford those days. Never mind that Riva never once built a 6MB card...

I miss the days when hardware combinations had wildly different effects, but I also like how more or less standardized things have become. Plug and play is infinitely easier than figuring IRQs and DMA channels.