WorkstationIOP.tioga
Created by: Ken Pier, May 9, 1985
Last Edited by: Ken Pier, May 10, 1985 9:09:02 am PDT
WORKSTATION IOP SUBSYSTEM PROPOSAL
WORKSTATION IOP SUBSYSTEM PROPOSAL
WORKSTATION IOP SUBSYSTEM PROPOSAL
WORKSTATION PROJECT — FOR INTERNAL XEROX USE ONLY
WORKSTATION PROJECT — FOR INTERNAL XEROX USE ONLY
WORKSTATION PROJECT — FOR INTERNAL XEROX USE ONLY
Workstation IOP Subsystem
Proposal
Release as [Indigo]<Dragon>Documentation>IOP>WorkstationIOP.tioga, .press

© Copyright 1985 Xerox Corporation. All rights reserved.
Abstract: This document outlines a proposal for the IOP subsystem on Workstations, including Dragon and "C" Workstations. Comments and additions are invited.
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304



For Internal Xerox Use Only
Introduction
The Workstation requires an autonomous computer system coupled to a cluster of processors and memories. This system is to be used for three major functions: to cold start the Workstation, to perform low speed IO for the Workstation (primarily disk and Ethernet), and to provide capability for command and control of the Workstation for maintenance and diagnostics. It was the intention of the Dragon project to build this system around a MC68020 computer interfaced via a VMEBus to local memory, LAN controller, disk controllers and the like, using commercially available components. It now seems desirable and even necessary to marry the ideas for this Dragon subsystem with the notion of an MBus-based, single board IOP design for other Workstations and for Dragon.
What Do We Need ?
As noted in the Introduction, we need to build a service system which can function independent of a Workstation. The system provides IO device access, bootstrapping, and a secure place to stand for diagnosing and debugging Workstation components as they are created. Building such a system is a large and time consuming task. It is imperative that we leverage as much as possible from existing and available technologies and personnel. That fact is motivation for the following proposal to implement the Workstation IOP functions. Please read through the end of this document before critiquing the following hardware and software overviews.
IOP Hardware Overview
A single board on the MBus, containing at least the following hardware:
Processor: 68012 processor; perhaps even 68020.
Memory: 0.5-2 MBytes RAM (capability); ~0.5 MBytes ROM (capability)
Hard Disk controller with multiple formats and volume capability
Ethernet controller
"LF" style display controller
Mouse and Keyboard interface
1 or more parallel interfaces
1 or more RS422A/RS423A interfaces, compatible with existing RS232C.
interrupt and data transfer capability to/from MBus memory, probably via a cache chip
MBus arbiter logic
System clock generator
For Dragon: map cache capability, DBus interface capability, MMU capability
IOP Software Overview
One may note that the hardware needed to support the Workstation IOP is sufficient to execute a high-level or modified high-level programming environment. A HLL approach would allow nearly immediate availability of a vehicle for prototyping an IOP. In particular, we could run a Unix-like software system without "user" processes. This system would provide a development environment at first, with, for example, low level device access and network access already implemented. Unix may require the addition of a memory management unit (MMU) to the IOP board. Or, we could restrict use to a Unix subset which provides the necessary functionality and does not required virtual memory support; the MMU would not be needed. Preliminary discussions with Unix wizards verified the feasibility of this approach.
Rationale for this proposal
At first, this may seem like a heavyweight solution to the IOP question, but further reflection and awarness of the resources available for this project make it attractive and sensible. As noted, we are already providing the hardware which can run a Unix-like environment The additional memory is cheap and we don't need much. Addition of an LSI chip MMU is really the only issue. If we adopt this course of action, we uncouple the software effort needed for the service system from the actual implementation of the IOP. We could begin software work as soon as possible on the CSL VAX or by purchasing a workstation from Sun Microsystems which provides the same hardware capability and operating system as the IOP will eventually have. There are people in CSL who have been thinking about this course of action and who are capable and willing to work in such an environment.
Within Unix, there is a large body of software drivers and utilities which we cannot afford to duplicate. We have ample evidence from the experience gained by the PARC Systems Concepts Lab that re-implementing low level functionality is frustrating and a waste of time. PARC/SCL is currently replacing several person-years of such development time on their Sun based Smalltalk system; they are porting Smalltalk to run directly on top of Sun Unix. Their efforts, and other work already underway for the Unix environment, such as the implementation of XNS protocols, may be used for the IOP.
With appropriate planning, all development can be directly ported to the IOP when it is ready. This plan provides a clean interface between CSL and ED, in that CSL would be responsible for software development and ED would be responsible for hardware development, with the two organizations using whatever liason and cooperation is needed to make this work.
Other advantages of working in a high-level environment include quick response to problems encountered during development, simulation of the interface between the MBus based systems and the IOP without the need for IOP hardware, and concentration of our efforts on the custom software we need for IO, booting, and diagnostics without having to first implement a system to support that software. Further, a Unix co-processor for a workstation could prove a valuable asset in future. In particular, the "C" Workstation might profit from having a Unix compatibility mode. We may make that happen and still have services performed for the Workstation proper.
In this scheme, the IOP is self-contained and does not depend on remote environments like Cedar or XDE to operate. Of course, remote debugging may be implemented, probably using an RPC protocol, to allow workstation tools to be built for remote access to the workstation via the IOP.
Finally, what are the personnel benefits for ED and CSL:
1. We work in parallel on the hardware and the software;
2. We work in our own best areas of expertise;
3. We leverage on existing hardware and software;
4. Can diverge if necessary in future.
I encourage discussion and modification of this proposal as soon as possible.