没有合适的资源?快使用搜索试试~ 我知道了~
首页Computer Organization and Design:The Hardware/Software Interface
Computer Organization and Design:The Hardware/Software Interface
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
计算机软硬件方面殿堂级的教材。 This textbook provides a basic introduction to the fundamentals of current computer designs. As the title suggests, the text skirts the border between hardware and software. After an overview of the subject and a discussion of performance, the book launches into technical matter such as instruction sets, how they are constrained by the underlying processor hardware, the constraints on their design, and more. An excellent critique of computer arithmetic methods leads to a high-level discussion on processor design. Following is a great introduction to pipelining
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/4376614/bg1.jpg)
1
Fundamentals of
Computer Design
1
And now for something completely different.
Monty Python’s Flying Circus
![](https://csdnimg.cn/release/download_crawler_static/4376614/bg2.jpg)
1.1 Introduction 1
1.2 The Task of a Computer Designer 3
1.3 Technology and Computer Usage Trends 6
1.4 Cost and Trends in Cost 8
1.5 Measuring and Reporting Performance 18
1.6 Quantitative Principles of Computer Design 29
1.7 Putting It All Together: The Concept of Memory Hierarchy 39
1.8 Fallacies and Pitfalls 44
1.9 Concluding Remarks 51
1.10 Historical Perspective and References 53
Exercises 60
Computer technology has made incredible progress in the past half century. In
1945, there were no stored-program computers. Today, a few thousand dollars
will purchase a personal computer that has more performance, more main memo-
ry, and more disk storage than a computer bought in 1965 for $1 million. This
rapid rate of improvement has come both from advances in the technology used
to build computers and from innovation in computer design. While technological
improvements have been fairly steady, progress arising from better computer
architectures has been much less consistent. During the first 25 years of elec-
tronic computers, both forces made a major contribution; but beginning in about
1970, computer designers became largely dependent upon integrated circuit tech-
nology. During the 1970s, performance continued to improve at about 25% to
30% per year for the mainframes and minicomputers that dominated the industry.
The late 1970s saw the emergence of the microprocessor. The ability of the
microprocessor to ride the improvements in integrated circuit technology more
closely than the less integrated mainframes and minicomputers led to a higher
rate of improvement—roughly 35% growth per year in performance.
1.1
Introduction
![](https://csdnimg.cn/release/download_crawler_static/4376614/bg3.jpg)
2
Chapter 1 Fundamentals of Computer Design
This growth rate, combined with the cost advantages of a mass-produced
microprocessor, led to an increasing fraction of the computer business being
based on microprocessors. In addition, two significant changes in the computer
marketplace made it easier than ever before to be commercially successful with a
new architecture. First, the virtual elimination of assembly language program-
ming reduced the need for object-code compatibility. Second, the creation of
standardized, vendor-independent operating systems, such as UNIX, lowered the
cost and risk of bringing out a new architecture. These changes made it possible
to successively develop a new set of architectures, called RISC architectures, in
the early 1980s. Since the RISC-based microprocessors reached the market in the
mid 1980s, these machines have grown in performance at an annual rate of over
50%. Figure 1.1 shows this difference in performance growth rates.
FIGURE 1.1 Growth in microprocessor performance since the mid 1980s has been substantially higher than in ear-
lier years.
This chart plots the performance as measured by the SPECint benchmarks.
Prior to the mid 1980s, micropro-
cessor performance growth was largely technology driven and averaged about 35% per year. The increase in growth since
then is attributable to more advanced architectural ideas. By 1995 this growth leads to more than a factor of five difference
in performance. Performance for floating-point-oriented calculations has increased even faster.
0
50
100
150
200
250
300
350
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
Year
1.58x per year
1.35x per year
SUN4
MIPS
R2000
MIPS
R3000
IBM
Power1
HP
9000
IBM Power2
DEC Alpha
DEC Alpha
DEC Alpha
SPECint rating
![](https://csdnimg.cn/release/download_crawler_static/4376614/bg4.jpg)
1.2 The Task of a Computer Designer
3
The effect of this dramatic growth rate has been twofold. First, it has signifi-
cantly enhanced the capability available to computer users. As a simple example,
consider the highest-performance workstation announced in 1993, an IBM
Power-2 machine. Compared with a CRAY Y-MP supercomputer introduced in
1988 (probably the fastest machine in the world at that point), the workstation of-
fers comparable performance on many floating-point programs (the performance
for the SPEC floating-point benchmarks is similar) and better performance on in-
teger programs for a price that is less than one-tenth of the supercomputer!
Second, this dramatic rate of improvement has led to the dominance of micro-
processor-based computers across the entire range of the computer design. Work-
stations and PCs have emerged as major products in the computer industry.
Minicomputers, which were traditionally made from off-the-shelf logic or from
gate arrays, have been replaced by servers made using microprocessors. Main-
frames are slowly being replaced with multiprocessors consisting of small num-
bers of off-the-shelf microprocessors. Even high-end supercomputers are being
built with collections of microprocessors.
Freedom from compatibility with old designs and the use of microprocessor
technology led to a renaissance in computer design, which emphasized both ar-
chitectural innovation and efficient use of technology improvements. This renais-
sance is responsible for the higher performance growth shown in Figure 1.1—a
rate that is unprecedented in the computer industry. This rate of growth has com-
pounded so that by 1995, the difference between the highest-performance micro-
processors and what would have been obtained by relying solely on technology is
more than a factor of five. This text is about the architectural ideas and accom-
panying compiler improvements that have made this incredible growth rate possi-
ble. At the center of this dramatic revolution has been the development of a
quantitative approach to computer design and analysis that uses empirical obser-
vations of programs, experimentation, and simulation as its tools. It is this style
and approach to computer design that is reflected in this text.
Sustaining the recent improvements in cost and performance will require con-
tinuing innovations in computer design, and the authors believe such innovations
will be founded on this quantitative approach to computer design. Hence, this
book has been written not only to document this design style, but also to stimu-
late you to contribute to this progress.
The task the computer designer faces is a complex one: Determine what
attributes are important for a new machine, then design a machine to maximize
performance while staying within cost constraints. This task has many aspects,
including instruction set design, functional organization, logic design, and imple-
mentation. The implementation may encompass integrated circuit design,
1.2
The Task of a Computer Designer
![](https://csdnimg.cn/release/download_crawler_static/4376614/bg5.jpg)
4
Chapter 1 Fundamentals of Computer Design
packaging, power, and cooling. Optimizing the design requires familiarity with a
very wide range of technologies, from compilers and operating systems to logic
design and packaging.
In the past, the term
computer architecture
often referred only to instruction
set design. Other aspects of computer design were called
implementation,
often
insinuating that implementation is uninteresting or less challenging. The authors
believe this view is not only incorrect, but is even responsible for mistakes in the
design of new instruction sets. The architect’s or designer’s job is much more
than instruction set design, and the technical hurdles in the other aspects of the
project are certainly as challenging as those encountered in doing instruction set
design. This is particularly true at the present when the differences among in-
struction sets are small (see Appendix C).
In this book the term
instruction set architecture
refers to the actual programmer-
visible instruction set. The instruction set architecture serves as the boundary be-
tween the software and hardware, and that topic is the focus of Chapter 2. The im-
plementation of a machine has two components: organization and hardware. The
term
organization
includes the high-level aspects of a computer’s design, such as
the memory system, the bus structure, and the internal CPU (central processing
unit—where arithmetic, logic, branching, and data transfer are implemented)
design. For example, two machines with the same instruction set architecture but
different organizations are the SPARCstation-2 and SPARCstation-20.
Hardware
is used to refer to the specifics of a machine. This would include the detailed
logic design and the packaging technology of the machine. Often a line of ma-
chines contains machines with identical instruction set architectures and nearly
identical organizations, but they differ in the detailed hardware implementation.
For example, two versions of the Silicon Graphics Indy differ in clock rate and in
detailed cache structure. In this book the word
architecture
is intended to cover
all three aspects of computer design—instruction set architecture, organization,
and hardware.
Computer architects must design a computer to meet functional requirements
as well as price and performance goals. Often, they also have to determine what
the functional requirements are, and this can be a major task. The requirements
may be specific features, inspired by the market. Application software often
drives the choice of certain functional requirements by determining how the ma-
chine will be used. If a large body of software exists for a certain instruction set
architecture, the architect may decide that a new machine should implement an
existing instruction set. The presence of a large market for a particular class of
applications might encourage the designers to incorporate requirements that
would make the machine competitive in that market. Figure 1.2 summarizes
some requirements that need to be considered in designing a new machine. Many
of these requirements and features will be examined in depth in later chapters.
Once a set of functional requirements has been established, the architect must
try to optimize the design. Which design choices are optimal depends, of course,
on the choice of metrics. The most common metrics involve cost and perfor-
剩余911页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
xdrobin
- 粉丝: 2
- 资源: 4
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 藏经阁-应用多活技术白皮书-40.pdf
- 藏经阁-阿里云计算巢加速器:让优秀的软件生于云、长于云-90.pdf
- 藏经阁-玩转AIGC与应用部署-92.pdf
- 藏经阁-程序员面试宝典-193.pdf
- 藏经阁-Hologres 一站式实时数仓客户案例集-223.pdf
- 藏经阁-一站式结构化数据存储Tablestore实战手册-206.pdf
- 藏经阁-阿里云产品九月刊-223.pdf
- 藏经阁-2023云原生实战案例集-179.pdf
- 藏经阁-Nacos架构&原理-326.pdf
- ZTE电联中频一张网配置指导书
- 企业级数据治理之数据安全追溯
- MISRA-C 2012-中文翻译版.pdf
- 藏经阁-《多媒体行业质量成本优化及容灾方案白皮书》-37.pdf
- 藏经阁-浅谈阿里云通用产品线Serverless的小小演化史-23.pdf
- 藏经阁-冬季实战营第一期:从零到一上手玩转云服务器-44.pdf
- 藏经阁-云上自动化运维宝典-248.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)