Computer Systems Architecture[1]
计算机系统结构
1. Computer systems-the importance of networking
Since there is not yet a universal definition of Computer Systems Architecture (CSA), interpretations vary. Student confusion increases because commercial terminology can be even more creative! Sometimes CSA appears in the hardware orientation of digital electronics; at other times it takes on the guise of a unified software specification for a family of computers. Rarely is the central importance of network facilities,[2] both to the computer designer and to the end user, sufficiently acknowledged, even though we are all aware of its growing significance in society. Indeed, more and more computer science graduates become involved in the data communications industry, and would therefore benefit from grounding in this field. Thus an aim of this text is to place networks solidly within CSA.[3]
It is clear that computers and networks require both hardware and software in order to work. But the historical academic separation of the two poses a difficult balancing problem when presenting such a course.[4] Both are equally important and strongly connected by their enthusiastic supporters. The distinction between hardware and software can be likened to the distant relationship between the formal team player, rigidly posed in front of the goalmouth, and the exciting unpredictability of the World Cup final.[5] The static photograph of the players only vaguely hints at the limitless possibilities of the dynamic . With the increasing sophistication of computer hardware, perhaps it is unfortunate that the taking-apart and exploration of old computers is no longer encouraged. The unexpectedly rising prices of electronic components, added to the need to have modern equipment to run the latest s, have resulted, for the moment, in a salesperson's dream. Unexpectedly, this trend, although attracting many more people to use computers, has had an adverse effect on the fundamental level of knowledge among computing undergraduates on entry to university. Although we cannot turn the clock back to the self- build hobbyist days of home computing,[6] knowledge of the interaction of hardware and software is still useful, if not necessary, for anyone wanting to be fully involved in the professional use of computers.
Curiosity about the computer systems which surround us, the Internet that frustrates us, and the mobile telephone networks that we increasingly rely on should drive us to investigate and question what is happening in the fields of software and electronics. The facilities that will become available to us in the next few years will depend largely on current developments in microelectronics and software design methodology. It is here that we can look for the future.
Throughout this passage we will treat CSA as a study of the interaction of hardware and software which determines the performance of network computer systems. We will also try to show that computers can always be viewed as hierarchical ordered systems which can be broken down into r component parts in order to fully understand their operation.[7] Unlike other areas of study, such as physics or chemistry, complex ideas can always be split into r concepts which may then be understood more easily. This progressive decomposition approach not only is useful when studying computers, but can also be invaluable when designing and building new systems.[8]
2. Hardware and software-mutual dependence
Although it is widely recognized that computer systems involve both hardware and software, it is still rare for college computer courses to require you to have a comparable understanding in both fields. Perhaps the ogy of only eating half a boiled egg is appropriate-you risk missing out on the yolk. This separation, or specialization, has a number of serious negative results. When teams of developers are separately recruited as hardware engineers or programmers, the er of an opposing split progressively opening up between the two camps is always present. Professional rivalry can arise through misunderstandings due to the different approaches and vocabulary used by hardware and software engineers. Problems, when they inevitably occur, can be blamed on the other camp and then take longer to resolve. Programmers sometimes find that unsuitable equipment has already been specified without consultation, and hardware designers can sit helplessly by as unsuitable software fails to exploit the performance advantages offered by their revolutionary new circuits.
It has been claimed by some business ysts that hardware manufacturing will be of no great commercial consequence. The profit lies in programming: lead the world in the development of systems software! But it is now clear that in such a rapidly changing world, early access to new hardware designs gives the software industry an important marketing lead. The first software products to exploit some new hardware faculty have a clear leadership in the market-place. The neglect of the hardware side of the computing industry has never delivered any long-term advantage. Understanding basic principles and appreciating their application by modem technology within a range of current products is a central aim of this text. Programmers neglect developments in hardware at their peril. The opposite situation, where software is overlooked, can lead to similar failures. Consider the much greater commercial success of the PC since running the Windows operating system and the recent explosion in use of the Internet. Many excellent machines became commercial failures because of their sub-standard software. These well-rehearsed public examples can be added to and confirmed by thousands of private disasters which all underline the need to pursue hardware and software developments in concert. We now recognize that despite their technical superiority, computer systems can fail to win acceptance for many reasons, such as a poorly thought-out user intece, a lack of applications s.oftware, or an inappropriate choice of operating system.[9] Many recent developments have arisen from a simultaneous advance in hardware and software: windowing inteces are only possible through sophisticated software and powerful graphics cards; network connections are supported by autonomous coprocessors working with complex driver routines; laser printers became universally popular when the xerography print engine was supplemented by the PostScript interpreter.[10] Many such examples demonstrate the value of keeping abreast of developments in both hardware and software. An increasing difficulty with investigating the interaction of hardware and software i.s gaining access to the relevant facilities. With large, multi-user mainframe computers it was understandable that the ordinary programmer was denied[11] access to the hardware and critical software to protect other users. However, with the introduction of Windows NT such security constraints were introduced to single-user personal workstations, it impossible to access the hardware directly. Only the operating system code has this privilege, while ordinary programs are forced to call "trusted" system routines to read or write to any part of the hardware.
3. Programming your way into hardware
A remarkable empirical law describing the rapid growth of silicon technology was proposed by Gordon Moore, one of the founders of Intel.[12] His well-known rule, Moore's Law, states that the amount of circuitry (number of transistors) which can be placed on a given chip area approximately doubles every two years. A circuit designed 24 months ago can now be shrunk to fit into an area of half the size. Intel's original 4004 processor involved 2300 transistors, while the Pentium 4 has somewhere of the order of 42 million. The chip area had not increased by a factor of 2000! This capability to progressively shrink the size of electronic circuits could reduce the chip cost, because more circuits are processed on a single slice of silicon, but the technical advance has more often been exploited by enhancing the chip ' s functionality.
Surprisingly, this law has held true since the early 1970s and is likely to stand well into the 2020s before the size of circuit elements become so small that quantum physics intervenes through Heisenberg' s uncertainty principle.[13] Already the on-chip circuit interconnections are only 0.25 um long and the insulating layers can be as thin as a couple of dozen molecules. However, Moore's Law remains somewhat of a mystery, given that the underlying variables responsible for the trend are as diverse as the ability to maintain ultra-clean factory environments, reduction of international trade barriers, development of increasingly high-resolution technology and the marketing success of s consoles!
Although the split between those concerned with hardware and those concerned with software is now deeply rooted, there are developments which might reverse this trend. As manufacturing techniques allow components to shrink in size, hardware engineers find it increasingly difficult to wire up "breadboard" prototypes because the circuits they are building have grown too complicated.[14] In any case. the performance of the large-sized components which they can handle easily in a traditional way is not identical to that of the miniature equivalents which will make up the final integrated circuit that is produced.
In the past there was a tendency for trained electronic engineers to migrate towards software, to pick up programming skills and to get involved in systems programming. Will this trend now be reversed? Programmers, software engineers, trained to deal with large systems and complex specifications, may take the opportunity of contributing to the hardware design. This is another example of how hardware and software can come together through the tools and skills demanded by systems developers.
Notes
[1]Computer Systems Architecture (CSA)计算机系统结构。计算机系统结构是从外部来研究计算机系统的一门学科,一般说来,凡是计算机系统的使用者(包括一般用户和系统程序员)所能看到的计算机系统的属性都是计算机系统结构所要研究的对象。
[2]Rarely is the central importance of network facilities……计算机设计者和终端用户很少能认识到网络设备的重要性。否定副词rarely放在句首表示强调,句子要倒装。例如:Rarely can he finish his work in time. 他很少按时完成作业。
[3]Thus an aim of this text is to place networks solidly within CSA. 因此,本文旨在于计算机系统结构中打下坚实的基础。
[4]But the historical academic separation of the two poses a difficult balancing problem when presenting such a course. 由于历史上两者的教学相互分离,开设这门课程,就出现了怎么样兼顾的问题。
[5]The distinction between hardware and software can be likened to the distant relationship between the formal team player, rigidly posed in front of the goalmouth, and the exciting unpredictability of the World Cup final.计算机硬件与软件的区别,正如足球场上生硬地点在球门前准备射门的球员,与世界杯决赛的结果,扑朔迷离,难以预测。
[6]Although we cannot turn the clock back to the self-build hobbyist days of home computing……虽然我们不能使时光倒流到自己组装家用电脑的年代……
[7]We will also try to show that computers can always be viewed as hierarchical ordered systems which can be broken down into r component parts in order to fully understand their operation. 我们试图说明计算机是一个分级有序的系统,可以分解成更简单的组成部分,这样的话我们就可以更好地了解他们是如何运行的。
[8]This progressive decomposition approach……这种循序渐进的分解方法
[9]...such as a poorly thought-out user intece……例如一个缺乏深思熟虑的用户界面
[10]...the PostScript interpreter... PostScript解码器……。PostScript是由Adobe公司所开发的页面描述语言,是一种桌面系统向输出设备输出的界面语言,专门为描述图像及文字而设计。PostScript是国际是最流行的页面描述语言,其最大特点是能够综合处理文字和图形、图像,也是事实上的工业标准。几乎所有的印前输出设备都支持PS语言,PS语言的成功也使开放式的电子出版系统在国际上广泛流行。
[11]was denied access to the hardware……被拒绝使用硬件
[12]Gordon Moore戈登·摩尔。1929年出生在美国加州,并在加州理工大学(CIT)获得物理和化学两个博士学位。1950s中期他和集成电路的发明者罗伯特·诺伊斯(Robert Noyce)一起,在威廉·利半导体公司工作。后来,诺伊斯和摩尔等8人集体辞职创办了半导体工业史上有名的仙童半导体公司(Fairchild Semiconductor)。仙童成为现在的Intel和AMD之父。1968年,摩尔和诺伊斯一起退出仙童公司,创办了Intel。摩尔定律是指IC上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。
[13]Heisenberg's uncertainty principle. 海森堡测不准原理,又名“测不准原理”、“不确定关系”。该原理表明:一个微观粒子的某些物理量(如位置和动量,或方位角与动量矩,还有时间和能量等),不可能同时具有确定的数值,其中一个量越确定,另一个量的不确定程度就越大。测量一对共轭量的误差的乘积必然大于常数h/2π(h是普朗克常数)是海森伯在1927年首先提出的,它反映了微观粒子运动的基本规律,是物理学中又一条重要原理。
[14]...wire up "breadboard" prototypes……为电路实验板原型接通电源