B5000 instruction set

Last updated

The Burroughs B5000 was the first stack machine and also the first computer with a segmented virtual memory. The Burroughs B5000 instruction set includes the set of valid operations for the B5000, B5500 and B5700. It is not compatible with the B6500, B7500, B8500 or their successors.

Contents

Instruction streams on a B5000 contain 12-bit syllables, four to a word. The architecture has two modes, Word Mode [1] [2] and Character Mode, [3] [4] and each has a separate repertoire of syllables. A processor may be either Control State or Normal State, and certain syllables are only permissible in Control State. The architecture does not provide for addressing registers or storage directly; all references are through the 1024 word Program Reference Table (PRT), current code segment, marked locations within the stack or to the A and B registers holding the top two locations on the stack. Burroughs numbers bits in a syllable from 0 (high bit) to 11 (low bit) and in a word from 0 (high bit) to 47 (low bit).

Word Mode

In Word Mode, there are four types of syllables.

B5x00 Word Mode Syllables [5]
Bits
10-11
Syllable TypeBits 0-9 [6]
0Literal Callinteger value
1OpcodeOperation
2Operand Call Relative address
3Descriptor Call Relative address

The interpretation of the 10-bit relative address in Operand Call and Descriptor Call depends on the setting of several processor flags. For main programs (SALF off) it is always an offset into the Program Reference Table (PRT).

B5x00 Relative Addressing [7]
SALF [lower-alpha 1] T0
A38
T1
A39
T2
A40
MSFF [lower-alpha 2] BaseContentsIndex SignIndex
Bits [lower-alpha 3]
Max
Index
OFF----RAddress of PRT+T 0-9
A 38-47
1023
ONOFF---RAddress of PRT+T 1-9
A 39-47
511
ONONOFF-OFFFAddress of last RCW [lower-alpha 4] or MSCW [lower-alpha 5] on stack+T 2-9
A 40-47
255
ONONOFF-ON(R+7) [lower-alpha 6]
Bits 18-32
F register from MSCW [lower-alpha 5] at PRT+7+T 2-9
A 40-47
255
ONONONOFF-C [lower-alpha 7] Address of current instruction word+T 3-9
A 41-47
127
ONONONONOFFFAddress of last RCW [lower-alpha 4] or MSCW [lower-alpha 5] on stack-T 3-9
A 41-47
127
ONONONONON(R+7) [lower-alpha 6]
Bits 18-32
F register from MSCW [lower-alpha 5] at PRT+7-T 3-9
A 41-47
127
Notes:
  1. SALF Subroutine Level Flipflop
  2. MSFF Mark Stack FlipFlop
  3. For Operand Call (OPDC) and Descriptor Call (DESC) syllables, the relative address is bits 0-9 (T register) of the syllable. For Store operators (CID, CND, ISD, ISN, STD, STN), the A register (top of stack) contains an absolute address if the Flag bit is set and a relative address if the Flag bit is off.
  4. 1 2 RCW  Return Control Word
  5. 1 2 3 4 MSCW Mark Stack Control Word
  6. 1 2 F register from MSCW at PRT+7
  7. C (current instruction word)-relative forced to R (PRT)-relative for Store, Program and I/O Release operators

Character Mode

Notes

    Related Research Articles

    <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. 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.

    <span class="mw-page-title-main">PDP-10</span> 36-bit computer by Digital (1966–1983)

    Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especially as the TOPS-10 operating system became widely used.

    <span class="mw-page-title-main">Virtual memory</span> Computer memory management technique

    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 large (main) memory".

    x86 Family of instruction set architectures

    x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors.

    <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 to be the Ford Model-T of the computer industry, because it was mass-produced and because of its sales volume. 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">IBM 700/7000 series</span> Mainframe computer systems made by IBM through the 1950s and early 1960s

    The IBM 700/7000 series is a series of large-scale (mainframe) computer systems that were made by IBM through the 1950s and early 1960s. The series includes several different, incompatible processor architectures. The 700s use vacuum-tube logic and were made obsolete by the introduction of the transistorized 7000s. The 7000s, in turn, were eventually replaced with System/360, which was announced in 1964. However the 360/65, the first 360 powerful enough to replace 7000s, did not become available until November 1965. Early problems with OS/360 and the high cost of converting software kept many 7000s in service for years afterward.

    x86-64 Type of instruction set which is a 64-bit version of the x86 instruction set

    x86-64 is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

    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. It was optimized for compiling ALGOL 60 programs extremely well, using single-pass compilers. It evolved into the B5500. Subsequent major redesigns include the B6500/B6700 line and its successors, as well as the separate B8500 line.

    A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e.g. DEC PDP-10, ICT 1900.

    Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.

    Memory segmentation is an operating system memory management technique of division of a computer's primary memory into segments or sections. In a computer system using segmentation, a reference to a memory location includes a value that identifies a segment and an offset within that segment. Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.

    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.

    The Burroughs B6x00-7x00 instruction set includes the set of valid operations for the Burroughs B6500, B7500 and later Burroughs large systems, including the current Unisys Clearpath/MCP systems; it does not include the instruction for other Burroughs large systems including the B5000, B5500, B5700 and the B8500. These unique machines have a distinctive design and instruction set. Each word of data is associated with a type, and the effect of an operation on that word can depend on the type. Further, the machines are stack based to the point that they had no user-addressable registers.

    Descriptors are an architectural feature of Burroughs large systems, including the current Unisys Clearpath/MCP systems. Apart from being stack- and tag-based, a notable architectural feature of these systems is that it is descriptor-based. Descriptors are the means of having data that does not reside on the stack as for arrays and objects. Descriptors are also used for string data as in compilers and commercial applications.

    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.

    In computing, Intel Memory Model refers to a set of six different memory models of the x86 CPU operating in real mode which control how the segment registers are used and the default size of pointers.

    Systems Programming Language, often shortened to SPL but sometimes known as SPL/3000, was a procedurally-oriented programming language written by Hewlett-Packard for the HP 3000 minicomputer line and first introduced in 1972. SPL was used to write the HP 3000's primary operating system, Multi-Programming Executive (MPE). Similar languages on other platforms were generically referred to as system programming languages, confusing matters.

    In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information are also used to measure information contained in messages and the entropy of random variables.

    The PDP-11 architecture is a 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-11 architecture in the 1980s.

    BCD, also called alphanumeric BCD, alphameric BCD, BCD Interchange Code, or BCDIC, is a family of representations of numerals, uppercase Latin letters, and some special and control characters as six-bit character codes.

    References

    1. "5 Word Mode Operation", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, pp. 5-1–5-21, 1021326
    2. "6 Word Mode Syllables and Operators", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, pp. 6-1–6-32, 1021326
    3. "7 Character Mode Operation", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, p. 7-1   7-7, 1021326
    4. "8 Character Mode Operators", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, p. 8-1   8-9, 1021326
    5. "5.5. Syllable Type", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, p. 5-2, 1021326.
    6. "5.6. Bits 0-9", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, p. 5-2, 1021326.
    7. "5.9. Relative Addressing", Burroughs B5500 Information Processing Systems Reference Manual (PDF), Systems Documentation, Burroughs Corporation, May 1967, p. 5-4, 1021326