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)