burroughs stack machines n.
Skip this Video
Download Presentation
Burroughs’ Stack Machines

Loading in 2 Seconds...

play fullscreen
1 / 25

Burroughs’ Stack Machines - PowerPoint PPT Presentation

  • Uploaded on

Burroughs’ Stack Machines. Adeel Bhutta. Organization . Computing Era – History (60’s) A few words about Burroughs’ Family Stack and Tree, Relationship A peek inside ( i.e., Subroutines, Instruction Format, Tag Bits, Arrays) Operating System I/O Control

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Burroughs’ Stack Machines' - yonah

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
  • Computing Era – History (60’s)
  • A few words about Burroughs’ Family
  • Stack and Tree, Relationship
  • A peek inside ( i.e., Subroutines, Instruction Format, Tag Bits, Arrays)
  • Operating System
  • I/O Control
  • Summary (Pro and Cons, Improvements)
computing era history
Computing Era - History
  • Time Sharing and Multiprogramming
  • B5000 (announced in 1962)
    • One of the 1st to separate programming from implementation
    • 1st Computer to be designed specifically for High level Programming (ALGOL, COBOL, FORTRAN)
    • One of the 1st to include significant features to assist with implementation of OS
    • 1st commercial computer with “unlimited” virtual memory

B5500 (1964 – 1970)  B5700

    • Obsolete in Mid 60’s
    • Sold because of Software which provided reliable OS with Very Good time sharing
  • B6500 (1965)  B6700 (1970)
  • B7700/B7500 (High Speed Versions)
  • B8500 (Rumored to hold the title of largest computer in the world)

“There have been few computers about which we can say that their uses were clearly analyzed before they were developed” – Doran

burroughs 6700 system
Burroughs’ 6700 System
  • Used in database management, transaction processing
  • One large B6700 system includes:
    • 3 central processors
    • 3 I/O processors
    • 8 Data Communication processors
    • 60 disk pack drives
    • 35 fixed head disk memories
    • 2 card readers
    • 10 line printers
    • 48 magnetic tape drives
    • 2000 enquiry terminals
    • 6 million bytes of main memory
stack and tree relationship
Stack and Tree, Relationship
  • Traversal Example
  • Whenever our compute is using a tree structure, we can make use of a stack and vise versa.
  • Sometimes we need multiple stacks
arithmetic stack
Arithmetic Stack
  • X + ( Z + 6 / T ) * Y
  • Problem: Computer must remember operands
  • Solution: Operators built in hardware with push / pop instructions can readily evaluate expressions
arithmetic stack example
B6700 Instructions

Push instructions

VALC address

LT8, LT16, LT48


Arithmetic instructions


Relational instructions


Logical Operators


B6700 Program:



LT8 6







Arithmetic Stack - Example
stack implementation
Stack Implementation
  • Maintained in main memory of computer
  • Problem: Too many memory accesses
  • Solution: Maintain High Speed Registers
  • 2 registers B6700
  • 32 registers B7700
  • BOS (base of stack)
  • SL (stack Limit)
simplified stack mechanism
Simplified stack mechanism
  • Stack stores:
    • Program Parameters
    • Local Variables
    • Reference to Program procedures
    • Data arrays
subroutine structure
Subroutine Structure
  • Structured Programming
  • Problem: Need to store return address
  • Solution: Use Stacks
  • B6700
    • Place address in stack
    • ENTR
instruction formats
Instruction Formats
  • Basic machine instruction is called syllable
  • Syllable – 8 bit
  • NAMC and VALC are 2 syllables long
  • A subroutine is an array of syllables
  • Data Word: 51-bit long (B6500/7500)
    • 3 bits are tag bits
    • 48 bits are data
tag bits
Tag Bits

Tag Bits

  • 000 – Single Precision op.
  • 001 – Indirect Reference word
  • 010 – Double Precision op.
  • 011 – Program Segment Descr.
  • 100 – Step Index word
  • 101 – Data / Array Descriptor
  • 110 – used by software
  • 111 – Program Control word

“To distinguish between data and instructions”


  • Data may be referenced as operand, with processor worrying about length of operand
  • Memory Protection : Attempt to modify code or execute data as program, system interrupted
  • Descriptors - can be thought of having base address, length of array and other information about array
  • e.g.,
    • Segment Descriptor (Code)
    • String Descriptor (4-bit, 6-bit, 8-bit)
    • Data Descriptor (single/double precision)
array example
Array - Example
  • A [t]
    • NAMC A (gets address of array descriptor)
    • LOAD (places address on stack)
    • VALC t (place value of t on stack)
    • INDX (gets address of element:

address = base + value)

operating system
Operating System
  • 1st OS  Executive Program, Master Control Program
    • Resident on computer memory, capable of interpreting simple commands, sequences jobs or steps of a job.
  • Concept of Time-Sharing
    • Processor is switched between jobs so quickly that user get impression it is solely serving his job.
  • Concept of Multi-Processing
    • Central Processor does actual work, “channels” do I/O operations.
    • Make use of channels to have a number of programs available for execution at same time so that when one program was waiting for I/O other would still be able to process.
os contd
OS – contd.
  • Concept of Task ( Process)
    • Coupling of a program possibly shared with execution record and a processor
  • Eventually OS was thought as something that allocates resources to everybody (including processors). So an operating system dominates the processors.
  • Nowadays, OS is thought of as a cooperating set of parallel tasks rather than a program. They deal with hardware directly in particular interrupt system.
b6700 i o control
B6700 I/O Control
  • 3 types of processors
    • IOP ( Main I/O processor)
    • DCP ( Data Communication processor)
    • DFO ( Disk File Optimizer)
  • Communication between Processors
    • Scan Bus ( Control Signals)
      • SCNI, SCNO
      • Processor #, instruction
    • Interrupts
i o control
I/O Control
  • IOP
    • Controls, monitors I/O hierarchy
    • Receives OS commands
    • Directs interrupts to OS
    • Tasks for transfer of data between main memory and I/O devices
  • DCP
    • Data Comm. Controller moved a request in queue for DCP
    • Result placed in Result Queue
    • Controlled by central processor (Initialize, Halt, Set attention needed)
  • DFO
    • To optimize algorithms involved in controlling peripheral devices
stack machines pros and cons
Stack Machines - Pros and Cons
  • Good code density ( reduces code size by implicit address of top elements of the stack).
  • Designed with compilers and OS in mind.
  • Fortran Programs run faster on other machines while Algol-like programs run faster on B6700.
  • Shorter instruction fetch cycles (always top of stack), more cycles for data (load descriptor address, get value of address)
  • Protection because of use of descriptors
  • Difficult to handle multi-dimensional arrays
stack machines today
Stack Machines - Today
  • Trade-offs have changed
    • Code density not very important
    • Doesn’t fit the needs of high-performance Floating point code so stack proves to be bottleneck for high performance implementations
  • Improvements
    • Enriching Tags (Hardware recognition)
    • Add operators to work on queue data structures
    • Changing interrupts to give OS control in order to recognize interrupt by type / by source.
  • No active development of stack machines.
  • ‘Computer Architecture – A Structured Approach’, R. W. Doran, 1979
  • ‘Computer System Organization – The B5700/6700 Series’, Elliott I. Organick, 1973
  • ‘Burroughs’ B6500/B7500 Stack Mechanism’, E.A.Hauck / B.A.Dent
  • ‘Burroughs 5000 Descriptor – Manual’, Burroughs Corporation, 1963