[net.unix] A query about hardware emulator on a Unix system

prindle@nadc.arpa (09/18/86)

Greetings,
I would like to enlist the aid of this net-newsgroup community in exploring
a potential hardware approach to upgrading a programming support enviroment.
We are also looking at strictly software approaches, but these currently
appear to have a high risk.

Requirements for the hardware approach:

a. A micro-programmable co-processor board which would interface directly with
   a high speed, state-of-the-art, computer which primarily runs a variant of
   Unix (preferrably System V, 4.x-BSD, or a happy marriage of the two).
   This board would be capable of emulating the instruction set architecture
   of a fairly primitive 30 bit militarized computer, specifically a Sperry
   (Univac) model CP-901/CP-642B.  I/O channel instructions within this ISA
   would be converted, by the board, into interrupt requests to be honored by
   the main processor and the Unix system.  The board would directly access
   a block of host computer virtual memory space (allocated by the Unix system)
   as the emulated computer's memory.  The emulator could be multiprogrammed
   under control of the main processor and the Unix system: i.e. it could be
   stopped or started at any time by the main processor, any and all of it's
   registers would be readable or writable by the main processor, and the DMA
   memory mapping may be altered by the main processor.

				      - or -

b. A high speed, state-of-the-art, dual or multi-processor computer, running
   Unix as above, in which one or more of the processors could be micro-
   programmed to emulate the CP-901/CP-642B ISA as above, and dedicated to
   that task, with the remaining processor(s) running the Unix system.

The goal is to run existing CP-901/CP-642B hosted support tools and some
application programs with a substantial throughput improvement over a system
which utilizes a physical CP-901/CP-642B computer.  The bottlenecks in such a
system are the physical computer resource itself (which, because it is loosly
coupled to the host computer, cannot be effectively multiprogrammed), and the
I/O channels which provide the only data paths in or out of the physical
computer.  A tightly coupled co-processor, sharing memory with the host
computer and with the ability for the host computer to intervene in it's
execution, eliminates these bottlenecks.  Since, additionally, state-of-the-art
hardware would be handling the CP-901/CP-642B emulation, as contrasted with the
antiquated (and militarized) hardware of the physical computer, it is reasonable
to expect at least a tenfold improvement in throughput (with a single
co-processor vs. using a single physical computer).

Possible candidates for the host computer are a Sun III, Dec 8600 or VAX 11/785,
AT&T 3B series, or anything else which might meet the above requirements.

I would appreciate any information which anyone might have about the existence
of such a system or a similar system which may have been implemented; as well as
any thoughts about the feasibility or potential efficiency of such a system.

Please netmail any reply directly to me, as I do not subscribe to all these
newsgroups.

Sincerely,
Frank Prindle
Naval Air Development Center
Warminster, Pa. 18974
Milnet: Prindle@NADC.arpa

edwards@uwmacc.UUCP (mark edwards) (09/24/86)

In article <3922@brl-smoke.ARPA> prindle@nadc.arpa writes:
>Greetings,
>I would like to enlist the aid of this net-newsgroup community in exploring
>a potential hardware approach to upgrading a programming support enviroment.
>We are also looking at strictly software approaches, but these currently
>appear to have a high risk.
>
 First I would like to state my experience with the CP901, I worked at
 an ASWOC as a Data System Technician (computer repairman), I have fixed
 several problems in it and used it to locate problems in other devices.
 In short I beleive I know exactly what and how it is used . The CP901 is
 also used on some Navy planes while the CP-642B is used on ships.
  Lets talk insides of these computers, can you say transistors ??
 then you can say what the main logic components of the gates are for
 the 642B. Now can you say flat pack ?, You've got it the CP901 is uses
 these components to replace the transistors. Supposedly the same machine
 though.

   I am now a systems programmer/administrator for 780 based 4.2 machine.


>Requirements for the hardware approach:
>
  ....
>   This board would be capable of emulating the instruction set architecture
>   of a fairly primitive 30 bit militarized computer, specifically a Sperry
>   (Univac) model CP-901/CP-642B.  I/O channel instructions within this ISA
>   would be converted, by the board, into interrupt requests to be honored by
>   the main processor and the Unix system.  The board would directly access
>   a block of host computer virtual memory space (allocated by the Unix system)
>   as the emulated computer's memory.  The emulator could be multiprogrammed
>   under control of the main processor and the Unix system: i.e. it could be
>   stopped or started at any time by the main processor, any and all of it's
>   registers would be readable or writable by the main processor, and the DMA
>   memory mapping may be altered by the main processor.
>

    It seems this might cause problems, mainly because I/O is done
 differently on th CP901. It might seem to work fine in testing, but
 when it is ported to the CP901 problems may develop when it used in
 real situations.
>				      - or -
>
>b. A high speed, state-of-the-art, dual or multi-processor computer, running
>   Unix as above, in which one or more of the processors could be micro-
>   programmed to emulate the CP-901/CP-642B ISA as above, and dedicated to
>   that task, with the remaining processor(s) running the Unix system.
>

    I would probably go this route as long as the CP901/CP-642B were actually
 replaced with this machine doing the emulation of these precious dears.

>..... as well as
>any thoughts about the feasibility or potential efficiency of such a system.
>

    Thoughts ? Yes plenty!

    The CP901/642B should be replaced, the computers along with all the
    antiquated periperial devices. Why beat a dead horse ?? The initial
    cost of replacing them will be high. But if cost are taken over a long
    run for maintaining the existing systems, you might even break even 
    the first year !!!!!????

    Examples

      The tape drives break down constantly ( have they been replaced ?).
      The high speed printer blows hammers about 3 a year (for the site
      I was at), they were $400 a crack (Gee I could've had an epson).

      They use Large Screen Projectors for the system, the site I was
      at blew at least of the projection tubes in the two years I was
      there, ~ $1,500 a crack. Seems like Sony or somebody makes a 
      better one, for less.

      The new planes are being built all the time, and it seems the
      cost of building these computers will be outrageously high. The
      power of these machines can't be more than a 68020 chip.

      The cost of training programmers to write programs for these
      machines seems like it would be high. 

      There are better ways of making hardware, (and cheaper).


 Sorry, this probably didn't belong here, but some idea of what the
 system does and what it actually was, wasn't apparent.

 mark
-- 
    {allegra, ihnp4, seismo}!uwvax!uwmacc!edwards
    UW-Madison, 1210 West Dayton St., Madison WI 53706