microprocessor design - royal institute of technology articles wikibooks:collections preface 1...
Post on 18-Mar-2018
Embed Size (px)
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.PDF generated at: Wed, 05 Oct 2011 10:46:30 UTC
Wikibooks:Collections Preface 1Microprocessor Design/Introduction 2
Microprocessor Basics 5Microprocessor Design/Microprocessors 5Microprocessor Design/Computer Architecture 11Microprocessor Design/Instruction Set Architectures 16Microprocessor Design/Memory 20Microprocessor Design/Control and Datapath 22Microprocessor Design/Performance 23Microprocessor Design/Assembly Language 25Microprocessor Design/Design Steps 27
Microprocessor Components 31Microprocessor Design/Basic Components 31Microprocessor Design/Program Counter 33Microprocessor Design/Instruction Decoder 37Microprocessor Design/Register File 37Microprocessor Design/Memory Unit 41Microprocessor Design/ALU 42Microprocessor Design/FPU 48Microprocessor Design/Control Unit 50
ALU Design 51Microprocessor Design/Add and Subtract Blocks 51Microprocessor Design/Shift and Rotate Blocks 58Microprocessor Design/Multiply and Divide Blocks 60Microprocessor Design/ALU Flags 61
Design Paradigms 63Microprocessor Design/Single Cycle Processors 63Microprocessor Design/Multi Cycle Processors 64Microprocessor Design/Pipelined Processors 65Microprocessor Design/Superscalar Processors 68Microprocessor Design/VLIW Processors 69
Microprocessor Design/Vector Processors 69Microprocessor Design/Multicore Processors 71
Execution Problems 74Microprocessor Design/Exceptions 74Microprocessor Design/Interrupts 74Microprocessor Design/Hazards 75
Benchmarking and Optimization 81Microprocessor Design/Performance Metrics 81Microprocessor Design/Benchmarking 83Microprocessor Design/Optimizations 84
Parallel Processing 85Microprocessor Design/Multi-Core Systems 85Microprocessor Design/Memory-Level Parallelism 87Microprocessor Design/Out Of Order Execution 88
Support Software 89Microprocessor Design/Assembler 89Microprocessor Design/Simulator 89Microprocessor Design/Compiler 90
Microprocessor Production 91Microprocessor Design/FPGA 91Microprocessor Design/Wire Wrap 91Microprocessor Design/Photolithography 99Microprocessor Design/Sockets and interfacing 100
Advanced Topics 102Microprocessor Design/Microcodes 102Microprocessor Design/Cache 103Microprocessor Design/Virtual Memory 110Microprocessor Design/Power Dissipation 111
ReferencesArticle Sources and Contributors 113Image Sources, Licenses and Contributors 115
Article LicensesLicense 117
Wikibooks:Collections Preface 1
Wikibooks:Collections PrefaceThis book was created by volunteers at Wikibooks (http:/ / en. wikibooks. org).
What is Wikibooks?
Started in 2003 as an offshoot of the popular Wikipedia project, Wikibooks isa free, collaborative wiki website dedicated to creating high-quality textbooksand other educational books for students around the world. In addition toEnglish, Wikibooks is available in over 130 languages, a complete listing ofwhich can be found at http:/ / www. wikibooks. org. Wikibooks is a "wiki",which means anybody can edit the content there at any time. If you find anerror or omission in this book, you can log on to Wikibooks to makecorrections and additions as necessary. All of your changes go live on thewebsite immediately, so your effort can be enjoyed and utilized by otherreaders and editors without delay.
Books at Wikibooks are written by volunteers, and can be accessed and printed for free from the website. Wikibooksis operated entirely by donations, and a certain portion of proceeds from sales is returned to the WikimediaFoundation to help keep Wikibooks running smoothly. Because of the low overhead, we are able to produce and sellbooks for much cheaper then proprietary textbook publishers can. This book can be edited by anybody at anytime, including you. We don't make you wait two years to get a new edition, and we don't stop selling old versionswhen a new one comes out.
What is this book?This book was generated by the volunteers at Wikibooks, a team of people from around the world with varyingbackgrounds. The people who wrote this book may not be experts in the field. Some may not even have a passingfamiliarity with it. The result of this is that some information in this book may be incorrect, out of place, ormisleading. For this reason, you should never rely on a community-edited Wikibook when dealing in matters ofmedical, legal, financial, or other importance. Please see our disclaimer for more details on this.Despite the warning of the last paragraph, however, books at Wikibooks are continuously edited and improved. Iferrors are found they can be corrected immediately. If you find a problem in one of our books, we ask that you bebold in fixing it. You don't need anybody's permission to help or to make our books better.Wikibooks runs off the assumption that many eyes can find many errors, and many able hands can fix them. Overtime, with enough community involvement, the books at Wikibooks will become very high-quality indeed. You areinvited to participate at Wikibooks to help make our books better. As you find problems in your book don't justcomplain about them: Log on and fix them! This is a kind of proactive and interactive reading experience that youprobably aren't familiar with yet, so log on to http:/ / en. wikibooks. org and take a look around at all thepossibilities. We promise that we won't bite!
Who are the authors?The volunteers at Wikibooks come from around the world and have a wide range of educational and professionalbackgrounds. They come to Wikibooks for different reasons, and perform different tasks. Some Wikibookians areprolific authors, some are perceptive editors, some fancy illustrators, others diligent organizers. Some Wikibookiansfind and remove spam, vandalism, and other nonsense as it appears. Most wikibookians perform a combination ofthese jobs.
Wikibooks:Collections Preface 2
It's difficult to say who are the authors for any particular book, because so many hands have touched it and so manychanges have been made over time. It's not unheard of for a book to have been edited thousands of times byhundreds of authors and editors. You could be one of them too, if you're interested in helping out. At the time thisbook was prepared for print, there have been over ' edits made by over 0' registered users. These numbers aregrowing every day.
Wikibooks in ClassBooks at Wikibooks are free, and with the proper editing and preparation they can be used as cost-effectivetextbooks in the classroom or for independent learners. In addition to using a Wikibook as a traditional read-onlylearning aide, it can also become an interactive class project. Several classes have come to Wikibooks to write newbooks and improve old books as part of their normal course work. In some cases, the books written by students oneyear are used to teach students in the same class next year. Books written can also be used in classes around theworld by students who might not be able to afford traditional textbooks.
Happy Reading!We at Wikibooks have put a lot of effort into these books, and we hope that you enjoy reading and learning fromthem. We want you to keep in mind that what you are holding is not a finished product but instead a work inprogress. These books are never "finished" in the traditional sense, but they are ever-changing and evolving to meetthe needs of readers and learners everywhere. Despite this constant change, we feel our books can be reliable andhigh-quality learning tools at a great price, and we hope you agree. Never hesitate to stop in at Wikibooks and makesome edits of your own. We hope to see you there one day. Happy reading!
Microprocessor Design/IntroductionMicroprocessor Design
About This BookComputers and computer systems are a pervasive part of the modern world. Aside from just the common desktopPC, there are a number of other types of specialized computer systems that pop up in many different places. Thecentral component of these computers and computer systems is the microprocessor, or the CPU. The CPU (short for"Central Processing Unit") is essentially the brains behind the computer system, it is the component that "computes".This book is going to discuss what microprocessor units do, how they do it, and how they are designed.This book is going to discuss the design of microprocessor units, but it will not discuss the design of completecomputer systems nor the design of other computer components or peripherals. Some microprocessor designs will beimplemented and synthesized in Hardware Description Languages, such as Verilog or VHDL. The book will beorganized to discuss simple designs and concepts first, and expand the initial designs to include more complicatedconcepts as the book progresses.This book will attempt to discuss the basic concepts and theory of microprocessor design from an abstract level, andgive real-world examples as necessary. This book will not focus on studying any particular processor architecture,although several of the most common architectures will appear frequently in examples and notes.
Microprocessor Design/Introduction 3
How Will This Book Be Organized?The first section of the book will review computer architecture, and will give a brief overview of the components ofa computer, the components of a microprocessor, and some of the basic architectures of modern microprocessors.The second section will discuss in some detail the individual components of a microcontroller, what they do, andhow they are desig