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