Preface

This book is about how a computer works and how it is programmed. No previous knowledge of digital logic or computers is assumed. Embedded Systems and Computer Architecture is intended for students taking a firstlevel introductory course in electronics, computer science or information technology. Whoever you are, if you want to understand what goes on inside the box containing your computer, or to build your own small computer, this book is written for you.

The accompanying software provides you with the facilities of a system’s development laboratory entirely on your PC. Using this, you can develop and test computer systems that are typical of those that are embedded within very many ‘smart’ products. Input and output devices, such as keyboards, a liquid crystal display, a stepper motor, a calendar, and others may be incorporated into your embedded system.

The book is divided into three parts. Part 1 introduces the basic digital devices, gates and flip-flops, from which all microprocessors are made. After considering how numbers may be represented using only the digits 0 and 1, we see how logical expressions are formed. The simplification of these expressions is next discussed with the aid of software. Various logical building blocks are discussed, as is the design of sequential circuits. The accompanying software animates some combinational and sequential digital circuits. Part 1 ends with the design of circuits to perform arithmetic.

Part 2 is the main part of the book. We begin by analysing how manual computation is performed and identify the major components of an automatic computer. The basic digital devices, explained in Part 1, are interconnected to form a simple microprocessor. We then consider the sort of instructions that the microprocessor must be able to execute. The resulting design is called the G80 because it is very similar to the classic Z801 microprocessor. Example programs illustrate the use of important program control structures and data structures. The accompanying software allows you to step through these programs, one instruction at a time, to see them as they are executed. After designing some circuits for small computers, we add input and output ports. Then, we investigate the various methods used to transfer data between a computer and an input/output device. These methods are illustrated using a variety of input/output devices, all of which may be added to your simulated computer and controlled by your program.

The operation of the assembler tool is described. Its use, together with the linker tool, in making large programs is illustrated. Finally, two ways of designing the control unit of a microprocessor are considered.

Part 3 explores how a small microprocessor may be developed into one that is capable of meeting the demands of a general-purpose computer. Faster operation is achieved by making the memory and the data bus 32 bits wide. Registers inside the microprocessor are also expanded to 32 bits. Ways of further speeding the access to the contents of the memory are considered. The advantage gained from the use of a memory cache is discussed and various ways of organizing a cache are considered. Finally, we see how memory management techniques allow a computer to run programs that are too large to fit into the main memory.

Each chapter contains exercises, or projects to test your understanding or to present you with typical engineering challenges. Some of these have a single answer and some of these are available from the associated website. However, many exercises require you to write a program to meet a given specification. There is no single, ‘correct’ solution to these. Essentially, you have a working solution if your code meets the required specification. Nevertheless, some working solutions are more elegant than others; some of the author’s solutions are modestly made available on the website.

The author thanks Alan R. Baldwin of Ohio for permission to base the assembler and linker tools on his original code. Any bugs introduced are the responsibility of the present author.

Finally, it is hoped that this book will help you to develop your engineering creativity, and enjoy the satisfaction that results from creating a solution to an engineering problem.

Website

The website associated with this book and its software is at www.bh.com/companions/0750650648. Here you can access solutions to some of the problems posed in the book and download the latest versions of the accompanying software. The author welcomes comments via email at [email protected], although he cannot reply to every message.


1Z80 is a registered trade mark of Zilog Inc.

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

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