Talk:Burroughs B6x00-7x00 instruction set

message: While reading this I needed to go to the Burroughs large systems page to find out what an IRW was. Perhaps most of the detail of its Tagged architecture section could be copied here? The subjects seem very intertwined.  —Preceding unsigned comment added by 118.93.14.146 (talk) 00:42, 30 May 2009 (UTC)
replies: text: Yes.  I copied at least some of that stuff here.  The stuff in Burroughs large systems that's B5000/5500/5700-specific should probably be copied to B5000 instruction set, and the stuff that's B6500-and-successors-specific that hasn't already been copied here should probably be copied here.  The same applies to stuff in Burroughs large systems descriptors, which has a significant amount of B5000/5500/5700-specific stuff and some stub information about the B6500 and successors. Those two pages should probably just give a high-level overview of the characteristics common to both computer lines. Guy Harris (talk) 00:57, 20 February 2023 (UTC)
replies: text: I agree that the three lines (B5000, B6500 and B8500) should not be confused, however, it would be better to split Burroughs large systems descriptors rather than to just remove the details. It might be desirable to move the descriptor information to the instruction set articles, unless that would cause size issues. --Shmuel (Seymour J.) Metz Username:Chatul (talk) 03:28, 20 February 2023 (UTC)
replies: text: That's what I ws suggesting - "The same" in "The same applies to stuff in Burroughs large systems descriptors" refers to "The stuff in Burroughs large systems that's B5000/5500/5700-specific should probably be copied to B5000 instruction set, and the stuff that's B6500-and-successors-specific that hasn't already been copied here should probably be copied here.", which, mutatis mutandis, becomes "The stuff in Burroughs large systems descriptors that's B5000/5500/5700-specific should probably be copied to B5000 instruction set, and the stuff that's B6500-and-successors-specific that hasn't already been copied here should probably be copied here.". Guy Harris (talk) 03:53, 20 February 2023 (UTC)
thread_title: IRWs described in [[Burroughs large systems]] but not here

message: The article has no information on either the B5000 instruction set or the B8500 instruction set. The three lines are so different that it makes more sense to have separate articles. See the references in Burroughs_large_systems or in User:Chatul/References#Burroughs. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:16, 29 November 2010 (UTC)
replies: text: Yup, that's now been done by various editors, including you. Guy Harris (talk) 01:02, 20 February 2023 (UTC)
thread_title:  Propose move to Burroughs B6500 instruction set 

message: I get the impression from some of the Wikipedia pages, and from Jack Allweiss's story of the B5900, that Burroughs's model of computer families, at least for the mainframes, hadn't caught up to what IBM did with System/360.  I have the impression that the B5000, B5500, and B5700 were compatible, but that there wasn't a document similar to the Principles of Operation for S/360 making a formal committment to a compatible line of processors (it looks more like the 709/709x line in that regard), and that the same applied to the B6500 and successors until the B5900.  They also didn't have low-end Burroughs Large Systems machines until the 5900, nor did they use microcode in the Burroughs Large Systems until the 5900.
Allweiss says on this page:
:The concept was to build a fully microcoded machine that would emulate the B6000 and B7000 series mainframe architecture. There were slight differences between the B6700, the B6800 and the up coming B6900, not to mention the B7700 and B7800 mainframes. We needed to consolidate the instruction set so that future compatibility would be assured. John McClintock assigned Bill Ellis, a sharp Operating System programmer with a lot of experience porting the MCP from the B6700 to the B6800, and working with Paoli, PA on the B7700 differences. We told John McClintock and Ron Tucker that we needed to be away from the plant to get this done. We could not have any interruption if we were to pull it all together. In early November of 1977 Ron Delaura and Don Swanson gave use the go ahead to work on the ELS (later called the B5900) proposal.
:Bill and I spent the next two weeks at his house in Mission Viejo, pounding out a spec for what was to become E-mode and the register level architecture of the ELS, later called the B5900 (from now on I will use the name B5900, although the machine was called the ELS during this period). I had a pretty good idea of what would work well for a VLW emulator, and he knew what was needed to maintain software compatibility. Up until then there were narrative descriptions of the E-mode instruction set, we expanded on those, but we also transformed them into an Algol like description. Actually we used a meta-language to describe rigorously what the instruction set did. The Algol-APL like meta-language blend would later become the language we used to generate the microcode for the B5900.
:One of the competitive challenges for the B5900 was that it would be a direct competitor with the Burroughs Pasadena machines which were excellent COBOL machines. The Mission Viejo software department wanted to add several instructions to E-mode that would allow it to be more efficient at executing COBOL. Bill and I had several meetings with compiler writers, including a senior compiler writer who worked on COBOL. The net result was we added some new instructions to help the B5900 execute COBOL.
:When Bill Ellis and I returned to the plant in December 1977, we presented the E-mode specification and B5900 hardware architecture to Ron Tucker and John McClintock. They loved it, Ron for the simple, elegant design of the hardware, John for the first clear description of the stack architecture. Together these documents would form the basis for all future hardware and firmware implementations of the Burroughs large systems. After design reviews in both the hardware and software departments, the specs were signed off.
The idea was to "emulate" the B6xxx instruction set on a "VLIW" machine, which translates to "implement it in somewhat-horizontal microcode".  They ended up producing what appears to be the first Principles of Operation equivalent for that series, dubbing the resulting instruction set the "E-mode" instruction set.  Allweiss indicates here that "The B6900 and B7900 were not microcode architectures but were tweaked to be about 99% compatible with E-mode (they were between the Late Stack and E-mode architectures)."
This Burroughs training document indicates that the indirect reference words in E-mode machines wre different from those in earlier machines, with a bunch of unused bits being used in E-mode, and with the "normal" vs. "stuffed" bit being different. The B6900 manual shows a non-E-mode format for those words, so I guess that's part of the 1% that wasn't compatible; the B6500/6700 manual also shows the non-E-mode format.
Is there anything that does a good job of describing the differences between the various versions of the ISA? Guy Harris (talk) 03:09, 20 February 2023 (UTC)
thread_title:  ISA differences between models and E-mode?