Издательство John Wiley, 2005, -839 pp.
In this book we cover all basic concepts of computer engineering and science, from digital logic circuits to the design of a complete microcomputer system in a systematic and simplified manner. We have endeavored to present a clear understanding of the principles and basic tools required to design typical digital systems such as microcomputers.
To accomplish this goal, the computer is first defined as consisting of three blocks: central processing unit (CPU), memory, and I/O. We point out that the CPU is analogous to the brain of a human being. Computer memory is similar to human memory. A question asked of a human being is analogous to entering a program into a computer using an input device such as a keyboard, and answering the question by the human is similar in concept to outputting the result required by the program to a computer output device such as a printer. The main difference is that human beings can think independently whereas computers can only answer questions for which they are programmed. Due to advances in semiconductor technology, it is possible to fabricate the CPU on a single chip. The result is the microprocessor. Intel’s Pentium and Motorola’s Power PC are typical examples of microprocessors. Memory and I/O chips must be connected to the microprocessor chip to implement a microcomputer so that these microprocessors will be able to perform meaningful operations.
We clearly point out that computers understand only 0’s and 1’s. It is therefore important that students be familiar with binary numbers. Furthermore, we focus on the fact that computers can normally only add. Hence, all other operations such as subtraction are performed via addition. This can be accomplished via two’s-complement arithmetic for binary numbers. This topic is therefore also included, along with a clear explanation of signed and unsigned binary numbers.
As far as computer programming is concerned, assembly language programming is covered in this book for typical Intel and Motorola microprocessors. An overview of C, C++, and Java high-level languages is also included. These are the only high-level languages that can perform I/O operations. We point out the advantages and disadvantages of programming typical microprocessors in C and assembly languages.
Three design levels are covered in this book: device level, logic level, and system level. Device-level design, which designs logic gates such as AND, OR, and NOT using transistors, is included from a basic point of view. Logic-level design is the design technique in which logic gates are used to design a digital component such as an adder. Finally, system-level design is covered for typical Intel and Motorola microprocessors. Microcomputers have been designed by interfacing memory and I/O chips to these microprocessors.
Digital systems at the logic level are classified into two types of circuits, combinational and sequential. Combinational circuits have no memory whereas sequential circuits contain memory. Microprocessors are designed using both combinational and sequential circuits. Therefore, these topics are covered in detail. The fifth edition of this book contains an introduction to synthesizing digital logic circuits using popular hardware description languages such as Verilog and VHDL. These two languages are included in Appendices 1 and J, independently of each other in such a way that either Verilog or VHDL can be covered in a course without confusion.
Introduction to Digital Systems.
Number Systems and Codes.
Boolean Algebra and Digital Logic Gates.
Combinational Logic Design.
Sequential Logic Design.
Microcomputer Architecture, Programming, and System Design Concepts.
Design of Computer Instruction Set and the CPU.
Memory, I/O, and Parallel Processing.
Intel 8086.
Motorola MC68000.
Intel and Motorola 32- & 64-Bit Microprocessors.
A Answers to Selected Problems.
B Glossary.
C Motorola 68000 and Support Chips.
D 68000 Execution Times.
E Intel 8086 and Support Chips.
F 8086 Instruction Set Reference Data.
G 68000 Instruction Set.
H 8086 Instruction Set.
I Verilog.
J VHDL.