数字设计和计算机体系结构(英文版·第2版·ARM版)

数字设计和计算机体系结构(英文版·第2版·ARM版) pdf epub mobi txt 电子书 下载 2025

[美] 莎拉,L.,哈里斯(Sarah,L.,Harris) ... 著
图书标签:
  • 数字设计
  • 计算机体系结构
  • ARM
  • 处理器
  • 嵌入式系统
  • 硬件描述语言
  • Verilog
  • 计算机组成原理
  • 数字逻辑
  • 第二版
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111586791
版次:1
商品编码:12299048
品牌:机工出版
包装:平装
丛书名: 经典原版书库
开本:16开
出版时间:2018-01-01
用纸:胶版纸
页数:584

具体描述

内容简介

本书采用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


《数字设计与计算机体系结构:ARM版(第二版)》 探索数字世界的基石,洞察现代计算的脉搏 本书是一部深入剖析数字逻辑设计原理和计算机体系结构核心概念的权威著作。面向广大计算机科学、电子工程以及相关领域的学生、研究人员和专业工程师,第二版特别关注ARM架构,为读者提供了一个紧跟行业前沿的视角,理解当下最广泛应用的处理器之一是如何构建和运作的。 第一部分:数字设计基础——构建数字世界的语言 数字设计是构建所有现代电子设备和计算系统的基石。本部分将带领您从最基础的逻辑门开始,逐步构建出复杂的数字电路。 二进制世界与逻辑门: 我们将从数字信息最基本的表示形式——二进制数入手,深入理解0和1如何编码一切信息。随后,我们将详细介绍最基本的逻辑运算单元:AND、OR、NOT门,以及它们组合形成的NAND、NOR、XOR、XNOR门。您将学习如何通过真值表和布尔代数来描述和简化逻辑功能。 组合逻辑电路: 在掌握了基本逻辑门之后,我们将学习如何将它们组合起来,构建实现特定功能的组合逻辑电路。这包括: 编码器和译码器: 如何将一种编码转换为另一种编码,例如二进制到BCD码的转换,或者将地址信号翻译成设备选择信号。 多路选择器 (Multiplexers, MUX) 和多路分配器 (Demultiplexers, DEMUX): 理解如何根据控制信号在多个输入中选择一个输出(MUX),或者将一个输入分发到多个输出(DEMUX),这在数据路由和信号选择中至关重要。 加法器和减法器: 构建实现算术运算的核心部件,从半加器、全加器到多位二进制加法器和减法器。您将理解进位传播的工作原理及其对性能的影响。 比较器: 实现两个二进制数的大小比较功能。 时序逻辑电路: 与组合逻辑不同,时序逻辑电路的输出不仅取决于当前输入,还与过去的输入状态有关,这需要“记忆”功能。本部分将重点介绍: 触发器 (Flip-Flops): SR触发器、D触发器、JK触发器和T触发器是构建时序电路的基本存储单元。您将学习它们的结构、工作原理以及如何利用时钟信号来同步它们的状态变化。 寄存器 (Registers): 将多个触发器组合起来,形成能够存储多位数据的寄存器。我们将探讨移位寄存器(用于数据移位和串并转换)和并行寄存器(用于数据存储)。 计数器 (Counters): 构建能够按顺序计数的电路,包括同步计数器和异步计数器。您将学习如何设计二进制计数器、BCD计数器以及带有特定模数的计数器。 有限状态机 (Finite State Machines, FSMs): 这是设计控制器和序列发生器的强大工具。我们将深入讲解Moore FSM和Mealy FSM的设计方法,包括状态图、状态表以及状态编码。这将使您能够设计出能够响应一系列输入并按照预定顺序执行操作的复杂控制器。 可编程逻辑器件 (PLDs) 和硬件描述语言 (HDLs): 现代数字设计已经从手工绘制门级电路转向使用高度抽象的工具。本部分将介绍: FPGA (Field-Programmable Gate Arrays) 和 CPLD (Complex Programmable Logic Devices): 理解这些可编程芯片如何允许用户在硬件层面实现自定义逻辑,以及它们在原型设计和产品开发中的优势。 Verilog/VHDL 简介: 学习使用硬件描述语言(HDLs)来描述数字电路的行为和结构。您将了解如何使用HDL代码来实例化逻辑门、构建模块、定义时序以及进行仿真和综合。 第二部分:计算机体系结构——深入探究计算的灵魂 在掌握了数字设计的底层原理后,本部分将带领您进入计算机体系结构的核心领域,理解计算机是如何执行程序、管理数据以及实现高性能的。第二版将重点聚焦于ARM架构,揭示其设计思想和在现代计算中的核心地位。 指令集架构 (Instruction Set Architecture, ISA): ISA是处理器和软件之间的接口,定义了处理器能够理解和执行的指令集。 RISC vs. CISC: 深入对比精简指令集计算机(RISC)和复杂指令集计算机(CISC)的设计哲学。ARM架构属于RISC的典型代表,您将理解RISC架构如何通过简化指令、采用固定指令长度、使用大量通用寄存器等方式来提高指令执行效率和降低功耗。 ARM ISA 概览: 详细介绍ARM指令集的特点,包括其指令格式、寻址模式、数据处理指令、分支指令、加载/存储指令等。您将理解ARM是如何实现高效的代码密度和强大的指令功能。 处理器设计基础: 数据通路和控制器: 理解CPU的核心组成部分,包括算术逻辑单元 (ALU)、寄存器文件、程序计数器 (PC)、指令寄存器 (IR) 以及各种总线。您将学习数据通路如何连接这些组件以执行指令,以及控制器如何产生控制信号来协调数据流。 指令流水线 (Pipelining): 这是提高处理器吞吐量的关键技术。您将深入理解如何将指令的执行过程分解为多个阶段(如取指令、译码、执行、访存、写回),并使这些阶段能够并行工作,从而大幅提高每时钟周期的指令执行数量。 流水线冒险 (Pipeline Hazards) 及解决方法: 流水线并非没有挑战。您将学习到结构冒险、数据冒险和控制冒险,并深入探讨解决这些冒险的技术,例如: 转发 (Forwarding) / 旁路 (Bypassing): 在数据可用之前将其发送给需要它的指令。 流水线暂停 (Stalling) / 气泡 (Bubbles): 在发生冒险时插入空指令来等待所需数据。 分支预测 (Branch Prediction): 预测分支指令的走向,以减少因分支跳转带来的流水线延迟。 存储器层次结构 (Memory Hierarchy): 现代计算机通过多级存储器来平衡速度、容量和成本。 缓存 (Cache Memory): 深入理解缓存的工作原理,包括缓存行、直接映射、组相联映射和全相联映射的映射方式。您将学习命中率、失效率、命中时间、失效率等关键性能指标,以及写回 (write-back) 和写通 (write-through) 等写策略。 虚拟存储器 (Virtual Memory): 理解操作系统如何使用虚拟存储器来为每个进程提供独立的地址空间,以及页表、页面置换算法(如LRU)在实现虚拟存储器中的作用。 输入/输出 (I/O) 系统: I/O 接口: 了解I/O设备如何与CPU和存储器进行通信,以及各种I/O接口标准。 中断 (Interrupts) 和 DMA (Direct Memory Access): 理解中断如何允许I/O设备通知CPU事件的发生,以及DMA如何允许I/O设备直接与存储器传输数据,从而减轻CPU的负担。 多核处理器和并行性: 随着摩尔定律的挑战,多核处理器已成为主流。 多核架构: 介绍多核处理器的基本概念,以及它们如何通过并行执行来提高整体性能。 多线程 (Multithreading) 和指令级并行 (Instruction-Level Parallelism, ILP): 探讨如何通过同时执行多条指令(ILP)或多个线程(多线程)来进一步提升处理器性能。 本书特色与价值 ARM架构的深度聚焦: 第二版将ARM架构作为核心案例,通过大量的实例和深入的分析,让读者全面掌握这一在移动设备、嵌入式系统乃至高性能计算领域占据主导地位的处理器家族。 理论与实践相结合: 本书不仅讲解抽象的理论概念,还通过实例演示和习题,鼓励读者将所学知识应用于实际的数字设计和体系结构分析中。 循序渐进的教学设计: 从最基础的逻辑门到复杂的处理器流水线,本书的章节安排合理,逻辑清晰,便于不同基础的读者逐步掌握。 面向未来: 深入探讨当前和未来计算技术的发展趋势,如并行计算、低功耗设计等,帮助读者建立扎实的理论基础,为未来的技术创新做好准备。 通过阅读《数字设计与计算机体系结构:ARM版(第二版)》,您将不仅获得一套强大的理论工具,更能培养出洞察现代计算系统底层原理的敏锐视角。无论是为了深入理解您正在使用的设备,还是为了投身于下一代计算技术的研发,本书都将是您不可或缺的向导。

用户评价

评分

我之前在学习计算机体系结构时,常常会遇到一些概念,比如指令集架构(ISA)、流水线、缓存一致性等等,虽然知道它们很重要,但总觉得理解得不够透彻,总是在“为什么会这样设计?”这个层面卡住。这本《数字设计和计算机体系结构》(英文版·第2版·ARM版)的出现,让我看到了解决这个问题的希望,尤其是它专门提到ARM版,这让我可以专注于一种非常实际且广泛应用的架构。我希望这本书能够深入剖析ARM指令集的设计哲学,解释它为何能做到高能效和高性能的平衡。更重要的是,我希望它能详细讲解ARM处理器内部是如何实现的,比如它的流水线设计,如何处理指令调度和分支预测,以及内存系统的组织结构,包括多级缓存的工作原理以及如何保证数据的一致性。如果书中能够通过图解或者伪代码的方式,生动地展示这些复杂的设计是如何协同工作的,从而解决实际的计算问题,那我一定会觉得这笔投资非常值得。

评分

我之前在学习计算机系统设计时,常常会遇到一些关于不同处理器架构之间的比较和权衡,但很多时候这些讲解都比较宽泛,缺乏具体到某一种主流架构的深度。这本《数字设计和计算机体系结构》(英文版·第2版·ARM版)的出现,让我看到了一个非常棒的机会,可以深入理解ARM架构是如何成为当今计算领域的重要力量的。我希望这本书能详细解释ARM处理器的设计理念,比如它为何在功耗和性能上都能有如此出色的表现,以及它的指令集和微架构是如何支持这些特点的。此外,我更关注它在内存管理、I/O接口以及多核处理器集成等方面的设计细节。如果它能通过具体的例子,比如某个ARM核心的设计思路,来阐述这些体系结构上的决策是如何做出的,以及它们对实际性能和效率有什么影响,那将极大地满足我的求知欲。

评分

这次拿到这本《数字设计和计算机体系结构》(英文版·第2版·ARM版),我最期待的就是它在数字设计部分的讲解。我一直觉得,要真正理解计算机,就必须从最底层的逻辑电路学起。很多教程往往会跳过这个关键环节,直接讲CPU或者内存,导致我们对很多高级概念的理解都浮于表面。这本书能在数字设计部分做得足够详尽,让我能够扎实地掌握布尔代数、组合逻辑、时序逻辑等基础知识,并学会如何利用这些工具来设计各种数字电路,包括状态机、寄存器等,这对我来说至关重要。我希望它能提供丰富的例子,比如如何设计一个简单的加法器、一个计数器,甚至是如何通过组合这些基本模块来构建更复杂的单元。如果这本书能够清晰地阐述数字逻辑是如何映射到硬件实现的,并且能展示出如何使用硬件描述语言(HDL)来设计和仿真这些电路,那就太棒了。我觉得,只有把这部分打牢了,后续理解计算机体系结构时才能游刃有余,不至于在各种抽象概念中迷失方向。

评分

这本书,我早就想买了。一直以来,我对计算机底层是如何运作的都充满了好奇,尤其是那些能让无数电子设备活起来的“大脑”——处理器。我之前接触过一些关于计算机组成原理的入门书籍,但总觉得它们要么过于理论化,要么不够深入,很难将抽象的概念和实际的硬件联系起来。而这本《数字设计和计算机体系结构》(英文版·第2版·ARM版)的名字,听起来就非常扎实,特别提到了ARM版,这让我觉得它一定紧贴着当下最热门的处理器架构。我一直好奇ARM处理器在移动设备、嵌入式系统中的强大表现是如何实现的,它的精巧设计又有哪些独到之处。这本书的篇幅和内容深度,如果真如我所期望的那样,能够系统地讲解数字逻辑设计的基础,以及如何在此基础上构建出复杂的计算机体系结构,那对我来说将是巨大的收获。我特别希望它能通过清晰的图示和案例,逐步引导我理解从最基本的逻辑门到CPU流水线、内存管理等各个环节。拥有这样一本理论与实践并重,且聚焦于主流架构的书籍,我觉得自己的计算机知识体系会得到一个质的飞跃。

评分

对于我这样一位对计算机底层技术充满热情的人来说,一本能够真正讲解“如何构建”的教材是弥足珍贵的。《数字设计和计算机体系结构》(英文版·第2版·ARM版)这个书名就足以吸引我,特别是“数字设计”和“计算机体系结构”的结合,暗示了它能够从硬件的根基出发,逐步构建起一个完整的计算系统。我一直对那些工程师是如何将理论转化为实际产品的感到好奇,例如,如何从基本的逻辑门开始,一步步设计出能够执行复杂指令的处理器。我希望这本书能够提供清晰的指导,让我理解数字逻辑设计的基本原理,并学会如何将这些原理应用于构建各种逻辑单元,最终形成一个完整的计算机系统。这本书是否能让我理解不同层次的抽象,从晶体管到逻辑门,再到CPU的各个部件,以及它们之间是如何交互协作的,这对我来说是衡量其价值的关键。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有