Click here to load reader

Burroughs’ Stack Machines

  • View
    54

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Text of Burroughs’ Stack Machines

  • Burroughs Stack MachinesAdeel Bhutta

  • OrganizationComputing Era History (60s)A few words about Burroughs FamilyStack and Tree, RelationshipA peek inside ( i.e., Subroutines, Instruction Format, Tag Bits, Arrays)Operating SystemI/O ControlSummary (Pro and Cons, Improvements)

  • Computing Era - HistoryTime Sharing and MultiprogrammingB5000 (announced in 1962)One of the 1st to separate programming from implementation1st 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 OS1st commercial computer with unlimited virtual memory

  • There have been few computers about which we can say that their uses were clearly analyzed before they were developed Doran B5500 (1964 1970) B5700 Obsolete in Mid 60s 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)

  • Burroughs 6700 SystemUsed in database management, transaction processingOne large B6700 system includes:3 central processors3 I/O processors8 Data Communication processors60 disk pack drives35 fixed head disk memories2 card readers10 line printers48 magnetic tape drives2000 enquiry terminals6 million bytes of main memory

  • Burroughs System

  • Stack and Tree, RelationshipTraversal ExampleWhenever our compute is using a tree structure, we can make use of a stack and vise versa.Sometimes we need multiple stacks

  • Arithmetic StackX + ( Z + 6 / T ) * Y

    Problem: Computer must remember operandsSolution: Operators built in hardware with push / pop instructions can readily evaluate expressions

  • Arithmetic Stack - ExampleB6700 InstructionsPush instructionsVALC addressLT8, LT16, LT48ZERO, ONEArithmetic instructionsADD, SUBT, DIVD, MULTRelational instructionsGRTR, EQUL, LESSLogical OperatorsLAND, LOR, LNOTB6700 Program:VALC XVALC ZLT8 6VALC TDIVDADDVALC YMULTADD

  • Stack ImplementationMaintained in main memory of computerProblem: Too many memory accessesSolution: Maintain High Speed Registers2 registers B670032 registers B7700BOS (base of stack)SL (stack Limit)

  • Simplified stack mechanismStack stores:Program ParametersLocal VariablesReference to Program proceduresData arrays

  • Subroutine StructureStructured ProgrammingProblem: Need to store return addressSolution: Use StacksB6700Place address in stackENTRRETN/EXIT

  • Instruction FormatsBasic machine instruction is called syllableSyllable 8 bitNAMC and VALC are 2 syllables longA subroutine is an array of syllablesData Word: 51-bit long (B6500/7500)3 bits are tag bits48 bits are data

  • Tag BitsTag Bits000 Single Precision op.001 Indirect Reference word010 Double Precision op.011 Program Segment Descr.100 Step Index word 101 Data / Array Descriptor110 used by software111 Program Control wordTo distinguish between data and instructions

    Features:Data may be referenced as operand, with processor worrying about length of operandMemory Protection : Attempt to modify code or execute data as program, system interrupted

  • ArraysDescriptors - can be thought of having base address, length of array and other information about arraye.g.,Segment Descriptor (Code)String Descriptor (4-bit, 6-bit, 8-bit)Data Descriptor (single/double precision)

  • Array - ExampleA [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 System1st OS Executive Program, Master Control ProgramResident 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-ProcessingCentral Processor does actual work, channels do I/O operations.MULTIPROGRAMMINGMake 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.Concept of Task ( Process)Coupling of a program possibly shared with execution record and a processorEventually 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

  • B6700 I/O Control3 types of processorsIOP ( Main I/O processor)DCP ( Data Communication processor)DFO ( Disk File Optimizer)Communication between ProcessorsScan Bus ( Control Signals)SCNI, SCNO Processor #, instructionInterrupts

  • I/O ControlIOPControls, monitors I/O hierarchyReceives OS commandsDirects interrupts to OSTasks for transfer of data between main memory and I/O devicesDCPData Comm. Controller moved a request in queue for DCPResult placed in Result QueueControlled by central processor (Initialize, Halt, Set attention needed)DFOTo optimize algorithms involved in controlling peripheral devices

  • B6700 I/O Processor

  • Stack Machines - Pros and ConsGood 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 descriptorsDifficult to handle multi-dimensional arrays

  • Stack Machines - TodayTrade-offs have changedCode density not very importantDoesnt fit the needs of high-performance Floating point code so stack proves to be bottleneck for high performance implementationsImprovementsEnriching Tags (Hardware recognition)Add operators to work on queue data structuresChanging interrupts to give OS control in order to recognize interrupt by type / by source. No active development of stack machines.

  • ReferencesComputer Architecture A Structured Approach, R. W. Doran, 1979Computer System Organization The B5700/6700 Series, Elliott I. Organick, 1973Burroughs B6500/B7500 Stack Mechanism, E.A.Hauck / B.A.DentBurroughs 5000 Descriptor Manual, Burroughs Corporation, 1963