没有合适的资源?快使用搜索试试~ 我知道了~
Computer Organization & Design:The Hardware/Software Interface(2...
5星 · 超过95%的资源 需积分: 34 351 下载量 47 浏览量
2007-07-06
13:26:39
上传
评论 3
收藏 4.82MB PDF 举报
温馨提示
试读
912页
【内容简介】<br> 本书是计算机及相关专业本科和研究生的经典教材。<br> 与同类著作相比,这本书具有结构清晰完整、系统性强,内容新颖,行文深入浅出,可读性好的特点。特别值得提出的是,这本书讲授计算机组织的基本概念和基础。更重要的是,本书提供了计算机组织的设计和基本框架,使读者能够继续学习的必要知识,从而可以保持在这一领域的前沿位置。这是一本能使读者在较短时间内全面了解。熟悉和掌握当代计算机系统发展主流技术和最新成就的优秀教材和专业参考书。 <br> 美国加州大学伯克利分校计算机系Patterson教授和斯坦福大学计算机系Hennessy教授是现今计算机设计领域非常受人尊敬的学者和开创者。John Hennessy精通硬件/软件,是具有传奇色彩的MIPS编译器和几代MIPS硬件产品的技术上的领导者。David Patterson是RISC最初提倡者之一。他创造了RISC一词,定义了RISC的含义,是Sun公司SPARC处理器的主要顾问。他提出了RAID(廉价磁盘冗余阵列),带来了为大量数据服务器提供磁盘存储的工业的革命,并且又提出了NOW(工作站网络)的概念。该书是他们对计算机组织研究和实践的全面而系统的总结。目前,世界上很多大学的计算机原理课程采用这本教材。国内也有大学采用这本教材的英文版。
资源推荐
资源详情
资源评论
1
Fundamentals of
Computer Design
1
And now for something completely different.
Monty Python’s Flying Circus
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
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
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
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页未读,继续阅读
wslywsly
- 粉丝: 3
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页