
This paper describes the goals and tradeoffs in the design of the MC68881 Floating Point Coprocessor. The Motorola MC68881 is a complete implementation of the proposed IEEE floating point standard on a single VLSI chip. It is a coprocessor for the MC68020 microprocessor and is a peripheral processor for other M68000 family processors.The design of the MC68881 was guided by a set of goals. This paper discusses the major goals of the MC68881 project and their impact on the design. During the definition of the architecture of the MC68881 many engineering tradeoffs were made by the design team. This paper also documents how some of these tradeoffs affected our decisions. Lastly, the paper gives enough of an overview of the MC68881 to make the discussions of the goals and tradeoffs meaningful.
This paper describes a methodology for software testing and validation. By recognizing that there are several major error types, this methodology uses different test strategies to expose a particular type of error. To facilitate these strategies, specific tools are needed. This paper not only identifies the desired tools, but also discusses the design concepts behind various tools as they have been built at International Software Systems, Inc. (ISSI).
FlowGuide is a programmer's work station developed to assist in the writing and maintenance of programming projects. Each project is treated as a tree structure, with each node corresponding to a program module. For each module there are three documentary members: a requirements specification, a data specification, and a structured program. The last of these is expressed in flow-block notation, an orthogonal form of the Nassi-Shneiderman diagram. FlowGuide supports the design and maintenance of all three members. The integral program editor is designed to support modules expressed as flow blocks. A post-processor translates the project tree into the corresponding source code, which may be ported to a separate host if desired. The system has been written for microcomputers that support CP/M-86, PCDOS, or both, although the layered design minimizes the effort in porting the work station to other environments. The help facility can be tailored to suit levels of skill ranging from beginning students to professional programmers.
ABF is an expert system that assists attorneys in designing legal documents. The system starts by extracting from a library of legal forms a skeleton template that has embedded within it programming constructs such as conditionals and loops, references to other texts, and variables, which are later replaced by client-specific information in the course of a legal interview. Alternative passages are included or excluded dynamically as the interpreter encounters loops and conditionals. As the system analyzes the document, when it discovers that information is missing, it first looks in the client data file, then it tries to compute it, calling a subprogram if necessary. If all else fails, it generates an English question asking the user for the missing data. The user can stop the interpreter at any time, edit the draft, and reinitiate processing at any point. ABF has been implemented in PASCAL and runs on an IBM PC.
Zilog's* System 8000, a UNIX*-based system using the Z8000 microprocessor family, incorporates the vision held by the authors of the IEEE 754 Standard for binary floating-point arithmetic. Floating-point implementation can be realized entirely in software with Zilog's Z8070 Software Emulator, or entirely in hardware with the FFP-8/01 processor board or the Z8070 chip. Each of these implementations is examined separately. Because the IEEE standard specifies numerical precision and exception handling, the user can choose either the software or the hardware implementation without any sacrifice in the accuracy of the results. And as the hardware availability increases and the cost decreases, floating-point operations can be easily transported from software to hardware for increased performance.
Productivity in the information age is widely perceived to be a major problem facing many organizations. One strategy to enhance organizational productivity has been the use of task teams. Assignment to task teams usually reflects individual technical expertise, individual availability, and/or positional politics rather than a focus on the effectiveness of the team members in the specific organizational situation. This paper investigates characteristics of team members and then examines the effect on team effectiveness of these characteristics and of the requirements of the organizational activity.Two organizational situations were investigated. The first was a true unstructured organizational situation. A field study was used to investigate two project teams in this situation. The second organizational situation was structured and administered in a controlled setting; members of a programming class constituted the participants in the second situation. The Myers-Briggs Type Indicator was used to determine the perceptual characteristics of team members and thus determine the heterogeneity or the homogeneity of the teams.The findings indicate that the situational structure determines the overall effectiveness of the team composition. They also offer evidence that heterogeneity in group composition is best for solving complex problems, whereas homogeneity is best for solving structured, less complex problems. It also suggests that one team might not be appropriate for all stages of a project. As the nature of the tasks involved in the project change, it could be that the optimum team composition would also change. Much further research must be aimed at strategically assembling the most productive team for any number of organizational situations.
A powerful and expandable system can be economically realized by a local computer network consisting of various kinds of microprocessor-based systems. The following three problems must be solved to organize a distributed processing system using nonidentical elements: (1) communication, (2) query conversion, and (3) global concurrency control. Except in the case when all transactions are read-only ones, (3) must be handled. Since each system in a network does not usually have concurrency control capability or may not use the identical mechanism, it is necessary to develop a global concurrency control mechanism for a local network consisting of systems without such capability. In this paper two such mechanisms are presented. By assigning ordered numbers to the component systems, a consistent and deadlock-free global mechanism is realized for a semijoin-based query procedure. To improve efficiency, a mechanism permitting dynamic modification capability of ordering is also presented.
Within the next 10 years, the social, psychological, behavioral, and managerial disciplines necessary to develop and support information resource planning (IRP) and its subsequent management (IRM) will be integrated into most corporations. The assimilation, and therefore, impact of these nontechnical disciplines will completely reshape the way organizations evaluate, acquire, and use technologies available to them. More specifically---although the EDP industry has traditionally been the primary provider of information processing technologies---the most crucial challenge facing EDP professionals today is to broaden their exclusively technical focus to include the new disciplines and methodologies that support organizational requirements as a whole. This paper will focus on defining what information resource planning is, who should be involved in the process, and the implied impact of IRP and IRM on organizations.
This paper presents the initial design and implementation of a simple microcomputer with a reduced instruction set, which forms a building block for a parallel multi-microcomputer system. The microcomputer has a 16-bit word size, with each register and data element being 16 bits. It has less than 20 operators. Each microcomputer in the multi-microcomputer system is addressable, and behaves as a combined memory cell and processor that is able to service the LOAD, STORE, and EXECUTE operations. The multi-microcomputer system centers on a 16-bit global address space. An address consists of two parts: the high eight bits define a specific microcomputer, and the low eight bits define a word in that microcomputer. When the top eight bits are zero the address is considered local to the microcomputer. Although a microcomputer can load or store any word in the global address space, an attempt to execute code at an alien address causes execution to transfer to the specified microcomputer. Although the microcomputer design is based on 16-bit units, we ultimately wish to design the simplest microcomputer that is able to handle variable length information.
We describe an extended-precision operand computer (EPOC). The singleprecision word length is 128 bits. This makes possible calculations with large integers without resort to multiprecision techniques in software. Since this is a specialpurpose machine, the hardware and software have been developed from scratch to implement it. The application toward which the EPOC is directed is the factoring of large integers using the continued fraction algorithm. This application presents interesting mathematical and architectural problems to solve and has implications in cryptography.
The Japanese initiative in scheduling a development program for a fifth generation of computers has shocked a drowsy West into realizing that computer technology has reached a new maturity. We are ready to take a step forward and integrate into systems the advances in very-large-scale integration, artificial intelligence, database management systems, and the human-computer interface of the last decade. Suddenly, work on the fringes of the computer industry, particularly that in artificial intelligence, is perceived as central and of commercial and military strategic importance. This paper examines the economic, historic, social, and technical logic behind the fifth-generation program from several perspectives. It gives a basis for evaluating the program, responses to it, and its effect on our industry and society.
In 1979 Apple began to develop Lisa, a workstation to enhance the productivity of office workers. The hardware was built around a Motorola 68000, a bit-mapped display, and a mouse. The user interface is intuitive, using real-world concepts rather than computer concepts. It is easy to learn, and provides for both novice users still learning the system and users that have mastered the system. The user interface is modeless and consistent. The uniformity of the user interface supports transferable learning---the ability to learn an operation once and apply it over and over again in another application in a different context.The user interface also supports data interchange among documents of the same or different types. This interchange of data, coupled with the multitasking operating system and the multiple windows of the Lisa, permits the use of several tools to perform a task that one tool alone could not accomplish. The Lisa user interface and its applications provide an environment that allows the user to concentrate on what is to be accomplished rather than on how to accomplish it. In this way, Lisa provides tools to improve the productivity of the office worker.
The search for productivity improvement has reached new levels in the information systems world. Organizations are stockpiling tools such as application generators, program analyzers, test data generators, and workbenches in the frenzied quest for productivity. Many organizations that have taken this tool acquisition route are beginning to realize that tools alone are not enough. What is needed is an approach that motivates the use of productivity technology. In this vein, incentive compensation strategies can be applied to the information systems world in a way that focuses on productivity improvement and couples it with quality considerations. From a management viewpoint, this forces more precise definition of productivity metrics and quality quantification.
This paper addresses communications between office CRT/keyboard intelligent work stations and a remote computer installation using a satellite. The travel industry is used as an example of an industry that could employ direct satellite communications. The office will have a small, inexpensive earth terminal on the premises to support several work stations at that location. A commercial communications satellite with high-gain antenna beams supports the small office terminals. Performance of several channel-sharing protocols is described, and an optimum protocol for this application is discussed. For the example studied, a reservation assignment protocol with slotted Aloha orderwire was selected for its high efficiency. This protocol will support 130 office earth terminals (approximately 390 work stations) in a single satellite channel. The system provides highly responsive service time (1 1/2 seconds average). The cost of digital communications via satellite channels and terrestrial links is compared, and the advantages of satellite communications are discussed.
A powerful database system can be developed by a combination of a central relational database system and intelligent terminals. In such an organization a typical function of a terminal is to offer high-level user interfaces. In this paper the concept of the database workbench is introduced and shown to be suitable for development by such terminals. As design problems usually require a large amount of interaction, typical functions of the workbench are (1) the design of database schemas, (2) the design of conversion procedures between real-world data and data in the system, and (3) the design of queries. For the first function we focus on the relational database design under the assumption that set values are permitted. Problems of set values, especially conversion problems of dependencies, are discussed. Various facilities for design conversion procedures and the design of queries are also discussed.
A VLSI-densed shared-bus distributed system is a computer system consisting of a large number of VLSI processing units (VPUs) connected to one another by a high-speed bus. Data traffic in such a system is characterized by three distinct features: large population, bursty transmission, and task-dependent accesses with priority. A bus arbitration scheme is required to resolve contentions when several VPUs generate requests simultaneously. Conventional schemes such as daisy chaining, polling, and independent requests are shown to be inadequate. In this paper, a multiaccess code-deciphering (MACD) scheme is proposed. Two versions of the scheme are studied. The first version is a load-dependent scheme that can resolve contentions of N VPUs in an average time of O(logK/2N) steps where K is equal to the bus width. The second version estimates the number of contending VPUs and resolves contention in a constant average time independent of load. The proposed schemes can support task-dependent accesses with priority.
The proliferation of inexpensive microprocessor systems and communications equipment has provided the general public with the ability to access remote database systems. It also makes off-loading of some of the query-processing load of such remote systems to microprocessor systems an attractive possibility, but problems concerning data portability and adequate software support need to be resolved. To demonstrate the feasibility of such a loose coupling of a microprocessor system with different brands of remote database systems, a relational database system capable of exchanging data with heterogeneous remote systems was designed and implemented. We describe the functionality of this operational system as well as the design and implementation of its major components.
Traditional means of data processing, management information systems, and decision support systems cannot meet a new demand ushered in with the evolution of mini-micro computers. A modern computer end-user, especially a modern decision maker, needs a single pool of information that may be geographically dispersed. Therefore, a new combination of technologies is needed for coping with this new demand. The purpose of this paper is to develop a unified methodology for distributed-system design with distributed databases. The distributed systems designed under this unified methodology can satisfy geographical data independence in addition to logical and physical data independence in the traditional sense.
The Stand-Alone Modula-2 System (SAM2S) is a portable, concurrent operating system and Modula-2 programming support environment. It is based on a highly modular kernel task running on single process-multiplexed microcomputers. SAM2S offers extensive network communication facilities. It provides the foundation for the locally resident portions of the MICROS distributed operating system for large netcomputers. SAM2S now supports a five-pass Modula-2 compiler, a task linker, link and load file decoders, a static symbolic debugger, a filer, and other utility tasks. SAM2S is currently running on each node of a network of DEC LSI-11/23 and Heurikon/Motorola 68000 workstations connected by an Ethernet. This paper reviews features of Modula-2 for operating system development and outlines the design of SAM2S with special emphasis on its modularity and communication flexibility. The two SAM2S implementations differ mainly in their peripheral drivers and in the large amount of memory available on the 68000 systems. Modula-2 has proved highly suitable for writing large, portable, concurrent and distributed operating systems.
Diversity of design is discussed as a means to attain fault tolerance with respect to latent design faults in software and hardware. Some potential advantages of this approach in software versus a single design protected by fault avoidance (verification, validation, and proofs) are presented. An extension to design fault tolerance in VLSI circuits is identified. The results of earlier experimental studies are reviewed, and new results of a specification-oriented multiversion software experiment are summarized.