previous | contents | next

credited with the ability for general information processing. We use the more general term, but not to downgrade the computer. General purpose stored program digital computers are by far the most effective existing device for processing information above a certain level of complexity. But systems are always to be engineered to the actual tasks they are to perform. For many specific and limited in formation processing tasks, digital systems that do not have the classic organization of a stored program computer are cost-effective and are to be much preferred to the use of a general purpose computer. We do deal with computers and computer-like organizations in this book, as well as with other digital systems. But .our concern is not with the large data processing tasks and scientific calculations that lead immediately to large computers, higher level programming languages, multiprogramming, time sharing and multi processing. Our focus is on lesser fry. The computer organizations we entertain are mini computer systems, where there is always the potential that some other form of digital system will prove the design of choice, given performance and cost objectives.

Despite our insistence on the propriety of a highly general answer to the first main question, you have a right to expect more, namely, that we should illustrate for you the kinds of information processing that can actually be achieved by digital systems that can actually be designed. A scan of the Table of Contents will show the array of different systems designed in the present book. Many of them, of course, do intermediate tasks, useful only if one is already in the :midst of digital systems: multiplication, interfacing to computer, conversion of analog signals to digital form, etc. But there are also systems that do an externally defined task: a histogram recorder, a programmable desk calculator, a music synthesizer, a coating thickness monitor, a system for controlling the destinations of objects on a conveyor belt, a system for testing the correctness of a memory, and a Turing machine (a general information processing system that has played a strong role in the theoretical development of computer science). Besides these, there are designs for several small digital computers, which simply puts off the question of what final information processing tasks can be done. Even within the confines of a single book, the diversity of tasks essentially precludes categorization, except in terms of amount of processing and size of memory required.

WHAT DIGITAL SYSTEMS ARE CONSTRUCTED OF

Digital systems are constructed out of registers, which hold information encoded in the form of arrays of bits. The registers are connected together by transfer paths, which permit the information in one register to be transmitted to another via processing units. These take as input sets of bits and provide as output some logical or arithmetic function of these bits. The level of digital systems corresponding to these components is called the register-transfer level (or RT level).

This is not quite all there is to it. For one thing, it is critically important exactly what components are available in the way of registers, processing units and transfer paths, and what are their precise properties, in terms of performance, connectivity, reliability, cost, size, and availability. Real design occurs with real components and much that makes design an intellectual challenge derives from the fact that only certain particular components are available out of all possible components. The old saw about "If wishes were horses, beggars would ride" applies with a vengenance to design.

We will spend a goodly part of this first chapter describing the nature of


2

previous | contents | next