The Evolution of Peripheral Devices

LSI I/O controllers solve system problems by efficiently interfacing the microcomputer to external units. The Evolution of Peripheral Devices in Micr...
Author: Rebecca Ball
11 downloads 0 Views 3MB Size
LSI I/O controllers solve system problems by efficiently interfacing the microcomputer to external units.

The Evolution of Peripheral Devices in Microprocessor Systems

Ken McKenzie Zilog, Inc.

The microcomputer has evolved into the standard tool for solving product design problems. Its inherent flexibility, low cost, and short development cycles have caused the total application spectrum to literally explode. New products that were never thought possible or in most cases even imagined have been introduced and are forming the basis for more advanced designs. The real impact of the microcomputer is yet to come. As the microcomputer has matured, so have the tools for developing hardware, software, and system testing. Early in the evolution of the microcomputer, it became obvious that the design engineer faced a new set of problems. Interfacing microcomputers to external devices was a complex and time-consuming task. Semiconductor companies quickly realized that the solution to this new set of problems could be a new line of components that simplify interfacing external equipment to microcomputers. Thus the "peripheral" was born. Its role: "problem solver." (See Figure 1.) Peripherals: the problem solvers. In microcomputer system development, the design engineer is confronted with many difficult decisions as to hardware/software tradeoffs, component selection, and general system architecture. The overall product performance specification is usually the guideline for decisionmaking, but of course physical size, mechanical form, power usage, and the all-important product end cost are key influences in the design process.

Quite often a new design engineer will become so overwhelmed by the overall system interface structure that his normal, logical approach to the design is impaired or totally obliterated. By breaking down the interface structure into the six basic groups or classes of problems (see Figure 2), he can select a peripheral to efficiently solve each area of concern, causing the overall interface design task to assume more manageable proportions.

Peripherals: an evolution. If we examine the history of microcomputer peripheral components, it becomes obvious that they have evolved in a predictable and logical manner. At first, integrated circuit technology was the main limitation to highly complex, sophisticated components. Then, as N-Channel MOS LSI became a production line reality, the needs and wants of the market became the determining factor for device definition and specification. Today's MOS LSI circuit technology is able to produce peripherals that cost less and consume a smaller fraction of the power than older TTL solutions. (See Figure 3.)

Effects on system development The tools available to today's design engineer are the end product of a development system market that has matured quickly to meet the support requirements of the new families of microcomputers. Both hardware and software tools are available to

018-9162/78/0600-0012$00.75 © 1978 IEEE

COMPUTER

speed the progress from prototype to production and support high-speed testing. Peripherals have such a dramatic effect on overall system performance that all new advances in development systeim tools have features that are specifically designed to support these powerful, problem-solving components. Effects on hardware, design. Peripherals are extremely complex devices; in fact, even some of the fairly simple general-purpose circuits are at least as internally complex as the CPU itself, if not more so. Their basic function is to "isolate" the programmer from the detailed operation of the I/O equipment that is being interfaced or system problem that is being solved. One of the characteristics of most new peripheral components is their ease of direct interface to both the microcomputer bus and the external I/O equipment. The "heart" of any microcomputer system is always the CPU, but the system bus is equally important and can be viewed as analogous to the "central nervous system." It is on this bus that all address, data, and timing information is communicated throughout the microcomputer system. The CPU is the "master" in charge of the bus, and memories and peripherals are its "slaves." The "bus" is the discipline or "structure" of the system. All components that interface to it must meet the AC and DC requirements dictated by the CPU. An area of growing concern to most system designers is the flexibility and performance margins provided by the bus structures of new, high-speed microcomputer families. Component manufacturers have started to recognize the real importance of efficient, "safe" bus designs and are expending significant effort in this area. Peripherals are subject to all of the same bus constraints as any component interfaced directly to the bus. In fact, in some cases the requirements are tougher for peripherals because they can assume the "master" role, as in DMA controller applications. The actual design tasks of determining how a peripheral will be connected to the bus, identifying the timing margins, and calculating the DC parameters have been drastically simplified by the discipline of the bus structure. Within the specified limits of a given microcomputer family bus structure, a designer may connect peripheral and memory components directly to the bus without being concerned with the detailed operation of the bus. Not all microcomputer families have matured. to this point, but with new, higher-speed systems being announced the system bus structure becomes the key element to reliable, high-performance operation. Interfacing to the outside world is the design area where no such discipline as a bus exists. Each piece of external equipment will have to be carefully studied as to its input and output characteristics. In most applications a small amount of TTL MSI/SSI will have to be added to act as buffers or drivers between low-current-drive MOS LSI peripherals and long wire cables or high-power drive elements such as motor drivers, display June 1978

MICROCOMPUTER SYSTEM DESIGN PROBLEM

PERIPHERAL

MICROCOMPUTER SYSTEM DESIGN SOLUTION

Figure 1. Just as microcomputers evolved to solve product design problems, so peripherals have evolved to solve microcomputer system design problems.

drivers, and relay drivers. The added TTL presents an increase in overall system cost. However, providing this drive capability within complex MOS LSI circuits would increase their cost far beyond the total cost of separating these functions. The external interface area is where today's hardware designer can be creative in reducing system interconnections, increasing performance, minimizing CPU overhead, and ensuring reliable product operation. Also, because of the inherent processing power available and the intelligent nature of MOS LSI peripherals, the designer can easily add powerful, service-saving, on-line diagnostics to his I/O interface structure to further reduce system cost even after the product has been shipped to the customer. The strongest impact that peripherals will have on the hardware designer is that for the first time in development evolution he can concentrate on total product problems rather than individual circuit analysis. He becomes much more of a systems engineer and can focus his attention on the total product environment and the basic elements of success in the market. Effects on software design. If one had to select single area of microcomputer design as the fastest maturing, it would have to be software. Today's microcomputer users have finally realized that all those nice 40-pin DIP's are not where the majority

a

Figure 2. Internal to any microcomputer system are a common set of problems regardless of the component manufacturer or design approach taken. All system designs will encounter one or more of six basic problems: parallel input/output, serial input/output, memory, direct memory access, interrupt control, and timing/counting.

13

of real development dollars are spent. Softwaie costs outweigh hardware development costs by 4 to 1 in the experience of most OEM users. To help the user reduce these costs, microcomputer manufacturers have provided such software tools as assemblers, simulators, libraries, real-time emulators, debug routines, text editors, and high-level languages. After the peripheral has been selected and evaluated for each interface and system problem, the software designer can generate the programs necessary to support these devices. Each MOS LSI peripheral will need initialization, maintenance, and diagnostic/recovery routines. By approaching each interface task as a separate but related activity, the programmer can more easily generate routines for

PRINTER

that function and also speed his debug cycle by breaking a large job into smaller, more manageable tasks. This technique also offers inherent modularity to the total system software project and allows a fast, parallel development where a group of designers can work on a single software project with a minimum of conflict. The modular approach to peripheral support software will tend to generate more reliable programs due to the concentration on smaller, better defined interface elements. Another important (and usually overlooked) area of software cost reduction is the reuseable nature of modular programming. Routines that have been developed and debugged to support a given peripheral or system problem can be entered into a library facility and used in future system

SERIAL COMM

MODEM

PAPER TAPE

Figure 3. A typical third-generation microcomputer system. As each generation of peripheral components was born, the previous devices assumed supporting roles to the new generation. Peripheral components have matured through three discernible generations. The first

generation consisted of primitive, bipolar devices such as latches, decoders, drivers, and priority encoders. The second generation was characterized by generalpurpose, MOS devices that solve common system 14

SDLC BISYNC ASYNC

MPX LED DISPLAY

problems. Typical devices include USARTs, timers, parallel 110 devices, interrupt control devices, and DMA devices. Third-generation components are typically intelligent, multi-function devices that can be programmed either internally or externally to support a wide variety of system interface requirements and significantly expand the application spectrum by utilizing high-speed MOS LSI process technology. Examples include floppy disk controllers, multiprotocol data communications controllers, CRT display controllers, and math processors.

COM PUTER

development projects with little or no changes or additional debug efforts. This library technique will save many man hours. High-level languages offer the fastest means for software development but have always been perceived as too isolated from the system operation to perform efficiently in I/O or timing environments. Latest high-level compiler developments now contain "hooks" to link library-based peripheral routines or "macros" into the main program source so that accurate, in-line code support of peripherals is provided to the high-level language user.

Impact on system performance The actual execution time of CPU- machine instructions has been the unit of measwe for system performance in most microcomputer-based applications. It is not entirely wrong as a unit reference, but a much more meaningful measure is the actual throughput of data processing in a given system. Throughput has many variables as system environments change, and stimulus for response affects system latency. Basically, throughput can be expressed as the measure of the time a system can accept input information, execute computational processing on that data, and output the results of that computation. The actual throughput rate is usually expressed in operations/second. Obviously, by minimizing the CPU's involvement with I/O devices, greater time can be dedicated to computational executions and system throughput can be improved. MOS LSI peripherals are designed to solve a set of common system problems such as serial I/O, timing, etc. They are specialized to be an optimum answer for that given problem, but within their basic problem apea they can be programmed by system software to maximize their effectiveness for a specific application. Generally the CPU will initialize the peripheral to support a specific interface. The peripheral will then perform its programmed function

without further intervention from the CPU and only request the service or attention of the CPU when it has valid data to be processed. Some of the newly announced MOS LSI peripherals carry out very high level commands with their I/O devices and communicate with the CPU only to inform it that the command has been completed. No other system component, including the CPU itself, has the impact on performance of a properly used peripheral. Entirely new application areas are opening because of peripheral advances and the very future of microcomputer technology and system throughput rests on these devices.

System Architecture The microcomputer system evolution has been very similar in nature to the evolution of the larger mega and minicomputer systems. Today's microcomputer systems engineer faces the same types of design decisions as did his counterpart in minicomputers a few years ago. The actual layout of how the system components operate, play together, and affect total throughput have become key factors in microcomputer design. Traditional, single-bus architecture. Figure 4 illustrates the most common type of system bus architecture used in microcomputers today. It has a single, multi-function bus that carries all information between the CPU and memory/peripheral circuits. All system components operate at the same speed, and a simple, "master/slave" operational structure is maintained. This approach provides for minimum chip count, simple interface, and a straightforward system design approach. The main limitation of this type of bus architecture is that all components connected to it must operate at the same cycle speeds, regardless of their frequency of usage or latency. In higher-performance systems this means that both peripherals and memories must operate at the same access times,

Figure 4. Traditional system architecture. June 1978

15

cycle times, and other delays even though their frequency of usage and latency are drastically different. This, of course, complicates system design and layout. It also limits the practical speed and throughput of the entire system to the speed of the available MOS LSI peripheral. Some microcomputer families have features to compensate for slower access peripheral and memory components, but many of the timing- and delay-related problems of high-performance systems cannot be fixed by adding "wait states" or other such compensation techniques. Problems such as hold times, set-up times, and float delays can only be solved by adding TTL MSI/SSI. The practical speed limitation for this type of system architecture is in the area of 4 MHz to 6 MHz. Beyond this, designing peripheral components of a complex nature would be prohibitively expensive as well as a waste of effort in a practical applications sense.

Multi-bus system architecture. Figure 5 shows a different type of system bus architecture that isolates the I/O bus from the main, high-speed CPU bus. Conceptually, its basic function is analogous to the peripheral itself, isolating the CPU from the I/O processing tasks. By establishing a secondary bus that is controlled by an auxiliary processor, the entire I/O structure can function separately but as a related entity to the main CPU. The speed of the I/O bus can be limited to 4 MHz5 MHz, thus simplifying system layout and construc-

tion. The only element of this I/O bus structure that is required to operate at the speed of the main CPU bus is the I/O processor. The I/O processor manages all operations of the I/O bus and assumes the "master" role to all peripherals. It assumes the "slave" role to the main CPU, and in essence functions as a high-speed peripheral to the main CPU. The I/O processor executes its own programs to initialize, maintain, and perform diagnostics on all peripherals. It completely handles all "bookkeeping'' and timing functions required by the peripherals, communicating with the main CPU only when it has valid data to be examined or processed in conjunction with the execution of the main CPU program. The I/O processor will usually have its own RAM for buffer storage functions, and in order to enhance the I/O structure's real-time throughput, simple access to DMA control functions is maintained. Multi-bus, microcomputer architectures will become common elements in high-speed systems of the future. They simplify I/O processing, allow existing peripherals to maintain a high degree of compatibility with new processor developments, and enhance the trend of modular hardware and software design. The "user-programmed" peripheral. The advent of "real" microcomputer systems on a chip has stirred much interest in both the minimum chip count and peripheral application areas. The one-chip micro has a small amount of ROM, RAM, and

Figure 5. Distributed processing system architecture.

16

COMPUTER

I/O on-board and is programmed exactly in the same manner as larger multi-chip systems. In fact, most development systems for one size are adaptable to the other. Until now, the user with a unique interface problem had to either get a "custom" LSI circuit made, add extra logic external to an existing peripheral, or just make it out of TTL MSI. None of these choices is very attractive, and low-volume applications immediately eliminate the "custom" LSI approach. Now the user can "design" his own peripheral by buying one of the single-chip micros and writing the software to configure it to perform his special interface function. This approach makes the single-chip micro appear as a normal peripheral to the main CPU, but of course it is now custom programmed to the user's needs. Single-chip micros are still limited in speed, memory, and I/O capability, so the application spectrum is restricted to low-speed, man/machinetype interfaces. However, future developments in the single-chip micro technology will significantly expand this area. Existing technology is characterized by 1K to 2K of ROM, up to 64 bytes of RAM, two to four I/O ports, and 2 MHz speed. But future single-chip technology will see up to 128 bytes of RAM and 4 MHz speed. With this capacity will come such applications of single-chip micros as keyboard controllers, EPROM programmers, display controllers, IEEE 488 bus controllers, block data encryption (NBS), closed loop stepper-controllers, memory diagnostic/error checkers, disk drive controllers, and tape reader controllers.

7

,I

Computer scientists & mr

Engineers Would you like to be a contributor at one of the San

Francisco Bay Area's fastest growing software systems

developers? Are you one of those especially talented individuals who relishes the challenge of solving complex problems, who wants to stay on the forefront of technology, who uses structured design and implementation methods, and who would like to work in an environment where your experience in one or more of the following areas would be recognized and put to immediate use?

* UNIX-based software engineering * Distributed systems technology -Distributed data base management systems

-Real-time data collection/synthesis

-Local network architectures -Network protocols (ARPANet, EtherNet)

* Reliable systems technology -Formal specification and program verification -Secure systems technology * Microprocessor systems architecture * Image & signal processing * Interactive computer graphics * Advanced scientific programming * Systems programming: UNIX, RSX 11D/M, IAS, VMS * Communications systems

Conclusion Peripheral components in microcomputer systems have an important role to play: They solve system design problems. No other single component can have the dramatic effect on real system throughput and future system architectures that peripherals will have. MOS LSI circuit technology is now capable of producing fast, highly sophisticated, and manufacturable peripheral devices that will significantly expand the applications spectrum of the microcomputer and provide new, reliable, highspeed solutions to tomorrow's system problems. D

Ken McKenzie is product manager for microcomputer components at Zilog, Cupertino, California. The author of many technical articles, he has con-

ducted numerous seminars on microperipheral, and memory components. Before joining Zilog in July 1977 he was manager of marketing for the 8080, 8085, and all peripheral components, at Intel Corporation. processor,

June 1978

swwfu. N

-Packet/message switching

-Environmental applications -Circuit switching If you have a BS, MS, PhD or equivalent experience in one or more of the areas listed above, please send us a copy of your resume in confidence. If you qualify for one of our select positions, you will receive the professional recognition you deserve, excellent compensation, and one of the best fringe benefits packages in the country. Refer to Professional Employment,

Dept. PF-49,

9

Ford Aerospace & Communications Corporation Western Development Laboratories Division 3939 Fabian Way, Palo Alto, California 94303 An Equal Opportunity Employer M/F.

I

Suggest Documents