Theo Engel's P800 pages (Philips Electronics' 16 bit minicomputers)
   

  • Home
  • P800 Simulation (P860, P856)
  • P856 Simulation
  • P800 Software

  •    Last update: Dec 15 '11

    sag About the P800 Minicomputers

    After selling the Honeywell minicomputers for a number of years, Philips developed its own minicomputer line. This first resulted in the P880, which was a very powerful 16 bit machine, but it was for 1970/1971 a too big and too expensive machine for applications which required small scale, cost effective computer power. The alternative became another computer line, incompatible with the P880, but much more focused on minicomputer applications at that time. The P880 found its way to scientific and computer graphics applications.

     

    P860
    P860 (rack mount)

     

     

     

     

     


    P857
    P857 (rack mount)

     

     

     

     

     


    P854
    P854

     

     

     

     

     


    P855
    P855

     

     

     

     

     

     

     

     

     

     

     

    In 1971, Philips Data Systems started the marketing of their 16 bit minicomputers of the P800 family (development name: Sagittaire and created by Philips-CTI in Fontenay Aux Roses near Paris, France). The family started with 3 models: P850, P855 and P860. The P850 was a very small machine with only 2k of 16 bit words. The P855 and P860, upwards compatible with the P850, shared a common instruction set and had a memory varying from 4k 16 bit words up to 32k 16 bit words. The only difference between the two models was performance: the P855 memory cycle time was 1.2 musec, while the memory cycle time of the P860 was 0.84 musec. End 1973 this difference was removed; the P855 got the performance of the P860 and the P860 was dropped.
    Follow up was created by three new models in 1976: the P852, 95% compatible with the P855 (except for channel IO and interrupt system, and some instructions were simulated), the P856 and P857, which both had a common extended instruction set, while the P857 had as extra a floating point option and also got memory up to 128k 16 bit words and a memory management unit option to operate on memory bigger than 32k words.
    The last members of the family were the P851, which was a single board LSI version of the P852, the P853/854 and the P858/859. The P853/854 and the P858/859 were "similar" machines: LSI versions of the P857. P853/P858 had memory upto 128k 16 bits words and the P854/P859 upto 512k 16 bit words. The P853/854 were built as "small" machines on euro cards. The P858/859 were built for the installation in a 19 inch rack, like the P856/P857. These LSI machines came on the market in 1981/1982

    The hardware was complemented with an extensive set of standard software: operating systems for various purposes, language processors, utilities, multi key file management and software libraries (for real time, non real time and data communication applications).

    The standard software was delivered as "papertape" software for the smaller machines and disk oriented software for the larger machines. All standard software like the assembler, Fortran, linker, etc. were running under monitor control (except for the P850). BOM (Basic Operating Monitor) and BRTM (Basic Real Time Monitor) supported the papertape oriented configurations, while DOM (Disc Operating Monitor) and DRTM (Disk Real Time Monitor), both upwards compatible with BOM and BRTM, supported the machines configured with one or more disc units. These operating environments could be used on machines with a memory of up to 32k 16 bit words. In principle these systems were "single user systems", while the real time monitors supported multitasking.

    With the P857, with memory up to 128 kwords, an additional operating system was introduced: MAS (Multi Application System). By combining the features of DOM (batch processing, software development, ..) and DRTM, this system created a foreground/background operating environment with true multi user support.

    By means of a system generation process, each operating system could be composed to fit a machine configuration and the applications to run on that machine. This way also cassette tape and later floppy disc based systems could be produced. For small/dedicated process control applications, a special monitor was available: SRTM (Small Real Time Monitor), which supported a subset of the BRTM functionality.

    Unfortunately not much is left of this computer family. Also on the web is hardly any reference available, so it looks like these machines are completely forgotten. When cleaning my archive I found a few P800 documents, which I once kept as remembrance to an early period in my working life. It is not much; most I had, already long time ago disappeared in that other archive. But the little I still have and remember and the documentation and software (both DOM and DRTM) I received since these pages were published (thank you !), is may be just enough to prevent that the P800 is completely lost for the community.

    The P800 machines are a good illustration of where the development in the early seventies of small computers was heading at. Compared with the Honeywell machines the biggest difference was not the hardware cq. the size of the machines. Indeed, the P800's were much smaller than the DDP-416/DDP-516. But the H316 was also much smaller than its predecessors. The biggest difference, and also the beauty of the P800 machines at that time is, e.g. compared with the Honeywell machines, the instruction set: 16 general purpose registers, subroutine linkage by means of a hardware stack, standard an interrupt priority system, interrupt handling with a hardware stack, software interrupt in combination with user/system mode differentiation and memory protection to completely separate user applications and operating system and excellent facilities to make code reentrant. In a little more than 5 years, the ideas about the design of a small computer were completely changed. These pages are meant to preserve at least some of the ideas that were behind the 1970 P800 design.

    Documentation

    P855M/P860M System Description

    P800 Disk Organization (part of booklet P855M Disc Operating Monitor)

    P855M System Software Reference Card

    P850M/P855M Hardware Reference Card

    P800 Fortran Reference Card

    P800 Assembly Language Specification

    P800 (P852/56/57 ..) Instruction Set (Extended Specification)
      For the instructions supported by the P855/60, see the P855M/P860M System Description
      1   Instruction Formats and Symbols
      2   Load an Store Instructions
      3   Arithmetic Instructions
      4   Logical Instructions
      5   Character Handling Instructions
      6   Branch Instructions
      7   Shift Instructions
      8   Table Handling Instructions
      9   External Transfer Instructions
      10 Control Instructions
      11 Input/Output Instructions
      12 String Handling Instructions

    P856M/P857M System Handbook
      part 1: Hardware Structure, Memory Management Unit (MMU), Floating Point Processor (FPP)
      part 2: Instructions, Data Flow, GP Bus, Interrupt System, Input/Output
      part 3: Control Panels, Panel Operation, Features, Datacom/Digital IO, Cabinets
      part 4: Peripheral Equipment, Software

    P800 Disc Operating Monitor (DOM) for P852/56/57
      part 1: Principles, Programming, Disc organization, Data Management, Operation
      part 2: CCI commands, Operator control, Monitor requests
      part 3: Appendices: SYSGEN, Premark, Peripheral IO, Bootstrap

    P800 Disc Real Time Monitor (DRTM) for P852/56/57
      part 1: Principles, Memory organization, Programming, Disc organization, Data Management
      part 2: Operation, Control commands, Operator control, Monitor requests
      part 3: Appendices: SYSGEN, Premark, Peripheral IO, Bootstrap
      DRTM Internals and Configuration
      part 4: System Components, Internal Organization, Input/Output
      Monitor Modules: Flowcharts and Functional Description
      part 5: IniMon, Loader and Dispatcher
      part 6: PowerFail/Restart, Clock, MonitorRequest, IO, Wait, Exit, Get/Free Buffer
      part 7: Connect/Disconnect Timer/Level, Activate, Switch, Attach/Detach, GetTime, Set/Wait Event
      part 8: Assign/Delete Filecode, Read Unsollicited, Cancel Unsolicited Read, Swap
      part 9: Disc File Management, Operator Communication, Dynamic Memory Allocation, Timer Handling

     

     

    Page last updated on: December 29 2008 | Contact: Info@theoengel.nl