《计算机系统体系结构 第3版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)(M.M.马尼奥)M.Morris Mano著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1998
  • ISBN:7302028311
  • 页数:523 页
图书介绍:

CHAPTER ONE Digital Logic Circuits 1

1-1 Digital Computers 1

1-2 Logic Gates 4

1-3 Boolean Algebra 7

Complement of a Function 10

1-4 Map Simplification 11

Product-of-Sums Simplification 14

Don't-Care Conditions 16

1-5 Combinational Circuits 18

Half-Adder 19

Full-Adder 20

1-6 Flip-Flops 22

SR Flip-Flop 22

D Flip-Flop 23

JK Flip-Flop 24

T Flip-Flop 24

Edge-Triggered Flip-Flops 25

Excitation Tables 27

1-7 Sequential Circuits 28

Flip-Flop Input Equations 28

State Table 30

State Diagram 31

Design Example 32

Design Procedure 36

Problems 37

References 39

CHAPTER TWO Digital Components 41

2-1 Integrated Circuits 41

2-2 Decoders 43

NAND Gate Decoder 45

Decoder Expansion 46

Encoders 47

2-3 Multiplexers 48

2-4 Registers 50

Register with Parallel Load 51

2-5 Shift Registers 53

Bidirectional Shift Register with Parallel Load 53

2-6 Binary Counters 56

Binary Counter with Parallel Load 58

2-7 Memory Unit 58

Random-Access Memory 60

Read-Only Memory 61

Types of ROMs 62

Problems 63

References 65

CHAPTER THREE Data Representation. 67

3-1 Data Types 67

Number Systems 68

Octal and Hexadecimal Numbers 69

Decimal Representation 72

Alphanumeric Representation 73

3-2 Complements 74

(r-1) s Complement 75

(r s)Complement 75

Subtraction of Unsigned Numbers 76

3-3 Fixed-Point Representation 77

Integer Representation 78

Arithmetic Addition 79

Arithmetic Subtraction 80

Overflow 80

Decimal Fixed-Point Representation 81

3-4 Floating-Point Representation 83

3-5 Other Binary Codes 84

Gray Code 84

Other Decimal Codes 85

Other Alphanumeric Codes 86

3-6 Error Detection Codes 87

Problems 89

References 91

CHAPTER FOUR Register Transfer and Microoperations 93

4-1 Register Transfer Language 93

4-2 Register Transfer 95

4-3 Bus and Memory Transfers 97

Three-State Bus Buffers 100

Memory Transfer 101

4-4 Arithmetic Microoperations 102

Binary Adder 103

Binary Adder-Subtractor 104

Binary Incrementer 105

Arithmetic Circuit 106

4-5 Logic Microoperations 108

List of Logic Microoperations 109

Hardware Implementation 111

Some Applications 111

4-6 Shift Microoperations 114

Hardware Implementation 115

4-7 Arithmetic Logic Shift Unit 116

Problems 119

References 122

CHAPTER FIVE Basic Computer Organization and Design 123

5-1 Instruction Codes 123

Stored Program Organization 125

Indirect Address 126

5-2 Computer Registers 127

Common Bus System 129

5-3 Computer Instructions 132

Instruction Set Completeness 134

5-4 Timing and Control 135

5-5 Instruction Cycle 139

Fetch and Decode 139

Determine the Type of Instruction 141

Register-Reference Instruction 143

5-6 Memory-Reference Instructions 145

AND to AC 145

ADD to AC 146

LDA: Load to AC 146

STA: Store AC 147

BUN: Branch Unconditionally 147

BSA: Branch and Save Return Address 147

ISZ: Increment and Skip If Zero 149

Control Flowchart 149

5-7 Input-Output and Interrupt 150

Input-Output Configuration 151

Input-Output Instructions 152

Program Interrupt 153

Interrupt Cycle 156

5-8 Complete Computer Description 157

5-9 Design of Basic Computer 157

Control Logic Gates 160

Control of Registers and Memory 160

Control of Single Flip-Flops 162

Control of Common Bus 162

5-10 Design of Accumulator Logic 164

Control of AC Register 165

Adder and Logic Circuit 166

Problems 167

References 171

CHAPTER SIX Programming the Basic Computer 173

6-1 Introduction 173

6-2 Machine Language 174

6-3 Assembly Language 179

Rules of the Language 179

An Example 181

Translation to Binary 182

6-4 The Assembler 183

Representation of Symbolic Program in Memory 184

First Pass 185

Second Pass 187

6-5 Program Loops 190

6-6 Programming Arithmetic and Logic Operations 192

Multiplication Program 193

Double-Precision Addition 196

Logic Operations 197

Shift Operations 197

6-7 Subroutines 198

Subroutines Parameters and Data Linkage 200

6-8 Input-Output Programming 203

Character Manipulation 204

Program Interrupt 205

Problems 208

References 211

CHAPTER SEVEN Microprogrammed Control 213

7-1 Control Memory 213

7-2 Address Sequencing 216

Conditional Branching 217

Mapping of Instruction 219

Subroutines 220

7-3 Microprogram Example 220

Computer Configuration 220

Microinstruction Format 222

Symbolic Microinstructions 225

The Fetch Routine 226

Symbolic Microprogram 227

Binary Microprogram 229

7-4 Design of Control Unit 231

Microprogram Sequencer 232

Problems 235

Reference 238

CHAPTER EIGHT Central Processing Unit 241

8-1 Introduction 241

8-2 General Register Organization 242

Control Word 244

Examples of Microoperations 246

8-3 Stack Organization 247

Register Stack 247

Memory Stack 249

Reverse Polish Notation 251

Evaluation of Arithmetic Expressions 253

8-4 Instruction Formats 255

Three-Address Instructions 258

Two-Address Instructions 258

One--Address Instructions 259

Zero--Address Instructions 259

RISC Instructions 259

8-5 Addressing Modes 260

Numerical Example 264

8-6 Data Transfer and Manipulation 266

Data Transfer Instructions 267

Data Manipulation Instructions 268

Arithmetic Instructions 269

Logical and Bit Manipulation Instructions 270

Shift Instructions 271

8-7 Program Control 273

Status Bit Conditions 274

Conditional Branch Instructions 275

Subroutine Call and Return 278

Program Interrupt 279

Types of Interrupts 281

8-8 Reduced Instruction Set Computer (RISC) 282

CISC Characteristics 283

RISC Characteristics 284

Overlapped Register Windows 285

Berkeley RISC 1 288

Problems 291

References 297

CHAPTER NINE Pipeline and Vector Processing 299

9-1 Parallel Processing 299

9-2 Pipelining 302

General Considerations 304

9-3 Arithmetic Pipeline 307

9-4 Instruction Pipeline 310

Example: Four-Segment Instruction Pipeline 311

Data Dependency 313

Handling of Branch Instructions 314

9-5 RISC Pipeline 315

Example: Three-Segment Instruction Pipeline 316

Delayed Load 317

Delayed Branch 318

9-6 Vector Processing 319

Vector Operations 321

Matrix Multiplication 322

Memory Interleaving 324

Supercomputers 325

9-7 Array Processors 326

Attached Array Processor 326

SIMD Array Processor 327

Problems 329

References 330

CHAPTER TEN Computer Arithmetic 333

10-1 Introduction 333

10-2 Addition and Subtraction 334

Addition and Subtraction with Signed-Magnitude Data 335

Hardware Implementation 336

Hardware Algorithm 337

Addition and Subtraction with Signed-Z s Complement Data 338

10-3 Multiplication Algorithms 340

Hardware Implementation for Signed-Magnitude Data 341

Hardware Algorithm 342

Booth Multiplication Algorithm 343

Array Multiplier 346

10-4 Division Algorithms 348

Hardware Implementation for Signed-Magnitude Data 349

Divide Overflow 351

Hardware Algorithm 352

Other Algorithms 353

10-5 Floating-Point Arithmetic Operations 354

Basic Considerations 354

Register Configuration 357

Addition and Subtraction 358

Multiplication 360

Division 362

10-6 Decimal Arithmetic Unit 363

BCD Adder 365

BCD Subtraction 368

10-7 Decimal Arithmetic Operations 369

Addition and Subtraction 371

Multiplication 371

Division 374

Floating-Point Operations 376

Problems 376

References 380

CHAPTER ELEVEN Input-Output Organization 381

11-1 Peripheral Devices 381

ASCII Alphanumeric Characters 383

11-2 Input-Output Interface 385

I/O Bus and Interface Modules 386

I/O versus Memory Bus 387

Isolated versus Memory-Mapped I/O 388

Example of I/O Interface 389

11-3 Asynchronous Data Transfer 391

Strobe Control 391

Handshaking 393

Asynchronous Serial Transfer 396

Asynchronous Communication Interface 398

First-In, First-Out Buffer 400

11-4 Modes of Transfer 402

Example of Programmed I/O 403

Interrupt-Initiated I/O 406

Software Considerations 406

11-5 Priority Interrupt 407

Daisy-Chaining Priority 408

Parallel Priority Interrupt 409

Priority Encoder 411

Interrupt Cycle 412

Software Routines 413

Initial and Final Operations 414

11-6 Direct Memory Access (DMA) 415

DMA Controller 416

DMA Transfer 418

11-7 Input-Output Processor (IOP) 420

CPU-IOP Communication 422

IBM 370 I/O Channel 423

Intel 8098 IOP 427

11-8 Serial Communication 429

Character-Oriented Protocol 432

Transmission Example 433

Data Transparency 436

Bit-Oriented Protocol 437

Problems 439

References 442

CHAPTER TWELVE Memory Organization 445

12-1 Memory Hierarchy 445

12-2 Main Memory 448

RAM and ROM Chips 449

Memory Address Map 450

Memory Connection to CPU 452

12-3 Auxiliary Memory 452

Magnetic Disks 454

Magnetic Tape 455

12-4 Associative Memory 456

Hardware Organization 457

Match Logic 459

Read Operation 460

Write Operation 461

12-5 Cache Memory 462

Associative Mapping 464

Direct Mapping 465

Set-Associative Mapping 467

Writing into Cache 468

Cache Initialization 469

12-6 Virtual Memory 469

Address Space and Memory Space 470

Address Mapping Using Pages 472

Associative Memory Page Table 474

Page replacement 475

12-7 Memory Management Hardware 476

Segmented-Page Mapping 477

Numerical Example 479

Memory Protection 482

Problems 483

References 486

CHAPTER THIRTEEN Multiprocessors 489

13-1 Characteristics of Multiprocessors 489

13-2 Interconnection Structures 491

Time-Shared Common Bus 491

Multiport Memory 493

Crossbar Switch 494

Multistage Switching Network 496

Hypercube Interconnection 498

13-3 Interprocessor Arbitration 500

System Bus 500

Serial Arbitration Procedure 502

Parallel Arbitration Logic 503

Dynamic Arbitration Algorithms 505

13-4 Interprocessor Communication and Synchronization 506

Interprocessor Synchronization 507

Mutual Exclusion with a Semaphore 508

13-5 Cache Coherence 509

Conditions for Incoherence 509

Solutions to the Cache Coherence Problem 510

Problems 512

References 514

Index 515