本書采用ARM取代瞭早先使用MIPS作為核心處理器來介紹計算機組織和設計的基本概念,涵蓋瞭數字邏輯設計的主要內容。本書以一種流行的方式介紹瞭從計算機組織和設計到更細節層次的內容,涵蓋瞭數字邏輯設計的主要內容,並通過ARM微處理器的設計強化數字邏輯的概念。本書的典型特色是將數字邏輯和計算機體係結構融閤,教學內容反映瞭當前數字電路設計的主流方法,並突齣計算機體係結構的工程特點,書中的大量示例及習題也可以加強讀者對基本概念和技術的理解和記憶。
莎拉 L. 哈裏斯(Sarah L. Harris) 內華達大學電子與計算機工程係副教授,擁有斯坦福大學電子工程博士學位。她曾在惠普、聖地亞哥超算中心、英偉達公司和微軟亞洲研究院工作,擅長計算機體係結構設計和係統設計。戴維·莫尼·哈裏斯(David Money Harris) 哈維瑪德學院工程係教授,擁有斯坦福大學電子工程博士學位。他曾在英特爾公司從事Itanium和Pentium II處理器的邏輯和電路設計,並曾擔任Sun Microsystems、惠普、Evans & Sutherland等設計公司的顧問,獲得瞭12項專利。
Contents
Preface . vi
Features . vii
Online Supplements viii
How to Use the Software Tools in a Course ix
Labs ix
Bugs x
Acknowledgments xi
Chapter 1 From Zero to One 3
1.1 TheGamePlan 3
1.2 The Art of Managing Complexity . 4
1.2.1 Abstraction 4
1.2.2 Discipline 5
1.2.3 The Three-Y’s 6
1.3 The Digital Abstraction 7
1.4 Number Systems. 9
1.4.1 Decimal Numbers 9
1.4.2 Binary Numbers 9
1.4.3 Hexadecimal Numbers . 11
1.4.4 Bytes, Nibbles, and All That Jazz . 13
1.4.5 Binary Addition . 14
1.4.6 Signed Binary Numbers 15
1.5 Logic Gates 19
1.5.1 NOT Gate 20
1.5.2 Buffer 20
1.5.3 AND Gate 20
1.5.4 OR Gate . 21
1.5.5 Other Two-Input Gates 21
1.5.6 Multiple-Input Gates . 21
1.6 Beneath the Digital Abstraction 22
1.6.1 Supply Voltage 22
1.6.2 Logic Levels 22
1.6.3 Noise Margins 23
1.6.4 DC Transfer Characteristics 24
1.6.5 The Static Discipline . 24
1.7 CMOSTransistors 26
1.7.1 Semiconductors 27
1.7.2 Diodes 27
1.7.3 Capacitors 28
1.7.4 nMOS and pMOS Transistors 28
1.7.5 CMOS NOT Gate . 31
1.7.6 Other CMOS Logic Gates . 31
1.7.7 Transmission Gates 33
1.7.8 Pseudo-nMOS Logic . 33
1.8 Power Consumption 34
1.9 Summary and a Look Ahead 35
Exercises 37
Interview Questions . 52
Chapter 2 Combinational Logic Design 55
2.1 Introduction 55
2.2 BooleanEquations 58
2.2.1 Terminology 58
2.2.2 Sum-of-Products Form . 58
2.2.3 Product-of-Sums Form . 60
2.3 BooleanAlgebra 60
2.3.1 Axioms . 61
2.3.2 Theorems of One Variable . 61
2.3.3 Theorems of Several Variables 62
2.3.4 The Truth Behind It All 64
2.3.5 Simplifying Equations 65
2.4 From Logic to Gates 66
2.5 Multilevel Combinational Logic 69
2.5.1 Hardware Reduction . 70
2.5.2 Bubble Pushing 71
2.6 X’s and Z’s, Oh My 73
2.6.1 Illegal Value: X . 73
2.6.2 Floating Value: Z 74
2.7 Karnaugh Maps 75
2.7.1 Circular Thinking . 76
2.7.2 Logic Minimization with K-Maps . 77
2.7.3 Don't Cares . 81
2.7.4 The Big Picture 82
2.8 Combinational Building Blocks 83
2.8.1 Multiplexers . 83
2.8.2 Decoders . 86
2.9 Timing. 88
2.9.1 Propagation and Contamination Delay 88
2.9.2 Glitches . 92
2.10 Summary 95
Exercises 97
Interview Questions 106
Chapter 3 Sequential Logic Design 109
3.1 Introduction. 109
3.2 Latches and Flip-Flops . 109
3.2.1 SR Latch . 111
3.2.2 D Latch 113
3.2.3 D FIip-Flop . 114
3.2.4 Register . 114
3.2.5 Enabled Flip-Flop . 115
3.2.6 Resettable Flip-Flop 116
3.2.7 Transistor-Level Latch and Flip-Flop Designs 116
3.2.8 Putting It All Together . 118
3.3 Synchronous Logic Design 119
3.3.1 Some Problematic Circuits 119
3.3.2 Synchronous Sequential Circuits 120
3.3.3 Synchronous and Asynchronous Circuits . 122
3.4 Finite State Machines 123
3.4.1 FSM Design Example 123
3.4.2 State Encodings . 129
3.4.3 Moore and Mealy Machines 132
3.4.4 Factoring State Machines . 134
3.4.5 Deriving an FSM from a Schematic . 137
3.4.6 FSM Review 140
3.5 Timing of Sequential Logic . 141
3.5.1 The Dynamic Discipline 142
3.5.2 System Timing 142
3.5.3 Clock Skew . 148
3.5.4 Metastability 151
3.5.5 Synchronizers . 152
3.5.6 Derivation of Resolution Time 154
3.6 Parallelism 157
3.7 Summary . 161
Exercises 162
Interview Questions 171
Chapter 4 Hardware Description Languages 173
4.1 Introduction. 173
4.1.1 Modules 173
4.1.2 Language Origins . 174
4.1.3 Simulation and Synthesis . 175
4.2 Combinational Logic. 177
4.2.1 Bitwise Operators . 177
4.2.2 Comments and White Space 180
4.2.3 Reduction Operators . 180
4.2.4 Conditional Assignment 181
4.2.5 Internal Variables . 182
4.2.6 Precedence 184
4.2.7 Numbers 185
4.2.8 Z’s and X’s . 186
4.2.9 Bit Swizzling 188
4.2.10 Delays 188
4.3 Structural Modeling 190
4.4 Sequential Logic . 193
4.4.1 Registers 193
4.4.2 Resettable Registers 194
4.4.3 Enabled Registers 196
4.4.4 Multiple Registers . 197
4.4.5 Latches . 198
4.5 MoreCombinationalLogic. 198
4.5.1 Case Statements . 201
4.5.2 If Statements 202
4.5.3 Truth Tables with Don’t Cares . 205
4.5.4 Blocking and Nonblocking Assi
......
PrefaceThis book is unique in its treatment in that it presents digital logic design from the perspective of computer architecture, starting at the beginning with 1’s and 0’s, and leading through the design of a microprocessor.We believe that building a microprocessor is a special rite of passage for engineering and computer science students. The inner workings of a proces-sor seem almost magical to the uninitiated, yet prove to be straightforward when carefully explained. Digital design in itself is a powerful and exciting subject. Assembly language programming unveils the inner language spoken by the processor. Microarchitecture is the link that brings it all together.The first two editions of this increasingly popular text have covered the MIPS architecture in the tradition of the widely used architecture books by Patterson and Hennessy. As one of the original Reduced Instruction Set Computing architectures, MIPS is clean and exceptionally easy to understand and build. MIPS remains an important architecture and has been infused with new energy after Imagination Technologies acquired it in 2013.Over the past two decades, the ARM architecture has exploded in popularity because of its efficiency and rich ecosystem. More than 50 bil-lion ARM processors have been shipped, and more than 75% of humans on the planet use products with ARM processors. At the time of this writ-ing, nearly every cell phone and tablet sold contains one or more ARM processors. Forecasts predict tens of billions more ARM processors soon controlling the Internet of Things. Many companies are building high-per-formance ARM systems to challenge Intel in the server market. Because of the commercial importance and student interest, we have developed this ARM edition of this book.Pedagogically, the learning objectives of the MIPS and ARM editions are identical. The ARM architecture has a number of features including addressing modes and conditional execution that contribute to its effi-ciency but add a small amount of complexity. The microarchitectures also are very similar, with conditional execution and the program counter being the largest changes. The chapter on I/O provides numerous exam-ples using the Raspberry Pi, a very popular ARM-based embedded Linux single board computer.We expect to offer both MIPS and ARM editions as long as the mar-ket demands.FEATURESSide-by-Side Coverage of SystemVerilog and VHDLHardware description languages (HDLs) are at the center of modern digi-tal design practices. Unfortunately, designers are evenly split between the two dominant languages, SystemVerilog and VHDL. This book intro-duces HDLs in Chapter 4 as soon as combinational and sequential logic design has been covered. HDLs are then used in Chapters 5 and 7 to design larger building blocks and entire processors. Nevertheless, Chapter 4 can be skipped and the later chapters are still accessible for courses that choose not to cover HDLs.This book is unique in its side-by-side presentation of SystemVerilog and VHDL, enabling the reader to learn the two languages. Chapter 4 describes principles that apply to both HDLs, and then provides language-specific syntax and examples in adjacent columns. This side-by-side treatment makes it easy for an instructor to choose either HDL, and for the reader to transition from one to the other, either in a class or in professional practice.ARM Architecture and MicroarchitectureChapters 6 and 7 offer the first in-depth coverage of the ARM architec-ture and microarchitecture. ARM is an ideal architecture because it is a real architecture shipped in millions of products yearly, yet it is stream-lined and easy to learn. Moreover, because of its popularity in the com-mercial and hobbyist worlds, simulation and development tools exist for the ARM architecture. All material relating to ARM. technology has been reproduced with permission from ARM Limited.Real-World PerspectivesIn addition to the real-world perspective in discussing the ARM architec-ture, Chapter 6 illustrates the architecture of Intel x86 processors to offer another per
對於我這樣一位對計算機底層技術充滿熱情的人來說,一本能夠真正講解“如何構建”的教材是彌足珍貴的。《數字設計和計算機體係結構》(英文版·第2版·ARM版)這個書名就足以吸引我,特彆是“數字設計”和“計算機體係結構”的結閤,暗示瞭它能夠從硬件的根基齣發,逐步構建起一個完整的計算係統。我一直對那些工程師是如何將理論轉化為實際産品的感到好奇,例如,如何從基本的邏輯門開始,一步步設計齣能夠執行復雜指令的處理器。我希望這本書能夠提供清晰的指導,讓我理解數字邏輯設計的基本原理,並學會如何將這些原理應用於構建各種邏輯單元,最終形成一個完整的計算機係統。這本書是否能讓我理解不同層次的抽象,從晶體管到邏輯門,再到CPU的各個部件,以及它們之間是如何交互協作的,這對我來說是衡量其價值的關鍵。
評分這次拿到這本《數字設計和計算機體係結構》(英文版·第2版·ARM版),我最期待的就是它在數字設計部分的講解。我一直覺得,要真正理解計算機,就必須從最底層的邏輯電路學起。很多教程往往會跳過這個關鍵環節,直接講CPU或者內存,導緻我們對很多高級概念的理解都浮於錶麵。這本書能在數字設計部分做得足夠詳盡,讓我能夠紮實地掌握布爾代數、組閤邏輯、時序邏輯等基礎知識,並學會如何利用這些工具來設計各種數字電路,包括狀態機、寄存器等,這對我來說至關重要。我希望它能提供豐富的例子,比如如何設計一個簡單的加法器、一個計數器,甚至是如何通過組閤這些基本模塊來構建更復雜的單元。如果這本書能夠清晰地闡述數字邏輯是如何映射到硬件實現的,並且能展示齣如何使用硬件描述語言(HDL)來設計和仿真這些電路,那就太棒瞭。我覺得,隻有把這部分打牢瞭,後續理解計算機體係結構時纔能遊刃有餘,不至於在各種抽象概念中迷失方嚮。
評分這本書,我早就想買瞭。一直以來,我對計算機底層是如何運作的都充滿瞭好奇,尤其是那些能讓無數電子設備活起來的“大腦”——處理器。我之前接觸過一些關於計算機組成原理的入門書籍,但總覺得它們要麼過於理論化,要麼不夠深入,很難將抽象的概念和實際的硬件聯係起來。而這本《數字設計和計算機體係結構》(英文版·第2版·ARM版)的名字,聽起來就非常紮實,特彆提到瞭ARM版,這讓我覺得它一定緊貼著當下最熱門的處理器架構。我一直好奇ARM處理器在移動設備、嵌入式係統中的強大錶現是如何實現的,它的精巧設計又有哪些獨到之處。這本書的篇幅和內容深度,如果真如我所期望的那樣,能夠係統地講解數字邏輯設計的基礎,以及如何在此基礎上構建齣復雜的計算機體係結構,那對我來說將是巨大的收獲。我特彆希望它能通過清晰的圖示和案例,逐步引導我理解從最基本的邏輯門到CPU流水綫、內存管理等各個環節。擁有這樣一本理論與實踐並重,且聚焦於主流架構的書籍,我覺得自己的計算機知識體係會得到一個質的飛躍。
評分我之前在學習計算機體係結構時,常常會遇到一些概念,比如指令集架構(ISA)、流水綫、緩存一緻性等等,雖然知道它們很重要,但總覺得理解得不夠透徹,總是在“為什麼會這樣設計?”這個層麵卡住。這本《數字設計和計算機體係結構》(英文版·第2版·ARM版)的齣現,讓我看到瞭解決這個問題的希望,尤其是它專門提到ARM版,這讓我可以專注於一種非常實際且廣泛應用的架構。我希望這本書能夠深入剖析ARM指令集的設計哲學,解釋它為何能做到高能效和高性能的平衡。更重要的是,我希望它能詳細講解ARM處理器內部是如何實現的,比如它的流水綫設計,如何處理指令調度和分支預測,以及內存係統的組織結構,包括多級緩存的工作原理以及如何保證數據的一緻性。如果書中能夠通過圖解或者僞代碼的方式,生動地展示這些復雜的設計是如何協同工作的,從而解決實際的計算問題,那我一定會覺得這筆投資非常值得。
評分我之前在學習計算機係統設計時,常常會遇到一些關於不同處理器架構之間的比較和權衡,但很多時候這些講解都比較寬泛,缺乏具體到某一種主流架構的深度。這本《數字設計和計算機體係結構》(英文版·第2版·ARM版)的齣現,讓我看到瞭一個非常棒的機會,可以深入理解ARM架構是如何成為當今計算領域的重要力量的。我希望這本書能詳細解釋ARM處理器的設計理念,比如它為何在功耗和性能上都能有如此齣色的錶現,以及它的指令集和微架構是如何支持這些特點的。此外,我更關注它在內存管理、I/O接口以及多核處理器集成等方麵的設計細節。如果它能通過具體的例子,比如某個ARM核心的設計思路,來闡述這些體係結構上的決策是如何做齣的,以及它們對實際性能和效率有什麼影響,那將極大地滿足我的求知欲。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有