jk@utastro.UUCP (John Krist) (11/26/85)
* I suggest you print this out for easier reading *
I received the Definicon DSI-32 32032 coprocessor board for the PC
five days ago, and I am ready to give my initial impressions of the
board. It took 4 weeks to get it.
I have posted this article in both net.micro.pc and net.micro.16k
because I know many in .pc do not read or know of .16k and might be
interested.
Here is what I have:
Advanced board with 10 MHz 32032 and 32081 math processor
1 Mbyte of memory
C, Pascal, and Fortran compilers
Assembler and linker
Librarian
Debugger/monitor
Public domain Forth and XLISP languages
What follows assumes that you have read the August and September
1985 issues of BYTE magazine which include articles on the DSI-32.
The Board:
The board appears to be well made and layed out. There are now
red, green , and yellow LED status lights on the board. There is
also a heat radiator on the 32032 which is about 1/4 an inch high, so
you have to be sure it does not touch another board.
The board is now available with 2 Mbytes for an additional $495 or
so. The extra memory is soldered / piggybacked onto the 1Mbyte array.
If you are not afraid of soldering your own memory, you can get the
extra Mbyte for about $120 from certain sources. Instructions for
doing the soldering and the needed pin bending are included.
* The System Software and Manuals
A one inch thick manual covering the installation of the board,
the assembler, linker, loader, and monitor is included. This is a no
thrills manual and is not meant for those who do not know the basic
technical principles behind computer hardware and software. A small
chapter also discusses the object file format.
The section on the assembler covers only the assembler elements,
procedures, pseudo-operations, etc. If you want to use it, you will
need the National Semiconductor 32032 instruction set manual, which
you can get through Definicon for $ 25.
The full assembler comes only with a compiler or ordered
separately.
The manual also describes the ability of PC-DSI multiprocessing
under Digital Research's Concurrent Dos. You can be running a
program at full speed independantly on the DSI while doing something
like editing on the IBM. A driver for this is available.
* I have not used the Forth or XLISP programs yet *
* The Compilers *
The C, Pascal, and Fortran 77 compilers are full UNIX compatible
compilers. They were, in fact, simply ported from the UNIX
environment. The DSI's MS-DOS interface emulates all UNIX calls.
I ran the C compiler with an #include <stdio.h> call and it gave
me an error message saying that it could not find /usr/include/stdio.h.
I found out that the path to any include files must be given as an
argument on the loader command line. I suppose you could use the
MS-DOS PATH facility, though.
All compilers can call functions and subroutines written in another
language just a UNIX allows. Interfacing the compilers with
assembly routines is described in the system manual.
The manuals for each of the compilers describe only the libraries
and using the compilers. I have written to see if the compiler
writers, Green Hills, has full reference manuals.
In addition to the C library, the following #include files are
included: STDIO.H, PORTAB.H, ERRNO.H, MTH.H, SETJMP.H, CTYPE.H.
The Pascal library seems full, but I have not used it enough to
comment.
The Fortran is full '77. Along with the library manual are two short
documents from UC-Berkeley and Bell Labs describing the standard UNIX
Fortran and the I/O library.
* Note: The Fortran library is now from AT&T. This means that you
have to pay an extra $ 175 and sign and return a license before you
get the Fortran.
The compilers produce inline assembly source code, so the final
executable file can be large. For instance, the executable file
for a Fortran Sieve benchmark for 80,000 primes is about 350K bytes.
The compilers are pretty fast and most of the time taken is for
reading in the compilers. I would say it takes about 10-20 seconds to
compile a 100 line program, with little more required for larger programs,
since the DSI is compiling them REAL FAST. The assembly code seems
highly optimized. Assembly takes even less time. The linker takes
about a total of 30-40 sec to link the 100 line program.
Some benchmark times: ( see the BYTE article for more benchmarks )
August 1984 BYTE magazine UNIX benchmarks ( from the system manual )
Benchmark 1 - piping ( not done )
Benchmark 2 - overhead involved in simple operating system call
Benchmark 3 - C compilers overhead in making empty function call
Benchmark 4 - Sieve benchmark, in a slightly different form
Benchmark 5a - time taken to write 128k sequential file
Benchmark 5b - time taken to randomly read back that file
Benchmark 6 - test shells ( not done )
Benchmark 7 - time to perform empty loop
Times in seconds
DSI-32 VAX 11/780 VAX 11/750
Bench #2 3.88 4.8 7.0
Bench #3 0.55 1.0 1.7
Bench #4 1.93 1.7 2.4
Bench #5a 5.60 2.0 3.0
Bench #5b 12.00 8.0 8.0
Bench #7 2.36 2.6 5.1
These were run on a Compaq Deskpro under MS-DOS 2.1 with a 20 Mbyte
CMI hard disk.
My own couple of benchmarks:
1. Writing 1600 real numbers, continuous,free format, to hard disk
in Fortran.
2. Reading in file from #1 in Fortran.
3. FLOAT benchmark from Nov. 1985 BYTE article on Macintosh C compilers.
times and file sizes ( in seconds and bytes )
test source compile assemble link execution
no. size (size) (size) (size) time
1 (write) 172 19.5s 13.0s 29.0s 7.96s
(985) (2193) (44032)
2 (read) 195 19.6s 13.4s 27.6s 4.61s
(988) (8323) (41472)
3 (float) 425 17.2s 12.7s 16.2s 1.55s
(677) (2164) (4096)
Macintosh execution time = 268.22 to 334.32
file size = 7256 to 32256
All above times and sizes were on an IBM-PC with 20Mbyte hard disk (avg.
access time of about 100-110 milliseconds.)
* PROBLEMS *
All is not perfect in 32 bit land. I must say that the system manual
is a bit too dry and seems to leave some things out. I would like to see
the following included:
- Information on the optional memory management unit; why might
I want one? What is it?
- More examples on calling the system interface routines in
assembler; only one example is given
The graphics demo did not work on my Paradise Modular graphics card.
The demo was suppose to draw rectangles on the mono screen by drawing
one rectangle, clearing the screen, and drawing another, etc. It did
this. ( Pretty neat. It looks as if there are 20 rectangles on the screen
at once.) But then it is supposed to go into 320x200 mode and draw circles
and then into 640x200. It did not in either case; it simply printed
alphanumeric junk.
The demo was suppose to demonstrate the graphics interface routines
available from Definicon at an additional charge. It is suppose to draw
many screens in the DSI memory and dump them into IBM memory, creating
fast graphics.
Also, I have been having problems trying to contact the Thousand Oaks
board as mentioned in BYTE. The system seems very unreliable.
I do not know if UNIX will be out for the board very soon. The people
there think that the DOS interface is just fine are are a little bit
against UNIX on the board, as far as I can tell. The DOS interface
agrees with me, though.
Final opinion: I LOVE IT! SPEED, FULL FLEDGED COMPILERS! 32 BITS! This
is the future, and those who want real computers with real
compilers without going broke will want this.
*** NOTE: THE PRICES GIVEN IN BYTE WERE INTRODUCTORY AND ONLY FOR THOSE
WHO MENTION BYTE MAGAZINE WHEN THEY ORDER. THIS SPECIAL OFFER MAY
HAVE EXPIRED ! CALL THEM AND SEE !
If anyone out there has anything else that you would like to know
about it, or they would like to have your favorite benchmark run on
the board, mail it to me.
Anything else I might say about the board after this will be posted
in net.micro.16k.
John Krist
University of Texas at Austin
Astronomy Dept.
(jk@utastro.uucp)