由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]数字设计和计算机体系结构 RISC-V版(英文版) [美
¥ ×1
Contents<br /><br />Preface iv<br />About the Authors x<br />Chapter 1 From Zero to One 1<br />1.1 The Game Plan 1<br />1.2 The Art of Managing Complexity 2<br />1.2.1 Abstraction 2<br />1.2.2 Discipline 3<br />1.2.3 The Three -Y’s 4<br />1.3 The Digital Abstraction 5<br />1.4 Number Systems 7<br />1.4.1 Decimal Numbers 7<br />1.4.2 Binary Numbers 7<br />1.4.3 Hexadecimal Numbers 9<br />1.4.4 Bytes, Nibbles, and All That Jazz 11<br />1.4.5 Binary Addition 12<br />1.4.6 Signed Binary Numbers 13<br />1.5 Logic Gates 17<br />1.5.1 NOT Gate 18<br />1.5.2 Buffer 18<br />1.5.3 AND Gate 18<br />1.5.4 OR Gate 19<br />1.5.5 Other Two-Input Gates 19<br />1.5.6 Multiple-Input Gates 19<br />1.6 Beneath the Digital Abstraction 20<br />1.6.1 Supply Voltage 20<br />1.6.2 Logic Levels 20<br />1.6.3 Noise Margins 21<br />1.6.4 DC Transfer Characteristics 22<br />1.6.5 The Static Discipline 22<br />1.7 CMOS Transistors 24<br />1.7.1 Semiconductors 25<br />1.7.2 Diodes 25<br />1.7.3 Capacitors 26<br />1.7.4 nMOS and pMOS Transistors 26<br />1.7.5 CMOS NOT Gate 29<br />1.7.6 Other CMOS Logic Gates 29<br />1.7.7 Transmission Gates 31<br />1.7.8 Pseudo-nMOS Logic 31<br />1.8 Power Consumption 32<br />1.9 Summary and a Look Ahead 34<br />Exercises 36<br />Interview Questions 50<br />Chapter 2 Combinational Logic Design 53<br />2.1 Introduction 53<br />2.2 Boolean Equations 56<br />2.2.1 Terminology 56<br />2.2.2 Sum-of-Products Form 56<br />2.2.3 Product-of-Sums Form 58<br />2.3 Boolean Algebra 58<br />2.3.1 Axioms 59<br />2.3.2 Theorems of One Variable 59<br />2.3.3 Theorems of Several Variables 60<br />2.3.4 The Truth Behind It All 62<br />2.3.5 Simplifying Equations 63<br />2.4 From Logic to Gates 64<br />2.5 Multilevel Combinational Logic 67<br />2.5.1 Hardware Reduction 68<br />2.5.2 Bubble Pushing 69<br />2.6 X’s and Z’s, Oh My 71<br />2.6.1 Illegal Value: X 71<br />2.6.2 Floating Value: Z 72<br />2.7 Karnaugh Maps 73<br />2.7.1 Circular Thinking 74<br />2.7.2 Logic Minimization with K-Maps 75<br />2.7.3 Don’t Cares 79<br />2.7.4 The Big Picture 80<br />2.8 Combinational Building Blocks 81<br />2.8.1 Multiplexers 81<br />2.8.2 Decoders 84<br />2.9 Timing 86<br />2.9.1 Propagation and Contamination Delay 86<br />2.9.2 Glitches 90<br />2.10 Summary 93<br />Exercises 95<br />Interview Questions 104<br />Chapter 3 sequential Logic Design 107<br />3.1 Introduction 107<br />3.2 Latches and Flip-Flops 107<br />3.2.1 SR Latch 109<br />3.2.2 D Latch 111<br />3.2.3 D FIip-Flop 112<br />3.2.4 Register 112<br />3.2.5 Enabled Flip-Flop 113<br />3.2.6 Resettable Flip-Flop 114<br />3.2.7 Transistor-Level Latch and Flip-Flop<br />Designs 114<br />3.2.8 Putting It All Together 116<br />3.3 Synchronous Logic Design 117<br />3.3.1 Some Problematic Circuits 117<br />3.3.2 Synchronous Sequential Circuits 118<br />3.3.3 Synchronous and Asynchronous<br />Circuits 120<br />3.4 Finite State Machines 121<br />3.4.1 FSM Design Example 121<br />3.4.2 State Encodings 127<br />3.4.3 Moore and Mealy Machines 130<br />3.4.4 Factoring State Machines 132<br />3.4.5 Deriving an FSM from a Schematic 135<br />3.4.6 FSM Review 138<br />3.5 Timing of Sequential Logic 139<br />3.5.1 The Dynamic Discipline 140<br />3.5.2 System Timing 140<br />3.5.3 Clock Skew 146<br />3.5.4 Metastability 149<br />3.5.5 Synchronizers 150<br />3.5.6 Derivation of Resolution Time 152<br />3.6 Parallelism 155<br />3.7 Summary 159<br />Exercises 160<br />Interview Questions 169<br /><br />Chapter 4 Hardware Description Languages 171<br />4.1 Introduction 171<br />4.1.1 Modules 171<br />4.1.2 Language Origins 172<br />4.1.3 Simulation and Synthesis 173<br />4.2 Combinational Logic 175<br />4.2.1 Bitwise Operators 175<br />4.2.2 Comments and White Space 178<br />4.2.3 Reduction Operators 178<br />4.2.4 Conditional Assignment 179<br />4.2.5 Internal Variables 180<br />4.2.6 Precedence 182<br />4.2.7 Numbers 183<br />4.2.8 Z’s and X’s 184<br />4.2.9 Bit Swizzling 186<br />4.2.10 Delays 186<br />4.3 Structural Modeling 188<br />4.4 Sequential Logic 191<br />4.4.1 Registers 191<br />4.4.2 Resettable Registers 192<br />4.4.3 Enabled Registers 194<br />4.4.4 Multiple Registers 195<br />4.4.5 Latches 196<br />4.5 More Combinational Logic 196<br />4.5.1 Case Statements 199<br />4.5.2 If Statements 200<br />4.5.3 Truth Tables with Don’t Cares 203<br />4.5.4 Blocking and Nonblocking Assignments 203<br />4.6 Finite State Machines 207<br />4.7 Data Types 211<br />4.7.1 SystemVerilog 212<br />4.7.2 VHDL 213<br />4.8 Parameterized Modules 215<br />4.9 Testbenches 218<br />4.10 Summary 222<br />Exercises 224<br />Interview Questions 235<br />Chapter 5 Digital Building Blocks 237<br />5.1 Introduction 237<br />5.2 Arithmetic Circuits 237<br />5.2.1 Addition 237<br />5.2.2 Subtraction 244<br />5.2.3 Comparators 245<br />5.2.4 ALU 247<br />5.2.5 Shifters and Rotators 251<br />5.2.6 Multiplication 253<br />5.2.7 Division 254<br />5.2.8 Further Reading 255<br />5.3 Number Systems 256<br />5.3.1 Fixed-Point Number Systems 256<br />5.3.2 Floating-Point Number Systems 257<br />5.4 Sequential Building Blocks 261<br />5.4.1 Counters 261<br />5.4.2 Shift Registers 262<br />5.5 Memory Arrays 265<br />5.5.1 Overview 265<br />5.5.2 Dynamic Random Access Memory (DRAM) 267<br />5.5.3 Static Random Access Memory (SRAM) 268<br />5.5.4 Area and Delay 268<br />5.5.5 Register Files 269<br />5.5.6 Read Only Memory (ROM) 269<br />5.5.7 Logic Using Memory Arrays 271<br />5.5.8 Memory HDL 272<br />5.6 Logic Arrays 272<br />5.6.1 Programmable Logic Array (PLA) 275<br />5.6.2 Field Programmable Gate Array (FPGA) 276<br />5.6.3 Array Implementations 282<br />5.7 Summary 283<br />Exercises 285<br />Interview Questions 297<br /><br />Chapter 6 Architecture 299<br />6.1 Introduction 299<br />6.2 Assembly Language 300<br />6.2.1 Instructions 301<br />6.2.2 Operands: Registers, Memory, and Constants 302<br />6.3 Programming 308<br />6.3.1 Program Flow 308<br />6.3.2 Logical, Shift, and Multiply Instructions 308<br />6.3.3 Branching 311<br />6.3.4 Conditional Statements 313<br />6.3.5 Getting Loopy 315<br />6.3.6 Arrays 317<br />6.3.7 Function Calls 320<br />6.3.8 Pseudoinstructions 330<br />6.4 Machine Language 332<br />6.4.1 R-Type Instructions 332<br />6.4.2 I-Type Instructions 334<br />6.4.3 S/B-Type Instructions 336<br />6.4.4 U/J-Type Instructions 338<br />6.4.5 Immediate Encodings 340<br />6.4.6 Addressing Modes 341<br />6.4.7 Interpreting Machine Language Code 342<br />6.4.8 The Power of the Stored Program 343<br />6.5 Lights, Camera, Action: Compiling, Assembling,<br />and Loading 344<br />6.5.1 The Memory Map 344<br />6.5.2 Assembler Directives 346<br />6.5.3 Compiling 348<br />6.5.4 Assembling 350<br />6.5.5 Linking 353<br />6.5.6 Loading 355<br />6.6 Odds and Ends 355<br />6.6.1 Endianness 355<br />6.6.2 Exceptions 356<br />6.6.3 Signed and Unsigned Instructions 360<br />6.6.4 Floating-Point Instructions 361<br />6.6.5 Compressed Instructions 362<br />6.7 Evolution of the RISC-V Architecture 363<br />6.7.1 RISC-V Base Instruction Sets and Extensions 364<br />6.7.2 Comparison of RISC-Vand MIPS Architectures 365<br />6.7.3 Comparison of RISC-Vand ARM Architectures 365<br />6.8 Another Perspective: x86 Architecture 366<br />6.8.1 x86 Registers 366<br />6.8.2 x86 Operands 367<br />6.8.3 Status Flags 369<br />6.8.4 x86 Instructions 369<br />6.8.5 x86 Instruction Encoding 371<br />6.8.6 Other x86 Peculiarities 372<br />6.8.7 The Big Picture 373<br />6.9 Summary 374<br />Exercises 375<br />Interview Questions 390<br />Chapter 7 Microarchitecture 393<br />7.1 Introduction 393<br />7.1.1 Architectural State and Instruction Set 393<br />7.1.2 Design Process 394<br />7.1.3 Microarchitectures 396<br />7.2 Performance Analysis 397<br />7.3 Single-Cycle Processor 398<br />7.3.1 Sample Program 399<br />7.3.2 Single-Cycle Datapath 399<br />7.3.3 Single-Cycle Control 407<br />7.3.4 More Instructions 410<br />7.3.5 Performance Analysis 412<br />7.4 Multicycle Processor 415<br />7.4.1 Multicycle Datapath 416<br />7.4.2 Multicycle Control 422<br />7.4.3 More Instructions 432<br />7.4.4 Performance Analysis 435<br />7.5 Pipelined Processor 439<br />7.5.1 Pipelined Datapath 441<br />7.5.2 Pipelined Control 443<br />7.5.3 Hazards 443<br />7.5.4 Performance Analysis 454<br />7.6 HDL Representation 456<br />7.6.1 Single-Cycle Processor 457<br />7.6.2 Generic Building Blocks 461<br />7.6.3 Testbench 464<br />7.7 Advanced Microarchitecture 468<br />7.7.1 Deep Pipelines 468<br />7.7.2 Micro-Operations 469<br />7.7.3 Branch Prediction 470<br />7.7.4 Superscalar Processors 472<br />7.7.5 Out-of-Order Processor 473<br />7.7.6 Register Renaming 476<br />7.7.7 Multithreading 478<br />7.7.8 Multiprocessors 479<br />7.8 Real-World Perspective: Evolution of<br />RISC-V Microarchitecture 482<br />7.9 Summary 486<br />Exercises 488<br />Interview Questions 497<br />Chapter 8 Memory systems 499<br />8.1 Introduction 499<br />8.2 Memory System Performance Analysis 503<br />8.3 Caches 505<br />8.3.1 What Data is Held in the Cache? 505<br />8.3.2 How is Data Found? 506<br />8.3.3 What Data is Replaced? 514<br />8.3.4 Advanced Cache Design 515<br />8.4 Virtual Memory 519<br />8.4.1 Address Translation 522<br />8.4.2 The Page Table 523<br />8.4.3 The Translation Lookaside Buffer 525<br />8.4.4 Memory Protection 526<br />8.4.5 Replacement Policies 527<br />8.4.6 Multilevel Page Tables 527<br />8.5 Summary 530<br />Epilogue 530<br />Exercises 532<br />Interview Questions 541<br />Chapter 9 embedded I/O systems 542<br />9.1 Introduction 542<br />Appendix A Digital system Implementation 543<br />A.1 Introduction 543<br />Appendix B RIsC-V Instruction set summary 544<br />Appendix C C Programming 549<br />C.1 Introduction 549<br />Further Reading 551<br />Index 553<br /><br /><br /><br />
莎拉·L. 哈里斯(Sarah L. Harris)
内华达大学拉斯维加斯分校电气与计算机工程系教授。曾在惠普、圣地亚哥超级计算机中心和NVIDIA工作。研究领域包括仿生假肢设计和在硬件中部署机器学习算法。她拥有斯坦福大学电气工程博士学位。
戴维·哈里斯(David Harris)
哈维·穆德学院工程系教授。曾在英特尔公司从事Itanium和Pentium II处理器的逻辑和电路设计,并曾担任Broadcom、Sun Microsystems、惠普、Evans & Sutherland等设计公司的顾问,获得了十余项专利。他拥有斯坦福大学电气工程博士学位。
继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。本书从计算机体系结构的角度,由最基础的二进制数开始,系统介绍数字逻辑设计的基础知识,引导读者逐步了解RISC-V微处理器的设计,并在硬件仿真、软件仿真和真实硬件中对其进行编程。
继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版,将其作为核心处理器来介绍计算机体系结构的基本概念,涵盖数字逻辑设计的主要内容,并通过RISC-V处理器的设计强化数字逻辑的概念。书中采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的处理器。本书不仅反映了当前数字电路设计的主流方法,而且突出了计算机体系结构的工程特点。此外,大量示例及习题也可以加强读者对概念和技术的理解。本书适合高等院校计算机相关专业的学生阅读,也适合从事处理器设计的技术人员参考。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
