Burroughs stack machines
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Burroughs’ Stack Machines PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Burroughs’ Stack Machines

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


Burroughs stack machines

Burroughs’ Stack Machines

Adeel Bhutta


Organization

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

  • 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


Burroughs stack machines

  • 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


Burroughs system

Burroughs’ System


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

ZERO, ONE

Arithmetic instructions

ADD, SUBT, DIVD, MULT

Relational instructions

GRTR, EQUL, LESS

Logical Operators

LAND, LOR, LNOT

B6700 Program:

VALC X

VALC Z

LT8 6

VALC T

DIVD

ADD

VALC Y

MULT

ADD

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

    • RETN/EXIT


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”

Features:

  • 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


Arrays

Arrays

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

  • MULTIPROGRAMMING

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


Task stacks

Task Stacks


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


B6700 i o processor

B6700 I/O Processor


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.


References

References

  • ‘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


  • Login