Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!rutgers!bellcore-2!bellcore!messy!mo From: mo@messy.bellcore.com (Michael O'Dell) Newsgroups: comp.arch Subject: Re: Multiprogramming the Microcode: The B1700 Message-ID: <27843@bellcore.bellcore.com> Date: 13 Oct 90 13:47:03 GMT References: <1990Oct4.001346.4139@Stardent.COM> <8052@scolex.sco.COM> <2926@sequent.cs.qmw.ac.uk> <1990Oct11.164904.12550@zoo.toronto.edu> Sender: news@bellcore.bellcore.com Reply-To: mo@messy.UUCP (Michael O'Dell) Organization: Center for Chaotic Repeatabilty Lines: 25 I think the Burroughs B1700 was multiprogramming at the microcode level before the Alto. For those not familiar with it, the B1700 was, in some sense, the ultimate CISC. Main memory was BIT addressed (actually the HOLES between the bits were address because the field at address "85-up" was disjoint with the field at address "85-down"), and each language processor on the machine generated code for an idealized machine (complete with Huffman coding for incredibly dense code) and when you context switched between user programs, the instruction interpretation changed too (sort of like in Unix where the kernel stack segment switches on a context switch). There was a microkernel (in microcode) which implemented the basic part of processes, including the S-level (traditional machine code) interpreter. All the system utilities (OS, compilers, tools, etc) were coded in a language called SDL, rather reminiscent of XPL in some ways, but with interesting extensions. So, when people start talking about bit addressing and super-dense memory images using Huffman codes and such, just remember that it's all be done before.... Oh yes, the internal bus of the B1700 was 24-bits wide, but there were some wonderful things in the S-memory address registers to make iterating over chunks of larger operands much easier to program in the microcode (which was written in a language called MIL, if memory serves me right.) I think the people at SUNY Buffalo, circa 1974, lead the charge in using the machine in CS teaching and research. -Mike