Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ritcv.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!rochester!ritcv!mjl From: mjl@ritcv.UUCP (Mike Lutz) Newsgroups: net.arch Subject: Re: Arbitrary byte alignment Message-ID: <1313@ritcv.UUCP> Date: Sun, 14-Oct-84 13:49:52 EDT Article-I.D.: ritcv.1313 Posted: Sun Oct 14 13:49:52 1984 Date-Received: Tue, 16-Oct-84 03:37:42 EDT References:<1433@bmcg.UUCP> Organization: Rochester Institute of Technology, Rochester, NY Lines: 57 Ah, the B1700! I've waxed loquacious on this fascinating machine before, but what the hell! it's time for another lecture. Bill Price discussed its primary distinctive feature already, namely bit addressable memory. Just to fill in a bit ;-): a single micro instruction could read from 1 to 24 bits beginning at any bit address in main memory (and scanning in either direction). The number of bits could be a constant, or determined by the current ALU precision (1-24). Programmer controlled variable sized operands were supported by another B1700 innovation: if the microinstruction register (MIR) was the destination of a micro-instruction, then the value it was sent was logically or'ed with the next micro-instruction fetched; the resulting bit pattern was the actual microinstruction executed. Thus if one had a bit count in, say, register Y, and wanted to read that number of bits from main memory into register X, the code looked like the following: MOVE Y TO MIR READ 0 BITS TO X This technique was used throughout the micro architecture to support jump tables, status bit testing, and variable length shifts & rotates. The Burrough's designers put a lot of effort into creating a micro architecture for which efficient emulators and interpreters could be rapidly developed. In my case, I was a graduate student on a project investigating microprogramming and emulation, and the B1700 was a godsend to us, as it made it relatively easy to develop and investigate new architectural ideas. It's hard to explain what made the micro architecture so good, but my experience and that of me and my colleagues was that the pieces fit together well. There always seemed to be a natural, even elegant, solution to microprogramming problems which fit hand in glove with what the hardware provided. On top of this base, Burrough's constructed emulators for specialized FORTRAN, COBOL, and SDL (a systems programming language) machines. SDL was used for the operating system, compilers, and most of the utilities. As Bill Price mentioned, processes using different architectures could be multiprogrammed, with the appropriate emulator being invoked as part of a context switch. The O.S. was ahead of for its time, supporting multiprogramming, virtual memory, and multiple emulators on systems with as little as 48Kbytes of memory and using RK05-like discs. Enough nostalgia, though I do believe any serious computer architect could learn a lot from the B1700's design. Mike Lutz P.S. Wayne Wilner, one of the B1700 designers, used to be on the net. If he still is, maybe he could fill in more of the details that I forgot. -- Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl ARPA: ritcv!mjl@Rochester.ARPA