mersenneforum.org  

Go Back   mersenneforum.org > Fun Stuff > Lounge

Reply
 
Thread Tools
Old 2012-11-20, 07:24   #12
xilman
Bamboozled!
 
xilman's Avatar
 
"๐’‰บ๐’ŒŒ๐’‡ท๐’†ท๐’€ญ"
May 2003
Down not across

22×3×983 Posts
Default

I'm with LaurV on this one --- it depends on how you define RAM. If a machine is Turing-complete it can emulate any other Turing-complete machine, including one which contains RAM. So the question boils down to the definition of RAM.

Personally I'd describe the single tape of a classical Turing machine as RAM. I would also regard disks, tapes, mercury delay-lines, magnetic cores, etc as RAM in that they are all forms of read-write storage which may be accessed in (apparently) random order.
xilman is offline   Reply With Quote
Old 2012-11-20, 07:59   #13
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

160658 Posts
Default

Quote:
Originally Posted by axn View Post
Cache is, by definition, not visible to software.
Ah. Thanks for the edification.
Dubslow is offline   Reply With Quote
Old 2012-11-20, 08:09   #14
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
"name field"
Jun 2011
Thailand

41·251 Posts
Default

Quote:
Originally Posted by cheesehead View Post
No need to store anything?

From where, exactly, are you pulling the "1" and "2" values
Two rows of dip-switches?
And a couple of boolean gates to process, plus a row of LEDs to display the result in binary?

You all are spoiled by keyboards, touchscreens and UWUZWUXVGA displays....
(eventually 3D?)

edit: these "computers" had no ram...
edit2: the systolic arrays also have no ram, in fact they do not "store" any data, the "data" is always jumping from one place to the other, with each clock... and you can't say that such tools can't compute too much....

Last fiddled with by LaurV on 2012-11-20 at 08:38
LaurV is offline   Reply With Quote
Old 2012-11-20, 09:25   #15
axn
 
axn's Avatar
 
Jun 2003

10101010110002 Posts
Default

Since the OP is asking for solutions based on "general purpose CPU", some of these discussions seem moot.

Anyway, rather than get into the minutiae of computer architecture, I'll leave you with this. (The article is full of linky goodness)
axn is offline   Reply With Quote
Old 2012-11-20, 14:02   #16
xilman
Bamboozled!
 
xilman's Avatar
 
"๐’‰บ๐’ŒŒ๐’‡ท๐’†ท๐’€ญ"
May 2003
Down not across

22·3·983 Posts
Default

Quote:
Originally Posted by axn View Post
Since the OP is asking for solutions based on "general purpose CPU", some of these discussions seem moot.

Anyway, rather than get into the minutiae of computer architecture, I'll leave you with this. (The article is full of linky goodness)
I would argue that a UTM is by far the best definition of a general purpose CPU available.
xilman is offline   Reply With Quote
Old 2012-11-25, 02:44   #17
only_human
 
only_human's Avatar
 
"Gang aft agley"
Sep 2002

2·1,877 Posts
Default

When I worked at Northrop, we had 8085 computers designed for airborne use that had a ROM monitor that worked perfectly without any RAM. The ROM monitor had the normal debug functions. Later we tried doing the same with an 8086 and it was mostly successful but I couldn't get the goto address instruction to work. Oh it could successfully get the hex address from user input but I had trouble changing the full address without using stack. Changing the CS register directly didn't seem reliable even with a known IP offset. I was considering various hacks but I then transferred to a department that was in imagery transmission instead. I think the goal of having the monitor function without any RAM installed was dropped.
only_human is offline   Reply With Quote
Old 2012-11-25, 11:22   #18
jnml
 
Feb 2012
Prague, Czech Republ

3128 Posts
Default

Quote:
Originally Posted by jasong View Post
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.
A general purpose CPU executing programs w/o RAM is feasible.

What is RAM used for in an universal machine, like the ones etched in silicone CPUs? For storing state. State, implemented in RAM or whatever, but not the specific implementation is the important thing. W/o state there's no general computing possible. And RAM is just one of the options for having state.

As a proof, there's for example the Parallax Propeller chip. It has RAM, but that RAM is not required for running programs in the Propeller. Propeller's RAM is kinda external, like a very small flash disk, in a way.

The Propeller CPU (there are 8 actually on the chip) has 512 registers and no (directly accessible) RAM (above the hub memory discussed above). The program running in this "cog" (that's how Parallax calls it) is completely stored in the CPU registers. So is any other _state_ - as long as hub memory is not used (that's really just an option), mainly for too big problems to fit in the 2 kilobytes == 512 32bit cog registers.

BTW: The Propeller has experimental (in beta now) GCC support. It runs via a small kernel stored in the RAM-less cog, which interprets opcodes stored in the hub memory.
jnml is offline   Reply With Quote
Old 2012-11-25, 11:26   #19
xilman
Bamboozled!
 
xilman's Avatar
 
"๐’‰บ๐’ŒŒ๐’‡ท๐’†ท๐’€ญ"
May 2003
Down not across

22×3×983 Posts
Default

Quote:
Originally Posted by jnml View Post
A general purpose CPU executing programs w/o RAM is feasible.

What is RAM used for in an universal machine, like the ones etched in silicone CPUs? For storing state. State, implemented in RAM or whatever, but not the specific implementation is the important thing. W/o state there's no general computing possible. And RAM is just one of the options for having state.

As a proof, there's for example the Parallax Propeller chip. It has RAM, but that RAM is not required for running programs in the Propeller. Propeller's RAM is kinda external, like a very small flash disk, in a way.

The Propeller CPU (there are 8 actually on the chip) has 512 registers and no (directly accessible) RAM (above the hub memory discussed above). The program running in this "cog" (that's how Parallax calls it) is completely stored in the CPU registers. So is any other _state_ - as long as hub memory is not used (that's really just an option), mainly for too big problems to fit in the 2 kilobytes == 512 32bit cog registers.

BTW: The Propeller has experimental (in beta now) GCC support. It runs via a small kernel stored in the RAM-less cog, which interprets opcodes stored in the hub memory.
One could reasonably claim that a set of addressable registers is RAM.
xilman is offline   Reply With Quote
Old 2012-11-25, 11:47   #20
jnml
 
Feb 2012
Prague, Czech Republ

2·101 Posts
Default

Quote:
Originally Posted by xilman View Post
One could reasonably claim that a set of addressable registers is RAM.
Of course it is. Either the Propeller can be viewed as RAM-less or register-less. That's the point - asking if a general CPU can live w/o RAM is not a good question b/c that's an implementation detail.
jnml is offline   Reply With Quote
Old 2012-11-26, 00:22   #21
jasong
 
jasong's Avatar
 
"Jason Goatcher"
Mar 2005

350710 Posts
Default

This forum is so awesome. Most people who I know in meatspace who might be able to answer this question would probably ask a version of,"Who frickin cares?"
jasong is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Old Computer Primeinator Information & Answers 21 2011-12-12 22:05
New computer ???s c10ck3r Hardware 12 2011-04-30 23:53
Not my computer RichardB Information & Answers 2 2010-09-04 03:21
New Computer Housemouse Hardware 16 2008-06-09 21:04
help ~ what's my computer doing! merlinh Software 2 2004-05-09 21:50

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


Fri Jul 7 04:08:57 UTC 2023 up 323 days, 1:37, 0 users, load averages: 1.48, 1.52, 1.35

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

โ‰  ยฑ โˆ“ รท ร— ยท โˆ’ โˆš โ€ฐ โŠ— โŠ• โŠ– โŠ˜ โŠ™ โ‰ค โ‰ฅ โ‰ฆ โ‰ง โ‰จ โ‰ฉ โ‰บ โ‰ป โ‰ผ โ‰ฝ โŠ โА โŠ‘ โŠ’ ยฒ ยณ ยฐ
โˆ  โˆŸ ยฐ โ‰… ~ โ€– โŸ‚ โซ›
โ‰ก โ‰œ โ‰ˆ โˆ โˆž โ‰ช โ‰ซ โŒŠโŒ‹ โŒˆโŒ‰ โˆ˜ โˆ โˆ โˆ‘ โˆง โˆจ โˆฉ โˆช โจ€ โŠ• โŠ— ๐–• ๐–– ๐–— โŠฒ โŠณ
โˆ… โˆ– โˆ โ†ฆ โ†ฃ โˆฉ โˆช โІ โŠ‚ โŠ„ โŠŠ โЇ โŠƒ โŠ… โŠ‹ โŠ– โˆˆ โˆ‰ โˆ‹ โˆŒ โ„• โ„ค โ„š โ„ โ„‚ โ„ต โ„ถ โ„ท โ„ธ ๐“Ÿ
ยฌ โˆจ โˆง โŠ• โ†’ โ† โ‡’ โ‡ โ‡” โˆ€ โˆƒ โˆ„ โˆด โˆต โŠค โŠฅ โŠข โŠจ โซค โŠฃ โ€ฆ โ‹ฏ โ‹ฎ โ‹ฐ โ‹ฑ
โˆซ โˆฌ โˆญ โˆฎ โˆฏ โˆฐ โˆ‡ โˆ† ฮด โˆ‚ โ„ฑ โ„’ โ„“
๐›ข๐›ผ ๐›ฃ๐›ฝ ๐›ค๐›พ ๐›ฅ๐›ฟ ๐›ฆ๐œ€๐œ– ๐›ง๐œ ๐›จ๐œ‚ ๐›ฉ๐œƒ๐œ— ๐›ช๐œ„ ๐›ซ๐œ… ๐›ฌ๐œ† ๐›ญ๐œ‡ ๐›ฎ๐œˆ ๐›ฏ๐œ‰ ๐›ฐ๐œŠ ๐›ฑ๐œ‹ ๐›ฒ๐œŒ ๐›ด๐œŽ๐œ ๐›ต๐œ ๐›ถ๐œ ๐›ท๐œ™๐œ‘ ๐›ธ๐œ’ ๐›น๐œ“ ๐›บ๐œ”