[net.arch] 3705

mo@seismo.UUCP (Mike O'Dell) (05/23/84)

The 3705 is most assuredly NOT at model 50 in disguise.  It IS, however,
a modestly reengineered System/7, a process control machine IBM did as
an ill-fated sucessor to the 1800.  In fact, the current Series/1 machine
is out of the same architectural linage.  The System/7 and its progeny all
have a hardware-supported multi-level interrupt structure, which while
novel, is not very useful except for VERY tense real-time code.
Each level has a full set of registers, so
context switching between them is EXTREMELY fast.  Such switches can be
provoked either by a "schedule level" instruction, much like the PIR facility
on 11/45's and 11/70's, or by hardware.  It seems that each device has
an interrupt priority which is tied to this hardware priority.  The
3705 augmented this basic 16-bit register-file minicomputer structure
with some hardware bit scanners (shades of PDP-8 and DEC-10!!) and weird
microcode to interface with it, as well as a multi-channel DMA engine
with an IBM channel interface on the side.  The 3705's sole purpose in life,
for many, many years, was to replace the 270[123] line of controllers.  The
270X was, essentially, several UARTS with channel DMA engines.  The "emulator
program", or EP, which ran in the 3705 emulated the oddities of these
uart boxes.  In later days, a Network Control Program (no relation to the
ARPAnet program which predated the 3705 by many years) to control SNA
networks has come to live in the 3705. The 3705 has been upgraded lately
to the 3725, essentially more of the same structure implemented in faster
logic with a bigger memory and more modern line interface hardware
(real USARTS!!).

The Series/1 builds from the basic structure of the System/7 with an
improved instruction set (much more like the PDP-11, but still very
asymmetric in critical, damaging places), a memory mapper which supports
split-I&D for both User and System modes at each hardware level.
So in many ways, the machine is quite orthogonal and well-suited to
wired-down-priority connect-this-process-to-that-interrupt real-time
code.  For Unix, essentially the lowest level is used to run user
processes and the rest of the levels only run kernel code. 

The fellow from Cleveland State University who did the first Unix port to
the Series/1 delighted the San Fransisco Usenix meeting by introducing
a simple taxonomy for describing machine byte order. He explained that the
first time he booted his kernel on the Series/1, which had been compiled
on a PDP-11, it said

	NUXI iTemhsrani gyStsme...

instead of UNIX Timesharing System...
The speaker cristened this "The NUXI Problem".

So, we have 

	unix	byte order - PDP-11
	nuxi	bytes in shorts swapped, long halves like PDP-11 - Series/1
	ixun	bytes in shorts like PDP-11, long halves swapped - VAX(?)
	xinu	byte order swapped, long halves swapped - 68K(?)


	Cheers,
	-Mike O'Dell