Jump to content

Burroughs Medium Systems

From Alfawiki
Burroughs Medium Systems
Company typeDivision of Burroughs Corporation
IndustryComputer hardware, Mainframe computers
Founded1966
Headquarters
Pasadena
,
United States
ProductsMainframe computers (B2500 through B4900 series)
ParentBurroughs Corporation

The Burroughs B2500 through Burroughs B4900 series consisted of mainframe computers engineered and produced by Burroughs Corporation in Pasadena, California between 1966 and 1991. Designed primarily for business-oriented tasks, their instruction set was tailored specifically to optimize the COBOL programming language. Marketed as Burroughs Medium Systems, these machines served as a complement to Burroughs' existing Large and Small Systems product families.

First generation

Introduced in 1966, the B2500 and B3500 models directly supported COBOL-68’s fundamental decimal data types: strings up to 100 digits long, with each byte representing either a single EBCDIC or ASCII digit character or two 4-bit binary-coded decimal (BCD) digits. Unlike conventional binary-based architectures, these systems implemented decimal addressing down to the 4-bit digit level using 5-digit decimal addresses. Floating-point numbers were expressed in base-10 format with mantissas extending up to 100 digits. For example, a typical COBOL statement compiled into a single 12-byte instruction capable of handling multiple operand formats.

Sophisticated business functions such as formatted printing were managed by individual EDIT instructions containing elaborate format descriptors. Additional high-level instructions supported operations like buffer conversions (such as EBCDIC to ASCII) and sorting tables. Some instructions could execute over several hundredths of a second; the MCP operating system was able to interrupt these lengthy instructions but did not support resuming partially completed instructions, which limited virtual memory functionality.

The architecture’s close integration with COBOL allowed for efficient compiler implementation and simplified assembly programming for COBOL developers. The original instruction set operated solely on a memory-to-memory basis without visible data registers. Arithmetic was conducted serially on a digit-by-digit basis from the most significant to least significant digit, enabling suppression of result storage in cases of overflow—an approach well-suited for COBOL but less optimal for languages such as FORTRAN.

Three reserved memory locations functioned as address indexing "registers," with one specifically allocated for managing the call/return stack frame. Additional reserved locations were used to control operand sizes when they varied.

The B3500 offered enhancements over the B2500, including faster cycle times and expanded capabilities. The B2500 supported up to 60 K bytes of core memory with a 2-microsecond cycle time, whereas the B3500 could accommodate up to 500 K bytes at a 1-microsecond cycle time. Both systems weighed roughly .

Subsequent machine generations

Following the B2500/B3500 series, Burroughs released the B2700/B3700/B4700 line in 1972; this was succeeded by the B2800/B3800/B4800 in 1976, and then the B2900/B3900/B4900 in 1980—the latter being the first series to load microcode from floppy disk rather than hardware read-only memory. The final iteration was represented by the Unisys V Series V340-V560 models produced between 1985 and 1990. Earlier models lacked cache memory, necessitating separate main memory cycles for each operand byte, which constrained performance. To compensate, the B3700/B4700 utilized faster but more expensive semiconductor memory instead of the DRAM commonly employed by competitors.

Initially, decimal addressing posed no challenges, as core memory selection used 1-in-5 decoder logic. However, later systems adopted binary-addressed standard memory chips that mapped each logical block of 1000 bytes onto physical blocks of 1024 bytes with minimal inefficiency. For larger memories and higher-density chips, decimal addresses had to be translated into a quasi-binary format every cycle, causing slight performance degradation. A redesign project initiated in 1975 (MS-3), intended to overhaul address space management, was ultimately cancelled.

Early machines permitted input numbers containing 'undigit' values exceeding 9, enabling a form of hexadecimal arithmetic within the MCP and certain applications. This capability was removed in later versions, which instead introduced opcodes for binary-to-decimal and decimal-to-binary conversions to facilitate hard drive addressing following Burroughs’ acquisition of Memorex.

Discontinuation and Phase-Out

Unisys halted development of V series hardware in 1991, with support concluding in 2004. From the B4900 model onward, integer calculations involving up to 10 digits were executed concurrently, while operations with longer operands remained sequential. Floating-point accuracy was limited to 17 digits. Subsequent Medium Systems incorporated accumulator registers and instructions that utilized 32-bit integers alongside 48- or 80-bit floating-point numbers aligned on 16-bit boundaries.

System Software

The operating system, known as MCP (Master Control Program), exhibited architectural similarities to Burroughs' Large Systems MCP but was independently developed and implemented in assembly language, rather than being based on an ALGOL variant. Applications operated within distinct address spaces that were dynamically relocated using a base register, without employing virtual memory, paging, or segmentation. To accommodate larger programs within limited code address ranges, explicit overlays were utilized. Initially, both code and data shared a unified address space of 300,000 digits; later versions introduced separate million-digit address spaces for code and data. Instruction address fields expanded from five to six digits, and four additional real index registers were incorporated.

Early systems employed Burroughs's head-per-track disk technology rather than disks with movable heads. Efforts to enhance MCP overlay performance by synchronizing their layout with disk read head timing proved ineffective; randomized overlay arrangements consistently delivered superior results.

Beyond the operating system, system software was authored in BPL (Burroughs Programming Language), a language derived from ALGOL and ESPOL. The initial ANSI 68-compliant COBOL compiler supported inline assembly through , but initially lacked RELATIVE and INDEXED file capabilities, which were introduced in the 1982 ANSI 74 revision. MCP facilitated interprogram communication via core-to-core transfers (CRCR) or storage queues (STOQ), implemented through system calls using the BCT instruction and accessible from languages such as COBOL (). Such interprocess communication was uncommon outside of the largest IBM System/360 systems during that era.

Deployment and Impact

The Medium Systems line was highly effective at multiprogramming; even entry-level B2500 models supported practical multiprogramming environments. Larger Medium Systems processors became integral to major data center operations for banks, financial organizations, commercial enterprises, and government agencies, establishing themselves as favored platforms among data processing professionals.

Medium Systems could concurrently execute batch payroll processing, handle bank check processing via MICR readers, compile COBOL programs, manage online transactions, and perform application testing—collectively known as 'the mix' (named after the console command 'MX'). Running eight to ten simultaneous programs on a mid-sized B2500 was typical.

Installations frequently featured tape clusters—groups of four drives housed within mid-height cabinets—for tape input/output tasks. Although individual tape drives were available, they were more expensive. Initially, tape served for father-son batch updates; as disk storage became more affordable, tape transitioned primarily to library and backup functions containing data and occasionally program files via the MFSOLT utility.

COBOL to machine code

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

—an anonymous B2500 user’s blank verse

References