mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Lounge (https://www.mersenneforum.org/forumdisplay.php?f=7)
-   -   Can a RAM-less computer run? (https://www.mersenneforum.org/showthread.php?t=17465)

jasong 2012-11-20 02:13

Can a RAM-less computer run?
 
Mind you, when I ask this question, I'm not talking about a general purpose computer. But I am talking about a general purpose cpu.

Basically I'm wondering if it's possible to boot a cpu and, without having any RAM, and without thrashing the hard drive or flash drive, have it do useful work. In my head I have a mental vision of a cd that boots into truly bare-bone Linux and runs distributed.net stuff, but you can come up with your own idea if you want.

axn 2012-11-20 03:11

No.

jasong 2012-11-20 03:34

[QUOTE=axn;319008]No.[/QUOTE]
Care to explain why not?

cheesehead 2012-11-20 04:33

When your RAM-less computer adds 1 and 2 to get 3, from where is it going to get the 1 and the 2 if there's no RAM?

LaurV 2012-11-20 04:35

Depends how you define RAM. Turing machines (for example) have no RAM (in the classical definition, as memory with a random access). There are also a couple of Markov algorithms which can do a lot of useful things without storing any temporary variables/values.

edit: @cheesehead, crosspost: that is a bad example, you need no ram for it, those are inputs and outputs only, no need to store anything.

cheesehead 2012-11-20 04:38

[QUOTE=LaurV;319014]Depends how you define RAM. Turing machines (for example) have no RAM (in the classical definition, as memory with a random access).[/QUOTE]So, the RAM-less computer is going to have that little tape on which the Turing CPU writes and reads marks (which isn't RAM because its access is sequential-only)?

[quote]There are also a couple of Markov algorithms which can do a lot of useful things without storing any temporary variables/values.[/quote]Not really "general-purpose", though.

axn 2012-11-20 05:29

[QUOTE=jasong;319012]Care to explain why not?[/QUOTE]

[QUOTE=LaurV;319014]edit: @cheesehead, crosspost: that is a bad example, you need no ram for it, those are inputs and outputs only, no need to store anything.[/QUOTE]

The CPU reads an instruction from RAM**, decodes it and executes it. For the execution, it needs to read input(s) and write output(s). For many instructions, the input and output can be from registers -- no RAM yet. But eventually, some of it must come from/go to RAM for it to be useful.

When loading and executing a program from CD, it has to be first loaded into RAM -- the CPU does not know how to execute things from peripherals.

Without RAM, today's general purpose CPU cannot work. Period. End of.

**Initial boot code actually comes from ROM.

Dubslow 2012-11-20 05:34

[QUOTE=axn;319021]The CPU reads an instruction from RAM**, decodes it and executes it. For the execution, it needs to read input(s) and write output(s). For many instructions, the input and output can be from registers -- no RAM yet. But eventually, some of it must come from/go to RAM for it to be useful.

When loading and executing a program from CD, it has to be first loaded into RAM -- the CPU does not know how to execute things from peripherals.

Without RAM, today's general purpose CPU cannot work. Period. End of.

**Initial boot code actually comes from ROM.[/QUOTE]

What about the cache though? In my desktop, there's 8MB of L3 cache.

(I'm guessing that even if you had an OS that could run cache-only, something in the hardware of the motherboard and/or CPU requires RAM...)

PS @jason even if the software and hardware allowed it, you couldn't really do anything useful; even a current LL test would take up the entire 8 MB that I mention above.

axn 2012-11-20 05:43

[QUOTE=Dubslow;319023]What about the cache though? In my desktop, there's 8MB of L3 cache.
[/QUOTE]
Cache is, by definition, not visible to software. i.e., no way for software to specify to read/write data to cache (instead of RAM). Any data in cache must eventually come from/go to RAM.

cheesehead 2012-11-20 05:54

[QUOTE=LaurV;319014]
edit: @cheesehead, crosspost: that is a bad example, you need no ram for it, those are inputs and outputs only, no need to store anything.[/QUOTE]No need to store anything?

From where, exactly, are you pulling the "1" and "2" values (you do realize that those are just stand-ins for actual data values, don't you -- that this isn't intended to be literally 1+2=3 with no variation in data values?) and to where, exactly, are you putting the "3" result so that it can be useful?

Would it be clearer if I'd used "addend[sub]1[/sub]", "addend[sub]2[/sub]" and "sum"?

aketilander 2012-11-20 07:14

Depends how you pose the question. If the question is: "Is there a simple way to ...?" The answer is no. If the question is more like a theoretical question, "Would it be possible ...?" I am not sure, but it would involve to write a new BIOS and a new OS, then you might use the GPU and the memory on the Graphic card or maybe remotely on another computer so why would you like to do something as complicated as that when RAM is so cheap, but I don't really think that would work either since if I remember it rightly there is a part of the BIOS which is imprinted in the hardware, at least in the old days it used to be only hardware. Nowadays I think the BIOS is EEPROM but I think there are limitations of what you can do.


All times are UTC. The time now is 04:08.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.