1.1. The Start of Something Big

The course of electronic systems design changed irreversibly on November 15, 1971, when Intel introduced the first commercial microprocessor, the 4004. Before that date, system design consisted of linking many hardwired blocks, some analog and some digital, with point-to-point connections. After the 4004’s public release, electronic system design began to change in two important ways.

First, and most obvious, was the injection of software or firmware into the system-design lexicon. Prior to the advent of the microprocessor, the vast majority of system designers had only analog and digital design skills. If they had learned any computer programming, it was used for developing design-automation aids or simulation programs, not for developing system components. After the Intel 4004’s introduction, system developers started to learn software programming skills, first in assembly language and then in high-level languages such as PL/1, Pascal, and C as compilers got better and memory became less expensive.

The other major change to system design caused by the advent of the microprocessor—a change that’s often overlooked—is the use of buses to interconnect major system blocks. Figure 1.1 shows a block diagram of a Hewlett-Packard 3440A digital voltmeter that was designed in 1963, eight years before the microprocessor appeared. This block diagram, typical of the era, shows a mixture of analog and digital elements interconnected with point-to-point connections. Even the all-digital measurement counter, which stores the result of the analog-to-digital conversion, consists of four independent decade counters. Each decade counter communicates to the next counter over one wire and each counter drives its own numeric display. There are no buses in this design because none are needed. Note that there are no microprocessors in this design either. Microprocessors wouldn’t appear for another eight years.

Figure 1.1. A digital voltmeter block diagram adapted from the design of a HP 3440A, circa 1963.


Figure 1.2 illustrates how a system designer might implement a digital voltmeter like the HP 3440A today. A microprocessor controls all of the major system components in this modern design implementation. One key change: the processor communicates with the other components over a common bus—the microprocessor’s main bus.

Figure 1.2. A version of the HP 3440A block diagram of Figure 1.1, adapted for microprocessor-based implementation. This system-design style is still quite popular.


From a systems-design perspective, there are significant differences between the digital voltmeter design from the early 1960s and the modern implementation. For the purposes of a systems-level discussion, the most significant difference is perhaps the massive amount of parallelism occurring in the early 1960s design versus the modern design’s ability to perform only one operation at a time over the microprocessor bus. For example, if the microprocessor in Figure 1.2 is reading a word from RAM or ROM over the bus, it cannot also be reading a word from the A/D converter at the same time. The processor bus is a shared resource and can only support one operation at a time.

This loss of concurrent operation arose because of the economics of microprocessor packaging and printed-circuit board design. It’s less expensive to use buses to move data into and out of packaged microprocessors and it’s often much easier to route buses on a circuit board than to accommodate multiple point-to-point connections.

The consequence of creating a shared resource like a microprocessor bus is that the use of the shared resource must be multiplexed in time. As a result of the multiplexed operation, the operating frequency of the shared resource must increase to accommodate the multiple uses of the shared resource—the bus in this case. When the signal frequencies are low to start with, as they are for a voltmeter design that’s more than 40 years old, then the final operating frequency of the shared resource places little strain on the system design.

However, as the various tasks performed by a system become more ambitious causing the work to be done every clock cycle to increase, the aggregated requirements for all of the tasks begin to approach the bandwidth limit of the shared resource. As this happens, system-design margins shrink and then vanish. At that point, the system design jumps the threshold from marginal to faulty.

As a reminder: the point-to-point architecture of the original HP 3440A digital voltmeter concurrently operated all of the various systems blocks, which means that there’s a lot more design margin in the interconnection scheme than for the microprocessor-based version of the system design. This loss of design margin is an engineering tradeoff and it undoubtedly reduces the implementation cost of the design, as long as no future performance increases are envisioned that would further reduce design margin.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.60.117