The Software Equation

Bill Ellis was in charge of the B5900 software development. He was given one other engineer, so while we started with four people on the hardware side, only two people were working on the software side, and one of them was writing a microcode compiler, and there was more software work to do than hardware work for the B5900. Now the microcode compiler was a bone of contention between me and the software group. The B5900 could store only 8000 microcode instructions in its fast static RAM. Fast static RAM was expensive, so it was important to have just enough of it, but not too much. During the time Bill and I worked on the E-mode spec I estimated the number of microcode words needed to implement E-mode. While we did not have a final design at that time, we understood what functions the B5900 needed perform, and about how many instructions we needed. As the design progressed we revisited our estimates. We felt E-mode could be implemented in 6500 to 7000 control words, so a 8000 word control store would leave us enough leeway for any miscalculations. When Bill and I worked on the initial specification, we used what was called a “meta language” to describe E-mode. The language could be compared to Algol, Java, or C# in being a recursive and reentrant block structure language. After the design concept was approved, I met with John and Bill to discuss how the firmware was going to be developed. Usually, the hardware department developed “Stored Logic”, but since the stored logic for the B5900 was more of a programming task than a logic task, the software department wanted to do it, and John was especially interested in having the software department do the firmware. He saw that the firmware would be the key to compatibility and performance for all future machines. Developing the MCP along with the firmware in the same department would give Burroughs a great advantage.

The software department presented their plan to me. Write a compiler and a simulator that would take something very close to the meta language (called “e” by the software people) and compile it into the VLW instructions of the B5900. I was skeptical and concerned from the beginning. The normal procedure for VLW machines at that time was to hand code the firmware, using a simple assembler. On the Black Box at MIT I used MASM, a public domain assembler designed to generate VLW code after describing the design to MASM. My proposal was to do the same with the B5900. I had several concerns with the software departments plan. First, the extra time to write a compiler and simulator from scratch. Second, would the compiler be efficient? Compilers in general were more liberal with the amount of code they used to generate a language statement. With lots of RAM and disk available that was not a problem, but for a fixed size microcode store it was a big problem. If E-mode did not fit in the B5900 SLC, there was nothing we could do. Third, I was concerned with the software engineer they picked to write the compiler, Jim Pao. He was probably the most brilliant software engineer in Mission Viejo, but he was also the most temperamental and difficult to deal with. I argued with John and Bill, but they were adamant that we should use the compiler. I relented but had a backup strategy in my head. We would use MASM for generating the engineering diagnostic code that was loaded in the SLC during debug phase. This would get my engineers comfortable with MASM. If the software group failed, I would have a backup; my engineers would code E-mode using MASM.

After Midland Bank visited Mission Viejo, the existence of the B5900 became known and quite high profile. Pasadena, which had pitched the B3800, was furious. They began a campaign to kill the B5900, arguing the customer should just accept the B3800. But sales made it very clear, Midland would dump Burroughs and go to IBM, which was pitching the 370/145 as the mid size system and 370/185 as the large system. Pasadena was sent home, but in a few years, they would be fighting a new battle, trying to keep the Medium Systems architecture alive, and their plant open.

When the B5900 was officially approved and fast tracked, it was not all good news. I had been the manager for the project, but now it was high profile. Erv had several other engineers with more experience, especially management experience, than I had. The thought went through my head, would I be replaced? Or would they simply put someone above me with more experience. I got my answer shortly after. Ron Delaura and Ron Tucker called me into there office. Ron Delaura was Hardware Engineering Department Manager, Ron Tucker was B6900 BCML Large System Engineering manager, Bob Leamy was B6900 CTL Large System engineering manager. The B5900 was put under Ron Tucker, with me as B5900 section manager. Bob Kim was B6900 CPU section manager, and Gary Beck was B6900 CPU section manager. The plan was to create a new, Small Systems Engineering group. The Ron’s gave me the news, and I was surprised and pleased, I would be the new B5900 Small Systems Engineering manager! Shortly after that, Ron Delaura left Burroughs and Ron Tucker became Hardware Engineering Manager, Bob Kim was moved under Bob Leamy and was reassigned to a new project. The B6900 BCML was finally put out of its misery.

Now it was full steam ahead, but there was another train on the tracks, the B6900. The B6900 schedule had slipped a little, and they were in the final throws of debugging the prototypes and getting the machine into production. Just at the time we wanted to start routing our circuit boards, the DA group was flooded with work to design the final production boards for the B6900. What were we going to do? It looked like a two or three month delay, however I had a solution. The B5900 used the new UIO boards, and several plants used UIO boards now. I was able to buy Design Automation time from Pasadena (of all places) to get our boards done! We also had some work done for us in Santa Barbara, and since they were losing business to other plants, the Mission Viejo plant Design Automation department found some extra capacity, so they could route several boards for us. It was tough, but we were able to get our boards done.