HOME

TheInfoList



OR:

The Burroughs B2500 through Burroughs B4900 was a series of
mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
s developed and manufactured by
Burroughs Corporation The Burroughs Corporation was a major American manufacturer of business equipment. The company was founded in 1886 as the American Arithmometer Company. In 1986, it merged with Sperry UNIVAC to form Unisys. The company's history paralleled many ...
in
Pasadena, California Pasadena ( ) is a city in Los Angeles County, California, northeast of downtown Los Angeles. It is the most populous city and the primary cultural center of the San Gabriel Valley. Old Pasadena is the city's original commercial district. ...
, United States, from 1966 to 1991. They were aimed at the business world with an instruction set optimized for the
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
programming language. They were also known as Burroughs Medium Systems, by contrast with the
Burroughs Large Systems The Burroughs Large Systems Group produced a family of large 48-bit mainframes using stack machine instruction sets with dense syllables.E.g., 12-bit syllables for B5000, 8-bit syllables for B6500 The first machine in the family was the B5000 ...
and
Burroughs Small Systems 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 ...
.


History and architecture


First generation

The B2500 and B3500 computers were announced in 1966. They operated directly on COBOL-68's primary decimal data types: strings of up to 100 digits, with one
EBCDIC Extended Binary Coded Decimal Interchange Code (EBCDIC; ) is an eight- bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. It descended from the code used with punched cards and the corresponding ...
or
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
digit character or two 4-bit
binary-coded decimal 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 ...
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 In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most si ...
style, using 5-digit decimal addresses.
Floating point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can ...
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. 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 Core or cores may refer to: Science and technology * Core (anatomy), everything except the appendages * Core (manufacturing), used in casting and molding * Core (optical fiber), the signal-carrying portion of an optical fiber * Core, the centra ...
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 .


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 In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
from
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined ...
, rather than implementing it as hardware
read-only memory Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing ...
) and finally the
Unisys Unisys Corporation is an American multinational information technology (IT) services and consulting company headquartered in Blue Bell, Pennsylvania. It provides digital workplace solutions, cloud, applications, and infrastructure solutions, ...
V Series machines V340-V560 in 1985-90. Machines prior to the B4800 had no
cache memory In computing, a cache ( ) is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewher ...
. 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 Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
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. 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 In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, he ...
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 Memorex Corp. began as a computer tape producer and expanded to become both a consumer media supplier and a major IBM plug compatible peripheral supplier. It was broken up and ceased to exist after 1996 other than as a consumer electronics bran ...
.


Cancellation and retirement

Unisys cancelled further V series hardware development in 1991, and support ended in 2004. 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 In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
, not an
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
derivative. Programs had separate address spaces dynamically relocated by a base register, but otherwise there was no
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
; no
paging In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
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 register An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
s were added. Early machines used Burroughs's head-per-track
disk Disk or disc may refer to: * Disk (mathematics), a geometric shape * Disk storage Music * Disc (band), an American experimental music band * ''Disk'' (album), a 1995 EP by Moby Other uses * Disk (functional analysis), a subset of a vector sp ...
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 COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
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 call In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, acc ...
s 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 The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
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 In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result ...
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 Magnetic ink character recognition code, known in short as MICR code, is a character recognition technology used mainly by the banking industry to streamline the processing and clearance of cheques and other documents. MICR encoding, called the ' ...
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 As a topic of economics, utility is used to model worth or value. Its usage has evolved significantly over time. The term was introduced initially as a measure of pleasure or happiness as part of the theory of utilitarianism by moral philosopher ...
) 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 Blank verse is poetry written with regular metrical but unrhymed lines, almost always in iambic pentameter. It has been described as "probably the most common and influential form that English poetry has taken since the 16th century", and P ...
by unknown B2500 user


References

{{Authority control Burroughs mainframe computers COBOL High-level language computer architecture Transistorized computers Computer-related introductions in 1966 16-bit computers