數字設計和計算機體係結構(英文版·第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版(第二版)》,您將不僅獲得一套強大的理論工具,更能培養齣洞察現代計算係統底層原理的敏銳視角。無論是為瞭深入理解您正在使用的設備,還是為瞭投身於下一代計算技術的研發,本書都將是您不可或缺的嚮導。

用戶評價

評分

對於我這樣一位對計算機底層技術充滿熱情的人來說,一本能夠真正講解“如何構建”的教材是彌足珍貴的。《數字設計和計算機體係結構》(英文版·第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. 新城书站 版權所有