Preface

The Motorola Microprocessor Family: 68000, 68008, 68010, 68020, 68030, and 68040

© 1995 by Barry B. Brey

This text was written for the student in a course of study that requires a thorough knowledge of the Motorola family of microprocessors. It is a very practical reference text for anyone interested in all aspects of the microprocessor family. Today, anyone functioning or striving to function in a field of study that uses computers must understand this important 32-bit family of microprocessors. The Motorola microprocessors have gained wide acceptance in many areas of electronics, communications, and paricularly in control systems.

This text is a direct result of my frustrated search for teaching support for the Motorola microprocessor family. Textbooks featuring the Motorola family fall short by only including the 68000, or at best, the 68000 and 68020. Today we all need to know and understand the operation of all family members from the 68000, the first of the series, to the latest from Motorola, the 68040. Intervening members, including the 8-bit bus version, the 68008--an ideal controller because of its 8-bit data bus width--are also important for understanding existing equipment. This text explains the operation, programming, and interfacing of the 68000 and 68008 in great depth. After these basic family members are understood, the newest members (68010, 68020, 68030, and 68040) are introduced and any differences and new features that exist are highlighted. The operation and programming of the 68881/68882 family of floating-point coprocessors is also explained.

ORGANIZATION AND COVERAGE

In order to cultivate a comprehensive approach to learning, each chapter of the text begins with a set of objectives that briefly define the contents of the chapter. Also listed are key terms that appear throughout the chapter. This is followed by the body of the chapter, which includes many programming and hardware application examples that illustrate the main topics. At the end of each chapter. a numerical summary, which doubles as a study guide, is used to review the information presented in the chapter. Finally, questions are provided to promote practice and mental exercise with the concepts presented in the chapter. Without this practice, less information is retained from the chapter.

This text is divided into two main parts. The first presents the microprocessor as a programmable device. Chapters 1--5 explain the function of each instruction and also illustrate many example programs. Example programs, using the 68000 assembler program, provide an opportunity to learn how to program the 68000 family of microprocessors. This foundation of programming is required to understand the second part of the text (chapters 6--13), which explains how the microprocessor functions with its system and how to interface the microprocessor to a variety of peripheral devices. This interfacing, which encompasses both machines and humans, is essential to a complete understanding of the microprocessor and its application. Through this comprehensive approach, the student will become proficient in microprocessor programming, interfacing, and application.

APPROACH

Because the Motorola family of microprocessors is quite diverse, this text initially concentrates on the 68000 and 68008 microprocessors. The other family members, which include the 68010, 68020, 68030, and 68040, are compared and contrasted with the 68000 and 68008 in chapters 12 and 13. This entire series of microprocessors includes machines that are internally 32-bit microprocessors with nearly identical programming models. Each of these microprocessors executes data transfer, arithmetic, and logic operations on 8-, 16- and 32-bit data. Each can be interfaced to virtually any other machine or to humans through diverse sets of programmable input/output interfacing components that are explained in chapters 6--12.

In addition to explaining the programming, operation, and interfacing of the microprocessor, this text also explains the programming and operation of the numeric coprocessor (68881/68882). The numeric copprocessor functions in a system to provide access to floating-point calculations that are important in such applications as control systems, video graphics, and CAD (computer aided design). The numeric coprocessor allows a program access to complex arithmetic operations that are otherwise difficult to acheive with normal programming techniques.

Through this approach--operation of the microprocessor, programming, interfacing, and advanced memebers--a working and practical background is attainable. On completion of a course of study based on this text, you should be able to:

  1. Easily develop software to control an application interfaced to any member of the Motorola microprocessor family of microprocessors.
  2. Program the numeric coprocessor (68881/68882) to solve problems.
  3. Interface memory subsystems to the microprocessor.
  4. Interface peripheral devices to the microprocessor to control I/O devices using direct, interrupt, and DMA techniques as they apply.
  5. Explain the differences between the family members and highlight the features of each member.

CONTENT OVERVIEW

Chapter 1 introduces the Motorola family of microprocessors with an emphasis on the 68000 and 68008. This chapter serves to introduce the microprocessor, its operation, and the method used to store data in the microprocessor-based system. Once an understanding of the basic machine is acheived, chapters 2--4 explain how each instruction functions with the 68000/68008 microprocessor and its system. As instructions are explained, simple applications are presented to illustrate the operation of the instructions and to develop basic programming concepts.

Once the basis for programming is developed, chapter 5 explains the operation and application of the assembler program. The assembler program is then utilized in software examples that provide the main building blocks of programming. The programs presented demonstrate techniques that are required to interface the microprocessor to I/O devices discussed in later chapters. The programs also illustrate basic data transfer and arithemtic manipulation as well as code conversion, table lookup, time delays, sorting, and diagnostic software.

Chapter 6 provides the first concise coverage of the microprocessor as a component in a digital system. This chapter provides detil on the connection of the microprocessor to the bus system through buffers. It also provides detail on ancillary components required to construct a functional microprocessor-based system. This includes the generation and application of the #DTACK signal, a clock signal for the microprocessor, and a reset signal to intialize it. The electrical charactreistics of the microprocessor are provided so it can be interfaced to other system components.

Once the operation, pinout, and electrical characteristics of the microprocessor are understood, chpater 7 interfaces the microprocessor to the memory system. Memory interface is implemented through the use of TTL decoders, PROM decoders, and PAL decoders. Both fully-decoded and partially-decoded memory systems are illustrated for the 68000 and 68008 microprocessors. This chapter describes how to interface the most common memory components such as EPROM (erasable programmable read-only memory), SRAM (static RAM), and DRAM (dynamic RAM) to the microprocessor.

Chapters 8, 9, and 10 provide a complete coverage of I/O interfacing. The first of these chapters investigates common I/O devices that are used to interface both parallel and serial data to the microprocessor. Iy also again describes decoding, with an emphasis on I/O address decoding. Common basic I/O systems that are explained include keyboards and segmented numeric display systems. We also include a coverage of analog-to-digital (ADC) and digital-to-analog (DAC) conversions so the microprocessor can be interfaced to the human world, which is an analog world. Because microprocessors often provide systems with control ability, we present interface to stepper motors and DC motors.

Chapter 9 introduces interrupt processed I/O devices, which are an extension of the devices and techniques described in chapter8. This chapter develops applications such as a printer interface and real-time clock, which are often interrupt driven. It also introduces interrupt expansion using mechanisms such as a daisy-chain. The last section provides a detailed description of the 68230 parallel interface and timer with its operation.

Chapter 10 explains the final form of I/O called direct memory access or DMA using the 68450 family of DMA controllers. It also describes disk memory systems and video display systems. DIsk memory and video displays are applications of DMA controlled devices found connected to the microprocessor in computer systems.

More advanced material exists in chapters 11, 12, and 13, which expalin the operation and programming of the 68881/68882 numeric coprocessor and the advanced 68010, 68020, 68030, and 68040 microprocessor family members. These advanced versions of the 68000 and 68008 are explained with an understanding that the first ten chapters of this text are understtod. Advanced techniques such as memory management and cache memory are also explained in the last few chapters.

The appendices provide a wealth of information that includes:

  1. A complete listing of the 68000/68008 instruction set for reference as programs are developed.
  2. A complete summary of the 68881/68882 instruction set used to program the numeric coprocessor.
  3. A listing of instruction execution times so programs that require execution time calulations can be written,
  4. The VMEbus is described so this popular bus system is understood. The VMEbus finds wide application in dedicated systems used for juust about any purpose.
  5. Answers to selected, end-of-chapter questions so the student can check on his progress.
  6. A glossary that details the frequently appearing new terminology that applies to this ever changing field of microprocessors.

return to publication list