can you run any software on a computer with 0 bytes of RAM, I.e. only using the CPU cache?

like maybe with some kinda dummy RAM that was actually ROM to bootstrap it

@jk absolutely, you can run a computer from slow as molasses hard drive only, it's just that current computers expect to have RAM for obvious reason, but there's nothing saying they can't run without it besides the firmware on the BIOS EEPROM
@Efi @jk yeah the emulation im doing the ram is both storage and run time memory which could be replaced by flash-non-volatile memory
@jk can you get a system to boot with 0 RAM? Most throw a torrent of beeps when powered on without RAM..
@jk technically yes I'm sure, but given that you'd have to use the HDD to fulfill that same function anything you'd run that could function without it would be slow as hell

@jk that isn't all that different from how micro controllers work. You can just have the state held in the current and next instruction registers instead of using ram.

You could in principle make any software run that way, but it may lead to needing a near infinite amount of programming

@inmysocks yeah i was kinda talking specifically about "modern x86 motherboards", obviously you can build any kind of computer you want out of other stuff!

@jk in that case I think the answer is no. If I remember correctly most multi-purpose cpus have a strict
"persistent memory->ram->cpu cache->evaluate instruction" process.

That is me trying to remember something that was over a decade ago and that I didn't pay attention to. But I am pretty certain that all the instructions are based on loading code into ram or executing code that has first been loaded into ram.

@jk The answer is actually "yes", because that's how x86 CPUs actually boot up!

The CPU boots in a mode where the BIOS ROM is mapped into memory space, and the BIOS code configures the CPU to allow (temporarily) using the cache memory as RAM.

Pretty much the only thing the BIOS code does while running in this mode is initialize the memory controller so you can get real RAM, though.

@jk you can't initialize much hardware fully until you have RAM (especially not video cards), so code running in this mode is a bit limited in IO capabilities. The PC speaker is accessible though, so the BIOS writers helpfully make it beep at you if it failed to initialize the RAM.