Computer Abstractions and Technologygit
// 計算機抽象原理和技術程序員
Civilization advances by extending the number of important operations which we can performs which without about them. web
Alfred North Whiteheadexpress
// 重要操做數不加思索地被執行的數量的擴展, 體現文明的進步。 api
(civilization /ˌsɪv.əl.aɪˈzeɪ.ʃən/ n. human society with its well developed social organizations, or the culture and way of life a society or country at a particular period in time. 文明社會,(特定時期或特定社會或國家的)文明,文化; )promise
1.1 Introduce // 簡介安全
1.2 Eight Great Ideas in computer Architecture // 計算機體系架構的八大思想架構
1.3 Below Your program // 程序的背後app
1.4 Under the cover // 機蓋的下面less
1.5 Technologies for Building Processors and Memory // 構造處理器和內存的技術
1.6 Performance //性能
1.7 The Power Wall // 功耗牆
1.8 The sea changes : The switch from Uniprocessors to Multiprocessors // 巨大變化:從單處理器到多處理器
1.9 Real stuff : Benchmarking the Intel Core i7 // 實例: Intel Core i 7 基準測試
1.10 Fallacies and Pitfalls // 誤區和陷阱 (fallacy /ˈfæl.ə.si/ n. an idea that a lot of people think is ture but is in fact false. 謬見,謬論。[+that] It is a common fallacy that women are worse drivers than men. 女性司機開車不如男性好這是人們常有的謬見。
pitfall /ˈpɪt.fɑːl/ n. a likely mistake or problem in a situation 隱患, 陷阱;)
1.11 Concluding Remarks // 結束語
1.12 Historical Perspective and Further Reading // 歷史視覺和前沿閱讀
1.13 Exercises // 練習
1.1 Introduce // 簡介
Welcome to this book! We're delighted to have this opportunity to convey the excitement of the world of computer systems. This is not a dry and dreary field, where progress is glacial and where new ideas atrophy from neglect. No! Computers are the product of incredibly vibrant information technology industry, all aspects of which are responsible for almost 10% of the gross national product of the United States, and whose economy has become dependent in part on the rapid improvements in information technology promised by Moore's Law. This unusual industry embraces innovation at a breath-taking rate. In the last 30 years, there have been a number of new computers whose instruction appeared to revolutionize the computing industry; these revolutions were cut short only because someone else built an even better computer.
// 歡迎來到這本書。咱們很高興有此次機會去傳達計算機系統世界的使人興奮的事情。這不是一個乾燥而沉悶的領域,進步舉步維艱;新思想因疏忽而萎縮。不!計算機是信息技術行業活躍程序最大的產品,在各個方面,計算機幾乎佔有了美國GNP的10%,其經濟在必定的程度上依賴於摩爾定律所承諾的信息技術的快速提升。 這個不尋常的行業,以驚人的速度催生着的新的概念。在過去的30年裏,有許多新的計算機,他們的指令彷佛給計算機行業帶來了革命性的變化, 這些革命之因此被縮短,僅僅是由於其餘的人設計打造了一臺更好的計算機。
( delight /di'lait/ vt. to give someone great pleasure or satisfacition 使高興, 使知足;
convey /kən'vei/ vt. to express a though, feeling, or idea so that it is understood by the other people 表達,傳達(思想、感情、想法);
dreary /'driəri/ adj. boring and making you feel unhappy.沉悶的;單調泛味的,使人沮喪的; a dreary little town沉悶的小城;She had spent another dreary day in the office. 她在辦公室渡過了枯燥的一天。
atrophy / ˈæt.rə.fi/ vi. (of a part of the body) to be reduced in size and therefore strength, or more generally, to become weaker.(身體部位)萎縮 ;衰退
neglect /'niglekt/ vt. to not give enough care or attention to people or things that are your responsibility. 疏於照管;忽視;疏忽;
glacial /ˈɡleɪ.ʃəl/ adj. extremely unfriendly 冷若冰霜;冷冰冰的;
incredibly /ɪnˈkred.ə.bli/ adv. used for saying that something is very difficult to believe. 難以置信的;
vibrant /ˈvaɪ.brən / adj. energetic, exciting, and full of enthusiasm 活躍的;精力充沛的;熱情揚溢的;
responsible /rɪˈspɒn.sə.bəl/ adj. be responsible for sth./ doing sth. = to be the person who caused something to happen, especially something bad = 對(尤指壞事)負責任;應對...承擔責任;
the gross national product = GNP = the total value of the goods and services produced in a country, which includes the effect of inflation and also the income from the goods and services sold in other country.
embrace /im'breis/ vt. to accept somthing enthusiastically. 欣然接受,樂意採納;
innovation /ˌɪn.əˈveɪ.ʃən/ n. (the use of ) a new idea or methold 新觀念,新方法;
breath-taking/ ˈbreθˌteɪ.kɪŋ / adj. extremely exciting, beautiful, or surprising 極其刺激的、 美的驚人的、 驚人的;
revolutionize /ˌrev.əˈluː.ʃən.aɪz/ vt. to completely change something so that it is much better. )
This race to innovate has led to unprecedented progress since the inception of electionic computing in the late 1940s. Had the transportation industry kept pace with the computer industry, for example, today we could travel from New York to London in a second for a penny. Take just a moment to contemplate how such an improvement would change society --living in Tahiti while working in San Francisco, going to Moscow for an evening at the Bolshoi Ballet-- and you can appreciate the implications of such a change.
自從20世紀40年代後期,電子計算機的問世,這種改革的速度已達到了前所未有的進步。運輸行業與計算機行業齊頭並進, 例如,
(unprecedented /ʌnˈpres.ɪ.den.tɪd/ adj. never having happened or existed in the past; 前所未有的;空前的;絕無僅有的;
innovate /ˈɪn.ə.veɪt/ vi. to introduce changes and the new ideas. 改革,創新;
inception /ɪnˈsep.ʃən/ n. the beginning of an organization or official activity.成立,創立;
keep pace with = walk or run as fast as 跟上;
pace /peis/ n. the speed at which someone or something moves, or with which something happens or changes發生的速度,節奏;(移動的)步速; )
Computers have led to a third revolution for civilization, with the information revolution taking its place alongside the agricultural and the industrial revolutions. The resulting multiplication of humankind's intellectual strength and reach naturally has affected our everyday lives profoundly and changed the ways in which the search for new knowledge is carried out. There is now a new vein of scientific investigation, with computational scientists joining theoretical and experimental scientists in the explorational of new frontiers in astronomy, biology, chemistry, and physics, among others.
//計算機已經致使了第三次文明革命,隨着信息革命,工農業革命也同時進行。 結果,人類智慧力量的成倍增加,天然也影響了咱們的平常生活,並改變了咱們尋找新知識的方法。 如今有一個新的科學調查脈胳,計算機科學家聯合理論和實踐科學家, 在天文學,生物學,化學和物理,在它們之間探索新的尖端科學。
( alongside /əˌlɒŋˈsaɪd/ = next to , or together with;
profoundly /prəˈfaʊnd.li/ adv. deeply & extremely 深入的,極度的;
multiplication / mʌl.tɪ.plɪˈkeɪ.ʃən ˌsaɪn/ n. the symbol × or the symbol . used between two numbers to show that they should be multiplied together. 乘號;
intellectual /ˌɪn.təlˈek.tʃu.əl/ n. relating to your ability to think and understand things, especially complicated ideas. 智力的,腦力的;
strength /streŋθ/ n. the ability to do things that need a lot of physical or mental effort. 體力,力氣,力量,實力;
affected /əˈfek.tɪd / adj. artificial and not sincere 矯柔造做, 作做的, 裝模做樣的, 不天然的;
vein /veɪn/ n. a particular quality or characteristic 特徵;
investigation /ɪnˌves.tɪˈɡeɪ.ʃən/ n. the act or process of examining a crime, problem, statement, etc. carefully, especially to discover the truth. (對犯罪、問題、陳述等的)調查(尤指爲了發現真象)
frontier /ˈfrʌn.tɪər / n. the border between two countries. 國境,邊境;
astronomy / əˈstrɒn.ə.mi/ n. 天文學;
)
The computer revolution continues. Each time the cost of computing improves by another factor of 10, the opportunities for computers multiply. Applications that were economiacally infeasible suddenly become practical. In the recent past, the following applications were "computer science fiction."
Clearly, advances in this technoology now affect almost every aspect of our society. Hardware advances have allowed programmers to create wonderfully useful software, which explains why computers are omnipresent. Today's science fiction suggests tomorrow's killer applications: already on their way are glasses that augment reality, the cashless society, and cars that can drive themselves.
// 計算機革命仍在繼續。每次計算機的成本都以10的另外一個因數增長,計算機的機遇也增長。過去在經濟方面潰乏行不通的應用程序忽然變得能夠實現。 在最近過去的幾年裏,如下的應用存在於「計算機科學小說」中。
清晰地, 這種技術的進步,如今影響到了咱們社會的各個方面。 硬件的進步已經容許程序員去生產更奇妙有效的軟件,同時,也詮釋了計算機爲何無處不在。今天的科幻小說提出了明天的殺手級的應用程序:已經在路上的加強現實感的眼鏡,無現金的社會,和無人駕駛的汽車。
( infeasible /ɪnˈfiː.zə.bəl/ = unfeasible /ʌnˈfiː.zə.bəl / = not feasible = able to be done or achieved 不可行的, 行不通的;
economiacally /ˌiː.kəˈnɒm.ɪ.kəl.i/ adv. using little money, time etc. 經濟地、 節約的;節儉的;
fiction /ˈfɪk.ʃən/ n. the type of book or story that is written about imaginary characters and events and not based on real people and facts. 小說;
automobile /ˈɔː.tə.mə.biːl/ n. = a car 汽車;
dramatically / drəˈmæt.ɪ.kəl.i/ adv. suddenly or obviously. 劇烈的;明顯的;
ludicrious /ˈluː.dɪ.krəs/ adj. stupid or unreasonable and deserving to be laught at. 愚蠢好笑的;荒謬的;
microprocessor /ˌmaɪ.krəʊˈprəʊ.ses.ər/ n. a part of a computer that controls its main operations. 微處理器;
lane /lein/ n. a special strip of a road, sport track, or swimming pool that is used to keep vehicles or competitors sparate 車道,(田徑比賽的)跑道;泳道;
departure / dɪˈpɑː.tʃər/ n. a change from what is expected, or from what has happened before 偏離,背離,脫離。
inflation/ɪnˈfleɪ.ʃən/ n. a general, continuous increase in prices. 通貨澎漲
occupant /ˈɒk.jə.pənt/ n. a person who is in car, room, seat, place, or position.佔有人,佔用者。
planet / ˈplæn.ɪt/ n. a extremely large, round mass of rock and metal, such as Earth, or of gas, such as Jupiter, that moves in a circal path around the sun or another star. 行星,
relevant / ˈrel.ə.vənt/ adj. connected with what is happening or being discussed. 有關的,相關聯的;切題的;
omnipresent /ˌɒm.nɪˈprez.ənt / adj. present or having an effect everywhere at the same time. 無所不在的,遍佈各處的; )
Classes of computing Applications and their characteristics
// 計算機應用產品以及它們的特徵
Although a common set of hardware technologies (see section 1.4 and 1.5) is used in computers ranging from smart home appliances to cell phones to the largest supercomputers, these different applications have different design requirements and employ the core hardware technologies in different ways. Broadly speaking, computers are used in three different classes of application.
//
Personal computers (PCs) are possibly the best known form of computing, which readers of this book have likely used extensively. Personal computers emphasize deliverly of good performance to single users at low cost and usually execute third-party software. The class of computing drove the evolution of many cbomputing technologies, which is only about 35 years old.
Servers are the modern form of what were once much larger computers, and are usually accessed only via a network. Servers are oriented to carrying large workloads, which may consist of either single complex applications -- usually a scientific or engineering application -- or handling many small jobs, such as would occur in building a large web server. These applications are usually based on software from another source (such as a database or simulation system), but are often modified or costomized for a particular function. Servers are built from the same basic technology as desktop computers, but provide for greater computing,storage, and input /output capacity. In general, severs also place s greater emphasis on dependability, since a crash is usually more costly than it would be on a single-user PC.
Server span the widest range in cost and capability. At the low end, a server may be little more than a desktop computer without a screen or keyboard and cost a thousand dollars. These low-end servers are typically used for file storage, small business applications, or simple web serving (see section 6.10). At the other extreme are supercomputers, which at the present consist of tens of thousands of processors and many terabytes of memory, and cost tens to hundreds of millions of dollars. Supercomputers are usually used for high-end scientific and engineering calculations, such as weather forecasting, oil exploration, protein structure determination, and other large-scale problems. Although such supercomputers represent the peak of computing capability, they represent a relatively small fraction of the servers and a relatively small fraction of the overall computer market in terms of total revenue.
Embedded computers are the largest class of computers and span the widest range of applications and performance. Embedded computers include the microprocessors found in your car, the computers in a television set, and the networks of processors that control a modern airplane or cargo ship. Embedded computer systems are designed to run one application or one set of related applications that are normally integrated with the hardware and delivered as a single system; thus, despite the large number of embedded computer, most users never really see that they are using a computer.
Personal computer (PC) A computer designed for use by an individual, ususally incorporating a graphics display, a keyboard, and a mouse.
Server A computer used for running larger programs for multiple users, often simultaneously, and typically accessed only via a network.
Super-computer A class of computers with the highest performance and cost; they are configured as servers and typically cost tens to thunsands of millions of dollars.
terabytes(TB) Originally 1,099,511,627,776 (240) bytes, although communications and secondary storage systems developers started using the term to mean 1,000,000,000,000 (1012) bytes. Figure 1.1 shows the full range of decimaland binary values and names.
embedded computer A computer inside another device used for running one perdetermined application or collection of software.
Decimal term | Abbreviation | value | Binary term | Abbreviation | value | % Larger |
kilobyte | KB | 103 | kibibyte | KiB | 210 | 2% |
Megabyte | MB | 106 | Mebibyte | MiB | 220 | 5% |
Gigabyte | GB | 109 | Gibibyte | GiB | 230 | 7% |
Terabyte | TB | 1012 | Tebibyte | TiB | 240 | 10% |
Petabyte | PB | 1015 | Pebibyte | PiB | 250 | 13% |
Exabyte | EB | 1018 | Exbibyte | EiB | 260 | 15% |
Zettabyte | ZB | 1021 | Zebibyte | ZiB | 270 | 18% |
Yottabyte | YB | 1024 | Yobibyte | YiB | 280 | 21% |
Figure 1.1 The 2x vs 10y bytes ambiguity was resolved by adding a binary notation for all the common size terms. In the last column we note how much larger the binary term is than its corresponding decimal term, which is compounded as we head down the chart. These prefixes work for bits as well as bytes, so gigabit (Gb) is 109 bits while gibibits is 230 bits.
//
Embedded applications often have unique application requirements that combine a minimum performance with stringent limitation on cost or power. For example, consider a music player: the processor nedd onlybe as fast as necessary to handle its limited function, and beyond that, minimizing coat and power are the most important objectives. Despite their low cost, embedded computers often have lower tolerance for failure,since the results can vary from upsetting (when your new television crashes) to devastating (such as might occur when the computer in a plane or cargo ship crashes). In consumer-oriented embedded appplications, such as a digital home appliance,dependability is achieved primarily through simplicity -- the emphasis is on doing one function as perferctly as possible. In large embedded system, techniques of redundancy from the server world are often employed. Although this book focuses on general-purpose computers, most concepts apply directly, or with slight modifications, to embedded computers.
Elaboration : Elaborations are short sections used throughout the text to provide more detail on a particular subject that may be of interest. Disinterested readers may skip over an elaboration, since the subsequent material will never depend on the contents of elaboration.
Many embedded processors are designed using processor cores, a version of a processor written in a hardware description language, such as Verilog or VHDL (see Chapter 4). The core allows a designer to integrate other application-specific hardware with the processor core for fabrication on a single chip.
Welcome to the PostPC Era
The continuing march of technology brings about generational changes in computer hardware that shake up the entire information technology industry.Since the last edition of the book we have undergone such a change, as significant in the past as the switch starting 30 years ago to personal computers. Replacing the PC is the personal mobile device (PMD). PMDs are battery operated with wireless connectivity to the Internet and typically cost hundres of dollars, and like PCs, users can download softeware ("apps") to run on them. Unlike PCs, they no longer have a keyboard and mouse, and are more likely to rely on a touch-sensitive screen or even speech input. Today's PMD is a smart phone or a table computer, but tomorrow it may include electronic glasses. Figure 1.2 shows the rapid growth time of tablets and smart phones versus that of PCs and traditional cell phones.
Taking over from the traditional server is Cloud computing, which relies upon giant datacenters that are now known as Warehouse Scale Computers (WSCs). Companies like Amazon and Google build these WSCs containing 100,000 servers