計算機組成與系統(tǒng)結(jié)構(gòu)緒論_第1頁
計算機組成與系統(tǒng)結(jié)構(gòu)緒論_第2頁
計算機組成與系統(tǒng)結(jié)構(gòu)緒論_第3頁
計算機組成與系統(tǒng)結(jié)構(gòu)緒論_第4頁
計算機組成與系統(tǒng)結(jié)構(gòu)緒論_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

緒論1.1計算機的發(fā)展歷史1.2計算機的基本組成1.3計算機的層次概念1.4計算機分類及性能描述

1.1計算機的發(fā)展歷史

電子數(shù)字計算機無疑是人類社會科學(xué)技術(shù)發(fā)展史上最偉大的發(fā)明之一,它的出現(xiàn)深刻影響著人類精神文明和物質(zhì)文明的發(fā)展。所謂電子數(shù)字計算機,是指能對離散邏輯符號表示的數(shù)據(jù)或信息進行自動處理的電子裝置,簡稱計算機。

1.1.1發(fā)展歷史

電子數(shù)字計算機的發(fā)展根據(jù)所使用的電子元器件劃分為如下幾個階段。

1.第1代:電子管計算機(1946—1957年)

第一代計算機是由電磁繼電器、電子管等器件構(gòu)成的,直接使用機器語言編程。

2.第2代:晶體管計算機(1958—1964年)

第二代計算機由晶體管、磁芯存儲器等構(gòu)成。軟件上采用監(jiān)控程序?qū)τ嬎銠C進行管理,并且開始使用高級語言。

與電子管相比,晶體管體積更小,功耗更低,可靠性更高。晶體管計算機中的電子線路也隨之更加小型化,具有更高的可靠性和更快的速度,成本也進一步降低。

3.第3代:中小規(guī)模集成電路計算機(1965—1971年)

第3代計算機由小規(guī)模及中規(guī)模集成電路芯片、多層印刷電路板及磁芯存儲器等構(gòu)成,具有更高的可靠性、更小的體積以及更低的成本。在軟件上,高級語言迅速發(fā)展,出現(xiàn)了分時操作系統(tǒng),具有分時共享和多道程序處理(即多個人同時使用一臺計算機)的能力。在這個時期,計算機的應(yīng)用領(lǐng)域不斷擴展,開始向國民經(jīng)濟各部門及軍事領(lǐng)域滲透。

4.第4代:大規(guī)模和超大規(guī)模集成電路計算機(1972—2010年)

第4代計算機由大規(guī)模、超大規(guī)模集成電路構(gòu)成,在結(jié)構(gòu)上有了很大的變化,得益于芯片集成度的提高,在性能上有了很大的提升。

這一代計算機所使用的電子元器件具有以下兩方面的特點:

(1)計算機中的存儲器由半導(dǎo)體存儲器實現(xiàn)。

(2)微處理器的廣泛使用。

5.第5代:巨大規(guī)模集成電路計算機(2010年至今)

如何定義第5代計算機,目前說法不一。由于計算機性能的持續(xù)提升,軟件和通信變得與硬件同等重要。

第5代計算機具有如下特點:

(1)體積小,功耗低,性能高,無處不在。

(2)通過并行處理技術(shù)實現(xiàn)高性能。

(3)目前計算機的性能已經(jīng)足夠強,人工智能、機器學(xué)習(xí)技術(shù)快速發(fā)展,使得計算機更加人性化、智能化,能聽,會看,會說,有感情。

(4)虛擬化技術(shù)廣泛應(yīng)用,使得各種開發(fā)工具軟件也更加自動化、智能化。

1.1.2摩爾定律

1965年4月,《電子學(xué)》雜志刊登了戈登?摩爾(GordonMoore)撰寫的一篇文章。摩爾當(dāng)時是仙童半導(dǎo)體公司研發(fā)部門的主管。摩爾在該文中講述了他如何將50個晶體管集成在一塊芯片中,并且預(yù)言,到1975年,就可能將6.5萬只這樣的元件密植在一塊芯片上,制成高度復(fù)雜的集成電路。

摩爾的預(yù)言不僅對他本人,而且對整個社會都是意義深遠(yuǎn)的。后來摩爾與其他人共同成立了英特爾(Intel)公司,并通過他所開創(chuàng)的技術(shù)創(chuàng)造了無數(shù)的財富。

摩爾定律并不是一個物理定律(物理定律是放之四海皆準(zhǔn)的),而是一種預(yù)言,它鞭策著工業(yè)界不斷地改進,并努力去實現(xiàn)它。從人們認(rèn)識摩爾定律開始,無論是Intel公司、AMD公司,還是其他半導(dǎo)體器件公司,無一不是在不斷地努力去實現(xiàn)摩爾定律,不斷地推出集成度更高的產(chǎn)品。

圖1.1為典型微處理器集成度隨時間(年)的增長情況。由圖1.1可見,到目前為止,微處理器芯片的集成度仍然隨時間呈指數(shù)級增長。圖1.1微處理器集成度的增長情況(1971—2018年)

隨著芯片集成度的提高,計算機的性能及可靠性大大提高,價格大大降低。正是摩爾定律使得計算機日新月異地發(fā)展,其影響體現(xiàn)在如下幾個方面:

(1)雖然芯片的集成度快速提高,但單個芯片的成本變化不大,這意味著可以用更少的芯片來實現(xiàn)計算機邏輯電路和存儲電路,在相同性能的情況下,價格顯著下降;在相同價格的情況下,新一代的計算機功能更強,性能更好。

(2)隨著芯片集成度的提高,芯片中電路各部分之間的信號傳輸路徑顯著縮短,信號傳輸延時小,微處理器的主頻得以提高,計算機的速度更快。

(4)通過提高芯片的集成度,降低工作電壓,可顯著降低芯片的功耗,使得便攜式、嵌入式計算機用電池供電成為可能,也降低了高性能計算機對散熱的要求。

(5)芯片內(nèi)部電路各部分之間的連接比外部連接更加可靠。隨著芯片集成度的增加,構(gòu)成計算機所需的芯片數(shù)量越來越少,芯片之間所需的連線(焊點)也越來越少,計算機的可靠性越來越高。

1.2計算機的基本組成

1.2.1硬件系統(tǒng)硬件系統(tǒng)是指計算機中那些看得見、摸得著的物理實體。

1.硬件組成圖1.2所示的計算機結(jié)構(gòu)是馮·諾依曼在1946年提出的。他基于此硬件結(jié)構(gòu)提出計算機是依據(jù)存儲程序、程序控制的方式工作的。這就是馮·諾依曼計算機的設(shè)計思想。圖1.2早期計算機(硬件)的組成

2.馮·諾依曼計算機的特點

馮·諾依曼計算機工作的基本思想就是:將計算機要處理的問題用指令編成程序,并將程序存放在存儲器中,在控制器的控制下,從存儲器中逐條取出指令并執(zhí)行,通過執(zhí)行程序最終解決計算機所要處理的問題。盡管經(jīng)歷了幾十年的發(fā)展,也出現(xiàn)了新的設(shè)計思想,但馮·諾依曼的這種存儲程序控制原理直到今天仍然在廣泛地應(yīng)用。

馮·諾依曼計算機的特點可歸納如下:

(1)計算機由運算器(算術(shù)邏輯部件ALU)、存儲器、控制器、輸入設(shè)備和輸出設(shè)備五大部件組成。

(2)指令和數(shù)據(jù)以二進制形式表示,以同等地位存放在存儲器中,并可按地址訪問。用二進制不僅電路簡單,使用方便,而且抗干擾能力強。

(3)指令由操作碼和地址碼組成。操作碼指明指令的功能,地址碼指明操作數(shù)與運算結(jié)果的存放位置(地址)。

(4)將計算機要處理的問題用指令編成程序。

(5)在控制器的控制下,指令被逐條(順序)從存儲器中取出來執(zhí)行,產(chǎn)生控制流,在控制流的驅(qū)動下完成指令的功能。在此過程中,數(shù)據(jù)(流)則是被動地調(diào)用。

(6)在特定條件下,可由跳轉(zhuǎn)類指令根據(jù)運算結(jié)果或設(shè)定的條件改變程序中指令的執(zhí)行順序。

(7)早期的馮·諾依曼計算機以運算器為中心,輸入/輸出設(shè)備通過運算器與存儲器傳送數(shù)據(jù)。

3.計算機硬件結(jié)構(gòu)的發(fā)展

目前,在馮·諾依曼體系結(jié)構(gòu)思想的基礎(chǔ)上,計算機硬件體系結(jié)構(gòu)已經(jīng)得到了很大的發(fā)展,主要有以下幾個方面:

(1)不斷擴充硬件及功能:增加了更多通用寄存器、多種尋址方式,支持浮點數(shù)據(jù)類型、中斷和異步I/O結(jié)構(gòu)。

(2)存儲器分層:引入高速緩存(Cache)、虛擬存儲器等,在程序執(zhí)行之前,將程序與數(shù)據(jù)存放在速度慢、容量大、成本低的存儲介質(zhì)(比如磁盤)中;在程序執(zhí)行時,將即將(或正在)執(zhí)行的程序和所需的數(shù)據(jù)復(fù)制到速度快、容量小、成本高的存儲介質(zhì)(比如主存、高速緩存)中。

(3)總線結(jié)構(gòu):通過總線連接計算機系統(tǒng)中的各個模塊??偩€信號根據(jù)傳輸?shù)男畔㈩愋?分為地址線、控制線、數(shù)據(jù)線。地址線用來選擇要訪問的存儲單元或I/O接口,控制線傳輸相應(yīng)的讀寫控制信號,數(shù)據(jù)線用來傳輸數(shù)據(jù)??偩€大大簡化了計算機系統(tǒng)各模塊之間的連接,增強了計算機系統(tǒng)硬件的擴展能力。

圖1.3為微型計算機(PC)的硬件結(jié)構(gòu)框圖。微處理器、主存、各種外部設(shè)備的接口通過系統(tǒng)總線連接在一起,構(gòu)成了計算機系統(tǒng)的硬件。隨著芯片集成度的進一步提高,圖1.3中用虛線標(biāo)出的A、B部分可以分別集成在兩塊芯片中,分別稱為芯片組的北橋芯片(MemoryControllerHub,MCH)和南橋芯片(I/OControllerHub,ICH)。目前,北橋芯片的大部分電路和圖形處理單元可以集成在微處理器中,北橋芯片余下的電路與原來的南橋芯片合為一塊芯片,稱為平臺控制中樞(PlatformControllerHub,PCH)。圖1.3的C部分稱為主機;主機以外的稱為輸入/輸出設(shè)備(I/O設(shè)備),也稱為外部設(shè)備,簡稱外設(shè)。圖1.3微型計算機(PC)結(jié)構(gòu)框圖

1.2.2軟件系統(tǒng)

1.系統(tǒng)軟件

系統(tǒng)軟件是一系列保障計算機能很好地運行的程序集合。它們的功能是對系統(tǒng)的各種資源(硬件和軟件)進行管理和調(diào)度,使計算機能有條不紊地工作,為用戶提供有效的服務(wù),充分發(fā)揮其效能。系統(tǒng)軟件包括:

1)操作系統(tǒng)

操作系統(tǒng)是最重要的系統(tǒng)軟件,它是管理計算機硬、軟件資源,控制程序運行,改善人機交互并為應(yīng)用軟件提供支持的一種軟件。通常,操作系統(tǒng)包括五大功能:處理器管理、存儲管理、文件管理、設(shè)備管理及作業(yè)管理。

2)語言處理程序

每一臺計算機都會配置多種語言以利于用戶編程,從各種高級語言到匯編語言均會涉及。當(dāng)用戶使用某種語言編寫程序后,在該語言編譯程序的支持下,可將用戶的源程序轉(zhuǎn)換為計算機可執(zhí)行的目的程序。

3)各種服務(wù)支持軟件

各種服務(wù)支持軟件是指一些幫助用戶使用和維護計算機的軟件,如各種調(diào)試程序、診斷程序、提示警告程序等。

2.應(yīng)用軟件

應(yīng)用軟件是指用戶在各自的應(yīng)用中,為解決自己的任務(wù)而編寫的程序。這是一類直接以用戶的需求為目標(biāo)的程序。用戶的多樣性(各行各業(yè)、各種部門)和用戶需求的多樣性,使得這類軟件也具有多樣性。例如,應(yīng)用軟件包括用于辦公自動化、視頻編輯、圖形圖像處理、科學(xué)計算、信息管理、過程控制、武器裝備等方面的軟件。

1.2.3指令集體系結(jié)構(gòu)

計算機系統(tǒng)底層硬件只能識別機器語言,也就是存儲在主存中的指令。CPU從主存中取指令,執(zhí)行指令,每條指令可實現(xiàn)計算機系統(tǒng)內(nèi)最基本的操作,比如基本的算術(shù)運算(加、減)、邏輯運算(與、或、異或、移位)、數(shù)據(jù)傳送(裝載、存儲)、跳轉(zhuǎn)(條件轉(zhuǎn)移、無條件轉(zhuǎn)移),這些指令被編碼為一個字或多個字節(jié)組成的二進制格式。

1.指令集體系結(jié)構(gòu)(ISA)概述

處理器支持的指令和指令的字節(jié)級編碼稱為指令集體系結(jié)構(gòu)(Instruction-SetArchitec-ture,ISA)。ISA是軟件和硬件的分界面,軟件(程序)是由ISA規(guī)定的“指令”組成的,指令通過二進制編碼規(guī)定其功能、源操作數(shù)和目的操作數(shù)的位置等信息。計算機中的控制器在執(zhí)行指令時,根據(jù)上述信息產(chǎn)生相應(yīng)的控制信號,控制計算機系統(tǒng)各硬件模塊完成指令要求的功能。

為了讓程序員可以編寫底層軟件,ISA不僅要規(guī)定指令集,還要定義任何系統(tǒng)程序員需要了解的硬件信息。因此,ISA需要規(guī)定計算機中程序員可見的所有組件及操作,包括以下幾方面的內(nèi)容:

(1)指令集:處理器可執(zhí)行的指令的集合。

①指令格式、操作種類以及每種操作對應(yīng)的操作數(shù)的相應(yīng)規(guī)定。

②數(shù)據(jù)類型,即指令可以接受的操作數(shù)的類型。

③尋址方式,即指令獲取操作數(shù)的方式。

(2)軟件可見的處理器狀態(tài):

①寄存器的個數(shù)、名稱(編號)、長度和用途,包括通用寄存器和特殊用途寄存器。

②指令執(zhí)行過程的控制方式,包括程序計數(shù)器、條件碼定義以及每條指令對狀態(tài)的影響。

(3)存儲模型:

①主存組織,即主存最大尋址空間和編址方式。

②字節(jié)次序,即操作數(shù)在存儲空間存放時按照大端還是小端方式存放。

③存儲保護。

④虛擬存儲器的管理方式。

⑤輸入/輸出接口的訪問與管理方式

(4)系統(tǒng)模型:

①處理器狀態(tài)。

②特權(quán)級別。

③中斷和異常的處理方式。

2.典型的ISA

1)x86

x86由Intel公司推出,于1978年首次用于8086處理器。隨著個人計算機的興起和飛速發(fā)展,x86從最初的16位架構(gòu)發(fā)展到32位、64位架構(gòu),越來越多的指令和功能被添加進來,使得x86越來越臃腫。但是,保持軟件的向后兼容遠(yuǎn)比技術(shù)更重要,這使得x86擁有了廣泛的軟件資源和越來越多開發(fā)基于x86的軟件的程序員。如今,x86已成為個人計算機的標(biāo)準(zhǔn)處理器架構(gòu),成為桌面計算機和高性能計算領(lǐng)域最成功的ISA。

2)ARM

ARM(AdvancedRISCMachines)公司誕生于英國,總部位于英國劍橋,主要業(yè)務(wù)是設(shè)計ARM架構(gòu)的處理器,同時提供與ARM處理器相關(guān)的配套軟件,以及各種SOC系統(tǒng)IP、GPU、物聯(lián)網(wǎng)平臺等。

3)POWER

POWER(PerformanceOptimizationWithEnhancedRISC,增強RISC性能優(yōu)化)是IBM公司設(shè)計開發(fā)的指令集體系結(jié)構(gòu),最早于1990年推出,性能卓越。

4)MIPS

MIPS(MicroprocessorwithoutInterlockedPipedStages,無內(nèi)部互鎖流水線微處理器)是一款經(jīng)典的精簡指令集架構(gòu),由美國斯坦福大學(xué)的JohnL.Hennessy教授領(lǐng)導(dǎo)的研究小組于1981年開始設(shè)計。他們在1984年創(chuàng)立了MIPSComputerSystem公司,推出了商用的MIPS處理器。此后,MIPS指令集體系結(jié)構(gòu)不斷擴充與改進,從MIPSⅠ、MIPSⅡ、MIPSⅢ、MIPSⅣ、MIPSⅤ發(fā)展到了MIPS32、MIPS64。

5)SPARC

從1980年開始,美國加州大學(xué)伯克利分校的DavidA.Patterson教授領(lǐng)導(dǎo)了RISC-I的設(shè)計與實現(xiàn)工作,這是一臺超大規(guī)模集成電路精簡指令集計算機,為商業(yè)SPARC體系結(jié)構(gòu)奠定了基礎(chǔ)。

6)RISC-V

RISC-V架構(gòu)是一款袖珍的、開源的ISA,于2011年推出,由美國加州大學(xué)伯克利分校的KrsteAsanovi'c教授、AndrewWaterman和YunsupLee等開發(fā)人員發(fā)明,并得到了DavidA.Patterson教授的大力支持?!癛ISC”表示精簡指令集,“V”表示伯克利分校從RISC-I開始設(shè)計的第五代指令集。

基于上述原因,加州大學(xué)伯克利分校的研發(fā)人員決定發(fā)明一種全新、簡單且開放免費的指令集架構(gòu),即RISC-V架構(gòu)。計算機體系結(jié)構(gòu)經(jīng)過多年的發(fā)展,其技術(shù)日趨成熟,在發(fā)展過程中暴露的問題都已經(jīng)被研究透徹并得以解決。所以,新的RISC-V架構(gòu)能夠規(guī)避曾經(jīng)出現(xiàn)過的各種問題,并且沒有背負(fù)向后兼容的歷史包袱,做到簡潔,低成本,高性能(或低功耗),架構(gòu)和具體實現(xiàn)分離,并預(yù)留一定的擴展空間。

當(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è)計軟件,而計算機硬件只能識別并執(zhí)行其指令集體系結(jié)構(gòu)(ISA)所規(guī)定的指令(也稱作機器指令、機器碼)。

圖1.4為用C語言實現(xiàn)的插入排序函數(shù)源代碼。該C語言程序可運行在基于x86處理器的Windows操作系統(tǒng)下,使用MicrosoftVisualC++2017編譯,目標(biāo)平臺設(shè)置為Intelx86的32位指令集(IA-32),通過設(shè)置優(yōu)化參數(shù)以減小輸出代碼,提高運行速度,同時使生成的代碼更簡潔,更容易理解。生成的機器語言代碼如表1.1所示。圖1.4插入排序的C語言源代碼

指令“subeax,4”(表1.1第21行)的功能為:寄存器eax的內(nèi)容與立即數(shù)4(符號位擴展至32位)相減,結(jié)果存入寄存器eax。該指令的機器語言代碼為三個字節(jié),內(nèi)容為十六進制數(shù)83E804,其二進制編碼各部分含義如圖1.5所示。圖1.5“subeax,4”的二進制編碼含義

使用gcc編譯器,將目標(biāo)平臺設(shè)置為RISC-VRV32I指令集,通過設(shè)置優(yōu)化參數(shù)以減少輸出代碼的大小,使得生成的代碼更簡潔,更容易理解。插入排序的C語言源代碼經(jīng)過gcc編譯后,生成的匯編語言及機器語言代碼如表1.2所示。

指令“addia2,a2,-4”的功能為:源1(a2寄存器的內(nèi)容)與源2(立即數(shù)“-4”,符號位擴展至32位)相加,結(jié)果存入目的寄存器a2。該指令的機器語言代碼為十六進制數(shù)ffc60613,其二進制編碼各部分含義如圖1.6所示。圖1.6“addia2,a2,-4”的二進制編碼含義

圖1.6中,操作碼規(guī)定指令的基本功能與格式;功能碼規(guī)定指令具體的操作類型;源1與目的寄存器編碼為“01100”,即寄存器x12,其別名為a2(RISC-V基礎(chǔ)指令集(RV32I)規(guī)定了32個寄存器(x0~x31),因此寄存器編號用5位二進制數(shù)進行編碼。RISC-V匯編語言根據(jù)各寄存器的功能和使用方式的不同,規(guī)定了相應(yīng)的別名);源2為立即數(shù)“-4”,直接存儲在指令中,用補碼表示。

1.3計算機的層次概念

1.3.1計算機系統(tǒng)的層次結(jié)構(gòu)計算機系統(tǒng)的層次結(jié)構(gòu)如圖1.7所示。圖1.7計算機系統(tǒng)的層次結(jié)構(gòu)

1.3.2計算機體系結(jié)構(gòu)、組成與實現(xiàn)

1.計算機體系結(jié)構(gòu)

計算機體系結(jié)構(gòu)的概念是在20世紀(jì)60年代提出的。計算機體系結(jié)構(gòu)是程序員所看到的計算機系統(tǒng)的屬性,即概念性結(jié)構(gòu)及功能特性。不同層次上的程序員所看到的計算機系統(tǒng)的屬性是不盡相同的,低的機器語言級上的概念性結(jié)構(gòu)及功能特性,高級語言以上級別的程序員可能是看不見的。在定義計算機體系結(jié)構(gòu)的年代里,計算機的屬性、概念性結(jié)構(gòu)及功能特性主要是指低層的硬件。今天的計算機體系結(jié)構(gòu)所指的計算機的屬性主要包括:

?數(shù)據(jù)的表示形式;

?尋址方式;

?內(nèi)部寄存器組;

?指令集;

?中斷系統(tǒng);

?處理器工作狀態(tài)及其切換;

?存儲系統(tǒng)結(jié)構(gòu);

?輸入/輸出結(jié)構(gòu);

?信息保護及特權(quán);

?高性能設(shè)計等。

2.計算機組成

計算機組成也被稱為計算機組織,是計算機系統(tǒng)的邏輯實現(xiàn),包括最底層內(nèi)部算法、數(shù)據(jù)流、控制流的邏輯實現(xiàn)。利用這一概念可以對計算機進行邏輯設(shè)計。計算機組成的設(shè)計主要包括:

?數(shù)據(jù)通路的寬度;

?專用部件(如乘除法專用部件、浮點運算專用部件等)的設(shè)置;

?各功能部件的并行程度;

?各種操作的相容性與互斥性;

?控制器的組成方式;

?存儲器使用的技術(shù);

?緩沖與排隊技術(shù)的應(yīng)用;

?預(yù)估、預(yù)判方法;

?高可靠性技術(shù)等。

3.計算機實現(xiàn)

計算機實現(xiàn)就是指計算機組成的物理實現(xiàn)。在上述計算機體系結(jié)構(gòu)及計算機組成的基礎(chǔ)上,利用具體的集成電路芯片、電子元器件、部件、插頭、插座等,根據(jù)計算機組成的邏輯設(shè)計,即可實現(xiàn)物理計算機。

綜上可以看到,計算機體系結(jié)構(gòu)、計算機組成與計算機實現(xiàn)三者在概念上是不同層次的,但是它們的聯(lián)系是十分緊密的。體系結(jié)構(gòu)決定了計算機的總體屬性,組成是體現(xiàn)這些屬性的邏輯設(shè)計,而實現(xiàn)則是用物理器件來實現(xiàn)邏輯設(shè)計。相同的體系結(jié)構(gòu)可以有不同的組成,相同的組成可以有不同的實現(xiàn)。

1.4計算機分類及性能描述

1.4.1計算機分類1.按用途分類按照用途可將計算機分為通用計算機和嵌入式計算機(專用計算機)。

1)通用計算機

通用計算機的硬件系統(tǒng)及系統(tǒng)軟件均由有關(guān)的計算機公司設(shè)計制造,其用途不是針對某一個或某一類用戶的,而是可以滿足許多用戶的。例如,目前國內(nèi)外廣泛使用的臺式PC或筆記本電腦,用戶可直接在市場上購買,在廠家提供的軟件支持下工作。也許用戶只需配上少量的軟件或硬件,即可滿足用戶的需求。

除了個人計算機(PC)外,具有更高性能的各種服務(wù)器或高性能計算機因可以適用于許多領(lǐng)域或部門,故也可以看作通用計算機。

(1)個人計算機。個人計算機也稱為電腦,是一種面向個人使用的計算機,可以完成辦公、上網(wǎng)、編程、看電影、玩游戲等。

(2)服務(wù)器。服務(wù)器是用于高性能實現(xiàn)某種服務(wù)的計算機,如Web服務(wù)器、FTP服務(wù)器、Mail服務(wù)器、文件共享服務(wù)器、數(shù)據(jù)庫應(yīng)用服務(wù)器、域名服務(wù)器、網(wǎng)關(guān)服務(wù)器、DNS服務(wù)器、流媒體服務(wù)器等。

(3)超級計算機。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,多用于國家高科技領(lǐng)域和尖端技術(shù)研究,對國家安全、經(jīng)濟和社會發(fā)展具有舉足輕重的意義,是國家科技發(fā)展水平和綜合國力的重要體現(xiàn)。目前的超級計算機是由幾十萬至上千萬個處理器核組成的超大規(guī)模多處理器系統(tǒng),其優(yōu)勢是具有超強的計算能力,運算速度已達(dá)到每秒1018次浮點運算的量級。

2)嵌入式計算機

嵌入式計算機可定義為:以應(yīng)用為目標(biāo),以計算機技術(shù)為基礎(chǔ),軟硬件可裁減,對功能、實時性、可靠性、安全、體積、重量、成本、功耗、環(huán)境、安裝方式等方面有嚴(yán)格要求的專用計算機系統(tǒng)。

2.Flynn分類法

Flynn分種類信法息是流按:照計算機在執(zhí)行程序的過程中信息流的特征進行分類的。在程序執(zhí)行中存在三種信息流:

(1)指令流(IS):機器執(zhí)行的指令序列,它由存儲器流入控制單元(CU)。

(2)數(shù)據(jù)流(DS):指令流所使用的數(shù)據(jù),包括輸入數(shù)據(jù)、中間數(shù)據(jù)和結(jié)果。數(shù)據(jù)在處理單元(PU)中進行處理。

(3)控制流(CS):指令流進入CU,由CU產(chǎn)生一系列控制流(信號),在控制流的控制下完成指令的功能。

按照Flynn分類法,可將計算機分為四類,如圖1.8所示。圖1.8按照Flynn分類法的計算機分類

(1)單指令流單數(shù)據(jù)流(SingleInstructionSingleData,SISD):計算機結(jié)構(gòu)如圖1.8(a)所示。該計算機由單一控制單元、單一處理單元和單一主存儲器組成。控制器控制從存儲器逐條獲取指令,對指令譯碼,產(chǎn)生控制信號,并控制處理單元完成指令規(guī)定的功能。這是最簡單的一類計算機,但已充分展示了計算機的基本組成與工作原理,是本書后續(xù)章節(jié)的重點內(nèi)容。

(2)單指令流多數(shù)據(jù)流(SingleInstructionMultipleData,SIMD):計算機結(jié)構(gòu)如圖1.8(b)所示。它由一個控制單元、多個處理單元和多個主存儲器組成。控制器控制從存儲器獲取一條指令,對指令譯碼,產(chǎn)生控制信號,并用相同的控制信號控制多個處理單元,執(zhí)行相同的操作,完成這條指令對多個數(shù)據(jù)的相同處理,最終實現(xiàn)一條指令所規(guī)定的功能。這類計算機將在本書第9章予以描述。

(3)多指令流單數(shù)據(jù)流(MultipleInstructionSingleData,MISD):實現(xiàn)的是多個控制單元同時執(zhí)行多條指令對同一數(shù)據(jù)進行處理,其結(jié)構(gòu)如圖1.8(c)所示。這種計算機尚無實例。

(4)多指令流多數(shù)據(jù)流(MultipleInstructionMultipleData,MIMD):計算機結(jié)構(gòu)如圖1.8(d)所示。它由多個控制單元、多個處理單元和多個主存儲器構(gòu)成,實際上是由多處理機用各種方式連在一起構(gòu)成的計算機系統(tǒng),通常稱為多處理機系統(tǒng)。這類計算機中各個處理機分別執(zhí)行不同的指令,處理不同的數(shù)據(jù),并行工作而實現(xiàn)某種功能。

1.4.2計算機系統(tǒng)性能描述

1.計算機系統(tǒng)配置

根據(jù)計算機系統(tǒng)的配置,可以了解計算機系統(tǒng)的基本性能。下面以高性能計算機為例做簡單說明。不同時期,對高性能計算機有不同的解釋。目前,高性能計算機是指能夠在可接受的時間內(nèi)處理一般個人計算機無法處理的大量數(shù)據(jù),執(zhí)行一般個人計算機無法完成的密集型運算的計算機,也稱為超級計算機。高性能計算機的性能一般用其浮點數(shù)運算能力衡量,通??蛇_(dá)到或超過幾百TFlops(1TFlops即每秒鐘可進行1×1012次浮點運算)。

例如,超級計算機神威·太湖之光的配置如下:

?系統(tǒng)峰值性能:125.436PFLOPS(1PFLOPS即每秒鐘可進行1×1015次浮點運算)。

?實測持續(xù)運算性能:93.015PFLOPS。

?處理器型號:“申威26010”眾核處理器(260核,申威64指令集,主頻為1.45GHz)。

?整機處理器個數(shù):40960個。

?整機處理器核數(shù):10649600個。

?系統(tǒng)總主存:1310720GB。

?操作系統(tǒng):RaiseLinux。

?編程語言:C、C++、Fortran。

?并行語言及環(huán)境:MPI、OpenMP、OpenACC等。

?SSD存儲:230TB。

?在線存儲:10PB,帶寬為288GB/s。

?近線存儲:10PB,帶寬為32GB/s。

?功耗:15.371MW。

神威·太湖之光超級計算機由中國國家并行計算機工程技術(shù)研究中心研制,安裝在國家超級計算無錫中心,由40個運算機柜和8個網(wǎng)絡(luò)機柜組成。

2.計算機系統(tǒng)性能計算

時間是測量計算機性能的重要指標(biāo)。一個性能良好的計算機應(yīng)是快速的,而最快的計算機則是完成相同任務(wù)用時最少的那一臺。吞吐量和執(zhí)行時間是描述計算機系統(tǒng)性能常用的參數(shù),也是用戶所關(guān)心的。

執(zhí)行時間(ExecutionTime)也稱響應(yīng)時間,定義為一個任務(wù)從開始到完成所用的時間或計算機完成一個任務(wù)所用的總時間。

吞吐量(Throughput)定義為在給定時間內(nèi)(并行)完成的總?cè)蝿?wù)數(shù)。

在許多實際的計算機中,減少執(zhí)行時間通常會改善吞吐量。對多處理機系統(tǒng)而言,雖然每個任務(wù)的完成并沒有加快,但增加了吞吐量。在計算機系統(tǒng)中使用更快的CPU,可以改善執(zhí)行時間和吞吐量。

如果用時間來定義計算機系統(tǒng)的性能,則有

這意味著,如果計算機X的性能好于計算機Y,則有

也即如果計算機X比計算機Y速度快,則在Y上的執(zhí)行時間比X的長。從上述定義也可以得到

也即計算機的性能與其吞吐率成正比。

在設(shè)計計算機時經(jīng)常要進行計算機性能比較,相對性能(RelativePerformance)或性能比(PerformanceRatio)被定義:

這意味著,計算機X的性能是計算機Y的n倍,或在Y上的執(zhí)行時間是X的n倍。

例1.1計算機A的性能是計算機B的性能的4倍,B完成一個指定的任務(wù)用時20s,那么A完成該任務(wù)用時多長?

解因為

所以TA=5s,即A完成該任務(wù)用時5s。

3.用測試程序來測評計算機系統(tǒng)性能

以往對計算機的測試采用如下幾種程序:

(1)實際應(yīng)用程序,即計算機工作的真實程序。

(2)修正的實際應(yīng)用程序,即對真實程序進行某些修改構(gòu)成的測試程序。

(3)核心程序,即提取真實程序中的核心部分構(gòu)成的測試程序。

(4)小測試程序,即具有特定目的的100行以內(nèi)的測試程序。

(5)合成測試程序,即選擇具有各種代表性的一系列測試程序,將它們組合在一起的測試程序,稱為測試程序組件或基準(zhǔn)測試程序。

1.4.3Amdahl定律

Amdahl定律是20世紀(jì)60年代由IBM360系列計算機的主要設(shè)計者Amdahl提出的。其內(nèi)容為:計算機系統(tǒng)中某一部件采用某種更快的執(zhí)行方式后,整個系統(tǒng)性能的提高與這種執(zhí)行方式的使用頻率或占總執(zhí)行時間的比例有關(guān)。Amdahl定律給出了加速比的定義:

從Amdahl定律所描述的內(nèi)容可以看到,加速比即性能之比。對計算機的某一部分進行改進后,在處理相同任務(wù)的情況下,改進前總執(zhí)行時間是改進后總執(zhí)行時間的多少倍,就是加速比。計算機系統(tǒng)的加速比取決于下面兩個因素:

(1)可改進部分在原系統(tǒng)總執(zhí)行時間中所占的比例:稱為可改進比例,用fe表示。例如,程序的總執(zhí)行時間為100s,可改進的部分是其中的20s,則fe=0.2??梢?fe總是小于或等于1的。

(2)可改進部分改進后性能提高的程度:通常用部件加速比re來表示某部件改進后性能提高的比例。例如,某部件改進后,執(zhí)行時間由原來的20s減少到5s,則部件加速比re=20/5=4。可見,re一般是大于1的。

根據(jù)上述分析,若假設(shè)改進前的系統(tǒng)總

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論