| In the Stevens Institute chemistry department there was an LSI-11 that
controlled a Picker X-ray diffractometer. It controlled the shutter
for an incredibly powerful X-ray source, and the shutter could only
be closed by computer control. If the machine crashed, you had to re-boot
to close it. That system had another one of those instructions:
HIO Halt and Irradiate Operator
/AHM
|
| Let us not forget the original proposal for the Vax 810 (from about
6 or 7 years ago). This had two interesting architectural extensions:
R* Choose an appropriate register
DWIM Do what I mean.
The first implementation of this machine would use the dialup diagnostic
port to contact Colorado Springs, upload the program and dynamically
patch the running image. Subsequent implementations would use embedded
expert systems software to fix the image without human intervention.
Unfortunately, the designers couldn't figure out an approach to
the simplest possible program:
main: DWIM R*
.END main
(Original idea by Jerry Leichter.)
Martin.
|
| Thanks for reminding me, Martin. Here's the original:
From: LEICHTERJ 24-AUG-1982 01:49
To: LEICHTERJ ! SENT TO ALIEN::PARMENTER
Subj: NEW INSTRUCTIONS FOR THE 11/810 -- FOR DESPERADO
There have been many rumors floating about concerning the next VAX, which
will allegedly be numbered the 11/810. Many of these rumors are totally
without basis in fact. A careful investigation by your correspondent,
aided by Martin Minow and Anton Chernoff, has revealed that the 11/810 is
indeed to be a true fifth-generation machine. Its architecture is a
significant advance over previous VAXen, incorporating ideas from artificial
intelligence to considerably simplify the programmer's task.
The chief advance appears in a new instruction, DWIM, or "Do What I Mean".
DWIM, like most VAX instructions, comes in a variety of flavors, depending
on the distance across which you are addressing. In this case, the distance
you have to be concerned with is that between what you said - or, equivalently,
what the system originally did - and what you meant. Thus, if you are already
pretty close to what you mean, you can same space by using the byte form,
DWIMB. More severe misunderstandings can be corrected with the DWIMW or
DWIML forms. A DWIMQ form has also been defined, but its utility is probla-
matical.
If only approximate answers are needed, a full set of floating-point DWIM
instructions also exist. They sacrifice accuracy of correction for dynamic
range.
While the DWIM instructions deal with misunderstandings "in the large",
the 11/810 will also support new addressing modes for dealing with mis-
understandings "in the small". Thus, the construct {R1} as an address
indicates that the 11/810 is to to deferred, auto-increment, or auto-dec-
rement - whichever the programmer meant. Similarly, the construct R? where
a register name is expected causes the 11/810 to choose the particular
register you meant. (Note - AP, FP, and PC are NOT accessible by the mecha-
nism.)
It is my understanding that the DWIM instructions are fairly solid at this
point but that the addressing modes are still buggy. In particular, the
use of the construct DWIM {R?} has been known to cause the 11/810 to begin
searching all attached devices for copies of your program; it deletes every
one.
-- Jerry
|
| Back in the good old days at Carnegie Tech, I used to work in the Comp.
Center on the fourth floor of Scaife Hall, overlooking Panther Hollow. Some
folk there had a PDP-8 which was used to control delicate measurement
experiments. Trains used to go by in the ravine, vibrating the building to
an unacceptable level for the experiments, and these hackers actually added
a new instruction,
BTC - branch on train coming
which read from a microswitch about quarter mile down the tracks.
|