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.