© 2002 by CRC Press LLC © 2002 by CRC Press LLC www.com Fernanda por tu orgullo coraje y dignidad de una mujer luchadora © 2002 by CRC Press LLC Preface Purpose and Background Computer engineering is such a vast field that it is difficult and almost impossible to present everything in a single book. This problem is also exaggerated by the fact that the field of computers and computer design has been changing so rapidly that by the time this book is introduced some of the issues may already be obsolete. However, we have tried to capture what is fundamental and therefore will be of lasting value. Also, we tried to capture the trends, new directions, and new developments.
This book could easily fill thousands of pages because there are so many issues in computer design and so many new fields that are popping out daily. We hope that in the future CRC Press will come with new editions covering some of the more specialized topics in more details. Given that, and many other limitations, we are aware that some areas were not given sufficient attention and some others were not covered at all. However, we hope that the areas covered are covered very well given that they are written by specialists that are recognized as leading experts in their fields.
We are thankful for their valuable time and effort. Organization This book contains a dozen sections. First, we start with the fabrication and technology that has been a driving factor for the electronic industry. No sector of the industry has experienced such tremendous growth.
The progress has surpassed what we thought to be possible, and limits that were once thought of as fundamental were broken several times. When the first 256 kbit DRAM chips were introduced the “alpha particle scare” (the problem encountered with alpha particles discharging the memory cell) predicted that radiation effects would limit further scaling in dimensions of memory chips. Twenty years later, we have reached 256 Mbit DRAM chips—a thousand times improvement in density—and we see no limit to further scaling. In fact, the memory capacity has been tripling every two years while the number of transistors on the processor chip has been doubling every two years.
The next section deals with computer architecture and computer system organization, a top-level view. Several architectural concepts and organizations of computer systems are described. The section ends with description of performance evaluation measures, which are the bottom line from the user’s point of view. Important design techniques are described in two separate sections, one of which deals exclusively with power consumed by the system.
Power consumption is becoming the most important issue as computers are starting to penetrate large consumer product markets, and in several cases low-power consumption is more important than the performance that the system can deliver. Penetration of computer systems into the consumer’s market is described in the sections dealing with signal processing, embedded applications, and future directions in computing. Finally, reliability and testability of computer systems is described in the last section. © 2002 by CRC Press LLC Locating Your Topic Several avenues are available to access desired information.
A complete table of contents is presented at the front of the book. Each of the sections is preceded with an individual table of contents. Finally, each chapter begins with its own table of contents. Each contributed article contains comprehensive references.
Some of them contain a “To Probe Further” section where a general discussion of various sources such as books, journals, magazines, and periodicals are discussed. To be in tune with the modern times, some of the authors have also included Web pointers to valuable resources and information. We hope our readers will find this to be appropriate and of much use. A subject index has been compiled to provide a means of accessing information.
It can also be used to locate definitions. The page on which the definition appears for each key defining term is given in the index. The Computer Engineering Handbook is designed to provide answers to most inquiries and to direct inquirers to further sources and references. We trust that it will meet the needs of our readership.
Acknowledgments The value of this book is completely based on the work of many experts and their excellent contributions. I am grateful to them. They spent hours of their valuable time without any compensation and with a sole motivation to provide learning material and help enhance the profession. I would like to thank Prof.
Saburo Muroga, who provided editorial advice, reviewed the content of the book, made numerous suggestions, and encouraged me to do it. I am indebted to him as well as to other members of the advisory board. I would like to thank my colleague and friend Prof. Richard Dorf for asking me to edit this book and trusting me with this project.
Kristen Maus worked tirelessly to put all of this material in a decent shape and so did Nora Konopka of CRC Press. My son, Stanisha, helped me with my English. It is their work that made this book. © 2002 by CRC Press LLC Editor-in-Chief Vojin G.
Oklobdzija is a Fellow of the Institute of Electrical and Electronics Engineers and Distinguished Lecturer of IEEE Solid- State Circuits and IEEE Circuits and Systems Societies. He received his Ph. degrees from the University of California, Los Angeles in 1978 and 1982, as well as a Dipl. (MScEE) from the Electrical Engineering Department, University of Belgrade, Yugoslavia in 1971.
From 1982 to 1991 he was at the IBM T. Watson Research Center in New York where he made contributions to the develop- ment of RISC architecture and processors. In the course of this work he obtained a patent on Register-Renaming, which enabled an entire new generation of super-scalar processors. From 1988–90 he was a visiting faculty at the University of California, Berkeley, while on leave from IBM.
Oklobdzija has held various consulting positions. He was a con- sultant to Sun Microsystems Laboratories, AT&T Bell Laboratories, Hitachi Research Laboratories, Silicon Systems/Texas Instruments Inc., and Siemens Corp. where he was principal architect of the Siemens/Infineon’s TriCore processor. Currently he serves as an advisor to SONY and Fujitsu Laboratories.
In 1988 he started Integration, which was incorporated in 1996. delivered several successful processor and encryption processor designs. Oklobdzija has held various academic appointments, besides the current one at the University of California. In 1991, as a Fulbright professor, he was helping to develop programs at universities in South America.
From 1996–98 he taught courses in the Silicon Valley through the University of California, Berkeley Extension, and at Hewlett-Packard. He holds seven US, four European, one Japanese, and one Taiwanese patents in the area of computer design and seven others currently pending. Oklobdzija is a member of the American Association for Advancement of Science, and the American Association of the University Professors. He serves on the editorial boards of the IEEE Trans- action of VLSI Systems and the Journal of VLSI Signal Processing.
He served on the program committees of the International Conference on Computer Design, the International Symposium on VLSI Technology and Symposium on Computer Arithmetic. In 1997, he was a General Chair of the 13th Symposium on Computer Arithmetic and is serving as a program committee member of the International Solid-State Circuits Conference (ISSCC) since 1996. He has published over 120 papers in the areas of circuits and technology, computer arithmetic and computer architecture, and has given over 100 invited talks and short courses in the USA, Europe, Latin America, Australia, China, and Japan. © 2002 by CRC Press LLC Editorial Board Krste Asanovic Kevin Nowka Massachusetts Institute of Technology IBM Austin Research Laboratory Cambridge, Massachusetts Austin, Texas William Bowhill Takayasu Sakurai Compaq/DEC Tokyo University Shrewsbury, Massachusetts Tokyo, Japan Anantha Chandrakasan Alan Smith Massachusetts Institute of Technology University of California, Berkeley Cambridge, Massachusetts Berkeley, California Hiroshi Iwai Ian Young Tokyo Institute of Technology Intel Corporation Yokohama, Japan Hillsboro, Oregon Saburo Muroga University of Illinois Urbana, Illinois © 2002 by CRC Press LLC © 2002 by CRC Press LLC © 2002 by CRC Press LLC © 2002 by CRC Press LLC © 2002 by CRC Press LLC Contents SECTION I Fabrication and Technology 1 Trends and Projections for the Future of Scaling and Future Integration Trends Hiroshi Iwai and Shun-ichiro Ohmi 2 CMOS Circuits 2.1 VLSI Circuits Eugene John 2.2 Pass-Transistor CMOS Circuits Shunzo Yamashita 2.3 Synthesis of CMOS Pass-Transistor Logic Dejan Marković 2.4 Silicon on Insulator (SOI) Yuichi Kado 3 High-Speed, Low-Power Emitter Coupled Logic Circuits Tadahiro Kuroda 4 Price-Performance of Computer Technology John C.
McCallum SECTION II Computer Systems and Architecture 5 Computer Architecture and Design 5.1 Server Computer Architecture Siamack Haghighi 5.2 Very Large Instruction Word Architectures Binu Mathew 5.3 Vector Processing Krste Asanovic 5.4 Multithreading, Multiprocessing Manoj Franklin 5.5 Survey of Parallel Systems Donna Quammen 5.6 Virtual Memory Systems and TLB Structures Bruce Jacob 6 System Design 6.1 Superscalar Processors Mark Smotherman 6.2 Register Renaming Techniques Dezsö Sima 6.3 Predicting Branches in Computer Programs Kevin Skadron 6.4 Network Processor Architecture Tzi-cker Chiueh © 2002 by CRC Press LLC 7 Architectures for Low Power Pradip Bose 8 Performance Evaluation 8.1 Measurement and Modeling of Disk Subsystem Performance Jozo J. Dujmovic,´ Daniel Tomasevich, and Ming Au-Yeung 8.2 Performance Evaluation: Techniques, Tools, and Benchmarks Lizy Kurian John 8.3 Trace Caching and Trace Processors Eric Rotenberg 9 Computer Arithmetic 9.1 High-Speed Computer Arithmetic Earl E.2 Fast Adders and Multipliers Gensuke Goto SECTION III Design Techniques 10 Timing and Clocking 10.1 Design of High-Speed CMOS PLLs and DLLs John George Maneatis 10.2 Latches and Flip-Flops Fabian Klass 10.3 High-Performance Embedded SRAM Cyrus (Morteza) Afghahi 11 Multiple-Valued Logic Circuits K. Wayne Current 12 FPGAs for Rapid Prototyping James O. Hamblen 13 Issues in High-Frequency Processor Design Kevin J.
Nowka SECTION IV Design for Low Power 14 Low-Power Design Issues Hemmige Varadarajan, Vivek Tiwari, Rakesh Patel, Hema Ramamurthy, Shahram Jamshidi, Snehal Jariwala, and Wenjie Jiang 15 Low-Power Circuit Technologies Masayuki Miyazaki 16 Techniques for Leakage Power Reduction Vivek De, Ali Keshavarzi, Siva Narendra, Dinesh Somasekhar, Shekhar Borkar, James Kao, Raj Nair, and Yibin Ye © 2002 by CRC Press LLC 17 Dynamic Voltage Scaling Thomas D. Burd 18 Low-Power Design of Systems on Chip Christian Piguet 19 Implementation-Level Impact on Low-Power Design Katsunori Seno 20 Accurate Power Estimation of Combinational CMOS Digital Circuits Hendrawan Soeleman and Kaushik Roy 21 Clock-Powered CMOS for Energy-Efficient Computing Nestoras Tzartzanis and William Athas SECTION V Embedded Applications 22 Embedded Systems-on-Chips Wayne Wolf 23 Embedded Processor Applications Jonathan W. Valvano SECTION VI Signal Processing 24 Digital Signal Processing Fred J. Taylor 25 DSP Applications Daniel Martin 26 Digital Filter Design Worayot Lertniphonphun and James H.
McClellan 27 Audio Signal Processing Adam Dabrowski and Tomasz Marciniak 28 Digital Video Processing Todd R. Reed 29 Low-Power Digital Signal Processing Thucydides Xanthopoulos © 2002 by CRC Press LLC SECTION VII Communications and Networks 30 Communications and Computer Networks Anna Hać SECTION VIII Input/Output 31 Circuits for High-Performance I/O Chik-Kong Ken Yang 32 Algorithms and Data Structures in External Memory Jeffrey Scott Vitter 33 Parallel I/O Systems Peter J. Varman 34 A Read Channel for Magnetic Recording 34.1 Recording Physics and Organization of Data on a Disk Bane Vasić and Miroslav Despotović 34.2 Read Channel Architecture Bane Vasić, Pervez M. Aziz, and Necip Sayiner 34.3 Adaptive Equalization and Timing Recovery Pervez M.4 Head Position Sensing in Disk Drives Ara Patapoutian ∨ 34.5 Modulation Codes for Storage Systems Brian Marcus ∨ and Emina Soljanin 34.6 Data Detection Miroslav Despotović and Vojin Senk 34.7 An Introduction to Error-Correcting Codes Mario Blaum SECTION IX Operating System 35 Distributed Operating Systems Peter Reiher SECTION X New Directions in Computing 36 SPS: A Strategically Programmable System M.
Memik 37 Reconfigurable Processors 37.1 Reconfigurable Computing John Morris 37.2 Using Configurable Computing Systems Danny Newport and Don Bouldin © 2002 by CRC Press LLC 37.3 Xtensa: A Configurable and Extensible Processor Ricardo E.