Burroughs Medium Systems

Last updated

The Burroughs B2500 through Burroughs B4900 was a series of mainframe computers developed and manufactured by Burroughs Corporation in Pasadena, California, United States, from 1966 to 1991. They were aimed at the business world with an instruction set optimized for the COBOL programming language. They were also known as Burroughs Medium Systems, by contrast with the Burroughs Large Systems and Burroughs Small Systems.

Contents

History and architecture

First generation

The B2500 and B3500 computers were announced in 1966. [1] They operated directly on COBOL-68's primary decimal data types: strings of up to 100 digits, with one EBCDIC or ASCII digit character or two 4-bit binary-coded decimal BCD digits per byte. Portable COBOL programs did not use binary integers at all, so the B2500 did not either, not even for memory addresses. Memory was addressed down to the 4-bit digit in big-endian style, using 5-digit decimal addresses. Floating point numbers also used base 10 rather than some binary base, and had up to 100 mantissa digits. A typical COBOL statement 'ADD A, B GIVING C' may use operands of different lengths, different digit representations, and different sign representations. This statement compiled into a single 12-byte instruction with 3 memory operands. [2] Complex formatting for printing was accomplished by executing a single EDIT instruction with detailed format descriptors. Other high level instructions implemented "translate this buffer through this (e.g. EBCDIC to ASCII) conversion table into that buffer" and "sort this table using these sort requirements into that table". In extreme cases, single instructions could run for several hundredths of a second. MCP could terminate over-long instructions but could not interrupt and resume partially completed instructions. (Resumption is a prerequisite for doing page style virtual memory when operands cross page boundaries.)

The machine matched COBOL so closely that the COBOL compiler was simple and fast, and COBOL programmers found it easy to do assembly programming as well.

In the original instruction set, all operations were memory-to-memory only, with no visible data registers. Arithmetic was done serially, one digit at a time, beginning with most-significant digits then working rightwards to least-significant digits. This is backwards from manual right-to-left methods and more complicated, but it allowed all result writing to be suppressed in overflow cases. Serial arithmetic worked very well for COBOL. But for languages like FORTRAN or BPL, it was much less efficient than standard word-oriented computers.

Three reserved memory locations were used as address indexing 'registers'. The third index register was dedicated to pointing at the current procedure's stack frame on the call/return stack. Other reserved memory locations controlled operand sizes when that size was not constant.

The B3500 was similar to the B2500 but with a faster cycle time and more expansion choices. The B2500 had a maximum of 60 K bytes of core memory and a 2 microsecond cycle time. The B3500 had a maximum of 500 K bytes and a 1-microsecond cycle time.

B2500/3500 weighed about 600–700 pounds (270–320 kg). [3]

Subsequent machine generations

The B2500/B3500 machines were followed by B2700/B3700/B4700 in 1972; The B2800/B3800/B4800 in 1976, The B2900/B3900/B4900 in 1980 (which was the first of the range to load its microcode from floppy disk, rather than implementing it as hardware read-only memory) and finally the Unisys V Series machines V340-V560 in 1985-90. Machines prior to the B4800 had no cache memory. Every operand byte or result byte required its own separate main memory cycle, which limited program performance. To compensate for this, the B3700/B4700 generation used semiconductor main memory that was faster but more expensive and power hungry than the DRAM used in competing machines. The unusual use of decimal numbers as memory addresses was initially no problem; it merely involved using 1-in-5 rather than 1-in-8 decoder logic in the core memory's row selects and bank selects. But later machines used standard memory chips that expected binary addresses. Each 1000-byte block of logical memory could be trivially mapped onto a subset of 1024 bytes in a chip with only 2.3% waste. But for denser chips and larger total memories, the entire decimal address had to be crunched into a shorter quasi binary form before sending the address to the chips, and done again for each cache or memory cycle. This conversion logic slowed the machine cycle somewhat. An attempted redesign in 1975 of the address space was called MS-3 for "Medium Systems 3rd Generation", but that project was cancelled. [4] [5]

Machines before the B2900 allowed input numbers with 'undigit' values above 9, but arithmetic on this gave unspecified results. This was used as a form of hexadecimal arithmetic within the MCP and also by some application programmers. Later versions discontinued this and instead supported two new opcodes (binary to decimal and decimal to binary) to support addressing the hard drives available after Burroughs's acquisition of Memorex.

Cancellation and retirement

Unisys cancelled further V series hardware development in 1991, and support ended in 2004. [6] In the B4900 and later machines, integer operations of 10 digits or less were now handled in parallel; only longer operands continued to use the serial method. And all floating point operations were limited to 17 digits of precision. Later Medium Systems machines added an accumulator register and accumulator/memory instructions using 32-bit, 7-digit integers and 48-bit or 80-bit floating point values, all aligned on 16-bit word boundaries.

Operating system

The operating system was called MCP, for Master Control Program. It shared many architectural features with the MCP of Burroughs' Large Systems stack machines, but was entirely different internally, and was coded in assembly language, not an ALGOL derivative. Programs had separate address spaces dynamically relocated by a base register, but otherwise there was no virtual memory; no paging and no segmentation. Larger programs were squeezed into the limited code address space by explicit overlays. The nonresident parts of MCP were also heavily overlaid. Initially, code and data shared a single 300,000 digit address space. Later machines had separate million-digit spaces for program code and process data. Instructions' address fields were extended from five digits to six digits, and four more real index registers were added. [7]

Early machines used Burroughs's head-per-track disk systems rather than the now-standard movable head platter disks. In one attempt to speed up MCP, its overlays were carefully laid out so that the likely-next overlays would soon arrive at their read head just after the current overlay completed. This was similar to time-dependent layout optimizations on early delay-line and drum computers. But this turned out to be impractical to maintain after software changes, and better results were consistently achieved with a totally randomized layout of all MCP overlays.

Other than the operating system itself, all system software was coded in BPL (Burroughs Programming Language), a systems programming language derived from ALGOL and Large System's ESPOL systems language. The initial COBOL compiler supported the ANSI 68 specification and supported the ENTER SYMBOLIC syntax to allow inline assembly language coding, but lacked support for RELATIVE and INDEXED file support; these were later added into the ANSI 74 version of the compiler, which was released in 1982. MCP allowed programs to communicate with each other via core-to-core transmissions (CRCR) or by using storage queues (STOQ), implemented as system calls using the BCT instruction and exposed to the languages (COBOL FILL FROM/INTO). This was unheard of except on the very largest IBM System/360 systems of the time, and even then it was a major operational headache to manage the interactions of the multiple program streams.

Usage and legacy

The Medium Systems series were very effective multi-programming machines. Even very basic versions of the B2500 could support multiprogramming on a usable scale. Larger Medium Systems processors supported major data center activities for banks and other financial institutions, as well as many businesses and government customers. The Medium System was the preferred platform for many data processing professionals.

With the Medium System, a computer could be simultaneously running a batch payroll system, inputting bank checks on a MICR reader sorter, compiling COBOL applications, supporting on-line transactions, and doing test runs on new applications (colloquially called 'the mix', as the console command 'MX' would shows that jobs were executing). It was not unusual to be running eight or ten programs on a medium-size B2500. Medium System installations often had tape clusters (four drives integrated into a mid-height cabinet) for magnetic tape input and output. Free-standing tape drives were also available, but they were much more expensive. Tape was a major storage medium on these computers, in early days it was often used for father-son batch updating; with additional disk becoming cheaper as time moved on it became relegated as a library/backup device that contained all the data files and sometimes the program files (using the MFSOLT utility) for a particular application or customer/client.

COBOL to machine code

Tape resident disk files
Job headers for card input
Card and print spooling
I did accounting system (parameter driven)

—a blank verse by unknown B2500 user

Related Research Articles

<span class="mw-page-title-main">Binary-coded decimal</span> System of digitally encoding numbers

In computing and electronic systems, binary-coded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used for a sign or other indications.

<span class="mw-page-title-main">Burroughs Corporation</span> American computer company

The Burroughs Corporation was a major American manufacturer of business equipment. The company was founded in 1886 as the American Arithmometer Company by William Seward Burroughs. In 1986, it merged with Sperry UNIVAC to form Unisys. The company's history paralleled many of the major developments in computing. At its start, it produced mechanical adding machines, and later moved into programmable ledgers and then computers. It was one of the largest producers of mainframe computers in the world, also producing related equipment including typewriters and printers.

In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values. Integers are commonly represented in a computer as a group of binary digits (bits). The size of the grouping varies so the set of integer sizes available varies between different types of computers. Computer hardware nearly always provides a way to represent a processor register or memory address as an integer.

<span class="mw-page-title-main">Machine code</span> Set of instructions executed by a computer

In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Although decimal computers were once common, the contemporary marketplace is dominated by binary computers; for those computers, machine code is "the binary representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions ."

The Honeywell 6000 series computers were rebadged versions of General Electric's 600-series mainframes manufactured by Honeywell International, Inc. from 1970 to 1989. Honeywell acquired the line when it purchased GE's computer division in 1970 and continued to develop them under a variety of names for many years. In 1989, Honeywell sold its computer division to the French company Groupe Bull who continued to market compatible machines.

The GE-600 series was a family of 36-bit mainframe computers originating in the 1960s, built by General Electric (GE). When GE left the mainframe business the line was sold to Honeywell, which built similar systems into the 1990s as the division moved to Groupe Bull and then NEC.

<span class="mw-page-title-main">IBM 1401</span> 1960s decimal computer

The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on punched cards and at providing peripheral services for larger computers. The 1401 is considered by IBM to be the Ford Model-T of the computer industry due to its mass appeal. Over 12,000 units were produced and many were leased or resold after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971.

<span class="mw-page-title-main">UNIVAC</span> Series of mainframe computer models

UNIVAC was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and successor organizations.

<span class="mw-page-title-main">UNIVAC 1100/2200 series</span> Family of mainframe computers

The UNIVAC 1100/2200 series is a series of compatible 36-bit computer systems, beginning with the UNIVAC 1107 in 1962, initially made by Sperry Rand. The series continues to be supported today by Unisys Corporation as the ClearPath Dorado Series. The solid-state 1107 model number was in the same sequence as the earlier vacuum-tube computers, but the early computers were not compatible with their solid-state successors.

In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operations and directly supported by the processor. Most bitwise operations are presented as two-operand instructions where the result replaces one of the input operands.

The Burroughs Large Systems Group produced a family of large 48-bit mainframes using stack machine instruction sets with dense syllables. The first machine in the family was the B5000 in 1961, which was optimized for compiling ALGOL 60 programs extremely well, using single-pass compilers. The B5000 evolved into the B5500 and the B5700. Subsequent major redesigns include the B6500/B6700 line and its successors, as well as the separate B8500 line.

<span class="mw-page-title-main">IBM System/3</span> IBM midrange computer (1969–1985)

The IBM System/3 was an IBM midrange computer introduced in 1969, and marketed until 1985. It was produced by IBM Rochester in Minnesota as a low-end business computer aimed at smaller organizations that still used IBM 1400 series computers or unit record equipment. The first member of what IBM refers to as their "midrange" line, it also introduced the RPG II programming language. It is the first ancestor in the product line whose current version is the IBM i series and includes the highly successful AS/400.

<span class="mw-page-title-main">IBM 1400 series</span> Mid-range business decimal computers

The IBM 1400 series are second-generation (transistor) mid-range business decimal computers that IBM marketed in the early 1960s. The computers were offered to replace tabulating machines like the IBM 407. The 1400-series machines stored information in magnetic cores as variable-length character strings separated on the left by a special bit, called a "wordmark," and on the right by a "record mark." Arithmetic was performed digit-by-digit. Input and output support included punched card, magnetic tape, and high-speed line printers. Disk storage was also available.

<span class="mw-page-title-main">36-bit computing</span> Computer architecture bit width

In computer architecture, 36-bit integers, memory addresses, or other data units are those that are 36 bits wide. Also, 36-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. 36-bit computers were popular in the early mainframe computer era from the 1950s through the early 1970s.

The Burroughs B1000 Series was a series of mainframe computers, built by the Burroughs Corporation, and originally introduced in the 1970s with continued software development until 1987. The series consisted of three major generations which were the B1700, B1800, and B1900 series machines. They were also known as the Burroughs Small Systems, by contrast with the Burroughs Large Systems and the Burroughs Medium Systems.

In computing, a word is the natural unit of data used by a particular processor design. A word is a fixed-sized datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits in a word is an important characteristic of any specific processor design or computer architecture.

<span class="mw-page-title-main">Front panel</span>

A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal registers and memory. The front panel usually consisted of arrays of indicator lamps, digit and symbol displays, toggle switches, dials, and push buttons mounted on a sheet metal face plate. In early machines, CRTs might also be present. Prior to the development of CRT system consoles, many computers such as the IBM 1620 had console typewriters.

<span class="mw-page-title-main">Decimal computer</span> Computer operating on base-10 numbers

A decimal computer is a computer that can represent numbers and addresses in decimal and that provides instructions to operate on those numbers and addresses directly in decimal, without conversion to a pure binary representation. Some also had a variable wordlength, which enabled operations on numbers with a large number of digits.

The PDP-11 architecture is a 16-bit CISC instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). It is implemented by central processing units (CPUs) and microprocessors used in PDP-11 minicomputers. It was in wide use during the 1970s, but was eventually overshadowed by the more powerful VAX architecture in the 1980s.

<span class="mw-page-title-main">IBM System/360 Model 20</span> Low-end IBM computer model from 1960s

The IBM System/360 Model 20 is the smallest member of the IBM System/360 family announced in November 1964. The Model 20 supports only a subset of the System/360 instruction set, with binary numbers limited to 16 bits and no floating point. In later years it would have been classified as a 16-bit minicomputer rather than a mainframe, but the term "minicomputer" was not current, and in any case IBM wanted to emphasize the compatibility of the Model 20 rather than its differences from the rest of the System/360 line. It does, however, have the full System/360 decimal instruction set, that allows for addition, subtraction, product, and dividend of up to 31 decimal digits.

References

  1. Gray, George (October 1999). "Burroughs Third-Generation Computers". Unisys History Newsletter. 3 (5). Archived from the original on September 26, 2017.
  2. Burroughs B2500 and B3500 Systems Reference Manual (PDF). Burroughs Corporation. October 1969.
  3. Burroughs B2500 and B3500 Systems Reference Manual 1969, p. 1-4 (20).
  4. "The Structure of the MS-3 S-Machine" (PDF). June 30, 1975.
  5. George T. Gray; Ronald Q. Smith (2007). "Against the Current: The Sperry-Burroughs Merger and the Unisys Struggle to Survive 1980-2001". IEEE Annals of the History of Computing . 29 (2): 3–17. doi:10.1109/MAHC.2007.16. S2CID   15187529.
  6. 'Unisys Takes $1,200m Charge, Cuts 10,000 More Jobs; A, 2200 Lines Survive, Vs to Go', Computer Business Review, July 23, 1991
  7. "V Series Instruction Set" (PDF).