Computer organization & design the hardware
副标题:无
分类号:
ISBN:9787111074373
微信扫一扫,移动浏览光盘
简介
We believe that learning in computer science and engineering should reflect the current state of the field, as well as introduce the principles that are shaping computing. We also feel that readers in every specialty of computing need to appreciate the organizational paradigms that determine the capabilities, Performance, and, ultimately, the success of computer systems.
Modern computer technology requires professionals of every computing specialty to understand both hardware and software. The interaction between hardware and software at a variety of levels also offers a framework for understanding the fundamentals of computing. Whether your Primary interest is computer science or electrical engineering, the central ideas in computer organization and design are the same. Thus, our emphasis in this book is to show the relationship between hardware and software and to focus on the concepts that are the basis for current computers.
目录
contents
foreword vii by john h. crawford worked examples xiv computer organization and design online xvii preface xx
c h a p t e r s
computer abstractions and technology 2
1.1 introduction 3
1.2 below your program 5
1.3 under the covers 10
1.4 integrated circuits: fueling innovation 21
1.5 real stuff: manufacturing pentium chips 24
1.6 fallacies and pitfalls 29
1.7 concluding remarks 30
1.8 historical perspective and further reading 32
1.9 key terms 44
1.10 exercises 45
the role of performance 52
2.1 introduction 54
2.2 measuring performance 58
2.3 relating the metrics 60
2.4 choosing programs to evaluate performance 66
2.5 comparing and summarizing performance 69
.2.6 real stuff: the spec95 benchmarks and performance of recent
processors 71
2.7 fallacies and pitfalls 75
2.8 concluding remarks 82
2.9 historical perspective and further reading 83
2.10 key terms 89
2.11 exercises 90
instructions: language of the machine 104
3.1 introduction 106
3.2 operations of the computer hardware 107
3.3 operands of the computer hardware 109
3.4 representing instructions in the computer 116
3.5 instructions for making decisions 122
3.6 supporting procedures in computer hardware 132
3.7 beyond numbers 142
3.8 other styles of mips addressing 145
3.9 starting a program 156
3.10 an example to put it all together 163
3.11 arrays versus pointers 171
3.12 real stuff: powerpc and 80x86 instructions 175
3.13 fallacies and pitfalls 185
3.14 concluding remarks 187
3.15 historical perspective and further reading 189
3.16 key terms 196
3.17 exercises 196
arithmetic for computers 208
4.1 introduction 210
4.2 signed and unsigned numbers 210
4.3 addition and subtraction 220
4.4 logical operations 225
4.5 constructing an arithmetic logic unit 230
4.6 multiplication 250
4.7 division 265
4.8 floating point 275
4.9 real stuff: floating point in the powerpc and 80x86 301
4.10 fallacies and pitfalls 304
4.11 concluding remarks 308
4.12 historical perspective and further reading 312
4.13 key terms 322
4.14 exercises 322
the processor: datapath and control 336
5.1 introduction 338
5.2 building a datapath 343
5.3 a simple implementation scheme 351
5.4 a multicycle implementation 377
5.5 microprogramming: simplifying control design 399
5.6 exceptions 410
5.7 real stuff: the pentium pro implementation 416
5.8 fallacies and pitfalls 419
5.9 concluding remarks 421
5.10 historical perspective and further reading 423
5.11 key terms 426
5.12 exercises 427
enhancing performance with pipelining 434
6.1 an overview of pipelining 436
6.2 a pipelined datapath 449
6.3 pipelined control 466
6.4 data hazards and forwarding 476
6.5 data hazards and stalls 489
6.6 branch hazards 496
6.7 exceptions 505
6.8 superscalar and dynamic pipelining 510
6.9 real stuff: powerpc 604 and pentium pro pipelines 517
6.10 fallacies and pitfalls 520
6.11 concluding remarks 521
6.12 historical perspective and further reading 525
6.13 key terms 529
6.14 exercises 529
large and fast: exploiting memory hierarchy 538
7.1 introduction 540
7.2 the basics of caches 545
7.3 measuring and improving cache performance 564
7.4 virtual memory 579
7.5 a common framework for memory hierarchies 603
7.6 real stuff: the pentium pro and powerpc 604 memory hierarchies 611
7.7 fallacies and pitfalls 615
7.8 concluding remarks 618
7.9 historical perspective and further reading 621
7.10 key terms 627
7.11 exercises 628
interfacing processors and peripherals 636
8.1 introduction 638
8.2 1/0 performance measures: some examples from disk and file
systems 641
8.3 types and characteristics of 1/0 devices 644
8.4 buses: connecting 1/0 devices to processor and memory 655
8.5 interfacing i/o devices to the memory, processor, and operating
system 673
8.6 designing an i/o system 684
8.7 real stuff: a typical desktop 1/0 system 687
8.8 fallacies and pitfalls 688
8.9 concluding remarks 690
8.10 historical perspective and further reading 694
8.11 key terms 700
8.12 exercises 700
multiprocessors 710
9.1 introduction 712
9.2 programming multiprocessors 714
9.3 multiprocessors connected by a single bus 717
9.4 multiprocessors connected by a network 727
9.5 clusters 734
9.6 network topologies 736
9.7 real stuff: future directions for multlprocessors 740
9.8 fallacies and pitfalls 743
9.9 concluding remarks-evolution versus revolution in computer
architecture 746
9.10 historical perspective and further reading 748
9.11 key terms 756
9.12 exercises 756
a p p e n d i c e s
assemblers, linkers, and the spim simulator a-2
by james r. larus, university of wisconsin
a.1 introduction a-3
a.2 assemblers a-10
a.3 linkers a-1 7
a.4 loading a-19
a.5 memory usage a-20
a.6 procedure call convention a-22
a.7 exceptions and interrupts a-32
a.8 input and output a-36
a.9 spim a-38
a.10 mips r2000 assembly language a-49
a.11 concluding remarks a-75
a.12 key terms a-76
a.13 exercises a-76
the basics of logic design b-2
b.1 introduction b-3
b.2 gates, truth tables, and logic equations b-4
b.3 combinational logic b-8
b.4 clocks b-18
b.5 memory elements b-21
b.6 finite state machines b-35
b.7 timing methodologies b-39
b.8 concluding remarks b-44
b.9 key terms b-45
b.10 exercises b-45
mapping control to hardware c-2
c.1 introduction c-3
c.2 implementing combinational control units c-4
c.3 implementing finite state machine control c-8
c.4 implementing the next-state function with a sequencer c-21
c.5 translating a microprogram to hardware c-28
c.6 concluding remarks c-31
c.7 key terms c-32
c.8 exercises c-32
glossary g-1
index ⅰ-1
foreword vii by john h. crawford worked examples xiv computer organization and design online xvii preface xx
c h a p t e r s
computer abstractions and technology 2
1.1 introduction 3
1.2 below your program 5
1.3 under the covers 10
1.4 integrated circuits: fueling innovation 21
1.5 real stuff: manufacturing pentium chips 24
1.6 fallacies and pitfalls 29
1.7 concluding remarks 30
1.8 historical perspective and further reading 32
1.9 key terms 44
1.10 exercises 45
the role of performance 52
2.1 introduction 54
2.2 measuring performance 58
2.3 relating the metrics 60
2.4 choosing programs to evaluate performance 66
2.5 comparing and summarizing performance 69
.2.6 real stuff: the spec95 benchmarks and performance of recent
processors 71
2.7 fallacies and pitfalls 75
2.8 concluding remarks 82
2.9 historical perspective and further reading 83
2.10 key terms 89
2.11 exercises 90
instructions: language of the machine 104
3.1 introduction 106
3.2 operations of the computer hardware 107
3.3 operands of the computer hardware 109
3.4 representing instructions in the computer 116
3.5 instructions for making decisions 122
3.6 supporting procedures in computer hardware 132
3.7 beyond numbers 142
3.8 other styles of mips addressing 145
3.9 starting a program 156
3.10 an example to put it all together 163
3.11 arrays versus pointers 171
3.12 real stuff: powerpc and 80x86 instructions 175
3.13 fallacies and pitfalls 185
3.14 concluding remarks 187
3.15 historical perspective and further reading 189
3.16 key terms 196
3.17 exercises 196
arithmetic for computers 208
4.1 introduction 210
4.2 signed and unsigned numbers 210
4.3 addition and subtraction 220
4.4 logical operations 225
4.5 constructing an arithmetic logic unit 230
4.6 multiplication 250
4.7 division 265
4.8 floating point 275
4.9 real stuff: floating point in the powerpc and 80x86 301
4.10 fallacies and pitfalls 304
4.11 concluding remarks 308
4.12 historical perspective and further reading 312
4.13 key terms 322
4.14 exercises 322
the processor: datapath and control 336
5.1 introduction 338
5.2 building a datapath 343
5.3 a simple implementation scheme 351
5.4 a multicycle implementation 377
5.5 microprogramming: simplifying control design 399
5.6 exceptions 410
5.7 real stuff: the pentium pro implementation 416
5.8 fallacies and pitfalls 419
5.9 concluding remarks 421
5.10 historical perspective and further reading 423
5.11 key terms 426
5.12 exercises 427
enhancing performance with pipelining 434
6.1 an overview of pipelining 436
6.2 a pipelined datapath 449
6.3 pipelined control 466
6.4 data hazards and forwarding 476
6.5 data hazards and stalls 489
6.6 branch hazards 496
6.7 exceptions 505
6.8 superscalar and dynamic pipelining 510
6.9 real stuff: powerpc 604 and pentium pro pipelines 517
6.10 fallacies and pitfalls 520
6.11 concluding remarks 521
6.12 historical perspective and further reading 525
6.13 key terms 529
6.14 exercises 529
large and fast: exploiting memory hierarchy 538
7.1 introduction 540
7.2 the basics of caches 545
7.3 measuring and improving cache performance 564
7.4 virtual memory 579
7.5 a common framework for memory hierarchies 603
7.6 real stuff: the pentium pro and powerpc 604 memory hierarchies 611
7.7 fallacies and pitfalls 615
7.8 concluding remarks 618
7.9 historical perspective and further reading 621
7.10 key terms 627
7.11 exercises 628
interfacing processors and peripherals 636
8.1 introduction 638
8.2 1/0 performance measures: some examples from disk and file
systems 641
8.3 types and characteristics of 1/0 devices 644
8.4 buses: connecting 1/0 devices to processor and memory 655
8.5 interfacing i/o devices to the memory, processor, and operating
system 673
8.6 designing an i/o system 684
8.7 real stuff: a typical desktop 1/0 system 687
8.8 fallacies and pitfalls 688
8.9 concluding remarks 690
8.10 historical perspective and further reading 694
8.11 key terms 700
8.12 exercises 700
multiprocessors 710
9.1 introduction 712
9.2 programming multiprocessors 714
9.3 multiprocessors connected by a single bus 717
9.4 multiprocessors connected by a network 727
9.5 clusters 734
9.6 network topologies 736
9.7 real stuff: future directions for multlprocessors 740
9.8 fallacies and pitfalls 743
9.9 concluding remarks-evolution versus revolution in computer
architecture 746
9.10 historical perspective and further reading 748
9.11 key terms 756
9.12 exercises 756
a p p e n d i c e s
assemblers, linkers, and the spim simulator a-2
by james r. larus, university of wisconsin
a.1 introduction a-3
a.2 assemblers a-10
a.3 linkers a-1 7
a.4 loading a-19
a.5 memory usage a-20
a.6 procedure call convention a-22
a.7 exceptions and interrupts a-32
a.8 input and output a-36
a.9 spim a-38
a.10 mips r2000 assembly language a-49
a.11 concluding remarks a-75
a.12 key terms a-76
a.13 exercises a-76
the basics of logic design b-2
b.1 introduction b-3
b.2 gates, truth tables, and logic equations b-4
b.3 combinational logic b-8
b.4 clocks b-18
b.5 memory elements b-21
b.6 finite state machines b-35
b.7 timing methodologies b-39
b.8 concluding remarks b-44
b.9 key terms b-45
b.10 exercises b-45
mapping control to hardware c-2
c.1 introduction c-3
c.2 implementing combinational control units c-4
c.3 implementing finite state machine control c-8
c.4 implementing the next-state function with a sequencer c-21
c.5 translating a microprogram to hardware c-28
c.6 concluding remarks c-31
c.7 key terms c-32
c.8 exercises c-32
glossary g-1
index ⅰ-1
Computer organization & design the hardware
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×