DG FHP -- Data General Fountainhead Project -- 1975-1981

under construction

DG FHP benchmark results

click for hi-res version (10 MB jpeg file) - courtesy of Ron Gruner (http://www.gruner.com/professional/)


Overview

Andrew Wilson gave an excellent summary of the FHP design in a 1996 newsgroup posting:

On the FHP, the various flavors of HLL interpreters (called S-languages) were optimized, as Alaric suggests, for the popular languages of the day (Fortran, Cobol, and Ada/Pascal). Writing code generators for FHP was, if not trivial, at least much easier than doing good code generation for 16 or 32-bit minicomputers.

I don't think the non-appearance of FHP in the market is a judgment on the technical merit (or lack thereof) on direct architectural support of HLL's. Instead, it was a rational business decision by DG management, who had already launched the Eclipse MV a year before FHP was demonstrable. DG did not have the resources to back two incompatible architectures and time-to-money was firmly with the MV.

In retrospect FHP is a wonderful example of what Fred Brooks called the 2nd-system effect. It was architected by DG's leading software developers and contained all the advances they could think of. How advanced was it, you ask? In addition to S-languages for direct HLL support, would you believe

* true object orientation with one-level addressing across a network (128 bit pointers!)
* A-level secure UNIX-like OS built on a microkernel
* full-blown relational DBMS
* bit-level addressability for graphics

in other words, 'way ahead of its time, but also too radical to develop and debug on the allotted schedule.

Ron Gruner was the project manager and described the project in this way:

The Fountainhead Project was completed and ultimately ran benchmarks significantly faster than any commercial minicomputer, faster even than IBM's 370/158, a multi- million dollar mainframe. But Fountainhead was late to market and did not survive.

DG marketing selected "Galaxy" as the public name for the architecture.


Timeline


Performance Learning Curve on Systems Programming Benchmark Suite

benchmark performance improvement from 1980 to 1981


Photos of FA Board

The FHP prototype used PALs and multi-layered circuit boards. It took five 15x18 inch printed circuit boards to hold all of the logic for the CPU: two boards to do the instruction fetching and three boards to do the instruction execution. These boards were named FA (for Fetch "A" board), FB, EA, EB, and EC. (15x18 inch boards were non-standard for DG at the time.)

DG FHP board top DG FHP board bottom


FHP Patents and DG v. IBM Lawsuit

DG sued IBM in 1994 over FHP-derived patents patents in 1994. The lawsuit and counterclaims continued in litigation until 2000, when DG's successor, EMC, and DG Patent Holdings settled with IBM. Donald Lewine posted about lawsuit in 1994 and listed several patents: [comments are his]

    4,455,602 DIGITAL DATA PROCESSING SYSTEM
          This is the master disclosure and is incorporated
          by reference in the other patents.  It is 550 
          columns and includes 153 sheets of drawings.

          Data General is not asserting any of the claims
          in this patent.

    4,455,603 SYSTEM FOR RESOLVING POINTERS IN A DIGITAL
          DATA PROCESSING SYSTEM
          Covers Dynamic Linking

    4,821,184 UNIVERSAL ADDRESSING SYSTEM FOR A
          DIGITAL DATA PROCESSING SYSTEM

    4,656,579 DIGITAL DATA PROCESSING SYSTEM HAVING A UNIQUELY
          ORGANIZED MEMORY SYSTEM AND MEANS FOR STORING AND
          ACCESSING INFORMATION THEREIN

    4,661,903 DIGITAL DATA PROCESSING SYSTEM INCORPORATING
          APPRATUS FOR RESOLVING NAMES

    4,575,797 DIGITAL DATA PROCESSING SYSTEM INCORPORATING
          OBJECT-BASED ADDRESS AND CAPABLE OF EXECUTING
          INSTRUCTIONS BELONGING TO SEVERAL INSTRUCTION SETS.

    4,525,780 DIGITAL DATA PROCESSING SYSTEM HAVING A MEMORY
          USING OBJECT-BASED INFORMATION AND A PROTECTION
          SCHEME FOR DETERMINING ACCESS RIGHTS TO SUCH
          INFORMATION.
          Covers adding access control lists to memory
          objects.  Used by AS/400 and System/390.

    4,554,626 DIGITAL DATA PROCESSING SYSTEM

The '602 patent (427 pp., 35 MB pdf) contains the system design and is incorporated by reference in many of the other patents.

DG employees listed as inventors on the FHP patents include:

    Ahlstrom, John K.
    Bachman, Brett L.
    Baxter, Ward (III)
    Belgard, Richard A.
    Bernstein, David H.
    Bowden, Paul
    Bratt, Richard G.
    Clancy, Gerald F.
    Coder, William N.
    Czerniakiewicz, Anastasia J.
    Davidian, Gary
    Farber, David A.
    Gavrin, Edward S.
    Gruner, Ronald H.
    Haefflel, Steven M.
    Houseman, David L.
    Jones, Thomas M.
    Katz, Lawrence H.
    Kinder, David B.
    Mundie, Craig J.
    Nealon, James T.
    Pilat, John F.
    Richmond, Michael S.
    Schleimer, Stephen I.
    Wallach, Steven J.
    Wallach, Walter A. (Jr.)
    Wells, Douglas M.

Ron Gruner lists his patents:

    Patent    Year Description
    3,737,866 1973 Data Storage and Retrieval System
    3,765,015 1973 Switch Monitoring Circuitry
    3,931,613 1976 Data processing system
    3,990,052 1976 Central processing unit employing microprogrammable
                     control for use in a data processing system
    4,042,972 1977 Microprogram data processing technique and apparatus
    4,048,623 1977 Data processing system
    4,089,052 1978 Data processing system
    4,104,720 1978 CPU/Parallel processor interface with microcode extension
    4,205,372 1980 Central processing unit employing microprogrammable
                     control for use in a data processing system
    4,323,964 1982 CPU Employing micro programmable control for use in
                     a data processing system
    4,455,604 1984 Digital data processing system having addressing means
                     for translating operands into descriptors identifying
                     data, plural multilevel microcode control means, and
                     ability to execute a plurality of internal language
                     dialects
    4,493,024 1985 Digital data processing system
    4,498,132 1985 Data processing system using object-based information
                     and a protection scheme for determining access rights
                     to such information and using multilevel microcode
                     techniques
    4,499,535 1985 Digital computer system having descriptors for variable
                     length addressing for a plurality of instruction
                     dialects
    4,499,604 1985 Digital data processing system for executing instructions
                     containing operation codes belonging to a plurality
                     of operation code sets and names corresponding to
                     name table entries
    4,514,800 1985 Digital computer system including apparatus for resolving
                     names representing data items and capable of executing
                     instructions belonging to general instruction sets
    4,517,642 1985 Digital computer system having unique means of referring
                     to operands and ability to execute a plurality of
                     internal languages
    4,519,030 1985 Unique memory for use in a digital data system
    4,525,780 1985 Data processing system having a memory using object-based
                     information and a protection scheme for determining
                     access rights to such information
    4,575,797 1986 Digital data processing system incorporating object-based
                     addressing and capable of executing instructions
                     belonging to several instruction sets
    4,618,925 1986 Digital data processing system capable of executing a
                     plurality of internal language dialects
    4,656,579 1987 Digital data processing system having a uniquely
                     organized memory system and means for storing and
                     accessing information therein
    4,675,810 1987 Digital data processing system having a uniquely
                     organized memory system using object-based addressing
                     and in which operand data is identified by names
                     accessed by name tables
    4,731,734 1988 Digital computer system incorporating object-based
                     addressing and access control and tables defining
                     derivation of addresses of data from operands in
                     instructions


References


Acknowledgements: My thanks to Ron Gruner for helping me understand more about the FHP project and system design and to Howard Baulch for the gift of the FA board.


[History page] [Mark's homepage] [CPSC homepage] [Clemson Univ. homepage]