Comparative Timings of various
Data General 16-bit CPUs

    Presented here, the reader will find the results of a trivial exercise which the author undertook when curious about the relative performance of his assorted DG machines.

    The program itself is a trifling little thing and uses no instructions other than those defined in the basic instruction set .

    The program used was as follows:



   0001  TRIFL 
                       .TITL   TRIFL

               ;    I'm going to use this little trifle to test the
               ; comparative speeds of the various DG processors I have in
               ; my collection.
               ;
               ;    The overall logic is simple enough to qualify as almost
               ; brain-dead. We'll go ahead and zap AC0 (in case it isn't
               ; already) and increment it by one until it overflows back to
               ; zero. When that happens, we'll bump another (negative)
               ; value until it, too, goes to zero; at that point,
               ; we'll call it quits and halt.

               ;    The object will be to measure, by eyeball-and-wristwatch,
               ; the amount of time the whole thing runs for.

        000000         .LOC 0               ; Set PC to zero

  00000 102440 START:  SUBO    0,0          ; Zap AC0 for the initial loop
  00001 101404 LOOP:   INC     0,0,SZR      ; Bump AC0 until it wraps
  00002 000001         JMP     LOOP         ; Keep going....

               ;    When we get here, AC0 has been incremented 2^16 times
               ; (65,536). This should make for a good delay test.

  00003 024020         LDA     1,COUNT      ; Load the loop count
  00004 125405         INC     1,1,SNR      ; and bump it; skip if not done.
  00005 063077         HALT                 ; We're done - stop the CPU
  00006 044020         STA     1, COUNT     ; Save the current loop count and
  00007 000001         JMP     LOOP         ; go back and do it again....

        000020         .LOC 20              ; Set PC to 20 (for convenience)
  00020 177400 COUNT:  -256.                ; Loop count

        000000         .END    START

    As can be seen, there's no advanced programming in here, just a simple brute- force attempt at gathering a gross comparison of the machines here. For those of you who are wondering why I didn't use an ISZ instruction for the COUNT, it had to do with the fact that on the Eclipse console the STOP/STORE feature doesn't stop the processor on an ISZ (STOP/ADDR does, but wasn't what I was looking for).


    Here are the results in order of speed:


	 Machine	Time
	 -------	----

	Eclipse S/130	21s
	Eclipse S/230	21s
	Nova 4		22s
	Nova 840	26s
	Nova 2		27s
	Nova 3		30s
	Desktop Gen-10	33s *
	Rolm 1602B	33s +
	Desktop Gen-20	34s
	Eclipse S/20	34s *
	Nova 1200	45s
	Nova MP/100	89s
	MicroNOVA       89s


    The "wristwatch-and-eyeball" method does have its problems. If one is staring at the watch it's tough to tell just when the CPU halts; if you're staring at the computer you can't be concentrating on the watch. Such is life. I need to go out and buy a stopwatch.

    The little Novas were fun in that the sounds they usually make change when they halt and the power consumption drops (the switching supplies' audible pitch increases slightly). This made it a bit easier to tell when one stopped. The Eclipses are too loud in normal operation to tell what was going on.


[ Museum Lobby ] [ Museum Catalogue ] [ Carl's Homepage ]


Copyright © 1998 - 2004, Carl R. Friend. All rights reserved.
Webspace design by: Carbon & Silicon Alliance

Comments to: carl.friend@rcsri.org
Last Modified: Sun Aug 22 09:39:02 EDT 2004