ULTRACOMPUTER PROTOTYPE NOTE #1 Jim Lipkis October, 1981 Microprocessor System Survey Information on various commercially-available Development Systems and Operating Systems (based on the MC68000 and Z8000) which might be useful for the Courant PUC (Prototype UltraComputer) Version -1. (This file is being continually updated as data becomes available. LAST UPDATE - 22 Oct. 1981.) Criteria regarding potential operating systems: 1) Support of MC68000 or Z8000 2) Access to full address width supported by hardware (24 bits) 3) Segmentation mechanisms (hardware & software) (not essential) 4) Compatibility with a "standard" operating system, e.g., Bell Unix Version 7. (This may be important for network packages, e.g., DECNET or UUCP, that could be useful on the PUC for interconnection to VAXi, and possibly other software as well.) 5) High-level implementation language 6) Availability of mature (i.e., working) version of system. 7) Availability of source code for a nominal fee. The following includes information on both development systems (i.e., hardware packages usually including microprocessor, memory, floppy and hard disk, and (serial) communications ports) and operating systems for micros. It is organized by operating system; in some cases the development and operating systems come paired. SUMMARY: In general there is much less available than immediately meets the eye in the world of 16-bit systems. Items 6) and 7) in the above list are the trouble spots, particularly with regard to UNIX(-like) systems. The following lists development system/operating system pairs in (roughly) decreasing order of apparent usefulness for the PUC. Vendor Op.Sys Comments WICAT Bell UNIX No known drawbacks. Price extemely low. Ease of hardware interface unknown. Q1 (*) IDRIS Price good; local collaboration. Ref. IDRIS below. Charles River UNOS Not UNIX compatible. Likely good for hardware interfacing. Chromatics IDRIS Moderately inexpensive; (nice high-res. color graphics.) Ref. IDRIS below. Apollo (*) Apollo O.S. not Unix-compatible; src prob. not avail. Expensive. (Fancy personal computer with advanced distributed, virtual architecture.) Motorola IDRIS Expensive development system. Ref. IDRIS below. (Exormacs) C.M.Tech. Bell UNIX Reasonably priced development system. Ref. ("XENIX") XENIX below. Cromemco CROMIX Not available until mid-82; source prob. not available. MicroDaSys Bell UNIX Availability unknown. Price not fantastic. ("VIRNIX") Ref. VIRNIX below. Whitesmiths IDRIS UNIX compatibility problems. System quality unknown; will be available soon. Microsoft XENIX/VIRNIX (Ported Bell UNIX V7). Prob. not available until mid 82, source likely not available ever. This list excludes systems supporting only 16-bit addressing, and (consequently) includes only MC68000-based packages. WICAT UNIX (WICAT, Orem, Utah; sales office in NY) Bell UNIX V7, ported to the MC68000 by WICAT for their own development systems (System 100 & System 150). Includes the Portable ("Johnson") C compiler, modified to support floating-point with emulation package (where desired), and to generate 32-bit (!) addresses as well as code generation for 68000. WICAT UNIX and all language processors (currently including C, Pascal, APL; FORTRAN and COBOL by November; Modula and Basic eventually) generate 32-bit addresses. (Note: Within two years, Motorola will have a version of the 68000 with 32-bit addressing; this is presumably the reason.) The UNIX systems will be packaged with WICAT's own MMU, which maps fixed 4K pages using 32-ns. bipolar RAM. WICAT UNIX is to be available in January 1982; a prototype should be running in the NY sales office by December 1. I have been told that FULL SOURCE OF WICAT UNIX AND C IS AVAILABLE and in fact is routinely shipped to users already in possession of a WE UNIX license. (It is unclear whether WICAT would send us full system sources or just source for their mods, to be applied to WE UNIX source.) Quoted price for the development system is almost incredibly low. The System 150 costs $8500 less 10% e.a. (e.a. is 40% for maintenance) and includes MC68000 processor 256KB RAM 10MB hard (Winchester) disk 700KB micro-floppy 2 RS232 serial ports CRT terminal Their operating system (MCS)...UNIX may be extra One free language of customer's choice. with lots of available extras (e.g., high-speed serial network interface, floating-point hardware, etc.). (Ed. note: This would appear to be a strong candidate for the PUC or any other project interested in the 68000 processor. System price is roughly one-third of the going industry range ($20K-30K for fairly similar systems). First impression is that the company is competent and energetic, interested in cooperation with universities, and generally flexible. If there is a catch or fatal flaw here, it has yet to surface.) IDRIS Unix-"compatible" oper. system (Whitesmiths Ltd., New York) (i.e., Rewrite rather than Port of UNIX) Supports MC68000 (Pre-release version available now, production by Thanksgiving, 1981); will support Z8000 in the far future. (Will support VAX within 6 months, for what it's worth.) Full 24-bit addressing on 68000. Compatibility with UNIX: - Run-time environment is compatible with UNIX version 6. Version 7 system calls must be emulated with user software. - C language is compatible except for a minor (I believe) difference in processing of EXTERNALs. - C library is not compatible; some subroutine names and calling sequences are substantially different. The result is that C source programs can typically not be brought from UNIX and re-compiled without either changing all the library routine calls or using the real UNIX C library instead of the IDRIS C library. Price Whitesmiths has no educational discount and is not interested in joint studies with universities, swaps, or freebies. IDRIS system (binary) with source for device handlers... $2200 Optional sources Full IDRIS and C 22000 C only 7000 IDRIS "resident" only 5000 (Scheduler, interrupt handlers) Package of IDRIS linker, librarian, 2500 and object-module utilites (There are several other packages available. Further, they are willing to price sources on a module-by-module basis if we want to pick and choose.) Hardware. IDRIS runs on (at least) the following systems... Q1 (Q1 Corp., Happauge, NY) Q1 is willing to make their MC68000-based development system available at cost to the Courant Institute, or to match any firm offer (e.g., from WICAT). Their configuration consists of MC68000 processor 256KB RAM 16 Asynch communication ports 33MB Winchester disk Dot matrix printer Televideo terminal Price (cost) is $18,000 (15,000 without the printer). Extra memory is $4000/MB. Maintenance is $180/mo. (from their service office at 528 La Guardia Pl.). Q1 is not using Whitesmiths' 68000 IDRIS; they obtained a PDP-11 IDRIS from Whitesmiths and did the 68000 port themselves. According to Peter White, the (Q1) developers had a number of problems stemming from poor quality Whitesmiths software, particularly in the C compiler. CHROMATICS (Tucker, GA) A "color graphics computer", based on the MC68000. Will run Whitesmith's IDRIS, with C and Pascal compilers. It appears that Chromatics also ported the PDP11 Idris to the MC68000 themselves; this has not been determined for certain. They have had some problems with the software, however; it is said to be "almost solid" now. (Chromatics will provide software maintenance for customers.) They expect to have the software ready by the end of October and to be shipping systems by December. The machine is intended as a single-user system. It is packaged with no memory management unit; hence, although multitasking is supported, there is no inter-user protection. Chromatics current software development is in the area of new device drivers for display peripherals (e.g., joystick) and screen windows (so that each window will be adressable as a "file" in the /dev directory for I/O redirection, etc.). For $15K, the basic package includes MC68000 128K RAM (expandable to 8M ?) 19" bit-mapped color CRT, 1024x768 viewable resolution 2 serial communications ports Extra ($4K each) 10MB hard disk Dbl-density 512k floppy disk(s?) more forthcoming, esp. software EXORMACS (Motorola) This is Motorola's own development system for the MC68000. Salient characteristic is the price; for around $30,000 the package includes a fairly standard set of peripherals (including Winchester disk) on the VERSAbus. VERSA module, a 68000-based component board sold by Motorola for OEMs. Charles River's UNOS (Charles River Data Systems, Natick, Mass.) UNOS is the operating system component of the Universe 68, announced in September, 1981, as Charles River's first microprocessor system product. (Past products have been PDP11 peripheral boards, interfaces, etc.) UNOS is said to be conceptually similar to Bell UNIX V7 with some functional enhancements. It is NOT upward compatible with UNIX; allegedly C programs can be recompiled and run with only minor modification (of course this is true of almost any system). UNOS is implemented in C. Fortran, Pascal, and Basic are also available (Cobol in early 1982). There is no limit on addressing; the system and language processors support 32-bit addresses. A memory-management unit (in-house design) is included for user isolation only, although a virtual (paging) version is under consideration. System source is likely to be available (for a price), but no commitment has been made. There is some concern about security, esp. for the proprietary kernel of UNOS. Currently-established software prices are $3000 for the binary system, $10000 for the system with source of "system utilities" (including sysgen-related programs). The Universe 68 is a true development system for OEMs, not an end-user package. The low-end package costs $18,500 and includes MC68000 processor 256K RAM, expandable to only 512K (but see below) 2 serial ports, 1 parallel 8 MB Winchester disk 1 MB double-sided floppy UNOS binary (<-- verify) As of first quarter 1982, there will be a package for $20,500 which will contain 512K of RAM expandable to 2M. On the high end, there is a system for $40,500 which includes a larger backplane (10 free slots) and 80-MB Winchester disk. This system has been in development over 3 years; they claim to have 3 test sites and a number of orders already. (Ed. note: This having been primarily a survey of software and end-user systems, we (I) have paid little attention to issues like interfacing with user-provided hardware, availability of slots on the backplane, bus protocols, etc. Charles River is the only vendor contacted so far that seems to show an interest in such OEM-support aspects. These will be important questions for the PUC system.) XENIX and VIRNIX (Microsoft, Bellevue, Wash.) XENIX is Bell UNIX V7, ported by Microsoft to various machines. They are currently working on microprocessor versions--for the Intel 8086 first, then Z8000, then MC68000. They (OEM relations people) are saying that the 68000 XENIX system is at least six months off (April 82). At least one of Microsoft's OEM customers, impatient for the 68000 version, is working on it themselves with cooeration from Microsoft. It is possible that one of these will produce a 68000 XENIX soon; one (MicroDaSys) claims that XENIX will be available on their development system in December or January. However these efforts seem to have been stalled, in particular by hardware problems (!) in the 68000 development systems. VIRNIX (VIRtual xeNIX) is a paging version and will be available even later (estimates vary so widely as to be not worth quoting). Information on whether XENIX itself will support 24-bit addressing on the 68000 is unavailable; it seems likely that it will not. VIRNIX will support the full address width. Microsoft is unwilling to make sources available to anyone (except possibly OEMs), in particular to universities, which they regard as security risks. They claim to be willing to negotiate on this but seem unlikely to make an exception. Several vendors have XENIX/VIRNIX-based development systems in the works, including MicroDaSys (Los Angeles) whose "68K" system will run VIRNIX on an MC68000 (operating at 12 MHz!). Specifics on prices and configurations not known. VIRNIX-scale system with 512K RAM and 24M of hard disk is around ("under") $25K, however. MicroDaSys has contracted with a separate consulting firm to concoct an early working version of Microsoft's VIRNIX. It is conceivable (given an exemption from Murphy's law) that this could produce one of the earliest 68000 UNIX systems available. Lack of sources will be the major problem in that case. C.M. Technologies (Palo Alto, CA) claims to have a 68000-based XENIX system available by February. The system is alleged to support full 24-bit addressing using an MMU with no paging software. My impression is that they haven't talked with Microsoft recently enough to realize that XENIX availability has been slipped considerably. Development system will support the following for $21,950. MC68000 512K RAM 8MB hard disk 1MB floppy 4 communications ports (unclear) XENIX CROMIX (Cromemco, Mt. View (?), Calif.) CROMIX is Cromemco's locally-developed UNIX look-alike system for the M68000. It will not support the Z8000. It will not be available until March-April 1982, so little information is available. (Cromemco's M68000-based development system, or at least the processor board, will be available in January.) Source for Cromix is probably unavailable. The system will support 24-bit addressing; 16M user-program address space. It is not known whether Cromix will be a virtual paging system, but that seems doubtful. It is said to be UNIX- compatible at the source (C) program level. (This is unlikely to be 100% true since the run-time environment is at best an imitation of UNIX.) Languages supported and pricing are also unknown. The people at Cromemco were unable to answer any technical questions and referred me to a NY dealer (Computer Center Inc.), who supplied the above information. ONYX ( ???? ) DOES ANYONE KNOW WHERE THIS COMPANY IS LOCATED (EVEN ROUGHLY)? Without that information it is difficult to contact them. The following has been garnered from Arpanet hearsay; some of it may be factual. ONYX markets a one- to eight-user machine which runs a port of Bell UNIX V7 (V6 shell?) on a Z8000 processor. The eight-user machine with 512K RAM and and 18M hard disk costs around $25K. The machine (necessarily) uses the unsegmented version of the Z8000--hence single address spaces are limited to 64K--and a custom memory management unit which allocates (larger) physical memory into 64K partitions. The C compiler, as of a year ago, eschewed any attempt at optimization and the system as a whole was said to have performance problems. Sources for ONYX are (said to be) emphatically unavailable. APOLLO (Apollo Computer, Mass.; NY sales office by Nov. 1) A fairly ambitious professional-workstation system with high-resolution graphics, object-oriented addressing architecture, and support for distributed processing over a local network. Based on dual MC68000 processors, one for computation and one for memory management. Files, address spaces, devices, etc. are addressed as virtual objects whether local or on a different processor in a network. Each process on a node has a 16 MB (24-bit) address space. The total "object address space" is 4 GB (32 bits) within an individual node (processor). Across a network, object addresses are 96 bits wide to include a 64-bit processor id with addressing and other information. Processors are connected via coax in a ring network. Data (from files, local memory, etc.) is demand-paged across the network, as requested by full (96-bit) address. The Apollo operating system is UNIX-like in general concept, but is not an imitation of UNIX and is not UNIX-compatible at a program or command language level. It is primarily written in Pascal but source is highly confidential. (Again, this is negotiable; for compelling business reasons Apollo will consider releasing system source.) Languages supported currently are Pascal and FORTRAN 77. (At some point in the future there will likely be a UNIX V7 system or a UNIX compatibility mode for the Apollo. Brown Univ. and Bell Labs are alleged to be working jointly with Apollo on this. No code has yet been written. A compiler for C will be forthcoming from Brown by the end of this year, however.) Configuration and price for a single node: 2 MC68000 processors 512 KB RAM, expandable to 1 MB per node floppy disk Multibus card cage, various interfaces available (prob. will support Ethernet & X.25, prob. not DDCMP) Bit-mapped CRT, 97 pixels/inch ... $28K Above with 33 MB hard disk ... $38K (We will soon have some literature on the Apollo, for general interest. By the second week in November a demo model will be available at the new NY sales office at Madison & 44th.) Note re HARDWARE: MC68000 v. Z8000 I believe that several factors favor the MC68000 processor over the Z8000 for the PUC... 1) Considerably more, and more advanced, software seems to be available and (particularly) in the works for the 68000. Also a much wider variety of hardware packages. 2) According to my sources in Silicon Valley, the segmented version of the Z8000 (which allows greater than 16-bit addressing) is not yet available from Zilog because they haven't yet gotten it working. This should be considered educated hearsay. 3) The monolithic address space (addressing by single 24-bit integer) in the MC68000 may be an advantage for our purposes. In the 23-bit Z8000 address the segment number is separated from the offset by a byte of zeroes; hence address arithmetic is trickier. 4) [Ref. Ralph Grishman's comparative analysis of instruction sequences and cycle counts.] Results: for the high-level operations studied (e.g., FORTRAN & PL1 indexed array reference and add), the Z8000 requires about 10-20% more cycles than the MC68000. For some of these the Z8000 required twice the number of instructions. Combined with the MC68000's greater cycle speed, that processor appears to be around 50% faster than the Z8000 in overall execution speed.