How many of you like HP41C calculators?
> > But is it STORED PROGRAM, eg. can it do self-modifying code. vonNeumann
>
> It's a bit odd. It's got separate machine code program and data memories,
> but user keystroke programs are stored in _data_ memory, and interpretted
> by the machine-code operating system. So at the machine level it's a
> Harvard architecture, but at the user level (taken the CPU + OS as a
> pseudoprocessor that runs use keystroke programs) it's a von Neumann
> machine. Hmmm...
>
> It's certainly possible to write self-modifying user programs (you're not
> supposed to be able to do this, but you can). If you have an MLDL box
> (essential for writting machine code programs, since you can't run
> machine code from data memory), then you can write self-modifying machine
> code programs too.
>
> > (one store for program and data; programs ARE data) or Harvard
> > (instructions are in a separate store from data memory) architecture?
> >
> > Strictly-speaking, Microchip's PICs are NOT COMPUTERS. Of course I don't
>
> Since when? AFAIK, Harvard architecture machines are computers.
> Self-modification of programs is not a requirement.
>
> -tony
There are several architectures for computers, with all being the equal
of the Turing machine. Frankly, the Turing machine is the definition of
a computer, so any similarity with physical hardware implementations
is either, purely coincidental, or (and this is the more likely option), it
too is a computer.
The writing of self-modifying code (a specialty for me) does require that
the data path have access to the code store, and not all processors
support such access. So, it is not possible to construct run-time
self-modifying code for all processors. Nevertheless, for all systems
of computation, there is the possibility of self-modification of code
which is accessible through other means, typically in the form of a
file. Also, remember the features of some languages, like APL, which
will operate on von Neumann and Harvard architectures, and which
APL code might include the execute operator, which facilitates run-time
code generation and execution.
Data processing in inherently a task of translation.
William R. Buckley
Received on Wed Nov 19 2003 - 02:50:38 GMT
This archive was generated by hypermail 2.3.0
: Fri Oct 10 2014 - 23:36:20 BST