PREFACE xv
Chapter 5, “Serial Communications,” presents one of the most basic aspects of systems design:
moving data from one system to another. Without data links, computers would be isolated islands.
Communication is key to many applications, whether accessing the Internet or gathering data from a
remote sensor. Topics including RS-232 interfaces, modems, and basic multinode networking are
discussed with a focus on implementing real data links.
Chapter 6, “Instructive Microprocessors and Microcomputer Elements,” walks through five ex-
amples of real microprocessors and microcontrollers. The devices presented are significant because
of their trail-blazing roles in defining modern computing architecture, as exhibited by the fact that,
decades later, they continue to turn up in new designs in one form or another. These devices are used
as vehicles to explain a wide range of computing issues from register, memory, and bus architectures
to interrupt vectoring and operating system privilege levels.
PART 2 ADVANCED DIGITAL SYSTEMS
Digital systems operate by acquiring data, manipulating that data, and then transferring the results as
dictated by the application. Part 2 builds on the foundations of Part 1 by exploring the state of the art
in microprocessor, memory, communications, and logic implementation technologies. To effectively
conceive and implement such systems requires an understanding of what is possible, what is practi-
cal, and what tools and building blocks exist with which to get started. On completing Parts 1 and 2,
you will have acquired a broad understanding of digital systems ranging from small microcontrollers
to 32-bit microcomputer architecture and high-speed networking, and the logic design methodolo-
gies that underlie them all. You will have the ability to look at a digital system, whether pre-existing
or conceptual, and break it into its component parts—the first step in solving a problem.
Chapter 7, “Advanced Microprocessor Concepts,” discusses the key architectural topics behind
modern 32- and 64-bit computing systems. Basic concepts including RISC/CISC, floating-point
arithmetic, caching, virtual memory, pipelining, and DSP are presented from the perspective of what
a digital hardware engineer needs to know to understand system-wide implications and design useful
circuits. This chapter does not instruct the reader on how to build the fastest microprocessors, but it
does explain how these devices operate and, more importantly, what system-level design consider-
ations and resources are necessary to achieve a functioning system.
Chapter 8, “High-Performance Memory Technologies,” presents the latest SDR/DDR SDRAM
and SDR/DDR/QDR SSRAM devices, explains how they work and why they are useful in high-per-
formance digital systems, and discusses the design implications of each. Memory is used by more
than just microprocessors. Memory is essential to communications and data processing systems. Un-
derstanding the capabilities and trade-offs of such a central set of technologies is crucial to designing
a practical system. Familiarity with all mainstream memory technologies is provided to enable a
firm grasp of the applications best suited to each.
Chapter 9, “Networking,” covers the broad field of digital communications from a digital hard-
ware perspective. Network protocol layering is introduced to explain the various levels at which
hardware and software interact in modern communication systems. Much of the hardware responsi-
bility for networking lies at lower levels in moving bits onto and off of the communications medium.
This chapter focuses on the low-level details of twisted-pair and fiber-optic media, transceiver tech-
nologies, 8B10B channel coding, and error detection with CRC and checksum logic. A brief presen-
tation of Ethernet concludes the chapter to show how a real networking standard functions.
Chapter 10, “Logic Design and Finite State Machines,” explains how to implement custom logic
to make a fully functional system. Most systems use a substantial quantity of off-the-shelf logic
products to solve the problem at hand, but almost all require some custom support logic. This chap-
ter begins by presenting hardware description languages, and Verilog in particular, as an efficient
-Balch.book Page xv Thursday, May 15, 2003 3:46 PM