From: caryd@a.cs.okstate.edu (CARY DAVID ALLEN)
Subject:  Self-modifying hardware
Organization: Oklahoma State University, Computer Science, Stillwater
Lines: 70

Permit me to quote fragments of 
praetzel@sunee.uwaterloo.ca's article
out of context.

-Newsgroups: sci.electronics,comp.lsi.cad
-From: praetzel@sunee.uwaterloo.ca (Eric Praetzel)
-Date: 10 Feb 93 15:46:41 GMT

-  Currently the XNF format is propierty and I know of at least on person at
-a university who was able to get it after signing a non-disclosure agreement.
-The Xilinx-bit map format is pretty well top secret.  I would love to know it
-because then you could make self_modifying_hardware  ;-)  As it is I had to
-reverse eng. the Xilinx tools to dump the bit map to the FPGA because it only
-runs on the computer with the hardware key.

self-modifying hardware could be *very* interesting --
 computers that could write thier own programs (assemblers, compilers)
were an immense breakthrough from calculators that couldn't.

-  I eagerly await a programmable gate array which uses a PD format and does
-not cost your first born to program.  Till then we will keep on reverse
-engineering whatever we can.  As it is one company that I worked at has gone
-under.  FPGAs are what they needed to make their product competitive.  They
-could not afford them.  In the end you could say that they could not afford
-to not use them but the management discovered that too late. 
-   - Eric 

my condolences.

i can't even imagine what i could do with self-modifing hardware.
i *can* imagine self-modifying software,
and even though *all* my teachers say that's BAD, even Worse than GOTO,
check out what the experts *used* to say about self-modifying code:
(he uses "orders" rather than "opcodes")


"On the Principles of Large Scale Computing Machines"
by Goldstine and von Neumann,
collected in 
_John von Neumann: Collected Works, Vol. V_
reprinted here with absolutely no permission from anyone.
"We plan... to have a full size (40 binary digit) word hold
either contain
1 full size number (... equivalent to 12 decimal digits,
but we will use the first binary digit to denote the sign)
or two (20 binary digit) orders.
....
	It should be added that this technique of
automatic substitutions into orders,
i.e. the machine's ability to modify its own orders
(under the control of other ones among its orders)
is absolutely necessary for a flexible code. Thus, if
part of the memory is used as a "function table", then
"looking up" a value of that function for a value of the 
variable which is obtained in the course of the computation
requires that the machine itself should modify, or
rather make up, the reference to the memory in the order which
controls this "looking up", and the machine can only make this
modification after it has already calculated the value of the 
variable in question.
	On the other hand, this ability of the machine to modify its
own orders is one of the things which makes coding
the non-trivial operation which we have to view it as."

david cary, tenor, e- and comp. engineering (finger caryd@a.cs.okstate.edu).
227 S. 163 E. Ave, Tulsa, OK  74108-3310, USA, Sol 3, Universe v. 1.2

-- 
david cary, tenor, e- and comp. engineering (finger caryd@a.cs.okstate.edu).
227 S. 163 E. Ave, Tulsa, OK  74108-3310, USA, Sol 3, Universe v. 1.2
