版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緒論1.1計(jì)算機(jī)的發(fā)展歷史1.2計(jì)算機(jī)的基本組成1.3計(jì)算機(jī)的層次概念1.4計(jì)算機(jī)分類及性能描述
1.1計(jì)算機(jī)的發(fā)展歷史
電子數(shù)字計(jì)算機(jī)無疑是人類社會(huì)科學(xué)技術(shù)發(fā)展史上最偉大的發(fā)明之一,它的出現(xiàn)深刻影響著人類精神文明和物質(zhì)文明的發(fā)展。所謂電子數(shù)字計(jì)算機(jī),是指能對離散邏輯符號(hào)表示的數(shù)據(jù)或信息進(jìn)行自動(dòng)處理的電子裝置,簡稱計(jì)算機(jī)。
1.1.1發(fā)展歷史
電子數(shù)字計(jì)算機(jī)的發(fā)展根據(jù)所使用的電子元器件劃分為如下幾個(gè)階段。
1.第1代:電子管計(jì)算機(jī)(1946—1957年)
第一代計(jì)算機(jī)是由電磁繼電器、電子管等器件構(gòu)成的,直接使用機(jī)器語言編程。
2.第2代:晶體管計(jì)算機(jī)(1958—1964年)
第二代計(jì)算機(jī)由晶體管、磁芯存儲(chǔ)器等構(gòu)成。軟件上采用監(jiān)控程序?qū)τ?jì)算機(jī)進(jìn)行管理,并且開始使用高級語言。
與電子管相比,晶體管體積更小,功耗更低,可靠性更高。晶體管計(jì)算機(jī)中的電子線路也隨之更加小型化,具有更高的可靠性和更快的速度,成本也進(jìn)一步降低。
3.第3代:中小規(guī)模集成電路計(jì)算機(jī)(1965—1971年)
第3代計(jì)算機(jī)由小規(guī)模及中規(guī)模集成電路芯片、多層印刷電路板及磁芯存儲(chǔ)器等構(gòu)成,具有更高的可靠性、更小的體積以及更低的成本。在軟件上,高級語言迅速發(fā)展,出現(xiàn)了分時(shí)操作系統(tǒng),具有分時(shí)共享和多道程序處理(即多個(gè)人同時(shí)使用一臺(tái)計(jì)算機(jī))的能力。在這個(gè)時(shí)期,計(jì)算機(jī)的應(yīng)用領(lǐng)域不斷擴(kuò)展,開始向國民經(jīng)濟(jì)各部門及軍事領(lǐng)域滲透。
4.第4代:大規(guī)模和超大規(guī)模集成電路計(jì)算機(jī)(1972—2010年)
第4代計(jì)算機(jī)由大規(guī)模、超大規(guī)模集成電路構(gòu)成,在結(jié)構(gòu)上有了很大的變化,得益于芯片集成度的提高,在性能上有了很大的提升。
這一代計(jì)算機(jī)所使用的電子元器件具有以下兩方面的特點(diǎn):
(1)計(jì)算機(jī)中的存儲(chǔ)器由半導(dǎo)體存儲(chǔ)器實(shí)現(xiàn)。
(2)微處理器的廣泛使用。
5.第5代:巨大規(guī)模集成電路計(jì)算機(jī)(2010年至今)
如何定義第5代計(jì)算機(jī),目前說法不一。由于計(jì)算機(jī)性能的持續(xù)提升,軟件和通信變得與硬件同等重要。
第5代計(jì)算機(jī)具有如下特點(diǎn):
(1)體積小,功耗低,性能高,無處不在。
(2)通過并行處理技術(shù)實(shí)現(xiàn)高性能。
(3)目前計(jì)算機(jī)的性能已經(jīng)足夠強(qiáng),人工智能、機(jī)器學(xué)習(xí)技術(shù)快速發(fā)展,使得計(jì)算機(jī)更加人性化、智能化,能聽,會(huì)看,會(huì)說,有感情。
(4)虛擬化技術(shù)廣泛應(yīng)用,使得各種開發(fā)工具軟件也更加自動(dòng)化、智能化。
1.1.2摩爾定律
1965年4月,《電子學(xué)》雜志刊登了戈登?摩爾(GordonMoore)撰寫的一篇文章。摩爾當(dāng)時(shí)是仙童半導(dǎo)體公司研發(fā)部門的主管。摩爾在該文中講述了他如何將50個(gè)晶體管集成在一塊芯片中,并且預(yù)言,到1975年,就可能將6.5萬只這樣的元件密植在一塊芯片上,制成高度復(fù)雜的集成電路。
摩爾的預(yù)言不僅對他本人,而且對整個(gè)社會(huì)都是意義深遠(yuǎn)的。后來摩爾與其他人共同成立了英特爾(Intel)公司,并通過他所開創(chuàng)的技術(shù)創(chuàng)造了無數(shù)的財(cái)富。
摩爾定律并不是一個(gè)物理定律(物理定律是放之四海皆準(zhǔn)的),而是一種預(yù)言,它鞭策著工業(yè)界不斷地改進(jìn),并努力去實(shí)現(xiàn)它。從人們認(rèn)識(shí)摩爾定律開始,無論是Intel公司、AMD公司,還是其他半導(dǎo)體器件公司,無一不是在不斷地努力去實(shí)現(xiàn)摩爾定律,不斷地推出集成度更高的產(chǎn)品。
圖1.1為典型微處理器集成度隨時(shí)間(年)的增長情況。由圖1.1可見,到目前為止,微處理器芯片的集成度仍然隨時(shí)間呈指數(shù)級增長。圖1.1微處理器集成度的增長情況(1971—2018年)
隨著芯片集成度的提高,計(jì)算機(jī)的性能及可靠性大大提高,價(jià)格大大降低。正是摩爾定律使得計(jì)算機(jī)日新月異地發(fā)展,其影響體現(xiàn)在如下幾個(gè)方面:
(1)雖然芯片的集成度快速提高,但單個(gè)芯片的成本變化不大,這意味著可以用更少的芯片來實(shí)現(xiàn)計(jì)算機(jī)邏輯電路和存儲(chǔ)電路,在相同性能的情況下,價(jià)格顯著下降;在相同價(jià)格的情況下,新一代的計(jì)算機(jī)功能更強(qiáng),性能更好。
(2)隨著芯片集成度的提高,芯片中電路各部分之間的信號(hào)傳輸路徑顯著縮短,信號(hào)傳輸延時(shí)小,微處理器的主頻得以提高,計(jì)算機(jī)的速度更快。
(4)通過提高芯片的集成度,降低工作電壓,可顯著降低芯片的功耗,使得便攜式、嵌入式計(jì)算機(jī)用電池供電成為可能,也降低了高性能計(jì)算機(jī)對散熱的要求。
(5)芯片內(nèi)部電路各部分之間的連接比外部連接更加可靠。隨著芯片集成度的增加,構(gòu)成計(jì)算機(jī)所需的芯片數(shù)量越來越少,芯片之間所需的連線(焊點(diǎn))也越來越少,計(jì)算機(jī)的可靠性越來越高。
1.2計(jì)算機(jī)的基本組成
1.2.1硬件系統(tǒng)硬件系統(tǒng)是指計(jì)算機(jī)中那些看得見、摸得著的物理實(shí)體。
1.硬件組成圖1.2所示的計(jì)算機(jī)結(jié)構(gòu)是馮·諾依曼在1946年提出的。他基于此硬件結(jié)構(gòu)提出計(jì)算機(jī)是依據(jù)存儲(chǔ)程序、程序控制的方式工作的。這就是馮·諾依曼計(jì)算機(jī)的設(shè)計(jì)思想。圖1.2早期計(jì)算機(jī)(硬件)的組成
2.馮·諾依曼計(jì)算機(jī)的特點(diǎn)
馮·諾依曼計(jì)算機(jī)工作的基本思想就是:將計(jì)算機(jī)要處理的問題用指令編成程序,并將程序存放在存儲(chǔ)器中,在控制器的控制下,從存儲(chǔ)器中逐條取出指令并執(zhí)行,通過執(zhí)行程序最終解決計(jì)算機(jī)所要處理的問題。盡管經(jīng)歷了幾十年的發(fā)展,也出現(xiàn)了新的設(shè)計(jì)思想,但馮·諾依曼的這種存儲(chǔ)程序控制原理直到今天仍然在廣泛地應(yīng)用。
馮·諾依曼計(jì)算機(jī)的特點(diǎn)可歸納如下:
(1)計(jì)算機(jī)由運(yùn)算器(算術(shù)邏輯部件ALU)、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)備五大部件組成。
(2)指令和數(shù)據(jù)以二進(jìn)制形式表示,以同等地位存放在存儲(chǔ)器中,并可按地址訪問。用二進(jìn)制不僅電路簡單,使用方便,而且抗干擾能力強(qiáng)。
(3)指令由操作碼和地址碼組成。操作碼指明指令的功能,地址碼指明操作數(shù)與運(yùn)算結(jié)果的存放位置(地址)。
(4)將計(jì)算機(jī)要處理的問題用指令編成程序。
(5)在控制器的控制下,指令被逐條(順序)從存儲(chǔ)器中取出來執(zhí)行,產(chǎn)生控制流,在控制流的驅(qū)動(dòng)下完成指令的功能。在此過程中,數(shù)據(jù)(流)則是被動(dòng)地調(diào)用。
(6)在特定條件下,可由跳轉(zhuǎn)類指令根據(jù)運(yùn)算結(jié)果或設(shè)定的條件改變程序中指令的執(zhí)行順序。
(7)早期的馮·諾依曼計(jì)算機(jī)以運(yùn)算器為中心,輸入/輸出設(shè)備通過運(yùn)算器與存儲(chǔ)器傳送數(shù)據(jù)。
3.計(jì)算機(jī)硬件結(jié)構(gòu)的發(fā)展
目前,在馮·諾依曼體系結(jié)構(gòu)思想的基礎(chǔ)上,計(jì)算機(jī)硬件體系結(jié)構(gòu)已經(jīng)得到了很大的發(fā)展,主要有以下幾個(gè)方面:
(1)不斷擴(kuò)充硬件及功能:增加了更多通用寄存器、多種尋址方式,支持浮點(diǎn)數(shù)據(jù)類型、中斷和異步I/O結(jié)構(gòu)。
(2)存儲(chǔ)器分層:引入高速緩存(Cache)、虛擬存儲(chǔ)器等,在程序執(zhí)行之前,將程序與數(shù)據(jù)存放在速度慢、容量大、成本低的存儲(chǔ)介質(zhì)(比如磁盤)中;在程序執(zhí)行時(shí),將即將(或正在)執(zhí)行的程序和所需的數(shù)據(jù)復(fù)制到速度快、容量小、成本高的存儲(chǔ)介質(zhì)(比如主存、高速緩存)中。
(3)總線結(jié)構(gòu):通過總線連接計(jì)算機(jī)系統(tǒng)中的各個(gè)模塊??偩€信號(hào)根據(jù)傳輸?shù)男畔㈩愋?分為地址線、控制線、數(shù)據(jù)線。地址線用來選擇要訪問的存儲(chǔ)單元或I/O接口,控制線傳輸相應(yīng)的讀寫控制信號(hào),數(shù)據(jù)線用來傳輸數(shù)據(jù)。總線大大簡化了計(jì)算機(jī)系統(tǒng)各模塊之間的連接,增強(qiáng)了計(jì)算機(jī)系統(tǒng)硬件的擴(kuò)展能力。
圖1.3為微型計(jì)算機(jī)(PC)的硬件結(jié)構(gòu)框圖。微處理器、主存、各種外部設(shè)備的接口通過系統(tǒng)總線連接在一起,構(gòu)成了計(jì)算機(jī)系統(tǒng)的硬件。隨著芯片集成度的進(jìn)一步提高,圖1.3中用虛線標(biāo)出的A、B部分可以分別集成在兩塊芯片中,分別稱為芯片組的北橋芯片(MemoryControllerHub,MCH)和南橋芯片(I/OControllerHub,ICH)。目前,北橋芯片的大部分電路和圖形處理單元可以集成在微處理器中,北橋芯片余下的電路與原來的南橋芯片合為一塊芯片,稱為平臺(tái)控制中樞(PlatformControllerHub,PCH)。圖1.3的C部分稱為主機(jī);主機(jī)以外的稱為輸入/輸出設(shè)備(I/O設(shè)備),也稱為外部設(shè)備,簡稱外設(shè)。圖1.3微型計(jì)算機(jī)(PC)結(jié)構(gòu)框圖
1.2.2軟件系統(tǒng)
1.系統(tǒng)軟件
系統(tǒng)軟件是一系列保障計(jì)算機(jī)能很好地運(yùn)行的程序集合。它們的功能是對系統(tǒng)的各種資源(硬件和軟件)進(jìn)行管理和調(diào)度,使計(jì)算機(jī)能有條不紊地工作,為用戶提供有效的服務(wù),充分發(fā)揮其效能。系統(tǒng)軟件包括:
1)操作系統(tǒng)
操作系統(tǒng)是最重要的系統(tǒng)軟件,它是管理計(jì)算機(jī)硬、軟件資源,控制程序運(yùn)行,改善人機(jī)交互并為應(yīng)用軟件提供支持的一種軟件。通常,操作系統(tǒng)包括五大功能:處理器管理、存儲(chǔ)管理、文件管理、設(shè)備管理及作業(yè)管理。
2)語言處理程序
每一臺(tái)計(jì)算機(jī)都會(huì)配置多種語言以利于用戶編程,從各種高級語言到匯編語言均會(huì)涉及。當(dāng)用戶使用某種語言編寫程序后,在該語言編譯程序的支持下,可將用戶的源程序轉(zhuǎn)換為計(jì)算機(jī)可執(zhí)行的目的程序。
3)各種服務(wù)支持軟件
各種服務(wù)支持軟件是指一些幫助用戶使用和維護(hù)計(jì)算機(jī)的軟件,如各種調(diào)試程序、診斷程序、提示警告程序等。
2.應(yīng)用軟件
應(yīng)用軟件是指用戶在各自的應(yīng)用中,為解決自己的任務(wù)而編寫的程序。這是一類直接以用戶的需求為目標(biāo)的程序。用戶的多樣性(各行各業(yè)、各種部門)和用戶需求的多樣性,使得這類軟件也具有多樣性。例如,應(yīng)用軟件包括用于辦公自動(dòng)化、視頻編輯、圖形圖像處理、科學(xué)計(jì)算、信息管理、過程控制、武器裝備等方面的軟件。
1.2.3指令集體系結(jié)構(gòu)
計(jì)算機(jī)系統(tǒng)底層硬件只能識(shí)別機(jī)器語言,也就是存儲(chǔ)在主存中的指令。CPU從主存中取指令,執(zhí)行指令,每條指令可實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)內(nèi)最基本的操作,比如基本的算術(shù)運(yùn)算(加、減)、邏輯運(yùn)算(與、或、異或、移位)、數(shù)據(jù)傳送(裝載、存儲(chǔ))、跳轉(zhuǎn)(條件轉(zhuǎn)移、無條件轉(zhuǎn)移),這些指令被編碼為一個(gè)字或多個(gè)字節(jié)組成的二進(jìn)制格式。
1.指令集體系結(jié)構(gòu)(ISA)概述
處理器支持的指令和指令的字節(jié)級編碼稱為指令集體系結(jié)構(gòu)(Instruction-SetArchitec-ture,ISA)。ISA是軟件和硬件的分界面,軟件(程序)是由ISA規(guī)定的“指令”組成的,指令通過二進(jìn)制編碼規(guī)定其功能、源操作數(shù)和目的操作數(shù)的位置等信息。計(jì)算機(jī)中的控制器在執(zhí)行指令時(shí),根據(jù)上述信息產(chǎn)生相應(yīng)的控制信號(hào),控制計(jì)算機(jī)系統(tǒng)各硬件模塊完成指令要求的功能。
為了讓程序員可以編寫底層軟件,ISA不僅要規(guī)定指令集,還要定義任何系統(tǒng)程序員需要了解的硬件信息。因此,ISA需要規(guī)定計(jì)算機(jī)中程序員可見的所有組件及操作,包括以下幾方面的內(nèi)容:
(1)指令集:處理器可執(zhí)行的指令的集合。
①指令格式、操作種類以及每種操作對應(yīng)的操作數(shù)的相應(yīng)規(guī)定。
②數(shù)據(jù)類型,即指令可以接受的操作數(shù)的類型。
③尋址方式,即指令獲取操作數(shù)的方式。
(2)軟件可見的處理器狀態(tài):
①寄存器的個(gè)數(shù)、名稱(編號(hào))、長度和用途,包括通用寄存器和特殊用途寄存器。
②指令執(zhí)行過程的控制方式,包括程序計(jì)數(shù)器、條件碼定義以及每條指令對狀態(tài)的影響。
(3)存儲(chǔ)模型:
①主存組織,即主存最大尋址空間和編址方式。
②字節(jié)次序,即操作數(shù)在存儲(chǔ)空間存放時(shí)按照大端還是小端方式存放。
③存儲(chǔ)保護(hù)。
④虛擬存儲(chǔ)器的管理方式。
⑤輸入/輸出接口的訪問與管理方式
(4)系統(tǒng)模型:
①處理器狀態(tài)。
②特權(quán)級別。
③中斷和異常的處理方式。
2.典型的ISA
1)x86
x86由Intel公司推出,于1978年首次用于8086處理器。隨著個(gè)人計(jì)算機(jī)的興起和飛速發(fā)展,x86從最初的16位架構(gòu)發(fā)展到32位、64位架構(gòu),越來越多的指令和功能被添加進(jìn)來,使得x86越來越臃腫。但是,保持軟件的向后兼容遠(yuǎn)比技術(shù)更重要,這使得x86擁有了廣泛的軟件資源和越來越多開發(fā)基于x86的軟件的程序員。如今,x86已成為個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)處理器架構(gòu),成為桌面計(jì)算機(jī)和高性能計(jì)算領(lǐng)域最成功的ISA。
2)ARM
ARM(AdvancedRISCMachines)公司誕生于英國,總部位于英國劍橋,主要業(yè)務(wù)是設(shè)計(jì)ARM架構(gòu)的處理器,同時(shí)提供與ARM處理器相關(guān)的配套軟件,以及各種SOC系統(tǒng)IP、GPU、物聯(lián)網(wǎng)平臺(tái)等。
3)POWER
POWER(PerformanceOptimizationWithEnhancedRISC,增強(qiáng)RISC性能優(yōu)化)是IBM公司設(shè)計(jì)開發(fā)的指令集體系結(jié)構(gòu),最早于1990年推出,性能卓越。
4)MIPS
MIPS(MicroprocessorwithoutInterlockedPipedStages,無內(nèi)部互鎖流水線微處理器)是一款經(jīng)典的精簡指令集架構(gòu),由美國斯坦福大學(xué)的JohnL.Hennessy教授領(lǐng)導(dǎo)的研究小組于1981年開始設(shè)計(jì)。他們在1984年創(chuàng)立了MIPSComputerSystem公司,推出了商用的MIPS處理器。此后,MIPS指令集體系結(jié)構(gòu)不斷擴(kuò)充與改進(jìn),從MIPSⅠ、MIPSⅡ、MIPSⅢ、MIPSⅣ、MIPSⅤ發(fā)展到了MIPS32、MIPS64。
5)SPARC
從1980年開始,美國加州大學(xué)伯克利分校的DavidA.Patterson教授領(lǐng)導(dǎo)了RISC-I的設(shè)計(jì)與實(shí)現(xiàn)工作,這是一臺(tái)超大規(guī)模集成電路精簡指令集計(jì)算機(jī),為商業(yè)SPARC體系結(jié)構(gòu)奠定了基礎(chǔ)。
6)RISC-V
RISC-V架構(gòu)是一款袖珍的、開源的ISA,于2011年推出,由美國加州大學(xué)伯克利分校的KrsteAsanovi'c教授、AndrewWaterman和YunsupLee等開發(fā)人員發(fā)明,并得到了DavidA.Patterson教授的大力支持。“RISC”表示精簡指令集,“V”表示伯克利分校從RISC-I開始設(shè)計(jì)的第五代指令集。
基于上述原因,加州大學(xué)伯克利分校的研發(fā)人員決定發(fā)明一種全新、簡單且開放免費(fèi)的指令集架構(gòu),即RISC-V架構(gòu)。計(jì)算機(jī)體系結(jié)構(gòu)經(jīng)過多年的發(fā)展,其技術(shù)日趨成熟,在發(fā)展過程中暴露的問題都已經(jīng)被研究透徹并得以解決。所以,新的RISC-V架構(gòu)能夠規(guī)避曾經(jīng)出現(xiàn)過的各種問題,并且沒有背負(fù)向后兼容的歷史包袱,做到簡潔,低成本,高性能(或低功耗),架構(gòu)和具體實(shí)現(xiàn)分離,并預(yù)留一定的擴(kuò)展空間。
當(dāng)前可用的RISC-V軟件工具包括GNU編譯器集合(GCC工具鏈和GDB調(diào)試器)、LLVM工具鏈、OVPsim仿真器(以及RISC-V快速處理器模型庫)、Spike仿真器和QEMU模擬器。當(dāng)前支持該指令集架構(gòu)的操作系統(tǒng)包括Linux、FreeRTOS、SylixOS、RT-Thread等。
1.2.4高級語言程序的執(zhí)行過程
程序員通常用某種高級語言(比如C語言)設(shè)計(jì)軟件,而計(jì)算機(jī)硬件只能識(shí)別并執(zhí)行其指令集體系結(jié)構(gòu)(ISA)所規(guī)定的指令(也稱作機(jī)器指令、機(jī)器碼)。
圖1.4為用C語言實(shí)現(xiàn)的插入排序函數(shù)源代碼。該C語言程序可運(yùn)行在基于x86處理器的Windows操作系統(tǒng)下,使用MicrosoftVisualC++2017編譯,目標(biāo)平臺(tái)設(shè)置為Intelx86的32位指令集(IA-32),通過設(shè)置優(yōu)化參數(shù)以減小輸出代碼,提高運(yùn)行速度,同時(shí)使生成的代碼更簡潔,更容易理解。生成的機(jī)器語言代碼如表1.1所示。圖1.4插入排序的C語言源代碼
指令“subeax,4”(表1.1第21行)的功能為:寄存器eax的內(nèi)容與立即數(shù)4(符號(hào)位擴(kuò)展至32位)相減,結(jié)果存入寄存器eax。該指令的機(jī)器語言代碼為三個(gè)字節(jié),內(nèi)容為十六進(jìn)制數(shù)83E804,其二進(jìn)制編碼各部分含義如圖1.5所示。圖1.5“subeax,4”的二進(jìn)制編碼含義
使用gcc編譯器,將目標(biāo)平臺(tái)設(shè)置為RISC-VRV32I指令集,通過設(shè)置優(yōu)化參數(shù)以減少輸出代碼的大小,使得生成的代碼更簡潔,更容易理解。插入排序的C語言源代碼經(jīng)過gcc編譯后,生成的匯編語言及機(jī)器語言代碼如表1.2所示。
指令“addia2,a2,-4”的功能為:源1(a2寄存器的內(nèi)容)與源2(立即數(shù)“-4”,符號(hào)位擴(kuò)展至32位)相加,結(jié)果存入目的寄存器a2。該指令的機(jī)器語言代碼為十六進(jìn)制數(shù)ffc60613,其二進(jìn)制編碼各部分含義如圖1.6所示。圖1.6“addia2,a2,-4”的二進(jìn)制編碼含義
圖1.6中,操作碼規(guī)定指令的基本功能與格式;功能碼規(guī)定指令具體的操作類型;源1與目的寄存器編碼為“01100”,即寄存器x12,其別名為a2(RISC-V基礎(chǔ)指令集(RV32I)規(guī)定了32個(gè)寄存器(x0~x31),因此寄存器編號(hào)用5位二進(jìn)制數(shù)進(jìn)行編碼。RISC-V匯編語言根據(jù)各寄存器的功能和使用方式的不同,規(guī)定了相應(yīng)的別名);源2為立即數(shù)“-4”,直接存儲(chǔ)在指令中,用補(bǔ)碼表示。
1.3計(jì)算機(jī)的層次概念
1.3.1計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)如圖1.7所示。圖1.7計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)
1.3.2計(jì)算機(jī)體系結(jié)構(gòu)、組成與實(shí)現(xiàn)
1.計(jì)算機(jī)體系結(jié)構(gòu)
計(jì)算機(jī)體系結(jié)構(gòu)的概念是在20世紀(jì)60年代提出的。計(jì)算機(jī)體系結(jié)構(gòu)是程序員所看到的計(jì)算機(jī)系統(tǒng)的屬性,即概念性結(jié)構(gòu)及功能特性。不同層次上的程序員所看到的計(jì)算機(jī)系統(tǒng)的屬性是不盡相同的,低的機(jī)器語言級上的概念性結(jié)構(gòu)及功能特性,高級語言以上級別的程序員可能是看不見的。在定義計(jì)算機(jī)體系結(jié)構(gòu)的年代里,計(jì)算機(jī)的屬性、概念性結(jié)構(gòu)及功能特性主要是指低層的硬件。今天的計(jì)算機(jī)體系結(jié)構(gòu)所指的計(jì)算機(jī)的屬性主要包括:
?數(shù)據(jù)的表示形式;
?尋址方式;
?內(nèi)部寄存器組;
?指令集;
?中斷系統(tǒng);
?處理器工作狀態(tài)及其切換;
?存儲(chǔ)系統(tǒng)結(jié)構(gòu);
?輸入/輸出結(jié)構(gòu);
?信息保護(hù)及特權(quán);
?高性能設(shè)計(jì)等。
2.計(jì)算機(jī)組成
計(jì)算機(jī)組成也被稱為計(jì)算機(jī)組織,是計(jì)算機(jī)系統(tǒng)的邏輯實(shí)現(xiàn),包括最底層內(nèi)部算法、數(shù)據(jù)流、控制流的邏輯實(shí)現(xiàn)。利用這一概念可以對計(jì)算機(jī)進(jìn)行邏輯設(shè)計(jì)。計(jì)算機(jī)組成的設(shè)計(jì)主要包括:
?數(shù)據(jù)通路的寬度;
?專用部件(如乘除法專用部件、浮點(diǎn)運(yùn)算專用部件等)的設(shè)置;
?各功能部件的并行程度;
?各種操作的相容性與互斥性;
?控制器的組成方式;
?存儲(chǔ)器使用的技術(shù);
?緩沖與排隊(duì)技術(shù)的應(yīng)用;
?預(yù)估、預(yù)判方法;
?高可靠性技術(shù)等。
3.計(jì)算機(jī)實(shí)現(xiàn)
計(jì)算機(jī)實(shí)現(xiàn)就是指計(jì)算機(jī)組成的物理實(shí)現(xiàn)。在上述計(jì)算機(jī)體系結(jié)構(gòu)及計(jì)算機(jī)組成的基礎(chǔ)上,利用具體的集成電路芯片、電子元器件、部件、插頭、插座等,根據(jù)計(jì)算機(jī)組成的邏輯設(shè)計(jì),即可實(shí)現(xiàn)物理計(jì)算機(jī)。
綜上可以看到,計(jì)算機(jī)體系結(jié)構(gòu)、計(jì)算機(jī)組成與計(jì)算機(jī)實(shí)現(xiàn)三者在概念上是不同層次的,但是它們的聯(lián)系是十分緊密的。體系結(jié)構(gòu)決定了計(jì)算機(jī)的總體屬性,組成是體現(xiàn)這些屬性的邏輯設(shè)計(jì),而實(shí)現(xiàn)則是用物理器件來實(shí)現(xiàn)邏輯設(shè)計(jì)。相同的體系結(jié)構(gòu)可以有不同的組成,相同的組成可以有不同的實(shí)現(xiàn)。
1.4計(jì)算機(jī)分類及性能描述
1.4.1計(jì)算機(jī)分類1.按用途分類按照用途可將計(jì)算機(jī)分為通用計(jì)算機(jī)和嵌入式計(jì)算機(jī)(專用計(jì)算機(jī))。
1)通用計(jì)算機(jī)
通用計(jì)算機(jī)的硬件系統(tǒng)及系統(tǒng)軟件均由有關(guān)的計(jì)算機(jī)公司設(shè)計(jì)制造,其用途不是針對某一個(gè)或某一類用戶的,而是可以滿足許多用戶的。例如,目前國內(nèi)外廣泛使用的臺(tái)式PC或筆記本電腦,用戶可直接在市場上購買,在廠家提供的軟件支持下工作。也許用戶只需配上少量的軟件或硬件,即可滿足用戶的需求。
除了個(gè)人計(jì)算機(jī)(PC)外,具有更高性能的各種服務(wù)器或高性能計(jì)算機(jī)因可以適用于許多領(lǐng)域或部門,故也可以看作通用計(jì)算機(jī)。
(1)個(gè)人計(jì)算機(jī)。個(gè)人計(jì)算機(jī)也稱為電腦,是一種面向個(gè)人使用的計(jì)算機(jī),可以完成辦公、上網(wǎng)、編程、看電影、玩游戲等。
(2)服務(wù)器。服務(wù)器是用于高性能實(shí)現(xiàn)某種服務(wù)的計(jì)算機(jī),如Web服務(wù)器、FTP服務(wù)器、Mail服務(wù)器、文件共享服務(wù)器、數(shù)據(jù)庫應(yīng)用服務(wù)器、域名服務(wù)器、網(wǎng)關(guān)服務(wù)器、DNS服務(wù)器、流媒體服務(wù)器等。
(3)超級計(jì)算機(jī)。超級計(jì)算機(jī)是計(jì)算機(jī)中功能最強(qiáng)、運(yùn)算速度最快、存儲(chǔ)容量最大的一類計(jì)算機(jī),多用于國家高科技領(lǐng)域和尖端技術(shù)研究,對國家安全、經(jīng)濟(jì)和社會(huì)發(fā)展具有舉足輕重的意義,是國家科技發(fā)展水平和綜合國力的重要體現(xiàn)。目前的超級計(jì)算機(jī)是由幾十萬至上千萬個(gè)處理器核組成的超大規(guī)模多處理器系統(tǒng),其優(yōu)勢是具有超強(qiáng)的計(jì)算能力,運(yùn)算速度已達(dá)到每秒1018次浮點(diǎn)運(yùn)算的量級。
2)嵌入式計(jì)算機(jī)
嵌入式計(jì)算機(jī)可定義為:以應(yīng)用為目標(biāo),以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,對功能、實(shí)時(shí)性、可靠性、安全、體積、重量、成本、功耗、環(huán)境、安裝方式等方面有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
2.Flynn分類法
Flynn分種類信法息是流按:照計(jì)算機(jī)在執(zhí)行程序的過程中信息流的特征進(jìn)行分類的。在程序執(zhí)行中存在三種信息流:
(1)指令流(IS):機(jī)器執(zhí)行的指令序列,它由存儲(chǔ)器流入控制單元(CU)。
(2)數(shù)據(jù)流(DS):指令流所使用的數(shù)據(jù),包括輸入數(shù)據(jù)、中間數(shù)據(jù)和結(jié)果。數(shù)據(jù)在處理單元(PU)中進(jìn)行處理。
(3)控制流(CS):指令流進(jìn)入CU,由CU產(chǎn)生一系列控制流(信號(hào)),在控制流的控制下完成指令的功能。
按照Flynn分類法,可將計(jì)算機(jī)分為四類,如圖1.8所示。圖1.8按照Flynn分類法的計(jì)算機(jī)分類
(1)單指令流單數(shù)據(jù)流(SingleInstructionSingleData,SISD):計(jì)算機(jī)結(jié)構(gòu)如圖1.8(a)所示。該計(jì)算機(jī)由單一控制單元、單一處理單元和單一主存儲(chǔ)器組成??刂破骺刂茝拇鎯?chǔ)器逐條獲取指令,對指令譯碼,產(chǎn)生控制信號(hào),并控制處理單元完成指令規(guī)定的功能。這是最簡單的一類計(jì)算機(jī),但已充分展示了計(jì)算機(jī)的基本組成與工作原理,是本書后續(xù)章節(jié)的重點(diǎn)內(nèi)容。
(2)單指令流多數(shù)據(jù)流(SingleInstructionMultipleData,SIMD):計(jì)算機(jī)結(jié)構(gòu)如圖1.8(b)所示。它由一個(gè)控制單元、多個(gè)處理單元和多個(gè)主存儲(chǔ)器組成??刂破骺刂茝拇鎯?chǔ)器獲取一條指令,對指令譯碼,產(chǎn)生控制信號(hào),并用相同的控制信號(hào)控制多個(gè)處理單元,執(zhí)行相同的操作,完成這條指令對多個(gè)數(shù)據(jù)的相同處理,最終實(shí)現(xiàn)一條指令所規(guī)定的功能。這類計(jì)算機(jī)將在本書第9章予以描述。
(3)多指令流單數(shù)據(jù)流(MultipleInstructionSingleData,MISD):實(shí)現(xiàn)的是多個(gè)控制單元同時(shí)執(zhí)行多條指令對同一數(shù)據(jù)進(jìn)行處理,其結(jié)構(gòu)如圖1.8(c)所示。這種計(jì)算機(jī)尚無實(shí)例。
(4)多指令流多數(shù)據(jù)流(MultipleInstructionMultipleData,MIMD):計(jì)算機(jī)結(jié)構(gòu)如圖1.8(d)所示。它由多個(gè)控制單元、多個(gè)處理單元和多個(gè)主存儲(chǔ)器構(gòu)成,實(shí)際上是由多處理機(jī)用各種方式連在一起構(gòu)成的計(jì)算機(jī)系統(tǒng),通常稱為多處理機(jī)系統(tǒng)。這類計(jì)算機(jī)中各個(gè)處理機(jī)分別執(zhí)行不同的指令,處理不同的數(shù)據(jù),并行工作而實(shí)現(xiàn)某種功能。
1.4.2計(jì)算機(jī)系統(tǒng)性能描述
1.計(jì)算機(jī)系統(tǒng)配置
根據(jù)計(jì)算機(jī)系統(tǒng)的配置,可以了解計(jì)算機(jī)系統(tǒng)的基本性能。下面以高性能計(jì)算機(jī)為例做簡單說明。不同時(shí)期,對高性能計(jì)算機(jī)有不同的解釋。目前,高性能計(jì)算機(jī)是指能夠在可接受的時(shí)間內(nèi)處理一般個(gè)人計(jì)算機(jī)無法處理的大量數(shù)據(jù),執(zhí)行一般個(gè)人計(jì)算機(jī)無法完成的密集型運(yùn)算的計(jì)算機(jī),也稱為超級計(jì)算機(jī)。高性能計(jì)算機(jī)的性能一般用其浮點(diǎn)數(shù)運(yùn)算能力衡量,通常可達(dá)到或超過幾百TFlops(1TFlops即每秒鐘可進(jìn)行1×1012次浮點(diǎn)運(yùn)算)。
例如,超級計(jì)算機(jī)神威·太湖之光的配置如下:
?系統(tǒng)峰值性能:125.436PFLOPS(1PFLOPS即每秒鐘可進(jìn)行1×1015次浮點(diǎn)運(yùn)算)。
?實(shí)測持續(xù)運(yùn)算性能:93.015PFLOPS。
?處理器型號(hào):“申威26010”眾核處理器(260核,申威64指令集,主頻為1.45GHz)。
?整機(jī)處理器個(gè)數(shù):40960個(gè)。
?整機(jī)處理器核數(shù):10649600個(gè)。
?系統(tǒng)總主存:1310720GB。
?操作系統(tǒng):RaiseLinux。
?編程語言:C、C++、Fortran。
?并行語言及環(huán)境:MPI、OpenMP、OpenACC等。
?SSD存儲(chǔ):230TB。
?在線存儲(chǔ):10PB,帶寬為288GB/s。
?近線存儲(chǔ):10PB,帶寬為32GB/s。
?功耗:15.371MW。
神威·太湖之光超級計(jì)算機(jī)由中國國家并行計(jì)算機(jī)工程技術(shù)研究中心研制,安裝在國家超級計(jì)算無錫中心,由40個(gè)運(yùn)算機(jī)柜和8個(gè)網(wǎng)絡(luò)機(jī)柜組成。
2.計(jì)算機(jī)系統(tǒng)性能計(jì)算
時(shí)間是測量計(jì)算機(jī)性能的重要指標(biāo)。一個(gè)性能良好的計(jì)算機(jī)應(yīng)是快速的,而最快的計(jì)算機(jī)則是完成相同任務(wù)用時(shí)最少的那一臺(tái)。吞吐量和執(zhí)行時(shí)間是描述計(jì)算機(jī)系統(tǒng)性能常用的參數(shù),也是用戶所關(guān)心的。
執(zhí)行時(shí)間(ExecutionTime)也稱響應(yīng)時(shí)間,定義為一個(gè)任務(wù)從開始到完成所用的時(shí)間或計(jì)算機(jī)完成一個(gè)任務(wù)所用的總時(shí)間。
吞吐量(Throughput)定義為在給定時(shí)間內(nèi)(并行)完成的總?cè)蝿?wù)數(shù)。
在許多實(shí)際的計(jì)算機(jī)中,減少執(zhí)行時(shí)間通常會(huì)改善吞吐量。對多處理機(jī)系統(tǒng)而言,雖然每個(gè)任務(wù)的完成并沒有加快,但增加了吞吐量。在計(jì)算機(jī)系統(tǒng)中使用更快的CPU,可以改善執(zhí)行時(shí)間和吞吐量。
如果用時(shí)間來定義計(jì)算機(jī)系統(tǒng)的性能,則有
這意味著,如果計(jì)算機(jī)X的性能好于計(jì)算機(jī)Y,則有
也即如果計(jì)算機(jī)X比計(jì)算機(jī)Y速度快,則在Y上的執(zhí)行時(shí)間比X的長。從上述定義也可以得到
也即計(jì)算機(jī)的性能與其吞吐率成正比。
在設(shè)計(jì)計(jì)算機(jī)時(shí)經(jīng)常要進(jìn)行計(jì)算機(jī)性能比較,相對性能(RelativePerformance)或性能比(PerformanceRatio)被定義:
這意味著,計(jì)算機(jī)X的性能是計(jì)算機(jī)Y的n倍,或在Y上的執(zhí)行時(shí)間是X的n倍。
例1.1計(jì)算機(jī)A的性能是計(jì)算機(jī)B的性能的4倍,B完成一個(gè)指定的任務(wù)用時(shí)20s,那么A完成該任務(wù)用時(shí)多長?
解因?yàn)?/p>
所以TA=5s,即A完成該任務(wù)用時(shí)5s。
3.用測試程序來測評計(jì)算機(jī)系統(tǒng)性能
以往對計(jì)算機(jī)的測試采用如下幾種程序:
(1)實(shí)際應(yīng)用程序,即計(jì)算機(jī)工作的真實(shí)程序。
(2)修正的實(shí)際應(yīng)用程序,即對真實(shí)程序進(jìn)行某些修改構(gòu)成的測試程序。
(3)核心程序,即提取真實(shí)程序中的核心部分構(gòu)成的測試程序。
(4)小測試程序,即具有特定目的的100行以內(nèi)的測試程序。
(5)合成測試程序,即選擇具有各種代表性的一系列測試程序,將它們組合在一起的測試程序,稱為測試程序組件或基準(zhǔn)測試程序。
1.4.3Amdahl定律
Amdahl定律是20世紀(jì)60年代由IBM360系列計(jì)算機(jī)的主要設(shè)計(jì)者Amdahl提出的。其內(nèi)容為:計(jì)算機(jī)系統(tǒng)中某一部件采用某種更快的執(zhí)行方式后,整個(gè)系統(tǒng)性能的提高與這種執(zhí)行方式的使用頻率或占總執(zhí)行時(shí)間的比例有關(guān)。Amdahl定律給出了加速比的定義:
從Amdahl定律所描述的內(nèi)容可以看到,加速比即性能之比。對計(jì)算機(jī)的某一部分進(jìn)行改進(jìn)后,在處理相同任務(wù)的情況下,改進(jìn)前總執(zhí)行時(shí)間是改進(jìn)后總執(zhí)行時(shí)間的多少倍,就是加速比。計(jì)算機(jī)系統(tǒng)的加速比取決于下面兩個(gè)因素:
(1)可改進(jìn)部分在原系統(tǒng)總執(zhí)行時(shí)間中所占的比例:稱為可改進(jìn)比例,用fe表示。例如,程序的總執(zhí)行時(shí)間為100s,可改進(jìn)的部分是其中的20s,則fe=0.2。可見,fe總是小于或等于1的。
(2)可改進(jìn)部分改進(jìn)后性能提高的程度:通常用部件加速比re來表示某部件改進(jìn)后性能提高的比例。例如,某部件改進(jìn)后,執(zhí)行時(shí)間由原來的20s減少到5s,則部件加速比re=20/5=4??梢?re一般是大于1的。
根據(jù)上述分析,若假設(shè)改進(jìn)前的系統(tǒng)總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年簡化版居家養(yǎng)老照護(hù)合同
- 2024甲方委托乙方可再生能源項(xiàng)目的建設(shè)與運(yùn)營合同
- 2024年重點(diǎn)中學(xué)校長任用合同范本3篇
- 2025年度家禽養(yǎng)殖廢棄物處理設(shè)施運(yùn)營管理買賣合同書3篇
- 2025年度財(cái)務(wù)會(huì)計(jì)軟件定制開發(fā)與授權(quán)使用合同3篇
- 2024年度商鋪?zhàn)赓U合同提前解除及清退協(xié)議3篇
- 2025年70米煙囪拆除工程風(fēng)險(xiǎn)評估與安全防護(hù)設(shè)計(jì)合同3篇
- 2024年經(jīng)銷商雙方合作協(xié)議版B版
- 2024年項(xiàng)目管理服務(wù)協(xié)議:工程監(jiān)理與咨詢服務(wù)
- 2024年財(cái)務(wù)風(fēng)險(xiǎn)評估與管理合同
- 《船舶建造安全監(jiān)理技術(shù)規(guī)范》(征求意見稿)
- 燃燒仿真.燃燒數(shù)值模擬方法:化學(xué)反應(yīng)動(dòng)力學(xué)模型:燃燒仿真前沿技術(shù)與研究
- 線性代數(shù)考試練習(xí)題帶答案大全(二)
- 排水管網(wǎng)溯源排查項(xiàng)目專項(xiàng)培訓(xùn)
- 重癥超聲與休克-課件
- 電梯工程師在電梯設(shè)計(jì)中的工作內(nèi)容
- 二年級數(shù)學(xué)上冊口算天天練
- 2024國家開放大學(xué)電大本科《液壓氣動(dòng)技術(shù)》期末試題及答案
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 職業(yè)技術(shù)學(xué)院食品檢驗(yàn)檢測技術(shù)專業(yè)課程標(biāo)準(zhǔn)(2023級)
- 08D800-5 民用建筑電氣設(shè)計(jì)與施工 常用電氣設(shè)備安裝與控制
評論
0/150
提交評論