1 / 25

Burroughs’ Stack Machines

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

yonah
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Burroughs’ Stack Machines Adeel Bhutta

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

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

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

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

  6. Burroughs’ System

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

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

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

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

  11. Simplified stack mechanism • Stack stores: • Program Parameters • Local Variables • Reference to Program procedures • Data arrays

  12. Subroutine Structure • Structured Programming • Problem: Need to store return address • Solution: Use Stacks • B6700 • Place address in stack • ENTR • RETN/EXIT

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

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

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

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

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

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

  19. Task Stacks

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

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

  22. B6700 I/O Processor

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

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

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

More Related