Tarnoff wrote: This entire book is available as a free download under the title Computer Organization and Design Fundamentals e-Book. Book Excerpts: This book is intended for computer science majors who want to study computer organization without having to understand computers at the transistor level. Many books of computer organization assumed the reader had had some experience with electronics. Some books went so far as to use screen captures from oscilloscopes and other test equipment to describe circuit properties. This book evolved from a collection of supplementary notes posted in internet by the author, an electrical engineering by training, to provide a lifeline for computer science students.
|Country:||United Arab Emirates|
|Published (Last):||20 June 2017|
|PDF File Size:||8.59 Mb|
|ePub File Size:||12.63 Mb|
|Price:||Free* [*Free Regsitration Required]|
Computer Organization and Design Fundamentals by David All rights reserved. Published with the assistance of Lulu. Tarnoff who is also responsible for the creation of all figures contained herein. Cover design by David L.
Minor corrections to first edition. Also made minor corrections. While every precaution has been taken to ensure that the material contained in this book is accurate, the author assumes no responsibility for errors or omissions, or for damage incurred as a result of using the information contained in this book. Please direct such correspondence to the author.
This book is dedicated to my wife and our son. I love you both with all my heart. Synchronous Memory DATA, and.
CODE Directives. My training as an electrical engineer provided me with a background in DC and AC electrical theory, electronics, and circuit design. Was this where I needed to start?
Do computer science majors really need to understand computers at the transistor level? The textbook used by my predecessors assumed the reader had had some experience with electronics. The author went so far as to use screen captures from oscilloscopes and other test equipment to describe circuit properties. I soon found that this was a bad assumption to make when it came to students of computer science.
To provide a lifeline to my floundering students, I began writing supplementary notes and posting them to my course web site. Over the years, the notes matured until eventually students stopped buying the course textbook. When the on-line notes were discovered by search engines, I began receiving messages from other instructors asking if they could link to my notes. The answer was obvious: of course! The on-line notes provided a wonderful opportunity. This could include anything from external hard drives to circuit components.
In an effort to reduce the costs paid by students who were printing the course notes from the web, I decided to compile my web notes into a book.
For years, I had been receiving comments from students about dried up printer cartridges. I once found a student searching the recycled paper bin for scrap paper on which to print my notes. Even our campus technology group had begun to suggest I was one of the causes for the overuse of campus printers.
I do not pretend to believe that this book alone will provide the reader with the background necessary to begin designing and building contemporary computer circuits. The design concepts used for hardware are just as applicable to software. In addition, an understanding of hardware can be applied to software design allowing for improved system performance.
This book can be used as a springboard to topics such as advanced computer architecture, embedded system design, network design, compiler design, or microprocessor design.
The possibilities are endless. Organization of This Book The material in this book is presented in three stages. The first stage, Chapters 1 through 7, discusses the mathematical foundation and design tools that address the digital nature of computers.
The discussion begins in Chapters 1, 2, and 3 where the reader is introduced to the differences between the physical world and the digital world. These chapters show how the differences affect the way the computer represents and manipulates data. Chapter 4 introduces digital logic and logic gates followed by Chapters 5, 6, and 7 where the tools of design are introduced. The second stage, Chapters 8 through 11, applies the fundamentals of the first seven chapters to standard digital designs such as binary adders and counters, checksums and cyclic redundancy checks, network addressing, storage devices, and state machines.
The last stage, Chapters 12 through 17, presents the top-level view of the computer. It begins with the organization of addressable memory in Chapter This is followed in Chapter 13 with a discussion of the memory hierarchy starting with the physical construction of hard drives and ending with the organization of cache memory and processor registers.
Chapter 14 brings the reader through the concepts of serial protocols ending with descriptions of the IEEE Chapter 15 presents the theories of computer architecture while Chapters 16 and 17 use the Intel 80x86 family as a means of example. This is followed by a set of questions that the reader may use to evaluate his or her understanding of the topic. Acknowledgments I would like to begin by thanking my department chair, Dr. Terry Countermine, for the support and guidance with which he provided me.
At first I thought that this project would simply be a matter of converting my existing web notes into a refined manuscript. This was not the case, and Dr. I would also like to thank my computer organization students who tolerated being the test bed of this textbook. Many of them provided suggestions that strengthened the book, and I am grateful to them all. Most of all, I would like to thank my wife, Karen, who has always encouraged and supported me in each of my endeavors.
You provide the foundation of my success. Lastly, even self-published books cannot be realized without some support. I would like to thank those who participate as contributors and moderators on the Lulu. In addition, I would like to thank Lulu. Disclaimer The information in this book is based on the personal knowledge collected by David Tarnoff through years of study in the field of electrical engineering and his work as an embedded system designer.
While he believes this information is correct, he accepts no responsibility or liability whatsoever with regard to the application of any of the material presented in this book. In addition, the design tools presented here are meant to act as a foundation to future learning.
David Tarnoff offers no warranty or guarantee toward products used or developed with material from this book. He also denies any liability arising out of the application of any tool or product discussed in this book. If the reader chooses to use the material in this book to implement a product, he or she shall indemnify xxiv Computer Organization and Design Fundamentals and hold the author and any party involved in the publication of this book harmless against all claims, costs, or damages arising out of the direct or indirect application of the material.
David L. A few topics needed elaboration and a few errors that had slipped through the self-editing process needed correction. There were not enough issues to require the release of a second edition, but readers of this book should be aware that changes have been made in this the third printing of the book. Knowing how to design and build a computer may not be vital to the computer professional, but it goes a long way toward improving their skills, i.
For anyone going into a career involving computer programming, computer system design, or the installation and maintenance of computer systems, the principles of computer organization provide tools to create better designs. For example, the same methods a circuit board designer uses to create the interface between a processor and its memory chips are used to design the addressing scheme of an IP network.
Software design tools — The same procedures used to optimize digital circuits can be used for the logic portions of software. Complex blocks of if-statements, for example, can be simplified or made to run faster using these tools. Improved troubleshooting skills — A clear understanding of the inner workings of a computer gives the technician servicing it the tools to isolate a problem quicker and with greater accuracy.
Writing software to control a system such as an automotive air bag could produce catastrophic results without a clear understanding of the architecture and hardware of a microprocessor.
Marketability — Embedded system design puts microprocessors into task-specific applications such as manufacturing, communications, and automotive control. As processors become cheaper and more powerful, the same tools used for desktop software design are being applied to embedded system design.
This means that the software 1 2 Computer Organization and Design Fundamentals engineer with experience in hardware design has a significant advantage over hardware engineers in this market. In order for the software to respond properly to the movement or button presses of the mouse, the software designer must be able to interpret the digital signal. On a much greater scale, consider a construction company with projects scattered across a large region that wants to monitor its equipment from a central location such as its corporate offices.
A system such as this could be used for inventory control allowing a remote user to locate each piece of equipment from their Internetenabled desktop computer. E-mail alerts could be sent predicting possible failures when conditions such as overheating or excessive vibration are detected. The system could deliver e-mails or messages to pagers in cases of theft or notify maintenance that periodic service is needed. Here again, the link between software and hardware is critical. An embedded processor inside the equipment communicates with sensors that monitor conditions such as temperature, vibration, or oil pressure.
The processor is capable of transmitting this information to the remote user via a cellular link either when prompted or as an emergency notification. In addition, the processor may be capable of using GPS to determine its geographic location. If the equipment is moved outside of a specified range, a message can be sent indicating a possible theft.
How can useful information be pulled from the data stream being received by the processors? Is it possible that using a slower data rate might actually mean shorter connect times over expensive cellular links?
Figure Sample Digital System Computer organization theories answer these and many other questions. What does that mean? Well, an analog value is equivalent to a floating-point number with an infinite number of places to the right of the decimal point.
They take values like In fact, between the temperatures Add an atom, and his weight changes. When values such as temperature or weight change over time, they follow what is called a continuous curve. Between any two values on the curve, an infinite number of values take place over an infinite number of points in time.
Okay, so these are ridiculous examples. We can get by without knowing the weight of a man plus or minus an atom.
COMPUTER ORGANIZATION AND DESIGN FUNDAMENTALS
Computer Organization and Design Fundamentals
The Computer Organization and Design Fundamentals by David L. Tarnoff