[alt.folklore.computers] Info on GE-635

crichmon@digi.lonestar.org (Charles Richmond) (01/30/91)

I have read several posts about the old General Electric 635 mainframe.
Can anyone give more information about this computer?  Specifically:

  1)  What was the word size?
  2)  What character code did it use?
  3)  How many registers did it have?
  4)  How fast could it execute instructions?
  5)  Did it support any form of floating point?
  6)  What languages were available for it?
  7)  Does anyone still have one of these beasts?

Maybe someone can post information from the technical manuals for this
machine.  Is there somewhere that I can get ( or get a look at ) the
hardware reference manual  (principles of operation, for IBM types)?
I understand that Honeywell took over maintenance on this machine after
GE quit the mainframe computer business.  Any Honeywell people out there
know if I can get manuals from Honeywell.

Thanks for the info . . .

-----------------------------------------------------------------------
        Charles Richmond               crichmon@digi.lonestar.org

macrakis@gr.osf.org (Stavros Macrakis) (01/30/91)

In article <1665@digi.lonestar.org> crichmon@digi.lonestar.org (Charles Richmond) writes:

   I have read several posts about the old General Electric 635 mainframe.
   Can anyone give more information about this computer?  Specifically:

     1)  What was the word size?
36 bits
     2)  What character code did it use?
It supported 6 and 9 bit bytes.  On DTSS (Dartmouth time-sharing
system), it used ASCII, but it's possible that GECOS (General Electric
Common Operating System) used EBCDIC.
     3) How many registers did it have?  Well, it didn't have general
registers.  It had a 36-bit accumulator, a 36-bit extension (Q), and 8
18-bit index registers, and a special (9? bits) exponent register (E)
for floating-point.
     4)  How fast could it execute instructions?
Couldn't tell you.  On the order of 500 kips, I think.
     5)  Did it support any form of floating point?
Yes.  The EAQ registers together made up the floating point
accumulator, giving you 72 bits of mantissa in the accumulator.  I
forget how it handled floating-point sign.  Note that you got a few
more bits of accuracy in the EAQ than you could get in the
double-precision storage format.  Handy in assembler, but not clear
how you tell a higher-level language how to take advantage of it.
     6) What languages were available for it?  Well, on DTSS, there
was Basic (of course), Lisp, Trac, assembler, Fortran, and something
like sed.  GECOS must have had RPG and Cobol.
     7)  Does anyone still have one of these beasts?
Don't know, but see below re. DPS-8.

   ...
   I understand that Honeywell took over maintenance on this machine after
   GE quit the mainframe computer business.

Actually, the 635 was the ancestor of a whole series of machines: the
645 was a variant with special instructions for segmentation and
protection, built especially for the Multics project.

When Honeywell bought out GE's computer business (in 197x), the GE 600
line was renamed the Honeywell 6000 line, and later the Honeywell
DPS-8 series.  Honeywell's computer business was bought out by Bull
(most of which was for many years a subsidiary of Honeywell).  The
machines are still sold by Bull.  NEC sells DPS-8's, but also a
high-end machine which is based on but incompatible with the DPS-8....
The DPS-8 runs GCOS-8; Multics was discontinued a couple of years ago
(although there are perhaps a couple of machines still running it?);
DTSS has also presumably long been abandoned by Dartmouth, but I don't
know its ulterior history.

A few more technical details on its instruction set architecture:

- 18-bit word addressing
- One-word instructions
- Lots of very fancy addressing modes (e.g. decrement count (setting a
  flag if zero), increment address, and indirect through address),
  which would be very hard for a compiler to generate except in
  stereotyped situations.
- A hairy series of `repeat' instructions, which would take one or two
  following instructions and repeatedly execute them until some
  condition was met.  This was meant for list and string processing,
  but they were very hard to use.  Also very hard for a compiler to
  use except in stereotyped situations.

	-s

mac@eleazar.dartmouth.edu (Alex Colvin) (02/02/91)

I couldn't resist adding to the bits of GE635 trivia...

not only did it run GE's GCOS operating system, and Dartmouth's DTSS,
but the later editions ran CP-6, descended from some of the Xerox XDS.

Among the languages not mentioned so far (I didn't know anyone else
knew TRAC) were DYNAMO (continuous systems simulation), and one of the
world's first Algol68 compilers (unrevised, and never completed).

Though the opcode field was 9 bits wide, it was sparsely populated.  I think
fewer than 200 were valid.

The register model (E, A, and Q) was taken from the classic IBM 7090 36-bit
machines, whose scientific customers fled rather than use 32 bit 360s.

dgh@Unify.com (David Harrington) (02/02/91)

In article <MACRAKIS.91Jan30031445@diderot.gr.osf.org>, macrakis@gr.osf.org
(Stavros Macrakis) writes:

>      2)  What character code did it use?
> It supported 6 and 9 bit bytes.  On DTSS (Dartmouth time-sharing
> system), it used ASCII, but it's possible that GECOS (General Electric
> Common Operating System) used EBCDIC.

I seem to recall GECOS standing for GE Comprehensive OS, but who's arguing? :-)
The original GECOS (and GCOS, after Honeypot bought it) used 6-bit BCD 
characters; somewhere around 1972 they released the EIS (Extended 
Instruction Set) hardware add-on, which allowed character addressing on 9-bit
boundries for ASCII (+1), so you got 4 ASCII characters per word.


>      3) How many registers did it have?  Well, it didn't have general
> registers.  It had a 36-bit accumulator, a 36-bit extension (Q), and 8
> 18-bit index registers, and a special (9? bits) exponent register (E)
> for floating-point.

I don't remember the E register.  I thought floating point was done in the 
AQ register with the leftmost 9 (or was it 18?) bits used for the exponent.

Remember the TSX1 subroutine call convention?


>      4)  How fast could it execute instructions?
> Couldn't tell you.  On the order of 500 kips, I think.

On the console of the system was a "speedometer" as I liked to call it.  It was
an analogur guage with a needle that registered your KIPS.  Pegged at 1 MIPS.


>      5)  Did it support any form of floating point?
> Yes.  The EAQ registers together made up the floating point
> accumulator, giving you 72 bits of mantissa in the accumulator.  I
> forget how it handled floating-point sign.  Note that you got a few
> more bits of accuracy in the EAQ than you could get in the
> double-precision storage format.  Handy in assembler, but not clear
> how you tell a higher-level language how to take advantage of it.
>      6) What languages were available for it?  Well, on DTSS, there
> was Basic (of course), Lisp, Trac, assembler, Fortran, and something
> like sed.  GECOS must have had RPG and Cobol.

COBOL, Algol-68, Snobol, too, at least at the Univ. of Kansas.



> - 18-bit word addressing
> - One-word instructions
> - Lots of very fancy addressing modes (e.g. decrement count (setting a
>   flag if zero), increment address, and indirect through address),
>   which would be very hard for a compiler to generate except in
>   stereotyped situations.
> - A hairy series of `repeat' instructions, which would take one or two
>   following instructions and repeatedly execute them until some
>   condition was met.  This was meant for list and string processing,
>   but they were very hard to use.  Also very hard for a compiler to
>   use except in stereotyped situations.
> 
> 	-s

Ahhh, yes... the good old RPD (repeat double) instruction!


--
David Harrington                                  internet: dgh@eire.unify.COM
Unify Corporation                          ...!{csusac,pyramid}!unify!eire!dgh
3870 Rosin Court                                        voice: +1 916 920-9092
Sacramento, CA 95834                                      fax: +1 916 921-5340

haynes@ucscc.UCSC.EDU (99700000) (02/02/91)

In article <1991Feb1.222231.14103@dartvax.dartmouth.edu> mac@eleazar.dartmouth.edu (Alex Colvin) writes:
>The register model (E, A, and Q) was taken from the classic IBM 7090 36-bit
>machines, whose scientific customers fled rather than use 32 bit 360s.

I'll add a little to this.  G.E. hoped to capture a lot of 7090/7094/7040/44
customers.  Toward this end they built a simulator aid box (called 9SA)
with a port that connected to the 635 memory and another that connected to
a 635 processor.  The 9SA performed part of the 7090 family instruction
set.  When it came to an instruction it could not perform it would trap
the 635 CPU, which would read the 9SAs registers, emulate the instruction
in software, store the results back into the 9SA, and set it going again.
The 9SA had no I/O facilities and the 635 I/O architecture was quite
different from IBMs; so emulating I/O in 709x/704x programs was more
complicated.

The intention was to lend the 9SA to a customer until he had converted
his IBM programs to run in native mode on the 635; then GE would take it
back.  In fact the conversion process took a lot longer than expected,
so the 9SAs didn't turn over as fast as expected.

Some ex-GE people had a different idea, and started a company to manufacture
machines that, through microprogramming, would emulate the 7094 exactly.
Rats! I can't remember the name of the company now; it started in Phoenix
and later moved to Los Angeles.



-- 
haynes@ucscc.ucsc.edu
haynes@ucscc.bitnet

"Any clod can have the facts, but having opinions is an Art."
        Charles McCabe, San Francisco Chronicle

pcg@cs.aber.ac.uk (Piercarlo Grandi) (02/03/91)

On 1 Feb 91 22:22:31 GMT, mac@eleazar.dartmouth.edu (Alex Colvin) said:

mac> I couldn't resist adding to the bits of GE635 trivia...

Me too.

mac> not only did it run GE's GCOS operating system, and Dartmouth's DTSS,
mac> but the later editions ran CP-6, descended from some of the Xerox XDS.

And Multics, as many have remarked.

mac> Among the languages not mentioned so far (I didn't know anyone else
mac> knew TRAC) were DYNAMO (continuous systems simulation), and one of the
mac> world's first Algol68 compilers (unrevised, and never completed).

A very important language for the 635 was Jovial. I think that Jovial is
one of the more widely used languages, in terms of lines of code lying
around. Wasn't the USA military WWCCS implemented in a few million lines
of (among others) Jovial on GE 600 (in their various later incarnations
as Honeywell 6000, etc.) machines?

Notable point about Jovial: it is the only language I have seen that
makes explicit the important difference between serial and parallel
representations of arrays of records.

Finally, Algol 68 was eventually implemented quite extensively and well
under Multics on the Level 68.
--
Piercarlo Grandi                   | ARPA: pcg%uk.ac.aber.cs@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk