1

I believe that all the OISCs below, require that programs are executed from RAM, in order to be Turing Complete.

https://en.wikipedia.org/wiki/One_instruction_set_computer

Is this the case?

What is the simplest Turing Complete CPU instruction set which can execute code from ROM? i.e. that does not need to modify future instructions in order to make conditional jumps, etc.

Jonas
  • 121,568
  • 97
  • 310
  • 388
fadedbee
  • 42,671
  • 44
  • 178
  • 308
  • Depends on your metric for "simplest", and how complex you allow one instruction to be. For an extreme example, there's nothing stopping you from declaring that your machine has the one instruction "EXEC", which takes an integer representing an x86 machine language instruction and executes it. – user2357112 Jun 15 '15 at 12:47
  • That's a perfectly correct observation. – fadedbee Jun 15 '15 at 12:52

1 Answers1

2

I don't believe that all of the OISC's require RAM programs to work. Consider the "subtract and branch if less than zero" (subleq) instruction. You can use it to synthesize much more complex operations without having to rely on self-modifying code. Accordingly, you should be able to write ROM programs using only subleq and still retain Turing-completeness.

Hope this helps!

templatetypedef
  • 362,284
  • 104
  • 897
  • 1,065