【計(jì)算機(jī)基礎(chǔ)Ep8】黑皮書:《計(jì)算機(jī)組成與設(shè)計(jì)——硬件/軟件接口》內(nèi)容梳理(一)
第一章 計(jì)算機(jī)抽象及相關(guān)技術(shù)
1.1引言
影響——
計(jì)算機(jī)各類相關(guān)產(chǎn)品約占美國國民生產(chǎn)總值的10%,美國經(jīng)濟(jì)在某些方面已經(jīng)與信息技術(shù)密不可分,而這一領(lǐng)域正按照摩爾定律所預(yù)示的那樣快速發(fā)展;
計(jì)算機(jī)行業(yè)正以驚人的速度擁抱創(chuàng)新,這場創(chuàng)新競爭已經(jīng)帶來了史無前例的進(jìn)步;
沿著農(nóng)業(yè)革命、工業(yè)革命的發(fā)展方向,計(jì)算機(jī)促進(jìn)了人類的第三次革命——信息革命;
由此產(chǎn)生的人類智力的成倍增長自然而深刻地影響了人們的日常生活,并且改變了人們尋求新知識(shí)的方式。
應(yīng)用——
車載計(jì)算機(jī);
手機(jī);
人類基因組項(xiàng)目;
萬維網(wǎng);
搜索引擎。
1.1.1傳統(tǒng)的計(jì)算應(yīng)用分類及其特點(diǎn)
概述:雖然計(jì)算機(jī)中使用了一套通用的硬件技術(shù),但不同的應(yīng)用具有不同的設(shè)計(jì)要求,并以不同的方式使用核心硬件技術(shù)。
應(yīng)用場景:
個(gè)人計(jì)算機(jī)(Personal Computer,PC):強(qiáng)調(diào)以低成本向單個(gè)用戶交付良好的性能,通常運(yùn)行第三方軟件;
服務(wù)器:更強(qiáng)調(diào)可靠性,因?yàn)橄啾葐斡脩魝€(gè)人計(jì)算機(jī)而言,服務(wù)器發(fā)生故障的代價(jià)更高;
分類——
低端服務(wù)器:用于文件存儲(chǔ)、小型商業(yè)應(yīng)用或簡單的Web服務(wù);
高端服務(wù)器,超級計(jì)算機(jī)(supercomputer):由成千上萬顆處理器和數(shù)太字節(jié)(terabyte)的內(nèi)存組成,成本高達(dá)幾千萬甚至數(shù)億美元,用于高端科學(xué)和工程計(jì)算,代表最高的計(jì)算能力,只占據(jù)服務(wù)器中相對較小的一部分,在整個(gè)計(jì)算機(jī)市場中所占總銷售收入的比例也很小。
嵌入式計(jì)算機(jī):應(yīng)用場景和性能范圍更為廣泛,設(shè)計(jì)目標(biāo)是運(yùn)行單一應(yīng)用程序或者一組相關(guān)的應(yīng)用程序,并且通常和硬件集成在一起以單一系統(tǒng)的方式一并交付;通常具有特定的應(yīng)用程序要求,需要將最低性能與嚴(yán)格的成本及功耗限制結(jié)合在一起考慮;對故障的容忍度較低——
面向消費(fèi)者:簡單設(shè)計(jì)獲得可靠性,盡可能保證一項(xiàng)功能的正常運(yùn)轉(zhuǎn);
大型嵌入式系統(tǒng):服務(wù)器領(lǐng)域的冗余技術(shù)。
1.1.2歡迎來到后PC時(shí)代
個(gè)人移動(dòng)設(shè)備(Personal Mobile Device,PMD):替代個(gè)人電腦,利用電池供電,通過無線方式連接互聯(lián)網(wǎng),價(jià)格只有幾百美元。
相同:和個(gè)人電腦一樣,用戶可以下載軟件,在其上運(yùn)行。
不同:個(gè)人移動(dòng)設(shè)備不再擁有鍵盤和鼠標(biāo),更可能依靠觸摸屏或語音輸入。
云計(jì)算:接替?zhèn)鹘y(tǒng)服務(wù)器,它依賴于倉儲(chǔ)級計(jì)算機(jī)(Warehouse Scale Computer,WSC)的巨型數(shù)據(jù)中心,通過云計(jì)算實(shí)現(xiàn)的軟件即服務(wù)(SAAS)正在徹底改變軟件行業(yè)。
1.1.3你能從本書中學(xué)到什么
簡單信條:盡量減少程序占用的內(nèi)存空間以加速程序運(yùn)行。
現(xiàn)代計(jì)算機(jī)的特征:處理器的并行性、存儲(chǔ)的層次性。
解答以下問題:
用C或Java等高級語言編寫的程序如何被翻譯成機(jī)器語言,以及硬件如何執(zhí)行最終的程序?
軟件和硬件之間的接口是什么?軟件如何知道硬件執(zhí)行所需的功能?
什么因素決定了程序的性能,以及程序員如何改進(jìn)程序性能?
硬件設(shè)計(jì)人員可以使用哪些技術(shù)來提高性能?
硬件設(shè)計(jì)人員可以使用哪些技術(shù)來改善能效?程序員可以做些什么來改變能效?
串行處理近來發(fā)展到并行處理的原因和結(jié)果是什么?
自1951年第一臺(tái)商用計(jì)算機(jī)以來,計(jì)算機(jī)架構(gòu)師提出的哪些偉大思想奠定了現(xiàn)代計(jì)算機(jī)技術(shù)的基礎(chǔ)?
程序的性能取決于以下各因素的組合:
程序中所用算法的有效性;
創(chuàng)建程序和將其翻譯為機(jī)器指令的軟件系統(tǒng);
計(jì)算機(jī)執(zhí)行這些機(jī)器指令(可能包括輸入/輸出操作)時(shí)的有效性。
影響性能的因素——
算法——源碼級語句的數(shù)量和執(zhí)行I/O操作的數(shù)量——其他書籍;
編程語言、編譯器、體系結(jié)構(gòu)——每條源碼級語句對應(yīng)的計(jì)算機(jī)指令數(shù)量——本書;
處理器和存儲(chǔ)系統(tǒng)——指令執(zhí)行速度——本書;
I/O系統(tǒng)(硬件和操作系統(tǒng))——I/O操作可能的執(zhí)行速度——本書。